Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/jgraph/drawio.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Benson [draw.io] <david@jgraph.com>2021-03-22 19:04:27 +0300
committerDavid Benson [draw.io] <david@jgraph.com>2021-03-22 19:04:27 +0300
commitd50898ee7ed4c6c178d1e64e52ac1722837df540 (patch)
tree6ded1052de5782ebd0d0bace53171b9612101209
parent418511684845b00f66a4722fd38df2a934d62de5 (diff)
14.5.0 releasev14.5.0
-rw-r--r--.github/stale.yml4
-rw-r--r--ChangeLog4
-rw-r--r--VERSION2
-rw-r--r--etc/p2pCollab/index.js69
-rw-r--r--etc/p2pCollab/package-lock.json165
-rw-r--r--etc/p2pCollab/package.json15
-rw-r--r--src/main/webapp/js/app.min.js1745
-rw-r--r--src/main/webapp/js/diagramly/App.js73
-rw-r--r--src/main/webapp/js/diagramly/Dialogs.js46
-rw-r--r--src/main/webapp/js/diagramly/DrawioFile.js41
-rw-r--r--src/main/webapp/js/diagramly/DrawioFileSync.js100
-rw-r--r--src/main/webapp/js/diagramly/DriveFile.js6
-rw-r--r--src/main/webapp/js/diagramly/EditorUi.js5
-rw-r--r--src/main/webapp/js/diagramly/Extensions.js99
-rw-r--r--src/main/webapp/js/diagramly/Menus.js13
-rw-r--r--src/main/webapp/js/diagramly/OneDriveFile.js17
-rw-r--r--src/main/webapp/js/extensions.min.js1686
-rw-r--r--src/main/webapp/js/socket.io/socket.io.min.js7
-rw-r--r--src/main/webapp/js/viewer-static.min.js23
-rw-r--r--src/main/webapp/js/viewer.min.js23
-rw-r--r--src/main/webapp/mxgraph/mxClient.js2
-rw-r--r--src/main/webapp/plugins/cConf-1-4-8.js92
-rw-r--r--src/main/webapp/resources/dia.txt1
-rw-r--r--src/main/webapp/resources/dia_am.txt1
-rw-r--r--src/main/webapp/resources/dia_ar.txt1
-rw-r--r--src/main/webapp/resources/dia_bg.txt1
-rw-r--r--src/main/webapp/resources/dia_bn.txt1
-rw-r--r--src/main/webapp/resources/dia_bs.txt1
-rw-r--r--src/main/webapp/resources/dia_ca.txt1
-rw-r--r--src/main/webapp/resources/dia_cs.txt1
-rw-r--r--src/main/webapp/resources/dia_da.txt1
-rw-r--r--src/main/webapp/resources/dia_de.txt1
-rw-r--r--src/main/webapp/resources/dia_el.txt1
-rw-r--r--src/main/webapp/resources/dia_eo.txt1
-rw-r--r--src/main/webapp/resources/dia_es.txt1
-rw-r--r--src/main/webapp/resources/dia_et.txt1
-rw-r--r--src/main/webapp/resources/dia_eu.txt1
-rw-r--r--src/main/webapp/resources/dia_fa.txt1
-rw-r--r--src/main/webapp/resources/dia_fi.txt1
-rw-r--r--src/main/webapp/resources/dia_fil.txt1
-rw-r--r--src/main/webapp/resources/dia_fr.txt1
-rw-r--r--src/main/webapp/resources/dia_gl.txt1
-rw-r--r--src/main/webapp/resources/dia_gu.txt1
-rw-r--r--src/main/webapp/resources/dia_he.txt1
-rw-r--r--src/main/webapp/resources/dia_hi.txt1
-rw-r--r--src/main/webapp/resources/dia_hr.txt1
-rw-r--r--src/main/webapp/resources/dia_hu.txt1
-rw-r--r--src/main/webapp/resources/dia_i18n.txt1
-rw-r--r--src/main/webapp/resources/dia_id.txt1
-rw-r--r--src/main/webapp/resources/dia_it.txt1
-rw-r--r--src/main/webapp/resources/dia_ja.txt1
-rw-r--r--src/main/webapp/resources/dia_kn.txt1
-rw-r--r--src/main/webapp/resources/dia_ko.txt1
-rw-r--r--src/main/webapp/resources/dia_lt.txt1
-rw-r--r--src/main/webapp/resources/dia_lv.txt1
-rw-r--r--src/main/webapp/resources/dia_ml.txt1
-rw-r--r--src/main/webapp/resources/dia_mr.txt1
-rw-r--r--src/main/webapp/resources/dia_ms.txt1
-rw-r--r--src/main/webapp/resources/dia_my.txt1
-rw-r--r--src/main/webapp/resources/dia_nl.txt1
-rw-r--r--src/main/webapp/resources/dia_no.txt1
-rw-r--r--src/main/webapp/resources/dia_pl.txt1
-rw-r--r--src/main/webapp/resources/dia_pt-br.txt1
-rw-r--r--src/main/webapp/resources/dia_pt.txt1
-rw-r--r--src/main/webapp/resources/dia_ro.txt1
-rw-r--r--src/main/webapp/resources/dia_ru.txt1
-rw-r--r--src/main/webapp/resources/dia_si.txt1
-rw-r--r--src/main/webapp/resources/dia_sk.txt1
-rw-r--r--src/main/webapp/resources/dia_sl.txt1
-rw-r--r--src/main/webapp/resources/dia_sr.txt1
-rw-r--r--src/main/webapp/resources/dia_sv.txt1
-rw-r--r--src/main/webapp/resources/dia_sw.txt1
-rw-r--r--src/main/webapp/resources/dia_ta.txt1
-rw-r--r--src/main/webapp/resources/dia_te.txt1
-rw-r--r--src/main/webapp/resources/dia_th.txt1
-rw-r--r--src/main/webapp/resources/dia_tr.txt1
-rw-r--r--src/main/webapp/resources/dia_uk.txt1
-rw-r--r--src/main/webapp/resources/dia_vi.txt1
-rw-r--r--src/main/webapp/resources/dia_zh-tw.txt1
-rw-r--r--src/main/webapp/resources/dia_zh.txt1
-rw-r--r--src/main/webapp/service-worker.js124
81 files changed, 2531 insertions, 1888 deletions
diff --git a/.github/stale.yml b/.github/stale.yml
index 0fa4fa38..9db1c0d5 100644
--- a/.github/stale.yml
+++ b/.github/stale.yml
@@ -1,7 +1,7 @@
# Number of days of inactivity before an issue becomes stale
-daysUntilStale: 300
+daysUntilStale: 100
# Number of days of inactivity before a stale issue is closed
-daysUntilClose: 20
+daysUntilClose: 2
# Issues with these labels will never be considered stale
exemptLabels:
- pinned
diff --git a/ChangeLog b/ChangeLog
index 9fe5aa62..2c2396a0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+22-MAR-2021: 14.5.0
+
+- Improves Lucidchart import
+
17-MAR-2021: 14.4.9
- Adds copy as image option
diff --git a/VERSION b/VERSION
index 1fce59bf..d3be72cb 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-14.4.9 \ No newline at end of file
+14.5.0 \ No newline at end of file
diff --git a/etc/p2pCollab/index.js b/etc/p2pCollab/index.js
new file mode 100644
index 00000000..27ceaf90
--- /dev/null
+++ b/etc/p2pCollab/index.js
@@ -0,0 +1,69 @@
+const
+ {Server} = require("socket.io"),
+ io = new Server(3030, {
+ cors: {
+ origin: function (origin, callback)
+ {
+ if (/\.draw\.io$/.test(origin) || /\.diagrams\.io$/.test(origin))
+ {
+ callback(null, true); // allow all draw.io domains
+ }
+ else
+ {
+ callback(new Error('Now allowed')); // block others
+ }
+ }
+ }
+ });
+
+var rooms = {}
+
+io.on('connection', function (socket)
+{
+ var room = null;
+
+ function leaveRoom()
+ {
+ if (!room) return;
+
+ room.clientCount--;
+ socket.leave(room.name);
+
+ if (room.clientCount == 0)
+ {
+ delete rooms[room.name];
+ }
+
+ room = null;
+ }
+
+ socket.on('message', function (data)
+ {
+ if (!room) return;
+
+ socket.broadcast.to(room.name).emit('message', data);
+ })
+
+ socket.on('join', function (msg) {
+ leaveRoom(); //If currently in a room, leave it
+
+ var name = msg.name;
+
+ if (!name) return;
+
+ if (rooms[name])
+ {
+ room = rooms[name];
+ }
+ else
+ {
+ room = {clientCount: 0, name: name}
+ rooms[name] = room;
+ }
+
+ socket.join(room.name);
+ room.clientCount++;
+ });
+
+ socket.on("disconnect", leaveRoom);
+}); \ No newline at end of file
diff --git a/etc/p2pCollab/package-lock.json b/etc/p2pCollab/package-lock.json
new file mode 100644
index 00000000..f0732aa8
--- /dev/null
+++ b/etc/p2pCollab/package-lock.json
@@ -0,0 +1,165 @@
+{
+ "name": "p2pcollab",
+ "version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@types/component-emitter": {
+ "version": "1.2.10",
+ "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz",
+ "integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg=="
+ },
+ "@types/cookie": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.0.tgz",
+ "integrity": "sha512-y7mImlc/rNkvCRmg8gC3/lj87S7pTUIJ6QGjwHR9WQJcFs+ZMTOaoPrkdFA/YdbuqVEmEbb5RdhVxMkAcgOnpg=="
+ },
+ "@types/cors": {
+ "version": "2.8.10",
+ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.10.tgz",
+ "integrity": "sha512-C7srjHiVG3Ey1nR6d511dtDkCEjxuN9W1HWAEjGq8kpcwmNM6JJkpC0xvabM7BXTG2wDq8Eu33iH9aQKa7IvLQ=="
+ },
+ "@types/node": {
+ "version": "14.14.35",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz",
+ "integrity": "sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag=="
+ },
+ "accepts": {
+ "version": "1.3.7",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
+ "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
+ "requires": {
+ "mime-types": "~2.1.24",
+ "negotiator": "0.6.2"
+ }
+ },
+ "base64-arraybuffer": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz",
+ "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI="
+ },
+ "base64id": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
+ "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog=="
+ },
+ "component-emitter": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
+ },
+ "cookie": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
+ "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA=="
+ },
+ "cors": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
+ "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
+ "requires": {
+ "object-assign": "^4",
+ "vary": "^1"
+ }
+ },
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "engine.io": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-5.0.0.tgz",
+ "integrity": "sha512-BATIdDV3H1SrE9/u2BAotvsmjJg0t1P4+vGedImSs1lkFAtQdvk4Ev1y4LDiPF7BPWgXWEG+NDY+nLvW3UrMWw==",
+ "requires": {
+ "accepts": "~1.3.4",
+ "base64id": "2.0.0",
+ "cookie": "~0.4.1",
+ "cors": "~2.8.5",
+ "debug": "~4.3.1",
+ "engine.io-parser": "~4.0.0",
+ "ws": "~7.4.2"
+ }
+ },
+ "engine.io-parser": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz",
+ "integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==",
+ "requires": {
+ "base64-arraybuffer": "0.1.4"
+ }
+ },
+ "mime-db": {
+ "version": "1.46.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz",
+ "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ=="
+ },
+ "mime-types": {
+ "version": "2.1.29",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz",
+ "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==",
+ "requires": {
+ "mime-db": "1.46.0"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "negotiator": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
+ "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ },
+ "socket.io": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.0.0.tgz",
+ "integrity": "sha512-/c1riZMV/4yz7KEpaMhDQbwhJDIoO55whXaRKgyEBQrLU9zUHXo9rzeTMvTOqwL9mbKfHKdrXcMoCeQ/1YtMsg==",
+ "requires": {
+ "@types/cookie": "^0.4.0",
+ "@types/cors": "^2.8.8",
+ "@types/node": ">=10.0.0",
+ "accepts": "~1.3.4",
+ "base64id": "~2.0.0",
+ "debug": "~4.3.1",
+ "engine.io": "~5.0.0",
+ "socket.io-adapter": "~2.2.0",
+ "socket.io-parser": "~4.0.3"
+ }
+ },
+ "socket.io-adapter": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.2.0.tgz",
+ "integrity": "sha512-rG49L+FwaVEwuAdeBRq49M97YI3ElVabJPzvHT9S6a2CWhDKnjSFasvwAwSYPRhQzfn4NtDIbCaGYgOCOU/rlg=="
+ },
+ "socket.io-parser": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz",
+ "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==",
+ "requires": {
+ "@types/component-emitter": "^1.2.10",
+ "component-emitter": "~1.3.0",
+ "debug": "~4.3.1"
+ }
+ },
+ "vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
+ },
+ "ws": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz",
+ "integrity": "sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw=="
+ }
+ }
+}
diff --git a/etc/p2pCollab/package.json b/etc/p2pCollab/package.json
new file mode 100644
index 00000000..1a99c0db
--- /dev/null
+++ b/etc/p2pCollab/package.json
@@ -0,0 +1,15 @@
+{
+ "name": "p2pcollab",
+ "version": "1.0.0",
+ "description": "",
+ "main": "index.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "author": "",
+ "license": "MIT",
+ "dependencies": {
+ "cors": "^2.8.5",
+ "socket.io": "^4.0.0"
+ }
+}
diff --git a/src/main/webapp/js/app.min.js b/src/main/webapp/js/app.min.js
index e942be2c..6113d920 100644
--- a/src/main/webapp/js/app.min.js
+++ b/src/main/webapp/js/app.min.js
@@ -239,7 +239,7 @@ function setCurrentXml(a,b){null!=window.parent&&null!=window.parent.openFile&&w
(function(){if("undefined"!==typeof JSON&&isLocalStorage)try{var a=localStorage.getItem(".drawio-config"),b=!0;null!=a&&(b=JSON.parse(a).showStartScreen);0==b&&(urlParams.splash="0")}catch(d){}a=urlParams["export"];null!=a&&(a=decodeURIComponent(a),"http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)&&(a="http://"+a),EXPORT_URL=a);a=urlParams.gitlab;null!=a&&(a=decodeURIComponent(a),"http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)&&(a="http://"+a),DRAWIO_GITLAB_URL=a);a=urlParams["gitlab-id"];
null!=a&&(DRAWIO_GITLAB_ID=a);window.DRAWIO_LOG_URL=window.DRAWIO_LOG_URL||"";a=window.location.host;if("test.draw.io"!=a){var c="diagrams.net",b=a.length-c.length,c=a.lastIndexOf(c,b);-1!==c&&c===b?window.DRAWIO_LOG_URL="https://log.diagrams.net":(c="draw.io",b=a.length-c.length,c=a.lastIndexOf(c,b),-1!==c&&c===b&&(window.DRAWIO_LOG_URL="https://log.draw.io"))}})();
if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==urlParams.local||"1"==urlParams.lockdown)urlParams.picker="0",urlParams.gapi="0",urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0";"trello"==urlParams.mode&&(urlParams.tr="1");"embed.diagrams.net"==window.location.hostname&&(urlParams.embed="1");(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.open&&(window.location.hash=urlParams.open);window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
-window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"mxgraph";window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"14.4.8",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
+window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"mxgraph";window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"14.5.0",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:/Apple Computer, Inc/.test(navigator.vendor),
IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform),IS_GC:/Google Inc/.test(navigator.vendor),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:"undefined"!==typeof InstallTrigger,IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||
0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:"MICROSOFT INTERNET EXPLORER"!=navigator.appName.toUpperCase(),NO_FO:!document.createElementNS||"[object SVGForeignObjectElement]"!=document.createElementNS("http://www.w3.org/2000/svg","foreignObject")||0<=navigator.userAgent.indexOf("Opera/"),IS_WIN:0<navigator.appVersion.indexOf("Win"),IS_MAC:0<navigator.appVersion.indexOf("Mac"),
@@ -9445,14 +9445,14 @@ this.getTagsForStencil("mxgraph.weblogos","xanga","web logos logo").join(" ")),t
76,76.2,"","Youmob",null,null,this.getTagsForStencil("mxgraph.weblogos","youmob","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"youtube;fillColor=#FF2626;gradientColor=#B5171F",.2*786,65.8,"","Youtube",null,null,this.getTagsForStencil("mxgraph.weblogos","youtube","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"youtube_2;fillColor=#FF2626;gradientColor=#B5171F",.2*232,32.6,"","Youtube",null,null,this.getTagsForStencil("mxgraph.weblogos","youtube","web logos logo").join(" "))]);
this.setCurrentSearchEntryLibrary()}})();
DrawioFile=function(a,d){mxEventSource.call(this);this.ui=a;this.shadowData=this.data=d||"";this.shadowPages=null;this.created=(new Date).getTime();this.stats={opened:0,merged:0,fileMerged:0,fileReloaded:0,conflicts:0,timeouts:0,saved:0,closed:0,destroyed:0,joined:0,checksumErrors:0,bytesSent:0,bytesReceived:0,msgSent:0,msgReceived:0,cacheHits:0,cacheMiss:0,cacheFail:0}};DrawioFile.SYNC=urlParams.sync||"auto";DrawioFile.LAST_WRITE_WINS=!0;mxUtils.extend(DrawioFile,mxEventSource);
-DrawioFile.prototype.allChangesSavedKey="allChangesSaved";DrawioFile.prototype.savingSpinnerKey="saving";DrawioFile.prototype.savingStatusKey="saving";DrawioFile.prototype.autosaveDelay=1500;DrawioFile.prototype.maxAutosaveDelay=3E4;DrawioFile.prototype.autosaveThread=null;DrawioFile.prototype.lastAutosave=null;DrawioFile.prototype.lastSaved=null;DrawioFile.prototype.lastChanged=null;DrawioFile.prototype.opened=null;DrawioFile.prototype.modified=!1;DrawioFile.prototype.shadowModified=!1;
-DrawioFile.prototype.data=null;DrawioFile.prototype.shadowData=null;DrawioFile.prototype.shadowPages=null;DrawioFile.prototype.changeListenerEnabled=!0;DrawioFile.prototype.lastAutosaveRevision=null;DrawioFile.prototype.maxAutosaveRevisionDelay=3E5;DrawioFile.prototype.inConflictState=!1;DrawioFile.prototype.invalidChecksum=!1;DrawioFile.prototype.errorReportsEnabled=!1;DrawioFile.prototype.ageStart=null;DrawioFile.prototype.getSize=function(){return null!=this.data?this.data.length:0};
-DrawioFile.prototype.synchronizeFile=function(a,d){this.savingFile?null!=d&&d({message:mxResources.get("busy")}):null!=this.sync?this.sync.fileChanged(a,d):this.updateFile(a,d)};
+DrawioFile.prototype.allChangesSavedKey="allChangesSaved";DrawioFile.prototype.savingSpinnerKey="saving";DrawioFile.prototype.savingStatusKey="saving";DrawioFile.prototype.autosaveDelay=1500;DrawioFile.prototype.maxAutosaveDelay=3E4;DrawioFile.prototype.optimisticSyncDelay=300;DrawioFile.prototype.autosaveThread=null;DrawioFile.prototype.lastAutosave=null;DrawioFile.prototype.lastSaved=null;DrawioFile.prototype.lastChanged=null;DrawioFile.prototype.opened=null;DrawioFile.prototype.modified=!1;
+DrawioFile.prototype.shadowModified=!1;DrawioFile.prototype.data=null;DrawioFile.prototype.shadowData=null;DrawioFile.prototype.shadowPages=null;DrawioFile.prototype.changeListenerEnabled=!0;DrawioFile.prototype.lastAutosaveRevision=null;DrawioFile.prototype.maxAutosaveRevisionDelay=3E5;DrawioFile.prototype.inConflictState=!1;DrawioFile.prototype.invalidChecksum=!1;DrawioFile.prototype.errorReportsEnabled=!1;DrawioFile.prototype.ageStart=null;
+DrawioFile.prototype.getSize=function(){return null!=this.data?this.data.length:0};DrawioFile.prototype.synchronizeFile=function(a,d){this.savingFile?null!=d&&d({message:mxResources.get("busy")}):null!=this.sync?this.sync.fileChanged(a,d):this.updateFile(a,d)};
DrawioFile.prototype.updateFile=function(a,d,b,c){null!=b&&b()||(this.ui.getCurrentFile()!=this||this.invalidChecksum?null!=d&&d():this.getLatestVersion(mxUtils.bind(this,function(g){try{null!=b&&b()||(this.ui.getCurrentFile()!=this||this.invalidChecksum?null!=d&&d():null!=g?this.mergeFile(g,a,d,c):this.reloadFile(a,d))}catch(f){null!=d&&d(f)}}),d))};
DrawioFile.prototype.mergeFile=function(a,d,b,c){var g=!0;try{this.stats.fileMerged++;var f=null!=this.shadowPages?this.shadowPages:this.ui.getPagesForNode(mxUtils.parseXml(this.shadowData).documentElement),m=this.ui.getPagesForNode(mxUtils.parseXml(a.data).documentElement);if(null!=m&&0<m.length){this.shadowPages=m;this.backupPatch=this.isModified()?this.ui.diffPages(f,this.ui.pages):null;var n=[this.ui.diffPages(null!=c?c:f,this.shadowPages)];if(!this.ignorePatches(n)){var e=this.ui.patchPages(f,
n[0]);c={};var k=this.ui.getHashValueForPages(e,c),f={},l=this.ui.getHashValueForPages(this.shadowPages,f);"1"==urlParams.test&&EditorUi.debug("File.mergeFile",[this],"backup",this.backupPatch,"patches",n,"checksum",l==k,k);if(null!=k&&k!=l){var p=this.compressReportData(this.getAnonymizedXmlForPages(m)),t=this.compressReportData(this.getAnonymizedXmlForPages(e)),u=this.ui.hashValue(a.getCurrentEtag()),q=this.ui.hashValue(this.getCurrentEtag());this.checksumError(b,n,"Shadow Details: "+JSON.stringify(c)+
-"\nChecksum: "+k+"\nCurrent: "+l+"\nCurrent Details: "+JSON.stringify(f)+"\nFrom: "+u+"\nTo: "+q+"\n\nFile Data:\n"+p+"\nPatched Shadow:\n"+t,null,"mergeFile");return}this.patch(n,DrawioFile.LAST_WRITE_WINS?this.backupPatch:null)}}else throw g=!1,Error(mxResources.get("notADiagramFile"));this.inConflictState=this.invalidChecksum=!1;this.setDescriptor(a.getDescriptor());this.descriptorChanged();this.backupPatch=null;null!=d&&d()}catch(v){this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();
-null!=b&&b(v);try{if(g)if(this.errorReportsEnabled)this.sendErrorReport("Error in mergeFile",null,v);else{var x=this.getCurrentUser(),y=null!=x?x.id:"unknown";EditorUi.logError("Error in mergeFile",null,this.getMode()+"."+this.getId(),y,v)}}catch(A){}}};
+"\nChecksum: "+k+"\nCurrent: "+l+"\nCurrent Details: "+JSON.stringify(f)+"\nFrom: "+u+"\nTo: "+q+"\n\nFile Data:\n"+p+"\nPatched Shadow:\n"+t,null,"mergeFile");return}this.patch(n,DrawioFile.LAST_WRITE_WINS?this.backupPatch:null)}}else throw g=!1,Error(mxResources.get("notADiagramFile"));this.inConflictState=this.invalidChecksum=!1;this.setDescriptor(a.getDescriptor());this.descriptorChanged();this.backupPatch=null;null!=d&&d()}catch(x){this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();
+null!=b&&b(x);try{if(g)if(this.errorReportsEnabled)this.sendErrorReport("Error in mergeFile",null,x);else{var v=this.getCurrentUser(),z=null!=v?v.id:"unknown";EditorUi.logError("Error in mergeFile",null,this.getMode()+"."+this.getId(),z,x)}}catch(B){}}};
DrawioFile.prototype.getAnonymizedXmlForPages=function(a){var d=new mxCodec(mxUtils.createXmlDocument()),b=d.document.createElement("mxfile");if(null!=a)for(var c=0;c<a.length;c++){var g=d.encode(new mxGraphModel(a[c].root));"1"!=urlParams.dev&&(g=this.ui.anonymizeNode(g,!0));g.setAttribute("id",a[c].getId());a[c].viewState&&this.ui.editor.graph.saveViewState(a[c].viewState,g,!0);b.appendChild(g)}return mxUtils.getPrettyXml(b)};
DrawioFile.prototype.compressReportData=function(a,d,b){d=null!=d?d:1E4;null!=b&&null!=a&&a.length>b?a=a.substring(0,b)+"[...]":null!=a&&a.length>d&&(a=Graph.compress(a)+"\n");return a};
DrawioFile.prototype.checksumError=function(a,d,b,c,g){this.stats.checksumErrors++;this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=this.sync&&this.sync.updateOnlineState();null!=a&&a();try{if(this.errorReportsEnabled){if(null!=d)for(a=0;a<d.length;a++)this.ui.anonymizePatch(d[a]);var f=mxUtils.bind(this,function(a){var e=this.compressReportData(JSON.stringify(d,null,2));a=null!=a?this.compressReportData(this.getAnonymizedXmlForPages(this.ui.getPagesForNode(mxUtils.parseXml(a.data).documentElement)),
@@ -9502,9 +9502,10 @@ DrawioFile.prototype.handleConflictError=function(a,d){var b=mxUtils.bind(this,f
mxResources.get("updatingDocument"))&&this.synchronizeFile(mxUtils.bind(this,function(){this.ui.spinner.stop();this.ui.spinner.spin(document.body,mxResources.get(this.savingSpinnerKey))&&this.save(!0,b,c,null,null,this.constructor!=GitHubFile&&this.constructor!=GitLabFile||null==a?null:a.commitMessage)}),c)});"none"==DrawioFile.SYNC?this.showCopyDialog(b,c,g):this.invalidChecksum?this.showRefreshDialog(b,c,this.getErrorMessage(a)):d?this.showConflictDialog(g,f):this.addConflictStatus(mxUtils.bind(this,
function(){this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get("updatingDocument")));this.synchronizeFile(b,c)}),this.getErrorMessage(a))};DrawioFile.prototype.getErrorMessage=function(a){var d=null!=a?null!=a.error?a.error.message:a.message:null;null==d&&null!=a&&a.code==App.ERROR_TIMEOUT&&(d=mxResources.get("timeout"));return d};DrawioFile.prototype.isOverdue=function(){return null!=this.ageStart&&Date.now()-this.ageStart.getTime()>=this.ui.warnInterval};
DrawioFile.prototype.fileChanged=function(){this.lastChanged=new Date;this.setModified(!0);this.isAutosave()?(null!=this.savingStatusKey&&this.addAllSavedStatus(mxUtils.htmlEntities(mxResources.get(this.savingStatusKey))+"..."),this.ui.scheduleSanityCheck(),null==this.ageStart&&(this.ageStart=new Date),this.autosave(this.autosaveDelay,this.maxAutosaveDelay,mxUtils.bind(this,function(a){this.ui.stopSanityCheck();null==this.autosaveThread?(this.handleFileSuccess(!0),this.ageStart=null):this.isModified()&&
-(this.ui.scheduleSanityCheck(),this.ageStart=this.lastChanged)}),mxUtils.bind(this,function(a){this.handleFileError(a)}))):(this.ageStart=null,this.isAutosaveOptional()&&this.ui.editor.autosave||this.inConflictState||this.addUnsavedStatus())};DrawioFile.prototype.createSecret=function(a){var d=Editor.guid(32);null!=this.sync?this.sync.createToken(d,mxUtils.bind(this,function(b){a(d,b)}),mxUtils.bind(this,function(){a(d)})):a(d)};
-DrawioFile.prototype.fileSaved=function(a,d,b,c,g){this.lastSaved=new Date;this.ageStart=null;try{this.stats.saved++,this.invalidChecksum=this.inConflictState=!1,null==this.sync?(this.shadowData=a,this.shadowPages=null,null!=b&&b()):this.sync.fileSaved(this.ui.getPagesForNode(mxUtils.parseXml(a).documentElement),d,b,c,g)}catch(n){this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=c&&c(n);try{if(this.errorReportsEnabled)this.sendErrorReport("Error in fileSaved",null,n);else{var f=
-this.getCurrentUser(),m=null!=f?f.id:"unknown";EditorUi.logError("Error in fileSaved",null,this.getMode()+"."+this.getId(),m,n)}}catch(e){}}};
+(this.ui.scheduleSanityCheck(),this.ageStart=this.lastChanged)}),mxUtils.bind(this,function(a){this.handleFileError(a)}))):(this.ageStart=null,this.isAutosaveOptional()&&this.ui.editor.autosave||this.inConflictState||this.addUnsavedStatus())};DrawioFile.prototype.isOptimisticSync=function(){return!1};DrawioFile.prototype.createSecret=function(a){var d=Editor.guid(32);null==this.sync||this.isOptimisticSync()?a(d):this.sync.createToken(d,mxUtils.bind(this,function(b){a(d,b)}),mxUtils.bind(this,function(){a(d)}))};
+DrawioFile.prototype.fileSaving=function(){null!=this.sync&&this.isOptimisticSync()&&this.sync.fileSaving();"1"==urlParams.test&&EditorUi.debug("DrawioFile.fileSaving",[this])};
+DrawioFile.prototype.fileSaved=function(a,d,b,c,g){this.lastSaved=new Date;this.ageStart=null;try{this.stats.saved++,this.invalidChecksum=this.inConflictState=!1,null==this.sync||this.isOptimisticSync()?(this.shadowData=a,this.shadowPages=null,null!=b&&b()):this.sync.fileSaved(this.ui.getPagesForNode(mxUtils.parseXml(a).documentElement),d,b,c,g)}catch(n){this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=c&&c(n);try{if(this.errorReportsEnabled)this.sendErrorReport("Error in fileSaved",
+null,n);else{var f=this.getCurrentUser(),m=null!=f?f.id:"unknown";EditorUi.logError("Error in fileSaved",null,this.getMode()+"."+this.getId(),m,n)}}catch(e){}}"1"==urlParams.test&&EditorUi.debug("DrawioFile.fileSaved",[this])};
DrawioFile.prototype.autosave=function(a,d,b,c){null==this.lastAutosave&&(this.lastAutosave=Date.now());a=Date.now()-this.lastAutosave<d?a:0;this.clearAutosave();var g=window.setTimeout(mxUtils.bind(this,function(){this.lastAutosave=null;this.autosaveThread==g&&(this.autosaveThread=null);if(this.isModified()&&this.isAutosaveNow()){var a=this.isAutosaveRevision();a&&(this.lastAutosaveRevision=(new Date).getTime());this.save(a,mxUtils.bind(this,function(a){this.autosaveCompleted();null!=b&&b(a)}),mxUtils.bind(this,
function(a){null!=c&&c(a)}))}else this.isModified()||this.ui.editor.setStatus(""),null!=b&&b(null)}),a);this.autosaveThread=g};DrawioFile.prototype.isAutosaveNow=function(){return!0};DrawioFile.prototype.autosaveCompleted=function(){};DrawioFile.prototype.clearAutosave=function(){null!=this.autosaveThread&&(window.clearTimeout(this.autosaveThread),this.autosaveThread=null)};
DrawioFile.prototype.isAutosaveRevision=function(){var a=(new Date).getTime();return null==this.lastAutosaveRevision||a-this.lastAutosaveRevision>this.maxAutosaveRevisionDelay};DrawioFile.prototype.descriptorChanged=function(){this.fireEvent(new mxEventObject("descriptorChanged"))};DrawioFile.prototype.contentChanged=function(){this.fireEvent(new mxEventObject("contentChanged"))};
@@ -9530,11 +9531,11 @@ StorageFile.listFiles=function(a,d,b,c){a.getDatabaseItems(function(a){var c=[];
StorageLibrary.prototype.isRenamable=function(a,d,b){return".scratchpad"!=this.title};StorageLibrary.prototype.open=function(){};RemoteFile=function(a,d,b){DrawioFile.call(this,a,d);this.title=b;this.mode=null};mxUtils.extend(RemoteFile,DrawioFile);RemoteFile.prototype.isAutosave=function(){return!1};RemoteFile.prototype.getMode=function(){return this.mode};RemoteFile.prototype.getTitle=function(){return this.title};RemoteFile.prototype.isRenamable=function(){return!1};RemoteFile.prototype.open=function(){this.ui.setFileData(this.getData());this.installListeners()};RemoteLibrary=function(a,d,b){RemoteFile.call(this,a,d,b.title);this.libObj=b};mxUtils.extend(RemoteLibrary,LocalFile);RemoteLibrary.prototype.getHash=function(){return"R"+encodeURIComponent(JSON.stringify([this.libObj.id,this.libObj.title,this.libObj.downloadUrl]))};RemoteLibrary.prototype.isEditable=function(){return!1};RemoteLibrary.prototype.isRenamable=function(){return!1};RemoteLibrary.prototype.isAutosave=function(){return!1};RemoteLibrary.prototype.save=function(a,d,b){};
RemoteLibrary.prototype.saveAs=function(a,d,b){};RemoteLibrary.prototype.updateFileData=function(){};RemoteLibrary.prototype.open=function(){};UrlLibrary=function(a,d,b){StorageFile.call(this,a,d,b);a=b;d=a.lastIndexOf("/");0<=d&&(a=a.substring(d+1));this.fname=a};mxUtils.extend(UrlLibrary,StorageFile);UrlLibrary.prototype.getHash=function(){return"U"+encodeURIComponent(this.title)};UrlLibrary.prototype.getTitle=function(){return this.fname};UrlLibrary.prototype.isAutosave=function(){return!1};UrlLibrary.prototype.isEditable=function(a,d,b){return!1};UrlLibrary.prototype.saveAs=function(a,d,b){};UrlLibrary.prototype.open=function(){};EmbedFile=function(a,d,b){DrawioFile.call(this,a,d);this.desc=b||{};this.mode=App.MODE_EMBED};mxUtils.extend(EmbedFile,DrawioFile);EmbedFile.prototype.getMode=function(){return this.mode};EmbedFile.prototype.getTitle=function(){return this.desc.title||""};/*
mxClient.IS_IOS || */
-var StorageDialog=function(a,d,b){function c(c,k,f,g,q,x){function l(){mxEvent.addListener(p,"click",null!=x?x:function(){f!=App.MODE_GOOGLE||a.isDriveDomain()?f==App.MODE_GOOGLE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(f,!0);d()})):f==App.MODE_ONEDRIVE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.oneDrive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(f,!0);d()})):
+var StorageDialog=function(a,d,b){function c(c,k,f,g,q,v){function l(){mxEvent.addListener(p,"click",null!=v?v:function(){f!=App.MODE_GOOGLE||a.isDriveDomain()?f==App.MODE_GOOGLE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(f,!0);d()})):f==App.MODE_ONEDRIVE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.oneDrive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(f,!0);d()})):
(a.setMode(f,!0),d()):window.location.hostname=DriveClient.prototype.newAppHostname})}++m>b&&(mxUtils.br(n),m=0);var p=document.createElement("a");p.style.overflow="hidden";p.style.display="inline-block";p.className="geBaseButton";p.style.boxSizing="border-box";p.style.fontSize="11px";p.style.position="relative";p.style.margin="4px";p.style.marginTop="8px";p.style.marginBottom="0px";p.style.padding="8px 10px 8px 10px";p.style.width="88px";p.style.height="100px";p.style.whiteSpace="nowrap";p.setAttribute("title",
k);var t=document.createElement("div");t.style.textOverflow="ellipsis";t.style.overflow="hidden";t.style.position="absolute";t.style.bottom="8px";t.style.left="0px";t.style.right="0px";mxUtils.write(t,k);p.appendChild(t);if(null!=c){var u=document.createElement("img");u.setAttribute("src",c);u.setAttribute("border","0");u.setAttribute("align","absmiddle");u.style.width="60px";u.style.height="60px";u.style.paddingBottom="6px";p.appendChild(u)}else t.style.paddingTop="5px",t.style.whiteSpace="normal",
-mxClient.IS_IOS?(p.style.padding="0px 10px 20px 10px",p.style.top="6px"):mxClient.IS_FF&&(t.style.paddingTop="0px",t.style.marginTop="-2px");if(null!=q)for(c=0;c<q.length;c++)mxUtils.br(t),mxUtils.write(t,q[c]);if(null!=g&&null==a[g]){u.style.visibility="hidden";mxUtils.setOpacity(t,10);var B=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});B.spin(p);var C=window.setTimeout(function(){null==
-a[g]&&(B.stop(),p.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(b,c){null!=a[g]&&c.getProperty("client")==a[g]&&(window.clearTimeout(C),mxUtils.setOpacity(t,100),u.style.visibility="",B.stop(),l(),"drive"==g&&null!=e.parentNode&&e.parentNode.removeChild(e))}))}else l();n.appendChild(p)}b=null!=b?b:2;var g=document.createElement("div");g.style.textAlign="center";g.style.whiteSpace="nowrap";g.style.paddingTop="0px";g.style.paddingBottom="20px";var f=document.createElement("div");
+mxClient.IS_IOS?(p.style.padding="0px 10px 20px 10px",p.style.top="6px"):mxClient.IS_FF&&(t.style.paddingTop="0px",t.style.marginTop="-2px");if(null!=q)for(c=0;c<q.length;c++)mxUtils.br(t),mxUtils.write(t,q[c]);if(null!=g&&null==a[g]){u.style.visibility="hidden";mxUtils.setOpacity(t,10);var C=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});C.spin(p);var A=window.setTimeout(function(){null==
+a[g]&&(C.stop(),p.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(b,c){null!=a[g]&&c.getProperty("client")==a[g]&&(window.clearTimeout(A),mxUtils.setOpacity(t,100),u.style.visibility="",C.stop(),l(),"drive"==g&&null!=e.parentNode&&e.parentNode.removeChild(e))}))}else l();n.appendChild(p)}b=null!=b?b:2;var g=document.createElement("div");g.style.textAlign="center";g.style.whiteSpace="nowrap";g.style.paddingTop="0px";g.style.paddingBottom="20px";var f=document.createElement("div");
f.style.border="1px solid #d3d3d3";f.style.borderWidth="1px 0px 1px 0px";f.style.padding="10px 0px 20px 0px";var m=0,n=document.createElement("div");n.style.paddingTop="2px";f.appendChild(n);var e=document.createElement("p"),k=document.createElement("p");k.style.cssText="font-size:22px;padding:4px 0 16px 0;margin:0;color:gray;";mxUtils.write(k,mxResources.get("saveDiagramsTo")+":");g.appendChild(k);g.appendChild(f);m=0;"function"===typeof window.DriveClient&&c(IMAGE_PATH+"/google-drive-logo.svg",
mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive");"function"===typeof window.OneDriveClient&&c(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive");c(IMAGE_PATH+"/osa_drive-harddisk.png",mxResources.get("device"),App.MODE_DEVICE);!isLocalStorage||"1"!=urlParams.browser&&"1"!=urlParams.offline||c(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER);"function"===typeof window.DropboxClient&&c(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),
App.MODE_DROPBOX,"dropbox");null!=a.gitHub&&c(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),App.MODE_GITHUB,"gitHub");null!=a.gitLab&&c(IMAGE_PATH+"/gitlab-logo.svg",mxResources.get("gitlab"),App.MODE_GITLAB,"gitLab");f=document.createElement("span");f.style.cssText="position:absolute;cursor:pointer;bottom:27px;color:gray;userSelect:none;text-align:center;left:50%;";mxUtils.setPrefixedStyle(f.style,"transform","translate(-50%,0)");mxUtils.write(f,mxResources.get("decideLater"));mxEvent.addListener(f,
@@ -9553,28 +9554,28 @@ App.MODE_ONEDRIVE||null==a.oneDrive||a.oneDrive.noLogout?a.mode==App.MODE_GITHUB
b(function(){a.oneDrive.logout()});d.appendChild(g);this.container=d},EmbedDialog=function(a,d,b,c,g,f,m){m=null!=m?m:"Check out the diagram I made using @drawio";c=document.createElement("div");var n=/^https?:\/\//.test(d)||/^mailto:\/\//.test(d);null!=f?mxUtils.write(c,f):mxUtils.write(c,mxResources.get(5E5>d.length?n?"link":"mainEmbedNotice":"preview")+":");mxUtils.br(c);f=document.createElement("div");f.style.position="absolute";f.style.top="30px";f.style.right="30px";f.style.color="gray";mxUtils.write(f,
a.formatFileSize(d.length));c.appendChild(f);var e=document.createElement("textarea");e.setAttribute("autocomplete","off");e.setAttribute("autocorrect","off");e.setAttribute("autocapitalize","off");e.setAttribute("spellcheck","false");e.style.fontFamily="monospace";e.style.wordBreak="break-all";e.style.marginTop="10px";e.style.resize="none";e.style.height="150px";e.style.width="440px";e.style.border="1px solid gray";e.value=mxResources.get("updatingDocument");c.appendChild(e);mxUtils.br(c);this.init=
function(){window.setTimeout(function(){5E5>d.length?(e.value=d,e.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?e.select():document.execCommand("selectAll",!1,null)):(e.setAttribute("readonly","true"),e.value=mxResources.get("tooLargeUseDownload"))},0)};f=document.createElement("div");f.style.position="absolute";f.style.bottom="36px";f.style.right="32px";var k=null;!EmbedDialog.showPreviewOption||mxClient.IS_CHROMEAPP&&!n||navigator.standalone||!(n||mxClient.IS_SVG&&(null==document.documentMode||
-9<document.documentMode))||(k=mxUtils.button(mxResources.get(5E5>d.length?"preview":"openInNewWindow"),function(){var c=5E5>d.length?e.value:d;if(null!=g)g(c);else if(n)try{var k=a.openLink(c);null!=k&&(null==b||0<b)&&window.setTimeout(mxUtils.bind(this,function(){try{null!=k&&null!=k.location.href&&k.location.href.substring(0,8)!=c.substring(0,8)&&(k.close(),a.handleError({message:mxResources.get("drawingTooLarge")}))}catch(x){}}),b||500)}catch(x){a.handleError({message:x.message||mxResources.get("drawingTooLarge")})}else{var l=
+9<document.documentMode))||(k=mxUtils.button(mxResources.get(5E5>d.length?"preview":"openInNewWindow"),function(){var c=5E5>d.length?e.value:d;if(null!=g)g(c);else if(n)try{var k=a.openLink(c);null!=k&&(null==b||0<b)&&window.setTimeout(mxUtils.bind(this,function(){try{null!=k&&null!=k.location.href&&k.location.href.substring(0,8)!=c.substring(0,8)&&(k.close(),a.handleError({message:mxResources.get("drawingTooLarge")}))}catch(v){}}),b||500)}catch(v){a.handleError({message:v.message||mxResources.get("drawingTooLarge")})}else{var l=
window.open(),l=null!=l?l.document:null;null!=l?(l.writeln("<html><head><title>"+encodeURIComponent(mxResources.get("preview"))+'</title><meta charset="utf-8"></head><body>'+d+"</body></html>"),l.close()):a.handleError({message:mxResources.get("errorUpdatingPreview")})}}),k.className="geBtn",f.appendChild(k));if(!n||7500<d.length){var l=mxUtils.button(mxResources.get("download"),function(){a.hideDialog();a.saveData("embed.txt","txt",d,"text/plain")});l.className="geBtn";f.appendChild(l)}if(n&&(!a.isOffline()||
mxClient.IS_CHROMEAPP)){if(51200>d.length){var p=mxUtils.button("",function(){try{var b="https://www.facebook.com/sharer.php?p[url]="+encodeURIComponent(e.value);a.openLink(b)}catch(u){a.handleError({message:u.message||mxResources.get("drawingTooLarge")})}}),l=document.createElement("img");l.setAttribute("src",Editor.facebookImage);l.setAttribute("width","18");l.setAttribute("height","18");l.setAttribute("border","0");p.appendChild(l);p.setAttribute("title",mxResources.get("facebook")+" ("+a.formatFileSize(51200)+
" max)");p.style.verticalAlign="bottom";p.style.paddingTop="4px";p.style.minWidth="46px";p.className="geBtn";f.appendChild(p)}7168>d.length&&(p=mxUtils.button("",function(){try{var b="https://twitter.com/intent/tweet?text="+encodeURIComponent(m)+"&url="+encodeURIComponent(e.value);a.openLink(b)}catch(u){a.handleError({message:u.message||mxResources.get("drawingTooLarge")})}}),l=document.createElement("img"),l.setAttribute("src",Editor.tweetImage),l.setAttribute("width","18"),l.setAttribute("height",
"18"),l.setAttribute("border","0"),l.style.marginBottom="5px",p.appendChild(l),p.setAttribute("title",mxResources.get("twitter")+" ("+a.formatFileSize(7168)+" max)"),p.style.verticalAlign="bottom",p.style.paddingTop="4px",p.style.minWidth="46px",p.className="geBtn",f.appendChild(p))}l=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});f.appendChild(l);p=mxUtils.button(mxResources.get("copy"),function(){e.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?e.select():
document.execCommand("selectAll",!1,null);document.execCommand("copy");a.alert(mxResources.get("copiedToClipboard"))});5E5>d.length?mxClient.IS_SF||null!=document.documentMode?l.className="geBtn gePrimaryBtn":(f.appendChild(p),p.className="geBtn gePrimaryBtn",l.className="geBtn"):(f.appendChild(k),l.className="geBtn",k.className="geBtn gePrimaryBtn");c.appendChild(f);this.container=c};EmbedDialog.showPreviewOption=!0;
-var GoogleSitesDialog=function(a,d){function b(){var a=null!=G&&null!=G.getTitle()?G.getTitle():this.defaultFilename;if(B.checked&&""!=t.value){var b="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(t.value));null!=a&&(b+="&title="+encodeURIComponent(a));0<C.length&&(b+="&s="+C);""!=u.value&&"0"!=u.value&&(b+="&border="+u.value);""!=p.value&&(b+="&height="+p.value);b+="&pan="+(q.checked?"1":"0");b+="&zoom="+(x.checked?"1":"0");b+="&fit="+(z.checked?"1":"0");
-b+="&resize="+(A.checked?"1":"0");b+="&x0="+Number(l.value);b+="&y0="+e;g.mathEnabled&&(b+="&math=1");v.checked?b+="&edit=_blank":y.checked&&(b+="&edit="+encodeURIComponent(mxUtils.htmlEntities(window.location.href)));k.value=b}else G.constructor==DriveFile||G.constructor==DropboxFile?(b="https://www.draw.io/gadget.xml?embed=0&diagram=",""!=t.value?b+=encodeURIComponent(mxUtils.htmlEntities(t.value))+"&type=3":(b+=G.getHash().substring(1),b=G.constructor==DropboxFile?b+"&type=2":b+"&type=1"),null!=
+var GoogleSitesDialog=function(a,d){function b(){var a=null!=F&&null!=F.getTitle()?F.getTitle():this.defaultFilename;if(C.checked&&""!=t.value){var b="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(t.value));null!=a&&(b+="&title="+encodeURIComponent(a));0<A.length&&(b+="&s="+A);""!=u.value&&"0"!=u.value&&(b+="&border="+u.value);""!=p.value&&(b+="&height="+p.value);b+="&pan="+(q.checked?"1":"0");b+="&zoom="+(v.checked?"1":"0");b+="&fit="+(y.checked?"1":"0");
+b+="&resize="+(B.checked?"1":"0");b+="&x0="+Number(l.value);b+="&y0="+e;g.mathEnabled&&(b+="&math=1");x.checked?b+="&edit=_blank":z.checked&&(b+="&edit="+encodeURIComponent(mxUtils.htmlEntities(window.location.href)));k.value=b}else F.constructor==DriveFile||F.constructor==DropboxFile?(b="https://www.draw.io/gadget.xml?embed=0&diagram=",""!=t.value?b+=encodeURIComponent(mxUtils.htmlEntities(t.value))+"&type=3":(b+=F.getHash().substring(1),b=F.constructor==DropboxFile?b+"&type=2":b+"&type=1"),null!=
a&&(b+="&title="+encodeURIComponent(a)),""!=p.value&&(a=parseInt(p.value)+parseInt(l.value),b+="&height="+a),k.value=b):k.value=""}var c=document.createElement("div"),g=a.editor.graph,f=g.getGraphBounds(),m=g.view.scale,n=Math.floor(f.x/m-g.view.translate.x),e=Math.floor(f.y/m-g.view.translate.y);mxUtils.write(c,mxResources.get("googleGadget")+":");mxUtils.br(c);var k=document.createElement("input");k.setAttribute("type","text");k.style.marginBottom="8px";k.style.marginTop="2px";k.style.width="410px";
c.appendChild(k);mxUtils.br(c);this.init=function(){k.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?k.select():document.execCommand("selectAll",!1,null)};mxUtils.write(c,mxResources.get("top")+":");var l=document.createElement("input");l.setAttribute("type","text");l.setAttribute("size","4");l.style.marginRight="16px";l.style.marginLeft="4px";l.value=n;c.appendChild(l);mxUtils.write(c,mxResources.get("height")+":");var p=document.createElement("input");p.setAttribute("type","text");
p.setAttribute("size","4");p.style.marginLeft="4px";p.value=Math.ceil(f.height/m);c.appendChild(p);mxUtils.br(c);f=document.createElement("hr");f.setAttribute("size","1");f.style.marginBottom="16px";f.style.marginTop="16px";c.appendChild(f);mxUtils.write(c,mxResources.get("publicDiagramUrl")+":");mxUtils.br(c);var t=document.createElement("input");t.setAttribute("type","text");t.setAttribute("size","28");t.style.marginBottom="8px";t.style.marginTop="2px";t.style.width="410px";t.value=d||"";c.appendChild(t);
-mxUtils.br(c);mxUtils.write(c,mxResources.get("borderWidth")+":");var u=document.createElement("input");u.setAttribute("type","text");u.setAttribute("size","3");u.style.marginBottom="8px";u.style.marginLeft="4px";u.value="0";c.appendChild(u);mxUtils.br(c);var q=document.createElement("input");q.setAttribute("type","checkbox");q.setAttribute("checked","checked");q.defaultChecked=!0;q.style.marginLeft="16px";c.appendChild(q);mxUtils.write(c,mxResources.get("pan")+" ");var x=document.createElement("input");
-x.setAttribute("type","checkbox");x.setAttribute("checked","checked");x.defaultChecked=!0;x.style.marginLeft="8px";c.appendChild(x);mxUtils.write(c,mxResources.get("zoom")+" ");var y=document.createElement("input");y.setAttribute("type","checkbox");y.style.marginLeft="8px";y.setAttribute("title",window.location.href);c.appendChild(y);mxUtils.write(c,mxResources.get("edit")+" ");var v=document.createElement("input");v.setAttribute("type","checkbox");v.style.marginLeft="8px";c.appendChild(v);mxUtils.write(c,
-mxResources.get("asNew")+" ");mxUtils.br(c);var A=document.createElement("input");A.setAttribute("type","checkbox");A.setAttribute("checked","checked");A.defaultChecked=!0;A.style.marginLeft="16px";c.appendChild(A);mxUtils.write(c,mxResources.get("resize")+" ");var z=document.createElement("input");z.setAttribute("type","checkbox");z.style.marginLeft="8px";c.appendChild(z);mxUtils.write(c,mxResources.get("fit")+" ");var B=document.createElement("input");B.setAttribute("type","checkbox");B.style.marginLeft=
-"8px";c.appendChild(B);mxUtils.write(c,mxResources.get("embed")+" ");var C=a.getBasenames().join(";"),G=a.getCurrentFile();mxEvent.addListener(q,"change",b);mxEvent.addListener(x,"change",b);mxEvent.addListener(A,"change",b);mxEvent.addListener(z,"change",b);mxEvent.addListener(y,"change",b);mxEvent.addListener(v,"change",b);mxEvent.addListener(B,"change",b);mxEvent.addListener(p,"change",b);mxEvent.addListener(l,"change",b);mxEvent.addListener(u,"change",b);mxEvent.addListener(t,"change",b);b();
+mxUtils.br(c);mxUtils.write(c,mxResources.get("borderWidth")+":");var u=document.createElement("input");u.setAttribute("type","text");u.setAttribute("size","3");u.style.marginBottom="8px";u.style.marginLeft="4px";u.value="0";c.appendChild(u);mxUtils.br(c);var q=document.createElement("input");q.setAttribute("type","checkbox");q.setAttribute("checked","checked");q.defaultChecked=!0;q.style.marginLeft="16px";c.appendChild(q);mxUtils.write(c,mxResources.get("pan")+" ");var v=document.createElement("input");
+v.setAttribute("type","checkbox");v.setAttribute("checked","checked");v.defaultChecked=!0;v.style.marginLeft="8px";c.appendChild(v);mxUtils.write(c,mxResources.get("zoom")+" ");var z=document.createElement("input");z.setAttribute("type","checkbox");z.style.marginLeft="8px";z.setAttribute("title",window.location.href);c.appendChild(z);mxUtils.write(c,mxResources.get("edit")+" ");var x=document.createElement("input");x.setAttribute("type","checkbox");x.style.marginLeft="8px";c.appendChild(x);mxUtils.write(c,
+mxResources.get("asNew")+" ");mxUtils.br(c);var B=document.createElement("input");B.setAttribute("type","checkbox");B.setAttribute("checked","checked");B.defaultChecked=!0;B.style.marginLeft="16px";c.appendChild(B);mxUtils.write(c,mxResources.get("resize")+" ");var y=document.createElement("input");y.setAttribute("type","checkbox");y.style.marginLeft="8px";c.appendChild(y);mxUtils.write(c,mxResources.get("fit")+" ");var C=document.createElement("input");C.setAttribute("type","checkbox");C.style.marginLeft=
+"8px";c.appendChild(C);mxUtils.write(c,mxResources.get("embed")+" ");var A=a.getBasenames().join(";"),F=a.getCurrentFile();mxEvent.addListener(q,"change",b);mxEvent.addListener(v,"change",b);mxEvent.addListener(B,"change",b);mxEvent.addListener(y,"change",b);mxEvent.addListener(z,"change",b);mxEvent.addListener(x,"change",b);mxEvent.addListener(C,"change",b);mxEvent.addListener(p,"change",b);mxEvent.addListener(l,"change",b);mxEvent.addListener(u,"change",b);mxEvent.addListener(t,"change",b);b();
mxEvent.addListener(k,"click",function(){k.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?k.select():document.execCommand("selectAll",!1,null)});f=document.createElement("div");f.style.paddingTop="12px";f.style.textAlign="right";m=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});m.className="geBtn gePrimaryBtn";f.appendChild(m);c.appendChild(f);this.container=c},CreateGraphDialog=function(a,d,b){var c=document.createElement("div");c.style.textAlign="right";this.init=
function(){var d=document.createElement("div");d.style.position="relative";d.style.border="1px solid gray";d.style.width="100%";d.style.height="360px";d.style.overflow="hidden";d.style.marginBottom="16px";mxEvent.disableContextMenu(d);c.appendChild(d);var f=new Graph(d);f.setCellsCloneable(!0);f.setPanning(!0);f.setAllowDanglingEdges(!1);f.connectionHandler.select=!1;f.view.setTranslate(20,20);f.border=20;f.panningHandler.useLeftButtonForPanning=!0;var m="curved=1;";f.cellRenderer.installCellOverlayListeners=
function(a,e,b){mxCellRenderer.prototype.installCellOverlayListeners.apply(this,arguments);mxEvent.addListener(b.node,mxClient.IS_POINTER?"pointerdown":"mousedown",function(b){e.fireEvent(new mxEventObject("pointerdown","event",b,"state",a))});!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&mxEvent.addListener(b.node,"touchstart",function(b){e.fireEvent(new mxEventObject("pointerdown","event",b,"state",a))})};f.getAllConnectionConstraints=function(){return null};f.connectionHandler.marker.highlight.keepOnTop=
!1;f.connectionHandler.createEdgeState=function(a){a=f.createEdge(null,null,null,null,null,m);return new mxCellState(this.graph.view,a,this.graph.getCellStyle(a))};var n=f.getDefaultParent(),e=mxUtils.bind(this,function(a){var b=new mxCellOverlay(this.connectImage,"Add outgoing");b.cursor="hand";b.addListener(mxEvent.CLICK,function(b,c){f.connectionHandler.reset();f.clearSelection();var d=f.getCellGeometry(a),k;p(function(){k=f.insertVertex(n,null,"Entry",d.x,d.y,80,30,"rounded=1;");e(k);f.view.refresh(k);
f.insertEdge(n,null,"",a,k,m)},function(){f.scrollCellToVisible(k)})});b.addListener("pointerdown",function(a,e){var b=e.getProperty("event"),c=e.getProperty("state");f.popupMenuHandler.hideMenu();f.stopEditing(!1);var d=mxUtils.convertPoint(f.container,mxEvent.getClientX(b),mxEvent.getClientY(b));f.connectionHandler.start(c,d.x,d.y);f.isMouseDown=!0;f.isMouseTrigger=mxEvent.isMouseEvent(b);mxEvent.consume(b)});f.addCellOverlay(a,b)});f.getModel().beginUpdate();var k;try{k=f.insertVertex(n,null,"Start",
0,0,80,30,"ellipse"),e(k)}finally{f.getModel().endUpdate()}var l;"horizontalTree"==b?(l=new mxCompactTreeLayout(f),l.edgeRouting=!1,l.levelDistance=30,m="edgeStyle=elbowEdgeStyle;elbow=horizontal;"):"verticalTree"==b?(l=new mxCompactTreeLayout(f,!1),l.edgeRouting=!1,l.levelDistance=30,m="edgeStyle=elbowEdgeStyle;elbow=vertical;"):"radialTree"==b?(l=new mxRadialTreeLayout(f,!1),l.edgeRouting=!1,l.levelDistance=80):"verticalFlow"==b?l=new mxHierarchicalLayout(f,mxConstants.DIRECTION_NORTH):"horizontalFlow"==
-b?l=new mxHierarchicalLayout(f,mxConstants.DIRECTION_WEST):"organic"==b?(l=new mxFastOrganicLayout(f,!1),l.forceConstant=80):"circle"==b&&(l=new mxCircleLayout(f));if(null!=l){var p=function(a,e){f.getModel().beginUpdate();try{null!=a&&a(),l.execute(f.getDefaultParent(),k)}catch(A){throw A;}finally{var b=new mxMorphing(f);b.addListener(mxEvent.DONE,mxUtils.bind(this,function(){f.getModel().endUpdate();null!=e&&e()}));b.startAnimation()}},t=mxEdgeHandler.prototype.connect;mxEdgeHandler.prototype.connect=
+b?l=new mxHierarchicalLayout(f,mxConstants.DIRECTION_WEST):"organic"==b?(l=new mxFastOrganicLayout(f,!1),l.forceConstant=80):"circle"==b&&(l=new mxCircleLayout(f));if(null!=l){var p=function(a,e){f.getModel().beginUpdate();try{null!=a&&a(),l.execute(f.getDefaultParent(),k)}catch(B){throw B;}finally{var b=new mxMorphing(f);b.addListener(mxEvent.DONE,mxUtils.bind(this,function(){f.getModel().endUpdate();null!=e&&e()}));b.startAnimation()}},t=mxEdgeHandler.prototype.connect;mxEdgeHandler.prototype.connect=
function(a,e,b,c,d){t.apply(this,arguments);p()};f.resizeCell=function(){mxGraph.prototype.resizeCell.apply(this,arguments);p()};f.connectionHandler.addListener(mxEvent.CONNECT,function(){p()})}var u=mxUtils.button(mxResources.get("close"),function(){a.confirm(mxResources.get("areYouSure"),function(){null!=d.parentNode&&(f.destroy(),d.parentNode.removeChild(d));a.hideDialog()})});u.className="geBtn";a.editor.cancelFirst&&c.appendChild(u);var q=mxUtils.button(mxResources.get("insert"),function(e){f.clearCellOverlays();
var b=f.getModel().getChildren(f.getDefaultParent());e=mxEvent.isAltDown(e)?a.editor.graph.getFreeInsertPoint():a.editor.graph.getCenterInsertPoint(f.getBoundingBoxFromGeometry(b,!0));b=a.editor.graph.importCells(b,e.x,e.y);e=a.editor.graph.view;var c=e.getBounds(b);c.x-=e.translate.x;c.y-=e.translate.y;a.editor.graph.scrollRectToVisible(c);a.editor.graph.setSelectionCells(b);null!=d.parentNode&&(f.destroy(),d.parentNode.removeChild(d));a.hideDialog()});c.appendChild(q);q.className="geBtn gePrimaryBtn";
a.editor.cancelFirst||c.appendChild(u)};this.container=c};
@@ -9587,17 +9588,17 @@ function(a,b,c,d,k,l){f.value=a;e()},function(){},function(a){return"image/"==a.
":");var k=document.createElement("input");k.setAttribute("type","text");k.style.width="60px";k.style.marginLeft="4px";k.style.marginRight="16px";k.value=null!=b?b.width:"";c.appendChild(k);mxUtils.write(c,mxResources.get("height")+":");var l=document.createElement("input");l.setAttribute("type","text");l.style.width="60px";l.style.marginLeft="4px";l.style.marginRight="16px";l.value=null!=b?b.height:"";c.appendChild(l);b=mxUtils.button(mxResources.get("reset"),function(){f.value="";k.value="";l.value=
"";m=!1});mxEvent.addGestureListeners(b,function(){m=!0});b.className="geBtn";b.width="100";c.appendChild(b);mxUtils.br(c);mxEvent.addListener(f,"change",e);ImageDialog.filePicked=function(a){a.action==google.picker.Action.PICKED&&null!=a.docs[0].thumbnails&&(a=a.docs[0].thumbnails[a.docs[0].thumbnails.length-1],null!=a&&(f.value=a.url,e()));f.focus()};b=document.createElement("div");b.style.marginTop="40px";b.style.textAlign="right";g=mxUtils.button(mxResources.get("cancel"),function(){m=!0;a.hideDialog()});
g.className="geBtn";a.editor.cancelFirst&&b.appendChild(g);applyBtn=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();e(null,function(a){d(""!=a&&null!=a?new mxImage(f.value,k.value,l.value):null,null==a)})});mxEvent.addGestureListeners(applyBtn,function(){n=!0});applyBtn.className="geBtn gePrimaryBtn";b.appendChild(applyBtn);a.editor.cancelFirst||b.appendChild(g);c.appendChild(b);this.container=c},ParseDialog=function(a,d,b){function c(e,b,c){var d=e.split("\n");if("plantUmlPng"==
-b||"plantUmlSvg"==b||"plantUmlTxt"==b){if(a.spinner.spin(document.body,mxResources.get("inserting"))){var k=function(e,b,d,k,g){f=mxEvent.isAltDown(c)?f:l.getCenterInsertPoint(new mxRectangle(0,0,k,g));var p=null;l.getModel().beginUpdate();try{p="txt"==b?a.insertAsPreText(d,f.x,f.y):l.insertVertex(null,null,null,f.x,f.y,k,g,"shape=image;noLabel=1;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a.convertDataUri(d)+";"),l.setAttributeForCell(p,"plantUmlData",JSON.stringify({data:e,format:b},null,
+b||"plantUmlSvg"==b||"plantUmlTxt"==b){if(a.spinner.spin(document.body,mxResources.get("inserting"))){var k=function(b,e,d,k,g){f=mxEvent.isAltDown(c)?f:l.getCenterInsertPoint(new mxRectangle(0,0,k,g));var p=null;l.getModel().beginUpdate();try{p="txt"==e?a.insertAsPreText(d,f.x,f.y):l.insertVertex(null,null,null,f.x,f.y,k,g,"shape=image;noLabel=1;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a.convertDataUri(d)+";"),l.setAttributeForCell(p,"plantUmlData",JSON.stringify({data:b,format:e},null,
2))}finally{l.getModel().endUpdate()}null!=p&&(l.setSelectionCell(p),l.scrollCellToVisible(p))},l=a.editor.graph,g="plantUmlTxt"==b?"txt":"plantUmlPng"==b?"png":"svg";"@startuml\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: Another authentication Response\n@enduml"==e&&"svg"==g?window.setTimeout(function(){a.spinner.stop();k(e,g,"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBjb250ZW50U2NyaXB0VHlwZT0iYXBwbGljYXRpb24vZWNtYXNjcmlwdCIgY29udGVudFN0eWxlVHlwZT0idGV4dC9jc3MiIGhlaWdodD0iMjEycHgiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiIHN0eWxlPSJ3aWR0aDoyOTVweDtoZWlnaHQ6MjEycHg7IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAyOTUgMjEyIiB3aWR0aD0iMjk1cHgiIHpvb21BbmRQYW49Im1hZ25pZnkiPjxkZWZzLz48Zz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsgc3Ryb2tlLWRhc2hhcnJheTogNS4wLDUuMDsiIHgxPSIzMSIgeDI9IjMxIiB5MT0iMzQuNDg4MyIgeTI9IjE3MS43MzA1Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7IHN0cm9rZS1kYXNoYXJyYXk6IDUuMCw1LjA7IiB4MT0iMjY0LjUiIHgyPSIyNjQuNSIgeTE9IjM0LjQ4ODMiIHkyPSIxNzEuNzMwNSIvPjxyZWN0IGZpbGw9IiNGRUZFQ0UiIGhlaWdodD0iMzAuNDg4MyIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjU7IiB3aWR0aD0iNDciIHg9IjgiIHk9IjMiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIzMyIgeD0iMTUiIHk9IjIzLjUzNTIiPkFsaWNlPC90ZXh0PjxyZWN0IGZpbGw9IiNGRUZFQ0UiIGhlaWdodD0iMzAuNDg4MyIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjU7IiB3aWR0aD0iNDciIHg9IjgiIHk9IjE3MC43MzA1Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTQiIGxlbmd0aEFkanVzdD0ic3BhY2luZ0FuZEdseXBocyIgdGV4dExlbmd0aD0iMzMiIHg9IjE1IiB5PSIxOTEuMjY1NiI+QWxpY2U8L3RleHQ+PHJlY3QgZmlsbD0iI0ZFRkVDRSIgaGVpZ2h0PSIzMC40ODgzIiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuNTsiIHdpZHRoPSI0MCIgeD0iMjQ0LjUiIHk9IjMiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIyNiIgeD0iMjUxLjUiIHk9IjIzLjUzNTIiPkJvYjwvdGV4dD48cmVjdCBmaWxsPSIjRkVGRUNFIiBoZWlnaHQ9IjMwLjQ4ODMiIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS41OyIgd2lkdGg9IjQwIiB4PSIyNDQuNSIgeT0iMTcwLjczMDUiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIyNiIgeD0iMjUxLjUiIHk9IjE5MS4yNjU2Ij5Cb2I8L3RleHQ+PHBvbHlnb24gZmlsbD0iI0E4MDAzNiIgcG9pbnRzPSIyNTIuNSw2MS43OTg4LDI2Mi41LDY1Ljc5ODgsMjUyLjUsNjkuNzk4OCwyNTYuNSw2NS43OTg4IiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiIHgxPSIzMS41IiB4Mj0iMjU4LjUiIHkxPSI2NS43OTg4IiB5Mj0iNjUuNzk4OCIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjEzIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmdBbmRHbHlwaHMiIHRleHRMZW5ndGg9IjE0NyIgeD0iMzguNSIgeT0iNjEuMDU2NiI+QXV0aGVudGljYXRpb24gUmVxdWVzdDwvdGV4dD48cG9seWdvbiBmaWxsPSIjQTgwMDM2IiBwb2ludHM9IjQyLjUsOTEuMTA5NCwzMi41LDk1LjEwOTQsNDIuNSw5OS4xMDk0LDM4LjUsOTUuMTA5NCIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7IHN0cm9rZS1kYXNoYXJyYXk6IDIuMCwyLjA7IiB4MT0iMzYuNSIgeDI9IjI2My41IiB5MT0iOTUuMTA5NCIgeTI9Ijk1LjEwOTQiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMyIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIxNTciIHg9IjQ4LjUiIHk9IjkwLjM2NzIiPkF1dGhlbnRpY2F0aW9uIFJlc3BvbnNlPC90ZXh0Pjxwb2x5Z29uIGZpbGw9IiNBODAwMzYiIHBvaW50cz0iMjUyLjUsMTIwLjQxOTksMjYyLjUsMTI0LjQxOTksMjUyLjUsMTI4LjQxOTksMjU2LjUsMTI0LjQxOTkiIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS4wOyIgeDE9IjMxLjUiIHgyPSIyNTguNSIgeTE9IjEyNC40MTk5IiB5Mj0iMTI0LjQxOTkiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMyIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIxOTkiIHg9IjM4LjUiIHk9IjExOS42Nzc3Ij5Bbm90aGVyIGF1dGhlbnRpY2F0aW9uIFJlcXVlc3Q8L3RleHQ+PHBvbHlnb24gZmlsbD0iI0E4MDAzNiIgcG9pbnRzPSI0Mi41LDE0OS43MzA1LDMyLjUsMTUzLjczMDUsNDIuNSwxNTcuNzMwNSwzOC41LDE1My43MzA1IiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsgc3Ryb2tlLWRhc2hhcnJheTogMi4wLDIuMDsiIHgxPSIzNi41IiB4Mj0iMjYzLjUiIHkxPSIxNTMuNzMwNSIgeTI9IjE1My43MzA1Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTMiIGxlbmd0aEFkanVzdD0ic3BhY2luZ0FuZEdseXBocyIgdGV4dExlbmd0aD0iMjA5IiB4PSI0OC41IiB5PSIxNDguOTg4MyI+QW5vdGhlciBhdXRoZW50aWNhdGlvbiBSZXNwb25zZTwvdGV4dD48IS0tTUQ1PVs3ZjNlNGQwYzkwMWVmZGJjNTdlYjQ0MjQ5YTNiODE5N10KQHN0YXJ0dW1sDQpza2lucGFyYW0gc2hhZG93aW5nIGZhbHNlDQpBbGljZSAtPiBCb2I6IEF1dGhlbnRpY2F0aW9uIFJlcXVlc3QNCkJvYiAtIC0+IEFsaWNlOiBBdXRoZW50aWNhdGlvbiBSZXNwb25zZQ0KDQpBbGljZSAtPiBCb2I6IEFub3RoZXIgYXV0aGVudGljYXRpb24gUmVxdWVzdA0KQWxpY2UgPC0gLSBCb2I6IEFub3RoZXIgYXV0aGVudGljYXRpb24gUmVzcG9uc2UNCkBlbmR1bWwNCgpQbGFudFVNTCB2ZXJzaW9uIDEuMjAyMC4wMihTdW4gTWFyIDAxIDA0OjIyOjA3IENTVCAyMDIwKQooTUlUIHNvdXJjZSBkaXN0cmlidXRpb24pCkphdmEgUnVudGltZTogT3BlbkpESyBSdW50aW1lIEVudmlyb25tZW50CkpWTTogT3BlbkpESyA2NC1CaXQgU2VydmVyIFZNCkphdmEgVmVyc2lvbjogMTIrMzMKT3BlcmF0aW5nIFN5c3RlbTogTWFjIE9TIFgKRGVmYXVsdCBFbmNvZGluZzogVVRGLTgKTGFuZ3VhZ2U6IGVuCkNvdW50cnk6IFVTCi0tPjwvZz48L3N2Zz4=",
-295,212)},200):a.generatePlantUmlImage(e,g,function(b,c,d){a.spinner.stop();k(e,g,b,c,d)},function(e){a.handleError(e)})}}else if("mermaid"==b)a.spinner.spin(document.body,mxResources.get("inserting"))&&(l=a.editor.graph,a.generateMermaidImage(e,g,function(b,d,k){f=mxEvent.isAltDown(c)?f:l.getCenterInsertPoint(new mxRectangle(0,0,d,k));a.spinner.stop();var g=null;l.getModel().beginUpdate();try{g=l.insertVertex(null,null,null,f.x,f.y,d,k,"shape=image;noLabel=1;verticalAlign=top;imageAspect=1;image="+
-b+";"),l.setAttributeForCell(g,"mermaidData",JSON.stringify({data:e,config:EditorUi.defaultMermaidConfig},null,2))}finally{l.getModel().endUpdate()}null!=g&&(l.setSelectionCell(g),l.scrollCellToVisible(g))},function(e){a.handleError(e)}));else if("table"==b){var p=null,t=[],u=0;for(b=0;b<d.length;b++){var q=mxUtils.trim(d[b]);if("create table"==q.substring(0,12).toLowerCase())q=mxUtils.trim(q.substring(12)),"("==q.charAt(q.length-1)&&(q=mxUtils.trim(q.substring(0,q.length-1))),p=new mxCell(q,new mxGeometry(u,
+295,212)},200):a.generatePlantUmlImage(e,g,function(b,c,d){a.spinner.stop();k(e,g,b,c,d)},function(b){a.handleError(b)})}}else if("mermaid"==b)a.spinner.spin(document.body,mxResources.get("inserting"))&&(l=a.editor.graph,a.generateMermaidImage(e,g,function(b,d,k){f=mxEvent.isAltDown(c)?f:l.getCenterInsertPoint(new mxRectangle(0,0,d,k));a.spinner.stop();var g=null;l.getModel().beginUpdate();try{g=l.insertVertex(null,null,null,f.x,f.y,d,k,"shape=image;noLabel=1;verticalAlign=top;imageAspect=1;image="+
+b+";"),l.setAttributeForCell(g,"mermaidData",JSON.stringify({data:e,config:EditorUi.defaultMermaidConfig},null,2))}finally{l.getModel().endUpdate()}null!=g&&(l.setSelectionCell(g),l.scrollCellToVisible(g))},function(b){a.handleError(b)}));else if("table"==b){var p=null,t=[],u=0;for(b=0;b<d.length;b++){var q=mxUtils.trim(d[b]);if("create table"==q.substring(0,12).toLowerCase())q=mxUtils.trim(q.substring(12)),"("==q.charAt(q.length-1)&&(q=mxUtils.trim(q.substring(0,q.length-1))),p=new mxCell(q,new mxGeometry(u,
0,160,40),"shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;"),p.vertex=!0,t.push(p),q=a.editor.graph.getPreferredSizeForCell(n),null!=q&&(p.geometry.width=q.width+10);else if(null!=p&&")"==q.charAt(0))u+=p.geometry.width+40,p=null;else if("("!=q&&null!=p&&(q=q.substring(0,","==q.charAt(q.length-1)?q.length-1:q.length),"primary key"!=q.substring(0,11).toLowerCase())){var m=q.toLowerCase().indexOf("primary key"),
-q=q.replace(/primary key/i,""),n=new mxCell("",new mxGeometry(0,0,160,30),"shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom="+(0<m?"1":"0")+";");n.vertex=!0;var F=new mxCell(0<m?"PK":"",new mxGeometry(0,0,30,30),"shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;"+(0<m?"fontStyle=1;":""));F.vertex=!0;n.insert(F);q=new mxCell(q,new mxGeometry(30,
+q=q.replace(/primary key/i,""),n=new mxCell("",new mxGeometry(0,0,160,30),"shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom="+(0<m?"1":"0")+";");n.vertex=!0;var E=new mxCell(0<m?"PK":"",new mxGeometry(0,0,30,30),"shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;"+(0<m?"fontStyle=1;":""));E.vertex=!0;n.insert(E);q=new mxCell(q,new mxGeometry(30,
0,130,30),"shape=partialRectangle;overflow=hidden;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;"+(0<m?"fontStyle=5;":""));q.vertex=!0;n.insert(q);q=a.editor.graph.getPreferredSizeForCell(q);null!=q&&p.geometry.width<q.width+30&&(p.geometry.width=Math.min(320,Math.max(p.geometry.width,q.width+30)));p.insert(n);p.geometry.height+=30}}0<t.length&&(l=a.editor.graph,f=mxEvent.isAltDown(c)?f:l.getCenterInsertPoint(l.getBoundingBoxFromGeometry(t,!0)),l.setSelectionCells(l.importCells(t,
f.x,f.y)),l.scrollCellToVisible(l.getSelectionCell()))}else if("list"==b){if(0<d.length){l=a.editor.graph;n=null;t=[];for(b=p=0;b<d.length;b++)";"!=d[b].charAt(0)&&(0==d[b].length?n=null:null==n?(n=new mxCell(d[b],new mxGeometry(p,0,160,30),"swimlane;fontStyle=1;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;"),n.vertex=!0,t.push(n),q=l.getPreferredSizeForCell(n),null!=q&&n.geometry.width<q.width+10&&(n.geometry.width=
q.width+10),p+=n.geometry.width+40):"--"==d[b]?(q=new mxCell("",new mxGeometry(0,0,40,8),"line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;"),q.vertex=!0,n.geometry.height+=q.geometry.height,n.insert(q)):0<d[b].length&&(u=new mxCell(d[b],new mxGeometry(0,0,60,26),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
u.vertex=!0,q=l.getPreferredSizeForCell(u),null!=q&&u.geometry.width<q.width&&(u.geometry.width=q.width),n.geometry.width=Math.max(n.geometry.width,u.geometry.width),n.geometry.height+=u.geometry.height,n.insert(u)));if(0<t.length){f=mxEvent.isAltDown(c)?f:l.getCenterInsertPoint(l.getBoundingBoxFromGeometry(t,!0));l.getModel().beginUpdate();try{t=l.importCells(t,f.x,f.y);q=[];for(b=0;b<t.length;b++)q.push(t[b]),q=q.concat(t[b].children);l.fireEvent(new mxEventObject("cellsInserted","cells",q))}finally{l.getModel().endUpdate()}l.setSelectionCells(t);
-l.scrollCellToVisible(l.getSelectionCell())}}}else{var n=function(a){var e=I[a];null==e&&(e=new mxCell(a,new mxGeometry(0,0,80,30),"whiteSpace=wrap;html=1;"),e.vertex=!0,I[a]=e,t.push(e));return e},I={},t=[];for(b=0;b<d.length;b++)if(";"!=d[b].charAt(0)){var J=d[b].split("->");2<=J.length&&(m=n(J[0]),F=n(J[J.length-1]),J=new mxCell(2<J.length?J[1]:"",new mxGeometry),J.edge=!0,m.insertEdge(J,!0),F.insertEdge(J,!1),t.push(J))}if(0<t.length){d=document.createElement("div");d.style.visibility="hidden";
+l.scrollCellToVisible(l.getSelectionCell())}}}else{var n=function(a){var b=I[a];null==b&&(b=new mxCell(a,new mxGeometry(0,0,80,30),"whiteSpace=wrap;html=1;"),b.vertex=!0,I[a]=b,t.push(b));return b},I={},t=[];for(b=0;b<d.length;b++)if(";"!=d[b].charAt(0)){var J=d[b].split("->");2<=J.length&&(m=n(J[0]),E=n(J[J.length-1]),J=new mxCell(2<J.length?J[1]:"",new mxGeometry),J.edge=!0,m.insertEdge(J,!0),E.insertEdge(J,!1),t.push(J))}if(0<t.length){d=document.createElement("div");d.style.visibility="hidden";
document.body.appendChild(d);l=new Graph(d);l.getModel().beginUpdate();try{t=l.importCells(t);for(b=0;b<t.length;b++)l.getModel().isVertex(t[b])&&(q=l.getPreferredSizeForCell(t[b]),t[b].geometry.width=Math.max(t[b].geometry.width,q.width),t[b].geometry.height=Math.max(t[b].geometry.height,q.height));p=new mxFastOrganicLayout(l);p.disableEdgeStyle=!1;p.forceConstant=120;p.execute(l.getDefaultParent());u=new mxParallelEdgeLayout(l);u.spacing=20;u.execute(l.getDefaultParent())}finally{l.getModel().endUpdate()}l.clearCellOverlays();
q=[];a.editor.graph.getModel().beginUpdate();try{t=l.getModel().getChildren(l.getDefaultParent()),f=mxEvent.isAltDown(c)?f:a.editor.graph.getCenterInsertPoint(l.getBoundingBoxFromGeometry(t,!0)),q=a.editor.graph.importCells(t,f.x,f.y),a.editor.graph.fireEvent(new mxEventObject("cellsInserted","cells",q))}finally{a.editor.graph.getModel().endUpdate()}a.editor.graph.setSelectionCells(q);a.editor.graph.scrollCellToVisible(a.editor.graph.getSelectionCell());l.destroy();d.parentNode.removeChild(d)}}}function g(){return"list"==
n.value?"Person\n-name: String\n-birthDate: Date\n--\n+getName(): String\n+setName(String): void\n+isBirthday(): boolean\n\nAddress\n-street: String\n-city: String\n-state: String":"mermaid"==n.value?"graph TD;\n A--\x3eB;\n A--\x3eC;\n B--\x3eD;\n C--\x3eD;":"table"==n.value?"CREATE TABLE Suppliers\n(\nsupplier_id int NOT NULL PRIMARY KEY,\nsupplier_name char(50) NOT NULL,\ncontact_name char(50),\n);\nCREATE TABLE Customers\n(\ncustomer_id int NOT NULL PRIMARY KEY,\ncustomer_name char(50) NOT NULL,\naddress char(50),\ncity char(50),\nstate char(25),\nzip_code char(10)\n);\n":
@@ -9606,162 +9607,163 @@ n.value?"Person\n-name: String\n-birthDate: Date\n--\n+getName(): String\n+setNa
null!=b&&"fromText"!=b||e.setAttribute("selected","selected");e=document.createElement("option");e.setAttribute("value","table");mxUtils.write(e,mxResources.get("formatSql"));"formatSql"==b&&(n.appendChild(e),e.setAttribute("selected","selected"));e=document.createElement("option");e.setAttribute("value","mermaid");mxUtils.write(e,mxResources.get("formatSql"));"mermaid"==b&&(n.appendChild(e),e.setAttribute("selected","selected"));e=document.createElement("option");e.setAttribute("value","diagram");
mxUtils.write(e,mxResources.get("diagram"));"plantUml"!=b&&n.appendChild(e);e=document.createElement("option");e.setAttribute("value","plantUmlSvg");mxUtils.write(e,mxResources.get("plantUml")+" ("+mxResources.get("formatSvg")+")");"plantUml"==b&&e.setAttribute("selected","selected");var k=document.createElement("option");k.setAttribute("value","plantUmlPng");mxUtils.write(k,mxResources.get("plantUml")+" ("+mxResources.get("formatPng")+")");var l=document.createElement("option");l.setAttribute("value",
"plantUmlTxt");mxUtils.write(l,mxResources.get("plantUml")+" ("+mxResources.get("text")+")");EditorUi.enablePlantUml&&Graph.fileSupport&&!a.isOffline()&&"plantUml"==b&&(n.appendChild(e),n.appendChild(k),n.appendChild(l));var p=g();m.value=p;d.appendChild(m);this.init=function(){m.focus()};Graph.fileSupport&&(m.addEventListener("dragover",function(a){a.stopPropagation();a.preventDefault()},!1),m.addEventListener("drop",function(a){a.stopPropagation();a.preventDefault();if(0<a.dataTransfer.files.length){a=
-a.dataTransfer.files[0];var e=new FileReader;e.onload=function(a){m.value=a.target.result};e.readAsText(a)}},!1));d.appendChild(n);mxEvent.addListener(n,"change",function(){var a=g();if(0==m.value.length||m.value==p)p=a,m.value=p});a.isOffline()||"mermaid"!=b&&"plantUml"!=b||(e=mxUtils.button(mxResources.get("help"),function(){a.openLink("mermaid"==b?"https://mermaid-js.github.io/mermaid/#/":"https://plantuml.com/")}),e.className="geBtn",d.appendChild(e));e=mxUtils.button(mxResources.get("close"),
-function(){m.value==p?a.hideDialog():a.confirm(mxResources.get("areYouSure"),function(){a.hideDialog()})});e.className="geBtn";a.editor.cancelFirst&&d.appendChild(e);k=mxUtils.button(mxResources.get("insert"),function(e){a.hideDialog();c(m.value,n.value,e)});d.appendChild(k);k.className="geBtn gePrimaryBtn";a.editor.cancelFirst||d.appendChild(e);this.container=d},NewDialog=function(a,d,b,c,g,f,m,n,e,k,l,p,t,u,q,x,y){function v(){var a=!0;if(null!=ha)for(;I<ha.length&&(a||0!=mxUtils.mod(I,30));){var e=
-ha[I++],e=B(e.url,e.libs,e.title,e.tooltip?e.tooltip:e.title,e.select,e.imgUrl,e.info,e.onClick,e.preview,e.noImg,e.clibs);a&&e.click();a=!1}}function A(){if(V)b||a.hideDialog(),u(V,ea,F.value);else if(c)b||a.hideDialog(),c(ca,F.value,fa,X);else{var e=F.value;null!=e&&0<e.length&&a.pickFolder(a.mode,function(b){a.createFile(e,ca,null!=X&&0<X.length?X:null,null,function(){a.hideDialog()},null,b,null,null!=aa&&0<aa.length?aa:null)},a.mode!=App.MODE_GOOGLE||null==a.stateArg||null==a.stateArg.folderId)}}
-function z(a,b,c,d,k,l,f){null!=W&&(W.style.backgroundColor="transparent",W.style.border="1px solid transparent");E.removeAttribute("disabled");ca=b;X=c;aa=l;W=a;V=d;fa=f;ea=k;W.style.backgroundColor=n;W.style.border=e}function B(e,b,c,d,k,l,f,g,p,t,q){var u=document.createElement("div");u.className="geTemplate";u.style.height=R+"px";u.style.width=P+"px";"dark"==uiTheme&&(u.style.filter="invert(100%)");null!=c?u.setAttribute("title",mxResources.get(c,null,c)):null!=d&&0<d.length&&u.setAttribute("title",
-d);if(null!=l){u.style.display="inline-flex";u.style.justifyContent="center";u.style.alignItems="center";c=document.createElement("img");c.setAttribute("src",l);c.setAttribute("alt",d);c.style.maxWidth=R+"px";c.style.maxHeight=P+"px";var m=l.replace(".drawio.xml","").replace(".drawio","").replace(".xml","");u.appendChild(c);c.onerror=function(){this.src!=m?this.src=m:(this.src=Editor.errorImage,this.onerror=null)};mxEvent.addListener(u,"click",function(a){z(u,null,null,e,f,q)});mxEvent.addListener(u,
-"dblclick",function(a){A()})}else if(!t&&null!=e&&0<e.length){d=p||TEMPLATE_PATH+"/"+e.substring(0,e.length-4)+".png";u.style.backgroundImage="url("+d+")";u.style.backgroundPosition="center center";u.style.backgroundRepeat="no-repeat";null!=c&&(u.innerHTML='<table width="100%" height="100%" style="line-height:1.3em;'+("dark"==uiTheme?"":"background:rgba(255,255,255,0.85);")+'border:inherit;"><tr><td align="center" valign="middle"><span style="display:inline-block;padding:4px 8px 4px 8px;user-select:none;border-radius:3px;background:rgba(255,255,255,0.85);overflow:hidden;text-overflow:ellipsis;max-width:'+
-(R-34)+'px;">'+mxUtils.htmlEntities(mxResources.get(c,null,c))+"</span></td></tr></table>");var K=!1;mxEvent.addListener(u,"click",function(c){E.setAttribute("disabled","disabled");u.style.backgroundColor="transparent";u.style.border="1px solid transparent";var d=e,d=/^https?:\/\//.test(d)&&!a.editor.isCorsEnabledForUrl(d)?PROXY_URL+"?url="+encodeURIComponent(d):TEMPLATE_PATH+"/"+d;J.spin(O);mxUtils.get(d,mxUtils.bind(this,function(a){J.stop();200<=a.getStatus()&&299>=a.getStatus()&&(z(u,a.getText(),
-b,null,null,q,d),K&&A())}))});mxEvent.addListener(u,"dblclick",function(a){K=!0})}else u.innerHTML='<table width="100%" height="100%" style="line-height:1.3em;"><tr><td align="center" valign="middle"><span style="display:inline-block;padding:4px 8px 4px 8px;user-select:none;border-radius:3px;background:#ffffff;overflow:hidden;text-overflow:ellipsis;max-width:'+(R-34)+'px;">'+mxUtils.htmlEntities(mxResources.get(c,null,c))+"</span></td></tr></table>",k&&z(u),null!=g?mxEvent.addListener(u,"click",g):
-(mxEvent.addListener(u,"click",function(a){z(u,null,null,e,f)}),mxEvent.addListener(u,"dblclick",function(a){A()}));O.appendChild(u);return u}function C(){ja&&(ja=!1,mxEvent.addListener(O,"scroll",function(a){O.scrollTop+O.clientHeight>=O.scrollHeight&&(v(),mxEvent.consume(a))}));var a=null;if(0<ga){var e=document.createElement("div");e.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;";mxUtils.write(e,mxResources.get("custom"));Z.appendChild(e);for(var b in S){var c=
-document.createElement("div"),e=b,d=S[b];18<e.length&&(e=e.substring(0,18)+"&hellip;");c.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;user-select:none;";c.setAttribute("title",e+" ("+d.length+")");mxUtils.write(c,c.getAttribute("title"));null!=k&&(c.style.padding=k);Z.appendChild(c);(function(e,b){mxEvent.addListener(c,"click",function(){a!=b&&(a.style.backgroundColor="",a=b,a.style.backgroundColor=m,O.scrollTop=
-0,O.innerHTML="",I=0,ha=S[e],M=null,v())})})(b,c)}e=document.createElement("div");e.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;";mxUtils.write(e,"draw.io");Z.appendChild(e)}for(b in da)c=document.createElement("div"),e=mxResources.get(b),d=da[b],null==e&&(e=b.substring(0,1).toUpperCase()+b.substring(1)),18<e.length&&(e=e.substring(0,18)+"&hellip;"),c.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;user-select:none;",
-c.setAttribute("title",e+" ("+d.length+")"),mxUtils.write(c,c.getAttribute("title")),null!=k&&(c.style.padding=k),Z.appendChild(c),null==a&&0<d.length&&(a=c,a.style.backgroundColor=m,ha=d),function(e,b){mxEvent.addListener(c,"click",function(){a!=b&&(a.style.backgroundColor="",a=b,a.style.backgroundColor=m,O.scrollTop=0,O.innerHTML="",I=0,ha=da[e],M=null,v())})}(b,c);v()}b=null!=b?b:!0;g=null!=g?g:!1;m=null!=m?m:"#ebf2f9";n=null!=n?n:"dark"==uiTheme?"#a2a2a2":"#e6eff8";e=null!=e?e:"dark"==uiTheme?
-"1px dashed #00a8ff":"1px solid #ccd9ea";l=null!=l?l:EditorUi.templateFile;var G=document.createElement("div");G.style.height="100%";var D=document.createElement("div");D.style.whiteSpace="nowrap";D.style.height="46px";b&&G.appendChild(D);var H=document.createElement("img");H.setAttribute("border","0");H.setAttribute("align","absmiddle");H.style.width="40px";H.style.height="40px";H.style.marginRight="10px";H.style.paddingBottom="4px";H.src=a.mode==App.MODE_GOOGLE?IMAGE_PATH+"/google-drive-logo.svg":
-a.mode==App.MODE_DROPBOX?IMAGE_PATH+"/dropbox-logo.svg":a.mode==App.MODE_ONEDRIVE?IMAGE_PATH+"/onedrive-logo.svg":a.mode==App.MODE_GITHUB?IMAGE_PATH+"/github-logo.svg":a.mode==App.MODE_GITLAB?IMAGE_PATH+"/gitlab-logo.svg":a.mode==App.MODE_TRELLO?IMAGE_PATH+"/trello-logo.svg":a.mode==App.MODE_BROWSER?IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png";!d&&b&&D.appendChild(H);b&&mxUtils.write(D,(null==a.mode||a.mode==App.MODE_GOOGLE||a.mode==App.MODE_BROWSER?mxResources.get("diagramName"):
-mxResources.get("filename"))+":");H=".drawio";a.mode==App.MODE_GOOGLE&&null!=a.drive?H=a.drive.extension:a.mode==App.MODE_DROPBOX&&null!=a.dropbox?H=a.dropbox.extension:a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive?H=a.oneDrive.extension:a.mode==App.MODE_GITHUB&&null!=a.gitHub?H=a.gitHub.extension:a.mode==App.MODE_GITLAB&&null!=a.gitLab?H=a.gitLab.extension:a.mode==App.MODE_TRELLO&&null!=a.trello&&(H=a.trello.extension);var F=document.createElement("input");F.setAttribute("value",a.defaultFilename+
-H);F.style.marginLeft="10px";F.style.width=d?"144px":"244px";this.init=function(){b&&(F.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?F.select():document.execCommand("selectAll",!1,null))};b&&(D.appendChild(F),null!=a.editor.diagramFileTypes&&(H=FilenameDialog.createFileTypes(a,F,a.editor.diagramFileTypes),H.style.marginLeft="6px",H.style.width=d?"80px":"180px",D.appendChild(H)),null!=a.editor.fileExtensions&&(H=FilenameDialog.createTypeHint(a,F,a.editor.fileExtensions),H.style.marginTop=
-"12px",D.appendChild(H)));var D=!1,I=0,J=new Spinner({lines:12,length:10,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9}),E=mxUtils.button(x||mxResources.get("create"),function(){E.setAttribute("disabled","disabled");A();E.removeAttribute("disabled")});E.className="geBtn gePrimaryBtn";if(p||t){var K=[],M=null,N=null,Y=null,L=function(a){E.setAttribute("disabled","disabled");for(var e=0;e<K.length;e++)K[e].className=e==a?"geBtn gePrimaryBtn":"geBtn"},
-D=!0;x=document.createElement("div");x.style.whiteSpace="nowrap";x.style.height="30px";G.appendChild(x);H=mxUtils.button(mxResources.get("Templates",null,"Templates"),function(){Z.style.display="";O.style.left="160px";L(0);O.scrollTop=0;O.innerHTML="";I=0;M!=ha&&(ha=M,da=N,ga=Y,Z.innerHTML="",C(),M=null)});K.push(H);x.appendChild(H);var T=function(a){Z.style.display="none";O.style.left="30px";L(a?-1:1);null==M&&(M=ha);O.scrollTop=0;O.innerHTML="";J.spin(O);var e=function(a,e,b){I=0;J.stop();ha=a;
-b=b||{};var c=0,d;for(d in b)c+=b[d].length;if(e)O.innerHTML=e;else if(0==a.length&&0==c)O.innerHTML=mxUtils.htmlEntities(mxResources.get("noDiagrams",null,"No Diagrams Found"));else if(O.innerHTML="",0<c){Z.style.display="";O.style.left="160px";Z.innerHTML="";ga=0;da={"draw.io":a};for(d in b)da[d]=b[d];C()}else v()};a?t(U.value,e):p(e)};p&&(H=mxUtils.button(mxResources.get("Recent",null,"Recent"),function(){T()}),x.appendChild(H),K.push(H));if(t){H=document.createElement("span");H.style.marginLeft=
-"10px";H.innerHTML=mxUtils.htmlEntities(mxResources.get("search")+":");x.appendChild(H);var U=document.createElement("input");U.style.marginRight="10px";U.style.marginLeft="10px";U.style.width="220px";mxEvent.addListener(U,"keypress",function(a){13==a.keyCode&&T(!0)});x.appendChild(U);H=mxUtils.button(mxResources.get("search"),function(){T(!0)});H.className="geBtn";x.appendChild(H)}L(0)}var X=null,aa=null,ca=null,W=null,V=null,fa=null,ea=null,O=document.createElement("div");O.style.border="1px solid #d3d3d3";
-O.style.position="absolute";O.style.left="160px";O.style.right="34px";x=(b?72:40)+(D?30:0);O.style.top=x+"px";O.style.bottom="68px";O.style.margin="6px 0 0 -1px";O.style.padding="6px";O.style.overflow="auto";var Z=document.createElement("div");Z.style.cssText="position:absolute;left:30px;width:128px;top:"+x+"px;bottom:68px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";var R=140,P=140,da={},S={},ga=0,ja=!0;da.basic=[{title:"blankDiagram",select:!0}];var ha=da.basic;if(!d){var Q=function(){mxUtils.get(ba,
-function(a){if(!ka){ka=!0;a=a.getXml().documentElement.firstChild;for(var e={};null!=a;){if("undefined"!==typeof a.getAttribute)if("clibs"==a.nodeName){for(var b=a.getAttribute("name"),c=a.getElementsByTagName("add"),d=[],k=0;k<c.length;k++)d.push(encodeURIComponent(mxUtils.getTextContent(c[k])));null!=b&&0<d.length&&(e[b]=d.join(";"))}else b=a.getAttribute("url"),null!=b&&(c=a.getAttribute("section"),null==c&&(c=b.indexOf("/"),c=b.substring(0,c)),b=da[c],null==b&&(b=[],da[c]=b),c=a.getAttribute("clibs"),
-null!=e[c]&&(c=e[c]),b.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url"),preview:a.getAttribute("preview"),clibs:c}));a=a.nextSibling}J.stop();C()}})};G.appendChild(Z);G.appendChild(O);var ka=!1,ba=l;/^https?:\/\//.test(ba)&&!a.editor.isCorsEnabledForUrl(ba)&&(ba=PROXY_URL+"?url="+encodeURIComponent(ba));J.spin(O);null!=y?y(function(a,e){S=a;Y=ga=e;Q()},Q):Q();N=da}mxEvent.addListener(F,"keypress",function(e){a.dialog.container.firstChild==
-G&&13==e.keyCode&&A()});l=document.createElement("div");l.style.marginTop=d?"4px":"16px";l.style.textAlign="right";l.style.position="absolute";l.style.left="40px";l.style.bottom="24px";l.style.right="40px";d||a.isOffline()||!b||null!=c||g||(y=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://support.draw.io/display/DO/Creating+and+Opening+Files")}),y.className="geBtn",l.appendChild(y));y=mxUtils.button(mxResources.get("cancel"),function(){null!=f&&f();a.hideDialog(!0)});y.className=
-"geBtn";!a.editor.cancelFirst||g&&null==f||l.appendChild(y);d||"1"==urlParams.embed||g||(d=mxUtils.button(mxResources.get("fromTemplateUrl"),function(){var e=new FilenameDialog(a,"",mxResources.get("create"),function(e){null!=e&&0<e.length&&(e=a.getUrl(window.location.pathname+"?mode="+a.mode+"&title="+encodeURIComponent(F.value)+"&create="+encodeURIComponent(e)),null==a.getCurrentFile()?window.location.href=e:window.openWindow(e))},mxResources.get("url"));a.showDialog(e.container,300,80,!0,!0);e.init()}),
-d.className="geBtn",l.appendChild(d));Graph.fileSupport&&q&&(q=mxUtils.button(mxResources.get("import"),function(){if(null==a.newDlgFileInputElt){var e=document.createElement("input");e.setAttribute("multiple","multiple");e.setAttribute("type","file");mxEvent.addListener(e,"change",function(b){a.openFiles(e.files,!0);e.value=""});e.style.display="none";document.body.appendChild(e);a.newDlgFileInputElt=e}a.newDlgFileInputElt.click()}),q.className="geBtn",l.appendChild(q));l.appendChild(E);a.editor.cancelFirst||
-null!=c||g&&null==f||l.appendChild(y);G.appendChild(l);this.container=G},CreateDialog=function(a,d,b,c,g,f,m,n,e,k,l,p,t,u,q,x,y){function v(e,b,c,k){function l(){mxEvent.addListener(f,"click",function(){var e=c;if(m){var b=B.value,k=b.lastIndexOf(".");if(0>d.lastIndexOf(".")&&0>k){var e=null!=e?e:H.value,l="";e==App.MODE_GOOGLE?l=a.drive.extension:e==App.MODE_GITHUB?l=a.gitHub.extension:e==App.MODE_GITLAB?l=a.gitLab.extension:e==App.MODE_TRELLO?l=a.trello.extension:e==App.MODE_DROPBOX?l=a.dropbox.extension:
-e==App.MODE_ONEDRIVE?l=a.oneDrive.extension:e==App.MODE_DEVICE&&(l=".drawio");0<=k&&(b=b.substring(0,k));B.value=b+l}}A(c)})}var f=document.createElement("a");f.style.overflow="hidden";var g=document.createElement("img");g.src=e;g.setAttribute("border","0");g.setAttribute("align","absmiddle");g.style.width="60px";g.style.height="60px";g.style.paddingBottom="6px";f.style.display="inline-block";f.className="geBaseButton";f.style.position="relative";f.style.margin="4px";f.style.padding="8px 8px 10px 8px";
-f.style.whiteSpace="nowrap";f.appendChild(g);f.style.color="gray";f.style.fontSize="11px";var t=document.createElement("div");f.appendChild(t);mxUtils.write(t,b);if(null!=k&&null==a[k]){g.style.visibility="hidden";mxUtils.setOpacity(t,10);var u=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});u.spin(f);var q=window.setTimeout(function(){null==a[k]&&(u.stop(),f.style.display="none")},3E4);a.addListener("clientLoaded",
-mxUtils.bind(this,function(){null!=a[k]&&(window.clearTimeout(q),mxUtils.setOpacity(t,100),g.style.visibility="",u.stop(),l())}))}else l();G.appendChild(f);++D==p&&(mxUtils.br(G),D=0)}function A(e){var c=B.value;if(null==e||null!=c&&0<c.length)y&&a.hideDialog(),b(c,e,B)}m=null!=m?m:!0;n=null!=n?n:!0;p=null!=p?p:4;y=null!=y?y:!0;f=document.createElement("div");f.style.whiteSpace="nowrap";null==c&&a.addLanguageMenu(f);var z=document.createElement("h2");mxUtils.write(z,g||mxResources.get("create"));
-z.style.marginTop="0px";z.style.marginBottom="24px";f.appendChild(z);mxUtils.write(f,mxResources.get("filename")+":");var B=document.createElement("input");B.setAttribute("value",d);B.style.width="200px";B.style.marginLeft="10px";B.style.marginBottom="20px";B.style.maxWidth="70%";this.init=function(){B.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?B.select():document.execCommand("selectAll",!1,null)};f.appendChild(B);null!=x&&(null!=a.editor.diagramFileTypes&&(g=FilenameDialog.createFileTypes(a,
-B,a.editor.diagramFileTypes),g.style.marginLeft="6px",g.style.width="80px",f.appendChild(g)),f.appendChild(FilenameDialog.createTypeHint(a,B,x)));x=null;if(null!=t&&null!=u&&"image/"==u.substring(0,6)&&("image/svg"!=u.substring(0,9)||mxClient.IS_SVG)){B.style.width="160px";g=document.createElement("img");var C=q?t:btoa(unescape(encodeURIComponent(t)));g.setAttribute("src","data:"+u+";base64,"+C);g.style.position="absolute";g.style.top="70px";g.style.right="100px";g.style.maxWidth="120px";g.style.maxHeight=
-"80px";mxUtils.setPrefixedStyle(g.style,"transform","translate(50%,-50%)");f.appendChild(g);mxClient.IS_FF||null==navigator.clipboard||"image/png"!=u||(x=mxUtils.button(mxResources.get("copy"),function(){if("image/png"==u)var e=this.base64ToBlob(C,"image/png"),e=new ClipboardItem({"image/png":e});else e=new ClipboardItem({"text/html":new Blob(['<img src="data:'+u+";base64,"+C+'">'],{type:"text/html"})});navigator.clipboard.write([e]);a.alert(mxResources.get("copiedToClipboard"))}),x.className="geBtn");
-e&&Editor.popupsAllowed&&(g.style.cursor="pointer",mxEvent.addGestureListeners(g,null,null,function(a){mxEvent.isPopupTrigger(a)||A("_blank")}))}mxUtils.br(f);var G=document.createElement("div");G.style.textAlign="center";var D=0;G.style.marginTop="6px";f.appendChild(G);var H=document.createElement("select");H.style.marginLeft="10px";a.isOfflineApp()||a.isOffline()||("function"===typeof window.DriveClient&&(t=document.createElement("option"),t.setAttribute("value",App.MODE_GOOGLE),mxUtils.write(t,
-mxResources.get("googleDrive")),H.appendChild(t),v(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive")),"function"===typeof window.OneDriveClient&&(t=document.createElement("option"),t.setAttribute("value",App.MODE_ONEDRIVE),mxUtils.write(t,mxResources.get("oneDrive")),H.appendChild(t),a.mode==App.MODE_ONEDRIVE&&t.setAttribute("selected","selected"),v(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive")),"function"===typeof window.DropboxClient&&
-(t=document.createElement("option"),t.setAttribute("value",App.MODE_DROPBOX),mxUtils.write(t,mxResources.get("dropbox")),H.appendChild(t),a.mode==App.MODE_DROPBOX&&t.setAttribute("selected","selected"),v(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),App.MODE_DROPBOX,"dropbox")),null!=a.gitHub&&(t=document.createElement("option"),t.setAttribute("value",App.MODE_GITHUB),mxUtils.write(t,mxResources.get("github")),H.appendChild(t),v(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),
-App.MODE_GITHUB,"gitHub")),null!=a.gitLab&&(t=document.createElement("option"),t.setAttribute("value",App.MODE_GITLAB),mxUtils.write(t,mxResources.get("gitlab")),H.appendChild(t),v(IMAGE_PATH+"/gitlab-logo.svg",mxResources.get("gitlab"),App.MODE_GITLAB,"gitLab")),"function"===typeof window.TrelloClient&&(t=document.createElement("option"),t.setAttribute("value",App.MODE_TRELLO),mxUtils.write(t,mxResources.get("trello")),H.appendChild(t),v(IMAGE_PATH+"/trello-logo.svg",mxResources.get("trello"),App.MODE_TRELLO,
-"trello")));Editor.useLocalStorage&&"device"!=urlParams.storage&&null==a.getCurrentFile()||(t=document.createElement("option"),t.setAttribute("value",App.MODE_DEVICE),mxUtils.write(t,mxResources.get("device")),H.appendChild(t),a.mode!=App.MODE_DEVICE&&n||t.setAttribute("selected","selected"),l&&v(IMAGE_PATH+"/osa_drive-harddisk.png",mxResources.get("device"),App.MODE_DEVICE));n&&isLocalStorage&&"0"!=urlParams.browser&&(n=document.createElement("option"),n.setAttribute("value",App.MODE_BROWSER),mxUtils.write(n,
-mxResources.get("browser")),H.appendChild(n),a.mode==App.MODE_BROWSER&&n.setAttribute("selected","selected"),v(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER));n=document.createElement("div");n.style.marginTop="26px";n.style.textAlign="center";null!=k&&(l=mxUtils.button(mxResources.get("help"),function(){a.openLink(k)}),l.className="geBtn",n.appendChild(l));l=mxUtils.button(mxResources.get("cancel"),function(){null!=c?c():(a.fileLoaded(null),a.hideDialog(),window.close(),
-window.location.href=a.getUrl())});l.className="geBtn";a.editor.cancelFirst&&n.appendChild(l);null==c&&(t=mxUtils.button(mxResources.get("decideLater"),function(){A(null)}),t.className="geBtn",n.appendChild(t));e&&Editor.popupsAllowed&&(e=mxUtils.button(mxResources.get("openInNewWindow"),function(){A("_blank")}),e.className="geBtn",n.appendChild(e));null!=x&&(n.appendChild(x),mxUtils.br(n));CreateDialog.showDownloadButton&&(e=mxUtils.button(mxResources.get("download"),function(){A("download")}),e.className=
-"geBtn",n.appendChild(e),null!=x&&(e.style.marginTop="6px",n.style.marginTop="6px"));a.editor.cancelFirst||n.appendChild(l);mxEvent.addListener(B,"keypress",function(e){13==e.keyCode?A(App.MODE_DEVICE):27==e.keyCode&&(a.fileLoaded(null),a.hideDialog(),window.close())});f.appendChild(n);this.container=f};CreateDialog.showDownloadButton=!0;
+a.dataTransfer.files[0];var b=new FileReader;b.onload=function(a){m.value=a.target.result};b.readAsText(a)}},!1));d.appendChild(n);mxEvent.addListener(n,"change",function(){var a=g();if(0==m.value.length||m.value==p)p=a,m.value=p});a.isOffline()||"mermaid"!=b&&"plantUml"!=b||(e=mxUtils.button(mxResources.get("help"),function(){a.openLink("mermaid"==b?"https://mermaid-js.github.io/mermaid/#/":"https://plantuml.com/")}),e.className="geBtn",d.appendChild(e));e=mxUtils.button(mxResources.get("close"),
+function(){m.value==p?a.hideDialog():a.confirm(mxResources.get("areYouSure"),function(){a.hideDialog()})});e.className="geBtn";a.editor.cancelFirst&&d.appendChild(e);k=mxUtils.button(mxResources.get("insert"),function(b){a.hideDialog();c(m.value,n.value,b)});d.appendChild(k);k.className="geBtn gePrimaryBtn";a.editor.cancelFirst||d.appendChild(e);this.container=d},NewDialog=function(a,d,b,c,g,f,m,n,e,k,l,p,t,u,q,v,z){function x(){var a=!0;if(null!=ha)for(;I<ha.length&&(a||0!=mxUtils.mod(I,30));){var b=
+ha[I++],b=C(b.url,b.libs,b.title,b.tooltip?b.tooltip:b.title,b.select,b.imgUrl,b.info,b.onClick,b.preview,b.noImg,b.clibs);a&&b.click();a=!1}}function B(){if(V)b||a.hideDialog(),u(V,ea,E.value);else if(c)b||a.hideDialog(),c(ca,E.value,fa,X);else{var e=E.value;null!=e&&0<e.length&&a.pickFolder(a.mode,function(b){a.createFile(e,ca,null!=X&&0<X.length?X:null,null,function(){a.hideDialog()},null,b,null,null!=aa&&0<aa.length?aa:null)},a.mode!=App.MODE_GOOGLE||null==a.stateArg||null==a.stateArg.folderId)}}
+function y(a,b,c,d,k,l,f){null!=W&&(W.style.backgroundColor="transparent",W.style.border="1px solid transparent");H.removeAttribute("disabled");ca=b;X=c;aa=l;W=a;V=d;fa=f;ea=k;W.style.backgroundColor=n;W.style.border=e}function C(b,e,c,d,k,l,f,g,p,t,q){var u=document.createElement("div");u.className="geTemplate";u.style.height=R+"px";u.style.width=P+"px";"dark"==uiTheme&&(u.style.filter="invert(100%)");null!=c?u.setAttribute("title",mxResources.get(c,null,c)):null!=d&&0<d.length&&u.setAttribute("title",
+d);if(null!=l){u.style.display="inline-flex";u.style.justifyContent="center";u.style.alignItems="center";c=document.createElement("img");c.setAttribute("src",l);c.setAttribute("alt",d);c.style.maxWidth=R+"px";c.style.maxHeight=P+"px";var m=l.replace(".drawio.xml","").replace(".drawio","").replace(".xml","");u.appendChild(c);c.onerror=function(){this.src!=m?this.src=m:(this.src=Editor.errorImage,this.onerror=null)};mxEvent.addListener(u,"click",function(a){y(u,null,null,b,f,q)});mxEvent.addListener(u,
+"dblclick",function(a){B()})}else if(!t&&null!=b&&0<b.length){d=p||TEMPLATE_PATH+"/"+b.substring(0,b.length-4)+".png";u.style.backgroundImage="url("+d+")";u.style.backgroundPosition="center center";u.style.backgroundRepeat="no-repeat";null!=c&&(u.innerHTML='<table width="100%" height="100%" style="line-height:1.3em;'+("dark"==uiTheme?"":"background:rgba(255,255,255,0.85);")+'border:inherit;"><tr><td align="center" valign="middle"><span style="display:inline-block;padding:4px 8px 4px 8px;user-select:none;border-radius:3px;background:rgba(255,255,255,0.85);overflow:hidden;text-overflow:ellipsis;max-width:'+
+(R-34)+'px;">'+mxUtils.htmlEntities(mxResources.get(c,null,c))+"</span></td></tr></table>");var K=!1;mxEvent.addListener(u,"click",function(c){H.setAttribute("disabled","disabled");u.style.backgroundColor="transparent";u.style.border="1px solid transparent";var d=b,d=/^https?:\/\//.test(d)&&!a.editor.isCorsEnabledForUrl(d)?PROXY_URL+"?url="+encodeURIComponent(d):TEMPLATE_PATH+"/"+d;J.spin(O);mxUtils.get(d,mxUtils.bind(this,function(a){J.stop();200<=a.getStatus()&&299>=a.getStatus()&&(y(u,a.getText(),
+e,null,null,q,d),K&&B())}))});mxEvent.addListener(u,"dblclick",function(a){K=!0})}else u.innerHTML='<table width="100%" height="100%" style="line-height:1.3em;"><tr><td align="center" valign="middle"><span style="display:inline-block;padding:4px 8px 4px 8px;user-select:none;border-radius:3px;background:#ffffff;overflow:hidden;text-overflow:ellipsis;max-width:'+(R-34)+'px;">'+mxUtils.htmlEntities(mxResources.get(c,null,c))+"</span></td></tr></table>",k&&y(u),null!=g?mxEvent.addListener(u,"click",g):
+(mxEvent.addListener(u,"click",function(a){y(u,null,null,b,f)}),mxEvent.addListener(u,"dblclick",function(a){B()}));O.appendChild(u);return u}function A(){ja&&(ja=!1,mxEvent.addListener(O,"scroll",function(a){O.scrollTop+O.clientHeight>=O.scrollHeight&&(x(),mxEvent.consume(a))}));var a=null;if(0<ga){var b=document.createElement("div");b.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;";mxUtils.write(b,mxResources.get("custom"));Z.appendChild(b);for(var e in S){var c=
+document.createElement("div"),b=e,d=S[e];18<b.length&&(b=b.substring(0,18)+"&hellip;");c.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;user-select:none;";c.setAttribute("title",b+" ("+d.length+")");mxUtils.write(c,c.getAttribute("title"));null!=k&&(c.style.padding=k);Z.appendChild(c);(function(b,e){mxEvent.addListener(c,"click",function(){a!=e&&(a.style.backgroundColor="",a=e,a.style.backgroundColor=m,O.scrollTop=
+0,O.innerHTML="",I=0,ha=S[b],M=null,x())})})(e,c)}b=document.createElement("div");b.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;";mxUtils.write(b,"draw.io");Z.appendChild(b)}for(e in da)c=document.createElement("div"),b=mxResources.get(e),d=da[e],null==b&&(b=e.substring(0,1).toUpperCase()+e.substring(1)),18<b.length&&(b=b.substring(0,18)+"&hellip;"),c.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;user-select:none;",
+c.setAttribute("title",b+" ("+d.length+")"),mxUtils.write(c,c.getAttribute("title")),null!=k&&(c.style.padding=k),Z.appendChild(c),null==a&&0<d.length&&(a=c,a.style.backgroundColor=m,ha=d),function(b,e){mxEvent.addListener(c,"click",function(){a!=e&&(a.style.backgroundColor="",a=e,a.style.backgroundColor=m,O.scrollTop=0,O.innerHTML="",I=0,ha=da[b],M=null,x())})}(e,c);x()}b=null!=b?b:!0;g=null!=g?g:!1;m=null!=m?m:"#ebf2f9";n=null!=n?n:"dark"==uiTheme?"#a2a2a2":"#e6eff8";e=null!=e?e:"dark"==uiTheme?
+"1px dashed #00a8ff":"1px solid #ccd9ea";l=null!=l?l:EditorUi.templateFile;var F=document.createElement("div");F.style.height="100%";var D=document.createElement("div");D.style.whiteSpace="nowrap";D.style.height="46px";b&&F.appendChild(D);var G=document.createElement("img");G.setAttribute("border","0");G.setAttribute("align","absmiddle");G.style.width="40px";G.style.height="40px";G.style.marginRight="10px";G.style.paddingBottom="4px";G.src=a.mode==App.MODE_GOOGLE?IMAGE_PATH+"/google-drive-logo.svg":
+a.mode==App.MODE_DROPBOX?IMAGE_PATH+"/dropbox-logo.svg":a.mode==App.MODE_ONEDRIVE?IMAGE_PATH+"/onedrive-logo.svg":a.mode==App.MODE_GITHUB?IMAGE_PATH+"/github-logo.svg":a.mode==App.MODE_GITLAB?IMAGE_PATH+"/gitlab-logo.svg":a.mode==App.MODE_TRELLO?IMAGE_PATH+"/trello-logo.svg":a.mode==App.MODE_BROWSER?IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png";!d&&b&&D.appendChild(G);b&&mxUtils.write(D,(null==a.mode||a.mode==App.MODE_GOOGLE||a.mode==App.MODE_BROWSER?mxResources.get("diagramName"):
+mxResources.get("filename"))+":");G=".drawio";a.mode==App.MODE_GOOGLE&&null!=a.drive?G=a.drive.extension:a.mode==App.MODE_DROPBOX&&null!=a.dropbox?G=a.dropbox.extension:a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive?G=a.oneDrive.extension:a.mode==App.MODE_GITHUB&&null!=a.gitHub?G=a.gitHub.extension:a.mode==App.MODE_GITLAB&&null!=a.gitLab?G=a.gitLab.extension:a.mode==App.MODE_TRELLO&&null!=a.trello&&(G=a.trello.extension);var E=document.createElement("input");E.setAttribute("value",a.defaultFilename+
+G);E.style.marginLeft="10px";E.style.width=d?"144px":"244px";this.init=function(){b&&(E.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?E.select():document.execCommand("selectAll",!1,null))};b&&(D.appendChild(E),null!=a.editor.diagramFileTypes&&(G=FilenameDialog.createFileTypes(a,E,a.editor.diagramFileTypes),G.style.marginLeft="6px",G.style.width=d?"80px":"180px",D.appendChild(G)),null!=a.editor.fileExtensions&&(G=FilenameDialog.createTypeHint(a,E,a.editor.fileExtensions),G.style.marginTop=
+"12px",D.appendChild(G)));var D=!1,I=0,J=new Spinner({lines:12,length:10,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9}),H=mxUtils.button(v||mxResources.get("create"),function(){H.setAttribute("disabled","disabled");B();H.removeAttribute("disabled")});H.className="geBtn gePrimaryBtn";if(p||t){var K=[],M=null,N=null,Y=null,L=function(a){H.setAttribute("disabled","disabled");for(var b=0;b<K.length;b++)K[b].className=b==a?"geBtn gePrimaryBtn":"geBtn"},
+D=!0;v=document.createElement("div");v.style.whiteSpace="nowrap";v.style.height="30px";F.appendChild(v);G=mxUtils.button(mxResources.get("Templates",null,"Templates"),function(){Z.style.display="";O.style.left="160px";L(0);O.scrollTop=0;O.innerHTML="";I=0;M!=ha&&(ha=M,da=N,ga=Y,Z.innerHTML="",A(),M=null)});K.push(G);v.appendChild(G);var T=function(a){Z.style.display="none";O.style.left="30px";L(a?-1:1);null==M&&(M=ha);O.scrollTop=0;O.innerHTML="";J.spin(O);var b=function(a,b,e){I=0;J.stop();ha=a;
+e=e||{};var c=0,d;for(d in e)c+=e[d].length;if(b)O.innerHTML=b;else if(0==a.length&&0==c)O.innerHTML=mxUtils.htmlEntities(mxResources.get("noDiagrams",null,"No Diagrams Found"));else if(O.innerHTML="",0<c){Z.style.display="";O.style.left="160px";Z.innerHTML="";ga=0;da={"draw.io":a};for(d in e)da[d]=e[d];A()}else x()};a?t(U.value,b):p(b)};p&&(G=mxUtils.button(mxResources.get("Recent",null,"Recent"),function(){T()}),v.appendChild(G),K.push(G));if(t){G=document.createElement("span");G.style.marginLeft=
+"10px";G.innerHTML=mxUtils.htmlEntities(mxResources.get("search")+":");v.appendChild(G);var U=document.createElement("input");U.style.marginRight="10px";U.style.marginLeft="10px";U.style.width="220px";mxEvent.addListener(U,"keypress",function(a){13==a.keyCode&&T(!0)});v.appendChild(U);G=mxUtils.button(mxResources.get("search"),function(){T(!0)});G.className="geBtn";v.appendChild(G)}L(0)}var X=null,aa=null,ca=null,W=null,V=null,fa=null,ea=null,O=document.createElement("div");O.style.border="1px solid #d3d3d3";
+O.style.position="absolute";O.style.left="160px";O.style.right="34px";v=(b?72:40)+(D?30:0);O.style.top=v+"px";O.style.bottom="68px";O.style.margin="6px 0 0 -1px";O.style.padding="6px";O.style.overflow="auto";var Z=document.createElement("div");Z.style.cssText="position:absolute;left:30px;width:128px;top:"+v+"px;bottom:68px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";var R=140,P=140,da={},S={},ga=0,ja=!0;da.basic=[{title:"blankDiagram",select:!0}];var ha=da.basic;if(!d){var Q=function(){mxUtils.get(ba,
+function(a){if(!ka){ka=!0;a=a.getXml().documentElement.firstChild;for(var b={};null!=a;){if("undefined"!==typeof a.getAttribute)if("clibs"==a.nodeName){for(var e=a.getAttribute("name"),c=a.getElementsByTagName("add"),d=[],k=0;k<c.length;k++)d.push(encodeURIComponent(mxUtils.getTextContent(c[k])));null!=e&&0<d.length&&(b[e]=d.join(";"))}else e=a.getAttribute("url"),null!=e&&(c=a.getAttribute("section"),null==c&&(c=e.indexOf("/"),c=e.substring(0,c)),e=da[c],null==e&&(e=[],da[c]=e),c=a.getAttribute("clibs"),
+null!=b[c]&&(c=b[c]),e.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url"),preview:a.getAttribute("preview"),clibs:c}));a=a.nextSibling}J.stop();A()}})};F.appendChild(Z);F.appendChild(O);var ka=!1,ba=l;/^https?:\/\//.test(ba)&&!a.editor.isCorsEnabledForUrl(ba)&&(ba=PROXY_URL+"?url="+encodeURIComponent(ba));J.spin(O);null!=z?z(function(a,b){S=a;Y=ga=b;Q()},Q):Q();N=da}mxEvent.addListener(E,"keypress",function(b){a.dialog.container.firstChild==
+F&&13==b.keyCode&&B()});l=document.createElement("div");l.style.marginTop=d?"4px":"16px";l.style.textAlign="right";l.style.position="absolute";l.style.left="40px";l.style.bottom="24px";l.style.right="40px";d||a.isOffline()||!b||null!=c||g||(z=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://support.draw.io/display/DO/Creating+and+Opening+Files")}),z.className="geBtn",l.appendChild(z));z=mxUtils.button(mxResources.get("cancel"),function(){null!=f&&f();a.hideDialog(!0)});z.className=
+"geBtn";!a.editor.cancelFirst||g&&null==f||l.appendChild(z);d||"1"==urlParams.embed||g||(d=mxUtils.button(mxResources.get("fromTemplateUrl"),function(){var b=new FilenameDialog(a,"",mxResources.get("create"),function(b){null!=b&&0<b.length&&(b=a.getUrl(window.location.pathname+"?mode="+a.mode+"&title="+encodeURIComponent(E.value)+"&create="+encodeURIComponent(b)),null==a.getCurrentFile()?window.location.href=b:window.openWindow(b))},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()}),
+d.className="geBtn",l.appendChild(d));Graph.fileSupport&&q&&(q=mxUtils.button(mxResources.get("import"),function(){if(null==a.newDlgFileInputElt){var b=document.createElement("input");b.setAttribute("multiple","multiple");b.setAttribute("type","file");mxEvent.addListener(b,"change",function(e){a.openFiles(b.files,!0);b.value=""});b.style.display="none";document.body.appendChild(b);a.newDlgFileInputElt=b}a.newDlgFileInputElt.click()}),q.className="geBtn",l.appendChild(q));l.appendChild(H);a.editor.cancelFirst||
+null!=c||g&&null==f||l.appendChild(z);F.appendChild(l);this.container=F},CreateDialog=function(a,d,b,c,g,f,m,n,e,k,l,p,t,u,q,v,z){function x(b,e,c,k){function l(){mxEvent.addListener(f,"click",function(){var b=c;if(m){var e=C.value,k=e.lastIndexOf(".");if(0>d.lastIndexOf(".")&&0>k){var b=null!=b?b:G.value,l="";b==App.MODE_GOOGLE?l=a.drive.extension:b==App.MODE_GITHUB?l=a.gitHub.extension:b==App.MODE_GITLAB?l=a.gitLab.extension:b==App.MODE_TRELLO?l=a.trello.extension:b==App.MODE_DROPBOX?l=a.dropbox.extension:
+b==App.MODE_ONEDRIVE?l=a.oneDrive.extension:b==App.MODE_DEVICE&&(l=".drawio");0<=k&&(e=e.substring(0,k));C.value=e+l}}B(c)})}var f=document.createElement("a");f.style.overflow="hidden";var g=document.createElement("img");g.src=b;g.setAttribute("border","0");g.setAttribute("align","absmiddle");g.style.width="60px";g.style.height="60px";g.style.paddingBottom="6px";f.style.display="inline-block";f.className="geBaseButton";f.style.position="relative";f.style.margin="4px";f.style.padding="8px 8px 10px 8px";
+f.style.whiteSpace="nowrap";f.appendChild(g);f.style.color="gray";f.style.fontSize="11px";var t=document.createElement("div");f.appendChild(t);mxUtils.write(t,e);if(null!=k&&null==a[k]){g.style.visibility="hidden";mxUtils.setOpacity(t,10);var u=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});u.spin(f);var q=window.setTimeout(function(){null==a[k]&&(u.stop(),f.style.display="none")},3E4);a.addListener("clientLoaded",
+mxUtils.bind(this,function(){null!=a[k]&&(window.clearTimeout(q),mxUtils.setOpacity(t,100),g.style.visibility="",u.stop(),l())}))}else l();F.appendChild(f);++D==p&&(mxUtils.br(F),D=0)}function B(e){var c=C.value;if(null==e||null!=c&&0<c.length)z&&a.hideDialog(),b(c,e,C)}m=null!=m?m:!0;n=null!=n?n:!0;p=null!=p?p:4;z=null!=z?z:!0;f=document.createElement("div");f.style.whiteSpace="nowrap";null==c&&a.addLanguageMenu(f);var y=document.createElement("h2");mxUtils.write(y,g||mxResources.get("create"));
+y.style.marginTop="0px";y.style.marginBottom="24px";f.appendChild(y);mxUtils.write(f,mxResources.get("filename")+":");var C=document.createElement("input");C.setAttribute("value",d);C.style.width="200px";C.style.marginLeft="10px";C.style.marginBottom="20px";C.style.maxWidth="70%";this.init=function(){C.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?C.select():document.execCommand("selectAll",!1,null)};f.appendChild(C);null!=v&&(null!=a.editor.diagramFileTypes&&(g=FilenameDialog.createFileTypes(a,
+C,a.editor.diagramFileTypes),g.style.marginLeft="6px",g.style.width="80px",f.appendChild(g)),f.appendChild(FilenameDialog.createTypeHint(a,C,v)));v=null;if(null!=t&&null!=u&&"image/"==u.substring(0,6)&&("image/svg"!=u.substring(0,9)||mxClient.IS_SVG)){C.style.width="160px";g=document.createElement("img");var A=q?t:btoa(unescape(encodeURIComponent(t)));g.setAttribute("src","data:"+u+";base64,"+A);g.style.position="absolute";g.style.top="70px";g.style.right="100px";g.style.maxWidth="120px";g.style.maxHeight=
+"80px";mxUtils.setPrefixedStyle(g.style,"transform","translate(50%,-50%)");f.appendChild(g);mxClient.IS_FF||null==navigator.clipboard||"image/png"!=u||(v=mxUtils.button(mxResources.get("copy"),function(b){"image/png"!=u||mxEvent.isShiftDown(b)?(b=new ClipboardItem({"text/html":new Blob(['<img src="data:'+u+";base64,"+A+'">'],{type:"text/html"})}),navigator.clipboard.write([b]).then(mxUtils.bind(this,function(){a.alert(mxResources.get("copiedToClipboard"))}))["catch"](mxUtils.bind(this,function(b){a.handleError(b)}))):
+(b=a.base64ToBlob(A,"image/png"),b=new ClipboardItem({"image/png":b}),navigator.clipboard.write([b]).then(mxUtils.bind(this,function(){a.alert(mxResources.get("copiedToClipboard"))}))["catch"](mxUtils.bind(this,function(b){a.handleError(b)})))}),v.style.marginTop="6px",v.className="geBtn");e&&Editor.popupsAllowed&&(g.style.cursor="pointer",mxEvent.addGestureListeners(g,null,null,function(a){mxEvent.isPopupTrigger(a)||B("_blank")}))}mxUtils.br(f);var F=document.createElement("div");F.style.textAlign=
+"center";var D=0;F.style.marginTop="6px";f.appendChild(F);var G=document.createElement("select");G.style.marginLeft="10px";a.isOfflineApp()||a.isOffline()||("function"===typeof window.DriveClient&&(t=document.createElement("option"),t.setAttribute("value",App.MODE_GOOGLE),mxUtils.write(t,mxResources.get("googleDrive")),G.appendChild(t),x(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive")),"function"===typeof window.OneDriveClient&&(t=document.createElement("option"),
+t.setAttribute("value",App.MODE_ONEDRIVE),mxUtils.write(t,mxResources.get("oneDrive")),G.appendChild(t),a.mode==App.MODE_ONEDRIVE&&t.setAttribute("selected","selected"),x(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive")),"function"===typeof window.DropboxClient&&(t=document.createElement("option"),t.setAttribute("value",App.MODE_DROPBOX),mxUtils.write(t,mxResources.get("dropbox")),G.appendChild(t),a.mode==App.MODE_DROPBOX&&t.setAttribute("selected","selected"),
+x(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),App.MODE_DROPBOX,"dropbox")),null!=a.gitHub&&(t=document.createElement("option"),t.setAttribute("value",App.MODE_GITHUB),mxUtils.write(t,mxResources.get("github")),G.appendChild(t),x(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),App.MODE_GITHUB,"gitHub")),null!=a.gitLab&&(t=document.createElement("option"),t.setAttribute("value",App.MODE_GITLAB),mxUtils.write(t,mxResources.get("gitlab")),G.appendChild(t),x(IMAGE_PATH+"/gitlab-logo.svg",
+mxResources.get("gitlab"),App.MODE_GITLAB,"gitLab")),"function"===typeof window.TrelloClient&&(t=document.createElement("option"),t.setAttribute("value",App.MODE_TRELLO),mxUtils.write(t,mxResources.get("trello")),G.appendChild(t),x(IMAGE_PATH+"/trello-logo.svg",mxResources.get("trello"),App.MODE_TRELLO,"trello")));Editor.useLocalStorage&&"device"!=urlParams.storage&&null==a.getCurrentFile()||(t=document.createElement("option"),t.setAttribute("value",App.MODE_DEVICE),mxUtils.write(t,mxResources.get("device")),
+G.appendChild(t),a.mode!=App.MODE_DEVICE&&n||t.setAttribute("selected","selected"),l&&x(IMAGE_PATH+"/osa_drive-harddisk.png",mxResources.get("device"),App.MODE_DEVICE));n&&isLocalStorage&&"0"!=urlParams.browser&&(n=document.createElement("option"),n.setAttribute("value",App.MODE_BROWSER),mxUtils.write(n,mxResources.get("browser")),G.appendChild(n),a.mode==App.MODE_BROWSER&&n.setAttribute("selected","selected"),x(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER));n=document.createElement("div");
+n.style.marginTop="26px";n.style.textAlign="center";null!=k&&(l=mxUtils.button(mxResources.get("help"),function(){a.openLink(k)}),l.className="geBtn",n.appendChild(l));l=mxUtils.button(mxResources.get(null!=c?"close":"cancel"),function(){null!=c?c():(a.fileLoaded(null),a.hideDialog(),window.close(),window.location.href=a.getUrl())});l.className="geBtn";a.editor.cancelFirst&&null==c&&n.appendChild(l);null==c&&(t=mxUtils.button(mxResources.get("decideLater"),function(){B(null)}),t.className="geBtn",
+n.appendChild(t));e&&Editor.popupsAllowed&&(e=mxUtils.button(mxResources.get("openInNewWindow"),function(){B("_blank")}),e.className="geBtn",n.appendChild(e));CreateDialog.showDownloadButton&&(e=mxUtils.button(mxResources.get("download"),function(){B("download")}),e.className="geBtn",n.appendChild(e),null!=v&&(e.style.marginTop="6px",n.style.marginTop="6px"));null!=v&&(mxUtils.br(n),n.appendChild(v));a.editor.cancelFirst&&null==c||n.appendChild(l);mxEvent.addListener(C,"keypress",function(b){13==
+b.keyCode?B(App.MODE_DEVICE):27==b.keyCode&&(a.fileLoaded(null),a.hideDialog(),window.close())});f.appendChild(n);this.container=f};CreateDialog.showDownloadButton=!0;
var PopupDialog=function(a,d,b,c,g){g=null!=g?g:!0;var f=document.createElement("div");f.style.textAlign="left";mxUtils.write(f,mxResources.get("fileOpenLocation"));mxUtils.br(f);mxUtils.br(f);var m=mxUtils.button(mxResources.get("openInThisWindow"),function(){g&&a.hideDialog();null!=c&&c()});m.className="geBtn";m.style.marginBottom="8px";m.style.width="280px";f.appendChild(m);mxUtils.br(f);var n=mxUtils.button(mxResources.get("openInNewWindow"),function(){g&&a.hideDialog();null!=b&&b();a.openLink(d,
null,!0)});n.className="geBtn gePrimaryBtn";n.style.width=m.style.width;f.appendChild(n);mxUtils.br(f);mxUtils.br(f);mxUtils.write(f,mxResources.get("allowPopups"));this.container=f},ImageDialog=function(a,d,b,c,g,f){f=null!=f?f:!0;var m=a.editor.graph,n=document.createElement("div");mxUtils.write(n,d);d=document.createElement("div");d.className="geTitle";d.style.backgroundColor="transparent";d.style.borderColor="transparent";d.style.whiteSpace="nowrap";d.style.textOverflow="clip";d.style.cursor=
"default";d.style.paddingRight="20px";var e=document.createElement("input");e.setAttribute("value",b);e.setAttribute("type","text");e.setAttribute("spellcheck","false");e.setAttribute("autocorrect","off");e.setAttribute("autocomplete","off");e.setAttribute("autocapitalize","off");e.style.marginTop="6px";e.style.width=(Graph.fileSupport?460:340)-20+"px";e.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";e.style.backgroundRepeat="no-repeat";e.style.backgroundPosition="100% 50%";e.style.paddingRight=
-"14px";b=document.createElement("div");b.setAttribute("title",mxResources.get("reset"));b.style.position="relative";b.style.left="-16px";b.style.width="12px";b.style.height="14px";b.style.cursor="pointer";b.style.display="inline-block";b.style.top="3px";b.style.background="url('"+a.editor.transparentImage+"')";mxEvent.addListener(b,"click",function(){e.value="";e.focus()});d.appendChild(e);d.appendChild(b);n.appendChild(d);var k=function(e,b,d,k){var l="data:"==e.substring(0,5);!a.isOffline()||l&&
-"undefined"===typeof chrome?0<e.length&&a.spinner.spin(document.body,mxResources.get("inserting"))?a.loadImage(e,function(l){a.spinner.stop();a.hideDialog();var g=!1===k?1:null!=b&&null!=d?Math.max(b/l.width,d/l.height):Math.min(1,Math.min(520/l.width,520/l.height));f&&(e=a.convertDataUri(e));c(e,Math.round(Number(l.width)*g),Math.round(Number(l.height)*g))},function(){a.spinner.stop();c(null);a.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"))}):(a.hideDialog(),
-c(e)):(e=a.convertDataUri(e),b=null==b?120:b,d=null==d?100:d,a.hideDialog(),c(e,b,d))},l=function(e,b){if(null!=e){var d=g?null:m.getModel().getGeometry(m.getSelectionCell());null!=d?k(e,d.width,d.height,b):k(e,null,null,b)}else a.hideDialog(),c(null)};this.init=function(){e.focus();if(Graph.fileSupport){e.setAttribute("placeholder",mxResources.get("dragImagesHere"));var b=n.parentNode,c=null;mxEvent.addListener(b,"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();
-a.preventDefault()});mxEvent.addListener(b,"dragover",mxUtils.bind(this,function(e){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=a.highlightElement(b));e.stopPropagation();e.preventDefault()}));mxEvent.addListener(b,"drop",mxUtils.bind(this,function(e){null!=c&&(c.parentNode.removeChild(c),c=null);if(0<e.dataTransfer.files.length)a.importFiles(e.dataTransfer.files,0,0,a.maxImageSize,function(a,e,b,c,d,k,f,g){l(a,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var e=
-0;e<a.length;e++)a[e]()},!mxEvent.isControlDown(e),null,null,!0);else if(0<=mxUtils.indexOf(e.dataTransfer.types,"text/uri-list")){var b=e.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)($|\?)/i.test(b)&&l(decodeURIComponent(b))}e.stopPropagation();e.preventDefault()}),!1)}};b=document.createElement("div");b.style.marginTop="14px";b.style.textAlign="center";d=mxUtils.button(mxResources.get("cancel"),function(){a.spinner.stop();a.hideDialog()});d.className="geBtn";a.editor.cancelFirst&&
-b.appendChild(d);ImageDialog.filePicked=function(a){a.action==google.picker.Action.PICKED&&null!=a.docs[0].thumbnails&&(a=a.docs[0].thumbnails[a.docs[0].thumbnails.length-1],null!=a&&(e.value=a.url));e.focus()};if(Graph.fileSupport){if(null==a.imgDlgFileInputElt){var p=document.createElement("input");p.setAttribute("multiple","multiple");p.setAttribute("type","file");mxEvent.addListener(p,"change",function(e){null!=p.files&&(a.importFiles(p.files,0,0,a.maxImageSize,function(a,e,b,c,d,k){l(a)},function(){},
-function(a){return"image/"==a.type.substring(0,6)},function(a){for(var e=0;e<a.length;e++)a[e]()},!0),p.type="",p.type="file",p.value="")});p.style.display="none";document.body.appendChild(p);a.imgDlgFileInputElt=p}var t=mxUtils.button(mxResources.get("open"),function(){a.imgDlgFileInputElt.click()});t.className="geBtn";b.appendChild(t)}document.createElement("canvas").getContext&&"data:image/"==e.value.substring(0,11)&&"data:image/svg"!=e.value.substring(0,14)&&(t=mxUtils.button(mxResources.get("crop"),
+"14px";b=document.createElement("div");b.setAttribute("title",mxResources.get("reset"));b.style.position="relative";b.style.left="-16px";b.style.width="12px";b.style.height="14px";b.style.cursor="pointer";b.style.display="inline-block";b.style.top="3px";b.style.background="url('"+a.editor.transparentImage+"')";mxEvent.addListener(b,"click",function(){e.value="";e.focus()});d.appendChild(e);d.appendChild(b);n.appendChild(d);var k=function(b,e,d,k){var l="data:"==b.substring(0,5);!a.isOffline()||l&&
+"undefined"===typeof chrome?0<b.length&&a.spinner.spin(document.body,mxResources.get("inserting"))?a.loadImage(b,function(l){a.spinner.stop();a.hideDialog();var g=!1===k?1:null!=e&&null!=d?Math.max(e/l.width,d/l.height):Math.min(1,Math.min(520/l.width,520/l.height));f&&(b=a.convertDataUri(b));c(b,Math.round(Number(l.width)*g),Math.round(Number(l.height)*g))},function(){a.spinner.stop();c(null);a.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"))}):(a.hideDialog(),
+c(b)):(b=a.convertDataUri(b),e=null==e?120:e,d=null==d?100:d,a.hideDialog(),c(b,e,d))},l=function(b,e){if(null!=b){var d=g?null:m.getModel().getGeometry(m.getSelectionCell());null!=d?k(b,d.width,d.height,e):k(b,null,null,e)}else a.hideDialog(),c(null)};this.init=function(){e.focus();if(Graph.fileSupport){e.setAttribute("placeholder",mxResources.get("dragImagesHere"));var b=n.parentNode,c=null;mxEvent.addListener(b,"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();
+a.preventDefault()});mxEvent.addListener(b,"dragover",mxUtils.bind(this,function(e){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=a.highlightElement(b));e.stopPropagation();e.preventDefault()}));mxEvent.addListener(b,"drop",mxUtils.bind(this,function(b){null!=c&&(c.parentNode.removeChild(c),c=null);if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,function(a,b,e,c,d,k,f,g){l(a,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=
+0;b<a.length;b++)a[b]()},!mxEvent.isControlDown(b),null,null,!0);else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var e=b.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)($|\?)/i.test(e)&&l(decodeURIComponent(e))}b.stopPropagation();b.preventDefault()}),!1)}};b=document.createElement("div");b.style.marginTop="14px";b.style.textAlign="center";d=mxUtils.button(mxResources.get("cancel"),function(){a.spinner.stop();a.hideDialog()});d.className="geBtn";a.editor.cancelFirst&&
+b.appendChild(d);ImageDialog.filePicked=function(a){a.action==google.picker.Action.PICKED&&null!=a.docs[0].thumbnails&&(a=a.docs[0].thumbnails[a.docs[0].thumbnails.length-1],null!=a&&(e.value=a.url));e.focus()};if(Graph.fileSupport){if(null==a.imgDlgFileInputElt){var p=document.createElement("input");p.setAttribute("multiple","multiple");p.setAttribute("type","file");mxEvent.addListener(p,"change",function(b){null!=p.files&&(a.importFiles(p.files,0,0,a.maxImageSize,function(a,b,e,c,d,k){l(a)},function(){},
+function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!0),p.type="",p.type="file",p.value="")});p.style.display="none";document.body.appendChild(p);a.imgDlgFileInputElt=p}var t=mxUtils.button(mxResources.get("open"),function(){a.imgDlgFileInputElt.click()});t.className="geBtn";b.appendChild(t)}document.createElement("canvas").getContext&&"data:image/"==e.value.substring(0,11)&&"data:image/svg"!=e.value.substring(0,14)&&(t=mxUtils.button(mxResources.get("crop"),
function(){var b=new CropImageDialog(a,e.value,function(a){e.value=a});a.showDialog(b.container,300,380,!0,!0);b.init()}),t.className="geBtn",b.appendChild(t));mxEvent.addListener(e,"keypress",function(a){13==a.keyCode&&l(e.value)});t=mxUtils.button(mxResources.get("apply"),function(){l(e.value)});t.className="geBtn gePrimaryBtn";b.appendChild(t);a.editor.cancelFirst||b.appendChild(d);Graph.fileSupport&&(b.style.marginTop="120px",n.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",n.style.backgroundPosition=
-"center 65%",n.style.backgroundRepeat="no-repeat",d=document.createElement("div"),d.style.position="absolute",d.style.width="420px",d.style.top="58%",d.style.textAlign="center",d.style.fontSize="18px",d.style.color="#a0c3ff",mxUtils.write(d,mxResources.get("dragImagesHere")),n.appendChild(d));n.appendChild(b);this.container=n},LinkDialog=function(a,d,b,c,g,f,m){function n(a,e,b){b=mxUtils.button("",b);b.className="geBtn";b.setAttribute("title",e);e=document.createElement("img");e.style.height="26px";
-e.style.width="26px";e.setAttribute("src",a);b.style.minWidth="42px";b.style.verticalAlign="middle";b.appendChild(e);A.appendChild(b)}var e=document.createElement("div");mxUtils.write(e,mxResources.get("editLink")+":");var k=document.createElement("div");k.className="geTitle";k.style.backgroundColor="transparent";k.style.borderColor="transparent";k.style.whiteSpace="nowrap";k.style.textOverflow="clip";k.style.cursor="default";k.style.paddingRight="20px";var l=document.createElement("input");l.setAttribute("placeholder",
+"center 65%",n.style.backgroundRepeat="no-repeat",d=document.createElement("div"),d.style.position="absolute",d.style.width="420px",d.style.top="58%",d.style.textAlign="center",d.style.fontSize="18px",d.style.color="#a0c3ff",mxUtils.write(d,mxResources.get("dragImagesHere")),n.appendChild(d));n.appendChild(b);this.container=n},LinkDialog=function(a,d,b,c,g,f,m){function n(a,b,e){e=mxUtils.button("",e);e.className="geBtn";e.setAttribute("title",b);b=document.createElement("img");b.style.height="26px";
+b.style.width="26px";b.setAttribute("src",a);e.style.minWidth="42px";e.style.verticalAlign="middle";e.appendChild(b);B.appendChild(e)}var e=document.createElement("div");mxUtils.write(e,mxResources.get("editLink")+":");var k=document.createElement("div");k.className="geTitle";k.style.backgroundColor="transparent";k.style.borderColor="transparent";k.style.whiteSpace="nowrap";k.style.textOverflow="clip";k.style.cursor="default";k.style.paddingRight="20px";var l=document.createElement("input");l.setAttribute("placeholder",
mxResources.get("dragUrlsHere"));l.setAttribute("type","text");l.style.marginTop="6px";l.style.width="100%";l.style.boxSizing="border-box";l.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";l.style.backgroundRepeat="no-repeat";l.style.backgroundPosition="100% 50%";l.style.paddingRight="14px";var p=document.createElement("div");p.setAttribute("title",mxResources.get("reset"));p.style.position="relative";p.style.left="-16px";p.style.width="12px";p.style.height="14px";p.style.cursor="pointer";
p.style.display="inline-block";p.style.top="3px";p.style.background="url('"+a.editor.transparentImage+"')";mxEvent.addListener(p,"click",function(){l.value="";l.focus()});var t=document.createElement("input");t.style.cssText="margin-right:8px;margin-bottom:8px;";t.setAttribute("value","url");t.setAttribute("type","radio");t.setAttribute("name","current-linkdialog");var u=document.createElement("input");u.style.cssText="margin-right:8px;margin-bottom:8px;";u.setAttribute("value","url");u.setAttribute("type",
-"radio");u.setAttribute("name","current-linkdialog");var q=document.createElement("select");q.style.width="100%";var x=document.createElement("input");x.setAttribute("type","checkbox");x.style.margin="0 6p 0 6px";null!=m&&(x.setAttribute("checked","checked"),x.defaultChecked=!0);m=null!=m?m:"_blank";x.setAttribute("title",m);f&&(l.style.width="340px");if(g&&null!=a.pages){null!=d&&"data:page/id,"==d.substring(0,13)?(u.setAttribute("checked","checked"),u.defaultChecked=!0):(l.setAttribute("value",
-d),t.setAttribute("checked","checked"),t.defaultChecked=!0);k.appendChild(t);k.appendChild(l);k.appendChild(p);f&&(k.appendChild(x),mxUtils.write(k,mxResources.get("openInNewWindow")));mxUtils.br(k);k.appendChild(u);g=!1;for(f=0;f<a.pages.length;f++)p=document.createElement("option"),mxUtils.write(p,a.pages[f].getName()||mxResources.get("pageWithNumber",[f+1])),p.setAttribute("value","data:page/id,"+a.pages[f].getId()),d==p.getAttribute("value")&&(p.setAttribute("selected","selected"),g=!0),q.appendChild(p);
-if(!g&&u.checked){var y=document.createElement("option");mxUtils.write(y,mxResources.get("pageNotFound"));y.setAttribute("disabled","disabled");y.setAttribute("selected","selected");y.setAttribute("value","pageNotFound");q.appendChild(y);mxEvent.addListener(q,"change",function(){null==y.parentNode||y.selected||y.parentNode.removeChild(y)})}k.appendChild(q)}else l.setAttribute("value",d),k.appendChild(l),k.appendChild(p);e.appendChild(k);var v=mxUtils.button(b,function(){a.hideDialog();c(u.checked?
-"pageNotFound"!==q.value?q.value:d:l.value,LinkDialog.selectedDocs,x.checked?m:null)});v.style.verticalAlign="middle";v.className="geBtn gePrimaryBtn";this.init=function(){u.checked?q.focus():(l.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?l.select():document.execCommand("selectAll",!1,null));mxEvent.addListener(q,"focus",function(){t.removeAttribute("checked");u.setAttribute("checked","checked");u.checked=!0});mxEvent.addListener(l,"focus",function(){u.removeAttribute("checked");
+"radio");u.setAttribute("name","current-linkdialog");var q=document.createElement("select");q.style.width="100%";var v=document.createElement("input");v.setAttribute("type","checkbox");v.style.margin="0 6p 0 6px";null!=m&&(v.setAttribute("checked","checked"),v.defaultChecked=!0);m=null!=m?m:"_blank";v.setAttribute("title",m);f&&(l.style.width="340px");if(g&&null!=a.pages){null!=d&&"data:page/id,"==d.substring(0,13)?(u.setAttribute("checked","checked"),u.defaultChecked=!0):(l.setAttribute("value",
+d),t.setAttribute("checked","checked"),t.defaultChecked=!0);k.appendChild(t);k.appendChild(l);k.appendChild(p);f&&(k.appendChild(v),mxUtils.write(k,mxResources.get("openInNewWindow")));mxUtils.br(k);k.appendChild(u);g=!1;for(f=0;f<a.pages.length;f++)p=document.createElement("option"),mxUtils.write(p,a.pages[f].getName()||mxResources.get("pageWithNumber",[f+1])),p.setAttribute("value","data:page/id,"+a.pages[f].getId()),d==p.getAttribute("value")&&(p.setAttribute("selected","selected"),g=!0),q.appendChild(p);
+if(!g&&u.checked){var z=document.createElement("option");mxUtils.write(z,mxResources.get("pageNotFound"));z.setAttribute("disabled","disabled");z.setAttribute("selected","selected");z.setAttribute("value","pageNotFound");q.appendChild(z);mxEvent.addListener(q,"change",function(){null==z.parentNode||z.selected||z.parentNode.removeChild(z)})}k.appendChild(q)}else l.setAttribute("value",d),k.appendChild(l),k.appendChild(p);e.appendChild(k);var x=mxUtils.button(b,function(){a.hideDialog();c(u.checked?
+"pageNotFound"!==q.value?q.value:d:l.value,LinkDialog.selectedDocs,v.checked?m:null)});x.style.verticalAlign="middle";x.className="geBtn gePrimaryBtn";this.init=function(){u.checked?q.focus():(l.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?l.select():document.execCommand("selectAll",!1,null));mxEvent.addListener(q,"focus",function(){t.removeAttribute("checked");u.setAttribute("checked","checked");u.checked=!0});mxEvent.addListener(l,"focus",function(){u.removeAttribute("checked");
t.setAttribute("checked","checked");t.checked=!0});if(Graph.fileSupport){var b=e.parentNode,c=null;mxEvent.addListener(b,"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(b,"dragover",mxUtils.bind(this,function(e){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=a.highlightElement(b));e.stopPropagation();e.preventDefault()}));mxEvent.addListener(b,"drop",mxUtils.bind(this,function(a){null!=c&&(c.parentNode.removeChild(c),
-c=null);0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")&&(l.value=decodeURIComponent(a.dataTransfer.getData("text/uri-list")),t.setAttribute("checked","checked"),t.checked=!0,v.click());a.stopPropagation();a.preventDefault()}),!1)}};var A=document.createElement("div");A.style.marginTop="20px";A.style.textAlign="center";b=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://www.diagrams.net/doc/faq/custom-links")});b.style.verticalAlign="middle";b.className="geBtn";A.appendChild(b);
-a.isOffline()&&!mxClient.IS_CHROMEAPP&&(b.style.display="none");b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});b.style.verticalAlign="middle";b.className="geBtn";a.editor.cancelFirst&&A.appendChild(b);LinkDialog.selectedDocs=null;LinkDialog.filePicked=function(a){if(a.action==google.picker.Action.PICKED){LinkDialog.selectedDocs=a.docs;var e=a.docs[0].url;"application/mxe"==a.docs[0].mimeType||null!=a.docs[0].mimeType&&"application/vnd.jgraph."==a.docs[0].mimeType.substring(0,
-23)?e="https://www.draw.io/#G"+a.docs[0].id:"application/vnd.google-apps.folder"==a.docs[0].mimeType&&(e="https://drive.google.com/#folders/"+a.docs[0].id);l.value=e;l.focus()}else LinkDialog.selectedDocs=null;l.focus()};"undefined"!=typeof google&&"undefined"!=typeof google.picker&&null!=a.drive&&n(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();
-if(null==a.linkPicker){var e=a.drive.createLinkPicker();a.linkPicker=e.setCallback(function(a){LinkDialog.filePicked(a)}).build()}a.linkPicker.setVisible(!0)}))});"undefined"!=typeof Dropbox&&"undefined"!=typeof Dropbox.choose&&n(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),function(){Dropbox.choose({linkType:"direct",cancel:function(){},success:function(a){l.value=a[0].link;l.focus()}})});null!=a.oneDrive&&n(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),function(){a.oneDrive.pickFile(function(a,
-e){l.value=e.value[0].webUrl;l.focus()})});null!=a.gitHub&&n(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),function(){a.gitHub.pickFile(function(a){if(null!=a){a=a.split("/");var e=a[0],b=a[1],c=a[2];a=a.slice(3,a.length).join("/");l.value="https://github.com/"+e+"/"+b+"/blob/"+c+"/"+a;l.focus()}})});null!=a.gitLab&&n(IMAGE_PATH+"/gitlab-logo.svg",mxResources.get("gitlab"),function(){a.gitLab.pickFile(function(a){if(null!=a){a=a.split("/");var e=a[0],b=a[1],c=a[2];a=a.slice(3,a.length).join("/");
-l.value=DRAWIO_GITLAB_URL+"/"+e+"/"+b+"/blob/"+c+"/"+a;l.focus()}})});mxEvent.addListener(l,"keypress",function(e){13==e.keyCode&&(a.hideDialog(),c(u.checked?q.value:l.value,LinkDialog.selectedDocs))});A.appendChild(v);a.editor.cancelFirst||A.appendChild(b);e.appendChild(A);this.container=e},FeedbackDialog=function(a,d,b,c){var g=document.createElement("div"),f=document.createElement("div");mxUtils.write(f,mxResources.get("sendYourFeedback"));f.style.fontSize="18px";f.style.marginBottom="18px";g.appendChild(f);
-f=document.createElement("div");mxUtils.write(f,mxResources.get("yourEmailAddress")+(b?"":" ("+mxResources.get("required")+")"));g.appendChild(f);var m=document.createElement("input");m.setAttribute("type","text");m.style.marginTop="6px";m.style.width="600px";var n=mxUtils.button(mxResources.get("sendMessage"),function(){var e=l.value+(k.checked?"\nDiagram:\n"+(null!=c?c:mxUtils.getXml(a.getXmlFileData())):"")+"\nuserAgent:\n"+navigator.userAgent+"\nappVersion:\n"+navigator.appVersion+"\nappName:\n"+
-navigator.appName+"\nplatform:\n"+navigator.platform;e.length>FeedbackDialog.maxAttachmentSize?a.alert(mxResources.get("drawingTooLarge")):(a.hideDialog(),a.spinner.spin(document.body)&&mxUtils.post(null!=FeedbackDialog.feedbackUrl?FeedbackDialog.feedbackUrl:"/email","email="+encodeURIComponent(m.value)+"&version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&body="+encodeURIComponent((null!=d?d:"Feedback")+":\n"+e),function(e){a.spinner.stop();200<=e.getStatus()&&
-299>=e.getStatus()?a.alert(mxResources.get("feedbackSent")):a.alert(mxResources.get("errorSendingFeedback"))},function(){a.spinner.stop();a.alert(mxResources.get("errorSendingFeedback"))}))});n.className="geBtn gePrimaryBtn";if(!b){n.setAttribute("disabled","disabled");var e=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;mxEvent.addListener(m,"change",function(){0<m.value.length&&0<e.test(m.value)?
+c=null);0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")&&(l.value=decodeURIComponent(a.dataTransfer.getData("text/uri-list")),t.setAttribute("checked","checked"),t.checked=!0,x.click());a.stopPropagation();a.preventDefault()}),!1)}};var B=document.createElement("div");B.style.marginTop="20px";B.style.textAlign="center";b=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://www.diagrams.net/doc/faq/custom-links")});b.style.verticalAlign="middle";b.className="geBtn";B.appendChild(b);
+a.isOffline()&&!mxClient.IS_CHROMEAPP&&(b.style.display="none");b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});b.style.verticalAlign="middle";b.className="geBtn";a.editor.cancelFirst&&B.appendChild(b);LinkDialog.selectedDocs=null;LinkDialog.filePicked=function(a){if(a.action==google.picker.Action.PICKED){LinkDialog.selectedDocs=a.docs;var b=a.docs[0].url;"application/mxe"==a.docs[0].mimeType||null!=a.docs[0].mimeType&&"application/vnd.jgraph."==a.docs[0].mimeType.substring(0,
+23)?b="https://www.draw.io/#G"+a.docs[0].id:"application/vnd.google-apps.folder"==a.docs[0].mimeType&&(b="https://drive.google.com/#folders/"+a.docs[0].id);l.value=b;l.focus()}else LinkDialog.selectedDocs=null;l.focus()};"undefined"!=typeof google&&"undefined"!=typeof google.picker&&null!=a.drive&&n(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();
+if(null==a.linkPicker){var b=a.drive.createLinkPicker();a.linkPicker=b.setCallback(function(a){LinkDialog.filePicked(a)}).build()}a.linkPicker.setVisible(!0)}))});"undefined"!=typeof Dropbox&&"undefined"!=typeof Dropbox.choose&&n(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),function(){Dropbox.choose({linkType:"direct",cancel:function(){},success:function(a){l.value=a[0].link;l.focus()}})});null!=a.oneDrive&&n(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),function(){a.oneDrive.pickFile(function(a,
+b){l.value=b.value[0].webUrl;l.focus()})});null!=a.gitHub&&n(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),function(){a.gitHub.pickFile(function(a){if(null!=a){a=a.split("/");var b=a[0],e=a[1],c=a[2];a=a.slice(3,a.length).join("/");l.value="https://github.com/"+b+"/"+e+"/blob/"+c+"/"+a;l.focus()}})});null!=a.gitLab&&n(IMAGE_PATH+"/gitlab-logo.svg",mxResources.get("gitlab"),function(){a.gitLab.pickFile(function(a){if(null!=a){a=a.split("/");var b=a[0],e=a[1],c=a[2];a=a.slice(3,a.length).join("/");
+l.value=DRAWIO_GITLAB_URL+"/"+b+"/"+e+"/blob/"+c+"/"+a;l.focus()}})});mxEvent.addListener(l,"keypress",function(b){13==b.keyCode&&(a.hideDialog(),c(u.checked?q.value:l.value,LinkDialog.selectedDocs))});B.appendChild(x);a.editor.cancelFirst||B.appendChild(b);e.appendChild(B);this.container=e},FeedbackDialog=function(a,d,b,c){var g=document.createElement("div"),f=document.createElement("div");mxUtils.write(f,mxResources.get("sendYourFeedback"));f.style.fontSize="18px";f.style.marginBottom="18px";g.appendChild(f);
+f=document.createElement("div");mxUtils.write(f,mxResources.get("yourEmailAddress")+(b?"":" ("+mxResources.get("required")+")"));g.appendChild(f);var m=document.createElement("input");m.setAttribute("type","text");m.style.marginTop="6px";m.style.width="600px";var n=mxUtils.button(mxResources.get("sendMessage"),function(){var b=l.value+(k.checked?"\nDiagram:\n"+(null!=c?c:mxUtils.getXml(a.getXmlFileData())):"")+"\nuserAgent:\n"+navigator.userAgent+"\nappVersion:\n"+navigator.appVersion+"\nappName:\n"+
+navigator.appName+"\nplatform:\n"+navigator.platform;b.length>FeedbackDialog.maxAttachmentSize?a.alert(mxResources.get("drawingTooLarge")):(a.hideDialog(),a.spinner.spin(document.body)&&mxUtils.post(null!=FeedbackDialog.feedbackUrl?FeedbackDialog.feedbackUrl:"/email","email="+encodeURIComponent(m.value)+"&version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&body="+encodeURIComponent((null!=d?d:"Feedback")+":\n"+b),function(b){a.spinner.stop();200<=b.getStatus()&&
+299>=b.getStatus()?a.alert(mxResources.get("feedbackSent")):a.alert(mxResources.get("errorSendingFeedback"))},function(){a.spinner.stop();a.alert(mxResources.get("errorSendingFeedback"))}))});n.className="geBtn gePrimaryBtn";if(!b){n.setAttribute("disabled","disabled");var e=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;mxEvent.addListener(m,"change",function(){0<m.value.length&&0<e.test(m.value)?
n.removeAttribute("disabled"):n.setAttribute("disabled","disabled")});mxEvent.addListener(m,"keyup",function(){0<m.value.length&&e.test(m.value)?n.removeAttribute("disabled"):n.setAttribute("disabled","disabled")})}g.appendChild(m);this.init=function(){m.focus()};var k=document.createElement("input");k.setAttribute("type","checkbox");k.setAttribute("checked","checked");k.defaultChecked=!0;b=document.createElement("p");b.style.marginTop="14px";b.appendChild(k);f=document.createElement("span");mxUtils.write(f,
" "+mxResources.get("includeCopyOfMyDiagram"));b.appendChild(f);mxEvent.addListener(f,"click",function(a){k.checked=!k.checked;mxEvent.consume(a)});g.appendChild(b);f=document.createElement("div");mxUtils.write(f,mxResources.get("feedback"));g.appendChild(f);var l=document.createElement("textarea");l.style.resize="none";l.style.width="600px";l.style.height="140px";l.style.marginTop="6px";l.setAttribute("placeholder",mxResources.get("comments"));g.appendChild(l);b=document.createElement("div");b.style.marginTop=
"26px";b.style.textAlign="right";f=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});f.className="geBtn";a.editor.cancelFirst?(b.appendChild(f),b.appendChild(n)):(b.appendChild(n),b.appendChild(f));g.appendChild(b);this.container=g};FeedbackDialog.maxAttachmentSize=1E6;
var RevisionDialog=function(a,d,b){var c=document.createElement("div"),g=document.createElement("h3");g.style.marginTop="0px";mxUtils.write(g,mxResources.get("revisionHistory"));c.appendChild(g);g=document.createElement("div");g.style.position="absolute";g.style.overflow="auto";g.style.width="170px";g.style.height="378px";c.appendChild(g);var f=document.createElement("div");f.style.position="absolute";f.style.border="1px solid lightGray";f.style.left="199px";f.style.width="470px";f.style.height="376px";
f.style.overflow="hidden";var m=document.createElement("div");m.style.cssText="position:absolute;left:0;right:0;top:0;bottom:20px;text-align:center;transform:translate(0,50%);pointer-events:none;";f.appendChild(m);mxEvent.disableContextMenu(f);c.appendChild(f);var n=new Graph(f);n.setTooltips(!1);n.setEnabled(!1);n.setPanning(!0);n.panningHandler.ignoreCell=!0;n.panningHandler.useLeftButtonForPanning=!0;n.minFitScale=null;n.maxFitScale=null;n.centerZoom=!0;var e=0,k=null,l=0,p=n.getGlobalVariable;
-n.getGlobalVariable=function(a){return"page"==a&&null!=k&&null!=k[l]?k[l].getAttribute("name"):"pagenumber"==a?l+1:"pagecount"==a?null!=k?k.length:1:p.apply(this,arguments)};n.getLinkForCell=function(){return null};Editor.MathJaxRender&&n.addListener(mxEvent.SIZE,mxUtils.bind(this,function(e,b){a.editor.graph.mathEnabled&&Editor.MathJaxRender(n.container)}));for(var t=new Spinner({lines:11,length:15,width:6,radius:10,corners:1,rotate:0,direction:1,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.4,
-trail:60,shadow:!1,hwaccel:!1,className:"spinner",zIndex:2E9,top:"50%",left:"50%"}),u=a.getCurrentFile(),q=a.getXmlFileData(!0,!1,!0).getElementsByTagName("diagram"),x={},y=0;y<q.length;y++)x[q[y].getAttribute("id")]=q[y];var v=null,A=null,z=null,B=null,C=mxUtils.button("",function(){null!=z&&n.zoomIn()});C.className="geSprite geSprite-zoomin";C.setAttribute("title",mxResources.get("zoomIn"));C.style.outline="none";C.style.border="none";C.style.margin="2px";C.setAttribute("disabled","disabled");mxUtils.setOpacity(C,
-20);var G=mxUtils.button("",function(){null!=z&&n.zoomOut()});G.className="geSprite geSprite-zoomout";G.setAttribute("title",mxResources.get("zoomOut"));G.style.outline="none";G.style.border="none";G.style.margin="2px";G.setAttribute("disabled","disabled");mxUtils.setOpacity(G,20);var D=mxUtils.button("",function(){null!=z&&(n.maxFitScale=8,n.fit(8),n.center())});D.className="geSprite geSprite-fit";D.setAttribute("title",mxResources.get("fit"));D.style.outline="none";D.style.border="none";D.style.margin=
-"2px";D.setAttribute("disabled","disabled");mxUtils.setOpacity(D,20);var H=mxUtils.button("",function(){null!=z&&(n.zoomActual(),n.center())});H.className="geSprite geSprite-actualsize";H.setAttribute("title",mxResources.get("actualSize"));H.style.outline="none";H.style.border="none";H.style.margin="2px";H.setAttribute("disabled","disabled");mxUtils.setOpacity(H,20);var F=mxUtils.button("",function(){});F.className="geSprite geSprite-middle";F.setAttribute("title",mxResources.get("compare"));F.style.outline=
-"none";F.style.border="none";F.style.margin="2px";mxUtils.setOpacity(F,60);var I=f.cloneNode(!1);I.style.pointerEvent="none";f.parentNode.appendChild(I);var J=new Graph(I);J.setTooltips(!1);J.setEnabled(!1);J.setPanning(!0);J.panningHandler.ignoreCell=!0;J.panningHandler.useLeftButtonForPanning=!0;J.minFitScale=null;J.maxFitScale=null;J.centerZoom=!0;mxEvent.addGestureListeners(F,function(a){a=x[k[e].getAttribute("id")];mxUtils.setOpacity(F,20);m.innerHTML="";null==a?mxUtils.write(m,mxResources.get("pageNotFound")):
-(E.style.display="none",f.style.display="none",I.style.display="",I.style.backgroundColor=f.style.backgroundColor,a=Editor.parseDiagramNode(a),(new mxCodec(a.ownerDocument)).decode(a,J.getModel()),J.view.scaleAndTranslate(n.view.scale,n.view.translate.x,n.view.translate.y))},null,function(){mxUtils.setOpacity(F,60);m.innerHTML="";"none"==f.style.display&&(E.style.display="",f.style.display="",I.style.display="none")});var E=document.createElement("div");E.style.position="absolute";E.style.textAlign=
-"right";E.style.color="gray";E.style.marginTop="10px";E.style.backgroundColor="transparent";E.style.top="440px";E.style.right="32px";E.style.maxWidth="380px";E.style.cursor="default";var K=mxUtils.button(mxResources.get("download"),function(){if(null!=z){var e=mxUtils.getXml(z.documentElement),b=a.getBaseFilename()+".drawio";a.isLocalFileSave()?a.saveLocalFile(e,b,"text/xml"):(e="undefined"===typeof pako?"&xml="+encodeURIComponent(e):"&data="+encodeURIComponent(Graph.compress(e)),(new mxXmlRequest(SAVE_URL,
-"filename="+encodeURIComponent(b)+"&format=xml"+e)).simulate(document,"_blank"))}});K.className="geBtn";K.setAttribute("disabled","disabled");var M=mxUtils.button(mxResources.get("restore"),function(e){null!=z&&null!=B&&(mxEvent.isShiftDown(e)?null!=z&&(e=a.getPagesForNode(z.documentElement),e=a.diffPages(a.pages,e),e=new TextareaDialog(a,mxResources.get("compare"),JSON.stringify(e,null,2),function(e){if(0<e.length)try{a.confirm(mxResources.get("areYouSure"),function(){u.patch([JSON.parse(e)],null,
-!0);a.hideDialog();a.hideDialog()})}catch(O){a.handleError(O)}},null,null,null,null,null,!0,null,mxResources.get("merge")),e.textarea.style.width="600px",e.textarea.style.height="380px",a.showDialog(e.container,620,460,!0,!0),e.init()):a.confirm(mxResources.get("areYouSure"),function(){null!=b?b(B):a.spinner.spin(document.body,mxResources.get("restoring"))&&u.save(!0,function(e){a.spinner.stop();a.replaceFileData(B);a.hideDialog()},function(e){a.spinner.stop();a.editor.setStatus("");a.handleError(e,
-null!=e?mxResources.get("errorSavingFile"):null)})}))});M.className="geBtn";M.setAttribute("disabled","disabled");var N=document.createElement("select");N.setAttribute("disabled","disabled");N.style.maxWidth="80px";N.style.position="relative";N.style.top="-2px";N.style.verticalAlign="bottom";N.style.marginRight="6px";N.style.display="none";var Y=null;mxEvent.addListener(N,"change",function(a){null!=Y&&(Y(a),mxEvent.consume(a))});var L=mxUtils.button(mxResources.get("edit"),function(){null!=z&&(window.openFile=
-new OpenFile(function(){window.openFile=null}),window.openFile.setData(mxUtils.getXml(z.documentElement)),a.openLink(a.getUrl(),null,!0))});L.className="geBtn";L.setAttribute("disabled","disabled");null!=b&&(L.style.display="none");var T=mxUtils.button(mxResources.get("show"),function(){null!=A&&a.openLink(A.getUrl(N.selectedIndex))});T.className="geBtn gePrimaryBtn";T.setAttribute("disabled","disabled");null!=b&&(T.style.display="none",M.className="geBtn gePrimaryBtn");q=document.createElement("div");
+n.getGlobalVariable=function(a){return"page"==a&&null!=k&&null!=k[l]?k[l].getAttribute("name"):"pagenumber"==a?l+1:"pagecount"==a?null!=k?k.length:1:p.apply(this,arguments)};n.getLinkForCell=function(){return null};Editor.MathJaxRender&&n.addListener(mxEvent.SIZE,mxUtils.bind(this,function(b,e){a.editor.graph.mathEnabled&&Editor.MathJaxRender(n.container)}));for(var t=new Spinner({lines:11,length:15,width:6,radius:10,corners:1,rotate:0,direction:1,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.4,
+trail:60,shadow:!1,hwaccel:!1,className:"spinner",zIndex:2E9,top:"50%",left:"50%"}),u=a.getCurrentFile(),q=a.getXmlFileData(!0,!1,!0).getElementsByTagName("diagram"),v={},z=0;z<q.length;z++)v[q[z].getAttribute("id")]=q[z];var x=null,B=null,y=null,C=null,A=mxUtils.button("",function(){null!=y&&n.zoomIn()});A.className="geSprite geSprite-zoomin";A.setAttribute("title",mxResources.get("zoomIn"));A.style.outline="none";A.style.border="none";A.style.margin="2px";A.setAttribute("disabled","disabled");mxUtils.setOpacity(A,
+20);var F=mxUtils.button("",function(){null!=y&&n.zoomOut()});F.className="geSprite geSprite-zoomout";F.setAttribute("title",mxResources.get("zoomOut"));F.style.outline="none";F.style.border="none";F.style.margin="2px";F.setAttribute("disabled","disabled");mxUtils.setOpacity(F,20);var D=mxUtils.button("",function(){null!=y&&(n.maxFitScale=8,n.fit(8),n.center())});D.className="geSprite geSprite-fit";D.setAttribute("title",mxResources.get("fit"));D.style.outline="none";D.style.border="none";D.style.margin=
+"2px";D.setAttribute("disabled","disabled");mxUtils.setOpacity(D,20);var G=mxUtils.button("",function(){null!=y&&(n.zoomActual(),n.center())});G.className="geSprite geSprite-actualsize";G.setAttribute("title",mxResources.get("actualSize"));G.style.outline="none";G.style.border="none";G.style.margin="2px";G.setAttribute("disabled","disabled");mxUtils.setOpacity(G,20);var E=mxUtils.button("",function(){});E.className="geSprite geSprite-middle";E.setAttribute("title",mxResources.get("compare"));E.style.outline=
+"none";E.style.border="none";E.style.margin="2px";mxUtils.setOpacity(E,60);var I=f.cloneNode(!1);I.style.pointerEvent="none";f.parentNode.appendChild(I);var J=new Graph(I);J.setTooltips(!1);J.setEnabled(!1);J.setPanning(!0);J.panningHandler.ignoreCell=!0;J.panningHandler.useLeftButtonForPanning=!0;J.minFitScale=null;J.maxFitScale=null;J.centerZoom=!0;mxEvent.addGestureListeners(E,function(a){a=v[k[e].getAttribute("id")];mxUtils.setOpacity(E,20);m.innerHTML="";null==a?mxUtils.write(m,mxResources.get("pageNotFound")):
+(H.style.display="none",f.style.display="none",I.style.display="",I.style.backgroundColor=f.style.backgroundColor,a=Editor.parseDiagramNode(a),(new mxCodec(a.ownerDocument)).decode(a,J.getModel()),J.view.scaleAndTranslate(n.view.scale,n.view.translate.x,n.view.translate.y))},null,function(){mxUtils.setOpacity(E,60);m.innerHTML="";"none"==f.style.display&&(H.style.display="",f.style.display="",I.style.display="none")});var H=document.createElement("div");H.style.position="absolute";H.style.textAlign=
+"right";H.style.color="gray";H.style.marginTop="10px";H.style.backgroundColor="transparent";H.style.top="440px";H.style.right="32px";H.style.maxWidth="380px";H.style.cursor="default";var K=mxUtils.button(mxResources.get("download"),function(){if(null!=y){var b=mxUtils.getXml(y.documentElement),e=a.getBaseFilename()+".drawio";a.isLocalFileSave()?a.saveLocalFile(b,e,"text/xml"):(b="undefined"===typeof pako?"&xml="+encodeURIComponent(b):"&data="+encodeURIComponent(Graph.compress(b)),(new mxXmlRequest(SAVE_URL,
+"filename="+encodeURIComponent(e)+"&format=xml"+b)).simulate(document,"_blank"))}});K.className="geBtn";K.setAttribute("disabled","disabled");var M=mxUtils.button(mxResources.get("restore"),function(e){null!=y&&null!=C&&(mxEvent.isShiftDown(e)?null!=y&&(e=a.getPagesForNode(y.documentElement),e=a.diffPages(a.pages,e),e=new TextareaDialog(a,mxResources.get("compare"),JSON.stringify(e,null,2),function(b){if(0<b.length)try{a.confirm(mxResources.get("areYouSure"),function(){u.patch([JSON.parse(b)],null,
+!0);a.hideDialog();a.hideDialog()})}catch(O){a.handleError(O)}},null,null,null,null,null,!0,null,mxResources.get("merge")),e.textarea.style.width="600px",e.textarea.style.height="380px",a.showDialog(e.container,620,460,!0,!0),e.init()):a.confirm(mxResources.get("areYouSure"),function(){null!=b?b(C):a.spinner.spin(document.body,mxResources.get("restoring"))&&u.save(!0,function(b){a.spinner.stop();a.replaceFileData(C);a.hideDialog()},function(b){a.spinner.stop();a.editor.setStatus("");a.handleError(b,
+null!=b?mxResources.get("errorSavingFile"):null)})}))});M.className="geBtn";M.setAttribute("disabled","disabled");var N=document.createElement("select");N.setAttribute("disabled","disabled");N.style.maxWidth="80px";N.style.position="relative";N.style.top="-2px";N.style.verticalAlign="bottom";N.style.marginRight="6px";N.style.display="none";var Y=null;mxEvent.addListener(N,"change",function(a){null!=Y&&(Y(a),mxEvent.consume(a))});var L=mxUtils.button(mxResources.get("edit"),function(){null!=y&&(window.openFile=
+new OpenFile(function(){window.openFile=null}),window.openFile.setData(mxUtils.getXml(y.documentElement)),a.openLink(a.getUrl(),null,!0))});L.className="geBtn";L.setAttribute("disabled","disabled");null!=b&&(L.style.display="none");var T=mxUtils.button(mxResources.get("show"),function(){null!=B&&a.openLink(B.getUrl(N.selectedIndex))});T.className="geBtn gePrimaryBtn";T.setAttribute("disabled","disabled");null!=b&&(T.style.display="none",M.className="geBtn gePrimaryBtn");q=document.createElement("div");
q.style.position="absolute";q.style.top="482px";q.style.width="640px";q.style.textAlign="right";var U=document.createElement("div");U.className="geToolbarContainer";U.style.backgroundColor="transparent";U.style.padding="2px";U.style.border="none";U.style.left="199px";U.style.top="442px";var X=null;if(null!=d&&0<d.length){f.style.cursor="move";var aa=document.createElement("table");aa.style.border="1px solid lightGray";aa.style.borderCollapse="collapse";aa.style.borderSpacing="0px";aa.style.width=
-"100%";var ca=document.createElement("tbody"),W=(new Date).toDateString();null!=a.currentPage&&null!=a.pages&&(e=mxUtils.indexOf(a.pages,a.currentPage));for(y=d.length-1;0<=y;y--){var V=function(b){var c=new Date(b.modifiedDate),g=null;if(0<=c.getTime()){var p=function(d){t.stop();m.innerHTML="";var p=mxUtils.parseXml(d),q=a.editor.extractGraphModel(p.documentElement,!0);if(null!=q){var x=function(a){null!=a&&(a=v(Editor.parseDiagramNode(a)));return a},v=function(a){var e=a.getAttribute("background");
-if(null==e||""==e||e==mxConstants.NONE)e=n.defaultPageBackgroundColor;f.style.backgroundColor=e;(new mxCodec(a.ownerDocument)).decode(a,n.getModel());n.maxFitScale=1;n.fit(8);n.center();return a};N.style.display="none";N.innerHTML="";z=p;B=d;k=parseSelectFunction=null;l=0;if("mxfile"==q.nodeName){p=q.getElementsByTagName("diagram");k=[];for(d=0;d<p.length;d++)k.push(p[d]);l=Math.min(e,k.length-1);0<k.length&&x(k[l]);if(1<k.length)for(N.removeAttribute("disabled"),N.style.display="",d=0;d<k.length;d++)p=
-document.createElement("option"),mxUtils.write(p,k[d].getAttribute("name")||mxResources.get("pageWithNumber",[d+1])),p.setAttribute("value",d),d==l&&p.setAttribute("selected","selected"),N.appendChild(p);Y=function(){try{var b=parseInt(N.value);l=e=b;x(k[b])}catch(Q){N.value=e,a.handleError(Q)}}}else v(q);d=b.lastModifyingUserName;null!=d&&20<d.length&&(d=d.substring(0,20)+"...");E.innerHTML="";mxUtils.write(E,(null!=d?d+" ":"")+c.toLocaleDateString()+" "+c.toLocaleTimeString());E.setAttribute("title",
-g.getAttribute("title"));C.removeAttribute("disabled");G.removeAttribute("disabled");D.removeAttribute("disabled");H.removeAttribute("disabled");F.removeAttribute("disabled");null!=u&&u.isRestricted()||(a.editor.graph.isEnabled()&&M.removeAttribute("disabled"),K.removeAttribute("disabled"),T.removeAttribute("disabled"),L.removeAttribute("disabled"));mxUtils.setOpacity(C,60);mxUtils.setOpacity(G,60);mxUtils.setOpacity(D,60);mxUtils.setOpacity(H,60);mxUtils.setOpacity(F,60)}else N.style.display="none",
-N.innerHTML="",E.innerHTML="",mxUtils.write(E,mxResources.get("errorLoadingFile")),mxUtils.write(m,mxResources.get("errorLoadingFile"))},g=document.createElement("tr");g.style.borderBottom="1px solid lightGray";g.style.fontSize="12px";g.style.cursor="pointer";var q=document.createElement("td");q.style.padding="6px";q.style.whiteSpace="nowrap";b==d[d.length-1]?mxUtils.write(q,mxResources.get("current")):c.toDateString()===W?mxUtils.write(q,c.toLocaleTimeString()):mxUtils.write(q,c.toLocaleDateString()+
-" "+c.toLocaleTimeString());g.appendChild(q);g.setAttribute("title",c.toLocaleDateString()+" "+c.toLocaleTimeString()+(null!=b.fileSize?" "+a.formatFileSize(parseInt(b.fileSize)):"")+(null!=b.lastModifyingUserName?" "+b.lastModifyingUserName:""));mxEvent.addListener(g,"click",function(a){A!=b&&(t.stop(),null!=v&&(v.style.backgroundColor=""),A=b,v=g,v.style.backgroundColor="dark"==uiTheme?"#000000":"#ebf2f9",B=z=null,E.removeAttribute("title"),E.innerHTML=mxUtils.htmlEntities(mxResources.get("loading")+
-"..."),f.style.backgroundColor=n.defaultPageBackgroundColor,m.innerHTML="",n.getModel().clear(),M.setAttribute("disabled","disabled"),K.setAttribute("disabled","disabled"),C.setAttribute("disabled","disabled"),G.setAttribute("disabled","disabled"),H.setAttribute("disabled","disabled"),D.setAttribute("disabled","disabled"),F.setAttribute("disabled","disabled"),L.setAttribute("disabled","disabled"),T.setAttribute("disabled","disabled"),N.setAttribute("disabled","disabled"),mxUtils.setOpacity(C,20),
-mxUtils.setOpacity(G,20),mxUtils.setOpacity(D,20),mxUtils.setOpacity(H,20),mxUtils.setOpacity(F,20),t.spin(f),b.getXml(function(a){if(A==b)try{p(a)}catch(S){E.innerHTML=mxUtils.htmlEntities(mxResources.get("error")+": "+S.message)}},function(a){t.stop();N.style.display="none";N.innerHTML="";E.innerHTML="";mxUtils.write(E,mxResources.get("errorLoadingFile"));mxUtils.write(m,mxResources.get("errorLoadingFile"))}),mxEvent.consume(a))});mxEvent.addListener(g,"dblclick",function(a){T.click();window.getSelection?
-window.getSelection().removeAllRanges():document.selection&&document.selection.empty();mxEvent.consume(a)},!1);ca.appendChild(g)}return g}(d[y]);null!=V&&y==d.length-1&&(X=V)}aa.appendChild(ca);g.appendChild(aa)}else null==u||null==a.drive&&u.constructor==window.DriveFile||null==a.dropbox&&u.constructor==window.DropboxFile?(f.style.display="none",U.style.display="none",mxUtils.write(g,mxResources.get("notAvailable"))):(f.style.display="none",U.style.display="none",mxUtils.write(g,mxResources.get("noRevisions")));
-this.init=function(){null!=X&&X.click()};g=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});g.className="geBtn";U.appendChild(N);U.appendChild(C);U.appendChild(G);U.appendChild(H);U.appendChild(D);U.appendChild(F);a.editor.cancelFirst?(q.appendChild(g),q.appendChild(K),q.appendChild(L),q.appendChild(M),q.appendChild(T)):(q.appendChild(K),q.appendChild(L),q.appendChild(M),q.appendChild(T),q.appendChild(g));c.appendChild(q);c.appendChild(U);c.appendChild(E);this.container=c},DraftDialog=
-function(a,d,b,c,g,f,m,n,e){var k=document.createElement("div"),l=document.createElement("div");l.style.marginTop="0px";l.style.whiteSpace="nowrap";l.style.overflow="auto";l.style.lineHeight="normal";mxUtils.write(l,d);k.appendChild(l);var p=document.createElement("select"),t=mxUtils.bind(this,function(){A=mxUtils.parseXml(e[p.value].data);z=a.editor.extractGraphModel(A.documentElement,!0);B=0;this.init()});if(null!=e){p.style.marginLeft="4px";for(d=0;d<e.length;d++){var u=document.createElement("option");
-u.setAttribute("value",d);var q=new Date(e[d].created),x=new Date(e[d].modified);mxUtils.write(u,q.toLocaleDateString()+" "+q.toLocaleTimeString()+" - "+(q.toDateString(),x.toDateString(),x.toLocaleDateString())+" "+x.toLocaleTimeString());p.appendChild(u)}l.appendChild(p);mxEvent.addListener(p,"change",t)}null==b&&(b=e[0].data);var y=document.createElement("div");y.style.position="absolute";y.style.border="1px solid lightGray";y.style.marginTop="10px";y.style.left="40px";y.style.right="40px";y.style.top=
-"46px";y.style.bottom="74px";y.style.overflow="hidden";mxEvent.disableContextMenu(y);k.appendChild(y);var v=new Graph(y);v.setEnabled(!1);v.setPanning(!0);v.panningHandler.ignoreCell=!0;v.panningHandler.useLeftButtonForPanning=!0;v.minFitScale=null;v.maxFitScale=null;v.centerZoom=!0;var A=mxUtils.parseXml(b),z=a.editor.extractGraphModel(A.documentElement,!0),B=0,C=null,G=v.getGlobalVariable;v.getGlobalVariable=function(a){return"page"==a&&null!=C&&null!=C[B]?C[B].getAttribute("name"):"pagenumber"==
-a?B+1:"pagecount"==a?null!=C?C.length:1:G.apply(this,arguments)};v.getLinkForCell=function(){return null};b=mxUtils.button("",function(){v.zoomIn()});b.className="geSprite geSprite-zoomin";b.setAttribute("title",mxResources.get("zoomIn"));b.style.outline="none";b.style.border="none";b.style.margin="2px";mxUtils.setOpacity(b,60);l=mxUtils.button("",function(){v.zoomOut()});l.className="geSprite geSprite-zoomout";l.setAttribute("title",mxResources.get("zoomOut"));l.style.outline="none";l.style.border=
-"none";l.style.margin="2px";mxUtils.setOpacity(l,60);d=mxUtils.button("",function(){v.maxFitScale=8;v.fit(8);v.center()});d.className="geSprite geSprite-fit";d.setAttribute("title",mxResources.get("fit"));d.style.outline="none";d.style.border="none";d.style.margin="2px";mxUtils.setOpacity(d,60);u=mxUtils.button("",function(){v.zoomActual();v.center()});u.className="geSprite geSprite-actualsize";u.setAttribute("title",mxResources.get("actualSize"));u.style.outline="none";u.style.border="none";u.style.margin=
+"100%";var ca=document.createElement("tbody"),W=(new Date).toDateString();null!=a.currentPage&&null!=a.pages&&(e=mxUtils.indexOf(a.pages,a.currentPage));for(z=d.length-1;0<=z;z--){var V=function(b){var c=new Date(b.modifiedDate),g=null;if(0<=c.getTime()){var p=function(d){t.stop();m.innerHTML="";var p=mxUtils.parseXml(d),q=a.editor.extractGraphModel(p.documentElement,!0);if(null!=q){var v=function(a){null!=a&&(a=x(Editor.parseDiagramNode(a)));return a},x=function(a){var b=a.getAttribute("background");
+if(null==b||""==b||b==mxConstants.NONE)b=n.defaultPageBackgroundColor;f.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,n.getModel());n.maxFitScale=1;n.fit(8);n.center();return a};N.style.display="none";N.innerHTML="";y=p;C=d;k=parseSelectFunction=null;l=0;if("mxfile"==q.nodeName){p=q.getElementsByTagName("diagram");k=[];for(d=0;d<p.length;d++)k.push(p[d]);l=Math.min(e,k.length-1);0<k.length&&v(k[l]);if(1<k.length)for(N.removeAttribute("disabled"),N.style.display="",d=0;d<k.length;d++)p=
+document.createElement("option"),mxUtils.write(p,k[d].getAttribute("name")||mxResources.get("pageWithNumber",[d+1])),p.setAttribute("value",d),d==l&&p.setAttribute("selected","selected"),N.appendChild(p);Y=function(){try{var b=parseInt(N.value);l=e=b;v(k[b])}catch(Q){N.value=e,a.handleError(Q)}}}else x(q);d=b.lastModifyingUserName;null!=d&&20<d.length&&(d=d.substring(0,20)+"...");H.innerHTML="";mxUtils.write(H,(null!=d?d+" ":"")+c.toLocaleDateString()+" "+c.toLocaleTimeString());H.setAttribute("title",
+g.getAttribute("title"));A.removeAttribute("disabled");F.removeAttribute("disabled");D.removeAttribute("disabled");G.removeAttribute("disabled");E.removeAttribute("disabled");null!=u&&u.isRestricted()||(a.editor.graph.isEnabled()&&M.removeAttribute("disabled"),K.removeAttribute("disabled"),T.removeAttribute("disabled"),L.removeAttribute("disabled"));mxUtils.setOpacity(A,60);mxUtils.setOpacity(F,60);mxUtils.setOpacity(D,60);mxUtils.setOpacity(G,60);mxUtils.setOpacity(E,60)}else N.style.display="none",
+N.innerHTML="",H.innerHTML="",mxUtils.write(H,mxResources.get("errorLoadingFile")),mxUtils.write(m,mxResources.get("errorLoadingFile"))},g=document.createElement("tr");g.style.borderBottom="1px solid lightGray";g.style.fontSize="12px";g.style.cursor="pointer";var q=document.createElement("td");q.style.padding="6px";q.style.whiteSpace="nowrap";b==d[d.length-1]?mxUtils.write(q,mxResources.get("current")):c.toDateString()===W?mxUtils.write(q,c.toLocaleTimeString()):mxUtils.write(q,c.toLocaleDateString()+
+" "+c.toLocaleTimeString());g.appendChild(q);g.setAttribute("title",c.toLocaleDateString()+" "+c.toLocaleTimeString()+(null!=b.fileSize?" "+a.formatFileSize(parseInt(b.fileSize)):"")+(null!=b.lastModifyingUserName?" "+b.lastModifyingUserName:""));mxEvent.addListener(g,"click",function(a){B!=b&&(t.stop(),null!=x&&(x.style.backgroundColor=""),B=b,x=g,x.style.backgroundColor="dark"==uiTheme?"#000000":"#ebf2f9",C=y=null,H.removeAttribute("title"),H.innerHTML=mxUtils.htmlEntities(mxResources.get("loading")+
+"..."),f.style.backgroundColor=n.defaultPageBackgroundColor,m.innerHTML="",n.getModel().clear(),M.setAttribute("disabled","disabled"),K.setAttribute("disabled","disabled"),A.setAttribute("disabled","disabled"),F.setAttribute("disabled","disabled"),G.setAttribute("disabled","disabled"),D.setAttribute("disabled","disabled"),E.setAttribute("disabled","disabled"),L.setAttribute("disabled","disabled"),T.setAttribute("disabled","disabled"),N.setAttribute("disabled","disabled"),mxUtils.setOpacity(A,20),
+mxUtils.setOpacity(F,20),mxUtils.setOpacity(D,20),mxUtils.setOpacity(G,20),mxUtils.setOpacity(E,20),t.spin(f),b.getXml(function(a){if(B==b)try{p(a)}catch(S){H.innerHTML=mxUtils.htmlEntities(mxResources.get("error")+": "+S.message)}},function(a){t.stop();N.style.display="none";N.innerHTML="";H.innerHTML="";mxUtils.write(H,mxResources.get("errorLoadingFile"));mxUtils.write(m,mxResources.get("errorLoadingFile"))}),mxEvent.consume(a))});mxEvent.addListener(g,"dblclick",function(a){T.click();window.getSelection?
+window.getSelection().removeAllRanges():document.selection&&document.selection.empty();mxEvent.consume(a)},!1);ca.appendChild(g)}return g}(d[z]);null!=V&&z==d.length-1&&(X=V)}aa.appendChild(ca);g.appendChild(aa)}else null==u||null==a.drive&&u.constructor==window.DriveFile||null==a.dropbox&&u.constructor==window.DropboxFile?(f.style.display="none",U.style.display="none",mxUtils.write(g,mxResources.get("notAvailable"))):(f.style.display="none",U.style.display="none",mxUtils.write(g,mxResources.get("noRevisions")));
+this.init=function(){null!=X&&X.click()};g=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});g.className="geBtn";U.appendChild(N);U.appendChild(A);U.appendChild(F);U.appendChild(G);U.appendChild(D);U.appendChild(E);a.editor.cancelFirst?(q.appendChild(g),q.appendChild(K),q.appendChild(L),q.appendChild(M),q.appendChild(T)):(q.appendChild(K),q.appendChild(L),q.appendChild(M),q.appendChild(T),q.appendChild(g));c.appendChild(q);c.appendChild(U);c.appendChild(H);this.container=c},DraftDialog=
+function(a,d,b,c,g,f,m,n,e){var k=document.createElement("div"),l=document.createElement("div");l.style.marginTop="0px";l.style.whiteSpace="nowrap";l.style.overflow="auto";l.style.lineHeight="normal";mxUtils.write(l,d);k.appendChild(l);var p=document.createElement("select"),t=mxUtils.bind(this,function(){B=mxUtils.parseXml(e[p.value].data);y=a.editor.extractGraphModel(B.documentElement,!0);C=0;this.init()});if(null!=e){p.style.marginLeft="4px";for(d=0;d<e.length;d++){var u=document.createElement("option");
+u.setAttribute("value",d);var q=new Date(e[d].created),v=new Date(e[d].modified);mxUtils.write(u,q.toLocaleDateString()+" "+q.toLocaleTimeString()+" - "+(q.toDateString(),v.toDateString(),v.toLocaleDateString())+" "+v.toLocaleTimeString());p.appendChild(u)}l.appendChild(p);mxEvent.addListener(p,"change",t)}null==b&&(b=e[0].data);var z=document.createElement("div");z.style.position="absolute";z.style.border="1px solid lightGray";z.style.marginTop="10px";z.style.left="40px";z.style.right="40px";z.style.top=
+"46px";z.style.bottom="74px";z.style.overflow="hidden";mxEvent.disableContextMenu(z);k.appendChild(z);var x=new Graph(z);x.setEnabled(!1);x.setPanning(!0);x.panningHandler.ignoreCell=!0;x.panningHandler.useLeftButtonForPanning=!0;x.minFitScale=null;x.maxFitScale=null;x.centerZoom=!0;var B=mxUtils.parseXml(b),y=a.editor.extractGraphModel(B.documentElement,!0),C=0,A=null,F=x.getGlobalVariable;x.getGlobalVariable=function(a){return"page"==a&&null!=A&&null!=A[C]?A[C].getAttribute("name"):"pagenumber"==
+a?C+1:"pagecount"==a?null!=A?A.length:1:F.apply(this,arguments)};x.getLinkForCell=function(){return null};b=mxUtils.button("",function(){x.zoomIn()});b.className="geSprite geSprite-zoomin";b.setAttribute("title",mxResources.get("zoomIn"));b.style.outline="none";b.style.border="none";b.style.margin="2px";mxUtils.setOpacity(b,60);l=mxUtils.button("",function(){x.zoomOut()});l.className="geSprite geSprite-zoomout";l.setAttribute("title",mxResources.get("zoomOut"));l.style.outline="none";l.style.border=
+"none";l.style.margin="2px";mxUtils.setOpacity(l,60);d=mxUtils.button("",function(){x.maxFitScale=8;x.fit(8);x.center()});d.className="geSprite geSprite-fit";d.setAttribute("title",mxResources.get("fit"));d.style.outline="none";d.style.border="none";d.style.margin="2px";mxUtils.setOpacity(d,60);u=mxUtils.button("",function(){x.zoomActual();x.center()});u.className="geSprite geSprite-actualsize";u.setAttribute("title",mxResources.get("actualSize"));u.style.outline="none";u.style.border="none";u.style.margin=
"2px";mxUtils.setOpacity(u,60);m=mxUtils.button(m||mxResources.get("discard"),function(){g.apply(this,[p.value,mxUtils.bind(this,function(){null!=p.parentNode&&(p.options[p.selectedIndex].parentNode.removeChild(p.options[p.selectedIndex]),0<p.options.length?(p.value=p.options[0].value,t()):a.hideDialog(!0))})])});m.className="geBtn";var D=document.createElement("select");D.style.maxWidth="80px";D.style.position="relative";D.style.top="-2px";D.style.verticalAlign="bottom";D.style.marginRight="6px";
-D.style.display="none";f=mxUtils.button(f||mxResources.get("edit"),function(){c.apply(this,[p.value])});f.className="geBtn gePrimaryBtn";q=document.createElement("div");q.style.position="absolute";q.style.bottom="30px";q.style.right="40px";q.style.textAlign="right";x=document.createElement("div");x.className="geToolbarContainer";x.style.cssText="box-shadow:none !important;background-color:transparent;padding:2px;border-style:none !important;bottom:30px;";this.init=function(){function a(a){if(null!=
-a){var e=a.getAttribute("background");if(null==e||""==e||e==mxConstants.NONE)e="dark"==uiTheme?"transparent":"#ffffff";y.style.backgroundColor=e;(new mxCodec(a.ownerDocument)).decode(a,v.getModel());v.maxFitScale=1;v.fit(8);v.center()}return a}function e(e){null!=e&&(e=a(Editor.parseDiagramNode(e)));return e}mxEvent.addListener(D,"change",function(a){B=parseInt(D.value);e(C[B]);mxEvent.consume(a)});if("mxfile"==z.nodeName){var b=z.getElementsByTagName("diagram");C=[];for(var c=0;c<b.length;c++)C.push(b[c]);
-0<C.length&&e(C[B]);D.innerHTML="";if(1<C.length)for(D.style.display="",c=0;c<C.length;c++)b=document.createElement("option"),mxUtils.write(b,C[c].getAttribute("name")||mxResources.get("pageWithNumber",[c+1])),b.setAttribute("value",c),c==B&&b.setAttribute("selected","selected"),D.appendChild(b);else D.style.display="none"}else a(z)};x.appendChild(D);x.appendChild(b);x.appendChild(l);x.appendChild(u);x.appendChild(d);b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});b.className=
-"geBtn";n=null!=n?mxUtils.button(mxResources.get("ignore"),n):null;null!=n&&(n.className="geBtn");a.editor.cancelFirst?(q.appendChild(b),null!=n&&q.appendChild(n),q.appendChild(m),q.appendChild(f)):(q.appendChild(f),q.appendChild(m),null!=n&&q.appendChild(n),q.appendChild(b));k.appendChild(q);k.appendChild(x);this.container=k},FindWindow=function(a,d,b,c,g,f){function m(a,e,b){if("object"===typeof e.value&&null!=e.value.attributes){e=e.value.attributes;for(var c=0;c<e.length;c++)if("label"!=e[c].nodeName){var d=
-mxUtils.trim(e[c].nodeValue.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase();if(null==a&&d.substring(0,b.length)===b||null!=a&&a.test(d))return!0}}return!1}function n(){u&&C.value?(K.removeAttribute("disabled"),M.removeAttribute("disabled")):(K.setAttribute("disabled","disabled"),M.setAttribute("disabled","disabled"));C.value&&B.value?N.removeAttribute("disabled"):N.setAttribute("disabled","disabled")}function e(b,c,d){J.innerHTML="";var k=l.model.getDescendants(l.model.getRoot()),g=B.value.toLowerCase(),
-z=G.checked?new RegExp(g):null,K=null;x=null;p!=g&&(p=g,t=null,q=!1);var v=null==t;if(0<g.length){if(q){q=!1;for(var C,M=0;M<a.pages.length;M++)if(a.currentPage==a.pages[M]){C=M;break}b=(C+1)%a.pages.length;t=null;do q=!1,k=a.pages[b],l=a.createTemporaryGraph(l.getStylesheet()),a.updatePageRoot(k),l.model.setRoot(k.root),b=(b+1)%a.pages.length;while(!e(!0,c,d)&&b!=C);t&&(t=null,d?a.editor.graph.model.execute(new SelectPage(a,k)):a.selectPage(k));q=!1;l=a.editor.graph;return e(!0,c,d)}for(M=0;M<k.length;M++){C=
-l.view.getState(k[M]);c&&null!=z&&(v=v||C==t);if(null!=C&&null!=C.cell.value&&(v||null==K)&&(l.model.isVertex(C.cell)||l.model.isEdge(C.cell))){null!=C.style&&"1"==C.style.html?(H.innerHTML=l.sanitizeHtml(l.getLabel(C.cell)),label=mxUtils.extractTextWithWhitespace([H])):label=l.getLabel(C.cell);label=mxUtils.trim(label.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase();var N=0;c&&f&&null!=z&&C==t&&(label=label.substr(y),N=y);if(null==z&&(label.substring(0,g.length)===g||!f&&m(z,C.cell,g))||null!=
-z&&(z.test(label)||!f&&m(z,C.cell,g))){if(f)if(null!=z){var L=label.match(z);x=L[0].toLowerCase();y=N+L.index+x.length}else x=g,y=x.length;if(v){K=C;break}else null==K&&(K=C)}}v=v||C==t}}if(null!=K){if(M==k.length&&D.checked)return t=null,q=!0,e(!0,c,d);t=K;l.scrollCellToVisible(t.cell);l.isEnabled()?d||l.getSelectionCell()==t.cell&&1==l.getSelectionCount()||l.setSelectionCell(t.cell):l.highlightCell(t.cell)}else{if(!b&&D.checked)return q=!0,e(!0,c,d);l.isEnabled()&&!d&&l.clearSelection()}u=null!=
-K;f&&!b&&n();return 0==g.length||null!=K}var k=a.actions.get("findReplace"),l=a.editor.graph,p=null,t=null,u=!1,q=!1,x=null,y=0,v=1,A=document.createElement("div");A.style.userSelect="none";A.style.overflow="hidden";A.style.padding="10px";A.style.height="100%";var z=f?"260px":"200px",B=document.createElement("input");B.setAttribute("placeholder",mxResources.get("find"));B.setAttribute("type","text");B.style.marginTop="4px";B.style.marginBottom="6px";B.style.width=z;B.style.fontSize="12px";B.style.borderRadius=
-"4px";B.style.padding="6px";A.appendChild(B);mxUtils.br(A);var C;f&&(C=document.createElement("input"),C.setAttribute("placeholder",mxResources.get("replaceWith")),C.setAttribute("type","text"),C.style.marginTop="4px",C.style.marginBottom="6px",C.style.width=z,C.style.fontSize="12px",C.style.borderRadius="4px",C.style.padding="6px",A.appendChild(C),mxUtils.br(A),mxEvent.addListener(C,"input",n));var G=document.createElement("input");G.setAttribute("id","geFindWinRegExChck");G.setAttribute("type",
-"checkbox");G.style.marginRight="4px";A.appendChild(G);z=document.createElement("label");z.setAttribute("for","geFindWinRegExChck");A.appendChild(z);mxUtils.write(z,mxResources.get("regularExpression"));A.appendChild(z);z=a.menus.createHelpLink("https://www.diagrams.net/doc/faq/find-shapes");z.style.position="relative";z.style.marginLeft="6px";z.style.top="-1px";A.appendChild(z);mxUtils.br(A);var D=document.createElement("input");D.setAttribute("id","geFindWinAllPagesChck");D.setAttribute("type",
-"checkbox");D.style.marginRight="4px";A.appendChild(D);z=document.createElement("label");z.setAttribute("for","geFindWinAllPagesChck");A.appendChild(z);mxUtils.write(z,mxResources.get("allPages"));A.appendChild(z);var H=document.createElement("div");mxUtils.br(A);z=document.createElement("div");z.style.left="0px";z.style.right="0px";z.style.marginTop="6px";z.style.padding="0 6px 0 6px";z.style.textAlign="center";A.appendChild(z);var F=mxUtils.button(mxResources.get("reset"),function(){J.innerHTML=
-"";B.value="";B.style.backgroundColor="";f&&(C.value="",n());p=t=null;q=!1;B.focus()});F.setAttribute("title",mxResources.get("reset"));F.style["float"]="none";F.style.width="120px";F.style.marginTop="6px";F.style.overflow="hidden";F.style.textOverflow="ellipsis";F.className="geBtn";f||z.appendChild(F);var I=mxUtils.button(mxResources.get("find"),function(){try{B.style.backgroundColor=e()?"":"dark"==uiTheme?"#ff0000":"#ffcfcf"}catch(L){a.handleError(L)}});I.setAttribute("title",mxResources.get("find")+
-" (Enter)");I.style["float"]="none";I.style.width="120px";I.style.marginTop="6px";I.style.overflow="hidden";I.style.textOverflow="ellipsis";I.className="geBtn gePrimaryBtn";z.appendChild(I);var J=document.createElement("div");J.style.marginTop="10px";if(f){var E=function(a,e,b,c,d){if(null==d||"1"!=d.html)return c=a.toLowerCase().indexOf(e,c),0>c?a:a.substr(0,c)+b+a.substr(c+e.length);var k=a;e=mxUtils.htmlEntities(e);d=[];for(var l=-1;-1<(l=a.indexOf("<",l+1));)d.push(l);l=a.match(/<[^>]*>/g);a=
-a.replace(/<[^>]*>/g,"");c=a.toLowerCase().indexOf(e,c);if(0>c)return k;k=c+e.length;b=mxUtils.htmlEntities(b);a=a.substr(0,c)+b+a.substr(k);for(var f=0,g=0;g<d.length;g++){if(d[g]-f<c)a=a.substr(0,d[g])+l[g]+a.substr(d[g]);else{var p=d[g]-f<k?c+f:d[g]+(b.length-e.length);a=a.substr(0,p)+l[g]+a.substr(p)}f+=l[g].length}return a},K=mxUtils.button(mxResources.get("replFind"),function(){try{if(null!=x&&null!=t&&C.value){var b=t.cell,c=l.getLabel(b);l.model.setValue(b,E(c,x,C.value,y-x.length,l.getCurrentCellStyle(b)));
-B.style.backgroundColor=e(!1,!0)?"":"dark"==uiTheme?"#ff0000":"#ffcfcf"}}catch(U){a.handleError(U)}});K.setAttribute("title",mxResources.get("replFind"));K.style["float"]="none";K.style.width="120px";K.style.marginTop="6px";K.style.overflow="hidden";K.style.textOverflow="ellipsis";K.className="geBtn gePrimaryBtn";K.setAttribute("disabled","disabled");z.appendChild(K);mxUtils.br(z);var M=mxUtils.button(mxResources.get("replace"),function(){try{if(null!=x&&null!=t&&C.value){var e=t.cell,b=l.getLabel(e);
-l.model.setValue(e,E(b,x,C.value,y-x.length,l.getCurrentCellStyle(e)));K.setAttribute("disabled","disabled");M.setAttribute("disabled","disabled")}}catch(U){a.handleError(U)}});M.setAttribute("title",mxResources.get("replace"));M.style["float"]="none";M.style.width="120px";M.style.marginTop="6px";M.style.overflow="hidden";M.style.textOverflow="ellipsis";M.className="geBtn gePrimaryBtn";M.setAttribute("disabled","disabled");z.appendChild(M);var N=mxUtils.button(mxResources.get("replaceAll"),function(){J.innerHTML=
-"";if(C.value){var b=a.currentPage,c=a.editor.graph.getSelectionCells();a.editor.graph.rendering=!1;l.getModel().beginUpdate();try{for(var d=0,k={};e(!1,!0,!0)&&100>d;){var f=t.cell,g=l.getLabel(f),p=k[f.id];if(p&&p.replAllMrk==v&&p.replAllPos>=y)break;k[f.id]={replAllMrk:v,replAllPos:y};l.model.setValue(f,E(g,x,C.value,y-x.length,l.getCurrentCellStyle(f)));d++}b!=a.currentPage&&a.editor.graph.model.execute(new SelectPage(a,b));mxUtils.write(J,mxResources.get("matchesRepl",[d]))}catch(V){a.handleError(V)}finally{l.getModel().endUpdate(),
-a.editor.graph.setSelectionCells(c),a.editor.graph.rendering=!0}v++}});N.setAttribute("title",mxResources.get("replaceAll"));N.style["float"]="none";N.style.width="120px";N.style.marginTop="6px";N.style.overflow="hidden";N.style.textOverflow="ellipsis";N.className="geBtn gePrimaryBtn";N.setAttribute("disabled","disabled");z.appendChild(N);mxUtils.br(z);z.appendChild(F);F=mxUtils.button(mxResources.get("close"),mxUtils.bind(this,function(){this.window.setVisible(!1)}));F.setAttribute("title",mxResources.get("close"));
-F.style["float"]="none";F.style.width="120px";F.style.marginTop="6px";F.style.overflow="hidden";F.style.textOverflow="ellipsis";F.className="geBtn";z.appendChild(F);mxUtils.br(z);z.appendChild(J)}else F.style.width="90px",I.style.width="90px";mxEvent.addListener(B,"keyup",function(a){if(91==a.keyCode||93==a.keyCode||17==a.keyCode)mxEvent.consume(a);else if(27==a.keyCode)k.funct();else if(p!=B.value.toLowerCase()||13==a.keyCode)try{B.style.backgroundColor=e()?"":"dark"==uiTheme?"#ff0000":"#ffcfcf"}catch(T){B.style.backgroundColor=
-"dark"==uiTheme?"#ff0000":"#ffcfcf"}});mxEvent.addListener(A,"keydown",function(e){70==e.keyCode&&a.keyHandler.isControlDown(e)&&!mxEvent.isShiftDown(e)&&(k.funct(),mxEvent.consume(e))});this.window=new mxWindow(mxResources.get("find")+(f?"/"+mxResources.get("replace"):""),A,d,b,c,g,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.fit();this.window.isVisible()?
-(B.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?B.select():document.execCommand("selectAll",!1,null),null!=a.pages&&1<a.pages.length?D.removeAttribute("disabled"):(D.checked=!1,D.setAttribute("disabled","disabled"))):l.container.focus()}));this.window.setLocation=function(a,e){var b=window.innerHeight||document.body.clientHeight||document.documentElement.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.body.clientWidth||document.documentElement.clientWidth)-this.table.clientWidth));
-e=Math.max(0,Math.min(e,b-this.table.clientHeight-48));this.getX()==a&&this.getY()==e||mxWindow.prototype.setLocation.apply(this,arguments)};var Y=mxUtils.bind(this,function(){var a=this.window.getX(),e=this.window.getY();this.window.setLocation(a,e)});mxEvent.addListener(window,"resize",Y);this.destroy=function(){mxEvent.removeListener(window,"resize",Y);this.window.destroy()}},FreehandWindow=function(a,d,b,c,g){var f=a.editor.graph;a=document.createElement("div");a.style.userSelect="none";a.style.overflow=
+D.style.display="none";f=mxUtils.button(f||mxResources.get("edit"),function(){c.apply(this,[p.value])});f.className="geBtn gePrimaryBtn";q=document.createElement("div");q.style.position="absolute";q.style.bottom="30px";q.style.right="40px";q.style.textAlign="right";v=document.createElement("div");v.className="geToolbarContainer";v.style.cssText="box-shadow:none !important;background-color:transparent;padding:2px;border-style:none !important;bottom:30px;";this.init=function(){function a(a){if(null!=
+a){var b=a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="dark"==uiTheme?"transparent":"#ffffff";z.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,x.getModel());x.maxFitScale=1;x.fit(8);x.center()}return a}function b(b){null!=b&&(b=a(Editor.parseDiagramNode(b)));return b}mxEvent.addListener(D,"change",function(a){C=parseInt(D.value);b(A[C]);mxEvent.consume(a)});if("mxfile"==y.nodeName){var e=y.getElementsByTagName("diagram");A=[];for(var c=0;c<e.length;c++)A.push(e[c]);
+0<A.length&&b(A[C]);D.innerHTML="";if(1<A.length)for(D.style.display="",c=0;c<A.length;c++)e=document.createElement("option"),mxUtils.write(e,A[c].getAttribute("name")||mxResources.get("pageWithNumber",[c+1])),e.setAttribute("value",c),c==C&&e.setAttribute("selected","selected"),D.appendChild(e);else D.style.display="none"}else a(y)};v.appendChild(D);v.appendChild(b);v.appendChild(l);v.appendChild(u);v.appendChild(d);b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});b.className=
+"geBtn";n=null!=n?mxUtils.button(mxResources.get("ignore"),n):null;null!=n&&(n.className="geBtn");a.editor.cancelFirst?(q.appendChild(b),null!=n&&q.appendChild(n),q.appendChild(m),q.appendChild(f)):(q.appendChild(f),q.appendChild(m),null!=n&&q.appendChild(n),q.appendChild(b));k.appendChild(q);k.appendChild(v);this.container=k},FindWindow=function(a,d,b,c,g,f){function m(a,b,e){if("object"===typeof b.value&&null!=b.value.attributes){b=b.value.attributes;for(var c=0;c<b.length;c++)if("label"!=b[c].nodeName){var d=
+mxUtils.trim(b[c].nodeValue.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase();if(null==a&&d.substring(0,e.length)===e||null!=a&&a.test(d))return!0}}return!1}function n(){u&&A.value?(K.removeAttribute("disabled"),M.removeAttribute("disabled")):(K.setAttribute("disabled","disabled"),M.setAttribute("disabled","disabled"));A.value&&C.value?N.removeAttribute("disabled"):N.setAttribute("disabled","disabled")}function e(b,c,d){J.innerHTML="";var k=l.model.getDescendants(l.model.getRoot()),g=C.value.toLowerCase(),
+y=F.checked?new RegExp(g):null,K=null;v=null;p!=g&&(p=g,t=null,q=!1);var x=null==t;if(0<g.length){if(q){q=!1;for(var A,M=0;M<a.pages.length;M++)if(a.currentPage==a.pages[M]){A=M;break}b=(A+1)%a.pages.length;t=null;do q=!1,k=a.pages[b],l=a.createTemporaryGraph(l.getStylesheet()),a.updatePageRoot(k),l.model.setRoot(k.root),b=(b+1)%a.pages.length;while(!e(!0,c,d)&&b!=A);t&&(t=null,d?a.editor.graph.model.execute(new SelectPage(a,k)):a.selectPage(k));q=!1;l=a.editor.graph;return e(!0,c,d)}for(M=0;M<k.length;M++){A=
+l.view.getState(k[M]);c&&null!=y&&(x=x||A==t);if(null!=A&&null!=A.cell.value&&(x||null==K)&&(l.model.isVertex(A.cell)||l.model.isEdge(A.cell))){null!=A.style&&"1"==A.style.html?(G.innerHTML=l.sanitizeHtml(l.getLabel(A.cell)),label=mxUtils.extractTextWithWhitespace([G])):label=l.getLabel(A.cell);label=mxUtils.trim(label.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase();var N=0;c&&f&&null!=y&&A==t&&(label=label.substr(z),N=z);if(null==y&&(label.substring(0,g.length)===g||!f&&m(y,A.cell,g))||null!=
+y&&(y.test(label)||!f&&m(y,A.cell,g))){if(f)if(null!=y){var L=label.match(y);v=L[0].toLowerCase();z=N+L.index+v.length}else v=g,z=v.length;if(x){K=A;break}else null==K&&(K=A)}}x=x||A==t}}if(null!=K){if(M==k.length&&D.checked)return t=null,q=!0,e(!0,c,d);t=K;l.scrollCellToVisible(t.cell);l.isEnabled()?d||l.getSelectionCell()==t.cell&&1==l.getSelectionCount()||l.setSelectionCell(t.cell):l.highlightCell(t.cell)}else{if(!b&&D.checked)return q=!0,e(!0,c,d);l.isEnabled()&&!d&&l.clearSelection()}u=null!=
+K;f&&!b&&n();return 0==g.length||null!=K}var k=a.actions.get("findReplace"),l=a.editor.graph,p=null,t=null,u=!1,q=!1,v=null,z=0,x=1,B=document.createElement("div");B.style.userSelect="none";B.style.overflow="hidden";B.style.padding="10px";B.style.height="100%";var y=f?"260px":"200px",C=document.createElement("input");C.setAttribute("placeholder",mxResources.get("find"));C.setAttribute("type","text");C.style.marginTop="4px";C.style.marginBottom="6px";C.style.width=y;C.style.fontSize="12px";C.style.borderRadius=
+"4px";C.style.padding="6px";B.appendChild(C);mxUtils.br(B);var A;f&&(A=document.createElement("input"),A.setAttribute("placeholder",mxResources.get("replaceWith")),A.setAttribute("type","text"),A.style.marginTop="4px",A.style.marginBottom="6px",A.style.width=y,A.style.fontSize="12px",A.style.borderRadius="4px",A.style.padding="6px",B.appendChild(A),mxUtils.br(B),mxEvent.addListener(A,"input",n));var F=document.createElement("input");F.setAttribute("id","geFindWinRegExChck");F.setAttribute("type",
+"checkbox");F.style.marginRight="4px";B.appendChild(F);y=document.createElement("label");y.setAttribute("for","geFindWinRegExChck");B.appendChild(y);mxUtils.write(y,mxResources.get("regularExpression"));B.appendChild(y);y=a.menus.createHelpLink("https://www.diagrams.net/doc/faq/find-shapes");y.style.position="relative";y.style.marginLeft="6px";y.style.top="-1px";B.appendChild(y);mxUtils.br(B);var D=document.createElement("input");D.setAttribute("id","geFindWinAllPagesChck");D.setAttribute("type",
+"checkbox");D.style.marginRight="4px";B.appendChild(D);y=document.createElement("label");y.setAttribute("for","geFindWinAllPagesChck");B.appendChild(y);mxUtils.write(y,mxResources.get("allPages"));B.appendChild(y);var G=document.createElement("div");mxUtils.br(B);y=document.createElement("div");y.style.left="0px";y.style.right="0px";y.style.marginTop="6px";y.style.padding="0 6px 0 6px";y.style.textAlign="center";B.appendChild(y);var E=mxUtils.button(mxResources.get("reset"),function(){J.innerHTML=
+"";C.value="";C.style.backgroundColor="";f&&(A.value="",n());p=t=null;q=!1;C.focus()});E.setAttribute("title",mxResources.get("reset"));E.style["float"]="none";E.style.width="120px";E.style.marginTop="6px";E.style.overflow="hidden";E.style.textOverflow="ellipsis";E.className="geBtn";f||y.appendChild(E);var I=mxUtils.button(mxResources.get("find"),function(){try{C.style.backgroundColor=e()?"":"dark"==uiTheme?"#ff0000":"#ffcfcf"}catch(L){a.handleError(L)}});I.setAttribute("title",mxResources.get("find")+
+" (Enter)");I.style["float"]="none";I.style.width="120px";I.style.marginTop="6px";I.style.overflow="hidden";I.style.textOverflow="ellipsis";I.className="geBtn gePrimaryBtn";y.appendChild(I);var J=document.createElement("div");J.style.marginTop="10px";if(f){var H=function(a,b,e,c,d){if(null==d||"1"!=d.html)return c=a.toLowerCase().indexOf(b,c),0>c?a:a.substr(0,c)+e+a.substr(c+b.length);var k=a;b=mxUtils.htmlEntities(b);d=[];for(var l=-1;-1<(l=a.indexOf("<",l+1));)d.push(l);l=a.match(/<[^>]*>/g);a=
+a.replace(/<[^>]*>/g,"");c=a.toLowerCase().indexOf(b,c);if(0>c)return k;k=c+b.length;e=mxUtils.htmlEntities(e);a=a.substr(0,c)+e+a.substr(k);for(var f=0,g=0;g<d.length;g++){if(d[g]-f<c)a=a.substr(0,d[g])+l[g]+a.substr(d[g]);else{var p=d[g]-f<k?c+f:d[g]+(e.length-b.length);a=a.substr(0,p)+l[g]+a.substr(p)}f+=l[g].length}return a},K=mxUtils.button(mxResources.get("replFind"),function(){try{if(null!=v&&null!=t&&A.value){var b=t.cell,c=l.getLabel(b);l.model.setValue(b,H(c,v,A.value,z-v.length,l.getCurrentCellStyle(b)));
+C.style.backgroundColor=e(!1,!0)?"":"dark"==uiTheme?"#ff0000":"#ffcfcf"}}catch(U){a.handleError(U)}});K.setAttribute("title",mxResources.get("replFind"));K.style["float"]="none";K.style.width="120px";K.style.marginTop="6px";K.style.overflow="hidden";K.style.textOverflow="ellipsis";K.className="geBtn gePrimaryBtn";K.setAttribute("disabled","disabled");y.appendChild(K);mxUtils.br(y);var M=mxUtils.button(mxResources.get("replace"),function(){try{if(null!=v&&null!=t&&A.value){var b=t.cell,e=l.getLabel(b);
+l.model.setValue(b,H(e,v,A.value,z-v.length,l.getCurrentCellStyle(b)));K.setAttribute("disabled","disabled");M.setAttribute("disabled","disabled")}}catch(U){a.handleError(U)}});M.setAttribute("title",mxResources.get("replace"));M.style["float"]="none";M.style.width="120px";M.style.marginTop="6px";M.style.overflow="hidden";M.style.textOverflow="ellipsis";M.className="geBtn gePrimaryBtn";M.setAttribute("disabled","disabled");y.appendChild(M);var N=mxUtils.button(mxResources.get("replaceAll"),function(){J.innerHTML=
+"";if(A.value){var b=a.currentPage,c=a.editor.graph.getSelectionCells();a.editor.graph.rendering=!1;l.getModel().beginUpdate();try{for(var d=0,k={};e(!1,!0,!0)&&100>d;){var f=t.cell,g=l.getLabel(f),p=k[f.id];if(p&&p.replAllMrk==x&&p.replAllPos>=z)break;k[f.id]={replAllMrk:x,replAllPos:z};l.model.setValue(f,H(g,v,A.value,z-v.length,l.getCurrentCellStyle(f)));d++}b!=a.currentPage&&a.editor.graph.model.execute(new SelectPage(a,b));mxUtils.write(J,mxResources.get("matchesRepl",[d]))}catch(V){a.handleError(V)}finally{l.getModel().endUpdate(),
+a.editor.graph.setSelectionCells(c),a.editor.graph.rendering=!0}x++}});N.setAttribute("title",mxResources.get("replaceAll"));N.style["float"]="none";N.style.width="120px";N.style.marginTop="6px";N.style.overflow="hidden";N.style.textOverflow="ellipsis";N.className="geBtn gePrimaryBtn";N.setAttribute("disabled","disabled");y.appendChild(N);mxUtils.br(y);y.appendChild(E);E=mxUtils.button(mxResources.get("close"),mxUtils.bind(this,function(){this.window.setVisible(!1)}));E.setAttribute("title",mxResources.get("close"));
+E.style["float"]="none";E.style.width="120px";E.style.marginTop="6px";E.style.overflow="hidden";E.style.textOverflow="ellipsis";E.className="geBtn";y.appendChild(E);mxUtils.br(y);y.appendChild(J)}else E.style.width="90px",I.style.width="90px";mxEvent.addListener(C,"keyup",function(a){if(91==a.keyCode||93==a.keyCode||17==a.keyCode)mxEvent.consume(a);else if(27==a.keyCode)k.funct();else if(p!=C.value.toLowerCase()||13==a.keyCode)try{C.style.backgroundColor=e()?"":"dark"==uiTheme?"#ff0000":"#ffcfcf"}catch(T){C.style.backgroundColor=
+"dark"==uiTheme?"#ff0000":"#ffcfcf"}});mxEvent.addListener(B,"keydown",function(b){70==b.keyCode&&a.keyHandler.isControlDown(b)&&!mxEvent.isShiftDown(b)&&(k.funct(),mxEvent.consume(b))});this.window=new mxWindow(mxResources.get("find")+(f?"/"+mxResources.get("replace"):""),B,d,b,c,g,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.fit();this.window.isVisible()?
+(C.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?C.select():document.execCommand("selectAll",!1,null),null!=a.pages&&1<a.pages.length?D.removeAttribute("disabled"):(D.checked=!1,D.setAttribute("disabled","disabled"))):l.container.focus()}));this.window.setLocation=function(a,b){var e=window.innerHeight||document.body.clientHeight||document.documentElement.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.body.clientWidth||document.documentElement.clientWidth)-this.table.clientWidth));
+b=Math.max(0,Math.min(b,e-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var Y=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",Y);this.destroy=function(){mxEvent.removeListener(window,"resize",Y);this.window.destroy()}},FreehandWindow=function(a,d,b,c,g){var f=a.editor.graph;a=document.createElement("div");a.style.userSelect="none";a.style.overflow=
"hidden";a.style.height="100%";var m=mxUtils.button(mxResources.get("startDrawing"),function(){f.freehand.isDrawing()&&f.freehand.stopDrawing();f.freehand.startDrawing()});m.setAttribute("title",mxResources.get("startDrawing"));m.style.marginTop="8px";m.style.marginRight="4px";m.style.width="160px";m.style.overflow="hidden";m.style.textOverflow="ellipsis";m.style.textAlign="center";m.className="geBtn gePrimaryBtn";a.appendChild(m);var n=m.cloneNode(!1);mxUtils.write(n,mxResources.get("stopDrawing"));
n.setAttribute("title",mxResources.get("stopDrawing"));n.style.marginTop="4px";mxEvent.addListener(n,"click",function(){f.freehand.stopDrawing()});a.appendChild(n);this.window=new mxWindow(mxResources.get("freehand"),a,d,b,c,g,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);this.window.setClosable(!0);f.addListener("freehandStateChanged",mxUtils.bind(this,function(){n.className="geBtn"+(f.freehand.isDrawing()?" gePrimaryBtn":"")}));this.window.addListener("show",
-mxUtils.bind(this,function(){this.window.fit()}));this.window.addListener("hide",mxUtils.bind(this,function(){f.freehand.isDrawing()&&f.freehand.stopDrawing()}));this.window.setLocation=function(a,e){var b=window.innerHeight||document.body.clientHeight||document.documentElement.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.body.clientWidth||document.documentElement.clientWidth)-this.table.clientWidth));e=Math.max(0,Math.min(e,b-this.table.clientHeight-48));this.getX()==a&&this.getY()==
-e||mxWindow.prototype.setLocation.apply(this,arguments)};var e=mxUtils.bind(this,function(){var a=this.window.getX(),e=this.window.getY();this.window.setLocation(a,e)});mxEvent.addListener(window,"resize",e);this.destroy=function(){mxEvent.removeListener(window,"resize",e);this.window.destroy()}},TagsWindow=function(a,d,b,c,g){var f=a.editor.graph,m="tags",n=document.createElement("div");n.style.userSelect="none";n.style.overflow="hidden";n.style.padding="10px";n.style.height="100%";var e=document.createElement("input");
-e.setAttribute("placeholder",mxResources.get("allTags"));e.setAttribute("type","text");e.style.marginTop="4px";e.style.width="260px";e.style.fontSize="12px";e.style.borderRadius="4px";e.style.padding="6px";n.appendChild(e);if(!a.isOffline()||mxClient.IS_CHROMEAPP){e.style.width="240px";var k=a.menus.createHelpLink("https://www.diagrams.net/doc/faq/tags-plugin");k.firstChild.style.marginBottom="6px";k.style.marginLeft="6px";n.appendChild(k)}mxEvent.addListener(e,"dblclick",function(){var e=new FilenameDialog(a,
-m,mxResources.get("ok"),mxUtils.bind(this,function(a){null!=a&&0<a.length&&(m=a)}),mxResources.get("enterPropertyName"));a.showDialog(e.container,300,80,!0,!0);e.init()});e.setAttribute("title",mxResources.get("doubleClickChangeProperty"));mxUtils.br(n);k=mxUtils.button(mxResources.get("hide"),function(){var a=f.getCellsForTags(e.value.split(" "),void 0,m,!0);f.setCellsVisible(a,!1)});k.setAttribute("title",mxResources.get("hide"));k.style.marginTop="8px";k.style.marginRight="4px";k.className="geBtn";
+mxUtils.bind(this,function(){this.window.fit()}));this.window.addListener("hide",mxUtils.bind(this,function(){f.freehand.isDrawing()&&f.freehand.stopDrawing()}));this.window.setLocation=function(a,b){var e=window.innerHeight||document.body.clientHeight||document.documentElement.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.body.clientWidth||document.documentElement.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,e-this.table.clientHeight-48));this.getX()==a&&this.getY()==
+b||mxWindow.prototype.setLocation.apply(this,arguments)};var e=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",e);this.destroy=function(){mxEvent.removeListener(window,"resize",e);this.window.destroy()}},TagsWindow=function(a,d,b,c,g){var f=a.editor.graph,m="tags",n=document.createElement("div");n.style.userSelect="none";n.style.overflow="hidden";n.style.padding="10px";n.style.height="100%";var e=document.createElement("input");
+e.setAttribute("placeholder",mxResources.get("allTags"));e.setAttribute("type","text");e.style.marginTop="4px";e.style.width="260px";e.style.fontSize="12px";e.style.borderRadius="4px";e.style.padding="6px";n.appendChild(e);if(!a.isOffline()||mxClient.IS_CHROMEAPP){e.style.width="240px";var k=a.menus.createHelpLink("https://www.diagrams.net/doc/faq/tags-plugin");k.firstChild.style.marginBottom="6px";k.style.marginLeft="6px";n.appendChild(k)}mxEvent.addListener(e,"dblclick",function(){var b=new FilenameDialog(a,
+m,mxResources.get("ok"),mxUtils.bind(this,function(a){null!=a&&0<a.length&&(m=a)}),mxResources.get("enterPropertyName"));a.showDialog(b.container,300,80,!0,!0);b.init()});e.setAttribute("title",mxResources.get("doubleClickChangeProperty"));mxUtils.br(n);k=mxUtils.button(mxResources.get("hide"),function(){var a=f.getCellsForTags(e.value.split(" "),void 0,m,!0);f.setCellsVisible(a,!1)});k.setAttribute("title",mxResources.get("hide"));k.style.marginTop="8px";k.style.marginRight="4px";k.className="geBtn";
n.appendChild(k);k=mxUtils.button(mxResources.get("show"),function(){var a=f.getCellsForTags(e.value.split(" "),void 0,m,!0);f.setCellsVisible(a,!0);if(f.isEnabled()){for(var b=[],c=0;c<a.length;c++)(f.model.isVertex(a[c])||f.model.isEdge(a[c]))&&b.push(a[c]);f.setSelectionCells(b)}else for(c=0;c<a.length;c++)f.highlightCell(a[c])});k.setAttribute("title",mxResources.get("show"));k.style.marginTop="8px";k.style.marginRight="4px";k.className="geBtn";n.appendChild(k);var l=a.actions.get("tags"),k=mxUtils.button(mxResources.get("close"),
function(){l.funct()});k.setAttribute("title",mxResources.get("close")+" (Enter/Esc)");k.style.marginTop="8px";k.className="geBtn gePrimaryBtn";n.appendChild(k);mxEvent.addListener(e,"keyup",function(a){13!=a.keyCode&&27!=a.keyCode||l.funct()});this.window=new mxWindow(mxResources.get("tags"),n,d,b,c,g,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.fit();
-this.window.isVisible()?(e.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?e.select():document.execCommand("selectAll",!1,null)):f.container.focus()}));this.window.setLocation=function(a,e){var b=window.innerHeight||document.body.clientHeight||document.documentElement.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.body.clientWidth||document.documentElement.clientWidth)-this.table.clientWidth));e=Math.max(0,Math.min(e,b-this.table.clientHeight-48));this.getX()==
-a&&this.getY()==e||mxWindow.prototype.setLocation.apply(this,arguments)};var p=mxUtils.bind(this,function(){var a=this.window.getX(),e=this.window.getY();this.window.setLocation(a,e)});mxEvent.addListener(window,"resize",p);this.destroy=function(){mxEvent.removeListener(window,"resize",p);this.window.destroy()}},AuthDialog=function(a,d,b,c){var g=document.createElement("div");g.style.textAlign="center";var f=document.createElement("p");f.style.fontSize="16pt";f.style.padding="0px";f.style.margin=
+this.window.isVisible()?(e.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?e.select():document.execCommand("selectAll",!1,null)):f.container.focus()}));this.window.setLocation=function(a,b){var e=window.innerHeight||document.body.clientHeight||document.documentElement.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.body.clientWidth||document.documentElement.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,e-this.table.clientHeight-48));this.getX()==
+a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var p=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",p);this.destroy=function(){mxEvent.removeListener(window,"resize",p);this.window.destroy()}},AuthDialog=function(a,d,b,c){var g=document.createElement("div");g.style.textAlign="center";var f=document.createElement("p");f.style.fontSize="16pt";f.style.padding="0px";f.style.margin=
"0px";f.style.color="gray";mxUtils.write(f,mxResources.get("authorizationRequired"));var m="Unknown",n=document.createElement("img");n.setAttribute("border","0");n.setAttribute("align","absmiddle");n.style.marginRight="10px";d==a.drive?(m=mxResources.get("googleDrive"),n.src=IMAGE_PATH+"/google-drive-logo-white.svg"):d==a.dropbox?(m=mxResources.get("dropbox"),n.src=IMAGE_PATH+"/dropbox-logo-white.svg"):d==a.oneDrive?(m=mxResources.get("oneDrive"),n.src=IMAGE_PATH+"/onedrive-logo-white.svg"):d==a.gitHub?
(m=mxResources.get("github"),n.src=IMAGE_PATH+"/github-logo-white.svg"):d==a.gitLab?(m=mxResources.get("gitlab"),n.src=IMAGE_PATH+"/gitlab-logo.svg",n.style.width="32px"):d==a.trello&&(m=mxResources.get("trello"),n.src=IMAGE_PATH+"/trello-logo-white.svg");a=document.createElement("p");mxUtils.write(a,mxResources.get("authorizeThisAppIn",[m]));var e=document.createElement("input");e.setAttribute("type","checkbox");m=mxUtils.button(mxResources.get("authorize"),function(){c(e.checked)});m.insertBefore(n,
m.firstChild);m.style.marginTop="6px";m.className="geBigButton";m.style.fontSize="18px";m.style.padding="14px";g.appendChild(f);g.appendChild(a);g.appendChild(m);b&&(b=document.createElement("p"),b.style.marginTop="20px",b.appendChild(e),f=document.createElement("span"),mxUtils.write(f," "+mxResources.get("rememberMe")),b.appendChild(f),g.appendChild(b),e.checked=!0,e.defaultChecked=!0,mxEvent.addListener(f,"click",function(a){e.checked=!e.checked;mxEvent.consume(a)}));this.container=g},MoreShapesDialog=
function(a,d,b){b=null!=b?b:a.sidebar.entries;var c=document.createElement("div"),g=[];if(null!=a.sidebar.customEntries)for(var f=0;f<a.sidebar.customEntries.length;f++){for(var m=a.sidebar.customEntries[f],n={title:a.getResource(m.title),entries:[]},e=0;e<m.entries.length;e++){var k=m.entries[e];n.entries.push({id:k.id,title:a.getResource(k.title),desc:a.getResource(k.desc),image:k.preview})}g.push(n)}for(f=0;f<b.length;f++)if(null==a.sidebar.enabledLibraries)g.push(b[f]);else{n={title:b[f].title,
-entries:[]};for(e=0;e<b[f].entries.length;e++)0<=mxUtils.indexOf(a.sidebar.enabledLibraries,b[f].entries[e].id)&&n.entries.push(b[f].entries[e]);0<n.entries.length&&g.push(n)}b=g;if(d){f=mxUtils.bind(this,function(e){for(var b=0;b<e.length;b++)(function(e){var c=q.cloneNode(!1);c.style.fontWeight="bold";c.style.backgroundColor="dark"==uiTheme?"#505759":"#e5e5e5";c.style.padding="6px 0px 6px 20px";mxUtils.write(c,e.title);l.appendChild(c);for(var d=0;d<e.entries.length;d++)(function(e){var c=q.cloneNode(!1);
-c.style.cursor="pointer";c.style.padding="4px 0px 4px 20px";c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.style.textOverflow="ellipsis";c.setAttribute("title",e.title+" ("+e.id+")");var k=document.createElement("input");k.setAttribute("type","checkbox");k.checked=a.sidebar.isEntryVisible(e.id);k.defaultChecked=k.checked;c.appendChild(k);mxUtils.write(c," "+e.title);l.appendChild(c);var f=function(a){if(null==a||"INPUT"!=mxEvent.getSource(a).nodeName){p.style.textAlign="center";p.style.padding=
-"0px";p.style.color="";p.innerHTML="";if(null!=e.desc){var b=document.createElement("pre");b.style.boxSizing="border-box";b.style.fontFamily="inherit";b.style.margin="20px";b.style.right="0px";b.style.textAlign="left";mxUtils.write(b,e.desc);p.appendChild(b)}null!=e.imageCallback?e.imageCallback(p):null!=e.image?p.innerHTML+='<img border="0" src="'+e.image+'"/>':null==e.desc&&(p.style.padding="20px",p.style.color="rgb(179, 179, 179)",mxUtils.write(p,mxResources.get("noPreview")));null!=t&&(t.style.backgroundColor=
-"");t=c;t.style.backgroundColor="dark"==uiTheme?"#000000":"#ebf2f9";null!=a&&mxEvent.consume(a)}};mxEvent.addListener(c,"click",f);mxEvent.addListener(c,"dblclick",function(a){k.checked=!k.checked;mxEvent.consume(a)});u.push(function(){return k.checked?e.id:null});0==b&&0==d&&f()})(e.entries[d])})(e[b])});e=document.createElement("div");e.className="geDialogTitle";mxUtils.write(e,mxResources.get("shapes"));e.style.position="absolute";e.style.top="0px";e.style.left="0px";e.style.lineHeight="40px";
+entries:[]};for(e=0;e<b[f].entries.length;e++)0<=mxUtils.indexOf(a.sidebar.enabledLibraries,b[f].entries[e].id)&&n.entries.push(b[f].entries[e]);0<n.entries.length&&g.push(n)}b=g;if(d){f=mxUtils.bind(this,function(b){for(var e=0;e<b.length;e++)(function(b){var c=q.cloneNode(!1);c.style.fontWeight="bold";c.style.backgroundColor="dark"==uiTheme?"#505759":"#e5e5e5";c.style.padding="6px 0px 6px 20px";mxUtils.write(c,b.title);l.appendChild(c);for(var d=0;d<b.entries.length;d++)(function(b){var c=q.cloneNode(!1);
+c.style.cursor="pointer";c.style.padding="4px 0px 4px 20px";c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.style.textOverflow="ellipsis";c.setAttribute("title",b.title+" ("+b.id+")");var k=document.createElement("input");k.setAttribute("type","checkbox");k.checked=a.sidebar.isEntryVisible(b.id);k.defaultChecked=k.checked;c.appendChild(k);mxUtils.write(c," "+b.title);l.appendChild(c);var f=function(a){if(null==a||"INPUT"!=mxEvent.getSource(a).nodeName){p.style.textAlign="center";p.style.padding=
+"0px";p.style.color="";p.innerHTML="";if(null!=b.desc){var e=document.createElement("pre");e.style.boxSizing="border-box";e.style.fontFamily="inherit";e.style.margin="20px";e.style.right="0px";e.style.textAlign="left";mxUtils.write(e,b.desc);p.appendChild(e)}null!=b.imageCallback?b.imageCallback(p):null!=b.image?p.innerHTML+='<img border="0" src="'+b.image+'"/>':null==b.desc&&(p.style.padding="20px",p.style.color="rgb(179, 179, 179)",mxUtils.write(p,mxResources.get("noPreview")));null!=t&&(t.style.backgroundColor=
+"");t=c;t.style.backgroundColor="dark"==uiTheme?"#000000":"#ebf2f9";null!=a&&mxEvent.consume(a)}};mxEvent.addListener(c,"click",f);mxEvent.addListener(c,"dblclick",function(a){k.checked=!k.checked;mxEvent.consume(a)});u.push(function(){return k.checked?b.id:null});0==e&&0==d&&f()})(b.entries[d])})(b[e])});e=document.createElement("div");e.className="geDialogTitle";mxUtils.write(e,mxResources.get("shapes"));e.style.position="absolute";e.style.top="0px";e.style.left="0px";e.style.lineHeight="40px";
e.style.height="40px";e.style.right="0px";var l=document.createElement("div"),p=document.createElement("div");l.style.position="absolute";l.style.top="40px";l.style.left="0px";l.style.width="202px";l.style.bottom="60px";l.style.overflow="auto";p.style.position="absolute";p.style.left="202px";p.style.right="0px";p.style.top="40px";p.style.bottom="60px";p.style.overflow="auto";p.style.borderLeft="1px solid rgb(211, 211, 211)";p.style.textAlign="center";var t=null,u=[],q=document.createElement("div");
-q.style.position="relative";q.style.left="0px";q.style.right="0px";f(b);c.style.padding="30px";c.appendChild(e);c.appendChild(l);c.appendChild(p);b=document.createElement("div");b.className="geDialogFooter";b.style.position="absolute";b.style.paddingRight="16px";b.style.color="gray";b.style.left="0px";b.style.right="0px";b.style.bottom="0px";b.style.height="60px";b.style.lineHeight="52px";var x=document.createElement("input");x.setAttribute("type","checkbox");if(isLocalStorage||mxClient.IS_CHROMEAPP)f=
-document.createElement("span"),f.style.paddingRight="20px",f.appendChild(x),mxUtils.write(f," "+mxResources.get("rememberThisSetting")),x.checked=!0,x.defaultChecked=!0,mxEvent.addListener(f,"click",function(a){mxEvent.getSource(a)!=x&&(x.checked=!x.checked,mxEvent.consume(a))}),b.appendChild(f);f=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});f.className="geBtn";e=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();for(var e=[],b=0;b<u.length;b++){var c=u[b].apply(this,
-arguments);null!=c&&e.push(c)}a.sidebar.showEntries(e.join(";"),x.checked,!0)});e.className="geBtn gePrimaryBtn"}else{var y=document.createElement("table"),f=document.createElement("tbody");c.style.height="100%";c.style.overflow="auto";e=document.createElement("tr");y.style.width="100%";d=document.createElement("td");var g=document.createElement("td"),m=document.createElement("td"),v=mxUtils.bind(this,function(e,b,c){var d=document.createElement("input");d.type="checkbox";y.appendChild(d);d.checked=
-a.sidebar.isEntryVisible(c);var k=document.createElement("span");mxUtils.write(k,b);b=document.createElement("div");b.style.display="block";b.appendChild(d);b.appendChild(k);mxEvent.addListener(k,"click",function(a){d.checked=!d.checked;mxEvent.consume(a)});e.appendChild(b);return function(){return d.checked?c:null}});e.appendChild(d);e.appendChild(g);e.appendChild(m);f.appendChild(e);y.appendChild(f);for(var u=[],A=0,f=0;f<b.length;f++)for(e=0;e<b[f].entries.length;e++)A++;for(var z=[d,g,m],B=0,
-f=0;f<b.length;f++)(function(a){for(var e=0;e<a.entries.length;e++){var b=a.entries[e];u.push(v(z[Math.floor(B/(A/3))],b.title,b.id));B++}})(b[f]);c.appendChild(y);b=document.createElement("div");b.style.marginTop="18px";b.style.textAlign="center";x=document.createElement("input");isLocalStorage&&(x.setAttribute("type","checkbox"),x.checked=!0,x.defaultChecked=!0,b.appendChild(x),f=document.createElement("span"),mxUtils.write(f," "+mxResources.get("rememberThisSetting")),b.appendChild(f),mxEvent.addListener(f,
-"click",function(a){x.checked=!x.checked;mxEvent.consume(a)}));c.appendChild(b);f=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});f.className="geBtn";e=mxUtils.button(mxResources.get("apply"),function(){for(var e=["search"],b=0;b<u.length;b++){var c=u[b].apply(this,arguments);null!=c&&e.push(c)}a.sidebar.showEntries(0<e.length?e.join(";"):"",x.checked);a.hideDialog()});e.className="geBtn gePrimaryBtn";b=document.createElement("div");b.style.marginTop="26px";b.style.textAlign=
+q.style.position="relative";q.style.left="0px";q.style.right="0px";f(b);c.style.padding="30px";c.appendChild(e);c.appendChild(l);c.appendChild(p);b=document.createElement("div");b.className="geDialogFooter";b.style.position="absolute";b.style.paddingRight="16px";b.style.color="gray";b.style.left="0px";b.style.right="0px";b.style.bottom="0px";b.style.height="60px";b.style.lineHeight="52px";var v=document.createElement("input");v.setAttribute("type","checkbox");if(isLocalStorage||mxClient.IS_CHROMEAPP)f=
+document.createElement("span"),f.style.paddingRight="20px",f.appendChild(v),mxUtils.write(f," "+mxResources.get("rememberThisSetting")),v.checked=!0,v.defaultChecked=!0,mxEvent.addListener(f,"click",function(a){mxEvent.getSource(a)!=v&&(v.checked=!v.checked,mxEvent.consume(a))}),b.appendChild(f);f=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});f.className="geBtn";e=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();for(var b=[],e=0;e<u.length;e++){var c=u[e].apply(this,
+arguments);null!=c&&b.push(c)}a.sidebar.showEntries(b.join(";"),v.checked,!0)});e.className="geBtn gePrimaryBtn"}else{var z=document.createElement("table"),f=document.createElement("tbody");c.style.height="100%";c.style.overflow="auto";e=document.createElement("tr");z.style.width="100%";d=document.createElement("td");var g=document.createElement("td"),m=document.createElement("td"),x=mxUtils.bind(this,function(b,e,c){var d=document.createElement("input");d.type="checkbox";z.appendChild(d);d.checked=
+a.sidebar.isEntryVisible(c);var k=document.createElement("span");mxUtils.write(k,e);e=document.createElement("div");e.style.display="block";e.appendChild(d);e.appendChild(k);mxEvent.addListener(k,"click",function(a){d.checked=!d.checked;mxEvent.consume(a)});b.appendChild(e);return function(){return d.checked?c:null}});e.appendChild(d);e.appendChild(g);e.appendChild(m);f.appendChild(e);z.appendChild(f);for(var u=[],B=0,f=0;f<b.length;f++)for(e=0;e<b[f].entries.length;e++)B++;for(var y=[d,g,m],C=0,
+f=0;f<b.length;f++)(function(a){for(var b=0;b<a.entries.length;b++){var e=a.entries[b];u.push(x(y[Math.floor(C/(B/3))],e.title,e.id));C++}})(b[f]);c.appendChild(z);b=document.createElement("div");b.style.marginTop="18px";b.style.textAlign="center";v=document.createElement("input");isLocalStorage&&(v.setAttribute("type","checkbox"),v.checked=!0,v.defaultChecked=!0,b.appendChild(v),f=document.createElement("span"),mxUtils.write(f," "+mxResources.get("rememberThisSetting")),b.appendChild(f),mxEvent.addListener(f,
+"click",function(a){v.checked=!v.checked;mxEvent.consume(a)}));c.appendChild(b);f=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});f.className="geBtn";e=mxUtils.button(mxResources.get("apply"),function(){for(var b=["search"],e=0;e<u.length;e++){var c=u[e].apply(this,arguments);null!=c&&b.push(c)}a.sidebar.showEntries(0<b.length?b.join(";"):"",v.checked);a.hideDialog()});e.className="geBtn gePrimaryBtn";b=document.createElement("div");b.style.marginTop="26px";b.style.textAlign=
"right"}a.editor.cancelFirst?(b.appendChild(f),b.appendChild(e)):(b.appendChild(e),b.appendChild(f));c.appendChild(b);this.container=c},PluginsDialog=function(a,d,b){function c(){if(0==m.length)f.innerHTML=mxUtils.htmlEntities(mxResources.get("noPlugins"));else{f.innerHTML="";for(var e=0;e<m.length;e++){var d=document.createElement("span");d.style.whiteSpace="nowrap";var k=document.createElement("span");k.className="geSprite geSprite-delete";k.style.position="relative";k.style.cursor="pointer";k.style.top=
"5px";k.style.marginRight="4px";k.style.display="inline-block";d.appendChild(k);mxUtils.write(d,m[e]);f.appendChild(d);mxUtils.br(f);mxEvent.addListener(k,"click",function(e){return function(){a.confirm(mxResources.get("delete")+' "'+m[e]+'"?',function(){null!=b&&b(m[e]);m.splice(e,1);c()})}}(e))}}}var g=document.createElement("div"),f=document.createElement("div");f.style.height="120px";f.style.overflow="auto";var m=mxSettings.getPlugins().slice();g.appendChild(f);c();var n=mxUtils.button(mxResources.get("add")+
-"...",null!=d?function(){d(function(a){a&&0>mxUtils.indexOf(m,a)&&m.push(a);c()})}:function(){var e=document.createElement("div"),b=document.createElement("span");b.style.marginTop="6px";mxUtils.write(b,mxResources.get("builtinPlugins")+": ");e.appendChild(b);var d=document.createElement("select");d.style.width="150px";for(b=0;b<App.publicPlugin.length;b++){var k=document.createElement("option");mxUtils.write(k,App.publicPlugin[b]);k.value=App.publicPlugin[b];d.appendChild(k)}e.appendChild(d);mxUtils.br(e);
-mxUtils.br(e);b=mxUtils.button(mxResources.get("custom")+"...",function(){var e=new FilenameDialog(a,"",mxResources.get("add"),function(e){a.hideDialog();if(null!=e&&0<e.length){e=e.split(";");for(var b=0;b<e.length;b++){var d=e[b],k=App.pluginRegistry[d];null!=k&&(d=k);0<d.length&&0>mxUtils.indexOf(m,d)&&m.push(d)}c()}},mxResources.get("enterValue")+" ("+mxResources.get("url")+")");a.showDialog(e.container,300,80,!0,!0);e.init()});b.className="geBtn";e=new CustomDialog(a,e,mxUtils.bind(this,function(){var a=
-App.pluginRegistry[d.value];0>mxUtils.indexOf(m,a)&&(m.push(a),c())}),null,null,null,b);a.showDialog(e.container,300,80,!0,!0)});n.className="geBtn";var e=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});e.className="geBtn";var k=mxUtils.button(mxResources.get("apply"),function(){mxSettings.setPlugins(m);mxSettings.save();a.hideDialog();a.alert(mxResources.get("restartForChangeRequired"))});k.className="geBtn gePrimaryBtn";var l=document.createElement("div");l.style.marginTop=
+"...",null!=d?function(){d(function(a){a&&0>mxUtils.indexOf(m,a)&&m.push(a);c()})}:function(){var b=document.createElement("div"),e=document.createElement("span");e.style.marginTop="6px";mxUtils.write(e,mxResources.get("builtinPlugins")+": ");b.appendChild(e);var d=document.createElement("select");d.style.width="150px";for(e=0;e<App.publicPlugin.length;e++){var k=document.createElement("option");mxUtils.write(k,App.publicPlugin[e]);k.value=App.publicPlugin[e];d.appendChild(k)}b.appendChild(d);mxUtils.br(b);
+mxUtils.br(b);e=mxUtils.button(mxResources.get("custom")+"...",function(){var b=new FilenameDialog(a,"",mxResources.get("add"),function(b){a.hideDialog();if(null!=b&&0<b.length){b=b.split(";");for(var e=0;e<b.length;e++){var d=b[e],k=App.pluginRegistry[d];null!=k&&(d=k);0<d.length&&0>mxUtils.indexOf(m,d)&&m.push(d)}c()}},mxResources.get("enterValue")+" ("+mxResources.get("url")+")");a.showDialog(b.container,300,80,!0,!0);b.init()});e.className="geBtn";b=new CustomDialog(a,b,mxUtils.bind(this,function(){var a=
+App.pluginRegistry[d.value];0>mxUtils.indexOf(m,a)&&(m.push(a),c())}),null,null,null,e);a.showDialog(b.container,300,80,!0,!0)});n.className="geBtn";var e=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});e.className="geBtn";var k=mxUtils.button(mxResources.get("apply"),function(){mxSettings.setPlugins(m);mxSettings.save();a.hideDialog();a.alert(mxResources.get("restartForChangeRequired"))});k.className="geBtn gePrimaryBtn";var l=document.createElement("div");l.style.marginTop=
"14px";l.style.textAlign="right";var p=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://www.diagrams.net/doc/faq/plugins")});p.className="geBtn";a.isOffline()&&!mxClient.IS_CHROMEAPP&&(p.style.display="none");l.appendChild(p);a.editor.cancelFirst?(l.appendChild(e),l.appendChild(n),l.appendChild(k)):(l.appendChild(n),l.appendChild(k),l.appendChild(e));g.appendChild(l);this.container=g},CropImageDialog=function(a,d,b){function c(a){null!=m&&m.destroy();m=a?new Croppie(f,{viewport:{width:150,
height:150,type:"circle"},enableExif:!0,showZoomer:!1,enableResize:!1,enableOrientation:!0}):new Croppie(f,{viewport:{width:150,height:150,type:"square"},enableExif:!0,showZoomer:!1,enableResize:!0,enableOrientation:!0});m.bind({url:d})}var g=document.createElement("div"),f=document.createElement("div");f.style.width="300px";f.style.height="300px";g.appendChild(f);var m=null;this.init=function(){c()};var n=document.createElement("input");n.setAttribute("type","checkbox");n.setAttribute("id","croppieCircle");
n.style.margin="5px";g.appendChild(n);var e=document.createElement("label");e.setAttribute("for","croppieCircle");mxUtils.write(e,mxResources.get("circle"));g.appendChild(e);var k,l,p,t,e=document.createElement("div");k=document.createElement("button");l=document.createElement("button");e.appendChild(k);e.appendChild(l);p=document.createElement("i");t=document.createElement("i");k.appendChild(p);l.appendChild(t);e.className="cr-rotate-controls";e.style["float"]="right";e.style.position="inherit";
@@ -9770,39 +9772,39 @@ k.style.marginTop="20px";k.style.textAlign="right";a.editor.cancelFirst?(k.appen
mxResources.get("relative")+":");var l=document.createElement("input");l.setAttribute("type","checkbox");null!=c&&c.relative&&(l.setAttribute("checked","checked"),l.defaultChecked=!0);this.init=function(){l.focus()};k.appendChild(l);n.appendChild(e);n.appendChild(k);m.appendChild(n);n=document.createElement("tr");e=document.createElement("td");k=document.createElement("td");mxUtils.write(e,mxResources.get("left")+":");var p=document.createElement("input");p.setAttribute("type","text");p.style.width=
"100px";p.value=null!=c?c.x:"";k.appendChild(p);n.appendChild(e);n.appendChild(k);m.appendChild(n);n=document.createElement("tr");e=document.createElement("td");k=document.createElement("td");mxUtils.write(e,mxResources.get("top")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.width="100px";t.value=null!=c?c.y:"";k.appendChild(t);n.appendChild(e);n.appendChild(k);m.appendChild(n);n=document.createElement("tr");e=document.createElement("td");k=document.createElement("td");
mxUtils.write(e,mxResources.get("dx")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.width="100px";u.value=null!=c&&null!=c.offset?c.offset.x:"";k.appendChild(u);n.appendChild(e);n.appendChild(k);m.appendChild(n);n=document.createElement("tr");e=document.createElement("td");k=document.createElement("td");mxUtils.write(e,mxResources.get("dy")+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.width="100px";q.value=null!=c&&null!=c.offset?
-c.offset.y:"";k.appendChild(q);n.appendChild(e);n.appendChild(k);m.appendChild(n);n=document.createElement("tr");e=document.createElement("td");k=document.createElement("td");mxUtils.write(e,mxResources.get("width")+":");var x=document.createElement("input");x.setAttribute("type","text");x.style.width="100px";x.value=null!=c?c.width:"";k.appendChild(x);n.appendChild(e);n.appendChild(k);m.appendChild(n);n=document.createElement("tr");e=document.createElement("td");k=document.createElement("td");mxUtils.write(e,
-mxResources.get("height")+":");var y=document.createElement("input");y.setAttribute("type","text");y.style.width="100px";y.value=null!=c?c.height:"";k.appendChild(y);n.appendChild(e);n.appendChild(k);m.appendChild(n);n=document.createElement("tr");e=document.createElement("td");k=document.createElement("td");mxUtils.write(e,mxResources.get("rotation")+":");var v=document.createElement("input");v.setAttribute("type","text");v.style.width="100px";v.value=1==d.length?mxUtils.getValue(b.getCellStyle(d[0]),
-mxConstants.STYLE_ROTATION,0):"";k.appendChild(v);n.appendChild(e);n.appendChild(k);m.appendChild(n);f.appendChild(m);g.appendChild(f);c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});c.className="geBtn";var A=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();b.getModel().beginUpdate();try{for(var e=0;e<d.length;e++){var c=b.getCellGeometry(d[e]);null!=c&&(c=c.clone(),b.isCellMovable(d[e])&&(c.relative=l.checked,0<mxUtils.trim(p.value).length&&(c.x=Number(p.value)),
-0<mxUtils.trim(t.value).length&&(c.y=Number(t.value)),0<mxUtils.trim(u.value).length&&(null==c.offset&&(c.offset=new mxPoint),c.offset.x=Number(u.value)),0<mxUtils.trim(q.value).length&&(null==c.offset&&(c.offset=new mxPoint),c.offset.y=Number(q.value))),b.isCellResizable(d[e])&&(0<mxUtils.trim(x.value).length&&(c.width=Number(x.value)),0<mxUtils.trim(y.value).length&&(c.height=Number(y.value))),b.getModel().setGeometry(d[e],c));0<mxUtils.trim(v.value).length&&b.setCellStyles(mxConstants.STYLE_ROTATION,
-Number(v.value),[d[e]])}}finally{b.getModel().endUpdate()}});A.className="geBtn gePrimaryBtn";mxEvent.addListener(g,"keypress",function(a){13==a.keyCode&&A.click()});f=document.createElement("div");f.style.marginTop="20px";f.style.textAlign="right";a.editor.cancelFirst?(f.appendChild(c),f.appendChild(A)):(f.appendChild(A),f.appendChild(c));g.appendChild(f);this.container=g},LibraryDialog=function(a,d,b,c,g,f){function m(a){for(a=document.elementFromPoint(a.clientX,a.clientY);null!=a&&a.parentNode!=
-u;)a=a.parentNode;var e=null;if(null!=a)for(var b=u.firstChild,e=0;null!=b&&b!=a;)b=b.nextSibling,e++;return e}function n(e,b,c,d,k,f,g,p,t){try{if(a.spinner.stop(),null==b||"image/"==b.substring(0,6))if(null==e&&null!=g||null==x[e]){var K=function(){I.innerHTML="";I.style.cursor="pointer";I.style.whiteSpace="nowrap";I.style.textOverflow="ellipsis";mxUtils.write(I,null!=H.title&&0<H.title.length?H.title:mxResources.get("untitled"));I.style.color=null==H.title||0==H.title.length?"#d0d0d0":""};u.style.backgroundImage=
-"";q.style.display="none";var v=k,C=f;if(k>a.maxImageSize||f>a.maxImageSize){var M=Math.min(1,Math.min(a.maxImageSize/Math.max(1,k)),a.maxImageSize/Math.max(1,f));k*=M;f*=M}v>C?(C=Math.round(100*C/v),v=100):(v=Math.round(100*v/C),C=100);var N=document.createElement("div");N.setAttribute("draggable","true");N.style.display="inline-block";N.style.position="relative";N.style.cursor="move";mxUtils.setPrefixedStyle(N.style,"transition","transform .1s ease-in-out");if(null!=e){var G=document.createElement("img");
-G.setAttribute("src",z.convert(e));G.style.width=v+"px";G.style.height=C+"px";G.style.margin="10px";G.style.paddingBottom=Math.floor((100-C)/2)+"px";G.style.paddingLeft=Math.floor((100-v)/2)+"px";N.appendChild(G)}else if(null!=g){var D=a.stringToCells(Graph.decompress(g.xml));0<D.length&&(a.sidebar.createThumb(D,100,100,N,null,!0,!1),N.firstChild.style.display="inline-block",N.firstChild.style.cursor="")}var E=document.createElement("img");E.setAttribute("src",Editor.closeImage);E.setAttribute("border",
-"0");E.setAttribute("title",mxResources.get("delete"));E.setAttribute("align","top");E.style.paddingTop="4px";E.style.position="absolute";E.style.marginLeft="-12px";E.style.zIndex="1";E.style.cursor="pointer";mxEvent.addListener(E,"dragstart",function(a){mxEvent.consume(a)});(function(a,e,b){mxEvent.addListener(E,"click",function(c){x[e]=null;for(var d=0;d<l.length;d++)if(null!=l[d].data&&l[d].data==e||null!=l[d].xml&&null!=b&&l[d].xml==b.xml){l.splice(d,1);break}N.parentNode.removeChild(a);0==l.length&&
-(u.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",q.style.display="");mxEvent.consume(c)});mxEvent.addListener(E,"dblclick",function(a){mxEvent.consume(a)})})(N,e,g);N.appendChild(E);N.style.marginBottom="30px";var I=document.createElement("div");I.style.position="absolute";I.style.boxSizing="border-box";I.style.bottom="-18px";I.style.left="10px";I.style.right="10px";I.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#ffffff";I.style.overflow="hidden";I.style.textAlign="center";var H=
-null;null!=e?(H={data:e,w:k,h:f,title:t},null!=p&&(H.aspect=p),x[e]=G,l.push(H)):null!=g&&(g.aspect="fixed",l.push(g),H=g);mxEvent.addListener(I,"keydown",function(a){13==a.keyCode&&null!=A&&(A(),A=null,mxEvent.consume(a))});K();N.appendChild(I);mxEvent.addListener(I,"mousedown",function(a){"true"!=I.getAttribute("contentEditable")&&mxEvent.consume(a)});D=function(e){if(mxClient.IS_IOS||mxClient.IS_FF||!(null==document.documentMode||9<document.documentMode)){var b=new FilenameDialog(a,H.title||"",
-mxResources.get("ok"),function(a){null!=a&&(H.title=a,K())},mxResources.get("enterValue"));a.showDialog(b.container,300,80,!0,!0);b.init();mxEvent.consume(e)}else if("true"!=I.getAttribute("contentEditable")){null!=A&&(A(),A=null);if(null==H.title||0==H.title.length)I.innerHTML="";I.style.textOverflow="";I.style.whiteSpace="";I.style.cursor="text";I.style.color="";I.setAttribute("contentEditable","true");mxUtils.setPrefixedStyle(I.style,"user-select","text");I.focus();document.execCommand("selectAll",
-!1,null);A=function(){I.removeAttribute("contentEditable");I.style.cursor="pointer";H.title=I.innerHTML;K()};mxEvent.consume(e)}};mxEvent.addListener(I,"click",D);mxEvent.addListener(N,"dblclick",D);u.appendChild(N);mxEvent.addListener(N,"dragstart",function(a){null==e&&null!=g&&(E.style.visibility="hidden",I.style.visibility="hidden");mxClient.IS_FF&&null!=g.xml&&a.dataTransfer.setData("Text",g.xml);y=m(a);mxClient.IS_GC&&(N.style.opacity="0.9");window.setTimeout(function(){mxUtils.setPrefixedStyle(N.style,
-"transform","scale(0.5,0.5)");mxUtils.setOpacity(N,30);E.style.visibility="";I.style.visibility=""},0)});mxEvent.addListener(N,"dragend",function(a){"hidden"==E.style.visibility&&(E.style.visibility="",I.style.visibility="");y=null;mxUtils.setOpacity(N,100);mxUtils.setPrefixedStyle(N.style,"transform",null)})}else B||(B=!0,a.handleError({message:mxResources.get("fileExists")}));else{k=!1;try{if(v=mxUtils.parseXml(e),"mxlibrary"==v.documentElement.nodeName){C=JSON.parse(mxUtils.getTextContent(v.documentElement));
-if(null!=C&&0<C.length)for(var F=0;F<C.length;F++)null!=C[F].xml?n(null,null,0,0,0,0,C[F]):n(C[F].data,null,0,0,C[F].w,C[F].h,null,"fixed",C[F].title);k=!0}else if("mxfile"==v.documentElement.nodeName){for(var J=v.documentElement.getElementsByTagName("diagram"),F=0;F<J.length;F++){var C=mxUtils.getTextContent(J[F]),D=a.stringToCells(Graph.decompress(C)),Z=a.editor.graph.getBoundingBoxFromGeometry(D);n(null,null,0,0,0,0,{xml:C,w:Z.width,h:Z.height})}k=!0}}catch(R){}k||(a.spinner.stop(),a.handleError({message:mxResources.get("errorLoadingFile")}))}}catch(R){}return null}
-function e(a){a.dataTransfer.dropEffect=null!=y?"move":"copy";a.stopPropagation();a.preventDefault()}function k(e){e.stopPropagation();e.preventDefault();B=!1;v=m(e);if(null!=y)null!=v&&v<u.children.length?(l.splice(v>y?v-1:v,0,l.splice(y,1)[0]),u.insertBefore(u.children[y],u.children[v])):(l.push(l.splice(y,1)[0]),u.appendChild(u.children[y]));else if(0<e.dataTransfer.files.length)a.importFiles(e.dataTransfer.files,0,0,a.maxImageSize,C(e));else if(0<=mxUtils.indexOf(e.dataTransfer.types,"text/uri-list")){var b=
-decodeURIComponent(e.dataTransfer.getData("text/uri-list"));(/(\.jpg)($|\?)/i.test(b)||/(\.png)($|\?)/i.test(b)||/(\.gif)($|\?)/i.test(b)||/(\.svg)($|\?)/i.test(b))&&a.loadImage(b,function(a){n(b,null,0,0,a.width,a.height);u.scrollTop=u.scrollHeight})}e.stopPropagation();e.preventDefault()}var l=[];b=document.createElement("div");b.style.height="100%";var p=document.createElement("div");p.style.whiteSpace="nowrap";p.style.height="40px";b.appendChild(p);mxUtils.write(p,mxResources.get("filename")+
+c.offset.y:"";k.appendChild(q);n.appendChild(e);n.appendChild(k);m.appendChild(n);n=document.createElement("tr");e=document.createElement("td");k=document.createElement("td");mxUtils.write(e,mxResources.get("width")+":");var v=document.createElement("input");v.setAttribute("type","text");v.style.width="100px";v.value=null!=c?c.width:"";k.appendChild(v);n.appendChild(e);n.appendChild(k);m.appendChild(n);n=document.createElement("tr");e=document.createElement("td");k=document.createElement("td");mxUtils.write(e,
+mxResources.get("height")+":");var z=document.createElement("input");z.setAttribute("type","text");z.style.width="100px";z.value=null!=c?c.height:"";k.appendChild(z);n.appendChild(e);n.appendChild(k);m.appendChild(n);n=document.createElement("tr");e=document.createElement("td");k=document.createElement("td");mxUtils.write(e,mxResources.get("rotation")+":");var x=document.createElement("input");x.setAttribute("type","text");x.style.width="100px";x.value=1==d.length?mxUtils.getValue(b.getCellStyle(d[0]),
+mxConstants.STYLE_ROTATION,0):"";k.appendChild(x);n.appendChild(e);n.appendChild(k);m.appendChild(n);f.appendChild(m);g.appendChild(f);c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});c.className="geBtn";var B=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();b.getModel().beginUpdate();try{for(var e=0;e<d.length;e++){var c=b.getCellGeometry(d[e]);null!=c&&(c=c.clone(),b.isCellMovable(d[e])&&(c.relative=l.checked,0<mxUtils.trim(p.value).length&&(c.x=Number(p.value)),
+0<mxUtils.trim(t.value).length&&(c.y=Number(t.value)),0<mxUtils.trim(u.value).length&&(null==c.offset&&(c.offset=new mxPoint),c.offset.x=Number(u.value)),0<mxUtils.trim(q.value).length&&(null==c.offset&&(c.offset=new mxPoint),c.offset.y=Number(q.value))),b.isCellResizable(d[e])&&(0<mxUtils.trim(v.value).length&&(c.width=Number(v.value)),0<mxUtils.trim(z.value).length&&(c.height=Number(z.value))),b.getModel().setGeometry(d[e],c));0<mxUtils.trim(x.value).length&&b.setCellStyles(mxConstants.STYLE_ROTATION,
+Number(x.value),[d[e]])}}finally{b.getModel().endUpdate()}});B.className="geBtn gePrimaryBtn";mxEvent.addListener(g,"keypress",function(a){13==a.keyCode&&B.click()});f=document.createElement("div");f.style.marginTop="20px";f.style.textAlign="right";a.editor.cancelFirst?(f.appendChild(c),f.appendChild(B)):(f.appendChild(B),f.appendChild(c));g.appendChild(f);this.container=g},LibraryDialog=function(a,d,b,c,g,f){function m(a){for(a=document.elementFromPoint(a.clientX,a.clientY);null!=a&&a.parentNode!=
+u;)a=a.parentNode;var b=null;if(null!=a)for(var e=u.firstChild,b=0;null!=e&&e!=a;)e=e.nextSibling,b++;return b}function n(b,e,c,d,k,f,g,p,t){try{if(a.spinner.stop(),null==e||"image/"==e.substring(0,6))if(null==b&&null!=g||null==v[b]){var K=function(){I.innerHTML="";I.style.cursor="pointer";I.style.whiteSpace="nowrap";I.style.textOverflow="ellipsis";mxUtils.write(I,null!=G.title&&0<G.title.length?G.title:mxResources.get("untitled"));I.style.color=null==G.title||0==G.title.length?"#d0d0d0":""};u.style.backgroundImage=
+"";q.style.display="none";var x=k,A=f;if(k>a.maxImageSize||f>a.maxImageSize){var M=Math.min(1,Math.min(a.maxImageSize/Math.max(1,k)),a.maxImageSize/Math.max(1,f));k*=M;f*=M}x>A?(A=Math.round(100*A/x),x=100):(x=Math.round(100*x/A),A=100);var N=document.createElement("div");N.setAttribute("draggable","true");N.style.display="inline-block";N.style.position="relative";N.style.cursor="move";mxUtils.setPrefixedStyle(N.style,"transition","transform .1s ease-in-out");if(null!=b){var F=document.createElement("img");
+F.setAttribute("src",y.convert(b));F.style.width=x+"px";F.style.height=A+"px";F.style.margin="10px";F.style.paddingBottom=Math.floor((100-A)/2)+"px";F.style.paddingLeft=Math.floor((100-x)/2)+"px";N.appendChild(F)}else if(null!=g){var D=a.stringToCells(Graph.decompress(g.xml));0<D.length&&(a.sidebar.createThumb(D,100,100,N,null,!0,!1),N.firstChild.style.display="inline-block",N.firstChild.style.cursor="")}var H=document.createElement("img");H.setAttribute("src",Editor.closeImage);H.setAttribute("border",
+"0");H.setAttribute("title",mxResources.get("delete"));H.setAttribute("align","top");H.style.paddingTop="4px";H.style.position="absolute";H.style.marginLeft="-12px";H.style.zIndex="1";H.style.cursor="pointer";mxEvent.addListener(H,"dragstart",function(a){mxEvent.consume(a)});(function(a,b,e){mxEvent.addListener(H,"click",function(c){v[b]=null;for(var d=0;d<l.length;d++)if(null!=l[d].data&&l[d].data==b||null!=l[d].xml&&null!=e&&l[d].xml==e.xml){l.splice(d,1);break}N.parentNode.removeChild(a);0==l.length&&
+(u.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",q.style.display="");mxEvent.consume(c)});mxEvent.addListener(H,"dblclick",function(a){mxEvent.consume(a)})})(N,b,g);N.appendChild(H);N.style.marginBottom="30px";var I=document.createElement("div");I.style.position="absolute";I.style.boxSizing="border-box";I.style.bottom="-18px";I.style.left="10px";I.style.right="10px";I.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#ffffff";I.style.overflow="hidden";I.style.textAlign="center";var G=
+null;null!=b?(G={data:b,w:k,h:f,title:t},null!=p&&(G.aspect=p),v[b]=F,l.push(G)):null!=g&&(g.aspect="fixed",l.push(g),G=g);mxEvent.addListener(I,"keydown",function(a){13==a.keyCode&&null!=B&&(B(),B=null,mxEvent.consume(a))});K();N.appendChild(I);mxEvent.addListener(I,"mousedown",function(a){"true"!=I.getAttribute("contentEditable")&&mxEvent.consume(a)});D=function(b){if(mxClient.IS_IOS||mxClient.IS_FF||!(null==document.documentMode||9<document.documentMode)){var e=new FilenameDialog(a,G.title||"",
+mxResources.get("ok"),function(a){null!=a&&(G.title=a,K())},mxResources.get("enterValue"));a.showDialog(e.container,300,80,!0,!0);e.init();mxEvent.consume(b)}else if("true"!=I.getAttribute("contentEditable")){null!=B&&(B(),B=null);if(null==G.title||0==G.title.length)I.innerHTML="";I.style.textOverflow="";I.style.whiteSpace="";I.style.cursor="text";I.style.color="";I.setAttribute("contentEditable","true");mxUtils.setPrefixedStyle(I.style,"user-select","text");I.focus();document.execCommand("selectAll",
+!1,null);B=function(){I.removeAttribute("contentEditable");I.style.cursor="pointer";G.title=I.innerHTML;K()};mxEvent.consume(b)}};mxEvent.addListener(I,"click",D);mxEvent.addListener(N,"dblclick",D);u.appendChild(N);mxEvent.addListener(N,"dragstart",function(a){null==b&&null!=g&&(H.style.visibility="hidden",I.style.visibility="hidden");mxClient.IS_FF&&null!=g.xml&&a.dataTransfer.setData("Text",g.xml);z=m(a);mxClient.IS_GC&&(N.style.opacity="0.9");window.setTimeout(function(){mxUtils.setPrefixedStyle(N.style,
+"transform","scale(0.5,0.5)");mxUtils.setOpacity(N,30);H.style.visibility="";I.style.visibility=""},0)});mxEvent.addListener(N,"dragend",function(a){"hidden"==H.style.visibility&&(H.style.visibility="",I.style.visibility="");z=null;mxUtils.setOpacity(N,100);mxUtils.setPrefixedStyle(N.style,"transform",null)})}else C||(C=!0,a.handleError({message:mxResources.get("fileExists")}));else{k=!1;try{if(x=mxUtils.parseXml(b),"mxlibrary"==x.documentElement.nodeName){A=JSON.parse(mxUtils.getTextContent(x.documentElement));
+if(null!=A&&0<A.length)for(var E=0;E<A.length;E++)null!=A[E].xml?n(null,null,0,0,0,0,A[E]):n(A[E].data,null,0,0,A[E].w,A[E].h,null,"fixed",A[E].title);k=!0}else if("mxfile"==x.documentElement.nodeName){for(var J=x.documentElement.getElementsByTagName("diagram"),E=0;E<J.length;E++){var A=mxUtils.getTextContent(J[E]),D=a.stringToCells(Graph.decompress(A)),Z=a.editor.graph.getBoundingBoxFromGeometry(D);n(null,null,0,0,0,0,{xml:A,w:Z.width,h:Z.height})}k=!0}}catch(R){}k||(a.spinner.stop(),a.handleError({message:mxResources.get("errorLoadingFile")}))}}catch(R){}return null}
+function e(a){a.dataTransfer.dropEffect=null!=z?"move":"copy";a.stopPropagation();a.preventDefault()}function k(b){b.stopPropagation();b.preventDefault();C=!1;x=m(b);if(null!=z)null!=x&&x<u.children.length?(l.splice(x>z?x-1:x,0,l.splice(z,1)[0]),u.insertBefore(u.children[z],u.children[x])):(l.push(l.splice(z,1)[0]),u.appendChild(u.children[z]));else if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,A(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var e=
+decodeURIComponent(b.dataTransfer.getData("text/uri-list"));(/(\.jpg)($|\?)/i.test(e)||/(\.png)($|\?)/i.test(e)||/(\.gif)($|\?)/i.test(e)||/(\.svg)($|\?)/i.test(e))&&a.loadImage(e,function(a){n(e,null,0,0,a.width,a.height);u.scrollTop=u.scrollHeight})}b.stopPropagation();b.preventDefault()}var l=[];b=document.createElement("div");b.style.height="100%";var p=document.createElement("div");p.style.whiteSpace="nowrap";p.style.height="40px";b.appendChild(p);mxUtils.write(p,mxResources.get("filename")+
":");null==d&&(d=a.defaultLibraryName+".xml");var t=document.createElement("input");t.setAttribute("value",d);t.style.marginRight="20px";t.style.marginLeft="10px";t.style.width="500px";null==g||g.isRenamable()||t.setAttribute("disabled","true");this.init=function(){if(null==g||g.isRenamable())t.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?t.select():document.execCommand("selectAll",!1,null)};p.appendChild(t);var u=document.createElement("div");u.style.borderWidth="1px 0px 1px 0px";
u.style.borderColor="#d3d3d3";u.style.borderStyle="solid";u.style.marginTop="6px";u.style.overflow="auto";u.style.height="340px";u.style.backgroundPosition="center center";u.style.backgroundRepeat="no-repeat";0==l.length&&Graph.fileSupport&&(u.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')");var q=document.createElement("div");q.style.position="absolute";q.style.width="640px";q.style.top="260px";q.style.textAlign="center";q.style.fontSize="22px";q.style.color="#a0c3ff";mxUtils.write(q,
-mxResources.get("dragImagesHere"));b.appendChild(q);var x={},y=null,v=null,A=null;d=function(a){"true"!=mxEvent.getSource(a).getAttribute("contentEditable")&&null!=A&&(A(),A=null,mxEvent.consume(a))};mxEvent.addListener(u,"mousedown",d);mxEvent.addListener(u,"pointerdown",d);mxEvent.addListener(u,"touchstart",d);var z=new mxUrlConverter,B=!1;if(null!=c)for(d=0;d<c.length;d++)p=c[d],n(p.data,null,0,0,p.w,p.h,p,p.aspect,p.title);mxEvent.addListener(u,"dragleave",function(a){q.style.cursor="";for(var e=
-mxEvent.getSource(a);null!=e;){if(e==u||e==q){a.stopPropagation();a.preventDefault();break}e=e.parentNode}});var C=function(e){return function(b,c,d,k,l,f,g,p,t){null!=t&&(/(\.v(dx|sdx?))($|\?)/i.test(t.name)||/(\.vs(x|sx?))($|\?)/i.test(t.name))?a.importVisio(t,mxUtils.bind(this,function(a){n(a,c,d,k,l,f,g,"fixed",mxEvent.isAltDown(e)?null:g.substring(0,g.lastIndexOf(".")).replace(/_/g," "))})):null!=t&&!a.isOffline()&&(new XMLHttpRequest).upload&&a.isRemoteFileFormat(b,t.name)?a.parseFile(t,mxUtils.bind(this,
-function(b){4==b.readyState&&(a.spinner.stop(),200<=b.status&&299>=b.status&&(n(b.responseText,c,d,k,l,f,g,"fixed",mxEvent.isAltDown(e)?null:g.substring(0,g.lastIndexOf(".")).replace(/_/g," ")),u.scrollTop=u.scrollHeight))})):(n(b,c,d,k,l,f,g,"fixed",mxEvent.isAltDown(e)?null:g.substring(0,g.lastIndexOf(".")).replace(/_/g," ")),u.scrollTop=u.scrollHeight)}};mxEvent.addListener(u,"dragover",e);mxEvent.addListener(u,"drop",k);mxEvent.addListener(q,"dragover",e);mxEvent.addListener(q,"drop",k);b.appendChild(u);
-c=document.createElement("div");c.style.textAlign="right";c.style.marginTop="20px";d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});d.setAttribute("id","btnCancel");d.className="geBtn";a.editor.cancelFirst&&c.appendChild(d);"draw.io"!=a.getServiceName()||null==g||g.constructor!=DriveLibrary&&g.constructor!=GitHubLibrary||(p=mxUtils.button(mxResources.get("link"),function(){a.spinner.spin(document.body,mxResources.get("loading"))&&g.getPublicUrl(function(e){a.spinner.stop();
-if(null!=e){var b=a.getSearch("create title mode url drive splash state clibs ui".split(" ")),b=b+((0==b.length?"?":"&")+"splash=0&clibs=U"+encodeURIComponent(e));e=new EmbedDialog(a,window.location.protocol+"//"+window.location.host+"/"+b,null,null,null,null,"Check out the library I made using @drawio");a.showDialog(e.container,440,240,!0);e.init()}else g.constructor==DriveLibrary?a.showError(mxResources.get("error"),mxResources.get("diagramIsNotPublic"),mxResources.get("share"),mxUtils.bind(this,
-function(){a.drive.showPermissions(g.getId())}),null,mxResources.get("ok"),mxUtils.bind(this,function(){})):a.handleError({message:mxResources.get("diagramIsNotPublic")})})}),p.className="geBtn",c.appendChild(p));p=mxUtils.button(mxResources.get("export"),function(){var e=a.createLibraryDataFromImages(l),b=t.value;/(\.xml)$/i.test(b)||(b+=".xml");a.isLocalFileSave()?a.saveLocalFile(e,b,"text/xml",null,null,!0,null,"xml"):(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(b)+"&format=xml&xml="+
-encodeURIComponent(e))).simulate(document,"_blank")});p.setAttribute("id","btnDownload");p.className="geBtn";c.appendChild(p);if(Graph.fileSupport){if(null==a.libDlgFileInputElt){var G=document.createElement("input");G.setAttribute("multiple","multiple");G.setAttribute("type","file");mxEvent.addListener(G,"change",function(e){B=!1;a.importFiles(G.files,0,0,a.maxImageSize,function(a,b,c,d,k,l,f,g,p){null!=G.files&&(C(e)(a,b,c,d,k,l,f,g,p),G.type="",G.type="file",G.value="")});u.scrollTop=u.scrollHeight});
-G.style.display="none";document.body.appendChild(G);a.libDlgFileInputElt=G}p=mxUtils.button(mxResources.get("import"),function(){null!=A&&(A(),A=null);a.libDlgFileInputElt.click()});p.setAttribute("id","btnAddImage");p.className="geBtn";c.appendChild(p)}p=mxUtils.button(mxResources.get("addImages"),function(){null!=A&&(A(),A=null);a.showImageDialog(mxResources.get("addImageUrl"),"",function(a,e,b){B=!1;if(null!=a){if("data:image/"==a.substring(0,11)){var c=a.indexOf(",");0<c&&(a=a.substring(0,c)+
-";base64,"+a.substring(c+1))}n(a,null,0,0,e,b);u.scrollTop=u.scrollHeight}})});p.setAttribute("id","btnAddImageUrl");p.className="geBtn";c.appendChild(p);this.saveBtnClickHandler=function(e,b,c,d){a.saveLibrary(e,b,c,d)};p=mxUtils.button(mxResources.get("save"),mxUtils.bind(this,function(){null!=A&&(A(),A=null);this.saveBtnClickHandler(t.value,l,g,f)}));p.setAttribute("id","btnSave");p.className="geBtn gePrimaryBtn";c.appendChild(p);a.editor.cancelFirst||c.appendChild(d);b.appendChild(c);this.container=
+mxResources.get("dragImagesHere"));b.appendChild(q);var v={},z=null,x=null,B=null;d=function(a){"true"!=mxEvent.getSource(a).getAttribute("contentEditable")&&null!=B&&(B(),B=null,mxEvent.consume(a))};mxEvent.addListener(u,"mousedown",d);mxEvent.addListener(u,"pointerdown",d);mxEvent.addListener(u,"touchstart",d);var y=new mxUrlConverter,C=!1;if(null!=c)for(d=0;d<c.length;d++)p=c[d],n(p.data,null,0,0,p.w,p.h,p,p.aspect,p.title);mxEvent.addListener(u,"dragleave",function(a){q.style.cursor="";for(var b=
+mxEvent.getSource(a);null!=b;){if(b==u||b==q){a.stopPropagation();a.preventDefault();break}b=b.parentNode}});var A=function(b){return function(e,c,d,k,l,f,g,p,t){null!=t&&(/(\.v(dx|sdx?))($|\?)/i.test(t.name)||/(\.vs(x|sx?))($|\?)/i.test(t.name))?a.importVisio(t,mxUtils.bind(this,function(a){n(a,c,d,k,l,f,g,"fixed",mxEvent.isAltDown(b)?null:g.substring(0,g.lastIndexOf(".")).replace(/_/g," "))})):null!=t&&!a.isOffline()&&(new XMLHttpRequest).upload&&a.isRemoteFileFormat(e,t.name)?a.parseFile(t,mxUtils.bind(this,
+function(e){4==e.readyState&&(a.spinner.stop(),200<=e.status&&299>=e.status&&(n(e.responseText,c,d,k,l,f,g,"fixed",mxEvent.isAltDown(b)?null:g.substring(0,g.lastIndexOf(".")).replace(/_/g," ")),u.scrollTop=u.scrollHeight))})):(n(e,c,d,k,l,f,g,"fixed",mxEvent.isAltDown(b)?null:g.substring(0,g.lastIndexOf(".")).replace(/_/g," ")),u.scrollTop=u.scrollHeight)}};mxEvent.addListener(u,"dragover",e);mxEvent.addListener(u,"drop",k);mxEvent.addListener(q,"dragover",e);mxEvent.addListener(q,"drop",k);b.appendChild(u);
+c=document.createElement("div");c.style.textAlign="right";c.style.marginTop="20px";d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});d.setAttribute("id","btnCancel");d.className="geBtn";a.editor.cancelFirst&&c.appendChild(d);"draw.io"!=a.getServiceName()||null==g||g.constructor!=DriveLibrary&&g.constructor!=GitHubLibrary||(p=mxUtils.button(mxResources.get("link"),function(){a.spinner.spin(document.body,mxResources.get("loading"))&&g.getPublicUrl(function(b){a.spinner.stop();
+if(null!=b){var e=a.getSearch("create title mode url drive splash state clibs ui".split(" ")),e=e+((0==e.length?"?":"&")+"splash=0&clibs=U"+encodeURIComponent(b));b=new EmbedDialog(a,window.location.protocol+"//"+window.location.host+"/"+e,null,null,null,null,"Check out the library I made using @drawio");a.showDialog(b.container,440,240,!0);b.init()}else g.constructor==DriveLibrary?a.showError(mxResources.get("error"),mxResources.get("diagramIsNotPublic"),mxResources.get("share"),mxUtils.bind(this,
+function(){a.drive.showPermissions(g.getId())}),null,mxResources.get("ok"),mxUtils.bind(this,function(){})):a.handleError({message:mxResources.get("diagramIsNotPublic")})})}),p.className="geBtn",c.appendChild(p));p=mxUtils.button(mxResources.get("export"),function(){var b=a.createLibraryDataFromImages(l),e=t.value;/(\.xml)$/i.test(e)||(e+=".xml");a.isLocalFileSave()?a.saveLocalFile(b,e,"text/xml",null,null,!0,null,"xml"):(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(e)+"&format=xml&xml="+
+encodeURIComponent(b))).simulate(document,"_blank")});p.setAttribute("id","btnDownload");p.className="geBtn";c.appendChild(p);if(Graph.fileSupport){if(null==a.libDlgFileInputElt){var F=document.createElement("input");F.setAttribute("multiple","multiple");F.setAttribute("type","file");mxEvent.addListener(F,"change",function(b){C=!1;a.importFiles(F.files,0,0,a.maxImageSize,function(a,e,c,d,k,l,f,g,p){null!=F.files&&(A(b)(a,e,c,d,k,l,f,g,p),F.type="",F.type="file",F.value="")});u.scrollTop=u.scrollHeight});
+F.style.display="none";document.body.appendChild(F);a.libDlgFileInputElt=F}p=mxUtils.button(mxResources.get("import"),function(){null!=B&&(B(),B=null);a.libDlgFileInputElt.click()});p.setAttribute("id","btnAddImage");p.className="geBtn";c.appendChild(p)}p=mxUtils.button(mxResources.get("addImages"),function(){null!=B&&(B(),B=null);a.showImageDialog(mxResources.get("addImageUrl"),"",function(a,b,e){C=!1;if(null!=a){if("data:image/"==a.substring(0,11)){var c=a.indexOf(",");0<c&&(a=a.substring(0,c)+
+";base64,"+a.substring(c+1))}n(a,null,0,0,b,e);u.scrollTop=u.scrollHeight}})});p.setAttribute("id","btnAddImageUrl");p.className="geBtn";c.appendChild(p);this.saveBtnClickHandler=function(b,e,c,d){a.saveLibrary(b,e,c,d)};p=mxUtils.button(mxResources.get("save"),mxUtils.bind(this,function(){null!=B&&(B(),B=null);this.saveBtnClickHandler(t.value,l,g,f)}));p.setAttribute("id","btnSave");p.className="geBtn gePrimaryBtn";c.appendChild(p);a.editor.cancelFirst||c.appendChild(d);b.appendChild(c);this.container=
b},EditShapeDialog=function(a,d,b,c,g){c=null!=c?c:300;g=null!=g?g:120;var f,m,n=document.createElement("table"),e=document.createElement("tbody");n.style.cellPadding="4px";f=document.createElement("tr");m=document.createElement("td");m.setAttribute("colspan","2");m.style.fontSize="10pt";mxUtils.write(m,b);f.appendChild(m);e.appendChild(f);f=document.createElement("tr");m=document.createElement("td");var k=document.createElement("textarea");k.style.outline="none";k.style.resize="none";k.style.width=
c-200+"px";k.style.height=g+"px";this.textarea=k;this.init=function(){k.focus();k.scrollTop=0};m.appendChild(k);f.appendChild(m);m=document.createElement("td");b=document.createElement("div");b.style.position="relative";b.style.border="1px solid gray";b.style.top="6px";b.style.width="200px";b.style.height=g+4+"px";b.style.overflow="hidden";b.style.marginBottom="16px";mxEvent.disableContextMenu(b);m.appendChild(b);var l=new Graph(b);l.setEnabled(!1);var p=a.editor.graph.cloneCell(d);l.addCells([p]);
b=l.view.getState(p);var t="";null!=b.shape&&null!=b.shape.stencil&&(t=mxUtils.getPrettyXml(b.shape.stencil.desc));mxUtils.write(k,t||"");b=l.getGraphBounds();g=Math.min(160/b.width,(g-40)/b.height);l.view.scaleAndTranslate(g,20/g-b.x,20/g-b.y);f.appendChild(m);e.appendChild(f);f=document.createElement("tr");m=document.createElement("td");m.setAttribute("colspan","2");m.style.paddingTop="2px";m.style.whiteSpace="nowrap";m.setAttribute("align","right");a.isOffline()||(g=mxUtils.button(mxResources.get("help"),
-function(){a.openLink("https://www.diagrams.net/doc/faq/shape-complex-create-edit")}),g.className="geBtn",m.appendChild(g));g=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});g.className="geBtn";a.editor.cancelFirst&&m.appendChild(g);var u=function(e,b,c){var d=k.value,l=mxUtils.parseXml(d),d=mxUtils.getPrettyXml(l.documentElement),l=l.documentElement.getElementsByTagName("parsererror");if(null!=l&&0<l.length)a.showError(mxResources.get("error"),mxResources.get("containsValidationErrors"),
-mxResources.get("ok"));else if(c&&a.hideDialog(),l=!e.model.contains(b),!c||l||d!=t){d=Graph.compress(d);e.getModel().beginUpdate();try{if(l){var f=a.editor.graph.getFreeInsertPoint();b.geometry.x=f.x;b.geometry.y=f.y;e.addCell(b)}e.setCellStyles(mxConstants.STYLE_SHAPE,"stencil("+d+")",[b])}catch(B){throw B;}finally{e.getModel().endUpdate()}l&&(e.setSelectionCell(b),e.scrollCellToVisible(b))}};b=mxUtils.button(mxResources.get("preview"),function(){u(l,p,!1)});b.className="geBtn";m.appendChild(b);
+function(){a.openLink("https://www.diagrams.net/doc/faq/shape-complex-create-edit")}),g.className="geBtn",m.appendChild(g));g=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});g.className="geBtn";a.editor.cancelFirst&&m.appendChild(g);var u=function(b,e,c){var d=k.value,l=mxUtils.parseXml(d),d=mxUtils.getPrettyXml(l.documentElement),l=l.documentElement.getElementsByTagName("parsererror");if(null!=l&&0<l.length)a.showError(mxResources.get("error"),mxResources.get("containsValidationErrors"),
+mxResources.get("ok"));else if(c&&a.hideDialog(),l=!b.model.contains(e),!c||l||d!=t){d=Graph.compress(d);b.getModel().beginUpdate();try{if(l){var f=a.editor.graph.getFreeInsertPoint();e.geometry.x=f.x;e.geometry.y=f.y;b.addCell(e)}b.setCellStyles(mxConstants.STYLE_SHAPE,"stencil("+d+")",[e])}catch(C){throw C;}finally{b.getModel().endUpdate()}l&&(b.setSelectionCell(e),b.scrollCellToVisible(e))}};b=mxUtils.button(mxResources.get("preview"),function(){u(l,p,!1)});b.className="geBtn";m.appendChild(b);
b=mxUtils.button(mxResources.get("apply"),function(){u(a.editor.graph,d,!0)});b.className="geBtn gePrimaryBtn";m.appendChild(b);a.editor.cancelFirst||m.appendChild(g);f.appendChild(m);e.appendChild(f);n.appendChild(e);this.container=n},CustomDialog=function(a,d,b,c,g,f,m,n,e,k){var l=document.createElement("div");l.appendChild(d);d=document.createElement("div");d.style.marginTop="16px";d.style.textAlign="center";null!=m&&d.appendChild(m);a.isOffline()||null==f||(m=mxUtils.button(mxResources.get("help"),
function(){a.openLink(f)}),m.className="geBtn",d.appendChild(m));e=mxUtils.button(e||mxResources.get("cancel"),function(){a.hideDialog();null!=c&&c()});e.className="geBtn";n&&(e.style.display="none");a.editor.cancelFirst&&d.appendChild(e);g=mxUtils.button(g||mxResources.get("ok"),mxUtils.bind(this,function(){k||a.hideDialog(null,null,this.container);if(null!=b){var e=b();if("string"===typeof e){a.showError(mxResources.get("error"),e);return}}k&&a.hideDialog(null,null,this.container)}));d.appendChild(g);
g.className="geBtn gePrimaryBtn";a.editor.cancelFirst||d.appendChild(e);l.appendChild(d);this.cancelBtn=e;this.okButton=g;this.container=l},TemplatesDialog=function(){var a='<div class="geTempDlgHeader"><img src="/images/draw.io-logo.svg" class="geTempDlgHeaderLogo"><input type="search" class="geTempDlgSearchBox" placeholder="'+mxResources.get("search",null,"Search")+'"></div><div class="geTemplatesList"><div class="geTempDlgNewDiagramlbl">'+mxResources.get("newDiagram",null,"New Diagram")+'</div><div class="geTempDlgHLine"></div><div class="geTemplatesLbl">'+
@@ -9810,41 +9812,41 @@ mxResources.get("templates",null,"Templates")+'</div></div><div class="geTempDlg
mxResources.get("myDiagrams",null,"My diagrams")+'</span></div><div class="geTempDlgRadioBtn geTempDlgRadioBtnLarge geTempDlgRadioBtnActive" data-id="allDiagramsBtn"><img src="/images/all-diagrams-sel.svg" class="geTempDlgAllDiagramsBtnImg"> <span>'+mxResources.get("allDiagrams",null,"All diagrams")+'</span></div><div class="geTempDlgSpacer"> </div><div class="geTempDlgRadioBtn geTempDlgRadioBtnSmall geTempDlgRadioBtnActive" data-id="tilesBtn"><img src="/images/tiles-sel.svg" class="geTempDlgTilesBtnImg"></div><div class="geTempDlgRadioBtn geTempDlgRadioBtnSmall" data-id="listBtn"><img src="/images/list.svg" class="geTempDlgListBtnImg"></div></div></div><div class="geTempDlgDiagramsTiles"></div></div></div><br style="clear:both;"/><div class="geTempDlgFooter"><span class="geTempDlgLinkToDiagram geTempDlgLinkToDiagramHint">&#x1F6C8; '+
mxResources.get("linkToDiagramHint",null,"Add a link to this diagram. The diagram can only be edited from the page that owns it.")+'</span><button class="geTempDlgLinkToDiagram geTempDlgLinkToDiagramBtn">'+mxResources.get("linkToDiagram",null,"Link to Diagram")+'</button><div class="geTempDlgCreateBtn">'+mxResources.get("create",null,"Create")+'</div><div class="geTempDlgCancelBtn">'+mxResources.get("cancel",null,"Cancel")+"</div></div>",d=document.createElement("div");d.innerHTML=a;d.className="geTemplateDlg";
var a=window.innerWidth,b=window.innerHeight,c=987,g=712;.9*a<c&&(c=Math.max(.9*a,600),d.style.width=c+"px");.9*b<g&&(g=Math.max(.9*b,300),d.style.height=g+"px");this.width=c;this.height=g;this.container=d};
-TemplatesDialog.prototype.init=function(a,d,b,c,g,f,m,n,e,k){function l(){null!=H&&(H.style.fontWeight="normal",H.style.textDecoration="none",H=null)}function p(a,e,b,c,d,k,l){if(-1<a.className.indexOf("geTempDlgRadioBtnActive"))return!1;a.className+=" geTempDlgRadioBtnActive";C.querySelector(".geTempDlgRadioBtn[data-id="+c+"]").className="geTempDlgRadioBtn "+(l?"geTempDlgRadioBtnLarge":"geTempDlgRadioBtnSmall");C.querySelector("."+e).src="/images/"+b+"-sel.svg";C.querySelector("."+d).src="/images/"+
-k+".svg";return!0}function t(a){function e(a){X.removeChild(c);C.removeChild(b);X.scrollTop=k}a=a.prevImgUrl||a.imgUrl||TEMPLATE_PATH+"/"+a.url.substring(0,a.url.length-4)+".png";var b=document.createElement("div");b.className="geTempDlgDialogMask";C.appendChild(b);var c=document.createElement("div");c.className="geTempDlgDiagramPreviewBox";var d=document.createElement("img");d.src=a;c.appendChild(d);a=document.createElement("img");a.src="/images/close.png";a.className="geTempDlgPreviewCloseBtn";
-a.setAttribute("title",mxResources.get("close"));c.appendChild(a);var k=X.scrollTop;mxEvent.addListener(a,"click",e);mxEvent.addListener(b,"click",e);X.appendChild(c);X.scrollTop=0;c.style.lineHeight=c.clientHeight+"px"}function u(a,e,b){if(null!=F){for(var c=F.className.split(" "),d=0;d<c.length;d++)if(-1<c[d].indexOf("Active")){c.splice(d,1);break}F.className=c.join(" ")}null!=a?(F=a,F.className+=" "+e,I=b,V.className="geTempDlgCreateBtn"):(I=F=null,V.className="geTempDlgCreateBtn geTempDlgCreateBtnDisabled")}
-function q(b){if(null!=I){var c=I;I=null;V.className="geTempDlgCreateBtn geTempDlgCreateBtnDisabled geTempDlgCreateBtnBusy";c.isExternal?(1==b?k(c.url,c,"nameInput.value"):e(c.url,c,"nameInput.value"),a.hideDialog(!0)):mxUtils.get(TEMPLATE_PATH+"/"+c.url,mxUtils.bind(this,function(e){200<=e.getStatus()&&299>=e.getStatus()&&(d(e.getText(),"nameInput.value"),a.hideDialog(!0))}))}}function x(a){a=a?"":"none";for(var e=C.querySelectorAll(".geTempDlgLinkToDiagram"),b=0;b<e.length;b++)e[b].style.display=
-a}function y(a,e,b){function c(){V.innerHTML=e?mxUtils.htmlEntities(mxResources.get("create")):mxUtils.htmlEntities(mxResources.get("copy"));x(!e)}L.innerHTML="";u();M=a;var d=null;if(b){d=document.createElement("table");d.className="geTempDlgDiagramsListGrid";var k=document.createElement("tr"),l=document.createElement("th");l.style.width="50%";l.innerHTML=mxUtils.htmlEntities(mxResources.get("diagram",null,"Diagram"));k.appendChild(l);l=document.createElement("th");l.style.width="25%";l.innerHTML=
-mxUtils.htmlEntities(mxResources.get("changedBy",null,"Changed By"));k.appendChild(l);l=document.createElement("th");l.style.width="25%";l.innerHTML=mxUtils.htmlEntities(mxResources.get("lastModifiedOn",null,"Last modified on"));k.appendChild(l);d.appendChild(k);L.appendChild(d)}for(k=0;k<a.length;k++){a[k].isExternal=!e;var f=a[k].url,l=mxUtils.htmlEntities(a[k].title),g=a[k].tooltip||a[k].title,p=a[k].imgUrl,m=mxUtils.htmlEntities(a[k].changedBy||""),z=mxUtils.htmlEntities(a[k].lastModifiedOn||
-"");p||(p=TEMPLATE_PATH+"/"+f.substring(0,f.length-4)+".png");f=b?50:15;null!=l&&l.length>f&&(l=l.substring(0,f)+"&hellip;");if(b){var K=document.createElement("tr"),p=document.createElement("td"),n=document.createElement("img");n.src="/images/icon-search.svg";n.className="geTempDlgDiagramListPreviewBtn";n.setAttribute("title",mxResources.get("preview"));p.appendChild(n);g=document.createElement("span");g.className="geTempDlgDiagramTitle";g.innerHTML=l;p.appendChild(g);K.appendChild(p);p=document.createElement("td");
-p.innerHTML=m;K.appendChild(p);p=document.createElement("td");p.innerHTML=z;K.appendChild(p);d.appendChild(K);null==F&&(c(),u(K,"geTempDlgDiagramsListGridActive",a[k]));(function(a,e){mxEvent.addListener(K,"click",function(){F!=e&&(c(),u(e,"geTempDlgDiagramsListGridActive",a))});mxEvent.addListener(K,"dblclick",q);mxEvent.addListener(n,"click",function(){t(a)})})(a[k],K)}else{var B=document.createElement("div");B.className="geTempDlgDiagramTile";B.setAttribute("title",g);null==F&&(c(),u(B,"geTempDlgDiagramTileActive",
-a[k]));m=document.createElement("div");m.className="geTempDlgDiagramTileImg geTempDlgDiagramTileImgLoading";var v=document.createElement("img");v.style.display="none";(function(a,e){v.onload=function(){e.className="geTempDlgDiagramTileImg";a.style.display=""};v.onerror=function(){e.className="geTempDlgDiagramTileImg geTempDlgDiagramTileImgError"}})(v,m);v.src=p;m.appendChild(v);B.appendChild(m);m=document.createElement("div");m.className="geTempDlgDiagramTileLbl";m.innerHTML=null!=l?l:"";B.appendChild(m);
-n=document.createElement("img");n.src="/images/icon-search.svg";n.className="geTempDlgDiagramPreviewBtn";n.setAttribute("title",mxResources.get("preview"));B.appendChild(n);(function(a,e){mxEvent.addListener(B,"click",function(){F!=e&&(c(),u(e,"geTempDlgDiagramTileActive",a))});mxEvent.addListener(B,"dblclick",q);mxEvent.addListener(n,"click",function(){t(a)})})(a[k],B);L.appendChild(B)}}}function v(a,e){W.innerHTML="";u();for(var b=!e&&5<a.length?5:a.length,c=0;c<b;c++){var d=a[c];d.isCategory=!0;
-var k=document.createElement("div"),l=mxResources.get(d.title);null==l&&(l=d.title.substring(0,1).toUpperCase()+d.title.substring(1));k.className="geTempDlgNewDiagramCatItem";k.setAttribute("title",l);l=mxUtils.htmlEntities(l);15<l.length&&(l=l.substring(0,15)+"&hellip;");null==F&&(V.innerHTML=mxUtils.htmlEntities(mxResources.get("create")),x(),u(k,"geTempDlgNewDiagramCatItemActive",d));var f=document.createElement("div");f.className="geTempDlgNewDiagramCatItemImg";var g=document.createElement("img");
-g.src=NEW_DIAGRAM_CATS_PATH+"/"+d.img;f.appendChild(g);k.appendChild(f);f=document.createElement("div");f.className="geTempDlgNewDiagramCatItemLbl";f.innerHTML=l;k.appendChild(f);W.appendChild(k);(function(a,e){mxEvent.addListener(k,"click",function(){F!=e&&(V.innerHTML=mxUtils.htmlEntities(mxResources.get("create")),x(),u(e,"geTempDlgNewDiagramCatItemActive",a))});mxEvent.addListener(k,"dblclick",q)})(d,k)}Y.style.display=5>a.length?"none":""}function A(a){var e=C.querySelector(".geTemplatesList"),
-b;for(b in a){var c=document.createElement("div"),d=mxResources.get(b),k=a[b];null==d&&(d=b.substring(0,1).toUpperCase()+b.substring(1));c.className="geTemplateCatLink";c.setAttribute("title",d+" ("+k.length+")");d=mxUtils.htmlEntities(d);15<d.length&&(d=d.substring(0,15)+"&hellip;");c.innerHTML=d+" ("+k.length+")";e.appendChild(c);(function(e,b,d){mxEvent.addListener(c,"click",function(){H!=d&&(null!=H?(H.style.fontWeight="normal",H.style.textDecoration="none"):(ca.style.display="none",aa.style.minHeight=
-"100%"),H=d,H.style.fontWeight="bold",H.style.textDecoration="underline",X.scrollTop=0,G&&(D=!0),T.innerHTML=b,U.style.display="none",y(a[e],!0))})})(b,d,c)}}function z(a){m&&(X.scrollTop=0,L.innerHTML="",fa.spin(L),D=!1,G=!0,T.innerHTML=mxUtils.htmlEntities(mxResources.get("recentDiag",null,"Recent Diagrams")),N=null,m(da,a?null:f))}function B(a){l();X.scrollTop=0;L.innerHTML="";fa.spin(L);D=!1;G=!0;S=null;T.innerHTML=mxUtils.htmlEntities(mxResources.get("searchResults",null,"Search Results"))+' "'+
-mxUtils.htmlEntities(a)+'"';n(a,da,E?null:f);N=a}c=null!=c?c:TEMPLATE_PATH+"/index.xml";g=null!=g?g:NEW_DIAGRAM_CATS_PATH+"/index.xml";var C=this.container,G=!1,D=!1,H=null,F=null,I=null,J=!1,E=!0,K=!1,M=[],N,Y=C.querySelector(".geTempDlgShowAllBtn"),L=C.querySelector(".geTempDlgDiagramsTiles"),T=C.querySelector(".geTempDlgDiagramsListTitle"),U=C.querySelector(".geTempDlgDiagramsListBtns"),X=C.querySelector(".geTempDlgContent"),aa=C.querySelector(".geTempDlgDiagramsList"),ca=C.querySelector(".geTempDlgNewDiagramCat"),
-W=C.querySelector(".geTempDlgNewDiagramCatList"),V=C.querySelector(".geTempDlgCreateBtn"),fa=new Spinner({lines:12,length:10,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"50px",zIndex:2E9});mxEvent.addListener(C.querySelector(".geTempDlgNewDiagramlbl"),"click",function(){l();ca.style.display="";aa.style.minHeight="calc(100% - 280px)";z(E)});mxEvent.addListener(C.querySelector(".geTempDlgRadioBtn[data-id=allDiagramsBtn]"),"click",function(){p(this,"geTempDlgAllDiagramsBtnImg",
-"all-diagrams","myDiagramsBtn","geTempDlgMyDiagramsBtnImg","my-diagrams",!0)&&(E=!0,null==N?z(E):B(N))});mxEvent.addListener(C.querySelector(".geTempDlgRadioBtn[data-id=myDiagramsBtn]"),"click",function(){p(this,"geTempDlgMyDiagramsBtnImg","my-diagrams","allDiagramsBtn","geTempDlgAllDiagramsBtnImg","all-diagrams",!0)&&(E=!1,null==N?z(E):B(N))});mxEvent.addListener(C.querySelector(".geTempDlgRadioBtn[data-id=listBtn]"),"click",function(){p(this,"geTempDlgListBtnImg","list","tilesBtn","geTempDlgTilesBtnImg",
-"tiles",!1)&&(K=!0,y(M,!1,K))});mxEvent.addListener(C.querySelector(".geTempDlgRadioBtn[data-id=tilesBtn]"),"click",function(){p(this,"geTempDlgTilesBtnImg","tiles","listBtn","geTempDlgListBtnImg","list",!1)&&(K=!1,y(M,!1,K))});mxEvent.addListener(Y,"click",function(){J?(ca.style.height="280px",W.style.height="190px",Y.innerHTML=mxUtils.htmlEntities(mxResources.get("showAll",null,"+ Show all")),v(R)):(ca.style.height="440px",W.style.height="355px",Y.innerHTML=mxUtils.htmlEntities(mxResources.get("showLess",
-null,"- Show less")),v(R,!0));J=!J});var ea=!1,O=!1,Z={},R=[],P=1;mxUtils.get(c,function(a){if(!ea){ea=!0;for(a=a.getXml().documentElement.firstChild;null!=a;){if("undefined"!==typeof a.getAttribute){var e=a.getAttribute("url");if(null!=e){var b=e.indexOf("/"),e=e.substring(0,b),b=Z[e];null==b&&(P++,b=[],Z[e]=b);b.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),clibs:a.getAttribute("clibs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url"),imgUrl:a.getAttribute("imgUrl")})}}a=
-a.nextSibling}A(Z)}});mxUtils.get(g,function(a){if(!O){O=!0;for(a=a.getXml().documentElement.firstChild;null!=a;)"undefined"!==typeof a.getAttribute&&null!=a.getAttribute("title")&&R.push({img:a.getAttribute("img"),libs:a.getAttribute("libs"),clibs:a.getAttribute("clibs"),title:a.getAttribute("title")}),a=a.nextSibling;v(R)}});var da=function(a,e){U.style.display="";fa.stop();G=!1;D?D=!1:e?L.innerHTML=e:0==a.length?L.innerHTML=mxUtils.htmlEntities(mxResources.get("noDiagrams",null,"No Diagrams Found")):
-y(a,!1,K)};z(E);var S=null;n&&mxEvent.addListener(C.querySelector(".geTempDlgSearchBox"),"keyup",function(a){var e=this;null!=S&&clearTimeout(S);13==a.keyCode?B(e.value):S=setTimeout(function(){B(e.value)},500)});mxEvent.addListener(V,"click",q);mxEvent.addListener(C.querySelector(".geTempDlgLinkToDiagramBtn"),"click",function(a){q(!0)});mxEvent.addListener(C.querySelector(".geTempDlgCancelBtn"),"click",function(){null!=b&&b();a.hideDialog(!0)})};
+TemplatesDialog.prototype.init=function(a,d,b,c,g,f,m,n,e,k){function l(){null!=G&&(G.style.fontWeight="normal",G.style.textDecoration="none",G=null)}function p(a,b,e,c,d,k,l){if(-1<a.className.indexOf("geTempDlgRadioBtnActive"))return!1;a.className+=" geTempDlgRadioBtnActive";A.querySelector(".geTempDlgRadioBtn[data-id="+c+"]").className="geTempDlgRadioBtn "+(l?"geTempDlgRadioBtnLarge":"geTempDlgRadioBtnSmall");A.querySelector("."+b).src="/images/"+e+"-sel.svg";A.querySelector("."+d).src="/images/"+
+k+".svg";return!0}function t(a){function b(a){X.removeChild(c);A.removeChild(e);X.scrollTop=k}a=a.prevImgUrl||a.imgUrl||TEMPLATE_PATH+"/"+a.url.substring(0,a.url.length-4)+".png";var e=document.createElement("div");e.className="geTempDlgDialogMask";A.appendChild(e);var c=document.createElement("div");c.className="geTempDlgDiagramPreviewBox";var d=document.createElement("img");d.src=a;c.appendChild(d);a=document.createElement("img");a.src="/images/close.png";a.className="geTempDlgPreviewCloseBtn";
+a.setAttribute("title",mxResources.get("close"));c.appendChild(a);var k=X.scrollTop;mxEvent.addListener(a,"click",b);mxEvent.addListener(e,"click",b);X.appendChild(c);X.scrollTop=0;c.style.lineHeight=c.clientHeight+"px"}function u(a,b,e){if(null!=E){for(var c=E.className.split(" "),d=0;d<c.length;d++)if(-1<c[d].indexOf("Active")){c.splice(d,1);break}E.className=c.join(" ")}null!=a?(E=a,E.className+=" "+b,I=e,V.className="geTempDlgCreateBtn"):(I=E=null,V.className="geTempDlgCreateBtn geTempDlgCreateBtnDisabled")}
+function q(b){if(null!=I){var c=I;I=null;V.className="geTempDlgCreateBtn geTempDlgCreateBtnDisabled geTempDlgCreateBtnBusy";c.isExternal?(1==b?k(c.url,c,"nameInput.value"):e(c.url,c,"nameInput.value"),a.hideDialog(!0)):mxUtils.get(TEMPLATE_PATH+"/"+c.url,mxUtils.bind(this,function(b){200<=b.getStatus()&&299>=b.getStatus()&&(d(b.getText(),"nameInput.value"),a.hideDialog(!0))}))}}function v(a){a=a?"":"none";for(var b=A.querySelectorAll(".geTempDlgLinkToDiagram"),e=0;e<b.length;e++)b[e].style.display=
+a}function z(a,b,e){function c(){V.innerHTML=b?mxUtils.htmlEntities(mxResources.get("create")):mxUtils.htmlEntities(mxResources.get("copy"));v(!b)}L.innerHTML="";u();M=a;var d=null;if(e){d=document.createElement("table");d.className="geTempDlgDiagramsListGrid";var k=document.createElement("tr"),l=document.createElement("th");l.style.width="50%";l.innerHTML=mxUtils.htmlEntities(mxResources.get("diagram",null,"Diagram"));k.appendChild(l);l=document.createElement("th");l.style.width="25%";l.innerHTML=
+mxUtils.htmlEntities(mxResources.get("changedBy",null,"Changed By"));k.appendChild(l);l=document.createElement("th");l.style.width="25%";l.innerHTML=mxUtils.htmlEntities(mxResources.get("lastModifiedOn",null,"Last modified on"));k.appendChild(l);d.appendChild(k);L.appendChild(d)}for(k=0;k<a.length;k++){a[k].isExternal=!b;var f=a[k].url,l=mxUtils.htmlEntities(a[k].title),g=a[k].tooltip||a[k].title,p=a[k].imgUrl,m=mxUtils.htmlEntities(a[k].changedBy||""),y=mxUtils.htmlEntities(a[k].lastModifiedOn||
+"");p||(p=TEMPLATE_PATH+"/"+f.substring(0,f.length-4)+".png");f=e?50:15;null!=l&&l.length>f&&(l=l.substring(0,f)+"&hellip;");if(e){var K=document.createElement("tr"),p=document.createElement("td"),n=document.createElement("img");n.src="/images/icon-search.svg";n.className="geTempDlgDiagramListPreviewBtn";n.setAttribute("title",mxResources.get("preview"));p.appendChild(n);g=document.createElement("span");g.className="geTempDlgDiagramTitle";g.innerHTML=l;p.appendChild(g);K.appendChild(p);p=document.createElement("td");
+p.innerHTML=m;K.appendChild(p);p=document.createElement("td");p.innerHTML=y;K.appendChild(p);d.appendChild(K);null==E&&(c(),u(K,"geTempDlgDiagramsListGridActive",a[k]));(function(a,b){mxEvent.addListener(K,"click",function(){E!=b&&(c(),u(b,"geTempDlgDiagramsListGridActive",a))});mxEvent.addListener(K,"dblclick",q);mxEvent.addListener(n,"click",function(){t(a)})})(a[k],K)}else{var C=document.createElement("div");C.className="geTempDlgDiagramTile";C.setAttribute("title",g);null==E&&(c(),u(C,"geTempDlgDiagramTileActive",
+a[k]));m=document.createElement("div");m.className="geTempDlgDiagramTileImg geTempDlgDiagramTileImgLoading";var A=document.createElement("img");A.style.display="none";(function(a,b){A.onload=function(){b.className="geTempDlgDiagramTileImg";a.style.display=""};A.onerror=function(){b.className="geTempDlgDiagramTileImg geTempDlgDiagramTileImgError"}})(A,m);A.src=p;m.appendChild(A);C.appendChild(m);m=document.createElement("div");m.className="geTempDlgDiagramTileLbl";m.innerHTML=null!=l?l:"";C.appendChild(m);
+n=document.createElement("img");n.src="/images/icon-search.svg";n.className="geTempDlgDiagramPreviewBtn";n.setAttribute("title",mxResources.get("preview"));C.appendChild(n);(function(a,b){mxEvent.addListener(C,"click",function(){E!=b&&(c(),u(b,"geTempDlgDiagramTileActive",a))});mxEvent.addListener(C,"dblclick",q);mxEvent.addListener(n,"click",function(){t(a)})})(a[k],C);L.appendChild(C)}}}function x(a,b){W.innerHTML="";u();for(var e=!b&&5<a.length?5:a.length,c=0;c<e;c++){var d=a[c];d.isCategory=!0;
+var k=document.createElement("div"),l=mxResources.get(d.title);null==l&&(l=d.title.substring(0,1).toUpperCase()+d.title.substring(1));k.className="geTempDlgNewDiagramCatItem";k.setAttribute("title",l);l=mxUtils.htmlEntities(l);15<l.length&&(l=l.substring(0,15)+"&hellip;");null==E&&(V.innerHTML=mxUtils.htmlEntities(mxResources.get("create")),v(),u(k,"geTempDlgNewDiagramCatItemActive",d));var f=document.createElement("div");f.className="geTempDlgNewDiagramCatItemImg";var g=document.createElement("img");
+g.src=NEW_DIAGRAM_CATS_PATH+"/"+d.img;f.appendChild(g);k.appendChild(f);f=document.createElement("div");f.className="geTempDlgNewDiagramCatItemLbl";f.innerHTML=l;k.appendChild(f);W.appendChild(k);(function(a,b){mxEvent.addListener(k,"click",function(){E!=b&&(V.innerHTML=mxUtils.htmlEntities(mxResources.get("create")),v(),u(b,"geTempDlgNewDiagramCatItemActive",a))});mxEvent.addListener(k,"dblclick",q)})(d,k)}Y.style.display=5>a.length?"none":""}function B(a){var b=A.querySelector(".geTemplatesList"),
+e;for(e in a){var c=document.createElement("div"),d=mxResources.get(e),k=a[e];null==d&&(d=e.substring(0,1).toUpperCase()+e.substring(1));c.className="geTemplateCatLink";c.setAttribute("title",d+" ("+k.length+")");d=mxUtils.htmlEntities(d);15<d.length&&(d=d.substring(0,15)+"&hellip;");c.innerHTML=d+" ("+k.length+")";b.appendChild(c);(function(b,e,d){mxEvent.addListener(c,"click",function(){G!=d&&(null!=G?(G.style.fontWeight="normal",G.style.textDecoration="none"):(ca.style.display="none",aa.style.minHeight=
+"100%"),G=d,G.style.fontWeight="bold",G.style.textDecoration="underline",X.scrollTop=0,F&&(D=!0),T.innerHTML=e,U.style.display="none",z(a[b],!0))})})(e,d,c)}}function y(a){m&&(X.scrollTop=0,L.innerHTML="",fa.spin(L),D=!1,F=!0,T.innerHTML=mxUtils.htmlEntities(mxResources.get("recentDiag",null,"Recent Diagrams")),N=null,m(da,a?null:f))}function C(a){l();X.scrollTop=0;L.innerHTML="";fa.spin(L);D=!1;F=!0;S=null;T.innerHTML=mxUtils.htmlEntities(mxResources.get("searchResults",null,"Search Results"))+' "'+
+mxUtils.htmlEntities(a)+'"';n(a,da,H?null:f);N=a}c=null!=c?c:TEMPLATE_PATH+"/index.xml";g=null!=g?g:NEW_DIAGRAM_CATS_PATH+"/index.xml";var A=this.container,F=!1,D=!1,G=null,E=null,I=null,J=!1,H=!0,K=!1,M=[],N,Y=A.querySelector(".geTempDlgShowAllBtn"),L=A.querySelector(".geTempDlgDiagramsTiles"),T=A.querySelector(".geTempDlgDiagramsListTitle"),U=A.querySelector(".geTempDlgDiagramsListBtns"),X=A.querySelector(".geTempDlgContent"),aa=A.querySelector(".geTempDlgDiagramsList"),ca=A.querySelector(".geTempDlgNewDiagramCat"),
+W=A.querySelector(".geTempDlgNewDiagramCatList"),V=A.querySelector(".geTempDlgCreateBtn"),fa=new Spinner({lines:12,length:10,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"50px",zIndex:2E9});mxEvent.addListener(A.querySelector(".geTempDlgNewDiagramlbl"),"click",function(){l();ca.style.display="";aa.style.minHeight="calc(100% - 280px)";y(H)});mxEvent.addListener(A.querySelector(".geTempDlgRadioBtn[data-id=allDiagramsBtn]"),"click",function(){p(this,"geTempDlgAllDiagramsBtnImg",
+"all-diagrams","myDiagramsBtn","geTempDlgMyDiagramsBtnImg","my-diagrams",!0)&&(H=!0,null==N?y(H):C(N))});mxEvent.addListener(A.querySelector(".geTempDlgRadioBtn[data-id=myDiagramsBtn]"),"click",function(){p(this,"geTempDlgMyDiagramsBtnImg","my-diagrams","allDiagramsBtn","geTempDlgAllDiagramsBtnImg","all-diagrams",!0)&&(H=!1,null==N?y(H):C(N))});mxEvent.addListener(A.querySelector(".geTempDlgRadioBtn[data-id=listBtn]"),"click",function(){p(this,"geTempDlgListBtnImg","list","tilesBtn","geTempDlgTilesBtnImg",
+"tiles",!1)&&(K=!0,z(M,!1,K))});mxEvent.addListener(A.querySelector(".geTempDlgRadioBtn[data-id=tilesBtn]"),"click",function(){p(this,"geTempDlgTilesBtnImg","tiles","listBtn","geTempDlgListBtnImg","list",!1)&&(K=!1,z(M,!1,K))});mxEvent.addListener(Y,"click",function(){J?(ca.style.height="280px",W.style.height="190px",Y.innerHTML=mxUtils.htmlEntities(mxResources.get("showAll",null,"+ Show all")),x(R)):(ca.style.height="440px",W.style.height="355px",Y.innerHTML=mxUtils.htmlEntities(mxResources.get("showLess",
+null,"- Show less")),x(R,!0));J=!J});var ea=!1,O=!1,Z={},R=[],P=1;mxUtils.get(c,function(a){if(!ea){ea=!0;for(a=a.getXml().documentElement.firstChild;null!=a;){if("undefined"!==typeof a.getAttribute){var b=a.getAttribute("url");if(null!=b){var e=b.indexOf("/"),b=b.substring(0,e),e=Z[b];null==e&&(P++,e=[],Z[b]=e);e.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),clibs:a.getAttribute("clibs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url"),imgUrl:a.getAttribute("imgUrl")})}}a=
+a.nextSibling}B(Z)}});mxUtils.get(g,function(a){if(!O){O=!0;for(a=a.getXml().documentElement.firstChild;null!=a;)"undefined"!==typeof a.getAttribute&&null!=a.getAttribute("title")&&R.push({img:a.getAttribute("img"),libs:a.getAttribute("libs"),clibs:a.getAttribute("clibs"),title:a.getAttribute("title")}),a=a.nextSibling;x(R)}});var da=function(a,b){U.style.display="";fa.stop();F=!1;D?D=!1:b?L.innerHTML=b:0==a.length?L.innerHTML=mxUtils.htmlEntities(mxResources.get("noDiagrams",null,"No Diagrams Found")):
+z(a,!1,K)};y(H);var S=null;n&&mxEvent.addListener(A.querySelector(".geTempDlgSearchBox"),"keyup",function(a){var b=this;null!=S&&clearTimeout(S);13==a.keyCode?C(b.value):S=setTimeout(function(){C(b.value)},500)});mxEvent.addListener(V,"click",q);mxEvent.addListener(A.querySelector(".geTempDlgLinkToDiagramBtn"),"click",function(a){q(!0)});mxEvent.addListener(A.querySelector(".geTempDlgCancelBtn"),"click",function(){null!=b&&b();a.hideDialog(!0)})};
var BtnDialog=function(a,d,b,c){var g=document.createElement("div");g.style.textAlign="center";var f=document.createElement("p");f.style.fontSize="16pt";f.style.padding="0px";f.style.margin="0px";f.style.color="gray";mxUtils.write(f,mxResources.get("done"));var m="Unknown",n=document.createElement("img");n.setAttribute("border","0");n.setAttribute("align","absmiddle");n.style.marginRight="10px";d==a.drive?(m=mxResources.get("googleDrive"),n.src=IMAGE_PATH+"/google-drive-logo-white.svg"):d==a.dropbox?
(m=mxResources.get("dropbox"),n.src=IMAGE_PATH+"/dropbox-logo-white.svg"):d==a.oneDrive?(m=mxResources.get("oneDrive"),n.src=IMAGE_PATH+"/onedrive-logo-white.svg"):d==a.gitHub?(m=mxResources.get("github"),n.src=IMAGE_PATH+"/github-logo-white.svg"):d==a.gitLab?(m=mxResources.get("gitlab"),n.src=IMAGE_PATH+"/gitlab-logo.svg"):d==a.trello&&(m=mxResources.get("trello"),n.src=IMAGE_PATH+"/trello-logo-white.svg");a=document.createElement("p");mxUtils.write(a,mxResources.get("authorizedIn",[m],"You are now authorized in {1}"));
-b=mxUtils.button(b,c);b.insertBefore(n,b.firstChild);b.style.marginTop="6px";b.className="geBigButton";b.style.fontSize="18px";b.style.padding="14px";g.appendChild(f);g.appendChild(a);g.appendChild(b);this.container=g},FontDialog=function(a,d,b,c,g){function f(a){this.style.border="";13==a.keyCode&&A.click()}var m,n,e,k=document.createElement("table"),l=document.createElement("tbody");k.style.marginTop="8px";m=document.createElement("tr");n=document.createElement("td");n.colSpan=2;n.style.whiteSpace=
+b=mxUtils.button(b,c);b.insertBefore(n,b.firstChild);b.style.marginTop="6px";b.className="geBigButton";b.style.fontSize="18px";b.style.padding="14px";g.appendChild(f);g.appendChild(a);g.appendChild(b);this.container=g},FontDialog=function(a,d,b,c,g){function f(a){this.style.border="";13==a.keyCode&&B.click()}var m,n,e,k=document.createElement("table"),l=document.createElement("tbody");k.style.marginTop="8px";m=document.createElement("tr");n=document.createElement("td");n.colSpan=2;n.style.whiteSpace=
"nowrap";n.style.fontSize="10pt";n.style.fontWeight="bold";var p=document.createElement("input");p.style.cssText="margin-right:8px;margin-bottom:8px;";p.setAttribute("value","sysfonts");p.setAttribute("type","radio");p.setAttribute("name","current-fontdialog");p.setAttribute("id","fontdialog-sysfonts");n.appendChild(p);e=document.createElement("label");e.setAttribute("for","fontdialog-sysfonts");mxUtils.write(e,mxResources.get("sysFonts",null,"System Fonts"));n.appendChild(e);m.appendChild(n);l.appendChild(m);
m=document.createElement("tr");n=document.createElement("td");n.style.whiteSpace="nowrap";n.style.fontSize="10pt";n.style.width="120px";n.style.paddingLeft="15px";mxUtils.write(n,mxResources.get("fontname",null,"Font Name")+":");m.appendChild(n);var t=document.createElement("input");"s"==c&&t.setAttribute("value",d);t.style.marginLeft="4px";t.style.width="250px";t.className="dlg_fontName_s";n=document.createElement("td");n.appendChild(t);m.appendChild(n);l.appendChild(m);m=document.createElement("tr");
n=document.createElement("td");n.colSpan=2;n.style.whiteSpace="nowrap";n.style.fontSize="10pt";n.style.fontWeight="bold";var u=document.createElement("input");u.style.cssText="margin-right:8px;margin-bottom:8px;";u.setAttribute("value","googlefonts");u.setAttribute("type","radio");u.setAttribute("name","current-fontdialog");u.setAttribute("id","fontdialog-googlefonts");n.appendChild(u);e=document.createElement("label");e.setAttribute("for","fontdialog-googlefonts");mxUtils.write(e,mxResources.get("googleFonts",
null,"Google Fonts"));n.appendChild(e);mxClient.IS_CHROMEAPP||a.isOffline()&&!EditorUi.isElectronApp||(e=a.menus.createHelpLink("https://fonts.google.com/"),e.getElementsByTagName("img")[0].setAttribute("valign","middle"),n.appendChild(e));m.appendChild(n);l.appendChild(m);m=document.createElement("tr");n=document.createElement("td");n.style.whiteSpace="nowrap";n.style.fontSize="10pt";n.style.width="120px";n.style.paddingLeft="15px";mxUtils.write(n,mxResources.get("fontname",null,"Font Name")+":");
-m.appendChild(n);var q=document.createElement("input");"g"==c&&q.setAttribute("value",d);q.style.marginLeft="4px";q.style.width="250px";q.className="dlg_fontName_g";n=document.createElement("td");n.appendChild(q);m.appendChild(n);l.appendChild(m);m=document.createElement("tr");n=document.createElement("td");n.colSpan=2;n.style.whiteSpace="nowrap";n.style.fontSize="10pt";n.style.fontWeight="bold";var x=document.createElement("input");x.style.cssText="margin-right:8px;margin-bottom:8px;";x.setAttribute("value",
-"webfonts");x.setAttribute("type","radio");x.setAttribute("name","current-fontdialog");x.setAttribute("id","fontdialog-webfonts");n.appendChild(x);e=document.createElement("label");e.setAttribute("for","fontdialog-webfonts");mxUtils.write(e,mxResources.get("webfonts",null,"Web Fonts"));n.appendChild(e);m.appendChild(n);l.appendChild(m);m=document.createElement("tr");n=document.createElement("td");n.style.whiteSpace="nowrap";n.style.fontSize="10pt";n.style.width="120px";n.style.paddingLeft="15px";
-mxUtils.write(n,mxResources.get("fontname",null,"Font Name")+":");m.appendChild(n);var y=document.createElement("input");"w"==c&&y.setAttribute("value",d);y.style.marginLeft="4px";y.style.width="250px";y.className="dlg_fontName_w";n=document.createElement("td");n.appendChild(y);m.appendChild(n);l.appendChild(m);m=document.createElement("tr");n=document.createElement("td");n.style.whiteSpace="nowrap";n.style.fontSize="10pt";n.style.width="120px";n.style.paddingLeft="15px";mxUtils.write(n,mxResources.get("fontUrl",
-null,"Font URL")+":");m.appendChild(n);var v=document.createElement("input");v.setAttribute("value",b||"");v.style.marginLeft="4px";v.style.width="250px";v.className="dlg_fontUrl";n=document.createElement("td");n.appendChild(v);m.appendChild(n);l.appendChild(m);this.init=function(){var a=t;"g"==c?a=q:"w"==c&&(a=y);a.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?a.select():document.execCommand("selectAll",!1,null)};m=document.createElement("tr");n=document.createElement("td");n.colSpan=
-2;n.style.paddingTop="20px";n.style.whiteSpace="nowrap";n.setAttribute("align","right");a.isOffline()||(d=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://www.diagrams.net/blog/external-fonts")}),d.className="geBtn",n.appendChild(d));d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();g()});d.className="geBtn";a.editor.cancelFirst&&n.appendChild(d);var A=mxUtils.button(mxResources.get("apply"),function(){var e,b,c;p.checked?(e=t.value,c="s"):u.checked?(e=q.value,
-b=Editor.GOOGLE_FONTS+encodeURIComponent(e).replace(/%20/g,"+"),c="g"):x.checked&&(e=y.value,b=v.value,c="w");var d;d=b;var l=c,f=/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;null==e||0==e.length?(k.querySelector(".dlg_fontName_"+l).style.border="1px solid red",d=!1):"w"!=l||f.test(d)?d=!0:(k.querySelector(".dlg_fontUrl").style.border="1px solid red",d=!1);d&&(g(e,b,c),a.hideDialog())});A.className="geBtn gePrimaryBtn";mxEvent.addListener(t,"keypress",f);mxEvent.addListener(q,
-"keypress",f);mxEvent.addListener(y,"keypress",f);mxEvent.addListener(v,"keypress",f);mxEvent.addListener(t,"focus",function(){p.setAttribute("checked","checked");p.checked=!0});mxEvent.addListener(q,"focus",function(){u.setAttribute("checked","checked");u.checked=!0});mxEvent.addListener(y,"focus",function(){x.setAttribute("checked","checked");x.checked=!0});mxEvent.addListener(v,"focus",function(){x.setAttribute("checked","checked");x.checked=!0});n.appendChild(A);a.editor.cancelFirst||n.appendChild(d);
+m.appendChild(n);var q=document.createElement("input");"g"==c&&q.setAttribute("value",d);q.style.marginLeft="4px";q.style.width="250px";q.className="dlg_fontName_g";n=document.createElement("td");n.appendChild(q);m.appendChild(n);l.appendChild(m);m=document.createElement("tr");n=document.createElement("td");n.colSpan=2;n.style.whiteSpace="nowrap";n.style.fontSize="10pt";n.style.fontWeight="bold";var v=document.createElement("input");v.style.cssText="margin-right:8px;margin-bottom:8px;";v.setAttribute("value",
+"webfonts");v.setAttribute("type","radio");v.setAttribute("name","current-fontdialog");v.setAttribute("id","fontdialog-webfonts");n.appendChild(v);e=document.createElement("label");e.setAttribute("for","fontdialog-webfonts");mxUtils.write(e,mxResources.get("webfonts",null,"Web Fonts"));n.appendChild(e);m.appendChild(n);l.appendChild(m);m=document.createElement("tr");n=document.createElement("td");n.style.whiteSpace="nowrap";n.style.fontSize="10pt";n.style.width="120px";n.style.paddingLeft="15px";
+mxUtils.write(n,mxResources.get("fontname",null,"Font Name")+":");m.appendChild(n);var z=document.createElement("input");"w"==c&&z.setAttribute("value",d);z.style.marginLeft="4px";z.style.width="250px";z.className="dlg_fontName_w";n=document.createElement("td");n.appendChild(z);m.appendChild(n);l.appendChild(m);m=document.createElement("tr");n=document.createElement("td");n.style.whiteSpace="nowrap";n.style.fontSize="10pt";n.style.width="120px";n.style.paddingLeft="15px";mxUtils.write(n,mxResources.get("fontUrl",
+null,"Font URL")+":");m.appendChild(n);var x=document.createElement("input");x.setAttribute("value",b||"");x.style.marginLeft="4px";x.style.width="250px";x.className="dlg_fontUrl";n=document.createElement("td");n.appendChild(x);m.appendChild(n);l.appendChild(m);this.init=function(){var a=t;"g"==c?a=q:"w"==c&&(a=z);a.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?a.select():document.execCommand("selectAll",!1,null)};m=document.createElement("tr");n=document.createElement("td");n.colSpan=
+2;n.style.paddingTop="20px";n.style.whiteSpace="nowrap";n.setAttribute("align","right");a.isOffline()||(d=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://www.diagrams.net/blog/external-fonts")}),d.className="geBtn",n.appendChild(d));d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();g()});d.className="geBtn";a.editor.cancelFirst&&n.appendChild(d);var B=mxUtils.button(mxResources.get("apply"),function(){var b,e,c;p.checked?(b=t.value,c="s"):u.checked?(b=q.value,
+e=Editor.GOOGLE_FONTS+encodeURIComponent(b).replace(/%20/g,"+"),c="g"):v.checked&&(b=z.value,e=x.value,c="w");var d;d=e;var l=c,f=/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;null==b||0==b.length?(k.querySelector(".dlg_fontName_"+l).style.border="1px solid red",d=!1):"w"!=l||f.test(d)?d=!0:(k.querySelector(".dlg_fontUrl").style.border="1px solid red",d=!1);d&&(g(b,e,c),a.hideDialog())});B.className="geBtn gePrimaryBtn";mxEvent.addListener(t,"keypress",f);mxEvent.addListener(q,
+"keypress",f);mxEvent.addListener(z,"keypress",f);mxEvent.addListener(x,"keypress",f);mxEvent.addListener(t,"focus",function(){p.setAttribute("checked","checked");p.checked=!0});mxEvent.addListener(q,"focus",function(){u.setAttribute("checked","checked");u.checked=!0});mxEvent.addListener(z,"focus",function(){v.setAttribute("checked","checked");v.checked=!0});mxEvent.addListener(x,"focus",function(){v.setAttribute("checked","checked");v.checked=!0});n.appendChild(B);a.editor.cancelFirst||n.appendChild(d);
m.appendChild(n);l.appendChild(m);k.appendChild(l);this.container=k};
function AspectDialog(a,d,b,c,g){this.aspect={pageId:d||(a.pages?a.pages[0].getId():null),layerIds:b||[]};d=document.createElement("div");var f=document.createElement("h5");f.style.margin="0 0 10px";mxUtils.write(f,mxResources.get("pages"));d.appendChild(f);b=document.createElement("div");b.className="geAspectDlgList";d.appendChild(b);f=document.createElement("h5");f.style.margin="0 0 10px";mxUtils.write(f,mxResources.get("layers"));d.appendChild(f);f=document.createElement("div");f.className="geAspectDlgList";
d.appendChild(f);this.pagesContainer=b;this.layersContainer=f;this.ui=a;b=document.createElement("div");b.style.marginTop="16px";b.style.textAlign="center";f=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=g&&g()});f.className="geBtn";a.editor.cancelFirst&&b.appendChild(f);var m=mxUtils.button(mxResources.get("ok"),mxUtils.bind(this,function(){a.hideDialog();c({pageId:this.selectedPage,layerIds:Object.keys(this.selectedLayers)})}));b.appendChild(m);m.className="geBtn gePrimaryBtn";
@@ -9881,103 +9883,103 @@ IMAGE_PATH+"/img-hi-res.png";Editor.loResImage=mxClient.IS_SVG?"data:image/png;b
IMAGE_PATH+"/img-lo-res.png";Editor.cameraLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KTMInWQAAA/BJREFUWAnFl0uIjWEYx885buPSuGwmSYwtwsY1ikKSNYNclmQnadgrZSPlsnBLSlaGBdNYKY0Vdi4L4zYzIqxGxmXG//d+7//0+uY7nWMiT/2/53mf+3v7vnNKpf9M5UbrDw8Pj4m+wzmeT1FBUS6Xf+YNox6reMONukijMXUTM3NmI75PyXcJPwRWg5kS7xysDLNmfEUxpx2rceNE50IlYjyRklcLf0prY+x4BTqfmx3ZUHQaO9ISGngYq38V/1EH+ECPa+QaK1u1kVBQirDMChiS3CTeIkwWvghtwhKBpZ8g1CO2B99FynVU/KowSRgQ3mlrBsVZ1awmQlS0SGbfXglfBPbdRGMm5O8RXg2P835pDCvzWjghTHETcLpZLHwS8kTCtBEK1SN83Egam8YxyVZqc+Do5qkwS+gT9grNwkUBG6cbsG/gs3BTuC/0ChCxq4QtwgzBMdwUZBPyN4Ftfi4sYPZHktbOSRlIuutRP5jYj0ueZp88xyYcS/zZoiLyQT1IA/cTj7eSlwnrhI+JnkQbCwo2Sx/2M7VJt17wdhVtgxvrpoFnAuSAbJQ97biZAlKxBfD9wgOhV+BgIR/AZtJ4kwD5PGSj7OmmekjWEy0oAQHAS3+KpBpzXqYK3UItopHpSRMno2N+cm7gDYnfRCcr3QBqriMHLJDkeyhFfiG5aVbK+8rhtP9M6QcIEJHX5Fp9NMAyQlYiu+OOJNlODCIXyka/P23bncTdiC7OydC1+v1Bsb+5r84DK8S3Rdmf5cRUFW3bXtWUSt1Rdk6G4SyJV2o1YId+vNUxr+x5yCJiapFtcxQzLjrxboGcMxvFJwEOKnLwjIbkx/sdSmeSaUY++SwTAxV+4DJT7RVwkbk46gNCsifIItuy0e9PF33Cb4homhN5YRyzL5q5V2VNkv98kqgoGTo3YF9CnMM5Y5rItFfvBSi9JulVXOgI+VwIntkt+SaZ6weQfcovJf7zpTfl86P/wAF7Fz18NeKwmvAWCaX0Z/uMHQr42ZxvR/Rxcw5xM+9J/CJq8w2gduDhmDgso/QrBH47dEXQ1IqczyHpIOfIRtnTtV7SwO1oKXKkU3fbToFGSDHtMWcaH1WBuVYnDbRFi99iqSMySdzxXckrazUh23KBVYGIcfNBkTxca0e4ATJ0KukGYVBgr/MnlhPOtQq/ksUfCbzh+EFCjtnCUoHfjhA/OsiTv2HcEvJMELp0VakZDliTmriTdPivxU4VmEhtPrGV+KJhO7ZKt0doFZh1fgZSBWIW2AGEHwg3BUWOnKtH+suqdw07tYMfglCrWPD5mw9qVYuniaXkT0OtWaSuo5LJTY1RBf+roF9X5+y/5qU+DAAAAABJRU5ErkJggg==";
Editor.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');Editor.errorImage="data:image/gif;base64,R0lGODlhEAAQAPcAAADGAIQAAISEhP8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEAAAAALAAAAAAQABAAAAhoAAEIFBigYMGBCAkGGMCQ4cGECxtKHBAAYUQCEzFSHLiQgMeGHjEGEAAg4oCQJz86LCkxpEqHAkwyRClxpEyXGmGaREmTIsmOL1GO/DkzI0yOE2sKIMlRJsWhCQHENDiUaVSpS5cmDAgAOw==";
Editor.defaultCustomLibraries=[];Editor.enableCustomLibraries=!0;Editor.enableCustomProperties=!0;Editor.enableServiceWorker="0"!=urlParams.pwa&&"serviceWorker"in navigator&&("1"==urlParams.offline||/.*\.diagrams\.net$/.test(window.location.hostname)||/.*\.draw\.io$/.test(window.location.hostname));Editor.compressXml=!0;Editor.globalVars=null;Editor.shadowOptionEnabled=!mxClient.IS_SF;Editor.config=null;Editor.configVersion=null;Editor.defaultBorder=5;Editor.commonProperties=[{name:"comic",dispName:"Comic",
-type:"bool",defVal:!1,isVisible:function(a,e){return"1"!=mxUtils.getValue(a.style,"sketch","0")}},{name:"jiggle",dispName:"Jiggle",type:"float",min:0,defVal:1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"comic","0")||"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"fillWeight",dispName:"Fill Weight",type:"int",defVal:-1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"hachureGap",dispName:"Hachure Gap",
-type:"int",defVal:-1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"hachureAngle",dispName:"Hachure Angle",type:"int",defVal:-41,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"curveFitting",dispName:"Curve Fitting",type:"float",defVal:.95,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"simplification",dispName:"Simplification",
-type:"float",defVal:0,min:0,max:1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"disableMultiStroke",dispName:"Disable Multi Stroke",type:"bool",defVal:!1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"disableMultiStrokeFill",dispName:"Disable Multi Stroke Fill",type:"bool",defVal:!1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":
-"0")}},{name:"dashOffset",dispName:"Dash Offset",type:"int",defVal:-1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"dashGap",dispName:"Dash Gap",type:"int",defVal:-1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"zigzagOffset",dispName:"ZigZag Offset",type:"int",defVal:-1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"jiggle",
-dispName:"Jiggle",type:"float",min:0,defVal:1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"comic","0")||"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"sketchStyle",dispName:"Sketch Style",type:"enum",defVal:"rough",enumList:[{val:"rough",dispName:"Rough"},{val:"comic",dispName:"Comic"}],isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}}];Editor.commonEdgeProperties=[{type:"separator"},{name:"arcSize",
+type:"bool",defVal:!1,isVisible:function(a,b){return"1"!=mxUtils.getValue(a.style,"sketch","0")}},{name:"jiggle",dispName:"Jiggle",type:"float",min:0,defVal:1,isVisible:function(a,b){return"1"==mxUtils.getValue(a.style,"comic","0")||"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"fillWeight",dispName:"Fill Weight",type:"int",defVal:-1,isVisible:function(a,b){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"hachureGap",dispName:"Hachure Gap",
+type:"int",defVal:-1,isVisible:function(a,b){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"hachureAngle",dispName:"Hachure Angle",type:"int",defVal:-41,isVisible:function(a,b){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"curveFitting",dispName:"Curve Fitting",type:"float",defVal:.95,isVisible:function(a,b){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"simplification",dispName:"Simplification",
+type:"float",defVal:0,min:0,max:1,isVisible:function(a,b){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"disableMultiStroke",dispName:"Disable Multi Stroke",type:"bool",defVal:!1,isVisible:function(a,b){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"disableMultiStrokeFill",dispName:"Disable Multi Stroke Fill",type:"bool",defVal:!1,isVisible:function(a,b){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":
+"0")}},{name:"dashOffset",dispName:"Dash Offset",type:"int",defVal:-1,isVisible:function(a,b){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"dashGap",dispName:"Dash Gap",type:"int",defVal:-1,isVisible:function(a,b){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"zigzagOffset",dispName:"ZigZag Offset",type:"int",defVal:-1,isVisible:function(a,b){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"jiggle",
+dispName:"Jiggle",type:"float",min:0,defVal:1,isVisible:function(a,b){return"1"==mxUtils.getValue(a.style,"comic","0")||"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"sketchStyle",dispName:"Sketch Style",type:"enum",defVal:"rough",enumList:[{val:"rough",dispName:"Rough"},{val:"comic",dispName:"Comic"}],isVisible:function(a,b){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}}];Editor.commonEdgeProperties=[{type:"separator"},{name:"arcSize",
dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE},{name:"sourcePortConstraint",dispName:"Source Constraint",type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"targetPortConstraint",dispName:"Target Constraint",type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",
dispName:"South"},{val:"west",dispName:"West"}]},{name:"jettySize",dispName:"Jetty Size",type:"int",min:0,defVal:"auto",allowAuto:!0,isVisible:function(a){return"orthogonalEdgeStyle"==mxUtils.getValue(a.style,mxConstants.STYLE_EDGE,null)}},{name:"fillOpacity",dispName:"Fill Opacity",type:"int",min:0,max:100,defVal:100},{name:"strokeOpacity",dispName:"Stroke Opacity",type:"int",min:0,max:100,defVal:100},{name:"startFill",dispName:"Start Fill",type:"bool",defVal:!0},{name:"endFill",dispName:"End Fill",
type:"bool",defVal:!0},{name:"perimeterSpacing",dispName:"Terminal Spacing",type:"float",defVal:0},{name:"anchorPointDirection",dispName:"Anchor Direction",type:"bool",defVal:!0},{name:"snapToPoint",dispName:"Snap to Point",type:"bool",defVal:!1},{name:"fixDash",dispName:"Fixed Dash",type:"bool",defVal:!1},{name:"editable",dispName:"Editable",type:"bool",defVal:!0},{name:"metaEdit",dispName:"Edit Dialog",type:"bool",defVal:!1},{name:"backgroundOutline",dispName:"Background Outline",type:"bool",defVal:!1},
{name:"bendable",dispName:"Bendable",type:"bool",defVal:!0},{name:"movable",dispName:"Movable",type:"bool",defVal:!0},{name:"cloneable",dispName:"Cloneable",type:"bool",defVal:!0},{name:"deletable",dispName:"Deletable",type:"bool",defVal:!0},{name:"orthogonalLoop",dispName:"Loop Routing",type:"bool",defVal:!1},{name:"noJump",dispName:"No Jumps",type:"bool",defVal:!1},{name:"flowAnimation",dispName:"Flow Animation",type:"bool",defVal:!1}].concat(Editor.commonProperties);Editor.commonVertexProperties=
-[{type:"separator"},{name:"resizeLastRow",dispName:"Resize Last Row",type:"bool",getDefaultValue:function(a,e){var b=e.editorUi.editor.graph.getCellStyle(1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null);return"1"==mxUtils.getValue(b,"resizeLastRow","0")},isVisible:function(a,e){var b=e.editorUi.editor.graph;return 1==a.vertices.length&&0==a.edges.length&&b.isTable(a.vertices[0])}},{name:"resizeLast",dispName:"Resize Last Column",type:"bool",getDefaultValue:function(a,e){var b=e.editorUi.editor.graph.getCellStyle(1==
-a.vertices.length&&0==a.edges.length?a.vertices[0]:null);return"1"==mxUtils.getValue(b,"resizeLast","0")},isVisible:function(a,e){var b=e.editorUi.editor.graph;return 1==a.vertices.length&&0==a.edges.length&&b.isTable(a.vertices[0])}},{name:"fillOpacity",dispName:"Fill Opacity",type:"int",min:0,max:100,defVal:100},{name:"strokeOpacity",dispName:"Stroke Opacity",type:"int",min:0,max:100,defVal:100},{name:"overflow",dispName:"Text Overflow",defVal:"visible",type:"enum",enumList:[{val:"visible",dispName:"Visible"},
+[{type:"separator"},{name:"resizeLastRow",dispName:"Resize Last Row",type:"bool",getDefaultValue:function(a,b){var e=b.editorUi.editor.graph.getCellStyle(1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null);return"1"==mxUtils.getValue(e,"resizeLastRow","0")},isVisible:function(a,b){var e=b.editorUi.editor.graph;return 1==a.vertices.length&&0==a.edges.length&&e.isTable(a.vertices[0])}},{name:"resizeLast",dispName:"Resize Last Column",type:"bool",getDefaultValue:function(a,b){var e=b.editorUi.editor.graph.getCellStyle(1==
+a.vertices.length&&0==a.edges.length?a.vertices[0]:null);return"1"==mxUtils.getValue(e,"resizeLast","0")},isVisible:function(a,b){var e=b.editorUi.editor.graph;return 1==a.vertices.length&&0==a.edges.length&&e.isTable(a.vertices[0])}},{name:"fillOpacity",dispName:"Fill Opacity",type:"int",min:0,max:100,defVal:100},{name:"strokeOpacity",dispName:"Stroke Opacity",type:"int",min:0,max:100,defVal:100},{name:"overflow",dispName:"Text Overflow",defVal:"visible",type:"enum",enumList:[{val:"visible",dispName:"Visible"},
{val:"hidden",dispName:"Hidden"},{val:"block",dispName:"Block"},{val:"fill",dispName:"Fill"},{val:"width",dispName:"Width"}]},{name:"noLabel",dispName:"Hide Label",type:"bool",defVal:!1},{name:"labelPadding",dispName:"Label Padding",type:"float",defVal:0},{name:"direction",dispName:"Direction",type:"enum",defVal:"east",enumList:[{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"portConstraint",dispName:"Constraint",type:"enum",
-defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"portConstraintRotation",dispName:"Rotate Constraint",type:"bool",defVal:!1},{name:"connectable",dispName:"Connectable",type:"bool",getDefaultValue:function(a,e){return e.editorUi.editor.graph.isCellConnectable(1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null)},isVisible:function(a,e){return 1==a.vertices.length&&
+defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"portConstraintRotation",dispName:"Rotate Constraint",type:"bool",defVal:!1},{name:"connectable",dispName:"Connectable",type:"bool",getDefaultValue:function(a,b){return b.editorUi.editor.graph.isCellConnectable(1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null)},isVisible:function(a,b){return 1==a.vertices.length&&
0==a.edges.length}},{name:"allowArrows",dispName:"Allow Arrows",type:"bool",defVal:!0},{name:"snapToPoint",dispName:"Snap to Point",type:"bool",defVal:!1},{name:"perimeter",dispName:"Perimeter",defVal:"none",type:"enum",enumList:[{val:"none",dispName:"None"},{val:"rectanglePerimeter",dispName:"Rectangle"},{val:"ellipsePerimeter",dispName:"Ellipse"},{val:"rhombusPerimeter",dispName:"Rhombus"},{val:"trianglePerimeter",dispName:"Triangle"},{val:"hexagonPerimeter2",dispName:"Hexagon"},{val:"lifelinePerimeter",
dispName:"Lifeline"},{val:"orthogonalPerimeter",dispName:"Orthogonal"},{val:"backbonePerimeter",dispName:"Backbone"},{val:"calloutPerimeter",dispName:"Callout"},{val:"parallelogramPerimeter",dispName:"Parallelogram"},{val:"trapezoidPerimeter",dispName:"Trapezoid"},{val:"stepPerimeter",dispName:"Step"}]},{name:"fixDash",dispName:"Fixed Dash",type:"bool",defVal:!1},{name:"autosize",dispName:"Autosize",type:"bool",defVal:!1},{name:"container",dispName:"Container",type:"bool",defVal:!1,isVisible:function(a,
-e){return 1==a.vertices.length&&0==a.edges.length}},{name:"dropTarget",dispName:"Drop Target",type:"bool",getDefaultValue:function(a,e){var b=1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null,c=e.editorUi.editor.graph;return null!=b&&(c.isSwimlane(b)||0<c.model.getChildCount(b))},isVisible:function(a,e){return 1==a.vertices.length&&0==a.edges.length}},{name:"collapsible",dispName:"Collapsible",type:"bool",getDefaultValue:function(a,e){var b=1==a.vertices.length&&0==a.edges.length?a.vertices[0]:
-null,c=e.editorUi.editor.graph;return null!=b&&(c.isContainer(b)&&"0"!=a.style.collapsible||!c.isContainer(b)&&"1"==a.style.collapsible)},isVisible:function(a,e){return 1==a.vertices.length&&0==a.edges.length}},{name:"recursiveResize",dispName:"Resize Children",type:"bool",defVal:!0,isVisible:function(a,e){return 1==a.vertices.length&&0==a.edges.length&&!e.editorUi.editor.graph.isSwimlane(a.vertices[0])&&null==mxUtils.getValue(a.style,"childLayout",null)}},{name:"expand",dispName:"Expand",type:"bool",
-defVal:!0},{name:"part",dispName:"Part",type:"bool",defVal:!1,isVisible:function(a,e){var b=e.editorUi.editor.graph.model;return 0<a.vertices.length?b.isVertex(b.getParent(a.vertices[0])):!1}},{name:"editable",dispName:"Editable",type:"bool",defVal:!0},{name:"metaEdit",dispName:"Edit Dialog",type:"bool",defVal:!1},{name:"backgroundOutline",dispName:"Background Outline",type:"bool",defVal:!1},{name:"movable",dispName:"Movable",type:"bool",defVal:!0},{name:"movableLabel",dispName:"Movable Label",type:"bool",
-defVal:!1,isVisible:function(a,e){var b=0<a.vertices.length?e.editorUi.editor.graph.getCellGeometry(a.vertices[0]):null;return null!=b&&!b.relative}},{name:"resizable",dispName:"Resizable",type:"bool",defVal:!0},{name:"resizeWidth",dispName:"Resize Width",type:"bool",defVal:!1},{name:"resizeHeight",dispName:"Resize Height",type:"bool",defVal:!1},{name:"rotatable",dispName:"Rotatable",type:"bool",defVal:!0},{name:"cloneable",dispName:"Cloneable",type:"bool",defVal:!0},{name:"deletable",dispName:"Deletable",
-type:"bool",defVal:!0},{name:"treeFolding",dispName:"Tree Folding",type:"bool",defVal:!1},{name:"treeMoving",dispName:"Tree Moving",type:"bool",defVal:!1},{name:"pointerEvents",dispName:"Pointer Events",type:"bool",defVal:!0,isVisible:function(a,e){var b=mxUtils.getValue(a.style,mxConstants.STYLE_FILLCOLOR,null);return e.editorUi.editor.graph.isSwimlane(a.vertices[0])||null==b||b==mxConstants.NONE}},{name:"moveCells",dispName:"Move Cells on Fold",type:"bool",defVal:!1,isVisible:function(a,e){return 0<
-a.vertices.length&&e.editorUi.editor.graph.isContainer(a.vertices[0])}}].concat(Editor.commonProperties);Editor.defaultCsvValue='##\n## Example CSV import. Use ## for comments and # for configuration. Paste CSV below.\n## The following names are reserved and should not be used (or ignored):\n## id, tooltip, placeholder(s), link and label (see below)\n##\n#\n## Node label with placeholders and HTML.\n## Default is \'%name_of_first_column%\'.\n#\n# label: %name%<br><i style="color:gray;">%position%</i><br><a href="mailto:%email%">Email</a>\n#\n## Node style (placeholders are replaced once).\n## Default is the current style for nodes.\n#\n# style: label;image=%image%;whiteSpace=wrap;html=1;rounded=1;fillColor=%fill%;strokeColor=%stroke%;\n#\n## Parent style for nodes with child nodes (placeholders are replaced once).\n#\n# parentstyle: swimlane;whiteSpace=wrap;html=1;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;\n#\n## Optional column name that contains a reference to a named style in styles.\n## Default is the current style for nodes.\n#\n# stylename: -\n#\n## JSON for named styles of the form {"name": "style", "name": "style"} where style is a cell style with\n## placeholders that are replaced once.\n#\n# styles: -\n#\n## JSON for variables in styles of the form {"name": "value", "name": "value"} where name is a string\n## that will replace a placeholder in a style.\n#\n# vars: -\n#\n## Optional column name that contains a reference to a named label in labels.\n## Default is the current label.\n#\n# labelname: -\n#\n## JSON for named labels of the form {"name": "label", "name": "label"} where label is a cell label with\n## placeholders.\n#\n# labels: -\n#\n## Uses the given column name as the identity for cells (updates existing cells).\n## Default is no identity (empty value or -).\n#\n# identity: -\n#\n## Uses the given column name as the parent reference for cells. Default is no parent (empty or -).\n## The identity above is used for resolving the reference so it must be specified.\n#\n# parent: -\n#\n## Adds a prefix to the identity of cells to make sure they do not collide with existing cells (whose\n## IDs are numbers from 0..n, sometimes with a GUID prefix in the context of realtime collaboration).\n## Default is csvimport-.\n#\n# namespace: csvimport-\n#\n## Connections between rows ("from": source colum, "to": target column).\n## Label, style and invert are optional. Defaults are \'\', current style and false.\n## If placeholders are used in the style, they are replaced with data from the source.\n## An optional placeholders can be set to target to use data from the target instead.\n## In addition to label, an optional fromlabel and tolabel can be used to name the column\n## that contains the text for the label in the edges source or target (invert ignored).\n## The label is concatenated in the form fromlabel + label + tolabel if all are defined.\n## Additional labels can be added by using an optional labels array with entries of the\n## form {"label": string, "x": number, "y": number, "dx": number, "dy": number} where\n## x is from -1 to 1 along the edge, y is orthogonal, and dx/dy are offsets in pixels.\n## The target column may contain a comma-separated list of values.\n## Multiple connect entries are allowed.\n#\n# connect: {"from": "manager", "to": "name", "invert": true, "label": "manages", \\\n# "style": "curved=1;endArrow=blockThin;endFill=1;fontSize=11;"}\n# connect: {"from": "refs", "to": "id", "style": "curved=1;fontSize=11;"}\n#\n## Node x-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# left: \n#\n## Node y-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# top: \n#\n## Node width. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the width. Default is auto.\n#\n# width: auto\n#\n## Node height. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the height. Default is auto.\n#\n# height: auto\n#\n## Padding for autosize. Default is 0.\n#\n# padding: -12\n#\n## Comma-separated list of ignored columns for metadata. (These can be\n## used for connections and styles but will not be added as metadata.)\n#\n# ignore: id,image,fill,stroke,refs,manager\n#\n## Column to be renamed to link attribute (used as link).\n#\n# link: url\n#\n## Spacing between nodes. Default is 40.\n#\n# nodespacing: 40\n#\n## Spacing between levels of hierarchical layouts. Default is 100.\n#\n# levelspacing: 100\n#\n## Spacing between parallel edges. Default is 40. Use 0 to disable.\n#\n# edgespacing: 40\n#\n## Name or JSON of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle or a JSON string as used in Layout, Apply.\n## Default is auto.\n#\n# layout: auto\n#\n## ---- CSV below this line. First line are column names. ----\nname,position,id,location,manager,email,fill,stroke,refs,url,image\nTessa Miller,CFO,emi,Office 1,,me@example.com,#dae8fc,#6c8ebf,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-3-128.png\nEdward Morrison,Brand Manager,emo,Office 2,Tessa Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-10-3-128.png\nAlison Donovan,System Admin,rdo,Office 3,Tessa Miller,me@example.com,#d5e8d4,#82b366,"emo,tva",https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-2-128.png\nEvan Valet,HR Director,tva,Office 4,Tessa Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-9-2-128.png\n';
-Editor.createRoughCanvas=function(a){var e=rough.canvas({getContext:function(){return a}});e.draw=function(e){var b=e.sets||[];e=e.options||this.getDefaultOptions();for(var c=0;c<b.length;c++){var d=b[c];switch(d.type){case "path":null!=e.stroke&&this._drawToContext(a,d,e);break;case "fillPath":this._drawToContext(a,d,e);break;case "fillSketch":this.fillSketch(a,d,e)}}};e.fillSketch=function(e,b,c){var d=a.state.strokeColor,k=a.state.strokeWidth,l=a.state.strokeAlpha,f=a.state.dashed,g=c.fillWeight;
-0>g&&(g=c.strokeWidth/2);a.setStrokeAlpha(a.state.fillAlpha);a.setStrokeColor(c.fill||"");a.setStrokeWidth(g);a.setDashed(!1);this._drawToContext(e,b,c);a.setDashed(f);a.setStrokeWidth(k);a.setStrokeColor(d);a.setStrokeAlpha(l)};e._drawToContext=function(a,e,b){a.begin();for(var c=0;c<e.ops.length;c++){var d=e.ops[c],k=d.data;switch(d.op){case "move":a.moveTo(k[0],k[1]);break;case "bcurveTo":a.curveTo(k[0],k[1],k[2],k[3],k[4],k[5]);break;case "lineTo":a.lineTo(k[0],k[1])}}a.end();"fillPath"===e.type&&
-b.filled?a.fill():a.stroke()};return e};(function(){function a(e,b,c){this.canvas=e;this.rc=b;this.shape=c;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.originalBegin=this.canvas.begin;this.canvas.begin=mxUtils.bind(this,a.prototype.begin);this.originalEnd=this.canvas.end;this.canvas.end=mxUtils.bind(this,a.prototype.end);this.originalRect=this.canvas.rect;this.canvas.rect=mxUtils.bind(this,a.prototype.rect);this.originalRoundrect=this.canvas.roundrect;this.canvas.roundrect=
+b){return 1==a.vertices.length&&0==a.edges.length}},{name:"dropTarget",dispName:"Drop Target",type:"bool",getDefaultValue:function(a,b){var e=1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null,c=b.editorUi.editor.graph;return null!=e&&(c.isSwimlane(e)||0<c.model.getChildCount(e))},isVisible:function(a,b){return 1==a.vertices.length&&0==a.edges.length}},{name:"collapsible",dispName:"Collapsible",type:"bool",getDefaultValue:function(a,b){var e=1==a.vertices.length&&0==a.edges.length?a.vertices[0]:
+null,c=b.editorUi.editor.graph;return null!=e&&(c.isContainer(e)&&"0"!=a.style.collapsible||!c.isContainer(e)&&"1"==a.style.collapsible)},isVisible:function(a,b){return 1==a.vertices.length&&0==a.edges.length}},{name:"recursiveResize",dispName:"Resize Children",type:"bool",defVal:!0,isVisible:function(a,b){return 1==a.vertices.length&&0==a.edges.length&&!b.editorUi.editor.graph.isSwimlane(a.vertices[0])&&null==mxUtils.getValue(a.style,"childLayout",null)}},{name:"expand",dispName:"Expand",type:"bool",
+defVal:!0},{name:"part",dispName:"Part",type:"bool",defVal:!1,isVisible:function(a,b){var e=b.editorUi.editor.graph.model;return 0<a.vertices.length?e.isVertex(e.getParent(a.vertices[0])):!1}},{name:"editable",dispName:"Editable",type:"bool",defVal:!0},{name:"metaEdit",dispName:"Edit Dialog",type:"bool",defVal:!1},{name:"backgroundOutline",dispName:"Background Outline",type:"bool",defVal:!1},{name:"movable",dispName:"Movable",type:"bool",defVal:!0},{name:"movableLabel",dispName:"Movable Label",type:"bool",
+defVal:!1,isVisible:function(a,b){var e=0<a.vertices.length?b.editorUi.editor.graph.getCellGeometry(a.vertices[0]):null;return null!=e&&!e.relative}},{name:"resizable",dispName:"Resizable",type:"bool",defVal:!0},{name:"resizeWidth",dispName:"Resize Width",type:"bool",defVal:!1},{name:"resizeHeight",dispName:"Resize Height",type:"bool",defVal:!1},{name:"rotatable",dispName:"Rotatable",type:"bool",defVal:!0},{name:"cloneable",dispName:"Cloneable",type:"bool",defVal:!0},{name:"deletable",dispName:"Deletable",
+type:"bool",defVal:!0},{name:"treeFolding",dispName:"Tree Folding",type:"bool",defVal:!1},{name:"treeMoving",dispName:"Tree Moving",type:"bool",defVal:!1},{name:"pointerEvents",dispName:"Pointer Events",type:"bool",defVal:!0,isVisible:function(a,b){var e=mxUtils.getValue(a.style,mxConstants.STYLE_FILLCOLOR,null);return b.editorUi.editor.graph.isSwimlane(a.vertices[0])||null==e||e==mxConstants.NONE}},{name:"moveCells",dispName:"Move Cells on Fold",type:"bool",defVal:!1,isVisible:function(a,b){return 0<
+a.vertices.length&&b.editorUi.editor.graph.isContainer(a.vertices[0])}}].concat(Editor.commonProperties);Editor.defaultCsvValue='##\n## Example CSV import. Use ## for comments and # for configuration. Paste CSV below.\n## The following names are reserved and should not be used (or ignored):\n## id, tooltip, placeholder(s), link and label (see below)\n##\n#\n## Node label with placeholders and HTML.\n## Default is \'%name_of_first_column%\'.\n#\n# label: %name%<br><i style="color:gray;">%position%</i><br><a href="mailto:%email%">Email</a>\n#\n## Node style (placeholders are replaced once).\n## Default is the current style for nodes.\n#\n# style: label;image=%image%;whiteSpace=wrap;html=1;rounded=1;fillColor=%fill%;strokeColor=%stroke%;\n#\n## Parent style for nodes with child nodes (placeholders are replaced once).\n#\n# parentstyle: swimlane;whiteSpace=wrap;html=1;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;\n#\n## Optional column name that contains a reference to a named style in styles.\n## Default is the current style for nodes.\n#\n# stylename: -\n#\n## JSON for named styles of the form {"name": "style", "name": "style"} where style is a cell style with\n## placeholders that are replaced once.\n#\n# styles: -\n#\n## JSON for variables in styles of the form {"name": "value", "name": "value"} where name is a string\n## that will replace a placeholder in a style.\n#\n# vars: -\n#\n## Optional column name that contains a reference to a named label in labels.\n## Default is the current label.\n#\n# labelname: -\n#\n## JSON for named labels of the form {"name": "label", "name": "label"} where label is a cell label with\n## placeholders.\n#\n# labels: -\n#\n## Uses the given column name as the identity for cells (updates existing cells).\n## Default is no identity (empty value or -).\n#\n# identity: -\n#\n## Uses the given column name as the parent reference for cells. Default is no parent (empty or -).\n## The identity above is used for resolving the reference so it must be specified.\n#\n# parent: -\n#\n## Adds a prefix to the identity of cells to make sure they do not collide with existing cells (whose\n## IDs are numbers from 0..n, sometimes with a GUID prefix in the context of realtime collaboration).\n## Default is csvimport-.\n#\n# namespace: csvimport-\n#\n## Connections between rows ("from": source colum, "to": target column).\n## Label, style and invert are optional. Defaults are \'\', current style and false.\n## If placeholders are used in the style, they are replaced with data from the source.\n## An optional placeholders can be set to target to use data from the target instead.\n## In addition to label, an optional fromlabel and tolabel can be used to name the column\n## that contains the text for the label in the edges source or target (invert ignored).\n## The label is concatenated in the form fromlabel + label + tolabel if all are defined.\n## Additional labels can be added by using an optional labels array with entries of the\n## form {"label": string, "x": number, "y": number, "dx": number, "dy": number} where\n## x is from -1 to 1 along the edge, y is orthogonal, and dx/dy are offsets in pixels.\n## The target column may contain a comma-separated list of values.\n## Multiple connect entries are allowed.\n#\n# connect: {"from": "manager", "to": "name", "invert": true, "label": "manages", \\\n# "style": "curved=1;endArrow=blockThin;endFill=1;fontSize=11;"}\n# connect: {"from": "refs", "to": "id", "style": "curved=1;fontSize=11;"}\n#\n## Node x-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# left: \n#\n## Node y-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# top: \n#\n## Node width. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the width. Default is auto.\n#\n# width: auto\n#\n## Node height. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the height. Default is auto.\n#\n# height: auto\n#\n## Padding for autosize. Default is 0.\n#\n# padding: -12\n#\n## Comma-separated list of ignored columns for metadata. (These can be\n## used for connections and styles but will not be added as metadata.)\n#\n# ignore: id,image,fill,stroke,refs,manager\n#\n## Column to be renamed to link attribute (used as link).\n#\n# link: url\n#\n## Spacing between nodes. Default is 40.\n#\n# nodespacing: 40\n#\n## Spacing between levels of hierarchical layouts. Default is 100.\n#\n# levelspacing: 100\n#\n## Spacing between parallel edges. Default is 40. Use 0 to disable.\n#\n# edgespacing: 40\n#\n## Name or JSON of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle or a JSON string as used in Layout, Apply.\n## Default is auto.\n#\n# layout: auto\n#\n## ---- CSV below this line. First line are column names. ----\nname,position,id,location,manager,email,fill,stroke,refs,url,image\nTessa Miller,CFO,emi,Office 1,,me@example.com,#dae8fc,#6c8ebf,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-3-128.png\nEdward Morrison,Brand Manager,emo,Office 2,Tessa Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-10-3-128.png\nAlison Donovan,System Admin,rdo,Office 3,Tessa Miller,me@example.com,#d5e8d4,#82b366,"emo,tva",https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-2-128.png\nEvan Valet,HR Director,tva,Office 4,Tessa Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-9-2-128.png\n';
+Editor.createRoughCanvas=function(a){var b=rough.canvas({getContext:function(){return a}});b.draw=function(b){var e=b.sets||[];b=b.options||this.getDefaultOptions();for(var c=0;c<e.length;c++){var d=e[c];switch(d.type){case "path":null!=b.stroke&&this._drawToContext(a,d,b);break;case "fillPath":this._drawToContext(a,d,b);break;case "fillSketch":this.fillSketch(a,d,b)}}};b.fillSketch=function(b,e,c){var d=a.state.strokeColor,k=a.state.strokeWidth,l=a.state.strokeAlpha,f=a.state.dashed,g=c.fillWeight;
+0>g&&(g=c.strokeWidth/2);a.setStrokeAlpha(a.state.fillAlpha);a.setStrokeColor(c.fill||"");a.setStrokeWidth(g);a.setDashed(!1);this._drawToContext(b,e,c);a.setDashed(f);a.setStrokeWidth(k);a.setStrokeColor(d);a.setStrokeAlpha(l)};b._drawToContext=function(a,b,e){a.begin();for(var c=0;c<b.ops.length;c++){var d=b.ops[c],k=d.data;switch(d.op){case "move":a.moveTo(k[0],k[1]);break;case "bcurveTo":a.curveTo(k[0],k[1],k[2],k[3],k[4],k[5]);break;case "lineTo":a.lineTo(k[0],k[1])}}a.end();"fillPath"===b.type&&
+e.filled?a.fill():a.stroke()};return b};(function(){function a(b,e,c){this.canvas=b;this.rc=e;this.shape=c;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.originalBegin=this.canvas.begin;this.canvas.begin=mxUtils.bind(this,a.prototype.begin);this.originalEnd=this.canvas.end;this.canvas.end=mxUtils.bind(this,a.prototype.end);this.originalRect=this.canvas.rect;this.canvas.rect=mxUtils.bind(this,a.prototype.rect);this.originalRoundrect=this.canvas.roundrect;this.canvas.roundrect=
mxUtils.bind(this,a.prototype.roundrect);this.originalEllipse=this.canvas.ellipse;this.canvas.ellipse=mxUtils.bind(this,a.prototype.ellipse);this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,a.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,a.prototype.moveTo);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,a.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo;this.canvas.curveTo=mxUtils.bind(this,
a.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,a.prototype.arcTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,a.prototype.close);this.originalFill=this.canvas.fill;this.canvas.fill=mxUtils.bind(this,a.prototype.fill);this.originalStroke=this.canvas.stroke;this.canvas.stroke=mxUtils.bind(this,a.prototype.stroke);this.originalFillAndStroke=this.canvas.fillAndStroke;this.canvas.fillAndStroke=mxUtils.bind(this,a.prototype.fillAndStroke);
-this.path=[];this.passThrough=!1}a.prototype.moveOp="M";a.prototype.lineOp="L";a.prototype.quadOp="Q";a.prototype.curveOp="C";a.prototype.closeOp="Z";a.prototype.getStyle=function(a,e){var b=1;if(null!=this.shape.state){var c=this.shape.state.cell.id;if(null!=c)for(var d=0;d<c.length;d++)b=(b<<5)-b+c.charCodeAt(d)<<0}b={strokeWidth:this.canvas.state.strokeWidth,seed:b};c=this.rc.getDefaultOptions();a?b.stroke="none"===this.canvas.state.strokeColor?"transparent":this.canvas.state.strokeColor:delete b.stroke;
-d=null;(b.filled=e)?(b.fill="none"===this.canvas.state.fillColor?"":this.canvas.state.fillColor,d="none"===this.canvas.state.gradientColor?null:this.canvas.state.gradientColor):b.fill="";b.bowing=mxUtils.getValue(this.shape.style,"bowing",c.bowing);b.hachureAngle=mxUtils.getValue(this.shape.style,"hachureAngle",c.hachureAngle);b.curveFitting=mxUtils.getValue(this.shape.style,"curveFitting",c.curveFitting);b.roughness=mxUtils.getValue(this.shape.style,"jiggle",c.roughness);b.simplification=mxUtils.getValue(this.shape.style,
-"simplification",c.simplification);b.disableMultiStroke=mxUtils.getValue(this.shape.style,"disableMultiStroke",c.disableMultiStroke);b.disableMultiStrokeFill=mxUtils.getValue(this.shape.style,"disableMultiStrokeFill",c.disableMultiStrokeFill);var k=mxUtils.getValue(this.shape.style,"hachureGap",-1);b.hachureGap="auto"==k?-1:k;b.dashGap=mxUtils.getValue(this.shape.style,"dashGap",k);b.dashOffset=mxUtils.getValue(this.shape.style,"dashOffset",k);b.zigzagOffset=mxUtils.getValue(this.shape.style,"zigzagOffset",
-k);k=mxUtils.getValue(this.shape.style,"fillWeight",-1);b.fillWeight="auto"==k?-1:k;k=mxUtils.getValue(this.shape.style,"fillStyle","auto");"auto"==k&&(k=null!=this.shape.state?this.shape.state.view.graph.defaultPageBackgroundColor:"#ffffff",k=null!=b.fill&&(null!=d||null!=k&&b.fill.toLowerCase()==k.toLowerCase())?"solid":c.fillStyle);b.fillStyle=k;return b};a.prototype.begin=function(){this.passThrough?this.originalBegin.apply(this.canvas,arguments):this.path=[]};a.prototype.end=function(){this.passThrough&&
-this.originalEnd.apply(this.canvas,arguments)};a.prototype.addOp=function(){if(null!=this.path&&(this.path.push(arguments[0]),2<arguments.length))for(var a=2;a<arguments.length;a+=2)this.lastX=arguments[a-1],this.lastY=arguments[a],this.path.push(this.canvas.format(this.lastX)),this.path.push(this.canvas.format(this.lastY))};a.prototype.lineTo=function(a,e){this.passThrough?this.originalLineTo.apply(this.canvas,arguments):(this.addOp(this.lineOp,a,e),this.lastX=a,this.lastY=e)};a.prototype.moveTo=
-function(a,e){this.passThrough?this.originalMoveTo.apply(this.canvas,arguments):(this.addOp(this.moveOp,a,e),this.lastX=a,this.lastY=e,this.firstX=a,this.firstY=e)};a.prototype.close=function(){this.passThrough?this.originalClose.apply(this.canvas,arguments):this.addOp(this.closeOp)};a.prototype.quadTo=function(a,e,b,c){this.passThrough?this.originalQuadTo.apply(this.canvas,arguments):(this.addOp(this.quadOp,a,e,b,c),this.lastX=b,this.lastY=c)};a.prototype.curveTo=function(a,e,b,c,d,k){this.passThrough?
-this.originalCurveTo.apply(this.canvas,arguments):(this.addOp(this.curveOp,a,e,b,c,d,k),this.lastX=d,this.lastY=k)};a.prototype.arcTo=function(a,e,b,c,d,k,l){if(this.passThrough)this.originalArcTo.apply(this.canvas,arguments);else{var f=mxUtils.arcToCurves(this.lastX,this.lastY,a,e,b,c,d,k,l);if(null!=f)for(var g=0;g<f.length;g+=6)this.curveTo(f[g],f[g+1],f[g+2],f[g+3],f[g+4],f[g+5]);this.lastX=k;this.lastY=l}};a.prototype.rect=function(a,e,b,c){this.passThrough?this.originalRect.apply(this.canvas,
-arguments):(this.path=[],this.nextShape=this.rc.generator.rectangle(a,e,b,c,this.getStyle(!0,!0)))};a.prototype.ellipse=function(a,e,b,c){this.passThrough?this.originalEllipse.apply(this.canvas,arguments):(this.path=[],this.nextShape=this.rc.generator.ellipse(a+b/2,e+c/2,b,c,this.getStyle(!0,!0)))};a.prototype.roundrect=function(a,e,b,c,d,k){this.passThrough?this.originalRoundrect.apply(this.canvas,arguments):(this.begin(),this.moveTo(a+d,e),this.lineTo(a+b-d,e),this.quadTo(a+b,e,a+b,e+k),this.lineTo(a+
-b,e+c-k),this.quadTo(a+b,e+c,a+b-d,e+c),this.lineTo(a+d,e+c),this.quadTo(a,e+c,a,e+c-k),this.lineTo(a,e+k),this.quadTo(a,e,a+d,e))};a.prototype.drawPath=function(a){if(0<this.path.length){this.passThrough=!0;try{this.rc.path(this.path.join(" "),a)}catch(T){}this.passThrough=!1}else if(null!=this.nextShape){for(var e in a)this.nextShape.options[e]=a[e];null==a.stroke&&delete this.nextShape.options.stroke;a.filled||delete this.nextShape.options.fill;this.passThrough=!0;this.rc.draw(this.nextShape);
+this.path=[];this.passThrough=!1}a.prototype.moveOp="M";a.prototype.lineOp="L";a.prototype.quadOp="Q";a.prototype.curveOp="C";a.prototype.closeOp="Z";a.prototype.getStyle=function(a,b){var e=1;if(null!=this.shape.state){var c=this.shape.state.cell.id;if(null!=c)for(var d=0;d<c.length;d++)e=(e<<5)-e+c.charCodeAt(d)<<0}e={strokeWidth:this.canvas.state.strokeWidth,seed:e};c=this.rc.getDefaultOptions();a?e.stroke="none"===this.canvas.state.strokeColor?"transparent":this.canvas.state.strokeColor:delete e.stroke;
+d=null;(e.filled=b)?(e.fill="none"===this.canvas.state.fillColor?"":this.canvas.state.fillColor,d="none"===this.canvas.state.gradientColor?null:this.canvas.state.gradientColor):e.fill="";e.bowing=mxUtils.getValue(this.shape.style,"bowing",c.bowing);e.hachureAngle=mxUtils.getValue(this.shape.style,"hachureAngle",c.hachureAngle);e.curveFitting=mxUtils.getValue(this.shape.style,"curveFitting",c.curveFitting);e.roughness=mxUtils.getValue(this.shape.style,"jiggle",c.roughness);e.simplification=mxUtils.getValue(this.shape.style,
+"simplification",c.simplification);e.disableMultiStroke=mxUtils.getValue(this.shape.style,"disableMultiStroke",c.disableMultiStroke);e.disableMultiStrokeFill=mxUtils.getValue(this.shape.style,"disableMultiStrokeFill",c.disableMultiStrokeFill);var k=mxUtils.getValue(this.shape.style,"hachureGap",-1);e.hachureGap="auto"==k?-1:k;e.dashGap=mxUtils.getValue(this.shape.style,"dashGap",k);e.dashOffset=mxUtils.getValue(this.shape.style,"dashOffset",k);e.zigzagOffset=mxUtils.getValue(this.shape.style,"zigzagOffset",
+k);k=mxUtils.getValue(this.shape.style,"fillWeight",-1);e.fillWeight="auto"==k?-1:k;k=mxUtils.getValue(this.shape.style,"fillStyle","auto");"auto"==k&&(k=null!=this.shape.state?this.shape.state.view.graph.defaultPageBackgroundColor:"#ffffff",k=null!=e.fill&&(null!=d||null!=k&&e.fill.toLowerCase()==k.toLowerCase())?"solid":c.fillStyle);e.fillStyle=k;return e};a.prototype.begin=function(){this.passThrough?this.originalBegin.apply(this.canvas,arguments):this.path=[]};a.prototype.end=function(){this.passThrough&&
+this.originalEnd.apply(this.canvas,arguments)};a.prototype.addOp=function(){if(null!=this.path&&(this.path.push(arguments[0]),2<arguments.length))for(var a=2;a<arguments.length;a+=2)this.lastX=arguments[a-1],this.lastY=arguments[a],this.path.push(this.canvas.format(this.lastX)),this.path.push(this.canvas.format(this.lastY))};a.prototype.lineTo=function(a,b){this.passThrough?this.originalLineTo.apply(this.canvas,arguments):(this.addOp(this.lineOp,a,b),this.lastX=a,this.lastY=b)};a.prototype.moveTo=
+function(a,b){this.passThrough?this.originalMoveTo.apply(this.canvas,arguments):(this.addOp(this.moveOp,a,b),this.lastX=a,this.lastY=b,this.firstX=a,this.firstY=b)};a.prototype.close=function(){this.passThrough?this.originalClose.apply(this.canvas,arguments):this.addOp(this.closeOp)};a.prototype.quadTo=function(a,b,e,c){this.passThrough?this.originalQuadTo.apply(this.canvas,arguments):(this.addOp(this.quadOp,a,b,e,c),this.lastX=e,this.lastY=c)};a.prototype.curveTo=function(a,b,e,c,d,k){this.passThrough?
+this.originalCurveTo.apply(this.canvas,arguments):(this.addOp(this.curveOp,a,b,e,c,d,k),this.lastX=d,this.lastY=k)};a.prototype.arcTo=function(a,b,e,c,d,k,l){if(this.passThrough)this.originalArcTo.apply(this.canvas,arguments);else{var f=mxUtils.arcToCurves(this.lastX,this.lastY,a,b,e,c,d,k,l);if(null!=f)for(var g=0;g<f.length;g+=6)this.curveTo(f[g],f[g+1],f[g+2],f[g+3],f[g+4],f[g+5]);this.lastX=k;this.lastY=l}};a.prototype.rect=function(a,b,e,c){this.passThrough?this.originalRect.apply(this.canvas,
+arguments):(this.path=[],this.nextShape=this.rc.generator.rectangle(a,b,e,c,this.getStyle(!0,!0)))};a.prototype.ellipse=function(a,b,e,c){this.passThrough?this.originalEllipse.apply(this.canvas,arguments):(this.path=[],this.nextShape=this.rc.generator.ellipse(a+e/2,b+c/2,e,c,this.getStyle(!0,!0)))};a.prototype.roundrect=function(a,b,e,c,d,k){this.passThrough?this.originalRoundrect.apply(this.canvas,arguments):(this.begin(),this.moveTo(a+d,b),this.lineTo(a+e-d,b),this.quadTo(a+e,b,a+e,b+k),this.lineTo(a+
+e,b+c-k),this.quadTo(a+e,b+c,a+e-d,b+c),this.lineTo(a+d,b+c),this.quadTo(a,b+c,a,b+c-k),this.lineTo(a,b+k),this.quadTo(a,b,a+d,b))};a.prototype.drawPath=function(a){if(0<this.path.length){this.passThrough=!0;try{this.rc.path(this.path.join(" "),a)}catch(T){}this.passThrough=!1}else if(null!=this.nextShape){for(var b in a)this.nextShape.options[b]=a[b];null==a.stroke&&delete this.nextShape.options.stroke;a.filled||delete this.nextShape.options.fill;this.passThrough=!0;this.rc.draw(this.nextShape);
this.passThrough=!1}};a.prototype.stroke=function(){this.passThrough?this.originalStroke.apply(this.canvas,arguments):this.drawPath(this.getStyle(!0,!1))};a.prototype.fill=function(){this.passThrough?this.originalFill.apply(this.canvas,arguments):this.drawPath(this.getStyle(!1,!0))};a.prototype.fillAndStroke=function(){this.passThrough?this.originalFillAndStroke.apply(this.canvas,arguments):this.drawPath(this.getStyle(!0,!0))};a.prototype.destroy=function(){this.canvas.lineTo=this.originalLineTo;
this.canvas.moveTo=this.originalMoveTo;this.canvas.close=this.originalClose;this.canvas.quadTo=this.originalQuadTo;this.canvas.curveTo=this.originalCurveTo;this.canvas.arcTo=this.originalArcTo;this.canvas.close=this.originalClose;this.canvas.fill=this.originalFill;this.canvas.stroke=this.originalStroke;this.canvas.fillAndStroke=this.originalFillAndStroke;this.canvas.begin=this.originalBegin;this.canvas.end=this.originalEnd;this.canvas.rect=this.originalRect;this.canvas.ellipse=this.originalEllipse;
-this.canvas.roundrect=this.originalRoundrect};mxShape.prototype.createRoughCanvas=function(e){return new a(e,Editor.createRoughCanvas(e),this)};var e=mxShape.prototype.createHandJiggle;mxShape.prototype.createHandJiggle=function(a){return this.outline||null==this.style||"0"==mxUtils.getValue(this.style,"sketch","1"==urlParams.rough?"1":"0")?e.apply(this,arguments):"comic"==mxUtils.getValue(this.style,"sketchStyle","rough")?this.createComicCanvas(a):this.createRoughCanvas(a)};var b=mxShape.prototype.paint;
-mxShape.prototype.paint=function(e){var c=null,d=!0;if(null!=this.style&&(d="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"),c=mxUtils.getValue(this.style,"fillStyle","auto"),null!=this.state&&"auto"==c)){var k=this.state.view.graph.defaultPageBackgroundColor;null!=this.fill&&(null!=this.gradient||null!=k&&this.fill.toLowerCase()==k.toLowerCase())&&(c="solid")}!d||null==e.handJiggle||e.handJiggle.constructor!=a||this.outline||null!=this.fill&&this.fill!=mxConstants.NONE&&"solid"==
-c||(e.save(),c=this.fill,d=this.stroke,this.stroke=this.fill=null,e.handJiggle.passThrough=!0,b.apply(this,arguments),e.handJiggle.passThrough=!1,this.fill=c,this.stroke=d,e.restore());b.apply(this,arguments)}})();Editor.fastCompress=function(a){return null==a||0==a.length||"undefined"===typeof pako?a:Graph.arrayBufferToString(pako.deflateRaw(a))};Editor.fastDecompress=function(a){return null==a||0==a.length||"undefined"===typeof pako?a:pako.inflateRaw(Graph.stringToArrayBuffer(atob(a)),{to:"string"})};
-Editor.extractGraphModel=function(a,e,b){if(null!=a&&"undefined"!==typeof pako){var c=a.ownerDocument.getElementsByTagName("div"),d=[];if(null!=c&&0<c.length)for(var k=0;k<c.length;k++)if("mxgraph"==c[k].getAttribute("class")){d.push(c[k]);break}0<d.length&&(c=d[0].getAttribute("data-mxgraph"),null!=c?(d=JSON.parse(c),null!=d&&null!=d.xml&&(a=mxUtils.parseXml(d.xml),a=a.documentElement)):(d=d[0].getElementsByTagName("div"),0<d.length&&(c=mxUtils.getTextContent(d[0]),c=Graph.decompress(c,null,b),0<
-c.length&&(a=mxUtils.parseXml(c),a=a.documentElement))))}if(null!=a&&"svg"==a.nodeName)if(c=a.getAttribute("content"),null!=c&&"<"!=c.charAt(0)&&"%"!=c.charAt(0)&&(c=unescape(window.atob?atob(c):Base64.decode(cont,c))),null!=c&&"%"==c.charAt(0)&&(c=decodeURIComponent(c)),null!=c&&0<c.length)a=mxUtils.parseXml(c).documentElement;else throw{message:mxResources.get("notADiagramFile")};null==a||e||(d=null,"diagram"==a.nodeName?d=a:"mxfile"==a.nodeName&&(c=a.getElementsByTagName("diagram"),0<c.length&&
-(d=c[Math.max(0,Math.min(c.length-1,urlParams.page||0))])),null!=d&&(a=Editor.parseDiagramNode(d,b)));null==a||"mxGraphModel"==a.nodeName||e&&"mxfile"==a.nodeName||(a=null);return a};Editor.parseDiagramNode=function(a,e){var b=mxUtils.trim(mxUtils.getTextContent(a)),c=null;0<b.length?(b=Graph.decompress(b,null,e),null!=b&&0<b.length&&(c=mxUtils.parseXml(b).documentElement)):(b=mxUtils.getChildNodes(a),0<b.length&&(c=mxUtils.createXmlDocument(),c.appendChild(c.importNode(b[0],!0)),c=c.documentElement));
-return c};Editor.getDiagramNodeXml=function(a){var e=mxUtils.getTextContent(a),b=null;0<e.length?b=Graph.decompress(e):null!=a.firstChild&&(b=mxUtils.getXml(a.firstChild));return b};Editor.extractGraphModelFromPdf=function(a){a=a.substring(a.indexOf(",")+1);a=window.atob&&!mxClient.IS_SF?atob(a):Base64.decode(a,!0);if("%PDF-1.7"==a.substring(0,8)){var e=a.indexOf("EmbeddedFile");if(-1<e){var b=a.indexOf("stream",e)+9;if(0<a.substring(e,b).indexOf("application#2Fvnd.jgraph.mxfile"))return e=a.indexOf("endstream",
-b-1),pako.inflateRaw(Graph.stringToArrayBuffer(a.substring(b,e)),{to:"string"})}return null}for(var b=null,e="",c=0,d=0,k=[],l=null;d<a.length;){var f=a.charCodeAt(d),d=d+1;10!=f&&(e+=String.fromCharCode(f));f=="/Subject (%3Cmxfile".charCodeAt(c)?c++:c=0;if(19==c){var g=a.indexOf("%3C%2Fmxfile%3E)",d)+15,d=d-9;if(g>d){b=a.substring(d,g);break}}10==f&&("endobj"==e?l=null:"obj"==e.substring(e.length-3,e.length)||"xref"==e||"trailer"==e?(l=[],k[e.split(" ")[0]]=l):null!=l&&l.push(e),e="")}null==b&&(b=
-Editor.extractGraphModelFromXref(k));null!=b&&(b=decodeURIComponent(b.replace(/\\\(/g,"(").replace(/\\\)/g,")")));return b};Editor.extractGraphModelFromXref=function(a){var e=a.trailer,b=null;null!=e&&(e=/.* \/Info (\d+) (\d+) R/g.exec(e.join("\n")),null!=e&&0<e.length&&(e=a[e[1]],null!=e&&(e=/.* \/Subject (\d+) (\d+) R/g.exec(e.join("\n")),null!=e&&0<e.length&&(a=a[e[1]],null!=a&&(a=a.join("\n"),b=a.substring(1,a.length-1))))));return b};Editor.extractGraphModelFromPng=function(a){var e=null;try{var b=
-a.substring(a.indexOf(",")+1),c=window.atob&&!mxClient.IS_SF?atob(b):Base64.decode(b,!0);EditorUi.parsePng(c,mxUtils.bind(this,function(a,b,d){a=c.substring(a+8,a+8+d);"zTXt"==b?(d=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,d)&&(a=pako.inflateRaw(Graph.stringToArrayBuffer(a.substring(d+2)),{to:"string"}).replace(/\+/g," "),null!=a&&0<a.length&&(e=a))):"tEXt"==b&&(a=a.split(String.fromCharCode(0)),1<a.length&&("mxGraphModel"==a[0]||"mxfile"==a[0])&&(e=a[1]));if(null!=e||"IDAT"==
-b)return!0}))}catch(L){console.log("here",L)}null!=e&&"%"==e.charAt(0)&&(e=decodeURIComponent(e));null!=e&&"%"==e.charAt(0)&&(e=decodeURIComponent(e));return e};Editor.extractParserError=function(a,e){var b=null,c=null!=a?a.getElementsByTagName("parsererror"):null;null!=c&&0<c.length&&(b=e||mxResources.get("invalidChars"),c=c[0].getElementsByTagName("div"),0<c.length&&(b=mxUtils.getTextContent(c[0])));return null!=b?mxUtils.trim(b):b};Editor.addRetryToError=function(a,e){if(null!=a){var b=null!=a.error?
-a.error:a;null==b.retry&&(b.retry=e)}};Editor.configure=function(a,e){if(null!=a){Editor.config=a;Editor.configVersion=a.version;Menus.prototype.defaultFonts=a.defaultFonts||Menus.prototype.defaultFonts;ColorDialog.prototype.presetColors=a.presetColors||ColorDialog.prototype.presetColors;ColorDialog.prototype.defaultColors=a.defaultColors||ColorDialog.prototype.defaultColors;StyleFormatPanel.prototype.defaultColorSchemes=a.defaultColorSchemes||StyleFormatPanel.prototype.defaultColorSchemes;Graph.prototype.defaultEdgeLength=
+this.canvas.roundrect=this.originalRoundrect};mxShape.prototype.createRoughCanvas=function(b){return new a(b,Editor.createRoughCanvas(b),this)};var b=mxShape.prototype.createHandJiggle;mxShape.prototype.createHandJiggle=function(a){return this.outline||null==this.style||"0"==mxUtils.getValue(this.style,"sketch","1"==urlParams.rough?"1":"0")?b.apply(this,arguments):"comic"==mxUtils.getValue(this.style,"sketchStyle","rough")?this.createComicCanvas(a):this.createRoughCanvas(a)};var e=mxShape.prototype.paint;
+mxShape.prototype.paint=function(b){var c=null,d=!0;if(null!=this.style&&(d="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"),c=mxUtils.getValue(this.style,"fillStyle","auto"),null!=this.state&&"auto"==c)){var k=this.state.view.graph.defaultPageBackgroundColor;null!=this.fill&&(null!=this.gradient||null!=k&&this.fill.toLowerCase()==k.toLowerCase())&&(c="solid")}!d||null==b.handJiggle||b.handJiggle.constructor!=a||this.outline||null!=this.fill&&this.fill!=mxConstants.NONE&&"solid"==
+c||(b.save(),c=this.fill,d=this.stroke,this.stroke=this.fill=null,b.handJiggle.passThrough=!0,e.apply(this,arguments),b.handJiggle.passThrough=!1,this.fill=c,this.stroke=d,b.restore());e.apply(this,arguments)}})();Editor.fastCompress=function(a){return null==a||0==a.length||"undefined"===typeof pako?a:Graph.arrayBufferToString(pako.deflateRaw(a))};Editor.fastDecompress=function(a){return null==a||0==a.length||"undefined"===typeof pako?a:pako.inflateRaw(Graph.stringToArrayBuffer(atob(a)),{to:"string"})};
+Editor.extractGraphModel=function(a,b,e){if(null!=a&&"undefined"!==typeof pako){var c=a.ownerDocument.getElementsByTagName("div"),d=[];if(null!=c&&0<c.length)for(var k=0;k<c.length;k++)if("mxgraph"==c[k].getAttribute("class")){d.push(c[k]);break}0<d.length&&(c=d[0].getAttribute("data-mxgraph"),null!=c?(d=JSON.parse(c),null!=d&&null!=d.xml&&(a=mxUtils.parseXml(d.xml),a=a.documentElement)):(d=d[0].getElementsByTagName("div"),0<d.length&&(c=mxUtils.getTextContent(d[0]),c=Graph.decompress(c,null,e),0<
+c.length&&(a=mxUtils.parseXml(c),a=a.documentElement))))}if(null!=a&&"svg"==a.nodeName)if(c=a.getAttribute("content"),null!=c&&"<"!=c.charAt(0)&&"%"!=c.charAt(0)&&(c=unescape(window.atob?atob(c):Base64.decode(cont,c))),null!=c&&"%"==c.charAt(0)&&(c=decodeURIComponent(c)),null!=c&&0<c.length)a=mxUtils.parseXml(c).documentElement;else throw{message:mxResources.get("notADiagramFile")};null==a||b||(d=null,"diagram"==a.nodeName?d=a:"mxfile"==a.nodeName&&(c=a.getElementsByTagName("diagram"),0<c.length&&
+(d=c[Math.max(0,Math.min(c.length-1,urlParams.page||0))])),null!=d&&(a=Editor.parseDiagramNode(d,e)));null==a||"mxGraphModel"==a.nodeName||b&&"mxfile"==a.nodeName||(a=null);return a};Editor.parseDiagramNode=function(a,b){var e=mxUtils.trim(mxUtils.getTextContent(a)),c=null;0<e.length?(e=Graph.decompress(e,null,b),null!=e&&0<e.length&&(c=mxUtils.parseXml(e).documentElement)):(e=mxUtils.getChildNodes(a),0<e.length&&(c=mxUtils.createXmlDocument(),c.appendChild(c.importNode(e[0],!0)),c=c.documentElement));
+return c};Editor.getDiagramNodeXml=function(a){var b=mxUtils.getTextContent(a),e=null;0<b.length?e=Graph.decompress(b):null!=a.firstChild&&(e=mxUtils.getXml(a.firstChild));return e};Editor.extractGraphModelFromPdf=function(a){a=a.substring(a.indexOf(",")+1);a=window.atob&&!mxClient.IS_SF?atob(a):Base64.decode(a,!0);if("%PDF-1.7"==a.substring(0,8)){var b=a.indexOf("EmbeddedFile");if(-1<b){var e=a.indexOf("stream",b)+9;if(0<a.substring(b,e).indexOf("application#2Fvnd.jgraph.mxfile"))return b=a.indexOf("endstream",
+e-1),pako.inflateRaw(Graph.stringToArrayBuffer(a.substring(e,b)),{to:"string"})}return null}for(var e=null,b="",c=0,d=0,k=[],l=null;d<a.length;){var f=a.charCodeAt(d),d=d+1;10!=f&&(b+=String.fromCharCode(f));f=="/Subject (%3Cmxfile".charCodeAt(c)?c++:c=0;if(19==c){var g=a.indexOf("%3C%2Fmxfile%3E)",d)+15,d=d-9;if(g>d){e=a.substring(d,g);break}}10==f&&("endobj"==b?l=null:"obj"==b.substring(b.length-3,b.length)||"xref"==b||"trailer"==b?(l=[],k[b.split(" ")[0]]=l):null!=l&&l.push(b),b="")}null==e&&(e=
+Editor.extractGraphModelFromXref(k));null!=e&&(e=decodeURIComponent(e.replace(/\\\(/g,"(").replace(/\\\)/g,")")));return e};Editor.extractGraphModelFromXref=function(a){var b=a.trailer,e=null;null!=b&&(b=/.* \/Info (\d+) (\d+) R/g.exec(b.join("\n")),null!=b&&0<b.length&&(b=a[b[1]],null!=b&&(b=/.* \/Subject (\d+) (\d+) R/g.exec(b.join("\n")),null!=b&&0<b.length&&(a=a[b[1]],null!=a&&(a=a.join("\n"),e=a.substring(1,a.length-1))))));return e};Editor.extractGraphModelFromPng=function(a){var b=null;try{var e=
+a.substring(a.indexOf(",")+1),c=window.atob&&!mxClient.IS_SF?atob(e):Base64.decode(e,!0);EditorUi.parsePng(c,mxUtils.bind(this,function(a,e,d){a=c.substring(a+8,a+8+d);"zTXt"==e?(d=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,d)&&(a=pako.inflateRaw(Graph.stringToArrayBuffer(a.substring(d+2)),{to:"string"}).replace(/\+/g," "),null!=a&&0<a.length&&(b=a))):"tEXt"==e&&(a=a.split(String.fromCharCode(0)),1<a.length&&("mxGraphModel"==a[0]||"mxfile"==a[0])&&(b=a[1]));if(null!=b||"IDAT"==
+e)return!0}))}catch(L){console.log("here",L)}null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));return b};Editor.extractParserError=function(a,b){var e=null,c=null!=a?a.getElementsByTagName("parsererror"):null;null!=c&&0<c.length&&(e=b||mxResources.get("invalidChars"),c=c[0].getElementsByTagName("div"),0<c.length&&(e=mxUtils.getTextContent(c[0])));return null!=e?mxUtils.trim(e):e};Editor.addRetryToError=function(a,b){if(null!=a){var e=null!=a.error?
+a.error:a;null==e.retry&&(e.retry=b)}};Editor.configure=function(a,b){if(null!=a){Editor.config=a;Editor.configVersion=a.version;Menus.prototype.defaultFonts=a.defaultFonts||Menus.prototype.defaultFonts;ColorDialog.prototype.presetColors=a.presetColors||ColorDialog.prototype.presetColors;ColorDialog.prototype.defaultColors=a.defaultColors||ColorDialog.prototype.defaultColors;StyleFormatPanel.prototype.defaultColorSchemes=a.defaultColorSchemes||StyleFormatPanel.prototype.defaultColorSchemes;Graph.prototype.defaultEdgeLength=
a.defaultEdgeLength||Graph.prototype.defaultEdgeLength;DrawioFile.prototype.autosaveDelay=a.autosaveDelay||DrawioFile.prototype.autosaveDelay;null!=a.templateFile&&(EditorUi.templateFile=a.templateFile);null!=a.styles&&(Editor.styles=a.styles);null!=a.globalVars&&(Editor.globalVars=a.globalVars);null!=a.compressXml&&(Editor.compressXml=a.compressXml);a.customFonts&&(Menus.prototype.defaultFonts=a.customFonts.concat(Menus.prototype.defaultFonts));a.customPresetColors&&(ColorDialog.prototype.presetColors=
-a.customPresetColors.concat(ColorDialog.prototype.presetColors));null!=a.customColorSchemes&&(StyleFormatPanel.prototype.defaultColorSchemes=a.customColorSchemes.concat(StyleFormatPanel.prototype.defaultColorSchemes));if(null!=a.css){var b=document.createElement("style");b.setAttribute("type","text/css");b.appendChild(document.createTextNode(a.css));var c=document.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c)}null!=a.libraries&&(Sidebar.prototype.customEntries=a.libraries);null!=
+a.customPresetColors.concat(ColorDialog.prototype.presetColors));null!=a.customColorSchemes&&(StyleFormatPanel.prototype.defaultColorSchemes=a.customColorSchemes.concat(StyleFormatPanel.prototype.defaultColorSchemes));if(null!=a.css){var e=document.createElement("style");e.setAttribute("type","text/css");e.appendChild(document.createTextNode(a.css));var c=document.getElementsByTagName("script")[0];c.parentNode.insertBefore(e,c)}null!=a.libraries&&(Sidebar.prototype.customEntries=a.libraries);null!=
a.enabledLibraries&&(Sidebar.prototype.enabledLibraries=a.enabledLibraries);null!=a.defaultLibraries&&(Sidebar.prototype.defaultEntries=a.defaultLibraries);null!=a.defaultCustomLibraries&&(Editor.defaultCustomLibraries=a.defaultCustomLibraries);null!=a.enableCustomLibraries&&(Editor.enableCustomLibraries=a.enableCustomLibraries);null!=a.defaultVertexStyle&&(Graph.prototype.defaultVertexStyle=a.defaultVertexStyle);null!=a.defaultEdgeStyle&&(Graph.prototype.defaultEdgeStyle=a.defaultEdgeStyle);null!=
-a.gridSteps&&(b=parseInt(a.gridSteps),!isNaN(b)&&0<b&&(mxGraphView.prototype.gridSteps=b));a.emptyDiagramXml&&(EditorUi.prototype.emptyDiagramXml=a.emptyDiagramXml);a.thumbWidth&&(Sidebar.prototype.thumbWidth=a.thumbWidth);a.thumbHeight&&(Sidebar.prototype.thumbHeight=a.thumbHeight);a.emptyLibraryXml&&(EditorUi.prototype.emptyLibraryXml=a.emptyLibraryXml);a.sidebarWidth&&(EditorUi.prototype.hsplitPosition=a.sidebarWidth);a.fontCss&&Editor.configureFontCss(a.fontCss);null!=a.autosaveDelay&&(b=parseInt(a.autosaveDelay),
-!isNaN(b)&&0<b?DrawioFile.prototype.autosaveDelay=b:EditorUi.debug("Invalid autosaveDelay: "+a.autosaveDelay));if(null!=a.plugins&&!e)for(App.initPluginCallback(),b=0;b<a.plugins.length;b++)mxscript(a.plugins[b]);null!=a.maxImageBytes&&(EditorUi.prototype.maxImageBytes=a.maxImageBytes);null!=a.maxImageSize&&(EditorUi.prototype.maxImageSize=a.maxImageSize)}};Editor.configureFontCss=function(a){if(null!=a){Editor.prototype.fontCss=a;var e=document.getElementsByTagName("script")[0];if(null!=e&&null!=
-e.parentNode){var b=document.createElement("style");b.setAttribute("type","text/css");b.appendChild(document.createTextNode(a));e.parentNode.insertBefore(b,e);a=a.split("url(");for(b=1;b<a.length;b++){var c=a[b].indexOf(")"),c=Editor.trimCssUrl(a[b].substring(0,c)),d=document.createElement("link");d.setAttribute("rel","preload");d.setAttribute("href",c);d.setAttribute("as","font");d.setAttribute("crossorigin","");e.parentNode.insertBefore(d,e)}}}};Editor.trimCssUrl=function(a){return a.replace(RegExp("^[\\s\"']+",
-"g"),"").replace(RegExp("[\\s\"']+$","g"),"")};Editor.GOOGLE_FONTS="https://fonts.googleapis.com/css?family=";Editor.GUID_ALPHABET="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_";Editor.GUID_LENGTH=20;Editor.guid=function(a){a=null!=a?a:Editor.GUID_LENGTH;for(var e=[],b=0;b<a;b++)e.push(Editor.GUID_ALPHABET.charAt(Math.floor(Math.random()*Editor.GUID_ALPHABET.length)));return e.join("")};Editor.prototype.timeout=25E3;Editor.prototype.useForeignObjectForMath=!0;Editor.prototype.editButtonLink=
-null!=urlParams.edit?decodeURIComponent(urlParams.edit):null;Editor.prototype.crossOriginImages=!mxClient.IS_IE;var a=Editor.prototype.setGraphXml;Editor.prototype.setGraphXml=function(e){e=null!=e&&"mxlibrary"!=e.nodeName?this.extractGraphModel(e):null;if(null!=e){var b=e.getElementsByTagName("parsererror");if(null!=b&&0<b.length){var b=b[0],c=b.getElementsByTagName("div");null!=c&&0<c.length&&(b=c[0]);throw{message:mxUtils.getTextContent(b)};}if("mxGraphModel"==e.nodeName){b=e.getAttribute("style")||
-"default-style2";if("1"==urlParams.embed||null!=b&&""!=b)b!=this.graph.currentStyle&&(c=null!=this.graph.themes?this.graph.themes[b]:mxUtils.load(STYLE_PATH+"/"+b+".xml").getDocumentElement(),null!=c&&(d=new mxCodec(c.ownerDocument),d.decode(c,this.graph.getStylesheet())));else if(c=null!=this.graph.themes?this.graph.themes["default-old"]:mxUtils.load(STYLE_PATH+"/default-old.xml").getDocumentElement(),null!=c){var d=new mxCodec(c.ownerDocument);d.decode(c,this.graph.getStylesheet())}this.graph.currentStyle=
-b;this.graph.mathEnabled="1"==urlParams.math||"1"==e.getAttribute("math");b=e.getAttribute("backgroundImage");null!=b?(b=JSON.parse(b),this.graph.setBackgroundImage(new mxImage(b.src,b.width,b.height))):this.graph.setBackgroundImage(null);mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath?!0:this.originalNoForeignObject;this.graph.useCssTransforms=!mxClient.NO_FO&&this.isChromelessView()&&this.graph.isCssTransformsSupported();this.graph.updateCssTransform();this.graph.setShadowVisible("1"==
-e.getAttribute("shadow"),!1);if(b=e.getAttribute("extFonts"))try{for(b=b.split("|").map(function(a){a=a.split("^");return{name:a[0],url:a[1]}}),c=0;c<b.length;c++)this.graph.addExtFont(b[c].name,b[c].url)}catch(L){console.log("ExtFonts format error: "+L.message)}else null!=this.graph.extFonts&&0<this.graph.extFonts.length&&(this.graph.extFonts=[])}a.apply(this,arguments)}else throw{message:mxResources.get("notADiagramFile")||"Invalid data",toString:function(){return this.message}};};var d=Editor.prototype.getGraphXml;
-Editor.prototype.getGraphXml=function(a){a=null!=a?a:!0;var e=d.apply(this,arguments);null!=this.graph.currentStyle&&"default-style2"!=this.graph.currentStyle&&e.setAttribute("style",this.graph.currentStyle);null!=this.graph.backgroundImage&&e.setAttribute("backgroundImage",JSON.stringify(this.graph.backgroundImage));e.setAttribute("math",this.graph.mathEnabled?"1":"0");e.setAttribute("shadow",this.graph.shadowVisible?"1":"0");if(null!=this.graph.extFonts&&0<this.graph.extFonts.length){var b=this.graph.extFonts.map(function(a){return a.name+
-"^"+a.url});e.setAttribute("extFonts",b.join("|"))}return e};Editor.prototype.isDataSvg=function(a){try{var e=mxUtils.parseXml(a).documentElement.getAttribute("content");if(null!=e&&(null!=e&&"<"!=e.charAt(0)&&"%"!=e.charAt(0)&&(e=unescape(window.atob?atob(e):Base64.decode(cont,e))),null!=e&&"%"==e.charAt(0)&&(e=decodeURIComponent(e)),null!=e&&0<e.length)){var b=mxUtils.parseXml(e).documentElement;return"mxfile"==b.nodeName||"mxGraphModel"==b.nodeName}}catch(Y){}return!1};Editor.prototype.extractGraphModel=
-function(a,e,b){return Editor.extractGraphModel.apply(this,arguments)};var b=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){this.graph.mathEnabled="1"==urlParams.math;this.graph.view.x0=null;this.graph.view.y0=null;mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath?!0:this.originalNoForeignObject;this.graph.useCssTransforms=!mxClient.NO_FO&&this.isChromelessView()&&this.graph.isCssTransformsSupported();this.graph.updateCssTransform();b.apply(this,arguments)};
+a.gridSteps&&(e=parseInt(a.gridSteps),!isNaN(e)&&0<e&&(mxGraphView.prototype.gridSteps=e));a.emptyDiagramXml&&(EditorUi.prototype.emptyDiagramXml=a.emptyDiagramXml);a.thumbWidth&&(Sidebar.prototype.thumbWidth=a.thumbWidth);a.thumbHeight&&(Sidebar.prototype.thumbHeight=a.thumbHeight);a.emptyLibraryXml&&(EditorUi.prototype.emptyLibraryXml=a.emptyLibraryXml);a.sidebarWidth&&(EditorUi.prototype.hsplitPosition=a.sidebarWidth);a.fontCss&&Editor.configureFontCss(a.fontCss);null!=a.autosaveDelay&&(e=parseInt(a.autosaveDelay),
+!isNaN(e)&&0<e?DrawioFile.prototype.autosaveDelay=e:EditorUi.debug("Invalid autosaveDelay: "+a.autosaveDelay));if(null!=a.plugins&&!b)for(App.initPluginCallback(),e=0;e<a.plugins.length;e++)mxscript(a.plugins[e]);null!=a.maxImageBytes&&(EditorUi.prototype.maxImageBytes=a.maxImageBytes);null!=a.maxImageSize&&(EditorUi.prototype.maxImageSize=a.maxImageSize)}};Editor.configureFontCss=function(a){if(null!=a){Editor.prototype.fontCss=a;var b=document.getElementsByTagName("script")[0];if(null!=b&&null!=
+b.parentNode){var e=document.createElement("style");e.setAttribute("type","text/css");e.appendChild(document.createTextNode(a));b.parentNode.insertBefore(e,b);a=a.split("url(");for(e=1;e<a.length;e++){var c=a[e].indexOf(")"),c=Editor.trimCssUrl(a[e].substring(0,c)),d=document.createElement("link");d.setAttribute("rel","preload");d.setAttribute("href",c);d.setAttribute("as","font");d.setAttribute("crossorigin","");b.parentNode.insertBefore(d,b)}}}};Editor.trimCssUrl=function(a){return a.replace(RegExp("^[\\s\"']+",
+"g"),"").replace(RegExp("[\\s\"']+$","g"),"")};Editor.GOOGLE_FONTS="https://fonts.googleapis.com/css?family=";Editor.GUID_ALPHABET="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_";Editor.GUID_LENGTH=20;Editor.guid=function(a){a=null!=a?a:Editor.GUID_LENGTH;for(var b=[],e=0;e<a;e++)b.push(Editor.GUID_ALPHABET.charAt(Math.floor(Math.random()*Editor.GUID_ALPHABET.length)));return b.join("")};Editor.prototype.timeout=25E3;Editor.prototype.useForeignObjectForMath=!0;Editor.prototype.editButtonLink=
+null!=urlParams.edit?decodeURIComponent(urlParams.edit):null;Editor.prototype.crossOriginImages=!mxClient.IS_IE;var a=Editor.prototype.setGraphXml;Editor.prototype.setGraphXml=function(b){b=null!=b&&"mxlibrary"!=b.nodeName?this.extractGraphModel(b):null;if(null!=b){var e=b.getElementsByTagName("parsererror");if(null!=e&&0<e.length){var e=e[0],c=e.getElementsByTagName("div");null!=c&&0<c.length&&(e=c[0]);throw{message:mxUtils.getTextContent(e)};}if("mxGraphModel"==b.nodeName){e=b.getAttribute("style")||
+"default-style2";if("1"==urlParams.embed||null!=e&&""!=e)e!=this.graph.currentStyle&&(c=null!=this.graph.themes?this.graph.themes[e]:mxUtils.load(STYLE_PATH+"/"+e+".xml").getDocumentElement(),null!=c&&(d=new mxCodec(c.ownerDocument),d.decode(c,this.graph.getStylesheet())));else if(c=null!=this.graph.themes?this.graph.themes["default-old"]:mxUtils.load(STYLE_PATH+"/default-old.xml").getDocumentElement(),null!=c){var d=new mxCodec(c.ownerDocument);d.decode(c,this.graph.getStylesheet())}this.graph.currentStyle=
+e;this.graph.mathEnabled="1"==urlParams.math||"1"==b.getAttribute("math");e=b.getAttribute("backgroundImage");null!=e?(e=JSON.parse(e),this.graph.setBackgroundImage(new mxImage(e.src,e.width,e.height))):this.graph.setBackgroundImage(null);mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath?!0:this.originalNoForeignObject;this.graph.useCssTransforms=!mxClient.NO_FO&&this.isChromelessView()&&this.graph.isCssTransformsSupported();this.graph.updateCssTransform();this.graph.setShadowVisible("1"==
+b.getAttribute("shadow"),!1);if(e=b.getAttribute("extFonts"))try{for(e=e.split("|").map(function(a){a=a.split("^");return{name:a[0],url:a[1]}}),c=0;c<e.length;c++)this.graph.addExtFont(e[c].name,e[c].url)}catch(L){console.log("ExtFonts format error: "+L.message)}else null!=this.graph.extFonts&&0<this.graph.extFonts.length&&(this.graph.extFonts=[])}a.apply(this,arguments)}else throw{message:mxResources.get("notADiagramFile")||"Invalid data",toString:function(){return this.message}};};var d=Editor.prototype.getGraphXml;
+Editor.prototype.getGraphXml=function(a){a=null!=a?a:!0;var b=d.apply(this,arguments);null!=this.graph.currentStyle&&"default-style2"!=this.graph.currentStyle&&b.setAttribute("style",this.graph.currentStyle);null!=this.graph.backgroundImage&&b.setAttribute("backgroundImage",JSON.stringify(this.graph.backgroundImage));b.setAttribute("math",this.graph.mathEnabled?"1":"0");b.setAttribute("shadow",this.graph.shadowVisible?"1":"0");if(null!=this.graph.extFonts&&0<this.graph.extFonts.length){var e=this.graph.extFonts.map(function(a){return a.name+
+"^"+a.url});b.setAttribute("extFonts",e.join("|"))}return b};Editor.prototype.isDataSvg=function(a){try{var b=mxUtils.parseXml(a).documentElement.getAttribute("content");if(null!=b&&(null!=b&&"<"!=b.charAt(0)&&"%"!=b.charAt(0)&&(b=unescape(window.atob?atob(b):Base64.decode(cont,b))),null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b)),null!=b&&0<b.length)){var e=mxUtils.parseXml(b).documentElement;return"mxfile"==e.nodeName||"mxGraphModel"==e.nodeName}}catch(Y){}return!1};Editor.prototype.extractGraphModel=
+function(a,b,e){return Editor.extractGraphModel.apply(this,arguments)};var b=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){this.graph.mathEnabled="1"==urlParams.math;this.graph.view.x0=null;this.graph.view.y0=null;mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath?!0:this.originalNoForeignObject;this.graph.useCssTransforms=!mxClient.NO_FO&&this.isChromelessView()&&this.graph.isCssTransformsSupported();this.graph.updateCssTransform();b.apply(this,arguments)};
var c=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=function(){c.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject;this.graph.useCssTransforms=!mxClient.NO_FO&&this.isChromelessView()&&this.graph.isCssTransformsSupported();this.graph.updateCssTransform()};Editor.mathJaxWebkitCss="div.MathJax_SVG_Display { position: static; }\nspan.MathJax_SVG { position: static !important; }";
-Editor.initMath=function(a,e){if("undefined"===typeof window.MathJax){a=(null!=a?a:DRAW_MATH_URL+"/MathJax.js")+"?config=TeX-MML-AM_"+("html"==urlParams["math-output"]?"HTMLorMML":"SVG")+"-full";Editor.mathJaxQueue=[];Editor.doMathJaxRender=function(a){window.setTimeout(function(){"hidden"!=a.style.visibility&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,a])},0)};var b=null!=urlParams["math-font"]?decodeURIComponent(urlParams["math-font"]):"TeX";e=null!=e?e:{"HTML-CSS":{availableFonts:[b],imageFont:null},
-SVG:{font:b,useFontCache:!1},tex2jax:{ignoreClass:"mxCellEditor"},asciimath2jax:{ignoreClass:"mxCellEditor"}};window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config(e);MathJax.Hub.Register.StartupHook("Begin",function(){for(var a=0;a<Editor.mathJaxQueue.length;a++)Editor.doMathJaxRender(Editor.mathJaxQueue[a])})}};Editor.MathJaxRender=function(a){"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?Editor.doMathJaxRender(a):Editor.mathJaxQueue.push(a)};
-Editor.MathJaxClear=function(){Editor.mathJaxQueue=[]};var c=Editor.prototype.init;Editor.prototype.init=function(){c.apply(this,arguments);this.graph.addListener(mxEvent.SIZE,mxUtils.bind(this,function(a,e){null!=this.graph.container&&this.graph.mathEnabled&&!this.graph.blockMathRender&&Editor.MathJaxRender(this.graph.container)}))};b=document.getElementsByTagName("script");if(null!=b&&0<b.length){var d=document.createElement("script");d.setAttribute("type","text/javascript");d.setAttribute("src",
-a);b[0].parentNode.appendChild(d)}try{if(mxClient.IS_GC||mxClient.IS_SF){var k=document.createElement("style");k.type="text/css";k.innerHTML=Editor.mathJaxWebkitCss;document.getElementsByTagName("head")[0].appendChild(k)}}catch(U){}}};Editor.prototype.csvToArray=function(a){if(!/^\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*(?:,\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*)*$/.test(a))return null;
-var e=[];a.replace(/(?!\s*$)\s*(?:'([^'\\]*(?:\\[\S\s][^'\\]*)*)'|"([^"\\]*(?:\\[\S\s][^"\\]*)*)"|([^,'"\s\\]*(?:\s+[^,'"\s\\]+)*))\s*(?:,|$)/g,function(a,b,c,d){void 0!==b?e.push(b.replace(/\\'/g,"'")):void 0!==c?e.push(c.replace(/\\"/g,'"')):void 0!==d&&e.push(d);return""});/,\s*$/.test(a)&&e.push("");return e};Editor.prototype.isCorsEnabledForUrl=function(a){if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)return!0;null!=urlParams.cors&&null==this.corsRegExp&&(this.corsRegExp=new RegExp(decodeURIComponent(urlParams.cors)));
-return null!=this.corsRegExp&&this.corsRegExp.test(a)||"https://raw.githubusercontent.com/"===a.substring(0,34)};Editor.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var e=a.convert,b=this;a.convert=function(c){if(null!=c){var d="http://"==c.substring(0,7)||"https://"==c.substring(0,8);d&&!navigator.onLine?c=Editor.svgBrokenImage.src:!d||c.substring(0,a.baseUrl.length)==a.baseUrl||b.crossOriginImages&&b.isCorsEnabledForUrl(c)?"chrome-extension://"==c.substring(0,
-19)||mxClient.IS_CHROMEAPP||(c=e.apply(this,arguments)):c=PROXY_URL+"?url="+encodeURIComponent(c)}return c};return a};Editor.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};Editor.prototype.convertImageToDataUri=function(a,e){try{var b=!0,c=window.setTimeout(mxUtils.bind(this,function(){b=!1;e(Editor.svgBrokenImage.src)}),this.timeout);if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){window.clearTimeout(c);b&&e(Editor.createSvgDataUri(a.getText()))}),
-function(){window.clearTimeout(c);b&&e(Editor.svgBrokenImage.src)});else{var d=new Image;this.crossOriginImages&&(d.crossOrigin="anonymous");d.onload=function(){window.clearTimeout(c);if(b)try{var a=document.createElement("canvas"),k=a.getContext("2d");a.height=d.height;a.width=d.width;k.drawImage(d,0,0);e(a.toDataURL())}catch(X){e(Editor.svgBrokenImage.src)}};d.onerror=function(){window.clearTimeout(c);b&&e(Editor.svgBrokenImage.src)};d.src=a}}catch(T){e(Editor.svgBrokenImage.src)}};Editor.prototype.convertImages=
-function(a,e,b,c){null==c&&(c=this.createImageUrlConverter());var d=0,k=b||{};b=mxUtils.bind(this,function(b,l){for(var f=a.getElementsByTagName(b),g=0;g<f.length;g++)mxUtils.bind(this,function(b){try{if(null!=b){var f=c.convert(b.getAttribute(l));if(null!=f&&"data:"!=f.substring(0,5)){var g=k[f];null==g?(d++,this.convertImageToDataUri(f,function(c){null!=c&&(k[f]=c,b.setAttribute(l,c));d--;0==d&&e(a)})):b.setAttribute(l,g)}else null!=f&&b.setAttribute(l,f)}}catch(ea){}})(f[g])});b("image","xlink:href");
-b("img","src");0==d&&e(a)};Editor.base64Encode=function(a){for(var e="",b=0,c=a.length,d,k,l;b<c;){d=a.charCodeAt(b++)&255;if(b==c){e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>2);e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((d&3)<<4);e+="==";break}k=a.charCodeAt(b++);if(b==c){e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>2);e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((d&
-3)<<4|(k&240)>>4);e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((k&15)<<2);e+="=";break}l=a.charCodeAt(b++);e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>2);e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((d&3)<<4|(k&240)>>4);e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((k&15)<<2|(l&192)>>6);e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(l&63)}return e};
-Editor.prototype.loadUrl=function(a,e,b,c,d,k,l,f){try{var g=!l&&(c||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a)||/(\.pdf)($|\?)/i.test(a));d=null!=d?d:!0;var p=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=e){var c=a.getText();if(g){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();
-for(var c=Array(a.length),d=0;d<a.length;d++)c[d]=String.fromCharCode(a[d]);c=c.join("")}k=null!=k?k:"data:image/png;base64,";c=k+Editor.base64Encode(c)}e(c)}}else null!=b&&(0==a.getStatus()?b({message:mxResources.get("accessDenied")},a):b({message:mxResources.get("error")+" "+a.getStatus()},a))}),function(a){null!=b&&b({message:mxResources.get("error")+" "+a.getStatus()})},g,this.timeout,function(){d&&null!=b&&b({code:App.ERROR_TIMEOUT,retry:p})},f)});p()}catch(W){null!=b&&b(W)}};Editor.prototype.absoluteCssFonts=
-function(a){var e=null;if(null!=a){var b=a.split("url(");if(0<b.length){e=[b[0]];a=window.location.pathname;var c=null!=a?a.lastIndexOf("/"):-1;0<=c&&(a=a.substring(0,c+1));var c=document.getElementsByTagName("base"),d=null;null!=c&&0<c.length&&(d=c[0].getAttribute("href"));for(var k=1;k<b.length;k++)if(c=b[k].indexOf(")"),0<c){var l=Editor.trimCssUrl(b[k].substring(0,c));this.graph.isRelativeUrl(l)&&(l=null!=d?d+l:window.location.protocol+"//"+window.location.hostname+("/"==l.charAt(0)?"":a)+l);
-e.push('url("'+l+'"'+b[k].substring(c))}else e.push(b[k])}else e=[a]}return null!=e?e.join(""):null};Editor.prototype.embedCssFonts=function(a,e){var b=a.split("url("),c=0;null==this.cachedFonts&&(this.cachedFonts={});var d=mxUtils.bind(this,function(){if(0==c){for(var a=[b[0]],d=1;d<b.length;d++){var k=b[d].indexOf(")");a.push('url("');a.push(this.cachedFonts[Editor.trimCssUrl(b[d].substring(0,k))]);a.push('"'+b[d].substring(k))}e(a.join(""))}});if(0<b.length){for(var k=1;k<b.length;k++){var l=b[k].indexOf(")"),
-f=null,g=b[k].indexOf("format(",l);0<g&&(f=Editor.trimCssUrl(b[k].substring(g+7,b[k].indexOf(")",g))));mxUtils.bind(this,function(a){if(null==this.cachedFonts[a]){this.cachedFonts[a]=a;c++;var e="application/x-font-ttf";if("svg"==f||/(\.svg)($|\?)/i.test(a))e="image/svg+xml";else if("otf"==f||"embedded-opentype"==f||/(\.otf)($|\?)/i.test(a))e="application/x-font-opentype";else if("woff"==f||/(\.woff)($|\?)/i.test(a))e="application/font-woff";else if("woff2"==f||/(\.woff2)($|\?)/i.test(a))e="application/font-woff2";
-else if("eot"==f||/(\.eot)($|\?)/i.test(a))e="application/vnd.ms-fontobject";else if("sfnt"==f||/(\.sfnt)($|\?)/i.test(a))e="application/font-sfnt";var b=a;/^https?:\/\//.test(b)&&!this.isCorsEnabledForUrl(b)&&(b=PROXY_URL+"?url="+encodeURIComponent(a));this.loadUrl(b,mxUtils.bind(this,function(e){this.cachedFonts[a]=e;c--;d()}),mxUtils.bind(this,function(a){c--;d()}),!0,null,"data:"+e+";charset=utf-8;base64,")}})(Editor.trimCssUrl(b[k].substring(0,l)),f)}d()}else e(a)};Editor.prototype.loadFonts=
-function(a){null!=this.fontCss&&null==this.resolvedFontCss?this.embedCssFonts(this.fontCss,mxUtils.bind(this,function(e){this.resolvedFontCss=e;a()})):a()};Editor.prototype.embedExtFonts=function(a){var e=this.graph.getCustomFonts();if(0<e.length){var b="",c=0;null==this.cachedGoogleFonts&&(this.cachedGoogleFonts={});for(var d=mxUtils.bind(this,function(){0==c&&this.embedCssFonts(b,a)}),k=0;k<e.length;k++)mxUtils.bind(this,function(a,e){Graph.isCssFontUrl(e)?null==this.cachedGoogleFonts[e]?(c++,this.loadUrl(e,
-mxUtils.bind(this,function(a){this.cachedGoogleFonts[e]=a;b+=a;c--;d()}),mxUtils.bind(this,function(a){c--;b+="@import url("+e+");";d()}))):b+=this.cachedGoogleFonts[e]:b+='@font-face {font-family: "'+a+'";src: url("'+e+'")}'})(e[k].name,e[k].url);d()}else a()};Editor.prototype.addMathCss=function(a){a=a.getElementsByTagName("defs");if(null!=a&&0<a.length)for(var e=document.getElementsByTagName("style"),b=0;b<e.length;b++)0<mxUtils.getTextContent(e[b]).indexOf("MathJax")&&a[0].appendChild(e[b].cloneNode(!0))};
-Editor.prototype.addFontCss=function(a,e){e=null!=e?e:this.absoluteCssFonts(this.fontCss);if(null!=e){var b=a.getElementsByTagName("defs"),c=a.ownerDocument;0==b.length?(b=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"defs"):c.createElement("defs"),null!=a.firstChild?a.insertBefore(b,a.firstChild):a.appendChild(b)):b=b[0];c=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"style"):c.createElement("style");c.setAttribute("type","text/css");mxUtils.setTextContent(c,e);b.appendChild(c)}};
-Editor.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||this.useCanvasForExport};Editor.prototype.getMaxCanvasScale=function(a,e,b){var c=mxClient.IS_FF?8192:16384;return Math.min(b,Math.min(c/a,c/e))};Editor.prototype.exportToCanvas=function(a,e,b,c,d,k,l,f,g,p,t,q,u,m,z,n,x,B){try{k=null!=k?k:!0;l=null!=l?l:!0;q=null!=q?q:this.graph;u=null!=u?u:0;var v=g?null:q.background;v==mxConstants.NONE&&(v=null);null==v&&(v=c);null==v&&0==g&&(v=n?this.graph.defaultPageBackgroundColor:"#ffffff");
-this.convertImages(q.getSvg(null,null,u,m,null,l,null,null,null,p,null,n,x,B),mxUtils.bind(this,function(b){try{var c=new Image;c.onload=mxUtils.bind(this,function(){try{var l=function(){mxClient.IS_SF?window.setTimeout(function(){m.drawImage(c,0,0);a(g,b)},0):(m.drawImage(c,0,0),a(g,b))},g=document.createElement("canvas"),p=parseInt(b.getAttribute("width")),t=parseInt(b.getAttribute("height"));f=null!=f?f:1;null!=e&&(f=k?Math.min(1,Math.min(3*e/(4*t),e/p)):e/p);f=this.getMaxCanvasScale(p,t,f);p=
-Math.ceil(f*p);t=Math.ceil(f*t);g.setAttribute("width",p);g.setAttribute("height",t);var m=g.getContext("2d");null!=v&&(m.beginPath(),m.rect(0,0,p,t),m.fillStyle=v,m.fill());1!=f&&m.scale(f,f);if(z){var n=q.view,x=n.scale;n.scale=1;var B=btoa(unescape(encodeURIComponent(n.createSvgGrid(n.gridColor))));n.scale=x;var B="data:image/svg+xml;base64,"+B,C=q.gridSize*n.gridSteps*f,y=q.getGraphBounds(),G=n.translate.x*x,K=n.translate.y*x,A=G+(y.x-G)/x-u,E=K+(y.y-K)/x-u,M=new Image;M.onload=function(){try{for(var a=
--Math.round(C-mxUtils.mod((G-A)*f,C)),e=-Math.round(C-mxUtils.mod((K-E)*f,C));a<p;a+=C)for(var b=e;b<t;b+=C)m.drawImage(M,a/f,b/f);l()}catch(na){null!=d&&d(na)}};M.onerror=function(a){null!=d&&d(a)};M.src=B}else l()}catch(ma){null!=d&&d(ma)}});c.onerror=function(a){null!=d&&d(a)};p&&this.graph.addSvgShadow(b);this.graph.mathEnabled&&this.addMathCss(b);var l=mxUtils.bind(this,function(){try{null!=this.resolvedFontCss&&this.addFontCss(b,this.resolvedFontCss),c.src=Editor.createSvgDataUri(mxUtils.getXml(b))}catch(ha){null!=
-d&&d(ha)}});this.embedExtFonts(mxUtils.bind(this,function(a){try{null!=a&&this.addFontCss(b,a),this.loadFonts(l)}catch(Q){null!=d&&d(Q)}}))}catch(ha){null!=d&&d(ha)}}),b,t)}catch(S){null!=d&&d(S)}};Editor.crcTable=[];for(var g=0;256>g;g++)for(var f=g,m=0;8>m;m++)f=1==(f&1)?3988292384^f>>>1:f>>>1,Editor.crcTable[g]=f;Editor.updateCRC=function(a,e,b,c){for(var d=0;d<c;d++)a=Editor.crcTable[(a^e.charCodeAt(b+d))&255]^a>>>8;return a};Editor.crc32=function(a){for(var e=-1,b=0;b<a.length;b++)e=e>>>8^Editor.crcTable[(e^
-a.charCodeAt(b))&255];return(e^-1)>>>0};Editor.writeGraphModelToPng=function(a,e,b,c,d){function k(a,e){var b=g;g+=e;return a.substring(b,g)}function l(a){a=k(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function f(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var g=0;if(k(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=d&&d();else if(k(a,
-4),"IHDR"!=k(a,4))null!=d&&d();else{k(a,17);d=a.substring(0,g);do{var p=l(a);if("IDAT"==k(a,4)){d=a.substring(0,g-8);"pHYs"==e&&"dpi"==b?(b=Math.round(c/.0254),b=f(b)+f(b)+String.fromCharCode(1)):b=b+String.fromCharCode(0)+("zTXt"==e?String.fromCharCode(0):"")+c;c=4294967295;c=Editor.updateCRC(c,e,0,4);c=Editor.updateCRC(c,b,0,b.length);d+=f(b.length)+e+b+f(c^4294967295);d+=a.substring(g-8,a.length);break}d+=a.substring(g-8,g-4+p);k(a,p);k(a,4)}while(p);return"data:image/png;base64,"+(window.btoa?
-btoa(d):Base64.encode(d,!0))}};if(window.ColorDialog){FilenameDialog.filenameHelpLink="https://www.diagrams.net/doc/faq/save-file-formats";var n=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,e){n.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};var e=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){e.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}window.EditDataDialog&&
-(EditDataDialog.getDisplayIdForCell=function(a,e){var b=null;null!=a.editor.graph.getModel().getParent(e)?b=e.getId():null!=a.currentPage&&(b=a.currentPage.getId());return b});if(null!=window.StyleFormatPanel){var k=Format.prototype.init;Format.prototype.init=function(){k.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var l=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless?
-l.apply(this,arguments):this.clear()};DiagramFormatPanel.prototype.isShadowOptionVisible=function(){var a=this.editorUi.getCurrentFile();return"1"==urlParams.embed||null!=a&&a.isEditable()};DiagramFormatPanel.prototype.isMathOptionVisible=function(a){return!1};var p=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(a){a=p.apply(this,arguments);this.editorUi.getCurrentFile();if(mxClient.IS_SVG&&this.isShadowOptionVisible()){var e=this.editorUi,b=e.editor.graph,c=this.createOption(mxResources.get("shadow"),
-function(){return b.shadowVisible},function(a){var c=new ChangePageSetup(e);c.ignoreColor=!0;c.ignoreImage=!0;c.shadowVisible=a;b.model.execute(c)},{install:function(a){this.listener=function(){a(b.shadowVisible)};e.addListener("shadowVisibleChanged",this.listener)},destroy:function(){e.removeListener(this.listener)}});Editor.shadowOptionEnabled||(c.getElementsByTagName("input")[0].setAttribute("disabled","disabled"),mxUtils.setOpacity(c,60));a.appendChild(c)}return a};var t=DiagramFormatPanel.prototype.addOptions;
-DiagramFormatPanel.prototype.addOptions=function(a){a=t.apply(this,arguments);var e=this.editorUi,b=e.editor.graph;if(b.isEnabled()){var c=e.getCurrentFile();if(null!=c&&c.isAutosaveOptional()){var d=this.createOption(mxResources.get("autosave"),function(){return e.editor.autosave},function(a){e.editor.setAutosave(a);e.editor.autosave&&c.isModified()&&c.fileChanged()},{install:function(a){this.listener=function(){a(e.editor.autosave)};e.editor.addListener("autosaveChanged",this.listener)},destroy:function(){e.editor.removeListener(this.listener)}});
-a.appendChild(d)}}if(this.isMathOptionVisible()&&b.isEnabled()&&"undefined"!==typeof MathJax){d=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return b.mathEnabled},function(a){e.actions.get("mathematicalTypesetting").funct()},{install:function(a){this.listener=function(){a(b.mathEnabled)};e.addListener("mathEnabledChanged",this.listener)},destroy:function(){e.removeListener(this.listener)}});d.style.paddingTop="5px";a.appendChild(d);var k=e.menus.createHelpLink("https://www.diagrams.net/doc/faq/math-typesetting");
+Editor.initMath=function(a,b){if("undefined"===typeof window.MathJax){a=(null!=a?a:DRAW_MATH_URL+"/MathJax.js")+"?config=TeX-MML-AM_"+("html"==urlParams["math-output"]?"HTMLorMML":"SVG")+"-full";Editor.mathJaxQueue=[];Editor.doMathJaxRender=function(a){window.setTimeout(function(){"hidden"!=a.style.visibility&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,a])},0)};var e=null!=urlParams["math-font"]?decodeURIComponent(urlParams["math-font"]):"TeX";b=null!=b?b:{"HTML-CSS":{availableFonts:[e],imageFont:null},
+SVG:{font:e,useFontCache:!1},tex2jax:{ignoreClass:"mxCellEditor"},asciimath2jax:{ignoreClass:"mxCellEditor"}};window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config(b);MathJax.Hub.Register.StartupHook("Begin",function(){for(var a=0;a<Editor.mathJaxQueue.length;a++)Editor.doMathJaxRender(Editor.mathJaxQueue[a])})}};Editor.MathJaxRender=function(a){"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?Editor.doMathJaxRender(a):Editor.mathJaxQueue.push(a)};
+Editor.MathJaxClear=function(){Editor.mathJaxQueue=[]};var c=Editor.prototype.init;Editor.prototype.init=function(){c.apply(this,arguments);this.graph.addListener(mxEvent.SIZE,mxUtils.bind(this,function(a,b){null!=this.graph.container&&this.graph.mathEnabled&&!this.graph.blockMathRender&&Editor.MathJaxRender(this.graph.container)}))};e=document.getElementsByTagName("script");if(null!=e&&0<e.length){var d=document.createElement("script");d.setAttribute("type","text/javascript");d.setAttribute("src",
+a);e[0].parentNode.appendChild(d)}try{if(mxClient.IS_GC||mxClient.IS_SF){var k=document.createElement("style");k.type="text/css";k.innerHTML=Editor.mathJaxWebkitCss;document.getElementsByTagName("head")[0].appendChild(k)}}catch(U){}}};Editor.prototype.csvToArray=function(a){if(!/^\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*(?:,\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*)*$/.test(a))return null;
+var b=[];a.replace(/(?!\s*$)\s*(?:'([^'\\]*(?:\\[\S\s][^'\\]*)*)'|"([^"\\]*(?:\\[\S\s][^"\\]*)*)"|([^,'"\s\\]*(?:\s+[^,'"\s\\]+)*))\s*(?:,|$)/g,function(a,e,c,d){void 0!==e?b.push(e.replace(/\\'/g,"'")):void 0!==c?b.push(c.replace(/\\"/g,'"')):void 0!==d&&b.push(d);return""});/,\s*$/.test(a)&&b.push("");return b};Editor.prototype.isCorsEnabledForUrl=function(a){if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)return!0;null!=urlParams.cors&&null==this.corsRegExp&&(this.corsRegExp=new RegExp(decodeURIComponent(urlParams.cors)));
+return null!=this.corsRegExp&&this.corsRegExp.test(a)||"https://raw.githubusercontent.com/"===a.substring(0,34)};Editor.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert,e=this;a.convert=function(c){if(null!=c){var d="http://"==c.substring(0,7)||"https://"==c.substring(0,8);d&&!navigator.onLine?c=Editor.svgBrokenImage.src:!d||c.substring(0,a.baseUrl.length)==a.baseUrl||e.crossOriginImages&&e.isCorsEnabledForUrl(c)?"chrome-extension://"==c.substring(0,
+19)||mxClient.IS_CHROMEAPP||(c=b.apply(this,arguments)):c=PROXY_URL+"?url="+encodeURIComponent(c)}return c};return a};Editor.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};Editor.prototype.convertImageToDataUri=function(a,b){try{var e=!0,c=window.setTimeout(mxUtils.bind(this,function(){e=!1;b(Editor.svgBrokenImage.src)}),this.timeout);if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){window.clearTimeout(c);e&&b(Editor.createSvgDataUri(a.getText()))}),
+function(){window.clearTimeout(c);e&&b(Editor.svgBrokenImage.src)});else{var d=new Image;this.crossOriginImages&&(d.crossOrigin="anonymous");d.onload=function(){window.clearTimeout(c);if(e)try{var a=document.createElement("canvas"),k=a.getContext("2d");a.height=d.height;a.width=d.width;k.drawImage(d,0,0);b(a.toDataURL())}catch(X){b(Editor.svgBrokenImage.src)}};d.onerror=function(){window.clearTimeout(c);e&&b(Editor.svgBrokenImage.src)};d.src=a}}catch(T){b(Editor.svgBrokenImage.src)}};Editor.prototype.convertImages=
+function(a,b,e,c){null==c&&(c=this.createImageUrlConverter());var d=0,k=e||{};e=mxUtils.bind(this,function(e,l){for(var f=a.getElementsByTagName(e),g=0;g<f.length;g++)mxUtils.bind(this,function(e){try{if(null!=e){var f=c.convert(e.getAttribute(l));if(null!=f&&"data:"!=f.substring(0,5)){var g=k[f];null==g?(d++,this.convertImageToDataUri(f,function(c){null!=c&&(k[f]=c,e.setAttribute(l,c));d--;0==d&&b(a)})):e.setAttribute(l,g)}else null!=f&&e.setAttribute(l,f)}}catch(ea){}})(f[g])});e("image","xlink:href");
+e("img","src");0==d&&b(a)};Editor.base64Encode=function(a){for(var b="",e=0,c=a.length,d,k,l;e<c;){d=a.charCodeAt(e++)&255;if(e==c){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((d&3)<<4);b+="==";break}k=a.charCodeAt(e++);if(e==c){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((d&
+3)<<4|(k&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((k&15)<<2);b+="=";break}l=a.charCodeAt(e++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((d&3)<<4|(k&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((k&15)<<2|(l&192)>>6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(l&63)}return b};
+Editor.prototype.loadUrl=function(a,b,e,c,d,k,l,f){try{var g=!l&&(c||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a)||/(\.pdf)($|\?)/i.test(a));d=null!=d?d:!0;var p=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=b){var c=a.getText();if(g){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();
+for(var c=Array(a.length),d=0;d<a.length;d++)c[d]=String.fromCharCode(a[d]);c=c.join("")}k=null!=k?k:"data:image/png;base64,";c=k+Editor.base64Encode(c)}b(c)}}else null!=e&&(0==a.getStatus()?e({message:mxResources.get("accessDenied")},a):e({message:mxResources.get("error")+" "+a.getStatus()},a))}),function(a){null!=e&&e({message:mxResources.get("error")+" "+a.getStatus()})},g,this.timeout,function(){d&&null!=e&&e({code:App.ERROR_TIMEOUT,retry:p})},f)});p()}catch(W){null!=e&&e(W)}};Editor.prototype.absoluteCssFonts=
+function(a){var b=null;if(null!=a){var e=a.split("url(");if(0<e.length){b=[e[0]];a=window.location.pathname;var c=null!=a?a.lastIndexOf("/"):-1;0<=c&&(a=a.substring(0,c+1));var c=document.getElementsByTagName("base"),d=null;null!=c&&0<c.length&&(d=c[0].getAttribute("href"));for(var k=1;k<e.length;k++)if(c=e[k].indexOf(")"),0<c){var l=Editor.trimCssUrl(e[k].substring(0,c));this.graph.isRelativeUrl(l)&&(l=null!=d?d+l:window.location.protocol+"//"+window.location.hostname+("/"==l.charAt(0)?"":a)+l);
+b.push('url("'+l+'"'+e[k].substring(c))}else b.push(e[k])}else b=[a]}return null!=b?b.join(""):null};Editor.prototype.embedCssFonts=function(a,b){var e=a.split("url("),c=0;null==this.cachedFonts&&(this.cachedFonts={});var d=mxUtils.bind(this,function(){if(0==c){for(var a=[e[0]],d=1;d<e.length;d++){var k=e[d].indexOf(")");a.push('url("');a.push(this.cachedFonts[Editor.trimCssUrl(e[d].substring(0,k))]);a.push('"'+e[d].substring(k))}b(a.join(""))}});if(0<e.length){for(var k=1;k<e.length;k++){var l=e[k].indexOf(")"),
+f=null,g=e[k].indexOf("format(",l);0<g&&(f=Editor.trimCssUrl(e[k].substring(g+7,e[k].indexOf(")",g))));mxUtils.bind(this,function(a){if(null==this.cachedFonts[a]){this.cachedFonts[a]=a;c++;var b="application/x-font-ttf";if("svg"==f||/(\.svg)($|\?)/i.test(a))b="image/svg+xml";else if("otf"==f||"embedded-opentype"==f||/(\.otf)($|\?)/i.test(a))b="application/x-font-opentype";else if("woff"==f||/(\.woff)($|\?)/i.test(a))b="application/font-woff";else if("woff2"==f||/(\.woff2)($|\?)/i.test(a))b="application/font-woff2";
+else if("eot"==f||/(\.eot)($|\?)/i.test(a))b="application/vnd.ms-fontobject";else if("sfnt"==f||/(\.sfnt)($|\?)/i.test(a))b="application/font-sfnt";var e=a;/^https?:\/\//.test(e)&&!this.isCorsEnabledForUrl(e)&&(e=PROXY_URL+"?url="+encodeURIComponent(a));this.loadUrl(e,mxUtils.bind(this,function(b){this.cachedFonts[a]=b;c--;d()}),mxUtils.bind(this,function(a){c--;d()}),!0,null,"data:"+b+";charset=utf-8;base64,")}})(Editor.trimCssUrl(e[k].substring(0,l)),f)}d()}else b(a)};Editor.prototype.loadFonts=
+function(a){null!=this.fontCss&&null==this.resolvedFontCss?this.embedCssFonts(this.fontCss,mxUtils.bind(this,function(b){this.resolvedFontCss=b;a()})):a()};Editor.prototype.embedExtFonts=function(a){var b=this.graph.getCustomFonts();if(0<b.length){var e="",c=0;null==this.cachedGoogleFonts&&(this.cachedGoogleFonts={});for(var d=mxUtils.bind(this,function(){0==c&&this.embedCssFonts(e,a)}),k=0;k<b.length;k++)mxUtils.bind(this,function(a,b){Graph.isCssFontUrl(b)?null==this.cachedGoogleFonts[b]?(c++,this.loadUrl(b,
+mxUtils.bind(this,function(a){this.cachedGoogleFonts[b]=a;e+=a;c--;d()}),mxUtils.bind(this,function(a){c--;e+="@import url("+b+");";d()}))):e+=this.cachedGoogleFonts[b]:e+='@font-face {font-family: "'+a+'";src: url("'+b+'")}'})(b[k].name,b[k].url);d()}else a()};Editor.prototype.addMathCss=function(a){a=a.getElementsByTagName("defs");if(null!=a&&0<a.length)for(var b=document.getElementsByTagName("style"),e=0;e<b.length;e++)0<mxUtils.getTextContent(b[e]).indexOf("MathJax")&&a[0].appendChild(b[e].cloneNode(!0))};
+Editor.prototype.addFontCss=function(a,b){b=null!=b?b:this.absoluteCssFonts(this.fontCss);if(null!=b){var e=a.getElementsByTagName("defs"),c=a.ownerDocument;0==e.length?(e=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"defs"):c.createElement("defs"),null!=a.firstChild?a.insertBefore(e,a.firstChild):a.appendChild(e)):e=e[0];c=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"style"):c.createElement("style");c.setAttribute("type","text/css");mxUtils.setTextContent(c,b);e.appendChild(c)}};
+Editor.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||this.useCanvasForExport};Editor.prototype.getMaxCanvasScale=function(a,b,e){var c=mxClient.IS_FF?8192:16384;return Math.min(e,Math.min(c/a,c/b))};Editor.prototype.exportToCanvas=function(a,b,e,c,d,k,l,f,g,p,t,q,u,m,y,n,v,C){try{k=null!=k?k:!0;l=null!=l?l:!0;q=null!=q?q:this.graph;u=null!=u?u:0;var A=g?null:q.background;A==mxConstants.NONE&&(A=null);null==A&&(A=c);null==A&&0==g&&(A=n?this.graph.defaultPageBackgroundColor:"#ffffff");
+this.convertImages(q.getSvg(null,null,u,m,null,l,null,null,null,p,null,n,v,C),mxUtils.bind(this,function(e){try{var c=new Image;c.onload=mxUtils.bind(this,function(){try{var l=function(){mxClient.IS_SF?window.setTimeout(function(){m.drawImage(c,0,0);a(g,e)},0):(m.drawImage(c,0,0),a(g,e))},g=document.createElement("canvas"),p=parseInt(e.getAttribute("width")),t=parseInt(e.getAttribute("height"));f=null!=f?f:1;null!=b&&(f=k?Math.min(1,Math.min(3*b/(4*t),b/p)):b/p);f=this.getMaxCanvasScale(p,t,f);p=
+Math.ceil(f*p);t=Math.ceil(f*t);g.setAttribute("width",p);g.setAttribute("height",t);var m=g.getContext("2d");null!=A&&(m.beginPath(),m.rect(0,0,p,t),m.fillStyle=A,m.fill());1!=f&&m.scale(f,f);if(y){var n=q.view,v=n.scale;n.scale=1;var C=btoa(unescape(encodeURIComponent(n.createSvgGrid(n.gridColor))));n.scale=v;var C="data:image/svg+xml;base64,"+C,x=q.gridSize*n.gridSteps*f,z=q.getGraphBounds(),F=n.translate.x*v,K=n.translate.y*v,B=F+(z.x-F)/v-u,H=K+(z.y-K)/v-u,M=new Image;M.onload=function(){try{for(var a=
+-Math.round(x-mxUtils.mod((F-B)*f,x)),b=-Math.round(x-mxUtils.mod((K-H)*f,x));a<p;a+=x)for(var e=b;e<t;e+=x)m.drawImage(M,a/f,e/f);l()}catch(na){null!=d&&d(na)}};M.onerror=function(a){null!=d&&d(a)};M.src=C}else l()}catch(ma){null!=d&&d(ma)}});c.onerror=function(a){null!=d&&d(a)};p&&this.graph.addSvgShadow(e);this.graph.mathEnabled&&this.addMathCss(e);var l=mxUtils.bind(this,function(){try{null!=this.resolvedFontCss&&this.addFontCss(e,this.resolvedFontCss),c.src=Editor.createSvgDataUri(mxUtils.getXml(e))}catch(ha){null!=
+d&&d(ha)}});this.embedExtFonts(mxUtils.bind(this,function(a){try{null!=a&&this.addFontCss(e,a),this.loadFonts(l)}catch(Q){null!=d&&d(Q)}}))}catch(ha){null!=d&&d(ha)}}),e,t)}catch(S){null!=d&&d(S)}};Editor.crcTable=[];for(var g=0;256>g;g++)for(var f=g,m=0;8>m;m++)f=1==(f&1)?3988292384^f>>>1:f>>>1,Editor.crcTable[g]=f;Editor.updateCRC=function(a,b,e,c){for(var d=0;d<c;d++)a=Editor.crcTable[(a^b.charCodeAt(e+d))&255]^a>>>8;return a};Editor.crc32=function(a){for(var b=-1,e=0;e<a.length;e++)b=b>>>8^Editor.crcTable[(b^
+a.charCodeAt(e))&255];return(b^-1)>>>0};Editor.writeGraphModelToPng=function(a,b,e,c,d){function k(a,b){var e=g;g+=b;return a.substring(e,g)}function l(a){a=k(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function f(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var g=0;if(k(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=d&&d();else if(k(a,
+4),"IHDR"!=k(a,4))null!=d&&d();else{k(a,17);d=a.substring(0,g);do{var p=l(a);if("IDAT"==k(a,4)){d=a.substring(0,g-8);"pHYs"==b&&"dpi"==e?(e=Math.round(c/.0254),e=f(e)+f(e)+String.fromCharCode(1)):e=e+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+c;c=4294967295;c=Editor.updateCRC(c,b,0,4);c=Editor.updateCRC(c,e,0,e.length);d+=f(e.length)+b+e+f(c^4294967295);d+=a.substring(g-8,a.length);break}d+=a.substring(g-8,g-4+p);k(a,p);k(a,4)}while(p);return"data:image/png;base64,"+(window.btoa?
+btoa(d):Base64.encode(d,!0))}};if(window.ColorDialog){FilenameDialog.filenameHelpLink="https://www.diagrams.net/doc/faq/save-file-formats";var n=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,b){n.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};var e=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){e.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}window.EditDataDialog&&
+(EditDataDialog.getDisplayIdForCell=function(a,b){var e=null;null!=a.editor.graph.getModel().getParent(b)?e=b.getId():null!=a.currentPage&&(e=a.currentPage.getId());return e});if(null!=window.StyleFormatPanel){var k=Format.prototype.init;Format.prototype.init=function(){k.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var l=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless?
+l.apply(this,arguments):this.clear()};DiagramFormatPanel.prototype.isShadowOptionVisible=function(){var a=this.editorUi.getCurrentFile();return"1"==urlParams.embed||null!=a&&a.isEditable()};DiagramFormatPanel.prototype.isMathOptionVisible=function(a){return!1};var p=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(a){a=p.apply(this,arguments);this.editorUi.getCurrentFile();if(mxClient.IS_SVG&&this.isShadowOptionVisible()){var b=this.editorUi,e=b.editor.graph,c=this.createOption(mxResources.get("shadow"),
+function(){return e.shadowVisible},function(a){var c=new ChangePageSetup(b);c.ignoreColor=!0;c.ignoreImage=!0;c.shadowVisible=a;e.model.execute(c)},{install:function(a){this.listener=function(){a(e.shadowVisible)};b.addListener("shadowVisibleChanged",this.listener)},destroy:function(){b.removeListener(this.listener)}});Editor.shadowOptionEnabled||(c.getElementsByTagName("input")[0].setAttribute("disabled","disabled"),mxUtils.setOpacity(c,60));a.appendChild(c)}return a};var t=DiagramFormatPanel.prototype.addOptions;
+DiagramFormatPanel.prototype.addOptions=function(a){a=t.apply(this,arguments);var b=this.editorUi,e=b.editor.graph;if(e.isEnabled()){var c=b.getCurrentFile();if(null!=c&&c.isAutosaveOptional()){var d=this.createOption(mxResources.get("autosave"),function(){return b.editor.autosave},function(a){b.editor.setAutosave(a);b.editor.autosave&&c.isModified()&&c.fileChanged()},{install:function(a){this.listener=function(){a(b.editor.autosave)};b.editor.addListener("autosaveChanged",this.listener)},destroy:function(){b.editor.removeListener(this.listener)}});
+a.appendChild(d)}}if(this.isMathOptionVisible()&&e.isEnabled()&&"undefined"!==typeof MathJax){d=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return e.mathEnabled},function(a){b.actions.get("mathematicalTypesetting").funct()},{install:function(a){this.listener=function(){a(e.mathEnabled)};b.addListener("mathEnabledChanged",this.listener)},destroy:function(){b.removeListener(this.listener)}});d.style.paddingTop="5px";a.appendChild(d);var k=b.menus.createHelpLink("https://www.diagrams.net/doc/faq/math-typesetting");
k.style.position="relative";k.style.marginLeft="6px";k.style.top="2px";d.appendChild(k)}return a};mxCellRenderer.prototype.defaultVertexShape.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE},{name:"absoluteArcSize",dispName:"Abs. Arc Size",type:"bool",defVal:!1}];mxCellRenderer.defaultShapes.link.prototype.customProperties=[{name:"width",dispName:"Width",type:"float",min:0,defVal:4}];mxCellRenderer.defaultShapes.flexArrow.prototype.customProperties=
[{name:"width",dispName:"Width",type:"float",min:0,defVal:10},{name:"startWidth",dispName:"Start Width",type:"float",min:0,defVal:20},{name:"endWidth",dispName:"End Width",type:"float",min:0,defVal:20}];mxCellRenderer.defaultShapes.process.prototype.customProperties=[{name:"size",dispName:"Indent",type:"float",min:0,max:.5,defVal:.1}];mxCellRenderer.defaultShapes.rhombus.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,max:50,defVal:mxConstants.LINE_ARCSIZE},{name:"double",
dispName:"Double",type:"bool",defVal:!1}];mxCellRenderer.defaultShapes.partialRectangle.prototype.customProperties=[{name:"top",dispName:"Top Line",type:"bool",defVal:!0},{name:"bottom",dispName:"Bottom Line",type:"bool",defVal:!0},{name:"left",dispName:"Left Line",type:"bool",defVal:!0},{name:"right",dispName:"Right Line",type:"bool",defVal:!0}];mxCellRenderer.defaultShapes.parallelogram.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE},
@@ -9999,72 +10001,72 @@ type:"float",min:0,defVal:20}];mxCellRenderer.defaultShapes.offPageConnector.pro
stroke:"#6c8ebf"},{fill:"#d5e8d4",stroke:"#82b366"},{fill:"#ffe6cc",stroke:"#d79b00"},{fill:"#fff2cc",stroke:"#d6b656"},{fill:"#f8cecc",stroke:"#b85450"},{fill:"#e1d5e7",stroke:"#9673a6"}],[{fill:"",stroke:""},{fill:"#60a917",stroke:"#2D7600",font:"#ffffff"},{fill:"#008a00",stroke:"#005700",font:"#ffffff"},{fill:"#1ba1e2",stroke:"#006EAF",font:"#ffffff"},{fill:"#0050ef",stroke:"#001DBC",font:"#ffffff"},{fill:"#6a00ff",stroke:"#3700CC",font:"#ffffff"},{fill:"#d80073",stroke:"#A50040",font:"#ffffff"},
{fill:"#a20025",stroke:"#6F0000",font:"#ffffff"}],[{fill:"#e51400",stroke:"#B20000",font:"#ffffff"},{fill:"#fa6800",stroke:"#C73500",font:"#ffffff"},{fill:"#f0a30a",stroke:"#BD7000",font:"#ffffff"},{fill:"#e3c800",stroke:"#B09500",font:"#ffffff"},{fill:"#6d8764",stroke:"#3A5431",font:"#ffffff"},{fill:"#647687",stroke:"#314354",font:"#ffffff"},{fill:"#76608a",stroke:"#432D57",font:"#ffffff"},{fill:"#a0522d",stroke:"#6D1F00",font:"#ffffff"}],[{fill:"",stroke:""},{fill:mxConstants.NONE,stroke:""},{fill:"#fad7ac",
stroke:"#b46504"},{fill:"#fad9d5",stroke:"#ae4132"},{fill:"#b0e3e6",stroke:"#0e8088"},{fill:"#b1ddf0",stroke:"#10739e"},{fill:"#d0cee2",stroke:"#56517e"},{fill:"#bac8d3",stroke:"#23445d"}],[{fill:"",stroke:""},{fill:"#f5f5f5",stroke:"#666666",gradient:"#b3b3b3"},{fill:"#dae8fc",stroke:"#6c8ebf",gradient:"#7ea6e0"},{fill:"#d5e8d4",stroke:"#82b366",gradient:"#97d077"},{fill:"#ffcd28",stroke:"#d79b00",gradient:"#ffa500"},{fill:"#fff2cc",stroke:"#d6b656",gradient:"#ffd966"},{fill:"#f8cecc",stroke:"#b85450",
-gradient:"#ea6b66"},{fill:"#e6d0de",stroke:"#996185",gradient:"#d5739d"}],[{fill:"",stroke:""},{fill:"#eeeeee",stroke:"#36393d"},{fill:"#f9f7ed",stroke:"#36393d"},{fill:"#ffcc99",stroke:"#36393d"},{fill:"#cce5ff",stroke:"#36393d"},{fill:"#ffff88",stroke:"#36393d"},{fill:"#cdeb8b",stroke:"#36393d"},{fill:"#ffcccc",stroke:"#36393d"}]];StyleFormatPanel.prototype.customColorSchemes=null;StyleFormatPanel.prototype.findCommonProperties=function(a,e,b){if(null!=e){var c=function(a){if(null!=a)if(b)for(var c=
-0;c<a.length;c++)e[a[c].name]=a[c];else for(var d in e){for(var k=!1,c=0;c<a.length;c++)if(a[c].name==d&&a[c].type==e[d].type){k=!0;break}k||delete e[d]}},d=this.editorUi.editor.graph.view.getState(a);null!=d&&null!=d.shape&&(d.shape.commonCustomPropAdded||(d.shape.commonCustomPropAdded=!0,d.shape.customProperties=d.shape.customProperties||[],d.cell.vertex?Array.prototype.push.apply(d.shape.customProperties,Editor.commonVertexProperties):Array.prototype.push.apply(d.shape.customProperties,Editor.commonEdgeProperties)),
-c(d.shape.customProperties));a=a.getAttribute("customProperties");if(null!=a)try{c(JSON.parse(a))}catch(T){}}};var u=StyleFormatPanel.prototype.init;StyleFormatPanel.prototype.init=function(){var a=this.format.createSelectionState();"image"==a.style.shape||a.containsLabel||this.container.appendChild(this.addStyles(this.createPanel()));u.apply(this,arguments);if(Editor.enableCustomProperties){for(var e={},b=a.vertices,c=a.edges,d=0;d<b.length;d++)this.findCommonProperties(b[d],e,0==d);for(d=0;d<c.length;d++)this.findCommonProperties(c[d],
-e,0==b.length&&0==d);null!=Object.getOwnPropertyNames&&0<Object.getOwnPropertyNames(e).length&&this.container.appendChild(this.addProperties(this.createPanel(),e,a))}};var q=StyleFormatPanel.prototype.addStyleOps;StyleFormatPanel.prototype.addStyleOps=function(a){var e=mxUtils.button(mxResources.get("copyStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("copyStyle").funct()}));e.setAttribute("title",mxResources.get("copyStyle")+" ("+this.editorUi.actions.get("copyStyle").shortcut+")");
-e.style.marginBottom="2px";e.style.width="100px";e.style.marginRight="2px";a.appendChild(e);e=mxUtils.button(mxResources.get("pasteStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("pasteStyle").funct()}));e.setAttribute("title",mxResources.get("pasteStyle")+" ("+this.editorUi.actions.get("pasteStyle").shortcut+")");e.style.marginBottom="2px";e.style.width="100px";a.appendChild(e);mxUtils.br(a);return q.apply(this,arguments)};EditorUi.prototype.propertiesCollapsed=!0;StyleFormatPanel.prototype.addProperties=
-function(a,e,b){function c(a,e,b,c){q.getModel().beginUpdate();try{var d=[],k=[];if(null!=b.index){for(var l=[],f=b.parentRow.nextSibling;f&&f.getAttribute("data-pName")==a;)l.push(f.getAttribute("data-pValue")),f=f.nextSibling;b.index<l.length?null!=c?l.splice(c,1):l[b.index]=e:l.push(e);null!=b.size&&l.length>b.size&&(l=l.slice(0,b.size));e=l.join(",");null!=b.countProperty&&(q.setCellStyles(b.countProperty,l.length,q.getSelectionCells()),d.push(b.countProperty),k.push(l.length))}q.setCellStyles(a,
-e,q.getSelectionCells());d.push(a);k.push(e);if(null!=b.dependentProps)for(a=0;a<b.dependentProps.length;a++){var g=b.dependentPropsDefVal[a],p=b.dependentPropsVals[a];if(p.length>e)p=p.slice(0,e);else for(var u=p.length;u<e;u++)p.push(g);p=p.join(",");q.setCellStyles(b.dependentProps[a],p,q.getSelectionCells());d.push(b.dependentProps[a]);k.push(p)}if("function"==typeof b.onChange)b.onChange(q,e);t.editorUi.fireEvent(new mxEventObject("styleChanged","keys",d,"values",k,"cells",q.getSelectionCells()))}finally{q.getModel().endUpdate()}}
-function d(e,b,c){var d=mxUtils.getOffset(a,!0),k=mxUtils.getOffset(e,!0);b.style.position="absolute";b.style.left=k.x-d.x+"px";b.style.top=k.y-d.y+"px";b.style.width=e.offsetWidth+"px";b.style.height=e.offsetHeight-(c?4:0)+"px";b.style.zIndex=5}function k(a,e,b){var d=document.createElement("div");d.style.width="32px";d.style.height="4px";d.style.margin="2px";d.style.border="1px solid black";d.style.background=e&&"none"!=e?e:"url('"+Dialog.prototype.noColorImage+"')";btn=mxUtils.button("",mxUtils.bind(t,
-function(k){this.editorUi.pickColor(e,function(e){d.style.background="none"==e?"url('"+Dialog.prototype.noColorImage+"')":e;c(a,e,b)});mxEvent.consume(k)}));btn.style.height="12px";btn.style.width="40px";btn.className="geColorBtn";btn.appendChild(d);return btn}function l(a,e,b,d,k,l,f){null!=e&&(e=e.split(","),u.push({name:a,values:e,type:b,defVal:d,countProperty:k,parentRow:l,isDeletable:!0,flipBkg:f}));btn=mxUtils.button("+",mxUtils.bind(t,function(e){for(var g=l,t=0;null!=g.nextSibling;)if(g.nextSibling.getAttribute("data-pName")==
-a)g=g.nextSibling,t++;else break;var q={type:b,parentRow:l,index:t,isDeletable:!0,defVal:d,countProperty:k},t=p(a,"",q,0==t%2,f);c(a,d,q);g.parentNode.insertBefore(t,g.nextSibling);mxEvent.consume(e)}));btn.style.height="16px";btn.style.width="25px";btn.className="geColorBtn";return btn}function f(a,e,b,c,d,k,l){if(0<d){var f=Array(d);e=null!=e?e.split(","):[];for(var g=0;g<d;g++)f[g]=null!=e[g]?e[g]:null!=c?c:"";u.push({name:a,values:f,type:b,defVal:c,parentRow:k,flipBkg:l,size:d})}return document.createElement("div")}
-function g(a,e,b){var d=document.createElement("input");d.type="checkbox";d.checked="1"==e;mxEvent.addListener(d,"change",function(){c(a,d.checked?"1":"0",b)});return d}function p(e,b,p,q,u){var m=p.dispName,n=p.type,z=document.createElement("tr");z.className="gePropRow"+(u?"Dark":"")+(q?"Alt":"")+" gePropNonHeaderRow";z.setAttribute("data-pName",e);z.setAttribute("data-pValue",b);q=!1;null!=p.index&&(z.setAttribute("data-index",p.index),m=(null!=m?m:"")+"["+p.index+"]",q=!0);var x=document.createElement("td");
-x.className="gePropRowCell";x.innerHTML=mxUtils.htmlEntities(mxResources.get(m,null,m));q&&(x.style.textAlign="right");z.appendChild(x);x=document.createElement("td");x.className="gePropRowCell";if("color"==n)x.appendChild(k(e,b,p));else if("bool"==n||"boolean"==n)x.appendChild(g(e,b,p));else if("enum"==n){var B=p.enumList;for(u=0;u<B.length;u++)if(m=B[u],m.val==b){x.innerHTML=mxUtils.htmlEntities(mxResources.get(m.dispName,null,m.dispName));break}mxEvent.addListener(x,"click",mxUtils.bind(t,function(){var k=
-document.createElement("select");d(x,k);for(var l=0;l<B.length;l++){var f=B[l],g=document.createElement("option");g.value=mxUtils.htmlEntities(f.val);g.innerHTML=mxUtils.htmlEntities(mxResources.get(f.dispName,null,f.dispName));k.appendChild(g)}k.value=b;a.appendChild(k);mxEvent.addListener(k,"change",function(){var a=mxUtils.htmlEntities(k.value);c(e,a,p)});k.focus();mxEvent.addListener(k,"blur",function(){a.removeChild(k)})}))}else"dynamicArr"==n?x.appendChild(l(e,b,p.subType,p.subDefVal,p.countProperty,
-z,u)):"staticArr"==n?x.appendChild(f(e,b,p.subType,p.subDefVal,p.size,z,u)):"readOnly"==n?(u=document.createElement("input"),u.setAttribute("readonly",""),u.value=b,u.style.width="96px",u.style.borderWidth="0px",x.appendChild(u)):(x.innerHTML=b,mxEvent.addListener(x,"click",mxUtils.bind(t,function(){function k(){var a=l.value,a=0==a.length&&"string"!=n?0:a;p.allowAuto&&(null!=a.trim&&"auto"==a.trim().toLowerCase()?(a="auto",n="string"):(a=parseFloat(a),a=isNaN(a)?0:a));null!=p.min&&a<p.min?a=p.min:
-null!=p.max&&a>p.max&&(a=p.max);a=mxUtils.htmlEntities(("int"==n?parseInt(a):a)+"");c(e,a,p)}var l=document.createElement("input");d(x,l,!0);l.value=b;l.className="gePropEditor";"int"!=n&&"float"!=n||p.allowAuto||(l.type="number",l.step="int"==n?"1":"any",null!=p.min&&(l.min=parseFloat(p.min)),null!=p.max&&(l.max=parseFloat(p.max)));a.appendChild(l);mxEvent.addListener(l,"keypress",function(a){13==a.keyCode&&k()});l.focus();mxEvent.addListener(l,"blur",function(){k()})})));p.isDeletable&&(u=mxUtils.button("-",
-mxUtils.bind(t,function(a){c(e,"",p,p.index);mxEvent.consume(a)})),u.style.height="16px",u.style.width="25px",u.style["float"]="right",u.className="geColorBtn",x.appendChild(u));z.appendChild(x);return z}var t=this,q=this.editorUi.editor.graph,u=[];a.style.position="relative";a.style.padding="0";var m=document.createElement("table");m.className="geProperties";m.style.whiteSpace="nowrap";m.style.width="100%";var n=document.createElement("tr");n.className="gePropHeader";var z=document.createElement("th");
-z.className="gePropHeaderCell";var x=document.createElement("img");x.src=Sidebar.prototype.expandedImage;z.appendChild(x);mxUtils.write(z,mxResources.get("property"));n.style.cursor="pointer";var B=function(){var e=m.querySelectorAll(".gePropNonHeaderRow"),b;if(t.editorUi.propertiesCollapsed){x.src=Sidebar.prototype.collapsedImage;b="none";for(var c=a.childNodes.length-1;0<=c;c--)try{var d=a.childNodes[c],k=d.nodeName.toUpperCase();"INPUT"!=k&&"SELECT"!=k||a.removeChild(d)}catch(la){}}else x.src=
-Sidebar.prototype.expandedImage,b="";for(c=0;c<e.length;c++)e[c].style.display=b};mxEvent.addListener(n,"click",function(){t.editorUi.propertiesCollapsed=!t.editorUi.propertiesCollapsed;B()});n.appendChild(z);z=document.createElement("th");z.className="gePropHeaderCell";z.innerHTML=mxResources.get("value");n.appendChild(z);m.appendChild(n);var v=!1,C=!1,n=null;1==b.vertices.length&&0==b.edges.length?n=b.vertices[0].id:0==b.vertices.length&&1==b.edges.length&&(n=b.edges[0].id);null!=n&&m.appendChild(p("id",
-mxUtils.htmlEntities(n),{dispName:"ID",type:"readOnly"},!0,!1));for(var y in e)if(n=e[y],"function"!=typeof n.isVisible||n.isVisible(b,this)){var G=null!=b.style[y]?mxUtils.htmlEntities(b.style[y]+""):null!=n.getDefaultValue?n.getDefaultValue(b,this):n.defVal;if("separator"==n.type)C=!C;else{if("staticArr"==n.type)n.size=parseInt(b.style[n.sizeProperty]||e[n.sizeProperty].defVal)||0;else if(null!=n.dependentProps){for(var K=n.dependentProps,A=[],E=[],z=0;z<K.length;z++){var D=b.style[K[z]];E.push(e[K[z]].subDefVal);
-A.push(null!=D?D.split(","):[])}n.dependentPropsDefVal=E;n.dependentPropsVals=A}m.appendChild(p(y,G,n,v,C));v=!v}}for(z=0;z<u.length;z++)for(n=u[z],e=n.parentRow,b=0;b<n.values.length;b++)y=p(n.name,n.values[b],{type:n.type,parentRow:n.parentRow,isDeletable:n.isDeletable,index:b,defVal:n.defVal,countProperty:n.countProperty,size:n.size},0==b%2,n.flipBkg),e.parentNode.insertBefore(y,e.nextSibling),e=y;a.appendChild(m);B();return a};StyleFormatPanel.prototype.addStyles=function(a){function e(a){mxEvent.addListener(a,
-"mouseenter",function(){a.style.opacity="1"});mxEvent.addListener(a,"mouseleave",function(){a.style.opacity="0.5"})}var b=this.editorUi,c=b.editor.graph,d=document.createElement("div");d.style.whiteSpace="nowrap";d.style.paddingLeft="24px";d.style.paddingRight="20px";a.style.paddingLeft="16px";a.style.paddingBottom="6px";a.style.position="relative";a.appendChild(d);var k="plain-gray plain-blue plain-green plain-turquoise plain-orange plain-yellow plain-red plain-pink plain-purple gray blue green turquoise orange yellow red pink purple".split(" "),
+gradient:"#ea6b66"},{fill:"#e6d0de",stroke:"#996185",gradient:"#d5739d"}],[{fill:"",stroke:""},{fill:"#eeeeee",stroke:"#36393d"},{fill:"#f9f7ed",stroke:"#36393d"},{fill:"#ffcc99",stroke:"#36393d"},{fill:"#cce5ff",stroke:"#36393d"},{fill:"#ffff88",stroke:"#36393d"},{fill:"#cdeb8b",stroke:"#36393d"},{fill:"#ffcccc",stroke:"#36393d"}]];StyleFormatPanel.prototype.customColorSchemes=null;StyleFormatPanel.prototype.findCommonProperties=function(a,b,e){if(null!=b){var c=function(a){if(null!=a)if(e)for(var c=
+0;c<a.length;c++)b[a[c].name]=a[c];else for(var d in b){for(var k=!1,c=0;c<a.length;c++)if(a[c].name==d&&a[c].type==b[d].type){k=!0;break}k||delete b[d]}},d=this.editorUi.editor.graph.view.getState(a);null!=d&&null!=d.shape&&(d.shape.commonCustomPropAdded||(d.shape.commonCustomPropAdded=!0,d.shape.customProperties=d.shape.customProperties||[],d.cell.vertex?Array.prototype.push.apply(d.shape.customProperties,Editor.commonVertexProperties):Array.prototype.push.apply(d.shape.customProperties,Editor.commonEdgeProperties)),
+c(d.shape.customProperties));a=a.getAttribute("customProperties");if(null!=a)try{c(JSON.parse(a))}catch(T){}}};var u=StyleFormatPanel.prototype.init;StyleFormatPanel.prototype.init=function(){var a=this.format.createSelectionState();"image"==a.style.shape||a.containsLabel||this.container.appendChild(this.addStyles(this.createPanel()));u.apply(this,arguments);if(Editor.enableCustomProperties){for(var b={},e=a.vertices,c=a.edges,d=0;d<e.length;d++)this.findCommonProperties(e[d],b,0==d);for(d=0;d<c.length;d++)this.findCommonProperties(c[d],
+b,0==e.length&&0==d);null!=Object.getOwnPropertyNames&&0<Object.getOwnPropertyNames(b).length&&this.container.appendChild(this.addProperties(this.createPanel(),b,a))}};var q=StyleFormatPanel.prototype.addStyleOps;StyleFormatPanel.prototype.addStyleOps=function(a){var b=mxUtils.button(mxResources.get("copyStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("copyStyle").funct()}));b.setAttribute("title",mxResources.get("copyStyle")+" ("+this.editorUi.actions.get("copyStyle").shortcut+")");
+b.style.marginBottom="2px";b.style.width="100px";b.style.marginRight="2px";a.appendChild(b);b=mxUtils.button(mxResources.get("pasteStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("pasteStyle").funct()}));b.setAttribute("title",mxResources.get("pasteStyle")+" ("+this.editorUi.actions.get("pasteStyle").shortcut+")");b.style.marginBottom="2px";b.style.width="100px";a.appendChild(b);mxUtils.br(a);return q.apply(this,arguments)};EditorUi.prototype.propertiesCollapsed=!0;StyleFormatPanel.prototype.addProperties=
+function(a,b,e){function c(a,b,e,c){q.getModel().beginUpdate();try{var d=[],k=[];if(null!=e.index){for(var l=[],f=e.parentRow.nextSibling;f&&f.getAttribute("data-pName")==a;)l.push(f.getAttribute("data-pValue")),f=f.nextSibling;e.index<l.length?null!=c?l.splice(c,1):l[e.index]=b:l.push(b);null!=e.size&&l.length>e.size&&(l=l.slice(0,e.size));b=l.join(",");null!=e.countProperty&&(q.setCellStyles(e.countProperty,l.length,q.getSelectionCells()),d.push(e.countProperty),k.push(l.length))}q.setCellStyles(a,
+b,q.getSelectionCells());d.push(a);k.push(b);if(null!=e.dependentProps)for(a=0;a<e.dependentProps.length;a++){var g=e.dependentPropsDefVal[a],p=e.dependentPropsVals[a];if(p.length>b)p=p.slice(0,b);else for(var u=p.length;u<b;u++)p.push(g);p=p.join(",");q.setCellStyles(e.dependentProps[a],p,q.getSelectionCells());d.push(e.dependentProps[a]);k.push(p)}if("function"==typeof e.onChange)e.onChange(q,b);t.editorUi.fireEvent(new mxEventObject("styleChanged","keys",d,"values",k,"cells",q.getSelectionCells()))}finally{q.getModel().endUpdate()}}
+function d(b,e,c){var d=mxUtils.getOffset(a,!0),k=mxUtils.getOffset(b,!0);e.style.position="absolute";e.style.left=k.x-d.x+"px";e.style.top=k.y-d.y+"px";e.style.width=b.offsetWidth+"px";e.style.height=b.offsetHeight-(c?4:0)+"px";e.style.zIndex=5}function k(a,b,e){var d=document.createElement("div");d.style.width="32px";d.style.height="4px";d.style.margin="2px";d.style.border="1px solid black";d.style.background=b&&"none"!=b?b:"url('"+Dialog.prototype.noColorImage+"')";btn=mxUtils.button("",mxUtils.bind(t,
+function(k){this.editorUi.pickColor(b,function(b){d.style.background="none"==b?"url('"+Dialog.prototype.noColorImage+"')":b;c(a,b,e)});mxEvent.consume(k)}));btn.style.height="12px";btn.style.width="40px";btn.className="geColorBtn";btn.appendChild(d);return btn}function l(a,b,e,d,k,l,f){null!=b&&(b=b.split(","),u.push({name:a,values:b,type:e,defVal:d,countProperty:k,parentRow:l,isDeletable:!0,flipBkg:f}));btn=mxUtils.button("+",mxUtils.bind(t,function(b){for(var g=l,t=0;null!=g.nextSibling;)if(g.nextSibling.getAttribute("data-pName")==
+a)g=g.nextSibling,t++;else break;var q={type:e,parentRow:l,index:t,isDeletable:!0,defVal:d,countProperty:k},t=p(a,"",q,0==t%2,f);c(a,d,q);g.parentNode.insertBefore(t,g.nextSibling);mxEvent.consume(b)}));btn.style.height="16px";btn.style.width="25px";btn.className="geColorBtn";return btn}function f(a,b,e,c,d,k,l){if(0<d){var f=Array(d);b=null!=b?b.split(","):[];for(var g=0;g<d;g++)f[g]=null!=b[g]?b[g]:null!=c?c:"";u.push({name:a,values:f,type:e,defVal:c,parentRow:k,flipBkg:l,size:d})}return document.createElement("div")}
+function g(a,b,e){var d=document.createElement("input");d.type="checkbox";d.checked="1"==b;mxEvent.addListener(d,"change",function(){c(a,d.checked?"1":"0",e)});return d}function p(b,e,p,q,u){var m=p.dispName,y=p.type,n=document.createElement("tr");n.className="gePropRow"+(u?"Dark":"")+(q?"Alt":"")+" gePropNonHeaderRow";n.setAttribute("data-pName",b);n.setAttribute("data-pValue",e);q=!1;null!=p.index&&(n.setAttribute("data-index",p.index),m=(null!=m?m:"")+"["+p.index+"]",q=!0);var v=document.createElement("td");
+v.className="gePropRowCell";v.innerHTML=mxUtils.htmlEntities(mxResources.get(m,null,m));q&&(v.style.textAlign="right");n.appendChild(v);v=document.createElement("td");v.className="gePropRowCell";if("color"==y)v.appendChild(k(b,e,p));else if("bool"==y||"boolean"==y)v.appendChild(g(b,e,p));else if("enum"==y){var C=p.enumList;for(u=0;u<C.length;u++)if(m=C[u],m.val==e){v.innerHTML=mxUtils.htmlEntities(mxResources.get(m.dispName,null,m.dispName));break}mxEvent.addListener(v,"click",mxUtils.bind(t,function(){var k=
+document.createElement("select");d(v,k);for(var l=0;l<C.length;l++){var f=C[l],g=document.createElement("option");g.value=mxUtils.htmlEntities(f.val);g.innerHTML=mxUtils.htmlEntities(mxResources.get(f.dispName,null,f.dispName));k.appendChild(g)}k.value=e;a.appendChild(k);mxEvent.addListener(k,"change",function(){var a=mxUtils.htmlEntities(k.value);c(b,a,p)});k.focus();mxEvent.addListener(k,"blur",function(){a.removeChild(k)})}))}else"dynamicArr"==y?v.appendChild(l(b,e,p.subType,p.subDefVal,p.countProperty,
+n,u)):"staticArr"==y?v.appendChild(f(b,e,p.subType,p.subDefVal,p.size,n,u)):"readOnly"==y?(u=document.createElement("input"),u.setAttribute("readonly",""),u.value=e,u.style.width="96px",u.style.borderWidth="0px",v.appendChild(u)):(v.innerHTML=e,mxEvent.addListener(v,"click",mxUtils.bind(t,function(){function k(){var a=l.value,a=0==a.length&&"string"!=y?0:a;p.allowAuto&&(null!=a.trim&&"auto"==a.trim().toLowerCase()?(a="auto",y="string"):(a=parseFloat(a),a=isNaN(a)?0:a));null!=p.min&&a<p.min?a=p.min:
+null!=p.max&&a>p.max&&(a=p.max);a=mxUtils.htmlEntities(("int"==y?parseInt(a):a)+"");c(b,a,p)}var l=document.createElement("input");d(v,l,!0);l.value=e;l.className="gePropEditor";"int"!=y&&"float"!=y||p.allowAuto||(l.type="number",l.step="int"==y?"1":"any",null!=p.min&&(l.min=parseFloat(p.min)),null!=p.max&&(l.max=parseFloat(p.max)));a.appendChild(l);mxEvent.addListener(l,"keypress",function(a){13==a.keyCode&&k()});l.focus();mxEvent.addListener(l,"blur",function(){k()})})));p.isDeletable&&(u=mxUtils.button("-",
+mxUtils.bind(t,function(a){c(b,"",p,p.index);mxEvent.consume(a)})),u.style.height="16px",u.style.width="25px",u.style["float"]="right",u.className="geColorBtn",v.appendChild(u));n.appendChild(v);return n}var t=this,q=this.editorUi.editor.graph,u=[];a.style.position="relative";a.style.padding="0";var m=document.createElement("table");m.className="geProperties";m.style.whiteSpace="nowrap";m.style.width="100%";var y=document.createElement("tr");y.className="gePropHeader";var n=document.createElement("th");
+n.className="gePropHeaderCell";var v=document.createElement("img");v.src=Sidebar.prototype.expandedImage;n.appendChild(v);mxUtils.write(n,mxResources.get("property"));y.style.cursor="pointer";var C=function(){var b=m.querySelectorAll(".gePropNonHeaderRow"),e;if(t.editorUi.propertiesCollapsed){v.src=Sidebar.prototype.collapsedImage;e="none";for(var c=a.childNodes.length-1;0<=c;c--)try{var d=a.childNodes[c],k=d.nodeName.toUpperCase();"INPUT"!=k&&"SELECT"!=k||a.removeChild(d)}catch(la){}}else v.src=
+Sidebar.prototype.expandedImage,e="";for(c=0;c<b.length;c++)b[c].style.display=e};mxEvent.addListener(y,"click",function(){t.editorUi.propertiesCollapsed=!t.editorUi.propertiesCollapsed;C()});y.appendChild(n);n=document.createElement("th");n.className="gePropHeaderCell";n.innerHTML=mxResources.get("value");y.appendChild(n);m.appendChild(y);var A=!1,x=!1,y=null;1==e.vertices.length&&0==e.edges.length?y=e.vertices[0].id:0==e.vertices.length&&1==e.edges.length&&(y=e.edges[0].id);null!=y&&m.appendChild(p("id",
+mxUtils.htmlEntities(y),{dispName:"ID",type:"readOnly"},!0,!1));for(var z in b)if(y=b[z],"function"!=typeof y.isVisible||y.isVisible(e,this)){var F=null!=e.style[z]?mxUtils.htmlEntities(e.style[z]+""):null!=y.getDefaultValue?y.getDefaultValue(e,this):y.defVal;if("separator"==y.type)x=!x;else{if("staticArr"==y.type)y.size=parseInt(e.style[y.sizeProperty]||b[y.sizeProperty].defVal)||0;else if(null!=y.dependentProps){for(var K=y.dependentProps,B=[],H=[],n=0;n<K.length;n++){var D=e.style[K[n]];H.push(b[K[n]].subDefVal);
+B.push(null!=D?D.split(","):[])}y.dependentPropsDefVal=H;y.dependentPropsVals=B}m.appendChild(p(z,F,y,A,x));A=!A}}for(n=0;n<u.length;n++)for(y=u[n],b=y.parentRow,e=0;e<y.values.length;e++)z=p(y.name,y.values[e],{type:y.type,parentRow:y.parentRow,isDeletable:y.isDeletable,index:e,defVal:y.defVal,countProperty:y.countProperty,size:y.size},0==e%2,y.flipBkg),b.parentNode.insertBefore(z,b.nextSibling),b=z;a.appendChild(m);C();return a};StyleFormatPanel.prototype.addStyles=function(a){function b(a){mxEvent.addListener(a,
+"mouseenter",function(){a.style.opacity="1"});mxEvent.addListener(a,"mouseleave",function(){a.style.opacity="0.5"})}var e=this.editorUi,c=e.editor.graph,d=document.createElement("div");d.style.whiteSpace="nowrap";d.style.paddingLeft="24px";d.style.paddingRight="20px";a.style.paddingLeft="16px";a.style.paddingBottom="6px";a.style.position="relative";a.appendChild(d);var k="plain-gray plain-blue plain-green plain-turquoise plain-orange plain-yellow plain-red plain-pink plain-purple gray blue green turquoise orange yellow red pink purple".split(" "),
l=document.createElement("div");l.style.whiteSpace="nowrap";l.style.position="relative";l.style.textAlign="center";for(var f=[],g=0;g<this.defaultColorSchemes.length;g++){var p=document.createElement("div");p.style.display="inline-block";p.style.width="6px";p.style.height="6px";p.style.marginLeft="4px";p.style.marginRight="3px";p.style.borderRadius="3px";p.style.cursor="pointer";p.style.background="transparent";p.style.border="1px solid #b5b6b7";mxUtils.bind(this,function(a){mxEvent.addListener(p,
-"click",mxUtils.bind(this,function(){t(a)}))})(g);f.push(p);l.appendChild(p)}var t=mxUtils.bind(this,function(a){null!=this.format.currentScheme&&(f[this.format.currentScheme].style.background="transparent");this.format.currentScheme=a;u(this.defaultColorSchemes[this.format.currentScheme]);f[this.format.currentScheme].style.background="#84d7ff"}),u=mxUtils.bind(this,function(a){var e=mxUtils.bind(this,function(a){var e=mxUtils.button("",function(e){c.getModel().beginUpdate();try{for(var d=c.getSelectionCells(),
-l=0;l<d.length;l++){for(var f=c.getModel().getStyle(d[l]),g=0;g<k.length;g++)f=mxUtils.removeStylename(f,k[g]);var p=c.getModel().isVertex(d[l])?b.initialDefaultVertexStyle:b.initialdefaultEdgeStyle;null!=a?(f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,a.gradient||mxUtils.getValue(p,mxConstants.STYLE_GRADIENTCOLOR,null)),mxEvent.isAltDown(e)||(f=""==a.fill?mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,null):mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,a.fill||mxUtils.getValue(p,mxConstants.STYLE_FILLCOLOR,
-null))),mxEvent.isShiftDown(e)||(f=""==a.stroke?mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,null):mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,a.stroke||mxUtils.getValue(p,mxConstants.STYLE_STROKECOLOR,null))),mxEvent.isControlDown(e)||mxClient.IS_MAC&&mxEvent.isMetaDown(e)||!c.getModel().isVertex(d[l])||(f=mxUtils.setStyle(f,mxConstants.STYLE_FONTCOLOR,a.font||mxUtils.getValue(p,mxConstants.STYLE_FONTCOLOR,null)))):(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,mxUtils.getValue(p,mxConstants.STYLE_FILLCOLOR,
-"#ffffff")),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,mxUtils.getValue(p,mxConstants.STYLE_STROKECOLOR,"#000000")),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,mxUtils.getValue(p,mxConstants.STYLE_GRADIENTCOLOR,null)),c.getModel().isVertex(d[l])&&(f=mxUtils.setStyle(f,mxConstants.STYLE_FONTCOLOR,mxUtils.getValue(p,mxConstants.STYLE_FONTCOLOR,null))));c.getModel().setStyle(d[l],f)}}finally{c.getModel().endUpdate()}});e.className="geStyleButton";e.style.width="36px";e.style.height=
-10>=this.defaultColorSchemes.length?"24px":"30px";e.style.margin="0px 6px 6px 0px";if(null!=a)null!=a.gradient?mxClient.IS_IE&&10>document.documentMode?e.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+a.fill+"', EndColorStr='"+a.gradient+"', GradientType=0)":e.style.backgroundImage="linear-gradient("+a.fill+" 0px,"+a.gradient+" 100%)":a.fill==mxConstants.NONE?e.style.background="url('"+Dialog.prototype.noColorImage+"')":e.style.backgroundColor=""==a.fill?mxUtils.getValue(b.initialDefaultVertexStyle,
-mxConstants.STYLE_FILLCOLOR,"dark"==uiTheme?"#2a2a2a":"#ffffff"):a.fill||mxUtils.getValue(b.initialDefaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"dark"==uiTheme?"#2a2a2a":"#ffffff"),e.style.border=a.stroke==mxConstants.NONE?"1px solid transparent":""==a.stroke?"1px solid "+mxUtils.getValue(b.initialDefaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"dark"!=uiTheme?"#2a2a2a":"#ffffff"):"1px solid "+(a.stroke||mxUtils.getValue(b.initialDefaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"dark"!=uiTheme?
-"#2a2a2a":"#ffffff"));else{var l=mxUtils.getValue(c.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"#ffffff"),f=mxUtils.getValue(c.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"#000000");e.style.backgroundColor=l;e.style.border="1px solid "+f}d.appendChild(e)});d.innerHTML="";for(var l=0;l<a.length;l++)0<l&&0==mxUtils.mod(l,4)&&mxUtils.br(d),e(a[l])});null==this.format.currentScheme?t("dark"==uiTheme?1:0):t(this.format.currentScheme);var g=10>=this.defaultColorSchemes.length?28:8,q=document.createElement("div");
+"click",mxUtils.bind(this,function(){t(a)}))})(g);f.push(p);l.appendChild(p)}var t=mxUtils.bind(this,function(a){null!=this.format.currentScheme&&(f[this.format.currentScheme].style.background="transparent");this.format.currentScheme=a;u(this.defaultColorSchemes[this.format.currentScheme]);f[this.format.currentScheme].style.background="#84d7ff"}),u=mxUtils.bind(this,function(a){var b=mxUtils.bind(this,function(a){var b=mxUtils.button("",function(b){c.getModel().beginUpdate();try{for(var d=c.getSelectionCells(),
+l=0;l<d.length;l++){for(var f=c.getModel().getStyle(d[l]),g=0;g<k.length;g++)f=mxUtils.removeStylename(f,k[g]);var p=c.getModel().isVertex(d[l])?e.initialDefaultVertexStyle:e.initialdefaultEdgeStyle;null!=a?(f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,a.gradient||mxUtils.getValue(p,mxConstants.STYLE_GRADIENTCOLOR,null)),mxEvent.isAltDown(b)||(f=""==a.fill?mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,null):mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,a.fill||mxUtils.getValue(p,mxConstants.STYLE_FILLCOLOR,
+null))),mxEvent.isShiftDown(b)||(f=""==a.stroke?mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,null):mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,a.stroke||mxUtils.getValue(p,mxConstants.STYLE_STROKECOLOR,null))),mxEvent.isControlDown(b)||mxClient.IS_MAC&&mxEvent.isMetaDown(b)||!c.getModel().isVertex(d[l])||(f=mxUtils.setStyle(f,mxConstants.STYLE_FONTCOLOR,a.font||mxUtils.getValue(p,mxConstants.STYLE_FONTCOLOR,null)))):(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,mxUtils.getValue(p,mxConstants.STYLE_FILLCOLOR,
+"#ffffff")),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,mxUtils.getValue(p,mxConstants.STYLE_STROKECOLOR,"#000000")),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,mxUtils.getValue(p,mxConstants.STYLE_GRADIENTCOLOR,null)),c.getModel().isVertex(d[l])&&(f=mxUtils.setStyle(f,mxConstants.STYLE_FONTCOLOR,mxUtils.getValue(p,mxConstants.STYLE_FONTCOLOR,null))));c.getModel().setStyle(d[l],f)}}finally{c.getModel().endUpdate()}});b.className="geStyleButton";b.style.width="36px";b.style.height=
+10>=this.defaultColorSchemes.length?"24px":"30px";b.style.margin="0px 6px 6px 0px";if(null!=a)null!=a.gradient?mxClient.IS_IE&&10>document.documentMode?b.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+a.fill+"', EndColorStr='"+a.gradient+"', GradientType=0)":b.style.backgroundImage="linear-gradient("+a.fill+" 0px,"+a.gradient+" 100%)":a.fill==mxConstants.NONE?b.style.background="url('"+Dialog.prototype.noColorImage+"')":b.style.backgroundColor=""==a.fill?mxUtils.getValue(e.initialDefaultVertexStyle,
+mxConstants.STYLE_FILLCOLOR,"dark"==uiTheme?"#2a2a2a":"#ffffff"):a.fill||mxUtils.getValue(e.initialDefaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"dark"==uiTheme?"#2a2a2a":"#ffffff"),b.style.border=a.stroke==mxConstants.NONE?"1px solid transparent":""==a.stroke?"1px solid "+mxUtils.getValue(e.initialDefaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"dark"!=uiTheme?"#2a2a2a":"#ffffff"):"1px solid "+(a.stroke||mxUtils.getValue(e.initialDefaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"dark"!=uiTheme?
+"#2a2a2a":"#ffffff"));else{var l=mxUtils.getValue(c.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"#ffffff"),f=mxUtils.getValue(c.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"#000000");b.style.backgroundColor=l;b.style.border="1px solid "+f}d.appendChild(b)});d.innerHTML="";for(var l=0;l<a.length;l++)0<l&&0==mxUtils.mod(l,4)&&mxUtils.br(d),b(a[l])});null==this.format.currentScheme?t("dark"==uiTheme?1:0):t(this.format.currentScheme);var g=10>=this.defaultColorSchemes.length?28:8,q=document.createElement("div");
q.style.cssText="position:absolute;left:10px;top:8px;bottom:"+g+"px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ4eHh3d3d1dXVxcXF2dnZ2dnZ2dnZxcXF2dnYmb3w1AAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADRJREFUCNdjwACMAmBKaiGYs2oJmLPKAZ3DabU8AMRTXpUKopislqFyVzCAuUZgikkBZjoAcMYLnp53P/UAAAAASUVORK5CYII=);";mxEvent.addListener(q,"click",mxUtils.bind(this,function(){t(mxUtils.mod(this.format.currentScheme-
1,this.defaultColorSchemes.length))}));var m=document.createElement("div");m.style.cssText="position:absolute;left:202px;top:8px;bottom:"+g+"px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnYBuwCcAAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADZJREFUCNdjQAOMAmBKaiGY8loF5rKswsZlrVo8AUiFrTICcbIWK8A5DF1gDoMymMPApIAwHwCS0Qx/U7qCBQAAAABJRU5ErkJggg==);";
-1<this.defaultColorSchemes.length&&(a.appendChild(q),a.appendChild(m));mxEvent.addListener(m,"click",mxUtils.bind(this,function(){t(mxUtils.mod(this.format.currentScheme+1,this.defaultColorSchemes.length))}));e(q);e(m);u(this.defaultColorSchemes[this.format.currentScheme]);10>=this.defaultColorSchemes.length&&a.appendChild(l);return a};StyleFormatPanel.prototype.addEditOps=function(a){var e=this.format.getSelectionState(),b=null;1==this.editorUi.editor.graph.getSelectionCount()&&(b=mxUtils.button(mxResources.get("editStyle"),
-mxUtils.bind(this,function(a){this.editorUi.actions.get("editStyle").funct()})),b.setAttribute("title",mxResources.get("editStyle")+" ("+this.editorUi.actions.get("editStyle").shortcut+")"),b.style.width="202px",b.style.marginBottom="2px",a.appendChild(b));var c=this.editorUi.editor.graph,d=c.view.getState(c.getSelectionCell());1==c.getSelectionCount()&&null!=d&&null!=d.shape&&null!=d.shape.stencil?(e=mxUtils.button(mxResources.get("editShape"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editShape").funct()})),
-e.setAttribute("title",mxResources.get("editShape")),e.style.marginBottom="2px",null==b?e.style.width="202px":(b.style.width="100px",e.style.width="100px",e.style.marginLeft="2px"),a.appendChild(e)):e.image&&(e=mxUtils.button(mxResources.get("editImage"),mxUtils.bind(this,function(a){this.editorUi.actions.get("image").funct()})),e.setAttribute("title",mxResources.get("editImage")),e.style.marginBottom="2px",null==b?e.style.width="202px":(b.style.width="100px",e.style.width="100px",e.style.marginLeft=
-"2px"),a.appendChild(e));return a}}Graph.customFontElements={};Graph.recentCustomFonts={};Graph.isGoogleFontUrl=function(a){return a.substring(0,Editor.GOOGLE_FONTS.length)==Editor.GOOGLE_FONTS};Graph.isCssFontUrl=function(a){return Graph.isGoogleFontUrl(a)};Graph.createFontElement=function(a,e){var b;Graph.isCssFontUrl(e)?(b=document.createElement("link"),b.setAttribute("rel","stylesheet"),b.setAttribute("type","text/css"),b.setAttribute("charset","UTF-8"),b.setAttribute("href",e)):(b=document.createElement("style"),
-mxUtils.write(b,'@font-face {\nfont-family: "'+a+'";\nsrc: url("'+e+'");\n}'));return b};Graph.addFont=function(a,e,b){if(null!=a&&0<a.length&&null!=e&&0<e.length){var c=a.toLowerCase();if("helvetica"!=c&&"arial"!=a&&"sans-serif"!=c){var d=Graph.customFontElements[c];null!=d&&d.url!=e&&(d.elt.parentNode.removeChild(d.elt),d=null);null==d?(d=e,"http:"==e.substring(0,5)&&(d=PROXY_URL+"?url="+encodeURIComponent(e)),d={name:a,url:e,elt:Graph.createFontElement(a,d)},Graph.customFontElements[c]=d,Graph.recentCustomFonts[c]=
-d,e=document.getElementsByTagName("head")[0],null!=b&&("link"==d.elt.nodeName.toLowerCase()?(d.elt.onload=b,d.elt.onerror=b):b()),null!=e&&e.appendChild(d.elt)):null!=b&&b()}}return a};Graph.getFontUrl=function(a,e){var b=Graph.customFontElements[a.toLowerCase()];null!=b&&(e=b.url);return e};Graph.processFontAttributes=function(a){a=a.getElementsByTagName("*");for(var e=0;e<a.length;e++){var b=a[e].getAttribute("data-font-src");if(null!=b){var c="FONT"==a[e].nodeName?a[e].getAttribute("face"):a[e].style.fontFamily;
-null!=c&&Graph.addFont(c,b)}}};Graph.processFontStyle=function(a){if(null!=a){var e=mxUtils.getValue(a,"fontSource",null);if(null!=e){var b=mxUtils.getValue(a,mxConstants.STYLE_FONTFAMILY,null);null!=b&&Graph.addFont(b,decodeURIComponent(e))}}return a};Graph.prototype.defaultThemeName="default-style2";Graph.prototype.lastPasteXml=null;Graph.prototype.pasteCounter=0;Graph.prototype.defaultScrollbars="0"!=urlParams.sb;Graph.prototype.defaultPageVisible="0"!=urlParams.pv;Graph.prototype.shadowId="dropShadow";
-Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowBlur="1.7";Graph.prototype.svgShadowSize="3";Graph.prototype.edgeMode="move"!=urlParams.edge;var x=Graph.prototype.init;Graph.prototype.init=function(){function a(a){e=a}x.apply(this,arguments);window.mxFreehand&&(this.freehand=new mxFreehand(this));var e=null;mxEvent.addListener(this.container,"mouseenter",a);mxEvent.addListener(this.container,"mousemove",a);mxEvent.addListener(this.container,
-"mouseleave",function(a){e=null});this.isMouseInsertPoint=function(){return null!=e};var b=this.getInsertPoint;this.getInsertPoint=function(){return null!=e?this.getPointForEvent(e):b.apply(this,arguments)};var c=this.layoutManager.getLayout;this.layoutManager.getLayout=function(a){var e=this.graph.getCellStyle(a);if(null!=e){if("rack"==e.childLayout){var b=new mxStackLayout(this.graph,!1);b.gridSize=null!=e.rackUnitSize?parseFloat(e.rackUnitSize):"undefined"!==typeof mxRackContainer?mxRackContainer.unitSize:
-20;b.marginLeft=e.marginLeft||0;b.marginRight=e.marginRight||0;b.marginTop=e.marginTop||0;b.marginBottom=e.marginBottom||0;b.allowGaps=e.allowGaps||0;b.horizontal="1"==mxUtils.getValue(e,"horizontalRack","0");b.resizeParent=!1;b.fill=!0;return b}if("undefined"!==typeof mxTableLayout&&"tableLayout"==e.childLayout)return b=new mxTableLayout(this.graph),b.rows=e.tableRows||2,b.columns=e.tableColumns||2,b.colPercentages=e.colPercentages,b.rowPercentages=e.rowPercentages,b.equalColumns="1"==mxUtils.getValue(e,
-"equalColumns",b.colPercentages?"0":"1"),b.equalRows="1"==mxUtils.getValue(e,"equalRows",b.rowPercentages?"0":"1"),b.resizeParent="1"==mxUtils.getValue(e,"resizeParent","1"),b.border=e.tableBorder||b.border,b.marginLeft=e.marginLeft||0,b.marginRight=e.marginRight||0,b.marginTop=e.marginTop||0,b.marginBottom=e.marginBottom||0,b.autoAddCol="1"==mxUtils.getValue(e,"autoAddCol","0"),b.autoAddRow="1"==mxUtils.getValue(e,"autoAddRow",b.autoAddCol?"0":"1"),b.colWidths=e.colWidths||"100",b.rowHeights=e.rowHeights||
-"50",b}return c.apply(this,arguments)};this.updateGlobalUrlVariables()};var y=Graph.prototype.postProcessCellStyle;Graph.prototype.postProcessCellStyle=function(a){return Graph.processFontStyle(y.apply(this,arguments))};var v=mxSvgCanvas2D.prototype.updateTextNodes;mxSvgCanvas2D.prototype.updateTextNodes=function(a,e,b,c,d,k,l,f,g,p,t){v.apply(this,arguments);Graph.processFontAttributes(t)};var A=mxText.prototype.redraw;mxText.prototype.redraw=function(){A.apply(this,arguments);null!=this.node&&"DIV"==
-this.node.nodeName&&Graph.processFontAttributes(this.node)};Graph.prototype.getCustomFonts=function(){var a=this.extFonts,a=null!=a?a.slice():[],e;for(e in Graph.customFontElements){var b=Graph.customFontElements[e];a.push({name:b.name,url:b.url})}return a};Graph.prototype.setFont=function(a,e){Graph.addFont(a,e);document.execCommand("fontname",!1,a);if(null!=e){var b=this.cellEditor.textarea.getElementsByTagName("font");e=Graph.getFontUrl(a,e);for(var c=0;c<b.length;c++)b[c].getAttribute("face")==
-a&&b[c].getAttribute("data-font-src")!=e&&b[c].setAttribute("data-font-src",e)}};var z=Graph.prototype.isFastZoomEnabled;Graph.prototype.isFastZoomEnabled=function(){return z.apply(this,arguments)&&(!this.shadowVisible||!mxClient.IS_SF)};Graph.prototype.updateGlobalUrlVariables=function(){this.globalVars=Editor.globalVars;if(null!=urlParams.vars)try{this.globalVars=null!=this.globalVars?mxUtils.clone(this.globalVars):{};var a=JSON.parse(decodeURIComponent(urlParams.vars));if(null!=a)for(var e in a)this.globalVars[e]=
-a[e]}catch(N){null!=window.console&&console.log("Error in vars URL parameter: "+N)}};Graph.prototype.getExportVariables=function(){return null!=this.globalVars?mxUtils.clone(this.globalVars):{}};var B=Graph.prototype.getGlobalVariable;Graph.prototype.getGlobalVariable=function(a){var e=B.apply(this,arguments);null==e&&null!=this.globalVars&&(e=this.globalVars[a]);return e};Graph.prototype.getDefaultStylesheet=function(){if(null==this.defaultStylesheet){var a=this.themes["default-style2"];this.defaultStylesheet=
-(new mxCodec(a.ownerDocument)).decode(a)}return this.defaultStylesheet};Graph.prototype.isViewer=function(){return urlParams.viewer};var C=Graph.prototype.getSvg;Graph.prototype.getSvg=function(a,e,b,c,d,k,l,f,g,p,t,q,u,m){var n=null;q||null==this.themes||"darkTheme"!=this.defaultThemeName||(n=this.stylesheet,this.stylesheet=this.getDefaultStylesheet(),this.refresh());var z=C.apply(this,arguments),x=this.getCustomFonts();if(t&&0<x.length){var B=z.ownerDocument,v=null!=B.createElementNS?B.createElementNS(mxConstants.NS_SVG,
-"style"):B.createElement("style");null!=B.setAttributeNS?v.setAttributeNS("type","text/css"):v.setAttribute("type","text/css");for(var y="",G="",A=0;A<x.length;A++){var E=x[A].name,D=x[A].url;Graph.isCssFontUrl(D)?y+="@import url("+D+");\n":G+='@font-face {\nfont-family: "'+E+'";\nsrc: url("'+D+'");\n}\n'}v.appendChild(B.createTextNode(y+G));z.getElementsByTagName("defs")[0].appendChild(v)}null!=n&&(this.stylesheet=n,this.refresh());return z};var G=Graph.prototype.createSvgImageExport;Graph.prototype.createSvgImageExport=
-function(){var a=G.apply(this,arguments);if(this.mathEnabled){var e=a.drawText;a.drawText=function(a,b){if(null!=a.text&&null!=a.text.value&&a.text.checkBounds()&&(mxUtils.isNode(a.text.value)||a.text.dialect==mxConstants.DIALECT_STRICTHTML)){var c=a.text.getContentNode();if(null!=c){c=c.cloneNode(!0);if(c.getElementsByTagNameNS)for(var d=c.getElementsByTagNameNS("http://www.w3.org/1998/Math/MathML","math");0<d.length;)d[0].parentNode.removeChild(d[0]);null!=c.innerHTML&&(d=a.text.value,a.text.value=
-c.innerHTML,e.apply(this,arguments),a.text.value=d)}}else e.apply(this,arguments)}}return a};var D=mxGraphView.prototype.validateBackgroundPage;mxGraphView.prototype.validateBackgroundPage=function(){D.apply(this,arguments);if(mxClient.IS_GC&&null!=this.getDrawPane()){var a=this.getDrawPane().parentNode;!this.graph.mathEnabled||mxClient.NO_FO||null!=this.webKitForceRepaintNode&&null!=this.webKitForceRepaintNode.parentNode||"svg"!=this.graph.container.firstChild.nodeName?null==this.webKitForceRepaintNode||
+1<this.defaultColorSchemes.length&&(a.appendChild(q),a.appendChild(m));mxEvent.addListener(m,"click",mxUtils.bind(this,function(){t(mxUtils.mod(this.format.currentScheme+1,this.defaultColorSchemes.length))}));b(q);b(m);u(this.defaultColorSchemes[this.format.currentScheme]);10>=this.defaultColorSchemes.length&&a.appendChild(l);return a};StyleFormatPanel.prototype.addEditOps=function(a){var b=this.format.getSelectionState(),e=null;1==this.editorUi.editor.graph.getSelectionCount()&&(e=mxUtils.button(mxResources.get("editStyle"),
+mxUtils.bind(this,function(a){this.editorUi.actions.get("editStyle").funct()})),e.setAttribute("title",mxResources.get("editStyle")+" ("+this.editorUi.actions.get("editStyle").shortcut+")"),e.style.width="202px",e.style.marginBottom="2px",a.appendChild(e));var c=this.editorUi.editor.graph,d=c.view.getState(c.getSelectionCell());1==c.getSelectionCount()&&null!=d&&null!=d.shape&&null!=d.shape.stencil?(b=mxUtils.button(mxResources.get("editShape"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editShape").funct()})),
+b.setAttribute("title",mxResources.get("editShape")),b.style.marginBottom="2px",null==e?b.style.width="202px":(e.style.width="100px",b.style.width="100px",b.style.marginLeft="2px"),a.appendChild(b)):b.image&&(b=mxUtils.button(mxResources.get("editImage"),mxUtils.bind(this,function(a){this.editorUi.actions.get("image").funct()})),b.setAttribute("title",mxResources.get("editImage")),b.style.marginBottom="2px",null==e?b.style.width="202px":(e.style.width="100px",b.style.width="100px",b.style.marginLeft=
+"2px"),a.appendChild(b));return a}}Graph.customFontElements={};Graph.recentCustomFonts={};Graph.isGoogleFontUrl=function(a){return a.substring(0,Editor.GOOGLE_FONTS.length)==Editor.GOOGLE_FONTS};Graph.isCssFontUrl=function(a){return Graph.isGoogleFontUrl(a)};Graph.createFontElement=function(a,b){var e;Graph.isCssFontUrl(b)?(e=document.createElement("link"),e.setAttribute("rel","stylesheet"),e.setAttribute("type","text/css"),e.setAttribute("charset","UTF-8"),e.setAttribute("href",b)):(e=document.createElement("style"),
+mxUtils.write(e,'@font-face {\nfont-family: "'+a+'";\nsrc: url("'+b+'");\n}'));return e};Graph.addFont=function(a,b,e){if(null!=a&&0<a.length&&null!=b&&0<b.length){var c=a.toLowerCase();if("helvetica"!=c&&"arial"!=a&&"sans-serif"!=c){var d=Graph.customFontElements[c];null!=d&&d.url!=b&&(d.elt.parentNode.removeChild(d.elt),d=null);null==d?(d=b,"http:"==b.substring(0,5)&&(d=PROXY_URL+"?url="+encodeURIComponent(b)),d={name:a,url:b,elt:Graph.createFontElement(a,d)},Graph.customFontElements[c]=d,Graph.recentCustomFonts[c]=
+d,b=document.getElementsByTagName("head")[0],null!=e&&("link"==d.elt.nodeName.toLowerCase()?(d.elt.onload=e,d.elt.onerror=e):e()),null!=b&&b.appendChild(d.elt)):null!=e&&e()}}return a};Graph.getFontUrl=function(a,b){var e=Graph.customFontElements[a.toLowerCase()];null!=e&&(b=e.url);return b};Graph.processFontAttributes=function(a){a=a.getElementsByTagName("*");for(var b=0;b<a.length;b++){var e=a[b].getAttribute("data-font-src");if(null!=e){var c="FONT"==a[b].nodeName?a[b].getAttribute("face"):a[b].style.fontFamily;
+null!=c&&Graph.addFont(c,e)}}};Graph.processFontStyle=function(a){if(null!=a){var b=mxUtils.getValue(a,"fontSource",null);if(null!=b){var e=mxUtils.getValue(a,mxConstants.STYLE_FONTFAMILY,null);null!=e&&Graph.addFont(e,decodeURIComponent(b))}}return a};Graph.prototype.defaultThemeName="default-style2";Graph.prototype.lastPasteXml=null;Graph.prototype.pasteCounter=0;Graph.prototype.defaultScrollbars="0"!=urlParams.sb;Graph.prototype.defaultPageVisible="0"!=urlParams.pv;Graph.prototype.shadowId="dropShadow";
+Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowBlur="1.7";Graph.prototype.svgShadowSize="3";Graph.prototype.edgeMode="move"!=urlParams.edge;var v=Graph.prototype.init;Graph.prototype.init=function(){function a(a){b=a}v.apply(this,arguments);window.mxFreehand&&(this.freehand=new mxFreehand(this));var b=null;mxEvent.addListener(this.container,"mouseenter",a);mxEvent.addListener(this.container,"mousemove",a);mxEvent.addListener(this.container,
+"mouseleave",function(a){b=null});this.isMouseInsertPoint=function(){return null!=b};var e=this.getInsertPoint;this.getInsertPoint=function(){return null!=b?this.getPointForEvent(b):e.apply(this,arguments)};var c=this.layoutManager.getLayout;this.layoutManager.getLayout=function(a){var b=this.graph.getCellStyle(a);if(null!=b){if("rack"==b.childLayout){var e=new mxStackLayout(this.graph,!1);e.gridSize=null!=b.rackUnitSize?parseFloat(b.rackUnitSize):"undefined"!==typeof mxRackContainer?mxRackContainer.unitSize:
+20;e.marginLeft=b.marginLeft||0;e.marginRight=b.marginRight||0;e.marginTop=b.marginTop||0;e.marginBottom=b.marginBottom||0;e.allowGaps=b.allowGaps||0;e.horizontal="1"==mxUtils.getValue(b,"horizontalRack","0");e.resizeParent=!1;e.fill=!0;return e}if("undefined"!==typeof mxTableLayout&&"tableLayout"==b.childLayout)return e=new mxTableLayout(this.graph),e.rows=b.tableRows||2,e.columns=b.tableColumns||2,e.colPercentages=b.colPercentages,e.rowPercentages=b.rowPercentages,e.equalColumns="1"==mxUtils.getValue(b,
+"equalColumns",e.colPercentages?"0":"1"),e.equalRows="1"==mxUtils.getValue(b,"equalRows",e.rowPercentages?"0":"1"),e.resizeParent="1"==mxUtils.getValue(b,"resizeParent","1"),e.border=b.tableBorder||e.border,e.marginLeft=b.marginLeft||0,e.marginRight=b.marginRight||0,e.marginTop=b.marginTop||0,e.marginBottom=b.marginBottom||0,e.autoAddCol="1"==mxUtils.getValue(b,"autoAddCol","0"),e.autoAddRow="1"==mxUtils.getValue(b,"autoAddRow",e.autoAddCol?"0":"1"),e.colWidths=b.colWidths||"100",e.rowHeights=b.rowHeights||
+"50",e}return c.apply(this,arguments)};this.updateGlobalUrlVariables()};var z=Graph.prototype.postProcessCellStyle;Graph.prototype.postProcessCellStyle=function(a){return Graph.processFontStyle(z.apply(this,arguments))};var x=mxSvgCanvas2D.prototype.updateTextNodes;mxSvgCanvas2D.prototype.updateTextNodes=function(a,b,e,c,d,k,l,f,g,p,t){x.apply(this,arguments);Graph.processFontAttributes(t)};var B=mxText.prototype.redraw;mxText.prototype.redraw=function(){B.apply(this,arguments);null!=this.node&&"DIV"==
+this.node.nodeName&&Graph.processFontAttributes(this.node)};Graph.prototype.getCustomFonts=function(){var a=this.extFonts,a=null!=a?a.slice():[],b;for(b in Graph.customFontElements){var e=Graph.customFontElements[b];a.push({name:e.name,url:e.url})}return a};Graph.prototype.setFont=function(a,b){Graph.addFont(a,b);document.execCommand("fontname",!1,a);if(null!=b){var e=this.cellEditor.textarea.getElementsByTagName("font");b=Graph.getFontUrl(a,b);for(var c=0;c<e.length;c++)e[c].getAttribute("face")==
+a&&e[c].getAttribute("data-font-src")!=b&&e[c].setAttribute("data-font-src",b)}};var y=Graph.prototype.isFastZoomEnabled;Graph.prototype.isFastZoomEnabled=function(){return y.apply(this,arguments)&&(!this.shadowVisible||!mxClient.IS_SF)};Graph.prototype.updateGlobalUrlVariables=function(){this.globalVars=Editor.globalVars;if(null!=urlParams.vars)try{this.globalVars=null!=this.globalVars?mxUtils.clone(this.globalVars):{};var a=JSON.parse(decodeURIComponent(urlParams.vars));if(null!=a)for(var b in a)this.globalVars[b]=
+a[b]}catch(N){null!=window.console&&console.log("Error in vars URL parameter: "+N)}};Graph.prototype.getExportVariables=function(){return null!=this.globalVars?mxUtils.clone(this.globalVars):{}};var C=Graph.prototype.getGlobalVariable;Graph.prototype.getGlobalVariable=function(a){var b=C.apply(this,arguments);null==b&&null!=this.globalVars&&(b=this.globalVars[a]);return b};Graph.prototype.getDefaultStylesheet=function(){if(null==this.defaultStylesheet){var a=this.themes["default-style2"];this.defaultStylesheet=
+(new mxCodec(a.ownerDocument)).decode(a)}return this.defaultStylesheet};Graph.prototype.isViewer=function(){return urlParams.viewer};var A=Graph.prototype.getSvg;Graph.prototype.getSvg=function(a,b,e,c,d,k,l,f,g,p,t,q,u,m){var y=null;q||null==this.themes||"darkTheme"!=this.defaultThemeName||(y=this.stylesheet,this.stylesheet=this.getDefaultStylesheet(),this.refresh());var n=A.apply(this,arguments),v=this.getCustomFonts();if(t&&0<v.length){var C=n.ownerDocument,x=null!=C.createElementNS?C.createElementNS(mxConstants.NS_SVG,
+"style"):C.createElement("style");null!=C.setAttributeNS?x.setAttributeNS("type","text/css"):x.setAttribute("type","text/css");for(var z="",F="",B=0;B<v.length;B++){var H=v[B].name,D=v[B].url;Graph.isCssFontUrl(D)?z+="@import url("+D+");\n":F+='@font-face {\nfont-family: "'+H+'";\nsrc: url("'+D+'");\n}\n'}x.appendChild(C.createTextNode(z+F));n.getElementsByTagName("defs")[0].appendChild(x)}null!=y&&(this.stylesheet=y,this.refresh());return n};var F=Graph.prototype.createSvgImageExport;Graph.prototype.createSvgImageExport=
+function(){var a=F.apply(this,arguments);if(this.mathEnabled){var b=a.drawText;a.drawText=function(a,e){if(null!=a.text&&null!=a.text.value&&a.text.checkBounds()&&(mxUtils.isNode(a.text.value)||a.text.dialect==mxConstants.DIALECT_STRICTHTML)){var c=a.text.getContentNode();if(null!=c){c=c.cloneNode(!0);if(c.getElementsByTagNameNS)for(var d=c.getElementsByTagNameNS("http://www.w3.org/1998/Math/MathML","math");0<d.length;)d[0].parentNode.removeChild(d[0]);null!=c.innerHTML&&(d=a.text.value,a.text.value=
+c.innerHTML,b.apply(this,arguments),a.text.value=d)}}else b.apply(this,arguments)}}return a};var D=mxGraphView.prototype.validateBackgroundPage;mxGraphView.prototype.validateBackgroundPage=function(){D.apply(this,arguments);if(mxClient.IS_GC&&null!=this.getDrawPane()){var a=this.getDrawPane().parentNode;!this.graph.mathEnabled||mxClient.NO_FO||null!=this.webKitForceRepaintNode&&null!=this.webKitForceRepaintNode.parentNode||"svg"!=this.graph.container.firstChild.nodeName?null==this.webKitForceRepaintNode||
this.graph.mathEnabled&&("svg"==this.graph.container.firstChild.nodeName||this.graph.container.firstChild==this.webKitForceRepaintNode)||(null!=this.webKitForceRepaintNode.parentNode&&this.webKitForceRepaintNode.parentNode.removeChild(this.webKitForceRepaintNode),this.webKitForceRepaintNode=null):(this.webKitForceRepaintNode=document.createElement("div"),this.webKitForceRepaintNode.style.cssText="position:absolute;",a.ownerSVGElement.parentNode.insertBefore(this.webKitForceRepaintNode,a.ownerSVGElement))}};
-var H=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){H.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.handleCustomLink=function(a){if("data:action/json,"==a.substring(0,17)&&(a=JSON.parse(a.substring(17)),null!=a.actions)){for(var e=0;e<a.actions.length;e++){var b=a.actions[e];if(null!=b.open)if(this.isCustomLink(b.open)){if(!this.customLinkClicked(b.open))return}else this.openLink(b.open)}this.model.beginUpdate();try{for(e=0;e<a.actions.length;e++)b=
-a.actions[e],null!=b.toggle&&this.toggleCells(this.getCellsForAction(b.toggle,!0)),null!=b.show&&this.setCellsVisible(this.getCellsForAction(b.show,!0),!0),null!=b.hide&&this.setCellsVisible(this.getCellsForAction(b.hide,!0),!1)}finally{this.model.endUpdate()}for(e=0;e<a.actions.length;e++){var b=a.actions[e],c=[];null!=b.select&&this.isEnabled()&&(c=this.getCellsForAction(b.select),this.setSelectionCells(c));null!=b.highlight&&(c=this.getCellsForAction(b.highlight),this.highlightCells(c,b.highlight.color,
-b.highlight.duration,b.highlight.opacity));null!=b.scroll&&(c=this.getCellsForAction(b.scroll));null!=b.viewbox&&this.fitWindow(b.viewbox,b.viewbox.border);0<c.length&&this.scrollCellToVisible(c[0])}}};Graph.prototype.updateCustomLinksForCell=function(a,e){var b=this.getLinkForCell(e);null!=b&&"data:action/json,"==b.substring(0,17)&&this.setLinkForCell(e,this.updateCustomLink(a,b));if(this.isHtmlLabel(e)){var c=document.createElement("div");c.innerHTML=this.sanitizeHtml(this.getLabel(e));for(var d=
-c.getElementsByTagName("a"),k=!1,l=0;l<d.length;l++)b=d[l].getAttribute("href"),null!=b&&"data:action/json,"==b.substring(0,17)&&(d[l].setAttribute("href",this.updateCustomLink(a,b)),k=!0);k&&this.labelChanged(e,c.innerHTML)}};Graph.prototype.updateCustomLink=function(a,e){if("data:action/json,"==e.substring(0,17))try{var b=JSON.parse(e.substring(17));null!=b.actions&&(this.updateCustomLinkActions(a,b.actions),e="data:action/json,"+JSON.stringify(b))}catch(Y){}return e};Graph.prototype.updateCustomLinkActions=
-function(a,e){for(var b=0;b<e.length;b++){var c=e[b];this.updateCustomLinkAction(a,c.toggle);this.updateCustomLinkAction(a,c.show);this.updateCustomLinkAction(a,c.hide);this.updateCustomLinkAction(a,c.select);this.updateCustomLinkAction(a,c.highlight);this.updateCustomLinkAction(a,c.scroll)}};Graph.prototype.updateCustomLinkAction=function(a,e){if(null!=e&&null!=e.cells){for(var b=[],c=0;c<e.cells.length;c++)if("*"==e.cells[c])b.push(e.cells[c]);else{var d=a[e.cells[c]];null!=d?""!=d&&b.push(d):b.push(e.cells[c])}e.cells=
-b}};Graph.prototype.getCellsForAction=function(a,e){return this.getCellsById(a.cells).concat(this.getCellsForTags(a.tags,null,null,e))};Graph.prototype.getCellsById=function(a){var e=[];if(null!=a)for(var b=0;b<a.length;b++)if("*"==a[b])var c=this.getDefaultParent(),e=e.concat(this.model.filterDescendants(function(a){return a!=c},c));else{var d=this.model.getCell(a[b]);null!=d&&e.push(d)}return e};Graph.prototype.getCellsForTags=function(a,e,b,c){var d=[];if(null!=a){e=null!=e?e:this.model.getDescendants(this.model.getRoot());
-b=null!=b?b:"tags";for(var k=0,l={},f=0;f<a.length;f++)0<a[f].length&&(l[a[f].toLowerCase()]=!0,k++);for(f=0;f<e.length;f++)if(c&&this.model.getParent(e[f])==this.model.root||this.model.isVertex(e[f])||this.model.isEdge(e[f])){var g=null!=e[f].value&&"object"==typeof e[f].value?mxUtils.trim(e[f].value.getAttribute(b)||""):"",p=!1;if(0<g.length){if(g=g.toLowerCase().split(" "),g.length>=a.length){for(var t=p=0;t<g.length&&p<k;t++)null!=l[g[t]]&&p++;p=p==k}}else p=0==a.length;p&&d.push(e[f])}}return d};
-Graph.prototype.toggleCells=function(a){this.model.beginUpdate();try{for(var e=0;e<a.length;e++)this.model.setVisible(a[e],!this.model.isVisible(a[e]))}finally{this.model.endUpdate()}};Graph.prototype.setCellsVisible=function(a,e){this.model.beginUpdate();try{for(var b=0;b<a.length;b++)this.model.setVisible(a[b],e)}finally{this.model.endUpdate()}};Graph.prototype.highlightCells=function(a,e,b,c){for(var d=0;d<a.length;d++)this.highlightCell(a[d],e,b,c)};Graph.prototype.highlightCell=function(a,e,
-b,c){e=null!=e?e:mxConstants.DEFAULT_VALID_COLOR;b=null!=b?b:1E3;a=this.view.getState(a);if(null!=a){var d=Math.max(5,mxUtils.getValue(a.style,mxConstants.STYLE_STROKEWIDTH,1)+4),k=new mxCellHighlight(this,e,d,!1);null!=c&&(k.opacity=c);k.highlight(a);window.setTimeout(function(){null!=k.shape&&(mxUtils.setPrefixedStyle(k.shape.node.style,"transition","all 1200ms ease-in-out"),k.shape.node.style.opacity=0);window.setTimeout(function(){k.destroy()},1200)},b)}};Graph.prototype.addSvgShadow=function(a,
-e,b){b=null!=b?b:!1;var c=a.ownerDocument,d=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"filter"):c.createElement("filter");d.setAttribute("id",this.shadowId);var k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):c.createElement("feGaussianBlur");k.setAttribute("in","SourceAlpha");k.setAttribute("stdDeviation",this.svgShadowBlur);k.setAttribute("result","blur");d.appendChild(k);k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feOffset"):
+var G=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){G.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.handleCustomLink=function(a){if("data:action/json,"==a.substring(0,17)&&(a=JSON.parse(a.substring(17)),null!=a.actions)){for(var b=0;b<a.actions.length;b++){var e=a.actions[b];if(null!=e.open)if(this.isCustomLink(e.open)){if(!this.customLinkClicked(e.open))return}else this.openLink(e.open)}this.model.beginUpdate();try{for(b=0;b<a.actions.length;b++)e=
+a.actions[b],null!=e.toggle&&this.toggleCells(this.getCellsForAction(e.toggle,!0)),null!=e.show&&this.setCellsVisible(this.getCellsForAction(e.show,!0),!0),null!=e.hide&&this.setCellsVisible(this.getCellsForAction(e.hide,!0),!1)}finally{this.model.endUpdate()}for(b=0;b<a.actions.length;b++){var e=a.actions[b],c=[];null!=e.select&&this.isEnabled()&&(c=this.getCellsForAction(e.select),this.setSelectionCells(c));null!=e.highlight&&(c=this.getCellsForAction(e.highlight),this.highlightCells(c,e.highlight.color,
+e.highlight.duration,e.highlight.opacity));null!=e.scroll&&(c=this.getCellsForAction(e.scroll));null!=e.viewbox&&this.fitWindow(e.viewbox,e.viewbox.border);0<c.length&&this.scrollCellToVisible(c[0])}}};Graph.prototype.updateCustomLinksForCell=function(a,b){var e=this.getLinkForCell(b);null!=e&&"data:action/json,"==e.substring(0,17)&&this.setLinkForCell(b,this.updateCustomLink(a,e));if(this.isHtmlLabel(b)){var c=document.createElement("div");c.innerHTML=this.sanitizeHtml(this.getLabel(b));for(var d=
+c.getElementsByTagName("a"),k=!1,l=0;l<d.length;l++)e=d[l].getAttribute("href"),null!=e&&"data:action/json,"==e.substring(0,17)&&(d[l].setAttribute("href",this.updateCustomLink(a,e)),k=!0);k&&this.labelChanged(b,c.innerHTML)}};Graph.prototype.updateCustomLink=function(a,b){if("data:action/json,"==b.substring(0,17))try{var e=JSON.parse(b.substring(17));null!=e.actions&&(this.updateCustomLinkActions(a,e.actions),b="data:action/json,"+JSON.stringify(e))}catch(Y){}return b};Graph.prototype.updateCustomLinkActions=
+function(a,b){for(var e=0;e<b.length;e++){var c=b[e];this.updateCustomLinkAction(a,c.toggle);this.updateCustomLinkAction(a,c.show);this.updateCustomLinkAction(a,c.hide);this.updateCustomLinkAction(a,c.select);this.updateCustomLinkAction(a,c.highlight);this.updateCustomLinkAction(a,c.scroll)}};Graph.prototype.updateCustomLinkAction=function(a,b){if(null!=b&&null!=b.cells){for(var e=[],c=0;c<b.cells.length;c++)if("*"==b.cells[c])e.push(b.cells[c]);else{var d=a[b.cells[c]];null!=d?""!=d&&e.push(d):e.push(b.cells[c])}b.cells=
+e}};Graph.prototype.getCellsForAction=function(a,b){return this.getCellsById(a.cells).concat(this.getCellsForTags(a.tags,null,null,b))};Graph.prototype.getCellsById=function(a){var b=[];if(null!=a)for(var e=0;e<a.length;e++)if("*"==a[e])var c=this.getDefaultParent(),b=b.concat(this.model.filterDescendants(function(a){return a!=c},c));else{var d=this.model.getCell(a[e]);null!=d&&b.push(d)}return b};Graph.prototype.getCellsForTags=function(a,b,e,c){var d=[];if(null!=a){b=null!=b?b:this.model.getDescendants(this.model.getRoot());
+e=null!=e?e:"tags";for(var k=0,l={},f=0;f<a.length;f++)0<a[f].length&&(l[a[f].toLowerCase()]=!0,k++);for(f=0;f<b.length;f++)if(c&&this.model.getParent(b[f])==this.model.root||this.model.isVertex(b[f])||this.model.isEdge(b[f])){var g=null!=b[f].value&&"object"==typeof b[f].value?mxUtils.trim(b[f].value.getAttribute(e)||""):"",p=!1;if(0<g.length){if(g=g.toLowerCase().split(" "),g.length>=a.length){for(var t=p=0;t<g.length&&p<k;t++)null!=l[g[t]]&&p++;p=p==k}}else p=0==a.length;p&&d.push(b[f])}}return d};
+Graph.prototype.toggleCells=function(a){this.model.beginUpdate();try{for(var b=0;b<a.length;b++)this.model.setVisible(a[b],!this.model.isVisible(a[b]))}finally{this.model.endUpdate()}};Graph.prototype.setCellsVisible=function(a,b){this.model.beginUpdate();try{for(var e=0;e<a.length;e++)this.model.setVisible(a[e],b)}finally{this.model.endUpdate()}};Graph.prototype.highlightCells=function(a,b,e,c){for(var d=0;d<a.length;d++)this.highlightCell(a[d],b,e,c)};Graph.prototype.highlightCell=function(a,b,
+e,c){b=null!=b?b:mxConstants.DEFAULT_VALID_COLOR;e=null!=e?e:1E3;a=this.view.getState(a);if(null!=a){var d=Math.max(5,mxUtils.getValue(a.style,mxConstants.STYLE_STROKEWIDTH,1)+4),k=new mxCellHighlight(this,b,d,!1);null!=c&&(k.opacity=c);k.highlight(a);window.setTimeout(function(){null!=k.shape&&(mxUtils.setPrefixedStyle(k.shape.node.style,"transition","all 1200ms ease-in-out"),k.shape.node.style.opacity=0);window.setTimeout(function(){k.destroy()},1200)},e)}};Graph.prototype.addSvgShadow=function(a,
+b,e){e=null!=e?e:!1;var c=a.ownerDocument,d=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"filter"):c.createElement("filter");d.setAttribute("id",this.shadowId);var k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):c.createElement("feGaussianBlur");k.setAttribute("in","SourceAlpha");k.setAttribute("stdDeviation",this.svgShadowBlur);k.setAttribute("result","blur");d.appendChild(k);k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feOffset"):
c.createElement("feOffset");k.setAttribute("in","blur");k.setAttribute("dx",this.svgShadowSize);k.setAttribute("dy",this.svgShadowSize);k.setAttribute("result","offsetBlur");d.appendChild(k);k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feFlood"):c.createElement("feFlood");k.setAttribute("flood-color",this.svgShadowColor);k.setAttribute("flood-opacity",this.svgShadowOpacity);k.setAttribute("result","offsetColor");d.appendChild(k);k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,
"feComposite"):c.createElement("feComposite");k.setAttribute("in","offsetColor");k.setAttribute("in2","offsetBlur");k.setAttribute("operator","in");k.setAttribute("result","offsetBlur");d.appendChild(k);k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feBlend"):c.createElement("feBlend");k.setAttribute("in","SourceGraphic");k.setAttribute("in2","offsetBlur");d.appendChild(k);k=a.getElementsByTagName("defs");0==k.length?(c=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,
-"defs"):c.createElement("defs"),null!=a.firstChild?a.insertBefore(c,a.firstChild):a.appendChild(c)):c=k[0];c.appendChild(d);b||(e=null!=e?e:a.getElementsByTagName("g")[0],null!=e&&(e.setAttribute("filter","url(#"+this.shadowId+")"),isNaN(parseInt(a.getAttribute("width")))||(a.setAttribute("width",parseInt(a.getAttribute("width"))+6),a.setAttribute("height",parseInt(a.getAttribute("height"))+6),e=a.getAttribute("viewBox"),null!=e&&0<e.length&&(e=e.split(" "),3<e.length&&(w=parseFloat(e[2])+6,h=parseFloat(e[3])+
-6,a.setAttribute("viewBox",e[0]+" "+e[1]+" "+w+" "+h))))));return d};Graph.prototype.setShadowVisible=function(a,e){mxClient.IS_SVG&&!mxClient.IS_SF&&(e=null!=e?e:!0,(this.shadowVisible=a)?this.view.getDrawPane().setAttribute("filter","url(#"+this.shadowId+")"):this.view.getDrawPane().removeAttribute("filter"),e&&this.fireEvent(new mxEventObject("shadowVisibleChanged")))};Graph.prototype.selectUnlockedLayer=function(){if(null==this.defaultParent){var a=this.model.getChildCount(this.model.root),e,
-b=0;do e=this.model.getChildAt(this.model.root,b);while(b++<a&&"1"==mxUtils.getValue(this.getCellStyle(e),"locked","0"));null!=e&&this.setDefaultParent(e)}};mxStencilRegistry.libraries.mockup=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegistry.libraries.atlassian=[STENCIL_PATH+"/atlassian.xml",SHAPES_PATH+"/mxAtlassian.js"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.c4=
+"defs"):c.createElement("defs"),null!=a.firstChild?a.insertBefore(c,a.firstChild):a.appendChild(c)):c=k[0];c.appendChild(d);e||(b=null!=b?b:a.getElementsByTagName("g")[0],null!=b&&(b.setAttribute("filter","url(#"+this.shadowId+")"),isNaN(parseInt(a.getAttribute("width")))||(a.setAttribute("width",parseInt(a.getAttribute("width"))+6),a.setAttribute("height",parseInt(a.getAttribute("height"))+6),b=a.getAttribute("viewBox"),null!=b&&0<b.length&&(b=b.split(" "),3<b.length&&(w=parseFloat(b[2])+6,h=parseFloat(b[3])+
+6,a.setAttribute("viewBox",b[0]+" "+b[1]+" "+w+" "+h))))));return d};Graph.prototype.setShadowVisible=function(a,b){mxClient.IS_SVG&&!mxClient.IS_SF&&(b=null!=b?b:!0,(this.shadowVisible=a)?this.view.getDrawPane().setAttribute("filter","url(#"+this.shadowId+")"):this.view.getDrawPane().removeAttribute("filter"),b&&this.fireEvent(new mxEventObject("shadowVisibleChanged")))};Graph.prototype.selectUnlockedLayer=function(){if(null==this.defaultParent){var a=this.model.getChildCount(this.model.root),b,
+e=0;do b=this.model.getChildAt(this.model.root,e);while(e++<a&&"1"==mxUtils.getValue(this.getCellStyle(b),"locked","0"));null!=b&&this.setDefaultParent(b)}};mxStencilRegistry.libraries.mockup=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegistry.libraries.atlassian=[STENCIL_PATH+"/atlassian.xml",SHAPES_PATH+"/mxAtlassian.js"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.c4=
[SHAPES_PATH+"/mxC4.js"];mxStencilRegistry.libraries.cisco19=[SHAPES_PATH+"/mxCisco19.js",STENCIL_PATH+"/cisco19.xml"];mxStencilRegistry.libraries.cisco_safe=[SHAPES_PATH+"/mxCiscoSafe.js",STENCIL_PATH+"/cisco_safe/architecture.xml",STENCIL_PATH+"/cisco_safe/business_icons.xml",STENCIL_PATH+"/cisco_safe/capability.xml",STENCIL_PATH+"/cisco_safe/design.xml",STENCIL_PATH+"/cisco_safe/iot_things_icons.xml",STENCIL_PATH+"/cisco_safe/people_places_things_icons.xml",STENCIL_PATH+"/cisco_safe/security_icons.xml",
STENCIL_PATH+"/cisco_safe/technology_icons.xml",STENCIL_PATH+"/cisco_safe/threat.xml"];mxStencilRegistry.libraries.dfd=[SHAPES_PATH+"/mxDFD.js"];mxStencilRegistry.libraries.er=[SHAPES_PATH+"/er/mxER.js"];mxStencilRegistry.libraries.kubernetes=[SHAPES_PATH+"/mxKubernetes.js",STENCIL_PATH+"/kubernetes.xml"];mxStencilRegistry.libraries.flowchart=[SHAPES_PATH+"/mxFlowchart.js",STENCIL_PATH+"/flowchart.xml"];mxStencilRegistry.libraries.ios=[SHAPES_PATH+"/mockup/mxMockupiOS.js"];mxStencilRegistry.libraries.rackGeneral=
[SHAPES_PATH+"/rack/mxRack.js",STENCIL_PATH+"/rack/general.xml"];mxStencilRegistry.libraries.rackF5=[STENCIL_PATH+"/rack/f5.xml"];mxStencilRegistry.libraries.lean_mapping=[SHAPES_PATH+"/mxLeanMap.js",STENCIL_PATH+"/lean_mapping.xml"];mxStencilRegistry.libraries.basic=[SHAPES_PATH+"/mxBasic.js",STENCIL_PATH+"/basic.xml"];mxStencilRegistry.libraries.ios7icons=[STENCIL_PATH+"/ios7/icons.xml"];mxStencilRegistry.libraries.ios7ui=[SHAPES_PATH+"/ios7/mxIOS7Ui.js",STENCIL_PATH+"/ios7/misc.xml"];mxStencilRegistry.libraries.android=
@@ -10074,39 +10076,39 @@ STENCIL_PATH+"/cisco_safe/technology_icons.xml",STENCIL_PATH+"/cisco_safe/threat
[SHAPES_PATH+"/mockup/mxMockupText.js"];mxStencilRegistry.libraries.floorplan=[SHAPES_PATH+"/mxFloorplan.js",STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",SHAPES_PATH+"/mxBasic.js",STENCIL_PATH+"/bootstrap.xml"];mxStencilRegistry.libraries.gmdl=[SHAPES_PATH+"/mxGmdl.js",STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.gcp2=[SHAPES_PATH+"/mxGCP2.js",STENCIL_PATH+"/gcp2.xml"];mxStencilRegistry.libraries.ibm=[SHAPES_PATH+"/mxIBM.js",STENCIL_PATH+
"/ibm.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.archimate=[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=[SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml=[SHAPES_PATH+"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks=[SHAPES_PATH+"/mxNetworks.js",STENCIL_PATH+"/networks.xml"];mxStencilRegistry.libraries.aws3d=
[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxStencilRegistry.libraries.aws4=[SHAPES_PATH+"/mxAWS4.js",STENCIL_PATH+"/aws4.xml"];mxStencilRegistry.libraries.aws4b=[SHAPES_PATH+"/mxAWS4.js",STENCIL_PATH+"/aws4.xml"];mxStencilRegistry.libraries.uml25=[SHAPES_PATH+"/mxUML25.js"];mxStencilRegistry.libraries.veeam=[STENCIL_PATH+"/veeam/2d.xml",STENCIL_PATH+"/veeam/3d.xml",STENCIL_PATH+"/veeam/veeam.xml"];mxStencilRegistry.libraries.veeam2=[STENCIL_PATH+"/veeam/2d.xml",STENCIL_PATH+"/veeam/3d.xml",
-STENCIL_PATH+"/veeam/veeam2.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves=[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(a){var e=null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?e="mxgraph.er":"sysML"==a.substring(0,
-5)&&(e="mxgraph.sysml"));return e};var F=mxMarker.createMarker;mxMarker.createMarker=function(a,e,b,c,d,k,l,f,g,p){if(null!=b&&null==mxMarker.markers[b]){var t=this.getPackageForType(b);null!=t&&mxStencilRegistry.getStencil(t)}return F.apply(this,arguments)};PrintDialog.prototype.create=function(a,e){function b(){m.value=Math.max(1,Math.min(f,Math.max(parseInt(m.value),parseInt(u.value))));u.value=Math.max(1,Math.min(f,Math.min(parseInt(m.value),parseInt(u.value))))}function c(e){function b(e,b,k){var l=
-e.useCssTransforms,f=e.currentTranslate,g=e.currentScale,p=e.view.translate,t=e.view.scale;e.useCssTransforms&&(e.useCssTransforms=!1,e.currentTranslate=new mxPoint(0,0),e.currentScale=1,e.view.translate=new mxPoint(0,0),e.view.scale=1);var q=e.getGraphBounds(),u=0,m=0,n=J.get(),z=1/e.pageScale,v=B.checked;if(v)var z=parseInt(F.value),C=parseInt(K.value),z=Math.min(n.height*C/(q.height/e.view.scale),n.width*z/(q.width/e.view.scale));else z=parseInt(x.value)/(100*e.pageScale),isNaN(z)&&(c=1/e.pageScale,
-x.value="100 %");n=mxRectangle.fromRectangle(n);n.width=Math.ceil(n.width*c);n.height=Math.ceil(n.height*c);z*=c;!v&&e.pageVisible?(q=e.getPageLayout(),u-=q.x*n.width,m-=q.y*n.height):v=!0;if(null==b){b=PrintDialog.createPrintPreview(e,z,n,0,u,m,v);b.pageSelector=!1;b.mathEnabled=!1;u=a.getCurrentFile();null!=u&&(b.title=u.getTitle());var y=b.writeHead;b.writeHead=function(b){y.apply(this,arguments);if(mxClient.IS_GC||mxClient.IS_SF)b.writeln('<style type="text/css">'),b.writeln(Editor.mathJaxWebkitCss),
-b.writeln("</style>");mxClient.IS_GC&&(b.writeln('<style type="text/css">'),b.writeln("@media print {"),b.writeln("span.MathJax_SVG svg { shape-rendering: crispEdges; }"),b.writeln("}"),b.writeln("</style>"));null!=a.editor.fontCss&&(b.writeln('<style type="text/css">'),b.writeln(a.editor.fontCss),b.writeln("</style>"));for(var c=e.getCustomFonts(),d=0;d<c.length;d++){var k=c[d].name,l=c[d].url;Graph.isCssFontUrl(l)?b.writeln('<link rel="stylesheet" href="'+mxUtils.htmlEntities(l)+'" charset="UTF-8" type="text/css">'):
-(b.writeln('<style type="text/css">'),b.writeln('@font-face {\nfont-family: "'+mxUtils.htmlEntities(k)+'";\nsrc: url("'+mxUtils.htmlEntities(l)+'");\n}'),b.writeln("</style>"))}};if("undefined"!==typeof MathJax){var G=b.renderPage;b.renderPage=function(e,b,c,d,k,l){var f=mxClient.NO_FO;mxClient.NO_FO=this.graph.mathEnabled&&!a.editor.useForeignObjectForMath?!0:a.editor.originalNoForeignObject;var g=G.apply(this,arguments);mxClient.NO_FO=f;this.graph.mathEnabled?this.mathEnabled=this.mathEnabled||
-!0:g.className="geDisableMathJax";return g}}u=null;m=d.enableFlowAnimation;d.enableFlowAnimation=!1;null!=d.themes&&"darkTheme"==d.defaultThemeName&&(u=d.stylesheet,d.stylesheet=d.getDefaultStylesheet(),d.refresh());b.open(null,null,k,!0);d.enableFlowAnimation=m;null!=u&&(d.stylesheet=u,d.refresh())}else{n=e.background;if(null==n||""==n||n==mxConstants.NONE)n="#ffffff";b.backgroundColor=n;b.autoOrigin=v;b.appendGraph(e,z,u,m,k,!0);k=e.getCustomFonts();if(null!=b.wnd)for(u=0;u<k.length;u++)m=k[u].name,
-v=k[u].url,Graph.isCssFontUrl(v)?b.wnd.document.writeln('<link rel="stylesheet" href="'+mxUtils.htmlEntities(v)+'" charset="UTF-8" type="text/css">'):(b.wnd.document.writeln('<style type="text/css">'),b.wnd.document.writeln('@font-face {\nfont-family: "'+mxUtils.htmlEntities(m)+'";\nsrc: url("'+mxUtils.htmlEntities(v)+'");\n}'),b.wnd.document.writeln("</style>"))}l&&(e.useCssTransforms=l,e.currentTranslate=f,e.currentScale=g,e.view.translate=p,e.view.scale=t);return b}var c=parseInt(M.value)/100;
-isNaN(c)&&(c=1,M.value="100 %");var c=.75*c,k=null;null!=d.themes&&"darkTheme"==d.defaultThemeName&&(k=d.stylesheet,d.stylesheet=d.getDefaultStylesheet(),d.refresh());var l=u.value,f=m.value,p=!t.checked,q=null;if(EditorUi.isElectronApp)PrintDialog.electronPrint(a,t.checked,l,f,B.checked,F.value,K.value,parseInt(x.value)/100,parseInt(M.value)/100,J.get());else{p&&(p=l==g&&f==g);if(!p&&null!=a.pages&&a.pages.length){var n=0,p=a.pages.length-1;t.checked||(n=parseInt(l)-1,p=parseInt(f)-1);for(var z=
-n;z<=p;z++){var v=a.pages[z],l=v==a.currentPage?d:null;if(null==l){var l=a.createTemporaryGraph(d.stylesheet),f=!0,n=!1,C=null,y=null;null==v.viewState&&null==v.root&&a.updatePageRoot(v);null!=v.viewState&&(f=v.viewState.pageVisible,n=v.viewState.mathEnabled,C=v.viewState.background,y=v.viewState.backgroundImage,l.extFonts=v.viewState.extFonts);l.background=C;l.backgroundImage=null!=y?new mxImage(y.src,y.width,y.height):null;l.pageVisible=f;l.mathEnabled=n;var G=l.getGlobalVariable;l.getGlobalVariable=
-function(e){return"page"==e?v.getName():"pagenumber"==e?z+1:"pagecount"==e?null!=a.pages?a.pages.length:1:G.apply(this,arguments)};document.body.appendChild(l.container);a.updatePageRoot(v);l.model.setRoot(v.root)}q=b(l,q,z!=p);l!=d&&l.container.parentNode.removeChild(l.container)}}else q=b(d);null==q?a.handleError({message:mxResources.get("errorUpdatingPreview")}):(q.mathEnabled&&(p=q.wnd.document,e&&(q.wnd.IMMEDIATE_PRINT=!0),p.writeln('<script type="text/javascript" src="'+DRAWIO_BASE_URL+'/js/math-print.js">\x3c/script>')),
-q.closeDocument(),!q.mathEnabled&&e&&PrintDialog.printPreview(q));null!=k&&(d.stylesheet=k,d.refresh())}}var d=a.editor.graph,k=document.createElement("div"),l=document.createElement("h3");l.style.width="100%";l.style.textAlign="center";l.style.marginTop="0px";mxUtils.write(l,e||mxResources.get("print"));k.appendChild(l);var f=1,g=1,p=document.createElement("div");p.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var t=document.createElement("input");t.style.cssText=
+STENCIL_PATH+"/veeam/veeam2.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves=[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(a){var b=null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?b="mxgraph.er":"sysML"==a.substring(0,
+5)&&(b="mxgraph.sysml"));return b};var E=mxMarker.createMarker;mxMarker.createMarker=function(a,b,e,c,d,k,l,f,g,p){if(null!=e&&null==mxMarker.markers[e]){var t=this.getPackageForType(e);null!=t&&mxStencilRegistry.getStencil(t)}return E.apply(this,arguments)};PrintDialog.prototype.create=function(a,b){function e(){m.value=Math.max(1,Math.min(f,Math.max(parseInt(m.value),parseInt(u.value))));u.value=Math.max(1,Math.min(f,Math.min(parseInt(m.value),parseInt(u.value))))}function c(b){function e(b,e,k){var l=
+b.useCssTransforms,f=b.currentTranslate,g=b.currentScale,p=b.view.translate,t=b.view.scale;b.useCssTransforms&&(b.useCssTransforms=!1,b.currentTranslate=new mxPoint(0,0),b.currentScale=1,b.view.translate=new mxPoint(0,0),b.view.scale=1);var q=b.getGraphBounds(),u=0,m=0,y=J.get(),n=1/b.pageScale,A=C.checked;if(A)var n=parseInt(E.value),x=parseInt(K.value),n=Math.min(y.height*x/(q.height/b.view.scale),y.width*n/(q.width/b.view.scale));else n=parseInt(v.value)/(100*b.pageScale),isNaN(n)&&(c=1/b.pageScale,
+v.value="100 %");y=mxRectangle.fromRectangle(y);y.width=Math.ceil(y.width*c);y.height=Math.ceil(y.height*c);n*=c;!A&&b.pageVisible?(q=b.getPageLayout(),u-=q.x*y.width,m-=q.y*y.height):A=!0;if(null==e){e=PrintDialog.createPrintPreview(b,n,y,0,u,m,A);e.pageSelector=!1;e.mathEnabled=!1;u=a.getCurrentFile();null!=u&&(e.title=u.getTitle());var z=e.writeHead;e.writeHead=function(e){z.apply(this,arguments);if(mxClient.IS_GC||mxClient.IS_SF)e.writeln('<style type="text/css">'),e.writeln(Editor.mathJaxWebkitCss),
+e.writeln("</style>");mxClient.IS_GC&&(e.writeln('<style type="text/css">'),e.writeln("@media print {"),e.writeln("span.MathJax_SVG svg { shape-rendering: crispEdges; }"),e.writeln("}"),e.writeln("</style>"));null!=a.editor.fontCss&&(e.writeln('<style type="text/css">'),e.writeln(a.editor.fontCss),e.writeln("</style>"));for(var c=b.getCustomFonts(),d=0;d<c.length;d++){var k=c[d].name,l=c[d].url;Graph.isCssFontUrl(l)?e.writeln('<link rel="stylesheet" href="'+mxUtils.htmlEntities(l)+'" charset="UTF-8" type="text/css">'):
+(e.writeln('<style type="text/css">'),e.writeln('@font-face {\nfont-family: "'+mxUtils.htmlEntities(k)+'";\nsrc: url("'+mxUtils.htmlEntities(l)+'");\n}'),e.writeln("</style>"))}};if("undefined"!==typeof MathJax){var F=e.renderPage;e.renderPage=function(b,e,c,d,k,l){var f=mxClient.NO_FO;mxClient.NO_FO=this.graph.mathEnabled&&!a.editor.useForeignObjectForMath?!0:a.editor.originalNoForeignObject;var g=F.apply(this,arguments);mxClient.NO_FO=f;this.graph.mathEnabled?this.mathEnabled=this.mathEnabled||
+!0:g.className="geDisableMathJax";return g}}u=null;m=d.enableFlowAnimation;d.enableFlowAnimation=!1;null!=d.themes&&"darkTheme"==d.defaultThemeName&&(u=d.stylesheet,d.stylesheet=d.getDefaultStylesheet(),d.refresh());e.open(null,null,k,!0);d.enableFlowAnimation=m;null!=u&&(d.stylesheet=u,d.refresh())}else{y=b.background;if(null==y||""==y||y==mxConstants.NONE)y="#ffffff";e.backgroundColor=y;e.autoOrigin=A;e.appendGraph(b,n,u,m,k,!0);k=b.getCustomFonts();if(null!=e.wnd)for(u=0;u<k.length;u++)m=k[u].name,
+A=k[u].url,Graph.isCssFontUrl(A)?e.wnd.document.writeln('<link rel="stylesheet" href="'+mxUtils.htmlEntities(A)+'" charset="UTF-8" type="text/css">'):(e.wnd.document.writeln('<style type="text/css">'),e.wnd.document.writeln('@font-face {\nfont-family: "'+mxUtils.htmlEntities(m)+'";\nsrc: url("'+mxUtils.htmlEntities(A)+'");\n}'),e.wnd.document.writeln("</style>"))}l&&(b.useCssTransforms=l,b.currentTranslate=f,b.currentScale=g,b.view.translate=p,b.view.scale=t);return e}var c=parseInt(M.value)/100;
+isNaN(c)&&(c=1,M.value="100 %");var c=.75*c,k=null;null!=d.themes&&"darkTheme"==d.defaultThemeName&&(k=d.stylesheet,d.stylesheet=d.getDefaultStylesheet(),d.refresh());var l=u.value,f=m.value,p=!t.checked,q=null;if(EditorUi.isElectronApp)PrintDialog.electronPrint(a,t.checked,l,f,C.checked,E.value,K.value,parseInt(v.value)/100,parseInt(M.value)/100,J.get());else{p&&(p=l==g&&f==g);if(!p&&null!=a.pages&&a.pages.length){var y=0,p=a.pages.length-1;t.checked||(y=parseInt(l)-1,p=parseInt(f)-1);for(var n=
+y;n<=p;n++){var A=a.pages[n],l=A==a.currentPage?d:null;if(null==l){var l=a.createTemporaryGraph(d.stylesheet),f=!0,y=!1,x=null,z=null;null==A.viewState&&null==A.root&&a.updatePageRoot(A);null!=A.viewState&&(f=A.viewState.pageVisible,y=A.viewState.mathEnabled,x=A.viewState.background,z=A.viewState.backgroundImage,l.extFonts=A.viewState.extFonts);l.background=x;l.backgroundImage=null!=z?new mxImage(z.src,z.width,z.height):null;l.pageVisible=f;l.mathEnabled=y;var F=l.getGlobalVariable;l.getGlobalVariable=
+function(b){return"page"==b?A.getName():"pagenumber"==b?n+1:"pagecount"==b?null!=a.pages?a.pages.length:1:F.apply(this,arguments)};document.body.appendChild(l.container);a.updatePageRoot(A);l.model.setRoot(A.root)}q=e(l,q,n!=p);l!=d&&l.container.parentNode.removeChild(l.container)}}else q=e(d);null==q?a.handleError({message:mxResources.get("errorUpdatingPreview")}):(q.mathEnabled&&(p=q.wnd.document,b&&(q.wnd.IMMEDIATE_PRINT=!0),p.writeln('<script type="text/javascript" src="'+DRAWIO_BASE_URL+'/js/math-print.js">\x3c/script>')),
+q.closeDocument(),!q.mathEnabled&&b&&PrintDialog.printPreview(q));null!=k&&(d.stylesheet=k,d.refresh())}}var d=a.editor.graph,k=document.createElement("div"),l=document.createElement("h3");l.style.width="100%";l.style.textAlign="center";l.style.marginTop="0px";mxUtils.write(l,b||mxResources.get("print"));k.appendChild(l);var f=1,g=1,p=document.createElement("div");p.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var t=document.createElement("input");t.style.cssText=
"margin-right:8px;margin-bottom:8px;";t.setAttribute("value","all");t.setAttribute("type","radio");t.setAttribute("name","pages-printdialog");p.appendChild(t);l=document.createElement("span");mxUtils.write(l,mxResources.get("printAllPages"));p.appendChild(l);mxUtils.br(p);var q=t.cloneNode(!0);t.setAttribute("checked","checked");q.setAttribute("value","range");p.appendChild(q);l=document.createElement("span");mxUtils.write(l,mxResources.get("pages")+":");p.appendChild(l);var u=document.createElement("input");
-u.style.cssText="margin:0 8px 0 8px;";u.setAttribute("value","1");u.setAttribute("type","number");u.setAttribute("min","1");u.style.width="50px";p.appendChild(u);l=document.createElement("span");mxUtils.write(l,mxResources.get("to"));p.appendChild(l);var m=u.cloneNode(!0);p.appendChild(m);mxEvent.addListener(u,"focus",function(){q.checked=!0});mxEvent.addListener(m,"focus",function(){q.checked=!0});mxEvent.addListener(u,"change",b);mxEvent.addListener(m,"change",b);if(null!=a.pages&&(f=a.pages.length,
-null!=a.currentPage))for(l=0;l<a.pages.length;l++)if(a.currentPage==a.pages[l]){g=l+1;u.value=g;m.value=g;break}u.setAttribute("max",f);m.setAttribute("max",f);a.isPagesEnabled()?1<f&&(k.appendChild(p),q.checked=!0):q.checked=!0;var n=document.createElement("div");n.style.marginBottom="10px";var z=document.createElement("input");z.style.marginRight="8px";z.setAttribute("value","adjust");z.setAttribute("type","radio");z.setAttribute("name","printZoom");n.appendChild(z);l=document.createElement("span");
-mxUtils.write(l,mxResources.get("adjustTo"));n.appendChild(l);var x=document.createElement("input");x.style.cssText="margin:0 8px 0 8px;";x.setAttribute("value","100 %");x.style.width="50px";n.appendChild(x);mxEvent.addListener(x,"focus",function(){z.checked=!0});k.appendChild(n);var p=p.cloneNode(!1),B=z.cloneNode(!0);B.setAttribute("value","fit");z.setAttribute("checked","checked");l=document.createElement("div");l.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";
-l.appendChild(B);p.appendChild(l);n=document.createElement("table");n.style.display="inline-block";var v=document.createElement("tbody"),C=document.createElement("tr"),y=C.cloneNode(!0),G=document.createElement("td"),A=G.cloneNode(!0),E=G.cloneNode(!0),D=G.cloneNode(!0),I=G.cloneNode(!0),H=G.cloneNode(!0);G.style.textAlign="right";D.style.textAlign="right";mxUtils.write(G,mxResources.get("fitTo"));var F=document.createElement("input");F.style.cssText="margin:0 8px 0 8px;";F.setAttribute("value","1");
-F.setAttribute("min","1");F.setAttribute("type","number");F.style.width="40px";A.appendChild(F);l=document.createElement("span");mxUtils.write(l,mxResources.get("fitToSheetsAcross"));E.appendChild(l);mxUtils.write(D,mxResources.get("fitToBy"));var K=F.cloneNode(!0);I.appendChild(K);mxEvent.addListener(F,"focus",function(){B.checked=!0});mxEvent.addListener(K,"focus",function(){B.checked=!0});l=document.createElement("span");mxUtils.write(l,mxResources.get("fitToSheetsDown"));H.appendChild(l);C.appendChild(G);
-C.appendChild(A);C.appendChild(E);y.appendChild(D);y.appendChild(I);y.appendChild(H);v.appendChild(C);v.appendChild(y);n.appendChild(v);p.appendChild(n);k.appendChild(p);p=document.createElement("div");l=document.createElement("div");l.style.fontWeight="bold";l.style.marginBottom="12px";mxUtils.write(l,mxResources.get("paperSize"));p.appendChild(l);l=document.createElement("div");l.style.marginBottom="12px";var J=PageSetupDialog.addPageFormatPanel(l,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);
+u.style.cssText="margin:0 8px 0 8px;";u.setAttribute("value","1");u.setAttribute("type","number");u.setAttribute("min","1");u.style.width="50px";p.appendChild(u);l=document.createElement("span");mxUtils.write(l,mxResources.get("to"));p.appendChild(l);var m=u.cloneNode(!0);p.appendChild(m);mxEvent.addListener(u,"focus",function(){q.checked=!0});mxEvent.addListener(m,"focus",function(){q.checked=!0});mxEvent.addListener(u,"change",e);mxEvent.addListener(m,"change",e);if(null!=a.pages&&(f=a.pages.length,
+null!=a.currentPage))for(l=0;l<a.pages.length;l++)if(a.currentPage==a.pages[l]){g=l+1;u.value=g;m.value=g;break}u.setAttribute("max",f);m.setAttribute("max",f);a.isPagesEnabled()?1<f&&(k.appendChild(p),q.checked=!0):q.checked=!0;var y=document.createElement("div");y.style.marginBottom="10px";var n=document.createElement("input");n.style.marginRight="8px";n.setAttribute("value","adjust");n.setAttribute("type","radio");n.setAttribute("name","printZoom");y.appendChild(n);l=document.createElement("span");
+mxUtils.write(l,mxResources.get("adjustTo"));y.appendChild(l);var v=document.createElement("input");v.style.cssText="margin:0 8px 0 8px;";v.setAttribute("value","100 %");v.style.width="50px";y.appendChild(v);mxEvent.addListener(v,"focus",function(){n.checked=!0});k.appendChild(y);var p=p.cloneNode(!1),C=n.cloneNode(!0);C.setAttribute("value","fit");n.setAttribute("checked","checked");l=document.createElement("div");l.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";
+l.appendChild(C);p.appendChild(l);y=document.createElement("table");y.style.display="inline-block";var x=document.createElement("tbody"),A=document.createElement("tr"),z=A.cloneNode(!0),F=document.createElement("td"),B=F.cloneNode(!0),H=F.cloneNode(!0),D=F.cloneNode(!0),I=F.cloneNode(!0),G=F.cloneNode(!0);F.style.textAlign="right";D.style.textAlign="right";mxUtils.write(F,mxResources.get("fitTo"));var E=document.createElement("input");E.style.cssText="margin:0 8px 0 8px;";E.setAttribute("value","1");
+E.setAttribute("min","1");E.setAttribute("type","number");E.style.width="40px";B.appendChild(E);l=document.createElement("span");mxUtils.write(l,mxResources.get("fitToSheetsAcross"));H.appendChild(l);mxUtils.write(D,mxResources.get("fitToBy"));var K=E.cloneNode(!0);I.appendChild(K);mxEvent.addListener(E,"focus",function(){C.checked=!0});mxEvent.addListener(K,"focus",function(){C.checked=!0});l=document.createElement("span");mxUtils.write(l,mxResources.get("fitToSheetsDown"));G.appendChild(l);A.appendChild(F);
+A.appendChild(B);A.appendChild(H);z.appendChild(D);z.appendChild(I);z.appendChild(G);x.appendChild(A);x.appendChild(z);y.appendChild(x);p.appendChild(y);k.appendChild(p);p=document.createElement("div");l=document.createElement("div");l.style.fontWeight="bold";l.style.marginBottom="12px";mxUtils.write(l,mxResources.get("paperSize"));p.appendChild(l);l=document.createElement("div");l.style.marginBottom="12px";var J=PageSetupDialog.addPageFormatPanel(l,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);
p.appendChild(l);l=document.createElement("span");mxUtils.write(l,mxResources.get("pageScale"));p.appendChild(l);var M=document.createElement("input");M.style.cssText="margin:0 8px 0 8px;";M.setAttribute("value","100 %");M.style.width="60px";p.appendChild(M);k.appendChild(p);l=document.createElement("div");l.style.cssText="text-align:right;margin:48px 0 0 0;";p=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});p.className="geBtn";a.editor.cancelFirst&&l.appendChild(p);a.isOffline()||
-(n=mxUtils.button(mxResources.get("help"),function(){d.openLink("https://www.diagrams.net/doc/faq/print-diagram")}),n.className="geBtn",l.appendChild(n));PrintDialog.previewEnabled&&(n=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();c(!1)}),n.className="geBtn",l.appendChild(n));n=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();c(!0)});n.className="geBtn gePrimaryBtn";l.appendChild(n);a.editor.cancelFirst||l.appendChild(p);k.appendChild(l);
+(y=mxUtils.button(mxResources.get("help"),function(){d.openLink("https://www.diagrams.net/doc/faq/print-diagram")}),y.className="geBtn",l.appendChild(y));PrintDialog.previewEnabled&&(y=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();c(!1)}),y.className="geBtn",l.appendChild(y));y=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();c(!0)});y.className="geBtn gePrimaryBtn";l.appendChild(y);a.editor.cancelFirst||l.appendChild(p);k.appendChild(l);
this.container=k};var I=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background=this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&
-(this.page.viewState.shadowVisible=this.shadowVisible)):(I.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))};Editor.prototype.useCanvasForExport=!1;try{var J=document.createElement("canvas"),E=new Image;
-E.onload=function(){try{J.getContext("2d").drawImage(E,0,0);var a=J.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=a&&6<a.length}catch(M){}};E.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(K){}})();
+(this.page.viewState.shadowVisible=this.shadowVisible)):(I.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))};Editor.prototype.useCanvasForExport=!1;try{var J=document.createElement("canvas"),H=new Image;
+H.onload=function(){try{J.getContext("2d").drawImage(H,0,0);var a=J.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=a&&6<a.length}catch(M){}};H.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(K){}})();
(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,b,c){c.ui=a.ui;return b};a.afterDecode=function(a,b,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);null!=c.mathEnabled&&(c.mathEnabled=!c.mathEnabled);null!=c.shadowVisible&&(c.shadowVisible=!c.shadowVisible);return c};mxCodecRegistry.register(a)})();
-(function(){var a=new mxObjectCodec(new ChangeGridColor,["ui"]);a.beforeDecode=function(a,b,c){c.ui=a.ui;return b};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="14.4.9";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=
+(function(){var a=new mxObjectCodec(new ChangeGridColor,["ui"]);a.beforeDecode=function(a,b,c){c.ui=a.ui;return b};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="14.5.0";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=
window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl="1"==urlParams.dev?"/cache":window.REALTIME_URL;null==EditorUi.cacheUrl&&"undefined"!==typeof DrawioFile&&(DrawioFile.SYNC="none");Editor.cacheTimeout=1E4;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;
EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.diagrams.net/doc/faq/scratchpad";EditorUi.defaultMermaidConfig={theme:"neutral",arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!1},sequence:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1},
gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:4,axisFormat:"%Y-%m-%d"}};EditorUi.logError=function(a,b,c,d,f,g,q){g=null!=g?g:0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE";if(EditorUi.enableLogging&&"1"!=urlParams.dev)try{if(a!=EditorUi.lastErrorMessage&&(null==a||null==b||-1==a.indexOf("Script error")&&
--1==a.indexOf("extension"))&&null!=a&&0>a.indexOf("DocumentClosedError")){EditorUi.lastErrorMessage=a;var e=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";f=null!=f?f:Error(a);(new Image).src=e+"/log?severity="+g+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(a)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(c)+(null!=d?":colno:"+encodeURIComponent(d):"")+(null!=f&&null!=f.stack?"&stack="+encodeURIComponent(f.stack):"")}}catch(y){}try{q||
-null==window.console||console.error(g,a,b,c,d,f)}catch(y){}};EditorUi.logEvent=function(a){if("1"==urlParams.dev)EditorUi.debug("logEvent",a);else if(EditorUi.enableLogging)try{var e=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";(new Image).src=e+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=a?"&data="+encodeURIComponent(JSON.stringify(a)):"")}catch(l){}};EditorUi.sendReport=function(a,b){if("1"==urlParams.dev)EditorUi.debug("sendReport",a);else if(EditorUi.enableLogging)try{b=
-null!=b?b:5E4,a.length>b&&(a=a.substring(0,b)+"\n...[SHORTENED]"),mxUtils.post("/email","version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&data="+encodeURIComponent(a))}catch(l){}};EditorUi.debug=function(){try{if(null!=window.console&&"1"==urlParams.test){for(var a=[(new Date).toISOString()],b=0;b<arguments.length;b++)null!=arguments[b]&&a.push(arguments[b]);console.log.apply(console,a)}}catch(l){}};EditorUi.parsePng=function(a,b,c){function e(a,e){var b=
-k;k+=e;return a.substring(b,k)}function d(a){a=e(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var k=0;if(e(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=c&&c();else if(e(a,4),"IHDR"!=e(a,4))null!=c&&c();else{e(a,17);do{c=d(a);var l=e(a,4);if(null!=b&&b(k-8,l,c))break;value=e(a,c);e(a,4);if("IEND"==l)break}while(c)}};EditorUi.removeChildNodes=function(a){for(;null!=a.firstChild;)a.removeChild(a.firstChild)};EditorUi.prototype.emptyDiagramXml=
+-1==a.indexOf("extension"))&&null!=a&&0>a.indexOf("DocumentClosedError")){EditorUi.lastErrorMessage=a;var e=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";f=null!=f?f:Error(a);(new Image).src=e+"/log?severity="+g+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(a)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(c)+(null!=d?":colno:"+encodeURIComponent(d):"")+(null!=f&&null!=f.stack?"&stack="+encodeURIComponent(f.stack):"")}}catch(z){}try{q||
+null==window.console||console.error(g,a,b,c,d,f)}catch(z){}};EditorUi.logEvent=function(a){if("1"==urlParams.dev)EditorUi.debug("logEvent",a);else if(EditorUi.enableLogging)try{var b=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";(new Image).src=b+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=a?"&data="+encodeURIComponent(JSON.stringify(a)):"")}catch(l){}};EditorUi.sendReport=function(a,b){if("1"==urlParams.dev)EditorUi.debug("sendReport",a);else if(EditorUi.enableLogging)try{b=
+null!=b?b:5E4,a.length>b&&(a=a.substring(0,b)+"\n...[SHORTENED]"),mxUtils.post("/email","version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&data="+encodeURIComponent(a))}catch(l){}};EditorUi.debug=function(){try{if(null!=window.console&&"1"==urlParams.test){for(var a=[(new Date).toISOString()],b=0;b<arguments.length;b++)null!=arguments[b]&&a.push(arguments[b]);console.log.apply(console,a)}}catch(l){}};EditorUi.parsePng=function(a,b,c){function e(a,b){var e=
+k;k+=b;return a.substring(e,k)}function d(a){a=e(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var k=0;if(e(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=c&&c();else if(e(a,4),"IHDR"!=e(a,4))null!=c&&c();else{e(a,17);do{c=d(a);var l=e(a,4);if(null!=b&&b(k-8,l,c))break;value=e(a,c);e(a,4);if("IEND"==l)break}while(c)}};EditorUi.removeChildNodes=function(a){for(;null!=a.firstChild;)a.removeChild(a.firstChild)};EditorUi.prototype.emptyDiagramXml=
'<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>';EditorUi.prototype.emptyLibraryXml="<mxlibrary>[]</mxlibrary>";EditorUi.prototype.mode=null;EditorUi.prototype.timeout=Editor.prototype.timeout;EditorUi.prototype.sidebarFooterHeight=38;EditorUi.prototype.defaultCustomShapeStyle="shape=stencil(tZRtTsQgEEBPw1+DJR7AoN6DbWftpAgE0Ortd/jYRGq72R+YNE2YgTePloEJGWblgA18ZuKFDcMj5/Sm8boZq+BgjCX4pTyqk6ZlKROitwusOMXKQDODx5iy4pXxZ5qTHiFHawxB0JrQZH7lCabQ0Fr+XWC1/E8zcsT/gAi+Subo2/3Mh6d/oJb5nU1b5tW7r2knautaa3T+U32o7f7vZwpJkaNDLORJjcu7t59m2jXxqX9un+tt022acsfmoKaQZ+vhhswZtS6Ne/ThQGt0IV0N3Yyv6P3CeT9/tHO0XFI5cAE=);whiteSpace=wrap;html=1;";
EditorUi.prototype.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.maxTextWidth=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.maxTextBytes=5E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.printPdfExport=!1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;EditorUi.prototype.insertTemplateEnabled=!0;EditorUi.prototype.closableScratchpad=
!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas");EditorUi.prototype.canvasSupported=!(!a.getContext||!a.getContext("2d"))}catch(t){}try{var b=document.createElement("canvas"),c=new Image;c.onload=function(){try{b.getContext("2d").drawImage(c,0,0);var a=b.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=null!=a&&6<a.length}catch(u){}};c.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(t){}try{b=
@@ -10114,94 +10116,94 @@ document.createElement("canvas");b.width=b.height=1;var d=b.toDataURL("image/jpe
b()};EditorUi.prototype.setMathEnabled=function(a){this.editor.graph.mathEnabled=a;this.editor.updateGraphComponents();this.editor.graph.refresh();this.fireEvent(new mxEventObject("mathEnabledChanged"))};EditorUi.prototype.isMathEnabled=function(a){return this.editor.graph.mathEnabled};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(a){return this.isOfflineApp()||!navigator.onLine||!a&&("1"==urlParams.stealth||"1"==urlParams.lockdown)};
EditorUi.prototype.createSpinner=function(a,b,c){c=null!=c?c:24;var e=new Spinner({lines:12,length:c,width:Math.round(c/3),radius:Math.round(c/2),rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),d=e.spin;e.spin=function(c,k){var l=!1;this.active||(d.call(this,c),this.active=!0,null!=k&&(l=document.createElement("div"),l.style.position="absolute",l.style.whiteSpace="nowrap",l.style.background="#4B4243",l.style.color="white",l.style.fontFamily="Helvetica, Arial",
l.style.fontSize="9pt",l.style.padding="6px",l.style.paddingLeft="10px",l.style.paddingRight="10px",l.style.zIndex=2E9,l.style.left=Math.max(0,a)+"px",l.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(l.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(l.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(l.style,"boxShadow","2px 2px 3px 0px #ddd"),"..."!=k.substring(k.length-3,k.length)&&"!"!=k.charAt(k.length-1)&&(k+="..."),l.innerHTML=k,c.appendChild(l),
-e.status=l),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,k)}));this.stop();return a}),l=!0);return l};var k=e.stop;e.stop=function(){k.call(this);this.active=!1;null!=e.status&&null!=e.status.parentNode&&e.status.parentNode.removeChild(e.status);e.status=null};e.pause=function(){return function(){}};return e};EditorUi.prototype.isCompatibleString=function(a){try{var e=mxUtils.parseXml(a),b=this.editor.extractGraphModel(e.documentElement,
-!0);return null!=b&&0==b.getElementsByTagName("parsererror").length}catch(p){}return!1};EditorUi.prototype.isVisioData=function(a){return 8<a.length&&(208==a.charCodeAt(0)&&207==a.charCodeAt(1)&&17==a.charCodeAt(2)&&224==a.charCodeAt(3)&&161==a.charCodeAt(4)&&177==a.charCodeAt(5)&&26==a.charCodeAt(6)&&225==a.charCodeAt(7)||80==a.charCodeAt(0)&&75==a.charCodeAt(1)&&3==a.charCodeAt(2)&&4==a.charCodeAt(3)||80==a.charCodeAt(0)&&75==a.charCodeAt(1)&&3==a.charCodeAt(2)&&6==a.charCodeAt(3))};EditorUi.prototype.isRemoteVisioData=
+e.status=l),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,k)}));this.stop();return a}),l=!0);return l};var k=e.stop;e.stop=function(){k.call(this);this.active=!1;null!=e.status&&null!=e.status.parentNode&&e.status.parentNode.removeChild(e.status);e.status=null};e.pause=function(){return function(){}};return e};EditorUi.prototype.isCompatibleString=function(a){try{var b=mxUtils.parseXml(a),e=this.editor.extractGraphModel(b.documentElement,
+!0);return null!=e&&0==e.getElementsByTagName("parsererror").length}catch(p){}return!1};EditorUi.prototype.isVisioData=function(a){return 8<a.length&&(208==a.charCodeAt(0)&&207==a.charCodeAt(1)&&17==a.charCodeAt(2)&&224==a.charCodeAt(3)&&161==a.charCodeAt(4)&&177==a.charCodeAt(5)&&26==a.charCodeAt(6)&&225==a.charCodeAt(7)||80==a.charCodeAt(0)&&75==a.charCodeAt(1)&&3==a.charCodeAt(2)&&4==a.charCodeAt(3)||80==a.charCodeAt(0)&&75==a.charCodeAt(1)&&3==a.charCodeAt(2)&&6==a.charCodeAt(3))};EditorUi.prototype.isRemoteVisioData=
function(a){return 8<a.length&&(208==a.charCodeAt(0)&&207==a.charCodeAt(1)&&17==a.charCodeAt(2)&&224==a.charCodeAt(3)&&161==a.charCodeAt(4)&&177==a.charCodeAt(5)&&26==a.charCodeAt(6)&&225==a.charCodeAt(7)||60==a.charCodeAt(0)&&63==a.charCodeAt(1)&&120==a.charCodeAt(2)&&109==a.charCodeAt(3)&&108==a.charCodeAt(3))};EditorUi.prototype.isPngData=function(a){return 8<a.length&&137==a.charCodeAt(0)&&80==a.charCodeAt(1)&&78==a.charCodeAt(2)&&71==a.charCodeAt(3)&&13==a.charCodeAt(4)&&10==a.charCodeAt(5)&&
-26==a.charCodeAt(6)&&10==a.charCodeAt(7)};var a=EditorUi.prototype.createKeyHandler;EditorUi.prototype.createKeyHandler=function(e){var b=a.apply(this,arguments);if(!this.editor.chromeless||this.editor.editable){var c=b.getFunction,d=this.editor.graph,f=this;b.getFunction=function(a){if(d.isSelectionEmpty()&&null!=f.pages&&0<f.pages.length){var e=f.getSelectedPageIndex();if(mxEvent.isShiftDown(a)){if(37==a.keyCode)return function(){0<e&&f.movePage(e,e-1)};if(38==a.keyCode)return function(){0<e&&f.movePage(e,
-0)};if(39==a.keyCode)return function(){e<f.pages.length-1&&f.movePage(e,e+1)};if(40==a.keyCode)return function(){e<f.pages.length-1&&f.movePage(e,f.pages.length-1)}}else if(mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a)){if(37==a.keyCode)return function(){0<e&&f.selectNextPage(!1)};if(38==a.keyCode)return function(){0<e&&f.selectPage(f.pages[0])};if(39==a.keyCode)return function(){e<f.pages.length-1&&f.selectNextPage(!0)};if(40==a.keyCode)return function(){e<f.pages.length-1&&f.selectPage(f.pages[f.pages.length-
-1])}}}return c.apply(this,arguments)}}return b};var d=EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(a){var e=d.apply(this,arguments);if(null==e)try{var b=a.indexOf("&lt;mxfile ");if(0<=b){var c=a.lastIndexOf("&lt;/mxfile&gt;");c>b&&(e=a.substring(b,c+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var f=mxUtils.parseXml(a),g=this.editor.extractGraphModel(f.documentElement,null!=this.pages||"hidden"==
-this.diagramContainer.style.visibility),e=null!=g?mxUtils.getXml(g):""}catch(q){}return e};EditorUi.prototype.validateFileData=function(a){if(null!=a&&0<a.length){var e=a.indexOf('<meta charset="utf-8">');0<=e&&(a=a.slice(0,e)+'<meta charset="utf-8"/>'+a.slice(e+23-1,a.length));a=Graph.zapGremlins(a)}return a};EditorUi.prototype.replaceFileData=function(a){a=this.validateFileData(a);a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var e=null!=a?this.editor.extractGraphModel(a,!0):null;
-null!=e&&(a=e);if(null!=a){e=this.editor.graph;e.model.beginUpdate();try{var b=null!=this.pages?this.pages.slice():null,c=a.getElementsByTagName("diagram");if("0"!=urlParams.pages||1<c.length||1==c.length&&c[0].hasAttribute("name")){this.fileNode=a;this.pages=null!=this.pages?this.pages:[];for(var d=c.length-1;0<=d;d--){var f=this.updatePageRoot(new DiagramPage(c[d]));null==f.getName()&&f.setName(mxResources.get("pageWithNumber",[d+1]));e.model.execute(new ChangePage(this,f,0==d?f:null,0))}}else"0"!=
-urlParams.pages&&null==this.fileNode&&(this.fileNode=a.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),e.model.execute(new ChangePage(this,this.currentPage,this.currentPage,0))),this.editor.setGraphXml(a),null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=b)for(d=0;d<b.length;d++)e.model.execute(new ChangePage(this,b[d],null))}finally{e.model.endUpdate()}}};
-EditorUi.prototype.createFileData=function(a,b,c,d,f,g,q,m,n,v,A){b=null!=b?b:this.editor.graph;f=null!=f?f:!1;n=null!=n?n:!0;var e,k=null;null==c||c.getMode()==App.MODE_DEVICE||c.getMode()==App.MODE_BROWSER?e="_blank":k=e=d;if(null==a)return"";var l=a;if("mxfile"!=l.nodeName.toLowerCase()){if(A){var p=a.ownerDocument.createElement("diagram");p.setAttribute("id",Editor.guid());p.appendChild(a)}else{p=Graph.zapGremlins(mxUtils.getXml(a));l=Graph.compress(p);if(Graph.decompress(l)!=p)return p;p=a.ownerDocument.createElement("diagram");
-p.setAttribute("id",Editor.guid());mxUtils.setTextContent(p,l)}l=a.ownerDocument.createElement("mxfile");l.appendChild(p)}v?(l=l.cloneNode(!0),l.removeAttribute("modified"),l.removeAttribute("host"),l.removeAttribute("agent"),l.removeAttribute("etag"),l.removeAttribute("userAgent"),l.removeAttribute("version"),l.removeAttribute("editor"),l.removeAttribute("type")):(l.removeAttribute("userAgent"),l.removeAttribute("version"),l.removeAttribute("editor"),l.removeAttribute("pages"),l.removeAttribute("type"),
+26==a.charCodeAt(6)&&10==a.charCodeAt(7)};var a=EditorUi.prototype.createKeyHandler;EditorUi.prototype.createKeyHandler=function(b){var e=a.apply(this,arguments);if(!this.editor.chromeless||this.editor.editable){var c=e.getFunction,d=this.editor.graph,f=this;e.getFunction=function(a){if(d.isSelectionEmpty()&&null!=f.pages&&0<f.pages.length){var b=f.getSelectedPageIndex();if(mxEvent.isShiftDown(a)){if(37==a.keyCode)return function(){0<b&&f.movePage(b,b-1)};if(38==a.keyCode)return function(){0<b&&f.movePage(b,
+0)};if(39==a.keyCode)return function(){b<f.pages.length-1&&f.movePage(b,b+1)};if(40==a.keyCode)return function(){b<f.pages.length-1&&f.movePage(b,f.pages.length-1)}}else if(mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a)){if(37==a.keyCode)return function(){0<b&&f.selectNextPage(!1)};if(38==a.keyCode)return function(){0<b&&f.selectPage(f.pages[0])};if(39==a.keyCode)return function(){b<f.pages.length-1&&f.selectNextPage(!0)};if(40==a.keyCode)return function(){b<f.pages.length-1&&f.selectPage(f.pages[f.pages.length-
+1])}}}return c.apply(this,arguments)}}return e};var d=EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(a){var b=d.apply(this,arguments);if(null==b)try{var e=a.indexOf("&lt;mxfile ");if(0<=e){var c=a.lastIndexOf("&lt;/mxfile&gt;");c>e&&(b=a.substring(e,c+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var f=mxUtils.parseXml(a),g=this.editor.extractGraphModel(f.documentElement,null!=this.pages||"hidden"==
+this.diagramContainer.style.visibility),b=null!=g?mxUtils.getXml(g):""}catch(q){}return b};EditorUi.prototype.validateFileData=function(a){if(null!=a&&0<a.length){var b=a.indexOf('<meta charset="utf-8">');0<=b&&(a=a.slice(0,b)+'<meta charset="utf-8"/>'+a.slice(b+23-1,a.length));a=Graph.zapGremlins(a)}return a};EditorUi.prototype.replaceFileData=function(a){a=this.validateFileData(a);a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var b=null!=a?this.editor.extractGraphModel(a,!0):null;
+null!=b&&(a=b);if(null!=a){b=this.editor.graph;b.model.beginUpdate();try{var e=null!=this.pages?this.pages.slice():null,c=a.getElementsByTagName("diagram");if("0"!=urlParams.pages||1<c.length||1==c.length&&c[0].hasAttribute("name")){this.fileNode=a;this.pages=null!=this.pages?this.pages:[];for(var d=c.length-1;0<=d;d--){var f=this.updatePageRoot(new DiagramPage(c[d]));null==f.getName()&&f.setName(mxResources.get("pageWithNumber",[d+1]));b.model.execute(new ChangePage(this,f,0==d?f:null,0))}}else"0"!=
+urlParams.pages&&null==this.fileNode&&(this.fileNode=a.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),b.model.execute(new ChangePage(this,this.currentPage,this.currentPage,0))),this.editor.setGraphXml(a),null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=e)for(d=0;d<e.length;d++)b.model.execute(new ChangePage(this,e[d],null))}finally{b.model.endUpdate()}}};
+EditorUi.prototype.createFileData=function(a,b,c,d,f,g,q,m,n,x,B){b=null!=b?b:this.editor.graph;f=null!=f?f:!1;n=null!=n?n:!0;var e,k=null;null==c||c.getMode()==App.MODE_DEVICE||c.getMode()==App.MODE_BROWSER?e="_blank":k=e=d;if(null==a)return"";var l=a;if("mxfile"!=l.nodeName.toLowerCase()){if(B){var p=a.ownerDocument.createElement("diagram");p.setAttribute("id",Editor.guid());p.appendChild(a)}else{p=Graph.zapGremlins(mxUtils.getXml(a));l=Graph.compress(p);if(Graph.decompress(l)!=p)return p;p=a.ownerDocument.createElement("diagram");
+p.setAttribute("id",Editor.guid());mxUtils.setTextContent(p,l)}l=a.ownerDocument.createElement("mxfile");l.appendChild(p)}x?(l=l.cloneNode(!0),l.removeAttribute("modified"),l.removeAttribute("host"),l.removeAttribute("agent"),l.removeAttribute("etag"),l.removeAttribute("userAgent"),l.removeAttribute("version"),l.removeAttribute("editor"),l.removeAttribute("type")):(l.removeAttribute("userAgent"),l.removeAttribute("version"),l.removeAttribute("editor"),l.removeAttribute("pages"),l.removeAttribute("type"),
mxClient.IS_CHROMEAPP?l.setAttribute("host","Chrome"):EditorUi.isElectronApp?l.setAttribute("host","Electron"):l.setAttribute("host",window.location.hostname),l.setAttribute("modified",(new Date).toISOString()),l.setAttribute("agent",navigator.appVersion),l.setAttribute("version",EditorUi.VERSION),l.setAttribute("etag",Editor.guid()),a=null!=c?c.getMode():this.mode,null!=a&&l.setAttribute("type",a),1<l.getElementsByTagName("diagram").length&&null!=this.pages&&l.setAttribute("pages",this.pages.length));
-A=A?mxUtils.getPrettyXml(l):mxUtils.getXml(l);if(!g&&!f&&(q||null!=c&&/(\.html)$/i.test(c.getTitle())))A=this.getHtml2(mxUtils.getXml(l),b,null!=c?c.getTitle():null,e,k);else if(g||!f&&null!=c&&/(\.svg)$/i.test(c.getTitle()))null==c||c.getMode()!=App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER||(d=null),A=this.getEmbeddedSvg(A,b,d,null,m,n,k);return A};EditorUi.prototype.getXmlFileData=function(a,b,c){a=null!=a?a:!0;b=null!=b?b:!1;c=null!=c?c:!Editor.compressXml;var e=this.editor.getGraphXml(a);if(a&&
+B=B?mxUtils.getPrettyXml(l):mxUtils.getXml(l);if(!g&&!f&&(q||null!=c&&/(\.html)$/i.test(c.getTitle())))B=this.getHtml2(mxUtils.getXml(l),b,null!=c?c.getTitle():null,e,k);else if(g||!f&&null!=c&&/(\.svg)$/i.test(c.getTitle()))null==c||c.getMode()!=App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER||(d=null),B=this.getEmbeddedSvg(B,b,d,null,m,n,k);return B};EditorUi.prototype.getXmlFileData=function(a,b,c){a=null!=a?a:!0;b=null!=b?b:!1;c=null!=c?c:!Editor.compressXml;var e=this.editor.getGraphXml(a);if(a&&
null!=this.fileNode&&null!=this.currentPage)if(a=function(a){var b=a.getElementsByTagName("mxGraphModel"),b=0<b.length?b[0]:null;null==b&&c?(b=mxUtils.trim(mxUtils.getTextContent(a)),a=a.cloneNode(!1),0<b.length&&(b=Graph.decompress(b),null!=b&&0<b.length&&a.appendChild(mxUtils.parseXml(b).documentElement))):null==b||c?a=a.cloneNode(!0):(a=a.cloneNode(!1),mxUtils.setTextContent(a,Graph.compressNode(b)));e.appendChild(a)},EditorUi.removeChildNodes(this.currentPage.node),mxUtils.setTextContent(this.currentPage.node,
Graph.compressNode(e)),e=this.fileNode.cloneNode(!1),b)a(this.currentPage.node);else for(b=0;b<this.pages.length;b++){if(this.currentPage!=this.pages[b]&&this.pages[b].needsUpdate){var d=(new mxCodec(mxUtils.createXmlDocument())).encode(new mxGraphModel(this.pages[b].root));this.editor.graph.saveViewState(this.pages[b].viewState,d);EditorUi.removeChildNodes(this.pages[b].node);mxUtils.setTextContent(this.pages[b].node,Graph.compressNode(d));delete this.pages[b].needsUpdate}a(this.pages[b].node)}return e};
-EditorUi.prototype.anonymizeString=function(a,b){for(var e=[],c=0;c<a.length;c++){var d=a.charAt(c);0<=EditorUi.ignoredAnonymizedChars.indexOf(d)?e.push(d):isNaN(parseInt(d))?d.toLowerCase()!=d?e.push(String.fromCharCode(65+Math.round(25*Math.random()))):d.toUpperCase()!=d?e.push(String.fromCharCode(97+Math.round(25*Math.random()))):/\s/.test(d)?e.push(" "):e.push("?"):e.push(b?"0":Math.round(9*Math.random()))}return e.join("")};EditorUi.prototype.anonymizePatch=function(a){if(null!=a[EditorUi.DIFF_INSERT])for(var e=
-0;e<a[EditorUi.DIFF_INSERT].length;e++)try{var b=mxUtils.parseXml(a[EditorUi.DIFF_INSERT][e].data).documentElement.cloneNode(!1);null!=b.getAttribute("name")&&b.setAttribute("name",this.anonymizeString(b.getAttribute("name")));a[EditorUi.DIFF_INSERT][e].data=mxUtils.getXml(b)}catch(u){a[EditorUi.DIFF_INSERT][e].data=u.message}if(null!=a[EditorUi.DIFF_UPDATE]){for(var c in a[EditorUi.DIFF_UPDATE]){var d=a[EditorUi.DIFF_UPDATE][c];null!=d.name&&(d.name=this.anonymizeString(d.name));null!=d.cells&&(e=
-mxUtils.bind(this,function(a){var e=d.cells[a];if(null!=e){for(var b in e)null!=e[b].value&&(e[b].value="["+e[b].value.length+"]"),null!=e[b].xmlValue&&(e[b].xmlValue="["+e[b].xmlValue.length+"]"),null!=e[b].style&&(e[b].style="["+e[b].style.length+"]"),0==Object.keys(e[b]).length&&delete e[b];0==Object.keys(e).length&&delete d.cells[a]}}),e(EditorUi.DIFF_INSERT),e(EditorUi.DIFF_UPDATE),0==Object.keys(d.cells).length&&delete d.cells);0==Object.keys(d).length&&delete a[EditorUi.DIFF_UPDATE][c]}0==
+EditorUi.prototype.anonymizeString=function(a,b){for(var e=[],c=0;c<a.length;c++){var d=a.charAt(c);0<=EditorUi.ignoredAnonymizedChars.indexOf(d)?e.push(d):isNaN(parseInt(d))?d.toLowerCase()!=d?e.push(String.fromCharCode(65+Math.round(25*Math.random()))):d.toUpperCase()!=d?e.push(String.fromCharCode(97+Math.round(25*Math.random()))):/\s/.test(d)?e.push(" "):e.push("?"):e.push(b?"0":Math.round(9*Math.random()))}return e.join("")};EditorUi.prototype.anonymizePatch=function(a){if(null!=a[EditorUi.DIFF_INSERT])for(var b=
+0;b<a[EditorUi.DIFF_INSERT].length;b++)try{var e=mxUtils.parseXml(a[EditorUi.DIFF_INSERT][b].data).documentElement.cloneNode(!1);null!=e.getAttribute("name")&&e.setAttribute("name",this.anonymizeString(e.getAttribute("name")));a[EditorUi.DIFF_INSERT][b].data=mxUtils.getXml(e)}catch(u){a[EditorUi.DIFF_INSERT][b].data=u.message}if(null!=a[EditorUi.DIFF_UPDATE]){for(var c in a[EditorUi.DIFF_UPDATE]){var d=a[EditorUi.DIFF_UPDATE][c];null!=d.name&&(d.name=this.anonymizeString(d.name));null!=d.cells&&(b=
+mxUtils.bind(this,function(a){var b=d.cells[a];if(null!=b){for(var e in b)null!=b[e].value&&(b[e].value="["+b[e].value.length+"]"),null!=b[e].xmlValue&&(b[e].xmlValue="["+b[e].xmlValue.length+"]"),null!=b[e].style&&(b[e].style="["+b[e].style.length+"]"),0==Object.keys(b[e]).length&&delete b[e];0==Object.keys(b).length&&delete d.cells[a]}}),b(EditorUi.DIFF_INSERT),b(EditorUi.DIFF_UPDATE),0==Object.keys(d.cells).length&&delete d.cells);0==Object.keys(d).length&&delete a[EditorUi.DIFF_UPDATE][c]}0==
Object.keys(a[EditorUi.DIFF_UPDATE]).length&&delete a[EditorUi.DIFF_UPDATE]}return a};EditorUi.prototype.anonymizeAttributes=function(a,b){if(null!=a.attributes)for(var e=0;e<a.attributes.length;e++)"as"!=a.attributes[e].name&&a.setAttribute(a.attributes[e].name,this.anonymizeString(a.attributes[e].value,b));if(null!=a.childNodes)for(e=0;e<a.childNodes.length;e++)this.anonymizeAttributes(a.childNodes[e],b)};EditorUi.prototype.anonymizeNode=function(a,b){for(var e=a.getElementsByTagName("mxCell"),
c=0;c<e.length;c++)null!=e[c].getAttribute("value")&&e[c].setAttribute("value","["+e[c].getAttribute("value").length+"]"),null!=e[c].getAttribute("xmlValue")&&e[c].setAttribute("xmlValue","["+e[c].getAttribute("xmlValue").length+"]"),null!=e[c].getAttribute("style")&&e[c].setAttribute("style","["+e[c].getAttribute("style").length+"]"),null!=e[c].parentNode&&"root"!=e[c].parentNode.nodeName&&null!=e[c].parentNode.parentNode&&(e[c].setAttribute("id",e[c].parentNode.getAttribute("id")),e[c].parentNode.parentNode.replaceChild(e[c],
-e[c].parentNode));return a};EditorUi.prototype.synchronizeCurrentFile=function(a){var e=this.getCurrentFile();null!=e&&(e.savingFile?this.handleError({message:mxResources.get("busy")}):!a&&e.invalidChecksum?e.handleFileError(null,!0):this.spinner.spin(document.body,mxResources.get("updatingDocument"))&&(e.clearAutosave(),this.editor.setStatus(""),a?e.reloadFile(mxUtils.bind(this,function(){e.handleFileSuccess("manual"==DrawioFile.SYNC)}),mxUtils.bind(this,function(a){e.handleFileError(a,!0)})):e.synchronizeFile(mxUtils.bind(this,
-function(){e.handleFileSuccess("manual"==DrawioFile.SYNC)}),mxUtils.bind(this,function(a){e.handleFileError(a,!0)}))))};EditorUi.prototype.getFileData=function(a,b,c,d,f,g,m,n,y,v){f=null!=f?f:!0;g=null!=g?g:!1;var e=this.editor.graph;if(b||!a&&null!=y&&/(\.svg)$/i.test(y.getTitle()))if(v=!1,null!=e.themes&&"darkTheme"==e.defaultThemeName||null!=this.pages&&this.currentPage!=this.pages[0]){var k=e.getGlobalVariable,e=this.createTemporaryGraph(e.getStylesheet()),l=this.pages[0];e.getGlobalVariable=
-function(a){return"page"==a?l.getName():"pagenumber"==a?1:k.apply(this,arguments)};document.body.appendChild(e.container);e.model.setRoot(l.root)}m=null!=m?m:this.getXmlFileData(f,g,v);y=null!=y?y:this.getCurrentFile();a=this.createFileData(m,e,y,window.location.href,a,b,c,d,f,n,v);e!=this.editor.graph&&e.container.parentNode.removeChild(e.container);return a};EditorUi.prototype.getHtml=function(a,b,c,d,f,g){g=null!=g?g:!0;var e=null,k=EditorUi.drawHost+"/js/embed-static.min.js";if(null!=b){var e=
+e[c].parentNode));return a};EditorUi.prototype.synchronizeCurrentFile=function(a){var b=this.getCurrentFile();null!=b&&(b.savingFile?this.handleError({message:mxResources.get("busy")}):!a&&b.invalidChecksum?b.handleFileError(null,!0):this.spinner.spin(document.body,mxResources.get("updatingDocument"))&&(b.clearAutosave(),this.editor.setStatus(""),a?b.reloadFile(mxUtils.bind(this,function(){b.handleFileSuccess("manual"==DrawioFile.SYNC)}),mxUtils.bind(this,function(a){b.handleFileError(a,!0)})):b.synchronizeFile(mxUtils.bind(this,
+function(){b.handleFileSuccess("manual"==DrawioFile.SYNC)}),mxUtils.bind(this,function(a){b.handleFileError(a,!0)}))))};EditorUi.prototype.getFileData=function(a,b,c,d,f,g,m,n,z,x){f=null!=f?f:!0;g=null!=g?g:!1;var e=this.editor.graph;if(b||!a&&null!=z&&/(\.svg)$/i.test(z.getTitle()))if(x=!1,null!=e.themes&&"darkTheme"==e.defaultThemeName||null!=this.pages&&this.currentPage!=this.pages[0]){var k=e.getGlobalVariable,e=this.createTemporaryGraph(e.getStylesheet()),l=this.pages[0];e.getGlobalVariable=
+function(a){return"page"==a?l.getName():"pagenumber"==a?1:k.apply(this,arguments)};document.body.appendChild(e.container);e.model.setRoot(l.root)}m=null!=m?m:this.getXmlFileData(f,g,x);z=null!=z?z:this.getCurrentFile();a=this.createFileData(m,e,z,window.location.href,a,b,c,d,f,n,x);e!=this.editor.graph&&e.container.parentNode.removeChild(e.container);return a};EditorUi.prototype.getHtml=function(a,b,c,d,f,g){g=null!=g?g:!0;var e=null,k=EditorUi.drawHost+"/js/embed-static.min.js";if(null!=b){var e=
g?b.getGraphBounds():b.getBoundingBox(b.getSelectionCells()),l=b.view.scale;g=Math.floor(e.x/l-b.view.translate.x);l=Math.floor(e.y/l-b.view.translate.y);e=b.background;null==f&&(b=this.getBasenames().join(";"),0<b.length&&(k=EditorUi.drawHost+"/embed.js?s="+b));a.setAttribute("x0",g);a.setAttribute("y0",l)}null!=a&&(a.setAttribute("pan","1"),a.setAttribute("zoom","1"),a.setAttribute("resize","0"),a.setAttribute("fit","0"),a.setAttribute("border","20"),a.setAttribute("links","1"),null!=d&&a.setAttribute("edit",
d));null!=f&&(f=f.replace(/&/g,"&amp;"));a=null!=a?Graph.zapGremlins(mxUtils.getXml(a)):"";d=Graph.compress(a);Graph.decompress(d)!=a&&(d=encodeURIComponent(a));return(null==f?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=f?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==f?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>diagrams.net</title>\n")+(null!=f?'<meta http-equiv="refresh" content="0;URL=\''+
f+"'\"/>\n":"")+"</head>\n<body"+(null==f&&null!=e&&e!=mxConstants.NONE?' style="background-color:'+e+';">':">")+'\n<div class="mxgraph" style="position:relative;overflow:auto;width:100%;">\n<div style="width:1px;height:1px;overflow:hidden;">'+d+"</div>\n</div>\n"+(null==f?'<script type="text/javascript" src="'+k+'">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+f+'" target="_blank"><img border="0" src="'+EditorUi.drawHost+'/images/drawlogo128.png"/></a>')+
"\n</body>\n</html>\n"};EditorUi.prototype.getHtml2=function(a,b,c,d,f){b=window.DRAWIO_VIEWER_URL||EditorUi.drawHost+"/js/viewer-static.min.js";null!=f&&(f=f.replace(/&/g,"&amp;"));a={highlight:"#0000ff",nav:this.editor.graph.foldingEnabled,resize:!0,xml:Graph.zapGremlins(a),toolbar:"pages zoom layers lightbox"};null!=this.pages&&null!=this.currentPage&&(a.page=mxUtils.indexOf(this.pages,this.currentPage));return(null==f?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':
"")+"<!DOCTYPE html>\n<html"+(null!=f?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==f?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>diagrams.net</title>\n")+(null!=f?'<meta http-equiv="refresh" content="0;URL=\''+f+"'\"/>\n":"")+'<meta charset="utf-8"/>\n</head>\n<body>\n<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(a))+'"></div>\n'+(null==f?'<script type="text/javascript" src="'+
-b+'">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+f+'" target="_blank"><img border="0" src="'+EditorUi.drawHost+'/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.setFileData=function(a){a=this.validateFileData(a);this.pages=this.fileNode=this.currentPage=null;a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var e=Editor.extractParserError(a,mxResources.get("invalidOrMissingFile"));if(e)throw Error(mxResources.get("notADiagramFile")+
-" ("+e+")");e=null!=a?this.editor.extractGraphModel(a,!0):null;null!=e&&(a=e);if(null!=a&&"mxfile"==a.nodeName&&(e=a.getElementsByTagName("diagram"),"0"!=urlParams.pages||1<e.length||1==e.length&&e[0].hasAttribute("name"))){var b=null;this.fileNode=a;this.pages=[];for(var c=0;c<e.length;c++)null==e[c].getAttribute("id")&&e[c].setAttribute("id",c),a=new DiagramPage(e[c]),null==a.getName()&&a.setName(mxResources.get("pageWithNumber",[c+1])),this.pages.push(a),null!=urlParams["page-id"]&&a.getId()==
-urlParams["page-id"]&&(b=a);this.currentPage=null!=b?b:this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page||0))];a=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=a&&(this.fileNode=a.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(a);null!=this.currentPage&&(this.currentPage.root=
-this.editor.graph.model.root);if(null!=urlParams["layer-ids"])try{var d=urlParams["layer-ids"].split(" ");a={};for(c=0;c<d.length;c++)a[d[c]]=!0;for(var f=this.editor.graph.getModel(),g=f.getChildren(f.root),c=0;c<g.length;c++){var m=g[c];f.setVisible(m,a[m.id]||!1)}}catch(y){}};EditorUi.prototype.getBaseFilename=function(a){var e=this.getCurrentFile(),e=null!=e&&null!=e.getTitle()?e.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(e)||/(\.html)$/i.test(e)||/(\.svg)$/i.test(e)||/(\.png)$/i.test(e)||
-/(\.drawio)$/i.test(e))e=e.substring(0,e.lastIndexOf("."));!a&&null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&null!=this.currentPage.node.getAttribute("name")&&0<this.currentPage.getName().length&&(e=e+"-"+this.currentPage.getName());return e};EditorUi.prototype.downloadFile=function(a,b,c,d,f,g,m,n,y,v,A){try{d=null!=d?d:this.editor.graph.isSelectionEmpty();var e=this.getBaseFilename(!f),k=e+"."+a;if("xml"==a){var l='<?xml version="1.0" encoding="UTF-8"?>\n'+this.getFileData(!0,null,
-null,null,d,f,null,null,null,b);this.saveData(k,a,l,"text/xml")}else if("html"==a)l=this.getHtml2(this.getFileData(!0),this.editor.graph,e),this.saveData(k,a,l,"text/html");else if("svg"!=a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?k=e+".png":"jpeg"==a&&(k=e+".jpg"),this.saveRequest(k,a,mxUtils.bind(this,function(e,b){try{var c=this.editor.graph.pageVisible;null!=g&&(this.editor.graph.pageVisible=g);var k=this.createDownloadRequest(e,a,d,b,m,f,n,y,v,A);
+b+'">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+f+'" target="_blank"><img border="0" src="'+EditorUi.drawHost+'/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.setFileData=function(a){a=this.validateFileData(a);this.pages=this.fileNode=this.currentPage=null;a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var b=Editor.extractParserError(a,mxResources.get("invalidOrMissingFile"));if(b)throw Error(mxResources.get("notADiagramFile")+
+" ("+b+")");b=null!=a?this.editor.extractGraphModel(a,!0):null;null!=b&&(a=b);if(null!=a&&"mxfile"==a.nodeName&&(b=a.getElementsByTagName("diagram"),"0"!=urlParams.pages||1<b.length||1==b.length&&b[0].hasAttribute("name"))){var e=null;this.fileNode=a;this.pages=[];for(var c=0;c<b.length;c++)null==b[c].getAttribute("id")&&b[c].setAttribute("id",c),a=new DiagramPage(b[c]),null==a.getName()&&a.setName(mxResources.get("pageWithNumber",[c+1])),this.pages.push(a),null!=urlParams["page-id"]&&a.getId()==
+urlParams["page-id"]&&(e=a);this.currentPage=null!=e?e:this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page||0))];a=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=a&&(this.fileNode=a.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(a);null!=this.currentPage&&(this.currentPage.root=
+this.editor.graph.model.root);if(null!=urlParams["layer-ids"])try{var d=urlParams["layer-ids"].split(" ");a={};for(c=0;c<d.length;c++)a[d[c]]=!0;for(var f=this.editor.graph.getModel(),g=f.getChildren(f.root),c=0;c<g.length;c++){var m=g[c];f.setVisible(m,a[m.id]||!1)}}catch(z){}};EditorUi.prototype.getBaseFilename=function(a){var b=this.getCurrentFile(),b=null!=b&&null!=b.getTitle()?b.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(b)||/(\.html)$/i.test(b)||/(\.svg)$/i.test(b)||/(\.png)$/i.test(b)||
+/(\.drawio)$/i.test(b))b=b.substring(0,b.lastIndexOf("."));!a&&null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&null!=this.currentPage.node.getAttribute("name")&&0<this.currentPage.getName().length&&(b=b+"-"+this.currentPage.getName());return b};EditorUi.prototype.downloadFile=function(a,b,c,d,f,g,m,n,z,x,B){try{d=null!=d?d:this.editor.graph.isSelectionEmpty();var e=this.getBaseFilename(!f),k=e+"."+a;if("xml"==a){var l='<?xml version="1.0" encoding="UTF-8"?>\n'+this.getFileData(!0,null,
+null,null,d,f,null,null,null,b);this.saveData(k,a,l,"text/xml")}else if("html"==a)l=this.getHtml2(this.getFileData(!0),this.editor.graph,e),this.saveData(k,a,l,"text/html");else if("svg"!=a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?k=e+".png":"jpeg"==a&&(k=e+".jpg"),this.saveRequest(k,a,mxUtils.bind(this,function(b,e){try{var c=this.editor.graph.pageVisible;null!=g&&(this.editor.graph.pageVisible=g);var k=this.createDownloadRequest(b,a,d,e,m,f,n,z,x,B);
this.editor.graph.pageVisible=c;return k}catch(M){this.handleError(M)}}));else{var p=null,t=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(k,"svg",a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(p)}))});if("svg"==a){var u=this.editor.graph.background;if(m||u==mxConstants.NONE)u=null;var q=this.editor.graph.getSvg(u,null,null,null,null,d);c&&this.editor.graph.addSvgShadow(q);
-this.editor.convertImages(q,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();t('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a))})))}else k=e+".svg",p=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();t(a)}),d)}}catch(I){this.handleError(I)}};EditorUi.prototype.createDownloadRequest=function(a,b,c,d,f,g,m,n,y,v){var e=this.editor.graph,k=e.getGraphBounds();
-c=this.getFileData(!0,null,null,null,c,0==g?!1:"xmlpng"!=b);var l="",p="";if(k.width*k.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};v=v?"1":"0";"pdf"==b&&0==g&&(p="&allPages=1");if("xmlpng"==b&&(v="1",b="png",null!=this.pages&&null!=this.currentPage))for(g=0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){l="&from="+g;break}g=e.background;"png"!=b&&"pdf"!=b||!f?f||null!=g&&g!=mxConstants.NONE||(g="#ffffff"):g=mxConstants.NONE;f={globalVars:e.getExportVariables()};
-y&&(f.grid={size:e.gridSize,steps:e.view.gridSteps,color:e.view.gridColor});Graph.translateDiagram&&(f.diagramLanguage=Graph.diagramLanguage);return new mxXmlRequest(EXPORT_URL,"format="+b+l+p+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+d+"&embedXml="+v+"&xml="+encodeURIComponent(c)+(null!=a?"&filename="+encodeURIComponent(a):"")+"&extras="+encodeURIComponent(JSON.stringify(f))+(null!=m?"&scale="+m:"")+(null!=n?"&border="+n:""))};EditorUi.prototype.setMode=function(a,b){this.mode=a};EditorUi.prototype.loadDescriptor=
+this.editor.convertImages(q,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();t('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a))})))}else k=e+".svg",p=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();t(a)}),d)}}catch(I){this.handleError(I)}};EditorUi.prototype.createDownloadRequest=function(a,b,c,d,f,g,m,n,z,x){var e=this.editor.graph,k=e.getGraphBounds();
+c=this.getFileData(!0,null,null,null,c,0==g?!1:"xmlpng"!=b);var l="",p="";if(k.width*k.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};x=x?"1":"0";"pdf"==b&&0==g&&(p="&allPages=1");if("xmlpng"==b&&(x="1",b="png",null!=this.pages&&null!=this.currentPage))for(g=0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){l="&from="+g;break}g=e.background;"png"!=b&&"pdf"!=b||!f?f||null!=g&&g!=mxConstants.NONE||(g="#ffffff"):g=mxConstants.NONE;f={globalVars:e.getExportVariables()};
+z&&(f.grid={size:e.gridSize,steps:e.view.gridSteps,color:e.view.gridColor});Graph.translateDiagram&&(f.diagramLanguage=Graph.diagramLanguage);return new mxXmlRequest(EXPORT_URL,"format="+b+l+p+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+d+"&embedXml="+x+"&xml="+encodeURIComponent(c)+(null!=a?"&filename="+encodeURIComponent(a):"")+"&extras="+encodeURIComponent(JSON.stringify(f))+(null!=m?"&scale="+m:"")+(null!=n?"&border="+n:""))};EditorUi.prototype.setMode=function(a,b){this.mode=a};EditorUi.prototype.loadDescriptor=
function(a,b,c){var e=window.location.hash,d=mxUtils.bind(this,function(c){var d=null!=a.data?a.data:"";null!=c&&0<c.length&&(0<d.length&&(d+="\n"),d+=c);c=new LocalFile(this,"csv"!=a.format&&0<d.length?d:this.emptyDiagramXml,null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);c.getHash=function(){return e};this.fileLoaded(c);"csv"==a.format&&this.importCsv(d,mxUtils.bind(this,function(a){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")}));
-if(null!=a.update){var k=null!=a.interval?parseInt(a.interval):6E4,l=null,f=mxUtils.bind(this,function(){var e=this.currentPage;mxUtils.post(a.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())),mxUtils.bind(this,function(a){e===this.currentPage&&(200<=a.getStatus()&&300>=a.getStatus()?(this.updateDiagram(a.getText()),g()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),g=mxUtils.bind(this,function(){window.clearTimeout(l);
-l=window.setTimeout(f,k)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){g();f()}));g();f()}null!=b&&b()});null!=a.url&&0<a.url.length?this.editor.loadUrl(a.url,mxUtils.bind(this,function(a){d(a)}),mxUtils.bind(this,function(a){null!=c&&c(a)})):d("")};EditorUi.prototype.updateDiagram=function(a){function e(a){var e=new mxCellOverlay(a.image||d.warningImage,a.tooltip,a.align,a.valign,a.offset);e.addListener(mxEvent.CLICK,function(e,b){c.alert(a.tooltip)});return e}var b=null,
-c=this;if(null!=a&&0<a.length&&(b=mxUtils.parseXml(a),a=null!=b?b.documentElement:null,null!=a&&"updates"==a.nodeName)){var d=this.editor.graph,f=d.getModel();f.beginUpdate();var g=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var m=f.getCell(a.getAttribute("id"));if(null!=m){try{var n=a.getAttribute("value");if(null!=n){var v=mxUtils.parseXml(n).documentElement;if(null!=v)if("1"==v.getAttribute("replace-value"))f.setValue(m,v);else for(var A=v.attributes,z=0;z<A.length;z++)d.setAttributeForCell(m,
-A[z].nodeName,0<A[z].nodeValue.length?A[z].nodeValue:null)}}catch(J){null!=window.console&&console.log("Error in value for "+m.id+": "+J)}try{var B=a.getAttribute("style");null!=B&&d.model.setStyle(m,B)}catch(J){null!=window.console&&console.log("Error in style for "+m.id+": "+J)}try{var C=a.getAttribute("icon");if(null!=C){var G=0<C.length?JSON.parse(C):null;null!=G&&G.append||d.removeCellOverlays(m);null!=G&&d.addCellOverlay(m,e(G))}}catch(J){null!=window.console&&console.log("Error in icon for "+
-m.id+": "+J)}try{var D=a.getAttribute("geometry");if(null!=D){var D=JSON.parse(D),H=d.getCellGeometry(m);if(null!=H){H=H.clone();for(key in D){var F=parseFloat(D[key]);"dx"==key?H.x+=F:"dy"==key?H.y+=F:"dw"==key?H.width+=F:"dh"==key?H.height+=F:H[key]=parseFloat(D[key])}d.model.setGeometry(m,H)}}}catch(J){null!=window.console&&console.log("Error in icon for "+m.id+": "+J)}}}else if("model"==a.nodeName){for(var I=a.firstChild;null!=I&&I.nodeType!=mxConstants.NODETYPE_ELEMENT;)I=I.nextSibling;null!=
-I&&(new mxCodec(a.firstChild)).decode(I,f)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(d.view.scale=parseFloat(a.getAttribute("scale"))),a.hasAttribute("dx")||a.hasAttribute("dy"))d.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(g=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a=a.nextSibling}}finally{f.endUpdate()}null!=g&&this.chromelessResize&&this.chromelessResize(!0,g)}return b};
+if(null!=a.update){var k=null!=a.interval?parseInt(a.interval):6E4,l=null,f=mxUtils.bind(this,function(){var b=this.currentPage;mxUtils.post(a.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())),mxUtils.bind(this,function(a){b===this.currentPage&&(200<=a.getStatus()&&300>=a.getStatus()?(this.updateDiagram(a.getText()),g()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),g=mxUtils.bind(this,function(){window.clearTimeout(l);
+l=window.setTimeout(f,k)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){g();f()}));g();f()}null!=b&&b()});null!=a.url&&0<a.url.length?this.editor.loadUrl(a.url,mxUtils.bind(this,function(a){d(a)}),mxUtils.bind(this,function(a){null!=c&&c(a)})):d("")};EditorUi.prototype.updateDiagram=function(a){function b(a){var b=new mxCellOverlay(a.image||d.warningImage,a.tooltip,a.align,a.valign,a.offset);b.addListener(mxEvent.CLICK,function(b,e){c.alert(a.tooltip)});return b}var e=null,
+c=this;if(null!=a&&0<a.length&&(e=mxUtils.parseXml(a),a=null!=e?e.documentElement:null,null!=a&&"updates"==a.nodeName)){var d=this.editor.graph,f=d.getModel();f.beginUpdate();var g=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var m=f.getCell(a.getAttribute("id"));if(null!=m){try{var n=a.getAttribute("value");if(null!=n){var x=mxUtils.parseXml(n).documentElement;if(null!=x)if("1"==x.getAttribute("replace-value"))f.setValue(m,x);else for(var B=x.attributes,y=0;y<B.length;y++)d.setAttributeForCell(m,
+B[y].nodeName,0<B[y].nodeValue.length?B[y].nodeValue:null)}}catch(J){null!=window.console&&console.log("Error in value for "+m.id+": "+J)}try{var C=a.getAttribute("style");null!=C&&d.model.setStyle(m,C)}catch(J){null!=window.console&&console.log("Error in style for "+m.id+": "+J)}try{var A=a.getAttribute("icon");if(null!=A){var F=0<A.length?JSON.parse(A):null;null!=F&&F.append||d.removeCellOverlays(m);null!=F&&d.addCellOverlay(m,b(F))}}catch(J){null!=window.console&&console.log("Error in icon for "+
+m.id+": "+J)}try{var D=a.getAttribute("geometry");if(null!=D){var D=JSON.parse(D),G=d.getCellGeometry(m);if(null!=G){G=G.clone();for(key in D){var E=parseFloat(D[key]);"dx"==key?G.x+=E:"dy"==key?G.y+=E:"dw"==key?G.width+=E:"dh"==key?G.height+=E:G[key]=parseFloat(D[key])}d.model.setGeometry(m,G)}}}catch(J){null!=window.console&&console.log("Error in icon for "+m.id+": "+J)}}}else if("model"==a.nodeName){for(var I=a.firstChild;null!=I&&I.nodeType!=mxConstants.NODETYPE_ELEMENT;)I=I.nextSibling;null!=
+I&&(new mxCodec(a.firstChild)).decode(I,f)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(d.view.scale=parseFloat(a.getAttribute("scale"))),a.hasAttribute("dx")||a.hasAttribute("dy"))d.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(g=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a=a.nextSibling}}finally{f.endUpdate()}null!=g&&this.chromelessResize&&this.chromelessResize(!0,g)}return e};
EditorUi.prototype.getCopyFilename=function(a,b){var e=null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename,c="",d=e.lastIndexOf(".");0<=d&&(c=e.substring(d),e=e.substring(0,d));if(b)var k=new Date,d=k.getFullYear(),f=k.getMonth()+1,g=k.getDate(),m=k.getHours(),n=k.getMinutes(),k=k.getSeconds(),e=e+(" "+(d+"-"+f+"-"+g+"-"+m+"-"+n+"-"+k));return e=mxResources.get("copyOf",[e])+c};EditorUi.prototype.fileLoaded=function(a,b){var e=this.getCurrentFile();this.fileEditable=this.fileLoadedError=
null;this.setCurrentFile(null);var c=!1;this.hideDialog();null!=e&&(EditorUi.debug("File.closed",[e]),e.removeListener(this.descriptorChangedListener),e.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var d=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=e&&this.updateDocumentTitle();this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);!b&&null!=window.location.hash&&0<window.location.hash.length&&
(window.location.hash="");null!=this.fname&&(this.fnameWrapper.style.display="none",this.fname.innerHTML="",this.fname.setAttribute("title",mxResources.get("rename")));this.editor.setStatus("");this.updateUi();b||this.showSplash()});if(null!=a)try{mxClient.IS_SF&&"min"==uiTheme&&(this.diagramContainer.style.visibility="");this.openingFile=!0;this.setCurrentFile(a);a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener);a.open();
delete this.openingFile;this.setGraphEnabled(!0);this.setMode(a.getMode());this.editor.graph.model.prefix=Editor.guid()+"-";this.editor.undoManager.clear();this.descriptorChanged();this.updateUi();a.isEditable()?a.isModified()?(a.addUnsavedStatus(),null!=a.backupPatch&&a.patch([a.backupPatch])):this.editor.setStatus(""):this.editor.setStatus('<span class="geStatusAlert" style="margin-left:8px;">'+mxUtils.htmlEntities(mxResources.get("readOnly"))+"</span>");!this.editor.isChromelessView()||this.editor.editable?
(this.editor.graph.selectUnlockedLayer(),this.showLayersDialog(),this.restoreLibraries(),window.self!==window.top&&window.focus()):this.editor.graph.isLightboxView()&&this.lightboxFit();this.chromelessResize&&this.chromelessResize();this.editor.fireEvent(new mxEventObject("fileLoaded"));c=!0;this.isOffline()||null==a.getMode()||EditorUi.logEvent({category:a.getMode().toUpperCase()+"-OPEN-FILE-"+a.getHash(),action:"size_"+a.getSize(),label:"autosave_"+(this.editor.autosave?"on":"off")});EditorUi.debug("File.opened",
-[a]);if(this.editor.editable&&this.mode==a.getMode()&&a.getMode()!=App.MODE_DEVICE&&null!=a.getMode())try{this.addRecent({id:a.getHash(),title:a.getTitle(),mode:a.getMode()})}catch(q){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(q){}}catch(q){this.fileLoadedError=q;if(EditorUi.enableLogging&&!this.isOffline())try{EditorUi.logEvent({category:"ERROR-LOAD-FILE-"+(null!=a?a.getHash():"none"),action:"message_"+q.message,label:"stack_"+q.stack})}catch(x){}var k=
+[a]);if(this.editor.editable&&this.mode==a.getMode()&&a.getMode()!=App.MODE_DEVICE&&null!=a.getMode())try{this.addRecent({id:a.getHash(),title:a.getTitle(),mode:a.getMode()})}catch(q){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(q){}}catch(q){this.fileLoadedError=q;if(EditorUi.enableLogging&&!this.isOffline())try{EditorUi.logEvent({category:"ERROR-LOAD-FILE-"+(null!=a?a.getHash():"none"),action:"message_"+q.message,label:"stack_"+q.stack})}catch(v){}var k=
mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?window.location.search=this.getSearch(["url"]):null!=e?this.fileLoaded(e):d()});b?k():this.handleError(q,mxResources.get("errorLoadingFile"),k,!0,null,null,!0)}else d();return c};EditorUi.prototype.getHashValueForPages=function(a,b){var e=0,c=new mxGraphModel,d=new mxCodec;null!=b&&(b.byteCount=0,b.attrCount=0,b.eltCount=0,b.nodeCount=0);for(var k=0;k<a.length;k++){this.updatePageRoot(a[k]);
var f=a[k].node.cloneNode(!1);f.removeAttribute("name");c.root=a[k].root;var g=d.encode(c);this.editor.graph.saveViewState(a[k].viewState,g,!0);g.removeAttribute("pageWidth");g.removeAttribute("pageHeight");f.appendChild(g);null!=b&&(b.eltCount+=f.getElementsByTagName("*").length,b.nodeCount+=f.getElementsByTagName("mxCell").length);e=(e<<5)-e+this.hashValue(f,function(a,b,e,c){return!c||"mxGeometry"!=a.nodeName&&"mxPoint"!=a.nodeName||"x"!=b&&"y"!=b&&"width"!=b&&"height"!=b?c&&"mxCell"==a.nodeName&&
"previous"==b?null:e:Math.round(e)},b)<<0}return e};EditorUi.prototype.hashValue=function(a,b,c){var e=0;if(null!=a&&"object"===typeof a&&"number"===typeof a.nodeType&&"string"===typeof a.nodeName&&"function"===typeof a.getAttribute){null!=a.nodeName&&(e^=this.hashValue(a.nodeName,b,c));if(null!=a.attributes){null!=c&&(c.attrCount+=a.attributes.length);for(var d=0;d<a.attributes.length;d++){var k=a.attributes[d].name,l=null!=b?b(a,k,a.attributes[d].value,!0):a.attributes[d].value;null!=l&&(e^=this.hashValue(k,
b,c)+this.hashValue(l,b,c))}}if(null!=a.childNodes)for(d=0;d<a.childNodes.length;d++)e=(e<<5)-e+this.hashValue(a.childNodes[d],b,c)<<0}else if(null!=a&&"function"!==typeof a){a=String(a);b=0;null!=c&&(c.byteCount+=a.length);for(d=0;d<a.length;d++)b=(b<<5)-b+a.charCodeAt(d)<<0;e^=b}return e};EditorUi.prototype.descriptorChanged=function(){};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(a,b,c,d,f,g,m){};EditorUi.prototype.isScratchpadEnabled=function(){return isLocalStorage||
mxClient.IS_CHROMEAPP};EditorUi.prototype.toggleScratchpad=function(){this.isScratchpadEnabled()&&(null==this.scratchpad?StorageFile.getFileContent(this,".scratchpad",mxUtils.bind(this,function(a){null==a&&(a=this.emptyLibraryXml);this.loadLibrary(new StorageLibrary(this,a,".scratchpad"))})):this.closeLibrary(this.scratchpad))};EditorUi.prototype.createLibraryDataFromImages=function(a){var b=mxUtils.createXmlDocument(),e=b.createElement("mxlibrary");mxUtils.setTextContent(e,JSON.stringify(a));b.appendChild(e);
-return mxUtils.getXml(b)};EditorUi.prototype.closeLibrary=function(a){null!=a&&(this.removeLibrarySidebar(a.getHash()),a.constructor!=LocalLibrary&&mxSettings.removeCustomLibrary(a.getHash()),".scratchpad"==a.title&&(this.scratchpad=null))};EditorUi.prototype.removeLibrarySidebar=function(a){var b=this.sidebar.palettes[a];if(null!=b){for(var e=0;e<b.length;e++)b[e].parentNode.removeChild(b[e]);delete this.sidebar.palettes[a]}};EditorUi.prototype.repositionLibrary=function(a){var b=this.sidebar.container;
-if(null==a){var e=this.sidebar.palettes["L.scratchpad"];null==e&&(e=this.sidebar.palettes.search);null!=e&&(a=e[e.length-1].nextSibling)}a=null!=a?a:b.firstChild.nextSibling.nextSibling;var e=b.lastChild,c=e.previousSibling;b.insertBefore(e,a);b.insertBefore(c,e)};EditorUi.prototype.loadLibrary=function(a,b){var e=mxUtils.parseXml(a.getData());if("mxlibrary"==e.documentElement.nodeName){var c=JSON.parse(mxUtils.getTextContent(e.documentElement));this.libraryLoaded(a,c,e.documentElement.getAttribute("title"),
-b)}else throw{message:mxResources.get("notALibraryFile")};};EditorUi.prototype.getLibraryStorageHint=function(a){return""};EditorUi.prototype.libraryLoaded=function(a,b,c,d){if(null!=this.sidebar){a.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(a.getHash());".scratchpad"==a.title&&(this.scratchpad=a);var e=this.sidebar.palettes[a.getHash()],e=null!=e?e[e.length-1].nextSibling:null;this.removeLibrarySidebar(a.getHash());var k=null,l=mxUtils.bind(this,function(b,e){0==b.length&&a.isEditable()?
-(null==k&&(k=document.createElement("div"),k.className="geDropTarget",mxUtils.write(k,mxResources.get("dragElementsHere"))),e.appendChild(k)):this.addLibraryEntries(b,e)});null!=this.sidebar&&null!=b&&this.sidebar.addEntries(b);c=null!=c&&0<c.length?c:a.getTitle();var f=this.sidebar.addPalette(a.getHash(),c,null!=d?d:!0,mxUtils.bind(this,function(a){l(b,a)}));this.repositionLibrary(e);var g=f.parentNode.previousSibling;d=g.getAttribute("title");null!=d&&0<d.length&&".scratchpad"!=a.title&&g.setAttribute("title",
-this.getLibraryStorageHint(a)+"\n"+d);var p=document.createElement("div");p.style.position="absolute";p.style.right="0px";p.style.top="0px";p.style.padding="8px";p.style.backgroundColor="inherit";g.style.position="relative";var m=document.createElement("img");m.setAttribute("src",Dialog.prototype.closeImage);m.setAttribute("title",mxResources.get("close"));m.setAttribute("valign","absmiddle");m.setAttribute("border","0");m.style.cursor="pointer";m.style.margin="0 3px";var n=null;if(".scratchpad"!=
-a.title||this.closableScratchpad)p.appendChild(m),mxEvent.addListener(m,"click",mxUtils.bind(this,function(b){if(!mxEvent.isConsumed(b)){var e=mxUtils.bind(this,function(){this.closeLibrary(a)});null!=n?this.confirm(mxResources.get("allChangesLost"),null,e,mxResources.get("cancel"),mxResources.get("discardChanges")):e();mxEvent.consume(b)}}));if(a.isEditable()){var B=this.editor.graph,C=null,G=mxUtils.bind(this,function(e){this.showLibraryDialog(a.getTitle(),f,b,a,a.getMode());mxEvent.consume(e)}),
-D=mxUtils.bind(this,function(e){a.setModified(!0);a.isAutosave()?(null!=C&&null!=C.parentNode&&C.parentNode.removeChild(C),C=m.cloneNode(!1),C.setAttribute("src",Editor.spinImage),C.setAttribute("title",mxResources.get("saving")),C.style.cursor="default",C.style.marginRight="2px",C.style.marginTop="-2px",p.insertBefore(C,p.firstChild),g.style.paddingRight=18*p.childNodes.length+"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=C&&null!=C.parentNode&&(C.parentNode.removeChild(C),
-g.style.paddingRight=18*p.childNodes.length+"px")})):null==n&&(n=m.cloneNode(!1),n.setAttribute("src",IMAGE_PATH+"/download.png"),n.setAttribute("title",mxResources.get("save")),p.insertBefore(n,p.firstChild),mxEvent.addListener(n,"click",mxUtils.bind(this,function(e){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==n||a.isModified()||(g.style.paddingRight=18*p.childNodes.length+"px",n.parentNode.removeChild(n),n=null)});mxEvent.consume(e)})),g.style.paddingRight=
-18*p.childNodes.length+"px")}),H=mxUtils.bind(this,function(a,e,c,d){a=B.cloneCells(mxUtils.sortCells(B.model.getTopmostCells(a)));for(var l=0;l<a.length;l++){var g=B.getCellGeometry(a[l]);null!=g&&g.translate(-e.x,-e.y)}f.appendChild(this.sidebar.createVertexTemplateFromCells(a,e.width,e.height,d||"",!0,!1,!1));a={xml:Graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),w:e.width,h:e.height};null!=d&&(a.title=d);b.push(a);D(c);null!=k&&null!=k.parentNode&&0<b.length&&(k.parentNode.removeChild(k),
-k=null)}),F=mxUtils.bind(this,function(a){if(B.isSelectionEmpty())B.getRubberband().isActive()?(B.getRubberband().execute(a),B.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var b=B.getSelectionCells(),e=B.view.getBounds(b),c=B.view.scale;e.x/=c;e.y/=c;e.width/=c;e.height/=c;e.x-=B.view.translate.x;e.y-=B.view.translate.y;H(b,e)}mxEvent.consume(a)});mxEvent.addGestureListeners(f,function(){},mxUtils.bind(this,function(a){B.isMouseDown&&
-null!=B.panningManager&&null!=B.graphHandler.first&&(B.graphHandler.suspend(),null!=B.graphHandler.hint&&(B.graphHandler.hint.style.visibility="hidden"),f.style.backgroundColor="#f1f3f4",f.style.cursor="copy",B.panningManager.stop(),B.autoScroll=!1,mxEvent.consume(a))}),mxUtils.bind(this,function(a){B.isMouseDown&&null!=B.panningManager&&null!=B.graphHandler&&(f.style.backgroundColor="",f.style.cursor="default",this.sidebar.showTooltips=!0,B.panningManager.stop(),B.graphHandler.reset(),B.isMouseDown=
-!1,B.autoScroll=!0,F(a),mxEvent.consume(a))}));mxEvent.addListener(f,"mouseleave",mxUtils.bind(this,function(a){B.isMouseDown&&null!=B.graphHandler.first&&(B.graphHandler.resume(),null!=B.graphHandler.hint&&(B.graphHandler.hint.style.visibility="visible"),f.style.backgroundColor="",f.style.cursor="",B.autoScroll=!0)}));Graph.fileSupport&&(mxEvent.addListener(f,"dragover",mxUtils.bind(this,function(a){f.style.backgroundColor="#f1f3f4";a.dataTransfer.dropEffect="copy";f.style.cursor="copy";this.sidebar.hideTooltip();
-a.stopPropagation();a.preventDefault()})),mxEvent.addListener(f,"drop",mxUtils.bind(this,function(a){f.style.cursor="";f.style.backgroundColor="";0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(e,c,d,g,p,m,n,t,q){if(null!=e&&"image/"==c.substring(0,6))e="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;aspect=fixed;image="+this.convertDataUri(e),e=[new mxCell("",new mxGeometry(0,0,p,m),e)],e[0].vertex=!0,
-H(e,new mxRectangle(0,0,p,m),a,mxEvent.isAltDown(a)?null:n.substring(0,n.lastIndexOf(".")).replace(/_/g," ")),null!=k&&null!=k.parentNode&&0<b.length&&(k.parentNode.removeChild(k),k=null);else{var u=!1,z=mxUtils.bind(this,function(e,c){if(null!=e&&"application/pdf"==c){var d=Editor.extractGraphModelFromPdf(e);null!=d&&0<d.length&&(e=d)}if(null!=e)if(d=mxUtils.parseXml(e),"mxlibrary"==d.documentElement.nodeName)try{var g=JSON.parse(mxUtils.getTextContent(d.documentElement));l(g,f);b=b.concat(g);D(a);
-this.spinner.stop();u=!0}catch(R){}else if("mxfile"==d.documentElement.nodeName)try{for(var p=d.documentElement.getElementsByTagName("diagram"),g=0;g<p.length;g++){var m=this.stringToCells(Editor.getDiagramNodeXml(p[g])),n=this.editor.graph.getBoundingBoxFromGeometry(m);H(m,new mxRectangle(0,0,n.width,n.height),a)}u=!0}catch(R){null!=window.console&&console.log("error in drop handler:",R)}u||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));null!=k&&null!=k.parentNode&&
-0<b.length&&(k.parentNode.removeChild(k),k=null)});null!=q&&null!=n&&(/(\.v(dx|sdx?))($|\?)/i.test(n)||/(\.vs(x|sx?))($|\?)/i.test(n))?this.importVisio(q,function(a){z(a,"text/xml")},null,n):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(e,n)&&null!=q?this.parseFile(q,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?z(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},
-mxResources.get("errorLoadingFile")))})):z(e,c)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(f,"dragleave",function(a){f.style.cursor="";f.style.backgroundColor="";a.stopPropagation();a.preventDefault()}));m=m.cloneNode(!1);m.setAttribute("src",Editor.editImage);m.setAttribute("title",mxResources.get("edit"));p.insertBefore(m,p.firstChild);mxEvent.addListener(m,"click",G);mxEvent.addListener(f,"dblclick",function(a){mxEvent.getSource(a)==f&&G(a)});d=m.cloneNode(!1);d.setAttribute("src",
-Editor.plusImage);d.setAttribute("title",mxResources.get("add"));p.insertBefore(d,p.firstChild);mxEvent.addListener(d,"click",F);this.isOffline()||".scratchpad"!=a.title||null==EditorUi.scratchpadHelpLink||(d=document.createElement("span"),d.setAttribute("title",mxResources.get("help")),d.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(d,"?"),mxEvent.addGestureListeners(d,mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(a)})),
-p.insertBefore(d,p.firstChild))}g.appendChild(p);g.style.paddingRight=18*p.childNodes.length+"px"}};EditorUi.prototype.addLibraryEntries=function(a,b){for(var e=0;e<a.length;e++){var c=a[e],d=c.data;if(null!=d){var d=this.convertDataUri(d),k="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==c.aspect&&(k+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(k+"image="+d,c.w,c.h,"",c.title||"",!1,!1,!0))}else null!=c.xml&&(d=this.stringToCells(Graph.decompress(c.xml)),
-0<d.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(d,c.w,c.h,c.title||"",!0,!1,!0)))}};EditorUi.prototype.getResource=function(a){return null!=a?a[mxLanguage]||a.main:null};EditorUi.prototype.footerHeight=0;"1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64);EditorUi.initTheme=function(){"atlas"==uiTheme?(mxClient.link("stylesheet",STYLE_PATH+"/atlas.css"),"undefined"!==typeof Toolbar&&(Toolbar.prototype.unselectedBackground="linear-gradient(rgb(255, 255, 255) 0px, rgb(242, 242, 242) 100%)",
+return mxUtils.getXml(b)};EditorUi.prototype.closeLibrary=function(a){null!=a&&(this.removeLibrarySidebar(a.getHash()),a.constructor!=LocalLibrary&&mxSettings.removeCustomLibrary(a.getHash()),".scratchpad"==a.title&&(this.scratchpad=null))};EditorUi.prototype.removeLibrarySidebar=function(a){var b=this.sidebar.palettes[a];if(null!=b){for(var c=0;c<b.length;c++)b[c].parentNode.removeChild(b[c]);delete this.sidebar.palettes[a]}};EditorUi.prototype.repositionLibrary=function(a){var b=this.sidebar.container;
+if(null==a){var c=this.sidebar.palettes["L.scratchpad"];null==c&&(c=this.sidebar.palettes.search);null!=c&&(a=c[c.length-1].nextSibling)}a=null!=a?a:b.firstChild.nextSibling.nextSibling;var c=b.lastChild,e=c.previousSibling;b.insertBefore(c,a);b.insertBefore(e,c)};EditorUi.prototype.loadLibrary=function(a,b){var c=mxUtils.parseXml(a.getData());if("mxlibrary"==c.documentElement.nodeName){var e=JSON.parse(mxUtils.getTextContent(c.documentElement));this.libraryLoaded(a,e,c.documentElement.getAttribute("title"),
+b)}else throw{message:mxResources.get("notALibraryFile")};};EditorUi.prototype.getLibraryStorageHint=function(a){return""};EditorUi.prototype.libraryLoaded=function(a,b,c,d){if(null!=this.sidebar){a.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(a.getHash());".scratchpad"==a.title&&(this.scratchpad=a);var e=this.sidebar.palettes[a.getHash()],e=null!=e?e[e.length-1].nextSibling:null;this.removeLibrarySidebar(a.getHash());var k=null,l=mxUtils.bind(this,function(b,c){0==b.length&&a.isEditable()?
+(null==k&&(k=document.createElement("div"),k.className="geDropTarget",mxUtils.write(k,mxResources.get("dragElementsHere"))),c.appendChild(k)):this.addLibraryEntries(b,c)});null!=this.sidebar&&null!=b&&this.sidebar.addEntries(b);c=null!=c&&0<c.length?c:a.getTitle();var f=this.sidebar.addPalette(a.getHash(),c,null!=d?d:!0,mxUtils.bind(this,function(a){l(b,a)}));this.repositionLibrary(e);var g=f.parentNode.previousSibling;d=g.getAttribute("title");null!=d&&0<d.length&&".scratchpad"!=a.title&&g.setAttribute("title",
+this.getLibraryStorageHint(a)+"\n"+d);var p=document.createElement("div");p.style.position="absolute";p.style.right="0px";p.style.top="0px";p.style.padding="8px";p.style.backgroundColor="inherit";g.style.position="relative";var m=document.createElement("img");m.setAttribute("src",Dialog.prototype.closeImage);m.setAttribute("title",mxResources.get("close"));m.setAttribute("valign","absmiddle");m.setAttribute("border","0");m.style.cursor="pointer";m.style.margin="0 3px";var y=null;if(".scratchpad"!=
+a.title||this.closableScratchpad)p.appendChild(m),mxEvent.addListener(m,"click",mxUtils.bind(this,function(b){if(!mxEvent.isConsumed(b)){var c=mxUtils.bind(this,function(){this.closeLibrary(a)});null!=y?this.confirm(mxResources.get("allChangesLost"),null,c,mxResources.get("cancel"),mxResources.get("discardChanges")):c();mxEvent.consume(b)}}));if(a.isEditable()){var n=this.editor.graph,A=null,F=mxUtils.bind(this,function(c){this.showLibraryDialog(a.getTitle(),f,b,a,a.getMode());mxEvent.consume(c)}),
+D=mxUtils.bind(this,function(c){a.setModified(!0);a.isAutosave()?(null!=A&&null!=A.parentNode&&A.parentNode.removeChild(A),A=m.cloneNode(!1),A.setAttribute("src",Editor.spinImage),A.setAttribute("title",mxResources.get("saving")),A.style.cursor="default",A.style.marginRight="2px",A.style.marginTop="-2px",p.insertBefore(A,p.firstChild),g.style.paddingRight=18*p.childNodes.length+"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=A&&null!=A.parentNode&&(A.parentNode.removeChild(A),
+g.style.paddingRight=18*p.childNodes.length+"px")})):null==y&&(y=m.cloneNode(!1),y.setAttribute("src",IMAGE_PATH+"/download.png"),y.setAttribute("title",mxResources.get("save")),p.insertBefore(y,p.firstChild),mxEvent.addListener(y,"click",mxUtils.bind(this,function(c){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==y||a.isModified()||(g.style.paddingRight=18*p.childNodes.length+"px",y.parentNode.removeChild(y),y=null)});mxEvent.consume(c)})),g.style.paddingRight=
+18*p.childNodes.length+"px")}),G=mxUtils.bind(this,function(a,c,e,d){a=n.cloneCells(mxUtils.sortCells(n.model.getTopmostCells(a)));for(var l=0;l<a.length;l++){var g=n.getCellGeometry(a[l]);null!=g&&g.translate(-c.x,-c.y)}f.appendChild(this.sidebar.createVertexTemplateFromCells(a,c.width,c.height,d||"",!0,!1,!1));a={xml:Graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),w:c.width,h:c.height};null!=d&&(a.title=d);b.push(a);D(e);null!=k&&null!=k.parentNode&&0<b.length&&(k.parentNode.removeChild(k),
+k=null)}),E=mxUtils.bind(this,function(a){if(n.isSelectionEmpty())n.getRubberband().isActive()?(n.getRubberband().execute(a),n.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var b=n.getSelectionCells(),c=n.view.getBounds(b),e=n.view.scale;c.x/=e;c.y/=e;c.width/=e;c.height/=e;c.x-=n.view.translate.x;c.y-=n.view.translate.y;G(b,c)}mxEvent.consume(a)});mxEvent.addGestureListeners(f,function(){},mxUtils.bind(this,function(a){n.isMouseDown&&
+null!=n.panningManager&&null!=n.graphHandler.first&&(n.graphHandler.suspend(),null!=n.graphHandler.hint&&(n.graphHandler.hint.style.visibility="hidden"),f.style.backgroundColor="#f1f3f4",f.style.cursor="copy",n.panningManager.stop(),n.autoScroll=!1,mxEvent.consume(a))}),mxUtils.bind(this,function(a){n.isMouseDown&&null!=n.panningManager&&null!=n.graphHandler&&(f.style.backgroundColor="",f.style.cursor="default",this.sidebar.showTooltips=!0,n.panningManager.stop(),n.graphHandler.reset(),n.isMouseDown=
+!1,n.autoScroll=!0,E(a),mxEvent.consume(a))}));mxEvent.addListener(f,"mouseleave",mxUtils.bind(this,function(a){n.isMouseDown&&null!=n.graphHandler.first&&(n.graphHandler.resume(),null!=n.graphHandler.hint&&(n.graphHandler.hint.style.visibility="visible"),f.style.backgroundColor="",f.style.cursor="",n.autoScroll=!0)}));Graph.fileSupport&&(mxEvent.addListener(f,"dragover",mxUtils.bind(this,function(a){f.style.backgroundColor="#f1f3f4";a.dataTransfer.dropEffect="copy";f.style.cursor="copy";this.sidebar.hideTooltip();
+a.stopPropagation();a.preventDefault()})),mxEvent.addListener(f,"drop",mxUtils.bind(this,function(a){f.style.cursor="";f.style.backgroundColor="";0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(c,e,d,g,p,m,n,t,y){if(null!=c&&"image/"==e.substring(0,6))c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;aspect=fixed;image="+this.convertDataUri(c),c=[new mxCell("",new mxGeometry(0,0,p,m),c)],c[0].vertex=!0,
+G(c,new mxRectangle(0,0,p,m),a,mxEvent.isAltDown(a)?null:n.substring(0,n.lastIndexOf(".")).replace(/_/g," ")),null!=k&&null!=k.parentNode&&0<b.length&&(k.parentNode.removeChild(k),k=null);else{var q=!1,u=mxUtils.bind(this,function(c,e){if(null!=c&&"application/pdf"==e){var d=Editor.extractGraphModelFromPdf(c);null!=d&&0<d.length&&(c=d)}if(null!=c)if(d=mxUtils.parseXml(c),"mxlibrary"==d.documentElement.nodeName)try{var g=JSON.parse(mxUtils.getTextContent(d.documentElement));l(g,f);b=b.concat(g);D(a);
+this.spinner.stop();q=!0}catch(R){}else if("mxfile"==d.documentElement.nodeName)try{for(var p=d.documentElement.getElementsByTagName("diagram"),g=0;g<p.length;g++){var m=this.stringToCells(Editor.getDiagramNodeXml(p[g])),n=this.editor.graph.getBoundingBoxFromGeometry(m);G(m,new mxRectangle(0,0,n.width,n.height),a)}q=!0}catch(R){null!=window.console&&console.log("error in drop handler:",R)}q||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));null!=k&&null!=k.parentNode&&
+0<b.length&&(k.parentNode.removeChild(k),k=null)});null!=y&&null!=n&&(/(\.v(dx|sdx?))($|\?)/i.test(n)||/(\.vs(x|sx?))($|\?)/i.test(n))?this.importVisio(y,function(a){u(a,"text/xml")},null,n):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,n)&&null!=y?this.parseFile(y,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?u(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},
+mxResources.get("errorLoadingFile")))})):u(c,e)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(f,"dragleave",function(a){f.style.cursor="";f.style.backgroundColor="";a.stopPropagation();a.preventDefault()}));m=m.cloneNode(!1);m.setAttribute("src",Editor.editImage);m.setAttribute("title",mxResources.get("edit"));p.insertBefore(m,p.firstChild);mxEvent.addListener(m,"click",F);mxEvent.addListener(f,"dblclick",function(a){mxEvent.getSource(a)==f&&F(a)});d=m.cloneNode(!1);d.setAttribute("src",
+Editor.plusImage);d.setAttribute("title",mxResources.get("add"));p.insertBefore(d,p.firstChild);mxEvent.addListener(d,"click",E);this.isOffline()||".scratchpad"!=a.title||null==EditorUi.scratchpadHelpLink||(d=document.createElement("span"),d.setAttribute("title",mxResources.get("help")),d.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(d,"?"),mxEvent.addGestureListeners(d,mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(a)})),
+p.insertBefore(d,p.firstChild))}g.appendChild(p);g.style.paddingRight=18*p.childNodes.length+"px"}};EditorUi.prototype.addLibraryEntries=function(a,b){for(var c=0;c<a.length;c++){var e=a[c],d=e.data;if(null!=d){var d=this.convertDataUri(d),k="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==e.aspect&&(k+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(k+"image="+d,e.w,e.h,"",e.title||"",!1,!1,!0))}else null!=e.xml&&(d=this.stringToCells(Graph.decompress(e.xml)),
+0<d.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(d,e.w,e.h,e.title||"",!0,!1,!0)))}};EditorUi.prototype.getResource=function(a){return null!=a?a[mxLanguage]||a.main:null};EditorUi.prototype.footerHeight=0;"1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64);EditorUi.initTheme=function(){"atlas"==uiTheme?(mxClient.link("stylesheet",STYLE_PATH+"/atlas.css"),"undefined"!==typeof Toolbar&&(Toolbar.prototype.unselectedBackground="linear-gradient(rgb(255, 255, 255) 0px, rgb(242, 242, 242) 100%)",
Toolbar.prototype.selectedBackground="rgb(242, 242, 242)"),Editor.prototype.initialTopSpacing=3,EditorUi.prototype.menubarHeight=41,EditorUi.prototype.toolbarHeight=38):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",Graph.prototype.defaultPageBorderColor="#505759",Format.prototype.inactiveTabBackgroundColor="black",BaseFormatPanel.prototype.buttonBackgroundColor=
"#2a2a2a",Sidebar.prototype.dragPreviewBorder="1px dashed #cccccc",mxGraphHandler.prototype.previewColor="#cccccc",StyleFormatPanel.prototype.defaultStrokeColor="#cccccc",mxConstants.DROP_TARGET_COLOR="#00ff00",mxClient.IS_SVG&&(Editor.helpImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAP1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////9Du/pqAAAAFXRSTlMAT30qCJRBboyDZyCgRzUUdF46MJlgXETgAAAAeklEQVQY022O2w4DIQhEQUURda/9/28tUO2+7CQS5sgQ4F1RapX78YUwRqQjTU8ILqQfKerTKTvACJ4nLX3krt+8aS82oI8aQC4KavRgtvEW/mDvsICgA03PSGRr79MqX1YPNIxzjyqtw8ZnnRo4t5a5undtJYRywau+ds4Cyza3E6YAAAAASUVORK5CYII=",
Editor.checkmarkImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAARVBMVEUAAACZmZkICAgEBASNjY2Dg4MYGBiTk5N5eXl1dXVmZmZQUFBCQkI3NzceHh4MDAykpKSJiYl+fn5sbGxaWlo/Pz8SEhK96uPlAAAAAXRSTlMAQObYZgAAAE5JREFUGNPFzTcSgDAQQ1HJGUfy/Y9K7V1qeOUfzQifCQZai1XHaz11LFysbDbzgDSSWMZiETz3+b8yNUc/MMsktxuC8XQBSncdLwz+8gCCggGXzBcozAAAAABJRU5ErkJggg=="))};EditorUi.initTheme();EditorUi.prototype.showImageDialog=function(a,b,c,d,f){a=new ImageDialog(this,a,b,c,d,f);this.showDialog(a.container,Graph.fileSupport?
-480:360,Graph.fileSupport?200:90,!0,!0);a.init()};EditorUi.prototype.showBackgroundImageDialog=function(a,b){a=null!=a?a:mxUtils.bind(this,function(a,b){if(!b){var e=new ChangePageSetup(this,null,a);e.ignoreColor=!0;this.editor.graph.model.execute(e)}});var e=new BackgroundImageDialog(this,a,b);this.showDialog(e.container,360,200,!0,!0);e.init()};EditorUi.prototype.showLibraryDialog=function(a,b,c,d,f){a=new LibraryDialog(this,a,b,c,d,f);this.showDialog(a.container,640,440,!0,!1,mxUtils.bind(this,
-function(a){a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};var b=EditorUi.prototype.createFormat;EditorUi.prototype.createFormat=function(a){var e=b.apply(this,arguments);this.editor.graph.addListener("viewStateChanged",mxUtils.bind(this,function(a){this.editor.graph.isSelectionEmpty()&&e.refresh()}));return e};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer geSidebarFooter");a.style.position="absolute";a.style.overflow=
+480:360,Graph.fileSupport?200:90,!0,!0);a.init()};EditorUi.prototype.showBackgroundImageDialog=function(a,b){a=null!=a?a:mxUtils.bind(this,function(a,b){if(!b){var c=new ChangePageSetup(this,null,a);c.ignoreColor=!0;this.editor.graph.model.execute(c)}});var c=new BackgroundImageDialog(this,a,b);this.showDialog(c.container,360,200,!0,!0);c.init()};EditorUi.prototype.showLibraryDialog=function(a,b,c,d,f){a=new LibraryDialog(this,a,b,c,d,f);this.showDialog(a.container,640,440,!0,!1,mxUtils.bind(this,
+function(a){a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};var b=EditorUi.prototype.createFormat;EditorUi.prototype.createFormat=function(a){var c=b.apply(this,arguments);this.editor.graph.addListener("viewStateChanged",mxUtils.bind(this,function(a){this.editor.graph.isSelectionEmpty()&&c.refresh()}));return c};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer geSidebarFooter");a.style.position="absolute";a.style.overflow=
"hidden";var b=document.createElement("a");b.className="geTitle";b.style.color="#DF6C0C";b.style.fontWeight="bold";b.style.height="100%";b.style.paddingTop="9px";b.innerHTML='<span style="font-size:18px;margin-right:5px;">+</span>';mxUtils.write(b,mxResources.get("moreShapes")+"...");mxEvent.addListener(b,mxClient.IS_POINTER?"pointerdown":"mousedown",mxUtils.bind(this,function(a){a.preventDefault()}));mxEvent.addListener(b,"click",mxUtils.bind(this,function(a){this.actions.get("shapes").funct();mxEvent.consume(a)}));
-a.appendChild(b);return a};EditorUi.prototype.handleError=function(a,b,c,d,f,g,m){var e=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},k=null!=a&&null!=a.error?a.error:a;if(null!=a&&null!=a.stack&&null!=a.message)try{m?null!=window.console&&console.error("EditorUi.handleError:",a):EditorUi.logError("Caught: "+(""==a.message&&null!=a.name)?a.name:a.message,a.filename,a.lineNumber,a.columnNumber,a,"INFO")}catch(C){}if(null!=k||null!=b){m=mxUtils.htmlEntities(mxResources.get("unknownError"));
+a.appendChild(b);return a};EditorUi.prototype.handleError=function(a,b,c,d,f,g,m){var e=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},k=null!=a&&null!=a.error?a.error:a;if(null!=a&&null!=a.stack&&null!=a.message)try{m?null!=window.console&&console.error("EditorUi.handleError:",a):EditorUi.logError("Caught: "+(""==a.message&&null!=a.name)?a.name:a.message,a.filename,a.lineNumber,a.columnNumber,a,"INFO")}catch(A){}if(null!=k||null!=b){m=mxUtils.htmlEntities(mxResources.get("unknownError"));
var l=mxResources.get("ok"),p=null;b=null!=b?b:mxResources.get("error");if(null!=k){null!=k.retry&&(l=mxResources.get("cancel"),p=function(){e();k.retry()});if(404==k.code||404==k.status||403==k.code){m=403==k.code?null!=k.message?mxUtils.htmlEntities(k.message):mxUtils.htmlEntities(mxResources.get("accessDenied")):null!=f?f:mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied")+(null!=this.drive&&null!=this.drive.user?" ("+this.drive.user.displayName+", "+this.drive.user.email+")":""));var n=
null!=f?null:null!=g?g:window.location.hash;if(null!=n&&("#G"==n.substring(0,2)||"#Uhttps%3A%2F%2Fdrive.google.com%2Fuc%3Fid%3D"==n.substring(0,45))&&(null!=a&&null!=a.error&&(null!=a.error.errors&&0<a.error.errors.length&&"fileAccess"==a.error.errors[0].reason||null!=a.error.data&&0<a.error.data.length&&"fileAccess"==a.error.data[0].reason)||404==k.code||404==k.status)){n="#U"==n.substring(0,2)?n.substring(45,n.lastIndexOf("%26ex")):n.substring(2);this.showError(b,m,mxResources.get("openInNewWindow"),
-mxUtils.bind(this,function(){this.editor.graph.openLink("https://drive.google.com/open?id="+n);this.handleError(a,b,c,d,f)}),p,mxResources.get("changeUser"),mxUtils.bind(this,function(){function a(){d.innerHTML="";for(var a=0;a<b.length;a++){var e=document.createElement("option");mxUtils.write(e,b[a].displayName);e.value=a;d.appendChild(e);e=document.createElement("option");e.innerHTML="&nbsp;&nbsp;&nbsp;";mxUtils.write(e,"<"+b[a].email+">");e.setAttribute("disabled","disabled");d.appendChild(e)}e=
-document.createElement("option");mxUtils.write(e,mxResources.get("addAccount"));e.value=b.length;d.appendChild(e)}var b=this.drive.getUsersList(),e=document.createElement("div"),c=document.createElement("span");c.style.marginTop="6px";mxUtils.write(c,mxResources.get("changeUser")+": ");e.appendChild(c);var d=document.createElement("select");d.style.width="200px";a();mxEvent.addListener(d,"change",mxUtils.bind(this,function(){var e=d.value,c=b.length!=e;c&&this.drive.setUser(b[e]);this.drive.authorize(c,
-mxUtils.bind(this,function(){c||(b=this.drive.getUsersList(),a())}),mxUtils.bind(this,function(a){this.handleError(a)}),!0)}));e.appendChild(d);e=new CustomDialog(this,e,mxUtils.bind(this,function(){this.loadFile(window.location.hash.substr(1),!0)}));this.showDialog(e.container,300,75,!0,!0)}),mxResources.get("cancel"),mxUtils.bind(this,function(){this.hideDialog();null!=c&&c()}),480,150);return}}null!=k.message?m=""==k.message&&null!=k.name?mxUtils.htmlEntities(k.name):mxUtils.htmlEntities(k.message):
+mxUtils.bind(this,function(){this.editor.graph.openLink("https://drive.google.com/open?id="+n);this.handleError(a,b,c,d,f)}),p,mxResources.get("changeUser"),mxUtils.bind(this,function(){function a(){d.innerHTML="";for(var a=0;a<b.length;a++){var c=document.createElement("option");mxUtils.write(c,b[a].displayName);c.value=a;d.appendChild(c);c=document.createElement("option");c.innerHTML="&nbsp;&nbsp;&nbsp;";mxUtils.write(c,"<"+b[a].email+">");c.setAttribute("disabled","disabled");d.appendChild(c)}c=
+document.createElement("option");mxUtils.write(c,mxResources.get("addAccount"));c.value=b.length;d.appendChild(c)}var b=this.drive.getUsersList(),c=document.createElement("div"),e=document.createElement("span");e.style.marginTop="6px";mxUtils.write(e,mxResources.get("changeUser")+": ");c.appendChild(e);var d=document.createElement("select");d.style.width="200px";a();mxEvent.addListener(d,"change",mxUtils.bind(this,function(){var c=d.value,e=b.length!=c;e&&this.drive.setUser(b[c]);this.drive.authorize(e,
+mxUtils.bind(this,function(){e||(b=this.drive.getUsersList(),a())}),mxUtils.bind(this,function(a){this.handleError(a)}),!0)}));c.appendChild(d);c=new CustomDialog(this,c,mxUtils.bind(this,function(){this.loadFile(window.location.hash.substr(1),!0)}));this.showDialog(c.container,300,75,!0,!0)}),mxResources.get("cancel"),mxUtils.bind(this,function(){this.hideDialog();null!=c&&c()}),480,150);return}}null!=k.message?m=""==k.message&&null!=k.name?mxUtils.htmlEntities(k.name):mxUtils.htmlEntities(k.message):
null!=k.response&&null!=k.response.error?m=mxUtils.htmlEntities(k.response.error):"undefined"!==typeof window.App&&(k.code==App.ERROR_TIMEOUT?m=mxUtils.htmlEntities(mxResources.get("timeout")):k.code==App.ERROR_BUSY?m=mxUtils.htmlEntities(mxResources.get("busy")):"string"===typeof k&&0<k.length&&(m=mxUtils.htmlEntities(k)))}var t=g=null;null!=k&&null!=k.helpLink&&(g=mxResources.get("help"),t=mxUtils.bind(this,function(){return this.editor.graph.openLink(k.helpLink)}));this.showError(b,m,l,c,p,null,
null,g,t,null,null,null,d?c:null)}else null!=c&&c()};EditorUi.prototype.alert=function(a,b,c){a=new ErrorDialog(this,null,a,mxResources.get("ok"),b);this.showDialog(a.container,c||340,100,!0,!1);a.init()};EditorUi.prototype.confirm=function(a,b,c,d,f,g){var e=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},k=Math.min(200,28*Math.ceil(a.length/50));a=new ConfirmDialog(this,a,function(){e();null!=b&&b()},function(){e();null!=c&&c()},d,f,null,null,null,null,k);this.showDialog(a.container,
340,46+k,!0,g);a.init()};EditorUi.prototype.showBanner=function(a,b,c,d){var e=!1;if(!(this.bannerShowing||this["hideBanner"+a]||isLocalStorage&&null!=mxSettings.settings&&null!=mxSettings.settings["close"+a])){var k=document.createElement("div");k.style.cssText="position:absolute;bottom:10px;left:50%;max-width:90%;padding:18px 34px 12px 20px;font-size:16px;font-weight:bold;white-space:nowrap;cursor:pointer;z-index:"+mxPopupMenu.prototype.zIndex+";";mxUtils.setPrefixedStyle(k.style,"box-shadow","1px 1px 2px 0px #ddd");
@@ -10211,209 +10213,209 @@ mxResources.get(d?"doNotShowAgain":"close"));e.setAttribute("border","0");e.styl
"click",mxUtils.bind(this,function(a){mxEvent.consume(a);g()}));var p=mxUtils.bind(this,function(){mxUtils.setPrefixedStyle(k.style,"transform","translate(-50%,120%)");window.setTimeout(mxUtils.bind(this,function(){g()}),1E3)});mxEvent.addListener(k,"click",mxUtils.bind(this,function(a){var b=mxEvent.getSource(a);b!=f&&b!=l?(null!=c&&c(),g(),mxEvent.consume(a)):p()}));window.setTimeout(mxUtils.bind(this,function(){mxUtils.setPrefixedStyle(k.style,"transform","translate(-50%,0%)")}),500);window.setTimeout(p,
3E4);e=!0}return e};EditorUi.prototype.setCurrentFile=function(a){null!=a&&(a.opened=new Date);this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};EditorUi.prototype.isExportToCanvas=function(){return this.editor.isExportToCanvas()};EditorUi.prototype.createImageDataUri=function(a,b,c,d){a=a.toDataURL("image/"+c);if(null!=a&&6<a.length)null!=b&&(a=Editor.writeGraphModelToPng(a,"tEXt","mxfile",encodeURIComponent(b))),0<d&&(a=Editor.writeGraphModelToPng(a,"pHYs",
"dpi",d));else throw{message:mxResources.get("unknownError")};return a};EditorUi.prototype.saveCanvas=function(a,b,c,d,f){var e="jpeg"==c?"jpg":c;d=this.getBaseFilename(d)+"."+e;a=this.createImageDataUri(a,b,c,f);this.saveData(d,e,a.substring(a.lastIndexOf(",")+1),"image/"+c,!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode||
-this.isOfflineApp()||mxClient.IS_IOS};EditorUi.prototype.showTextDialog=function(a,b){var e=new TextareaDialog(this,a,b,null,null,mxResources.get("close"));e.textarea.style.width="600px";e.textarea.style.height="380px";this.showDialog(e.container,620,460,!0,!0,null,null,null,null,!0);e.init();document.execCommand("selectall",!1,null)};EditorUi.prototype.doSaveLocalFile=function(a,b,c,d,f,g){"text/xml"!=c||/(\.drawio)$/i.test(b)||/(\.xml)$/i.test(b)||/(\.svg)$/i.test(b)||/(\.html)$/i.test(b)||(b=b+
+this.isOfflineApp()||mxClient.IS_IOS};EditorUi.prototype.showTextDialog=function(a,b){var c=new TextareaDialog(this,a,b,null,null,mxResources.get("close"));c.textarea.style.width="600px";c.textarea.style.height="380px";this.showDialog(c.container,620,460,!0,!0,null,null,null,null,!0);c.init();document.execCommand("selectall",!1,null)};EditorUi.prototype.doSaveLocalFile=function(a,b,c,d,f,g){"text/xml"!=c||/(\.drawio)$/i.test(b)||/(\.xml)$/i.test(b)||/(\.svg)$/i.test(b)||/(\.html)$/i.test(b)||(b=b+
"."+(null!=g?g:"drawio"));if(window.Blob&&navigator.msSaveOrOpenBlob)a=d?this.base64ToBlob(a,c):new Blob([a],{type:c}),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)c=window.open("about:blank","_blank"),null==c?mxUtils.popup(a,!0):(c.document.write(a),c.document.close(),c.document.execCommand("SaveAs",!0,b),c.close());else if(mxClient.IS_IOS&&this.isOffline())navigator.standalone||null==c||"image/"!=c.substring(0,6)?this.showTextDialog(b+":",a):this.openInNewWindow(a,c,d);else{var e=document.createElement("a");
g=(null==navigator.userAgent||0>navigator.userAgent.indexOf("PaleMoon/"))&&"undefined"!==typeof e.download;if(mxClient.IS_GC&&null!=navigator.userAgent){var k=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);g=65==(k?parseInt(k[2],10):!1)?!1:g}if(g||this.isOffline()){e.href=URL.createObjectURL(d?this.base64ToBlob(a,c):new Blob([a],{type:c}));g?e.download=b:e.setAttribute("target","_blank");document.body.appendChild(e);try{window.setTimeout(function(){URL.revokeObjectURL(e.href)},2E4),e.click(),
-e.parentNode.removeChild(e)}catch(y){}}else this.createEchoRequest(a,b,c,d,f).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,c,d,f,g){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=c?"&mime="+c:"")+(null!=f?"&format="+f:"")+(null!=g?"&base64="+g:"")+(null!=b?"&filename="+encodeURIComponent(b):"")+(d?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var e=atob(a),c=e.length,d=Math.ceil(c/1024),k=Array(d),f=0;f<d;++f){for(var g=
-1024*f,m=Math.min(g+1024,c),n=Array(m-g),A=0;g<m;++A,++g)n[A]=e[g].charCodeAt(0);k[f]=new Uint8Array(n)}return new Blob(k,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,d,f,g,m,n){g=null!=g?g:!1;m=null!=m?m:"vsdx"!=f&&(!mxClient.IS_IOS||!navigator.standalone);f=this.getServiceCount(g);isLocalStorage&&f++;var e=4>=f?2:6<f?4:3;b=new CreateDialog(this,b,mxUtils.bind(this,function(b,e){try{if("_blank"==e)if(null!=c&&"image/"==c.substring(0,6))this.openInNewWindow(a,c,d);else if(null!=c&&"text/html"==
-c.substring(0,9)){var k=new EmbedDialog(this,a);this.showDialog(k.container,440,240,!0,!0);k.init()}else{var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):(f.document.write("<pre>"+mxUtils.htmlEntities(a,!1)+"</pre>"),f.document.close())}else e==App.MODE_DEVICE||"download"==e?this.doSaveLocalFile(a,b,c,d,null,n):null!=b&&0<b.length&&this.pickFolder(e,mxUtils.bind(this,function(k){try{this.exportFile(a,b,c,d,e,k)}catch(G){this.handleError(G)}}))}catch(C){this.handleError(C)}}),mxUtils.bind(this,
+e.parentNode.removeChild(e)}catch(z){}}else this.createEchoRequest(a,b,c,d,f).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,c,d,f,g){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=c?"&mime="+c:"")+(null!=f?"&format="+f:"")+(null!=g?"&base64="+g:"")+(null!=b?"&filename="+encodeURIComponent(b):"")+(d?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var c=atob(a),e=c.length,d=Math.ceil(e/1024),k=Array(d),f=0;f<d;++f){for(var g=
+1024*f,m=Math.min(g+1024,e),n=Array(m-g),B=0;g<m;++B,++g)n[B]=c[g].charCodeAt(0);k[f]=new Uint8Array(n)}return new Blob(k,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,d,f,g,m,n){g=null!=g?g:!1;m=null!=m?m:"vsdx"!=f&&(!mxClient.IS_IOS||!navigator.standalone);f=this.getServiceCount(g);isLocalStorage&&f++;var e=4>=f?2:6<f?4:3;b=new CreateDialog(this,b,mxUtils.bind(this,function(b,e){try{if("_blank"==e)if(null!=c&&"image/"==c.substring(0,6))this.openInNewWindow(a,c,d);else if(null!=c&&"text/html"==
+c.substring(0,9)){var k=new EmbedDialog(this,a);this.showDialog(k.container,440,240,!0,!0);k.init()}else{var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):(f.document.write("<pre>"+mxUtils.htmlEntities(a,!1)+"</pre>"),f.document.close())}else e==App.MODE_DEVICE||"download"==e?this.doSaveLocalFile(a,b,c,d,null,n):null!=b&&0<b.length&&this.pickFolder(e,mxUtils.bind(this,function(k){try{this.exportFile(a,b,c,d,e,k)}catch(F){this.handleError(F)}}))}catch(A){this.handleError(A)}}),mxUtils.bind(this,
function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,g,m,null,1<f,e,a,c,d);g=this.isServices(f)?f>e?390:270:160;this.showDialog(b.container,400,g,!0,!0);b.init()};EditorUi.prototype.openInNewWindow=function(a,b,c){var e=window.open("about:blank");null==e||null==e.document?mxUtils.popup(a,!0):("image/svg+xml"!=b||mxClient.IS_SVG?"image/svg+xml"==b?e.document.write("<html>"+a+"</html>"):(a=c?a:btoa(unescape(encodeURIComponent(a))),e.document.write('<html><img style="max-width:100%;" src="data:'+
-b+";base64,"+a+'"/></html>')):e.document.write("<html><pre>"+mxUtils.htmlEntities(a,!1)+"</pre></html>"),e.document.close())};var c=EditorUi.prototype.addChromelessToolbarItems;EditorUi.prototype.addChromelessToolbarItems=function(a){if(this.isExportToCanvas()){this.exportDialog=null;var b=a(mxUtils.bind(this,function(a){var e=mxUtils.bind(this,function(){mxEvent.removeListener(this.editor.graph.container,"click",e);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),
-this.exportDialog=null)});if(null!=this.exportDialog)e.apply(this);else{this.exportDialog=document.createElement("div");var c=b.getBoundingClientRect();mxUtils.setPrefixedStyle(this.exportDialog.style,"borderRadius","5px");this.exportDialog.style.position="fixed";this.exportDialog.style.textAlign="center";this.exportDialog.style.fontFamily="Helvetica,Arial";this.exportDialog.style.backgroundColor="#000000";this.exportDialog.style.width="50px";this.exportDialog.style.height="50px";this.exportDialog.style.padding=
-"4px 2px 4px 2px";this.exportDialog.style.color="#ffffff";mxUtils.setOpacity(this.exportDialog,70);this.exportDialog.style.left=c.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";c=mxUtils.getCurrentStyle(this.editor.graph.container);this.exportDialog.style.zIndex=c.zIndex;var d=new Spinner({lines:8,length:6,width:5,radius:6,rotate:0,color:"#fff",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"28px",zIndex:2E9});d.spin(this.exportDialog);
+b+";base64,"+a+'"/></html>')):e.document.write("<html><pre>"+mxUtils.htmlEntities(a,!1)+"</pre></html>"),e.document.close())};var c=EditorUi.prototype.addChromelessToolbarItems;EditorUi.prototype.addChromelessToolbarItems=function(a){if(this.isExportToCanvas()){this.exportDialog=null;var b=a(mxUtils.bind(this,function(a){var c=mxUtils.bind(this,function(){mxEvent.removeListener(this.editor.graph.container,"click",c);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),
+this.exportDialog=null)});if(null!=this.exportDialog)c.apply(this);else{this.exportDialog=document.createElement("div");var e=b.getBoundingClientRect();mxUtils.setPrefixedStyle(this.exportDialog.style,"borderRadius","5px");this.exportDialog.style.position="fixed";this.exportDialog.style.textAlign="center";this.exportDialog.style.fontFamily="Helvetica,Arial";this.exportDialog.style.backgroundColor="#000000";this.exportDialog.style.width="50px";this.exportDialog.style.height="50px";this.exportDialog.style.padding=
+"4px 2px 4px 2px";this.exportDialog.style.color="#ffffff";mxUtils.setOpacity(this.exportDialog,70);this.exportDialog.style.left=e.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";e=mxUtils.getCurrentStyle(this.editor.graph.container);this.exportDialog.style.zIndex=e.zIndex;var d=new Spinner({lines:8,length:6,width:5,radius:6,rotate:0,color:"#fff",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"28px",zIndex:2E9});d.spin(this.exportDialog);
this.editor.exportToCanvas(mxUtils.bind(this,function(a){d.stop();this.exportDialog.style.width="auto";this.exportDialog.style.height="auto";this.exportDialog.style.padding="10px";var b=this.createImageDataUri(a,null,"png");a=document.createElement("img");a.style.maxWidth="140px";a.style.maxHeight="140px";a.style.cursor="pointer";a.style.backgroundColor="white";a.setAttribute("title",mxResources.get("openInNewWindow"));a.setAttribute("border","0");a.setAttribute("src",b);this.exportDialog.appendChild(a);
-mxEvent.addListener(a,"click",mxUtils.bind(this,function(){this.openInNewWindow(b.substring(b.indexOf(",")+1),"image/png",!0);e.apply(this,arguments)}))}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,null,null,null,null,null,null,Editor.defaultBorder);mxEvent.addListener(this.editor.graph.container,"click",e);document.body.appendChild(this.exportDialog)}mxEvent.consume(a)}),Editor.cameraLargeImage,mxResources.get("export"))}c.apply(this,
+mxEvent.addListener(a,"click",mxUtils.bind(this,function(){this.openInNewWindow(b.substring(b.indexOf(",")+1),"image/png",!0);c.apply(this,arguments)}))}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,null,null,null,null,null,null,Editor.defaultBorder);mxEvent.addListener(this.editor.graph.container,"click",c);document.body.appendChild(this.exportDialog)}mxEvent.consume(a)}),Editor.cameraLargeImage,mxResources.get("export"))}c.apply(this,
arguments)};EditorUi.prototype.saveData=function(a,b,c,d,f){this.isLocalFileSave()?this.saveLocalFile(c,a,d,f,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,e){return this.createEchoRequest(c,a,d,f,b,e)}),c,f,d)};EditorUi.prototype.saveRequest=function(a,b,c,d,f,g,m){m=null!=m?m:!mxClient.IS_IOS||!navigator.standalone;var e=this.getServiceCount(!1);isLocalStorage&&e++;var k=4>=e?2:6<e?4:3;a=new CreateDialog(this,a,mxUtils.bind(this,function(a,e){if("_blank"==e||null!=a&&0<a.length){var k=c("_blank"==
-e?null:a,e==App.MODE_DEVICE||"download"==e||null==e||"_blank"==e?"0":"1");null!=k&&(e==App.MODE_DEVICE||"download"==e||"_blank"==e?k.simulate(document,"_blank"):this.pickFolder(e,mxUtils.bind(this,function(c){g=null!=g?g:"pdf"==b?"application/pdf":"image/"+b;if(null!=d)try{this.exportFile(d,a,g,!0,e,c)}catch(C){this.handleError(C)}else this.spinner.spin(document.body,mxResources.get("saving"))&&k.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=k.getStatus()&&299>=k.getStatus())try{this.exportFile(k.getText(),
-a,g,!0,e,c)}catch(C){this.handleError(C)}else this.handleError({message:mxResources.get("errorSavingFile")})}),function(a){this.spinner.stop();this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,m,null,1<e,k,d,g,f);e=this.isServices(e)?4<e?390:270:160;this.showDialog(a.container,380,e,!0,!0);a.init()};EditorUi.prototype.isServices=function(a){return 1!=a};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};
-EditorUi.prototype.exportFile=function(a,b,c,d,f,g){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,d,f,g,m,n,y,v,A,z){if(this.spinner.spin(document.body,mxResources.get("export")))try{var e=this.editor.graph.isSelectionEmpty();c=null!=c?c:e;var k=b?null:this.editor.graph.background;k==mxConstants.NONE&&(k=null);null==k&&0==b&&(k=A?this.editor.graph.defaultPageBackgroundColor:"#ffffff");var l=this.editor.graph.getSvg(k,a,m,n,null,c,null,null,"blank"==
-v?"_blank":"self"==v?"_top":null,null,!0,A,z);d&&this.editor.graph.addSvgShadow(l);var p=this.getBaseFilename()+".svg",t=mxUtils.bind(this,function(a){this.spinner.stop();f&&a.setAttribute("content",this.getFileData(!0,null,null,null,c,y,null,null,null,!1));var b='<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a);this.isLocalFileSave()||b.length<=MAX_REQUEST_SIZE?this.saveData(p,"svg",b,"image/svg+xml"):
-this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}))});this.editor.addFontCss(l);this.editor.graph.mathEnabled&&this.editor.addMathCss(l);g?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.editor.convertImages(l,t,this.thumbImageCache)):t(l)}catch(F){this.handleError(F)}};EditorUi.prototype.addRadiobox=function(a,b,c,d,f,g,m){return this.addCheckbox(a,c,d,f,g,m,!0,b)};EditorUi.prototype.addCheckbox=function(a,
+e?null:a,e==App.MODE_DEVICE||"download"==e||null==e||"_blank"==e?"0":"1");null!=k&&(e==App.MODE_DEVICE||"download"==e||"_blank"==e?k.simulate(document,"_blank"):this.pickFolder(e,mxUtils.bind(this,function(c){g=null!=g?g:"pdf"==b?"application/pdf":"image/"+b;if(null!=d)try{this.exportFile(d,a,g,!0,e,c)}catch(A){this.handleError(A)}else this.spinner.spin(document.body,mxResources.get("saving"))&&k.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=k.getStatus()&&299>=k.getStatus())try{this.exportFile(k.getText(),
+a,g,!0,e,c)}catch(A){this.handleError(A)}else this.handleError({message:mxResources.get("errorSavingFile")})}),function(a){this.spinner.stop();this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,m,null,1<e,k,d,g,f);e=this.isServices(e)?4<e?390:270:160;this.showDialog(a.container,380,e,!0,!0);a.init()};EditorUi.prototype.isServices=function(a){return 1!=a};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};
+EditorUi.prototype.exportFile=function(a,b,c,d,f,g){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,d,f,g,m,n,z,x,B,y){if(this.spinner.spin(document.body,mxResources.get("export")))try{var e=this.editor.graph.isSelectionEmpty();c=null!=c?c:e;var k=b?null:this.editor.graph.background;k==mxConstants.NONE&&(k=null);null==k&&0==b&&(k=B?this.editor.graph.defaultPageBackgroundColor:"#ffffff");var l=this.editor.graph.getSvg(k,a,m,n,null,c,null,null,"blank"==
+x?"_blank":"self"==x?"_top":null,null,!0,B,y);d&&this.editor.graph.addSvgShadow(l);var p=this.getBaseFilename()+".svg",t=mxUtils.bind(this,function(a){this.spinner.stop();f&&a.setAttribute("content",this.getFileData(!0,null,null,null,c,z,null,null,null,!1));var b='<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a);this.isLocalFileSave()||b.length<=MAX_REQUEST_SIZE?this.saveData(p,"svg",b,"image/svg+xml"):
+this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}))});this.editor.addFontCss(l);this.editor.graph.mathEnabled&&this.editor.addMathCss(l);g?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.editor.convertImages(l,t,this.thumbImageCache)):t(l)}catch(E){this.handleError(E)}};EditorUi.prototype.addRadiobox=function(a,b,c,d,f,g,m){return this.addCheckbox(a,c,d,f,g,m,!0,b)};EditorUi.prototype.addCheckbox=function(a,
b,c,d,f,g,m,n){g=null!=g?g:!0;var e=document.createElement("input");e.style.marginRight="8px";e.style.marginTop="16px";e.setAttribute("type",m?"radio":"checkbox");m="geCheckbox-"+Editor.guid();e.id=m;null!=n&&e.setAttribute("name",n);c&&(e.setAttribute("checked","checked"),e.defaultChecked=!0);d&&e.setAttribute("disabled","disabled");g&&(a.appendChild(e),c=document.createElement("label"),mxUtils.write(c,b),c.setAttribute("for",m),a.appendChild(c),f||mxUtils.br(a));return e};EditorUi.prototype.addEditButton=
-function(a,b){var e=this.addCheckbox(a,mxResources.get("edit")+":",!0,null,!0);e.style.marginLeft="24px";var c=this.getCurrentFile(),d="";null!=c&&c.getMode()!=App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER&&(d=window.location.href);var k=document.createElement("select");k.style.width="120px";k.style.marginLeft="8px";k.style.marginRight="10px";k.className="geBtn";c=document.createElement("option");c.setAttribute("value","blank");mxUtils.write(c,mxResources.get("makeCopy"));k.appendChild(c);c=document.createElement("option");
-c.setAttribute("value","custom");mxUtils.write(c,mxResources.get("custom")+"...");k.appendChild(c);a.appendChild(k);mxEvent.addListener(k,"change",mxUtils.bind(this,function(){if("custom"==k.value){var a=new FilenameDialog(this,d,mxResources.get("ok"),function(a){null!=a?d=a:k.value="blank"},mxResources.get("url"),null,null,null,null,function(){k.value="blank"});this.showDialog(a.container,300,80,!0,!1);a.init()}}));mxEvent.addListener(e,"change",mxUtils.bind(this,function(){e.checked&&(null==b||
-b.checked)?k.removeAttribute("disabled"):k.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return e.checked?"blank"===k.value?"_blank":d:null},getEditInput:function(){return e},getEditSelect:function(){return k}}};EditorUi.prototype.addLinkSection=function(a,b){function e(){f.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=k&&k!=mxConstants.NONE?"border:1px solid black;background-color:"+k:"background-position:center center;background-repeat:no-repeat;background-image:url('"+
-Dialog.prototype.closeImage+"')")+';"></div>'}mxUtils.write(a,mxResources.get("links")+":");var c=document.createElement("select");c.style.width="100px";c.style.marginLeft="8px";c.style.marginRight="10px";c.className="geBtn";var d=document.createElement("option");d.setAttribute("value","auto");mxUtils.write(d,mxResources.get("automatic"));c.appendChild(d);d=document.createElement("option");d.setAttribute("value","blank");mxUtils.write(d,mxResources.get("openInNewWindow"));c.appendChild(d);d=document.createElement("option");
-d.setAttribute("value","self");mxUtils.write(d,mxResources.get("openInThisWindow"));c.appendChild(d);b&&(d=document.createElement("option"),d.setAttribute("value","frame"),mxUtils.write(d,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),c.appendChild(d));a.appendChild(c);mxUtils.write(a,mxResources.get("borderColor")+":");var k="#0000ff",f=null,f=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(k||"none",function(a){k=a;e()});mxEvent.consume(a)}));e();f.style.padding=
-mxClient.IS_FF?"4px 2px 4px 2px":"4px";f.style.marginLeft="4px";f.style.height="22px";f.style.width="22px";f.style.position="relative";f.style.top=mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";f.className="geColorBtn";a.appendChild(f);mxUtils.br(a);return{getColor:function(){return k},getTarget:function(){return c.value},focus:function(){c.focus()}}};EditorUi.prototype.createUrlParameters=function(a,b,c,d,f,g,m){m=null!=m?m:[];d&&("https://viewer.diagrams.net"==EditorUi.lightboxHost&&
-"1"!=urlParams.dev||m.push("lightbox=1"),"auto"!=a&&m.push("target="+a),null!=b&&b!=mxConstants.NONE&&m.push("highlight="+("#"==b.charAt(0)?b.substring(1):b)),null!=f&&0<f.length&&m.push("edit="+encodeURIComponent(f)),g&&m.push("layers=1"),this.editor.graph.foldingEnabled&&m.push("nav=1"));c&&null!=this.currentPage&&null!=this.pages&&this.currentPage!=this.pages[0]&&m.push("page-id="+this.currentPage.getId());return m};EditorUi.prototype.createLink=function(a,b,c,d,f,g,m,n,y,v){y=this.createUrlParameters(a,
-b,c,d,f,g,y);a=this.getCurrentFile();b=!0;null!=m?c="#U"+encodeURIComponent(m):(a=this.getCurrentFile(),n||null==a||a.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?this.getFileData(!0,null,null,null,null,null,null,!0,null,!1):Graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):(c="#"+a.getHash(),b=!1));b&&null!=a&&null!=a.getTitle()&&a.getTitle()!=this.defaultFilename&&y.push("title="+encodeURIComponent(a.getTitle()));v&&1<c.length&&(y.push("open="+c.substring(1)),c="");return(d&&
-"1"!=urlParams.dev?EditorUi.lightboxHost:mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?EditorUi.drawHost:"https://"+window.location.host)+"/"+(0<y.length?"?"+y.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,b,c,d,f,g,m,n,y,v,A){this.getBasenames();var e={};""!=f&&f!=mxConstants.NONE&&(e.highlight=f);"auto"!==d&&(e.target=d);y||(e.lightbox=!1);e.nav=this.editor.graph.foldingEnabled;c=parseInt(c);isNaN(c)||100==c||(e.zoom=c/100);c=[];m&&(c.push("pages"),
-e.resize=!0,null!=this.pages&&null!=this.currentPage&&(e.page=mxUtils.indexOf(this.pages,this.currentPage)));b&&(c.push("zoom"),e.resize=!0);n&&c.push("layers");0<c.length&&(y&&c.push("lightbox"),e.toolbar=c.join(" "));null!=v&&0<v.length&&(e.edit=v);null!=a?e.url=a:e.xml=this.getFileData(!0,null,null,null,null,!m);b='<div class="mxgraph" style="'+(g?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":"")+'" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(e))+'"></div>';a=null!=a?"&fetch="+
-encodeURIComponent(a):"";A(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":EditorUi.lightboxHost+"/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer-static.min.js":window.VIEWER_URL?window.VIEWER_URL:EditorUi.lightboxHost+"/js/viewer-static.min.js")+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,c,d){var e=document.createElement("div");e.style.whiteSpace="nowrap";var k=document.createElement("h3");mxUtils.write(k,
+function(a,b){var c=this.addCheckbox(a,mxResources.get("edit")+":",!0,null,!0);c.style.marginLeft="24px";var e=this.getCurrentFile(),d="";null!=e&&e.getMode()!=App.MODE_DEVICE&&e.getMode()!=App.MODE_BROWSER&&(d=window.location.href);var k=document.createElement("select");k.style.width="120px";k.style.marginLeft="8px";k.style.marginRight="10px";k.className="geBtn";e=document.createElement("option");e.setAttribute("value","blank");mxUtils.write(e,mxResources.get("makeCopy"));k.appendChild(e);e=document.createElement("option");
+e.setAttribute("value","custom");mxUtils.write(e,mxResources.get("custom")+"...");k.appendChild(e);a.appendChild(k);mxEvent.addListener(k,"change",mxUtils.bind(this,function(){if("custom"==k.value){var a=new FilenameDialog(this,d,mxResources.get("ok"),function(a){null!=a?d=a:k.value="blank"},mxResources.get("url"),null,null,null,null,function(){k.value="blank"});this.showDialog(a.container,300,80,!0,!1);a.init()}}));mxEvent.addListener(c,"change",mxUtils.bind(this,function(){c.checked&&(null==b||
+b.checked)?k.removeAttribute("disabled"):k.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return c.checked?"blank"===k.value?"_blank":d:null},getEditInput:function(){return c},getEditSelect:function(){return k}}};EditorUi.prototype.addLinkSection=function(a,b){function c(){f.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=k&&k!=mxConstants.NONE?"border:1px solid black;background-color:"+k:"background-position:center center;background-repeat:no-repeat;background-image:url('"+
+Dialog.prototype.closeImage+"')")+';"></div>'}mxUtils.write(a,mxResources.get("links")+":");var e=document.createElement("select");e.style.width="100px";e.style.marginLeft="8px";e.style.marginRight="10px";e.className="geBtn";var d=document.createElement("option");d.setAttribute("value","auto");mxUtils.write(d,mxResources.get("automatic"));e.appendChild(d);d=document.createElement("option");d.setAttribute("value","blank");mxUtils.write(d,mxResources.get("openInNewWindow"));e.appendChild(d);d=document.createElement("option");
+d.setAttribute("value","self");mxUtils.write(d,mxResources.get("openInThisWindow"));e.appendChild(d);b&&(d=document.createElement("option"),d.setAttribute("value","frame"),mxUtils.write(d,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),e.appendChild(d));a.appendChild(e);mxUtils.write(a,mxResources.get("borderColor")+":");var k="#0000ff",f=null,f=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(k||"none",function(a){k=a;c()});mxEvent.consume(a)}));c();f.style.padding=
+mxClient.IS_FF?"4px 2px 4px 2px":"4px";f.style.marginLeft="4px";f.style.height="22px";f.style.width="22px";f.style.position="relative";f.style.top=mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";f.className="geColorBtn";a.appendChild(f);mxUtils.br(a);return{getColor:function(){return k},getTarget:function(){return e.value},focus:function(){e.focus()}}};EditorUi.prototype.createUrlParameters=function(a,b,c,d,f,g,m){m=null!=m?m:[];d&&("https://viewer.diagrams.net"==EditorUi.lightboxHost&&
+"1"!=urlParams.dev||m.push("lightbox=1"),"auto"!=a&&m.push("target="+a),null!=b&&b!=mxConstants.NONE&&m.push("highlight="+("#"==b.charAt(0)?b.substring(1):b)),null!=f&&0<f.length&&m.push("edit="+encodeURIComponent(f)),g&&m.push("layers=1"),this.editor.graph.foldingEnabled&&m.push("nav=1"));c&&null!=this.currentPage&&null!=this.pages&&this.currentPage!=this.pages[0]&&m.push("page-id="+this.currentPage.getId());return m};EditorUi.prototype.createLink=function(a,b,c,d,f,g,m,n,z,x){z=this.createUrlParameters(a,
+b,c,d,f,g,z);a=this.getCurrentFile();b=!0;null!=m?c="#U"+encodeURIComponent(m):(a=this.getCurrentFile(),n||null==a||a.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?this.getFileData(!0,null,null,null,null,null,null,!0,null,!1):Graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):(c="#"+a.getHash(),b=!1));b&&null!=a&&null!=a.getTitle()&&a.getTitle()!=this.defaultFilename&&z.push("title="+encodeURIComponent(a.getTitle()));x&&1<c.length&&(z.push("open="+c.substring(1)),c="");return(d&&
+"1"!=urlParams.dev?EditorUi.lightboxHost:mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?EditorUi.drawHost:"https://"+window.location.host)+"/"+(0<z.length?"?"+z.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,b,c,d,f,g,m,n,z,x,B){this.getBasenames();var e={};""!=f&&f!=mxConstants.NONE&&(e.highlight=f);"auto"!==d&&(e.target=d);z||(e.lightbox=!1);e.nav=this.editor.graph.foldingEnabled;c=parseInt(c);isNaN(c)||100==c||(e.zoom=c/100);c=[];m&&(c.push("pages"),
+e.resize=!0,null!=this.pages&&null!=this.currentPage&&(e.page=mxUtils.indexOf(this.pages,this.currentPage)));b&&(c.push("zoom"),e.resize=!0);n&&c.push("layers");0<c.length&&(z&&c.push("lightbox"),e.toolbar=c.join(" "));null!=x&&0<x.length&&(e.edit=x);null!=a?e.url=a:e.xml=this.getFileData(!0,null,null,null,null,!m);b='<div class="mxgraph" style="'+(g?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":"")+'" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(e))+'"></div>';a=null!=a?"&fetch="+
+encodeURIComponent(a):"";B(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":EditorUi.lightboxHost+"/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer-static.min.js":window.VIEWER_URL?window.VIEWER_URL:EditorUi.lightboxHost+"/js/viewer-static.min.js")+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,c,d){var e=document.createElement("div");e.style.whiteSpace="nowrap";var k=document.createElement("h3");mxUtils.write(k,
mxResources.get("html"));k.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";e.appendChild(k);var f=document.createElement("div");f.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var g=document.createElement("input");g.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";g.setAttribute("value","url");g.setAttribute("type","radio");g.setAttribute("name","type-embedhtmldialog");k=g.cloneNode(!0);k.setAttribute("value",
-"copy");f.appendChild(k);var l=document.createElement("span");mxUtils.write(l,mxResources.get("includeCopyOfMyDiagram"));f.appendChild(l);mxUtils.br(f);f.appendChild(g);l=document.createElement("span");mxUtils.write(l,mxResources.get("publicDiagramUrl"));f.appendChild(l);var m=this.getCurrentFile();null==c&&null!=m&&m.constructor==window.DriveFile&&(l=document.createElement("a"),l.style.paddingLeft="12px",l.style.color="gray",l.style.cursor="pointer",mxUtils.write(l,mxResources.get("share")),f.appendChild(l),
-mxEvent.addListener(l,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(m.getId())})));k.setAttribute("checked","checked");null==c&&g.setAttribute("disabled","disabled");e.appendChild(f);var p=this.addLinkSection(e),n=this.addCheckbox(e,mxResources.get("zoom"),!0,null,!0);mxUtils.write(e,":");var B=document.createElement("input");B.setAttribute("type","text");B.style.marginRight="16px";B.style.width="60px";B.style.marginLeft="4px";B.style.marginRight="12px";B.value=
-"100%";e.appendChild(B);var C=this.addCheckbox(e,mxResources.get("fit"),!0),f=null!=this.pages&&1<this.pages.length,G=G=this.addCheckbox(e,mxResources.get("allPages"),f,!f),D=this.addCheckbox(e,mxResources.get("layers"),!0),H=this.addCheckbox(e,mxResources.get("lightbox"),!0),F=this.addEditButton(e,H),I=F.getEditInput();I.style.marginBottom="16px";mxEvent.addListener(H,"change",function(){H.checked?I.removeAttribute("disabled"):I.setAttribute("disabled","disabled");I.checked&&H.checked?F.getEditSelect().removeAttribute("disabled"):
-F.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,e,mxUtils.bind(this,function(){d(g.checked?c:null,n.checked,B.value,p.getTarget(),p.getColor(),C.checked,G.checked,D.checked,H.checked,F.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);k.focus()};EditorUi.prototype.showPublishLinkDialog=function(a,b,c,d,f,g){var e=document.createElement("div");e.style.whiteSpace="nowrap";var k=document.createElement("h3");mxUtils.write(k,a||mxResources.get("link"));k.style.cssText=
-"width:100%;text-align:center;margin-top:0px;margin-bottom:12px";e.appendChild(k);var l=this.getCurrentFile(),k="https://www.diagrams.net/doc/faq/publish-diagram-as-link";a=0;if(null!=l&&l.constructor==window.DriveFile&&!b){a=80;var k="https://www.diagrams.net/doc/faq/google-drive-publicly-publish-diagram",m=document.createElement("div");m.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;";var p=document.createElement("div");
-p.style.whiteSpace="normal";mxUtils.write(p,mxResources.get("linkAccountRequired"));m.appendChild(p);p=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(l.getId())}));p.style.marginTop="12px";p.className="geBtn";m.appendChild(p);e.appendChild(m);p=document.createElement("a");p.style.paddingLeft="12px";p.style.color="gray";p.style.fontSize="11px";p.style.cursor="pointer";mxUtils.write(p,mxResources.get("check"));m.appendChild(p);mxEvent.addListener(p,"click",
+"copy");f.appendChild(k);var l=document.createElement("span");mxUtils.write(l,mxResources.get("includeCopyOfMyDiagram"));f.appendChild(l);mxUtils.br(f);f.appendChild(g);l=document.createElement("span");mxUtils.write(l,mxResources.get("publicDiagramUrl"));f.appendChild(l);var p=this.getCurrentFile();null==c&&null!=p&&p.constructor==window.DriveFile&&(l=document.createElement("a"),l.style.paddingLeft="12px",l.style.color="gray",l.style.cursor="pointer",mxUtils.write(l,mxResources.get("share")),f.appendChild(l),
+mxEvent.addListener(l,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(p.getId())})));k.setAttribute("checked","checked");null==c&&g.setAttribute("disabled","disabled");e.appendChild(f);var m=this.addLinkSection(e),n=this.addCheckbox(e,mxResources.get("zoom"),!0,null,!0);mxUtils.write(e,":");var C=document.createElement("input");C.setAttribute("type","text");C.style.marginRight="16px";C.style.width="60px";C.style.marginLeft="4px";C.style.marginRight="12px";C.value=
+"100%";e.appendChild(C);var A=this.addCheckbox(e,mxResources.get("fit"),!0),f=null!=this.pages&&1<this.pages.length,F=F=this.addCheckbox(e,mxResources.get("allPages"),f,!f),D=this.addCheckbox(e,mxResources.get("layers"),!0),G=this.addCheckbox(e,mxResources.get("lightbox"),!0),E=this.addEditButton(e,G),I=E.getEditInput();I.style.marginBottom="16px";mxEvent.addListener(G,"change",function(){G.checked?I.removeAttribute("disabled"):I.setAttribute("disabled","disabled");I.checked&&G.checked?E.getEditSelect().removeAttribute("disabled"):
+E.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,e,mxUtils.bind(this,function(){d(g.checked?c:null,n.checked,C.value,m.getTarget(),m.getColor(),A.checked,F.checked,D.checked,G.checked,E.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);k.focus()};EditorUi.prototype.showPublishLinkDialog=function(a,b,c,d,f,g){var e=document.createElement("div");e.style.whiteSpace="nowrap";var k=document.createElement("h3");mxUtils.write(k,a||mxResources.get("link"));k.style.cssText=
+"width:100%;text-align:center;margin-top:0px;margin-bottom:12px";e.appendChild(k);var l=this.getCurrentFile(),k="https://www.diagrams.net/doc/faq/publish-diagram-as-link";a=0;if(null!=l&&l.constructor==window.DriveFile&&!b){a=80;var k="https://www.diagrams.net/doc/faq/google-drive-publicly-publish-diagram",p=document.createElement("div");p.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;";var m=document.createElement("div");
+m.style.whiteSpace="normal";mxUtils.write(m,mxResources.get("linkAccountRequired"));p.appendChild(m);m=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(l.getId())}));m.style.marginTop="12px";m.className="geBtn";p.appendChild(m);e.appendChild(p);m=document.createElement("a");m.style.paddingLeft="12px";m.style.color="gray";m.style.fontSize="11px";m.style.cursor="pointer";mxUtils.write(m,mxResources.get("check"));p.appendChild(m);mxEvent.addListener(m,"click",
mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(a){this.spinner.stop();a=new ErrorDialog(this,null,mxResources.get(null!=a?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));this.showDialog(a.container,300,80,!0,!1);a.init()}))}))}var n=null,t=null;if(null!=c||null!=d)a+=30,mxUtils.write(e,mxResources.get("width")+":"),n=document.createElement("input"),n.setAttribute("type","text"),
-n.style.marginRight="16px",n.style.width="50px",n.style.marginLeft="6px",n.style.marginRight="16px",n.style.marginBottom="10px",n.value="100%",e.appendChild(n),mxUtils.write(e,mxResources.get("height")+":"),t=document.createElement("input"),t.setAttribute("type","text"),t.style.width="50px",t.style.marginLeft="6px",t.style.marginBottom="10px",t.value=d+"px",e.appendChild(t),mxUtils.br(e);var u=this.addLinkSection(e,g);c=null!=this.pages&&1<this.pages.length;var G=null;if(null==l||l.constructor!=window.DriveFile||
-b)G=this.addCheckbox(e,mxResources.get("allPages"),c,!c);var D=this.addCheckbox(e,mxResources.get("lightbox"),!0,null,null,!g),H=this.addEditButton(e,D),F=H.getEditInput();g&&(F.style.marginLeft=D.style.marginLeft,D.style.display="none",a-=30);var I=this.addCheckbox(e,mxResources.get("layers"),!0);I.style.marginLeft=F.style.marginLeft;I.style.marginBottom="16px";I.style.marginTop="8px";mxEvent.addListener(D,"change",function(){D.checked?(I.removeAttribute("disabled"),F.removeAttribute("disabled")):
-(I.setAttribute("disabled","disabled"),F.setAttribute("disabled","disabled"));F.checked&&D.checked?H.getEditSelect().removeAttribute("disabled"):H.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,e,mxUtils.bind(this,function(){f(u.getTarget(),u.getColor(),null==G?!0:G.checked,D.checked,H.getLink(),I.checked,null!=n?n.value:null,null!=t?t.value:null)}),null,mxResources.get("create"),k);this.showDialog(b.container,340,254+a,!0,!0);null!=n?(n.focus(),mxClient.IS_GC||mxClient.IS_FF||
+n.style.marginRight="16px",n.style.width="50px",n.style.marginLeft="6px",n.style.marginRight="16px",n.style.marginBottom="10px",n.value="100%",e.appendChild(n),mxUtils.write(e,mxResources.get("height")+":"),t=document.createElement("input"),t.setAttribute("type","text"),t.style.width="50px",t.style.marginLeft="6px",t.style.marginBottom="10px",t.value=d+"px",e.appendChild(t),mxUtils.br(e);var u=this.addLinkSection(e,g);c=null!=this.pages&&1<this.pages.length;var F=null;if(null==l||l.constructor!=window.DriveFile||
+b)F=this.addCheckbox(e,mxResources.get("allPages"),c,!c);var D=this.addCheckbox(e,mxResources.get("lightbox"),!0,null,null,!g),G=this.addEditButton(e,D),E=G.getEditInput();g&&(E.style.marginLeft=D.style.marginLeft,D.style.display="none",a-=30);var I=this.addCheckbox(e,mxResources.get("layers"),!0);I.style.marginLeft=E.style.marginLeft;I.style.marginBottom="16px";I.style.marginTop="8px";mxEvent.addListener(D,"change",function(){D.checked?(I.removeAttribute("disabled"),E.removeAttribute("disabled")):
+(I.setAttribute("disabled","disabled"),E.setAttribute("disabled","disabled"));E.checked&&D.checked?G.getEditSelect().removeAttribute("disabled"):G.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,e,mxUtils.bind(this,function(){f(u.getTarget(),u.getColor(),null==F?!0:F.checked,D.checked,G.getLink(),I.checked,null!=n?n.value:null,null!=t?t.value:null)}),null,mxResources.get("create"),k);this.showDialog(b.container,340,254+a,!0,!0);null!=n?(n.focus(),mxClient.IS_GC||mxClient.IS_FF||
5<=document.documentMode?n.select():document.execCommand("selectAll",!1,null)):u.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,c,d,f){var e=document.createElement("div");e.style.whiteSpace="nowrap";var k=document.createElement("h3");mxUtils.write(k,mxResources.get("image"));k.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:"+(f?"10":"4")+"px";e.appendChild(k);if(f){mxUtils.write(e,mxResources.get("zoom")+":");var g=document.createElement("input");g.setAttribute("type",
-"text");g.style.marginRight="16px";g.style.width="60px";g.style.marginLeft="4px";g.style.marginRight="12px";g.value=this.lastExportZoom||"100%";e.appendChild(g);mxUtils.write(e,mxResources.get("borderWidth")+":");var l=document.createElement("input");l.setAttribute("type","text");l.style.marginRight="16px";l.style.width="60px";l.style.marginLeft="4px";l.value=this.lastExportBorder||"0";e.appendChild(l);mxUtils.br(e)}var p=this.addCheckbox(e,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),
-m=d?null:this.addCheckbox(e,mxResources.get("includeCopyOfMyDiagram"),!0),k=this.editor.graph,n=d?null:this.addCheckbox(e,mxResources.get("transparentBackground"),k.background==mxConstants.NONE||null==k.background);null!=n&&(n.style.marginBottom="16px");a=new CustomDialog(this,e,mxUtils.bind(this,function(){var a=parseInt(g.value)/100||1,b=parseInt(l.value)||0;c(!p.checked,null!=m?m.checked:!1,null!=n?n.checked:!1,a,b)}),null,a,b);this.showDialog(a.container,300,(f?25:0)+(d?125:210),!0,!0)};EditorUi.prototype.showExportDialog=
-function(a,b,c,d,f,g,m,n,y){m=null!=m?m:!0;var e=document.createElement("div");e.style.whiteSpace="nowrap";var k=this.editor.graph,l="jpeg"==n?196:300,p=document.createElement("h3");mxUtils.write(p,a);p.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";e.appendChild(p);mxUtils.write(e,mxResources.get("zoom")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.marginRight="16px";t.style.width="60px";t.style.marginLeft="4px";t.style.marginRight=
-"12px";t.value=this.lastExportZoom||"100%";e.appendChild(t);mxUtils.write(e,mxResources.get("borderWidth")+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.marginRight="16px";q.style.width="60px";q.style.marginLeft="4px";q.value=this.lastExportBorder||"0";e.appendChild(q);mxUtils.br(e);var u=this.addCheckbox(e,mxResources.get("selectionOnly"),!1,k.isSelectionEmpty()),x=document.createElement("input");x.style.marginTop="16px";x.style.marginRight="8px";x.style.marginLeft=
-"24px";x.setAttribute("disabled","disabled");x.setAttribute("type","checkbox");var F=document.createElement("select");F.style.marginTop="16px";F.style.marginLeft="8px";a=["selectionOnly","diagram","page"];for(p=0;p<a.length;p++)if(!k.isSelectionEmpty()||"selectionOnly"!=a[p]){var I=document.createElement("option");mxUtils.write(I,mxResources.get(a[p]));I.setAttribute("value",a[p]);F.appendChild(I)}y?(mxUtils.write(e,mxResources.get("size")+":"),e.appendChild(F),mxUtils.br(e),l+=26,mxEvent.addListener(F,
-"change",function(){"selectionOnly"==F.value&&(u.checked=!0)})):g&&(e.appendChild(x),mxUtils.write(e,mxResources.get("crop")),mxUtils.br(e),l+=26,mxEvent.addListener(u,"change",function(){u.checked?x.removeAttribute("disabled"):x.setAttribute("disabled","disabled")}));k.isSelectionEmpty()?y&&(u.style.display="none",u.nextSibling.style.display="none",u.nextSibling.nextSibling.style.display="none",l-=26):(F.value="diagram",x.setAttribute("checked","checked"),x.defaultChecked=!0,mxEvent.addListener(u,
-"change",function(){F.value=u.checked?"selectionOnly":"diagram"}));var J=this.addCheckbox(e,mxResources.get("transparentBackground"),!1,null,null,"jpeg"!=n),E=null;"dark"==uiTheme&&(E=this.addCheckbox(e,mxResources.get("dark"),!0),l+=26);var K=this.addCheckbox(e,mxResources.get("shadow"),k.shadowVisible),M=document.createElement("input");M.style.marginTop="16px";M.style.marginRight="8px";M.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||M.setAttribute("disabled","disabled");
+"text");g.style.marginRight="16px";g.style.width="60px";g.style.marginLeft="4px";g.style.marginRight="12px";g.value=this.lastExportZoom||"100%";e.appendChild(g);mxUtils.write(e,mxResources.get("borderWidth")+":");var l=document.createElement("input");l.setAttribute("type","text");l.style.marginRight="16px";l.style.width="60px";l.style.marginLeft="4px";l.value=this.lastExportBorder||"0";e.appendChild(l);mxUtils.br(e)}var m=this.addCheckbox(e,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),
+p=d?null:this.addCheckbox(e,mxResources.get("includeCopyOfMyDiagram"),!0),k=this.editor.graph,n=d?null:this.addCheckbox(e,mxResources.get("transparentBackground"),k.background==mxConstants.NONE||null==k.background);null!=n&&(n.style.marginBottom="16px");a=new CustomDialog(this,e,mxUtils.bind(this,function(){var a=parseInt(g.value)/100||1,b=parseInt(l.value)||0;c(!m.checked,null!=p?p.checked:!1,null!=n?n.checked:!1,a,b)}),null,a,b);this.showDialog(a.container,300,(f?25:0)+(d?125:210),!0,!0)};EditorUi.prototype.showExportDialog=
+function(a,b,c,d,f,g,m,n,z){m=null!=m?m:!0;var e=document.createElement("div");e.style.whiteSpace="nowrap";var k=this.editor.graph,l="jpeg"==n?196:300,p=document.createElement("h3");mxUtils.write(p,a);p.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";e.appendChild(p);mxUtils.write(e,mxResources.get("zoom")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.marginRight="16px";t.style.width="60px";t.style.marginLeft="4px";t.style.marginRight=
+"12px";t.value=this.lastExportZoom||"100%";e.appendChild(t);mxUtils.write(e,mxResources.get("borderWidth")+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.marginRight="16px";q.style.width="60px";q.style.marginLeft="4px";q.value=this.lastExportBorder||"0";e.appendChild(q);mxUtils.br(e);var u=this.addCheckbox(e,mxResources.get("selectionOnly"),!1,k.isSelectionEmpty()),v=document.createElement("input");v.style.marginTop="16px";v.style.marginRight="8px";v.style.marginLeft=
+"24px";v.setAttribute("disabled","disabled");v.setAttribute("type","checkbox");var E=document.createElement("select");E.style.marginTop="16px";E.style.marginLeft="8px";a=["selectionOnly","diagram","page"];for(p=0;p<a.length;p++)if(!k.isSelectionEmpty()||"selectionOnly"!=a[p]){var I=document.createElement("option");mxUtils.write(I,mxResources.get(a[p]));I.setAttribute("value",a[p]);E.appendChild(I)}z?(mxUtils.write(e,mxResources.get("size")+":"),e.appendChild(E),mxUtils.br(e),l+=26,mxEvent.addListener(E,
+"change",function(){"selectionOnly"==E.value&&(u.checked=!0)})):g&&(e.appendChild(v),mxUtils.write(e,mxResources.get("crop")),mxUtils.br(e),l+=26,mxEvent.addListener(u,"change",function(){u.checked?v.removeAttribute("disabled"):v.setAttribute("disabled","disabled")}));k.isSelectionEmpty()?z&&(u.style.display="none",u.nextSibling.style.display="none",u.nextSibling.nextSibling.style.display="none",l-=26):(E.value="diagram",v.setAttribute("checked","checked"),v.defaultChecked=!0,mxEvent.addListener(u,
+"change",function(){E.value=u.checked?"selectionOnly":"diagram"}));var J=this.addCheckbox(e,mxResources.get("transparentBackground"),!1,null,null,"jpeg"!=n),H=null;"dark"==uiTheme&&(H=this.addCheckbox(e,mxResources.get("dark"),!0),l+=26);var K=this.addCheckbox(e,mxResources.get("shadow"),k.shadowVisible),M=document.createElement("input");M.style.marginTop="16px";M.style.marginRight="8px";M.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||M.setAttribute("disabled","disabled");
b&&(e.appendChild(M),mxUtils.write(e,mxResources.get("embedImages")),mxUtils.br(e),l+=26);var N=null;if("png"==n||"jpeg"==n)N=this.addCheckbox(e,mxResources.get("grid"),!1,this.isOffline()||!this.canvasSupported,!1,!0),l+=26;var Y=this.addCheckbox(e,mxResources.get("includeCopyOfMyDiagram"),m,null,null,"jpeg"!=n);Y.style.marginBottom="16px";var L=document.createElement("select");L.style.maxWidth="260px";L.style.marginLeft="8px";L.style.marginRight="10px";L.className="geBtn";b=document.createElement("option");
b.setAttribute("value","auto");mxUtils.write(b,mxResources.get("automatic"));L.appendChild(b);b=document.createElement("option");b.setAttribute("value","blank");mxUtils.write(b,mxResources.get("openInNewWindow"));L.appendChild(b);b=document.createElement("option");b.setAttribute("value","self");mxUtils.write(b,mxResources.get("openInThisWindow"));L.appendChild(b);"svg"==n&&(mxUtils.write(e,mxResources.get("links")+":"),e.appendChild(L),mxUtils.br(e),mxUtils.br(e),l+=26);c=new CustomDialog(this,e,
-mxUtils.bind(this,function(){this.lastExportBorder=q.value;this.lastExportZoom=t.value;f(t.value,J.checked,!u.checked,K.checked,Y.checked,M.checked,q.value,x.checked,!1,L.value,null!=N?N.checked:null,null!=E?E.checked:null,F.value)}),null,c,d);this.showDialog(c.container,340,l,!0,!0,null,null,null,null,!0);t.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?t.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,b,c,d,f){var e=document.createElement("div");
-e.style.whiteSpace="nowrap";var k=this.editor.graph;if(null!=b){var g=document.createElement("h3");mxUtils.write(g,b);g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";e.appendChild(g)}var l=this.addCheckbox(e,mxResources.get("fit"),!0),p=this.addCheckbox(e,mxResources.get("shadow"),k.shadowVisible&&d,!d),m=this.addCheckbox(e,c),n=this.addCheckbox(e,mxResources.get("lightbox"),!0),t=this.addEditButton(e,n),C=t.getEditInput(),G=1<k.model.getChildCount(k.model.getRoot()),
-D=this.addCheckbox(e,mxResources.get("layers"),G,!G);D.style.marginLeft=C.style.marginLeft;D.style.marginBottom="12px";D.style.marginTop="8px";mxEvent.addListener(n,"change",function(){n.checked?(G&&D.removeAttribute("disabled"),C.removeAttribute("disabled")):(D.setAttribute("disabled","disabled"),C.setAttribute("disabled","disabled"));C.checked&&n.checked?t.getEditSelect().removeAttribute("disabled"):t.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,e,mxUtils.bind(this,
-function(){a(l.checked,p.checked,m.checked,n.checked,t.getLink(),D.checked)}),null,mxResources.get("embed"),f);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,b,c,d,f,g,m,n){function e(b){var e=" ",p="";d&&(e=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('"+
+mxUtils.bind(this,function(){this.lastExportBorder=q.value;this.lastExportZoom=t.value;f(t.value,J.checked,!u.checked,K.checked,Y.checked,M.checked,q.value,v.checked,!1,L.value,null!=N?N.checked:null,null!=H?H.checked:null,E.value)}),null,c,d);this.showDialog(c.container,340,l,!0,!0,null,null,null,null,!0);t.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?t.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,b,c,d,f){var e=document.createElement("div");
+e.style.whiteSpace="nowrap";var k=this.editor.graph;if(null!=b){var g=document.createElement("h3");mxUtils.write(g,b);g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";e.appendChild(g)}var l=this.addCheckbox(e,mxResources.get("fit"),!0),m=this.addCheckbox(e,mxResources.get("shadow"),k.shadowVisible&&d,!d),p=this.addCheckbox(e,c),n=this.addCheckbox(e,mxResources.get("lightbox"),!0),t=this.addEditButton(e,n),A=t.getEditInput(),F=1<k.model.getChildCount(k.model.getRoot()),
+D=this.addCheckbox(e,mxResources.get("layers"),F,!F);D.style.marginLeft=A.style.marginLeft;D.style.marginBottom="12px";D.style.marginTop="8px";mxEvent.addListener(n,"change",function(){n.checked?(F&&D.removeAttribute("disabled"),A.removeAttribute("disabled")):(D.setAttribute("disabled","disabled"),A.setAttribute("disabled","disabled"));A.checked&&n.checked?t.getEditSelect().removeAttribute("disabled"):t.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,e,mxUtils.bind(this,
+function(){a(l.checked,m.checked,p.checked,n.checked,t.getLink(),D.checked)}),null,mxResources.get("embed"),f);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,b,c,d,f,g,m,n){function e(b){var e=" ",p="";d&&(e=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('"+
EditorUi.lightboxHost+"/?client=1"+(null!=l?"&page="+l:"")+(f?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",p+="cursor:pointer;");a&&(p+="max-width:100%;");var n="";c&&(n=' width="'+Math.round(k.width)+'" height="'+Math.round(k.height)+'"');m('<img src="'+b+'"'+n+(""!=p?' style="'+p+'"':"")+e+"/>")}var k=this.editor.graph.getGraphBounds(),l=this.getSelectedPageIndex();if(this.isExportToCanvas())this.editor.exportToCanvas(mxUtils.bind(this,function(a){var b=d?this.getFileData(!0):null;a=
this.createImageDataUri(a,b,"png");e(a)}),null,null,null,mxUtils.bind(this,function(a){n({message:mxResources.get("unknownError")})}),null,!0,c?2:1,null,b,null,null,Editor.defaultBorder);else if(b=this.getFileData(!0),k.width*k.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){var p="";c&&(p="&w="+Math.round(2*k.width)+"&h="+Math.round(2*k.height));var t=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(d?"1":"0")+p+"&xml="+encodeURIComponent(b));t.send(mxUtils.bind(this,function(){200<=t.getStatus()&&
299>=t.getStatus()?e("data:image/png;base64,"+t.getText()):n({message:mxResources.get("unknownError")})}))}else n({message:mxResources.get("drawingTooLarge")})};EditorUi.prototype.createEmbedSvg=function(a,b,c,d,f,g,m){var e=this.editor.graph.getSvg(null,null,null,null,null,null,null,null,null,null,!c),k=e.getElementsByTagName("a");if(null!=k)for(var l=0;l<k.length;l++){var p=k[l].getAttribute("href");null!=p&&"#"==p.charAt(0)&&"_blank"==k[l].getAttribute("target")&&k[l].removeAttribute("target")}d&&
e.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(e);if(c){var n=" ",t="";d&&(n="onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('"+EditorUi.lightboxHost+"/?client=1"+(f?"&edit=_blank":"")+(g?"&layers=1":
"")+"');}})(this);\"",t+="cursor:pointer;");a&&(t+="max-width:100%;");this.editor.convertImages(e,mxUtils.bind(this,function(a){m('<img src="'+Editor.createSvgDataUri(mxUtils.getXml(a))+'"'+(""!=t?' style="'+t+'"':"")+n+"/>")}))}else t="",d&&(b=this.getSelectedPageIndex(),e.setAttribute("onclick","(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&&src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&&!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('"+
EditorUi.lightboxHost+"/?client=1"+(null!=b?"&page="+b:"")+(f?"&edit=_blank":"")+(g?"&layers=1":"")+"');}}})(this);"),t+="cursor:pointer;"),a&&(a=parseInt(e.getAttribute("width")),f=parseInt(e.getAttribute("height")),e.setAttribute("viewBox","-0.5 -0.5 "+a+" "+f),t+="max-width:100%;max-height:"+f+"px;",e.removeAttribute("height")),""!=t&&e.setAttribute("style",t),this.editor.addFontCss(e),this.editor.graph.mathEnabled&&this.editor.addMathCss(e),m(mxUtils.getXml(e))};EditorUi.prototype.timeSince=function(a){a=
-Math.floor((new Date-a)/1E3);var b=Math.floor(a/31536E3);if(1<b)return b+" "+mxResources.get("years");b=Math.floor(a/2592E3);if(1<b)return b+" "+mxResources.get("months");b=Math.floor(a/86400);if(1<b)return b+" "+mxResources.get("days");b=Math.floor(a/3600);if(1<b)return b+" "+mxResources.get("hours");b=Math.floor(a/60);return 1<b?b+" "+mxResources.get("minutes"):1==b?b+" "+mxResources.get("minute"):null};EditorUi.prototype.decodeNodeIntoGraph=function(a,b){if(null!=a){var e=null;if("diagram"==a.nodeName)e=
-a;else if("mxfile"==a.nodeName){var c=a.getElementsByTagName("diagram");if(0<c.length){var e=c[0],d=b.getGlobalVariable;b.getGlobalVariable=function(a){return"page"==a?e.getAttribute("name")||mxResources.get("pageWithNumber",[1]):"pagenumber"==a?1:d.apply(this,arguments)}}}null!=e&&(a=Editor.parseDiagramNode(e))}c=this.editor.graph;try{this.editor.graph=b,this.editor.setGraphXml(a)}catch(u){}finally{this.editor.graph=c}return a};EditorUi.prototype.getPngFileProperties=function(a){var b=1,e=0;if(null!=
-a){if(a.hasAttribute("scale")){var c=parseFloat(a.getAttribute("scale"));!isNaN(c)&&0<c&&(b=c)}a.hasAttribute("border")&&(c=parseInt(a.getAttribute("border")),!isNaN(c)&&0<c&&(e=c))}return{scale:b,border:e}};EditorUi.prototype.getEmbeddedPng=function(a,b,c,d,f){try{var e=this.editor.graph,k=null!=e.themes&&"darkTheme"==e.defaultThemeName,g=null;if(null!=c&&0<c.length)e=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(e.container),this.decodeNodeIntoGraph(this.editor.extractGraphModel(mxUtils.parseXml(c).documentElement,
+Math.floor((new Date-a)/1E3);var b=Math.floor(a/31536E3);if(1<b)return b+" "+mxResources.get("years");b=Math.floor(a/2592E3);if(1<b)return b+" "+mxResources.get("months");b=Math.floor(a/86400);if(1<b)return b+" "+mxResources.get("days");b=Math.floor(a/3600);if(1<b)return b+" "+mxResources.get("hours");b=Math.floor(a/60);return 1<b?b+" "+mxResources.get("minutes"):1==b?b+" "+mxResources.get("minute"):null};EditorUi.prototype.decodeNodeIntoGraph=function(a,b){if(null!=a){var c=null;if("diagram"==a.nodeName)c=
+a;else if("mxfile"==a.nodeName){var e=a.getElementsByTagName("diagram");if(0<e.length){var c=e[0],d=b.getGlobalVariable;b.getGlobalVariable=function(a){return"page"==a?c.getAttribute("name")||mxResources.get("pageWithNumber",[1]):"pagenumber"==a?1:d.apply(this,arguments)}}}null!=c&&(a=Editor.parseDiagramNode(c))}e=this.editor.graph;try{this.editor.graph=b,this.editor.setGraphXml(a)}catch(u){}finally{this.editor.graph=e}return a};EditorUi.prototype.getPngFileProperties=function(a){var b=1,c=0;if(null!=
+a){if(a.hasAttribute("scale")){var e=parseFloat(a.getAttribute("scale"));!isNaN(e)&&0<e&&(b=e)}a.hasAttribute("border")&&(e=parseInt(a.getAttribute("border")),!isNaN(e)&&0<e&&(c=e))}return{scale:b,border:c}};EditorUi.prototype.getEmbeddedPng=function(a,b,c,d,f){try{var e=this.editor.graph,k=null!=e.themes&&"darkTheme"==e.defaultThemeName,g=null;if(null!=c&&0<c.length)e=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(e.container),this.decodeNodeIntoGraph(this.editor.extractGraphModel(mxUtils.parseXml(c).documentElement,
!0),e),g=c;else if(k||null!=this.pages&&this.currentPage!=this.pages[0]){var e=this.createTemporaryGraph(e.getStylesheet()),l=e.getGlobalVariable,m=this.pages[0];e.getGlobalVariable=function(a){return"page"==a?m.getName():"pagenumber"==a?1:l.apply(this,arguments)};document.body.appendChild(e.container);e.model.setRoot(m.root)}this.editor.exportToCanvas(mxUtils.bind(this,function(c){try{null==g&&(g=this.getFileData(!0,null,null,null,null,null,null,null,null,!1));var d=c.toDataURL("image/png"),d=Editor.writeGraphModelToPng(d,
-"tEXt","mxfile",encodeURIComponent(g));a(d.substring(d.lastIndexOf(",")+1));e!=this.editor.graph&&e.container.parentNode.removeChild(e.container)}catch(B){null!=b&&b(B)}}),null,null,null,mxUtils.bind(this,function(a){null!=b&&b(a)}),null,null,d,null,e.shadowVisible,null,e,f)}catch(A){null!=b&&b(A)}};EditorUi.prototype.getEmbeddedSvg=function(a,b,c,d,f,g,m,n,y,v,A,z,B){n=null!=n?n:!0;m=null!=y?y:b.background;m==mxConstants.NONE&&(m=null);g=b.getSvg(m,v,A,null,null,g,null,null,null,b.shadowVisible||
-z,null,B);(b.shadowVisible||z)&&b.addSvgShadow(g);null!=a&&g.setAttribute("content",a);null!=c&&g.setAttribute("resource",c);if(null!=f)this.embedFonts(g,mxUtils.bind(this,function(a){n?this.editor.convertImages(a,mxUtils.bind(this,function(a){f((d?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(a))})):f((d?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+
-mxUtils.getXml(a))}));else return(d?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(g)};EditorUi.prototype.embedFonts=function(a,b){this.editor.loadFonts(mxUtils.bind(this,function(){try{null!=this.editor.resolvedFontCss&&this.editor.addFontCss(a,this.editor.resolvedFontCss),this.editor.embedExtFonts(mxUtils.bind(this,function(e){try{null!=e&&this.editor.addFontCss(a,e),b(a)}catch(p){b(a)}}))}catch(l){b(a)}}))};
-EditorUi.prototype.exportImage=function(a,b,c,d,f,g,m,n,y,v,A,z,B){y=null!=y?y:"png";if(this.spinner.spin(document.body,mxResources.get("exporting"))){var e=this.editor.graph.isSelectionEmpty();c=null!=c?c:e;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.editor.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();try{this.saveCanvas(a,f?this.getFileData(!0,null,null,null,c,n):null,y,null==this.pages||0==this.pages.length,A)}catch(D){this.handleError(D)}}),null,this.thumbImageCache,
-null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,c,a||1,b,d,null,null,g,m,v,z,B)}catch(G){this.spinner.stop(),this.handleError(G)}}};EditorUi.prototype.isCorsEnabledForUrl=function(a){return this.editor.isCorsEnabledForUrl(a)};EditorUi.prototype.importXml=function(a,b,c,d,f,g){b=null!=b?b:0;c=null!=c?c:0;var e=[];try{var k=this.editor.graph;if(null!=a&&0<a.length){k.model.beginUpdate();try{var l=mxUtils.parseXml(a);a={};var m=this.editor.extractGraphModel(l.documentElement,
+"tEXt","mxfile",encodeURIComponent(g));a(d.substring(d.lastIndexOf(",")+1));e!=this.editor.graph&&e.container.parentNode.removeChild(e.container)}catch(C){null!=b&&b(C)}}),null,null,null,mxUtils.bind(this,function(a){null!=b&&b(a)}),null,null,d,null,e.shadowVisible,null,e,f)}catch(B){null!=b&&b(B)}};EditorUi.prototype.getEmbeddedSvg=function(a,b,c,d,f,g,m,n,z,x,B,y,C){n=null!=n?n:!0;m=null!=z?z:b.background;m==mxConstants.NONE&&(m=null);g=b.getSvg(m,x,B,null,null,g,null,null,null,b.shadowVisible||
+y,null,C);(b.shadowVisible||y)&&b.addSvgShadow(g);null!=a&&g.setAttribute("content",a);null!=c&&g.setAttribute("resource",c);if(null!=f)this.embedFonts(g,mxUtils.bind(this,function(a){n?this.editor.convertImages(a,mxUtils.bind(this,function(a){f((d?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(a))})):f((d?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+
+mxUtils.getXml(a))}));else return(d?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(g)};EditorUi.prototype.embedFonts=function(a,b){this.editor.loadFonts(mxUtils.bind(this,function(){try{null!=this.editor.resolvedFontCss&&this.editor.addFontCss(a,this.editor.resolvedFontCss),this.editor.embedExtFonts(mxUtils.bind(this,function(c){try{null!=c&&this.editor.addFontCss(a,c),b(a)}catch(p){b(a)}}))}catch(l){b(a)}}))};
+EditorUi.prototype.exportImage=function(a,b,c,d,f,g,m,n,z,x,B,y,C){z=null!=z?z:"png";if(this.spinner.spin(document.body,mxResources.get("exporting"))){var e=this.editor.graph.isSelectionEmpty();c=null!=c?c:e;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.editor.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();try{this.saveCanvas(a,f?this.getFileData(!0,null,null,null,c,n):null,z,null==this.pages||0==this.pages.length,B)}catch(D){this.handleError(D)}}),null,this.thumbImageCache,
+null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,c,a||1,b,d,null,null,g,m,x,y,C)}catch(F){this.spinner.stop(),this.handleError(F)}}};EditorUi.prototype.isCorsEnabledForUrl=function(a){return this.editor.isCorsEnabledForUrl(a)};EditorUi.prototype.importXml=function(a,b,c,d,f,g){b=null!=b?b:0;c=null!=c?c:0;var e=[];try{var k=this.editor.graph;if(null!=a&&0<a.length){k.model.beginUpdate();try{var l=mxUtils.parseXml(a);a={};var m=this.editor.extractGraphModel(l.documentElement,
null!=this.pages);if(null!=m&&"mxfile"==m.nodeName&&null!=this.pages){var p=m.getElementsByTagName("diagram");if(1==p.length&&!g){if(m=Editor.parseDiagramNode(p[0]),null!=this.currentPage&&(a[p[0].getAttribute("id")]=this.currentPage.getId(),null!=this.pages&&1==this.pages.length&&this.isDiagramEmpty()&&this.currentPage.getName()==mxResources.get("pageWithNumber",[1]))){var n=p[0].getAttribute("name");null!=n&&""!=n&&this.editor.graph.model.execute(new RenamePage(this,this.currentPage,n))}}else if(0<
-p.length){g=[];var t=0;null!=this.pages&&1==this.pages.length&&this.isDiagramEmpty()&&(a[p[0].getAttribute("id")]=this.pages[0].getId(),m=Editor.parseDiagramNode(p[0]),d=!1,t=1);for(;t<p.length;t++){var u=p[t].getAttribute("id");p[t].removeAttribute("id");var G=this.updatePageRoot(new DiagramPage(p[t]));a[u]=p[t].getAttribute("id");var D=this.pages.length;null==G.getName()&&G.setName(mxResources.get("pageWithNumber",[D+1]));k.model.execute(new ChangePage(this,G,G,D,!0));g.push(G)}this.updatePageLinks(a,
-g)}}if(null!=m&&"mxGraphModel"===m.nodeName&&(e=k.importGraphModel(m,b,c,d),null!=e))for(t=0;t<e.length;t++)this.updatePageLinksForCell(a,e[t])}finally{k.model.endUpdate()}}}catch(H){if(f)throw H;this.handleError(H)}return e};EditorUi.prototype.updatePageLinks=function(a,b){for(var e=0;e<b.length;e++)this.updatePageLinksForCell(a,b[e].root)};EditorUi.prototype.updatePageLinksForCell=function(a,b){var e=document.createElement("div"),c=this.editor.graph,d=c.getLinkForCell(b);null!=d&&c.setLinkForCell(b,
-this.updatePageLink(a,d));if(c.isHtmlLabel(b)){e.innerHTML=c.sanitizeHtml(c.getLabel(b));for(var f=e.getElementsByTagName("a"),k=!1,g=0;g<f.length;g++)d=f[g].getAttribute("href"),null!=d&&(f[g].setAttribute("href",this.updatePageLink(a,d)),k=!0);k&&c.labelChanged(b,e.innerHTML)}for(g=0;g<c.model.getChildCount(b);g++)this.updatePageLinksForCell(a,c.model.getChildAt(b,g))};EditorUi.prototype.updatePageLink=function(a,b){if("data:page/id,"==b.substring(0,13)){var e=a[b.substring(b.indexOf(",")+1)];b=
-null!=e?"data:page/id,"+e:null}else if("data:action/json,"==b.substring(0,17))try{var c=JSON.parse(b.substring(17));if(null!=c.actions){for(var d=0;d<c.actions.length;d++){var f=c.actions[d];null!=f.open&&"data:page/id,"==f.open.substring(0,13)&&(e=a[f.open.substring(f.open.indexOf(",")+1)],null!=e?f.open="data:page/id,"+e:delete f.open)}b="data:action/json,"+JSON.stringify(c)}}catch(q){}return b};EditorUi.prototype.isRemoteVisioFormat=function(a){return/(\.v(sd|dx))($|\?)/i.test(a)||/(\.vs(s|x))($|\?)/i.test(a)};
+p.length){g=[];var t=0;null!=this.pages&&1==this.pages.length&&this.isDiagramEmpty()&&(a[p[0].getAttribute("id")]=this.pages[0].getId(),m=Editor.parseDiagramNode(p[0]),d=!1,t=1);for(;t<p.length;t++){var u=p[t].getAttribute("id");p[t].removeAttribute("id");var F=this.updatePageRoot(new DiagramPage(p[t]));a[u]=p[t].getAttribute("id");var D=this.pages.length;null==F.getName()&&F.setName(mxResources.get("pageWithNumber",[D+1]));k.model.execute(new ChangePage(this,F,F,D,!0));g.push(F)}this.updatePageLinks(a,
+g)}}if(null!=m&&"mxGraphModel"===m.nodeName&&(e=k.importGraphModel(m,b,c,d),null!=e))for(t=0;t<e.length;t++)this.updatePageLinksForCell(a,e[t])}finally{k.model.endUpdate()}}}catch(G){if(f)throw G;this.handleError(G)}return e};EditorUi.prototype.updatePageLinks=function(a,b){for(var c=0;c<b.length;c++)this.updatePageLinksForCell(a,b[c].root)};EditorUi.prototype.updatePageLinksForCell=function(a,b){var c=document.createElement("div"),e=this.editor.graph,d=e.getLinkForCell(b);null!=d&&e.setLinkForCell(b,
+this.updatePageLink(a,d));if(e.isHtmlLabel(b)){c.innerHTML=e.sanitizeHtml(e.getLabel(b));for(var f=c.getElementsByTagName("a"),k=!1,g=0;g<f.length;g++)d=f[g].getAttribute("href"),null!=d&&(f[g].setAttribute("href",this.updatePageLink(a,d)),k=!0);k&&e.labelChanged(b,c.innerHTML)}for(g=0;g<e.model.getChildCount(b);g++)this.updatePageLinksForCell(a,e.model.getChildAt(b,g))};EditorUi.prototype.updatePageLink=function(a,b){if("data:page/id,"==b.substring(0,13)){var c=a[b.substring(b.indexOf(",")+1)];b=
+null!=c?"data:page/id,"+c:null}else if("data:action/json,"==b.substring(0,17))try{var e=JSON.parse(b.substring(17));if(null!=e.actions){for(var d=0;d<e.actions.length;d++){var f=e.actions[d];null!=f.open&&"data:page/id,"==f.open.substring(0,13)&&(c=a[f.open.substring(f.open.indexOf(",")+1)],null!=c?f.open="data:page/id,"+c:delete f.open)}b="data:action/json,"+JSON.stringify(e)}}catch(q){}return b};EditorUi.prototype.isRemoteVisioFormat=function(a){return/(\.v(sd|dx))($|\?)/i.test(a)||/(\.vs(s|x))($|\?)/i.test(a)};
EditorUi.prototype.importVisio=function(a,b,c,d){d=null!=d?d:a.name;c=null!=c?c:mxUtils.bind(this,function(a){this.handleError(a)});var e=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio){var e=this.isRemoteVisioFormat(d);try{var f="UNKNOWN-VISIO",k=d.lastIndexOf(".");if(0<=k&&k<d.length)f=d.substring(k+1).toUpperCase();else{var g=d.lastIndexOf("/");0<=g&&g<d.length&&(d=d.substring(g+1))}EditorUi.logEvent({category:f+"-MS-IMPORT-FILE",action:"filename_"+d,label:e?"remote":
-"local"})}catch(A){}if(e)if(null==VSD_CONVERT_URL||this.isOffline())c({message:"conf"==this.getServiceName()?mxResources.get("vsdNoConfig"):mxResources.get("serviceUnavailableOrBlocked")});else{e=new FormData;e.append("file1",a,d);var l=new XMLHttpRequest;l.open("POST",VSD_CONVERT_URL+(/(\.vss|\.vsx)$/.test(d)?"?stencil=1":""));l.responseType="blob";this.addRemoteServiceSecurityCheck(l);l.onreadystatechange=mxUtils.bind(this,function(){if(4==l.readyState)if(200<=l.status&&299>=l.status)try{var a=
-l.response;if("text/xml"==a.type){var e=new FileReader;e.onload=mxUtils.bind(this,function(a){try{b(a.target.result)}catch(C){c({message:mxResources.get("errorLoadingFile")})}});e.readAsText(a)}else this.doImportVisio(a,b,c,d)}catch(B){c(B)}else try{""==l.responseType||"text"==l.responseType?c({message:l.responseText}):(e=new FileReader,e.onload=function(){c({message:JSON.parse(e.result).Message})},e.readAsText(l.response))}catch(B){c({})}});l.send(e)}else try{this.doImportVisio(a,b,c,d)}catch(A){c(A)}}else this.spinner.stop(),
+"local"})}catch(B){}if(e)if(null==VSD_CONVERT_URL||this.isOffline())c({message:"conf"==this.getServiceName()?mxResources.get("vsdNoConfig"):mxResources.get("serviceUnavailableOrBlocked")});else{e=new FormData;e.append("file1",a,d);var l=new XMLHttpRequest;l.open("POST",VSD_CONVERT_URL+(/(\.vss|\.vsx)$/.test(d)?"?stencil=1":""));l.responseType="blob";this.addRemoteServiceSecurityCheck(l);l.onreadystatechange=mxUtils.bind(this,function(){if(4==l.readyState)if(200<=l.status&&299>=l.status)try{var a=
+l.response;if("text/xml"==a.type){var e=new FileReader;e.onload=mxUtils.bind(this,function(a){try{b(a.target.result)}catch(A){c({message:mxResources.get("errorLoadingFile")})}});e.readAsText(a)}else this.doImportVisio(a,b,c,d)}catch(C){c(C)}else try{""==l.responseType||"text"==l.responseType?c({message:l.responseText}):(e=new FileReader,e.onload=function(){c({message:JSON.parse(e.result).Message})},e.readAsText(l.response))}catch(C){c({})}});l.send(e)}else try{this.doImportVisio(a,b,c,d)}catch(B){c(B)}}else this.spinner.stop(),
this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})});this.doImportVisio||this.loadingExtensions||this.isOffline(!0)?e():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",e))};EditorUi.prototype.importGraphML=function(a,b,c){c=null!=c?c:mxUtils.bind(this,function(a){this.handleError(a)});var e=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportGraphML)try{this.doImportGraphML(a,b,c)}catch(t){c(t)}else this.spinner.stop(),this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})});
this.doImportGraphML||this.loadingExtensions||this.isOffline(!0)?e():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",e))};EditorUi.prototype.exportVisio=function(){var a=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof VsdxExport)try{(new VsdxExport(this)).exportCurrentDiagrams()||this.handleError({message:mxResources.get("unknownError")})}catch(k){this.handleError(k)}else this.spinner.stop(),this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})});
"undefined"!==typeof VsdxExport||this.loadingExtensions||this.isOffline(!0)?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.convertLucidChart=function(a,b,c){var e=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof window.LucidImporter){try{EditorUi.logEvent({category:"LUCIDCHART-IMPORT-FILE",action:"size_"+a.length}),EditorUi.debug("convertLucidChart",a)}catch(t){}try{b(LucidImporter.importState(JSON.parse(a)))}catch(t){null!=window.console&&
console.error(t),c(t)}}else c({message:mxResources.get("serviceUnavailableOrBlocked")})});"undefined"!==typeof window.LucidImporter||this.loadingExtensions||this.isOffline(!0)?window.setTimeout(e,0):(this.loadingExtensions=!0,"1"==urlParams.dev?mxscript("js/diagramly/Extensions.js",function(){mxscript("js/orgchart/bridge.min.js",function(){mxscript("js/orgchart/bridge.collections.min.js",function(){mxscript("js/orgchart/OrgChart.Layout.min.js",function(){mxscript("js/orgchart/mxOrgChartLayout.js",
e)})})})}):mxscript("js/extensions.min.js",e))};EditorUi.prototype.generateMermaidImage=function(a,b,c,d){var e=this,f=function(){try{this.loadingMermaid=!1,b=null!=b?b:EditorUi.defaultMermaidConfig,b.securityLevel="strict",b.startOnLoad=!1,mermaid.mermaidAPI.initialize(b),mermaid.mermaidAPI.render("geMermaidOutput-"+(new Date).getTime(),a,function(a){try{if(mxClient.IS_IE||mxClient.IS_IE11)a=a.replace(/ xmlns:\S*="http:\/\/www.w3.org\/XML\/1998\/namespace"/g,"").replace(/ (NS xml|\S*):space="preserve"/g,
-' xml:space="preserve"');var b=mxUtils.parseXml(a).getElementsByTagName("svg");if(0<b.length){var f=parseFloat(b[0].getAttribute("width")),k=parseFloat(b[0].getAttribute("height"));if(isNaN(f)||isNaN(k))try{var g=b[0].getAttribute("viewBox").split(/\s+/),f=parseFloat(g[2]),k=parseFloat(g[3])}catch(z){f=f||100,k=k||100}c(e.convertDataUri(Editor.createSvgDataUri(a)),f,k)}else d({message:mxResources.get("invalidInput")})}catch(z){d(z)}})}catch(q){d(q)}};"undefined"!==typeof mermaid||this.loadingMermaid||
-this.isOffline(!0)?f():(this.loadingMermaid=!0,"1"==urlParams.dev?mxscript("js/mermaid/mermaid.min.js",f):mxscript("js/extensions.min.js",f))};EditorUi.prototype.generatePlantUmlImage=function(a,b,c,d){function e(a,b,e){c1=a>>2;c2=(a&3)<<4|b>>4;c3=(b&15)<<2|e>>6;c4=e&63;r="";r+=f(c1&63);r+=f(c2&63);r+=f(c3&63);return r+=f(c4&63)}function f(a){if(10>a)return String.fromCharCode(48+a);a-=10;if(26>a)return String.fromCharCode(65+a);a-=26;if(26>a)return String.fromCharCode(97+a);a-=26;return 0==a?"-":
+' xml:space="preserve"');var b=mxUtils.parseXml(a).getElementsByTagName("svg");if(0<b.length){var f=parseFloat(b[0].getAttribute("width")),k=parseFloat(b[0].getAttribute("height"));if(isNaN(f)||isNaN(k))try{var g=b[0].getAttribute("viewBox").split(/\s+/),f=parseFloat(g[2]),k=parseFloat(g[3])}catch(y){f=f||100,k=k||100}c(e.convertDataUri(Editor.createSvgDataUri(a)),f,k)}else d({message:mxResources.get("invalidInput")})}catch(y){d(y)}})}catch(q){d(q)}};"undefined"!==typeof mermaid||this.loadingMermaid||
+this.isOffline(!0)?f():(this.loadingMermaid=!0,"1"==urlParams.dev?mxscript("js/mermaid/mermaid.min.js",f):mxscript("js/extensions.min.js",f))};EditorUi.prototype.generatePlantUmlImage=function(a,b,c,d){function e(a,b,c){c1=a>>2;c2=(a&3)<<4|b>>4;c3=(b&15)<<2|c>>6;c4=c&63;r="";r+=f(c1&63);r+=f(c2&63);r+=f(c3&63);return r+=f(c4&63)}function f(a){if(10>a)return String.fromCharCode(48+a);a-=10;if(26>a)return String.fromCharCode(65+a);a-=26;if(26>a)return String.fromCharCode(97+a);a-=26;return 0==a?"-":
1==a?"_":"?"}var k=new XMLHttpRequest;k.open("GET",("txt"==b?PLANT_URL+"/txt/":"png"==b?PLANT_URL+"/png/":PLANT_URL+"/svg/")+function(a){r="";for(i=0;i<a.length;i+=3)r=i+2==a.length?r+e(a.charCodeAt(i),a.charCodeAt(i+1),0):i+1==a.length?r+e(a.charCodeAt(i),0,0):r+e(a.charCodeAt(i),a.charCodeAt(i+1),a.charCodeAt(i+2));return r}(Graph.arrayBufferToString(pako.deflateRaw(a))),!0);"txt"!=b&&(k.responseType="blob");k.onload=function(a){if(200<=this.status&&300>this.status)if("txt"==b)c(this.response);
-else{var e=new FileReader;e.readAsDataURL(this.response);e.onloadend=function(a){var b=new Image;b.onload=function(){try{var a=b.width,f=b.height;if(0==a&&0==f){var k=e.result,g=k.indexOf(","),l=decodeURIComponent(escape(atob(k.substring(g+1)))),m=mxUtils.parseXml(l).getElementsByTagName("svg");0<m.length&&(a=parseFloat(m[0].getAttribute("width")),f=parseFloat(m[0].getAttribute("height")))}c(e.result,a,f)}catch(F){d(F)}};b.src=e.result};e.onerror=function(a){d(a)}}else d(a)};k.onerror=function(a){d(a)};
+else{var e=new FileReader;e.readAsDataURL(this.response);e.onloadend=function(a){var b=new Image;b.onload=function(){try{var a=b.width,f=b.height;if(0==a&&0==f){var k=e.result,g=k.indexOf(","),l=decodeURIComponent(escape(atob(k.substring(g+1)))),m=mxUtils.parseXml(l).getElementsByTagName("svg");0<m.length&&(a=parseFloat(m[0].getAttribute("width")),f=parseFloat(m[0].getAttribute("height")))}c(e.result,a,f)}catch(E){d(E)}};b.src=e.result};e.onerror=function(a){d(a)}}else d(a)};k.onerror=function(a){d(a)};
k.send()};EditorUi.prototype.insertAsPreText=function(a,b,c){var e=this.editor.graph,d=null;e.getModel().beginUpdate();try{d=e.insertVertex(null,null,"<pre>"+a+"</pre>",b,c,1,1,"text;html=1;align=left;verticalAlign=top;"),e.updateCellSize(d,!0)}finally{e.getModel().endUpdate()}return d};EditorUi.prototype.insertTextAt=function(a,b,c,d,f,g,m,n){g=null!=g?g:!0;m=null!=m?m:!0;if(null!=a)if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a))this.parseFile(new Blob([a.replace(/\s+/g,
" ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200<=a.status&&299>=a.status&&this.editor.graph.setSelectionCells(this.insertTextAt(a.responseText,b,c,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(f||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var e=this.editor.graph;if("data:application/pdf;base64,"==a.substring(0,28)){var k=Editor.extractGraphModelFromPdf(a);if(null!=k&&0<k.length)return this.importXml(k,b,c,g,!0,n)}if("data:image/png;base64,"==
-a.substring(0,22)&&(k=this.extractGraphModelFromPng(a),null!=k&&0<k.length))return this.importXml(k,b,c,g,!0,n);if("data:image/svg+xml;"==a.substring(0,19))try{k=null;"data:image/svg+xml;base64,"==a.substring(0,26)?(k=a.substring(a.indexOf(",")+1),k=window.atob&&!mxClient.IS_SF?atob(k):Base64.decode(k,!0)):k=decodeURIComponent(a.substring(a.indexOf(",")+1));var l=this.importXml(k,b,c,g,!0,n);if(0<l.length)return l}catch(B){}this.loadImage(a,mxUtils.bind(this,function(d){if("data:"==a.substring(0,
+a.substring(0,22)&&(k=this.extractGraphModelFromPng(a),null!=k&&0<k.length))return this.importXml(k,b,c,g,!0,n);if("data:image/svg+xml;"==a.substring(0,19))try{k=null;"data:image/svg+xml;base64,"==a.substring(0,26)?(k=a.substring(a.indexOf(",")+1),k=window.atob&&!mxClient.IS_SF?atob(k):Base64.decode(k,!0)):k=decodeURIComponent(a.substring(a.indexOf(",")+1));var l=this.importXml(k,b,c,g,!0,n);if(0<l.length)return l}catch(C){}this.loadImage(a,mxUtils.bind(this,function(d){if("data:"==a.substring(0,
5))this.resizeImage(d,a,mxUtils.bind(this,function(a,d,f){e.setSelectionCell(e.insertVertex(null,null,"",e.snap(b),e.snap(c),d,f,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+this.convertDataUri(a)+";"))}),m,this.maxImageSize);else{var f=Math.min(1,Math.min(this.maxImageSize/d.width,this.maxImageSize/d.height)),k=Math.round(d.width*f);d=Math.round(d.height*f);e.setSelectionCell(e.insertVertex(null,null,"",e.snap(b),e.snap(c),
k,d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";"))}}),mxUtils.bind(this,function(){var f=null;e.getModel().beginUpdate();try{f=e.insertVertex(e.getDefaultParent(),null,a,e.snap(b),e.snap(c),1,1,"text;"+(d?"html=1;":"")),e.updateCellSize(f),e.fireEvent(new mxEventObject("textInserted","cells",[f]))}finally{e.getModel().endUpdate()}e.setSelectionCell(f)}))}else{a=Graph.zapGremlins(mxUtils.trim(a));if(this.isCompatibleString(a))return this.importXml(a,
b,c,g,null,n);if(0<a.length)if(this.isLucidChartData(a))this.convertLucidChart(a,mxUtils.bind(this,function(a){this.editor.graph.setSelectionCells(this.importXml(a,b,c,g,null,n))}),mxUtils.bind(this,function(a){this.handleError(a)}));else{e=this.editor.graph;f=null;e.getModel().beginUpdate();try{f=e.insertVertex(e.getDefaultParent(),null,"",e.snap(b),e.snap(c),1,1,"text;whiteSpace=wrap;"+(d?"html=1;":""));e.fireEvent(new mxEventObject("textInserted","cells",[f]));"<"==a.charAt(0)&&a.indexOf(">")==
a.length-1&&(a=mxUtils.htmlEntities(a));a.length>this.maxTextBytes&&(a=a.substring(0,this.maxTextBytes)+"...");f.value=a;e.updateCellSize(f);if(0<this.maxTextWidth&&f.geometry.width>this.maxTextWidth){var p=e.getPreferredSizeForCell(f,this.maxTextWidth);f.geometry.width=p.width;f.geometry.height=p.height}Graph.isLink(f.value)&&e.setLinkForCell(f,f.value);f.geometry.width+=e.gridSize;f.geometry.height+=e.gridSize}finally{e.getModel().endUpdate()}return[f]}}return[]};EditorUi.prototype.formatFileSize=
function(a){var b=-1;do a/=1024,b++;while(1024<a);return Math.max(a,.1).toFixed(1)+" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[b]};EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var b=a.indexOf(";");0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,b){return/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)};EditorUi.prototype.isLucidChartData=function(a){return null!=a&&('{"state":"{\\"Properties\\":'==
-a.substring(0,26)||'{"Properties":'==a.substring(0,14))};EditorUi.prototype.importLocalFile=function(a,b){if(a&&Graph.fileSupport){if(null==this.importFileInputElt){var e=document.createElement("input");e.setAttribute("type","file");mxEvent.addListener(e,"change",mxUtils.bind(this,function(){null!=e.files&&(this.importFiles(e.files,null,null,this.maxImageSize),e.type="",e.type="file",e.value="")}));e.style.display="none";document.body.appendChild(e);this.importFileInputElt=e}this.importFileInputElt.click()}else{window.openNew=
-!1;window.openKey="import";window.listBrowserFiles=mxUtils.bind(this,function(a,b){StorageFile.listFiles(this,"F",a,b)});window.openBrowserFile=mxUtils.bind(this,function(a,b,e){StorageFile.getFileContent(this,a,b,e)});window.deleteBrowserFile=mxUtils.bind(this,function(a,b,e){StorageFile.deleteFile(this,a,b,e)});if(!b){var c=Editor.useLocalStorage;Editor.useLocalStorage=!a}window.openFile=new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));window.openFile.setConsumer(mxUtils.bind(this,
-function(a,b){if(null!=b&&Graph.fileSupport&&/(\.v(dx|sdx?))($|\?)/i.test(b)){var e=new Blob([a],{type:"application/octet-stream"});this.importVisio(e,mxUtils.bind(this,function(a){this.importXml(a,0,0,!0)}),null,b)}else this.editor.graph.setSelectionCells(this.importXml(a,0,0,!0))}));this.showDialog((new OpenDialog(this)).container,Editor.useLocalStorage?640:360,Editor.useLocalStorage?480:220,!0,!0,function(){window.openFile=null});if(!b){var d=this.dialog,f=d.close;this.dialog.close=mxUtils.bind(this,
-function(a){Editor.useLocalStorage=c;f.apply(d,arguments);a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()})}}};EditorUi.prototype.importZipFile=function(a,b,c){var e=this,d=mxUtils.bind(this,function(){this.loadingExtensions=!1;"undefined"!==typeof JSZip?JSZip.loadAsync(a).then(function(d){if(0==Object.keys(d.files).length)c();else{var f=0,k,g=!1;d.forEach(function(a,e){var d=e.name.toLowerCase();"diagram/diagram.xml"==d?(g=!0,e.async("string").then(function(a){0==a.indexOf("<mxfile ")?
+a.substring(0,26)||'{"Properties":'==a.substring(0,14))};EditorUi.prototype.importLocalFile=function(a,b){if(a&&Graph.fileSupport){if(null==this.importFileInputElt){var c=document.createElement("input");c.setAttribute("type","file");mxEvent.addListener(c,"change",mxUtils.bind(this,function(){null!=c.files&&(this.importFiles(c.files,null,null,this.maxImageSize),c.type="",c.type="file",c.value="")}));c.style.display="none";document.body.appendChild(c);this.importFileInputElt=c}this.importFileInputElt.click()}else{window.openNew=
+!1;window.openKey="import";window.listBrowserFiles=mxUtils.bind(this,function(a,b){StorageFile.listFiles(this,"F",a,b)});window.openBrowserFile=mxUtils.bind(this,function(a,b,c){StorageFile.getFileContent(this,a,b,c)});window.deleteBrowserFile=mxUtils.bind(this,function(a,b,c){StorageFile.deleteFile(this,a,b,c)});if(!b){var e=Editor.useLocalStorage;Editor.useLocalStorage=!a}window.openFile=new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));window.openFile.setConsumer(mxUtils.bind(this,
+function(a,b){if(null!=b&&Graph.fileSupport&&/(\.v(dx|sdx?))($|\?)/i.test(b)){var c=new Blob([a],{type:"application/octet-stream"});this.importVisio(c,mxUtils.bind(this,function(a){this.importXml(a,0,0,!0)}),null,b)}else this.editor.graph.setSelectionCells(this.importXml(a,0,0,!0))}));this.showDialog((new OpenDialog(this)).container,Editor.useLocalStorage?640:360,Editor.useLocalStorage?480:220,!0,!0,function(){window.openFile=null});if(!b){var d=this.dialog,f=d.close;this.dialog.close=mxUtils.bind(this,
+function(a){Editor.useLocalStorage=e;f.apply(d,arguments);a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()})}}};EditorUi.prototype.importZipFile=function(a,b,c){var e=this,d=mxUtils.bind(this,function(){this.loadingExtensions=!1;"undefined"!==typeof JSZip?JSZip.loadAsync(a).then(function(d){if(0==Object.keys(d.files).length)c();else{var f=0,k,g=!1;d.forEach(function(a,e){var d=e.name.toLowerCase();"diagram/diagram.xml"==d?(g=!0,e.async("string").then(function(a){0==a.indexOf("<mxfile ")?
b(a):c()})):0==d.indexOf("versions/")&&(d=parseInt(d.substr(9)),d>f&&(f=d,k=e))});0<f?k.async("string").then(function(d){!e.isOffline()&&(new XMLHttpRequest).upload&&e.isRemoteFileFormat(d,a.name)?e.parseFile(new Blob([d],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?b(a.responseText):c())}),a.name):c()}):g||c()}},function(a){c(a)}):c()});"undefined"!==typeof JSZip||this.loadingExtensions||this.isOffline(!0)?d():(this.loadingExtensions=
-!0,mxscript("js/extensions.min.js",d))};EditorUi.prototype.importFile=function(a,b,c,d,f,g,m,n,y,v,A,z){v=null!=v?v:!0;var e=!1,k=null,l=mxUtils.bind(this,function(a){var b=null;null!=a&&"<mxlibrary"==a.substring(0,10)?this.loadLibrary(new LocalLibrary(this,a,m)):(console.log("here",z,mxEvent.isControlDown(z)),b=this.importXml(a,c,d,v,null,null!=z?mxEvent.isControlDown(z):null));null!=n&&n(b)});"image"==b.substring(0,5)?(y=!1,"image/png"==b.substring(0,9)&&(b=A?null:this.extractGraphModelFromPng(a),
-null!=b&&0<b.length&&(k=this.importXml(b,c,d,v,null,null!=z?mxEvent.isControlDown(z):null),y=!0)),y||(b=this.editor.graph,A=a.indexOf(";"),0<A&&(a=a.substring(0,A)+a.substring(a.indexOf(",",A+1))),v&&b.isGridEnabled()&&(c=b.snap(c),d=b.snap(d)),k=[b.insertVertex(null,null,"",c,d,f,g,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";")])):/(\.*<graphml )/.test(a)?(e=!0,this.importGraphML(a,l)):null!=y&&null!=m&&(/(\.v(dx|sdx?))($|\?)/i.test(m)||
-/(\.vs(x|sx?))($|\?)/i.test(m))?(e=!0,this.importVisio(y,l)):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,m)?(e=!0,this.parseFile(null!=y?y:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?l(a.responseText):null!=n&&n(null))}),m)):0==a.indexOf("PK")&&null!=y?(e=!0,this.importZipFile(y,l,mxUtils.bind(this,function(){k=this.insertTextAt(this.validateFileData(a),c,d,!0,null,v);n(k)}))):/(\.v(sd|dx))($|\?)/i.test(m)||
-/(\.vs(s|x))($|\?)/i.test(m)||(k=this.insertTextAt(this.validateFileData(a),c,d,!0,null,v,null,null!=z?mxEvent.isControlDown(z):null));e||null==n||n(k);return k};EditorUi.prototype.importFiles=function(a,b,c,d,f,g,m,n,y,v,A,z,B){d=null!=d?d:this.maxImageSize;v=null!=v?v:this.maxImageBytes;var e=null!=b&&null!=c,k=!0;b=null!=b?b:0;c=null!=c?c:0;var l=!1;if(!mxClient.IS_CHROMEAPP&&null!=a)for(var p=A||this.resampleThreshold,t=0;t<a.length;t++)if("image/"==a[t].type.substring(0,6)&&a[t].size>p){l=!0;
-break}var q=mxUtils.bind(this,function(){var l=this.editor.graph,p=l.gridSize;f=null!=f?f:mxUtils.bind(this,function(a,b,c,d,f,k,g,l,m){try{return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,g)),null):this.importFile(a,b,c,d,f,k,g,l,m,e,z,B)}catch(O){return this.handleError(O),null}});g=null!=g?g:mxUtils.bind(this,function(a){l.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var t=a.length,q=t,u=[],
-C=mxUtils.bind(this,function(a,b){u[a]=b;if(0==--q){this.spinner.stop();if(null!=n)n(u);else{var e=[];l.getModel().beginUpdate();try{for(var c=0;c<u.length;c++){var d=u[c]();null!=d&&(e=e.concat(d))}}finally{l.getModel().endUpdate()}}g(e)}}),x=0;x<t;x++)mxUtils.bind(this,function(e){var g=a[e];if(null!=g){var n=new FileReader;n.onload=mxUtils.bind(this,function(a){if(null==m||m(g))if("image/"==g.type.substring(0,6))if("image/svg"==g.type.substring(0,9)){var n=Graph.clipSvgDataUri(a.target.result),
-t=n.indexOf(","),q=decodeURIComponent(escape(atob(n.substring(t+1)))),u=mxUtils.parseXml(q),q=u.getElementsByTagName("svg");if(0<q.length){var q=q[0],B=z?null:q.getAttribute("content");null!=B&&"<"!=B.charAt(0)&&"%"!=B.charAt(0)&&(B=unescape(window.atob?atob(B):Base64.decode(B,!0)));null!=B&&"%"==B.charAt(0)&&(B=decodeURIComponent(B));null==B||"<mxfile "!==B.substring(0,8)&&"<mxGraphModel "!==B.substring(0,14)?C(e,mxUtils.bind(this,function(){try{if(n.substring(0,t+1),null!=u){var a=u.getElementsByTagName("svg");
-if(0<a.length){var k=a[0],m=k.getAttribute("width"),z=k.getAttribute("height"),m=null!=m&&"%"!=m.charAt(m.length-1)?parseFloat(m):NaN,z=null!=z&&"%"!=z.charAt(z.length-1)?parseFloat(z):NaN,q=k.getAttribute("viewBox");if(null==q||0==q.length)k.setAttribute("viewBox","0 0 "+m+" "+z);else if(isNaN(m)||isNaN(z)){var B=q.split(" ");3<B.length&&(m=parseFloat(B[2]),z=parseFloat(B[3]))}n=Editor.createSvgDataUri(mxUtils.getXml(k));var C=Math.min(1,Math.min(d/Math.max(1,m)),d/Math.max(1,z)),x=f(n,g.type,b+
-e*p,c+e*p,Math.max(1,Math.round(m*C)),Math.max(1,Math.round(z*C)),g.name);if(isNaN(m)||isNaN(z)){var v=new Image;v.onload=mxUtils.bind(this,function(){m=Math.max(1,v.width);z=Math.max(1,v.height);x[0].geometry.width=m;x[0].geometry.height=z;k.setAttribute("viewBox","0 0 "+m+" "+z);n=Editor.createSvgDataUri(mxUtils.getXml(k));var a=n.indexOf(";");0<a&&(n=n.substring(0,a)+n.substring(n.indexOf(",",a+1)));l.setCellStyles("image",n,[x[0]])});v.src=Editor.createSvgDataUri(mxUtils.getXml(k))}return x}}}catch(ba){}return null})):
-C(e,mxUtils.bind(this,function(){return f(B,"text/xml",b+e*p,c+e*p,0,0,g.name)}))}else C(e,mxUtils.bind(this,function(){return null}))}else{q=!1;if("image/png"==g.type){var x=z?null:this.extractGraphModelFromPng(a.target.result);if(null!=x&&0<x.length){var G=new Image;G.src=a.target.result;C(e,mxUtils.bind(this,function(){return f(x,"text/xml",b+e*p,c+e*p,G.width,G.height,g.name)}));q=!0}}q||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),
-mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(l){this.resizeImage(l,a.target.result,mxUtils.bind(this,function(a,l,m){C(e,mxUtils.bind(this,function(){if(null!=a&&a.length<v){var n=k&&this.isResampleImageSize(g.size,A)?Math.min(1,Math.min(d/l,d/m)):1;return f(a,g.type,b+e*p,c+e*p,Math.round(l*n),Math.round(m*n),g.name)}this.handleError({message:mxResources.get("imageTooBig")});
-return null}))}),k,d,A,g.size)}),mxUtils.bind(this,function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else n=a.target.result,f(n,g.type,b+e*p,c+e*p,240,160,g.name,function(a){C(e,function(){return a})},g)});/(\.v(dx|sdx?))($|\?)/i.test(g.name)||/(\.vs(x|sx?))($|\?)/i.test(g.name)?f(null,g.type,b+e*p,c+e*p,240,160,g.name,function(a){C(e,function(){return a})},g):"image"==g.type.substring(0,5)||"application/pdf"==g.type?n.readAsDataURL(g):n.readAsText(g)}})(x)});if(l){l=
-[];for(t=0;t<a.length;t++)l.push(a[t]);a=l;this.confirmImageResize(function(a){k=a;q()},y)}else q()};EditorUi.prototype.confirmImageResize=function(a,b){b=null!=b?b:!1;var e=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},c=isLocalStorage||mxClient.IS_CHROMEAPP?mxSettings.getResizeImages():null,d=function(c,d){if(c||b)mxSettings.setResizeImages(c?d:null),mxSettings.save();e();a(d)};null==c||b?this.showDialog((new ConfirmDialog(this,mxResources.get("resizeLargeImages"),
-function(a){d(a,!0)},function(a){d(a,!1)},mxResources.get("resize"),mxResources.get("actualSize"),'<img style="margin-top:8px;" src="'+Editor.loResImage+'"/>','<img style="margin-top:8px;" src="'+Editor.hiResImage+'"/>',isLocalStorage||mxClient.IS_CHROMEAPP)).container,340,isLocalStorage||mxClient.IS_CHROMEAPP?220:200,!0,!0):d(!1,c)};EditorUi.prototype.parseFile=function(a,b,c){c=null!=c?c:a.name;var e=new FormData;e.append("format","xml");e.append("upfile",a,c);var d=new XMLHttpRequest;d.open("POST",
+!0,mxscript("js/extensions.min.js",d))};EditorUi.prototype.importFile=function(a,b,c,d,f,g,m,n,z,x,B,y){x=null!=x?x:!0;var e=!1,k=null,l=mxUtils.bind(this,function(a){var b=null;null!=a&&"<mxlibrary"==a.substring(0,10)?this.loadLibrary(new LocalLibrary(this,a,m)):(console.log("here",y,mxEvent.isControlDown(y)),b=this.importXml(a,c,d,x,null,null!=y?mxEvent.isControlDown(y):null));null!=n&&n(b)});"image"==b.substring(0,5)?(z=!1,"image/png"==b.substring(0,9)&&(b=B?null:this.extractGraphModelFromPng(a),
+null!=b&&0<b.length&&(k=this.importXml(b,c,d,x,null,null!=y?mxEvent.isControlDown(y):null),z=!0)),z||(b=this.editor.graph,B=a.indexOf(";"),0<B&&(a=a.substring(0,B)+a.substring(a.indexOf(",",B+1))),x&&b.isGridEnabled()&&(c=b.snap(c),d=b.snap(d)),k=[b.insertVertex(null,null,"",c,d,f,g,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";")])):/(\.*<graphml )/.test(a)?(e=!0,this.importGraphML(a,l)):null!=z&&null!=m&&(/(\.v(dx|sdx?))($|\?)/i.test(m)||
+/(\.vs(x|sx?))($|\?)/i.test(m))?(e=!0,this.importVisio(z,l)):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,m)?(e=!0,this.parseFile(null!=z?z:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?l(a.responseText):null!=n&&n(null))}),m)):0==a.indexOf("PK")&&null!=z?(e=!0,this.importZipFile(z,l,mxUtils.bind(this,function(){k=this.insertTextAt(this.validateFileData(a),c,d,!0,null,x);n(k)}))):/(\.v(sd|dx))($|\?)/i.test(m)||
+/(\.vs(s|x))($|\?)/i.test(m)||(k=this.insertTextAt(this.validateFileData(a),c,d,!0,null,x,null,null!=y?mxEvent.isControlDown(y):null));e||null==n||n(k);return k};EditorUi.prototype.importFiles=function(a,b,c,d,f,g,m,n,z,x,B,y,C){d=null!=d?d:this.maxImageSize;x=null!=x?x:this.maxImageBytes;var e=null!=b&&null!=c,k=!0;b=null!=b?b:0;c=null!=c?c:0;var l=!1;if(!mxClient.IS_CHROMEAPP&&null!=a)for(var p=B||this.resampleThreshold,t=0;t<a.length;t++)if("image/"==a[t].type.substring(0,6)&&a[t].size>p){l=!0;
+break}var q=mxUtils.bind(this,function(){var l=this.editor.graph,p=l.gridSize;f=null!=f?f:mxUtils.bind(this,function(a,b,c,d,f,k,g,l,m){try{return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,g)),null):this.importFile(a,b,c,d,f,k,g,l,m,e,y,C)}catch(O){return this.handleError(O),null}});g=null!=g?g:mxUtils.bind(this,function(a){l.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var t=a.length,q=t,u=[],
+A=mxUtils.bind(this,function(a,b){u[a]=b;if(0==--q){this.spinner.stop();if(null!=n)n(u);else{var c=[];l.getModel().beginUpdate();try{for(var e=0;e<u.length;e++){var d=u[e]();null!=d&&(c=c.concat(d))}}finally{l.getModel().endUpdate()}}g(c)}}),v=0;v<t;v++)mxUtils.bind(this,function(e){var g=a[e];if(null!=g){var n=new FileReader;n.onload=mxUtils.bind(this,function(a){if(null==m||m(g))if("image/"==g.type.substring(0,6))if("image/svg"==g.type.substring(0,9)){var n=Graph.clipSvgDataUri(a.target.result),
+t=n.indexOf(","),q=decodeURIComponent(escape(atob(n.substring(t+1)))),u=mxUtils.parseXml(q),q=u.getElementsByTagName("svg");if(0<q.length){var q=q[0],C=y?null:q.getAttribute("content");null!=C&&"<"!=C.charAt(0)&&"%"!=C.charAt(0)&&(C=unescape(window.atob?atob(C):Base64.decode(C,!0)));null!=C&&"%"==C.charAt(0)&&(C=decodeURIComponent(C));null==C||"<mxfile "!==C.substring(0,8)&&"<mxGraphModel "!==C.substring(0,14)?A(e,mxUtils.bind(this,function(){try{if(n.substring(0,t+1),null!=u){var a=u.getElementsByTagName("svg");
+if(0<a.length){var k=a[0],m=k.getAttribute("width"),y=k.getAttribute("height"),m=null!=m&&"%"!=m.charAt(m.length-1)?parseFloat(m):NaN,y=null!=y&&"%"!=y.charAt(y.length-1)?parseFloat(y):NaN,q=k.getAttribute("viewBox");if(null==q||0==q.length)k.setAttribute("viewBox","0 0 "+m+" "+y);else if(isNaN(m)||isNaN(y)){var A=q.split(" ");3<A.length&&(m=parseFloat(A[2]),y=parseFloat(A[3]))}n=Editor.createSvgDataUri(mxUtils.getXml(k));var C=Math.min(1,Math.min(d/Math.max(1,m)),d/Math.max(1,y)),v=f(n,g.type,b+
+e*p,c+e*p,Math.max(1,Math.round(m*C)),Math.max(1,Math.round(y*C)),g.name);if(isNaN(m)||isNaN(y)){var x=new Image;x.onload=mxUtils.bind(this,function(){m=Math.max(1,x.width);y=Math.max(1,x.height);v[0].geometry.width=m;v[0].geometry.height=y;k.setAttribute("viewBox","0 0 "+m+" "+y);n=Editor.createSvgDataUri(mxUtils.getXml(k));var a=n.indexOf(";");0<a&&(n=n.substring(0,a)+n.substring(n.indexOf(",",a+1)));l.setCellStyles("image",n,[v[0]])});x.src=Editor.createSvgDataUri(mxUtils.getXml(k))}return v}}}catch(ba){}return null})):
+A(e,mxUtils.bind(this,function(){return f(C,"text/xml",b+e*p,c+e*p,0,0,g.name)}))}else A(e,mxUtils.bind(this,function(){return null}))}else{q=!1;if("image/png"==g.type){var v=y?null:this.extractGraphModelFromPng(a.target.result);if(null!=v&&0<v.length){var F=new Image;F.src=a.target.result;A(e,mxUtils.bind(this,function(){return f(v,"text/xml",b+e*p,c+e*p,F.width,F.height,g.name)}));q=!0}}q||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),
+mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(l){this.resizeImage(l,a.target.result,mxUtils.bind(this,function(a,l,m){A(e,mxUtils.bind(this,function(){if(null!=a&&a.length<x){var n=k&&this.isResampleImageSize(g.size,B)?Math.min(1,Math.min(d/l,d/m)):1;return f(a,g.type,b+e*p,c+e*p,Math.round(l*n),Math.round(m*n),g.name)}this.handleError({message:mxResources.get("imageTooBig")});
+return null}))}),k,d,B,g.size)}),mxUtils.bind(this,function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else n=a.target.result,f(n,g.type,b+e*p,c+e*p,240,160,g.name,function(a){A(e,function(){return a})},g)});/(\.v(dx|sdx?))($|\?)/i.test(g.name)||/(\.vs(x|sx?))($|\?)/i.test(g.name)?f(null,g.type,b+e*p,c+e*p,240,160,g.name,function(a){A(e,function(){return a})},g):"image"==g.type.substring(0,5)||"application/pdf"==g.type?n.readAsDataURL(g):n.readAsText(g)}})(v)});if(l){l=
+[];for(t=0;t<a.length;t++)l.push(a[t]);a=l;this.confirmImageResize(function(a){k=a;q()},z)}else q()};EditorUi.prototype.confirmImageResize=function(a,b){b=null!=b?b:!1;var c=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},e=isLocalStorage||mxClient.IS_CHROMEAPP?mxSettings.getResizeImages():null,d=function(e,d){if(e||b)mxSettings.setResizeImages(e?d:null),mxSettings.save();c();a(d)};null==e||b?this.showDialog((new ConfirmDialog(this,mxResources.get("resizeLargeImages"),
+function(a){d(a,!0)},function(a){d(a,!1)},mxResources.get("resize"),mxResources.get("actualSize"),'<img style="margin-top:8px;" src="'+Editor.loResImage+'"/>','<img style="margin-top:8px;" src="'+Editor.hiResImage+'"/>',isLocalStorage||mxClient.IS_CHROMEAPP)).container,340,isLocalStorage||mxClient.IS_CHROMEAPP?220:200,!0,!0):d(!1,e)};EditorUi.prototype.parseFile=function(a,b,c){c=null!=c?c:a.name;var e=new FormData;e.append("format","xml");e.append("upfile",a,c);var d=new XMLHttpRequest;d.open("POST",
OPEN_URL);d.onreadystatechange=function(){b(d)};d.send(e);try{EditorUi.logEvent({category:"GLIFFY-IMPORT-FILE",action:"size_"+a.size})}catch(u){}};EditorUi.prototype.isResampleImageSize=function(a,b){b=null!=b?b:this.resampleThreshold;return a>b};EditorUi.prototype.resizeImage=function(a,b,c,d,f,g,m){f=null!=f?f:this.maxImageSize;var e=Math.max(1,a.width),k=Math.max(1,a.height);if(d&&this.isResampleImageSize(null!=m?m:b.length,g))try{var l=Math.max(e/f,k/f);if(1<l){var n=Math.round(e/l),p=Math.round(k/
-l),t=document.createElement("canvas");t.width=n;t.height=p;t.getContext("2d").drawImage(a,0,0,n,p);var q=t.toDataURL();if(q.length<b.length){var u=document.createElement("canvas");u.width=n;u.height=p;var D=u.toDataURL();q!==D&&(b=q,e=n,k=p)}}}catch(H){}c(b,e,k)};EditorUi.prototype.extractGraphModelFromPng=function(a){return Editor.extractGraphModelFromPng(a)};EditorUi.prototype.loadImage=function(a,b,c){try{var e=new Image;e.onload=function(){e.width=0<e.width?e.width:120;e.height=0<e.height?e.height:
-120;b(e)};null!=c&&(e.onerror=c);e.src=a}catch(t){if(null!=c)c(t);else throw t;}};var g=EditorUi.prototype.init;EditorUi.prototype.init=function(){mxStencilRegistry.allowEval=mxStencilRegistry.allowEval&&!this.isOfflineApp();"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var a=this,b=this.editor.graph;"dark"==uiTheme&&(b.view.defaultGridColor=mxGraphView.prototype.defaultDarkGridColor);b.cellEditor.editPlantUmlData=function(e,c,d){var f=JSON.parse(d);c=new TextareaDialog(a,
-mxResources.get("plantUml")+":",f.data,function(c){null!=c&&a.spinner.spin(document.body,mxResources.get("inserting"))&&a.generatePlantUmlImage(c,f.format,function(d,g,k){a.spinner.stop();b.getModel().beginUpdate();try{if("txt"==f.format)b.labelChanged(e,"<pre>"+d+"</pre>"),b.updateCellSize(e,!0);else{b.setCellStyles("image",a.convertDataUri(d),[e]);var l=b.model.getGeometry(e);null!=l&&(l=l.clone(),l.width=g,l.height=k,b.cellsResized([e],[l],!1))}b.setAttributeForCell(e,"plantUmlData",JSON.stringify({data:c,
-format:f.format}))}finally{b.getModel().endUpdate()}},function(b){a.handleError(b)})},null,null,400,220);a.showDialog(c.container,420,300,!0,!0);c.init()};b.cellEditor.editMermaidData=function(e,c,d){var f=JSON.parse(d);c=new TextareaDialog(a,mxResources.get("mermaid")+":",f.data,function(c){null!=c&&a.spinner.spin(document.body,mxResources.get("inserting"))&&a.generateMermaidImage(c,f.config,function(d,g,k){a.spinner.stop();b.getModel().beginUpdate();try{b.setCellStyles("image",d,[e]);var l=b.model.getGeometry(e);
-null!=l&&(l=l.clone(),l.width=Math.max(l.width,g),l.height=Math.max(l.height,k),b.cellsResized([e],[l],!1));b.setAttributeForCell(e,"mermaidData",JSON.stringify({data:c,config:f.config},null,2))}finally{b.getModel().endUpdate()}},function(b){a.handleError(b)})},null,null,400,220);a.showDialog(c.container,420,300,!0,!0);c.init()};var c=b.cellEditor.startEditing;b.cellEditor.startEditing=function(e,d){try{var f=this.graph.getAttributeForCell(e,"plantUmlData");if(null!=f)this.editPlantUmlData(e,d,f);
-else if(f=this.graph.getAttributeForCell(e,"mermaidData"),null!=f)this.editMermaidData(e,d,f);else{var g=b.getCellStyle(e);"1"==mxUtils.getValue(g,"metaEdit","0")?a.showDataDialog(e):c.apply(this,arguments)}}catch(F){a.handleError(F)}};b.getLinkTitle=function(b){return a.getLinkTitle(b)};b.customLinkClicked=function(b){var e=!1;try{a.handleCustomLink(b),e=!0}catch(D){a.handleError(D)}return e};var d=this.clearDefaultStyle;this.clearDefaultStyle=function(){d.apply(this,arguments)};this.isOffline()||
+l),t=document.createElement("canvas");t.width=n;t.height=p;t.getContext("2d").drawImage(a,0,0,n,p);var q=t.toDataURL();if(q.length<b.length){var u=document.createElement("canvas");u.width=n;u.height=p;var D=u.toDataURL();q!==D&&(b=q,e=n,k=p)}}}catch(G){}c(b,e,k)};EditorUi.prototype.extractGraphModelFromPng=function(a){return Editor.extractGraphModelFromPng(a)};EditorUi.prototype.loadImage=function(a,b,c){try{var e=new Image;e.onload=function(){e.width=0<e.width?e.width:120;e.height=0<e.height?e.height:
+120;b(e)};null!=c&&(e.onerror=c);e.src=a}catch(t){if(null!=c)c(t);else throw t;}};var g=EditorUi.prototype.init;EditorUi.prototype.init=function(){mxStencilRegistry.allowEval=mxStencilRegistry.allowEval&&!this.isOfflineApp();"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var a=this,b=this.editor.graph;"dark"==uiTheme&&(b.view.defaultGridColor=mxGraphView.prototype.defaultDarkGridColor);b.cellEditor.editPlantUmlData=function(c,e,d){var f=JSON.parse(d);e=new TextareaDialog(a,
+mxResources.get("plantUml")+":",f.data,function(e){null!=e&&a.spinner.spin(document.body,mxResources.get("inserting"))&&a.generatePlantUmlImage(e,f.format,function(d,g,k){a.spinner.stop();b.getModel().beginUpdate();try{if("txt"==f.format)b.labelChanged(c,"<pre>"+d+"</pre>"),b.updateCellSize(c,!0);else{b.setCellStyles("image",a.convertDataUri(d),[c]);var l=b.model.getGeometry(c);null!=l&&(l=l.clone(),l.width=g,l.height=k,b.cellsResized([c],[l],!1))}b.setAttributeForCell(c,"plantUmlData",JSON.stringify({data:e,
+format:f.format}))}finally{b.getModel().endUpdate()}},function(b){a.handleError(b)})},null,null,400,220);a.showDialog(e.container,420,300,!0,!0);e.init()};b.cellEditor.editMermaidData=function(c,e,d){var f=JSON.parse(d);e=new TextareaDialog(a,mxResources.get("mermaid")+":",f.data,function(e){null!=e&&a.spinner.spin(document.body,mxResources.get("inserting"))&&a.generateMermaidImage(e,f.config,function(d,g,k){a.spinner.stop();b.getModel().beginUpdate();try{b.setCellStyles("image",d,[c]);var l=b.model.getGeometry(c);
+null!=l&&(l=l.clone(),l.width=Math.max(l.width,g),l.height=Math.max(l.height,k),b.cellsResized([c],[l],!1));b.setAttributeForCell(c,"mermaidData",JSON.stringify({data:e,config:f.config},null,2))}finally{b.getModel().endUpdate()}},function(b){a.handleError(b)})},null,null,400,220);a.showDialog(e.container,420,300,!0,!0);e.init()};var c=b.cellEditor.startEditing;b.cellEditor.startEditing=function(e,d){try{var f=this.graph.getAttributeForCell(e,"plantUmlData");if(null!=f)this.editPlantUmlData(e,d,f);
+else if(f=this.graph.getAttributeForCell(e,"mermaidData"),null!=f)this.editMermaidData(e,d,f);else{var g=b.getCellStyle(e);"1"==mxUtils.getValue(g,"metaEdit","0")?a.showDataDialog(e):c.apply(this,arguments)}}catch(E){a.handleError(E)}};b.getLinkTitle=function(b){return a.getLinkTitle(b)};b.customLinkClicked=function(b){var c=!1;try{a.handleCustomLink(b),c=!0}catch(D){a.handleError(D)}return c};var d=this.clearDefaultStyle;this.clearDefaultStyle=function(){d.apply(this,arguments)};this.isOffline()||
"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://www.diagrams.net/doc/faq/predefined-placeholders");if(/viewer\.diagrams\.net$/.test(window.location.hostname)||/embed\.diagrams\.net$/.test(window.location.hostname))this.editor.editBlankUrl="https://app.diagrams.net/";var f=a.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(a){a=null!=a?a:"";"1"==urlParams.dev&&(a+=(0<a.length?"&":"?")+"dev=1");return f.apply(this,arguments)};var m=b.addClickHandler;
-b.addClickHandler=function(a,e,c){var d=e;e=function(a,e){if(null==e){var c=mxEvent.getSource(a);"a"==c.nodeName.toLowerCase()&&(e=c.getAttribute("href"))}null!=e&&b.isCustomLink(e)&&(mxEvent.isTouchEvent(a)||!mxEvent.isPopupTrigger(a))&&b.customLinkClicked(e)&&mxEvent.consume(a);null!=d&&d(a,e)};m.call(this,a,e,c)};g.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(b.view.canvas.ownerSVGElement,null,!0);if(null!=this.menus){var n=Menus.prototype.addPopupMenuEditItems;this.menus.addPopupMenuEditItems=
-function(b,e,c){a.editor.graph.isSelectionEmpty()?n.apply(this,arguments):a.menus.addMenuItems(b,"delete - cut copy copyAsImage - duplicate".split(" "),null,c)}}a.actions.get("print").funct=function(){a.showDialog((new PrintDialog(a)).container,360,null!=a.pages&&1<a.pages.length?450:370,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var x=b.getExportVariables;b.getExportVariables=function(){var b=x.apply(this,arguments),e=a.getCurrentFile();null!=e&&(b.filename=e.getTitle());b.pagecount=
-null!=a.pages?a.pages.length:1;b.page=null!=a.currentPage?a.currentPage.getName():"";b.pagenumber=null!=a.pages&&null!=a.currentPage?mxUtils.indexOf(a.pages,a.currentPage)+1:1;return b};var y=b.getGlobalVariable;b.getGlobalVariable=function(b){var e=a.getCurrentFile();return"filename"==b&&null!=e?e.getTitle():"page"==b&&null!=a.currentPage?a.currentPage.getName():"pagenumber"==b?null!=a.currentPage&&null!=a.pages?mxUtils.indexOf(a.pages,a.currentPage)+1:1:"pagecount"==b?null!=a.pages?a.pages.length:
-1:y.apply(this,arguments)};var v=b.labelLinkClicked;b.labelLinkClicked=function(a,e,c){var d=e.getAttribute("href");if(null==d||!b.isCustomLink(d)||!mxEvent.isTouchEvent(c)&&mxEvent.isPopupTrigger(c))v.apply(this,arguments);else{if(!b.isEnabled()||null!=a&&b.isCellLocked(a.cell))b.customLinkClicked(d),b.getRubberband().reset();mxEvent.consume(c)}};this.editor.getOrCreateFilename=function(){var b=a.defaultFilename,e=a.getCurrentFile();null!=e&&(b=null!=e.getTitle()?e.getTitle():b);return b};var A=
-this.actions.get("print");A.setEnabled(!mxClient.IS_IOS||!navigator.standalone);A.visible=A.isEnabled();if(!this.editor.chromeless||this.editor.editable)this.keyHandler.bindAction(70,!0,"findReplace"),this.keyHandler.bindAction(67,!0,"copyStyle",!0),this.keyHandler.bindAction(86,!0,"pasteStyle",!0),this.keyHandler.bindAction(77,!0,"editGeometry",!0),this.keyHandler.bindAction(88,!0,"insertText",!0),this.keyHandler.bindAction(75,!0,"insertRectangle"),this.keyHandler.bindAction(75,!0,"insertEllipse",
-!0),this.altShiftActions[83]="synchronize",this.installImagePasteHandler(),this.installNativeClipboardHandler();this.spinner=this.createSpinner(document.body.clientWidth/2-2,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2,24);Graph.fileSupport&&b.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var e=b.cellEditor.text2,c=null;null!=e&&(mxEvent.addListener(e,"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();
-a.preventDefault()}),mxEvent.addListener(e,"dragover",mxUtils.bind(this,function(a){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=this.highlightElement(e));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(e,"drop",mxUtils.bind(this,function(a){null!=c&&(c.parentNode.removeChild(c),c=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,function(a,e,c,d,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,
-6)},function(a){for(var b=0;b<a.length;b++)a[b]()},mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var e=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(e)?this.loadImage(decodeURIComponent(e),mxUtils.bind(this,function(a){var c=Math.max(1,a.width);a=Math.max(1,a.height);var d=this.maxImageSize,d=Math.min(1,Math.min(d/Math.max(1,c)),d/Math.max(1,a));b.insertImage(decodeURIComponent(e),c*d,a*d)})):document.execCommand("insertHTML",
-!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation();a.preventDefault()})))}));"undefined"!==typeof window.mxSettings&&(A=this.editor.graph.view,A.setUnit(mxSettings.getUnit()),A.addListener("unitChanged",function(a,b){mxSettings.setUnit(b.getProperty("unit"));
-mxSettings.save()}),this.ruler=!this.canvasSupported||9==document.documentMode||"1"!=urlParams.ruler&&!mxSettings.isRulerOn()||this.editor.isChromelessView()&&!this.editor.editable?null:new mxDualRuler(this,A.unit),this.refresh());if("1"==urlParams.styledev){A=document.getElementById("geFooter");null!=A&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left=
-"2px",this.styleInput.style.width="98%",this.styleInput.style.visibility="hidden",this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),A.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var e=this.editor.graph.getSelectionCell(),
-e=this.editor.graph.getModel().getStyle(e);this.styleInput.value=e||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var z=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:z.apply(this,arguments)}}A=document.getElementById("geInfo");null!=A&&A.parentNode.removeChild(A);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var B=null;mxEvent.addListener(b.container,"dragleave",
-function(a){b.isEnabled()&&(null!=B&&(B.parentNode.removeChild(B),B=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(b.container,"dragover",mxUtils.bind(this,function(a){null==B&&(!mxClient.IS_IE||10<document.documentMode)&&(B=this.highlightElement(b.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()}));mxEvent.addListener(b.container,"drop",mxUtils.bind(this,function(a){null!=B&&(B.parentNode.removeChild(B),B=null);if(b.isEnabled()){var e=
-mxUtils.convertPoint(b.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),c=b.view.translate,d=b.view.scale,f=e.x/d-c.x,g=e.y/d-c.y;if(0<a.dataTransfer.files.length)mxEvent.isShiftDown(a)?this.openFiles(a.dataTransfer.files,!0):(mxEvent.isAltDown(a)&&(g=f=null),this.importFiles(a.dataTransfer.files,f,g,this.maxImageSize,null,null,null,null,mxEvent.isControlDown(a),null,null,mxEvent.isShiftDown(a),a));else{mxEvent.isAltDown(a)&&(g=f=0);var k=0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")?
-a.dataTransfer.getData("text/uri-list"):null,e=this.extractGraphModelFromEvent(a,null!=this.pages);if(null!=e)b.setSelectionCells(this.importXml(e,f,g,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")){var l=a.dataTransfer.getData("text/html"),e=document.createElement("div");e.innerHTML=b.sanitizeHtml(l);var m=null,c=e.getElementsByTagName("img");null!=c&&1==c.length?(l=c[0].getAttribute("src"),null==l&&(l=c[0].getAttribute("srcset")),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(l)||(m=
-!0)):(c=e.getElementsByTagName("a"),null!=c&&1==c.length?l=c[0].getAttribute("href"):(e=e.getElementsByTagName("pre"),null!=e&&1==e.length&&(l=mxUtils.getTextContent(e[0]))));var n=!0,p=mxUtils.bind(this,function(){b.setSelectionCells(this.insertTextAt(l,f,g,!0,m,null,n,mxEvent.isControlDown(a)))});m&&null!=l&&l.length>this.resampleThreshold?this.confirmImageResize(function(a){n=a;p()},mxEvent.isControlDown(a)):p()}else null!=k&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(k)?this.loadImage(decodeURIComponent(k),
-mxUtils.bind(this,function(a){var e=Math.max(1,a.width);a=Math.max(1,a.height);var c=this.maxImageSize,c=Math.min(1,Math.min(c/Math.max(1,e)),c/Math.max(1,a));b.setSelectionCell(b.insertVertex(null,null,"",f,g,e*c,a*c,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+k+";"))}),mxUtils.bind(this,function(a){b.setSelectionCells(this.insertTextAt(k,f,g,!0))})):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&b.setSelectionCells(this.insertTextAt(a.dataTransfer.getData("text/plain"),
-f,g,!0))}}a.stopPropagation();a.preventDefault()}),!1)}b.enableFlowAnimation=!0;this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode();this.installSettings()};EditorUi.prototype.installImagePasteHandler=function(){if(!mxClient.IS_IE){var a=this.editor.graph;a.container.addEventListener("paste",mxUtils.bind(this,function(b){if(!mxEvent.isConsumed(b))try{for(var e=b.clipboardData||b.originalEvent.clipboardData,c=!1,d=0;d<e.types.length;d++)if("text/"===e.types[d].substring(0,5)){c=!0;break}if(!c){var f=
-e.items;for(index in f){var g=f[index];if("file"===g.kind){if(a.isEditing())this.importFiles([g.getAsFile()],0,0,this.maxImageSize,function(b,e,c,d,f,g){a.insertImage(b,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var k=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],k.x,k.y,this.maxImageSize);mxEvent.consume(b)}break}}}}catch(y){}}),!1)}};EditorUi.prototype.installNativeClipboardHandler=function(){function a(){window.setTimeout(function(){c.innerHTML=
+b.addClickHandler=function(a,c,e){var d=c;c=function(a,c){if(null==c){var e=mxEvent.getSource(a);"a"==e.nodeName.toLowerCase()&&(c=e.getAttribute("href"))}null!=c&&b.isCustomLink(c)&&(mxEvent.isTouchEvent(a)||!mxEvent.isPopupTrigger(a))&&b.customLinkClicked(c)&&mxEvent.consume(a);null!=d&&d(a,c)};m.call(this,a,c,e)};g.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(b.view.canvas.ownerSVGElement,null,!0);if(null!=this.menus){var n=Menus.prototype.addPopupMenuEditItems;this.menus.addPopupMenuEditItems=
+function(b,c,e){a.editor.graph.isSelectionEmpty()?n.apply(this,arguments):a.menus.addMenuItems(b,"delete - cut copy copyAsImage - duplicate".split(" "),null,e)}}a.actions.get("print").funct=function(){a.showDialog((new PrintDialog(a)).container,360,null!=a.pages&&1<a.pages.length?450:370,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var v=b.getExportVariables;b.getExportVariables=function(){var b=v.apply(this,arguments),c=a.getCurrentFile();null!=c&&(b.filename=c.getTitle());b.pagecount=
+null!=a.pages?a.pages.length:1;b.page=null!=a.currentPage?a.currentPage.getName():"";b.pagenumber=null!=a.pages&&null!=a.currentPage?mxUtils.indexOf(a.pages,a.currentPage)+1:1;return b};var z=b.getGlobalVariable;b.getGlobalVariable=function(b){var c=a.getCurrentFile();return"filename"==b&&null!=c?c.getTitle():"page"==b&&null!=a.currentPage?a.currentPage.getName():"pagenumber"==b?null!=a.currentPage&&null!=a.pages?mxUtils.indexOf(a.pages,a.currentPage)+1:1:"pagecount"==b?null!=a.pages?a.pages.length:
+1:z.apply(this,arguments)};var x=b.labelLinkClicked;b.labelLinkClicked=function(a,c,e){var d=c.getAttribute("href");if(null==d||!b.isCustomLink(d)||!mxEvent.isTouchEvent(e)&&mxEvent.isPopupTrigger(e))x.apply(this,arguments);else{if(!b.isEnabled()||null!=a&&b.isCellLocked(a.cell))b.customLinkClicked(d),b.getRubberband().reset();mxEvent.consume(e)}};this.editor.getOrCreateFilename=function(){var b=a.defaultFilename,c=a.getCurrentFile();null!=c&&(b=null!=c.getTitle()?c.getTitle():b);return b};var B=
+this.actions.get("print");B.setEnabled(!mxClient.IS_IOS||!navigator.standalone);B.visible=B.isEnabled();if(!this.editor.chromeless||this.editor.editable)this.keyHandler.bindAction(70,!0,"findReplace"),this.keyHandler.bindAction(67,!0,"copyStyle",!0),this.keyHandler.bindAction(86,!0,"pasteStyle",!0),this.keyHandler.bindAction(77,!0,"editGeometry",!0),this.keyHandler.bindAction(88,!0,"insertText",!0),this.keyHandler.bindAction(75,!0,"insertRectangle"),this.keyHandler.bindAction(75,!0,"insertEllipse",
+!0),this.altShiftActions[83]="synchronize",this.installImagePasteHandler(),this.installNativeClipboardHandler();this.spinner=this.createSpinner(document.body.clientWidth/2-2,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2,24);Graph.fileSupport&&b.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var c=b.cellEditor.text2,e=null;null!=c&&(mxEvent.addListener(c,"dragleave",function(a){null!=e&&(e.parentNode.removeChild(e),e=null);a.stopPropagation();
+a.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){null==e&&(!mxClient.IS_IE||10<document.documentMode)&&(e=this.highlightElement(c));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=e&&(e.parentNode.removeChild(e),e=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,function(a,c,e,d,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,
+6)},function(a){for(var b=0;b<a.length;b++)a[b]()},mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(a){var e=Math.max(1,a.width);a=Math.max(1,a.height);var d=this.maxImageSize,d=Math.min(1,Math.min(d/Math.max(1,e)),d/Math.max(1,a));b.insertImage(decodeURIComponent(c),e*d,a*d)})):document.execCommand("insertHTML",
+!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation();a.preventDefault()})))}));"undefined"!==typeof window.mxSettings&&(B=this.editor.graph.view,B.setUnit(mxSettings.getUnit()),B.addListener("unitChanged",function(a,b){mxSettings.setUnit(b.getProperty("unit"));
+mxSettings.save()}),this.ruler=!this.canvasSupported||9==document.documentMode||"1"!=urlParams.ruler&&!mxSettings.isRulerOn()||this.editor.isChromelessView()&&!this.editor.editable?null:new mxDualRuler(this,B.unit),this.refresh());if("1"==urlParams.styledev){B=document.getElementById("geFooter");null!=B&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left=
+"2px",this.styleInput.style.width="98%",this.styleInput.style.visibility="hidden",this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),B.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var c=this.editor.graph.getSelectionCell(),
+c=this.editor.graph.getModel().getStyle(c);this.styleInput.value=c||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var y=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:y.apply(this,arguments)}}B=document.getElementById("geInfo");null!=B&&B.parentNode.removeChild(B);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var C=null;mxEvent.addListener(b.container,"dragleave",
+function(a){b.isEnabled()&&(null!=C&&(C.parentNode.removeChild(C),C=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(b.container,"dragover",mxUtils.bind(this,function(a){null==C&&(!mxClient.IS_IE||10<document.documentMode)&&(C=this.highlightElement(b.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()}));mxEvent.addListener(b.container,"drop",mxUtils.bind(this,function(a){null!=C&&(C.parentNode.removeChild(C),C=null);if(b.isEnabled()){var c=
+mxUtils.convertPoint(b.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),e=b.view.translate,d=b.view.scale,f=c.x/d-e.x,g=c.y/d-e.y;if(0<a.dataTransfer.files.length)mxEvent.isShiftDown(a)?this.openFiles(a.dataTransfer.files,!0):(mxEvent.isAltDown(a)&&(g=f=null),this.importFiles(a.dataTransfer.files,f,g,this.maxImageSize,null,null,null,null,mxEvent.isControlDown(a),null,null,mxEvent.isShiftDown(a),a));else{mxEvent.isAltDown(a)&&(g=f=0);var k=0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")?
+a.dataTransfer.getData("text/uri-list"):null,c=this.extractGraphModelFromEvent(a,null!=this.pages);if(null!=c)b.setSelectionCells(this.importXml(c,f,g,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")){var l=a.dataTransfer.getData("text/html"),c=document.createElement("div");c.innerHTML=b.sanitizeHtml(l);var m=null,e=c.getElementsByTagName("img");null!=e&&1==e.length?(l=e[0].getAttribute("src"),null==l&&(l=e[0].getAttribute("srcset")),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(l)||(m=
+!0)):(e=c.getElementsByTagName("a"),null!=e&&1==e.length?l=e[0].getAttribute("href"):(c=c.getElementsByTagName("pre"),null!=c&&1==c.length&&(l=mxUtils.getTextContent(c[0]))));var n=!0,p=mxUtils.bind(this,function(){b.setSelectionCells(this.insertTextAt(l,f,g,!0,m,null,n,mxEvent.isControlDown(a)))});m&&null!=l&&l.length>this.resampleThreshold?this.confirmImageResize(function(a){n=a;p()},mxEvent.isControlDown(a)):p()}else null!=k&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(k)?this.loadImage(decodeURIComponent(k),
+mxUtils.bind(this,function(a){var c=Math.max(1,a.width);a=Math.max(1,a.height);var e=this.maxImageSize,e=Math.min(1,Math.min(e/Math.max(1,c)),e/Math.max(1,a));b.setSelectionCell(b.insertVertex(null,null,"",f,g,c*e,a*e,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+k+";"))}),mxUtils.bind(this,function(a){b.setSelectionCells(this.insertTextAt(k,f,g,!0))})):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&b.setSelectionCells(this.insertTextAt(a.dataTransfer.getData("text/plain"),
+f,g,!0))}}a.stopPropagation();a.preventDefault()}),!1)}b.enableFlowAnimation=!0;this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode();this.installSettings()};EditorUi.prototype.installImagePasteHandler=function(){if(!mxClient.IS_IE){var a=this.editor.graph;a.container.addEventListener("paste",mxUtils.bind(this,function(b){if(!mxEvent.isConsumed(b))try{for(var c=b.clipboardData||b.originalEvent.clipboardData,e=!1,d=0;d<c.types.length;d++)if("text/"===c.types[d].substring(0,5)){e=!0;break}if(!e){var f=
+c.items;for(index in f){var g=f[index];if("file"===g.kind){if(a.isEditing())this.importFiles([g.getAsFile()],0,0,this.maxImageSize,function(b,c,e,d,f,g){a.insertImage(b,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var k=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],k.x,k.y,this.maxImageSize);mxEvent.consume(b)}break}}}}catch(z){}}),!1)}};EditorUi.prototype.installNativeClipboardHandler=function(){function a(){window.setTimeout(function(){c.innerHTML=
"&nbsp;";c.focus();document.execCommand("selectAll",!1,null)},0)}var b=this.editor.graph,c=document.createElement("div");c.setAttribute("autocomplete","off");c.setAttribute("autocorrect","off");c.setAttribute("autocapitalize","off");c.setAttribute("spellcheck","false");c.style.textRendering="optimizeSpeed";c.style.fontFamily="monospace";c.style.wordBreak="break-all";c.style.background="transparent";c.style.color="transparent";c.style.position="absolute";c.style.whiteSpace="nowrap";c.style.overflow=
"hidden";c.style.display="block";c.style.fontSize="1";c.style.zIndex="-1";c.style.resize="none";c.style.outline="none";c.style.width="1px";c.style.height="1px";mxUtils.setOpacity(c,0);c.contentEditable=!0;c.innerHTML="&nbsp;";var d=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(a){var e=mxEvent.getSource(a);null==b.container||!b.isEnabled()||b.isMouseDown||
b.isEditing()||null!=this.dialog||"INPUT"==e.nodeName||"TEXTAREA"==e.nodeName||224!=a.keyCode&&(mxClient.IS_MAC||17!=a.keyCode)&&(!mxClient.IS_MAC||91!=a.keyCode&&93!=a.keyCode)||d||(c.style.left=b.container.scrollLeft+10+"px",c.style.top=b.container.scrollTop+10+"px",b.container.appendChild(c),d=!0,c.focus(),document.execCommand("selectAll",!1,null))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(a){var e=a.keyCode;window.setTimeout(mxUtils.bind(this,function(){!d||224!=e&&17!=
e&&91!=e&&93!=e||(d=!1,b.isEditing()||null!=this.dialog||null==b.container||b.container.focus(),c.parentNode.removeChild(c),null==this.dialog&&mxUtils.clearSelection())}),0)}));mxEvent.addListener(c,"copy",mxUtils.bind(this,function(e){if(b.isEnabled())try{mxClipboard.copy(b),this.copyCells(c),a()}catch(q){this.handleError(q)}}));mxEvent.addListener(c,"cut",mxUtils.bind(this,function(e){if(b.isEnabled())try{mxClipboard.copy(b),this.copyCells(c,!0),a()}catch(q){this.handleError(q)}}));mxEvent.addListener(c,
"paste",mxUtils.bind(this,function(a){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&(c.innerHTML="&nbsp;",c.focus(),null!=a.clipboardData&&this.pasteCells(a,c,!0,!0),mxEvent.isConsumed(a)||window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,c,!1,!0)}),0))}),!0);var f=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==c?!0:f.apply(this,arguments)}};EditorUi.prototype.getLinkTitle=function(a){var b=Graph.prototype.getLinkTitle.apply(this,arguments);
-if("data:page/id,"==a.substring(0,13)){var e=a.indexOf(",");0<e&&(b=this.getPageById(a.substring(e+1)),b=null!=b?b.getName():mxResources.get("pageNotFound"))}else"data:"==a.substring(0,5)&&(b=mxResources.get("action"));return b};EditorUi.prototype.handleCustomLink=function(a){if("data:page/id,"==a.substring(0,13)){var b=a.indexOf(",");if(a=this.getPageById(a.substring(b+1)))this.selectPage(a);else throw Error(mxResources.get("pageNotFound")||"Page not found");}else this.editor.graph.handleCustomLink(a)};
+if("data:page/id,"==a.substring(0,13)){var c=a.indexOf(",");0<c&&(b=this.getPageById(a.substring(c+1)),b=null!=b?b.getName():mxResources.get("pageNotFound"))}else"data:"==a.substring(0,5)&&(b=mxResources.get("action"));return b};EditorUi.prototype.handleCustomLink=function(a){if("data:page/id,"==a.substring(0,13)){var b=a.indexOf(",");if(a=this.getPageById(a.substring(b+1)))this.selectPage(a);else throw Error(mxResources.get("pageNotFound")||"Page not found");}else this.editor.graph.handleCustomLink(a)};
EditorUi.prototype.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors=mxSettings.getRecentColors();if(isLocalStorage)try{window.addEventListener("storage",mxUtils.bind(this,function(a){a.key==mxSettings.key&&(mxSettings.load(),ColorDialog.recentColors=mxSettings.getRecentColors(),this.menus.customFonts=mxSettings.getCustomFonts())}),!1)}catch(e){}this.fireEvent(new mxEventObject("styleChanged",
-"keys",[],"values",[],"cells",[]));this.menus.customFonts=mxSettings.getCustomFonts();this.addListener("customFontsChanged",mxUtils.bind(this,function(a,b){if("1"!=urlParams["ext-fonts"])mxSettings.setCustomFonts(this.menus.customFonts);else{var e=b.getProperty("customFonts");this.menus.customFonts=e;mxSettings.setCustomFonts(e)}mxSettings.save()}));this.editor.graph.connectionHandler.setCreateTarget(mxSettings.isCreateTarget());this.fireEvent(new mxEventObject("copyConnectChanged"));this.addListener("copyConnectChanged",
+"keys",[],"values",[],"cells",[]));this.menus.customFonts=mxSettings.getCustomFonts();this.addListener("customFontsChanged",mxUtils.bind(this,function(a,b){if("1"!=urlParams["ext-fonts"])mxSettings.setCustomFonts(this.menus.customFonts);else{var c=b.getProperty("customFonts");this.menus.customFonts=c;mxSettings.setCustomFonts(c)}mxSettings.save()}));this.editor.graph.connectionHandler.setCreateTarget(mxSettings.isCreateTarget());this.fireEvent(new mxEventObject("copyConnectChanged"));this.addListener("copyConnectChanged",
mxUtils.bind(this,function(a,b){mxSettings.setCreateTarget(this.editor.graph.connectionHandler.isCreateTarget());mxSettings.save()}));this.editor.graph.pageFormat=mxSettings.getPageFormat();this.addListener("pageFormatChanged",mxUtils.bind(this,function(a,b){mxSettings.setPageFormat(this.editor.graph.pageFormat);mxSettings.save()}));this.editor.graph.view.gridColor=mxSettings.getGridColor("dark"==uiTheme);this.addListener("gridColorChanged",mxUtils.bind(this,function(a,b){mxSettings.setGridColor(this.editor.graph.view.gridColor,
"dark"==uiTheme);mxSettings.save()}));if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)this.editor.addListener("autosaveChanged",mxUtils.bind(this,function(a,b){mxSettings.setAutosave(this.editor.autosave);mxSettings.save()})),this.editor.autosave=mxSettings.getAutosave();null!=this.sidebar&&(null!=urlParams["search-shapes"]&&null!=this.sidebar.searchShapes?(this.sidebar.searchShapes(decodeURIComponent(urlParams["search-shapes"])),this.sidebar.showEntries("search")):(this.sidebar.showPalette("search",
-mxSettings.settings.search),this.editor.chromeless&&!this.editor.editable||!(mxSettings.settings.isNew||8>=parseInt(mxSettings.settings.version||0))||(this.toggleScratchpad(),mxSettings.save())));this.addListener("formatWidthChanged",function(){mxSettings.setFormatWidth(this.formatWidth);mxSettings.save()})}};EditorUi.prototype.copyImage=function(a,b,c,d){try{null!=navigator.clipboard&&this.spinner.spin(document.body,mxResources.get("exporting"))&&this.editor.exportToCanvas(mxUtils.bind(this,function(e,
-d){try{this.spinner.stop();var f=this.createImageDataUri(e,0<a.length?b:null,"png");if("png"==c)var g=this.base64ToBlob(f.substring(f.indexOf(",")+1),"image/png"),k=new ClipboardItem({"image/png":g});else var l=parseInt(d.getAttribute("width")),m=parseInt(d.getAttribute("height")),k=new ClipboardItem({"text/html":new Blob(['<img src="'+f+'" width="'+l+'" height="'+m+'">'],{type:"text/html"})});navigator.clipboard.write([k])["catch"](mxUtils.bind(this,function(a){this.handleError(a)}))}catch(z){this.handleError(z)}}),
-null,null,null,mxUtils.bind(this,function(){}),null,null,null!=d?d:"png"==c?1:4,"png"!=c,null,null,null,10,null,null,!1,null,0<a.length?a:null)}catch(t){this.handleError(t)}};EditorUi.prototype.copyCells=function(a,b){var e=this.editor.graph;if(e.isSelectionEmpty())a.innerHTML="";else{var c=mxUtils.sortCells(e.model.getTopmostCells(e.getSelectionCells())),d=mxUtils.getXml(e.encodeCells(c));mxUtils.setTextContent(a,encodeURIComponent(d));b?(e.removeCells(c,!1),e.lastPasteXml=null):(e.lastPasteXml=
-d,e.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.copyXml=function(){var a=null;if(Editor.enableNativeCipboard){var b=this.editor.graph;b.isSelectionEmpty()||(a=mxUtils.sortCells(b.getExportableCells(b.model.getTopmostCells(b.getSelectionCells()))),b=mxUtils.getXml(b.encodeCells(a)),navigator.clipboard.writeText(b))}return a};EditorUi.prototype.pasteXml=function(a,b,c,d){var e=this.editor.graph,f=null;e.lastPasteXml==a?e.pasteCounter++:(e.lastPasteXml=a,
+mxSettings.settings.search),this.editor.chromeless&&!this.editor.editable||!(mxSettings.settings.isNew||8>=parseInt(mxSettings.settings.version||0))||(this.toggleScratchpad(),mxSettings.save())));this.addListener("formatWidthChanged",function(){mxSettings.setFormatWidth(this.formatWidth);mxSettings.save()})}};EditorUi.prototype.copyImage=function(a,b,c,d){try{null!=navigator.clipboard&&this.spinner.spin(document.body,mxResources.get("exporting"))&&this.editor.exportToCanvas(mxUtils.bind(this,function(a,
+e){try{this.spinner.stop();var d=this.createImageDataUri(a,b,"png");if("png"==c)var f=this.base64ToBlob(d.substring(d.indexOf(",")+1),"image/png"),g=new ClipboardItem({"image/png":f});else var k=parseInt(e.getAttribute("width")),l=parseInt(e.getAttribute("height")),g=new ClipboardItem({"text/html":new Blob(['<img src="'+d+'" width="'+k+'" height="'+l+'">'],{type:"text/html"})});navigator.clipboard.write([g])["catch"](mxUtils.bind(this,function(a){this.handleError(a)}))}catch(y){this.handleError(y)}}),
+null,null,null,mxUtils.bind(this,function(){}),null,null,null!=d?d:"png"==c?1:4,"png"!=c,null,null,null,10,null,null,!1,null,0<a.length?a:null)}catch(t){this.handleError(t)}};EditorUi.prototype.copyCells=function(a,b){var c=this.editor.graph;if(c.isSelectionEmpty())a.innerHTML="";else{var e=mxUtils.sortCells(c.model.getTopmostCells(c.getSelectionCells())),d=mxUtils.getXml(c.encodeCells(e));mxUtils.setTextContent(a,encodeURIComponent(d));b?(c.removeCells(e,!1),c.lastPasteXml=null):(c.lastPasteXml=
+d,c.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.copyXml=function(){var a=null;if(Editor.enableNativeCipboard){var b=this.editor.graph;b.isSelectionEmpty()||(a=mxUtils.sortCells(b.getExportableCells(b.model.getTopmostCells(b.getSelectionCells()))),b=mxUtils.getXml(b.encodeCells(a)),navigator.clipboard.writeText(b))}return a};EditorUi.prototype.pasteXml=function(a,b,c,d){var e=this.editor.graph,f=null;e.lastPasteXml==a?e.pasteCounter++:(e.lastPasteXml=a,
e.pasteCounter=0);var g=e.pasteCounter*e.gridSize;if(c||this.isCompatibleString(a))f=this.importXml(a,g,g),e.setSelectionCells(f);else if(b&&1==e.getSelectionCount()){g=e.getStartEditingCell(e.getSelectionCell(),d);if(/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a)&&"image"==e.getCurrentCellStyle(g)[mxConstants.STYLE_SHAPE])e.setCellStyles(mxConstants.STYLE_IMAGE,a,[g]);else{e.model.beginUpdate();try{e.labelChanged(g,a),Graph.isLink(a)&&e.setLinkForCell(g,a)}finally{e.model.endUpdate()}}e.setSelectionCell(g)}else f=
e.getInsertPoint(),e.isMouseInsertPoint()&&(g=0,e.lastPasteXml==a&&0<e.pasteCounter&&e.pasteCounter--),f=this.insertTextAt(a,f.x+g,f.y+g,!0),e.setSelectionCells(f);e.isSelectionEmpty()||(e.scrollCellToVisible(e.getSelectionCell()),null!=this.hoverIcons&&this.hoverIcons.update(e.view.getState(e.getSelectionCell())));return f};EditorUi.prototype.pasteCells=function(a,b,c,d){if(!mxEvent.isConsumed(a)){var e=b,f=!1;if(c&&null!=a.clipboardData&&a.clipboardData.getData){var g=a.clipboardData.getData("text/plain"),
k=!1;if(null!=g&&0<g.length&&"%3CmxGraphModel%3E"==g.substring(0,18)){var l=decodeURIComponent(g);this.isCompatibleString(l)&&(k=!0,g=l)}k=k?null:a.clipboardData.getData("text/html");if(null!=k&&0<k.length){g="<meta "==k.substring(0,6);e=document.createElement("div");e.innerHTML=(g?'<meta charset="utf-8">':"")+this.editor.graph.sanitizeHtml(k);f=!0;k=e.getElementsByTagName("style");if(null!=k)for(;0<k.length;)k[0].parentNode.removeChild(k[0]);null!=e.firstChild&&e.firstChild.nodeType==mxConstants.NODETYPE_ELEMENT&&
null!=e.firstChild.nextSibling&&e.firstChild.nextSibling.nodeType==mxConstants.NODETYPE_ELEMENT&&"META"==e.firstChild.nodeName&&"A"==e.firstChild.nextSibling.nodeName&&null==e.firstChild.nextSibling.nextSibling&&(k=null==e.firstChild.nextSibling.innerText?mxUtils.getTextContent(e.firstChild.nextSibling):e.firstChild.nextSibling.innerText,k==e.firstChild.nextSibling.getAttribute("href")&&(mxUtils.setTextContent(e,k),f=!1));g=g&&null!=e.firstChild?e.firstChild.nextSibling:e.firstChild;null!=g&&null==
g.nextSibling&&g.nodeType==mxConstants.NODETYPE_ELEMENT&&"IMG"==g.nodeName?(k=g.getAttribute("src"),null!=k&&("data:image/png;base64,"==k.substring(0,22)&&(f=this.extractGraphModelFromPng(k),null!=f&&0<f.length&&(k=f)),mxUtils.setTextContent(e,k),f=!1)):(g=e.getElementsByTagName("img"),1==g.length&&(g=g[0],k=g.getAttribute("src"),null!=k&&g.parentNode==e&&1==e.children.length&&("data:image/png;base64,"==k.substring(0,22)&&(f=this.extractGraphModelFromPng(k),null!=f&&0<f.length&&(k=f)),mxUtils.setTextContent(e,
-k),f=!1)));f&&Graph.removePasteFormatting(e)}else null!=g&&0<g.length&&(e=document.createElement("div"),mxUtils.setTextContent(e,k))}g=e.getElementsByTagName("span");if(null!=g&&0<g.length&&"application/vnd.lucid.chart.objects"===g[0].getAttribute("data-lucid-type"))c=g[0].getAttribute("data-lucid-content"),null!=c&&0<c.length&&(this.convertLucidChart(c,mxUtils.bind(this,function(a){var b=this.editor.graph;b.lastPasteXml==a?b.pasteCounter++:(b.lastPasteXml=a,b.pasteCounter=0);var e=b.pasteCounter*
-b.gridSize;b.setSelectionCells(this.importXml(a,e,e));b.scrollCellToVisible(b.getSelectionCell())}),mxUtils.bind(this,function(a){this.handleError(a)})),mxEvent.consume(a));else{f=f?e.innerHTML:mxUtils.trim(null==e.innerText?mxUtils.getTextContent(e):e.innerText);k=!1;try{var m=f.lastIndexOf("%3E");0<=m&&m<f.length-3&&(f=f.substring(0,m+3))}catch(z){}try{g=e.getElementsByTagName("span"),l=null!=g&&0<g.length?mxUtils.trim(decodeURIComponent(g[0].textContent)):decodeURIComponent(f),this.isCompatibleString(l)&&
-(k=!0,f=l)}catch(z){}try{if(null!=f&&0<f.length){this.pasteXml(f,d,k,a);try{mxEvent.consume(a)}catch(z){}}else if(!c){var n=this.editor.graph;n.lastPasteXml=null;n.pasteCounter=0}}catch(z){this.handleError(z)}}}b.innerHTML="&nbsp;"};EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var b=null,e=0;e<a.length;e++)mxEvent.addListener(a[e],"dragleave",function(a){null!=b&&(b.parentNode.removeChild(b),b=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[e],"dragover",
-mxUtils.bind(this,function(a){(this.editor.graph.isEnabled()||"1"!=urlParams.embed)&&null==b&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode)&&(b=this.highlightElement());a.stopPropagation();a.preventDefault()})),mxEvent.addListener(a[e],"drop",mxUtils.bind(this,function(a){null!=b&&(b.parentNode.removeChild(b),b=null);if(this.editor.graph.isEnabled()||"1"!=urlParams.embed)if(0<a.dataTransfer.files.length)this.hideDialog(),"1"==urlParams.embed?this.importFiles(a.dataTransfer.files,
-0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)):this.openFiles(a.dataTransfer.files,!0);else{var e=this.extractGraphModelFromEvent(a);if(null==e){var c=null!=a.dataTransfer?a.dataTransfer:a.clipboardData;null!=c&&(10==document.documentMode||11==document.documentMode?e=c.getData("Text"):(e=null,e=0<=mxUtils.indexOf(c.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(c.types,"text/html")?c.getData("text/html"):null,null!=
-e&&0<e.length?(c=document.createElement("div"),c.innerHTML=this.editor.graph.sanitizeHtml(e),c=c.getElementsByTagName("img"),0<c.length&&(e=c[0].getAttribute("src"))):0<=mxUtils.indexOf(c.types,"text/plain")&&(e=c.getData("text/plain"))),null!=e&&("data:image/png;base64,"==e.substring(0,22)?(e=this.extractGraphModelFromPng(e),null!=e&&0<e.length&&this.openLocalFile(e,null,!0)):!this.isOffline()&&this.isRemoteFileFormat(e)?(new mxXmlRequest(OPEN_URL,"format=xml&data="+encodeURIComponent(e))).send(mxUtils.bind(this,
-function(a){200<=a.getStatus()&&299>=a.getStatus()&&this.openLocalFile(a.getText(),null,!0)})):/^https?:\/\//.test(e)&&(null==this.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(e):window.openWindow((mxClient.IS_CHROMEAPP?EditorUi.drawHost+"/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(e)))))}else this.openLocalFile(e,null,!0)}a.stopPropagation();a.preventDefault()}))};EditorUi.prototype.highlightElement=function(a){var b=0,e=0,c,d;if(null==a){d=document.body;
-var f=document.documentElement;c=(d.clientWidth||f.clientWidth)-3;d=Math.max(d.clientHeight||0,f.clientHeight)-3}else b=a.offsetTop,e=a.offsetLeft,c=a.clientWidth,d=a.clientHeight;f=document.createElement("div");f.style.zIndex=mxPopupMenu.prototype.zIndex+2;f.style.border="3px dotted rgb(254, 137, 12)";f.style.pointerEvents="none";f.style.position="absolute";f.style.top=b+"px";f.style.left=e+"px";f.style.width=Math.max(0,c-3)+"px";f.style.height=Math.max(0,d-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?
-this.editor.graph.container.appendChild(f):document.body.appendChild(f);return f};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=b){var e=new mxCodec(b.ownerDocument),c=new mxGraphModel;e.decode(b,c);b=c.getChildAt(c.getRoot(),0);for(e=0;e<c.getChildCount(b);e++)a.push(c.getChildAt(b,e))}return a};EditorUi.prototype.openFileHandle=function(a,b,c,d,f){if(null!=b&&0<b.length){!this.useCanvasForExport&&/(\.png)$/i.test(b)?
-b=b.substring(0,b.length-4)+".drawio":/(\.pdf)$/i.test(b)&&(b=b.substring(0,b.length-4)+".drawio");var e=mxUtils.bind(this,function(a){b=0<=b.lastIndexOf(".")?b.substring(0,b.lastIndexOf("."))+".drawio":b+".drawio";if("<mxlibrary"==a.substring(0,10)){null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,d);try{this.loadLibrary(new LocalLibrary(this,a,b))}catch(y){this.handleError(y,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(a,
+k),f=!1)));f&&Graph.removePasteFormatting(e)}else null!=g&&0<g.length&&(e=document.createElement("div"),mxUtils.setTextContent(e,k))}g=e.getElementsByTagName("span");if(null!=g&&0<g.length&&"application/vnd.lucid.chart.objects"===g[0].getAttribute("data-lucid-type"))c=g[0].getAttribute("data-lucid-content"),null!=c&&0<c.length&&(this.convertLucidChart(c,mxUtils.bind(this,function(a){var b=this.editor.graph;b.lastPasteXml==a?b.pasteCounter++:(b.lastPasteXml=a,b.pasteCounter=0);var c=b.pasteCounter*
+b.gridSize;b.setSelectionCells(this.importXml(a,c,c));b.scrollCellToVisible(b.getSelectionCell())}),mxUtils.bind(this,function(a){this.handleError(a)})),mxEvent.consume(a));else{f=f?e.innerHTML:mxUtils.trim(null==e.innerText?mxUtils.getTextContent(e):e.innerText);k=!1;try{var m=f.lastIndexOf("%3E");0<=m&&m<f.length-3&&(f=f.substring(0,m+3))}catch(y){}try{g=e.getElementsByTagName("span"),l=null!=g&&0<g.length?mxUtils.trim(decodeURIComponent(g[0].textContent)):decodeURIComponent(f),this.isCompatibleString(l)&&
+(k=!0,f=l)}catch(y){}try{if(null!=f&&0<f.length){this.pasteXml(f,d,k,a);try{mxEvent.consume(a)}catch(y){}}else if(!c){var n=this.editor.graph;n.lastPasteXml=null;n.pasteCounter=0}}catch(y){this.handleError(y)}}}b.innerHTML="&nbsp;"};EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var b=null,c=0;c<a.length;c++)mxEvent.addListener(a[c],"dragleave",function(a){null!=b&&(b.parentNode.removeChild(b),b=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[c],"dragover",
+mxUtils.bind(this,function(a){(this.editor.graph.isEnabled()||"1"!=urlParams.embed)&&null==b&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode)&&(b=this.highlightElement());a.stopPropagation();a.preventDefault()})),mxEvent.addListener(a[c],"drop",mxUtils.bind(this,function(a){null!=b&&(b.parentNode.removeChild(b),b=null);if(this.editor.graph.isEnabled()||"1"!=urlParams.embed)if(0<a.dataTransfer.files.length)this.hideDialog(),"1"==urlParams.embed?this.importFiles(a.dataTransfer.files,
+0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)):this.openFiles(a.dataTransfer.files,!0);else{var c=this.extractGraphModelFromEvent(a);if(null==c){var e=null!=a.dataTransfer?a.dataTransfer:a.clipboardData;null!=e&&(10==document.documentMode||11==document.documentMode?c=e.getData("Text"):(c=null,c=0<=mxUtils.indexOf(e.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(e.types,"text/html")?e.getData("text/html"):null,null!=
+c&&0<c.length?(e=document.createElement("div"),e.innerHTML=this.editor.graph.sanitizeHtml(c),e=e.getElementsByTagName("img"),0<e.length&&(c=e[0].getAttribute("src"))):0<=mxUtils.indexOf(e.types,"text/plain")&&(c=e.getData("text/plain"))),null!=c&&("data:image/png;base64,"==c.substring(0,22)?(c=this.extractGraphModelFromPng(c),null!=c&&0<c.length&&this.openLocalFile(c,null,!0)):!this.isOffline()&&this.isRemoteFileFormat(c)?(new mxXmlRequest(OPEN_URL,"format=xml&data="+encodeURIComponent(c))).send(mxUtils.bind(this,
+function(a){200<=a.getStatus()&&299>=a.getStatus()&&this.openLocalFile(a.getText(),null,!0)})):/^https?:\/\//.test(c)&&(null==this.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(c):window.openWindow((mxClient.IS_CHROMEAPP?EditorUi.drawHost+"/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(c)))))}else this.openLocalFile(c,null,!0)}a.stopPropagation();a.preventDefault()}))};EditorUi.prototype.highlightElement=function(a){var b=0,c=0,e,d;if(null==a){d=document.body;
+var f=document.documentElement;e=(d.clientWidth||f.clientWidth)-3;d=Math.max(d.clientHeight||0,f.clientHeight)-3}else b=a.offsetTop,c=a.offsetLeft,e=a.clientWidth,d=a.clientHeight;f=document.createElement("div");f.style.zIndex=mxPopupMenu.prototype.zIndex+2;f.style.border="3px dotted rgb(254, 137, 12)";f.style.pointerEvents="none";f.style.position="absolute";f.style.top=b+"px";f.style.left=c+"px";f.style.width=Math.max(0,e-3)+"px";f.style.height=Math.max(0,d-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?
+this.editor.graph.container.appendChild(f):document.body.appendChild(f);return f};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=b){var c=new mxCodec(b.ownerDocument),e=new mxGraphModel;c.decode(b,e);b=e.getChildAt(e.getRoot(),0);for(c=0;c<e.getChildCount(b);c++)a.push(e.getChildAt(b,c))}return a};EditorUi.prototype.openFileHandle=function(a,b,c,d,f){if(null!=b&&0<b.length){!this.useCanvasForExport&&/(\.png)$/i.test(b)?
+b=b.substring(0,b.length-4)+".drawio":/(\.pdf)$/i.test(b)&&(b=b.substring(0,b.length-4)+".drawio");var e=mxUtils.bind(this,function(a){b=0<=b.lastIndexOf(".")?b.substring(0,b.lastIndexOf("."))+".drawio":b+".drawio";if("<mxlibrary"==a.substring(0,10)){null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,d);try{this.loadLibrary(new LocalLibrary(this,a,b))}catch(z){this.handleError(z,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(a,
b,d)});if(/(\.v(dx|sdx?))($|\?)/i.test(b)||/(\.vs(x|sx?))($|\?)/i.test(b))this.importVisio(c,mxUtils.bind(this,function(a){this.spinner.stop();e(a)}));else if(/(\.*<graphml )/.test(a))this.importGraphML(a,mxUtils.bind(this,function(a){this.spinner.stop();e(a)}));else if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,b))this.parseFile(c,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?e(a.responseText):this.handleError({message:mxResources.get(413==
a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));else if(this.isLucidChartData(a))/(\.json)$/i.test(b)&&(b=b.substring(0,b.length-5)+".drawio"),this.convertLucidChart(a,mxUtils.bind(this,function(a){this.spinner.stop();this.openLocalFile(a,b,d)}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}));else if("<mxlibrary"==a.substring(0,10)){this.spinner.stop();null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,
-this.defaultFilename,d);try{this.loadLibrary(new LocalLibrary(this,a,c.name))}catch(x){this.handleError(x,mxResources.get("errorLoadingFile"))}}else if(0==a.indexOf("PK"))this.importZipFile(c,mxUtils.bind(this,function(a){this.spinner.stop();e(a)}),mxUtils.bind(this,function(){this.spinner.stop();this.openLocalFile(a,b,d)}));else{if("image/png"==c.type.substring(0,9))a=this.extractGraphModelFromPng(a);else if("application/pdf"==c.type){var g=Editor.extractGraphModelFromPdf(a);null!=g&&(f=null,d=!0,
-a=g)}this.spinner.stop();this.openLocalFile(a,b,d,f,null!=f?c:null)}}};EditorUi.prototype.openFiles=function(a,b){if(this.spinner.spin(document.body,mxResources.get("loading")))for(var e=0;e<a.length;e++)mxUtils.bind(this,function(a){var e=new FileReader;e.onload=mxUtils.bind(this,function(e){try{this.openFileHandle(e.target.result,a.name,a,b)}catch(q){this.handleError(q)}});e.onerror=mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a);window.openFile=null});"image"!==a.type.substring(0,
-5)&&"application/pdf"!==a.type||"image/svg"===a.type.substring(0,9)?e.readAsText(a):e.readAsDataURL(a)})(a[e])};EditorUi.prototype.openLocalFile=function(a,b,c,d,f){var e=this.getCurrentFile(),g=mxUtils.bind(this,function(){window.openFile=null;if(null==b&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var e=mxUtils.parseXml(a);null!=e&&(this.editor.setGraphXml(e.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this,a,b||this.defaultFilename,c,d,f))});if(null!=
+this.defaultFilename,d);try{this.loadLibrary(new LocalLibrary(this,a,c.name))}catch(v){this.handleError(v,mxResources.get("errorLoadingFile"))}}else if(0==a.indexOf("PK"))this.importZipFile(c,mxUtils.bind(this,function(a){this.spinner.stop();e(a)}),mxUtils.bind(this,function(){this.spinner.stop();this.openLocalFile(a,b,d)}));else{if("image/png"==c.type.substring(0,9))a=this.extractGraphModelFromPng(a);else if("application/pdf"==c.type){var g=Editor.extractGraphModelFromPdf(a);null!=g&&(f=null,d=!0,
+a=g)}this.spinner.stop();this.openLocalFile(a,b,d,f,null!=f?c:null)}}};EditorUi.prototype.openFiles=function(a,b){if(this.spinner.spin(document.body,mxResources.get("loading")))for(var c=0;c<a.length;c++)mxUtils.bind(this,function(a){var c=new FileReader;c.onload=mxUtils.bind(this,function(c){try{this.openFileHandle(c.target.result,a.name,a,b)}catch(q){this.handleError(q)}});c.onerror=mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a);window.openFile=null});"image"!==a.type.substring(0,
+5)&&"application/pdf"!==a.type||"image/svg"===a.type.substring(0,9)?c.readAsText(a):c.readAsDataURL(a)})(a[c])};EditorUi.prototype.openLocalFile=function(a,b,c,d,f){var e=this.getCurrentFile(),g=mxUtils.bind(this,function(){window.openFile=null;if(null==b&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var e=mxUtils.parseXml(a);null!=e&&(this.editor.setGraphXml(e.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this,a,b||this.defaultFilename,c,d,f))});if(null!=
a&&0<a.length)null==e||!e.isModified()&&(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||null!=d)?g():(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||null!=d)&&null!=e&&e.isModified()?this.confirm(mxResources.get("allChangesLost"),null,g,mxResources.get("cancel"),mxResources.get("discardChanges")):(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,b),window.openWindow(this.getUrl(),null,mxUtils.bind(this,function(){null!=e&&e.isModified()?this.confirm(mxResources.get("allChangesLost"),
-null,g,mxResources.get("cancel"),mxResources.get("discardChanges")):g()})));else throw Error(mxResources.get("notADiagramFile"));};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var b=0;b<this.pages.length;b++)this.updatePageRoot(this.pages[b]),this.addBasenamesForCell(this.pages[b].root,a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a);var b=[],c;for(c in a)b.push(c);return b};EditorUi.prototype.addBasenamesForCell=function(a,b){function e(a){if(null!=
-a){var e=a.lastIndexOf(".");0<e&&(a=a.substring(e+1,a.length));null==b[a]&&(b[a]=!0)}}var c=this.editor.graph,d=c.getCellStyle(a);e(mxStencilRegistry.getBasenameForStencil(d[mxConstants.STYLE_SHAPE]));c.model.isEdge(a)&&(e(mxMarker.getPackageForType(d[mxConstants.STYLE_STARTARROW])),e(mxMarker.getPackageForType(d[mxConstants.STYLE_ENDARROW])));for(var d=c.model.getChildCount(a),f=0;f<d;f++)this.addBasenamesForCell(c.model.getChildAt(a,f),b)};EditorUi.prototype.setGraphEnabled=function(a){this.diagramContainer.style.visibility=
+null,g,mxResources.get("cancel"),mxResources.get("discardChanges")):g()})));else throw Error(mxResources.get("notADiagramFile"));};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var b=0;b<this.pages.length;b++)this.updatePageRoot(this.pages[b]),this.addBasenamesForCell(this.pages[b].root,a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a);var b=[],c;for(c in a)b.push(c);return b};EditorUi.prototype.addBasenamesForCell=function(a,b){function c(a){if(null!=
+a){var c=a.lastIndexOf(".");0<c&&(a=a.substring(c+1,a.length));null==b[a]&&(b[a]=!0)}}var e=this.editor.graph,d=e.getCellStyle(a);c(mxStencilRegistry.getBasenameForStencil(d[mxConstants.STYLE_SHAPE]));e.model.isEdge(a)&&(c(mxMarker.getPackageForType(d[mxConstants.STYLE_STARTARROW])),c(mxMarker.getPackageForType(d[mxConstants.STYLE_ENDARROW])));for(var d=e.model.getChildCount(a),f=0;f<d;f++)this.addBasenamesForCell(e.model.getChildAt(a,f),b)};EditorUi.prototype.setGraphEnabled=function(a){this.diagramContainer.style.visibility=
a?"":"hidden";this.formatContainer.style.visibility=a?"":"hidden";this.sidebarFooterContainer.style.display=a?"":"none";this.sidebarContainer.style.display=a?"":"none";this.hsplit.style.display=a?"":"none";this.editor.graph.setEnabled(a);null!=this.ruler&&(this.ruler.hRuler.container.style.visibility=a?"":"hidden",this.ruler.vRuler.container.style.visibility=a?"":"hidden");null!=this.tabContainer&&(this.tabContainer.style.visibility=a?"":"hidden");a||(null!=this.actions.outlineWindow&&this.actions.outlineWindow.window.setVisible(!1),
null!=this.actions.layersWindow&&this.actions.layersWindow.window.setVisible(!1),null!=this.menus.tagsWindow&&this.menus.tagsWindow.window.setVisible(!1),null!=this.menus.findWindow&&this.menus.findWindow.window.setVisible(!1),null!=this.menus.findReplaceWindow&&this.menus.findReplaceWindow.window.setVisible(!1))};EditorUi.prototype.initializeEmbedMode=function(){this.setGraphEnabled(!1);(window.opener||window.parent)!=window&&("1"!=urlParams.spin||this.spinner.spin(document.body,mxResources.get("loading")))&&
this.installMessageHandler(mxUtils.bind(this,function(a,b,c){this.spinner.stop();this.addEmbedButtons();this.setGraphEnabled(!0);if(null==a||0==a.length)a=this.emptyDiagramXml;this.setCurrentFile(new EmbedFile(this,a,{}));this.mode=App.MODE_EMBED;this.setFileData(a);this.editor.isChromelessView()?this.editor.graph.isLightboxView()&&this.lightboxFit():this.showLayersDialog();this.chromelessResize&&this.chromelessResize();this.editor.undoManager.clear();this.editor.modified=null!=c?c:!1;this.updateUi();
window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))};EditorUi.prototype.showLayersDialog=function(){1<this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&&(null==this.actions.layersWindow?this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))};EditorUi.prototype.getPublicUrl=function(a,b){null!=a?a.getPublicUrl(b):b(null)};EditorUi.prototype.createLoadMessage=function(a){var b=this.editor.graph;return{event:a,
-pageVisible:b.pageVisible,translate:b.view.translate,bounds:b.getGraphBounds(),currentPage:this.getSelectedPageIndex(),scale:b.view.scale,page:b.view.getBackgroundPageBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,c=!1,e=!1,d=null,f=mxUtils.bind(this,function(a,b){this.editor.modified&&"0"!=urlParams.modified?null!=urlParams.modified&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(urlParams.modified))):this.editor.setStatus("")});this.editor.graph.model.addListener(mxEvent.CHANGE,
+pageVisible:b.pageVisible,translate:b.view.translate,bounds:b.getGraphBounds(),currentPage:this.getSelectedPageIndex(),scale:b.view.scale,page:b.view.getBackgroundPageBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,c=!1,d=!1,e=null,f=mxUtils.bind(this,function(a,b){this.editor.modified&&"0"!=urlParams.modified?null!=urlParams.modified&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(urlParams.modified))):this.editor.setStatus("")});this.editor.graph.model.addListener(mxEvent.CHANGE,
f);mxEvent.addListener(window,"message",mxUtils.bind(this,function(f){if(f.source==(window.opener||window.parent)){var k=f.data,l=mxUtils.bind(this,function(a){if(null!=a&&"function"===typeof a.charAt&&"<"!=a.charAt(0))try{"data:image/png;base64,"==a.substring(0,22)?a=this.extractGraphModelFromPng(a):"data:image/svg+xml;base64,"==a.substring(0,26)?a=atob(a.substring(26)):"data:image/svg+xml;utf8,"==a.substring(0,24)&&(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a):"<"!=a.charAt(0)&&
(a=Graph.decompress(a)))}catch(Z){}return a});if("json"==urlParams.proto){try{k=JSON.parse(k)}catch(O){k=null}try{if(null==k)return;if("dialog"==k.action){this.showError(null!=k.titleKey?mxResources.get(k.titleKey):k.title,null!=k.messageKey?mxResources.get(k.messageKey):k.message,null!=k.buttonKey?mxResources.get(k.buttonKey):k.button);null!=k.modified&&(this.editor.modified=k.modified);return}if("layout"==k.action){this.executeLayoutList(k.layouts);return}if("prompt"==k.action){this.spinner.stop();
var m=new FilenameDialog(this,k.defaultValue||"",null!=k.okKey?mxResources.get(k.okKey):k.ok,function(a){null!=a?g.postMessage(JSON.stringify({event:"prompt",value:a,message:k}),"*"):g.postMessage(JSON.stringify({event:"prompt-cancel",message:k}),"*")},null!=k.titleKey?mxResources.get(k.titleKey):k.title);this.showDialog(m.container,300,80,!0,!1);m.init();return}if("draft"==k.action){var n=l(k.xml);this.spinner.stop();m=new DraftDialog(this,mxResources.get("draftFound",[k.name||this.defaultFilename]),
n,mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"edit",message:k}),"*")}),mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"discard",message:k}),"*")}),k.editKey?mxResources.get(k.editKey):null,k.discardKey?mxResources.get(k.discardKey):null,k.ignore?mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"ignore",message:k}),"*")}):null);this.showDialog(m.container,
-640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{m.init()}catch(O){g.postMessage(JSON.stringify({event:"draft",error:O.toString(),message:k}),"*")}return}if("template"==k.action){this.spinner.stop();var p=1==k.enableRecent,t=1==k.enableSearch,q=1==k.enableCustomTemp,m=new NewDialog(this,!1,k.templatesOnly?!1:null!=k.callback,mxUtils.bind(this,function(b,c,e,d){b=b||this.emptyDiagramXml;null!=k.callback?g.postMessage(JSON.stringify({event:"template",xml:b,blank:b==
-this.emptyDiagramXml,name:c,tempUrl:e,libs:d,builtIn:!0,message:k}),"*"):(a(b,f,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,p?mxUtils.bind(this,function(a){this.remoteInvoke("getRecentDiagrams",null,null,a,function(){a(null,"Network Error!")})}):null,t?mxUtils.bind(this,function(a,b){this.remoteInvoke("searchDiagrams",[a],null,b,function(){b(null,"Network Error!")})}):null,mxUtils.bind(this,function(a,b,c){g.postMessage(JSON.stringify({event:"template",
+640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{m.init()}catch(O){g.postMessage(JSON.stringify({event:"draft",error:O.toString(),message:k}),"*")}return}if("template"==k.action){this.spinner.stop();var p=1==k.enableRecent,t=1==k.enableSearch,q=1==k.enableCustomTemp,m=new NewDialog(this,!1,k.templatesOnly?!1:null!=k.callback,mxUtils.bind(this,function(b,c,d,e){b=b||this.emptyDiagramXml;null!=k.callback?g.postMessage(JSON.stringify({event:"template",xml:b,blank:b==
+this.emptyDiagramXml,name:c,tempUrl:d,libs:e,builtIn:!0,message:k}),"*"):(a(b,f,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,p?mxUtils.bind(this,function(a){this.remoteInvoke("getRecentDiagrams",null,null,a,function(){a(null,"Network Error!")})}):null,t?mxUtils.bind(this,function(a,b){this.remoteInvoke("searchDiagrams",[a],null,b,function(){b(null,"Network Error!")})}):null,mxUtils.bind(this,function(a,b,c){g.postMessage(JSON.stringify({event:"template",
docUrl:a,info:b,name:c}),"*")}),null,null,q?mxUtils.bind(this,function(a){this.remoteInvoke("getCustomTemplates",null,null,a,function(){a({},0)})}):null);this.showDialog(m.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));m.init();return}if("textContent"==k.action){var u=this.getDiagramTextContent();g.postMessage(JSON.stringify({event:"textContent",data:u,message:k}),"*");return}if("status"==k.action){null!=k.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(k.messageKey))):
-null!=k.message&&this.editor.setStatus(mxUtils.htmlEntities(k.message));null!=k.modified&&(this.editor.modified=k.modified);return}if("spinner"==k.action){var x=null!=k.messageKey?mxResources.get(k.messageKey):k.message;null==k.show||k.show?this.spinner.spin(document.body,x):this.spinner.stop();return}if("export"==k.action){if("png"==k.format||"xmlpng"==k.format){if(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin)){var y=null!=k.xml?
-k.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var J=this.editor.graph,E=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();var b=this.createLoadMessage("export");b.format=k.format;b.message=k;b.data=a;b.xml=y;g.postMessage(JSON.stringify(b),"*")}),K=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage);"xmlpng"==k.format&&(a=Editor.writeGraphModelToPng(a,"tEXt","mxfile",encodeURIComponent(y)));J!=this.editor.graph&&J.container.parentNode.removeChild(J.container);
-E(a)}),M=k.pageId||(null!=this.pages?k.currentPage?this.currentPage.getId():this.pages[0].getId():null);if(this.isExportToCanvas()){null!=k.xml&&0<k.xml.length&&(c=!0,this.setFileData(y),c=!1);if(null!=this.pages&&this.currentPage.getId()!=M){for(var N=J.getGlobalVariable,J=this.createTemporaryGraph(J.getStylesheet()),Y,L=0;L<this.pages.length;L++)if(this.pages[L].getId()==M){Y=this.updatePageRoot(this.pages[L]);break}J.getGlobalVariable=function(a){return"page"==a?Y.getName():"pagenumber"==a?1:N.apply(this,
+null!=k.message&&this.editor.setStatus(mxUtils.htmlEntities(k.message));null!=k.modified&&(this.editor.modified=k.modified);return}if("spinner"==k.action){var v=null!=k.messageKey?mxResources.get(k.messageKey):k.message;null==k.show||k.show?this.spinner.spin(document.body,v):this.spinner.stop();return}if("export"==k.action){if("png"==k.format||"xmlpng"==k.format){if(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin)){var z=null!=k.xml?
+k.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var J=this.editor.graph,H=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();var b=this.createLoadMessage("export");b.format=k.format;b.message=k;b.data=a;b.xml=z;g.postMessage(JSON.stringify(b),"*")}),K=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage);"xmlpng"==k.format&&(a=Editor.writeGraphModelToPng(a,"tEXt","mxfile",encodeURIComponent(z)));J!=this.editor.graph&&J.container.parentNode.removeChild(J.container);
+H(a)}),M=k.pageId||(null!=this.pages?k.currentPage?this.currentPage.getId():this.pages[0].getId():null);if(this.isExportToCanvas()){null!=k.xml&&0<k.xml.length&&(c=!0,this.setFileData(z),c=!1);if(null!=this.pages&&this.currentPage.getId()!=M){for(var N=J.getGlobalVariable,J=this.createTemporaryGraph(J.getStylesheet()),Y,L=0;L<this.pages.length;L++)if(this.pages[L].getId()==M){Y=this.updatePageRoot(this.pages[L]);break}J.getGlobalVariable=function(a){return"page"==a?Y.getName():"pagenumber"==a?1:N.apply(this,
arguments)};document.body.appendChild(J.container);J.model.setRoot(Y.root)}if(null!=k.layerIds){for(var T=J.model,U=T.getChildCells(T.getRoot()),m={},L=0;L<k.layerIds.length;L++)m[k.layerIds[L]]=!0;for(L=0;L<U.length;L++)T.setVisible(U[L],m[U[L].id]||!1)}this.editor.exportToCanvas(mxUtils.bind(this,function(a){K(a.toDataURL("image/png"))}),k.width,null,k.background,mxUtils.bind(this,function(){K(null)}),null,null,k.scale,k.transparent,k.shadow,null,J,k.border,null,k.grid,k.keepTheme)}else(new mxXmlRequest(EXPORT_URL,
-"format=png&embedXml="+("xmlpng"==k.format?"1":"0")+(null!=M?"&pageId="+M:"")+(null!=k.layerIds&&0<k.layerIds.length?"&extras="+encodeURIComponent(JSON.stringify({layerIds:k.layerIds})):"")+(null!=k.scale?"&scale="+k.scale:"")+"&base64=1&xml="+encodeURIComponent(y))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?E("data:image/png;base64,"+a.getText()):K(null)}),mxUtils.bind(this,function(){K(null)}))}}else{null!=k.xml&&0<k.xml.length&&(c=!0,this.setFileData(k.xml),c=!1);
-x=this.createLoadMessage("export");x.message=k;if("html2"==k.format||"html"==k.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length)){var X=this.getXmlFileData();x.xml=mxUtils.getXml(X);x.data=this.getFileData(null,null,!0,null,null,null,X);x.format=k.format}else if("html"==k.format)y=this.editor.getGraphXml(),x.data=this.getHtml(y,this.editor.graph),x.xml=mxUtils.getXml(y),x.format=k.format;else{mxSvgCanvas2D.prototype.foAltText=null;var aa=null!=k.background?k.background:this.editor.graph.background;
-aa==mxConstants.NONE&&(aa=null);x.xml=this.getFileData(!0,null,null,null,null,null,null,null,null,!1);x.format="svg";var ca=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();x.data=Editor.createSvgDataUri(a);g.postMessage(JSON.stringify(x),"*")});if("xmlsvg"==k.format)(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin))&&this.getEmbeddedSvg(x.xml,this.editor.graph,null,!0,ca,null,null,k.embedImages,aa,
+"format=png&embedXml="+("xmlpng"==k.format?"1":"0")+(null!=M?"&pageId="+M:"")+(null!=k.layerIds&&0<k.layerIds.length?"&extras="+encodeURIComponent(JSON.stringify({layerIds:k.layerIds})):"")+(null!=k.scale?"&scale="+k.scale:"")+"&base64=1&xml="+encodeURIComponent(z))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?H("data:image/png;base64,"+a.getText()):K(null)}),mxUtils.bind(this,function(){K(null)}))}}else{null!=k.xml&&0<k.xml.length&&(c=!0,this.setFileData(k.xml),c=!1);
+v=this.createLoadMessage("export");v.message=k;if("html2"==k.format||"html"==k.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length)){var X=this.getXmlFileData();v.xml=mxUtils.getXml(X);v.data=this.getFileData(null,null,!0,null,null,null,X);v.format=k.format}else if("html"==k.format)z=this.editor.getGraphXml(),v.data=this.getHtml(z,this.editor.graph),v.xml=mxUtils.getXml(z),v.format=k.format;else{mxSvgCanvas2D.prototype.foAltText=null;var aa=null!=k.background?k.background:this.editor.graph.background;
+aa==mxConstants.NONE&&(aa=null);v.xml=this.getFileData(!0,null,null,null,null,null,null,null,null,!1);v.format="svg";var ca=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();v.data=Editor.createSvgDataUri(a);g.postMessage(JSON.stringify(v),"*")});if("xmlsvg"==k.format)(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin))&&this.getEmbeddedSvg(v.xml,this.editor.graph,null,!0,ca,null,null,k.embedImages,aa,
k.scale,k.border,k.shadow,k.keepTheme);else if(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin)){this.editor.graph.setEnabled(!1);var W=this.editor.graph.getSvg(aa,k.scale,k.border,null,null,null,null,null,null,this.editor.graph.shadowVisible||k.shadow,null,k.keepTheme);(this.editor.graph.shadowVisible||k.shadow)&&this.editor.graph.addSvgShadow(W);this.embedFonts(W,mxUtils.bind(this,function(a){k.embedImages||null==k.embedImages?this.editor.convertImages(a,
-mxUtils.bind(this,function(a){ca(mxUtils.getXml(a))})):ca(mxUtils.getXml(a))}))}return}g.postMessage(JSON.stringify(x),"*")}return}if("load"==k.action){e=1==k.autosave;this.hideDialog();null!=k.modified&&null==urlParams.modified&&(urlParams.modified=k.modified);null!=k.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=k.saveAndExit);null!=k.noSaveBtn&&null==urlParams.noSaveBtn&&(urlParams.noSaveBtn=k.noSaveBtn);null!=k.noExitBtn&&null==urlParams.noExitBtn&&(urlParams.noExitBtn=k.noExitBtn);
+mxUtils.bind(this,function(a){ca(mxUtils.getXml(a))})):ca(mxUtils.getXml(a))}))}return}g.postMessage(JSON.stringify(v),"*")}return}if("load"==k.action){d=1==k.autosave;this.hideDialog();null!=k.modified&&null==urlParams.modified&&(urlParams.modified=k.modified);null!=k.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=k.saveAndExit);null!=k.noSaveBtn&&null==urlParams.noSaveBtn&&(urlParams.noSaveBtn=k.noSaveBtn);null!=k.noExitBtn&&null==urlParams.noExitBtn&&(urlParams.noExitBtn=k.noExitBtn);
null!=k.title&&null!=this.buttonContainer&&(n=document.createElement("span"),mxUtils.write(n,k.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight="12px",this.buttonContainer.style.paddingTop="6px",this.buttonContainer.style.right="1"==urlParams.noLangIcon?"0":"25px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),this.buttonContainer.appendChild(n),
this.embedFilenameSpan=n);try{k.libs&&this.sidebar.showEntries(k.libs)}catch(O){}k=null!=k.xmlpng?this.extractGraphModelFromPng(k.xmlpng):null!=k.descriptor?k.descriptor:k.xml}else{if("merge"==k.action){var V=this.getCurrentFile();null!=V&&(n=l(k.xml),null!=n&&""!=n&&V.mergeFile(new LocalFile(this,n),function(){g.postMessage(JSON.stringify({event:"merge",message:k}),"*")},function(a){g.postMessage(JSON.stringify({event:"merge",message:k,error:a}),"*")}))}else"remoteInvokeReady"==k.action?this.handleRemoteInvokeReady(g):
"remoteInvoke"==k.action?this.handleRemoteInvoke(k,f.origin):"remoteInvokeResponse"==k.action?this.handleRemoteInvokeResponse(k):g.postMessage(JSON.stringify({error:"unknownMessage",data:JSON.stringify(k)}),"*");return}}catch(O){this.handleError(O)}}var fa=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())}),ea=mxUtils.bind(this,function(f,k){c=!0;try{a(f,k)}catch(P){this.handleError(P)}c=!1;
-null!=urlParams.modified&&this.editor.setStatus("");d=fa();e&&null==b&&(b=mxUtils.bind(this,function(a,b){var e=fa();if(e!=d&&!c){var f=this.createLoadMessage("autosave");f.xml=e;(window.opener||window.parent).postMessage(JSON.stringify(f),"*")}d=e}),this.editor.graph.model.addListener(mxEvent.CHANGE,b),this.editor.graph.addListener("gridSizeChanged",b),this.editor.graph.addListener("shadowVisibleChanged",b),this.addListener("pageFormatChanged",b),this.addListener("pageScaleChanged",b),this.addListener("backgroundColorChanged",
+null!=urlParams.modified&&this.editor.setStatus("");e=fa();d&&null==b&&(b=mxUtils.bind(this,function(a,b){var d=fa();if(d!=e&&!c){var f=this.createLoadMessage("autosave");f.xml=d;(window.opener||window.parent).postMessage(JSON.stringify(f),"*")}e=d}),this.editor.graph.model.addListener(mxEvent.CHANGE,b),this.editor.graph.addListener("gridSizeChanged",b),this.editor.graph.addListener("shadowVisibleChanged",b),this.addListener("pageFormatChanged",b),this.addListener("pageScaleChanged",b),this.addListener("backgroundColorChanged",
b),this.addListener("backgroundImageChanged",b),this.addListener("foldingEnabledChanged",b),this.addListener("mathEnabledChanged",b),this.addListener("gridEnabledChanged",b),this.addListener("guidesEnabledChanged",b),this.addListener("pageViewChanged",b));if("1"==urlParams.returnbounds||"json"==urlParams.proto){var l=this.createLoadMessage("load");l.xml=f;g.postMessage(JSON.stringify(l),"*")}});null!=k&&"function"===typeof k.substring&&"data:application/vnd.visio;base64,"==k.substring(0,34)?(l="0M8R4KGxGuE"==
k.substring(34,45)?"raw.vsd":"raw.vsdx",this.importVisio(this.base64ToBlob(k.substring(k.indexOf(",")+1)),function(a){ea(a,f)},mxUtils.bind(this,function(a){this.handleError(a)}),l)):null!=k&&"function"===typeof k.substring&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(k,"")?this.parseFile(new Blob([k],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200<=a.status&&299>=a.status&&"<mxGraphModel"==a.responseText.substring(0,13)&&ea(a.responseText,
f)}),""):null!=k&&"function"===typeof k.substring&&this.isLucidChartData(k)?this.convertLucidChart(k,mxUtils.bind(this,function(a){ea(a)}),mxUtils.bind(this,function(a){this.handleError(a)})):null==k||"object"!==typeof k||null==k.format||null==k.data&&null==k.url?(k=l(k),ea(k,f)):this.loadDescriptor(k,mxUtils.bind(this,function(a){ea(fa(),f)}),mxUtils.bind(this,function(a){this.handleError(a,mxResources.get("errorLoadingFile"))}))}}));var g=window.opener||window.parent,f="json"==urlParams.proto?JSON.stringify({event:"init"}):
@@ -10422,26 +10424,26 @@ urlParams.ready||"ready";g.postMessage(f,"*");if("json"==urlParams.proto){var m=
"+S)"),mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()})),a.appendChild(b),"1"==urlParams.saveAndExit&&(b=document.createElement("a"),mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),b.className="geBigButton geBigStandardButton",b.style.marginLeft="6px",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b),c=b);"1"!=urlParams.noExitBtn&&
(b=document.createElement("a"),c="1"==urlParams.publishClose?mxResources.get("close"):mxResources.get("exit"),mxUtils.write(b,c),b.setAttribute("title",c),b.className="geBigButton geBigStandardButton",b.style.marginLeft="6px",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()})),a.appendChild(b),c=b);c.style.marginRight="20px";this.toolbar.container.appendChild(a);this.toolbar.staticElements.push(a);a.style.right="atlas"!=uiTheme?"52px":"42px"}};EditorUi.prototype.showImportCsvDialog=
function(){null==this.importCsvDialog&&(this.importCsvDialog=new TextareaDialog(this,mxResources.get("csv")+":",Editor.defaultCsvValue,mxUtils.bind(this,function(a){this.importCsv(a)}),null,null,620,430,null,!0,!0,mxResources.get("import"),this.isOffline()?null:"https://drawio-app.com/import-from-csv-to-drawio/"));this.showDialog(this.importCsvDialog.container,640,520,!0,!0,null,null,null,null,!0);this.importCsvDialog.init()};EditorUi.prototype.executeLayoutList=function(a,b){for(var c=this.editor.graph,
-e=c.getSelectionCells(),d=0;d<a.length;d++){var f=new window[a[d].layout](c);if(null!=a[d].config)for(var g in a[d].config)f[g]=a[d].config[g];this.executeLayout(function(){f.execute(c.getDefaultParent(),0==e.length?null:e)},d==a.length-1,b)}};EditorUi.prototype.importCsv=function(a,b){try{var c=a.split("\n"),e=[],d=[],f={};if(0<c.length){var g={},k=null,m=null,n=null,A=null,z=null,B=null,C=null,G=null,D=null,H="",F="auto",I="auto",J=null,E=null,K=40,M=40,N=100,Y=0,L=this.editor.graph;L.getGraphBounds();
+d=c.getSelectionCells(),e=0;e<a.length;e++){var f=new window[a[e].layout](c);if(null!=a[e].config)for(var g in a[e].config)f[g]=a[e].config[g];this.executeLayout(function(){f.execute(c.getDefaultParent(),0==d.length?null:d)},e==a.length-1,b)}};EditorUi.prototype.importCsv=function(a,b){try{var c=a.split("\n"),d=[],e=[],f={};if(0<c.length){var g={},k=null,m=null,n=null,B=null,y=null,C=null,A=null,F=null,D=null,G="",E="auto",I="auto",J=null,H=null,K=40,M=40,N=100,Y=0,L=this.editor.graph;L.getGraphBounds();
for(var T=function(){null!=b?b(la):(L.setSelectionCells(la),L.scrollCellToVisible(L.getSelectionCell()))},U=L.getFreeInsertPoint(),X=U.x,aa=U.y,U=aa,ca=null,W="auto",D=null,V=[],fa=null,ea=null,O=0;O<c.length&&"#"==c[O].charAt(0);){a=c[O];for(O++;O<c.length&&"\\"==a.charAt(a.length-1)&&"#"==c[O].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(c[O].substring(1)),O++;if("#"!=a.charAt(1)){var Z=a.indexOf(":");if(0<Z){var R=mxUtils.trim(a.substring(1,Z)),P=mxUtils.trim(a.substring(Z+1));"label"==
-R?ca=L.sanitizeHtml(P):"labelname"==R&&0<P.length&&"-"!=P?z=P:"labels"==R&&0<P.length&&"-"!=P?B=JSON.parse(P):"style"==R?m=P:"parentstyle"==R?C=P:"stylename"==R&&0<P.length&&"-"!=P?A=P:"styles"==R&&0<P.length&&"-"!=P?n=JSON.parse(P):"vars"==R&&0<P.length&&"-"!=P?k=JSON.parse(P):"identity"==R&&0<P.length&&"-"!=P?G=P:"parent"==R&&0<P.length&&"-"!=P?D=P:"namespace"==R&&0<P.length&&"-"!=P?H=P:"width"==R?F=P:"height"==R?I=P:"left"==R&&0<P.length?J=P:"top"==R&&0<P.length?E=P:"ignore"==R?ea=P.split(","):
-"connect"==R?V.push(JSON.parse(P)):"link"==R?fa=P:"padding"==R?Y=parseFloat(P):"edgespacing"==R?K=parseFloat(P):"nodespacing"==R?M=parseFloat(P):"levelspacing"==R?N=parseFloat(P):"layout"==R&&(W=P)}}}if(null==c[O])throw Error(mxResources.get("invalidOrMissingFile"));for(var da=this.editor.csvToArray(c[O]),R=Z=null,P=[],S=0;S<da.length;S++)G==da[S]&&(Z=S),D==da[S]&&(R=S),P.push(mxUtils.trim(da[S]).replace(/[^a-z0-9]+/ig,"_").replace(/^\d+/,"").replace(/_+$/,""));null==ca&&(ca="%"+P[0]+"%");if(null!=
-V)for(var ga=0;ga<V.length;ga++)null==g[V[ga].to]&&(g[V[ga].to]={});G=[];for(S=O+1;S<c.length;S++){var ja=this.editor.csvToArray(c[S]);if(null==ja){var ha=40<c[S].length?c[S].substring(0,40)+"...":c[S];throw Error(ha+" ("+S+"):\n"+mxResources.get("containsValidationErrors"));}0<ja.length&&G.push(ja)}L.model.beginUpdate();try{for(S=0;S<G.length;S++){var ja=G[S],Q=null,ka=null!=Z?H+ja[Z]:null;null!=ka&&(Q=L.model.getCell(ka));var c=null!=Q,ba=new mxCell(ca,new mxGeometry(X,U,0,0),m||"whiteSpace=wrap;html=1;");
-ba.vertex=!0;ba.id=ka;for(var ia=0;ia<ja.length;ia++)L.setAttributeForCell(ba,P[ia],ja[ia]);if(null!=z&&null!=B){var ta=B[ba.getAttribute(z)];null!=ta&&L.labelChanged(ba,ta)}if(null!=A&&null!=n){var ua=n[ba.getAttribute(A)];null!=ua&&(ba.style=ua)}L.setAttributeForCell(ba,"placeholders","1");ba.style=L.replacePlaceholders(ba,ba.style,k);c&&(L.model.setGeometry(Q,ba.geometry),L.model.setStyle(Q,ba.style),0>mxUtils.indexOf(d,Q)&&d.push(Q));Q=ba;if(!c)for(ga=0;ga<V.length;ga++)g[V[ga].to][Q.getAttribute(V[ga].to)]=
-Q;null!=fa&&"link"!=fa&&(L.setLinkForCell(Q,Q.getAttribute(fa)),L.setAttributeForCell(Q,fa,null));L.fireEvent(new mxEventObject("cellsInserted","cells",[Q]));var va=this.editor.graph.getPreferredSizeForCell(Q);Q.vertex&&(null!=J&&null!=Q.getAttribute(J)&&(Q.geometry.x=X+parseFloat(Q.getAttribute(J))),null!=E&&null!=Q.getAttribute(E)&&(Q.geometry.y=aa+parseFloat(Q.getAttribute(E))),"@"==F.charAt(0)&&null!=Q.getAttribute(F.substring(1))?Q.geometry.width=parseFloat(Q.getAttribute(F.substring(1))):Q.geometry.width=
-"auto"==F?va.width+Y:parseFloat(F),"@"==I.charAt(0)&&null!=Q.getAttribute(I.substring(1))?Q.geometry.height=parseFloat(Q.getAttribute(I.substring(1))):Q.geometry.height="auto"==I?va.height+Y:parseFloat(I),U+=Q.geometry.height+M);c?(null==f[ka]&&(f[ka]=[]),f[ka].push(Q)):(D=null!=R?L.model.getCell(H+ja[R]):null,e.push(Q),null!=D?(D.style=L.replacePlaceholders(D,C,k),L.addCell(Q,D)):d.push(L.addCell(Q)))}for(var pa=d.slice(),la=d.slice(),ga=0;ga<V.length;ga++)for(var wa=V[ga],S=0;S<e.length;S++){var Q=
-e[S],xa=mxUtils.bind(this,function(a,b,c){var e=b.getAttribute(c.from);if(null!=e&&(L.setAttributeForCell(b,c.from,null),""!=e))for(var e=e.split(","),d=0;d<e.length;d++){var f=g[c.to][e[d]];if(null!=f){var l=c.label;null!=c.fromlabel&&(l=(b.getAttribute(c.fromlabel)||"")+(l||""));null!=c.tolabel&&(l=(l||"")+(f.getAttribute(c.tolabel)||""));var m="target"==c.placeholders==!c.invert?f:a,m=null!=c.style?L.replacePlaceholders(m,c.style,k):L.createCurrentEdgeStyle(),l=L.insertEdge(null,null,l||"",c.invert?
-f:a,c.invert?a:f,m);if(null!=c.labels)for(m=0;m<c.labels.length;m++){var n=c.labels[m],p=new mxCell(n.label||m,new mxGeometry(null!=n.x?n.x:0,null!=n.y?n.y:0,0,0),"resizable=0;html=1;");p.vertex=!0;p.connectable=!1;p.geometry.relative=!0;if(null!=n.dx||null!=n.dy)p.geometry.offset=new mxPoint(null!=n.dx?n.dx:0,null!=n.dy?n.dy:0);l.insert(p)}la.push(l);mxUtils.remove(c.invert?a:f,pa)}}});xa(Q,Q,wa);if(null!=f[Q.id])for(ia=0;ia<f[Q.id].length;ia++)xa(Q,f[Q.id][ia],wa)}if(null!=ea)for(S=0;S<e.length;S++)for(Q=
-e[S],ia=0;ia<ea.length;ia++)L.setAttributeForCell(Q,mxUtils.trim(ea[ia]),null);if(0<d.length){var qa=new mxParallelEdgeLayout(L);qa.spacing=K;qa.checkOverlap=!0;var sa=function(){0<qa.spacing&&qa.execute(L.getDefaultParent());for(var a=0;a<d.length;a++){var b=L.getCellGeometry(d[a]);b.x=Math.round(L.snap(b.x));b.y=Math.round(L.snap(b.y));"auto"==F&&(b.width=Math.round(L.snap(b.width)));"auto"==I&&(b.height=Math.round(L.snap(b.height)))}};if("["==W.charAt(0)){var ya=T;L.view.validate();this.executeLayoutList(JSON.parse(W),
-function(){sa();ya()});T=null}else if("circle"==W){var ma=new mxCircleLayout(L);ma.disableEdgeStyle=!1;ma.resetEdges=!1;var za=ma.isVertexIgnored;ma.isVertexIgnored=function(a){return za.apply(this,arguments)||0>mxUtils.indexOf(d,a)};this.executeLayout(function(){ma.execute(L.getDefaultParent());sa()},!0,T);T=null}else if("horizontaltree"==W||"verticaltree"==W||"auto"==W&&la.length==2*d.length-1&&1==pa.length){L.view.validate();var ra=new mxCompactTreeLayout(L,"horizontaltree"==W);ra.levelDistance=
+R?ca=L.sanitizeHtml(P):"labelname"==R&&0<P.length&&"-"!=P?y=P:"labels"==R&&0<P.length&&"-"!=P?C=JSON.parse(P):"style"==R?m=P:"parentstyle"==R?A=P:"stylename"==R&&0<P.length&&"-"!=P?B=P:"styles"==R&&0<P.length&&"-"!=P?n=JSON.parse(P):"vars"==R&&0<P.length&&"-"!=P?k=JSON.parse(P):"identity"==R&&0<P.length&&"-"!=P?F=P:"parent"==R&&0<P.length&&"-"!=P?D=P:"namespace"==R&&0<P.length&&"-"!=P?G=P:"width"==R?E=P:"height"==R?I=P:"left"==R&&0<P.length?J=P:"top"==R&&0<P.length?H=P:"ignore"==R?ea=P.split(","):
+"connect"==R?V.push(JSON.parse(P)):"link"==R?fa=P:"padding"==R?Y=parseFloat(P):"edgespacing"==R?K=parseFloat(P):"nodespacing"==R?M=parseFloat(P):"levelspacing"==R?N=parseFloat(P):"layout"==R&&(W=P)}}}if(null==c[O])throw Error(mxResources.get("invalidOrMissingFile"));for(var da=this.editor.csvToArray(c[O]),R=Z=null,P=[],S=0;S<da.length;S++)F==da[S]&&(Z=S),D==da[S]&&(R=S),P.push(mxUtils.trim(da[S]).replace(/[^a-z0-9]+/ig,"_").replace(/^\d+/,"").replace(/_+$/,""));null==ca&&(ca="%"+P[0]+"%");if(null!=
+V)for(var ga=0;ga<V.length;ga++)null==g[V[ga].to]&&(g[V[ga].to]={});F=[];for(S=O+1;S<c.length;S++){var ja=this.editor.csvToArray(c[S]);if(null==ja){var ha=40<c[S].length?c[S].substring(0,40)+"...":c[S];throw Error(ha+" ("+S+"):\n"+mxResources.get("containsValidationErrors"));}0<ja.length&&F.push(ja)}L.model.beginUpdate();try{for(S=0;S<F.length;S++){var ja=F[S],Q=null,ka=null!=Z?G+ja[Z]:null;null!=ka&&(Q=L.model.getCell(ka));var c=null!=Q,ba=new mxCell(ca,new mxGeometry(X,U,0,0),m||"whiteSpace=wrap;html=1;");
+ba.vertex=!0;ba.id=ka;for(var ia=0;ia<ja.length;ia++)L.setAttributeForCell(ba,P[ia],ja[ia]);if(null!=y&&null!=C){var ta=C[ba.getAttribute(y)];null!=ta&&L.labelChanged(ba,ta)}if(null!=B&&null!=n){var ua=n[ba.getAttribute(B)];null!=ua&&(ba.style=ua)}L.setAttributeForCell(ba,"placeholders","1");ba.style=L.replacePlaceholders(ba,ba.style,k);c&&(L.model.setGeometry(Q,ba.geometry),L.model.setStyle(Q,ba.style),0>mxUtils.indexOf(e,Q)&&e.push(Q));Q=ba;if(!c)for(ga=0;ga<V.length;ga++)g[V[ga].to][Q.getAttribute(V[ga].to)]=
+Q;null!=fa&&"link"!=fa&&(L.setLinkForCell(Q,Q.getAttribute(fa)),L.setAttributeForCell(Q,fa,null));L.fireEvent(new mxEventObject("cellsInserted","cells",[Q]));var va=this.editor.graph.getPreferredSizeForCell(Q);Q.vertex&&(null!=J&&null!=Q.getAttribute(J)&&(Q.geometry.x=X+parseFloat(Q.getAttribute(J))),null!=H&&null!=Q.getAttribute(H)&&(Q.geometry.y=aa+parseFloat(Q.getAttribute(H))),"@"==E.charAt(0)&&null!=Q.getAttribute(E.substring(1))?Q.geometry.width=parseFloat(Q.getAttribute(E.substring(1))):Q.geometry.width=
+"auto"==E?va.width+Y:parseFloat(E),"@"==I.charAt(0)&&null!=Q.getAttribute(I.substring(1))?Q.geometry.height=parseFloat(Q.getAttribute(I.substring(1))):Q.geometry.height="auto"==I?va.height+Y:parseFloat(I),U+=Q.geometry.height+M);c?(null==f[ka]&&(f[ka]=[]),f[ka].push(Q)):(D=null!=R?L.model.getCell(G+ja[R]):null,d.push(Q),null!=D?(D.style=L.replacePlaceholders(D,A,k),L.addCell(Q,D)):e.push(L.addCell(Q)))}for(var pa=e.slice(),la=e.slice(),ga=0;ga<V.length;ga++)for(var wa=V[ga],S=0;S<d.length;S++){var Q=
+d[S],xa=mxUtils.bind(this,function(a,b,c){var d=b.getAttribute(c.from);if(null!=d&&(L.setAttributeForCell(b,c.from,null),""!=d))for(var d=d.split(","),e=0;e<d.length;e++){var f=g[c.to][d[e]];if(null!=f){var l=c.label;null!=c.fromlabel&&(l=(b.getAttribute(c.fromlabel)||"")+(l||""));null!=c.tolabel&&(l=(l||"")+(f.getAttribute(c.tolabel)||""));var m="target"==c.placeholders==!c.invert?f:a,m=null!=c.style?L.replacePlaceholders(m,c.style,k):L.createCurrentEdgeStyle(),l=L.insertEdge(null,null,l||"",c.invert?
+f:a,c.invert?a:f,m);if(null!=c.labels)for(m=0;m<c.labels.length;m++){var n=c.labels[m],p=new mxCell(n.label||m,new mxGeometry(null!=n.x?n.x:0,null!=n.y?n.y:0,0,0),"resizable=0;html=1;");p.vertex=!0;p.connectable=!1;p.geometry.relative=!0;if(null!=n.dx||null!=n.dy)p.geometry.offset=new mxPoint(null!=n.dx?n.dx:0,null!=n.dy?n.dy:0);l.insert(p)}la.push(l);mxUtils.remove(c.invert?a:f,pa)}}});xa(Q,Q,wa);if(null!=f[Q.id])for(ia=0;ia<f[Q.id].length;ia++)xa(Q,f[Q.id][ia],wa)}if(null!=ea)for(S=0;S<d.length;S++)for(Q=
+d[S],ia=0;ia<ea.length;ia++)L.setAttributeForCell(Q,mxUtils.trim(ea[ia]),null);if(0<e.length){var qa=new mxParallelEdgeLayout(L);qa.spacing=K;qa.checkOverlap=!0;var sa=function(){0<qa.spacing&&qa.execute(L.getDefaultParent());for(var a=0;a<e.length;a++){var b=L.getCellGeometry(e[a]);b.x=Math.round(L.snap(b.x));b.y=Math.round(L.snap(b.y));"auto"==E&&(b.width=Math.round(L.snap(b.width)));"auto"==I&&(b.height=Math.round(L.snap(b.height)))}};if("["==W.charAt(0)){var ya=T;L.view.validate();this.executeLayoutList(JSON.parse(W),
+function(){sa();ya()});T=null}else if("circle"==W){var ma=new mxCircleLayout(L);ma.disableEdgeStyle=!1;ma.resetEdges=!1;var za=ma.isVertexIgnored;ma.isVertexIgnored=function(a){return za.apply(this,arguments)||0>mxUtils.indexOf(e,a)};this.executeLayout(function(){ma.execute(L.getDefaultParent());sa()},!0,T);T=null}else if("horizontaltree"==W||"verticaltree"==W||"auto"==W&&la.length==2*e.length-1&&1==pa.length){L.view.validate();var ra=new mxCompactTreeLayout(L,"horizontaltree"==W);ra.levelDistance=
M;ra.edgeRouting=!1;ra.resetEdges=!1;this.executeLayout(function(){ra.execute(L.getDefaultParent(),0<pa.length?pa[0]:null)},!0,T);T=null}else if("horizontalflow"==W||"verticalflow"==W||"auto"==W&&1==pa.length){L.view.validate();var na=new mxHierarchicalLayout(L,"horizontalflow"==W?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);na.intraCellSpacing=M;na.parallelEdgeSpacing=K;na.interRankCellSpacing=N;na.disableEdgeStyle=!1;this.executeLayout(function(){na.execute(L.getDefaultParent(),la);L.moveCells(la,
-X,aa)},!0,T);T=null}else if("organic"==W||"auto"==W&&la.length>d.length){L.view.validate();var oa=new mxFastOrganicLayout(L);oa.forceConstant=3*M;oa.disableEdgeStyle=!1;oa.resetEdges=!1;var Aa=oa.isVertexIgnored;oa.isVertexIgnored=function(a){return Aa.apply(this,arguments)||0>mxUtils.indexOf(d,a)};this.executeLayout(function(){oa.execute(L.getDefaultParent());sa()},!0,T);T=null}}this.hideDialog()}finally{L.model.endUpdate()}null!=T&&T()}}catch(Ba){this.handleError(Ba)}};EditorUi.prototype.getSearch=
-function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var c="?",e;for(e in urlParams)0>mxUtils.indexOf(a,e)&&null!=urlParams[e]&&(b+=c+e+"="+urlParams[e],c="&")}else b=window.location.search;return b};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),
-e;for(e in urlParams)0>mxUtils.indexOf(c,e)&&(a=0==b?a+"?":a+"&",null!=urlParams[e]&&(a+=e+"="+urlParams[e],b++))}return a};EditorUi.prototype.showLinkDialog=function(a,b,c,d,f){a=new LinkDialog(this,a,b,c,!0,d,f);this.showDialog(a.container,560,130,!0,!0);a.init()};var f=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=f.apply(this,arguments),c=this.editor.graph,e=b.getSourceGraphBounds;b.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(c.container)&&c.pageVisible&&
-null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width-2*a.x/b),Math.ceil(this.source.minimumGraphSize.height-2*a.y/b))}return e.apply(this,arguments)};var d=b.getSourceContainerSize;b.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*
-b-2*a.x),Math.ceil(this.source.minimumGraphSize.height*b-2*a.y))}return d.apply(this,arguments)};b.getOutlineOffset=function(a){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var e=this.source.getPagePadding();return new mxPoint(Math.round(Math.max(0,(b.outline.container.clientWidth/a-(this.source.minimumGraphSize.width-2*e.x))/2)-e.x),Math.round(Math.max(0,(b.outline.container.clientHeight/a-(this.source.minimumGraphSize.height-2*e.y))/2)-e.y-5/a))}return new mxPoint(8/
-a,8/a)};var g=b.init;b.init=function(){g.apply(this,arguments);b.outline.view.getBackgroundPageBounds=function(){var a=c.getPageLayout(),b=c.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*b.width),this.scale*(this.translate.y+a.y*b.height),this.scale*a.width*b.width,this.scale*a.height*b.height)};b.outline.view.validateBackgroundPage()};this.editor.addListener("pageSelected",function(a,c){var e=c.getProperty("change"),d=b.source,f=b.outline;f.pageScale=d.pageScale;f.pageFormat=
-d.pageFormat;f.background=d.background;f.pageVisible=d.pageVisible;f.background=d.background;var g=mxUtils.getCurrentStyle(d.container);f.container.style.backgroundColor=g.backgroundColor;null!=d.view.backgroundPageShape&&null!=f.view.backgroundPageShape&&(f.view.backgroundPageShape.fill=d.view.backgroundPageShape.fill);b.outline.view.clear(e.previousPage.root,!0);b.outline.view.validate()});return b};EditorUi.prototype.getServiceCount=function(a){var b=1;null==this.drive&&"function"!==typeof window.DriveClient||
+X,aa)},!0,T);T=null}else if("organic"==W||"auto"==W&&la.length>e.length){L.view.validate();var oa=new mxFastOrganicLayout(L);oa.forceConstant=3*M;oa.disableEdgeStyle=!1;oa.resetEdges=!1;var Aa=oa.isVertexIgnored;oa.isVertexIgnored=function(a){return Aa.apply(this,arguments)||0>mxUtils.indexOf(e,a)};this.executeLayout(function(){oa.execute(L.getDefaultParent());sa()},!0,T);T=null}}this.hideDialog()}finally{L.model.endUpdate()}null!=T&&T()}}catch(Ba){this.handleError(Ba)}};EditorUi.prototype.getSearch=
+function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(b+=c+d+"="+urlParams[d],c="&")}else b=window.location.search;return b};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),
+d;for(d in urlParams)0>mxUtils.indexOf(c,d)&&(a=0==b?a+"?":a+"&",null!=urlParams[d]&&(a+=d+"="+urlParams[d],b++))}return a};EditorUi.prototype.showLinkDialog=function(a,b,c,d,f){a=new LinkDialog(this,a,b,c,!0,d,f);this.showDialog(a.container,560,130,!0,!0);a.init()};var f=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=f.apply(this,arguments),c=this.editor.graph,d=b.getSourceGraphBounds;b.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(c.container)&&c.pageVisible&&
+null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width-2*a.x/b),Math.ceil(this.source.minimumGraphSize.height-2*a.y/b))}return d.apply(this,arguments)};var e=b.getSourceContainerSize;b.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*
+b-2*a.x),Math.ceil(this.source.minimumGraphSize.height*b-2*a.y))}return e.apply(this,arguments)};b.getOutlineOffset=function(a){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var d=this.source.getPagePadding();return new mxPoint(Math.round(Math.max(0,(b.outline.container.clientWidth/a-(this.source.minimumGraphSize.width-2*d.x))/2)-d.x),Math.round(Math.max(0,(b.outline.container.clientHeight/a-(this.source.minimumGraphSize.height-2*d.y))/2)-d.y-5/a))}return new mxPoint(8/
+a,8/a)};var g=b.init;b.init=function(){g.apply(this,arguments);b.outline.view.getBackgroundPageBounds=function(){var a=c.getPageLayout(),b=c.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*b.width),this.scale*(this.translate.y+a.y*b.height),this.scale*a.width*b.width,this.scale*a.height*b.height)};b.outline.view.validateBackgroundPage()};this.editor.addListener("pageSelected",function(a,c){var d=c.getProperty("change"),e=b.source,f=b.outline;f.pageScale=e.pageScale;f.pageFormat=
+e.pageFormat;f.background=e.background;f.pageVisible=e.pageVisible;f.background=e.background;var g=mxUtils.getCurrentStyle(e.container);f.container.style.backgroundColor=g.backgroundColor;null!=e.view.backgroundPageShape&&null!=f.view.backgroundPageShape&&(f.view.backgroundPageShape.fill=e.view.backgroundPageShape.fill);b.outline.view.clear(d.previousPage.root,!0);b.outline.view.validate()});return b};EditorUi.prototype.getServiceCount=function(a){var b=1;null==this.drive&&"function"!==typeof window.DriveClient||
b++;null==this.dropbox&&"function"!==typeof window.DropboxClient||b++;null==this.oneDrive&&"function"!==typeof window.OneDriveClient||b++;null!=this.gitHub&&b++;null!=this.gitLab&&b++;a&&isLocalStorage&&"1"==urlParams.browser&&b++;return b};EditorUi.prototype.updateUi=function(){this.updateButtonContainer();this.updateActionStates();var a=this.getCurrentFile(),b=null!=a||"1"==urlParams.embed&&this.editor.graph.isEnabled();this.menus.get("viewPanels").setEnabled(b);this.menus.get("viewZoom").setEnabled(b);
var c=("1"!=urlParams.embed||!this.editor.graph.isEnabled())&&(null==a||a.isRestricted());this.actions.get("makeCopy").setEnabled(!c);this.actions.get("print").setEnabled(!c);this.menus.get("exportAs").setEnabled(!c);this.menus.get("embed").setEnabled(!c);c="1"!=urlParams.embed||this.editor.graph.isEnabled();this.menus.get("extras").setEnabled(c);Editor.enableCustomLibraries&&(this.menus.get("openLibraryFrom").setEnabled(c),this.menus.get("newLibrary").setEnabled(c));a="1"==urlParams.embed&&this.editor.graph.isEnabled()||
null!=a&&a.isEditable();this.actions.get("image").setEnabled(b);this.actions.get("zoomIn").setEnabled(b);this.actions.get("zoomOut").setEnabled(b);this.actions.get("resetView").setEnabled(b);this.actions.get("undo").setEnabled(this.canUndo()&&a);this.actions.get("redo").setEnabled(this.canRedo()&&a);this.menus.get("edit").setEnabled(b);this.menus.get("view").setEnabled(b);this.menus.get("importFrom").setEnabled(a);this.menus.get("arrange").setEnabled(a);null!=this.toolbar&&(null!=this.toolbar.edgeShapeMenu&&
@@ -10453,66 +10455,66 @@ c&&!c.isRestricted());c=this.actions.get("findReplace");c.setEnabled("hidden"!=t
null);n.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,b,c,d,f,g,m,n){var e=a.editor.graph;if("xml"==c)a.hideDialog(),a.saveData(b,"xml",mxUtils.getXml(a.editor.getGraphXml()),"text/xml");else if("svg"==c)a.hideDialog(),a.saveData(b,"svg",mxUtils.getXml(e.getSvg(d,f,g)),"image/svg+xml");else{var k=a.getFileData(!0,null,null,null,null,!0),l=e.getGraphBounds(),p=Math.floor(l.width*f/e.view.scale),t=Math.floor(l.height*
f/e.view.scale);if(k.length<=MAX_REQUEST_SIZE&&p*t<MAX_AREA)if(a.hideDialog(),"png"!=c&&"jpg"!=c&&"jpeg"!=c||!a.isExportToCanvas()){var q={globalVars:e.getExportVariables()};n&&(q.grid={size:e.gridSize,steps:e.view.gridSteps,color:e.view.gridColor});a.saveRequest(b,c,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+c+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a):"")+"&extras="+encodeURIComponent(JSON.stringify(q))+(0<m?"&dpi="+m:"")+"&bg="+(null!=d?d:"none")+"&w="+p+"&h="+
t+"&border="+g+"&xml="+encodeURIComponent(k))})}else"png"==c?a.exportImage(f,null==d||"none"==d,!0,!1,!1,g,!0,!1,null,n,m):a.exportImage(f,!1,!0,!1,!1,g,!0,!1,"jpeg",n);else mxUtils.alert(mxResources.get("drawingTooLarge"))}});EditorUi.prototype.getDiagramTextContent=function(){this.editor.graph.setEnabled(!1);var a=this.editor.graph,b="";if(null!=this.pages)for(var c=0;c<this.pages.length;c++){var d=a;this.currentPage!=this.pages[c]&&(d=this.createTemporaryGraph(a.getStylesheet()),this.updatePageRoot(this.pages[c]),
-d.model.setRoot(this.pages[c].root));b+=this.pages[c].getName()+" "+d.getIndexableText()+" "}else b=a.getIndexableText();this.editor.graph.setEnabled(!0);return b};EditorUi.prototype.showRemotelyStoredLibrary=function(a){var b={},c=document.createElement("div");c.style.whiteSpace="nowrap";var e=document.createElement("h3");mxUtils.write(e,mxUtils.htmlEntities(a));e.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";c.appendChild(e);var d=document.createElement("div");d.style.cssText=
-"border:1px solid lightGray;overflow: auto;height:300px";d.innerHTML='<div style="text-align:center;padding:8px;"><img src="'+IMAGE_PATH+'/spin.gif"></div>';var f={};try{var g=mxSettings.getCustomLibraries();for(a=0;a<g.length;a++){var m=g[a];if("R"==m.substring(0,1)){var n=JSON.parse(decodeURIComponent(m.substring(1)));f[n[0]]={id:n[0],title:n[1],downloadUrl:n[2]}}}}catch(v){}this.remoteInvoke("getCustomLibraries",null,null,function(a){d.innerHTML="";if(0==a.length)d.innerHTML='<div style="text-align:center;padding-top:20px;color:gray;">'+
-mxUtils.htmlEntities(mxResources.get("noLibraries"))+"</div>";else for(var c=0;c<a.length;c++){var e=a[c];f[e.id]&&(b[e.id]=e);var g=this.addCheckbox(d,e.title,f[e.id]);(function(a,c){mxEvent.addListener(c,"change",function(){this.checked?b[a.id]=a:delete b[a.id]})})(e,g)}},mxUtils.bind(this,function(a){d.innerHTML="";var b=document.createElement("div");b.style.padding="8px";b.style.textAlign="center";mxUtils.write(b,mxResources.get("error")+": ");mxUtils.write(b,null!=a&&null!=a.message?a.message:
-mxResources.get("unknownError"));d.appendChild(b)}));c.appendChild(d);c=new CustomDialog(this,c,mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"));var a=0,c;for(c in b)null==f[c]&&(a++,mxUtils.bind(this,function(b){this.remoteInvoke("getFileContent",[b.downloadUrl],null,mxUtils.bind(this,function(c){a--;0==a&&this.spinner.stop();try{this.loadLibrary(new RemoteLibrary(this,c,b))}catch(C){this.handleError(C,mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,
+d.model.setRoot(this.pages[c].root));b+=this.pages[c].getName()+" "+d.getIndexableText()+" "}else b=a.getIndexableText();this.editor.graph.setEnabled(!0);return b};EditorUi.prototype.showRemotelyStoredLibrary=function(a){var b={},c=document.createElement("div");c.style.whiteSpace="nowrap";var d=document.createElement("h3");mxUtils.write(d,mxUtils.htmlEntities(a));d.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";c.appendChild(d);var e=document.createElement("div");e.style.cssText=
+"border:1px solid lightGray;overflow: auto;height:300px";e.innerHTML='<div style="text-align:center;padding:8px;"><img src="'+IMAGE_PATH+'/spin.gif"></div>';var f={};try{var g=mxSettings.getCustomLibraries();for(a=0;a<g.length;a++){var m=g[a];if("R"==m.substring(0,1)){var n=JSON.parse(decodeURIComponent(m.substring(1)));f[n[0]]={id:n[0],title:n[1],downloadUrl:n[2]}}}}catch(x){}this.remoteInvoke("getCustomLibraries",null,null,function(a){e.innerHTML="";if(0==a.length)e.innerHTML='<div style="text-align:center;padding-top:20px;color:gray;">'+
+mxUtils.htmlEntities(mxResources.get("noLibraries"))+"</div>";else for(var c=0;c<a.length;c++){var d=a[c];f[d.id]&&(b[d.id]=d);var g=this.addCheckbox(e,d.title,f[d.id]);(function(a,c){mxEvent.addListener(c,"change",function(){this.checked?b[a.id]=a:delete b[a.id]})})(d,g)}},mxUtils.bind(this,function(a){e.innerHTML="";var b=document.createElement("div");b.style.padding="8px";b.style.textAlign="center";mxUtils.write(b,mxResources.get("error")+": ");mxUtils.write(b,null!=a&&null!=a.message?a.message:
+mxResources.get("unknownError"));e.appendChild(b)}));c.appendChild(e);c=new CustomDialog(this,c,mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"));var a=0,c;for(c in b)null==f[c]&&(a++,mxUtils.bind(this,function(b){this.remoteInvoke("getFileContent",[b.downloadUrl],null,mxUtils.bind(this,function(c){a--;0==a&&this.spinner.stop();try{this.loadLibrary(new RemoteLibrary(this,c,b))}catch(A){this.handleError(A,mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,
function(){a--;0==a&&this.spinner.stop();this.handleError(null,mxResources.get("errorLoadingFile"))}))})(b[c]));for(c in f)b[c]||this.closeLibrary(new RemoteLibrary(this,null,f[c]));0==a&&this.spinner.stop()}),null,null,"https://www.diagrams.net/doc/faq/custom-libraries-confluence-cloud");this.showDialog(c.container,340,375,!0,!0,null,null,null,null,!0)};EditorUi.prototype.remoteInvokableFns={getDiagramTextContent:{isAsync:!1},getLocalStorageFile:{isAsync:!1,allowedDomains:["app.diagrams.net"]},getLocalStorageFileNames:{isAsync:!1,
allowedDomains:["app.diagrams.net"]},setMigratedFlag:{isAsync:!1,allowedDomains:["app.diagrams.net"]}};EditorUi.prototype.remoteInvokeCallbacks=[];EditorUi.prototype.remoteInvokeQueue=[];EditorUi.prototype.handleRemoteInvokeReady=function(a){this.remoteWin=a;for(var b=0;b<this.remoteInvokeQueue.length;b++)a.postMessage(this.remoteInvokeQueue[b],"*");this.remoteInvokeQueue=[]};EditorUi.prototype.handleRemoteInvokeResponse=function(a){var b=a.msgMarkers,c=this.remoteInvokeCallbacks[b.callbackId];if(null==
c)throw Error("No callback for "+(null!=b?b.callbackId:"null"));a.error?c.error&&c.error(a.error.errResp):c.callback&&c.callback.apply(this,a.resp);this.remoteInvokeCallbacks[b.callbackId]=null};EditorUi.prototype.remoteInvoke=function(a,b,c,d,f){var e=!0,g=window.setTimeout(mxUtils.bind(this,function(){e=!1;f({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),this.timeout),k=mxUtils.bind(this,function(){window.clearTimeout(g);e&&d.apply(this,arguments)}),l=mxUtils.bind(this,function(){window.clearTimeout(g);
-e&&f.apply(this,arguments)});c=c||{};c.callbackId=this.remoteInvokeCallbacks.length;this.remoteInvokeCallbacks.push({callback:k,error:l});a=JSON.stringify({event:"remoteInvoke",funtionName:a,functionArgs:b,msgMarkers:c});null!=this.remoteWin?this.remoteWin.postMessage(a,"*"):this.remoteInvokeQueue.push(a)};EditorUi.prototype.handleRemoteInvoke=function(a,b){var c=mxUtils.bind(this,function(b,c){var e={event:"remoteInvokeResponse",msgMarkers:a.msgMarkers};null!=c?e.error={errResp:c}:null!=b&&(e.resp=
-b);this.remoteWin.postMessage(JSON.stringify(e),"*")});try{var e=a.funtionName,d=this.remoteInvokableFns[e];if(null!=d&&"function"===typeof this[e]){if(d.allowedDomains){for(var f=!1,g=0;g<d.allowedDomains.length;g++)if(b=="https://"+d.allowedDomains[g]){f=!0;break}if(!f){c(null,"Invalid Call: "+e+" is not allowed.");return}}var k=a.functionArgs;Array.isArray(k)||(k=[]);if(d.isAsync)k.push(function(){c(Array.prototype.slice.apply(arguments))}),k.push(function(a){c(null,a||"Unkown Error")}),this[e].apply(this,
-k);else{var m=this[e].apply(this,k);c([m])}}else c(null,"Invalid Call: "+e+" is not found.")}catch(v){c(null,"Invalid Call: An error occured, "+v.message)}};EditorUi.prototype.openDatabase=function(a,b){if(null==this.database){var c=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB;if(null!=c)try{var e=c.open("database",2);e.onupgradeneeded=function(a){try{var c=e.result;1>a.oldVersion&&c.createObjectStore("objects",{keyPath:"key"});2>a.oldVersion&&(c.createObjectStore("files",{keyPath:"title"}),
-c.createObjectStore("filesInfo",{keyPath:"title"}),EditorUi.migrateStorageFiles=isLocalStorage)}catch(q){null!=b&&b(q)}};e.onsuccess=mxUtils.bind(this,function(b){var c=e.result;this.database=c;EditorUi.migrateStorageFiles&&(StorageFile.migrate(c),EditorUi.migrateStorageFiles=!1);"app.diagrams.net"!=location.host||this.drawioMigrationStarted||(this.drawioMigrationStarted=!0,this.getDatabaseItem(".drawioMigrated3",mxUtils.bind(this,function(a){if(!a||"1"==urlParams.forceMigration){var b=document.createElement("iframe");
-b.style.display="none";b.setAttribute("src","https://www.draw.io?embed=1&proto=json&forceMigration="+urlParams.forceMigration);document.body.appendChild(b);var c=!0,e=!1,d,f=0,g=mxUtils.bind(this,function(){e=!0;this.setDatabaseItem(".drawioMigrated3",!0);b.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"setMigratedFlag"}),"*")}),k=mxUtils.bind(this,function(){f++;l()}),l=mxUtils.bind(this,function(){try{if(f>=d.length)g();else{var a=d[f];StorageFile.getFileContent(this,
-a,mxUtils.bind(this,function(c){null==c||".scratchpad"==a&&c==this.emptyLibraryXml?b.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"getLocalStorageFile",functionArgs:[a]}),"*"):k()}),k)}}catch(F){console.log(F)}}),m=mxUtils.bind(this,function(a){try{this.setDatabaseItem(null,[{title:a.title,size:a.data.length,lastModified:Date.now(),type:a.isLib?"L":"F"},{title:a.title,data:a.data}],k,k,["filesInfo","files"])}catch(F){console.log(F)}});a=mxUtils.bind(this,function(a){try{if(a.source==
-b.contentWindow){var f={};try{f=JSON.parse(a.data)}catch(I){}"init"==f.event?(b.contentWindow.postMessage(JSON.stringify({action:"remoteInvokeReady"}),"*"),b.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"getLocalStorageFileNames"}),"*")):"remoteInvokeResponse"!=f.event||e||(c?null!=f.resp&&0<f.resp.length&&null!=f.resp[0]?(d=f.resp[0],c=!1,l()):g():null!=f.resp&&0<f.resp.length&&null!=f.resp[0]?m(f.resp[0]):k())}}catch(I){console.log(I)}});window.addEventListener("message",
-a)}})));a(c);c.onversionchange=function(){c.close()}});e.onerror=b;e.onblocked=function(){}}catch(t){null!=b&&b(t)}else null!=b&&b()}else a(this.database)};EditorUi.prototype.setDatabaseItem=function(a,b,c,d,f){this.openDatabase(mxUtils.bind(this,function(e){try{f=f||"objects";Array.isArray(f)||(f=[f],a=[a],b=[b]);var g=e.transaction(f,"readwrite");g.oncomplete=c;g.onerror=d;for(e=0;e<f.length;e++)g.objectStore(f[e]).put(null!=a&&null!=a[e]?{key:a[e],data:b[e]}:b[e])}catch(x){null!=d&&d(x)}}),d)};
+e&&f.apply(this,arguments)});c=c||{};c.callbackId=this.remoteInvokeCallbacks.length;this.remoteInvokeCallbacks.push({callback:k,error:l});a=JSON.stringify({event:"remoteInvoke",funtionName:a,functionArgs:b,msgMarkers:c});null!=this.remoteWin?this.remoteWin.postMessage(a,"*"):this.remoteInvokeQueue.push(a)};EditorUi.prototype.handleRemoteInvoke=function(a,b){var c=mxUtils.bind(this,function(b,c){var d={event:"remoteInvokeResponse",msgMarkers:a.msgMarkers};null!=c?d.error={errResp:c}:null!=b&&(d.resp=
+b);this.remoteWin.postMessage(JSON.stringify(d),"*")});try{var d=a.funtionName,e=this.remoteInvokableFns[d];if(null!=e&&"function"===typeof this[d]){if(e.allowedDomains){for(var f=!1,g=0;g<e.allowedDomains.length;g++)if(b=="https://"+e.allowedDomains[g]){f=!0;break}if(!f){c(null,"Invalid Call: "+d+" is not allowed.");return}}var k=a.functionArgs;Array.isArray(k)||(k=[]);if(e.isAsync)k.push(function(){c(Array.prototype.slice.apply(arguments))}),k.push(function(a){c(null,a||"Unkown Error")}),this[d].apply(this,
+k);else{var m=this[d].apply(this,k);c([m])}}else c(null,"Invalid Call: "+d+" is not found.")}catch(x){c(null,"Invalid Call: An error occured, "+x.message)}};EditorUi.prototype.openDatabase=function(a,b){if(null==this.database){var c=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB;if(null!=c)try{var d=c.open("database",2);d.onupgradeneeded=function(a){try{var c=d.result;1>a.oldVersion&&c.createObjectStore("objects",{keyPath:"key"});2>a.oldVersion&&(c.createObjectStore("files",{keyPath:"title"}),
+c.createObjectStore("filesInfo",{keyPath:"title"}),EditorUi.migrateStorageFiles=isLocalStorage)}catch(q){null!=b&&b(q)}};d.onsuccess=mxUtils.bind(this,function(b){var c=d.result;this.database=c;EditorUi.migrateStorageFiles&&(StorageFile.migrate(c),EditorUi.migrateStorageFiles=!1);"app.diagrams.net"!=location.host||this.drawioMigrationStarted||(this.drawioMigrationStarted=!0,this.getDatabaseItem(".drawioMigrated3",mxUtils.bind(this,function(a){if(!a||"1"==urlParams.forceMigration){var b=document.createElement("iframe");
+b.style.display="none";b.setAttribute("src","https://www.draw.io?embed=1&proto=json&forceMigration="+urlParams.forceMigration);document.body.appendChild(b);var c=!0,d=!1,e,f=0,g=mxUtils.bind(this,function(){d=!0;this.setDatabaseItem(".drawioMigrated3",!0);b.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"setMigratedFlag"}),"*")}),k=mxUtils.bind(this,function(){f++;l()}),l=mxUtils.bind(this,function(){try{if(f>=e.length)g();else{var a=e[f];StorageFile.getFileContent(this,
+a,mxUtils.bind(this,function(c){null==c||".scratchpad"==a&&c==this.emptyLibraryXml?b.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"getLocalStorageFile",functionArgs:[a]}),"*"):k()}),k)}}catch(E){console.log(E)}}),m=mxUtils.bind(this,function(a){try{this.setDatabaseItem(null,[{title:a.title,size:a.data.length,lastModified:Date.now(),type:a.isLib?"L":"F"},{title:a.title,data:a.data}],k,k,["filesInfo","files"])}catch(E){console.log(E)}});a=mxUtils.bind(this,function(a){try{if(a.source==
+b.contentWindow){var f={};try{f=JSON.parse(a.data)}catch(I){}"init"==f.event?(b.contentWindow.postMessage(JSON.stringify({action:"remoteInvokeReady"}),"*"),b.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"getLocalStorageFileNames"}),"*")):"remoteInvokeResponse"!=f.event||d||(c?null!=f.resp&&0<f.resp.length&&null!=f.resp[0]?(e=f.resp[0],c=!1,l()):g():null!=f.resp&&0<f.resp.length&&null!=f.resp[0]?m(f.resp[0]):k())}}catch(I){console.log(I)}});window.addEventListener("message",
+a)}})));a(c);c.onversionchange=function(){c.close()}});d.onerror=b;d.onblocked=function(){}}catch(t){null!=b&&b(t)}else null!=b&&b()}else a(this.database)};EditorUi.prototype.setDatabaseItem=function(a,b,c,d,f){this.openDatabase(mxUtils.bind(this,function(e){try{f=f||"objects";Array.isArray(f)||(f=[f],a=[a],b=[b]);var g=e.transaction(f,"readwrite");g.oncomplete=c;g.onerror=d;for(e=0;e<f.length;e++)g.objectStore(f[e]).put(null!=a&&null!=a[e]?{key:a[e],data:b[e]}:b[e])}catch(v){null!=d&&d(v)}}),d)};
EditorUi.prototype.removeDatabaseItem=function(a,b,c,d){this.openDatabase(mxUtils.bind(this,function(e){d=d||"objects";Array.isArray(d)||(d=[d],a=[a]);e=e.transaction(d,"readwrite");e.oncomplete=b;e.onerror=c;for(var f=0;f<d.length;f++)e.objectStore(d[f])["delete"](a[f])}),c)};EditorUi.prototype.getDatabaseItem=function(a,b,c,d){this.openDatabase(mxUtils.bind(this,function(e){try{d=d||"objects";var f=e.transaction([d],"readonly").objectStore(d).get(a);f.onsuccess=function(){b(f.result)};f.onerror=
-c}catch(q){null!=c&&c(q)}}),c)};EditorUi.prototype.getDatabaseItems=function(a,b,c){this.openDatabase(mxUtils.bind(this,function(e){try{c=c||"objects";var d=e.transaction([c],"readonly").objectStore(c).openCursor(IDBKeyRange.lowerBound(0)),f=[];d.onsuccess=function(b){null==b.target.result?a(f):(f.push(b.target.result.value),b.target.result["continue"]())};d.onerror=b}catch(q){null!=b&&b(q)}}),b)};EditorUi.prototype.getDatabaseItemKeys=function(a,b,c){this.openDatabase(mxUtils.bind(this,function(e){try{c=
-c||"objects";var d=e.transaction([c],"readonly").objectStore(c).getAllKeys();d.onsuccess=function(){a(d.result)};d.onerror=b}catch(u){null!=b&&b(u)}}),b)};EditorUi.prototype.commentsSupported=function(){var a=this.getCurrentFile();return null!=a?a.commentsSupported():!1};EditorUi.prototype.commentsRefreshNeeded=function(){var a=this.getCurrentFile();return null!=a?a.commentsRefreshNeeded():!0};EditorUi.prototype.commentsSaveNeeded=function(){var a=this.getCurrentFile();return null!=a?a.commentsSaveNeeded():
-!1};EditorUi.prototype.getComments=function(a,b){var c=this.getCurrentFile();null!=c?c.getComments(a,b):a([])};EditorUi.prototype.addComment=function(a,b,c){var e=this.getCurrentFile();null!=e?e.addComment(a,b,c):b(Date.now())};EditorUi.prototype.canReplyToReplies=function(){var a=this.getCurrentFile();return null!=a?a.canReplyToReplies():!0};EditorUi.prototype.canComment=function(){var a=this.getCurrentFile();return null!=a?a.canComment():!0};EditorUi.prototype.newComment=function(a,b){var c=this.getCurrentFile();
+c}catch(q){null!=c&&c(q)}}),c)};EditorUi.prototype.getDatabaseItems=function(a,b,c){this.openDatabase(mxUtils.bind(this,function(d){try{c=c||"objects";var e=d.transaction([c],"readonly").objectStore(c).openCursor(IDBKeyRange.lowerBound(0)),f=[];e.onsuccess=function(b){null==b.target.result?a(f):(f.push(b.target.result.value),b.target.result["continue"]())};e.onerror=b}catch(q){null!=b&&b(q)}}),b)};EditorUi.prototype.getDatabaseItemKeys=function(a,b,c){this.openDatabase(mxUtils.bind(this,function(d){try{c=
+c||"objects";var e=d.transaction([c],"readonly").objectStore(c).getAllKeys();e.onsuccess=function(){a(e.result)};e.onerror=b}catch(u){null!=b&&b(u)}}),b)};EditorUi.prototype.commentsSupported=function(){var a=this.getCurrentFile();return null!=a?a.commentsSupported():!1};EditorUi.prototype.commentsRefreshNeeded=function(){var a=this.getCurrentFile();return null!=a?a.commentsRefreshNeeded():!0};EditorUi.prototype.commentsSaveNeeded=function(){var a=this.getCurrentFile();return null!=a?a.commentsSaveNeeded():
+!1};EditorUi.prototype.getComments=function(a,b){var c=this.getCurrentFile();null!=c?c.getComments(a,b):a([])};EditorUi.prototype.addComment=function(a,b,c){var d=this.getCurrentFile();null!=d?d.addComment(a,b,c):b(Date.now())};EditorUi.prototype.canReplyToReplies=function(){var a=this.getCurrentFile();return null!=a?a.canReplyToReplies():!0};EditorUi.prototype.canComment=function(){var a=this.getCurrentFile();return null!=a?a.canComment():!0};EditorUi.prototype.newComment=function(a,b){var c=this.getCurrentFile();
return null!=c?c.newComment(a,b):new DrawioComment(this,null,a,Date.now(),Date.now(),!1,b)};EditorUi.prototype.isRevisionHistorySupported=function(){var a=this.getCurrentFile();return null!=a&&a.isRevisionHistorySupported()};EditorUi.prototype.getRevisions=function(a,b){var c=this.getCurrentFile();null!=c&&c.getRevisions?c.getRevisions(a,b):b({message:mxResources.get("unknownError")})};EditorUi.prototype.isRevisionHistoryEnabled=function(){var a=this.getCurrentFile();return null!=a&&(a.constructor==
DriveFile&&a.isEditable()||a.constructor==DropboxFile)};EditorUi.prototype.getServiceName=function(){return"draw.io"};EditorUi.prototype.addRemoteServiceSecurityCheck=function(a){a.setRequestHeader("Content-Language","da, mi, en, de-DE")};EditorUi.prototype.loadUrl=function(a,b,c,d,f,g,m,n){EditorUi.logEvent("SHOULD NOT BE CALLED: loadUrl");return this.editor.loadUrl(a,b,c,d,f,g,m,n)};EditorUi.prototype.loadFonts=function(a){EditorUi.logEvent("SHOULD NOT BE CALLED: loadFonts");return this.editor.loadFonts(a)};
-EditorUi.prototype.createSvgDataUri=function(a){EditorUi.logEvent("SHOULD NOT BE CALLED: createSvgDataUri");return Editor.createSvgDataUri(a)};EditorUi.prototype.embedCssFonts=function(a,b){EditorUi.logEvent("SHOULD NOT BE CALLED: embedCssFonts");return this.editor.embedCssFonts(a,b)};EditorUi.prototype.embedExtFonts=function(a){EditorUi.logEvent("SHOULD NOT BE CALLED: embedExtFonts");return this.editor.embedExtFonts(a)};EditorUi.prototype.exportToCanvas=function(a,b,c,d,f,g,m,n,y,v,A,z,B,C,G,D){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");
-return this.editor.exportToCanvas(a,b,c,d,f,g,m,n,y,v,A,z,B,C,G,D)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};EditorUi.prototype.convertImages=function(a,b,c,d){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImages");return this.editor.convertImages(a,b,c,d)};EditorUi.prototype.convertImageToDataUri=function(a,b){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImageToDataUri");
+EditorUi.prototype.createSvgDataUri=function(a){EditorUi.logEvent("SHOULD NOT BE CALLED: createSvgDataUri");return Editor.createSvgDataUri(a)};EditorUi.prototype.embedCssFonts=function(a,b){EditorUi.logEvent("SHOULD NOT BE CALLED: embedCssFonts");return this.editor.embedCssFonts(a,b)};EditorUi.prototype.embedExtFonts=function(a){EditorUi.logEvent("SHOULD NOT BE CALLED: embedExtFonts");return this.editor.embedExtFonts(a)};EditorUi.prototype.exportToCanvas=function(a,b,c,d,f,g,m,n,z,x,B,y,C,A,F,D){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");
+return this.editor.exportToCanvas(a,b,c,d,f,g,m,n,z,x,B,y,C,A,F,D)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};EditorUi.prototype.convertImages=function(a,b,c,d){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImages");return this.editor.convertImages(a,b,c,d)};EditorUi.prototype.convertImageToDataUri=function(a,b){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImageToDataUri");
return this.editor.convertImageToDataUri(a,b)};EditorUi.prototype.base64Encode=function(a){EditorUi.logEvent("SHOULD NOT BE CALLED: base64Encode");return Editor.base64Encode(a)};EditorUi.prototype.updateCRC=function(a,b,c,d){EditorUi.logEvent("SHOULD NOT BE CALLED: updateCRC");return Editor.updateCRC(a,b,c,d)};EditorUi.prototype.crc32=function(a){EditorUi.logEvent("SHOULD NOT BE CALLED: crc32");return Editor.crc32(a)};EditorUi.prototype.writeGraphModelToPng=function(a,b,c,d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: writeGraphModelToPng");
return Editor.writeGraphModelToPng(a,b,c,d,f)};EditorUi.prototype.getLocalStorageFileNames=function(){if("1"==localStorage.getItem(".localStorageMigrated")&&"1"!=urlParams.forceMigration)return null;for(var a=[],b=0;b<localStorage.length;b++){var c=localStorage.key(b),d=localStorage.getItem(c);if(0<c.length&&(".scratchpad"==c||"."!=c.charAt(0))&&0<d.length){var f="<mxfile "===d.substring(0,8)||"<?xml"===d.substring(0,5)||"\x3c!--[if IE]>"===d.substring(0,12),d="<mxlibrary>"===d.substring(0,11);(f||
d)&&a.push(c)}}return a};EditorUi.prototype.getLocalStorageFile=function(a){if("1"==localStorage.getItem(".localStorageMigrated")&&"1"!=urlParams.forceMigration)return null;var b=localStorage.getItem(a);return{title:a,data:b,isLib:"<mxlibrary>"===b.substring(0,11)}};EditorUi.prototype.setMigratedFlag=function(){localStorage.setItem(".localStorageMigrated","1")}})();
-var CommentsWindow=function(a,d,b,c,g,f){function m(){for(var a=A.getElementsByTagName("div"),b=0,c=0;c<a.length;c++)"none"!=a[c].style.display&&a[c].parentNode==A&&b++;z.style.display=0==b?"block":"none"}function n(a,b,c,e){function d(){b.removeChild(k);b.removeChild(l);g.style.display="block";f.style.display="block"}x={div:b,comment:a,saveCallback:c,deleteOnCancel:e};var f=b.querySelector(".geCommentTxt"),g=b.querySelector(".geCommentActionsList"),k=document.createElement("textarea");k.className=
-"geCommentEditTxtArea";k.style.minHeight=f.offsetHeight+"px";k.value=a.content;b.insertBefore(k,f);var l=document.createElement("div");l.className="geCommentEditBtns";var n=mxUtils.button(mxResources.get("cancel"),function(){e?(b.parentNode.removeChild(b),m()):d();x=null});n.className="geCommentEditBtn";l.appendChild(n);var p=mxUtils.button(mxResources.get("save"),function(){f.innerHTML="";a.content=k.value;mxUtils.write(f,a.content);d();c(a);x=null});mxEvent.addListener(k,"keydown",mxUtils.bind(this,
-function(a){mxEvent.isConsumed(a)||((mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a))&&13==a.keyCode?(p.click(),mxEvent.consume(a)):27==a.keyCode&&(n.click(),mxEvent.consume(a)))}));p.focus();p.className="geCommentEditBtn gePrimaryBtn";l.appendChild(p);b.insertBefore(l,f);g.style.display="none";f.style.display="none";k.focus()}function e(b,c){c.innerHTML="";var e=new Date(b.modifiedDate),d=a.timeSince(e);null==d&&(d=mxResources.get("lessThanAMinute"));mxUtils.write(c,mxResources.get("timeAgo",
-[d],"{1} ago"));c.setAttribute("title",e.toLocaleDateString()+" "+e.toLocaleTimeString())}function k(a){var b=document.createElement("img");b.className="geCommentBusyImg";b.src=IMAGE_PATH+"/spin.gif";a.appendChild(b);a.busyImg=b}function l(a){a.style.border="1px solid red";a.removeChild(a.busyImg)}function p(a){a.style.border="";a.removeChild(a.busyImg)}function t(b,c,d,f,g){function B(a,c,e){var d=document.createElement("li");d.className="geCommentAction";var f=document.createElement("a");f.className=
-"geCommentActionLnk";mxUtils.write(f,a);d.appendChild(f);mxEvent.addListener(f,"click",function(a){c(a,b);a.preventDefault();mxEvent.consume(a)});H.appendChild(d);e&&(d.style.display="none")}function C(){function a(b){c.push(e);if(null!=b.replies)for(var d=0;d<b.replies.length;d++)e=e.nextSibling,a(b.replies[d])}var c=[],e=E;a(b);return{pdiv:e,replies:c}}function v(c,e,d,g,m){function z(){k(x);b.addReply(u,function(a){u.id=a;b.replies.push(u);p(x);d&&d()},function(b){B();l(x);a.handleError(b,null,
-null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))},g,m)}function B(){n(u,x,function(a){z()},!0)}var q=C().pdiv,u=a.newComment(c,a.getCurrentUser());u.pCommentId=b.id;null==b.replies&&(b.replies=[]);var x=t(u,b.replies,q,f+1);e?B():z()}if(g||!b.isResolved){z.style.display="none";var E=document.createElement("div");E.className="geCommentContainer";E.setAttribute("data-commentId",b.id);E.style.marginLeft=20*f+5+"px";b.isResolved&&"dark"!=uiTheme&&(E.style.backgroundColor="ghostWhite");
-var D=document.createElement("div");D.className="geCommentHeader";var y=document.createElement("img");y.className="geCommentUserImg";y.src=b.user.pictureUrl||Editor.userImage;D.appendChild(y);y=document.createElement("div");y.className="geCommentHeaderTxt";D.appendChild(y);var K=document.createElement("div");K.className="geCommentUsername";mxUtils.write(K,b.user.displayName||"");y.appendChild(K);K=document.createElement("div");K.className="geCommentDate";K.setAttribute("data-commentId",b.id);e(b,
-K);y.appendChild(K);E.appendChild(D);D=document.createElement("div");D.className="geCommentTxt";mxUtils.write(D,b.content||"");E.appendChild(D);b.isLocked&&(E.style.opacity="0.5");D=document.createElement("div");D.className="geCommentActions";var H=document.createElement("ul");H.className="geCommentActionsList";D.appendChild(H);u||b.isLocked||0!=f&&!q||B(mxResources.get("reply"),function(){v("",!0)},b.isResolved);y=a.getCurrentUser();null==y||y.id!=b.user.id||u||b.isLocked||(B(mxResources.get("edit"),
-function(){function c(){n(b,E,function(){k(E);b.editComment(b.content,function(){p(E)},function(b){l(E);c();a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})})}c()},b.isResolved),B(mxResources.get("delete"),function(){a.confirm(mxResources.get("areYouSure"),function(){k(E);b.deleteComment(function(a){if(!0===a){a=E.querySelector(".geCommentTxt");a.innerHTML="";mxUtils.write(a,mxResources.get("msgDeleted"));var e=E.querySelectorAll(".geCommentAction");for(a=
-0;a<e.length;a++)e[a].parentNode.removeChild(e[a]);p(E);E.style.opacity="0.5"}else{e=C(b).replies;for(a=0;a<e.length;a++)A.removeChild(e[a]);for(a=0;a<c.length;a++)if(c[a]==b){c.splice(a,1);break}z.style.display=0==A.getElementsByTagName("div").length?"block":"none"}},function(b){l(E);a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})})},b.isResolved));u||b.isLocked||0!=f||B(b.isResolved?mxResources.get("reopen"):mxResources.get("resolve"),function(a){function c(){var c=
-a.target;c.innerHTML="";b.isResolved=!b.isResolved;mxUtils.write(c,b.isResolved?mxResources.get("reopen"):mxResources.get("resolve"));for(var e=b.isResolved?"none":"",d=C(b).replies,f="dark"==uiTheme?"transparent":b.isResolved?"ghostWhite":"white",g=0;g<d.length;g++){d[g].style.backgroundColor=f;for(var k=d[g].querySelectorAll(".geCommentAction"),l=0;l<k.length;l++)k[l]!=c.parentNode&&(k[l].style.display=e);G||(d[g].style.display="none")}m()}b.isResolved?v(mxResources.get("reOpened")+": ",!0,c,!1,
-!0):v(mxResources.get("markedAsResolved"),!1,c,!0)});E.appendChild(D);null!=d?A.insertBefore(E,d.nextSibling):A.appendChild(E);for(d=0;null!=b.replies&&d<b.replies.length;d++)D=b.replies[d],D.isResolved=b.isResolved,t(D,b.replies,null,f+1,g);null!=x&&(x.comment.id==b.id?(g=b.content,b.content=x.comment.content,n(b,E,x.saveCallback,x.deleteOnCancel),b.content=g):null==x.comment.id&&x.comment.pCommentId==b.id&&(A.appendChild(x.div),n(x.comment,x.div,x.saveCallback,x.deleteOnCancel)));return E}}var u=
-!a.canComment(),q=a.canReplyToReplies(),x=null,y=document.createElement("div");y.className="geCommentsWin";y.style.background="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;var v=EditorUi.compactUi?"26px":"30px",A=document.createElement("div");A.className="geCommentsList";A.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;A.style.bottom=parseInt(v)+7+"px";y.appendChild(A);var z=document.createElement("span");z.style.cssText="display:none;padding-top:10px;text-align:center;";
-mxUtils.write(z,mxResources.get("noCommentsFound"));var B=document.createElement("div");B.className="geToolbarContainer geCommentsToolbar";B.style.height=v;B.style.padding=EditorUi.compactUi?"4px 0px 3px 0px":"1px";B.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;v=document.createElement("a");v.className="geButton";if(!u){var C=v.cloneNode();C.innerHTML='<div class="geSprite geSprite-plus" style="display:inline-block;"></div>';C.setAttribute("title",mxResources.get("create")+
-"...");mxEvent.addListener(C,"click",function(b){function c(){n(e,d,function(b){k(d);a.addComment(b,function(a){b.id=a;D.push(b);p(d)},function(b){l(d);c();a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})},!0)}var e=a.newComment("",a.getCurrentUser()),d=t(e,D,null,0);c();b.preventDefault();mxEvent.consume(b)});B.appendChild(C)}C=v.cloneNode();C.innerHTML='<img src="'+IMAGE_PATH+'/check.png" style="width: 16px; padding: 2px;">';C.setAttribute("title",mxResources.get("showResolved"));
-var G=!1;"dark"==uiTheme&&(C.style.filter="invert(100%)");mxEvent.addListener(C,"click",function(a){this.className=(G=!G)?"geButton geCheckedBtn":"geButton";H();a.preventDefault();mxEvent.consume(a)});B.appendChild(C);a.commentsRefreshNeeded()&&(C=v.cloneNode(),C.innerHTML='<img src="'+IMAGE_PATH+'/update16.png" style="width: 16px; padding: 2px;">',C.setAttribute("title",mxResources.get("refresh")),"dark"==uiTheme&&(C.style.filter="invert(100%)"),mxEvent.addListener(C,"click",function(a){H();a.preventDefault();
-mxEvent.consume(a)}),B.appendChild(C));a.commentsSaveNeeded()&&(v=v.cloneNode(),v.innerHTML='<img src="'+IMAGE_PATH+'/save.png" style="width: 20px; padding: 2px;">',v.setAttribute("title",mxResources.get("save")),"dark"==uiTheme&&(v.style.filter="invert(100%)"),mxEvent.addListener(v,"click",function(a){f();a.preventDefault();mxEvent.consume(a)}),B.appendChild(v));y.appendChild(B);var D=[],H=mxUtils.bind(this,function(){this.hasError=!1;if(null!=x)try{x.div=x.div.cloneNode(!0);var b=x.div.querySelector(".geCommentEditTxtArea"),
-c=x.div.querySelector(".geCommentEditBtns");x.comment.content=b.value;b.parentNode.removeChild(b);c.parentNode.removeChild(c)}catch(E){a.handleError(E)}A.innerHTML='<div style="padding-top:10px;text-align:center;"><img src="'+IMAGE_PATH+'/spin.gif" valign="middle"> '+mxUtils.htmlEntities(mxResources.get("loading"))+"...</div>";q=a.canReplyToReplies();a.commentsSupported()?a.getComments(function(a){function b(a){if(null!=a){a.sort(function(a,b){return new Date(a.modifiedDate)-new Date(b.modifiedDate)});
-for(var c=0;c<a.length;c++)b(a[c].replies)}}a.sort(function(a,b){return new Date(a.modifiedDate)-new Date(b.modifiedDate)});A.innerHTML="";A.appendChild(z);z.style.display="block";D=a;for(a=0;a<D.length;a++)b(D[a].replies),t(D[a],D,null,0,G);null!=x&&null==x.comment.id&&null==x.comment.pCommentId&&(A.appendChild(x.div),n(x.comment,x.div,x.saveCallback,x.deleteOnCancel))},mxUtils.bind(this,function(a){A.innerHTML=mxUtils.htmlEntities(mxResources.get("error")+(a&&a.message?": "+a.message:""));this.hasError=
-!0})):A.innerHTML=mxUtils.htmlEntities(mxResources.get("error"))});H();this.refreshComments=H;B=mxUtils.bind(this,function(){function a(b){var d=c[b.id];if(null!=d)for(e(b,d),d=0;null!=b.replies&&d<b.replies.length;d++)a(b.replies[d])}if(this.window.isVisible()){for(var b=A.querySelectorAll(".geCommentDate"),c={},d=0;d<b.length;d++){var f=b[d];c[f.getAttribute("data-commentId")]=f}for(d=0;d<D.length;d++)a(D[d])}});setInterval(B,6E4);this.refreshCommentsTime=B;this.window=new mxWindow(mxResources.get("comments"),
-y,d,b,c,g,!0,!0);this.window.minimumSize=new mxRectangle(0,0,300,200);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.window.addListener(mxEvent.SHOW,mxUtils.bind(this,function(){this.window.fit()}));this.window.setLocation=function(a,b){var c=window.innerHeight||document.body.clientHeight||document.documentElement.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.body.clientWidth||
-document.documentElement.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var F=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",F);this.destroy=function(){mxEvent.removeListener(window,"resize",F);this.window.destroy()}},ConfirmDialog=function(a,d,b,c,g,f,m,n,e,k,l){var p=document.createElement("div");
+var CommentsWindow=function(a,d,b,c,g,f){function m(){for(var a=B.getElementsByTagName("div"),b=0,c=0;c<a.length;c++)"none"!=a[c].style.display&&a[c].parentNode==B&&b++;y.style.display=0==b?"block":"none"}function n(a,b,c,d){function e(){b.removeChild(k);b.removeChild(l);g.style.display="block";f.style.display="block"}v={div:b,comment:a,saveCallback:c,deleteOnCancel:d};var f=b.querySelector(".geCommentTxt"),g=b.querySelector(".geCommentActionsList"),k=document.createElement("textarea");k.className=
+"geCommentEditTxtArea";k.style.minHeight=f.offsetHeight+"px";k.value=a.content;b.insertBefore(k,f);var l=document.createElement("div");l.className="geCommentEditBtns";var n=mxUtils.button(mxResources.get("cancel"),function(){d?(b.parentNode.removeChild(b),m()):e();v=null});n.className="geCommentEditBtn";l.appendChild(n);var p=mxUtils.button(mxResources.get("save"),function(){f.innerHTML="";a.content=k.value;mxUtils.write(f,a.content);e();c(a);v=null});mxEvent.addListener(k,"keydown",mxUtils.bind(this,
+function(a){mxEvent.isConsumed(a)||((mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a))&&13==a.keyCode?(p.click(),mxEvent.consume(a)):27==a.keyCode&&(n.click(),mxEvent.consume(a)))}));p.focus();p.className="geCommentEditBtn gePrimaryBtn";l.appendChild(p);b.insertBefore(l,f);g.style.display="none";f.style.display="none";k.focus()}function e(b,c){c.innerHTML="";var d=new Date(b.modifiedDate),e=a.timeSince(d);null==e&&(e=mxResources.get("lessThanAMinute"));mxUtils.write(c,mxResources.get("timeAgo",
+[e],"{1} ago"));c.setAttribute("title",d.toLocaleDateString()+" "+d.toLocaleTimeString())}function k(a){var b=document.createElement("img");b.className="geCommentBusyImg";b.src=IMAGE_PATH+"/spin.gif";a.appendChild(b);a.busyImg=b}function l(a){a.style.border="1px solid red";a.removeChild(a.busyImg)}function p(a){a.style.border="";a.removeChild(a.busyImg)}function t(b,c,d,f,g){function C(a,c,d){var e=document.createElement("li");e.className="geCommentAction";var f=document.createElement("a");f.className=
+"geCommentActionLnk";mxUtils.write(f,a);e.appendChild(f);mxEvent.addListener(f,"click",function(a){c(a,b);a.preventDefault();mxEvent.consume(a)});G.appendChild(e);d&&(e.style.display="none")}function A(){function a(b){c.push(d);if(null!=b.replies)for(var e=0;e<b.replies.length;e++)d=d.nextSibling,a(b.replies[e])}var c=[],d=x;a(b);return{pdiv:d,replies:c}}function H(c,d,e,g,m){function y(){k(v);b.addReply(u,function(a){u.id=a;b.replies.push(u);p(v);e&&e()},function(b){q();l(v);a.handleError(b,null,
+null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))},g,m)}function q(){n(u,v,function(a){y()},!0)}var C=A().pdiv,u=a.newComment(c,a.getCurrentUser());u.pCommentId=b.id;null==b.replies&&(b.replies=[]);var v=t(u,b.replies,C,f+1);d?q():y()}if(g||!b.isResolved){y.style.display="none";var x=document.createElement("div");x.className="geCommentContainer";x.setAttribute("data-commentId",b.id);x.style.marginLeft=20*f+5+"px";b.isResolved&&"dark"!=uiTheme&&(x.style.backgroundColor="ghostWhite");
+var D=document.createElement("div");D.className="geCommentHeader";var z=document.createElement("img");z.className="geCommentUserImg";z.src=b.user.pictureUrl||Editor.userImage;D.appendChild(z);z=document.createElement("div");z.className="geCommentHeaderTxt";D.appendChild(z);var K=document.createElement("div");K.className="geCommentUsername";mxUtils.write(K,b.user.displayName||"");z.appendChild(K);K=document.createElement("div");K.className="geCommentDate";K.setAttribute("data-commentId",b.id);e(b,
+K);z.appendChild(K);x.appendChild(D);D=document.createElement("div");D.className="geCommentTxt";mxUtils.write(D,b.content||"");x.appendChild(D);b.isLocked&&(x.style.opacity="0.5");D=document.createElement("div");D.className="geCommentActions";var G=document.createElement("ul");G.className="geCommentActionsList";D.appendChild(G);u||b.isLocked||0!=f&&!q||C(mxResources.get("reply"),function(){H("",!0)},b.isResolved);z=a.getCurrentUser();null==z||z.id!=b.user.id||u||b.isLocked||(C(mxResources.get("edit"),
+function(){function c(){n(b,x,function(){k(x);b.editComment(b.content,function(){p(x)},function(b){l(x);c();a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})})}c()},b.isResolved),C(mxResources.get("delete"),function(){a.confirm(mxResources.get("areYouSure"),function(){k(x);b.deleteComment(function(a){if(!0===a){a=x.querySelector(".geCommentTxt");a.innerHTML="";mxUtils.write(a,mxResources.get("msgDeleted"));var d=x.querySelectorAll(".geCommentAction");for(a=
+0;a<d.length;a++)d[a].parentNode.removeChild(d[a]);p(x);x.style.opacity="0.5"}else{d=A(b).replies;for(a=0;a<d.length;a++)B.removeChild(d[a]);for(a=0;a<c.length;a++)if(c[a]==b){c.splice(a,1);break}y.style.display=0==B.getElementsByTagName("div").length?"block":"none"}},function(b){l(x);a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})})},b.isResolved));u||b.isLocked||0!=f||C(b.isResolved?mxResources.get("reopen"):mxResources.get("resolve"),function(a){function c(){var c=
+a.target;c.innerHTML="";b.isResolved=!b.isResolved;mxUtils.write(c,b.isResolved?mxResources.get("reopen"):mxResources.get("resolve"));for(var d=b.isResolved?"none":"",e=A(b).replies,f="dark"==uiTheme?"transparent":b.isResolved?"ghostWhite":"white",g=0;g<e.length;g++){e[g].style.backgroundColor=f;for(var k=e[g].querySelectorAll(".geCommentAction"),l=0;l<k.length;l++)k[l]!=c.parentNode&&(k[l].style.display=d);F||(e[g].style.display="none")}m()}b.isResolved?H(mxResources.get("reOpened")+": ",!0,c,!1,
+!0):H(mxResources.get("markedAsResolved"),!1,c,!0)});x.appendChild(D);null!=d?B.insertBefore(x,d.nextSibling):B.appendChild(x);for(d=0;null!=b.replies&&d<b.replies.length;d++)D=b.replies[d],D.isResolved=b.isResolved,t(D,b.replies,null,f+1,g);null!=v&&(v.comment.id==b.id?(g=b.content,b.content=v.comment.content,n(b,x,v.saveCallback,v.deleteOnCancel),b.content=g):null==v.comment.id&&v.comment.pCommentId==b.id&&(B.appendChild(v.div),n(v.comment,v.div,v.saveCallback,v.deleteOnCancel)));return x}}var u=
+!a.canComment(),q=a.canReplyToReplies(),v=null,z=document.createElement("div");z.className="geCommentsWin";z.style.background="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;var x=EditorUi.compactUi?"26px":"30px",B=document.createElement("div");B.className="geCommentsList";B.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;B.style.bottom=parseInt(x)+7+"px";z.appendChild(B);var y=document.createElement("span");y.style.cssText="display:none;padding-top:10px;text-align:center;";
+mxUtils.write(y,mxResources.get("noCommentsFound"));var C=document.createElement("div");C.className="geToolbarContainer geCommentsToolbar";C.style.height=x;C.style.padding=EditorUi.compactUi?"4px 0px 3px 0px":"1px";C.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;x=document.createElement("a");x.className="geButton";if(!u){var A=x.cloneNode();A.innerHTML='<div class="geSprite geSprite-plus" style="display:inline-block;"></div>';A.setAttribute("title",mxResources.get("create")+
+"...");mxEvent.addListener(A,"click",function(b){function c(){n(d,e,function(b){k(e);a.addComment(b,function(a){b.id=a;D.push(b);p(e)},function(b){l(e);c();a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})},!0)}var d=a.newComment("",a.getCurrentUser()),e=t(d,D,null,0);c();b.preventDefault();mxEvent.consume(b)});C.appendChild(A)}A=x.cloneNode();A.innerHTML='<img src="'+IMAGE_PATH+'/check.png" style="width: 16px; padding: 2px;">';A.setAttribute("title",mxResources.get("showResolved"));
+var F=!1;"dark"==uiTheme&&(A.style.filter="invert(100%)");mxEvent.addListener(A,"click",function(a){this.className=(F=!F)?"geButton geCheckedBtn":"geButton";G();a.preventDefault();mxEvent.consume(a)});C.appendChild(A);a.commentsRefreshNeeded()&&(A=x.cloneNode(),A.innerHTML='<img src="'+IMAGE_PATH+'/update16.png" style="width: 16px; padding: 2px;">',A.setAttribute("title",mxResources.get("refresh")),"dark"==uiTheme&&(A.style.filter="invert(100%)"),mxEvent.addListener(A,"click",function(a){G();a.preventDefault();
+mxEvent.consume(a)}),C.appendChild(A));a.commentsSaveNeeded()&&(x=x.cloneNode(),x.innerHTML='<img src="'+IMAGE_PATH+'/save.png" style="width: 20px; padding: 2px;">',x.setAttribute("title",mxResources.get("save")),"dark"==uiTheme&&(x.style.filter="invert(100%)"),mxEvent.addListener(x,"click",function(a){f();a.preventDefault();mxEvent.consume(a)}),C.appendChild(x));z.appendChild(C);var D=[],G=mxUtils.bind(this,function(){this.hasError=!1;if(null!=v)try{v.div=v.div.cloneNode(!0);var b=v.div.querySelector(".geCommentEditTxtArea"),
+c=v.div.querySelector(".geCommentEditBtns");v.comment.content=b.value;b.parentNode.removeChild(b);c.parentNode.removeChild(c)}catch(H){a.handleError(H)}B.innerHTML='<div style="padding-top:10px;text-align:center;"><img src="'+IMAGE_PATH+'/spin.gif" valign="middle"> '+mxUtils.htmlEntities(mxResources.get("loading"))+"...</div>";q=a.canReplyToReplies();a.commentsSupported()?a.getComments(function(a){function b(a){if(null!=a){a.sort(function(a,b){return new Date(a.modifiedDate)-new Date(b.modifiedDate)});
+for(var c=0;c<a.length;c++)b(a[c].replies)}}a.sort(function(a,b){return new Date(a.modifiedDate)-new Date(b.modifiedDate)});B.innerHTML="";B.appendChild(y);y.style.display="block";D=a;for(a=0;a<D.length;a++)b(D[a].replies),t(D[a],D,null,0,F);null!=v&&null==v.comment.id&&null==v.comment.pCommentId&&(B.appendChild(v.div),n(v.comment,v.div,v.saveCallback,v.deleteOnCancel))},mxUtils.bind(this,function(a){B.innerHTML=mxUtils.htmlEntities(mxResources.get("error")+(a&&a.message?": "+a.message:""));this.hasError=
+!0})):B.innerHTML=mxUtils.htmlEntities(mxResources.get("error"))});G();this.refreshComments=G;C=mxUtils.bind(this,function(){function a(b){var d=c[b.id];if(null!=d)for(e(b,d),d=0;null!=b.replies&&d<b.replies.length;d++)a(b.replies[d])}if(this.window.isVisible()){for(var b=B.querySelectorAll(".geCommentDate"),c={},d=0;d<b.length;d++){var f=b[d];c[f.getAttribute("data-commentId")]=f}for(d=0;d<D.length;d++)a(D[d])}});setInterval(C,6E4);this.refreshCommentsTime=C;this.window=new mxWindow(mxResources.get("comments"),
+z,d,b,c,g,!0,!0);this.window.minimumSize=new mxRectangle(0,0,300,200);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.window.addListener(mxEvent.SHOW,mxUtils.bind(this,function(){this.window.fit()}));this.window.setLocation=function(a,b){var c=window.innerHeight||document.body.clientHeight||document.documentElement.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.body.clientWidth||
+document.documentElement.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var E=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",E);this.destroy=function(){mxEvent.removeListener(window,"resize",E);this.window.destroy()}},ConfirmDialog=function(a,d,b,c,g,f,m,n,e,k,l){var p=document.createElement("div");
p.style.textAlign="center";l=null!=l?l:44;var t=document.createElement("div");t.style.padding="6px";t.style.overflow="auto";t.style.maxHeight=l+"px";t.style.lineHeight="1.2em";mxUtils.write(t,d);p.appendChild(t);null!=k&&(t=document.createElement("div"),t.style.padding="6px 0 6px 0",d=document.createElement("img"),d.setAttribute("src",k),t.appendChild(d),p.appendChild(t));k=document.createElement("div");k.style.textAlign="center";k.style.whiteSpace="nowrap";var u=document.createElement("input");u.setAttribute("type",
"checkbox");f=mxUtils.button(f||mxResources.get("cancel"),function(){a.hideDialog();null!=c&&c(u.checked)});f.className="geBtn";null!=n&&(f.innerHTML=n+"<br>"+f.innerHTML,f.style.paddingBottom="8px",f.style.paddingTop="8px",f.style.height="auto",f.style.width="40%");a.editor.cancelFirst&&k.appendChild(f);var q=mxUtils.button(g||mxResources.get("ok"),function(){a.hideDialog();null!=b&&b(u.checked)});k.appendChild(q);null!=m?(q.innerHTML=m+"<br>"+q.innerHTML+"<br>",q.style.paddingBottom="8px",q.style.paddingTop=
"8px",q.style.height="auto",q.className="geBtn",q.style.width="40%"):q.className="geBtn gePrimaryBtn";a.editor.cancelFirst||k.appendChild(f);p.appendChild(k);e?(k.style.marginTop="10px",t=document.createElement("p"),t.style.marginTop="20px",t.style.marginBottom="0px",t.appendChild(u),g=document.createElement("span"),mxUtils.write(g," "+mxResources.get("rememberThisSetting")),t.appendChild(g),p.appendChild(t),mxEvent.addListener(g,"click",function(a){u.checked=!u.checked;mxEvent.consume(a)})):k.style.marginTop=
"12px";this.init=function(){q.focus()};this.container=p};EditorUi.DIFF_INSERT="i";EditorUi.DIFF_REMOVE="r";EditorUi.DIFF_UPDATE="u";EditorUi.prototype.codec=new mxCodec;EditorUi.prototype.viewStateProperties={background:!0,backgroundImage:!0,shadowVisible:!0,foldingEnabled:!0,pageScale:!0,mathEnabled:!0,pageFormat:!0,extFonts:!0};EditorUi.prototype.cellProperties={id:!0,value:!0,xmlValue:!0,vertex:!0,edge:!0,visible:!0,collapsed:!0,connectable:!0,parent:!0,children:!0,previous:!0,source:!0,target:!0,edges:!0,geometry:!0,style:!0,mxObjectId:!0,mxTransient:!0};
EditorUi.prototype.patchPages=function(a,d,b,c,g){var f={},m=[],n={},e={},k={},l={};if(null!=c&&null!=c[EditorUi.DIFF_UPDATE])for(var p in c[EditorUi.DIFF_UPDATE])f[p]=c[EditorUi.DIFF_UPDATE][p];if(null!=d[EditorUi.DIFF_REMOVE])for(c=0;c<d[EditorUi.DIFF_REMOVE].length;c++)e[d[EditorUi.DIFF_REMOVE][c]]=!0;if(null!=d[EditorUi.DIFF_INSERT])for(c=0;c<d[EditorUi.DIFF_INSERT].length;c++)n[d[EditorUi.DIFF_INSERT][c].previous]=d[EditorUi.DIFF_INSERT][c];if(null!=d[EditorUi.DIFF_UPDATE])for(p in d[EditorUi.DIFF_UPDATE])c=
-d[EditorUi.DIFF_UPDATE][p],null!=c.previous&&(l[c.previous]=p);if(null!=a){var t="";for(c=0;c<a.length;c++){var u=a[c].getId();k[u]=a[c];null!=l[t]||e[u]||null!=d[EditorUi.DIFF_UPDATE]&&null!=d[EditorUi.DIFF_UPDATE][u]&&null!=d[EditorUi.DIFF_UPDATE][u].previous||(l[t]=u);t=u}}var q={},x=mxUtils.bind(this,function(a){var c=null!=a?a.getId():"";if(null!=a&&!q[c]){q[c]=!0;m.push(a);var e=null!=d[EditorUi.DIFF_UPDATE]?d[EditorUi.DIFF_UPDATE][c]:null;null!=e&&(this.updatePageRoot(a),null!=e.name&&a.setName(e.name),
-null!=e.view&&this.patchViewState(a,e.view),null!=e.cells&&this.patchPage(a,e.cells,f[a.getId()],g),!b||null==e.cells&&null==e.view||(a.needsUpdate=!0))}a=l[c];null!=a&&(delete l[c],x(k[a]));a=n[c];null!=a&&(delete n[c],y(a))}),y=mxUtils.bind(this,function(a){a=mxUtils.parseXml(a.data).documentElement;a=new DiagramPage(a);this.updatePageRoot(a);var c=k[a.getId()];null==c?x(a):(c.root=a.root,this.currentPage==c?this.editor.graph.model.setRoot(c.root):b&&(c.needsUpdate=!0))});x();for(p in l)x(k[l[p]]),
-delete l[p];for(p in n)y(n[p]),delete n[p];return m};EditorUi.prototype.patchViewState=function(a,d){if(null!=a.viewState&&null!=d){a==this.currentPage&&(a.viewState=this.editor.graph.getViewState());for(var b in d)try{a.viewState[b]=JSON.parse(d[b])}catch(c){}a==this.currentPage&&this.editor.graph.setViewState(a.viewState,!0)}};
+d[EditorUi.DIFF_UPDATE][p],null!=c.previous&&(l[c.previous]=p);if(null!=a){var t="";for(c=0;c<a.length;c++){var u=a[c].getId();k[u]=a[c];null!=l[t]||e[u]||null!=d[EditorUi.DIFF_UPDATE]&&null!=d[EditorUi.DIFF_UPDATE][u]&&null!=d[EditorUi.DIFF_UPDATE][u].previous||(l[t]=u);t=u}}var q={},v=mxUtils.bind(this,function(a){var c=null!=a?a.getId():"";if(null!=a&&!q[c]){q[c]=!0;m.push(a);var e=null!=d[EditorUi.DIFF_UPDATE]?d[EditorUi.DIFF_UPDATE][c]:null;null!=e&&(this.updatePageRoot(a),null!=e.name&&a.setName(e.name),
+null!=e.view&&this.patchViewState(a,e.view),null!=e.cells&&this.patchPage(a,e.cells,f[a.getId()],g),!b||null==e.cells&&null==e.view||(a.needsUpdate=!0))}a=l[c];null!=a&&(delete l[c],v(k[a]));a=n[c];null!=a&&(delete n[c],z(a))}),z=mxUtils.bind(this,function(a){a=mxUtils.parseXml(a.data).documentElement;a=new DiagramPage(a);this.updatePageRoot(a);var c=k[a.getId()];null==c?v(a):(c.root=a.root,this.currentPage==c?this.editor.graph.model.setRoot(c.root):b&&(c.needsUpdate=!0))});v();for(p in l)v(k[l[p]]),
+delete l[p];for(p in n)z(n[p]),delete n[p];return m};EditorUi.prototype.patchViewState=function(a,d){if(null!=a.viewState&&null!=d){a==this.currentPage&&(a.viewState=this.editor.graph.getViewState());for(var b in d)try{a.viewState[b]=JSON.parse(d[b])}catch(c){}a==this.currentPage&&this.editor.graph.setViewState(a.viewState,!0)}};
EditorUi.prototype.createParentLookup=function(a,d){function b(a){var b=c[a];null==b&&(b={inserted:[],moved:{}},c[a]=b);return b}var c={};if(null!=d[EditorUi.DIFF_INSERT])for(var g=0;g<d[EditorUi.DIFF_INSERT].length;g++){var f=d[EditorUi.DIFF_INSERT][g],m=null!=f.parent?f.parent:"",n=null!=f.previous?f.previous:"";b(m).inserted[n]=f}if(null!=d[EditorUi.DIFF_UPDATE])for(var e in d[EditorUi.DIFF_UPDATE])f=d[EditorUi.DIFF_UPDATE][e],null!=f.previous&&(m=f.parent,null==m&&(g=a.getCell(e),null!=g&&(g=
a.getParent(g),null!=g&&(m=g.getId()))),null!=m&&(b(m).moved[f.previous]=e));return c};
EditorUi.prototype.patchPage=function(a,d,b,c){var g=a==this.currentPage?this.editor.graph.model:new mxGraphModel(a.root),f=this.createParentLookup(g,d);g.beginUpdate();try{var m=g.updateEdgeParent,n=new mxDictionary,e=[];g.updateEdgeParent=function(a,b){!n.get(a)&&c&&(n.put(a,!0),e.push(a))};var k=f[""],l=null!=k&&null!=k.inserted?k.inserted[""]:null,p=null;null!=l&&(p=this.getCellForJson(l));if(null==p){var t=null!=k&&null!=k.moved?k.moved[""]:null;null!=t&&(p=g.getCell(t))}null!=p&&(g.setRoot(p),
-a.root=p);this.patchCellRecursive(a,g,g.root,f,d);if(null!=d[EditorUi.DIFF_REMOVE])for(var u=0;u<d[EditorUi.DIFF_REMOVE].length;u++){var q=g.getCell(d[EditorUi.DIFF_REMOVE][u]);null!=q&&g.remove(q)}if(null!=d[EditorUi.DIFF_UPDATE]){var x=null!=b&&null!=b.cells?b.cells[EditorUi.DIFF_UPDATE]:null;for(t in d[EditorUi.DIFF_UPDATE])this.patchCell(g,g.getCell(t),d[EditorUi.DIFF_UPDATE][t],null!=x?x[t]:null)}if(null!=d[EditorUi.DIFF_INSERT])for(u=0;u<d[EditorUi.DIFF_INSERT].length;u++)l=d[EditorUi.DIFF_INSERT][u],
+a.root=p);this.patchCellRecursive(a,g,g.root,f,d);if(null!=d[EditorUi.DIFF_REMOVE])for(var u=0;u<d[EditorUi.DIFF_REMOVE].length;u++){var q=g.getCell(d[EditorUi.DIFF_REMOVE][u]);null!=q&&g.remove(q)}if(null!=d[EditorUi.DIFF_UPDATE]){var v=null!=b&&null!=b.cells?b.cells[EditorUi.DIFF_UPDATE]:null;for(t in d[EditorUi.DIFF_UPDATE])this.patchCell(g,g.getCell(t),d[EditorUi.DIFF_UPDATE][t],null!=v?v[t]:null)}if(null!=d[EditorUi.DIFF_INSERT])for(u=0;u<d[EditorUi.DIFF_INSERT].length;u++)l=d[EditorUi.DIFF_INSERT][u],
q=g.getCell(l.id),null!=q&&(g.setTerminal(q,g.getCell(l.source),!0),g.setTerminal(q,g.getCell(l.target),!1));g.updateEdgeParent=m;if(c&&0<e.length)for(u=0;u<e.length;u++)g.contains(e[u])&&g.updateEdgeParent(e[u])}finally{g.endUpdate()}};
EditorUi.prototype.patchCellRecursive=function(a,d,b,c,g){if(null!=b){for(var f=c[b.getId()],m=null!=f&&null!=f.inserted?f.inserted:{},f=null!=f&&null!=f.moved?f.moved:{},n=0,e=d.getChildCount(b),k="",l=0;l<e;l++){var p=d.getChildAt(b,l).getId();null==f[k]&&(null==g[EditorUi.DIFF_UPDATE]||null==g[EditorUi.DIFF_UPDATE][p]||null==g[EditorUi.DIFF_UPDATE][p].previous&&null==g[EditorUi.DIFF_UPDATE][p].parent)&&(f[k]=p);k=p}e=mxUtils.bind(this,function(e,f){var k=null!=e?e.getId():"";if(null!=e&&f){var m=
d.getCell(k);null!=m&&m!=e&&(e=null)}null!=e&&(d.getChildAt(b,n)!=e&&d.add(b,e,n),this.patchCellRecursive(a,d,e,c,g),n++);return k});for(k=[null];0<k.length;)if(l=k.shift(),l=e(null!=l?l.child:null,null!=l?l.insert:!1),p=f[l],null!=p&&(delete f[l],k.push({child:d.getCell(p)})),p=m[l],null!=p&&(delete m[l],k.push({child:this.getCellForJson(p),insert:!0})),0==k.length){for(l in f)k.push({child:d.getCell(f[l])}),delete f[l];for(l in m)k.push({child:this.getCellForJson(m[l]),insert:!0}),delete m[l]}}};
@@ -10546,9 +10548,9 @@ this.activityListener=mxUtils.bind(this,function(a){this.lastActivity=new Date;t
mxUtils.bind(this,function(a){null!=a.error&&null!=a.error.data&&4004===a.error.data.code&&EditorUi.logError("Error: Pusher Limit",null,this.file.getId())});this.connectionListener=mxUtils.bind(this,function(){this.updateOnlineState();this.updateStatus();if(this.isConnected())if(this.announced)this.fileChangedNotify();else{var a=this.file.getCurrentUser(),b={a:"join"};null!=a&&(b.name=encodeURIComponent(a.displayName),b.uid=a.id);mxUtils.post(EditorUi.cacheUrl,this.getIdParameters()+"&msg="+encodeURIComponent(this.objectToString(this.createMessage(b))));
this.file.stats.msgSent++;this.announced=!0}});this.changeListener=mxUtils.bind(this,function(a){this.file.stats.msgReceived++;this.lastActivity=new Date;if(this.enabled&&!this.file.inConflictState&&!this.file.redirectDialogShowing)try{var b=this.stringToObject(a);null!=b&&(EditorUi.debug("Sync.message",[this],b,a.length,"bytes"),b.v>DrawioFileSync.PROTOCOL?this.file.redirectToNewApp(mxUtils.bind(this,function(){})):b.v===DrawioFileSync.PROTOCOL&&null!=b.d&&this.handleMessageData(b.d))}catch(c){this.isConnected()&&
this.fileChangedNotify()}})};DrawioFileSync.PROTOCOL=6;mxUtils.extend(DrawioFileSync,mxEventSource);DrawioFileSync.prototype.maxCacheEntrySize=1E6;DrawioFileSync.prototype.enabled=!0;DrawioFileSync.prototype.updateStatusInterval=1E4;DrawioFileSync.prototype.channelId=null;DrawioFileSync.prototype.channel=null;DrawioFileSync.prototype.catchupRetryCount=0;DrawioFileSync.prototype.maxCatchupRetries=15;DrawioFileSync.prototype.maxCacheReadyRetries=1;DrawioFileSync.prototype.cacheReadyDelay=700;
-DrawioFileSync.prototype.inactivityTimeoutSeconds=1800;DrawioFileSync.prototype.lastActivity=null;
+DrawioFileSync.prototype.maxOptimisticReloadRetries=6;DrawioFileSync.prototype.inactivityTimeoutSeconds=1800;DrawioFileSync.prototype.lastActivity=null;
DrawioFileSync.prototype.start=function(){null==this.channelId&&(this.channelId=this.file.getChannelId());null==this.key&&(this.key=this.file.getChannelKey());if(null==this.pusher&&null!=this.channelId&&"hidden"!=document.visibilityState){this.pusher=this.ui.getPusher();if(null!=this.pusher){try{null!=this.pusher.connection&&this.pusher.connection.bind("error",this.pusherErrorListener)}catch(a){}try{this.pusher.connect(),this.channel=this.pusher.subscribe(this.channelId),EditorUi.debug("Sync.start",
-[this,"v"+DrawioFileSync.PROTOCOL])}catch(a){}this.installListeners()}window.setTimeout(mxUtils.bind(this,function(){this.lastModified=this.file.getLastModifiedDate();this.lastActivity=new Date;this.resetUpdateStatusThread();this.updateOnlineState();this.updateStatus()},0))}};DrawioFileSync.prototype.isConnected=function(){return null!=this.pusher&&null!=this.pusher.connection?"connected"==this.pusher.connection.state:!1};
+[this,"v"+DrawioFileSync.PROTOCOL],"rev",this.file.getCurrentRevisionId())}catch(a){}this.installListeners()}window.setTimeout(mxUtils.bind(this,function(){this.lastModified=this.file.getLastModifiedDate();this.lastActivity=new Date;this.resetUpdateStatusThread();this.updateOnlineState();this.updateStatus()},0))}};DrawioFileSync.prototype.isConnected=function(){return null!=this.pusher&&null!=this.pusher.connection?"connected"==this.pusher.connection.state:!1};
DrawioFileSync.prototype.updateOnlineState=function(){if("1"!=urlParams.embedRT){var a=mxUtils.bind(this,function(a){mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.enabled=!this.enabled;this.ui.updateButtonContainer();this.resetUpdateStatusThread();this.updateOnlineState();this.updateStatus();!this.file.inConflictState&&this.enabled&&this.fileChangedNotify()}))});if("min"==uiTheme&&null!=this.ui.buttonContainer){if(null==this.collaboratorsElement){var d=document.createElement("a");
d.className="geToolbarButton";d.style.cssText="display:inline-block;position:relative;box-sizing:border-box;margin-right:4px;cursor:pointer;float:left;";d.style.backgroundPosition="center center";d.style.backgroundRepeat="no-repeat";d.style.backgroundSize="24px 24px";d.style.height="24px";d.style.width="24px";a(d);this.ui.buttonContainer.appendChild(d);this.collaboratorsElement=d}}else null!=this.ui.toolbarContainer&&null==this.collaboratorsElement&&(d=document.createElement("a"),d.className="geButton",
d.style.position="absolute",d.style.display="inline-block",d.style.verticalAlign="bottom",d.style.color="#666",d.style.top="6px",d.style.right="atlas"!=uiTheme?"70px":"50px",d.style.padding="2px",d.style.fontSize="8pt",d.style.verticalAlign="middle",d.style.textDecoration="none",d.style.backgroundPosition="center center",d.style.backgroundRepeat="no-repeat",d.style.backgroundSize="16px 16px",d.style.width="16px",d.style.height="16px",mxUtils.setOpacity(d,60),"dark"==uiTheme&&(d.style.filter="invert(100%)"),
@@ -10559,16 +10561,17 @@ b=this.lastMessage;this.lastMessage=null;null!=b&&40<b.length&&(b=b.substring(0,
"</div>")+(this.isConnected()?"":'<div class="geStatusAlert geBlink" style="margin-left:8px;display:inline-block;">'+mxUtils.htmlEntities(mxResources.get("disconnected"))+"</div>"));b=this.ui.statusContainer.getElementsByTagName("div");0<b.length&&d&&(b[0].style.cursor="pointer",b[0].style.textDecoration="underline",mxEvent.addListener(b[0],"click",mxUtils.bind(this,function(){this.ui.actions.get("revisionHistory").funct()})));d=this.ui.statusContainer.getElementsByTagName("span");if(0<d.length){var c=
d[0];mxUtils.setPrefixedStyle(c.style,"transition","all 0.2s ease");window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(c,100);mxUtils.setPrefixedStyle(c.style,"transition","all 1s ease");window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(c,0)}),this.updateStatusInterval/2)}),0)}this.resetUpdateStatusThread()}else this.file.addAllSavedStatus()};
DrawioFileSync.prototype.resetUpdateStatusThread=function(){null!=this.updateStatusThread&&window.clearInterval(this.updateStatusThread);null!=this.channel&&(this.updateStatusThread=window.setInterval(mxUtils.bind(this,function(){this.updateStatus()}),this.updateStatusInterval))};DrawioFileSync.prototype.installListeners=function(){null!=this.pusher&&null!=this.pusher.connection&&this.pusher.connection.bind("state_change",this.connectionListener);null!=this.channel&&this.channel.bind("changed",this.changeListener)};
-DrawioFileSync.prototype.handleMessageData=function(a){"desc"==a.a?this.file.savingFile||this.reloadDescriptor():"join"==a.a||"leave"==a.a?("join"==a.a&&this.file.stats.joined++,null!=a.name&&(this.lastMessage=mxResources.get("join"==a.a?"userJoined":"userLeft",[decodeURIComponent(a.name)]),this.resetUpdateStatusThread(),this.updateStatus())):null!=a.m&&(a=new Date(a.m),null==this.lastMessageModified||this.lastMessageModified<a)&&(this.lastMessageModified=a,this.fileChangedNotify())};
+DrawioFileSync.prototype.handleMessageData=function(a){if("desc"==a.a)this.file.savingFile||this.reloadDescriptor();else if("join"==a.a||"leave"==a.a)"join"==a.a&&this.file.stats.joined++,null!=a.name&&(this.lastMessage=mxResources.get("join"==a.a?"userJoined":"userLeft",[decodeURIComponent(a.name)]),this.resetUpdateStatusThread(),this.updateStatus());else if(null!=a.m){var d=new Date(a.m);if(null==this.lastMessageModified||this.lastMessageModified<d)this.lastMessageModified=d,this.fileChangedNotify(a)}};
DrawioFileSync.prototype.isValidState=function(){return this.ui.getCurrentFile()==this.file&&this.file.sync==this&&!this.file.invalidChecksum&&!this.file.redirectDialogShowing};
-DrawioFileSync.prototype.fileChangedNotify=function(){if(this.isValidState())if(this.file.savingFile)this.remoteFileChanged=!0;else var a=this.fileChanged(mxUtils.bind(this,function(a){this.updateStatus()}),mxUtils.bind(this,function(a){this.file.handleFileError(a)}),mxUtils.bind(this,function(){return!this.file.savingFile&&this.notifyThread!=a}),!0)};
+DrawioFileSync.prototype.optimisticSync=function(a){null==this.reloadThread&&(a=null!=a?a:0,a<this.maxOptimisticReloadRetries&&(this.reloadThread=window.setTimeout(mxUtils.bind(this,function(){this.file.getLatestVersion(mxUtils.bind(this,function(d){this.reloadThread=null;if(null!=d){var b=d.getCurrentRevisionId();this.file.getCurrentRevisionId()==b?this.optimisticSync(a+1):this.file.mergeFile(d)}}),mxUtils.bind(this,function(){this.reloadThread=null}))}),(a+1)*this.file.optimisticSyncDelay)),"1"==
+urlParams.test&&EditorUi.debug("Sync.optimisticSync",[this],"retryCount",a))};DrawioFileSync.prototype.fileChangedNotify=function(a){if(this.isValidState())if(this.file.savingFile)this.remoteFileChanged=!0;else if(null!=a&&"optimistic"==a.type)this.optimisticSync();else var d=this.fileChanged(mxUtils.bind(this,function(a){this.updateStatus()}),mxUtils.bind(this,function(a){this.file.handleFileError(a)}),mxUtils.bind(this,function(){return!this.file.savingFile&&this.notifyThread!=d}),!0)};
DrawioFileSync.prototype.fileChanged=function(a,d,b,c){return this.notifyThread=c=window.setTimeout(mxUtils.bind(this,function(){null!=b&&b()||(this.isValidState()?this.file.loadPatchDescriptor(mxUtils.bind(this,function(c){null!=b&&b()||(this.isValidState()?this.catchup(c,a,d,b):null!=d&&d())}),d):null!=d&&d())}),c?this.cacheReadyDelay:0)};
DrawioFileSync.prototype.reloadDescriptor=function(){this.file.loadDescriptor(mxUtils.bind(this,function(a){null!=a?(this.file.setDescriptorRevisionId(a,this.file.getCurrentRevisionId()),this.updateDescriptor(a),this.fileChangedNotify()):(this.file.inConflictState=!0,this.file.handleFileError())}),mxUtils.bind(this,function(a){this.file.inConflictState=!0;this.file.handleFileError(a)}))};
DrawioFileSync.prototype.updateDescriptor=function(a){this.file.setDescriptor(a);this.file.descriptorChanged();this.start()};
DrawioFileSync.prototype.catchup=function(a,d,b,c){if(null!=a&&(null==c||!c())){var g=this.file.getDescriptorRevisionId(a),f=this.file.getCurrentRevisionId();if(f==g)this.file.patchDescriptor(this.file.getDescriptor(),a),null!=d&&d();else if(this.isValidState()){var m=this.file.getDescriptorSecret(a);if(null==m||"1"==urlParams.lockdown)this.reload(d,b,c);else{var n=0,e=!1,k=mxUtils.bind(this,function(){if(null==c||!c())if(f!=this.file.getCurrentRevisionId())null!=d&&d();else if(this.isValidState()){var l=
!0,p=window.setTimeout(mxUtils.bind(this,function(){l=!1;this.reload(d,b,c)}),this.ui.timeout);mxUtils.get(EditorUi.cacheUrl+"?id="+encodeURIComponent(this.channelId)+"&from="+encodeURIComponent(f)+"&to="+encodeURIComponent(g)+(null!=m?"&secret="+encodeURIComponent(m):""),mxUtils.bind(this,function(g){this.file.stats.bytesReceived+=g.getText().length;window.clearTimeout(p);if(l&&(null==c||!c()))if(f!=this.file.getCurrentRevisionId())null!=d&&d();else if(this.isValidState()){var m=null,q=[];if(200<=
-g.getStatus()&&299>=g.getStatus()&&0<g.getText().length)try{var t=JSON.parse(g.getText());if(null!=t&&0<t.length)for(var y=0;y<t.length;y++){var v=this.stringToObject(t[y]);if(v.v>DrawioFileSync.PROTOCOL){e=!0;q=[];break}else if(v.v===DrawioFileSync.PROTOCOL&&null!=v.d)m=v.d.checksum,q.push(v.d.patch);else{e=!0;q=[];break}}}catch(A){q=[],null!=window.console&&"1"==urlParams.test&&console.log(A)}try{0<q.length?(this.file.stats.cacheHits++,this.merge(q,m,a,d,b,c)):n<=this.maxCacheReadyRetries-1&&!e&&
-401!=g.getStatus()&&503!=g.getStatus()?(n++,this.file.stats.cacheMiss++,window.setTimeout(k,(n+1)*this.cacheReadyDelay)):(this.file.stats.cacheFail++,this.reload(d,b,c))}catch(A){null!=b&&b(A)}}else null!=b&&b()}))}else null!=b&&b()});window.setTimeout(k,this.cacheReadyDelay)}}else null!=b&&b()}};
+g.getStatus()&&299>=g.getStatus()&&0<g.getText().length)try{var t=JSON.parse(g.getText());if(null!=t&&0<t.length)for(var z=0;z<t.length;z++){var x=this.stringToObject(t[z]);if(x.v>DrawioFileSync.PROTOCOL){e=!0;q=[];break}else if(x.v===DrawioFileSync.PROTOCOL&&null!=x.d)m=x.d.checksum,q.push(x.d.patch);else{e=!0;q=[];break}}}catch(B){q=[],null!=window.console&&"1"==urlParams.test&&console.log(B)}try{0<q.length?(this.file.stats.cacheHits++,this.merge(q,m,a,d,b,c)):n<=this.maxCacheReadyRetries-1&&!e&&
+401!=g.getStatus()&&503!=g.getStatus()?(n++,this.file.stats.cacheMiss++,window.setTimeout(k,(n+1)*this.cacheReadyDelay)):(this.file.stats.cacheFail++,this.reload(d,b,c))}catch(B){null!=b&&b(B)}}else null!=b&&b()}))}else null!=b&&b()});window.setTimeout(k,this.cacheReadyDelay)}}else null!=b&&b()}};
DrawioFileSync.prototype.reload=function(a,d,b,c){this.file.updateFile(mxUtils.bind(this,function(){this.lastModified=this.file.getLastModifiedDate();this.updateStatus();this.start();null!=a&&a()}),mxUtils.bind(this,function(a){null!=d&&d(a)}),b,c)};
DrawioFileSync.prototype.merge=function(a,d,b,c,g,f){try{this.file.stats.merged++;this.lastModified=new Date;this.file.shadowPages=null!=this.file.shadowPages?this.file.shadowPages:this.ui.getPagesForNode(mxUtils.parseXml(this.file.shadowData).documentElement);this.file.backupPatch=this.file.isModified()?this.ui.diffPages(this.file.shadowPages,this.ui.pages):null;var m=this.file.ignorePatches(a),n=this.file.getDescriptorRevisionId(b);if(!m){for(f=0;f<a.length;f++)this.file.shadowPages=this.ui.patchPages(this.file.shadowPages,
a[f]);var e=null!=d?this.ui.getHashValueForPages(this.file.shadowPages):null;"1"==urlParams.test&&EditorUi.debug("Sync.merge",[this],"from",this.file.getCurrentRevisionId(),"to",n,"etag",this.file.getDescriptorEtag(b),"backup",this.file.backupPatch,"attempt",this.catchupRetryCount,"patches",a,"checksum",d==e,d);if(null!=d&&d!=e){var k=this.ui.hashValue(this.file.getCurrentRevisionId()),l=this.ui.hashValue(n);this.file.checksumError(g,a,"From: "+k+"\nTo: "+l+"\nChecksum: "+d+"\nCurrent: "+e,n,"merge");
@@ -10577,6 +10580,7 @@ return}this.file.patch(a,DrawioFile.LAST_WRITE_WINS?this.file.backupPatch:null)}
DrawioFileSync.prototype.descriptorChanged=function(a){this.lastModified=this.file.getLastModifiedDate();if(null!=this.channelId){var d=this.objectToString(this.createMessage({a:"desc",m:this.lastModified.getTime()})),b=this.file.getCurrentRevisionId(),c=this.objectToString({});mxUtils.post(EditorUi.cacheUrl,this.getIdParameters()+"&from="+encodeURIComponent(a)+"&to="+encodeURIComponent(b)+"&msg="+encodeURIComponent(d)+"&data="+encodeURIComponent(c));this.file.stats.bytesSent+=c.length;this.file.stats.msgSent++}this.updateStatus()};
DrawioFileSync.prototype.objectToString=function(a){a=Graph.compress(JSON.stringify(a));null!=this.key&&"undefined"!==typeof CryptoJS&&(a=CryptoJS.AES.encrypt(a,this.key).toString());return a};DrawioFileSync.prototype.stringToObject=function(a){null!=this.key&&"undefined"!==typeof CryptoJS&&(a=CryptoJS.AES.decrypt(a,this.key).toString(CryptoJS.enc.Utf8));return JSON.parse(Graph.decompress(a))};
DrawioFileSync.prototype.createToken=function(a,d,b){var c=!0,g=window.setTimeout(mxUtils.bind(this,function(){c=!1;b({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),this.ui.timeout);mxUtils.get(EditorUi.cacheUrl+"?id="+encodeURIComponent(this.channelId)+"&secret="+encodeURIComponent(a),mxUtils.bind(this,function(a){window.clearTimeout(g);c&&(200<=a.getStatus()&&299>=a.getStatus()?d(a.getText()):b({code:a.getStatus(),message:"Token Error "+a.getStatus()}))}))};
+DrawioFileSync.prototype.fileSaving=function(){var a=this.objectToString(this.createMessage({m:(new Date).getTime(),type:"optimistic"}));mxUtils.post(EditorUi.cacheUrl,this.getIdParameters()+"&msg="+encodeURIComponent(a),function(){})};
DrawioFileSync.prototype.fileSaved=function(a,d,b,c,g){this.lastModified=this.file.getLastModifiedDate();this.resetUpdateStatusThread();this.catchupRetryCount=0;if(!this.ui.isOffline(!0)&&!this.file.inConflictState&&!this.file.redirectDialogShowing&&(this.start(),null!=this.channelId)){var f=this.objectToString(this.createMessage({m:this.lastModified.getTime()})),m=this.file.getDescriptorSecret(this.file.getDescriptor()),n=this.file.getDescriptorRevisionId(d),e=this.file.getCurrentRevisionId();if(null==
m||"1"==urlParams.lockdown)this.file.stats.msgSent++,mxUtils.post(EditorUi.cacheUrl,this.getIdParameters()+"&msg="+encodeURIComponent(f),function(){}),null!=b&&b(),"1"==urlParams.test&&EditorUi.debug("Sync.fileSaved",[this],"from",n,"to",e,"etag",this.file.getCurrentEtag(),"notify");else{var k=null!=this.file.shadowPages?this.file.shadowPages:this.ui.getPagesForNode(mxUtils.parseXml(this.file.shadowData).documentElement);d=this.file.getDescriptorSecret(d);var l=this.ui.getHashValueForPages(a),k=this.ui.diffPages(k,
a),p=this.objectToString(this.createMessage({patch:k,checksum:l}));this.file.stats.bytesSent+=p.length;this.file.stats.msgSent++;var t=!0,u=window.setTimeout(mxUtils.bind(this,function(){t=!1;c({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),this.ui.timeout);mxUtils.post(EditorUi.cacheUrl,this.getIdParameters()+"&from="+encodeURIComponent(n)+"&to="+encodeURIComponent(e)+"&msg="+encodeURIComponent(f)+(null!=m?"&secret="+encodeURIComponent(m):"")+(null!=d?"&last-secret="+encodeURIComponent(d):
@@ -10645,10 +10649,10 @@ null;DriveClient.prototype.sameWinAuthMode=!1;DriveClient.prototype.sameWinRedir
function(){return this.user};DriveClient.prototype.getUsersList=function(){var a=[],c=JSON.parse(this.getPersistentToken(!0)),d=null;if(null!=c){null!=c.current&&(d=c.current.userId,a.push(c[d].user),a[0].isCurrent=!0);for(var f in c)"current"!=f&&f!=d&&a.push(c[f].user)}return a};DriveClient.prototype.logout=function(){this.ui.editor.loadUrl(this.redirectUri+"?doLogout=1&userId="+this.userId+"&state="+encodeURIComponent("cId="+this.clientId+"&domain="+window.location.hostname));this.clearPersistentToken();
this.setUser(null);a=null};DriveClient.prototype.execute=function(a){var b=mxUtils.bind(this,function(b){this.ui.showAuthDialog(this,!0,mxUtils.bind(this,function(b,c){this.authorize(!1,mxUtils.bind(this,function(){null!=c&&c();a()}),mxUtils.bind(this,function(a){var b=mxResources.get("cannotLogin");null!=a&&null!=a.error&&403==a.error.code&&null!=a.error.data&&0<a.error.data.length&&"domainPolicy"==a.error.data[0].reason&&(b=a.error.message);this.logout();this.ui.showError(mxResources.get("error"),
b,mxResources.get("help"),mxUtils.bind(this,function(){this.ui.openLink("https://www.diagrams.net/doc/faq/gsuite-authorisation-troubleshoot")}),null,mxResources.get("ok"))}),b)}))});this.authorize(!0,a,b)};DriveClient.prototype.executeRequest=function(b,c,d){try{var f=!0,g=null,n=0;null!=this.requestThread&&window.clearTimeout(this.requestThread);var e=mxUtils.bind(this,function(){try{this.requestThread=null;this.currentRequest=b;null!=g&&window.clearTimeout(g);g=window.setTimeout(mxUtils.bind(this,
-function(){f=!1;null!=d&&d({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout"),retry:e})}),this.ui.timeout);var k=null,m=!1;"string"===typeof b.params?k=b.params:null!=b.params&&(k=JSON.stringify(b.params),m=!0);var p=b.fullUrl||this.GDriveBaseUrl+b.url;m&&(p+=(0<p.indexOf("?")?"&":"?")+"alt=json");var t=new mxXmlRequest(p,k,b.method||"GET");t.setRequestHeaders=mxUtils.bind(this,function(c,e){if(null!=b.headers)for(var d in b.headers)c.setRequestHeader(d,b.headers[d]);else null!=b.contentType?
-c.setRequestHeader("Content-Type",b.contentType):m&&c.setRequestHeader("Content-Type","application/json");c.setRequestHeader("Authorization","Bearer "+a)});t.send(mxUtils.bind(this,function(a){try{if(window.clearTimeout(g),f){var k;try{k=JSON.parse(a.getText())}catch(v){k=null}if(200<=a.getStatus()&&299>=a.getStatus())null!=c&&c(k);else{var m=null!=k&&null!=k.error?null!=k.error.data?k.error.data:k.error.errors:null,l=null!=m&&0<m.length?m[0].reason:null;null==d||null==k||null==k.error||-1!=k.error.code&&
-(403!=k.error.code||"domainPolicy"!=l&&"The requested mime type change is forbidden."!=k.error.message)?null!=k&&null!=k.error&&(401==k.error.code||403==k.error.code&&"rateLimitExceeded"!=l)?403==k.error.code&&this.retryAuth||401==k.error.code&&this.retryAuth&&"authError"==l?(null!=d&&d(k),this.retryAuth=!1):(this.retryAuth=!0,this.execute(e)):null!=k&&null!=k.error&&412!=k.error.code&&404!=k.error.code&&400!=k.error.code&&this.currentRequest==b&&n<this.maxRetries?(n++,this.requestThread=window.setTimeout(e,
-Math.round(Math.pow(2,n)*(1+.1*(Math.random()-.5))*this.coolOff))):null!=d&&d(k):d(k)}}}catch(v){if(null!=d)d(v);else throw v;}}))}catch(u){if(null!=d)d(u);else throw u;}});null!=a&&this.authCalled?e():this.execute(e)}catch(k){if(null!=d)d(k);else throw k;}};DriveClient.prototype.createAuthWin=function(a){return window.open(a?a:"about:blank","gdauth",["width=525,height=525","top="+(window.screenY+Math.max(window.outerHeight-525,0)/2),"left="+(window.screenX+Math.max(window.outerWidth-525,0)/2),"status=no,resizable=yes,toolbar=no,menubar=no,scrollbars=yes"].join())};
+function(){f=!1;null!=d&&d({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout"),retry:e})}),this.ui.timeout);var k=null,l=!1;"string"===typeof b.params?k=b.params:null!=b.params&&(k=JSON.stringify(b.params),l=!0);var m=b.fullUrl||this.GDriveBaseUrl+b.url;l&&(m+=(0<m.indexOf("?")?"&":"?")+"alt=json");var t=new mxXmlRequest(m,k,b.method||"GET");t.setRequestHeaders=mxUtils.bind(this,function(c,d){if(null!=b.headers)for(var e in b.headers)c.setRequestHeader(e,b.headers[e]);else null!=b.contentType?
+c.setRequestHeader("Content-Type",b.contentType):l&&c.setRequestHeader("Content-Type","application/json");c.setRequestHeader("Authorization","Bearer "+a)});t.send(mxUtils.bind(this,function(a){try{if(window.clearTimeout(g),f){var k;try{k=JSON.parse(a.getText())}catch(x){k=null}if(200<=a.getStatus()&&299>=a.getStatus())null!=c&&c(k);else{var l=null!=k&&null!=k.error?null!=k.error.data?k.error.data:k.error.errors:null,m=null!=l&&0<l.length?l[0].reason:null;null==d||null==k||null==k.error||-1!=k.error.code&&
+(403!=k.error.code||"domainPolicy"!=m&&"The requested mime type change is forbidden."!=k.error.message)?null!=k&&null!=k.error&&(401==k.error.code||403==k.error.code&&"rateLimitExceeded"!=m)?403==k.error.code&&this.retryAuth||401==k.error.code&&this.retryAuth&&"authError"==m?(null!=d&&d(k),this.retryAuth=!1):(this.retryAuth=!0,this.execute(e)):null!=k&&null!=k.error&&412!=k.error.code&&404!=k.error.code&&400!=k.error.code&&this.currentRequest==b&&n<this.maxRetries?(n++,this.requestThread=window.setTimeout(e,
+Math.round(Math.pow(2,n)*(1+.1*(Math.random()-.5))*this.coolOff))):null!=d&&d(k):d(k)}}}catch(x){if(null!=d)d(x);else throw x;}}))}catch(u){if(null!=d)d(u);else throw u;}});null!=a&&this.authCalled?e():this.execute(e)}catch(k){if(null!=d)d(k);else throw k;}};DriveClient.prototype.createAuthWin=function(a){return window.open(a?a:"about:blank","gdauth",["width=525,height=525","top="+(window.screenY+Math.max(window.outerHeight-525,0)/2),"left="+(window.screenX+Math.max(window.outerWidth-525,0)/2),"status=no,resizable=yes,toolbar=no,menubar=no,scrollbars=yes"].join())};
DriveClient.prototype.authorize=function(a,c,d,f,m){this.isExtAuth&&!a?window.parent.driveAuth(mxUtils.bind(this,function(a){this.updateAuthInfo(a,!0,!0,c,d)}),d):(new mxXmlRequest(this.redirectUri+"?getState=1",null,"GET")).send(mxUtils.bind(this,function(b){200<=b.getStatus()&&299>=b.getStatus()?this.authorizeStep2(b.getText(),a,c,d,f,m):null!=d&&d(b)}),d)};DriveClient.prototype.updateAuthInfo=function(b,c,d,f,m){a=b.access_token;delete b.access_token;b.expires=Date.now()+1E3*parseInt(b.expires_in);
b.remember=c;this.resetTokenRefresh(b);this.authCalled=!0;if(d||null==this.user){var g=JSON.stringify(b);this.updateUser(mxUtils.bind(this,function(){var a=JSON.parse(g);this.setPersistentToken(a,!c);null!=f&&f()}),m)}else null!=f&&(this.setPersistentToken(b,!c),f())};DriveClient.prototype.authorizeStep2=function(a,c,d,f,m,n){try{null!=this.ui.stateArg&&null!=this.ui.stateArg.userId&&(this.userId=this.ui.stateArg.userId,null!=this.user&&this.user.id!=this.userId&&(this.user=null));if(null==this.userId){var b=
JSON.parse(this.getPersistentToken(!0));b&&null!=b.current&&(this.userId=b.current.userId)}if(c&&null==this.userId)null!=f&&f();else if(c)(new mxXmlRequest(this.redirectUri+"?state="+encodeURIComponent("cId="+this.clientId+"&domain="+window.location.hostname+"&token="+a)+"&userId="+this.userId,null,"GET")).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?(a=JSON.parse(a.getText()),this.updateAuthInfo(a,!0,!1,d,f)):(0!=a.getStatus()&&this.logout(),null!=f&&f(a))}),f);else{var g=
@@ -10662,23 +10666,23 @@ c,d,!0,!0)};DriveClient.prototype.loadDescriptor=function(a,c,d,f){this.executeR
mxUtils.bind(this,function(a){a.title=a.originalFilename;a.headRevisionId=a.id;a.id=b;this.getXmlFile(a,c,d)}),d):this.loadDescriptor(b,mxUtils.bind(this,function(b){try{if(null!=this.user){var e=/\.png$/i.test(b.title);/\.v(dx|sdx?)$/i.test(b.title)||/\.gliffy$/i.test(b.title)||!this.ui.useCanvasForExport&&e?this.ui.convertFile(b.downloadUrl,b.title,b.mimeType,this.extension,c,d,null,{Authorization:"Bearer "+a}):f||m||b.mimeType==this.libraryMimeType||b.mimeType==this.xmlMimeType?this.getXmlFile(b,
c,d,!0,m):this.getXmlFile(b,c,d)}else d({message:mxResources.get("loggedOut")})}catch(k){if(null!=d)d(k);else throw k;}}),d)};DriveClient.prototype.isGoogleRealtimeMimeType=function(a){return null!=a&&"application/vnd.jgraph.mxfile."==a.substring(0,30)};DriveClient.prototype.getXmlFile=function(b,c,d,f,m){try{var g={Authorization:"Bearer "+a},e=b.downloadUrl;if(null==e)null!=d&&d({message:mxResources.get("exportOptionsDisabledDetails")});else{var k=0,l=mxUtils.bind(this,function(){this.ui.editor.loadUrl(e,
mxUtils.bind(this,function(a){try{if(null==a)d({message:mxResources.get("invalidOrMissingFile")});else if(b.mimeType==this.libraryMimeType||m)b.mimeType!=this.libraryMimeType||m?c(new DriveLibrary(this.ui,a,b)):d({message:mxResources.get("notADiagramFile")});else{var f=!1;if(/\.png$/i.test(b.title)){var g=a.lastIndexOf(",");if(0<g){var k=this.ui.extractGraphModelFromPng(a);if(null!=k&&0<k.length)a=k;else try{var k=a.substring(g+1),l=!window.atob||mxClient.IS_IE||mxClient.IS_IE11?Base64.decode(k):
-atob(k),n=this.ui.editor.extractGraphModel(mxUtils.parseXml(l).documentElement,!0);null==n||0<n.getElementsByTagName("parsererror").length?f=!0:a=l}catch(v){f=!0}}}else/\.pdf$/i.test(b.title)?(k=Editor.extractGraphModelFromPdf(a),null!=k&&0<k.length&&(f=!0,a=k)):"data:image/png;base64,PG14ZmlsZS"==a.substring(0,32)&&(l=a.substring(22),a=window.atob&&!mxClient.IS_SF?atob(l):Base64.decode(l));Graph.fileSupport&&(new XMLHttpRequest).upload&&this.ui.isRemoteFileFormat(a,e)?this.ui.parseFile(new Blob([a],
-{type:"application/octet-stream"}),mxUtils.bind(this,function(a){try{4==a.readyState&&(200<=a.status&&299>=a.status?c(new LocalFile(this.ui,a.responseText,b.title+this.extension,!0)):null!=d&&d({message:mxResources.get("errorLoadingFile")}))}catch(A){if(null!=d)d(A);else throw A;}}),b.title):c(f?new LocalFile(this.ui,a,b.title,!0):new DriveFile(this.ui,a,b))}}catch(v){if(null!=d)d(v);else throw v;}}),mxUtils.bind(this,function(a,b){if(k<this.maxRetries&&null!=b&&403==b.getStatus())k++,window.setTimeout(l,
+atob(k),n=this.ui.editor.extractGraphModel(mxUtils.parseXml(l).documentElement,!0);null==n||0<n.getElementsByTagName("parsererror").length?f=!0:a=l}catch(x){f=!0}}}else/\.pdf$/i.test(b.title)?(k=Editor.extractGraphModelFromPdf(a),null!=k&&0<k.length&&(f=!0,a=k)):"data:image/png;base64,PG14ZmlsZS"==a.substring(0,32)&&(l=a.substring(22),a=window.atob&&!mxClient.IS_SF?atob(l):Base64.decode(l));Graph.fileSupport&&(new XMLHttpRequest).upload&&this.ui.isRemoteFileFormat(a,e)?this.ui.parseFile(new Blob([a],
+{type:"application/octet-stream"}),mxUtils.bind(this,function(a){try{4==a.readyState&&(200<=a.status&&299>=a.status?c(new LocalFile(this.ui,a.responseText,b.title+this.extension,!0)):null!=d&&d({message:mxResources.get("errorLoadingFile")}))}catch(B){if(null!=d)d(B);else throw B;}}),b.title):c(f?new LocalFile(this.ui,a,b.title,!0):new DriveFile(this.ui,a,b))}}catch(x){if(null!=d)d(x);else throw x;}}),mxUtils.bind(this,function(a,b){if(k<this.maxRetries&&null!=b&&403==b.getStatus())k++,window.setTimeout(l,
2*k*this.coolOff*(1+.1*(Math.random()-.5)));else if(null!=d)d(a);else throw a;}),null!=b.mimeType&&"image/"==b.mimeType.substring(0,6)&&"image/svg"!=b.mimeType.substring(0,9)||/\.png$/i.test(b.title)||/\.jpe?g$/i.test(b.title)||/\.pdf$/i.test(b.title),null,null,null,g)});l()}}catch(p){if(null!=d)d(p);else throw p;}};DriveClient.prototype.saveFile=function(a,c,d,f,m,n,e,k,l){try{var b=0;a.saveLevel=1;var g=mxUtils.bind(this,function(b){if(null!=f)f(b);else throw b;try{if(!a.isConflict(b)){var c="sl_"+
a.saveLevel+"-error_"+(a.getErrorMessage(b)||"unknown");null!=b&&null!=b.error&&null!=b.error.code&&(c+="-code_"+b.error.code);EditorUi.logEvent({category:"ERROR-SAVE-FILE-"+a.getHash()+"-rev_"+a.desc.headRevisionId+"-mod_"+a.desc.modifiedDate+"-size_"+a.getSize()+"-mime_"+a.desc.mimeType+(this.ui.editor.autosave?"":"-nosave")+(a.isAutosave()?"":"-noauto")+(a.changeListenerEnabled?"":"-nolisten")+(a.inConflictState?"-conflict":"")+(a.invalidChecksum?"-invalid":""),action:c,label:(null!=this.user?
-"user_"+this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync")})}}catch(F){}}),u=mxUtils.bind(this,function(a){g(a);try{EditorUi.logError(a.message,null,null,a)}catch(H){}});if(a.isEditable()&&null!=a.desc){var q=(new Date).getTime(),x=a.desc.etag,y=a.desc.modifiedDate,v=a.desc.headRevisionId,A=this.ui.useCanvasForExport&&/(\.png)$/i.test(a.getTitle());n=null!=n?n:!1;var z=null,B=!1,C={mimeType:a.desc.mimeType,title:a.getTitle()};if(this.isGoogleRealtimeMimeType(C.mimeType))C.mimeType=
-this.xmlMimeType,z=a.desc,B=c=!0;else if("application/octet-stream"==C.mimeType||"1"==urlParams["override-mime"]&&C.mimeType!=this.xmlMimeType)C.mimeType=this.xmlMimeType;var G=mxUtils.bind(this,function(f,m,p){try{a.saveLevel=3;a.constructor==DriveFile&&(null==k&&(k=[]),null==a.getChannelId()&&k.push({key:"channel",value:Editor.guid(32)}),null==a.getChannelKey()&&k.push({key:"key",value:Editor.guid(32)}),k.push({key:"secret",value:null!=l?l:Editor.guid(32)}));p||(null!=f||n||(f=this.placeholderThumbnail,
-m=this.placeholderMimeType),null!=f&&null!=m&&(C.thumbnail={image:f,mimeType:m}));var t=a.getData(),G=mxUtils.bind(this,function(b){try{if(a.saveDelay=(new Date).getTime()-q,a.saveLevel=11,null==b)g({message:mxResources.get("errorSavingFile")+": Empty response"});else{var e=(new Date(b.modifiedDate)).getTime()-(new Date(y)).getTime();if(0>=e||x==b.etag||c&&v==b.headRevisionId){a.saveLevel=12;var f=[];0>=e&&f.push("invalid modified time");x==b.etag&&f.push("stale etag");c&&v==b.headRevisionId&&f.push("stale revision");
-var k=f.join(", ");g({message:mxResources.get("errorSavingFile")+": "+k},b);try{EditorUi.logError("Critical: Error saving to Google Drive "+a.desc.id,null,"from-"+v+"."+y+"-"+this.ui.hashValue(x)+"-to-"+b.headRevisionId+"."+b.modifiedDate+"-"+this.ui.hashValue(b.etag)+(0<k.length?"-errors-"+k:""),"user-"+(null!=this.user?this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync"))}catch(T){}}else if(a.saveLevel=null,d(b,t),null!=z){this.executeRequest({url:"/files/"+z.id+"/revisions/"+
-z.headRevisionId+"?supportsAllDrives=true"},mxUtils.bind(this,mxUtils.bind(this,function(a){a.pinned=!0;this.executeRequest({url:"/files/"+z.id+"/revisions/"+z.headRevisionId,method:"PUT",params:a})})));try{EditorUi.logEvent({category:a.convertedFrom+"-CONVERT-FILE-"+a.getHash(),action:"from_"+z.id+"."+z.headRevisionId+"-to_"+a.desc.id+"."+a.desc.headRevisionId,label:null!=this.user?"user_"+this.user.id:"nouser"+(null!=a.sync?"-client_"+a.sync.clientId:"nosync")})}catch(T){}}}}catch(T){u(T)}}),E=
-mxUtils.bind(this,function(d,m){a.saveLevel=4;try{null!=k&&(C.properties=k);var l=e||a.constructor!=DriveFile||"manual"!=DrawioFile.SYNC&&"auto"!=DrawioFile.SYNC?null:a.getCurrentEtag(),n=mxUtils.bind(this,function(e){a.saveLevel=5;try{var f=a.desc.mimeType!=this.xmlMimeType&&a.desc.mimeType!=this.mimeType&&a.desc.mimeType!=this.libraryMimeType,k=!0,n=null;try{n=window.setTimeout(mxUtils.bind(this,function(){k=!1;g({code:App.ERROR_TIMEOUT})}),5*this.ui.timeout)}catch(V){}this.executeRequest(this.createUploadRequest(a.getId(),
-C,d,c||e||f,m,e?null:l,B),mxUtils.bind(this,function(a){window.clearTimeout(n);k&&G(a)}),mxUtils.bind(this,function(c){window.clearTimeout(n);if(k){a.saveLevel=6;try{a.isConflict(c)?this.executeRequest({url:"/files/"+a.getId()+"?supportsAllDrives=true&fields="+this.catchupFields},mxUtils.bind(this,function(e){a.saveLevel=7;try{if(null!=e&&e.etag==l)if(b<this.staleEtagMaxRetries){b++;var d=2*b*this.coolOff*(1+.1*(Math.random()-.5));window.setTimeout(p,d);"1"==urlParams.test&&EditorUi.debug("DriveClient: Stale Etag Detected",
-"retry",b,"delay",d)}else{p(!0);try{EditorUi.logEvent({category:"STALE-ETAG-SAVE-FILE-"+a.getHash(),action:"rev_"+a.desc.headRevisionId+"-mod_"+a.desc.modifiedDate+"-size_"+a.getSize()+"-mime_"+a.desc.mimeType+(this.ui.editor.autosave?"":"-nosave")+(a.isAutosave()?"":"-noauto")+(a.changeListenerEnabled?"":"-nolisten")+(a.inConflictState?"-conflict":"")+(a.invalidChecksum?"-invalid":""),label:(null!=this.user?"user_"+this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync")})}catch(O){}}else"1"==
-urlParams.test&&e.headRevisionId==v&&EditorUi.debug("DriveClient: Remote Etag Changed","local",l,"remote",e.etag,"rev",a.desc.headRevisionId,"response",[e],"file",[a]),g(c,e)}catch(O){u(O)}}),mxUtils.bind(this,function(){g(c)})):g(c)}catch(fa){u(fa)}}}))}catch(V){u(V)}}),p=mxUtils.bind(this,function(b){a.saveLevel=9;if(b||null==l)n(b);else{var c=!0,e=null;try{e=window.setTimeout(mxUtils.bind(this,function(){c=!1;g({code:App.ERROR_TIMEOUT})}),3*this.ui.timeout)}catch(W){}this.executeRequest({url:"/files/"+
-a.getId()+"?supportsAllDrives=true&fields="+this.catchupFields},mxUtils.bind(this,function(d){window.clearTimeout(e);if(c){a.saveLevel=10;try{null!=d&&d.headRevisionId==v?("1"==urlParams.test&&l!=d.etag&&EditorUi.debug("DriveClient: Preflight Etag Update","from",l,"to",d.etag,"rev",a.desc.headRevisionId,"response",[d],"file",[a]),l=d.etag,n(b)):g({error:{code:412}},d)}catch(V){u(V)}}}),mxUtils.bind(this,function(b){window.clearTimeout(e);c&&(a.saveLevel=11,g(b))}))}});if(A&&null==f){a.saveLevel=8;
-var z=new Image;z.onload=mxUtils.bind(this,function(){try{var a=this.thumbnailWidth/z.width,b=document.createElement("canvas");b.width=this.thumbnailWidth;b.height=Math.floor(z.height*a);b.getContext("2d").drawImage(z,0,0,b.width,b.height);var c=b.toDataURL(),c=c.substring(c.indexOf(",")+1).replace(/\+/g,"-").replace(/\//g,"_");C.thumbnail={image:c,mimeType:"image/png"};p(!1)}catch(W){try{p(!1)}catch(V){u(V)}}});z.src="data:image/png;base64,"+d}else p(!1)}catch(X){u(X)}});if(A){var D=this.ui.getPngFileProperties(this.ui.fileNode);
-this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){E(a,!0)}),g,this.ui.getCurrentFile()!=a?t:null,D.scale,D.border)}else E(t,!1)}catch(M){u(M)}});try{a.saveLevel=2,(n||A||a.constructor==DriveLibrary||!this.enableThumbnails||"0"==urlParams.thumb||null!=C.mimeType&&"application/vnd.jgraph.mxfile"!=C.mimeType.substring(0,29)||!this.ui.getThumbnail(this.thumbnailWidth,mxUtils.bind(this,function(a){try{var b=null;try{null!=a&&(b=a.toDataURL("image/png")),null!=b&&(b=b.length>this.maxThumbnailSize?null:
-b.substring(b.indexOf(",")+1).replace(/\+/g,"-").replace(/\//g,"_"))}catch(F){b=null}G(b,"image/png")}catch(F){u(F)}})))&&G(null,null,a.constructor!=DriveLibrary)}catch(D){u(D)}}else this.ui.editor.graph.reset(),g({message:mxResources.get("readOnly")})}catch(D){u(D)}};DriveClient.prototype.insertFile=function(a,c,d,f,m,n,e){n=null!=n?n:this.xmlMimeType;a={mimeType:n,title:a};null!=d&&(a.parents=[{kind:"drive#fileLink",id:d}]);this.executeRequest(this.createUploadRequest(null,a,c,!1,e),mxUtils.bind(this,
+"user_"+this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync")})}}catch(E){}}),u=mxUtils.bind(this,function(a){g(a);try{EditorUi.logError(a.message,null,null,a)}catch(G){}});if(a.isEditable()&&null!=a.desc){var q=(new Date).getTime(),v=a.desc.etag,z=a.desc.modifiedDate,x=a.desc.headRevisionId,B=this.ui.useCanvasForExport&&/(\.png)$/i.test(a.getTitle());n=null!=n?n:!1;var y=null,C=!1,A={mimeType:a.desc.mimeType,title:a.getTitle()};if(this.isGoogleRealtimeMimeType(A.mimeType))A.mimeType=
+this.xmlMimeType,y=a.desc,C=c=!0;else if("application/octet-stream"==A.mimeType||"1"==urlParams["override-mime"]&&A.mimeType!=this.xmlMimeType)A.mimeType=this.xmlMimeType;var F=mxUtils.bind(this,function(f,m,p){try{a.saveLevel=3;a.constructor==DriveFile&&(null==k&&(k=[]),null==a.getChannelId()&&k.push({key:"channel",value:Editor.guid(32)}),null==a.getChannelKey()&&k.push({key:"key",value:Editor.guid(32)}),k.push({key:"secret",value:null!=l?l:Editor.guid(32)}));p||(null!=f||n||(f=this.placeholderThumbnail,
+m=this.placeholderMimeType),null!=f&&null!=m&&(A.thumbnail={image:f,mimeType:m}));var t=a.getData(),F=mxUtils.bind(this,function(b){try{if(a.saveDelay=(new Date).getTime()-q,a.saveLevel=11,null==b)g({message:mxResources.get("errorSavingFile")+": Empty response"});else{var e=(new Date(b.modifiedDate)).getTime()-(new Date(z)).getTime();if(0>=e||v==b.etag||c&&x==b.headRevisionId){a.saveLevel=12;var f=[];0>=e&&f.push("invalid modified time");v==b.etag&&f.push("stale etag");c&&x==b.headRevisionId&&f.push("stale revision");
+var k=f.join(", ");g({message:mxResources.get("errorSavingFile")+": "+k},b);try{EditorUi.logError("Critical: Error saving to Google Drive "+a.desc.id,null,"from-"+x+"."+z+"-"+this.ui.hashValue(v)+"-to-"+b.headRevisionId+"."+b.modifiedDate+"-"+this.ui.hashValue(b.etag)+(0<k.length?"-errors-"+k:""),"user-"+(null!=this.user?this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync"))}catch(T){}}else if(a.saveLevel=null,d(b,t),null!=y){this.executeRequest({url:"/files/"+y.id+"/revisions/"+
+y.headRevisionId+"?supportsAllDrives=true"},mxUtils.bind(this,mxUtils.bind(this,function(a){a.pinned=!0;this.executeRequest({url:"/files/"+y.id+"/revisions/"+y.headRevisionId,method:"PUT",params:a})})));try{EditorUi.logEvent({category:a.convertedFrom+"-CONVERT-FILE-"+a.getHash(),action:"from_"+y.id+"."+y.headRevisionId+"-to_"+a.desc.id+"."+a.desc.headRevisionId,label:null!=this.user?"user_"+this.user.id:"nouser"+(null!=a.sync?"-client_"+a.sync.clientId:"nosync")})}catch(T){}}}}catch(T){u(T)}}),H=
+mxUtils.bind(this,function(d,m){a.saveLevel=4;try{null!=k&&(A.properties=k);var l=e||a.constructor!=DriveFile||"manual"!=DrawioFile.SYNC&&"auto"!=DrawioFile.SYNC?null:a.getCurrentEtag(),n=mxUtils.bind(this,function(e){a.saveLevel=5;try{var f=a.desc.mimeType!=this.xmlMimeType&&a.desc.mimeType!=this.mimeType&&a.desc.mimeType!=this.libraryMimeType,k=!0,n=null;try{n=window.setTimeout(mxUtils.bind(this,function(){k=!1;g({code:App.ERROR_TIMEOUT})}),5*this.ui.timeout)}catch(V){}this.executeRequest(this.createUploadRequest(a.getId(),
+A,d,c||e||f,m,e?null:l,C),mxUtils.bind(this,function(a){window.clearTimeout(n);k&&F(a)}),mxUtils.bind(this,function(c){window.clearTimeout(n);if(k){a.saveLevel=6;try{a.isConflict(c)?this.executeRequest({url:"/files/"+a.getId()+"?supportsAllDrives=true&fields="+this.catchupFields},mxUtils.bind(this,function(d){a.saveLevel=7;try{if(null!=d&&d.etag==l)if(b<this.staleEtagMaxRetries){b++;var e=2*b*this.coolOff*(1+.1*(Math.random()-.5));window.setTimeout(p,e);"1"==urlParams.test&&EditorUi.debug("DriveClient: Stale Etag Detected",
+"retry",b,"delay",e)}else{p(!0);try{EditorUi.logEvent({category:"STALE-ETAG-SAVE-FILE-"+a.getHash(),action:"rev_"+a.desc.headRevisionId+"-mod_"+a.desc.modifiedDate+"-size_"+a.getSize()+"-mime_"+a.desc.mimeType+(this.ui.editor.autosave?"":"-nosave")+(a.isAutosave()?"":"-noauto")+(a.changeListenerEnabled?"":"-nolisten")+(a.inConflictState?"-conflict":"")+(a.invalidChecksum?"-invalid":""),label:(null!=this.user?"user_"+this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync")})}catch(O){}}else"1"==
+urlParams.test&&d.headRevisionId==x&&EditorUi.debug("DriveClient: Remote Etag Changed","local",l,"remote",d.etag,"rev",a.desc.headRevisionId,"response",[d],"file",[a]),g(c,d)}catch(O){u(O)}}),mxUtils.bind(this,function(){g(c)})):g(c)}catch(fa){u(fa)}}}))}catch(V){u(V)}}),p=mxUtils.bind(this,function(b){a.saveLevel=9;if(b||null==l)n(b);else{var c=!0,d=null;try{d=window.setTimeout(mxUtils.bind(this,function(){c=!1;g({code:App.ERROR_TIMEOUT})}),3*this.ui.timeout)}catch(W){}this.executeRequest({url:"/files/"+
+a.getId()+"?supportsAllDrives=true&fields="+this.catchupFields},mxUtils.bind(this,function(e){window.clearTimeout(d);if(c){a.saveLevel=10;try{null!=e&&e.headRevisionId==x?("1"==urlParams.test&&l!=e.etag&&EditorUi.debug("DriveClient: Preflight Etag Update","from",l,"to",e.etag,"rev",a.desc.headRevisionId,"response",[e],"file",[a]),l=e.etag,n(b)):g({error:{code:412}},e)}catch(V){u(V)}}}),mxUtils.bind(this,function(b){window.clearTimeout(d);c&&(a.saveLevel=11,g(b))}))}});if(B&&null==f){a.saveLevel=8;
+var y=new Image;y.onload=mxUtils.bind(this,function(){try{var a=this.thumbnailWidth/y.width,b=document.createElement("canvas");b.width=this.thumbnailWidth;b.height=Math.floor(y.height*a);b.getContext("2d").drawImage(y,0,0,b.width,b.height);var c=b.toDataURL(),c=c.substring(c.indexOf(",")+1).replace(/\+/g,"-").replace(/\//g,"_");A.thumbnail={image:c,mimeType:"image/png"};p(!1)}catch(W){try{p(!1)}catch(V){u(V)}}});y.src="data:image/png;base64,"+d}else p(!1)}catch(X){u(X)}});if(B){var D=this.ui.getPngFileProperties(this.ui.fileNode);
+this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){H(a,!0)}),g,this.ui.getCurrentFile()!=a?t:null,D.scale,D.border)}else H(t,!1)}catch(M){u(M)}});try{a.saveLevel=2,(n||B||a.constructor==DriveLibrary||!this.enableThumbnails||"0"==urlParams.thumb||null!=A.mimeType&&"application/vnd.jgraph.mxfile"!=A.mimeType.substring(0,29)||!this.ui.getThumbnail(this.thumbnailWidth,mxUtils.bind(this,function(a){try{var b=null;try{null!=a&&(b=a.toDataURL("image/png")),null!=b&&(b=b.length>this.maxThumbnailSize?null:
+b.substring(b.indexOf(",")+1).replace(/\+/g,"-").replace(/\//g,"_"))}catch(E){b=null}F(b,"image/png")}catch(E){u(E)}})))&&F(null,null,a.constructor!=DriveLibrary)}catch(D){u(D)}}else this.ui.editor.graph.reset(),g({message:mxResources.get("readOnly")})}catch(D){u(D)}};DriveClient.prototype.insertFile=function(a,c,d,f,m,n,e){n=null!=n?n:this.xmlMimeType;a={mimeType:n,title:a};null!=d&&(a.parents=[{kind:"drive#fileLink",id:d}]);this.executeRequest(this.createUploadRequest(null,a,c,!1,e),mxUtils.bind(this,
function(a){n==this.libraryMimeType?f(new DriveLibrary(this.ui,c,a)):0==a?null!=m&&m({message:mxResources.get("errorSavingFile")}):f(new DriveFile(this.ui,c,a))}),m)};DriveClient.prototype.createUploadRequest=function(a,c,d,f,m,n,e){m=null!=m?m:!1;var b={"Content-Type":'multipart/mixed; boundary="-------314159265358979323846"'};null!=n&&(b["If-Match"]=n);a={fullUrl:"https://content.googleapis.com/upload/drive/v2/files"+(null!=a?"/"+a:"")+"?uploadType=multipart&supportsAllDrives=true&enforceSingleParent=true&fields="+
this.allFields,method:null!=a?"PUT":"POST",headers:b,params:"\r\n---------314159265358979323846\r\nContent-Type: application/json\r\n\r\n"+JSON.stringify(c)+"\r\n---------314159265358979323846\r\nContent-Type: application/octect-stream\r\nContent-Transfer-Encoding: base64\r\n\r\n"+(null!=d?m?d:!window.btoa||mxClient.IS_IE||mxClient.IS_IE11?Base64.encode(d):Graph.base64EncodeUnicode(d):"")+"\r\n---------314159265358979323846--"};f||(a.fullUrl+="&newRevision=false");e&&(a.fullUrl+="&pinned=true");return a};
DriveClient.prototype.createLinkPicker=function(){var b=d.linkPicker;if(null==b||d.linkPickerToken!=a){d.linkPickerToken=a;var b=(new google.picker.DocsView(google.picker.ViewId.FOLDERS)).setParent("root").setIncludeFolders(!0).setSelectFolderEnabled(!0),c=(new google.picker.DocsView).setIncludeFolders(!0).setSelectFolderEnabled(!0),g=(new google.picker.DocsView).setIncludeFolders(!0).setEnableDrives(!0).setSelectFolderEnabled(!0),b=(new google.picker.PickerBuilder).setAppId(this.appId).setLocale(mxLanguage).setOAuthToken(d.linkPickerToken).enableFeature(google.picker.Feature.SUPPORT_DRIVES).addView(b).addView(c).addView(g).addView(google.picker.ViewId.RECENTLY_PICKED)}return b};
@@ -10726,21 +10730,22 @@ DropboxClient.prototype.pickLibrary=function(a){Dropbox.choose({linkType:"direct
a(g.substring(1),new DropboxLibrary(this.ui,c,m))}catch(n){this.ui.handleError(n)}else this.createLibrary(d[0],a,b)}),b)}else this.createLibrary(d[0],a,b)}})})};
DropboxClient.prototype.createLibrary=function(a,d,b){this.ui.confirm(mxResources.get("note")+": "+mxResources.get("fileWillBeSavedInAppFolder",[a.name]),mxUtils.bind(this,function(){this.ui.editor.loadUrl(a.link,mxUtils.bind(this,function(c){this.insertFile(a.name,c,mxUtils.bind(this,function(a){try{this.ui.spinner.stop(),d(a.getHash().substring(1),a)}catch(f){b(f)}}),b,!0)}),b)}),mxUtils.bind(this,function(){this.ui.spinner.stop()}))};
DropboxClient.prototype.pickFile=function(a,d){null!=Dropbox.choose?(a=null!=a?a:mxUtils.bind(this,function(a,c){this.ui.loadFile(null!=a?"D"+encodeURIComponent(a):c.getHash(),null,c)}),Dropbox.choose({linkType:"direct",cancel:mxUtils.bind(this,function(){}),success:mxUtils.bind(this,function(b){if(this.ui.spinner.spin(document.body,mxResources.get("loading")))if(d)this.ui.spinner.stop(),a(b[0].link);else{var c=mxUtils.bind(this,function(a){this.ui.spinner.stop();this.ui.handleError(a)}),g=mxUtils.bind(this,
-function(b,c){this.ui.spinner.stop();a(b,c)}),f=/\.png$/i.test(b[0].name);if(/\.vsdx$/i.test(b[0].name)||/\.gliffy$/i.test(b[0].name)||!this.ui.useCanvasForExport&&f)g(b[0].link);else{var m=b[0].link.indexOf(this.appPath);if(0<m){var n=decodeURIComponent(b[0].link.substring(m+this.appPath.length-1));this.readFile({path:n},mxUtils.bind(this,function(e,d){if(null!=d&&d.id==b[0].id){var k=f?e.lastIndexOf(","):-1;this.ui.spinner.stop();var m=null;0<k&&(k=this.ui.extractGraphModelFromPng(e),null!=k&&0<
-k.length?e=k:m=new LocalFile(this,e,n,!0));a(n.substring(1),null!=m?m:new DropboxFile(this.ui,e,d))}else this.createFile(b[0],g,c)}),c,f)}else this.createFile(b[0],g,c)}}})})):this.ui.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})};
+function(b,c){this.ui.spinner.stop();a(b,c)}),f=/\.png$/i.test(b[0].name);if(/\.vsdx$/i.test(b[0].name)||/\.gliffy$/i.test(b[0].name)||!this.ui.useCanvasForExport&&f)g(b[0].link);else{var m=b[0].link.indexOf(this.appPath);if(0<m){var n=decodeURIComponent(b[0].link.substring(m+this.appPath.length-1));this.readFile({path:n},mxUtils.bind(this,function(d,k){if(null!=k&&k.id==b[0].id){var e=f?d.lastIndexOf(","):-1;this.ui.spinner.stop();var m=null;0<e&&(e=this.ui.extractGraphModelFromPng(d),null!=e&&0<
+e.length?d=e:m=new LocalFile(this,d,n,!0));a(n.substring(1),null!=m?m:new DropboxFile(this.ui,d,k))}else this.createFile(b[0],g,c)}),c,f)}else this.createFile(b[0],g,c)}}})})):this.ui.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})};
DropboxClient.prototype.createFile=function(a,d,b){var c=/(\.png)$/i.test(a.name);this.ui.editor.loadUrl(a.link,mxUtils.bind(this,function(g){null!=g&&0<g.length?this.ui.confirm(mxResources.get("note")+": "+mxResources.get("fileWillBeSavedInAppFolder",[a.name]),mxUtils.bind(this,function(){var f=c?g.lastIndexOf(","):-1;0<f&&(f=this.ui.extractGraphModelFromPng(g.substring(f+1)),null!=f&&0<f.length&&(g=f));this.insertFile(a.name,g,mxUtils.bind(this,function(b){d(a.name,b)}),b)}),mxUtils.bind(this,function(){this.ui.spinner.stop()})):
-(this.ui.spinner.stop(),b({message:mxResources.get("errorLoadingFile")}))}),b,c)};OneDriveFile=function(a,d,b){DrawioFile.call(this,a,d);this.meta=b};mxUtils.extend(OneDriveFile,DrawioFile);
+(this.ui.spinner.stop(),b({message:mxResources.get("errorLoadingFile")}))}),b,c)};OneDriveFile=function(a,d,b){DrawioFile.call(this,a,d);this.meta=b};mxUtils.extend(OneDriveFile,DrawioFile);OneDriveFile.prototype.autosaveDelay=300;
OneDriveFile.prototype.share=function(){var a=this.meta.webUrl,a=a.substring(0,a.lastIndexOf("/"));if(null!=this.meta.parentReference)try{if("personal"==this.meta.parentReference.driveType)a="https://onedrive.live.com/?cid="+encodeURIComponent(this.meta.parentReference.driveId)+"&id="+encodeURIComponent(this.meta.id);else if("documentLibrary"==this.meta.parentReference.driveType)var d=this.meta.parentReference.path,d=d.substring(d.indexOf("/root:")+6),b=this.meta.webUrl,a=b.substring(0,b.length-d.length-
this.meta.name.length-(0<d.length?1:0)),b=b.substring(b.indexOf("/",8)),a=a+"/Forms/AllItems.aspx?id="+b+"&parent="+b.substring(0,b.lastIndexOf("/"));else if("business"==this.meta.parentReference.driveType)var a=this.meta["@microsoft.graph.downloadUrl"],c=a.indexOf("/_layouts/15/download.aspx?"),d=b=this.meta.webUrl,b=b.substring(8),b=b.substring(b.indexOf("/")),d=d.substring(0,d.lastIndexOf("/")),d=d.substring(d.indexOf("/",8)),a=a.substring(0,c)+"/_layouts/15/onedrive.aspx?id="+b+"&parent="+d}catch(g){}this.ui.editor.graph.openLink(a)};
OneDriveFile.prototype.getId=function(){return this.getIdOf(this.meta)};OneDriveFile.prototype.getParentId=function(){return this.getIdOf(this.meta,!0)};OneDriveFile.prototype.getIdOf=function(a,d){return(null!=a.parentReference&&null!=a.parentReference.driveId?a.parentReference.driveId+"/":"")+(null!=d?a.parentReference.id:a.id)};OneDriveFile.prototype.getChannelId=function(){return"W-"+DrawioFile.prototype.getChannelId.apply(this,arguments)};OneDriveFile.prototype.getHash=function(){return"W"+encodeURIComponent(this.getId())};
-OneDriveFile.prototype.getMode=function(){return App.MODE_ONEDRIVE};OneDriveFile.prototype.isAutosaveOptional=function(){return!0};OneDriveFile.prototype.getTitle=function(){return this.meta.name};OneDriveFile.prototype.isRenamable=function(){return!0};OneDriveFile.prototype.isSyncSupported=function(){return!0};OneDriveFile.prototype.getSize=function(){return this.meta.size};OneDriveFile.prototype.isConflict=function(a){return null!=a&&(412==a.getStatus()||409==a.getStatus())};
-OneDriveFile.prototype.getCurrentUser=function(){return null!=this.ui.oneDrive?this.ui.oneDrive.user:null};OneDriveFile.prototype.loadDescriptor=function(a,d){this.ui.oneDrive.executeRequest(this.ui.oneDrive.getItemURL(this.getId()),mxUtils.bind(this,function(b){200<=b.getStatus()&&299>=b.getStatus()?a(JSON.parse(b.getText())):null!=d&&d()}),d)};OneDriveFile.prototype.getLatestVersion=function(a,d){this.ui.oneDrive.getFile(this.getId(),a,d)};OneDriveFile.prototype.getDescriptor=function(){return this.meta};
-OneDriveFile.prototype.setDescriptor=function(a){this.meta=a};OneDriveFile.prototype.getDescriptorEtag=function(a){return a.eTag};OneDriveFile.prototype.setDescriptorEtag=function(a,d){a.eTag=d};OneDriveFile.prototype.loadPatchDescriptor=function(a,d){var b=this.ui.oneDrive.getItemURL(this.getId());this.ui.oneDrive.executeRequest(b+"?select=etag,file",mxUtils.bind(this,function(b){200<=b.getStatus()&&299>=b.getStatus()?a(JSON.parse(b.getText())):d(this.ui.oneDrive.parseRequestText(b))}),d)};
+OneDriveFile.prototype.getMode=function(){return App.MODE_ONEDRIVE};OneDriveFile.prototype.isAutosaveOptional=function(){return!0};OneDriveFile.prototype.getTitle=function(){return this.meta.name};OneDriveFile.prototype.isRenamable=function(){return!0};OneDriveFile.prototype.isOptimisticSync=function(){return!0};OneDriveFile.prototype.isSyncSupported=function(){return!0};OneDriveFile.prototype.getSize=function(){return this.meta.size};
+OneDriveFile.prototype.isConflict=function(a){return null!=a&&(412==a.getStatus()||409==a.getStatus())};OneDriveFile.prototype.getCurrentUser=function(){return null!=this.ui.oneDrive?this.ui.oneDrive.user:null};OneDriveFile.prototype.loadDescriptor=function(a,d){this.ui.oneDrive.executeRequest(this.ui.oneDrive.getItemURL(this.getId()),mxUtils.bind(this,function(b){200<=b.getStatus()&&299>=b.getStatus()?a(JSON.parse(b.getText())):null!=d&&d()}),d)};
+OneDriveFile.prototype.getLatestVersion=function(a,d){this.ui.oneDrive.getFile(this.getId(),a,d)};OneDriveFile.prototype.getDescriptor=function(){return this.meta};OneDriveFile.prototype.setDescriptor=function(a){this.meta=a};OneDriveFile.prototype.getDescriptorEtag=function(a){return a.eTag};OneDriveFile.prototype.setDescriptorEtag=function(a,d){a.eTag=d};
+OneDriveFile.prototype.loadPatchDescriptor=function(a,d){var b=this.ui.oneDrive.getItemURL(this.getId());this.ui.oneDrive.executeRequest(b+"?select=etag,file",mxUtils.bind(this,function(b){200<=b.getStatus()&&299>=b.getStatus()?a(JSON.parse(b.getText())):d(this.ui.oneDrive.parseRequestText(b))}),d)};
OneDriveFile.prototype.getChannelKey=function(){return"undefined"!==typeof CryptoJS?CryptoJS.MD5(this.meta.createdDateTime+(null!=this.meta.createdBy&&null!=this.meta.createdBy.user?this.meta.createdBy.user.id:"")).toString():null};OneDriveFile.prototype.getLastModifiedDate=function(){return new Date(this.meta.lastModifiedDateTime)};OneDriveFile.prototype.save=function(a,d,b,c,g){this.doSave(this.getTitle(),a,d,b,c,g)};OneDriveFile.prototype.saveAs=function(a,d,b){this.doSave(a,!1,d,b)};
OneDriveFile.prototype.doSave=function(a,d,b,c,g,f){var m=this.meta.name;this.meta.name=a;DrawioFile.prototype.save.apply(this,[null,mxUtils.bind(this,function(){this.meta.name=m;this.saveFile(a,d,b,c,g,f)}),c,g,f])};
-OneDriveFile.prototype.saveFile=function(a,d,b,c,g,f){if(!this.isEditable())null!=b&&b();else if(!this.savingFile)if(this.getTitle()==a){var m=mxUtils.bind(this,function(){try{this.savingFileTime=new Date;this.setShadowModified(!1);this.savingFile=!0;var a=f||this.constructor!=OneDriveFile||"manual"!=DrawioFile.SYNC&&"auto"!=DrawioFile.SYNC?null:this.getCurrentEtag(),e=this.meta;this.ui.oneDrive.saveFile(this,mxUtils.bind(this,function(a,d){this.setModified(this.getShadowModified());this.savingFile=
-!1;this.meta=a;this.fileSaved(d,e,mxUtils.bind(this,function(){this.contentChanged();null!=b&&b()}),c)}),mxUtils.bind(this,function(a,b){try{this.savingFile=!1,this.isConflict(b)?(this.inConflictState=!0,null!=this.sync?(this.savingFile=!0,this.sync.fileConflict(null,mxUtils.bind(this,function(){window.setTimeout(mxUtils.bind(this,function(){this.updateFileData();m()}),100+500*Math.random())}),mxUtils.bind(this,function(){this.savingFile=!1;null!=c&&c()}))):null!=c&&c()):null!=c&&c(a)}catch(p){if(this.savingFile=
-!1,null!=c)c(p);else throw p;}}),a)}catch(k){if(this.savingFile=!1,null!=c)c(k);else throw k;}});m()}else this.savingFileTime=new Date,this.setShadowModified(!1),this.savingFile=!0,this.ui.oneDrive.insertFile(a,this.getData(),mxUtils.bind(this,function(a){this.setModified(this.getShadowModified());this.savingFile=!1;null!=b&&b();this.ui.fileLoaded(a)}),mxUtils.bind(this,function(){this.savingFile=!1;null!=c&&c()}))};
+OneDriveFile.prototype.saveFile=function(a,d,b,c,g,f){if(!this.isEditable())null!=b&&b();else if(!this.savingFile)if(this.getTitle()==a){var m=mxUtils.bind(this,function(){try{this.savingFileTime=new Date;this.setShadowModified(!1);this.savingFile=!0;var a=f||this.constructor!=OneDriveFile||"manual"!=DrawioFile.SYNC&&"auto"!=DrawioFile.SYNC?null:this.getCurrentEtag(),d=this.meta;this.fileSaving();this.ui.oneDrive.saveFile(this,mxUtils.bind(this,function(a,e){this.setModified(this.getShadowModified());
+this.savingFile=!1;this.meta=a;this.fileSaved(e,d,mxUtils.bind(this,function(){this.contentChanged();null!=b&&b()}),c)}),mxUtils.bind(this,function(a,b){try{this.savingFile=!1,this.isConflict(b)?(this.inConflictState=!0,null!=this.sync?(this.savingFile=!0,this.sync.fileConflict(null,mxUtils.bind(this,function(){window.setTimeout(mxUtils.bind(this,function(){this.updateFileData();m()}),100+500*Math.random())}),mxUtils.bind(this,function(){this.savingFile=!1;null!=c&&c()}))):null!=c&&c()):null!=c&&
+c(a)}catch(p){if(this.savingFile=!1,null!=c)c(p);else throw p;}}),a)}catch(k){if(this.savingFile=!1,null!=c)c(k);else throw k;}});m()}else this.savingFileTime=new Date,this.setShadowModified(!1),this.savingFile=!0,this.ui.oneDrive.insertFile(a,this.getData(),mxUtils.bind(this,function(a){this.setModified(this.getShadowModified());this.savingFile=!1;null!=b&&b();this.ui.fileLoaded(a)}),mxUtils.bind(this,function(){this.savingFile=!1;null!=c&&c()}))};
OneDriveFile.prototype.rename=function(a,d,b){var c=this.getCurrentEtag();this.ui.oneDrive.renameFile(this,a,mxUtils.bind(this,function(g){this.hasSameExtension(a,this.getTitle())?(this.meta=g,this.descriptorChanged(),null!=this.sync&&this.sync.descriptorChanged(c),null!=d&&d(g)):(this.meta=g,null!=this.sync&&this.sync.descriptorChanged(c),this.save(!0,d,b))}),b)};
OneDriveFile.prototype.move=function(a,d,b){this.ui.oneDrive.moveFile(this.getId(),a,mxUtils.bind(this,function(a){this.meta=a;this.descriptorChanged();null!=d&&d(a)}),b)};OneDriveLibrary=function(a,d,b){OneDriveFile.call(this,a,d,b)};mxUtils.extend(OneDriveLibrary,OneDriveFile);OneDriveLibrary.prototype.isAutosave=function(){return!0};OneDriveLibrary.prototype.save=function(a,d,b){this.ui.oneDrive.saveFile(this,mxUtils.bind(this,function(a){this.desc=a;null!=d&&d(a)}),b)};OneDriveLibrary.prototype.open=function(){};(function(){var a=null;window.OneDriveClient=function(a,b,c,g){null==b&&null!=window.urlParams&&"1"==window.urlParams.extAuth&&(b=!0);null==c&&(null!=window.urlParams&&"1"==window.urlParams.inlinePicker||mxClient.IS_ANDROID||mxClient.IS_IOS)&&(c=!0);null==g&&null!=window.urlParams&&"1"==window.urlParams.noLogoutOD&&(g=!0);DrawioClient.call(this,a,b?"oneDriveExtAuthInfo":"oneDriveAuthInfo");this.isExtAuth=b;this.inlinePicker=c;this.noLogout=g;a=JSON.parse(this.token);null!=a&&(this.endpointHint=null!=
a.endpointHint?a.endpointHint.replace("/Documents","/_layouts/15/onedrive.aspx"):a.endpointHint)};mxUtils.extend(OneDriveClient,DrawioClient);OneDriveClient.prototype.clientId=window.DRAWIO_MSGRAPH_CLIENT_ID||("test.draw.io"==window.location.hostname?"2e598409-107f-4b59-89ca-d7723c8e00a4":"45c10911-200f-4e27-a666-9e9fca147395");OneDriveClient.prototype.clientId="app.diagrams.net"==window.location.hostname?"b5ff67d6-3155-4fca-965a-59a3655c4476":OneDriveClient.prototype.clientId;OneDriveClient.prototype.clientId=
@@ -10750,24 +10755,24 @@ return!0};OneDriveClient.prototype.get=function(d,b,c){d=new mxXmlRequest(d,null
(this.logout(),this.authenticate(mxUtils.bind(this,function(){this.updateUser(a,b,!0)}),b)):(g=JSON.parse(g.getText()),this.setUser(new DrawioUser(g.id,null,g.displayName)),a()))}),mxUtils.bind(this,function(a){window.clearTimeout(f);d&&b(a)}))};OneDriveClient.prototype.resetTokenRefresh=function(a){null!=this.tokenRefreshThread&&(window.clearTimeout(this.tokenRefreshThread),this.tokenRefreshThread=null);0<a&&(this.tokenRefreshInterval=1E3*a,this.tokenRefreshThread=window.setTimeout(mxUtils.bind(this,
function(){this.authenticate(this.emptyFn,this.emptyFn,!0)}),900*a))};OneDriveClient.prototype.authenticate=function(a,b,c){if(this.isExtAuth)window.parent.oneDriveAuth(mxUtils.bind(this,function(c){this.updateAuthInfo(c,!0,null==this.endpointHint,a,b)}),b,null!=window.urlParams&&"1"==urlParams.odAuthCancellable);else(new mxXmlRequest(this.redirectUri+"?getState=1",null,"GET")).send(mxUtils.bind(this,function(d){200<=d.getStatus()&&299>=d.getStatus()?this.authenticateStep2(d.getText(),a,b,c):null!=
b&&b(d)}),b)};OneDriveClient.prototype.updateAuthInfo=function(d,b,c,g,f){c&&this.setUser(null);a=d.access_token;delete d.access_token;d.expiresOn=Date.now()+1E3*d.expires_in;this.tokenExpiresOn=d.expiresOn;d.remember=b;this.setPersistentToken(JSON.stringify(d),!b);this.resetTokenRefresh(d.expires_in);c?this.getAccountTypeAndEndpoint(mxUtils.bind(this,function(){g()}),f):g()};OneDriveClient.prototype.authenticateStep2=function(d,b,c,g){if(null==window.onOneDriveCallback){var f=mxUtils.bind(this,function(){var m=
-!0,n=JSON.parse(this.getPersistentToken(!0));null!=n?(new mxXmlRequest(this.redirectUri+"?state="+encodeURIComponent("cId="+this.clientId+"&domain="+window.location.hostname+"&token="+d),null,"GET")).send(mxUtils.bind(this,function(e){200<=e.getStatus()&&299>=e.getStatus()?this.updateAuthInfo(JSON.parse(e.getText()),n.remember,!1,b,c):(this.clearPersistentToken(),this.setUser(null),a=null,401!=e.getStatus()||g?c({message:mxResources.get("accessDenied"),retry:f}):f())}),c):this.ui.showAuthDialog(this,
+!0,n=JSON.parse(this.getPersistentToken(!0));null!=n?(new mxXmlRequest(this.redirectUri+"?state="+encodeURIComponent("cId="+this.clientId+"&domain="+window.location.hostname+"&token="+d),null,"GET")).send(mxUtils.bind(this,function(d){200<=d.getStatus()&&299>=d.getStatus()?this.updateAuthInfo(JSON.parse(d.getText()),n.remember,!1,b,c):(this.clearPersistentToken(),this.setUser(null),a=null,401!=d.getStatus()||g?c({message:mxResources.get("accessDenied"),retry:f}):f())}),c):this.ui.showAuthDialog(this,
!0,mxUtils.bind(this,function(a,g){var e="https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id="+this.clientId+"&response_type=code&redirect_uri="+encodeURIComponent(this.redirectUri)+"&scope="+encodeURIComponent(this.scopes+(a?" offline_access":""))+"&state="+encodeURIComponent("cId="+this.clientId+"&domain="+window.location.hostname+"&token="+d),e=window.open(e,"odauth",["width=525,height=525","top="+(window.screenY+Math.max(window.outerHeight-525,0)/2),"left="+(window.screenX+
-Math.max(window.outerWidth-525,0)/2),"status=no,resizable=yes,toolbar=no,menubar=no,scrollbars=yes"].join());null!=e&&(window.onOneDriveCallback=mxUtils.bind(this,function(e,d){if(m){window.onOneDriveCallback=null;m=!1;try{null==e?c({message:mxResources.get("accessDenied"),retry:f}):(null!=g&&g(),this.updateAuthInfo(e,a,!0,b,c))}catch(u){c(u)}finally{null!=d&&d.close()}}else null!=d&&d.close()}),e.focus())}),mxUtils.bind(this,function(){m&&(window.onOneDriveCallback=null,m=!1,c({message:mxResources.get("accessDenied"),
+Math.max(window.outerWidth-525,0)/2),"status=no,resizable=yes,toolbar=no,menubar=no,scrollbars=yes"].join());null!=e&&(window.onOneDriveCallback=mxUtils.bind(this,function(d,e){if(m){window.onOneDriveCallback=null;m=!1;try{null==d?c({message:mxResources.get("accessDenied"),retry:f}):(null!=g&&g(),this.updateAuthInfo(d,a,!0,b,c))}catch(u){c(u)}finally{null!=e&&e.close()}}else null!=e&&e.close()}),e.focus())}),mxUtils.bind(this,function(){m&&(window.onOneDriveCallback=null,m=!1,c({message:mxResources.get("accessDenied"),
retry:f}))}))});f()}else c({code:App.ERROR_BUSY})};OneDriveClient.prototype.getAccountTypeAndEndpoint=function(a,b){this.get(this.baseUrl+"/me/drive/root",mxUtils.bind(this,function(c){try{if(200<=c.getStatus()&&299>=c.getStatus()){var d=JSON.parse(c.getText());0<d.webUrl.indexOf(".sharepoint.com")?this.endpointHint=d.webUrl.replace("/Documents","/_layouts/15/onedrive.aspx"):this.endpointHint=this.defEndpointHint;var f=JSON.parse(this.getPersistentToken(!0));null!=f&&(f.endpointHint=this.endpointHint,
-this.setPersistentToken(JSON.stringify(f),!f.remember));a();return}}catch(m){}b({message:mxResources.get("unknownError")+" (Code: "+c.getStatus()+")"})}),b)};OneDriveClient.prototype.executeRequest=function(d,b,c){var g=mxUtils.bind(this,function(a){var f=!0,n=window.setTimeout(mxUtils.bind(this,function(){f=!1;c({code:App.ERROR_TIMEOUT,retry:g})}),this.ui.timeout);this.get(d,mxUtils.bind(this,function(e){window.clearTimeout(n);f&&(200<=e.getStatus()&&299>=e.getStatus()||404==e.getStatus()?(null==
-this.user&&this.updateUser(this.emptyFn,this.emptyFn,!0),b(e)):a||401!==e.getStatus()&&400!==e.getStatus()?c(this.parseRequestText(e)):this.authenticate(function(){g(!0)},c,a))}),mxUtils.bind(this,function(a){window.clearTimeout(n);f&&c(a)}))});null==a||6E4>this.tokenExpiresOn-Date.now()?this.authenticate(function(){g(!0)},c):g(!1)};OneDriveClient.prototype.checkToken=function(d){null==a||null==this.tokenRefreshThread||6E4>this.tokenExpiresOn-Date.now()?this.authenticate(d,this.emptyFn):d()};OneDriveClient.prototype.getItemRef=
+this.setPersistentToken(JSON.stringify(f),!f.remember));a();return}}catch(m){}b({message:mxResources.get("unknownError")+" (Code: "+c.getStatus()+")"})}),b)};OneDriveClient.prototype.executeRequest=function(d,b,c){var g=mxUtils.bind(this,function(a){var f=!0,n=window.setTimeout(mxUtils.bind(this,function(){f=!1;c({code:App.ERROR_TIMEOUT,retry:g})}),this.ui.timeout);this.get(d,mxUtils.bind(this,function(d){window.clearTimeout(n);f&&(200<=d.getStatus()&&299>=d.getStatus()||404==d.getStatus()?(null==
+this.user&&this.updateUser(this.emptyFn,this.emptyFn,!0),b(d)):a||401!==d.getStatus()&&400!==d.getStatus()?c(this.parseRequestText(d)):this.authenticate(function(){g(!0)},c,a))}),mxUtils.bind(this,function(a){window.clearTimeout(n);f&&c(a)}))});null==a||6E4>this.tokenExpiresOn-Date.now()?this.authenticate(function(){g(!0)},c):g(!1)};OneDriveClient.prototype.checkToken=function(d){null==a||null==this.tokenRefreshThread||6E4>this.tokenExpiresOn-Date.now()?this.authenticate(d,this.emptyFn):d()};OneDriveClient.prototype.getItemRef=
function(a){var b=a.split("/");return 1<b.length?{driveId:b[0],id:b[1]}:{id:a}};OneDriveClient.prototype.getItemURL=function(a,b){var c=a.split("/");if(1<c.length){var d=c[1];return(b?"":this.baseUrl)+"/drives/"+c[0]+("root"==d?"/root":"/items/"+d)}return(b?"":this.baseUrl)+"/me/drive/items/"+a};OneDriveClient.prototype.getLibrary=function(a,b,c){this.getFile(a,b,c,!1,!0)};OneDriveClient.prototype.removeExtraHtmlContent=function(a){var b=a.lastIndexOf('<html><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"><meta name="Robots" ');
0<b&&(a=a.substring(0,b));return a};OneDriveClient.prototype.getFile=function(a,b,c,g,f){f=null!=f?f:!1;this.executeRequest(this.getItemURL(a),mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){var d=JSON.parse(a.getText()),e=/\.png$/i.test(d.name);if(/\.v(dx|sdx?)$/i.test(d.name)||/\.gliffy$/i.test(d.name)||/\.pdf$/i.test(d.name)||!this.ui.useCanvasForExport&&e)this.ui.convertFile(d["@microsoft.graph.downloadUrl"],d.name,null!=d.file?d.file.mimeType:null,this.extension,b,c);
else{var g=!0,l=window.setTimeout(mxUtils.bind(this,function(){g=!1;c({code:App.ERROR_TIMEOUT})}),this.ui.timeout);this.ui.editor.loadUrl(d["@microsoft.graph.downloadUrl"],mxUtils.bind(this,function(a){try{if(window.clearTimeout(l),g){/\.html$/i.test(d.name)&&(a=this.removeExtraHtmlContent(a));var k=null;if(0<(e?a.lastIndexOf(","):-1)){var m=this.ui.extractGraphModelFromPng(a);null!=m&&0<m.length?a=m:k=new LocalFile(this.ui,a,d.name,!0)}else if("data:image/png;base64,PG14ZmlsZS"==a.substring(0,32)){var n=
-a.substring(22);a=window.atob&&!mxClient.IS_SF?atob(n):Base64.decode(n)}Graph.fileSupport&&(new XMLHttpRequest).upload&&this.ui.isRemoteFileFormat(a,d["@microsoft.graph.downloadUrl"])?this.ui.parseFile(new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){try{4==a.readyState&&(200<=a.status&&299>=a.status?b(new LocalFile(this.ui,a.responseText,d.name+this.extension,!0)):null!=c&&c({message:mxResources.get("errorLoadingFile")}))}catch(y){if(null!=c)c(y);else throw y;}}),d.name):
-null!=k?b(k):f?b(new OneDriveLibrary(this.ui,a,d)):b(new OneDriveFile(this.ui,a,d))}}catch(x){if(null!=c)c(x);else throw x;}}),mxUtils.bind(this,function(a){window.clearTimeout(l);g&&c(this.parseRequestText(a))}),e||null!=d.file&&null!=d.file.mimeType&&("image/"==d.file.mimeType.substring(0,6)||"application/pdf"==d.file.mimeType))}}else c(this.parseRequestText(a))}),c)};OneDriveClient.prototype.renameFile=function(a,b,c,g){null!=a&&null!=b&&(this.isValidFilename(b)?this.checkExists(a.getParentId(),
+a.substring(22);a=window.atob&&!mxClient.IS_SF?atob(n):Base64.decode(n)}Graph.fileSupport&&(new XMLHttpRequest).upload&&this.ui.isRemoteFileFormat(a,d["@microsoft.graph.downloadUrl"])?this.ui.parseFile(new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){try{4==a.readyState&&(200<=a.status&&299>=a.status?b(new LocalFile(this.ui,a.responseText,d.name+this.extension,!0)):null!=c&&c({message:mxResources.get("errorLoadingFile")}))}catch(z){if(null!=c)c(z);else throw z;}}),d.name):
+null!=k?b(k):f?b(new OneDriveLibrary(this.ui,a,d)):b(new OneDriveFile(this.ui,a,d))}}catch(v){if(null!=c)c(v);else throw v;}}),mxUtils.bind(this,function(a){window.clearTimeout(l);g&&c(this.parseRequestText(a))}),e||null!=d.file&&null!=d.file.mimeType&&("image/"==d.file.mimeType.substring(0,6)||"application/pdf"==d.file.mimeType))}}else c(this.parseRequestText(a))}),c)};OneDriveClient.prototype.renameFile=function(a,b,c,g){null!=a&&null!=b&&(this.isValidFilename(b)?this.checkExists(a.getParentId(),
b,!1,mxUtils.bind(this,function(d){d?this.writeFile(this.getItemURL(a.getId()),JSON.stringify({name:b}),"PATCH","application/json",c,g):g()})):g({message:this.invalidFilenameRegExs[0].test(b)?mxResources.get("oneDriveCharsNotAllowed"):mxResources.get("oneDriveInvalidDeviceName")}))};OneDriveClient.prototype.moveFile=function(a,b,c,g){b=this.getItemRef(b);var d=this.getItemRef(a);b.driveId!=d.driveId?g({message:mxResources.get("cannotMoveOneDrive",null,"Moving a file between accounts is not supported yet.")}):
this.writeFile(this.getItemURL(a),JSON.stringify({parentReference:b}),"PATCH","application/json",c,g)};OneDriveClient.prototype.insertLibrary=function(a,b,c,g,f){this.insertFile(a,b,c,g,!0,f)};OneDriveClient.prototype.insertFile=function(a,b,c,g,f,m){this.isValidFilename(a)?(f=null!=f?f:!1,this.checkExists(m,a,!0,mxUtils.bind(this,function(d){if(d){d="/me/drive/root";null!=m&&(d=this.getItemURL(m,!0));var e=mxUtils.bind(this,function(a){f?c(new OneDriveLibrary(this.ui,b,a)):c(new OneDriveFile(this.ui,
b,a))});d=this.baseUrl+d+"/children/"+encodeURIComponent(a)+"/content";4E6<=b.length?this.writeFile(d,"","PUT",null,mxUtils.bind(this,function(a){this.writeLargeFile(this.getItemURL(a.id),b,e,g)}),g):this.writeFile(d,b,"PUT",null,e,g)}else g()}))):g({message:this.invalidFilenameRegExs[0].test(a)?mxResources.get("oneDriveCharsNotAllowed"):mxResources.get("oneDriveInvalidDeviceName")})};OneDriveClient.prototype.checkExists=function(a,b,c,g){var d="/me/drive/root";null!=a&&(d=this.getItemURL(a,!0));
this.executeRequest(this.baseUrl+d+"/children/"+encodeURIComponent(b),mxUtils.bind(this,function(a){404==a.getStatus()?g(!0):c?(this.ui.spinner.stop(),this.ui.confirm(mxResources.get("replaceIt",[b]),function(){g(!0)},function(){g(!1)})):(this.ui.spinner.stop(),this.ui.showError(mxResources.get("error"),mxResources.get("fileExists"),mxResources.get("ok"),function(){g(!1)}))}),function(a){g(!1)},!0)};OneDriveClient.prototype.saveFile=function(a,b,c,g){try{var d=a.getData(),m=mxUtils.bind(this,function(e){var f=
mxUtils.bind(this,function(a){b(a,d)}),l=this.getItemURL(a.getId());4E6<=e.length?this.writeLargeFile(l,e,f,c,g):this.writeFile(l+"/content/",e,"PUT",null,f,c,g)});if(this.ui.useCanvasForExport&&/(\.png)$/i.test(a.meta.name)){var n=this.ui.getPngFileProperties(this.ui.fileNode);this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){m(this.ui.base64ToBlob(a,"image/png"))}),c,this.ui.getCurrentFile()!=a?d:null,n.scale,n.border)}else m(d)}catch(e){c(e)}};OneDriveClient.prototype.writeLargeFile=function(d,
b,c,g,f){try{if(null!=b){var m=mxUtils.bind(this,function(a,d,f){try{f=f||0;var e=!0,k=null,k=window.setTimeout(mxUtils.bind(this,function(){e=!1;g({code:App.ERROR_TIMEOUT})}),this.ui.timeout),l=b.substr(d,4194304),n=new mxXmlRequest(a,l,"PUT");n.setRequestHeaders=mxUtils.bind(this,function(a,c){a.setRequestHeader("Content-Length",l.length);a.setRequestHeader("Content-Range","bytes "+d+"-"+(d+l.length-1)+"/"+b.length)});n.send(mxUtils.bind(this,function(n){window.clearTimeout(k);if(e){var p=n.getStatus();
-200<=p&&299>=p?(p=d+l.length,p==b.length?c(JSON.parse(n.getText())):m(a,p,f)):500<=p&&599>=p&&2>f?(f++,m(a,d,f)):g(this.parseRequestText(n),n)}}),mxUtils.bind(this,function(a){window.clearTimeout(k);e&&g(this.parseRequestText(a))}))}catch(x){g(x)}}),n=mxUtils.bind(this,function(b){try{var c=!0,e=null;try{e=window.setTimeout(mxUtils.bind(this,function(){c=!1;g({code:App.ERROR_TIMEOUT})}),this.ui.timeout)}catch(t){}var p=new mxXmlRequest(d+"/createUploadSession","{}","POST");p.setRequestHeaders=mxUtils.bind(this,
+200<=p&&299>=p?(p=d+l.length,p==b.length?c(JSON.parse(n.getText())):m(a,p,f)):500<=p&&599>=p&&2>f?(f++,m(a,d,f)):g(this.parseRequestText(n),n)}}),mxUtils.bind(this,function(a){window.clearTimeout(k);e&&g(this.parseRequestText(a))}))}catch(v){g(v)}}),n=mxUtils.bind(this,function(b){try{var c=!0,e=null;try{e=window.setTimeout(mxUtils.bind(this,function(){c=!1;g({code:App.ERROR_TIMEOUT})}),this.ui.timeout)}catch(t){}var p=new mxXmlRequest(d+"/createUploadSession","{}","POST");p.setRequestHeaders=mxUtils.bind(this,
function(b,c){b.setRequestHeader("Content-Type","application/json");b.setRequestHeader("Authorization","Bearer "+a);null!=f&&b.setRequestHeader("If-Match",f)});p.send(mxUtils.bind(this,function(a){window.clearTimeout(e);c&&(200<=a.getStatus()&&299>=a.getStatus()?(a=JSON.parse(a.getText()),m(a.uploadUrl,0)):b||401!==a.getStatus()?g(this.parseRequestText(a),a):this.authenticate(function(){n(!0)},g,b))}),mxUtils.bind(this,function(a){window.clearTimeout(e);c&&g(this.parseRequestText(a))}))}catch(t){g(t)}});
null==a||6E4>this.tokenExpiresOn-Date.now()?this.authenticate(function(){n(!0)},g):n(!1)}else g({message:mxResources.get("unknownError")})}catch(e){g(e)}};OneDriveClient.prototype.writeFile=function(d,b,c,g,f,m,n){try{if(null!=d&&null!=b){var e=mxUtils.bind(this,function(k){try{var l=!0,p=null;try{p=window.setTimeout(mxUtils.bind(this,function(){l=!1;m({code:App.ERROR_TIMEOUT})}),this.ui.timeout)}catch(u){}var t=new mxXmlRequest(d,b,c);t.setRequestHeaders=mxUtils.bind(this,function(b,c){b.setRequestHeader("Content-Type",
g||" ");b.setRequestHeader("Authorization","Bearer "+a);null!=n&&b.setRequestHeader("If-Match",n)});t.send(mxUtils.bind(this,function(a){window.clearTimeout(p);l&&(200<=a.getStatus()&&299>=a.getStatus()?(null==this.user&&this.updateUser(this.emptyFn,this.emptyFn,!0),f(JSON.parse(a.getText()))):k||401!==a.getStatus()?m(this.parseRequestText(a),a):this.authenticate(function(){e(!0)},m,k))}),mxUtils.bind(this,function(a){window.clearTimeout(p);l&&m(this.parseRequestText(a))}))}catch(u){m(u)}});null==
@@ -10784,9 +10789,9 @@ GitHubFile.prototype.getId=function(){return encodeURIComponent(this.meta.org)+"
GitHubFile.prototype.getPublicUrl=function(a){null!=this.meta.download_url?mxUtils.get(this.meta.download_url,mxUtils.bind(this,function(d){a(200<=d.getStatus()&&299>=d.getStatus()?this.meta.download_url:null)}),mxUtils.bind(this,function(){a(null)})):a(null)};GitHubFile.prototype.isConflict=function(a){return null!=a&&409==a.status};GitHubFile.prototype.getMode=function(){return App.MODE_GITHUB};GitHubFile.prototype.isAutosave=function(){return!1};GitHubFile.prototype.getTitle=function(){return this.meta.name};
GitHubFile.prototype.isRenamable=function(){return!1};GitHubFile.prototype.getLatestVersion=function(a,d){this.peer.getFile(this.getId(),a,d)};GitHubFile.prototype.isCompressedStorage=function(){return!1};GitHubFile.prototype.getDescriptor=function(){return this.meta};GitHubFile.prototype.setDescriptor=function(a){this.meta=a};GitHubFile.prototype.getDescriptorEtag=function(a){return a.sha};GitHubFile.prototype.setDescriptorEtag=function(a,d){a.sha=d};
GitHubFile.prototype.save=function(a,d,b,c,g,f){this.doSave(this.getTitle(),d,b,c,g,f)};GitHubFile.prototype.saveAs=function(a,d,b){this.doSave(a,d,b)};GitHubFile.prototype.doSave=function(a,d,b,c,g,f){var m=this.meta.name;this.meta.name=a;DrawioFile.prototype.save.apply(this,[null,mxUtils.bind(this,function(){this.meta.name=m;this.saveFile(a,!1,d,b,c,g,f)}),b,c,g])};
-GitHubFile.prototype.saveFile=function(a,d,b,c,g,f,m){if(this.isEditable())if(this.savingFile)null!=c&&c({code:App.ERROR_BUSY});else{var n=mxUtils.bind(this,function(e){if(this.getTitle()==a)try{this.savingFileTime=new Date;this.setShadowModified(!1);this.savingFile=!0;var d=this.getCurrentEtag(),g=this.data;this.peer.saveFile(this,mxUtils.bind(this,function(a){this.setModified(this.getShadowModified());this.savingFile=!1;this.setDescriptorEtag(this.meta,a);this.fileSaved(g,d,mxUtils.bind(this,function(){this.contentChanged();
-null!=b&&b()}),c)}),mxUtils.bind(this,function(a){this.savingFile=!1;this.isConflict(a)?(this.inConflictState=!0,null!=c&&c({commitMessage:e})):null!=c&&c(a)}),f,e)}catch(p){if(this.savingFile=!1,null!=c)c(p);else throw p;}else this.savingFileTime=new Date,this.setShadowModified(!1),this.savingFile=!0,this.ui.pickFolder(this.getMode(),mxUtils.bind(this,function(d){this.peer.insertFile(a,this.getData(),mxUtils.bind(this,function(a){this.setModified(this.getShadowModified());this.savingFile=!1;null!=
-b&&b();this.ui.fileLoaded(a)}),mxUtils.bind(this,function(){this.savingFile=!1;null!=c&&c()}),!1,d,e)}))});null!=m?n(m):this.peer.showCommitDialog(this.meta.name,null==this.getDescriptorEtag(this.meta)||this.meta.isNew,mxUtils.bind(this,function(a){n(a)}),c)}else null!=b&&b()};GitHubLibrary=function(a,d,b){GitHubFile.call(this,a,d,b)};mxUtils.extend(GitHubLibrary,GitHubFile);GitHubLibrary.prototype.doSave=function(a,d,b){this.saveFile(a,!1,d,b)};GitHubLibrary.prototype.open=function(){};GitHubClient=function(a,d){DrawioClient.call(this,a,d||"ghauth")};mxUtils.extend(GitHubClient,DrawioClient);GitHubClient.prototype.clientId="test.draw.io"==window.location.hostname?"23bc97120b9035515661":"89c9e4624ca416554489";GitHubClient.prototype.scope="repo";GitHubClient.prototype.extension=".drawio";GitHubClient.prototype.baseUrl="https://api.github.com";GitHubClient.prototype.maxFileSize=1E6;GitHubClient.prototype.authToken="token";
+GitHubFile.prototype.saveFile=function(a,d,b,c,g,f,m){if(this.isEditable())if(this.savingFile)null!=c&&c({code:App.ERROR_BUSY});else{var n=mxUtils.bind(this,function(d){if(this.getTitle()==a)try{this.savingFileTime=new Date;this.setShadowModified(!1);this.savingFile=!0;var e=this.getCurrentEtag(),g=this.data;this.peer.saveFile(this,mxUtils.bind(this,function(a){this.setModified(this.getShadowModified());this.savingFile=!1;this.setDescriptorEtag(this.meta,a);this.fileSaved(g,e,mxUtils.bind(this,function(){this.contentChanged();
+null!=b&&b()}),c)}),mxUtils.bind(this,function(a){this.savingFile=!1;this.isConflict(a)?(this.inConflictState=!0,null!=c&&c({commitMessage:d})):null!=c&&c(a)}),f,d)}catch(p){if(this.savingFile=!1,null!=c)c(p);else throw p;}else this.savingFileTime=new Date,this.setShadowModified(!1),this.savingFile=!0,this.ui.pickFolder(this.getMode(),mxUtils.bind(this,function(e){this.peer.insertFile(a,this.getData(),mxUtils.bind(this,function(a){this.setModified(this.getShadowModified());this.savingFile=!1;null!=
+b&&b();this.ui.fileLoaded(a)}),mxUtils.bind(this,function(){this.savingFile=!1;null!=c&&c()}),!1,e,d)}))});null!=m?n(m):this.peer.showCommitDialog(this.meta.name,null==this.getDescriptorEtag(this.meta)||this.meta.isNew,mxUtils.bind(this,function(a){n(a)}),c)}else null!=b&&b()};GitHubLibrary=function(a,d,b){GitHubFile.call(this,a,d,b)};mxUtils.extend(GitHubLibrary,GitHubFile);GitHubLibrary.prototype.doSave=function(a,d,b){this.saveFile(a,!1,d,b)};GitHubLibrary.prototype.open=function(){};GitHubClient=function(a,d){DrawioClient.call(this,a,d||"ghauth")};mxUtils.extend(GitHubClient,DrawioClient);GitHubClient.prototype.clientId="test.draw.io"==window.location.hostname?"23bc97120b9035515661":"89c9e4624ca416554489";GitHubClient.prototype.scope="repo";GitHubClient.prototype.extension=".drawio";GitHubClient.prototype.baseUrl="https://api.github.com";GitHubClient.prototype.maxFileSize=1E6;GitHubClient.prototype.authToken="token";
GitHubClient.prototype.updateUser=function(a,d,b){var c=!0,g=window.setTimeout(mxUtils.bind(this,function(){c=!1;d({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),this.ui.timeout),f=new mxXmlRequest(this.baseUrl+"/user",null,"GET"),m=this.authToken+" "+this.token;f.setRequestHeaders=function(a,b){a.setRequestHeader("Authorization",m)};f.send(mxUtils.bind(this,function(){window.clearTimeout(g);c&&(401===f.getStatus()?b?d({message:mxResources.get("accessDenied")}):(this.logout(),this.authenticate(mxUtils.bind(this,
function(){this.updateUser(a,d,!0)}),d)):200>f.getStatus()||300<=f.getStatus()?d({message:mxResources.get("accessDenied")}):(this.setUser(this.createUser(JSON.parse(f.getText()))),a()))}),d)};GitHubClient.prototype.createUser=function(a){return new DrawioUser(a.id,a.email,a.name)};
GitHubClient.prototype.authenticate=function(a,d){if(null==window.onGitHubCallback){var b=mxUtils.bind(this,function(){var c=!0;this.ui.showAuthDialog(this,!0,mxUtils.bind(this,function(g,f){null!=window.open("https://github.com/login/oauth/authorize?client_id="+this.clientId+"&scope="+this.scope,"ghauth")?window.onGitHubCallback=mxUtils.bind(this,function(m,n){if(c)if(window.onGitHubCallback=null,c=!1,null==m)d({message:mxResources.get("accessDenied"),retry:b});else{var e=mxUtils.bind(this,function(){var b=
@@ -10800,7 +10805,7 @@ GitHubClient.prototype.getFile=function(a,d,b,c,g){c=null!=c?c:!1;var f=a.split(
else f="&t="+(new Date).getTime(),a=new mxXmlRequest(this.baseUrl+"/repos/"+m+"/"+n+"/contents/"+a+"?ref="+e+f,null,"GET"),this.executeRequest(a,mxUtils.bind(this,function(a){try{d(this.createGitHubFile(m,n,e,JSON.parse(a.getText()),c))}catch(p){b(p)}}),b)};
GitHubClient.prototype.createGitHubFile=function(a,d,b,c,g){a={org:a,repo:d,ref:b,name:c.name,path:c.path,sha:c.sha,html_url:c.html_url,download_url:c.download_url};d=c.content;"base64"===c.encoding&&(/\.jpe?g$/i.test(c.name)?d="data:image/jpeg;base64,"+d:/\.gif$/i.test(c.name)?d="data:image/gif;base64,"+d:/\.png$/i.test(c.name)?(c=this.ui.extractGraphModelFromPng(d),d=null!=c&&0<c.length?c:"data:image/png;base64,"+d):d=Base64.decode(d));return g?new GitHubLibrary(this.ui,d,a):new GitHubFile(this.ui,
d,a)};GitHubClient.prototype.insertLibrary=function(a,d,b,c,g){this.insertFile(a,d,b,c,!0,g,!1)};
-GitHubClient.prototype.insertFile=function(a,d,b,c,g,f,m){g=null!=g?g:!1;f=f.split("/");var n=f[0],e=f[1],k=f[2],l=f.slice(3,f.length).join("/");0<l.length&&(l+="/");l+=a;this.checkExists(n+"/"+e+"/"+k+"/"+l,!0,mxUtils.bind(this,function(f,t){f?g?(m||(d=Base64.encode(d)),this.showCommitDialog(a,!0,mxUtils.bind(this,function(a){this.writeFile(n,e,k,l,a,d,t,mxUtils.bind(this,function(a){try{var d=JSON.parse(a.getText());b(this.createGitHubFile(n,e,k,d.content,g))}catch(y){c(y)}}),c)}),c)):b(new GitHubFile(this.ui,
+GitHubClient.prototype.insertFile=function(a,d,b,c,g,f,m){g=null!=g?g:!1;f=f.split("/");var n=f[0],e=f[1],k=f[2],l=f.slice(3,f.length).join("/");0<l.length&&(l+="/");l+=a;this.checkExists(n+"/"+e+"/"+k+"/"+l,!0,mxUtils.bind(this,function(f,t){f?g?(m||(d=Base64.encode(d)),this.showCommitDialog(a,!0,mxUtils.bind(this,function(a){this.writeFile(n,e,k,l,a,d,t,mxUtils.bind(this,function(a){try{var d=JSON.parse(a.getText());b(this.createGitHubFile(n,e,k,d.content,g))}catch(z){c(z)}}),c)}),c)):b(new GitHubFile(this.ui,
d,{org:n,repo:e,ref:k,name:a,path:l,sha:t,isNew:!0})):c()}))};GitHubClient.prototype.showCommitDialog=function(a,d,b,c){var g=this.ui.spinner.pause();a=new FilenameDialog(this.ui,mxResources.get(d?"addedFile":"updateFile",[a]),mxResources.get("ok"),mxUtils.bind(this,function(a){g();b(a)}),mxResources.get("commitMessage"),null,null,null,null,mxUtils.bind(this,function(){c()}),null,280);this.ui.showDialog(a.container,400,80,!0,!1);a.init()};
GitHubClient.prototype.writeFile=function(a,d,b,c,g,f,m,n,e){f.length>=this.maxFileSize?e({message:mxResources.get("drawingTooLarge")+" ("+this.ui.formatFileSize(f.length)+" / 1 MB)"}):(b={path:c,branch:decodeURIComponent(b),message:g,content:f},null!=m&&(b.sha=m),a=new mxXmlRequest(this.baseUrl+"/repos/"+a+"/"+d+"/contents/"+c,JSON.stringify(b),"PUT"),this.executeRequest(a,mxUtils.bind(this,function(a){n(a)}),mxUtils.bind(this,function(a){404==a.code&&(a.helpLink="https://github.com/settings/connections/applications/"+
this.clientId,a.code=null);e(a)})))};
@@ -10809,18 +10814,18 @@ GitHubClient.prototype.saveFile=function(a,d,b,c,g){var f=a.meta.org,m=a.meta.re
b)}),b,this.ui.getCurrentFile()!=a?a.getData():null,c.scale,c.border)}else k(a.meta.sha,Base64.encode(a.getData()))});c?this.getSha(f,m,e,n,mxUtils.bind(this,function(b){a.meta.sha=b;l()}),b):l()};GitHubClient.prototype.pickLibrary=function(a){this.pickFile(a)};GitHubClient.prototype.pickFolder=function(a){this.showGitHubDialog(!1,a)};GitHubClient.prototype.pickFile=function(a){a=null!=a?a:mxUtils.bind(this,function(a){this.ui.loadFile("H"+encodeURIComponent(a))});this.showGitHubDialog(!0,a)};
GitHubClient.prototype.showGitHubDialog=function(a,d){var b=null,c=null,g=null,f=null,m=document.createElement("div");m.style.whiteSpace="nowrap";m.style.overflow="hidden";m.style.height="304px";var n=document.createElement("h3");mxUtils.write(n,mxResources.get(a?"selectFile":"selectFolder"));n.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";m.appendChild(n);var e=document.createElement("div");e.style.whiteSpace="nowrap";e.style.border="1px solid lightgray";e.style.boxSizing=
"border-box";e.style.padding="4px";e.style.overflow="auto";e.style.lineHeight="1.2em";e.style.height="274px";m.appendChild(e);var k=document.createElement("div");k.style.textOverflow="ellipsis";k.style.boxSizing="border-box";k.style.overflow="hidden";k.style.padding="4px";k.style.width="100%";var l=new CustomDialog(this.ui,m,mxUtils.bind(this,function(){d(b+"/"+c+"/"+encodeURIComponent(g)+"/"+f)}));this.ui.showDialog(l.container,420,360,!0,!0);a&&l.okButton.parentNode.removeChild(l.okButton);var p=
-mxUtils.bind(this,function(a,b,c,e){var d=document.createElement("a");d.setAttribute("title",a);d.style.cursor="pointer";mxUtils.write(d,a);mxEvent.addListener(d,"click",b);e&&(d.style.textDecoration="underline");null!=c&&(a=k.cloneNode(),a.style.padding=c,a.appendChild(d),d=a);return d}),t=mxUtils.bind(this,function(a){var d=document.createElement("div");d.style.marginBottom="8px";d.appendChild(p(b+"/"+c,mxUtils.bind(this,function(){f=null;A()}),null,!0));a||(mxUtils.write(d," / "),d.appendChild(p(decodeURIComponent(g),
-mxUtils.bind(this,function(){f=null;v()}),null,!0)));if(null!=f&&0<f.length){var k=f.split("/");for(a=0;a<k.length;a++)(function(a){mxUtils.write(d," / ");d.appendChild(p(k[a],mxUtils.bind(this,function(){f=k.slice(0,a+1).join("/");y()}),null,!0))})(a)}e.appendChild(d)}),u=mxUtils.bind(this,function(a){this.ui.handleError(a,null,mxUtils.bind(this,function(){this.ui.spinner.stop();null!=this.getUser()?(f=g=c=b=null,A()):this.ui.hideDialog()}),null,{})}),q=null,x=null,y=mxUtils.bind(this,function(m){null==
-m&&(e.innerHTML="",m=1);var n=new mxXmlRequest(this.baseUrl+"/repos/"+b+"/"+c+"/contents/"+f+"?ref="+encodeURIComponent(g)+"&per_page=100&page="+m,null,"GET");this.ui.spinner.spin(e,mxResources.get("loading"));l.okButton.removeAttribute("disabled");null!=x&&(mxEvent.removeListener(e,"scroll",x),x=null);null!=q&&null!=q.parentNode&&q.parentNode.removeChild(q);q=document.createElement("a");q.style.display="block";q.style.cursor="pointer";mxUtils.write(q,mxResources.get("more")+"...");var z=mxUtils.bind(this,
-function(){y(m+1)});mxEvent.addListener(q,"click",z);this.executeRequest(n,mxUtils.bind(this,function(l){this.ui.spinner.stop();1==m&&(t(),e.appendChild(p("../ [Up]",mxUtils.bind(this,function(){if(""==f)f=null,A();else{var a=f.split("/");f=a.slice(0,a.length-1).join("/");y()}}),"4px")));var n=JSON.parse(l.getText());if(null==n||0==n.length)mxUtils.write(e,mxResources.get("noFiles"));else{var z=!0,B=0;l=mxUtils.bind(this,function(l){for(var m=0;m<n.length;m++)mxUtils.bind(this,function(m,n){if(l==
-("dir"==m.type)){var q=k.cloneNode();q.style.backgroundColor=z?"dark"==uiTheme?"#000000":"#eeeeee":"";z=!z;var t=document.createElement("img");t.src=IMAGE_PATH+"/"+("dir"==m.type?"folder.png":"file.png");t.setAttribute("align","absmiddle");t.style.marginRight="4px";t.style.marginTop="-4px";t.width=20;q.appendChild(t);q.appendChild(p(m.name+("dir"==m.type?"/":""),mxUtils.bind(this,function(){"dir"==m.type?(f=m.path,y()):a&&"file"==m.type&&(this.ui.hideDialog(),d(b+"/"+c+"/"+encodeURIComponent(g)+"/"+
-m.path))})));e.appendChild(q);B++}})(n[m],m)});l(!0);a&&l(!1)}}),u,!0)}),v=mxUtils.bind(this,function(a,d){null==a&&(e.innerHTML="",a=1);var m=new mxXmlRequest(this.baseUrl+"/repos/"+b+"/"+c+"/branches?per_page=100&page="+a,null,"GET");l.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(e,mxResources.get("loading"));null!=x&&(mxEvent.removeListener(e,"scroll",x),x=null);null!=q&&null!=q.parentNode&&q.parentNode.removeChild(q);q=document.createElement("a");q.style.display="block";q.style.cursor=
-"pointer";mxUtils.write(q,mxResources.get("more")+"...");var n=mxUtils.bind(this,function(){v(a+1)});mxEvent.addListener(q,"click",n);this.executeRequest(m,mxUtils.bind(this,function(b){this.ui.spinner.stop();1==a&&(t(!0),e.appendChild(p("../ [Up]",mxUtils.bind(this,function(){f=null;A()}),"4px")));b=JSON.parse(b.getText());if(null==b||0==b.length)mxUtils.write(e,mxResources.get("noFiles"));else if(1==b.length&&d)g=b[0].name,f="",y();else{for(var c=0;c<b.length;c++)mxUtils.bind(this,function(a,b){var c=
-k.cloneNode();c.style.backgroundColor=0==b%2?"dark"==uiTheme?"#000000":"#eeeeee":"";c.appendChild(p(a.name,mxUtils.bind(this,function(){g=a.name;f="";y()})));e.appendChild(c)})(b[c],c);100==b.length&&(e.appendChild(q),x=function(){e.scrollTop>=e.scrollHeight-e.offsetHeight&&n()},mxEvent.addListener(e,"scroll",x))}}),u)}),A=mxUtils.bind(this,function(a){null==a&&(e.innerHTML="",a=1);var d=new mxXmlRequest(this.baseUrl+"/user/repos?per_page=100&page="+a,null,"GET");l.okButton.setAttribute("disabled",
-"disabled");this.ui.spinner.spin(e,mxResources.get("loading"));null!=x&&mxEvent.removeListener(e,"scroll",x);null!=q&&null!=q.parentNode&&q.parentNode.removeChild(q);q=document.createElement("a");q.style.display="block";q.style.cursor="pointer";mxUtils.write(q,mxResources.get("more")+"...");var m=mxUtils.bind(this,function(){A(a+1)});mxEvent.addListener(q,"click",m);this.executeRequest(d,mxUtils.bind(this,function(d){this.ui.spinner.stop();d=JSON.parse(d.getText());if(null==d||0==d.length)mxUtils.write(e,
-mxResources.get("noFiles"));else{1==a&&(e.appendChild(p(mxResources.get("enterValue")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.ui,"org/repo/ref",mxResources.get("ok"),mxUtils.bind(this,function(a){if(null!=a){var d=a.split("/");if(1<d.length){a=d[0];var k=d[1];3>d.length?(b=a,c=k,f=g=null,v()):this.ui.spinner.spin(e,mxResources.get("loading"))&&(d=encodeURIComponent(d.slice(2,d.length).join("/")),this.getFile(a+"/"+k+"/"+d,mxUtils.bind(this,function(a){this.ui.spinner.stop();
-b=a.meta.org;c=a.meta.repo;g=decodeURIComponent(a.meta.ref);f="";y()}),mxUtils.bind(this,function(a){this.ui.spinner.stop();this.ui.handleError({message:mxResources.get("fileNotFound")})})))}else this.ui.spinner.stop(),this.ui.handleError({message:mxResources.get("invalidName")})}}),mxResources.get("enterValue"));this.ui.showDialog(a.container,300,80,!0,!1);a.init()}))),mxUtils.br(e),mxUtils.br(e));for(var l=0;l<d.length;l++)mxUtils.bind(this,function(a,d){var g=k.cloneNode();g.style.backgroundColor=
-0==d%2?"dark"==uiTheme?"#000000":"#eeeeee":"";g.appendChild(p(a.full_name,mxUtils.bind(this,function(){b=a.owner.login;c=a.name;f="";v(null,!0)})));e.appendChild(g)})(d[l],l)}100==d.length&&(e.appendChild(q),x=function(){e.scrollTop>=e.scrollHeight-e.offsetHeight&&m()},mxEvent.addListener(e,"scroll",x))}),u)});A()};GitHubClient.prototype.logout=function(){this.clearPersistentToken();this.setUser(null);this.token=null};TrelloFile=function(a,d,b){DrawioFile.call(this,a,d);this.meta=b;this.saveNeededCounter=0};mxUtils.extend(TrelloFile,DrawioFile);TrelloFile.prototype.getHash=function(){return"T"+encodeURIComponent(this.meta.compoundId)};TrelloFile.prototype.getMode=function(){return App.MODE_TRELLO};TrelloFile.prototype.isAutosave=function(){return!0};TrelloFile.prototype.getTitle=function(){return this.meta.name};TrelloFile.prototype.isRenamable=function(){return!1};TrelloFile.prototype.getSize=function(){return this.meta.bytes};
+mxUtils.bind(this,function(a,b,c,d){var e=document.createElement("a");e.setAttribute("title",a);e.style.cursor="pointer";mxUtils.write(e,a);mxEvent.addListener(e,"click",b);d&&(e.style.textDecoration="underline");null!=c&&(a=k.cloneNode(),a.style.padding=c,a.appendChild(e),e=a);return e}),t=mxUtils.bind(this,function(a){var d=document.createElement("div");d.style.marginBottom="8px";d.appendChild(p(b+"/"+c,mxUtils.bind(this,function(){f=null;B()}),null,!0));a||(mxUtils.write(d," / "),d.appendChild(p(decodeURIComponent(g),
+mxUtils.bind(this,function(){f=null;x()}),null,!0)));if(null!=f&&0<f.length){var k=f.split("/");for(a=0;a<k.length;a++)(function(a){mxUtils.write(d," / ");d.appendChild(p(k[a],mxUtils.bind(this,function(){f=k.slice(0,a+1).join("/");z()}),null,!0))})(a)}e.appendChild(d)}),u=mxUtils.bind(this,function(a){this.ui.handleError(a,null,mxUtils.bind(this,function(){this.ui.spinner.stop();null!=this.getUser()?(f=g=c=b=null,B()):this.ui.hideDialog()}),null,{})}),q=null,v=null,z=mxUtils.bind(this,function(m){null==
+m&&(e.innerHTML="",m=1);var n=new mxXmlRequest(this.baseUrl+"/repos/"+b+"/"+c+"/contents/"+f+"?ref="+encodeURIComponent(g)+"&per_page=100&page="+m,null,"GET");this.ui.spinner.spin(e,mxResources.get("loading"));l.okButton.removeAttribute("disabled");null!=v&&(mxEvent.removeListener(e,"scroll",v),v=null);null!=q&&null!=q.parentNode&&q.parentNode.removeChild(q);q=document.createElement("a");q.style.display="block";q.style.cursor="pointer";mxUtils.write(q,mxResources.get("more")+"...");var y=mxUtils.bind(this,
+function(){z(m+1)});mxEvent.addListener(q,"click",y);this.executeRequest(n,mxUtils.bind(this,function(l){this.ui.spinner.stop();1==m&&(t(),e.appendChild(p("../ [Up]",mxUtils.bind(this,function(){if(""==f)f=null,B();else{var a=f.split("/");f=a.slice(0,a.length-1).join("/");z()}}),"4px")));var n=JSON.parse(l.getText());if(null==n||0==n.length)mxUtils.write(e,mxResources.get("noFiles"));else{var y=!0,C=0;l=mxUtils.bind(this,function(l){for(var m=0;m<n.length;m++)mxUtils.bind(this,function(m,n){if(l==
+("dir"==m.type)){var q=k.cloneNode();q.style.backgroundColor=y?"dark"==uiTheme?"#000000":"#eeeeee":"";y=!y;var t=document.createElement("img");t.src=IMAGE_PATH+"/"+("dir"==m.type?"folder.png":"file.png");t.setAttribute("align","absmiddle");t.style.marginRight="4px";t.style.marginTop="-4px";t.width=20;q.appendChild(t);q.appendChild(p(m.name+("dir"==m.type?"/":""),mxUtils.bind(this,function(){"dir"==m.type?(f=m.path,z()):a&&"file"==m.type&&(this.ui.hideDialog(),d(b+"/"+c+"/"+encodeURIComponent(g)+"/"+
+m.path))})));e.appendChild(q);C++}})(n[m],m)});l(!0);a&&l(!1)}}),u,!0)}),x=mxUtils.bind(this,function(a,d){null==a&&(e.innerHTML="",a=1);var m=new mxXmlRequest(this.baseUrl+"/repos/"+b+"/"+c+"/branches?per_page=100&page="+a,null,"GET");l.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(e,mxResources.get("loading"));null!=v&&(mxEvent.removeListener(e,"scroll",v),v=null);null!=q&&null!=q.parentNode&&q.parentNode.removeChild(q);q=document.createElement("a");q.style.display="block";q.style.cursor=
+"pointer";mxUtils.write(q,mxResources.get("more")+"...");var n=mxUtils.bind(this,function(){x(a+1)});mxEvent.addListener(q,"click",n);this.executeRequest(m,mxUtils.bind(this,function(b){this.ui.spinner.stop();1==a&&(t(!0),e.appendChild(p("../ [Up]",mxUtils.bind(this,function(){f=null;B()}),"4px")));b=JSON.parse(b.getText());if(null==b||0==b.length)mxUtils.write(e,mxResources.get("noFiles"));else if(1==b.length&&d)g=b[0].name,f="",z();else{for(var c=0;c<b.length;c++)mxUtils.bind(this,function(a,b){var c=
+k.cloneNode();c.style.backgroundColor=0==b%2?"dark"==uiTheme?"#000000":"#eeeeee":"";c.appendChild(p(a.name,mxUtils.bind(this,function(){g=a.name;f="";z()})));e.appendChild(c)})(b[c],c);100==b.length&&(e.appendChild(q),v=function(){e.scrollTop>=e.scrollHeight-e.offsetHeight&&n()},mxEvent.addListener(e,"scroll",v))}}),u)}),B=mxUtils.bind(this,function(a){null==a&&(e.innerHTML="",a=1);var d=new mxXmlRequest(this.baseUrl+"/user/repos?per_page=100&page="+a,null,"GET");l.okButton.setAttribute("disabled",
+"disabled");this.ui.spinner.spin(e,mxResources.get("loading"));null!=v&&mxEvent.removeListener(e,"scroll",v);null!=q&&null!=q.parentNode&&q.parentNode.removeChild(q);q=document.createElement("a");q.style.display="block";q.style.cursor="pointer";mxUtils.write(q,mxResources.get("more")+"...");var m=mxUtils.bind(this,function(){B(a+1)});mxEvent.addListener(q,"click",m);this.executeRequest(d,mxUtils.bind(this,function(d){this.ui.spinner.stop();d=JSON.parse(d.getText());if(null==d||0==d.length)mxUtils.write(e,
+mxResources.get("noFiles"));else{1==a&&(e.appendChild(p(mxResources.get("enterValue")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.ui,"org/repo/ref",mxResources.get("ok"),mxUtils.bind(this,function(a){if(null!=a){var d=a.split("/");if(1<d.length){a=d[0];var k=d[1];3>d.length?(b=a,c=k,f=g=null,x()):this.ui.spinner.spin(e,mxResources.get("loading"))&&(d=encodeURIComponent(d.slice(2,d.length).join("/")),this.getFile(a+"/"+k+"/"+d,mxUtils.bind(this,function(a){this.ui.spinner.stop();
+b=a.meta.org;c=a.meta.repo;g=decodeURIComponent(a.meta.ref);f="";z()}),mxUtils.bind(this,function(a){this.ui.spinner.stop();this.ui.handleError({message:mxResources.get("fileNotFound")})})))}else this.ui.spinner.stop(),this.ui.handleError({message:mxResources.get("invalidName")})}}),mxResources.get("enterValue"));this.ui.showDialog(a.container,300,80,!0,!1);a.init()}))),mxUtils.br(e),mxUtils.br(e));for(var l=0;l<d.length;l++)mxUtils.bind(this,function(a,d){var g=k.cloneNode();g.style.backgroundColor=
+0==d%2?"dark"==uiTheme?"#000000":"#eeeeee":"";g.appendChild(p(a.full_name,mxUtils.bind(this,function(){b=a.owner.login;c=a.name;f="";x(null,!0)})));e.appendChild(g)})(d[l],l)}100==d.length&&(e.appendChild(q),v=function(){e.scrollTop>=e.scrollHeight-e.offsetHeight&&m()},mxEvent.addListener(e,"scroll",v))}),u)});B()};GitHubClient.prototype.logout=function(){this.clearPersistentToken();this.setUser(null);this.token=null};TrelloFile=function(a,d,b){DrawioFile.call(this,a,d);this.meta=b;this.saveNeededCounter=0};mxUtils.extend(TrelloFile,DrawioFile);TrelloFile.prototype.getHash=function(){return"T"+encodeURIComponent(this.meta.compoundId)};TrelloFile.prototype.getMode=function(){return App.MODE_TRELLO};TrelloFile.prototype.isAutosave=function(){return!0};TrelloFile.prototype.getTitle=function(){return this.meta.name};TrelloFile.prototype.isRenamable=function(){return!1};TrelloFile.prototype.getSize=function(){return this.meta.bytes};
TrelloFile.prototype.save=function(a,d,b){this.doSave(this.getTitle(),d,b)};TrelloFile.prototype.saveAs=function(a,d,b){this.doSave(a,d,b)};TrelloFile.prototype.doSave=function(a,d,b){var c=this.meta.name;this.meta.name=a;DrawioFile.prototype.save.apply(this,[null,mxUtils.bind(this,function(){this.meta.name=c;this.saveFile(a,!1,d,b)}),b])};
TrelloFile.prototype.saveFile=function(a,d,b,c){this.isEditable()?this.savingFile?null!=c&&(this.saveNeededCounter++,c({code:App.ERROR_BUSY})):(this.savingFileTime=new Date,this.setShadowModified(!1),this.savingFile=!0,this.getTitle()==a?this.ui.trello.saveFile(this,mxUtils.bind(this,function(g){this.setModified(this.getShadowModified());this.savingFile=!1;this.meta=g;this.contentChanged();null!=b&&b();0<this.saveNeededCounter&&(this.saveNeededCounter--,this.saveFile(a,d,b,c))}),mxUtils.bind(this,
function(a){this.savingFile=!1;null!=c&&c(a)})):this.ui.pickFolder(App.MODE_TRELLO,mxUtils.bind(this,function(g){this.ui.trello.insertFile(a,this.getData(),mxUtils.bind(this,function(f){this.savingFile=!1;null!=b&&b();this.ui.fileLoaded(f);0<this.saveNeededCounter&&(this.saveNeededCounter--,this.saveFile(a,d,b,c))}),mxUtils.bind(this,function(){this.savingFile=!1;null!=c&&c()}),!1,g)}))):null!=b&&b()};TrelloLibrary=function(a,d,b){TrelloFile.call(this,a,d,b)};mxUtils.extend(TrelloLibrary,TrelloFile);TrelloLibrary.prototype.doSave=function(a,d,b){this.saveFile(a,!1,d,b)};TrelloLibrary.prototype.open=function(){};TrelloClient=function(a){DrawioClient.call(this,a,"tauth");Trello.setKey(this.key)};mxUtils.extend(TrelloClient,DrawioClient);TrelloClient.prototype.key="e73615c79cf7e381aef91c85936e9553";TrelloClient.prototype.baseUrl="https://api.trello.com/1/";TrelloClient.prototype.SEPARATOR="|$|";TrelloClient.prototype.maxFileSize=1E7;TrelloClient.prototype.extension=".xml";
@@ -10835,8 +10840,8 @@ TrelloClient.prototype.writeFile=function(a,d,b,c,g){if(null!=a&&null!=d)if(d.le
a);var k=new XMLHttpRequest;k.responseType="json";k.onreadystatechange=mxUtils.bind(this,function(){if(4===k.readyState&&(window.clearTimeout(n),m))if(200==k.status){var a=k.response;a.compoundId=b+this.SEPARATOR+a.id;c(a)}else 401==k.status?this.authenticate(f,g,!0):g()});k.open("POST",this.baseUrl+"cards/"+b+"/attachments");k.send(e)});this.authenticate(f,g)}else g({message:mxResources.get("unknownError")})};TrelloClient.prototype.pickLibrary=function(a){this.pickFile(a)};
TrelloClient.prototype.pickFolder=function(a){this.authenticate(mxUtils.bind(this,function(){this.showTrelloDialog(!1,a)}),mxUtils.bind(this,function(a){this.ui.showError(mxResources.get("error"),a)}))};TrelloClient.prototype.pickFile=function(a,d){a=null!=a?a:mxUtils.bind(this,function(a){this.ui.loadFile("T"+encodeURIComponent(a))});this.authenticate(mxUtils.bind(this,function(){this.showTrelloDialog(!0,a)}),mxUtils.bind(this,function(a){this.ui.showError(mxResources.get("error"),a,mxResources.get("ok"))}))};
TrelloClient.prototype.showTrelloDialog=function(a,d){var b=null,c="@me",g=0,f=document.createElement("div");f.style.whiteSpace="nowrap";f.style.overflow="hidden";f.style.height="224px";var m=document.createElement("h3");mxUtils.write(m,a?mxResources.get("selectFile"):mxResources.get("selectCard"));m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";f.appendChild(m);var n=document.createElement("div");n.style.whiteSpace="nowrap";n.style.overflow="auto";n.style.height=
-"194px";f.appendChild(n);f=new CustomDialog(this.ui,f);this.ui.showDialog(f.container,340,270,!0,!0);f.okButton.parentNode.removeChild(f.okButton);var e=mxUtils.bind(this,function(a,b,c){g++;var e=document.createElement("div");e.style="width:100%;text-overflow:ellipsis;overflow:hidden;vertical-align:middle;padding:2px 0 2px 0;background:"+(0==g%2?"dark"==uiTheme?"#000":"#eee":"dark"==uiTheme?"":"#fff");var d=document.createElement("a");d.style.cursor="pointer";if(null!=c){var f=document.createElement("img");
-f.src=c.url;f.width=c.width;f.height=c.height;f.style="border: 1px solid black;margin:5px;vertical-align:middle";d.appendChild(f)}mxUtils.write(d,a);mxEvent.addListener(d,"click",b);e.appendChild(d);return e}),k=mxUtils.bind(this,function(a){this.ui.handleError(a,null,mxUtils.bind(this,function(){this.ui.spinner.stop();this.ui.hideDialog()}))}),l=mxUtils.bind(this,function(){g=0;n.innerHTML="";this.ui.spinner.spin(n,mxResources.get("loading"));var a=mxUtils.bind(this,function(){Trello.cards.get(b+
+"194px";f.appendChild(n);f=new CustomDialog(this.ui,f);this.ui.showDialog(f.container,340,270,!0,!0);f.okButton.parentNode.removeChild(f.okButton);var e=mxUtils.bind(this,function(a,b,c){g++;var d=document.createElement("div");d.style="width:100%;text-overflow:ellipsis;overflow:hidden;vertical-align:middle;padding:2px 0 2px 0;background:"+(0==g%2?"dark"==uiTheme?"#000":"#eee":"dark"==uiTheme?"":"#fff");var e=document.createElement("a");e.style.cursor="pointer";if(null!=c){var f=document.createElement("img");
+f.src=c.url;f.width=c.width;f.height=c.height;f.style="border: 1px solid black;margin:5px;vertical-align:middle";e.appendChild(f)}mxUtils.write(e,a);mxEvent.addListener(e,"click",b);d.appendChild(e);return d}),k=mxUtils.bind(this,function(a){this.ui.handleError(a,null,mxUtils.bind(this,function(){this.ui.spinner.stop();this.ui.hideDialog()}))}),l=mxUtils.bind(this,function(){g=0;n.innerHTML="";this.ui.spinner.spin(n,mxResources.get("loading"));var a=mxUtils.bind(this,function(){Trello.cards.get(b+
"/attachments",{fields:"id,name,previews"},mxUtils.bind(this,function(a){this.ui.spinner.stop();n.appendChild(e("../ [Up]",mxUtils.bind(this,function(){u()})));mxUtils.br(n);null==a||0==a.length?mxUtils.write(n,mxResources.get("noFiles")):mxUtils.bind(this,function(){for(var c=0;c<a.length;c++)mxUtils.bind(this,function(a){n.appendChild(e(a.name,mxUtils.bind(this,function(){this.ui.hideDialog();d(b+this.SEPARATOR+a.id)}),null!=a.previews?a.previews[0]:null))})(a[c])})()}),mxUtils.bind(this,function(b){401==
b.status?this.authenticate(a,k,!0):null!=k&&k(b)}))});a()}),p=null,t=null,u=mxUtils.bind(this,function(f){null==f&&(g=0,n.innerHTML="",f=1);this.ui.spinner.spin(n,mxResources.get("loading"));null!=p&&null!=p.parentNode&&p.parentNode.removeChild(p);p=document.createElement("a");p.style.display="block";p.style.cursor="pointer";mxUtils.write(p,mxResources.get("more")+"...");var m=mxUtils.bind(this,function(){mxEvent.removeListener(n,"scroll",t);u(f+1)});mxEvent.addListener(p,"click",m);var q=mxUtils.bind(this,
function(){Trello.get("search",{query:""==mxUtils.trim(c)?"is:open":c,cards_limit:100,cards_page:f-1},mxUtils.bind(this,function(g){this.ui.spinner.stop();g=null!=g?g.cards:null;if(null==g||0==g.length)mxUtils.write(n,mxResources.get("noFiles"));else{1==f&&(n.appendChild(e(mxResources.get("filterCards")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.ui,c,mxResources.get("ok"),mxUtils.bind(this,function(a){null!=a&&(c=a,u())}),mxResources.get("filterCards"),null,null,"http://help.trello.com/article/808-searching-for-cards-all-boards");
@@ -10851,13 +10856,13 @@ a.getStatus()&&299>=a.getStatus()||c&&404==a.getStatus())d(a);else if(401===a.ge
mxResources.get("fileNotFound"))}):400===a.getStatus()?b({status:400}):b({status:a.getStatus(),message:this.getErrorMessage(a,mxResources.get("error")+" "+a.getStatus())})}),mxUtils.bind(this,function(a){window.clearTimeout(e);n&&b(a)}))}),f=mxUtils.bind(this,function(a){null==this.user?this.updateUser(function(){f(!0)},b,a):g(a)});null==this.token?this.authenticate(function(){f(!0)},b):f(!1)};
GitLabClient.prototype.getRefIndex=function(a,d,b,c,g,f){if(null!=g)b(a,g);else{var m=a.length-2,n=mxUtils.bind(this,function(){if(2>m)c({message:mxResources.get("fileNotFound")});else{var e=Math.max(m-1,0),g=a.slice(0,e).join("/"),e=a[e],l=a[m],p=a.slice(m+1,a.length).join("/"),g=this.baseUrl+"/projects/"+encodeURIComponent(g+"/"+e)+"/repository/"+(d?f?"branches?per_page=1&page=1&ref="+l:"tree?path="+p+"&ref="+l:"files/"+encodeURIComponent(p)+"?ref="+l),t=new mxXmlRequest(g,null,"HEAD");this.executeRequest(t,
mxUtils.bind(this,function(){200==t.getStatus()?b(a,m):c({message:mxResources.get("fileNotFound")})}),mxUtils.bind(this,function(){404==t.getStatus()?(m--,n()):c({message:mxResources.get("fileNotFound")})}))}});n()}};
-GitLabClient.prototype.getFile=function(a,d,b,c,g,f){c=null!=c?c:!1;this.getRefIndex(a.split("/"),!1,mxUtils.bind(this,function(f,n){var e=Math.max(n-1,0),k=f.slice(0,e).join("/"),m=f[e],p=f[n];a=f.slice(n+1,f.length).join("/");e=/\.png$/i.test(a);if(!g&&(/\.v(dx|sdx?)$/i.test(a)||/\.gliffy$/i.test(a)||/\.pdf$/i.test(a)||!this.ui.useCanvasForExport&&e))if(null!=this.token){var e="&t="+(new Date).getTime(),t=this.baseUrl+"/projects/"+encodeURIComponent(k+"/"+m)+"/repository/files/"+encodeURIComponent(a)+
-"?ref="+p;f=a.split("/");this.ui.convertFile(t+e,0<f.length?f[f.length-1]:a,null,this.extension,d,b,mxUtils.bind(this,function(a,b,c){a=new mxXmlRequest(a,null,"GET");this.executeRequest(a,mxUtils.bind(this,function(a){try{b(this.getFileContent(JSON.parse(a.getText())))}catch(v){c(v)}}),c)}))}else b({message:mxResources.get("accessDenied")});else e="&t="+(new Date).getTime(),t=this.baseUrl+"/projects/"+encodeURIComponent(k+"/"+m)+"/repository/files/"+encodeURIComponent(a)+"?ref="+p,e=new mxXmlRequest(t+
-e,null,"GET"),this.executeRequest(e,mxUtils.bind(this,function(a){try{d(this.createGitLabFile(k,m,p,JSON.parse(a.getText()),c,n))}catch(q){b(q)}}),b)}),b,f)};
+GitLabClient.prototype.getFile=function(a,d,b,c,g,f){c=null!=c?c:!1;this.getRefIndex(a.split("/"),!1,mxUtils.bind(this,function(f,n){var e=Math.max(n-1,0),k=f.slice(0,e).join("/"),l=f[e],m=f[n];a=f.slice(n+1,f.length).join("/");e=/\.png$/i.test(a);if(!g&&(/\.v(dx|sdx?)$/i.test(a)||/\.gliffy$/i.test(a)||/\.pdf$/i.test(a)||!this.ui.useCanvasForExport&&e))if(null!=this.token){var e="&t="+(new Date).getTime(),t=this.baseUrl+"/projects/"+encodeURIComponent(k+"/"+l)+"/repository/files/"+encodeURIComponent(a)+
+"?ref="+m;f=a.split("/");this.ui.convertFile(t+e,0<f.length?f[f.length-1]:a,null,this.extension,d,b,mxUtils.bind(this,function(a,b,c){a=new mxXmlRequest(a,null,"GET");this.executeRequest(a,mxUtils.bind(this,function(a){try{b(this.getFileContent(JSON.parse(a.getText())))}catch(x){c(x)}}),c)}))}else b({message:mxResources.get("accessDenied")});else e="&t="+(new Date).getTime(),t=this.baseUrl+"/projects/"+encodeURIComponent(k+"/"+l)+"/repository/files/"+encodeURIComponent(a)+"?ref="+m,e=new mxXmlRequest(t+
+e,null,"GET"),this.executeRequest(e,mxUtils.bind(this,function(a){try{d(this.createGitLabFile(k,l,m,JSON.parse(a.getText()),c,n))}catch(q){b(q)}}),b)}),b,f)};
GitLabClient.prototype.getFileContent=function(a){var d=a.file_name,b=a.content;"base64"===a.encoding&&(/\.jpe?g$/i.test(d)?b="data:image/jpeg;base64,"+b:/\.gif$/i.test(d)?b="data:image/gif;base64,"+b:/\.pdf$/i.test(d)?b="data:application/pdf;base64,"+b:/\.png$/i.test(d)?(a=this.ui.extractGraphModelFromPng(b),b=null!=a&&0<a.length?a:"data:image/png;base64,"+b):b=Base64.decode(b));return b};
GitLabClient.prototype.createGitLabFile=function(a,d,b,c,g,f){var m=DRAWIO_GITLAB_URL+"/";a={org:a,repo:d,ref:b,name:c.file_name,path:c.file_path,html_url:m+a+"/"+d+"/blob/"+b+"/"+c.file_path,download_url:m+a+"/"+d+"/raw/"+b+"/"+c.file_path+"?inline=false",last_commit_id:c.last_commit_id,refPos:f};c=this.getFileContent(c);return g?new GitLabLibrary(this.ui,c,a):new GitLabFile(this.ui,c,a)};
GitLabClient.prototype.insertFile=function(a,d,b,c,g,f,m){g=null!=g?g:!1;f=f.split("/");this.getRefIndex(f,!0,mxUtils.bind(this,function(f,e){var k=Math.max(e-1,0),l=f.slice(0,k).join("/"),n=f[k],t=f[e];path=f.slice(e+1,f.length).join("/");0<path.length&&(path+="/");path+=a;this.checkExists(l+"/"+n+"/"+t+"/"+path,!0,mxUtils.bind(this,function(f,k){if(f)if(g)m||(d=Base64.encode(d)),this.showCommitDialog(a,!0,mxUtils.bind(this,function(a){this.writeFile(l,n,t,path,a,d,k,mxUtils.bind(this,function(a){try{var d=
-JSON.parse(a.getText());b(this.createGitLabFile(l,n,t,d.content,g,e))}catch(z){c(z)}}),c)}),c);else{var p=DRAWIO_GITLAB_URL+"/";b(new GitLabFile(this.ui,d,{org:l,repo:n,ref:t,name:a,path:path,html_url:p+l+"/"+n+"/blob/"+t+"/"+path,download_url:p+l+"/"+n+"/raw/"+t+"/"+path+"?inline=false",refPos:e,last_commit_id:k,isNew:!0}))}else c()}))}),c,null,4>=f.length)};
+JSON.parse(a.getText());b(this.createGitLabFile(l,n,t,d.content,g,e))}catch(y){c(y)}}),c)}),c);else{var p=DRAWIO_GITLAB_URL+"/";b(new GitLabFile(this.ui,d,{org:l,repo:n,ref:t,name:a,path:path,html_url:p+l+"/"+n+"/blob/"+t+"/"+path,download_url:p+l+"/"+n+"/raw/"+t+"/"+path+"?inline=false",refPos:e,last_commit_id:k,isNew:!0}))}else c()}))}),c,null,4>=f.length)};
GitLabClient.prototype.checkExists=function(a,d,b){this.getFile(a,mxUtils.bind(this,function(c){if(d){var g=this.ui.spinner.pause();this.ui.confirm(mxResources.get("replaceIt",[a]),function(){g();b(!0,c.getCurrentEtag())},function(){g();b(!1)})}else this.ui.spinner.stop(),this.ui.showError(mxResources.get("error"),mxResources.get("fileExists"),mxResources.get("ok"),function(){b(!1)})}),mxUtils.bind(this,function(a){b(!0)}),null,!0)};
GitLabClient.prototype.writeFile=function(a,d,b,c,g,f,m,n,e){if(f.length>=this.maxFileSize)e({message:mxResources.get("drawingTooLarge")+" ("+this.ui.formatFileSize(f.length)+" / 10 MB)"});else{var k="POST";b={path:encodeURIComponent(c),branch:decodeURIComponent(b),commit_message:g,content:f,encoding:"base64"};null!=m&&(b.last_commit_id=m,k="PUT");a=this.baseUrl+"/projects/"+encodeURIComponent(a+"/"+d)+"/repository/files/"+encodeURIComponent(c);k=new mxXmlRequest(a,JSON.stringify(b),k);this.executeRequest(k,
mxUtils.bind(this,function(a){n(a)}),e)}};
@@ -10866,20 +10871,20 @@ this.ui.getEmbeddedPng(mxUtils.bind(this,function(b){k(a.meta.last_commit_id,b)}
GitLabClient.prototype.pickFile=function(a){a=null!=a?a:mxUtils.bind(this,function(a){this.ui.loadFile("A"+encodeURIComponent(a))});this.showGitLabDialog(!0,a)};
GitLabClient.prototype.showGitLabDialog=function(a,d){var b=null,c=null,g=null,f=null,m=document.createElement("div");m.style.whiteSpace="nowrap";m.style.overflow="hidden";m.style.height="304px";var n=document.createElement("h3");mxUtils.write(n,mxResources.get(a?"selectFile":"selectFolder"));n.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";m.appendChild(n);var e=document.createElement("div");e.style.whiteSpace="nowrap";e.style.border="1px solid lightgray";e.style.boxSizing=
"border-box";e.style.padding="4px";e.style.overflow="auto";e.style.lineHeight="1.2em";e.style.height="274px";m.appendChild(e);var k=document.createElement("div");k.style.textOverflow="ellipsis";k.style.boxSizing="border-box";k.style.overflow="hidden";k.style.padding="4px";k.style.width="100%";var l=new CustomDialog(this.ui,m,mxUtils.bind(this,function(){d(b+"/"+c+"/"+encodeURIComponent(g)+"/"+f)}));this.ui.showDialog(l.container,420,360,!0,!0);a&&l.okButton.parentNode.removeChild(l.okButton);var p=
-mxUtils.bind(this,function(a,b,c,e){var d=document.createElement("a");d.setAttribute("title",a);d.style.cursor="pointer";mxUtils.write(d,a);mxEvent.addListener(d,"click",b);e&&(d.style.textDecoration="underline");null!=c&&(a=k.cloneNode(),a.style.padding=c,a.appendChild(d),d=a);return d}),t=mxUtils.bind(this,function(a){var d=document.createElement("div");d.style.marginBottom="8px";d.appendChild(p(b+"/"+c,mxUtils.bind(this,function(){f=null;A()}),null,!0));a||(mxUtils.write(d," / "),d.appendChild(p(decodeURIComponent(g),
-mxUtils.bind(this,function(){f=null;v()}),null,!0)));if(null!=f&&0<f.length){var k=f.split("/");for(a=0;a<k.length;a++)(function(a){mxUtils.write(d," / ");d.appendChild(p(k[a],mxUtils.bind(this,function(){f=k.slice(0,a+1).join("/");y()}),null,!0))})(a)}e.appendChild(d)}),u=mxUtils.bind(this,function(a){this.ui.handleError(a,null,mxUtils.bind(this,function(){this.ui.spinner.stop();null!=this.getUser()?(f=g=c=b=null,A()):this.ui.hideDialog()}))}),q=null,x=null,y=mxUtils.bind(this,function(m){null==
-m&&(e.innerHTML="",m=1);var n=new mxXmlRequest(this.baseUrl+"/projects/"+encodeURIComponent(b+"/"+c)+"/repository/tree?path="+f+"&ref="+g+"&per_page=100&page="+m,null,"GET");this.ui.spinner.spin(e,mxResources.get("loading"));l.okButton.removeAttribute("disabled");null!=x&&(mxEvent.removeListener(e,"scroll",x),x=null);null!=q&&null!=q.parentNode&&q.parentNode.removeChild(q);q=document.createElement("a");q.style.display="block";q.style.cursor="pointer";mxUtils.write(q,mxResources.get("more")+"...");
-var z=mxUtils.bind(this,function(){y(m+1)});mxEvent.addListener(q,"click",z);this.executeRequest(n,mxUtils.bind(this,function(l){this.ui.spinner.stop();1==m&&(t(!g),e.appendChild(p("../ [Up]",mxUtils.bind(this,function(){if(""==f)f=null,A();else{var a=f.split("/");f=a.slice(0,a.length-1).join("/");y()}}),"4px")));var n=JSON.parse(l.getText());if(null==n||0==n.length)mxUtils.write(e,mxResources.get("noFiles"));else{var B=!0,C=0;l=mxUtils.bind(this,function(m){for(var l=0;l<n.length;l++)mxUtils.bind(this,
-function(l){if(m==("tree"==l.type)){var n=k.cloneNode();n.style.backgroundColor=B?"dark"==uiTheme?"#000000":"#eeeeee":"";B=!B;var z=document.createElement("img");z.src=IMAGE_PATH+"/"+("tree"==l.type?"folder.png":"file.png");z.setAttribute("align","absmiddle");z.style.marginRight="4px";z.style.marginTop="-4px";z.width=20;n.appendChild(z);n.appendChild(p(l.name+("tree"==l.type?"/":""),mxUtils.bind(this,function(){"tree"==l.type?(f=l.path,y()):a&&"blob"==l.type&&(this.ui.hideDialog(),d(b+"/"+c+"/"+g+
-"/"+l.path))})));e.appendChild(n);C++}})(n[l])});l(!0);a&&l(!1);100==C&&(e.appendChild(q),x=function(){e.scrollTop>=e.scrollHeight-e.offsetHeight&&z()},mxEvent.addListener(e,"scroll",x))}}),u,!0)}),v=mxUtils.bind(this,function(a,d){null==a&&(e.innerHTML="",a=1);var m=new mxXmlRequest(this.baseUrl+"/projects/"+encodeURIComponent(b+"/"+c)+"/repository/branches?per_page=100&page="+a,null,"GET");l.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(e,mxResources.get("loading"));null!=x&&
-(mxEvent.removeListener(e,"scroll",x),x=null);null!=q&&null!=q.parentNode&&q.parentNode.removeChild(q);q=document.createElement("a");q.style.display="block";q.style.cursor="pointer";mxUtils.write(q,mxResources.get("more")+"...");var n=mxUtils.bind(this,function(){v(a+1)});mxEvent.addListener(q,"click",n);this.executeRequest(m,mxUtils.bind(this,function(b){this.ui.spinner.stop();1==a&&(t(!0),e.appendChild(p("../ [Up]",mxUtils.bind(this,function(){f=null;A()}),"4px")));b=JSON.parse(b.getText());if(null==
-b||0==b.length)mxUtils.write(e,mxResources.get("noFiles"));else if(1==b.length&&d)g=b[0].name,f="",y();else{for(var c=0;c<b.length;c++)mxUtils.bind(this,function(a,b){var c=k.cloneNode();c.style.backgroundColor=0==b%2?"dark"==uiTheme?"#000000":"#eeeeee":"";c.appendChild(p(a.name,mxUtils.bind(this,function(){g=encodeURIComponent(a.name);f="";y()})));e.appendChild(c)})(b[c],c);100==b.length&&(e.appendChild(q),x=function(){e.scrollTop>=e.scrollHeight-e.offsetHeight&&n()},mxEvent.addListener(e,"scroll",
-x))}}),u)});l.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(e,mxResources.get("loading"));var A=mxUtils.bind(this,function(a){this.ui.spinner.stop();null==a&&(e.innerHTML="",a=1);null!=x&&(mxEvent.removeListener(e,"scroll",x),x=null);null!=q&&null!=q.parentNode&&q.parentNode.removeChild(q);q=document.createElement("a");q.style.display="block";q.style.cursor="pointer";mxUtils.write(q,mxResources.get("more")+"...");var d=mxUtils.bind(this,function(){A(a+1)});mxEvent.addListener(q,
-"click",d);var m=mxUtils.bind(this,function(a){this.ui.spinner.spin(e,mxResources.get("loading"));var b=new mxXmlRequest(this.baseUrl+"/groups?per_page=100",null,"GET");this.executeRequest(b,mxUtils.bind(this,function(b){this.ui.spinner.stop();a(JSON.parse(b.getText()))}),u)}),l=mxUtils.bind(this,function(a,b){this.ui.spinner.spin(e,mxResources.get("loading"));var c=new mxXmlRequest(this.baseUrl+"/groups/"+a.id+"/projects?per_page=100",null,"GET");this.executeRequest(c,mxUtils.bind(this,function(c){this.ui.spinner.stop();
-b(a,JSON.parse(c.getText()))}),u)});m(mxUtils.bind(this,function(m){var n=new mxXmlRequest(this.baseUrl+"/users/"+this.user.id+"/projects?per_page=100&page="+a,null,"GET");this.ui.spinner.spin(e,mxResources.get("loading"));this.executeRequest(n,mxUtils.bind(this,function(n){this.ui.spinner.stop();n=JSON.parse(n.getText());if(null!=n&&0!=n.length||null!=m&&0!=m.length){1==a&&(e.appendChild(p(mxResources.get("enterValue")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.ui,"org/repo/ref",
-mxResources.get("ok"),mxUtils.bind(this,function(a){null!=a&&(a=a.split("/"),1<a.length?(b=a[0],c=a[1],g=f=null,2<a.length?(g=encodeURIComponent(a.slice(2,a.length).join("/")),y()):v(null,!0)):(this.ui.spinner.stop(),this.ui.handleError({message:mxResources.get("invalidName")})))}),mxResources.get("enterValue"));this.ui.showDialog(a.container,300,80,!0,!1);a.init()}))),mxUtils.br(e),mxUtils.br(e));for(var z=0;z<n.length;z++)mxUtils.bind(this,function(a,d){var g=k.cloneNode();g.style.backgroundColor=
-0==d%2?"dark"==uiTheme?"#000000":"#eeeeee":"";g.appendChild(p(a.name_with_namespace,mxUtils.bind(this,function(){b=a.owner.username;c=a.path;f="";v(null,!0)})));e.appendChild(g)})(n[z],z);for(z=0;z<m.length;z++)l(m[z],mxUtils.bind(this,function(a,d){for(var g=0;g<d.length;g++){var m=k.cloneNode();m.style.backgroundColor=0==idx%2?"dark"==uiTheme?"#000000":"#eeeeee":"";mxUtils.bind(this,function(d){m.appendChild(p(d.name_with_namespace,mxUtils.bind(this,function(){b=a.full_path;c=d.path;f="";v(null,
-!0)})));e.appendChild(m)})(d[g])}}))}else mxUtils.write(e,mxResources.get("noFiles"));100==n.length&&(e.appendChild(q),x=function(){e.scrollTop>=e.scrollHeight-e.offsetHeight&&d()},mxEvent.addListener(e,"scroll",x))}),u)}))});this.token?this.user?A():this.updateUser(function(){A()},u,!0):this.authenticate(mxUtils.bind(this,function(){this.updateUser(function(){A()},u,!0)}),u)};GitLabClient.prototype.logout=function(){this.clearPersistentToken();this.setUser(null);this.token=null};DrawioComment=function(a,d,b,c,g,f,m){this.file=a;this.id=d;this.content=b;this.modifiedDate=c;this.createdDate=g;this.isResolved=f;this.user=m;this.replies=[]};DrawioComment.prototype.addReplyDirect=function(a){null!=a&&this.replies.push(a)};DrawioComment.prototype.addReply=function(a,d,b,c,g){d()};DrawioComment.prototype.editComment=function(a,d,b){d()};DrawioComment.prototype.deleteComment=function(a,d){a()};DriveComment=function(a,d,b,c,g,f,m,n){DrawioComment.call(this,a,d,b,c,g,f,m);this.pCommentId=n};mxUtils.extend(DriveComment,DrawioComment);DriveComment.prototype.addReply=function(a,d,b,c,g){a={content:a.content};c?a.verb="resolve":g&&(a.verb="reopen");this.file.ui.drive.executeRequest({url:"/files/"+this.file.getId()+"/comments/"+this.id+"/replies",params:a,method:"POST"},mxUtils.bind(this,function(a){d(a.replyId)}),b)};
+mxUtils.bind(this,function(a,b,c,d){var e=document.createElement("a");e.setAttribute("title",a);e.style.cursor="pointer";mxUtils.write(e,a);mxEvent.addListener(e,"click",b);d&&(e.style.textDecoration="underline");null!=c&&(a=k.cloneNode(),a.style.padding=c,a.appendChild(e),e=a);return e}),t=mxUtils.bind(this,function(a){var d=document.createElement("div");d.style.marginBottom="8px";d.appendChild(p(b+"/"+c,mxUtils.bind(this,function(){f=null;B()}),null,!0));a||(mxUtils.write(d," / "),d.appendChild(p(decodeURIComponent(g),
+mxUtils.bind(this,function(){f=null;x()}),null,!0)));if(null!=f&&0<f.length){var k=f.split("/");for(a=0;a<k.length;a++)(function(a){mxUtils.write(d," / ");d.appendChild(p(k[a],mxUtils.bind(this,function(){f=k.slice(0,a+1).join("/");z()}),null,!0))})(a)}e.appendChild(d)}),u=mxUtils.bind(this,function(a){this.ui.handleError(a,null,mxUtils.bind(this,function(){this.ui.spinner.stop();null!=this.getUser()?(f=g=c=b=null,B()):this.ui.hideDialog()}))}),q=null,v=null,z=mxUtils.bind(this,function(m){null==
+m&&(e.innerHTML="",m=1);var n=new mxXmlRequest(this.baseUrl+"/projects/"+encodeURIComponent(b+"/"+c)+"/repository/tree?path="+f+"&ref="+g+"&per_page=100&page="+m,null,"GET");this.ui.spinner.spin(e,mxResources.get("loading"));l.okButton.removeAttribute("disabled");null!=v&&(mxEvent.removeListener(e,"scroll",v),v=null);null!=q&&null!=q.parentNode&&q.parentNode.removeChild(q);q=document.createElement("a");q.style.display="block";q.style.cursor="pointer";mxUtils.write(q,mxResources.get("more")+"...");
+var y=mxUtils.bind(this,function(){z(m+1)});mxEvent.addListener(q,"click",y);this.executeRequest(n,mxUtils.bind(this,function(l){this.ui.spinner.stop();1==m&&(t(!g),e.appendChild(p("../ [Up]",mxUtils.bind(this,function(){if(""==f)f=null,B();else{var a=f.split("/");f=a.slice(0,a.length-1).join("/");z()}}),"4px")));var n=JSON.parse(l.getText());if(null==n||0==n.length)mxUtils.write(e,mxResources.get("noFiles"));else{var C=!0,A=0;l=mxUtils.bind(this,function(m){for(var l=0;l<n.length;l++)mxUtils.bind(this,
+function(l){if(m==("tree"==l.type)){var n=k.cloneNode();n.style.backgroundColor=C?"dark"==uiTheme?"#000000":"#eeeeee":"";C=!C;var y=document.createElement("img");y.src=IMAGE_PATH+"/"+("tree"==l.type?"folder.png":"file.png");y.setAttribute("align","absmiddle");y.style.marginRight="4px";y.style.marginTop="-4px";y.width=20;n.appendChild(y);n.appendChild(p(l.name+("tree"==l.type?"/":""),mxUtils.bind(this,function(){"tree"==l.type?(f=l.path,z()):a&&"blob"==l.type&&(this.ui.hideDialog(),d(b+"/"+c+"/"+g+
+"/"+l.path))})));e.appendChild(n);A++}})(n[l])});l(!0);a&&l(!1);100==A&&(e.appendChild(q),v=function(){e.scrollTop>=e.scrollHeight-e.offsetHeight&&y()},mxEvent.addListener(e,"scroll",v))}}),u,!0)}),x=mxUtils.bind(this,function(a,d){null==a&&(e.innerHTML="",a=1);var m=new mxXmlRequest(this.baseUrl+"/projects/"+encodeURIComponent(b+"/"+c)+"/repository/branches?per_page=100&page="+a,null,"GET");l.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(e,mxResources.get("loading"));null!=v&&
+(mxEvent.removeListener(e,"scroll",v),v=null);null!=q&&null!=q.parentNode&&q.parentNode.removeChild(q);q=document.createElement("a");q.style.display="block";q.style.cursor="pointer";mxUtils.write(q,mxResources.get("more")+"...");var n=mxUtils.bind(this,function(){x(a+1)});mxEvent.addListener(q,"click",n);this.executeRequest(m,mxUtils.bind(this,function(b){this.ui.spinner.stop();1==a&&(t(!0),e.appendChild(p("../ [Up]",mxUtils.bind(this,function(){f=null;B()}),"4px")));b=JSON.parse(b.getText());if(null==
+b||0==b.length)mxUtils.write(e,mxResources.get("noFiles"));else if(1==b.length&&d)g=b[0].name,f="",z();else{for(var c=0;c<b.length;c++)mxUtils.bind(this,function(a,b){var c=k.cloneNode();c.style.backgroundColor=0==b%2?"dark"==uiTheme?"#000000":"#eeeeee":"";c.appendChild(p(a.name,mxUtils.bind(this,function(){g=encodeURIComponent(a.name);f="";z()})));e.appendChild(c)})(b[c],c);100==b.length&&(e.appendChild(q),v=function(){e.scrollTop>=e.scrollHeight-e.offsetHeight&&n()},mxEvent.addListener(e,"scroll",
+v))}}),u)});l.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(e,mxResources.get("loading"));var B=mxUtils.bind(this,function(a){this.ui.spinner.stop();null==a&&(e.innerHTML="",a=1);null!=v&&(mxEvent.removeListener(e,"scroll",v),v=null);null!=q&&null!=q.parentNode&&q.parentNode.removeChild(q);q=document.createElement("a");q.style.display="block";q.style.cursor="pointer";mxUtils.write(q,mxResources.get("more")+"...");var d=mxUtils.bind(this,function(){B(a+1)});mxEvent.addListener(q,
+"click",d);var l=mxUtils.bind(this,function(a){this.ui.spinner.spin(e,mxResources.get("loading"));var b=new mxXmlRequest(this.baseUrl+"/groups?per_page=100",null,"GET");this.executeRequest(b,mxUtils.bind(this,function(b){this.ui.spinner.stop();a(JSON.parse(b.getText()))}),u)}),m=mxUtils.bind(this,function(a,b){this.ui.spinner.spin(e,mxResources.get("loading"));var c=new mxXmlRequest(this.baseUrl+"/groups/"+a.id+"/projects?per_page=100",null,"GET");this.executeRequest(c,mxUtils.bind(this,function(c){this.ui.spinner.stop();
+b(a,JSON.parse(c.getText()))}),u)});l(mxUtils.bind(this,function(l){var n=new mxXmlRequest(this.baseUrl+"/users/"+this.user.id+"/projects?per_page=100&page="+a,null,"GET");this.ui.spinner.spin(e,mxResources.get("loading"));this.executeRequest(n,mxUtils.bind(this,function(n){this.ui.spinner.stop();n=JSON.parse(n.getText());if(null!=n&&0!=n.length||null!=l&&0!=l.length){1==a&&(e.appendChild(p(mxResources.get("enterValue")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.ui,"org/repo/ref",
+mxResources.get("ok"),mxUtils.bind(this,function(a){null!=a&&(a=a.split("/"),1<a.length?(b=a[0],c=a[1],g=f=null,2<a.length?(g=encodeURIComponent(a.slice(2,a.length).join("/")),z()):x(null,!0)):(this.ui.spinner.stop(),this.ui.handleError({message:mxResources.get("invalidName")})))}),mxResources.get("enterValue"));this.ui.showDialog(a.container,300,80,!0,!1);a.init()}))),mxUtils.br(e),mxUtils.br(e));for(var y=0;y<n.length;y++)mxUtils.bind(this,function(a,d){var g=k.cloneNode();g.style.backgroundColor=
+0==d%2?"dark"==uiTheme?"#000000":"#eeeeee":"";g.appendChild(p(a.name_with_namespace,mxUtils.bind(this,function(){b=a.owner.username;c=a.path;f="";x(null,!0)})));e.appendChild(g)})(n[y],y);for(y=0;y<l.length;y++)m(l[y],mxUtils.bind(this,function(a,d){for(var g=0;g<d.length;g++){var l=k.cloneNode();l.style.backgroundColor=0==idx%2?"dark"==uiTheme?"#000000":"#eeeeee":"";mxUtils.bind(this,function(d){l.appendChild(p(d.name_with_namespace,mxUtils.bind(this,function(){b=a.full_path;c=d.path;f="";x(null,
+!0)})));e.appendChild(l)})(d[g])}}))}else mxUtils.write(e,mxResources.get("noFiles"));100==n.length&&(e.appendChild(q),v=function(){e.scrollTop>=e.scrollHeight-e.offsetHeight&&d()},mxEvent.addListener(e,"scroll",v))}),u)}))});this.token?this.user?B():this.updateUser(function(){B()},u,!0):this.authenticate(mxUtils.bind(this,function(){this.updateUser(function(){B()},u,!0)}),u)};GitLabClient.prototype.logout=function(){this.clearPersistentToken();this.setUser(null);this.token=null};DrawioComment=function(a,d,b,c,g,f,m){this.file=a;this.id=d;this.content=b;this.modifiedDate=c;this.createdDate=g;this.isResolved=f;this.user=m;this.replies=[]};DrawioComment.prototype.addReplyDirect=function(a){null!=a&&this.replies.push(a)};DrawioComment.prototype.addReply=function(a,d,b,c,g){d()};DrawioComment.prototype.editComment=function(a,d,b){d()};DrawioComment.prototype.deleteComment=function(a,d){a()};DriveComment=function(a,d,b,c,g,f,m,n){DrawioComment.call(this,a,d,b,c,g,f,m);this.pCommentId=n};mxUtils.extend(DriveComment,DrawioComment);DriveComment.prototype.addReply=function(a,d,b,c,g){a={content:a.content};c?a.verb="resolve":g&&(a.verb="reopen");this.file.ui.drive.executeRequest({url:"/files/"+this.file.getId()+"/comments/"+this.id+"/replies",params:a,method:"POST"},mxUtils.bind(this,function(a){d(a.replyId)}),b)};
DriveComment.prototype.editComment=function(a,d,b){this.content=a;a={content:a};this.file.ui.drive.executeRequest(this.pCommentId?{url:"/files/"+this.file.getId()+"/comments/"+this.pCommentId+"/replies/"+this.id,params:a,method:"PATCH"}:{url:"/files/"+this.file.getId()+"/comments/"+this.id,params:a,method:"PATCH"},d,b)};
DriveComment.prototype.deleteComment=function(a,d){this.file.ui.drive.executeRequest(this.pCommentId?{url:"/files/"+this.file.getId()+"/comments/"+this.pCommentId+"/replies/"+this.id,method:"DELETE"}:{url:"/files/"+this.file.getId()+"/comments/"+this.id,method:"DELETE"},a,d)};App=function(a,d,b){EditorUi.call(this,a,d,null!=b?b:"1"==urlParams.lightbox||"min"==uiTheme&&"0"!=urlParams.chrome);mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||(window.onunload=mxUtils.bind(this,function(){var a=this.getCurrentFile();if(null!=a&&a.isModified()){var b={category:"DISCARD-FILE-"+a.getHash(),action:(a.savingFile?"saving":"")+(a.savingFile&&null!=a.savingFileTime?"_"+Math.round((Date.now()-a.savingFileTime.getTime())/1E3):"")+(null!=a.saveLevel?"-sl_"+a.saveLevel:"")+"-age_"+(null!=
a.ageStart?Math.round((Date.now()-a.ageStart.getTime())/1E3):"x")+(this.editor.autosave?"":"-nosave")+(a.isAutosave()?"":"-noauto")+"-open_"+(null!=a.opened?Math.round((Date.now()-a.opened.getTime())/1E3):"x")+"-save_"+(null!=a.lastSaved?Math.round((Date.now()-a.lastSaved.getTime())/1E3):"x")+"-change_"+(null!=a.lastChanged?Math.round((Date.now()-a.lastChanged.getTime())/1E3):"x")+"-alive_"+Math.round((Date.now()-App.startTime.getTime())/1E3),label:null!=a.sync?"client_"+a.sync.clientId:"nosync"};
@@ -10888,7 +10893,8 @@ a.constructor==DriveFile&&null!=a.desc&&null!=this.drive&&(b.label+=(null!=this.
(new Image).src=mxGraph.prototype.warningImage.src;window.openWindow=mxUtils.bind(this,function(a,b,d){if("1"==urlParams.openInSameWin)d();else{var c=null;try{c=window.open(a)}catch(n){}null==c||void 0===c?this.showDialog((new PopupDialog(this,a,b,d)).container,320,140,!0,!0):null!=b&&b()}});this.updateDocumentTitle();this.updateUi();window.showOpenAlert=mxUtils.bind(this,function(a){null!=window.openFile&&window.openFile.cancel(!0);this.handleError(a)});this.editor.chromeless&&!this.editor.editable||
this.addFileDropHandler([document]);if(null!=App.DrawPlugins){for(a=0;a<App.DrawPlugins.length;a++)try{App.DrawPlugins[a](this)}catch(c){null!=window.console&&console.log("Plugin Error:",c,App.DrawPlugins[a])}finally{App.embedModePluginsCount--,this.initializeEmbedMode()}window.Draw.loadPlugin=mxUtils.bind(this,function(a){try{a(this)}finally{App.embedModePluginsCount--,this.initializeEmbedMode()}});setTimeout(mxUtils.bind(this,function(){0<App.embedModePluginsCount&&(App.embedModePluginsCount=0,
this.initializeEmbedMode())}),5E3)}this.load()};App.ERROR_TIMEOUT="timeout";App.ERROR_BUSY="busy";App.ERROR_UNKNOWN="unknown";App.MODE_GOOGLE="google";App.MODE_DROPBOX="dropbox";App.MODE_ONEDRIVE="onedrive";App.MODE_GITHUB="github";App.MODE_GITLAB="gitlab";App.MODE_DEVICE="device";App.MODE_BROWSER="browser";App.MODE_TRELLO="trello";App.MODE_EMBED="embed";App.DROPBOX_APPKEY="libwls2fa9szdji";App.DROPBOX_URL=window.DRAWIO_BASE_URL+"/js/dropbox/Dropbox-sdk.min.js";App.DROPINS_URL="https://www.dropbox.com/static/api/2/dropins.js";
-App.ONEDRIVE_URL=mxClient.IS_IE11?"https://js.live.net/v7.2/OneDrive.js":window.DRAWIO_BASE_URL+"/js/onedrive/OneDrive.js";App.ONEDRIVE_INLINE_PICKER_URL=window.DRAWIO_BASE_URL+"/js/onedrive/mxODPicker.js";App.TRELLO_URL="https://api.trello.com/1/client.js";App.TRELLO_JQUERY_URL="https://code.jquery.com/jquery-1.7.1.min.js";App.PUSHER_KEY="1e756b07a690c5bdb054";App.PUSHER_CLUSTER="eu";App.PUSHER_URL="https://js.pusher.com/4.3/pusher.min.js";App.GOOGLE_APIS="drive-share";App.startTime=new Date;
+App.ONEDRIVE_URL=mxClient.IS_IE11?"https://js.live.net/v7.2/OneDrive.js":window.DRAWIO_BASE_URL+"/js/onedrive/OneDrive.js";App.ONEDRIVE_INLINE_PICKER_URL=window.DRAWIO_BASE_URL+"/js/onedrive/mxODPicker.js";App.TRELLO_URL="https://api.trello.com/1/client.js";App.TRELLO_JQUERY_URL="https://code.jquery.com/jquery-1.7.1.min.js";App.PUSHER_KEY="1e756b07a690c5bdb054";App.PUSHER_CLUSTER="eu";App.PUSHER_URL="https://js.pusher.com/4.3/pusher.min.js";App.SOCKET_IO_URL=window.DRAWIO_BASE_URL+"/js/socket.io/socket.io.min.js";
+App.SOCKET_IO_SRV="http://localhost:3030";App.GOOGLE_APIS="drive-share";App.startTime=new Date;
App.pluginRegistry={"4xAKTrabTpTzahoLthkwPNUn":"plugins/explore.js",ex:"plugins/explore.js",p1:"plugins/p1.js",ac:"plugins/connect.js",acj:"plugins/connectJira.js",ac148:"plugins/cConf-1-4-8.js",ac148cmnt:"plugins/cConf-comments.js",voice:"plugins/voice.js",tips:"plugins/tooltips.js",svgdata:"plugins/svgdata.js",electron:"plugins/electron.js",number:"plugins/number.js",sql:"plugins/sql.js",props:"plugins/props.js",text:"plugins/text.js",anim:"plugins/animation.js",update:"plugins/update.js",trees:"plugins/trees/trees.js",
"import":"plugins/import.js",replay:"plugins/replay.js",anon:"plugins/anonymize.js",tr:"plugins/trello.js",f5:"plugins/rackF5.js",tickets:"plugins/tickets.js",flow:"plugins/flow.js",webcola:"plugins/webcola/webcola.js",rnd:"plugins/random.js",page:"plugins/page.js",gd:"plugins/googledrive.js",tags:"plugins/tags.js"};App.publicPlugin="ex voice tips svgdata number sql props text anim update trees replay anon tickets flow webcola tags".split(" ");
App.loadScripts=function(a,d){for(var b=a.length,c=0;c<b;c++)mxscript(a[c],function(){0==--b&&null!=d&&d()})};
@@ -10903,18 +10909,18 @@ App.main=function(a,d){function b(c){mxUtils.getAll("1"!=urlParams.dev?[c]:[c,ST
(null==navigator.userAgent||0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?"1"==urlParams.inlinePicker||mxClient.IS_ANDROID||mxClient.IS_IOS?mxscript(App.ONEDRIVE_INLINE_PICKER_URL,function(){window.OneDrive={};window.DrawOneDriveClientCallback()}):mxscript(App.ONEDRIVE_URL,window.DrawOneDriveClientCallback):"undefined"===typeof window.OneDrive&&(window.OneDriveClient=null);"function"===typeof window.TrelloClient&&!mxClient.IS_IE11&&"undefined"===typeof window.Trello&&null!=window.DrawTrelloClientCallback&&
"1"==urlParams.tr&&(null==navigator.userAgent||0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?mxscript(App.TRELLO_JQUERY_URL,function(){mxscript(App.TRELLO_URL,function(){DrawTrelloClientCallback()})}):"undefined"===typeof window.Trello&&(window.TrelloClient=null)}null!=a&&a(b);"0"!=urlParams.chrome&&"1"==urlParams.test&&(EditorUi.debug("App.start",[b,(new Date).getTime()-t0.getTime()+"ms"]),null!=urlParams["export"]&&EditorUi.debug("Export:",EXPORT_URL))}mxResources.parse(b[0].getText());
if(isLocalStorage&&null!=localStorage&&null!=window.location.hash&&"#_CONFIG_"==window.location.hash.substring(0,9))try{var e=function(a){if(null!=a)for(var b=0;b<a.length;b++)if(!f[a[b]])throw Error(mxResources.get("invalidInput")+' "'+a[b])+'"';return!0},f={},g;for(g in App.pluginRegistry)f[App.pluginRegistry[g]]=!0;var k=JSON.parse(Graph.decompress(window.location.hash.substring(9)));null!=k&&e(k.plugins)&&(EditorUi.debug("Setting configuration",JSON.stringify(k)),confirm(mxResources.get("configLinkWarn"))&&
-confirm(mxResources.get("configLinkConfirm"))&&(localStorage.setItem(".configuration",JSON.stringify(k)),window.location.hash="",window.location.reload()));window.location.hash=""}catch(v){window.location.hash="",alert(v)}2<b.length&&(Graph.prototype.defaultThemes["default-style2"]=b[1].getDocumentElement(),Graph.prototype.defaultThemes.darkTheme=b[2].getDocumentElement());"1"==urlParams.dev||EditorUi.isElectronApp?c():App.loadScripts(["js/shapes.min.js","js/stencils.min.js","js/extensions.min.js"],
+confirm(mxResources.get("configLinkConfirm"))&&(localStorage.setItem(".configuration",JSON.stringify(k)),window.location.hash="",window.location.reload()));window.location.hash=""}catch(x){window.location.hash="",alert(x)}2<b.length&&(Graph.prototype.defaultThemes["default-style2"]=b[1].getDocumentElement(),Graph.prototype.defaultThemes.darkTheme=b[2].getDocumentElement());"1"==urlParams.dev||EditorUi.isElectronApp?c():App.loadScripts(["js/shapes.min.js","js/stencils.min.js","js/extensions.min.js"],
c)},function(a){a=document.getElementById("geStatus");null!=a&&(a.innerHTML="Error loading page. <a>Please try refreshing.</a>",a.getElementsByTagName("a")[0].onclick=function(){mxLanguage="en";b(mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,mxLanguage))})})}function c(){try{if(null!=mxSettings.settings){if(null!=mxSettings.settings.autosaveDelay){var a=parseInt(mxSettings.settings.autosaveDelay);!isNaN(a)&&0<a?(DrawioFile.prototype.autosaveDelay=
a,EditorUi.debug("Setting autosaveDelay",a)):EditorUi.debug("Invalid autosaveDelay",a)}null!=mxSettings.settings.defaultEdgeLength&&(a=parseInt(mxSettings.settings.defaultEdgeLength),!isNaN(a)&&0<a?(Graph.prototype.defaultEdgeLength=a,EditorUi.debug("Using defaultEdgeLength",a)):EditorUi.debug("Invalid defaultEdgeLength",a))}}catch(p){null!=window.console&&console.error(p)}mxResources.loadDefaultBundle=!1;b(mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,
-mxLanguage))}window.onerror=function(a,b,c,e,d){EditorUi.logError("Global: "+(null!=a?a:""),b,c,e,d,null,!0)};if(window.top==window.self&&(/ac\.draw\.io$/.test(window.location.hostname)||/ac-ent\.draw\.io$/.test(window.location.hostname)||/aj\.draw\.io$/.test(window.location.hostname)))document.body.innerHTML='<div style="margin-top:10%;text-align:center;">Stand-alone mode not allowed for this domain.</div>';else{if("1"==urlParams.embed||"1"==urlParams.lightbox){var g=document.getElementById("geInfo");
+mxLanguage))}window.onerror=function(a,b,c,d,e){EditorUi.logError("Global: "+(null!=a?a:""),b,c,d,e,null,!0)};if(window.top==window.self&&(/ac\.draw\.io$/.test(window.location.hostname)||/ac-ent\.draw\.io$/.test(window.location.hostname)||/aj\.draw\.io$/.test(window.location.hostname)))document.body.innerHTML='<div style="margin-top:10%;text-align:center;">Stand-alone mode not allowed for this domain.</div>';else{if("1"==urlParams.embed||"1"==urlParams.lightbox){var g=document.getElementById("geInfo");
null!=g&&g.parentNode.removeChild(g)}null!=document.referrer&&"aws3"==urlParams.libs&&"https://aws.amazon.com/architecture/icons/"==document.referrer.substring(0,42)&&(urlParams.libs="aws4");if(null!=window.mxscript){if("1"==urlParams.dev&&null!=CryptoJS&&"trello"!=urlParams.mode){g=document.getElementsByTagName("script");if(null!=g&&0<g.length){var f=mxUtils.getTextContent(g[0]);"f13d3aba97e718436f2562cef8787e06"!=CryptoJS.MD5(f).toString()&&(console.log("Change bootstrap script MD5 in the previous line:",
CryptoJS.MD5(f).toString()),alert("[Dev] Bootstrap script change requires update of CSP"))}null!=g&&1<g.length&&(f=mxUtils.getTextContent(g[g.length-1]),"d53805dd6f0bbba2da4966491ca0a505"!=CryptoJS.MD5(f).toString()&&(console.log("Change main script MD5 in the previous line:",CryptoJS.MD5(f).toString()),alert("[Dev] Main script change requires update of CSP")))}try{Editor.enableServiceWorker&&("0"==urlParams.offline||/www\.draw\.io$/.test(window.location.hostname)||"1"!=urlParams.offline&&"1"==urlParams.dev)?
-App.clearServiceWorker(function(){"0"==urlParams.offline&&alert("Cache cleared")}):Editor.enableServiceWorker&&navigator.serviceWorker.register("/service-worker.js")}catch(l){null!=window.console&&console.error(l)}!("ArrayBuffer"in window)||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||"auto"!=DrawioFile.SYNC||"1"==urlParams.embed&&"1"!=urlParams.embedRT||"1"==urlParams.local||"0"==urlParams.chrome&&"1"!=urlParams.rt||"1"==urlParams.stealth||"1"==urlParams.offline||mxscript(App.PUSHER_URL);if("0"!=
-urlParams.plugins&&"1"!=urlParams.offline){g=null!=mxSettings.settings?mxSettings.getPlugins():null;if(null==mxSettings.settings&&isLocalStorage&&"undefined"!==typeof JSON)try{var m=JSON.parse(localStorage.getItem(mxSettings.key));null!=m&&(g=m.plugins)}catch(l){}m=urlParams.p;App.initPluginCallback();null!=m&&App.loadPlugins(m.split(";"));if(null!=g&&0<g.length&&"0"!=urlParams.plugins){for(var m=window.location.protocol+"//"+window.location.host,f=!0,n=0;n<g.length&&f;n++)"/"!=g[n].charAt(0)&&g[n].substring(0,
-m.length)!=m&&(f=!1);if(f||mxUtils.confirm(mxResources.replacePlaceholders("The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n",[g.join("\n")]).replace(/\\n/g,"\n")))for(n=0;n<g.length;n++)try{null==App.pluginsLoaded[g[n]]&&(App.pluginsLoaded[g[n]]=!0,App.embedModePluginsCount++,"/"==g[n].charAt(0)&&(g[n]=PLUGINS_BASE_PATH+g[n]),mxscript(g[n]))}catch(l){}}}"function"===
-typeof window.DriveClient&&"undefined"===typeof gapi&&("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&isSvgBrowser&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode)?mxscript("https://apis.google.com/js/api.js?onload=DrawGapiClientCallback",null,null,null,mxClient.IS_SVG):"undefined"===typeof window.gapi&&(window.DriveClient=null)}"0"!=urlParams.math&&Editor.initMath();if("1"==urlParams.configure){var e=window.opener||window.parent,k=
-function(a){if(a.source==e)try{var b=JSON.parse(a.data);null!=b&&"configure"==b.action&&(mxEvent.removeListener(window,"message",k),Editor.configure(b.config,!0),mxSettings.load(),c())}catch(t){null!=window.console&&console.log("Error in configure message: "+t,a.data)}};mxEvent.addListener(window,"message",k);e.postMessage(JSON.stringify({event:"configure"}),"*")}else{if(null==Editor.config){if(null!=window.DRAWIO_CONFIG)try{EditorUi.debug("Using global configuration",window.DRAWIO_CONFIG),Editor.configure(window.DRAWIO_CONFIG),
-mxSettings.load()}catch(l){null!=window.console&&console.error(l)}if(isLocalStorage&&null!=localStorage&&"1"!=urlParams.embed&&(g=localStorage.getItem(".configuration"),null!=g))try{g=JSON.parse(g),null!=g&&(EditorUi.debug("Using local configuration",g),Editor.configure(g),mxSettings.load())}catch(l){null!=window.console&&console.error(l)}}c()}}};mxUtils.extend(App,EditorUi);App.prototype.defaultUserPicture="https://lh3.googleusercontent.com/-HIzvXUy6QUY/AAAAAAAAAAI/AAAAAAAAAAA/giuR7PQyjEk/photo.jpg?sz=64";
+App.clearServiceWorker(function(){"0"==urlParams.offline&&alert("Cache cleared")}):Editor.enableServiceWorker&&navigator.serviceWorker.register("/service-worker.js")}catch(l){null!=window.console&&console.error(l)}!("ArrayBuffer"in window)||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||"auto"!=DrawioFile.SYNC||"1"==urlParams.embed&&"1"!=urlParams.embedRT||"1"==urlParams.local||"0"==urlParams.chrome&&"1"!=urlParams.rt||"1"==urlParams.stealth||"1"==urlParams.offline||(mxscript(App.PUSHER_URL),"1"==
+urlParams.rtCursors&&mxscript(App.SOCKET_IO_URL));if("0"!=urlParams.plugins&&"1"!=urlParams.offline){g=null!=mxSettings.settings?mxSettings.getPlugins():null;if(null==mxSettings.settings&&isLocalStorage&&"undefined"!==typeof JSON)try{var m=JSON.parse(localStorage.getItem(mxSettings.key));null!=m&&(g=m.plugins)}catch(l){}m=urlParams.p;App.initPluginCallback();null!=m&&App.loadPlugins(m.split(";"));if(null!=g&&0<g.length&&"0"!=urlParams.plugins){for(var m=window.location.protocol+"//"+window.location.host,
+f=!0,n=0;n<g.length&&f;n++)"/"!=g[n].charAt(0)&&g[n].substring(0,m.length)!=m&&(f=!1);if(f||mxUtils.confirm(mxResources.replacePlaceholders("The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n",[g.join("\n")]).replace(/\\n/g,"\n")))for(n=0;n<g.length;n++)try{null==App.pluginsLoaded[g[n]]&&(App.pluginsLoaded[g[n]]=!0,App.embedModePluginsCount++,
+"/"==g[n].charAt(0)&&(g[n]=PLUGINS_BASE_PATH+g[n]),mxscript(g[n]))}catch(l){}}}"function"===typeof window.DriveClient&&"undefined"===typeof gapi&&("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&isSvgBrowser&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode)?mxscript("https://apis.google.com/js/api.js?onload=DrawGapiClientCallback",null,null,null,mxClient.IS_SVG):"undefined"===typeof window.gapi&&(window.DriveClient=null)}"0"!=urlParams.math&&
+Editor.initMath();if("1"==urlParams.configure){var e=window.opener||window.parent,k=function(a){if(a.source==e)try{var b=JSON.parse(a.data);null!=b&&"configure"==b.action&&(mxEvent.removeListener(window,"message",k),Editor.configure(b.config,!0),mxSettings.load(),c())}catch(t){null!=window.console&&console.log("Error in configure message: "+t,a.data)}};mxEvent.addListener(window,"message",k);e.postMessage(JSON.stringify({event:"configure"}),"*")}else{if(null==Editor.config){if(null!=window.DRAWIO_CONFIG)try{EditorUi.debug("Using global configuration",
+window.DRAWIO_CONFIG),Editor.configure(window.DRAWIO_CONFIG),mxSettings.load()}catch(l){null!=window.console&&console.error(l)}if(isLocalStorage&&null!=localStorage&&"1"!=urlParams.embed&&(g=localStorage.getItem(".configuration"),null!=g))try{g=JSON.parse(g),null!=g&&(EditorUi.debug("Using local configuration",g),Editor.configure(g),mxSettings.load())}catch(l){null!=window.console&&console.error(l)}}c()}}};mxUtils.extend(App,EditorUi);App.prototype.defaultUserPicture="https://lh3.googleusercontent.com/-HIzvXUy6QUY/AAAAAAAAAAI/AAAAAAAAAAA/giuR7PQyjEk/photo.jpg?sz=64";
App.prototype.shareImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowOTgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMjU2NzdEMTcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMjU2NzdEMDcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowNjgwMTE3NDA3MjA2ODExODcxRkM4MUY1OTFDMjQ5OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrM/fs0AAADgSURBVHjaYmDAA/7//88MwgzkAKDGFiD+BsQ/QWxSNaf9RwN37twpI8WAS+gGfP78+RpQSoRYA36iG/D379+vQClNdLVMOMz4gi7w79+/n0CKg1gD9qELvH379hzIHGK9oA508ieY8//8+fO5rq4uFCilRKwL1JmYmNhhHEZGRiZ+fn6Q2meEbDYG4u3/cYCfP38uA7kOm0ZOIJ7zn0jw48ePPiDFhmzArv8kgi9fvuwB+w5qwH9ykjswbFSZyM4sEMDPBDTlL5BxkFSd7969OwZ2BZKYGhDzkmjOJ4AAAwBhpRqGnEFb8QAAAABJRU5ErkJggg==";
App.prototype.chevronUpImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDg2NEE3NUY1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDg2NEE3NjA1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ODY0QTc1RDUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0ODY0QTc1RTUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pg+qUokAAAAMUExURQAAANnZ2b+/v////5bgre4AAAAEdFJOU////wBAKqn0AAAAL0lEQVR42mJgRgMMRAswMKAKMDDARBjg8lARBoR6KImkH0wTbygT6YaS4DmAAAMAYPkClOEDDD0AAAAASUVORK5CYII=":
IMAGE_PATH+"/chevron-up.png";
@@ -10964,10 +10970,10 @@ App.prototype.resetRecent=function(a){if(isLocalStorage&&null!=localStorage)try{
App.prototype.onBeforeUnload=function(){if("1"==urlParams.embed&&this.editor.modified)return mxResources.get("allChangesLost");var a=this.getCurrentFile();if(null!=a)if(a.constructor!=LocalFile||""!=a.getHash()||a.isModified()||"1"==urlParams.nowarn||this.isDiagramEmpty()||null!=urlParams.url||this.editor.isChromelessView()||null!=a.fileHandle){if(a.isModified())return mxResources.get("allChangesLost");a.close(!0)}else return mxResources.get("ensureDataSaved")};
App.prototype.updateDocumentTitle=function(){if(!this.editor.graph.isLightboxView()){var a=this.editor.appName,d=this.getCurrentFile();this.isOfflineApp()&&(a+=" app");null!=d&&(a=(null!=d.getTitle()?d.getTitle():this.defaultFilename)+" - "+a);document.title!=a&&(document.title=a,a=this.editor.graph,a.invalidateDescendantsWithPlaceholders(a.model.getRoot()),a.view.validate())}};
App.prototype.getThumbnail=function(a,d){var b=!1;try{var c=!0,g=window.setTimeout(mxUtils.bind(this,function(){c=!1;d(null)}),this.timeout),f=mxUtils.bind(this,function(a){window.clearTimeout(g);c&&d(a)});null==this.thumbImageCache&&(this.thumbImageCache={});var m=this.editor.graph,n=null!=m.themes&&"darkTheme"==m.defaultThemeName;if(null!=this.pages&&(n||this.currentPage!=this.pages[0])){var e=m.getGlobalVariable,m=this.createTemporaryGraph(n?m.getDefaultStylesheet():m.getStylesheet()),k=this.pages[0];
-n&&(m.defaultThemeName="default");m.getGlobalVariable=function(a){return"page"==a?k.getName():"pagenumber"==a?1:e.apply(this,arguments)};m.getGlobalVariable=e;document.body.appendChild(m.container);m.model.setRoot(k.root)}if(mxClient.IS_CHROMEAPP||this.useCanvasForExport)this.editor.exportToCanvas(mxUtils.bind(this,function(a){try{m!=this.editor.graph&&null!=m.container.parentNode&&m.container.parentNode.removeChild(m.container)}catch(C){a=null}f(a)}),a,this.thumbImageCache,"#ffffff",function(){f()},
-null,null,null,null,null,null,m),b=!0;else if(this.canvasSupported&&null!=this.getCurrentFile()){var l=document.createElement("canvas"),p=m.getGraphBounds(),t=a/p.width,t=Math.min(1,Math.min(3*a/(4*p.height),t)),u=Math.floor(p.x),q=Math.floor(p.y);l.setAttribute("width",Math.ceil(t*(p.width+4)));l.setAttribute("height",Math.ceil(t*(p.height+4)));var x=l.getContext("2d");x.scale(t,t);x.translate(-u,-q);var y=m.background;if(null==y||""==y||y==mxConstants.NONE)y="#ffffff";x.save();x.fillStyle=y;x.fillRect(u,
-q,Math.ceil(p.width+4),Math.ceil(p.height+4));x.restore();var v=new mxJsCanvas(l),A=new mxAsyncCanvas(this.thumbImageCache);v.images=this.thumbImageCache.images;var z=new mxImageExport;z.drawShape=function(a,b){a.shape instanceof mxShape&&a.shape.checkBounds()&&(b.save(),b.translate(.5,.5),a.shape.paint(b),b.translate(-.5,-.5),b.restore())};z.drawText=function(a,b){};z.drawState(m.getView().getState(m.model.root),A);A.finish(mxUtils.bind(this,function(){try{z.drawState(m.getView().getState(m.model.root),
-v),m!=this.editor.graph&&null!=m.container.parentNode&&m.container.parentNode.removeChild(m.container)}catch(B){l=null}f(l)}));b=!0}}catch(B){b=!1,null!=m&&m!=this.editor.graph&&null!=m.container.parentNode&&m.container.parentNode.removeChild(m.container)}b||window.clearTimeout(g);return b};
+n&&(m.defaultThemeName="default");m.getGlobalVariable=function(a){return"page"==a?k.getName():"pagenumber"==a?1:e.apply(this,arguments)};m.getGlobalVariable=e;document.body.appendChild(m.container);m.model.setRoot(k.root)}if(mxClient.IS_CHROMEAPP||this.useCanvasForExport)this.editor.exportToCanvas(mxUtils.bind(this,function(a){try{m!=this.editor.graph&&null!=m.container.parentNode&&m.container.parentNode.removeChild(m.container)}catch(A){a=null}f(a)}),a,this.thumbImageCache,"#ffffff",function(){f()},
+null,null,null,null,null,null,m),b=!0;else if(this.canvasSupported&&null!=this.getCurrentFile()){var l=document.createElement("canvas"),p=m.getGraphBounds(),t=a/p.width,t=Math.min(1,Math.min(3*a/(4*p.height),t)),u=Math.floor(p.x),q=Math.floor(p.y);l.setAttribute("width",Math.ceil(t*(p.width+4)));l.setAttribute("height",Math.ceil(t*(p.height+4)));var v=l.getContext("2d");v.scale(t,t);v.translate(-u,-q);var z=m.background;if(null==z||""==z||z==mxConstants.NONE)z="#ffffff";v.save();v.fillStyle=z;v.fillRect(u,
+q,Math.ceil(p.width+4),Math.ceil(p.height+4));v.restore();var x=new mxJsCanvas(l),B=new mxAsyncCanvas(this.thumbImageCache);x.images=this.thumbImageCache.images;var y=new mxImageExport;y.drawShape=function(a,b){a.shape instanceof mxShape&&a.shape.checkBounds()&&(b.save(),b.translate(.5,.5),a.shape.paint(b),b.translate(-.5,-.5),b.restore())};y.drawText=function(a,b){};y.drawState(m.getView().getState(m.model.root),B);B.finish(mxUtils.bind(this,function(){try{y.drawState(m.getView().getState(m.model.root),
+x),m!=this.editor.graph&&null!=m.container.parentNode&&m.container.parentNode.removeChild(m.container)}catch(C){l=null}f(l)}));b=!0}}catch(C){b=!1,null!=m&&m!=this.editor.graph&&null!=m.container.parentNode&&m.container.parentNode.removeChild(m.container)}b||window.clearTimeout(g);return b};
App.prototype.createBackground=function(){var a=this.createDiv("background");a.style.position="absolute";a.style.background="white";a.style.left="0px";a.style.top="0px";a.style.bottom="0px";a.style.right="0px";mxUtils.setOpacity(a,100);return a};
(function(){var a=EditorUi.prototype.setMode;App.prototype.setMode=function(d,b){a.apply(this,arguments);null!=this.mode&&(Editor.useLocalStorage=this.mode==App.MODE_BROWSER);if(null!=this.appIcon){var c=this.getCurrentFile();d=null!=c?c.getMode():d;d==App.MODE_GOOGLE?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("googleDrive")])),this.appIcon.style.cursor="pointer"):d==App.MODE_DROPBOX?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("dropbox")])),
this.appIcon.style.cursor="pointer"):d==App.MODE_ONEDRIVE?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("oneDrive")])),this.appIcon.style.cursor="pointer"):(this.appIcon.removeAttribute("title"),this.appIcon.style.cursor=d==App.MODE_DEVICE?"pointer":"default")}if(b)try{if(isLocalStorage)localStorage.setItem(".mode",d);else if("undefined"!=typeof Storage){var g=new Date;g.setYear(g.getFullYear()+1);document.cookie="MODE="+d+"; expires="+g.toUTCString()}}catch(f){}}})();
@@ -11055,9 +11061,9 @@ App.prototype.getLibraryStorageHint=function(a){var d=a.getTitle();a.constructor
mxResources.get("browser")+")":a.constructor==LocalLibrary&&(d+=" ("+mxResources.get("device")+")");return d};App.prototype.restoreLibraries=function(){this.loadLibraries(mxSettings.getCustomLibraries(),mxUtils.bind(this,function(){this.loadLibraries((urlParams.clibs||"").split(";"))}))};
App.prototype.loadLibraries=function(a,d){if(null!=this.sidebar){null==this.pendingLibraries&&(this.pendingLibraries={});var b=mxUtils.bind(this,function(a,b){b||mxSettings.removeCustomLibrary(a);delete this.pendingLibraries[a]}),c=0,g=[],f=mxUtils.bind(this,function(){if(0==c){if(null!=a)for(var b=a.length-1;0<=b;b--)null!=g[b]&&this.loadLibrary(g[b]);null!=d&&d()}});if(null!=a)for(var m=0;m<a.length;m++){var n=encodeURIComponent(decodeURIComponent(a[m]));mxUtils.bind(this,function(a,d){if(null!=
a&&0<a.length&&null==this.pendingLibraries[a]&&null==this.sidebar.palettes[a]){c++;var e=mxUtils.bind(this,function(b){delete this.pendingLibraries[a];g[d]=b;c--;f()}),k=mxUtils.bind(this,function(d){b(a,d);c--;f()});this.pendingLibraries[a]=!0;var m=a.substring(0,1);if("L"==m)(isLocalStorage||mxClient.IS_CHROMEAPP)&&window.setTimeout(mxUtils.bind(this,function(){try{var b=decodeURIComponent(a.substring(1));StorageFile.getFileContent(this,b,mxUtils.bind(this,function(a){".scratchpad"==b&&null==a&&
-(a=this.emptyLibraryXml);null!=a?e(new StorageLibrary(this,a,b)):k()}),k)}catch(v){k()}}),0);else if("U"==m){var n=decodeURIComponent(a.substring(1));this.isOffline()||this.loadTemplate(n,mxUtils.bind(this,function(a){null!=a&&0<a.length?e(new UrlLibrary(this,a,n)):k()}),function(){k()},null,!0)}else if("R"==m){m=decodeURIComponent(a.substring(1));try{var m=JSON.parse(m),q={id:m[0],title:m[1],downloadUrl:m[2]};this.remoteInvoke("getFileContent",[q.downloadUrl],null,mxUtils.bind(this,function(a){try{e(new RemoteLibrary(this,
-a,q))}catch(v){k()}}),function(){k()})}catch(y){k()}}else if("S"==m&&null!=this.loadDesktopLib)try{this.loadDesktopLib(decodeURIComponent(a.substring(1)),function(a){e(a)},k)}catch(y){k()}else{var x=null;"G"==m?null!=this.drive&&null!=this.drive.user&&(x=this.drive):"H"==m?null!=this.gitHub&&null!=this.gitHub.getUser()&&(x=this.gitHub):"T"==m?null!=this.trello&&this.trello.isAuthorized()&&(x=this.trello):"D"==m?null!=this.dropbox&&null!=this.dropbox.getUser()&&(x=this.dropbox):"W"==m&&null!=this.oneDrive&&
-null!=this.oneDrive.getUser()&&(x=this.oneDrive);null!=x?x.getLibrary(decodeURIComponent(a.substring(1)),mxUtils.bind(this,function(a){try{e(a)}catch(v){k()}}),function(a){k()}):k(!0)}}})(n,m)}f()}};
+(a=this.emptyLibraryXml);null!=a?e(new StorageLibrary(this,a,b)):k()}),k)}catch(x){k()}}),0);else if("U"==m){var n=decodeURIComponent(a.substring(1));this.isOffline()||this.loadTemplate(n,mxUtils.bind(this,function(a){null!=a&&0<a.length?e(new UrlLibrary(this,a,n)):k()}),function(){k()},null,!0)}else if("R"==m){m=decodeURIComponent(a.substring(1));try{var m=JSON.parse(m),q={id:m[0],title:m[1],downloadUrl:m[2]};this.remoteInvoke("getFileContent",[q.downloadUrl],null,mxUtils.bind(this,function(a){try{e(new RemoteLibrary(this,
+a,q))}catch(x){k()}}),function(){k()})}catch(z){k()}}else if("S"==m&&null!=this.loadDesktopLib)try{this.loadDesktopLib(decodeURIComponent(a.substring(1)),function(a){e(a)},k)}catch(z){k()}else{var v=null;"G"==m?null!=this.drive&&null!=this.drive.user&&(v=this.drive):"H"==m?null!=this.gitHub&&null!=this.gitHub.getUser()&&(v=this.gitHub):"T"==m?null!=this.trello&&this.trello.isAuthorized()&&(v=this.trello):"D"==m?null!=this.dropbox&&null!=this.dropbox.getUser()&&(v=this.dropbox):"W"==m&&null!=this.oneDrive&&
+null!=this.oneDrive.getUser()&&(v=this.oneDrive);null!=v?v.getLibrary(decodeURIComponent(a.substring(1)),mxUtils.bind(this,function(a){try{e(a)}catch(x){k()}}),function(a){k()}):k(!0)}}})(n,m)}f()}};
App.prototype.updateButtonContainer=function(){if(null!=this.buttonContainer){var a=this.getCurrentFile();this.commentsSupported()?null==this.commentButton&&(this.commentButton=document.createElement("a"),this.commentButton.setAttribute("title",mxResources.get("comments")),this.commentButton.className="geToolbarButton",this.commentButton.style.cssText="display:inline-block;position:relative;box-sizing:border-box;margin-right:4px;float:left;cursor:pointer;width:24px;height:24px;background-size:24px 24px;background-position:center center;background-repeat:no-repeat;background-image:url("+
Editor.commentImage+");","atlas"==uiTheme?(this.commentButton.style.marginRight="10px",this.commentButton.style.marginTop="-3px"):this.commentButton.style.marginTop="min"==uiTheme?"1px":"-5px",mxEvent.addListener(this.commentButton,"click",mxUtils.bind(this,function(){this.actions.get("comments").funct()})),this.buttonContainer.appendChild(this.commentButton),"dark"==uiTheme||"atlas"==uiTheme)&&(this.commentButton.style.filter="invert(100%)"):null!=this.commentButton&&(this.commentButton.parentNode.removeChild(this.commentButton),
this.commentButton=null);"1"==urlParams.embed||"draw.io"!=this.getServiceName()||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||this.isOfflineApp()||(null!=a?null==this.shareButton&&(this.shareButton=document.createElement("div"),this.shareButton.className="geBtn gePrimaryBtn",this.shareButton.style.display="inline-block",this.shareButton.style.backgroundColor="#F2931E",this.shareButton.style.borderColor="#F08705",this.shareButton.style.backgroundImage="none",this.shareButton.style.padding="2px 10px 0 10px",
@@ -11065,12 +11071,13 @@ this.shareButton.style.marginTop="-10px",this.shareButton.style.height="28px",th
"black",a.style.filter="invert(100%)"),mxUtils.write(this.shareButton,mxResources.get("share")),mxEvent.addListener(this.shareButton,"click",mxUtils.bind(this,function(){this.actions.get("share").funct()})),this.buttonContainer.appendChild(this.shareButton)):null!=this.shareButton&&(this.shareButton.parentNode.removeChild(this.shareButton),this.shareButton=null),this.fetchAndShowNotification("device"==this.mode||"google"==this.mode?this.mode:null))}};
App.prototype.fetchAndShowNotification=function(a){a=a||"online";mxUtils.get(NOTIFICATIONS_URL+"?target="+a,mxUtils.bind(this,function(d){if(200<=d.getStatus()&&299>=d.getStatus()){d=JSON.parse(d.getText());for(var b=a+"NotifReadTS",c=parseInt(localStorage.getItem(b)),g=0;g<d.length;g++)d[g].isNew=!c||d[g].timestamp>c;d.sort(function(a,b){return b.timestamp-a.timestamp});this.showNotification(d,b)}}))};
App.prototype.showNotification=function(a,d){function b(a){var b=document.querySelector(".geNotification-count");null==b?EditorUi.logError("Error: element (.geNotification-count) is null in showNotification in shouldAnimate",null,5769):(b.innerHTML=a,b.style.display=0==a?"none":"",b=document.querySelector(".geNotification-bell"),b.style.animation=0==a?"none":"",b.className="geNotification-bell"+(0==a?" geNotification-bellOff":""),document.querySelector(".geBell-rad").style.animation=0==a?"none":"")}
-var c=mxUtils.bind(this,function(){this.notificationWin.style.display="none";for(var b=this.notificationWin.querySelectorAll(".circle.active"),c=0;c<b.length;c++)b[c].className="circle";a[0]&&localStorage.setItem(d,a[0].timestamp)});null==this.notificationBtn&&(this.notificationBtn=document.createElement("div"),this.notificationBtn.className="geNotification-box","min"==uiTheme&&(this.notificationBtn.style.top="4px"),this.notificationBtn.innerHTML='<span class="geNotification-count"></span><div class="geNotification-bell"'+
-("min"==uiTheme?' style="opacity: 0.5"':"")+'><span class="geBell-top"></span><span class="geBell-middle"></span><span class="geBell-bottom"></span><span class="geBell-rad"></span></div>',this.buttonContainer.insertBefore(this.notificationBtn,this.buttonContainer.firstChild),this.notificationWin=document.createElement("div"),this.notificationWin.className="geNotifPanel",this.notificationWin.style.display="none",document.body.appendChild(this.notificationWin),this.notificationWin.innerHTML='<div class="header"> <div class="menu-icon"> <div class="dash-top"></div> <div class="dash-bottom"></div> <div class="circle"></div> </div> <span class="title">'+
-mxResources.get("notifications")+'</span> <span id="geNotifClose" class="closeBtn">x</span></div><div class="notifications clearfix">\t<div id="geNotifList" style="position: relative"></div></div>',mxEvent.addListener(this.notificationBtn,"click",mxUtils.bind(this,function(){if("none"==this.notificationWin.style.display){this.notificationWin.style.display="";document.querySelector(".notifications").scrollTop=0;var a=this.notificationBtn.getBoundingClientRect();this.notificationWin.style.top=a.top+
-this.notificationBtn.clientHeight+"px";this.notificationWin.style.left=a.right-this.notificationWin.clientWidth+"px";b(0)}else c()})),mxEvent.addListener(document.getElementById("geNotifClose"),"click",c));var g=0,f=document.getElementById("geNotifList");if(null==f)EditorUi.logError("Error: element (geNotifList) is null in showNotification",null,5859);else if(0==a.length)f.innerHTML='<div class="line"></div><div class="notification">'+mxUtils.htmlEntities(mxResources.get("none"))+"</div>";else{f.innerHTML=
-'<div class="line"></div>';for(var m=0;m<a.length;m++)(function(a,b){b.isNew&&g++;var c=document.createElement("div");c.className="notification";var d=a.timeSince(new Date(b.timestamp));null==d&&(d=mxResources.get("lessThanAMinute"));c.innerHTML='<div class="circle'+(b.isNew?" active":"")+'"></div><span class="time">'+mxUtils.htmlEntities(mxResources.get("timeAgo",[d],"{1} ago"))+"</span><p>"+mxUtils.htmlEntities(b.content)+"</p>";b.link&&mxEvent.addListener(c,"click",function(){window.open(b.link,
-"notifWin")});f.appendChild(c)})(this,a[m])}b(g)};
+var c=mxUtils.bind(this,function(){this.notificationWin.style.display="none";for(var b=this.notificationWin.querySelectorAll(".circle.active"),c=0;c<b.length;c++)b[c].className="circle";a[0]&&localStorage.setItem(d,a[0].timestamp)});if(null==this.notificationBtn){this.notificationBtn=document.createElement("div");this.notificationBtn.className="geNotification-box";"min"==uiTheme&&(this.notificationBtn.style.top="4px");var g=document.createElement("span");g.className="geNotification-count";this.notificationBtn.appendChild(g);
+g=document.createElement("div");g.className="geNotification-bell";g.style.opacity="min"==uiTheme?"0.5":"";var f=document.createElement("span");f.className="geBell-top";g.appendChild(f);f=document.createElement("span");f.className="geBell-middle";g.appendChild(f);f=document.createElement("span");f.className="geBell-bottom";g.appendChild(f);f=document.createElement("span");f.className="geBell-rad";g.appendChild(f);this.notificationBtn.appendChild(g);this.buttonContainer.insertBefore(this.notificationBtn,
+this.buttonContainer.firstChild);this.notificationWin=document.createElement("div");this.notificationWin.className="geNotifPanel";this.notificationWin.style.display="none";document.body.appendChild(this.notificationWin);f=document.createElement("div");f.className="header";g=document.createElement("span");g.className="title";g.textContent=mxResources.get("notifications");f.appendChild(g);g=document.createElement("span");g.className="closeBtn";g.textContent="x";f.appendChild(g);this.notificationWin.appendChild(f);
+f=document.createElement("div");f.className="notifications clearfix";var m=document.createElement("div");m.setAttribute("id","geNotifList");m.style.position="relative";f.appendChild(m);this.notificationWin.appendChild(f);mxEvent.addListener(this.notificationBtn,"click",mxUtils.bind(this,function(){if("none"==this.notificationWin.style.display){this.notificationWin.style.display="";document.querySelector(".notifications").scrollTop=0;var a=this.notificationBtn.getBoundingClientRect();this.notificationWin.style.top=
+a.top+this.notificationBtn.clientHeight+"px";this.notificationWin.style.left=a.right-this.notificationWin.clientWidth+"px";b(0)}else c()}));mxEvent.addListener(g,"click",c)}var n=0,e=document.getElementById("geNotifList");if(null==e)EditorUi.logError("Error: element (geNotifList) is null in showNotification",null,5859);else if(0==a.length)e.innerHTML='<div class="line"></div><div class="notification">'+mxUtils.htmlEntities(mxResources.get("none"))+"</div>";else for(e.innerHTML='<div class="line"></div>',
+g=0;g<a.length;g++)(function(a,b){b.isNew&&n++;var c=document.createElement("div");c.className="notification";var d=a.timeSince(new Date(b.timestamp));null==d&&(d=mxResources.get("lessThanAMinute"));c.innerHTML='<div class="circle'+(b.isNew?" active":"")+'"></div><span class="time">'+mxUtils.htmlEntities(mxResources.get("timeAgo",[d],"{1} ago"))+"</span><p>"+mxUtils.htmlEntities(b.content)+"</p>";b.link&&mxEvent.addListener(c,"click",function(){window.open(b.link,"notifWin")});e.appendChild(c)})(this,
+a[g]);b(n)};
App.prototype.save=function(a,d){var b=this.getCurrentFile();if(null!=b&&this.spinner.spin(document.body,mxResources.get("saving"))){this.editor.setStatus("");this.editor.graph.isEditing()&&this.editor.graph.stopEditing();var c=mxUtils.bind(this,function(){b.handleFileSuccess(!0);null!=d&&d()}),g=mxUtils.bind(this,function(c){b.isModified()&&Editor.addRetryToError(c,mxUtils.bind(this,function(){this.save(a,d)}));b.handleFileError(c,!0)});try{a==b.getTitle()?b.save(!0,c,g):b.saveAs(a,c,g)}catch(f){g(f)}}};
App.prototype.pickFolder=function(a,d,b,c,g){b=null!=b?b:!0;var f=this.spinner.pause();b&&a==App.MODE_GOOGLE&&null!=this.drive?this.drive.pickFolder(mxUtils.bind(this,function(a){f();if(a.action==google.picker.Action.PICKED){var b=null;null!=a.docs&&0<a.docs.length&&"folder"==a.docs[0].type&&(b=a.docs[0].id);d(b)}}),g):b&&a==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.pickFolder(mxUtils.bind(this,function(a){f();null!=a&&null!=a.value&&0<a.value.length&&(a=OneDriveFile.prototype.getIdOf(a.value[0]),
d(a))}),c):b&&a==App.MODE_GITHUB&&null!=this.gitHub?this.gitHub.pickFolder(mxUtils.bind(this,function(a){f();d(a)})):b&&a==App.MODE_GITLAB&&null!=this.gitLab?this.gitLab.pickFolder(mxUtils.bind(this,function(a){f();d(a)})):b&&a==App.MODE_TRELLO&&null!=this.trello?this.trello.pickFolder(mxUtils.bind(this,function(a){f();d(a)})):EditorUi.prototype.pickFolder.apply(this,arguments)};
@@ -11083,8 +11090,8 @@ window.location.hash=d:0<window.location.hash.length&&(window.location.hash=""))
App.prototype.showAuthDialog=function(a,d,b,c){var g=this.spinner.pause();this.showDialog((new AuthDialog(this,a,d,mxUtils.bind(this,function(a){try{null!=b&&b(a,mxUtils.bind(this,function(){this.hideDialog();g()}))}catch(m){this.editor.setStatus(mxUtils.htmlEntities(m.message))}}))).container,300,d?180:140,!0,!0,mxUtils.bind(this,function(a){null!=c&&c(a);a&&null==this.getCurrentFile()&&null==this.dialog&&this.showSplash()}))};
App.prototype.convertFile=function(a,d,b,c,g,f,m,n){var e=d;/\.svg$/i.test(e)||(e=e.substring(0,d.lastIndexOf("."))+c);var k=!1;null!=this.gitHub&&a.substring(0,this.gitHub.baseUrl.length)==this.gitHub.baseUrl&&(k=!0);if(/\.v(dx|sdx?)$/i.test(d)&&Graph.fileSupport&&(new XMLHttpRequest).upload&&"string"===typeof(new XMLHttpRequest).responseType){var l=new XMLHttpRequest;l.open("GET",a,!0);k||(l.responseType="blob");if(n)for(var p in n)l.setRequestHeader(p,n[p]);l.onload=mxUtils.bind(this,function(){if(200<=
l.status&&299>=l.status){var a=null;k?(a=JSON.parse(l.responseText),a=this.base64ToBlob(a.content,"application/octet-stream")):a=new Blob([l.response],{type:"application/octet-stream"});this.importVisio(a,mxUtils.bind(this,function(a){g(new LocalFile(this,a,e,!0))}),f,d)}else null!=f&&f({message:mxResources.get("errorLoadingFile")})});l.onerror=f;l.send()}else{var t=mxUtils.bind(this,function(b){try{if(/\.pdf$/i.test(d)){var c=Editor.extractGraphModelFromPdf(b);null!=c&&0<c.length&&g(new LocalFile(this,
-c,e,!0))}else/\.png$/i.test(d)?(c=this.extractGraphModelFromPng(b),null!=c?g(new LocalFile(this,c,e,!0)):g(new LocalFile(this,b,d,!0))):Graph.fileSupport&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(b,a)?this.parseFile(new Blob([b],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?g(new LocalFile(this,a.responseText,e,!0)):null!=f&&f({message:mxResources.get("errorLoadingFile")}))}),d):g(new LocalFile(this,b,e,!0))}catch(x){null!=
-f&&f(x)}});b=/\.png$/i.test(d)||/\.jpe?g$/i.test(d)||/\.pdf$/i.test(d)||null!=b&&"image/"==b.substring(0,6);k?mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=g){a=JSON.parse(a.getText());var b=a.content;"base64"===a.encoding&&(b=/\.png$/i.test(d)?"data:image/png;base64,"+b:/\.pdf$/i.test(d)?"data:application/pdf;base64,"+b:!window.atob||mxClient.IS_IE||mxClient.IS_IE11?Base64.decode(b):atob(b));t(b)}}else null!=f&&f({code:App.ERROR_UNKNOWN})}),function(){null!=
+c,e,!0))}else/\.png$/i.test(d)?(c=this.extractGraphModelFromPng(b),null!=c?g(new LocalFile(this,c,e,!0)):g(new LocalFile(this,b,d,!0))):Graph.fileSupport&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(b,a)?this.parseFile(new Blob([b],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?g(new LocalFile(this,a.responseText,e,!0)):null!=f&&f({message:mxResources.get("errorLoadingFile")}))}),d):g(new LocalFile(this,b,e,!0))}catch(v){null!=
+f&&f(v)}});b=/\.png$/i.test(d)||/\.jpe?g$/i.test(d)||/\.pdf$/i.test(d)||null!=b&&"image/"==b.substring(0,6);k?mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=g){a=JSON.parse(a.getText());var b=a.content;"base64"===a.encoding&&(b=/\.png$/i.test(d)?"data:image/png;base64,"+b:/\.pdf$/i.test(d)?"data:application/pdf;base64,"+b:!window.atob||mxClient.IS_IE||mxClient.IS_IE11?Base64.decode(b):atob(b));t(b)}}else null!=f&&f({code:App.ERROR_UNKNOWN})}),function(){null!=
f&&f({code:App.ERROR_UNKNOWN})},!1,this.timeout,function(){null!=f&&f({code:App.ERROR_TIMEOUT,retry:fn})},n):null!=m?m(a,t,f,b):this.editor.loadUrl(a,t,f,b,null,null,null,n)}};
App.prototype.updateHeader=function(){if(null!=this.menubar){this.appIcon=document.createElement("a");this.appIcon.style.display="block";this.appIcon.style.position="absolute";this.appIcon.style.width="32px";this.appIcon.style.height=this.menubarHeight-28+"px";this.appIcon.style.margin="14px 0px 8px 16px";this.appIcon.style.opacity="0.85";this.appIcon.style.borderRadius="3px";"dark"!=uiTheme&&(this.appIcon.style.backgroundColor="#f08705");mxEvent.disableContextMenu(this.appIcon);mxEvent.addListener(this.appIcon,
"click",mxUtils.bind(this,function(a){this.appIconClicked(a)}));var a=mxClient.IS_SVG?"dark"==uiTheme?"url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzA2LjE4NSAxMjAuMjk2IgogICB2aWV3Qm94PSIyNCAyNiA2OCA2OCIKICAgeT0iMHB4IgogICB4PSIwcHgiCiAgIHZlcnNpb249IjEuMSI+CiAgIAkgPGc+PGxpbmUKICAgICAgIHkyPSI3Mi4zOTQiCiAgICAgICB4Mj0iNDEuMDYxIgogICAgICAgeTE9IjQzLjM4NCIKICAgICAgIHgxPSI1OC4wNjkiCiAgICAgICBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiCiAgICAgICBzdHJva2Utd2lkdGg9IjMuNTUyOCIKICAgICAgIHN0cm9rZT0iI0ZGRkZGRiIKICAgICAgIGZpbGw9Im5vbmUiIC8+PGxpbmUKICAgICAgIHkyPSI3Mi4zOTQiCiAgICAgICB4Mj0iNzUuMDc2IgogICAgICAgeTE9IjQzLjM4NCIKICAgICAgIHgxPSI1OC4wNjgiCiAgICAgICBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiCiAgICAgICBzdHJva2Utd2lkdGg9IjMuNTAwOCIKICAgICAgIHN0cm9rZT0iI0ZGRkZGRiIKICAgICAgIGZpbGw9Im5vbmUiIC8+PGc+PHBhdGgKICAgICAgICAgZD0iTTUyLjc3Myw3Ny4wODRjMCwxLjk1NC0xLjU5OSwzLjU1My0zLjU1MywzLjU1M0gzNi45OTljLTEuOTU0LDAtMy41NTMtMS41OTktMy41NTMtMy41NTN2LTkuMzc5ICAgIGMwLTEuOTU0LDEuNTk5LTMuNTUzLDMuNTUzLTMuNTUzaDEyLjIyMmMxLjk1NCwwLDMuNTUzLDEuNTk5LDMuNTUzLDMuNTUzVjc3LjA4NHoiCiAgICAgICAgIGZpbGw9IiNGRkZGRkYiIC8+PC9nPjxnCiAgICAgICBpZD0iZzM0MTkiPjxwYXRoCiAgICAgICAgIGQ9Ik02Ny43NjIsNDguMDc0YzAsMS45NTQtMS41OTksMy41NTMtMy41NTMsMy41NTNINTEuOTg4Yy0xLjk1NCwwLTMuNTUzLTEuNTk5LTMuNTUzLTMuNTUzdi05LjM3OSAgICBjMC0xLjk1NCwxLjU5OS0zLjU1MywzLjU1My0zLjU1M0g2NC4yMWMxLjk1NCwwLDMuNTUzLDEuNTk5LDMuNTUzLDMuNTUzVjQ4LjA3NHoiCiAgICAgICAgIGZpbGw9IiNGRkZGRkYiIC8+PC9nPjxnPjxwYXRoCiAgICAgICAgIGQ9Ik04Mi43NTIsNzcuMDg0YzAsMS45NTQtMS41OTksMy41NTMtMy41NTMsMy41NTNINjYuOTc3Yy0xLjk1NCwwLTMuNTUzLTEuNTk5LTMuNTUzLTMuNTUzdi05LjM3OSAgICBjMC0xLjk1NCwxLjU5OS0zLjU1MywzLjU1My0zLjU1M2gxMi4yMjJjMS45NTQsMCwzLjU1MywxLjU5OSwzLjU1MywzLjU1M1Y3Ny4wODR6IgogICAgICAgICBmaWxsPSIjRkZGRkZGIiAvPjwvZz48L2c+PC9zdmc+)":
@@ -11152,92 +11159,92 @@ function(){c.editor.setAutosave(!c.editor.autosave)});p.setToggleAction(!0);p.se
new Action(mxResources.get("formatSvg")+"...",function(){c.showExportDialog(mxResources.get("formatSvg"),!0,mxResources.get("export"),"https://www.diagrams.net/doc/faq/export-diagram",mxUtils.bind(this,function(a,b,d,e,f,g,k,l,m,n,p,q,t){a=parseInt(a);!isNaN(a)&&0<a&&c.exportSvg(a/100,b,d,e,f,g,k,!l,!1,n,q,t)}),!0,null,"svg",!0)}));c.actions.put("exportPng",new Action(mxResources.get("formatPng")+"...",function(){c.isExportToCanvas()?c.showExportDialog(mxResources.get("image"),!1,mxResources.get("export"),
"https://www.diagrams.net/doc/faq/export-diagram",mxUtils.bind(this,function(a,b,d,e,f,g,k,l,m,n,p,q,t){a=parseInt(a);!isNaN(a)&&0<a&&c.exportImage(a/100,b,d,e,f,k,!l,!1,null,p,null,q,t)}),!0,!0,"png",!0):c.isOffline()||mxClient.IS_IOS&&navigator.standalone||c.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this,function(a,b,d,e,f){c.downloadFile(b?"xmlpng":"png",null,null,a,null,null,d,e,f)}),!1,!0)}));c.actions.put("exportJpg",new Action(mxResources.get("formatJpg")+"...",function(){c.isExportToCanvas()?
c.showExportDialog(mxResources.get("image"),!1,mxResources.get("export"),"https://www.diagrams.net/doc/faq/export-diagram",mxUtils.bind(this,function(a,b,d,e,f,g,k,l,m,n,p,q,t){a=parseInt(a);!isNaN(a)&&0<a&&c.exportImage(a/100,!1,d,e,!1,k,!l,!1,"jpeg",p,null,q,t)}),!0,!1,"jpeg",!0):c.isOffline()||mxClient.IS_IOS&&navigator.standalone||c.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this,function(a,b,d,e,f){c.downloadFile("jpeg",null,null,a,null,null,null,e,f)}),!0,!0)}));l=c.actions.addAction("copyAsImage",
-mxUtils.bind(this,function(){var a=c.editor.graph,b=mxUtils.sortCells(a.model.getTopmostCells(a.getSelectionCells())),a=mxUtils.getXml(a.encodeCells(b));c.copyImage(b,a,"png",2)}));l.visible=Editor.enableNativeCipboard&&c.isExportToCanvas();l=c.actions.put("shadowVisible",new Action(mxResources.get("shadow"),function(){g.setShadowVisible(!g.shadowVisible)}));l.setToggleAction(!0);l.setSelectedCallback(function(){return g.shadowVisible});c.actions.put("about",new Action(mxResources.get("about")+" "+
-EditorUi.VERSION+"...",function(){c.isOffline()||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?c.alert(c.editor.appName+" "+EditorUi.VERSION):c.openLink("https://www.diagrams.net/")}));c.actions.addAction("support...",function(){EditorUi.isElectronApp?c.openLink("https://github.com/jgraph/drawio-desktop/wiki/Getting-Support"):c.openLink("https://github.com/jgraph/drawio/wiki/Getting-Support")});c.actions.addAction("exportOptionsDisabled...",function(){c.handleError({message:mxResources.get("exportOptionsDisabledDetails")},
-mxResources.get("exportOptionsDisabled"))});c.actions.addAction("keyboardShortcuts...",function(){!mxClient.IS_SVG||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?c.openLink("https://viewer.diagrams.net/#Uhttps%3A%2F%2Fviewer.diagrams.net%2Fshortcuts.svg"):c.openLink("shortcuts.svg")});c.actions.addAction("feedback...",function(){var a=new FeedbackDialog(c);c.showDialog(a.container,610,360,!0,!1);a.init()});c.actions.addAction("quickStart...",function(){c.openLink("https://www.youtube.com/watch?v=Z0D96ZikMkc")});
-c.actions.addAction("forkme",function(){EditorUi.isElectronApp?c.openLink("https://github.com/jgraph/drawio-desktop"):c.openLink("https://github.com/jgraph/drawio")}).label="Fork me on GitHub...";c.actions.addAction("downloadDesktop...",function(){c.openLink("https://get.diagrams.net/")});l=c.actions.addAction("tags...",mxUtils.bind(this,function(){null==this.tagsWindow?(this.tagsWindow=new TagsWindow(c,document.body.offsetWidth-380,230,300,120),this.tagsWindow.window.addListener("show",function(){c.fireEvent(new mxEventObject("tags"))}),
-this.tagsWindow.window.addListener("hide",function(){c.fireEvent(new mxEventObject("tags"))}),this.tagsWindow.window.setVisible(!0),c.fireEvent(new mxEventObject("tags"))):this.tagsWindow.window.setVisible(!this.tagsWindow.window.isVisible())}));l.setToggleAction(!0);l.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.tagsWindow&&this.tagsWindow.window.isVisible()}));l=c.actions.addAction("findReplace...",mxUtils.bind(this,function(){var a=g.isEnabled()?"findReplace":"find",b=a+"Window";
-null==this[b]?(this[b]=new FindWindow(c,document.body.offsetWidth-320,100,g.isEnabled()?300:240,g.isEnabled()?288:160,g.isEnabled()),this[b].window.addListener("show",function(){c.fireEvent(new mxEventObject(a))}),this[b].window.addListener("hide",function(){c.fireEvent(new mxEventObject(a))}),this[b].window.setVisible(!0)):this[b].window.setVisible(!this[b].window.isVisible())}),null,null,Editor.ctrlKey+"+F");l.setToggleAction(!0);l.setSelectedCallback(mxUtils.bind(this,function(){var a=g.isEnabled()?
-"findReplaceWindow":"findWindow";return null!=this[a]&&this[a].window.isVisible()}));c.actions.put("exportVsdx",new Action(mxResources.get("formatVsdx")+" (beta)...",function(){c.exportVisio()}));isLocalStorage&&null!=localStorage&&"1"!=urlParams.embed&&c.actions.addAction("configuration...",function(){var a=localStorage.getItem(".configuration"),b=[[mxResources.get("reset"),function(a,b){c.confirm(mxResources.get("areYouSure"),function(){try{localStorage.removeItem(".configuration"),mxEvent.isShiftDown(a)&&
-(localStorage.removeItem(".drawio-config"),localStorage.removeItem(".mode")),c.hideDialog(),c.alert(mxResources.get("restartForChangeRequired"))}catch(D){c.handleError(D)}})}]];EditorUi.isElectronApp||b.push([mxResources.get("link"),function(a,b){if(0<b.value.length)try{var d=JSON.parse(b.value),e=window.location.protocol+"//"+window.location.host+"/"+c.getSearch()+"#_CONFIG_"+Graph.compress(JSON.stringify(d)),f=new EmbedDialog(c,e);c.showDialog(f.container,440,240,!0);f.init()}catch(I){c.handleError(I)}else c.handleError({message:mxResources.get("invalidInput")})}]);
-a=new TextareaDialog(c,mxResources.get("configuration")+":",null!=a?JSON.stringify(JSON.parse(a),null,2):"",function(a){if(null!=a)try{if(0<a.length){var b=JSON.parse(a);localStorage.setItem(".configuration",JSON.stringify(b))}else localStorage.removeItem(".configuration");c.hideDialog();c.alert(mxResources.get("restartForChangeRequired"))}catch(D){c.handleError(D)}},null,null,null,null,null,!0,null,null,"https://www.diagrams.net/doc/faq/configure-diagram-editor",b);a.textarea.style.width="600px";
-a.textarea.style.height="380px";c.showDialog(a.container,620,460,!0,!1);a.init()});if(mxClient.IS_CHROMEAPP||isLocalStorage){this.put("language",new Menu(mxUtils.bind(this,function(a,b){var d=mxUtils.bind(this,function(d){var e=""==d?mxResources.get("automatic"):mxLanguageMap[d],f=null;""!=e&&(f=a.addItem(e,null,mxUtils.bind(this,function(){mxSettings.setLanguage(d);mxSettings.save();mxClient.language=d;mxResources.loadDefaultBundle=!1;mxResources.add(RESOURCE_BASE);c.alert(mxResources.get("restartForChangeRequired"))}),
-b),(d==mxLanguage||""==d&&null==mxLanguage)&&a.addCheckmark(f,Editor.checkmarkImage));return f});d("");a.addSeparator(b);for(var e in mxLanguageMap)d(e)})));var u=Menus.prototype.createMenubar;Menus.prototype.createMenubar=function(a){var b=u.apply(this,arguments);if(null!=b&&"1"!=urlParams.noLangIcon){var c=this.get("language");if(null!=c){c=b.addMenu("",c.funct);c.setAttribute("title",mxResources.get("language"));c.style.width="16px";c.style.paddingTop="2px";c.style.paddingLeft="4px";c.style.zIndex=
-"1";c.style.position="absolute";c.style.display="block";c.style.cursor="pointer";c.style.right="17px";"atlas"==uiTheme?(c.style.top="6px",c.style.right="15px"):c.style.top="min"==uiTheme?"2px":"0px";var d=document.createElement("div");d.style.backgroundImage="url("+Editor.globeImage+")";d.style.backgroundPosition="center center";d.style.backgroundRepeat="no-repeat";d.style.backgroundSize="19px 19px";d.style.position="absolute";d.style.height="19px";d.style.width="19px";d.style.marginTop="2px";d.style.zIndex=
-"1";c.appendChild(d);mxUtils.setOpacity(c,40);if("atlas"==uiTheme||"dark"==uiTheme)c.style.opacity="0.85",c.style.filter="invert(100%)";document.body.appendChild(c)}}return b}}c.customLayoutConfig=[{layout:"mxHierarchicalLayout",config:{orientation:"west",intraCellSpacing:30,interRankCellSpacing:100,interHierarchySpacing:60,parallelEdgeSpacing:10}}];c.actions.addAction("runLayout",function(){var a=new TextareaDialog(c,"Run Layouts:",JSON.stringify(c.customLayoutConfig,null,2),function(a){if(0<a.length)try{var b=
-JSON.parse(a);c.executeLayoutList(b);c.customLayoutConfig=b}catch(G){c.handleError(G),null!=window.console&&console.error(G)}},null,null,null,null,null,!0,null,null,"https://www.diagrams.net/doc/faq/apply-layouts");a.textarea.style.width="600px";a.textarea.style.height="380px";c.showDialog(a.container,620,460,!0,!0);a.init()});var l=this.get("layout"),q=l.funct;l.funct=function(a,b){q.apply(this,arguments);a.addItem(mxResources.get("orgChart"),null,function(){function a(){"undefined"!==typeof mxOrgChartLayout||
-c.loadingOrgChart||c.isOffline(!0)?g():c.spinner.spin(document.body,mxResources.get("loading"))&&(c.loadingOrgChart=!0,"1"==urlParams.dev?mxscript("js/orgchart/bridge.min.js",function(){mxscript("js/orgchart/bridge.collections.min.js",function(){mxscript("js/orgchart/OrgChart.Layout.min.js",function(){mxscript("js/orgchart/mxOrgChartLayout.js",g)})})}):mxscript("js/extensions.min.js",g))}var b=null,d=20,e=20,f=!0,g=function(){c.loadingOrgChart=!1;c.spinner.stop();if("undefined"!==typeof mxOrgChartLayout&&
-null!=b&&f){var a=c.editor.graph,g=new mxOrgChartLayout(a,b,d,e),k=a.getDefaultParent();1<a.model.getChildCount(a.getSelectionCell())&&(k=a.getSelectionCell());g.execute(k);f=!1}},k=document.createElement("div"),l=document.createElement("div");l.style.marginTop="6px";l.style.display="inline-block";l.style.width="140px";mxUtils.write(l,mxResources.get("orgChartType")+": ");k.appendChild(l);var m=document.createElement("select");m.style.width="200px";m.style.boxSizing="border-box";for(var l=[mxResources.get("linear"),
-mxResources.get("hanger2"),mxResources.get("hanger4"),mxResources.get("fishbone1"),mxResources.get("fishbone2"),mxResources.get("1ColumnLeft"),mxResources.get("1ColumnRight"),mxResources.get("smart")],n=0;n<l.length;n++){var p=document.createElement("option");mxUtils.write(p,l[n]);p.value=n;2==n&&p.setAttribute("selected","selected");m.appendChild(p)}mxEvent.addListener(m,"change",function(){b=m.value});k.appendChild(m);l=document.createElement("div");l.style.marginTop="6px";l.style.display="inline-block";
-l.style.width="140px";mxUtils.write(l,mxResources.get("parentChildSpacing")+": ");k.appendChild(l);var z=document.createElement("input");z.type="number";z.value=d;z.style.width="200px";z.style.boxSizing="border-box";k.appendChild(z);mxEvent.addListener(z,"change",function(){d=z.value});l=document.createElement("div");l.style.marginTop="6px";l.style.display="inline-block";l.style.width="140px";mxUtils.write(l,mxResources.get("siblingSpacing")+": ");k.appendChild(l);var q=document.createElement("input");
-q.type="number";q.value=e;q.style.width="200px";q.style.boxSizing="border-box";k.appendChild(q);mxEvent.addListener(q,"change",function(){e=q.value});k=new CustomDialog(c,k,function(){null==b&&(b=2);a()});c.showDialog(k.container,355,125,!0,!0)},b,null,f());a.addSeparator(b);a.addItem(mxResources.get("parallels"),null,mxUtils.bind(this,function(){var a=new mxParallelEdgeLayout(g);a.checkOverlap=!0;a.spacing=20;c.executeLayout(function(){a.execute(g.getDefaultParent(),g.isSelectionEmpty()?null:g.getSelectionCells())},
-!1)}),b);a.addSeparator(b);c.menus.addMenuItem(a,"runLayout",b,null,null,mxResources.get("apply")+"...")};this.put("help",new Menu(mxUtils.bind(this,function(a,b){if(!mxClient.IS_CHROMEAPP&&c.isOffline())this.addMenuItems(a,["about"],b);else{var d=a.addItem("Search:",null,null,b,null,null,!1);d.style.backgroundColor="dark"==uiTheme?"#505759":"whiteSmoke";d.style.cursor="default";var e=document.createElement("input");e.setAttribute("type","text");e.setAttribute("size","25");e.style.marginLeft="8px";
-mxEvent.addListener(e,"keydown",mxUtils.bind(this,function(a){var b=mxUtils.trim(e.value);13==a.keyCode&&0<b.length?(this.editorUi.openLink("https://www.google.com/search?q=site%3Adiagrams.net+inurl%3A%2Fdoc%2Ffaq%2F+"+encodeURIComponent(b)),e.value="",EditorUi.logEvent({category:"SEARCH-HELP",action:"search",label:b}),null!=this.editorUi.menubar&&window.setTimeout(mxUtils.bind(this,function(){this.editorUi.menubar.hideMenu()}),0)):27==a.keyCode&&(e.value="")}));d.firstChild.nextSibling.appendChild(e);
-mxEvent.addGestureListeners(e,function(a){document.activeElement!=e&&e.focus();mxEvent.consume(a)},function(a){mxEvent.consume(a)},function(a){mxEvent.consume(a)});window.setTimeout(function(){e.focus()},0);EditorUi.isElectronApp?(console.log("electron help menu"),this.addMenuItems(a,"- keyboardShortcuts quickStart support - forkme - about".split(" "),b)):this.addMenuItems(a,"- keyboardShortcuts quickStart support - forkme downloadDesktop - about".split(" "),b)}"1"==urlParams.test&&(a.addSeparator(b),
-this.addSubmenu("testDevelop",a,b))})));mxResources.parse("diagramLanguage=Diagram Language");c.actions.addAction("diagramLanguage...",function(){var a=prompt("Language Code",Graph.diagramLanguage||"");null!=a&&(Graph.diagramLanguage=0<a.length?a:null,g.refresh())});"1"==urlParams.test&&(mxResources.parse("testDevelop=Develop"),mxResources.parse("showBoundingBox=Show bounding box"),mxResources.parse("createSidebarEntry=Create Sidebar Entry"),mxResources.parse("testCheckFile=Check File"),mxResources.parse("testDiff=Diff"),
-mxResources.parse("testInspect=Inspect"),mxResources.parse("testShowConsole=Show Console"),mxResources.parse("testXmlImageExport=XML Image Export"),mxResources.parse("testDownloadRtModel=Export RT model"),mxResources.parse("testImportRtModel=Import RT model"),c.actions.addAction("createSidebarEntry",mxUtils.bind(this,function(){if(!g.isSelectionEmpty()){var a=g.cloneCells(g.getSelectionCells()),b=g.getBoundingBoxFromGeometry(a),a=g.moveCells(a,-b.x,-b.y);c.showTextDialog("Create Sidebar Entry","this.addDataEntry('tag1 tag2', "+
-b.width+", "+b.height+", 'The Title', '"+Graph.compress(mxUtils.getXml(g.encodeCells(a)))+"'),")}})),c.actions.addAction("showBoundingBox",mxUtils.bind(this,function(){var a=g.getGraphBounds(),b=g.view.translate,c=g.view.scale;g.insertVertex(g.getDefaultParent(),null,"",a.x/c-b.x,a.y/c-b.y,a.width/c,a.height/c,"fillColor=none;strokeColor=red;")})),c.actions.addAction("testCheckFile",mxUtils.bind(this,function(){var a=null!=c.pages&&null!=c.getCurrentFile()?c.getCurrentFile().getAnonymizedXmlForPages(c.pages):
-"",a=new TextareaDialog(c,"Paste Data:",a,function(a){if(0<a.length)try{var b=function(a){function b(a){if(null==n[a]){if(n[a]=!0,null!=e[a]){for(;0<e[a].length;){var d=e[a].pop();b(d)}delete e[a]}}else mxLog.debug(c+": Visited: "+a)}var c=a.parentNode.id,d=a.childNodes;a={};for(var e={},f=null,g={},k=0;k<d.length;k++){var l=d[k];if(null!=l.id&&0<l.id.length)if(null==a[l.id]){a[l.id]=l.id;var m=l.getAttribute("parent");null==m?null!=f?mxLog.debug(c+": Multiple roots: "+l.id):f=l.id:(null==e[m]&&(e[m]=
-[]),e[m].push(l.id))}else g[l.id]=l.id}0<Object.keys(g).length?(d=c+": "+Object.keys(g).length+" Duplicates: "+Object.keys(g).join(", "),mxLog.debug(d+" (see console)")):mxLog.debug(c+": Checked");var n={};null==f?mxLog.debug(c+": No root"):(b(f),Object.keys(n).length!=Object.keys(a).length&&(mxLog.debug(c+": Invalid tree: (see console)"),console.log(c+": Invalid tree",e)))};"<"!=a.charAt(0)&&(a=Graph.decompress(a),mxLog.debug("See console for uncompressed XML"),console.log("xml",a));var d=mxUtils.parseXml(a),
-e=c.getPagesForNode(d.documentElement,"mxGraphModel");if(null!=e&&0<e.length)try{var f=c.getHashValueForPages(e);mxLog.debug("Checksum: ",f)}catch(I){mxLog.debug("Error: ",I.message)}else mxLog.debug("No pages found for checksum");var g=d.getElementsByTagName("root");for(a=0;a<g.length;a++)b(g[a]);mxLog.show()}catch(I){c.handleError(I),null!=window.console&&console.error(I)}});a.textarea.style.width="600px";a.textarea.style.height="380px";c.showDialog(a.container,620,460,!0,!0);a.init()})),c.actions.addAction("testDiff",
-mxUtils.bind(this,function(){if(null!=c.pages){var a=new TextareaDialog(c,"Paste Data:","",function(a){if(0<a.length)try{console.log(JSON.stringify(c.diffPages(c.pages,c.getPagesForNode(mxUtils.parseXml(a).documentElement)),null,2))}catch(C){c.handleError(C),null!=window.console&&console.error(C)}});a.textarea.style.width="600px";a.textarea.style.height="380px";c.showDialog(a.container,620,460,!0,!0);a.init()}else c.alert("No pages")})),c.actions.addAction("testInspect",mxUtils.bind(this,function(){console.log(c,
-g.getModel())})),c.actions.addAction("testXmlImageExport",mxUtils.bind(this,function(){var a=new mxImageExport,b=g.getGraphBounds(),c=g.view.scale,d=mxUtils.createXmlDocument(),e=d.createElement("output");d.appendChild(e);d=new mxXmlCanvas2D(e);d.translate(Math.floor((1-b.x)/c),Math.floor((1-b.y)/c));d.scale(1/c);var f=0,k=d.save;d.save=function(){f++;k.apply(this,arguments)};var l=d.restore;d.restore=function(){f--;l.apply(this,arguments)};var m=a.drawShape;a.drawShape=function(a){mxLog.debug("entering shape",
-a,f);m.apply(this,arguments);mxLog.debug("leaving shape",a,f)};a.drawState(g.getView().getState(g.model.root),d);mxLog.show();mxLog.debug(mxUtils.getXml(e));mxLog.debug("stateCounter",f)})),c.actions.addAction("testShowConsole",function(){mxLog.isVisible()?mxLog.window.fit():mxLog.show();mxLog.window.div.style.zIndex=mxPopupMenu.prototype.zIndex-1}),this.put("testDevelop",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"createSidebarEntry showBoundingBox - testCheckFile testDiff - testInspect - testXmlImageExport - testShowConsole".split(" "),
-b)}))));c.actions.addAction("shapes...",function(){mxClient.IS_CHROMEAPP||!c.isOffline()?c.showDialog((new MoreShapesDialog(c,!0)).container,640,isLocalStorage?mxClient.IS_IOS?480:460:440,!0,!0):c.showDialog((new MoreShapesDialog(c,!1)).container,360,isLocalStorage?mxClient.IS_IOS?300:280:260,!0,!0)});c.actions.put("createShape",new Action(mxResources.get("shape")+"...",function(a){g.isEnabled()&&(a=new mxCell("",new mxGeometry(0,0,120,120),c.defaultCustomShapeStyle),a.vertex=!0,a=new EditShapeDialog(c,
-a,mxResources.get("editShape")+":",630,400),c.showDialog(a.container,640,480,!0,!1),a.init())})).isEnabled=f;c.actions.put("embedHtml",new Action(mxResources.get("html")+"...",function(){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(a){c.spinner.stop();c.showHtmlDialog(mxResources.get("create"),"https://www.diagrams.net/doc/faq/embed-html-options",a,function(a,b,d,e,f,g,k,l,m,n){c.createHtml(a,b,d,e,f,g,k,l,m,n,mxUtils.bind(this,function(a,b){var d=
-new EmbedDialog(c,a+"\n"+b,null,null,function(){var d=window.open(),e=d.document;if(null!=e){"CSS1Compat"===document.compatMode&&e.writeln("<!DOCTYPE html>");e.writeln("<html>");e.writeln("<head><title>"+encodeURIComponent(mxResources.get("preview"))+'</title><meta charset="utf-8"></head>');e.writeln("<body>");e.writeln(a);var f=mxClient.IS_IE||mxClient.IS_EDGE||null!=document.documentMode;f&&e.writeln(b);e.writeln("</body>");e.writeln("</html>");e.close();if(!f){var g=d.document.createElement("div");
-g.marginLeft="26px";g.marginTop="26px";mxUtils.write(g,mxResources.get("updatingDocument"));f=d.document.createElement("img");f.setAttribute("src",window.location.protocol+"//"+window.location.hostname+"/"+IMAGE_PATH+"/spin.gif");f.style.marginLeft="6px";g.appendChild(f);d.document.body.insertBefore(g,d.document.body.firstChild);window.setTimeout(function(){var a=document.createElement("script");a.type="text/javascript";a.src=/<script.*?src="(.*?)"/.exec(b)[1];e.body.appendChild(a);g.parentNode.removeChild(g)},
-20)}}else c.handleError({message:mxResources.get("errorUpdatingPreview")})});c.showDialog(d.container,440,240,!0,!0);d.init()}))})})}));c.actions.put("liveImage",new Action("Live image...",function(){var a=c.getCurrentFile();null!=a&&c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(b){c.spinner.stop();null!=b?(b=new EmbedDialog(c,'<img src="'+(a.constructor!=DriveFile?b:"https://drive.google.com/uc?id="+a.getId())+'"/>'),c.showDialog(b.container,
-440,240,!0,!0),b.init()):c.handleError({message:mxResources.get("invalidPublicUrl")})})}));c.actions.put("embedImage",new Action(mxResources.get("image")+"...",function(){c.showEmbedImageDialog(function(a,b,d,e,f,g){c.spinner.spin(document.body,mxResources.get("loading"))&&c.createEmbedImage(a,b,d,e,f,g,function(a){c.spinner.stop();a=new EmbedDialog(c,a);c.showDialog(a.container,440,240,!0,!0);a.init()},function(a){c.spinner.stop();c.handleError(a)})},mxResources.get("image"),mxResources.get("retina"),
-c.isExportToCanvas())}));c.actions.put("embedSvg",new Action(mxResources.get("formatSvg")+"...",function(){c.showEmbedImageDialog(function(a,b,d,e,f,g){c.spinner.spin(document.body,mxResources.get("loading"))&&c.createEmbedSvg(a,b,d,e,f,g,function(a){c.spinner.stop();a=new EmbedDialog(c,a);c.showDialog(a.container,440,240,!0,!0);a.init()},function(a){c.spinner.stop();c.handleError(a)})},mxResources.get("formatSvg"),mxResources.get("image"),!0,"https://www.diagrams.net/doc/faq/embed-svg.html")}));
-c.actions.put("embedIframe",new Action(mxResources.get("iframe")+"...",function(){var a=g.getGraphBounds();c.showPublishLinkDialog(mxResources.get("iframe"),null,"100%",Math.ceil(a.height/g.view.scale)+2,function(a,b,d,e,f,g,k,l){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(m){c.spinner.stop();m=new EmbedDialog(c,'<iframe frameborder="0" style="width:'+k+";height:"+l+';" src="'+c.createLink(a,b,d,e,f,g,m)+'"></iframe>');c.showDialog(m.container,
-440,240,!0,!0);m.init()})},!0)}));c.actions.put("embedNotion",new Action(mxResources.get("notion")+"...",function(){c.showPublishLinkDialog(mxResources.get("notion"),null,null,null,function(a,b,d,e,f,g,k,l){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(k){c.spinner.stop();k=new EmbedDialog(c,c.createLink(a,b,d,e,f,g,k,null,["border=0"],!0));c.showDialog(k.container,440,240,!0,!0);k.init()})},!0)}));c.actions.put("publishLink",new Action(mxResources.get("link")+
-"...",function(){c.showPublishLinkDialog(null,null,null,null,function(a,b,d,e,f,g){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(k){c.spinner.stop();k=new EmbedDialog(c,c.createLink(a,b,d,e,f,g,k));c.showDialog(k.container,440,240,!0,!0);k.init()})})}));c.actions.addAction("microsoftOffice...",function(){c.openLink("https://office.draw.io")});c.actions.addAction("googleDocs...",function(){c.openLink("http://docsaddon.draw.io")});c.actions.addAction("googleSlides...",
-function(){c.openLink("https://slidesaddon.draw.io")});c.actions.addAction("googleSheets...",function(){c.openLink("https://sheetsaddon.draw.io")});c.actions.addAction("googleSites...",function(){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(a){c.spinner.stop();a=new GoogleSitesDialog(c,a);c.showDialog(a.container,420,256,!0,!0);a.init()})});if(isLocalStorage||mxClient.IS_CHROMEAPP)l=c.actions.addAction("scratchpad",function(){c.toggleScratchpad()}),
-l.setToggleAction(!0),l.setSelectedCallback(function(){return null!=c.scratchpad}),c.actions.addAction("plugins...",function(){c.showDialog((new PluginsDialog(c)).container,360,170,!0,!1)});l=c.actions.addAction("search",function(){var a=c.sidebar.isEntryVisible("search");c.sidebar.showPalette("search",!a);isLocalStorage&&(mxSettings.settings.search=!a,mxSettings.save())});l.setToggleAction(!0);l.setSelectedCallback(function(){return c.sidebar.isEntryVisible("search")});"1"==urlParams.embed&&(c.actions.get("save").funct=
-function(a){g.isEditing()&&g.stopEditing();var b="0"!=urlParams.pages||null!=c.pages&&1<c.pages.length?c.getFileData(!0):mxUtils.getXml(c.editor.getGraphXml());if("json"==urlParams.proto){var d=c.createLoadMessage("save");d.xml=b;a&&(d.exit=!0);b=JSON.stringify(d)}(window.opener||window.parent).postMessage(b,"*");"0"!=urlParams.modified&&"1"!=urlParams.keepmodified&&(c.editor.modified=!1,c.editor.setStatus(""));a=c.getCurrentFile();null==a||a.constructor==EmbedFile||a.constructor==LocalFile&&null==
-a.mode||c.saveFile()},c.actions.addAction("saveAndExit",function(){c.actions.get("save").funct(!0)}).label="1"==urlParams.publishClose?mxResources.get("publish"):mxResources.get("saveAndExit"),c.actions.addAction("exit",function(){var a=function(){c.editor.modified=!1;var a="json"==urlParams.proto?JSON.stringify({event:"exit",modified:c.editor.modified}):"";(window.opener||window.parent).postMessage(a,"*")};c.editor.modified?c.confirm(mxResources.get("allChangesLost"),null,a,mxResources.get("cancel"),
-mxResources.get("discardChanges")):a()}));this.put("exportAs",new Menu(mxUtils.bind(this,function(a,b){c.isExportToCanvas()?(this.addMenuItems(a,["exportPng"],b),c.jpgSupported&&this.addMenuItems(a,["exportJpg"],b)):c.isOffline()||mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(a,["exportPng","exportJpg"],b);this.addMenuItems(a,["exportSvg","-"],b);c.isOffline()||c.printPdfExport?this.addMenuItems(a,["exportPdf"],b):c.isOffline()||mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(a,
-["exportPdf"],b);mxClient.IS_IE||"undefined"===typeof VsdxExport&&c.isOffline()||this.addMenuItems(a,["exportVsdx"],b);this.addMenuItems(a,["-","exportHtml","exportXml","exportUrl"],b);c.isOffline()||(a.addSeparator(b),this.addMenuItem(a,"export",b).firstChild.nextSibling.innerHTML=mxResources.get("advanced")+"...")})));this.put("importFrom",new Menu(mxUtils.bind(this,function(a,b){function d(a){a.pickFile(function(b){c.spinner.spin(document.body,mxResources.get("loading"))&&a.getFile(b,function(a){var b=
-"data:image/"==a.getData().substring(0,11)?l(a.getTitle()):"text/xml";/\.svg$/i.test(a.getTitle())&&!c.editor.isDataSvg(a.getData())&&(a.setData(Editor.createSvgDataUri(a.getData())),b="image/svg+xml");f(a.getData(),b,a.getTitle())},function(a){c.handleError(a,null!=a?mxResources.get("errorLoadingFile"):null)},a==c.drive)},!0)}var f=mxUtils.bind(this,function(a,b,d){var e=g.view,f=g.getGraphBounds(),k=g.snap(Math.ceil(Math.max(0,f.x/e.scale-e.translate.x)+4*g.gridSize)),l=g.snap(Math.ceil(Math.max(0,
-(f.y+f.height)/e.scale-e.translate.y)+4*g.gridSize));"data:image/"==a.substring(0,11)?c.loadImage(a,mxUtils.bind(this,function(e){var f=!0,m=mxUtils.bind(this,function(){c.resizeImage(e,a,mxUtils.bind(this,function(e,m,n){e=f?Math.min(1,Math.min(c.maxImageSize/m,c.maxImageSize/n)):1;c.importFile(a,b,k,l,Math.round(m*e),Math.round(n*e),d,function(a){c.spinner.stop();g.setSelectionCells(a);g.scrollCellToVisible(g.getSelectionCell())})}),f)});a.length>c.resampleThreshold?c.confirmImageResize(function(a){f=
-a;m()}):m()}),mxUtils.bind(this,function(){c.handleError({message:mxResources.get("cannotOpenFile")})})):c.importFile(a,b,k,l,0,0,d,function(a){c.spinner.stop();g.setSelectionCells(a);g.scrollCellToVisible(g.getSelectionCell())})}),l=mxUtils.bind(this,function(a){var b="text/xml";/\.png$/i.test(a)?b="image/png":/\.jpe?g$/i.test(a)?b="image/jpg":/\.gif$/i.test(a)?b="image/gif":/\.pdf$/i.test(a)&&(b="application/pdf");return b});"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=
-c.drive?a.addItem(mxResources.get("googleDrive")+"...",null,function(){d(c.drive)},b):m&&"function"===typeof window.DriveClient&&a.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1));null!=c.oneDrive?a.addItem(mxResources.get("oneDrive")+"...",null,function(){d(c.oneDrive)},b):e&&"function"===typeof window.OneDriveClient&&a.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);null!=c.dropbox?
-a.addItem(mxResources.get("dropbox")+"...",null,function(){d(c.dropbox)},b):n&&"function"===typeof window.DropboxClient&&a.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);a.addSeparator(b);null!=c.gitHub&&a.addItem(mxResources.get("github")+"...",null,function(){d(c.gitHub)},b);null!=c.gitLab&&a.addItem(mxResources.get("gitlab")+"...",null,function(){d(c.gitLab)},b);null!=c.trello?a.addItem(mxResources.get("trello")+"...",null,function(){d(c.trello)},
-b):k&&"function"===typeof window.TrelloClient&&a.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);a.addSeparator(b);isLocalStorage&&"0"!=urlParams.browser&&a.addItem(mxResources.get("browser")+"...",null,function(){c.importLocalFile(!1)},b);a.addItem(mxResources.get("device")+"...",null,function(){c.importLocalFile(!0)},b);c.isOffline()||(a.addSeparator(b),a.addItem(mxResources.get("url")+"...",null,function(){var a=new FilenameDialog(c,"",mxResources.get("import"),
-function(a){if(null!=a&&0<a.length&&c.spinner.spin(document.body,mxResources.get("loading"))){var b=/(\.png)($|\?)/i.test(a)?"image/png":"text/xml";c.editor.loadUrl(PROXY_URL+"?url="+encodeURIComponent(a),function(c){f(c,b,a)},function(){c.spinner.stop();c.handleError(null,mxResources.get("errorLoadingFile"))},"image/png"==b)}},mxResources.get("url"));c.showDialog(a.container,300,80,!0,!0);a.init()},b))}))).isEnabled=f;this.put("theme",new Menu(mxUtils.bind(this,function(a,b){var d=mxSettings.getUi(),
-e=a.addItem(mxResources.get("automatic"),null,function(){mxSettings.setUi("");mxSettings.save();c.alert(mxResources.get("restartForChangeRequired"))},b);"kennedy"!=d&&"atlas"!=d&&"dark"!=d&&"min"!=d&&a.addCheckmark(e,Editor.checkmarkImage);a.addSeparator(b);e=a.addItem(mxResources.get("kennedy"),null,function(){mxSettings.setUi("kennedy");mxSettings.save();c.alert(mxResources.get("restartForChangeRequired"))},b);"kennedy"==d&&a.addCheckmark(e,Editor.checkmarkImage);e=a.addItem(mxResources.get("minimal"),
-null,function(){mxSettings.setUi("min");mxSettings.save();c.alert(mxResources.get("restartForChangeRequired"))},b);"min"==d&&a.addCheckmark(e,Editor.checkmarkImage);e=a.addItem(mxResources.get("atlas"),null,function(){mxSettings.setUi("atlas");mxSettings.save();c.alert(mxResources.get("restartForChangeRequired"))},b);"atlas"==d&&a.addCheckmark(e,Editor.checkmarkImage);e=a.addItem(mxResources.get("dark"),null,function(){mxSettings.setUi("dark");mxSettings.save();c.alert(mxResources.get("restartForChangeRequired"))},
-b);"dark"==d&&a.addCheckmark(e,Editor.checkmarkImage)})));l=this.editorUi.actions.addAction("rename...",mxUtils.bind(this,function(){var a=this.editorUi.getCurrentFile();if(null!=a)if(a.constructor==LocalFile&&null!=a.fileHandle)c.showSaveFilePicker(mxUtils.bind(c,function(b,d){a.invalidFileHandle=null;a.fileHandle=b;a.title=d.name;a.desc=d;c.save(d.name)}),null,c.createFileSystemOptions(a.getTitle()));else{var b=null!=a.getTitle()?a.getTitle():this.editorUi.defaultFilename,b=new FilenameDialog(this.editorUi,
-b,mxResources.get("rename"),mxUtils.bind(this,function(b){null!=b&&0<b.length&&null!=a&&b!=a.getTitle()&&this.editorUi.spinner.spin(document.body,mxResources.get("renaming"))&&a.rename(b,mxUtils.bind(this,function(a){this.editorUi.spinner.stop()}),mxUtils.bind(this,function(a){this.editorUi.handleError(a,null!=a?mxResources.get("errorRenamingFile"):null)}))}),a.constructor==DriveFile||a.constructor==StorageFile?mxResources.get("diagramName"):null,function(a){if(null!=a&&0<a.length)return!0;c.showError(mxResources.get("error"),
-mxResources.get("invalidName"),mxResources.get("ok"));return!1},null,null,null,null,c.editor.fileExtensions);this.editorUi.showDialog(b.container,340,90,!0,!0);b.init()}}));l.isEnabled=function(){return this.enabled&&f.apply(this,arguments)};l.visible="1"!=urlParams.embed;c.actions.addAction("makeCopy...",mxUtils.bind(this,function(){var a=c.getCurrentFile();if(null!=a){var b=c.getCopyFilename(a);a.constructor==DriveFile?(b=new CreateDialog(c,b,mxUtils.bind(this,function(b,d){"_blank"==d?c.editor.editAsNew(c.getFileData(),
-b):("download"==d&&(d=App.MODE_GOOGLE),null!=b&&0<b.length&&(d==App.MODE_GOOGLE?c.spinner.spin(document.body,mxResources.get("saving"))&&a.saveAs(b,mxUtils.bind(this,function(b){a.desc=b;a.save(!1,mxUtils.bind(this,function(){c.spinner.stop();a.setModified(!1);a.addAllSavedStatus()}),mxUtils.bind(this,function(a){c.handleError(a)}))}),mxUtils.bind(this,function(a){c.handleError(a)})):c.createFile(b,c.getFileData(!0),null,d)))}),mxUtils.bind(this,function(){c.hideDialog()}),mxResources.get("makeCopy"),
-mxResources.get("create"),null,null,!0,null,!0,null,null,null,null,c.editor.fileExtensions),c.showDialog(b.container,420,380,!0,!0),b.init()):c.editor.editAsNew(this.editorUi.getFileData(!0),b)}}));c.actions.addAction("moveToFolder...",mxUtils.bind(this,function(){var a=c.getCurrentFile();if(a.getMode()==App.MODE_GOOGLE||a.getMode()==App.MODE_ONEDRIVE){var b=!1;if(a.getMode()==App.MODE_GOOGLE&&null!=a.desc.parents)for(var d=0;d<a.desc.parents.length;d++)if(a.desc.parents[d].isRoot){b=!0;break}c.pickFolder(a.getMode(),
-mxUtils.bind(this,function(b){c.spinner.spin(document.body,mxResources.get("moving"))&&a.move(b,mxUtils.bind(this,function(a){c.spinner.stop()}),mxUtils.bind(this,function(a){c.handleError(a)}))}),null,!0,b)}}));this.put("publish",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,["publishLink"],b)})));c.actions.put("useOffline",new Action(mxResources.get("useOffline")+"...",function(){c.openLink("https://app.draw.io/")}));c.actions.put("downloadDesktop",new Action(mxResources.get("downloadDesktop")+
-"...",function(){c.openLink("https://get.draw.io/")}));this.editorUi.actions.addAction("share...",mxUtils.bind(this,function(){try{var a=c.getCurrentFile();null!=a&&a.share()}catch(B){c.handleError(B)}}));this.put("embed",new Menu(mxUtils.bind(this,function(a,b){var d=c.getCurrentFile();null==d||d.getMode()!=App.MODE_GOOGLE&&d.getMode()!=App.MODE_GITHUB||!/(\.png)$/i.test(d.getTitle())||this.addMenuItems(a,["liveImage","-"],b);this.addMenuItems(a,["embedImage","embedSvg","-","embedHtml"],b);navigator.standalone||
-c.isOffline()||this.addMenuItems(a,["embedIframe"],b);"1"==urlParams.embed||c.isOffline()||this.addMenuItems(a,"- googleDocs googleSlides googleSheets - microsoftOffice - embedNotion".split(" "),b)})));var x=function(a,b,d,e){("plantUml"!=e||EditorUi.enablePlantUml&&!c.isOffline())&&a.addItem(d,null,mxUtils.bind(this,function(){if("fromText"==e||"formatSql"==e||"plantUml"==e||"mermaid"==e){var a=new ParseDialog(c,d,e);c.showDialog(a.container,620,420,!0,!1);c.dialog.container.style.overflow="auto"}else a=
-new CreateGraphDialog(c,d,e),c.showDialog(a.container,620,420,!0,!1);a.init()}),b,null,f())},y=function(a,b,d,e){var f=new mxCell(a,new mxGeometry(0,0,b,d),e);f.vertex=!0;a=g.getCenterInsertPoint(g.getBoundingBoxFromGeometry([f],!0));f.geometry.x=a.x;f.geometry.y=a.y;g.getModel().beginUpdate();try{f=g.addCell(f),g.fireEvent(new mxEventObject("cellsInserted","cells",[f]))}finally{g.getModel().endUpdate()}g.scrollCellToVisible(f);g.setSelectionCell(f);g.container.focus();g.editAfterInsert&&g.startEditing(f);
-window.setTimeout(function(){null!=c.hoverIcons&&c.hoverIcons.update(g.view.getState(f))},0);return f};c.actions.put("insertText",new Action(mxResources.get("text"),function(){g.isEnabled()&&!g.isCellLocked(g.getDefaultParent())&&g.startEditingAtCell(y("Text",40,20,"text;html=1;resizable=0;autosize=1;align=center;verticalAlign=middle;points=[];fillColor=none;strokeColor=none;rounded=0;"))}),null,null,Editor.ctrlKey+"+Shift+X").isEnabled=f;c.actions.put("insertRectangle",new Action(mxResources.get("rectangle"),
-function(){g.isEnabled()&&!g.isCellLocked(g.getDefaultParent())&&y("",120,60,"whiteSpace=wrap;html=1;")}),null,null,Editor.ctrlKey+"+K").isEnabled=f;c.actions.put("insertEllipse",new Action(mxResources.get("ellipse"),function(){g.isEnabled()&&!g.isCellLocked(g.getDefaultParent())&&y("",80,80,"ellipse;whiteSpace=wrap;html=1;")}),null,null,Editor.ctrlKey+"+Shift+K").isEnabled=f;c.actions.put("insertRhombus",new Action(mxResources.get("rhombus"),function(){g.isEnabled()&&!g.isCellLocked(g.getDefaultParent())&&
-y("",80,80,"rhombus;whiteSpace=wrap;html=1;")})).isEnabled=f;var v=mxUtils.bind(this,function(a,b,c){for(var d=0;d<c.length;d++)"-"==c[d]?a.addSeparator(b):x(a,b,mxResources.get(c[d])+"...",c[d])});this.put("insert",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"insertRectangle insertEllipse insertRhombus - insertText insertLink - createShape insertFreehand - insertImage".split(" "),b);c.insertTemplateEnabled&&!c.isOffline()&&this.addMenuItems(a,["insertTemplate"],b);a.addSeparator(b);
-this.addSubmenu("insertLayout",a,b,mxResources.get("layout"));this.addSubmenu("insertAdvanced",a,b,mxResources.get("advanced"))})));this.put("insertLayout",new Menu(mxUtils.bind(this,function(a,b){v(a,b,"horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle".split(" "))})));this.put("insertAdvanced",new Menu(mxUtils.bind(this,function(a,b){v(a,b,["fromText","plantUml","mermaid","-","formatSql"]);a.addItem(mxResources.get("csv")+"...",null,function(){c.showImportCsvDialog()},
-b,null,f())})));this.put("openRecent",new Menu(function(a,b){var d=c.getRecent();if(null!=d){for(var e=0;e<d.length;e++)(function(d){var e=d.mode;e==App.MODE_GOOGLE?e="googleDrive":e==App.MODE_ONEDRIVE&&(e="oneDrive");a.addItem(d.title+" ("+mxResources.get(e)+")",null,function(){c.loadFile(d.id)},b)})(d[e]);a.addSeparator(b)}a.addItem(mxResources.get("reset"),null,function(){c.resetRecent()},b)}));this.put("openFrom",new Menu(function(a,b){null!=c.drive?a.addItem(mxResources.get("googleDrive")+"...",
-null,function(){c.pickFile(App.MODE_GOOGLE)},b):m&&"function"===typeof window.DriveClient&&a.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);null!=c.oneDrive?a.addItem(mxResources.get("oneDrive")+"...",null,function(){c.pickFile(App.MODE_ONEDRIVE)},b):e&&"function"===typeof window.OneDriveClient&&a.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);null!=c.dropbox?a.addItem(mxResources.get("dropbox")+
-"...",null,function(){c.pickFile(App.MODE_DROPBOX)},b):n&&"function"===typeof window.DropboxClient&&a.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);a.addSeparator(b);null!=c.gitHub&&a.addItem(mxResources.get("github")+"...",null,function(){c.pickFile(App.MODE_GITHUB)},b);null!=c.gitLab&&a.addItem(mxResources.get("gitlab")+"...",null,function(){c.pickFile(App.MODE_GITLAB)},b);null!=c.trello?a.addItem(mxResources.get("trello")+"...",null,function(){c.pickFile(App.MODE_TRELLO)},
-b):k&&"function"===typeof window.TrelloClient&&a.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);a.addSeparator(b);isLocalStorage&&"0"!=urlParams.browser&&a.addItem(mxResources.get("browser")+"...",null,function(){c.pickFile(App.MODE_BROWSER)},b);a.addItem(mxResources.get("device")+"...",null,function(){c.pickFile(App.MODE_DEVICE)},b);c.isOffline()||(a.addSeparator(b),a.addItem(mxResources.get("url")+"...",null,function(){var a=new FilenameDialog(c,
-"",mxResources.get("open"),function(a){null!=a&&0<a.length&&(null==c.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(a):window.openWindow((mxClient.IS_CHROMEAPP?"https://www.draw.io/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(a)))},mxResources.get("url"));c.showDialog(a.container,300,80,!0,!0);a.init()},b))}));Editor.enableCustomLibraries&&(this.put("newLibrary",new Menu(function(a,b){"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=
-c.drive?a.addItem(mxResources.get("googleDrive")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_GOOGLE)},b):m&&"function"===typeof window.DriveClient&&a.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1));null!=c.oneDrive?a.addItem(mxResources.get("oneDrive")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_ONEDRIVE)},b):e&&"function"===typeof window.OneDriveClient&&a.addItem(mxResources.get("oneDrive")+
-" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);null!=c.dropbox?a.addItem(mxResources.get("dropbox")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_DROPBOX)},b):n&&"function"===typeof window.DropboxClient&&a.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);a.addSeparator(b);null!=c.gitHub&&a.addItem(mxResources.get("github")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_GITHUB)},
-b);null!=c.gitLab&&a.addItem(mxResources.get("gitlab")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_GITLAB)},b);null!=c.trello?a.addItem(mxResources.get("trello")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_TRELLO)},b):k&&"function"===typeof window.TrelloClient&&a.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);a.addSeparator(b);isLocalStorage&&"0"!=urlParams.browser&&a.addItem(mxResources.get("browser")+
-"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_BROWSER)},b);a.addItem(mxResources.get("device")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_DEVICE)},b)})),this.put("openLibraryFrom",new Menu(function(a,b){"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=c.drive?a.addItem(mxResources.get("googleDrive")+"...",null,function(){c.pickLibrary(App.MODE_GOOGLE)},b):m&&"function"===typeof window.DriveClient&&a.addItem(mxResources.get("googleDrive")+
-" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1));null!=c.oneDrive?a.addItem(mxResources.get("oneDrive")+"...",null,function(){c.pickLibrary(App.MODE_ONEDRIVE)},b):e&&"function"===typeof window.OneDriveClient&&a.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);null!=c.dropbox?a.addItem(mxResources.get("dropbox")+"...",null,function(){c.pickLibrary(App.MODE_DROPBOX)},b):n&&"function"===typeof window.DropboxClient&&a.addItem(mxResources.get("dropbox")+
-" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);a.addSeparator(b);null!=c.gitHub&&a.addItem(mxResources.get("github")+"...",null,function(){c.pickLibrary(App.MODE_GITHUB)},b);null!=c.gitLab&&a.addItem(mxResources.get("gitlab")+"...",null,function(){c.pickLibrary(App.MODE_GITLAB)},b);null!=c.trello?a.addItem(mxResources.get("trello")+"...",null,function(){c.pickLibrary(App.MODE_TRELLO)},b):k&&"function"===typeof window.TrelloClient&&a.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+
-"...)",null,function(){},b,null,!1);a.addSeparator(b);isLocalStorage&&"0"!=urlParams.browser&&a.addItem(mxResources.get("browser")+"...",null,function(){c.pickLibrary(App.MODE_BROWSER)},b);a.addItem(mxResources.get("device")+"...",null,function(){c.pickLibrary(App.MODE_DEVICE)},b);c.isOffline()||(a.addSeparator(b),a.addItem(mxResources.get("url")+"...",null,function(){var a=new FilenameDialog(c,"",mxResources.get("open"),function(a){if(null!=a&&0<a.length&&c.spinner.spin(document.body,mxResources.get("loading"))){var b=
-a;c.editor.isCorsEnabledForUrl(a)||(b=PROXY_URL+"?url="+encodeURIComponent(a));mxUtils.get(b,function(b){if(200<=b.getStatus()&&299>=b.getStatus()){c.spinner.stop();try{c.loadLibrary(new UrlLibrary(this,b.getText(),a))}catch(F){c.handleError(F,mxResources.get("errorLoadingFile"))}}else c.spinner.stop(),c.handleError(null,mxResources.get("errorLoadingFile"))},function(){c.spinner.stop();c.handleError(null,mxResources.get("errorLoadingFile"))})}},mxResources.get("url"));c.showDialog(a.container,300,
-80,!0,!0);a.init()},b));"1"==urlParams.confLib&&(a.addSeparator(b),a.addItem(mxResources.get("confluenceCloud")+"...",null,function(){c.showRemotelyStoredLibrary(mxResources.get("libraries"))},b))})));this.put("edit",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"undo redo - cut copy copyAsImage paste delete - duplicate - findReplace - editData editTooltip - editStyle editGeometry - edit - editLink openLink - selectVertices selectEdges selectAll selectNone - lockUnlock".split(" "))})));
+mxUtils.bind(this,function(a,b){var d=mxEvent.isShiftDown(b),e=c.editor.graph,f=mxUtils.sortCells(e.model.getTopmostCells(e.getSelectionCells())),e=mxUtils.getXml(0==f.length?c.editor.getGraphXml():e.encodeCells(f));c.copyImage(f,e,d?null:"png",d?null:2)}));l.visible=Editor.enableNativeCipboard&&c.isExportToCanvas();l=c.actions.put("shadowVisible",new Action(mxResources.get("shadow"),function(){g.setShadowVisible(!g.shadowVisible)}));l.setToggleAction(!0);l.setSelectedCallback(function(){return g.shadowVisible});
+c.actions.put("about",new Action(mxResources.get("about")+" "+EditorUi.VERSION+"...",function(){c.isOffline()||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?c.alert(c.editor.appName+" "+EditorUi.VERSION):c.openLink("https://www.diagrams.net/")}));c.actions.addAction("support...",function(){EditorUi.isElectronApp?c.openLink("https://github.com/jgraph/drawio-desktop/wiki/Getting-Support"):c.openLink("https://github.com/jgraph/drawio/wiki/Getting-Support")});c.actions.addAction("exportOptionsDisabled...",
+function(){c.handleError({message:mxResources.get("exportOptionsDisabledDetails")},mxResources.get("exportOptionsDisabled"))});c.actions.addAction("keyboardShortcuts...",function(){!mxClient.IS_SVG||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?c.openLink("https://viewer.diagrams.net/#Uhttps%3A%2F%2Fviewer.diagrams.net%2Fshortcuts.svg"):c.openLink("shortcuts.svg")});c.actions.addAction("feedback...",function(){var a=new FeedbackDialog(c);c.showDialog(a.container,610,360,!0,!1);a.init()});c.actions.addAction("quickStart...",
+function(){c.openLink("https://www.youtube.com/watch?v=Z0D96ZikMkc")});c.actions.addAction("forkme",function(){EditorUi.isElectronApp?c.openLink("https://github.com/jgraph/drawio-desktop"):c.openLink("https://github.com/jgraph/drawio")}).label="Fork me on GitHub...";c.actions.addAction("downloadDesktop...",function(){c.openLink("https://get.diagrams.net/")});l=c.actions.addAction("tags...",mxUtils.bind(this,function(){null==this.tagsWindow?(this.tagsWindow=new TagsWindow(c,document.body.offsetWidth-
+380,230,300,120),this.tagsWindow.window.addListener("show",function(){c.fireEvent(new mxEventObject("tags"))}),this.tagsWindow.window.addListener("hide",function(){c.fireEvent(new mxEventObject("tags"))}),this.tagsWindow.window.setVisible(!0),c.fireEvent(new mxEventObject("tags"))):this.tagsWindow.window.setVisible(!this.tagsWindow.window.isVisible())}));l.setToggleAction(!0);l.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.tagsWindow&&this.tagsWindow.window.isVisible()}));l=c.actions.addAction("findReplace...",
+mxUtils.bind(this,function(){var a=g.isEnabled()?"findReplace":"find",b=a+"Window";null==this[b]?(this[b]=new FindWindow(c,document.body.offsetWidth-320,100,g.isEnabled()?300:240,g.isEnabled()?288:160,g.isEnabled()),this[b].window.addListener("show",function(){c.fireEvent(new mxEventObject(a))}),this[b].window.addListener("hide",function(){c.fireEvent(new mxEventObject(a))}),this[b].window.setVisible(!0)):this[b].window.setVisible(!this[b].window.isVisible())}),null,null,Editor.ctrlKey+"+F");l.setToggleAction(!0);
+l.setSelectedCallback(mxUtils.bind(this,function(){var a=g.isEnabled()?"findReplaceWindow":"findWindow";return null!=this[a]&&this[a].window.isVisible()}));c.actions.put("exportVsdx",new Action(mxResources.get("formatVsdx")+" (beta)...",function(){c.exportVisio()}));isLocalStorage&&null!=localStorage&&"1"!=urlParams.embed&&c.actions.addAction("configuration...",function(){var a=localStorage.getItem(".configuration"),b=[[mxResources.get("reset"),function(a,b){c.confirm(mxResources.get("areYouSure"),
+function(){try{localStorage.removeItem(".configuration"),mxEvent.isShiftDown(a)&&(localStorage.removeItem(".drawio-config"),localStorage.removeItem(".mode")),c.hideDialog(),c.alert(mxResources.get("restartForChangeRequired"))}catch(D){c.handleError(D)}})}]];EditorUi.isElectronApp||b.push([mxResources.get("link"),function(a,b){if(0<b.value.length)try{var d=JSON.parse(b.value),e=window.location.protocol+"//"+window.location.host+"/"+c.getSearch()+"#_CONFIG_"+Graph.compress(JSON.stringify(d)),f=new EmbedDialog(c,
+e);c.showDialog(f.container,440,240,!0);f.init()}catch(I){c.handleError(I)}else c.handleError({message:mxResources.get("invalidInput")})}]);a=new TextareaDialog(c,mxResources.get("configuration")+":",null!=a?JSON.stringify(JSON.parse(a),null,2):"",function(a){if(null!=a)try{if(0<a.length){var b=JSON.parse(a);localStorage.setItem(".configuration",JSON.stringify(b))}else localStorage.removeItem(".configuration");c.hideDialog();c.alert(mxResources.get("restartForChangeRequired"))}catch(D){c.handleError(D)}},
+null,null,null,null,null,!0,null,null,"https://www.diagrams.net/doc/faq/configure-diagram-editor",b);a.textarea.style.width="600px";a.textarea.style.height="380px";c.showDialog(a.container,620,460,!0,!1);a.init()});if(mxClient.IS_CHROMEAPP||isLocalStorage){this.put("language",new Menu(mxUtils.bind(this,function(a,b){var d=mxUtils.bind(this,function(d){var e=""==d?mxResources.get("automatic"):mxLanguageMap[d],f=null;""!=e&&(f=a.addItem(e,null,mxUtils.bind(this,function(){mxSettings.setLanguage(d);
+mxSettings.save();mxClient.language=d;mxResources.loadDefaultBundle=!1;mxResources.add(RESOURCE_BASE);c.alert(mxResources.get("restartForChangeRequired"))}),b),(d==mxLanguage||""==d&&null==mxLanguage)&&a.addCheckmark(f,Editor.checkmarkImage));return f});d("");a.addSeparator(b);for(var e in mxLanguageMap)d(e)})));var u=Menus.prototype.createMenubar;Menus.prototype.createMenubar=function(a){var b=u.apply(this,arguments);if(null!=b&&"1"!=urlParams.noLangIcon){var c=this.get("language");if(null!=c){c=
+b.addMenu("",c.funct);c.setAttribute("title",mxResources.get("language"));c.style.width="16px";c.style.paddingTop="2px";c.style.paddingLeft="4px";c.style.zIndex="1";c.style.position="absolute";c.style.display="block";c.style.cursor="pointer";c.style.right="17px";"atlas"==uiTheme?(c.style.top="6px",c.style.right="15px"):c.style.top="min"==uiTheme?"2px":"0px";var d=document.createElement("div");d.style.backgroundImage="url("+Editor.globeImage+")";d.style.backgroundPosition="center center";d.style.backgroundRepeat=
+"no-repeat";d.style.backgroundSize="19px 19px";d.style.position="absolute";d.style.height="19px";d.style.width="19px";d.style.marginTop="2px";d.style.zIndex="1";c.appendChild(d);mxUtils.setOpacity(c,40);if("atlas"==uiTheme||"dark"==uiTheme)c.style.opacity="0.85",c.style.filter="invert(100%)";document.body.appendChild(c)}}return b}}c.customLayoutConfig=[{layout:"mxHierarchicalLayout",config:{orientation:"west",intraCellSpacing:30,interRankCellSpacing:100,interHierarchySpacing:60,parallelEdgeSpacing:10}}];
+c.actions.addAction("runLayout",function(){var a=new TextareaDialog(c,"Run Layouts:",JSON.stringify(c.customLayoutConfig,null,2),function(a){if(0<a.length)try{var b=JSON.parse(a);c.executeLayoutList(b);c.customLayoutConfig=b}catch(F){c.handleError(F),null!=window.console&&console.error(F)}},null,null,null,null,null,!0,null,null,"https://www.diagrams.net/doc/faq/apply-layouts");a.textarea.style.width="600px";a.textarea.style.height="380px";c.showDialog(a.container,620,460,!0,!0);a.init()});var l=this.get("layout"),
+q=l.funct;l.funct=function(a,b){q.apply(this,arguments);a.addItem(mxResources.get("orgChart"),null,function(){function a(){"undefined"!==typeof mxOrgChartLayout||c.loadingOrgChart||c.isOffline(!0)?g():c.spinner.spin(document.body,mxResources.get("loading"))&&(c.loadingOrgChart=!0,"1"==urlParams.dev?mxscript("js/orgchart/bridge.min.js",function(){mxscript("js/orgchart/bridge.collections.min.js",function(){mxscript("js/orgchart/OrgChart.Layout.min.js",function(){mxscript("js/orgchart/mxOrgChartLayout.js",
+g)})})}):mxscript("js/extensions.min.js",g))}var b=null,d=20,e=20,f=!0,g=function(){c.loadingOrgChart=!1;c.spinner.stop();if("undefined"!==typeof mxOrgChartLayout&&null!=b&&f){var a=c.editor.graph,g=new mxOrgChartLayout(a,b,d,e),k=a.getDefaultParent();1<a.model.getChildCount(a.getSelectionCell())&&(k=a.getSelectionCell());g.execute(k);f=!1}},k=document.createElement("div"),l=document.createElement("div");l.style.marginTop="6px";l.style.display="inline-block";l.style.width="140px";mxUtils.write(l,
+mxResources.get("orgChartType")+": ");k.appendChild(l);var m=document.createElement("select");m.style.width="200px";m.style.boxSizing="border-box";for(var l=[mxResources.get("linear"),mxResources.get("hanger2"),mxResources.get("hanger4"),mxResources.get("fishbone1"),mxResources.get("fishbone2"),mxResources.get("1ColumnLeft"),mxResources.get("1ColumnRight"),mxResources.get("smart")],n=0;n<l.length;n++){var p=document.createElement("option");mxUtils.write(p,l[n]);p.value=n;2==n&&p.setAttribute("selected",
+"selected");m.appendChild(p)}mxEvent.addListener(m,"change",function(){b=m.value});k.appendChild(m);l=document.createElement("div");l.style.marginTop="6px";l.style.display="inline-block";l.style.width="140px";mxUtils.write(l,mxResources.get("parentChildSpacing")+": ");k.appendChild(l);var y=document.createElement("input");y.type="number";y.value=d;y.style.width="200px";y.style.boxSizing="border-box";k.appendChild(y);mxEvent.addListener(y,"change",function(){d=y.value});l=document.createElement("div");
+l.style.marginTop="6px";l.style.display="inline-block";l.style.width="140px";mxUtils.write(l,mxResources.get("siblingSpacing")+": ");k.appendChild(l);var q=document.createElement("input");q.type="number";q.value=e;q.style.width="200px";q.style.boxSizing="border-box";k.appendChild(q);mxEvent.addListener(q,"change",function(){e=q.value});k=new CustomDialog(c,k,function(){null==b&&(b=2);a()});c.showDialog(k.container,355,125,!0,!0)},b,null,f());a.addSeparator(b);a.addItem(mxResources.get("parallels"),
+null,mxUtils.bind(this,function(){var a=new mxParallelEdgeLayout(g);a.checkOverlap=!0;a.spacing=20;c.executeLayout(function(){a.execute(g.getDefaultParent(),g.isSelectionEmpty()?null:g.getSelectionCells())},!1)}),b);a.addSeparator(b);c.menus.addMenuItem(a,"runLayout",b,null,null,mxResources.get("apply")+"...")};this.put("help",new Menu(mxUtils.bind(this,function(a,b){if(!mxClient.IS_CHROMEAPP&&c.isOffline())this.addMenuItems(a,["about"],b);else{var d=a.addItem("Search:",null,null,b,null,null,!1);
+d.style.backgroundColor="dark"==uiTheme?"#505759":"whiteSmoke";d.style.cursor="default";var e=document.createElement("input");e.setAttribute("type","text");e.setAttribute("size","25");e.style.marginLeft="8px";mxEvent.addListener(e,"keydown",mxUtils.bind(this,function(a){var b=mxUtils.trim(e.value);13==a.keyCode&&0<b.length?(this.editorUi.openLink("https://www.google.com/search?q=site%3Adiagrams.net+inurl%3A%2Fdoc%2Ffaq%2F+"+encodeURIComponent(b)),e.value="",EditorUi.logEvent({category:"SEARCH-HELP",
+action:"search",label:b}),null!=this.editorUi.menubar&&window.setTimeout(mxUtils.bind(this,function(){this.editorUi.menubar.hideMenu()}),0)):27==a.keyCode&&(e.value="")}));d.firstChild.nextSibling.appendChild(e);mxEvent.addGestureListeners(e,function(a){document.activeElement!=e&&e.focus();mxEvent.consume(a)},function(a){mxEvent.consume(a)},function(a){mxEvent.consume(a)});window.setTimeout(function(){e.focus()},0);EditorUi.isElectronApp?(console.log("electron help menu"),this.addMenuItems(a,"- keyboardShortcuts quickStart support - forkme - about".split(" "),
+b)):this.addMenuItems(a,"- keyboardShortcuts quickStart support - forkme downloadDesktop - about".split(" "),b)}"1"==urlParams.test&&(a.addSeparator(b),this.addSubmenu("testDevelop",a,b))})));mxResources.parse("diagramLanguage=Diagram Language");c.actions.addAction("diagramLanguage...",function(){var a=prompt("Language Code",Graph.diagramLanguage||"");null!=a&&(Graph.diagramLanguage=0<a.length?a:null,g.refresh())});"1"==urlParams.test&&(mxResources.parse("testDevelop=Develop"),mxResources.parse("showBoundingBox=Show bounding box"),
+mxResources.parse("createSidebarEntry=Create Sidebar Entry"),mxResources.parse("testCheckFile=Check File"),mxResources.parse("testDiff=Diff"),mxResources.parse("testInspect=Inspect"),mxResources.parse("testShowConsole=Show Console"),mxResources.parse("testXmlImageExport=XML Image Export"),mxResources.parse("testDownloadRtModel=Export RT model"),mxResources.parse("testImportRtModel=Import RT model"),c.actions.addAction("createSidebarEntry",mxUtils.bind(this,function(){if(!g.isSelectionEmpty()){var a=
+g.cloneCells(g.getSelectionCells()),b=g.getBoundingBoxFromGeometry(a),a=g.moveCells(a,-b.x,-b.y);c.showTextDialog("Create Sidebar Entry","this.addDataEntry('tag1 tag2', "+b.width+", "+b.height+", 'The Title', '"+Graph.compress(mxUtils.getXml(g.encodeCells(a)))+"'),")}})),c.actions.addAction("showBoundingBox",mxUtils.bind(this,function(){var a=g.getGraphBounds(),b=g.view.translate,c=g.view.scale;g.insertVertex(g.getDefaultParent(),null,"",a.x/c-b.x,a.y/c-b.y,a.width/c,a.height/c,"fillColor=none;strokeColor=red;")})),
+c.actions.addAction("testCheckFile",mxUtils.bind(this,function(){var a=null!=c.pages&&null!=c.getCurrentFile()?c.getCurrentFile().getAnonymizedXmlForPages(c.pages):"",a=new TextareaDialog(c,"Paste Data:",a,function(a){if(0<a.length)try{var b=function(a){function b(a){if(null==n[a]){if(n[a]=!0,null!=e[a]){for(;0<e[a].length;){var d=e[a].pop();b(d)}delete e[a]}}else mxLog.debug(c+": Visited: "+a)}var c=a.parentNode.id,d=a.childNodes;a={};for(var e={},f=null,g={},k=0;k<d.length;k++){var l=d[k];if(null!=
+l.id&&0<l.id.length)if(null==a[l.id]){a[l.id]=l.id;var m=l.getAttribute("parent");null==m?null!=f?mxLog.debug(c+": Multiple roots: "+l.id):f=l.id:(null==e[m]&&(e[m]=[]),e[m].push(l.id))}else g[l.id]=l.id}0<Object.keys(g).length?(d=c+": "+Object.keys(g).length+" Duplicates: "+Object.keys(g).join(", "),mxLog.debug(d+" (see console)")):mxLog.debug(c+": Checked");var n={};null==f?mxLog.debug(c+": No root"):(b(f),Object.keys(n).length!=Object.keys(a).length&&(mxLog.debug(c+": Invalid tree: (see console)"),
+console.log(c+": Invalid tree",e)))};"<"!=a.charAt(0)&&(a=Graph.decompress(a),mxLog.debug("See console for uncompressed XML"),console.log("xml",a));var d=mxUtils.parseXml(a),e=c.getPagesForNode(d.documentElement,"mxGraphModel");if(null!=e&&0<e.length)try{var f=c.getHashValueForPages(e);mxLog.debug("Checksum: ",f)}catch(I){mxLog.debug("Error: ",I.message)}else mxLog.debug("No pages found for checksum");var g=d.getElementsByTagName("root");for(a=0;a<g.length;a++)b(g[a]);mxLog.show()}catch(I){c.handleError(I),
+null!=window.console&&console.error(I)}});a.textarea.style.width="600px";a.textarea.style.height="380px";c.showDialog(a.container,620,460,!0,!0);a.init()})),c.actions.addAction("testDiff",mxUtils.bind(this,function(){if(null!=c.pages){var a=new TextareaDialog(c,"Paste Data:","",function(a){if(0<a.length)try{console.log(JSON.stringify(c.diffPages(c.pages,c.getPagesForNode(mxUtils.parseXml(a).documentElement)),null,2))}catch(A){c.handleError(A),null!=window.console&&console.error(A)}});a.textarea.style.width=
+"600px";a.textarea.style.height="380px";c.showDialog(a.container,620,460,!0,!0);a.init()}else c.alert("No pages")})),c.actions.addAction("testInspect",mxUtils.bind(this,function(){console.log(c,g.getModel())})),c.actions.addAction("testXmlImageExport",mxUtils.bind(this,function(){var a=new mxImageExport,b=g.getGraphBounds(),c=g.view.scale,d=mxUtils.createXmlDocument(),e=d.createElement("output");d.appendChild(e);d=new mxXmlCanvas2D(e);d.translate(Math.floor((1-b.x)/c),Math.floor((1-b.y)/c));d.scale(1/
+c);var f=0,k=d.save;d.save=function(){f++;k.apply(this,arguments)};var l=d.restore;d.restore=function(){f--;l.apply(this,arguments)};var m=a.drawShape;a.drawShape=function(a){mxLog.debug("entering shape",a,f);m.apply(this,arguments);mxLog.debug("leaving shape",a,f)};a.drawState(g.getView().getState(g.model.root),d);mxLog.show();mxLog.debug(mxUtils.getXml(e));mxLog.debug("stateCounter",f)})),c.actions.addAction("testShowConsole",function(){mxLog.isVisible()?mxLog.window.fit():mxLog.show();mxLog.window.div.style.zIndex=
+mxPopupMenu.prototype.zIndex-1}),this.put("testDevelop",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"createSidebarEntry showBoundingBox - testCheckFile testDiff - testInspect - testXmlImageExport - testShowConsole".split(" "),b)}))));c.actions.addAction("shapes...",function(){mxClient.IS_CHROMEAPP||!c.isOffline()?c.showDialog((new MoreShapesDialog(c,!0)).container,640,isLocalStorage?mxClient.IS_IOS?480:460:440,!0,!0):c.showDialog((new MoreShapesDialog(c,!1)).container,360,isLocalStorage?
+mxClient.IS_IOS?300:280:260,!0,!0)});c.actions.put("createShape",new Action(mxResources.get("shape")+"...",function(a){g.isEnabled()&&(a=new mxCell("",new mxGeometry(0,0,120,120),c.defaultCustomShapeStyle),a.vertex=!0,a=new EditShapeDialog(c,a,mxResources.get("editShape")+":",630,400),c.showDialog(a.container,640,480,!0,!1),a.init())})).isEnabled=f;c.actions.put("embedHtml",new Action(mxResources.get("html")+"...",function(){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),
+function(a){c.spinner.stop();c.showHtmlDialog(mxResources.get("create"),"https://www.diagrams.net/doc/faq/embed-html-options",a,function(a,b,d,e,f,g,k,l,m,n){c.createHtml(a,b,d,e,f,g,k,l,m,n,mxUtils.bind(this,function(a,b){var d=new EmbedDialog(c,a+"\n"+b,null,null,function(){var d=window.open(),e=d.document;if(null!=e){"CSS1Compat"===document.compatMode&&e.writeln("<!DOCTYPE html>");e.writeln("<html>");e.writeln("<head><title>"+encodeURIComponent(mxResources.get("preview"))+'</title><meta charset="utf-8"></head>');
+e.writeln("<body>");e.writeln(a);var f=mxClient.IS_IE||mxClient.IS_EDGE||null!=document.documentMode;f&&e.writeln(b);e.writeln("</body>");e.writeln("</html>");e.close();if(!f){var g=d.document.createElement("div");g.marginLeft="26px";g.marginTop="26px";mxUtils.write(g,mxResources.get("updatingDocument"));f=d.document.createElement("img");f.setAttribute("src",window.location.protocol+"//"+window.location.hostname+"/"+IMAGE_PATH+"/spin.gif");f.style.marginLeft="6px";g.appendChild(f);d.document.body.insertBefore(g,
+d.document.body.firstChild);window.setTimeout(function(){var a=document.createElement("script");a.type="text/javascript";a.src=/<script.*?src="(.*?)"/.exec(b)[1];e.body.appendChild(a);g.parentNode.removeChild(g)},20)}}else c.handleError({message:mxResources.get("errorUpdatingPreview")})});c.showDialog(d.container,440,240,!0,!0);d.init()}))})})}));c.actions.put("liveImage",new Action("Live image...",function(){var a=c.getCurrentFile();null!=a&&c.spinner.spin(document.body,mxResources.get("loading"))&&
+c.getPublicUrl(c.getCurrentFile(),function(b){c.spinner.stop();null!=b?(b=new EmbedDialog(c,'<img src="'+(a.constructor!=DriveFile?b:"https://drive.google.com/uc?id="+a.getId())+'"/>'),c.showDialog(b.container,440,240,!0,!0),b.init()):c.handleError({message:mxResources.get("invalidPublicUrl")})})}));c.actions.put("embedImage",new Action(mxResources.get("image")+"...",function(){c.showEmbedImageDialog(function(a,b,d,e,f,g){c.spinner.spin(document.body,mxResources.get("loading"))&&c.createEmbedImage(a,
+b,d,e,f,g,function(a){c.spinner.stop();a=new EmbedDialog(c,a);c.showDialog(a.container,440,240,!0,!0);a.init()},function(a){c.spinner.stop();c.handleError(a)})},mxResources.get("image"),mxResources.get("retina"),c.isExportToCanvas())}));c.actions.put("embedSvg",new Action(mxResources.get("formatSvg")+"...",function(){c.showEmbedImageDialog(function(a,b,d,e,f,g){c.spinner.spin(document.body,mxResources.get("loading"))&&c.createEmbedSvg(a,b,d,e,f,g,function(a){c.spinner.stop();a=new EmbedDialog(c,a);
+c.showDialog(a.container,440,240,!0,!0);a.init()},function(a){c.spinner.stop();c.handleError(a)})},mxResources.get("formatSvg"),mxResources.get("image"),!0,"https://www.diagrams.net/doc/faq/embed-svg.html")}));c.actions.put("embedIframe",new Action(mxResources.get("iframe")+"...",function(){var a=g.getGraphBounds();c.showPublishLinkDialog(mxResources.get("iframe"),null,"100%",Math.ceil(a.height/g.view.scale)+2,function(a,b,d,e,f,g,k,l){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),
+function(m){c.spinner.stop();m=new EmbedDialog(c,'<iframe frameborder="0" style="width:'+k+";height:"+l+';" src="'+c.createLink(a,b,d,e,f,g,m)+'"></iframe>');c.showDialog(m.container,440,240,!0,!0);m.init()})},!0)}));c.actions.put("embedNotion",new Action(mxResources.get("notion")+"...",function(){c.showPublishLinkDialog(mxResources.get("notion"),null,null,null,function(a,b,d,e,f,g,k,l){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(k){c.spinner.stop();
+k=new EmbedDialog(c,c.createLink(a,b,d,e,f,g,k,null,["border=0"],!0));c.showDialog(k.container,440,240,!0,!0);k.init()})},!0)}));c.actions.put("publishLink",new Action(mxResources.get("link")+"...",function(){c.showPublishLinkDialog(null,null,null,null,function(a,b,d,e,f,g){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(k){c.spinner.stop();k=new EmbedDialog(c,c.createLink(a,b,d,e,f,g,k));c.showDialog(k.container,440,240,!0,!0);k.init()})})}));
+c.actions.addAction("microsoftOffice...",function(){c.openLink("https://office.draw.io")});c.actions.addAction("googleDocs...",function(){c.openLink("http://docsaddon.draw.io")});c.actions.addAction("googleSlides...",function(){c.openLink("https://slidesaddon.draw.io")});c.actions.addAction("googleSheets...",function(){c.openLink("https://sheetsaddon.draw.io")});c.actions.addAction("googleSites...",function(){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),
+function(a){c.spinner.stop();a=new GoogleSitesDialog(c,a);c.showDialog(a.container,420,256,!0,!0);a.init()})});if(isLocalStorage||mxClient.IS_CHROMEAPP)l=c.actions.addAction("scratchpad",function(){c.toggleScratchpad()}),l.setToggleAction(!0),l.setSelectedCallback(function(){return null!=c.scratchpad}),c.actions.addAction("plugins...",function(){c.showDialog((new PluginsDialog(c)).container,360,170,!0,!1)});l=c.actions.addAction("search",function(){var a=c.sidebar.isEntryVisible("search");c.sidebar.showPalette("search",
+!a);isLocalStorage&&(mxSettings.settings.search=!a,mxSettings.save())});l.setToggleAction(!0);l.setSelectedCallback(function(){return c.sidebar.isEntryVisible("search")});"1"==urlParams.embed&&(c.actions.get("save").funct=function(a){g.isEditing()&&g.stopEditing();var b="0"!=urlParams.pages||null!=c.pages&&1<c.pages.length?c.getFileData(!0):mxUtils.getXml(c.editor.getGraphXml());if("json"==urlParams.proto){var d=c.createLoadMessage("save");d.xml=b;a&&(d.exit=!0);b=JSON.stringify(d)}(window.opener||
+window.parent).postMessage(b,"*");"0"!=urlParams.modified&&"1"!=urlParams.keepmodified&&(c.editor.modified=!1,c.editor.setStatus(""));a=c.getCurrentFile();null==a||a.constructor==EmbedFile||a.constructor==LocalFile&&null==a.mode||c.saveFile()},c.actions.addAction("saveAndExit",function(){c.actions.get("save").funct(!0)}).label="1"==urlParams.publishClose?mxResources.get("publish"):mxResources.get("saveAndExit"),c.actions.addAction("exit",function(){var a=function(){c.editor.modified=!1;var a="json"==
+urlParams.proto?JSON.stringify({event:"exit",modified:c.editor.modified}):"";(window.opener||window.parent).postMessage(a,"*")};c.editor.modified?c.confirm(mxResources.get("allChangesLost"),null,a,mxResources.get("cancel"),mxResources.get("discardChanges")):a()}));this.put("exportAs",new Menu(mxUtils.bind(this,function(a,b){c.isExportToCanvas()?(this.addMenuItems(a,["exportPng"],b),c.jpgSupported&&this.addMenuItems(a,["exportJpg"],b)):c.isOffline()||mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(a,
+["exportPng","exportJpg"],b);this.addMenuItems(a,["exportSvg","-"],b);c.isOffline()||c.printPdfExport?this.addMenuItems(a,["exportPdf"],b):c.isOffline()||mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(a,["exportPdf"],b);mxClient.IS_IE||"undefined"===typeof VsdxExport&&c.isOffline()||this.addMenuItems(a,["exportVsdx"],b);this.addMenuItems(a,["-","exportHtml","exportXml","exportUrl"],b);c.isOffline()||(a.addSeparator(b),this.addMenuItem(a,"export",b).firstChild.nextSibling.innerHTML=mxResources.get("advanced")+
+"...")})));this.put("importFrom",new Menu(mxUtils.bind(this,function(a,b){function d(a){a.pickFile(function(b){c.spinner.spin(document.body,mxResources.get("loading"))&&a.getFile(b,function(a){var b="data:image/"==a.getData().substring(0,11)?l(a.getTitle()):"text/xml";/\.svg$/i.test(a.getTitle())&&!c.editor.isDataSvg(a.getData())&&(a.setData(Editor.createSvgDataUri(a.getData())),b="image/svg+xml");f(a.getData(),b,a.getTitle())},function(a){c.handleError(a,null!=a?mxResources.get("errorLoadingFile"):
+null)},a==c.drive)},!0)}var f=mxUtils.bind(this,function(a,b,d){var e=g.view,f=g.getGraphBounds(),k=g.snap(Math.ceil(Math.max(0,f.x/e.scale-e.translate.x)+4*g.gridSize)),l=g.snap(Math.ceil(Math.max(0,(f.y+f.height)/e.scale-e.translate.y)+4*g.gridSize));"data:image/"==a.substring(0,11)?c.loadImage(a,mxUtils.bind(this,function(e){var f=!0,m=mxUtils.bind(this,function(){c.resizeImage(e,a,mxUtils.bind(this,function(e,m,n){e=f?Math.min(1,Math.min(c.maxImageSize/m,c.maxImageSize/n)):1;c.importFile(a,b,
+k,l,Math.round(m*e),Math.round(n*e),d,function(a){c.spinner.stop();g.setSelectionCells(a);g.scrollCellToVisible(g.getSelectionCell())})}),f)});a.length>c.resampleThreshold?c.confirmImageResize(function(a){f=a;m()}):m()}),mxUtils.bind(this,function(){c.handleError({message:mxResources.get("cannotOpenFile")})})):c.importFile(a,b,k,l,0,0,d,function(a){c.spinner.stop();g.setSelectionCells(a);g.scrollCellToVisible(g.getSelectionCell())})}),l=mxUtils.bind(this,function(a){var b="text/xml";/\.png$/i.test(a)?
+b="image/png":/\.jpe?g$/i.test(a)?b="image/jpg":/\.gif$/i.test(a)?b="image/gif":/\.pdf$/i.test(a)&&(b="application/pdf");return b});"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=c.drive?a.addItem(mxResources.get("googleDrive")+"...",null,function(){d(c.drive)},b):m&&"function"===typeof window.DriveClient&&a.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1));null!=c.oneDrive?a.addItem(mxResources.get("oneDrive")+"...",
+null,function(){d(c.oneDrive)},b):e&&"function"===typeof window.OneDriveClient&&a.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);null!=c.dropbox?a.addItem(mxResources.get("dropbox")+"...",null,function(){d(c.dropbox)},b):n&&"function"===typeof window.DropboxClient&&a.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);a.addSeparator(b);null!=c.gitHub&&a.addItem(mxResources.get("github")+"...",
+null,function(){d(c.gitHub)},b);null!=c.gitLab&&a.addItem(mxResources.get("gitlab")+"...",null,function(){d(c.gitLab)},b);null!=c.trello?a.addItem(mxResources.get("trello")+"...",null,function(){d(c.trello)},b):k&&"function"===typeof window.TrelloClient&&a.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);a.addSeparator(b);isLocalStorage&&"0"!=urlParams.browser&&a.addItem(mxResources.get("browser")+"...",null,function(){c.importLocalFile(!1)},b);
+a.addItem(mxResources.get("device")+"...",null,function(){c.importLocalFile(!0)},b);c.isOffline()||(a.addSeparator(b),a.addItem(mxResources.get("url")+"...",null,function(){var a=new FilenameDialog(c,"",mxResources.get("import"),function(a){if(null!=a&&0<a.length&&c.spinner.spin(document.body,mxResources.get("loading"))){var b=/(\.png)($|\?)/i.test(a)?"image/png":"text/xml";c.editor.loadUrl(PROXY_URL+"?url="+encodeURIComponent(a),function(c){f(c,b,a)},function(){c.spinner.stop();c.handleError(null,
+mxResources.get("errorLoadingFile"))},"image/png"==b)}},mxResources.get("url"));c.showDialog(a.container,300,80,!0,!0);a.init()},b))}))).isEnabled=f;this.put("theme",new Menu(mxUtils.bind(this,function(a,b){var d=mxSettings.getUi(),e=a.addItem(mxResources.get("automatic"),null,function(){mxSettings.setUi("");mxSettings.save();c.alert(mxResources.get("restartForChangeRequired"))},b);"kennedy"!=d&&"atlas"!=d&&"dark"!=d&&"min"!=d&&a.addCheckmark(e,Editor.checkmarkImage);a.addSeparator(b);e=a.addItem(mxResources.get("kennedy"),
+null,function(){mxSettings.setUi("kennedy");mxSettings.save();c.alert(mxResources.get("restartForChangeRequired"))},b);"kennedy"==d&&a.addCheckmark(e,Editor.checkmarkImage);e=a.addItem(mxResources.get("minimal"),null,function(){mxSettings.setUi("min");mxSettings.save();c.alert(mxResources.get("restartForChangeRequired"))},b);"min"==d&&a.addCheckmark(e,Editor.checkmarkImage);e=a.addItem(mxResources.get("atlas"),null,function(){mxSettings.setUi("atlas");mxSettings.save();c.alert(mxResources.get("restartForChangeRequired"))},
+b);"atlas"==d&&a.addCheckmark(e,Editor.checkmarkImage);e=a.addItem(mxResources.get("dark"),null,function(){mxSettings.setUi("dark");mxSettings.save();c.alert(mxResources.get("restartForChangeRequired"))},b);"dark"==d&&a.addCheckmark(e,Editor.checkmarkImage)})));l=this.editorUi.actions.addAction("rename...",mxUtils.bind(this,function(){var a=this.editorUi.getCurrentFile();if(null!=a)if(a.constructor==LocalFile&&null!=a.fileHandle)c.showSaveFilePicker(mxUtils.bind(c,function(b,d){a.invalidFileHandle=
+null;a.fileHandle=b;a.title=d.name;a.desc=d;c.save(d.name)}),null,c.createFileSystemOptions(a.getTitle()));else{var b=null!=a.getTitle()?a.getTitle():this.editorUi.defaultFilename,b=new FilenameDialog(this.editorUi,b,mxResources.get("rename"),mxUtils.bind(this,function(b){null!=b&&0<b.length&&null!=a&&b!=a.getTitle()&&this.editorUi.spinner.spin(document.body,mxResources.get("renaming"))&&a.rename(b,mxUtils.bind(this,function(a){this.editorUi.spinner.stop()}),mxUtils.bind(this,function(a){this.editorUi.handleError(a,
+null!=a?mxResources.get("errorRenamingFile"):null)}))}),a.constructor==DriveFile||a.constructor==StorageFile?mxResources.get("diagramName"):null,function(a){if(null!=a&&0<a.length)return!0;c.showError(mxResources.get("error"),mxResources.get("invalidName"),mxResources.get("ok"));return!1},null,null,null,null,c.editor.fileExtensions);this.editorUi.showDialog(b.container,340,90,!0,!0);b.init()}}));l.isEnabled=function(){return this.enabled&&f.apply(this,arguments)};l.visible="1"!=urlParams.embed;c.actions.addAction("makeCopy...",
+mxUtils.bind(this,function(){var a=c.getCurrentFile();if(null!=a){var b=c.getCopyFilename(a);a.constructor==DriveFile?(b=new CreateDialog(c,b,mxUtils.bind(this,function(b,d){"_blank"==d?c.editor.editAsNew(c.getFileData(),b):("download"==d&&(d=App.MODE_GOOGLE),null!=b&&0<b.length&&(d==App.MODE_GOOGLE?c.spinner.spin(document.body,mxResources.get("saving"))&&a.saveAs(b,mxUtils.bind(this,function(b){a.desc=b;a.save(!1,mxUtils.bind(this,function(){c.spinner.stop();a.setModified(!1);a.addAllSavedStatus()}),
+mxUtils.bind(this,function(a){c.handleError(a)}))}),mxUtils.bind(this,function(a){c.handleError(a)})):c.createFile(b,c.getFileData(!0),null,d)))}),mxUtils.bind(this,function(){c.hideDialog()}),mxResources.get("makeCopy"),mxResources.get("create"),null,null,!0,null,!0,null,null,null,null,c.editor.fileExtensions),c.showDialog(b.container,420,380,!0,!0),b.init()):c.editor.editAsNew(this.editorUi.getFileData(!0),b)}}));c.actions.addAction("moveToFolder...",mxUtils.bind(this,function(){var a=c.getCurrentFile();
+if(a.getMode()==App.MODE_GOOGLE||a.getMode()==App.MODE_ONEDRIVE){var b=!1;if(a.getMode()==App.MODE_GOOGLE&&null!=a.desc.parents)for(var d=0;d<a.desc.parents.length;d++)if(a.desc.parents[d].isRoot){b=!0;break}c.pickFolder(a.getMode(),mxUtils.bind(this,function(b){c.spinner.spin(document.body,mxResources.get("moving"))&&a.move(b,mxUtils.bind(this,function(a){c.spinner.stop()}),mxUtils.bind(this,function(a){c.handleError(a)}))}),null,!0,b)}}));this.put("publish",new Menu(mxUtils.bind(this,function(a,
+b){this.addMenuItems(a,["publishLink"],b)})));c.actions.put("useOffline",new Action(mxResources.get("useOffline")+"...",function(){c.openLink("https://app.draw.io/")}));c.actions.put("downloadDesktop",new Action(mxResources.get("downloadDesktop")+"...",function(){c.openLink("https://get.draw.io/")}));this.editorUi.actions.addAction("share...",mxUtils.bind(this,function(){try{var a=c.getCurrentFile();null!=a&&a.share()}catch(C){c.handleError(C)}}));this.put("embed",new Menu(mxUtils.bind(this,function(a,
+b){var d=c.getCurrentFile();null==d||d.getMode()!=App.MODE_GOOGLE&&d.getMode()!=App.MODE_GITHUB||!/(\.png)$/i.test(d.getTitle())||this.addMenuItems(a,["liveImage","-"],b);this.addMenuItems(a,["embedImage","embedSvg","-","embedHtml"],b);navigator.standalone||c.isOffline()||this.addMenuItems(a,["embedIframe"],b);"1"==urlParams.embed||c.isOffline()||this.addMenuItems(a,"- googleDocs googleSlides googleSheets - microsoftOffice - embedNotion".split(" "),b)})));var v=function(a,b,d,e){("plantUml"!=e||EditorUi.enablePlantUml&&
+!c.isOffline())&&a.addItem(d,null,mxUtils.bind(this,function(){if("fromText"==e||"formatSql"==e||"plantUml"==e||"mermaid"==e){var a=new ParseDialog(c,d,e);c.showDialog(a.container,620,420,!0,!1);c.dialog.container.style.overflow="auto"}else a=new CreateGraphDialog(c,d,e),c.showDialog(a.container,620,420,!0,!1);a.init()}),b,null,f())},z=function(a,b,d,e){var f=new mxCell(a,new mxGeometry(0,0,b,d),e);f.vertex=!0;a=g.getCenterInsertPoint(g.getBoundingBoxFromGeometry([f],!0));f.geometry.x=a.x;f.geometry.y=
+a.y;g.getModel().beginUpdate();try{f=g.addCell(f),g.fireEvent(new mxEventObject("cellsInserted","cells",[f]))}finally{g.getModel().endUpdate()}g.scrollCellToVisible(f);g.setSelectionCell(f);g.container.focus();g.editAfterInsert&&g.startEditing(f);window.setTimeout(function(){null!=c.hoverIcons&&c.hoverIcons.update(g.view.getState(f))},0);return f};c.actions.put("insertText",new Action(mxResources.get("text"),function(){g.isEnabled()&&!g.isCellLocked(g.getDefaultParent())&&g.startEditingAtCell(z("Text",
+40,20,"text;html=1;resizable=0;autosize=1;align=center;verticalAlign=middle;points=[];fillColor=none;strokeColor=none;rounded=0;"))}),null,null,Editor.ctrlKey+"+Shift+X").isEnabled=f;c.actions.put("insertRectangle",new Action(mxResources.get("rectangle"),function(){g.isEnabled()&&!g.isCellLocked(g.getDefaultParent())&&z("",120,60,"whiteSpace=wrap;html=1;")}),null,null,Editor.ctrlKey+"+K").isEnabled=f;c.actions.put("insertEllipse",new Action(mxResources.get("ellipse"),function(){g.isEnabled()&&!g.isCellLocked(g.getDefaultParent())&&
+z("",80,80,"ellipse;whiteSpace=wrap;html=1;")}),null,null,Editor.ctrlKey+"+Shift+K").isEnabled=f;c.actions.put("insertRhombus",new Action(mxResources.get("rhombus"),function(){g.isEnabled()&&!g.isCellLocked(g.getDefaultParent())&&z("",80,80,"rhombus;whiteSpace=wrap;html=1;")})).isEnabled=f;var x=mxUtils.bind(this,function(a,b,c){for(var d=0;d<c.length;d++)"-"==c[d]?a.addSeparator(b):v(a,b,mxResources.get(c[d])+"...",c[d])});this.put("insert",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,
+"insertRectangle insertEllipse insertRhombus - insertText insertLink - createShape insertFreehand - insertImage".split(" "),b);c.insertTemplateEnabled&&!c.isOffline()&&this.addMenuItems(a,["insertTemplate"],b);a.addSeparator(b);this.addSubmenu("insertLayout",a,b,mxResources.get("layout"));this.addSubmenu("insertAdvanced",a,b,mxResources.get("advanced"))})));this.put("insertLayout",new Menu(mxUtils.bind(this,function(a,b){x(a,b,"horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle".split(" "))})));
+this.put("insertAdvanced",new Menu(mxUtils.bind(this,function(a,b){x(a,b,["fromText","plantUml","mermaid","-","formatSql"]);a.addItem(mxResources.get("csv")+"...",null,function(){c.showImportCsvDialog()},b,null,f())})));this.put("openRecent",new Menu(function(a,b){var d=c.getRecent();if(null!=d){for(var e=0;e<d.length;e++)(function(d){var e=d.mode;e==App.MODE_GOOGLE?e="googleDrive":e==App.MODE_ONEDRIVE&&(e="oneDrive");a.addItem(d.title+" ("+mxResources.get(e)+")",null,function(){c.loadFile(d.id)},
+b)})(d[e]);a.addSeparator(b)}a.addItem(mxResources.get("reset"),null,function(){c.resetRecent()},b)}));this.put("openFrom",new Menu(function(a,b){null!=c.drive?a.addItem(mxResources.get("googleDrive")+"...",null,function(){c.pickFile(App.MODE_GOOGLE)},b):m&&"function"===typeof window.DriveClient&&a.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);null!=c.oneDrive?a.addItem(mxResources.get("oneDrive")+"...",null,function(){c.pickFile(App.MODE_ONEDRIVE)},
+b):e&&"function"===typeof window.OneDriveClient&&a.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);null!=c.dropbox?a.addItem(mxResources.get("dropbox")+"...",null,function(){c.pickFile(App.MODE_DROPBOX)},b):n&&"function"===typeof window.DropboxClient&&a.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);a.addSeparator(b);null!=c.gitHub&&a.addItem(mxResources.get("github")+"...",null,function(){c.pickFile(App.MODE_GITHUB)},
+b);null!=c.gitLab&&a.addItem(mxResources.get("gitlab")+"...",null,function(){c.pickFile(App.MODE_GITLAB)},b);null!=c.trello?a.addItem(mxResources.get("trello")+"...",null,function(){c.pickFile(App.MODE_TRELLO)},b):k&&"function"===typeof window.TrelloClient&&a.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);a.addSeparator(b);isLocalStorage&&"0"!=urlParams.browser&&a.addItem(mxResources.get("browser")+"...",null,function(){c.pickFile(App.MODE_BROWSER)},
+b);a.addItem(mxResources.get("device")+"...",null,function(){c.pickFile(App.MODE_DEVICE)},b);c.isOffline()||(a.addSeparator(b),a.addItem(mxResources.get("url")+"...",null,function(){var a=new FilenameDialog(c,"",mxResources.get("open"),function(a){null!=a&&0<a.length&&(null==c.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(a):window.openWindow((mxClient.IS_CHROMEAPP?"https://www.draw.io/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(a)))},mxResources.get("url"));
+c.showDialog(a.container,300,80,!0,!0);a.init()},b))}));Editor.enableCustomLibraries&&(this.put("newLibrary",new Menu(function(a,b){"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=c.drive?a.addItem(mxResources.get("googleDrive")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_GOOGLE)},b):m&&"function"===typeof window.DriveClient&&a.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1));null!=c.oneDrive?
+a.addItem(mxResources.get("oneDrive")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_ONEDRIVE)},b):e&&"function"===typeof window.OneDriveClient&&a.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);null!=c.dropbox?a.addItem(mxResources.get("dropbox")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_DROPBOX)},b):n&&"function"===typeof window.DropboxClient&&a.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+
+"...)",null,function(){},b,null,!1);a.addSeparator(b);null!=c.gitHub&&a.addItem(mxResources.get("github")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_GITHUB)},b);null!=c.gitLab&&a.addItem(mxResources.get("gitlab")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_GITLAB)},b);null!=c.trello?a.addItem(mxResources.get("trello")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_TRELLO)},b):k&&"function"===typeof window.TrelloClient&&
+a.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);a.addSeparator(b);isLocalStorage&&"0"!=urlParams.browser&&a.addItem(mxResources.get("browser")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_BROWSER)},b);a.addItem(mxResources.get("device")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_DEVICE)},b)})),this.put("openLibraryFrom",new Menu(function(a,b){"undefined"!=typeof google&&"undefined"!=typeof google.picker&&
+(null!=c.drive?a.addItem(mxResources.get("googleDrive")+"...",null,function(){c.pickLibrary(App.MODE_GOOGLE)},b):m&&"function"===typeof window.DriveClient&&a.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1));null!=c.oneDrive?a.addItem(mxResources.get("oneDrive")+"...",null,function(){c.pickLibrary(App.MODE_ONEDRIVE)},b):e&&"function"===typeof window.OneDriveClient&&a.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",
+null,function(){},b,null,!1);null!=c.dropbox?a.addItem(mxResources.get("dropbox")+"...",null,function(){c.pickLibrary(App.MODE_DROPBOX)},b):n&&"function"===typeof window.DropboxClient&&a.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);a.addSeparator(b);null!=c.gitHub&&a.addItem(mxResources.get("github")+"...",null,function(){c.pickLibrary(App.MODE_GITHUB)},b);null!=c.gitLab&&a.addItem(mxResources.get("gitlab")+"...",null,function(){c.pickLibrary(App.MODE_GITLAB)},
+b);null!=c.trello?a.addItem(mxResources.get("trello")+"...",null,function(){c.pickLibrary(App.MODE_TRELLO)},b):k&&"function"===typeof window.TrelloClient&&a.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);a.addSeparator(b);isLocalStorage&&"0"!=urlParams.browser&&a.addItem(mxResources.get("browser")+"...",null,function(){c.pickLibrary(App.MODE_BROWSER)},b);a.addItem(mxResources.get("device")+"...",null,function(){c.pickLibrary(App.MODE_DEVICE)},
+b);c.isOffline()||(a.addSeparator(b),a.addItem(mxResources.get("url")+"...",null,function(){var a=new FilenameDialog(c,"",mxResources.get("open"),function(a){if(null!=a&&0<a.length&&c.spinner.spin(document.body,mxResources.get("loading"))){var b=a;c.editor.isCorsEnabledForUrl(a)||(b=PROXY_URL+"?url="+encodeURIComponent(a));mxUtils.get(b,function(b){if(200<=b.getStatus()&&299>=b.getStatus()){c.spinner.stop();try{c.loadLibrary(new UrlLibrary(this,b.getText(),a))}catch(E){c.handleError(E,mxResources.get("errorLoadingFile"))}}else c.spinner.stop(),
+c.handleError(null,mxResources.get("errorLoadingFile"))},function(){c.spinner.stop();c.handleError(null,mxResources.get("errorLoadingFile"))})}},mxResources.get("url"));c.showDialog(a.container,300,80,!0,!0);a.init()},b));"1"==urlParams.confLib&&(a.addSeparator(b),a.addItem(mxResources.get("confluenceCloud")+"...",null,function(){c.showRemotelyStoredLibrary(mxResources.get("libraries"))},b))})));this.put("edit",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"undo redo - cut copy copyAsImage paste delete - duplicate - findReplace - editData editTooltip - editStyle editGeometry - edit - editLink openLink - selectVertices selectEdges selectAll selectNone - lockUnlock".split(" "))})));
l=c.actions.addAction("comments",mxUtils.bind(this,function(){if(null==this.commentsWindow)this.commentsWindow=new CommentsWindow(c,document.body.offsetWidth-380,120,300,350),this.commentsWindow.window.addListener("show",function(){c.fireEvent(new mxEventObject("comments"))}),this.commentsWindow.window.addListener("hide",function(){c.fireEvent(new mxEventObject("comments"))}),this.commentsWindow.window.setVisible(!0),c.fireEvent(new mxEventObject("comments"));else{var a=!this.commentsWindow.window.isVisible();
-this.commentsWindow.window.setVisible(a);this.commentsWindow.refreshCommentsTime();a&&this.commentsWindow.hasError&&this.commentsWindow.refreshComments()}}));l.setToggleAction(!0);l.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.commentsWindow&&this.commentsWindow.window.isVisible()}));c.editor.addListener("fileLoaded",mxUtils.bind(this,function(){null!=this.commentsWindow&&(this.commentsWindow.destroy(),this.commentsWindow=null)}));var l=this.get("viewPanels"),A=l.funct;l.funct=
-function(a,b){A.apply(this,arguments);c.commentsSupported()&&c.menus.addMenuItems(a,["comments"],b)};this.put("view",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,(null!=this.editorUi.format?["formatPanel"]:[]).concat(["outline","layers"]).concat(c.commentsSupported()?["comments","-"]:["-"]));this.addMenuItems(a,["-","search"],b);if(isLocalStorage||mxClient.IS_CHROMEAPP){var d=this.addMenuItem(a,"scratchpad",b);(!c.isOffline()||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&this.addLinkToItem(d,
+this.commentsWindow.window.setVisible(a);this.commentsWindow.refreshCommentsTime();a&&this.commentsWindow.hasError&&this.commentsWindow.refreshComments()}}));l.setToggleAction(!0);l.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.commentsWindow&&this.commentsWindow.window.isVisible()}));c.editor.addListener("fileLoaded",mxUtils.bind(this,function(){null!=this.commentsWindow&&(this.commentsWindow.destroy(),this.commentsWindow=null)}));var l=this.get("viewPanels"),B=l.funct;l.funct=
+function(a,b){B.apply(this,arguments);c.commentsSupported()&&c.menus.addMenuItems(a,["comments"],b)};this.put("view",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,(null!=this.editorUi.format?["formatPanel"]:[]).concat(["outline","layers"]).concat(c.commentsSupported()?["comments","-"]:["-"]));this.addMenuItems(a,["-","search"],b);if(isLocalStorage||mxClient.IS_CHROMEAPP){var d=this.addMenuItem(a,"scratchpad",b);(!c.isOffline()||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&this.addLinkToItem(d,
"https://www.diagrams.net/doc/faq/scratchpad")}this.addMenuItems(a,["shapes","-","pageView","pageScale"]);this.addSubmenu("units",a,b);this.addMenuItems(a,"- scrollbars tooltips ruler - grid guides".split(" "),b);mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode)&&this.addMenuItem(a,"shadowVisible",b);this.addMenuItems(a,"- connectionArrows connectionPoints - resetView zoomIn zoomOut".split(" "),b)})));this.put("extras",new Menu(mxUtils.bind(this,function(a,b){"1"==urlParams.noLangIcon&&
(this.addSubmenu("language",a,b),a.addSeparator(b));"1"!=urlParams.embed&&(this.addSubmenu("theme",a,b),a.addSeparator(b));if("undefined"!==typeof MathJax){var d=this.addMenuItem(a,"mathematicalTypesetting",b);(!c.isOffline()||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&this.addLinkToItem(d,"https://www.diagrams.net/doc/faq/math-typesetting")}this.addMenuItems(a,["copyConnect","collapseExpand","-"],b);"1"!=urlParams.embed&&(isLocalStorage||mxClient.IS_CHROMEAPP)&&this.addMenuItems(a,["showStartScreen"],
b);"1"!=urlParams.embed&&this.addMenuItems(a,["autosave"],b);a.addSeparator(b);!c.isOfflineApp()&&isLocalStorage&&this.addMenuItem(a,"plugins",b);this.addMenuItems(a,["tags","-","editDiagram"],b);Graph.translateDiagram&&this.addMenuItems(a,["diagramLanguage"]);this.addMenuItems(a,["-","configuration"],b);a.addSeparator(b);"1"==urlParams.newTempDlg&&(c.actions.addAction("templates",function(){var a=new TemplatesDialog;c.showDialog(a.container,a.width,a.height,!0,!1,null,!1,!0);a.init(c,function(a){console.log(a)},
@@ -11325,33 +11332,33 @@ e=new EmbedDialog(this,this.getLinkForPage(a,b,e));this.showDialog(e.container,4
(function(){var a=new mxObjectCodec(new ChangePage,"ui relatedPage index neverShown page previousPage".split(" ")),d="defaultParent currentRoot scrollLeft scrollTop scale translate lastPasteXml pasteCounter".split(" ");a.afterEncode=function(a,c,g){g.setAttribute("relatedPage",c.relatedPage.getId());null==c.index&&(g.setAttribute("name",c.relatedPage.getName()),null!=c.relatedPage.viewState&&g.setAttribute("viewState",JSON.stringify(c.relatedPage.viewState,function(a,b){return 0>mxUtils.indexOf(d,
a)?b:void 0})),null!=c.relatedPage.root&&a.encodeCell(c.relatedPage.root,g));return g};a.beforeDecode=function(a,c,d){d.ui=a.ui;d.relatedPage=d.ui.getPageById(c.getAttribute("relatedPage"));if(null==d.relatedPage){var b=c.ownerDocument.createElement("diagram");b.setAttribute("id",c.getAttribute("relatedPage"));b.setAttribute("name",c.getAttribute("name"));d.relatedPage=new DiagramPage(b);b=c.getAttribute("viewState");null!=b&&(d.relatedPage.viewState=JSON.parse(b),c.removeAttribute("viewState"));
c=c.cloneNode(!0);b=c.firstChild;if(null!=b)for(d.relatedPage.root=a.decodeCell(b,!1),d=b.nextSibling,b.parentNode.removeChild(b),b=d;null!=b;){d=b.nextSibling;if(b.nodeType==mxConstants.NODETYPE_ELEMENT){var g=b.getAttribute("id");null==a.lookup(g)&&a.decodeCell(b)}b.parentNode.removeChild(b);b=d}}return c};a.afterDecode=function(a,c,d){d.index=d.previousIndex;return d};mxCodecRegistry.register(a)})();(function(){EditorUi.prototype.altShiftActions[68]="selectDescendants";var a=Graph.prototype.foldCells;Graph.prototype.foldCells=function(b,d,f,m,n){d=null!=d?d:!1;null==f&&(f=this.getFoldableCells(this.getSelectionCells(),b));this.stopEditing();this.model.beginUpdate();try{for(var c=f.slice(),g=0;g<f.length;g++)"1"==mxUtils.getValue(this.getCurrentCellStyle(f[g]),"treeFolding","0")&&this.foldTreeCell(b,f[g]);f=c;f=a.apply(this,arguments)}finally{this.model.endUpdate()}return f};Graph.prototype.foldTreeCell=
-function(a,b){this.model.beginUpdate();try{var c=[];this.traverse(b,!0,mxUtils.bind(this,function(a,d){null!=d&&c.push(d);a!=b&&c.push(a);return a==b||!this.model.isCollapsed(a)}));this.model.setCollapsed(b,a);for(var d=0;d<c.length;d++)this.model.setVisible(c[d],!a)}finally{this.model.endUpdate()}};var d=EditorUi.prototype.init;EditorUi.prototype.init=function(){d.apply(this,arguments);this.editor.isChromelessView()&&!this.editor.editable||this.addTrees()};EditorUi.prototype.addTrees=function(){function a(a){return x.isVertex(a)&&
-d(a)}function b(a){var b=!1;null!=a&&(b="1"==q.getCurrentCellStyle(a).treeMoving);return b}function d(a){var b=!1;null!=a&&(a=x.getParent(a),b=q.view.getState(a),b="tree"==(null!=b?b.style:q.getCellStyle(a)).containerType);return b}function m(a){var b=!1;null!=a&&(a=x.getParent(a),b=q.view.getState(a),q.view.getState(a),b=null!=(null!=b?b.style:q.getCellStyle(a)).childLayout);return b}function n(a){a=q.view.getState(a);if(null!=a){var b=q.getIncomingEdges(a.cell);if(0<b.length&&(b=q.view.getState(b[0]),
+function(a,b){this.model.beginUpdate();try{var c=[];this.traverse(b,!0,mxUtils.bind(this,function(a,d){null!=d&&c.push(d);a!=b&&c.push(a);return a==b||!this.model.isCollapsed(a)}));this.model.setCollapsed(b,a);for(var d=0;d<c.length;d++)this.model.setVisible(c[d],!a)}finally{this.model.endUpdate()}};var d=EditorUi.prototype.init;EditorUi.prototype.init=function(){d.apply(this,arguments);this.editor.isChromelessView()&&!this.editor.editable||this.addTrees()};EditorUi.prototype.addTrees=function(){function a(a){return v.isVertex(a)&&
+d(a)}function b(a){var b=!1;null!=a&&(b="1"==q.getCurrentCellStyle(a).treeMoving);return b}function d(a){var b=!1;null!=a&&(a=v.getParent(a),b=q.view.getState(a),b="tree"==(null!=b?b.style:q.getCellStyle(a)).containerType);return b}function m(a){var b=!1;null!=a&&(a=v.getParent(a),b=q.view.getState(a),q.view.getState(a),b=null!=(null!=b?b.style:q.getCellStyle(a)).childLayout);return b}function n(a){a=q.view.getState(a);if(null!=a){var b=q.getIncomingEdges(a.cell);if(0<b.length&&(b=q.view.getState(b[0]),
null!=b&&(b=b.absolutePoints,null!=b&&0<b.length&&(b=b[b.length-1],null!=b)))){if(b.y==a.y&&Math.abs(b.x-a.getCenterX())<a.width/2)return mxConstants.DIRECTION_SOUTH;if(b.y==a.y+a.height&&Math.abs(b.x-a.getCenterX())<a.width/2)return mxConstants.DIRECTION_NORTH;if(b.x>a.getCenterX())return mxConstants.DIRECTION_WEST}}return mxConstants.DIRECTION_EAST}function e(a,b){b=null!=b?b:!0;q.model.beginUpdate();try{var c=q.model.getParent(a),d=q.getIncomingEdges(a),e=q.cloneCells([d[0],a]);q.model.setTerminal(e[0],
q.model.getTerminal(d[0],!0),!0);var f=n(a),g=c.geometry;f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?e[1].geometry.x+=b?a.geometry.width+10:-e[1].geometry.width-10:e[1].geometry.y+=b?a.geometry.height+10:-e[1].geometry.height-10;q.view.currentRoot!=c&&(e[1].geometry.x-=g.x,e[1].geometry.y-=g.y);var k=q.view.getState(a),l=q.view.scale;if(null!=k){var m=mxRectangle.fromRectangle(k);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?m.x+=(b?a.geometry.width+10:-e[1].geometry.width-
-10)*l:m.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*l;var p=q.getOutgoingEdges(q.model.getTerminal(d[0],!0));if(null!=p){for(var t=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,x=g=d=0;x<p.length;x++){var u=q.model.getTerminal(p[x],!1);if(f==n(u)){var z=q.view.getState(u);u!=a&&null!=z&&(t&&b!=z.getCenterX()<k.getCenterX()||!t&&b!=z.getCenterY()<k.getCenterY())&&mxUtils.intersects(m,z)&&(d=10+Math.max(d,(Math.min(m.x+m.width,z.x+z.width)-Math.max(m.x,z.x))/l),g=10+Math.max(g,
-(Math.min(m.y+m.height,z.y+z.height)-Math.max(m.y,z.y))/l))}}t?g=0:d=0;for(x=0;x<p.length;x++)if(u=q.model.getTerminal(p[x],!1),f==n(u)&&(z=q.view.getState(u),u!=a&&null!=z&&(t&&b!=z.getCenterX()<k.getCenterX()||!t&&b!=z.getCenterY()<k.getCenterY()))){var C=[];q.traverse(z.cell,!0,function(a,b){null!=b&&C.push(b);C.push(a);return!0});q.moveCells(C,(b?1:-1)*d,(b?1:-1)*g)}}}return q.addCells(e,c)}finally{q.model.endUpdate()}}function k(a){q.model.beginUpdate();try{var b=n(a),c=q.getIncomingEdges(a),
+10)*l:m.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*l;var p=q.getOutgoingEdges(q.model.getTerminal(d[0],!0));if(null!=p){for(var t=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,v=g=d=0;v<p.length;v++){var u=q.model.getTerminal(p[v],!1);if(f==n(u)){var y=q.view.getState(u);u!=a&&null!=y&&(t&&b!=y.getCenterX()<k.getCenterX()||!t&&b!=y.getCenterY()<k.getCenterY())&&mxUtils.intersects(m,y)&&(d=10+Math.max(d,(Math.min(m.x+m.width,y.x+y.width)-Math.max(m.x,y.x))/l),g=10+Math.max(g,
+(Math.min(m.y+m.height,y.y+y.height)-Math.max(m.y,y.y))/l))}}t?g=0:d=0;for(v=0;v<p.length;v++)if(u=q.model.getTerminal(p[v],!1),f==n(u)&&(y=q.view.getState(u),u!=a&&null!=y&&(t&&b!=y.getCenterX()<k.getCenterX()||!t&&b!=y.getCenterY()<k.getCenterY()))){var A=[];q.traverse(y.cell,!0,function(a,b){null!=b&&A.push(b);A.push(a);return!0});q.moveCells(A,(b?1:-1)*d,(b?1:-1)*g)}}}return q.addCells(e,c)}finally{q.model.endUpdate()}}function k(a){q.model.beginUpdate();try{var b=n(a),c=q.getIncomingEdges(a),
d=q.cloneCells([c[0],a]);q.model.setTerminal(c[0],d[1],!1);q.model.setTerminal(d[0],d[1],!0);q.model.setTerminal(d[0],a,!1);var e=q.model.getParent(a),f=e.geometry,g=[];q.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);q.traverse(a,!0,function(a,b){null!=b&&g.push(b);g.push(a);return!0});var k=a.geometry.width+40,l=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?k=0:b==mxConstants.DIRECTION_NORTH?(k=0,l=-l):b==mxConstants.DIRECTION_WEST?(k=-k,l=0):b==mxConstants.DIRECTION_EAST&&
(l=0);q.moveCells(g,k,l);return q.addCells(d,e)}finally{q.model.endUpdate()}}function l(a,b){q.model.beginUpdate();try{var c=q.model.getParent(a),d=q.getIncomingEdges(a),e=n(a);0==d.length&&(d=[q.createEdge(c,null,"",null,null,q.createCurrentEdgeStyle())],e=b);var f=q.cloneCells([d[0],a]);q.model.setTerminal(f[0],a,!0);if(null==q.model.getTerminal(f[0],!1)){q.model.setTerminal(f[0],f[1],!1);var g=q.getCellStyle(f[1]).newEdgeStyle;if(null!=g)try{var k=JSON.parse(g),l;for(l in k)q.setCellStyles(l,k[l],
-[f[0]]),"edgeStyle"==l&&"elbowEdgeStyle"==k[l]&&q.setCellStyles("elbow",e==mxConstants.DIRECTION_SOUTH||e==mxConstants.DIRECTION_NOTH?"vertical":"horizontal",[f[0]])}catch(ea){}}var d=q.getOutgoingEdges(a),m=c.geometry,g=[];q.view.currentRoot==c&&(m=new mxRectangle);for(k=0;k<d.length;k++){var p=q.model.getTerminal(d[k],!1);null!=p&&g.push(p)}var t=q.view.getBounds(g),x=q.view.translate,u=q.view.scale;e==mxConstants.DIRECTION_SOUTH?(f[1].geometry.x=null==t?a.geometry.x+(a.geometry.width-f[1].geometry.width)/
-2:(t.x+t.width)/u-x.x-m.x+10,f[1].geometry.y+=f[1].geometry.height-m.y+40):e==mxConstants.DIRECTION_NORTH?(f[1].geometry.x=null==t?a.geometry.x+(a.geometry.width-f[1].geometry.width)/2:(t.x+t.width)/u-x.x+-m.x+10,f[1].geometry.y-=f[1].geometry.height+m.y+40):(f[1].geometry.x=e==mxConstants.DIRECTION_WEST?f[1].geometry.x-(f[1].geometry.width+m.x+40):f[1].geometry.x+(f[1].geometry.width-m.x+40),f[1].geometry.y=null==t?a.geometry.y+(a.geometry.height-f[1].geometry.height)/2:(t.y+t.height)/u-x.y+-m.y+
+[f[0]]),"edgeStyle"==l&&"elbowEdgeStyle"==k[l]&&q.setCellStyles("elbow",e==mxConstants.DIRECTION_SOUTH||e==mxConstants.DIRECTION_NOTH?"vertical":"horizontal",[f[0]])}catch(ea){}}var d=q.getOutgoingEdges(a),m=c.geometry,g=[];q.view.currentRoot==c&&(m=new mxRectangle);for(k=0;k<d.length;k++){var p=q.model.getTerminal(d[k],!1);null!=p&&g.push(p)}var t=q.view.getBounds(g),v=q.view.translate,u=q.view.scale;e==mxConstants.DIRECTION_SOUTH?(f[1].geometry.x=null==t?a.geometry.x+(a.geometry.width-f[1].geometry.width)/
+2:(t.x+t.width)/u-v.x-m.x+10,f[1].geometry.y+=f[1].geometry.height-m.y+40):e==mxConstants.DIRECTION_NORTH?(f[1].geometry.x=null==t?a.geometry.x+(a.geometry.width-f[1].geometry.width)/2:(t.x+t.width)/u-v.x+-m.x+10,f[1].geometry.y-=f[1].geometry.height+m.y+40):(f[1].geometry.x=e==mxConstants.DIRECTION_WEST?f[1].geometry.x-(f[1].geometry.width+m.x+40):f[1].geometry.x+(f[1].geometry.width-m.x+40),f[1].geometry.y=null==t?a.geometry.y+(a.geometry.height-f[1].geometry.height)/2:(t.y+t.height)/u-v.y+-m.y+
10);return q.addCells(f,c)}finally{q.model.endUpdate()}}function p(a,b,c){a=q.getOutgoingEdges(a);c=q.view.getState(c);var d=[];if(null!=c&&null!=a){for(var e=0;e<a.length;e++){var f=q.view.getState(q.model.getTerminal(a[e],!1));null!=f&&(!b&&Math.min(f.x+f.width,c.x+c.width)>=Math.max(f.x,c.x)||b&&Math.min(f.y+f.height,c.y+c.height)>=Math.max(f.y,c.y))&&d.push(f)}d.sort(function(a,c){return b?a.x+a.width-c.x-c.width:a.y+a.height-c.y-c.height})}return d}function t(a,b){var c=n(a),d=b==mxConstants.DIRECTION_EAST||
b==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST)==d&&c!=b?u.actions.get("selectParent").funct():c==b?(d=q.getOutgoingEdges(a),null!=d&&0<d.length&&q.setSelectionCell(q.model.getTerminal(d[0],!1))):(c=q.getIncomingEdges(a),null!=c&&0<c.length&&(d=p(q.model.getTerminal(c[0],!0),d,a),c=q.view.getState(a),null!=c&&(c=mxUtils.indexOf(d,c),0<=c&&(c+=b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_WEST?-1:1,0<=c&&c<=d.length-1&&q.setSelectionCell(d[c].cell)))))}
-var u=this,q=u.editor.graph,x=q.getModel(),y=u.menus.createPopupMenu;u.menus.createPopupMenu=function(b,c,d){y.apply(this,arguments);if(1==q.getSelectionCount()){c=q.getSelectionCell();var e=q.getOutgoingEdges(c);b.addSeparator();0<e.length&&(a(q.getSelectionCell())&&this.addMenuItems(b,["selectChildren"],null,d),this.addMenuItems(b,["selectDescendants"],null,d));a(q.getSelectionCell())&&(b.addSeparator(),0<q.getIncomingEdges(c).length&&this.addMenuItems(b,["selectSiblings","selectParent"],null,d))}};
+var u=this,q=u.editor.graph,v=q.getModel(),z=u.menus.createPopupMenu;u.menus.createPopupMenu=function(b,c,d){z.apply(this,arguments);if(1==q.getSelectionCount()){c=q.getSelectionCell();var e=q.getOutgoingEdges(c);b.addSeparator();0<e.length&&(a(q.getSelectionCell())&&this.addMenuItems(b,["selectChildren"],null,d),this.addMenuItems(b,["selectDescendants"],null,d));a(q.getSelectionCell())&&(b.addSeparator(),0<q.getIncomingEdges(c).length&&this.addMenuItems(b,["selectSiblings","selectParent"],null,d))}};
u.actions.addAction("selectChildren",function(){if(q.isEnabled()&&1==q.getSelectionCount()){var a=q.getSelectionCell(),a=q.getOutgoingEdges(a);if(null!=a){for(var b=[],c=0;c<a.length;c++)b.push(q.model.getTerminal(a[c],!1));q.setSelectionCells(b)}}},null,null,"Alt+Shift+X");u.actions.addAction("selectSiblings",function(){if(q.isEnabled()&&1==q.getSelectionCount()){var a=q.getSelectionCell(),a=q.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=q.getOutgoingEdges(q.model.getTerminal(a[0],!0)),null!=a)){for(var b=
[],c=0;c<a.length;c++)b.push(q.model.getTerminal(a[c],!1));q.setSelectionCells(b)}}},null,null,"Alt+Shift+S");u.actions.addAction("selectParent",function(){if(q.isEnabled()&&1==q.getSelectionCount()){var a=q.getSelectionCell(),a=q.getIncomingEdges(a);null!=a&&0<a.length&&q.setSelectionCell(q.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");u.actions.addAction("selectDescendants",function(a,b){var c=q.getSelectionCell();if(q.isEnabled()&&q.model.isVertex(c)){if(null!=b&&mxEvent.isAltDown(b))q.setSelectionCells(q.model.getEdges(c,
-null==b||!mxEvent.isShiftDown(b),null==b||!mxEvent.isControlDown(b)));else{var d=[];q.traverse(c,!0,function(a,c){null!=c&&d.push(c);null!=b&&mxEvent.isShiftDown(b)||d.push(a);return!0})}q.setSelectionCells(d)}},null,null,"Alt+Shift+D");var v=q.removeCells;q.removeCells=function(b,c){c=null!=c?c:!0;null==b&&(b=this.getDeletableCells(this.getSelectionCells()));c&&(b=this.getDeletableCells(this.addAllEdges(b)));for(var e=[],f=0;f<b.length;f++){var g=b[f];x.isEdge(g)&&d(g)&&(e.push(g),g=x.getTerminal(g,
-!1));if(a(g)){var k=[];q.traverse(g,!0,function(a,b){null!=b&&k.push(b);k.push(a);return!0});0<k.length&&(e=e.concat(k),g=q.getIncomingEdges(b[f]),b=b.concat(g))}else null!=g&&e.push(b[f])}b=e;return v.apply(this,arguments)};u.hoverIcons.getStateAt=function(b,c,d){return a(b.cell)?null:this.graph.view.getState(this.graph.getCellAt(c,d))};var A=q.duplicateCells;q.duplicateCells=function(b,c){b=null!=b?b:this.getSelectionCells();for(var d=b.slice(0),e=0;e<d.length;e++){var f=q.view.getState(d[e]);if(null!=
-f&&a(f.cell))for(var g=q.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f],b)}this.model.beginUpdate();try{var k=A.call(this,b,c);if(k.length==b.length)for(e=0;e<b.length;e++)if(a(b[e])){var l=q.getIncomingEdges(k[e]),g=q.getIncomingEdges(b[e]);if(0==l.length&&0<g.length){var m=this.cloneCell(g[0]);this.addEdge(m,q.getDefaultParent(),this.model.getTerminal(g[0],!0),k[e])}}}finally{this.model.endUpdate()}return k};var z=q.moveCells;q.moveCells=function(b,c,d,e,f,g,k){var l=null;this.model.beginUpdate();
-try{var m=f,n=this.getCurrentCellStyle(f);if(null!=b&&a(f)&&"1"==mxUtils.getValue(n,"treeFolding","0")){for(var p=0;p<b.length;p++)if(a(b[p])||q.model.isEdge(b[p])&&null==q.model.getTerminal(b[p],!0)){f=q.model.getParent(b[p]);break}if(null!=m&&f!=m&&null!=this.view.getState(b[0])){var t=q.getIncomingEdges(b[0]);if(0<t.length){var x=q.view.getState(q.model.getTerminal(t[0],!0));if(null!=x){var u=q.view.getState(m);null!=u&&(c=(u.getCenterX()-x.getCenterX())/q.view.scale,d=(u.getCenterY()-x.getCenterY())/
-q.view.scale)}}}}l=z.apply(this,arguments);if(null!=l&&null!=b&&l.length==b.length)for(p=0;p<l.length;p++)if(this.model.isEdge(l[p]))a(m)&&0>mxUtils.indexOf(l,this.model.getTerminal(l[p],!0))&&this.model.setTerminal(l[p],m,!0);else if(a(b[p])&&(t=q.getIncomingEdges(b[p]),0<t.length))if(!e)a(m)&&0>mxUtils.indexOf(b,this.model.getTerminal(t[0],!0))&&this.model.setTerminal(t[0],m,!0);else if(0==q.getIncomingEdges(l[p]).length){n=m;if(null==n||n==q.model.getParent(b[p]))n=q.model.getTerminal(t[0],!0);
-e=this.cloneCell(t[0]);this.addEdge(e,q.getDefaultParent(),n,l[p])}}finally{this.model.endUpdate()}return l};if(null!=u.sidebar){var B=u.sidebar.dropAndConnect;u.sidebar.dropAndConnect=function(b,c,d,e){var f=q.model,g=null;f.beginUpdate();try{if(g=B.apply(this,arguments),a(b))for(var k=0;k<g.length;k++)if(f.isEdge(g[k])&&null==f.getTerminal(g[k],!0)){f.setTerminal(g[k],b,!0);var l=q.getCellGeometry(g[k]);l.points=null;null!=l.getTerminalPoint(!0)&&l.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var C=
-{88:u.actions.get("selectChildren"),84:u.actions.get("selectSubtree"),80:u.actions.get("selectParent"),83:u.actions.get("selectSiblings")},G=u.onKeyDown;u.onKeyDown=function(b){try{if(q.isEnabled()&&!q.isEditing()&&a(q.getSelectionCell())&&1==q.getSelectionCount()){var c=null;0<q.getIncomingEdges(q.getSelectionCell()).length&&(9==b.which?c=mxEvent.isShiftDown(b)?k(q.getSelectionCell()):l(q.getSelectionCell()):13==b.which&&(c=e(q.getSelectionCell(),!mxEvent.isShiftDown(b))));if(null!=c&&0<c.length)1==
-c.length&&q.model.isEdge(c[0])?q.setSelectionCell(q.model.getTerminal(c[0],!1)):q.setSelectionCell(c[c.length-1]),null!=u.hoverIcons&&u.hoverIcons.update(q.view.getState(q.getSelectionCell())),q.startEditingAtCell(q.getSelectionCell()),mxEvent.consume(b);else if(mxEvent.isAltDown(b)&&mxEvent.isShiftDown(b)){var d=C[b.keyCode];null!=d&&(d.funct(b),mxEvent.consume(b))}else 37==b.keyCode?(t(q.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(b)):38==b.keyCode?(t(q.getSelectionCell(),mxConstants.DIRECTION_NORTH),
-mxEvent.consume(b)):39==b.keyCode?(t(q.getSelectionCell(),mxConstants.DIRECTION_EAST),mxEvent.consume(b)):40==b.keyCode&&(t(q.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(b))}}catch(N){u.handleError(N)}mxEvent.isConsumed(b)||G.apply(this,arguments)};var D=q.connectVertex;q.connectVertex=function(b,c,d,f,g,m,p){var t=q.getIncomingEdges(b);if(a(b)){var x=n(b),u=x==mxConstants.DIRECTION_EAST||x==mxConstants.DIRECTION_WEST,z=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST;
-return x==c||0==t.length?l(b,c):u==z?k(b):e(b,c!=mxConstants.DIRECTION_NORTH&&c!=mxConstants.DIRECTION_WEST)}return D.apply(this,arguments)};q.getSubtree=function(c){var d=[c];!b(c)&&!a(c)||m(c)||q.traverse(c,!0,function(a,b){null!=b&&0>mxUtils.indexOf(d,b)&&d.push(b);0>mxUtils.indexOf(d,a)&&d.push(a);return!0});return d};var H=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){H.apply(this,arguments);(b(this.state.cell)||a(this.state.cell))&&!m(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&
+null==b||!mxEvent.isShiftDown(b),null==b||!mxEvent.isControlDown(b)));else{var d=[];q.traverse(c,!0,function(a,c){null!=c&&d.push(c);null!=b&&mxEvent.isShiftDown(b)||d.push(a);return!0})}q.setSelectionCells(d)}},null,null,"Alt+Shift+D");var x=q.removeCells;q.removeCells=function(b,c){c=null!=c?c:!0;null==b&&(b=this.getDeletableCells(this.getSelectionCells()));c&&(b=this.getDeletableCells(this.addAllEdges(b)));for(var e=[],f=0;f<b.length;f++){var g=b[f];v.isEdge(g)&&d(g)&&(e.push(g),g=v.getTerminal(g,
+!1));if(a(g)){var k=[];q.traverse(g,!0,function(a,b){null!=b&&k.push(b);k.push(a);return!0});0<k.length&&(e=e.concat(k),g=q.getIncomingEdges(b[f]),b=b.concat(g))}else null!=g&&e.push(b[f])}b=e;return x.apply(this,arguments)};u.hoverIcons.getStateAt=function(b,c,d){return a(b.cell)?null:this.graph.view.getState(this.graph.getCellAt(c,d))};var B=q.duplicateCells;q.duplicateCells=function(b,c){b=null!=b?b:this.getSelectionCells();for(var d=b.slice(0),e=0;e<d.length;e++){var f=q.view.getState(d[e]);if(null!=
+f&&a(f.cell))for(var g=q.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f],b)}this.model.beginUpdate();try{var k=B.call(this,b,c);if(k.length==b.length)for(e=0;e<b.length;e++)if(a(b[e])){var l=q.getIncomingEdges(k[e]),g=q.getIncomingEdges(b[e]);if(0==l.length&&0<g.length){var m=this.cloneCell(g[0]);this.addEdge(m,q.getDefaultParent(),this.model.getTerminal(g[0],!0),k[e])}}}finally{this.model.endUpdate()}return k};var y=q.moveCells;q.moveCells=function(b,c,d,e,f,g,k){var l=null;this.model.beginUpdate();
+try{var m=f,n=this.getCurrentCellStyle(f);if(null!=b&&a(f)&&"1"==mxUtils.getValue(n,"treeFolding","0")){for(var p=0;p<b.length;p++)if(a(b[p])||q.model.isEdge(b[p])&&null==q.model.getTerminal(b[p],!0)){f=q.model.getParent(b[p]);break}if(null!=m&&f!=m&&null!=this.view.getState(b[0])){var t=q.getIncomingEdges(b[0]);if(0<t.length){var v=q.view.getState(q.model.getTerminal(t[0],!0));if(null!=v){var u=q.view.getState(m);null!=u&&(c=(u.getCenterX()-v.getCenterX())/q.view.scale,d=(u.getCenterY()-v.getCenterY())/
+q.view.scale)}}}}l=y.apply(this,arguments);if(null!=l&&null!=b&&l.length==b.length)for(p=0;p<l.length;p++)if(this.model.isEdge(l[p]))a(m)&&0>mxUtils.indexOf(l,this.model.getTerminal(l[p],!0))&&this.model.setTerminal(l[p],m,!0);else if(a(b[p])&&(t=q.getIncomingEdges(b[p]),0<t.length))if(!e)a(m)&&0>mxUtils.indexOf(b,this.model.getTerminal(t[0],!0))&&this.model.setTerminal(t[0],m,!0);else if(0==q.getIncomingEdges(l[p]).length){n=m;if(null==n||n==q.model.getParent(b[p]))n=q.model.getTerminal(t[0],!0);
+e=this.cloneCell(t[0]);this.addEdge(e,q.getDefaultParent(),n,l[p])}}finally{this.model.endUpdate()}return l};if(null!=u.sidebar){var C=u.sidebar.dropAndConnect;u.sidebar.dropAndConnect=function(b,c,d,e){var f=q.model,g=null;f.beginUpdate();try{if(g=C.apply(this,arguments),a(b))for(var k=0;k<g.length;k++)if(f.isEdge(g[k])&&null==f.getTerminal(g[k],!0)){f.setTerminal(g[k],b,!0);var l=q.getCellGeometry(g[k]);l.points=null;null!=l.getTerminalPoint(!0)&&l.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var A=
+{88:u.actions.get("selectChildren"),84:u.actions.get("selectSubtree"),80:u.actions.get("selectParent"),83:u.actions.get("selectSiblings")},F=u.onKeyDown;u.onKeyDown=function(b){try{if(q.isEnabled()&&!q.isEditing()&&a(q.getSelectionCell())&&1==q.getSelectionCount()){var c=null;0<q.getIncomingEdges(q.getSelectionCell()).length&&(9==b.which?c=mxEvent.isShiftDown(b)?k(q.getSelectionCell()):l(q.getSelectionCell()):13==b.which&&(c=e(q.getSelectionCell(),!mxEvent.isShiftDown(b))));if(null!=c&&0<c.length)1==
+c.length&&q.model.isEdge(c[0])?q.setSelectionCell(q.model.getTerminal(c[0],!1)):q.setSelectionCell(c[c.length-1]),null!=u.hoverIcons&&u.hoverIcons.update(q.view.getState(q.getSelectionCell())),q.startEditingAtCell(q.getSelectionCell()),mxEvent.consume(b);else if(mxEvent.isAltDown(b)&&mxEvent.isShiftDown(b)){var d=A[b.keyCode];null!=d&&(d.funct(b),mxEvent.consume(b))}else 37==b.keyCode?(t(q.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(b)):38==b.keyCode?(t(q.getSelectionCell(),mxConstants.DIRECTION_NORTH),
+mxEvent.consume(b)):39==b.keyCode?(t(q.getSelectionCell(),mxConstants.DIRECTION_EAST),mxEvent.consume(b)):40==b.keyCode&&(t(q.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(b))}}catch(N){u.handleError(N)}mxEvent.isConsumed(b)||F.apply(this,arguments)};var D=q.connectVertex;q.connectVertex=function(b,c,d,f,g,m,p){var t=q.getIncomingEdges(b);if(a(b)){var v=n(b),u=v==mxConstants.DIRECTION_EAST||v==mxConstants.DIRECTION_WEST,y=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST;
+return v==c||0==t.length?l(b,c):u==y?k(b):e(b,c!=mxConstants.DIRECTION_NORTH&&c!=mxConstants.DIRECTION_WEST)}return D.apply(this,arguments)};q.getSubtree=function(c){var d=[c];!b(c)&&!a(c)||m(c)||q.traverse(c,!0,function(a,b){null!=b&&0>mxUtils.indexOf(d,b)&&d.push(b);0>mxUtils.indexOf(d,a)&&d.push(a);return!0});return d};var G=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){G.apply(this,arguments);(b(this.state.cell)||a(this.state.cell))&&!m(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&
(this.moveHandle=mxUtils.createImage(Editor.moveImage),this.moveHandle.setAttribute("title","Move Subtree"),this.moveHandle.style.position="absolute",this.moveHandle.style.cursor="pointer",this.moveHandle.style.width="24px",this.moveHandle.style.height="24px",this.graph.container.appendChild(this.moveHandle),mxEvent.addGestureListeners(this.moveHandle,mxUtils.bind(this,function(a){this.graph.graphHandler.start(this.state.cell,mxEvent.getClientX(a),mxEvent.getClientY(a),this.graph.getSubtree(this.state.cell));
-this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;u.hoverIcons.reset();mxEvent.consume(a)})))};var F=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){F.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top=this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var I=mxVertexHandler.prototype.setHandlesVisible;
+this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;u.hoverIcons.reset();mxEvent.consume(a)})))};var E=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){E.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top=this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var I=mxVertexHandler.prototype.setHandlesVisible;
mxVertexHandler.prototype.setHandlesVisible=function(a){I.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.display=a?"":"none")};var J=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(a,b){J.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.parentNode.removeChild(this.moveHandle),this.moveHandle=null)}};if("undefined"!==typeof Sidebar){var b=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var a=b.apply(this,
arguments),d=this.graph;return a.concat([this.addEntry("tree container",function(){var a=new mxCell("Tree Container",new mxGeometry(0,0,400,320),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;var b=new mxCell("Parent",new mxGeometry(140,60,120,40),'whiteSpace=wrap;html=1;treeFolding=1;treeMoving=1;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","startArrow":"none","endArrow":"none"};');b.vertex=!0;var c=new mxCell("Child",new mxGeometry(140,140,120,40),'whiteSpace=wrap;html=1;treeFolding=1;treeMoving=1;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","startArrow":"none","endArrow":"none"};');
c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");d.geometry.relative=!0;d.edge=!0;b.insertEdge(d,!0);c.insertEdge(d,!1);a.insert(d);a.insert(b);a.insert(c);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap mindmaps central idea branch topic",function(){var a=new mxCell("Mindmap",new mxGeometry(0,0,420,126),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");
@@ -11377,7 +11384,7 @@ g.className="geTitle";b.appendChild(g);return g}var d=document.createElement("di
c("newLibrary",mxResources.get("newLibrary")),d.style.boxSizing="border-box",d.style.paddingRight="6px",d.style.paddingLeft="6px",d.style.height="32px",d.style.left="0",d=c("openLibraryFrom",mxResources.get("openLibraryFrom")),d.style.borderLeft="1px solid lightgray",d.style.boxSizing="border-box",d.style.paddingRight="6px",d.style.paddingLeft="6px",d.style.height="32px",d.style.left="50%";b.appendChild(a.sidebar.container);b.style.overflow="hidden";return b});a.sidebarWindow.window.minimumSize=new mxRectangle(0,
0,90,90);a.sidebarWindow.window.setVisible(!0);a.getLocalData("sidebar",function(b){a.sidebar.showEntries(b,null,!0)});a.restoreLibraries()}else a.sidebarWindow.window.setVisible(null!=b?b:!a.sidebarWindow.window.isVisible());a.sidebarWindow.window.isVisible()&&a.sidebarWindow.window.fit()}if("1"==urlParams.lightbox||"0"==urlParams.chrome||"undefined"===typeof window.Format||"undefined"===typeof window.Menus)window.uiTheme=null;else{var b=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;
try{var c=document.createElement("style");c.type="text/css";c.innerHTML="* { -webkit-font-smoothing: antialiased; }html body .mxWindow button.geBtn { font-size:12px !important; margin-left: 0; }html body table.mxWindow td.mxWindowPane div.mxWindowPane *:not(svg *) { font-size:9pt; }table.mxWindow * :not(svg *) { font-size:13px; }html body div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }html body a.geMenuItem { opacity: 0.75; cursor: pointer; user-select:none; }html body a.geMenuItem[disabled] { opacity: 0.2; }html body a.geMenuItem[disabled]:active { opacity: 0.2; }html body div.geActivePage { opacity: 0.7; }html body a.geMenuItem:active { opacity: 0.2; }html body .geToolbarButton { opacity: 0.3; }html body .geToolbarButton:active { opacity: 0.15; }html body .geStatus:active { opacity: 0.5; }html table.mxPopupMenu tr.mxPopupMenuItemHover:active { opacity:0.7; }html body .geDialog input, html body .geToolbarContainer input, html body .mxWindow input {padding:2px;display:inline-block; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; border: none !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }html body .mxWindow .geColorBtn, html body .geDialog .geColorBtn { background: none; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-style: solid; border-width: 1px; border-color: rgb(216, 216, 216); }html body div.diagramContainer button:hover, html body .mxWindow button:hover, html body .geDialog button:hover { border-color: rgb(177, 177, 177); }html body div.diagramContainer button:active, html body .mxWindow button:active, html body .geDialog button:active { opacity: 0.6; }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.gePrimaryBtn, .mxWindow button.gePrimaryBtn, .geDialog button.gePrimaryBtn, html body .gePrimaryBtn { background: #29b6f2; color: #fff !important; border: none; box-shadow: none; }html body .gePrimaryBtn:hover { background: #29b6f2; border: none; box-shadow: inherit; }html body button.gePrimaryBtn:hover { background: #29b6f2; border: none; }.geBtn button { min-width:72px !important; }div.geToolbarContainer a.geButton { margin:0px; padding: 0 2px 4px 2px; } .geDialog, .mxWindow td.mxWindowPane *, div.geSprite, td.mxWindowTitle, .geDiagramContainer { box-sizing:content-box; }.mxWindow div button.geStyleButton { box-sizing: border-box; }table.mxWindow td.mxWindowPane button.geColorBtn { padding:0px; box-sizing: border-box; }td.mxWindowPane .geSidebarContainer button { padding:2px; box-sizing: border-box; }html body .geMenuItem { font-size:14px; text-decoration: none; font-weight: normal; padding: 6px 10px 6px 10px; border: none; border-radius: 5px; color: #353535; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }.geToolbarContainer { background:#fff !important; }div.geSidebarContainer { background-color: #ffffff; }div.geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow td.mxWindowPane button { background-image: none; float: none; }td.mxWindowTitle { height: 22px !important; background: none !important; font-size: 13px !important; text-align:center !important; border-bottom:1px solid lightgray; }div.mxWindow, div.mxWindowTitle { background-image: none !important; background-color:#fff !important; }div.mxWindow { border-radius:5px; box-shadow: 0px 0px 2px #C0C0C0 !important;}div.mxWindow * { font-family: inherit !important; }html div.geVerticalHandle { position:absolute;bottom:0px;left:50%;cursor:row-resize;width:11px;height:11px;background:white;margin-bottom:-6px; margin-left:-6px; border: none; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }html div.geInactivePage { background: rgb(249, 249, 249) !important; color: #A0A0A0 !important; } html div.geActivePage { background: white !important;color: #353535 !important; } html div.mxRubberband { border:1px solid; border-color: #29b6f2 !important; background:rgba(41,182,242,0.4) !important; } html body div.mxPopupMenu { border-radius:5px; border:1px solid #c0c0c0; padding:5px 0 5px 0; box-shadow: 0px 4px 17px -4px rgba(96,96,96,1); } html table.mxPopupMenu td.mxPopupMenuItem { color: #353535; font-size: 14px; padding-top: 4px; padding-bottom: 4px; }html table.mxPopupMenu tr.mxPopupMenuItemHover { background-color: #29b6f2; }html tr.mxPopupMenuItemHover td.mxPopupMenuItem, html tr.mxPopupMenuItemHover td.mxPopupMenuItem span { color: #fff !important; }html tr.mxPopupMenuItem, html td.mxPopupMenuItem { transition-property: none !important; }html table.mxPopupMenu hr { height: 2px; background-color: rgba(0,0,0,.07); margin: 5px 0; }"+
-(mxClient.IS_IOS?"html input[type=checkbox], html input[type=radio] { height:12px; }":"");document.getElementsByTagName("head")[0].appendChild(c)}catch(x){}var g=function(a,b,c,d,e,f,g){var k=document.createElement("div");k.className="geSidebarContainer";k.style.position="absolute";k.style.width="100%";k.style.height="100%";k.style.border="1px solid whiteSmoke";k.style.overflowX="hidden";k.style.overflowY="auto";g(k);this.window=new mxWindow(b,k,c,d,e,f,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);
+(mxClient.IS_IOS?"html input[type=checkbox], html input[type=radio] { height:12px; }":"");document.getElementsByTagName("head")[0].appendChild(c)}catch(v){}var g=function(a,b,c,d,e,f,g){var k=document.createElement("div");k.className="geSidebarContainer";k.style.position="absolute";k.style.width="100%";k.style.height="100%";k.style.border="1px solid whiteSmoke";k.style.overflowX="hidden";k.style.overflowY="auto";g(k);this.window=new mxWindow(b,k,c,d,e,f,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);
this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.window.setLocation=function(a,b){var c=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};mxClient.IS_SF&&
(this.window.div.onselectstart=mxUtils.bind(this,function(b){null==b&&(b=window.event);return null!=b&&a.isSelectionAllowed(b)}))};Editor.checkmarkImage=Graph.createSvgImage(22,18,'<path transform="translate(4 0)" d="M7.181,15.007a1,1,0,0,1-.793-0.391L3.222,10.5A1,1,0,1,1,4.808,9.274L7.132,12.3l6.044-8.86A1,1,0,1,1,14.83,4.569l-6.823,10a1,1,0,0,1-.8.437H7.181Z" fill="#29b6f2"/>').src;mxWindow.prototype.closeImage=Graph.createSvgImage(18,10,'<path d="M 5 1 L 13 9 M 13 1 L 5 9" stroke="#C0C0C0" stroke-width="2"/>').src;
mxWindow.prototype.minimizeImage=Graph.createSvgImage(14,10,'<path d="M 3 7 L 7 3 L 11 7" stroke="#C0C0C0" stroke-width="2" fill="#ffffff"/>').src;mxWindow.prototype.normalizeImage=Graph.createSvgImage(14,10,'<path d="M 3 3 L 7 7 L 11 3" stroke="#C0C0C0" stroke-width="2" fill="#ffffff"/>').src;mxConstraintHandler.prototype.pointImage=Graph.createSvgImage(5,5,'<path d="m 0 0 L 5 5 M 0 5 L 5 0" stroke="#29b6f2"/>');mxOutline.prototype.sizerImage=null;mxConstants.VERTEX_SELECTION_COLOR="#C0C0C0";mxConstants.EDGE_SELECTION_COLOR=
@@ -11425,30 +11432,30 @@ urlParams.clibs||null!=urlParams.libs||null!=urlParams["search-shapes"])d(this,!
var p=null,t=new Menubar(l,n);l.statusContainer=l.createStatusContainer();l.statusContainer.style.position="relative";l.statusContainer.style.maxWidth="";l.statusContainer.style.marginTop="7px";l.statusContainer.style.marginLeft="6px";l.statusContainer.style.color="gray";l.statusContainer.style.cursor="default";l.editor.addListener("statusChanged",mxUtils.bind(this,function(){l.setStatusText(l.editor.getStatus())}));var u=l.descriptorChanged;l.descriptorChanged=function(){u.apply(this,arguments);
var a=l.getCurrentFile();if(null!=a&&null!=a.getTitle()){var b=a.getMode();"google"==b?b="googleDrive":"github"==b?b="gitHub":"gitlab"==b?b="gitLab":"onedrive"==b&&(b="oneDrive");b=mxResources.get(b);n.setAttribute("title",a.getTitle()+(null!=b?" ("+b+")":""))}else n.removeAttribute("title")};l.setStatusText(l.editor.getStatus());n.appendChild(l.statusContainer);l.buttonContainer=document.createElement("div");l.buttonContainer.style.cssText="position:absolute;right:0px;padding-right:34px;top:10px;white-space:nowrap;padding-top:2px;background-color:inherit;";
n.appendChild(l.buttonContainer);l.menubarContainer=l.buttonContainer;l.tabContainer=document.createElement("div");l.tabContainer.style.cssText="position:absolute;left:0px;right:0px;bottom:0px;height:30px;white-space:nowrap;border-bottom:1px solid lightgray;background-color:#ffffff;border-top:1px solid lightgray;margin-bottom:-2px;visibility:hidden;";var k=l.diagramContainer.parentNode,I=document.createElement("div");I.style.cssText="position:absolute;top:0px;left:0px;right:0px;bottom:0px;overflow:hidden;";
-l.diagramContainer.style.top="47px";var J=l.menus.get("viewZoom");if(null!=J){this.tabContainer.style.right="70px";var E=t.addMenu("100%",J.funct);E.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");E.style.whiteSpace="nowrap";E.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";E.style.backgroundPosition="right 6px center";E.style.backgroundRepeat="no-repeat";E.style.backgroundColor="#ffffff";E.style.paddingRight="10px";E.style.display="block";E.style.position="absolute";
-E.style.textDecoration="none";E.style.textDecoration="none";E.style.right="0px";E.style.bottom="0px";E.style.overflow="hidden";E.style.visibility="hidden";E.style.textAlign="center";E.style.color="#000";E.style.fontSize="12px";E.style.color="#707070";E.style.width="59px";E.style.cursor="pointer";E.style.borderTop="1px solid lightgray";E.style.borderLeft="1px solid lightgray";E.style.height=parseInt(l.tabContainerHeight)-1+"px";E.style.lineHeight=parseInt(l.tabContainerHeight)+1+"px";I.appendChild(E);
-J=mxUtils.bind(this,function(){E.innerHTML=Math.round(100*l.editor.graph.view.scale)+"%"});l.editor.graph.view.addListener(mxEvent.EVENT_SCALE,J);l.editor.addListener("resetGraphView",J);l.editor.addListener("pageSelected",J);var K=l.setGraphEnabled;l.setGraphEnabled=function(){K.apply(this,arguments);null!=this.tabContainer&&(E.style.visibility=this.tabContainer.style.visibility,this.diagramContainer.style.bottom="hidden"!=this.tabContainer.style.visibility?this.tabContainerHeight+"px":"0px")}}I.appendChild(l.tabContainer);
+l.diagramContainer.style.top="47px";var J=l.menus.get("viewZoom");if(null!=J){this.tabContainer.style.right="70px";var H=t.addMenu("100%",J.funct);H.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");H.style.whiteSpace="nowrap";H.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";H.style.backgroundPosition="right 6px center";H.style.backgroundRepeat="no-repeat";H.style.backgroundColor="#ffffff";H.style.paddingRight="10px";H.style.display="block";H.style.position="absolute";
+H.style.textDecoration="none";H.style.textDecoration="none";H.style.right="0px";H.style.bottom="0px";H.style.overflow="hidden";H.style.visibility="hidden";H.style.textAlign="center";H.style.color="#000";H.style.fontSize="12px";H.style.color="#707070";H.style.width="59px";H.style.cursor="pointer";H.style.borderTop="1px solid lightgray";H.style.borderLeft="1px solid lightgray";H.style.height=parseInt(l.tabContainerHeight)-1+"px";H.style.lineHeight=parseInt(l.tabContainerHeight)+1+"px";I.appendChild(H);
+J=mxUtils.bind(this,function(){H.innerHTML=Math.round(100*l.editor.graph.view.scale)+"%"});l.editor.graph.view.addListener(mxEvent.EVENT_SCALE,J);l.editor.addListener("resetGraphView",J);l.editor.addListener("pageSelected",J);var K=l.setGraphEnabled;l.setGraphEnabled=function(){K.apply(this,arguments);null!=this.tabContainer&&(H.style.visibility=this.tabContainer.style.visibility,this.diagramContainer.style.bottom="hidden"!=this.tabContainer.style.visibility?this.tabContainerHeight+"px":"0px")}}I.appendChild(l.tabContainer);
I.appendChild(n);I.appendChild(l.diagramContainer);k.appendChild(I);l.updateTabContainer();var M=null;g();mxEvent.addListener(window,"resize",function(){g();null!=l.sidebarWindow&&l.sidebarWindow.window.fit();null!=l.formatWindow&&l.formatWindow.window.fit();null!=l.actions.outlineWindow&&l.actions.outlineWindow.window.fit();null!=l.actions.layersWindow&&l.actions.layersWindow.window.fit();null!=l.menus.tagsWindow&&l.menus.tagsWindow.window.fit();null!=l.menus.findWindow&&l.menus.findWindow.window.fit()})}}};
-(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var d=EditorUi.initTheme;EditorUi.initTheme=function(){d.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();(function(){var a=mxGuide.prototype.move;mxGuide.prototype.move=function(b,d,f,m){var c=d.y,e=d.x,g=!1,l=!1;if(null!=this.states&&null!=b&&null!=d){var p=this,t=new mxCellState,u=this.graph.getView().scale,q=Math.max(2,this.getGuideTolerance()/2);t.x=b.x+e;t.y=b.y+c;t.width=b.width;t.height=b.height;for(var x=[],y=[],v=0;v<this.states.length;v++){var A=this.states[v];A instanceof mxCellState&&(m||!this.graph.isCellSelected(A.cell))&&((t.x>=A.x&&t.x<=A.x+A.width||A.x>=t.x&&A.x<=t.x+t.width)&&(t.y>
-A.y+A.height+4||t.y+t.height+4<A.y)?x.push(A):(t.y>=A.y&&t.y<=A.y+A.height||A.y>=t.y&&A.y<=t.y+t.height)&&(t.x>A.x+A.width+4||t.x+t.width+4<A.x)&&y.push(A))}var z=0,B=0,C=A=0,G=0,D=0,H=0,F=0,I=5*u;if(1<x.length){x.push(t);x.sort(function(a,b){return a.y-b.y});var J=!1,v=t==x[0],u=t==x[x.length-1];if(!v&&!u)for(v=1;v<x.length-1;v++)if(t==x[v]){u=x[v-1];v=x[v+1];A=B=C=(v.y-u.y-u.height-t.height)/2;break}for(v=0;v<x.length-1;v++){var u=x[v],E=x[v+1],K=t==u||t==E,E=E.y-u.y-u.height,J=J|t==u;if(0==B&&
-0==z)B=E,z=1;else if(Math.abs(B-E)<=(K||1==v&&J?q:0))z+=1;else if(1<z&&J){x=x.slice(0,v+1);break}else if(3<=x.length-v&&!J)z=0,A=B=0!=C?C:0,x.splice(0,0==v?1:v),v=-1;else break;0!=A||K||(B=A=E)}3==x.length&&x[1]==t&&(A=0)}if(1<y.length){y.push(t);y.sort(function(a,b){return a.x-b.x});J=!1;v=t==y[0];u=t==y[y.length-1];if(!v&&!u)for(v=1;v<y.length-1;v++)if(t==y[v]){u=y[v-1];v=y[v+1];H=D=F=(v.x-u.x-u.width-t.width)/2;break}for(v=0;v<y.length-1;v++){u=y[v];E=y[v+1];K=t==u||t==E;E=E.x-u.x-u.width;J|=t==
-u;if(0==D&&0==G)D=E,G=1;else if(Math.abs(D-E)<=(K||1==v&&J?q:0))G+=1;else if(1<G&&J){y=y.slice(0,v+1);break}else if(3<=y.length-v&&!J)G=0,H=D=0!=F?F:0,y.splice(0,0==v?1:v),v=-1;else break;0!=H||K||(D=H=E)}3==y.length&&y[1]==t&&(H=0)}q=function(a,b,c,d){var e=[],f;d?(d=I,f=0):(d=0,f=I);e.push(new mxPoint(a.x-d,a.y-f));e.push(new mxPoint(a.x+d,a.y+f));e.push(a);e.push(b);e.push(new mxPoint(b.x-d,b.y-f));e.push(new mxPoint(b.x+d,b.y+f));if(null!=c)return c.points=e,c;a=new mxPolyline(e,mxConstants.GUIDE_COLOR,
-mxConstants.GUIDE_STROKEWIDTH);a.dialect=mxConstants.DIALECT_SVG;a.pointerEvents=!1;a.init(p.graph.getView().getOverlayPane());return a};D=function(a,b){if(a&&null!=p.guidesArrHor)for(var c=0;c<p.guidesArrHor.length;c++)p.guidesArrHor[c].node.style.visibility="hidden";if(b&&null!=p.guidesArrVer)for(c=0;c<p.guidesArrVer.length;c++)p.guidesArrVer[c].node.style.visibility="hidden"};if(1<G&&G==y.length-1){G=[];F=p.guidesArrHor;g=[];e=0;v=y[0]==t?1:0;J=y[v].y+y[v].height;if(0<H)for(v=0;v<y.length-1;v++)u=
-y[v],E=y[v+1],t==u?(e=E.x-u.width-H,g.push(new mxPoint(e+u.width+I,J)),g.push(new mxPoint(E.x-I,J))):t==E?(g.push(new mxPoint(u.x+u.width+I,J)),e=u.x+u.width+H,g.push(new mxPoint(e-I,J))):(g.push(new mxPoint(u.x+u.width+I,J)),g.push(new mxPoint(E.x-I,J)));else u=y[0],v=y[2],e=u.x+u.width+(v.x-u.x-u.width-t.width)/2,g.push(new mxPoint(u.x+u.width+I,J)),g.push(new mxPoint(e-I,J)),g.push(new mxPoint(e+t.width+I,J)),g.push(new mxPoint(v.x-I,J));for(v=0;v<g.length;v+=2)y=g[v],H=g[v+1],y=q(y,H,null!=F?
-F[v/2]:null),y.node.style.visibility="visible",y.redraw(),G.push(y);for(v=g.length/2;null!=F&&v<F.length;v++)F[v].destroy();p.guidesArrHor=G;e-=b.x;g=!0}else D(!0);if(1<z&&z==x.length-1){G=[];F=p.guidesArrVer;l=[];c=0;v=x[0]==t?1:0;z=x[v].x+x[v].width;if(0<A)for(v=0;v<x.length-1;v++)u=x[v],E=x[v+1],t==u?(c=E.y-u.height-A,l.push(new mxPoint(z,c+u.height+I)),l.push(new mxPoint(z,E.y-I))):t==E?(l.push(new mxPoint(z,u.y+u.height+I)),c=u.y+u.height+A,l.push(new mxPoint(z,c-I))):(l.push(new mxPoint(z,u.y+
-u.height+I)),l.push(new mxPoint(z,E.y-I)));else u=x[0],v=x[2],c=u.y+u.height+(v.y-u.y-u.height-t.height)/2,l.push(new mxPoint(z,u.y+u.height+I)),l.push(new mxPoint(z,c-I)),l.push(new mxPoint(z,c+t.height+I)),l.push(new mxPoint(z,v.y-I));for(v=0;v<l.length;v+=2)y=l[v],H=l[v+1],y=q(y,H,null!=F?F[v/2]:null,!0),y.node.style.visibility="visible",y.redraw(),G.push(y);for(v=l.length/2;null!=F&&v<F.length;v++)F[v].destroy();p.guidesArrVer=G;c-=b.y;l=!0}else D(!1,!0)}if(g||l)return t=new mxPoint(e,c),x=a.call(this,
-b,t,f,m),g&&!l?t.y=x.y:l&&!g&&(t.x=x.x),x.y!=t.y&&null!=this.guideY&&null!=this.guideY.node&&(this.guideY.node.style.visibility="hidden"),x.x!=t.x&&null!=this.guideX&&null!=this.guideX.node&&(this.guideX.node.style.visibility="hidden"),t;D(!0,!0);return a.apply(this,arguments)};var d=mxGuide.prototype.setVisible;mxGuide.prototype.setVisible=function(a){d.call(this,a);var b=this.guidesArrVer,c=this.guidesArrHor;if(null!=b)for(var m=0;m<b.length;m++)b[m].node.style.visibility=a?"visible":"hidden";if(null!=
+(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var d=EditorUi.initTheme;EditorUi.initTheme=function(){d.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();(function(){var a=mxGuide.prototype.move;mxGuide.prototype.move=function(b,d,f,m){var c=d.y,e=d.x,g=!1,l=!1;if(null!=this.states&&null!=b&&null!=d){var p=this,t=new mxCellState,u=this.graph.getView().scale,q=Math.max(2,this.getGuideTolerance()/2);t.x=b.x+e;t.y=b.y+c;t.width=b.width;t.height=b.height;for(var v=[],z=[],x=0;x<this.states.length;x++){var B=this.states[x];B instanceof mxCellState&&(m||!this.graph.isCellSelected(B.cell))&&((t.x>=B.x&&t.x<=B.x+B.width||B.x>=t.x&&B.x<=t.x+t.width)&&(t.y>
+B.y+B.height+4||t.y+t.height+4<B.y)?v.push(B):(t.y>=B.y&&t.y<=B.y+B.height||B.y>=t.y&&B.y<=t.y+t.height)&&(t.x>B.x+B.width+4||t.x+t.width+4<B.x)&&z.push(B))}var y=0,C=0,A=B=0,F=0,D=0,G=0,E=0,I=5*u;if(1<v.length){v.push(t);v.sort(function(a,b){return a.y-b.y});var J=!1,x=t==v[0],u=t==v[v.length-1];if(!x&&!u)for(x=1;x<v.length-1;x++)if(t==v[x]){u=v[x-1];x=v[x+1];B=C=A=(x.y-u.y-u.height-t.height)/2;break}for(x=0;x<v.length-1;x++){var u=v[x],H=v[x+1],K=t==u||t==H,H=H.y-u.y-u.height,J=J|t==u;if(0==C&&
+0==y)C=H,y=1;else if(Math.abs(C-H)<=(K||1==x&&J?q:0))y+=1;else if(1<y&&J){v=v.slice(0,x+1);break}else if(3<=v.length-x&&!J)y=0,B=C=0!=A?A:0,v.splice(0,0==x?1:x),x=-1;else break;0!=B||K||(C=B=H)}3==v.length&&v[1]==t&&(B=0)}if(1<z.length){z.push(t);z.sort(function(a,b){return a.x-b.x});J=!1;x=t==z[0];u=t==z[z.length-1];if(!x&&!u)for(x=1;x<z.length-1;x++)if(t==z[x]){u=z[x-1];x=z[x+1];G=D=E=(x.x-u.x-u.width-t.width)/2;break}for(x=0;x<z.length-1;x++){u=z[x];H=z[x+1];K=t==u||t==H;H=H.x-u.x-u.width;J|=t==
+u;if(0==D&&0==F)D=H,F=1;else if(Math.abs(D-H)<=(K||1==x&&J?q:0))F+=1;else if(1<F&&J){z=z.slice(0,x+1);break}else if(3<=z.length-x&&!J)F=0,G=D=0!=E?E:0,z.splice(0,0==x?1:x),x=-1;else break;0!=G||K||(D=G=H)}3==z.length&&z[1]==t&&(G=0)}q=function(a,b,c,d){var e=[],f;d?(d=I,f=0):(d=0,f=I);e.push(new mxPoint(a.x-d,a.y-f));e.push(new mxPoint(a.x+d,a.y+f));e.push(a);e.push(b);e.push(new mxPoint(b.x-d,b.y-f));e.push(new mxPoint(b.x+d,b.y+f));if(null!=c)return c.points=e,c;a=new mxPolyline(e,mxConstants.GUIDE_COLOR,
+mxConstants.GUIDE_STROKEWIDTH);a.dialect=mxConstants.DIALECT_SVG;a.pointerEvents=!1;a.init(p.graph.getView().getOverlayPane());return a};D=function(a,b){if(a&&null!=p.guidesArrHor)for(var c=0;c<p.guidesArrHor.length;c++)p.guidesArrHor[c].node.style.visibility="hidden";if(b&&null!=p.guidesArrVer)for(c=0;c<p.guidesArrVer.length;c++)p.guidesArrVer[c].node.style.visibility="hidden"};if(1<F&&F==z.length-1){F=[];E=p.guidesArrHor;g=[];e=0;x=z[0]==t?1:0;J=z[x].y+z[x].height;if(0<G)for(x=0;x<z.length-1;x++)u=
+z[x],H=z[x+1],t==u?(e=H.x-u.width-G,g.push(new mxPoint(e+u.width+I,J)),g.push(new mxPoint(H.x-I,J))):t==H?(g.push(new mxPoint(u.x+u.width+I,J)),e=u.x+u.width+G,g.push(new mxPoint(e-I,J))):(g.push(new mxPoint(u.x+u.width+I,J)),g.push(new mxPoint(H.x-I,J)));else u=z[0],x=z[2],e=u.x+u.width+(x.x-u.x-u.width-t.width)/2,g.push(new mxPoint(u.x+u.width+I,J)),g.push(new mxPoint(e-I,J)),g.push(new mxPoint(e+t.width+I,J)),g.push(new mxPoint(x.x-I,J));for(x=0;x<g.length;x+=2)z=g[x],G=g[x+1],z=q(z,G,null!=E?
+E[x/2]:null),z.node.style.visibility="visible",z.redraw(),F.push(z);for(x=g.length/2;null!=E&&x<E.length;x++)E[x].destroy();p.guidesArrHor=F;e-=b.x;g=!0}else D(!0);if(1<y&&y==v.length-1){F=[];E=p.guidesArrVer;l=[];c=0;x=v[0]==t?1:0;y=v[x].x+v[x].width;if(0<B)for(x=0;x<v.length-1;x++)u=v[x],H=v[x+1],t==u?(c=H.y-u.height-B,l.push(new mxPoint(y,c+u.height+I)),l.push(new mxPoint(y,H.y-I))):t==H?(l.push(new mxPoint(y,u.y+u.height+I)),c=u.y+u.height+B,l.push(new mxPoint(y,c-I))):(l.push(new mxPoint(y,u.y+
+u.height+I)),l.push(new mxPoint(y,H.y-I)));else u=v[0],x=v[2],c=u.y+u.height+(x.y-u.y-u.height-t.height)/2,l.push(new mxPoint(y,u.y+u.height+I)),l.push(new mxPoint(y,c-I)),l.push(new mxPoint(y,c+t.height+I)),l.push(new mxPoint(y,x.y-I));for(x=0;x<l.length;x+=2)z=l[x],G=l[x+1],z=q(z,G,null!=E?E[x/2]:null,!0),z.node.style.visibility="visible",z.redraw(),F.push(z);for(x=l.length/2;null!=E&&x<E.length;x++)E[x].destroy();p.guidesArrVer=F;c-=b.y;l=!0}else D(!1,!0)}if(g||l)return t=new mxPoint(e,c),v=a.call(this,
+b,t,f,m),g&&!l?t.y=v.y:l&&!g&&(t.x=v.x),v.y!=t.y&&null!=this.guideY&&null!=this.guideY.node&&(this.guideY.node.style.visibility="hidden"),v.x!=t.x&&null!=this.guideX&&null!=this.guideX.node&&(this.guideX.node.style.visibility="hidden"),t;D(!0,!0);return a.apply(this,arguments)};var d=mxGuide.prototype.setVisible;mxGuide.prototype.setVisible=function(a){d.call(this,a);var b=this.guidesArrVer,c=this.guidesArrHor;if(null!=b)for(var m=0;m<b.length;m++)b[m].node.style.visibility=a?"visible":"hidden";if(null!=
c)for(m=0;m<c.length;m++)c[m].node.style.visibility=a?"visible":"hidden"};var b=mxGuide.prototype.destroy;mxGuide.prototype.destroy=function(){b.call(this);var a=this.guidesArrVer,d=this.guidesArrHor;if(null!=a){for(var f=0;f<a.length;f++)a[f].destroy();this.guidesArrVer=null}if(null!=d){for(f=0;f<d.length;f++)d[f].destroy();this.guidesArrHor=null}}})();function mxRuler(a,d,b,c){function g(){var c=a.diagramContainer;p.style.top=c.offsetTop-e+"px";p.style.left=c.offsetLeft-e+"px";p.style.width=(b?0:c.offsetWidth)+e+"px";p.style.height=(b?c.offsetHeight:0)+e+"px"}function f(a,b,c){if(null!=m)return a;var d;return function(){var e=this,f=arguments,g=c&&!d;clearTimeout(d);d=setTimeout(function(){d=null;c||a.apply(e,f)},b);g&&a.apply(e,f)}}var m=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,
n=window.cancelAnimationFrame||window.mozCancelAnimationFrame,e=this.RULER_THICKNESS,k=this;this.unit=d;var l="dark"!=window.uiTheme?{bkgClr:"#ffffff",outBkgClr:"#e8e9ed",cornerClr:"#fbfbfb",strokeClr:"#dadce0",fontClr:"#BBBBBB",guideClr:"#0000BB"}:{bkgClr:"#202020",outBkgClr:"#2a2a2a",cornerClr:"#2a2a2a",strokeClr:"#505759",fontClr:"#BBBBBB",guideClr:"#0088cf"},p=document.createElement("div");p.style.position="absolute";p.style.background=l.bkgClr;p.style[b?"borderRight":"borderBottom"]="0.5px solid "+
-l.strokeClr;p.style.borderLeft="0.5px solid "+l.strokeClr;document.body.appendChild(p);mxEvent.disableContextMenu(p);this.editorUiRefresh=a.refresh;a.refresh=function(b){k.editorUiRefresh.apply(a,arguments);g()};g();var t=document.createElement("canvas");t.width=p.offsetWidth;t.height=p.offsetHeight;p.style.overflow="hidden";t.style.position="relative";p.appendChild(t);var u=t.getContext("2d");this.ui=a;var q=a.editor.graph;this.graph=q;this.container=p;this.canvas=t;var x=function(a,c,d,e,f){a=Math.round(a);
-c=Math.round(c);d=Math.round(d);e=Math.round(e);u.beginPath();u.moveTo(a+.5,c+.5);u.lineTo(d+.5,e+.5);u.stroke();f&&(b?(u.save(),u.translate(a,c),u.rotate(-Math.PI/2),u.fillText(f,0,0),u.restore()):u.fillText(f,a,c))},y=function(){u.clearRect(0,0,t.width,t.height);u.beginPath();u.lineWidth=.7;u.strokeStyle=l.strokeClr;u.setLineDash([]);u.font="9px Arial";u.textAlign="center";var a=q.view.scale,c=q.view.getBackgroundPageBounds(),d=q.view.translate,f=q.pageVisible,d=f?e+(b?c.y-q.container.scrollTop:
-c.x-q.container.scrollLeft):e+(b?d.y*a-q.container.scrollTop:d.x*a-q.container.scrollLeft),g=0;f&&(g=q.getPageLayout(),g=b?g.y*q.pageFormat.height:g.x*q.pageFormat.width);var m,n,p;switch(k.unit){case mxConstants.POINTS:m=p=10;n=[3,5,5,5,5,10,5,5,5,5];break;case mxConstants.MILLIMETERS:p=10;m=mxConstants.PIXELS_PER_MM;n=[5,3,3,3,3,6,3,3,3,3];break;case mxConstants.INCHES:p=.5>=a||4<=a?8:16,m=mxConstants.PIXELS_PER_INCH/p,n=[5,3,5,3,7,3,5,3,7,3,5,3,7,3,5,3]}var v=m;2<=a?v=m/(2*Math.floor(a/2)):.5>=
-a&&(v=m*Math.floor(1/a/2)*(k.unit==mxConstants.MILLIMETERS?2:1));m=null;c=f?Math.min(d+(b?c.height:c.width),b?t.height:t.width):b?t.height:t.width;if(f)if(u.fillStyle=l.outBkgClr,b){var y=d-e;0<y&&u.fillRect(0,e,e,y);c<t.height&&u.fillRect(0,c,e,t.height)}else y=d-e,0<y&&u.fillRect(e,0,y,e),c<t.width&&u.fillRect(c,0,t.width,e);u.fillStyle=l.fontClr;for(f=f?d:d%(v*a);f<=c;f+=v*a)if(y=Math.round((f-d)/a/v),!(f<e||y==m)){m=y;var A=null;0==y%p&&(A=k.formatText(g+y*v)+"");b?x(e-n[Math.abs(y)%p],f,e,f,
-A):x(f,e-n[Math.abs(y)%p],f,e,A)}u.lineWidth=1;x(b?0:e,b?e:0,e,e);u.fillStyle=l.cornerClr;u.fillRect(0,0,e,e)},v=-1,A=function(){null!=m?(null!=n&&n(v),v=m(y)):y()};this.drawRuler=A;this.sizeListener=d=f(function(){var a=q.container;b?(a=a.offsetHeight+e,t.height!=a&&(t.height=a,p.style.height=a+"px",A())):(a=a.offsetWidth+e,t.width!=a&&(t.width=a,p.style.width=a+"px",A()))},10);this.pageListener=function(){A()};this.scrollListener=c=f(function(){var a=b?q.container.scrollTop:q.container.scrollLeft;
-k.lastScroll!=a&&(k.lastScroll=a,A())},10);this.unitListener=function(a,b){k.setUnit(b.getProperty("unit"))};q.addListener(mxEvent.SIZE,d);q.container.addEventListener("scroll",c);q.view.addListener("unitChanged",this.unitListener);a.addListener("pageViewChanged",this.pageListener);a.addListener("pageScaleChanged",this.pageListener);a.addListener("pageFormatChanged",this.pageListener);this.setStyle=function(a){l=a;p.style.background=l.bkgClr;y()};this.origGuideMove=mxGuide.prototype.move;mxGuide.prototype.move=
-function(a,c,d,f){var g;if(b&&4<a.height||!b&&4<a.width){if(null!=k.guidePart)try{u.putImageData(k.guidePart.imgData1,k.guidePart.x1,k.guidePart.y1),u.putImageData(k.guidePart.imgData2,k.guidePart.x2,k.guidePart.y2),u.putImageData(k.guidePart.imgData3,k.guidePart.x3,k.guidePart.y3)}catch(L){}g=k.origGuideMove.apply(this,arguments);try{var m,n,p,q,t,v,z,y,A;u.lineWidth=.5;u.strokeStyle=l.guideClr;u.setLineDash([2]);b?(n=a.y+g.y+e-this.graph.container.scrollTop,m=0,t=n+a.height/2,q=e/2,y=n+a.height,
-z=0,p=u.getImageData(m,n-1,e,3),x(m,n,e,n),n--,v=u.getImageData(q,t-1,e,3),x(q,t,e,t),t--,A=u.getImageData(z,y-1,e,3),x(z,y,e,y),y--):(n=0,m=a.x+g.x+e-this.graph.container.scrollLeft,t=e/2,q=m+a.width/2,y=0,z=m+a.width,p=u.getImageData(m-1,n,3,e),x(m,n,m,e),m--,v=u.getImageData(q-1,t,3,e),x(q,t,q,e),q--,A=u.getImageData(z-1,y,3,e),x(z,y,z,e),z--);if(null==k.guidePart||k.guidePart.x1!=m||k.guidePart.y1!=n)k.guidePart={imgData1:p,x1:m,y1:n,imgData2:v,x2:q,y2:t,imgData3:A,x3:z,y3:y}}catch(L){}}else g=
-k.origGuideMove.apply(this,arguments);return g};this.origGuideDestroy=mxGuide.prototype.destroy;mxGuide.prototype.destroy=function(){var a=k.origGuideDestroy.apply(this,arguments);if(null!=k.guidePart)try{u.putImageData(k.guidePart.imgData1,k.guidePart.x1,k.guidePart.y1),u.putImageData(k.guidePart.imgData2,k.guidePart.x2,k.guidePart.y2),u.putImageData(k.guidePart.imgData3,k.guidePart.x3,k.guidePart.y3),k.guidePart=null}catch(B){}return a}}mxRuler.prototype.RULER_THICKNESS=14;
+l.strokeClr;p.style.borderLeft="0.5px solid "+l.strokeClr;document.body.appendChild(p);mxEvent.disableContextMenu(p);this.editorUiRefresh=a.refresh;a.refresh=function(b){k.editorUiRefresh.apply(a,arguments);g()};g();var t=document.createElement("canvas");t.width=p.offsetWidth;t.height=p.offsetHeight;p.style.overflow="hidden";t.style.position="relative";p.appendChild(t);var u=t.getContext("2d");this.ui=a;var q=a.editor.graph;this.graph=q;this.container=p;this.canvas=t;var v=function(a,c,d,e,f){a=Math.round(a);
+c=Math.round(c);d=Math.round(d);e=Math.round(e);u.beginPath();u.moveTo(a+.5,c+.5);u.lineTo(d+.5,e+.5);u.stroke();f&&(b?(u.save(),u.translate(a,c),u.rotate(-Math.PI/2),u.fillText(f,0,0),u.restore()):u.fillText(f,a,c))},z=function(){u.clearRect(0,0,t.width,t.height);u.beginPath();u.lineWidth=.7;u.strokeStyle=l.strokeClr;u.setLineDash([]);u.font="9px Arial";u.textAlign="center";var a=q.view.scale,c=q.view.getBackgroundPageBounds(),d=q.view.translate,f=q.pageVisible,d=f?e+(b?c.y-q.container.scrollTop:
+c.x-q.container.scrollLeft):e+(b?d.y*a-q.container.scrollTop:d.x*a-q.container.scrollLeft),g=0;f&&(g=q.getPageLayout(),g=b?g.y*q.pageFormat.height:g.x*q.pageFormat.width);var m,n,p;switch(k.unit){case mxConstants.POINTS:m=p=10;n=[3,5,5,5,5,10,5,5,5,5];break;case mxConstants.MILLIMETERS:p=10;m=mxConstants.PIXELS_PER_MM;n=[5,3,3,3,3,6,3,3,3,3];break;case mxConstants.INCHES:p=.5>=a||4<=a?8:16,m=mxConstants.PIXELS_PER_INCH/p,n=[5,3,5,3,7,3,5,3,7,3,5,3,7,3,5,3]}var x=m;2<=a?x=m/(2*Math.floor(a/2)):.5>=
+a&&(x=m*Math.floor(1/a/2)*(k.unit==mxConstants.MILLIMETERS?2:1));m=null;c=f?Math.min(d+(b?c.height:c.width),b?t.height:t.width):b?t.height:t.width;if(f)if(u.fillStyle=l.outBkgClr,b){var z=d-e;0<z&&u.fillRect(0,e,e,z);c<t.height&&u.fillRect(0,c,e,t.height)}else z=d-e,0<z&&u.fillRect(e,0,z,e),c<t.width&&u.fillRect(c,0,t.width,e);u.fillStyle=l.fontClr;for(f=f?d:d%(x*a);f<=c;f+=x*a)if(z=Math.round((f-d)/a/x),!(f<e||z==m)){m=z;var B=null;0==z%p&&(B=k.formatText(g+z*x)+"");b?v(e-n[Math.abs(z)%p],f,e,f,
+B):v(f,e-n[Math.abs(z)%p],f,e,B)}u.lineWidth=1;v(b?0:e,b?e:0,e,e);u.fillStyle=l.cornerClr;u.fillRect(0,0,e,e)},x=-1,B=function(){null!=m?(null!=n&&n(x),x=m(z)):z()};this.drawRuler=B;this.sizeListener=d=f(function(){var a=q.container;b?(a=a.offsetHeight+e,t.height!=a&&(t.height=a,p.style.height=a+"px",B())):(a=a.offsetWidth+e,t.width!=a&&(t.width=a,p.style.width=a+"px",B()))},10);this.pageListener=function(){B()};this.scrollListener=c=f(function(){var a=b?q.container.scrollTop:q.container.scrollLeft;
+k.lastScroll!=a&&(k.lastScroll=a,B())},10);this.unitListener=function(a,b){k.setUnit(b.getProperty("unit"))};q.addListener(mxEvent.SIZE,d);q.container.addEventListener("scroll",c);q.view.addListener("unitChanged",this.unitListener);a.addListener("pageViewChanged",this.pageListener);a.addListener("pageScaleChanged",this.pageListener);a.addListener("pageFormatChanged",this.pageListener);this.setStyle=function(a){l=a;p.style.background=l.bkgClr;z()};this.origGuideMove=mxGuide.prototype.move;mxGuide.prototype.move=
+function(a,c,d,f){var g;if(b&&4<a.height||!b&&4<a.width){if(null!=k.guidePart)try{u.putImageData(k.guidePart.imgData1,k.guidePart.x1,k.guidePart.y1),u.putImageData(k.guidePart.imgData2,k.guidePart.x2,k.guidePart.y2),u.putImageData(k.guidePart.imgData3,k.guidePart.x3,k.guidePart.y3)}catch(L){}g=k.origGuideMove.apply(this,arguments);try{var m,n,p,q,t,y,x,z,B;u.lineWidth=.5;u.strokeStyle=l.guideClr;u.setLineDash([2]);b?(n=a.y+g.y+e-this.graph.container.scrollTop,m=0,t=n+a.height/2,q=e/2,z=n+a.height,
+x=0,p=u.getImageData(m,n-1,e,3),v(m,n,e,n),n--,y=u.getImageData(q,t-1,e,3),v(q,t,e,t),t--,B=u.getImageData(x,z-1,e,3),v(x,z,e,z),z--):(n=0,m=a.x+g.x+e-this.graph.container.scrollLeft,t=e/2,q=m+a.width/2,z=0,x=m+a.width,p=u.getImageData(m-1,n,3,e),v(m,n,m,e),m--,y=u.getImageData(q-1,t,3,e),v(q,t,q,e),q--,B=u.getImageData(x-1,z,3,e),v(x,z,x,e),x--);if(null==k.guidePart||k.guidePart.x1!=m||k.guidePart.y1!=n)k.guidePart={imgData1:p,x1:m,y1:n,imgData2:y,x2:q,y2:t,imgData3:B,x3:x,y3:z}}catch(L){}}else g=
+k.origGuideMove.apply(this,arguments);return g};this.origGuideDestroy=mxGuide.prototype.destroy;mxGuide.prototype.destroy=function(){var a=k.origGuideDestroy.apply(this,arguments);if(null!=k.guidePart)try{u.putImageData(k.guidePart.imgData1,k.guidePart.x1,k.guidePart.y1),u.putImageData(k.guidePart.imgData2,k.guidePart.x2,k.guidePart.y2),u.putImageData(k.guidePart.imgData3,k.guidePart.x3,k.guidePart.y3),k.guidePart=null}catch(C){}return a}}mxRuler.prototype.RULER_THICKNESS=14;
mxRuler.prototype.unit=mxConstants.POINTS;mxRuler.prototype.setUnit=function(a){this.unit=a;this.drawRuler()};mxRuler.prototype.formatText=function(a){switch(this.unit){case mxConstants.POINTS:return Math.round(a);case mxConstants.MILLIMETERS:return(a/mxConstants.PIXELS_PER_MM).toFixed(1);case mxConstants.INCHES:return(a/mxConstants.PIXELS_PER_INCH).toFixed(2)}};
mxRuler.prototype.destroy=function(){this.ui.refresh=this.editorUiRefresh;mxGuide.prototype.move=this.origGuideMove;mxGuide.prototype.destroy=this.origGuideDestroy;this.graph.removeListener(this.sizeListener);this.graph.container.removeEventListener("scroll",this.scrollListener);this.graph.view.removeListener("unitChanged",this.unitListener);this.ui.removeListener("pageViewChanged",this.pageListener);this.ui.removeListener("pageScaleChanged",this.pageListener);this.ui.removeListener("pageFormatChanged",
this.pageListener);null!=this.container&&this.container.parentNode.removeChild(this.container)};
@@ -11457,8 +11464,8 @@ function(b){c=null!=a.currentMenu;mxEvent.consume(b)}),null,mxUtils.bind(this,fu
mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(f,arguments);a.resetCurrentMenu();f.destroy()});var e=mxEvent.getClientX(d),g=mxEvent.getClientY(d);f.popup(e,g,null,d);a.setCurrentMenu(f,b)}mxEvent.consume(d)}}))});c(this.hRuler.container);c(this.vRuler.container);this.vRuler.drawRuler();this.hRuler.drawRuler()}mxDualRuler.prototype.setUnit=function(a){this.vRuler.setUnit(a);this.hRuler.setUnit(a)};mxDualRuler.prototype.setStyle=function(a){this.vRuler.setStyle(a);this.hRuler.setStyle(a)};
mxDualRuler.prototype.destroy=function(){this.vRuler.destroy();this.hRuler.destroy();this.ui.refresh=this.editorUiRefresh;mxGuide.prototype.move=this.origGuideMove;mxGuide.prototype.destroy=this.origGuideDestroy;this.ui.getDiagramContainerOffset=this.editorUiGetDiagContOffset};function mxFreehand(a){var d=null!=a.view&&null!=a.view.canvas?a.view.canvas.ownerSVGElement:null;if(null!=a.container&&null!=d){var b=mxFreehand.prototype.NORMAL_SMOOTHING,c=null,g=[],f,m=[],n,e=!1,k=!0,l=[],p=!1,t=!0;this.setClosedPath=function(a){e=a};this.setAutoClose=function(a){k=a};this.setStopClickEnabled=function(a){t=a};this.setSmoothing=function(a){b=a};var u=function(b){p=b;a.getRubberband().setEnabled(!b);a.graphHandler.setSelectEnabled(!b);a.graphHandler.setMoveEnabled(!b);a.container.style.cursor=
b?"crosshair":"";a.fireEvent(new mxEventObject("freehandStateChanged"))};this.startDrawing=function(){u(!0)};this.isDrawing=function(){return p};var q=mxUtils.bind(this,function(a){if(c){var b=t&&0<m.length&&null!=n&&2>n.length;b||m.push.apply(m,n);n=[];m.push(null);g.push(c);c=null;b&&this.stopDrawing();mxEvent.consume(a)}});this.stopDrawing=function(){if(0<g.length){for(var b=m[0].x,d=m[0].x,f=m[0].y,l=m[0].y,n=1;n<m.length;n++)null!=m[n]&&(b=Math.max(b,m[n].x),d=Math.min(d,m[n].x),f=Math.max(f,
-m[n].y),l=Math.min(l,m[n].y));b-=d;f-=l;if(0<b&&0<f){var p=100/b,q=100/f;m.map(function(a){if(null==a)return a;a.x=(a.x-d)*p;a.y=(a.y-l)*q;return a});for(var t='<shape strokewidth="inherit"><foreground>',x=0,n=0;n<m.length;n++){var v=m[n];if(null==v){var v=!1,x=m[x],y=m[n-1];!e&&k&&(v=x.x-y.x,y=x.y-y.y,v=Math.sqrt(v*v+y*y)<=a.tolerance);if(e||v)t+='<line x="'+x.x.toFixed(2)+'" y="'+x.y.toFixed(2)+'"/>';t+="</path>"+(e||v?"<fillstroke/>":"<stroke/>");x=n+1}else t=n==x?t+('<path><move x="'+v.x.toFixed(2)+
-'" y="'+v.y.toFixed(2)+'"/>'):t+('<line x="'+v.x.toFixed(2)+'" y="'+v.y.toFixed(2)+'"/>')}var n=mxConstants.STYLE_SHAPE+"=stencil("+Graph.compress(t+"</foreground></shape>")+");fillColor=none;",t=a.view.scale,x=a.view.translate,K=new mxCell("",new mxGeometry(d/t-x.x,l/t-x.y,b/t,f/t),n);K.vertex=1;a.model.beginUpdate();try{K=a.addCell(K)}finally{a.model.endUpdate()}a.fireEvent(new mxEventObject("cellsInserted","cells",[K]));a.fireEvent(new mxEventObject("freehandInserted","cell",K));setTimeout(function(){a.setSelectionCells([K])},
+m[n].y),l=Math.min(l,m[n].y));b-=d;f-=l;if(0<b&&0<f){var p=100/b,q=100/f;m.map(function(a){if(null==a)return a;a.x=(a.x-d)*p;a.y=(a.y-l)*q;return a});for(var t='<shape strokewidth="inherit"><foreground>',v=0,n=0;n<m.length;n++){var x=m[n];if(null==x){var x=!1,v=m[v],z=m[n-1];!e&&k&&(x=v.x-z.x,z=v.y-z.y,x=Math.sqrt(x*x+z*z)<=a.tolerance);if(e||x)t+='<line x="'+v.x.toFixed(2)+'" y="'+v.y.toFixed(2)+'"/>';t+="</path>"+(e||x?"<fillstroke/>":"<stroke/>");v=n+1}else t=n==v?t+('<path><move x="'+x.x.toFixed(2)+
+'" y="'+x.y.toFixed(2)+'"/>'):t+('<line x="'+x.x.toFixed(2)+'" y="'+x.y.toFixed(2)+'"/>')}var n=mxConstants.STYLE_SHAPE+"=stencil("+Graph.compress(t+"</foreground></shape>")+");fillColor=none;",t=a.view.scale,v=a.view.translate,K=new mxCell("",new mxGeometry(d/t-v.x,l/t-v.y,b/t,f/t),n);K.vertex=1;a.model.beginUpdate();try{K=a.addCell(K)}finally{a.model.endUpdate()}a.fireEvent(new mxEventObject("cellsInserted","cells",[K]));a.fireEvent(new mxEventObject("freehandInserted","cell",K));setTimeout(function(){a.setSelectionCells([K])},
10)}for(n=0;n<g.length;n++)g[n].parentNode.removeChild(g[n]);c=null;g=[];m=[]}u(!1)};mxEvent.addGestureListeners(d,function(b){if(p){var e=parseFloat(a.currentVertexStyle[mxConstants.STYLE_STROKEWIDTH]||1),e=Math.max(1,e*a.view.scale);c=document.createElementNS("http://www.w3.org/2000/svg","path");c.setAttribute("fill","none");c.setAttribute("stroke",a.currentVertexStyle[mxConstants.STYLE_STROKECOLOR]||"#000");c.setAttribute("stroke-width",e);if("1"==a.currentVertexStyle[mxConstants.STYLE_DASHED]){var g=
-a.currentVertexStyle[mxConstants.STYLE_DASH_PATTERN]||"3 3",g=g.split(" ").map(function(a){return parseFloat(a)*e}).join(" ");c.setAttribute("stroke-dasharray",g)}l=[];g=x(b);y(g);f="M"+g.x+" "+g.y;m.push(g);n=[];c.setAttribute("d",f);d.appendChild(c);mxEvent.consume(b)}},function(a){if(c){y(x(a));var b=v(0);if(b){f+=" L"+b.x+" "+b.y;m.push(b);var d="";n=[];for(var e=2;e<l.length;e+=2)b=v(e),d+=" L"+b.x+" "+b.y,n.push(b);c.setAttribute("d",f+d)}mxEvent.consume(a)}},q);var x=function(b){return mxUtils.convertPoint(a.container,
-mxEvent.getClientX(b),mxEvent.getClientY(b))},y=function(a){for(l.push(a);l.length>b;)l.shift()},v=function(a){var c=l.length;if(1===c%2||c>=b){var d=0,e=0,f,g=0;for(f=a;f<c;f++)g++,a=l[f],d+=a.x,e+=a.y;return{x:d/g,y:e/g}}return null}}}mxFreehand.prototype.NO_SMOOTHING=1;mxFreehand.prototype.MILD_SMOOTHING=4;mxFreehand.prototype.NORMAL_SMOOTHING=8;mxFreehand.prototype.VERY_SMOOTH_SMOOTHING=12;mxFreehand.prototype.SUPER_SMOOTH_SMOOTHING=16;mxFreehand.prototype.HYPER_SMOOTH_SMOOTHING=20;
+a.currentVertexStyle[mxConstants.STYLE_DASH_PATTERN]||"3 3",g=g.split(" ").map(function(a){return parseFloat(a)*e}).join(" ");c.setAttribute("stroke-dasharray",g)}l=[];g=v(b);z(g);f="M"+g.x+" "+g.y;m.push(g);n=[];c.setAttribute("d",f);d.appendChild(c);mxEvent.consume(b)}},function(a){if(c){z(v(a));var b=x(0);if(b){f+=" L"+b.x+" "+b.y;m.push(b);var d="";n=[];for(var e=2;e<l.length;e+=2)b=x(e),d+=" L"+b.x+" "+b.y,n.push(b);c.setAttribute("d",f+d)}mxEvent.consume(a)}},q);var v=function(b){return mxUtils.convertPoint(a.container,
+mxEvent.getClientX(b),mxEvent.getClientY(b))},z=function(a){for(l.push(a);l.length>b;)l.shift()},x=function(a){var c=l.length;if(1===c%2||c>=b){var d=0,e=0,f,g=0;for(f=a;f<c;f++)g++,a=l[f],d+=a.x,e+=a.y;return{x:d/g,y:e/g}}return null}}}mxFreehand.prototype.NO_SMOOTHING=1;mxFreehand.prototype.MILD_SMOOTHING=4;mxFreehand.prototype.NORMAL_SMOOTHING=8;mxFreehand.prototype.VERY_SMOOTH_SMOOTHING=12;mxFreehand.prototype.SUPER_SMOOTH_SMOOTHING=16;mxFreehand.prototype.HYPER_SMOOTH_SMOOTHING=20;
diff --git a/src/main/webapp/js/diagramly/App.js b/src/main/webapp/js/diagramly/App.js
index 15ac980a..453c20ab 100644
--- a/src/main/webapp/js/diagramly/App.js
+++ b/src/main/webapp/js/diagramly/App.js
@@ -288,6 +288,12 @@ App.PUSHER_CLUSTER = 'eu';
App.PUSHER_URL = 'https://js.pusher.com/4.3/pusher.min.js';
/**
+ * Socket.io library
+ */
+App.SOCKET_IO_URL = window.DRAWIO_BASE_URL + '/js/socket.io/socket.io.min.js';
+App.SOCKET_IO_SRV = 'http://localhost:3030';
+
+/**
* Google APIs to load. The realtime API is needed to notify collaborators of conversion
* of the realtime files, but after Dec 11 it's read-only and hence no longer needed.
*/
@@ -700,6 +706,11 @@ App.main = function(callback, createUi)
{
// TODO: Check if async loading is fast enough
mxscript(App.PUSHER_URL);
+
+ if (urlParams['rtCursors'] == '1')
+ {
+ mxscript(App.SOCKET_IO_URL);
+ }
}
// Loads plugins
@@ -5804,13 +5815,27 @@ App.prototype.showNotification = function(notifs, lsReadFlag)
this.notificationBtn.style.top = '4px';
}
- this.notificationBtn.innerHTML = '<span class="geNotification-count"></span>' +
- '<div class="geNotification-bell"' + (uiTheme == 'min'? ' style="opacity: 0.5"' : '') + '>'+
- '<span class="geBell-top"></span>' +
- '<span class="geBell-middle"></span>' +
- '<span class="geBell-bottom"></span>' +
- '<span class="geBell-rad"></span>' +
- '</div>';
+ var notifCount = document.createElement('span');
+ notifCount.className = 'geNotification-count';
+ this.notificationBtn.appendChild(notifCount);
+
+ var notifBell = document.createElement('div');
+ notifBell.className = 'geNotification-bell';
+ notifBell.style.opacity = uiTheme == 'min'? '0.5' : '';
+ var bellPart = document.createElement('span');
+ bellPart.className = 'geBell-top';
+ notifBell.appendChild(bellPart);
+ var bellPart = document.createElement('span');
+ bellPart.className = 'geBell-middle';
+ notifBell.appendChild(bellPart);
+ var bellPart = document.createElement('span');
+ bellPart.className = 'geBell-bottom';
+ notifBell.appendChild(bellPart);
+ var bellPart = document.createElement('span');
+ bellPart.className = 'geBell-rad';
+ notifBell.appendChild(bellPart);
+ this.notificationBtn.appendChild(notifBell);
+
//Add as first child such that it is the left-most one
this.buttonContainer.insertBefore(this.notificationBtn, this.buttonContainer.firstChild);
@@ -5818,18 +5843,26 @@ App.prototype.showNotification = function(notifs, lsReadFlag)
this.notificationWin.className = 'geNotifPanel';
this.notificationWin.style.display = 'none';
document.body.appendChild(this.notificationWin);
- this.notificationWin.innerHTML ='<div class="header">' +
- ' <div class="menu-icon">' +
- ' <div class="dash-top"></div>' +
- ' <div class="dash-bottom"></div>' +
- ' <div class="circle"></div>' +
- ' </div>' +
- ' <span class="title">' + mxResources.get('notifications') + '</span>' +
- ' <span id="geNotifClose" class="closeBtn">x</span>' +
- '</div>' +
- '<div class="notifications clearfix">' +
- ' <div id="geNotifList" style="position: relative"></div>' +
- '</div>';
+
+ var winHeader = document.createElement('div');
+ winHeader.className = 'header';
+ var winTitle = document.createElement('span');
+ winTitle.className = 'title';
+ winTitle.textContent = mxResources.get('notifications');
+ winHeader.appendChild(winTitle);
+ var winClose = document.createElement('span');
+ winClose.className = 'closeBtn';
+ winClose.textContent = 'x';
+ winHeader.appendChild(winClose);
+ this.notificationWin.appendChild(winHeader);
+
+ var winBody = document.createElement('div');
+ winBody.className = 'notifications clearfix';
+ var notifList = document.createElement('div');
+ notifList.setAttribute('id', 'geNotifList');
+ notifList.style.position = 'relative';
+ winBody.appendChild(notifList);
+ this.notificationWin.appendChild(winBody);
mxEvent.addListener(this.notificationBtn, 'click', mxUtils.bind(this, function()
{
@@ -5848,7 +5881,7 @@ App.prototype.showNotification = function(notifs, lsReadFlag)
}
}));
- mxEvent.addListener(document.getElementById('geNotifClose'), 'click', markAllAsRead);
+ mxEvent.addListener(winClose, 'click', markAllAsRead);
}
var newNotif = 0;
diff --git a/src/main/webapp/js/diagramly/Dialogs.js b/src/main/webapp/js/diagramly/Dialogs.js
index 74704299..2d5fce4f 100644
--- a/src/main/webapp/js/diagramly/Dialogs.js
+++ b/src/main/webapp/js/diagramly/Dialogs.js
@@ -3426,26 +3426,36 @@ var CreateDialog = function(editorUi, title, createFn, cancelFn, dlgTitle, btnLa
if (!mxClient.IS_FF && navigator.clipboard != null && mimeType == 'image/png')
{
- copyBtn = mxUtils.button(mxResources.get('copy'), function()
+ copyBtn = mxUtils.button(mxResources.get('copy'), function(evt)
{
- // Only PNG can be copied to clipboard natively
- if (mimeType == 'image/png')
+ if (mimeType == 'image/png' && !mxEvent.isShiftDown(evt))
{
- var blob = this.base64ToBlob(temp, 'image/png');
+ var blob = editorUi.base64ToBlob(temp, 'image/png');
var cbi = new ClipboardItem({'image/png': blob});
- navigator.clipboard.write([cbi]);
+ navigator.clipboard.write([cbi]).then(mxUtils.bind(this, function()
+ {
+ editorUi.alert(mxResources.get('copiedToClipboard'));
+ }))['catch'](mxUtils.bind(this, function(e)
+ {
+ editorUi.handleError(e);
+ }));
}
else
{
var html = '<img src="' + 'data:' + mimeType + ';base64,' + temp + '">';
var cbi = new ClipboardItem({'text/html':
new Blob([html], {type: 'text/html'})});
- navigator.clipboard.write([cbi]);
+ navigator.clipboard.write([cbi]).then(mxUtils.bind(this, function()
+ {
+ editorUi.alert(mxResources.get('copiedToClipboard'));
+ }))['catch'](mxUtils.bind(this, function(e)
+ {
+ editorUi.handleError(e);
+ }));
}
-
- editorUi.alert(mxResources.get('copiedToClipboard'));
});
+ copyBtn.style.marginTop = '6px';
copyBtn.className = 'geBtn';
}
@@ -3760,7 +3770,7 @@ var CreateDialog = function(editorUi, title, createFn, cancelFn, dlgTitle, btnLa
btns.appendChild(helpBtn);
}
- var cancelBtn = mxUtils.button(mxResources.get('cancel'), function()
+ var cancelBtn = mxUtils.button(mxResources.get((cancelFn != null) ? 'close' : 'cancel'), function()
{
if (cancelFn != null)
{
@@ -3777,7 +3787,7 @@ var CreateDialog = function(editorUi, title, createFn, cancelFn, dlgTitle, btnLa
cancelBtn.className = 'geBtn';
- if (editorUi.editor.cancelFirst)
+ if (editorUi.editor.cancelFirst && cancelFn == null)
{
btns.appendChild(cancelBtn);
}
@@ -3818,13 +3828,7 @@ var CreateDialog = function(editorUi, title, createFn, cancelFn, dlgTitle, btnLa
openBtn.className = 'geBtn';
btns.appendChild(openBtn);
}
-
- if (copyBtn != null)
- {
- btns.appendChild(copyBtn);
- mxUtils.br(btns);
- }
-
+
if (CreateDialog.showDownloadButton)
{
var downloadButton = mxUtils.button(mxResources.get('download'), function()
@@ -3841,6 +3845,12 @@ var CreateDialog = function(editorUi, title, createFn, cancelFn, dlgTitle, btnLa
btns.style.marginTop = '6px';
}
}
+
+ if (copyBtn != null)
+ {
+ mxUtils.br(btns);
+ btns.appendChild(copyBtn);
+ }
if (/*!mxClient.IS_IOS || */!showButtons)
{
@@ -3853,7 +3863,7 @@ var CreateDialog = function(editorUi, title, createFn, cancelFn, dlgTitle, btnLa
btns.appendChild(createBtn);
}
- if (!editorUi.editor.cancelFirst)
+ if (!editorUi.editor.cancelFirst || cancelFn != null)
{
btns.appendChild(cancelBtn);
}
diff --git a/src/main/webapp/js/diagramly/DrawioFile.js b/src/main/webapp/js/diagramly/DrawioFile.js
index c7a56729..40a957d7 100644
--- a/src/main/webapp/js/diagramly/DrawioFile.js
+++ b/src/main/webapp/js/diagramly/DrawioFile.js
@@ -91,6 +91,13 @@ DrawioFile.prototype.autosaveDelay = 1500;
DrawioFile.prototype.maxAutosaveDelay = 30000;
/**
+ * Specifies the delay for loading the file after an optimistic sync message.
+ * This should be the delay for the file to be saved minus the delay for the
+ * sync message to travel.
+ */
+DrawioFile.prototype.optimisticSyncDelay = 300;
+
+/**
* Contains the thread for the next autosave.
*/
DrawioFile.prototype.autosaveThread = null;
@@ -1973,13 +1980,22 @@ DrawioFile.prototype.fileChanged = function()
};
/**
+ * Returns true if the notification to update should be sent
+ * together with the save request.
+ */
+DrawioFile.prototype.isOptimisticSync = function()
+{
+ return false;
+};
+
+/**
* Creates a secret and token pair for writing a patch to the cache.
*/
DrawioFile.prototype.createSecret = function(success)
{
var secret = Editor.guid(32);
- if (this.sync != null)
+ if (this.sync != null && !this.isOptimisticSync())
{
this.sync.createToken(secret, mxUtils.bind(this, function(token)
{
@@ -1998,6 +2014,22 @@ DrawioFile.prototype.createSecret = function(success)
/**
* Invokes sync and updates shadow document.
*/
+DrawioFile.prototype.fileSaving = function()
+{
+ if (this.sync != null && this.isOptimisticSync())
+ {
+ this.sync.fileSaving();
+ }
+
+ if (urlParams['test'] == '1')
+ {
+ EditorUi.debug('DrawioFile.fileSaving', [this]);
+ }
+};
+
+/**
+ * Invokes sync and updates shadow document.
+ */
DrawioFile.prototype.fileSaved = function(savedData, lastDesc, success, error, token)
{
this.lastSaved = new Date();
@@ -2009,7 +2041,7 @@ DrawioFile.prototype.fileSaved = function(savedData, lastDesc, success, error, t
this.inConflictState = false;
this.invalidChecksum = false;
- if (this.sync == null)
+ if (this.sync == null || this.isOptimisticSync())
{
this.shadowData = savedData;
this.shadowPages = null;
@@ -2058,6 +2090,11 @@ DrawioFile.prototype.fileSaved = function(savedData, lastDesc, success, error, t
// ignore
}
}
+
+ if (urlParams['test'] == '1')
+ {
+ EditorUi.debug('DrawioFile.fileSaved', [this]);
+ }
};
/**
diff --git a/src/main/webapp/js/diagramly/DrawioFileSync.js b/src/main/webapp/js/diagramly/DrawioFileSync.js
index edf03410..9143dd50 100644
--- a/src/main/webapp/js/diagramly/DrawioFileSync.js
+++ b/src/main/webapp/js/diagramly/DrawioFileSync.js
@@ -216,6 +216,11 @@ DrawioFileSync.prototype.maxCacheReadyRetries = 1;
DrawioFileSync.prototype.cacheReadyDelay = 700;
/**
+ * Specifies if descriptor change events should be ignored.
+ */
+DrawioFileSync.prototype.maxOptimisticReloadRetries = 6;
+
+/**
* Inactivity timeout is 30 minutes.
*/
DrawioFileSync.prototype.inactivityTimeoutSeconds = 1800;
@@ -264,7 +269,7 @@ DrawioFileSync.prototype.start = function()
{
this.pusher.connect();
this.channel = this.pusher.subscribe(this.channelId);
- EditorUi.debug('Sync.start', [this, 'v' + DrawioFileSync.PROTOCOL]);
+ EditorUi.debug('Sync.start', [this, 'v' + DrawioFileSync.PROTOCOL], 'rev', this.file.getCurrentRevisionId());
}
catch (e)
{
@@ -575,7 +580,7 @@ DrawioFileSync.prototype.handleMessageData = function(data)
if (this.lastMessageModified == null || this.lastMessageModified < mod)
{
this.lastMessageModified = mod;
- this.fileChangedNotify();
+ this.fileChangedNotify(data);
}
}
};
@@ -593,7 +598,53 @@ DrawioFileSync.prototype.isValidState = function()
/**
* Adds the listener for automatically saving the diagram for local changes.
*/
-DrawioFileSync.prototype.fileChangedNotify = function()
+DrawioFileSync.prototype.optimisticSync = function(retryCount)
+{
+ if (this.reloadThread == null)
+ {
+ retryCount = (retryCount != null) ? retryCount : 0;
+
+ if (retryCount < this.maxOptimisticReloadRetries)
+ {
+ this.reloadThread = window.setTimeout(mxUtils.bind(this, function()
+ {
+ this.file.getLatestVersion(mxUtils.bind(this, function(latestFile)
+ {
+ this.reloadThread = null;
+
+ if (latestFile != null)
+ {
+ var etag = latestFile.getCurrentRevisionId();
+ var current = this.file.getCurrentRevisionId();
+
+ // Retries if the file has not changed
+ if (current == etag)
+ {
+ this.optimisticSync(retryCount + 1);
+ }
+ else
+ {
+ this.file.mergeFile(latestFile);
+ }
+ }
+ }), mxUtils.bind(this, function()
+ {
+ this.reloadThread = null;
+ }));
+ }), (retryCount + 1) * this.file.optimisticSyncDelay);
+ }
+
+ if (urlParams['test'] == '1')
+ {
+ EditorUi.debug('Sync.optimisticSync', [this], 'retryCount', retryCount);
+ }
+ }
+};
+
+/**
+ * Adds the listener for automatically saving the diagram for local changes.
+ */
+DrawioFileSync.prototype.fileChangedNotify = function(data)
{
if (this.isValidState())
{
@@ -603,19 +654,26 @@ DrawioFileSync.prototype.fileChangedNotify = function()
}
else
{
- // It's possible that a request never returns so override
- // existing requests and abort them when they are active
- var thread = this.fileChanged(mxUtils.bind(this, function(err)
- {
- this.updateStatus();
- }),
- mxUtils.bind(this, function(err)
+ if (data != null && data.type == 'optimistic')
{
- this.file.handleFileError(err);
- }), mxUtils.bind(this, function()
+ this.optimisticSync();
+ }
+ else
{
- return !this.file.savingFile && this.notifyThread != thread;
- }), true);
+ // It's possible that a request never returns so override
+ // existing requests and abort them when they are active
+ var thread = this.fileChanged(mxUtils.bind(this, function(err)
+ {
+ this.updateStatus();
+ }),
+ mxUtils.bind(this, function(err)
+ {
+ this.file.handleFileError(err);
+ }), mxUtils.bind(this, function()
+ {
+ return !this.file.savingFile && this.notifyThread != thread;
+ }), true);
+ }
}
}
};
@@ -1130,6 +1188,20 @@ DrawioFileSync.prototype.createToken = function(secret, success, error)
};
/**
+ * Invoked when a save request for a file was sent regardless of the response.
+ */
+DrawioFileSync.prototype.fileSaving = function()
+{
+ var msg = this.objectToString(this.createMessage({m: new Date().getTime(), type: 'optimistic'}));
+
+ // Notify only
+ mxUtils.post(EditorUi.cacheUrl, this.getIdParameters() + '&msg=' + encodeURIComponent(msg), function()
+ {
+ // Ignore response
+ });
+};
+
+/**
* Invoked after a file was saved to add cache entry (which in turn notifies
* collaborators).
*/
diff --git a/src/main/webapp/js/diagramly/DriveFile.js b/src/main/webapp/js/diagramly/DriveFile.js
index 40d373e0..6579b856 100644
--- a/src/main/webapp/js/diagramly/DriveFile.js
+++ b/src/main/webapp/js/diagramly/DriveFile.js
@@ -13,12 +13,6 @@ DriveFile = function(ui, data, desc)
mxUtils.extend(DriveFile, DrawioFile);
/**
- * Workaround for changing etag after save is higher autosave delay to allow
- * for preflight etag update and decrease possible conflicts on file save.
- */
-//DriveFile.prototype.autosaveDelay = 2500;
-
-/**
* Delay for last save in ms.
*/
DriveFile.prototype.saveDelay = 0;
diff --git a/src/main/webapp/js/diagramly/EditorUi.js b/src/main/webapp/js/diagramly/EditorUi.js
index f3dd8ffc..f202047b 100644
--- a/src/main/webapp/js/diagramly/EditorUi.js
+++ b/src/main/webapp/js/diagramly/EditorUi.js
@@ -9975,7 +9975,7 @@
// KNOWN: SVG not supported, embedded XML in PNGs removed,
// multiple items and delayed content not yet supported
- var uri = this.createImageDataUri(canvas, (cells.length > 0) ? xml : null, 'png');
+ var uri = this.createImageDataUri(canvas, xml, 'png');
if (format == 'png')
{
@@ -10008,7 +10008,8 @@
{
// ignore
}), null, null, (scale != null) ? scale : (format == 'png') ? 1 : 4,
- format != 'png', null, null, null, 10, null, null, false, null, (cells.length > 0) ? cells : null);
+ format != 'png', null, null, null, 10, null, null, false, null,
+ (cells.length > 0) ? cells : null);
}
}
catch (e)
diff --git a/src/main/webapp/js/diagramly/Extensions.js b/src/main/webapp/js/diagramly/Extensions.js
index 6b27a186..9f224ad1 100644
--- a/src/main/webapp/js/diagramly/Extensions.js
+++ b/src/main/webapp/js/diagramly/Extensions.js
@@ -329,7 +329,7 @@ LucidImporter = {};
//Org Chart
'OrgBlock' : '',
//Tables
- 'DefaultTableBlock' : cs, //TODO
+ 'DefaultTableBlock' : cs,
//Value Stream Mapping
//Processes
'VSMCustomerSupplierBlock' : s + 'lean_mapping.outside_sources',
@@ -5284,6 +5284,19 @@ LucidImporter = {};
{
if (color)
{
+ if (typeof color === 'object')
+ {
+ try
+ {
+ color = color.cs[0].c; //TODO support gradient colors
+ }
+ catch(e)
+ {
+ console.log(e);
+ color = '#ffffff';
+ }
+ }
+
if (color.substring(0, 3) == 'rgb')
{
color = '#' + color.match(/\d+/g).map(function(n)
@@ -5888,10 +5901,40 @@ LucidImporter = {};
x = (parseFloat(textArea.Text.Location) - 0.5) * 2;
}
- var lab = new mxCell(convertText(textArea), new mxGeometry((!isNaN(x)) ? x : 0, 0, 0, 0),
+ var lblTxt = convertText(textArea);
+ var lab = new mxCell(lblTxt, new mxGeometry((!isNaN(x)) ? x : 0, 0, 0, 0),
labelStyle + getEdgeLabelStyle(textArea, obj, isLastLblHTML));
lab.geometry.relative = true;
lab.vertex = true;
+
+ if (textArea.Side)
+ {
+ try
+ {
+ if (obj.Action && obj.Action.Properties)
+ {
+ obj = obj.Action.Properties;
+ }
+
+ var dx = Math.abs(obj.Endpoint1.x - obj.Endpoint2.x);
+ var dy = Math.abs(obj.Endpoint1.y - obj.Endpoint2.y);
+ var strSize = mxUtils.getSizeForString(lblTxt);
+
+ if (dx == 0 || dx < dy)
+ {
+ lab.geometry.offset = new mxPoint(-textArea.Side * (strSize.width / 2 + 5 + dx), 0);
+ }
+ else
+ {
+ lab.geometry.offset = new mxPoint(0, Math.sign(obj.Endpoint2.x - obj.Endpoint1.x) * textArea.Side * (strSize.height / 2 + 5 + dy));
+ }
+ }
+ catch(e)
+ {
+ console.log(e);
+ }
+ }
+
e.insert(lab);
return e;
@@ -9479,7 +9522,7 @@ LucidImporter = {};
for (var l = j + 1; l < j + spans.w; l++)
{
- skipCells[l + ',' + j] = true;
+ skipCells[k + ',' + l] = true;
}
}
@@ -9498,7 +9541,7 @@ LucidImporter = {};
var cell = new mxCell('', new mxGeometry(x, y, cw, ch), 'shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;'
+ (hideV? 'left=0;right=0;' : '') + (hideH? 'top=0;bottom=0;' : '')
- + createStyle(mxConstants.STYLE_FILLCOLOR, getColor(fillClr), getColor(tblFillClr))
+ + getFillColor({FillColor: fillClr || tblFillClr})
+ createStyle(mxConstants.STYLE_STROKECOLOR, getColor(borderClr), getColor(tblLnClr))
+ (borderW != null ? createStyle(mxConstants.STYLE_STROKEWIDTH, Math.round(parseFloat(borderW) * scale), '1') : '')
+ (lnOp? lnOp : tblLnOp)
@@ -9530,7 +9573,10 @@ LucidImporter = {};
y += h;
}
}
- catch(e){}
+ catch(e)
+ {
+ console.log(e);
+ }
break;
case 'VSMDedicatedProcessBlock' :
case 'VSMProductionControlBlock' :
@@ -13536,8 +13582,8 @@ LucidImporter = {};
graph.addCell(chartGroup);
var fields = props.FieldNames;
var layoutSettings = props.LayoutSettings;
- var cellDefaultStyle = props.BlockItemDefaultStyle;
- var edgeDefaultStyle = props.EdgeItemDefaultStyle;
+ var cellDefaultStyle = props.BlockItemDefaultStyle || {props: {}};
+ var edgeDefaultStyle = props.EdgeItemDefaultStyle || {props: {}};
var parents = {};
var idPrefix = (objId || Date.now()) + '_';
@@ -13620,7 +13666,7 @@ LucidImporter = {};
if (derivative[i].type == 'ForeignKeyGraph')
{
dataId = derivative[i].c[0].id;
- dataId = dataId.substr(0, dataId.indexOf('_'));
+ dataId = dataId.substr(0, dataId.lastIndexOf('_'));
}
else if (derivative[i].type == 'MappedGraph')
{
@@ -13656,10 +13702,25 @@ LucidImporter = {};
}
}
- for (var pk in chartDataSrc)
+ var dupMap = {};
+
+ for (var id in chartDataSrc)
{
- var d = chartDataSrc[pk];
- createNode(d[primaryKey], d[foreignKey], d);
+ var d = chartDataSrc[id];
+ var pk = d[primaryKey], fk = d[foreignKey];
+
+ //Special case where these nodes has duplicate id and should be connected somehow!
+ if (pk == fk)
+ {
+ dupMap[pk] = pk + Date.now();
+ pk = dupMap[pk];
+ d[primaryKey] = pk;
+ createNode(pk, fk, d);
+ }
+ else
+ {
+ createNode(pk, dupMap[fk] || fk, d);
+ }
}
}
@@ -13667,15 +13728,19 @@ LucidImporter = {};
{
var p = parents[key];
- if (p)
+ if (p != null)
{
var src = lookup[idPrefix + p];
var trg = lookup[key];
- var e = new mxCell('', new mxGeometry(0, 0, 100, 100), '');
- e.geometry.relative = true;
- e.edge = true;
- updateCell(e, edgeDefaultStyle.props, graph, null, null, true);
- graph.addCell(e, chartGroup, null, src, trg);
+
+ if (src != null && trg != null)
+ {
+ var e = new mxCell('', new mxGeometry(0, 0, 100, 100), '');
+ e.geometry.relative = true;
+ e.edge = true;
+ updateCell(e, edgeDefaultStyle.props, graph, null, null, true);
+ graph.addCell(e, chartGroup, null, src, trg);
+ }
}
}
diff --git a/src/main/webapp/js/diagramly/Menus.js b/src/main/webapp/js/diagramly/Menus.js
index 00a0f6d5..d2d12be0 100644
--- a/src/main/webapp/js/diagramly/Menus.js
+++ b/src/main/webapp/js/diagramly/Menus.js
@@ -647,16 +647,13 @@
}
}));
- action = editorUi.actions.addAction('copyAsImage', mxUtils.bind(this, function()
+ action = editorUi.actions.addAction('copyAsImage', mxUtils.bind(this, function(arg, evt)
{
+ var asHtml = mxEvent.isShiftDown(evt);
var graph = editorUi.editor.graph;
-
- //if (!graph.isSelectionEmpty())
- {
- var cells = mxUtils.sortCells(graph.model.getTopmostCells(graph.getSelectionCells()));
- var xml = mxUtils.getXml(graph.encodeCells(cells));
- editorUi.copyImage(cells, xml, 'png', 2);
- }
+ var cells = mxUtils.sortCells(graph.model.getTopmostCells(graph.getSelectionCells()));
+ var xml = mxUtils.getXml((cells.length == 0) ? editorUi.editor.getGraphXml() : graph.encodeCells(cells));
+ editorUi.copyImage(cells, xml, (asHtml) ? null : 'png', (asHtml) ? null : 2);
}));
action.visible = Editor.enableNativeCipboard && editorUi.isExportToCanvas();
diff --git a/src/main/webapp/js/diagramly/OneDriveFile.js b/src/main/webapp/js/diagramly/OneDriveFile.js
index 388d9c26..b158a3fa 100644
--- a/src/main/webapp/js/diagramly/OneDriveFile.js
+++ b/src/main/webapp/js/diagramly/OneDriveFile.js
@@ -13,6 +13,11 @@ OneDriveFile = function(ui, data, meta)
mxUtils.extend(OneDriveFile, DrawioFile);
/**
+ * Shorter autosave delay for optimistic sync.
+ */
+OneDriveFile.prototype.autosaveDelay = 300;
+
+/**
* Translates this point by the given vector.
*
* @param {number} dx X-coordinate of the translation.
@@ -168,6 +173,15 @@ OneDriveFile.prototype.isRenamable = function()
};
/**
+ * Returns true if the notification to update should be sent
+ * together with the save request.
+ */
+OneDriveFile.prototype.isOptimisticSync = function()
+{
+ return true;
+};
+
+/**
* Hook for subclassers.
*/
OneDriveFile.prototype.isSyncSupported = function()
@@ -374,7 +388,8 @@ OneDriveFile.prototype.saveFile = function(title, revision, success, error, unlo
(DrawioFile.SYNC == 'manual' || DrawioFile.SYNC == 'auto')) ?
this.getCurrentEtag() : null;
var lastDesc = this.meta;
-
+ this.fileSaving();
+
this.ui.oneDrive.saveFile(this, mxUtils.bind(this, function(meta, savedData)
{
// Checks for changes during save
diff --git a/src/main/webapp/js/extensions.min.js b/src/main/webapp/js/extensions.min.js
index 5d8b85a8..e5bd8b6e 100644
--- a/src/main/webapp/js/extensions.min.js
+++ b/src/main/webapp/js/extensions.min.js
@@ -1,373 +1,375 @@
LucidImporter={};
-(function(){function e(a){Ca="";try{if(a){var b=null;LucidImporter.advImpConfig&&LucidImporter.advImpConfig.fontMapping&&(b=LucidImporter.advImpConfig.fontMapping[a]);if(b){for(var c in b)Ca+=c+"="+b[c]+";";return b.fontFamily?"font-family: "+b.fontFamily:""}if("Liberation Sans"!=a)return Ca="fontFamily="+a+";","font-family: "+a+";"}}catch(Kd){}return""}function p(a){return Math.round(10*a)/10}function n(a,b,c){function f(a,b){var f="",h=a.t,d=a.l||{v:h&&"ul"==h.v?"auto":"decimal"};if(null==h||0!=
-E&&E==h.v&&k==d.v)null==h&&(E&&(f+=m(!0),E=!1),f+='<div style="',z.push("div"));else{E&&(f+=m(!0));E=h.v;k=d.v;"ul"==h.v?(f+="<ul ",z.push("ul")):(f+="<ol ",z.push("ol"));f+='style="margin: 0px; padding-left: 10px;list-style-position: inside; list-style-type:';if("hl"==h.v)f+="upper-roman";else switch(d.v){case "auto":f+="disc";break;case "inv":f+="circle";break;case "disc":f+="circle";break;case "trib":f+="square";break;case "square":f+="square";break;case "dash":f+="square";break;case "heart":f+=
-"disc";break;default:f+="decimal"}f+='">'}if(null!=h){var f=f+('<li style="text-align:'+(a.a?a.a.v:c.TextAlign||"center")+";"),e,l;null!=b&&(b.c&&(e=b.c.v),b.s&&(l=b.s.v));try{var x=q[n],w=G[A],h=n;if(x&&w&&x.s<w.e)for(var g=x.s;null!=x&&x.s==g;)"s"==x.n?l=x.v:"c"==x.n&&(e=x.v),x=q[++h]}catch(ac){console.log(ac)}e=ea(e);null!=e&&(e=e.substring(0,7),f+="color:"+e+";");null!=l&&(f+="font-size:"+p(.75*l)+"px;");f+='">';z.push("li");f+='<span style="';z.push("span")}E||(l=e=a.a?a.a.v:c.TextAlign||"center",
-"left"==e?l="flex-start":"right"==e&&(l="flex-end"),f+="display: flex; justify-content: "+l+"; text-align: "+e+"; align-items: baseline; font-size: 0; line-height: 1.25;");a.il&&(f+="margin-left: "+Math.max(0,p(.75*a.il.v-(E?28:0)))+"px;");a.ir&&(f+="margin-right: "+p(.75*a.ir.v)+"px;");a.mt&&(f+="margin-top: "+p(.75*a.mt.v)+"px;");a.mb&&(f+="margin-bottom: "+p(.75*a.mb.v)+"px;");f+='margin-top: -2px;">';E||(f+="<span>",z.push("span"));return f}function h(a){if(0==Object.keys(a).length)return"";var b=
-"",f=0;if(a.lk){var h=a.lk;null!=h.v&&0<h.v.length&&(b+='<a href="'+l(h.v[0])+'">',I.push("a"),f++)}b+='<span style="';I.push("span");f++;b+="font-size:"+(a.s?p(.75*a.s.v):"13")+"px;";a.c&&(h=ea(a.c.v),null!=h&&(h=h.substring(0,7),b+="color:"+h+";"));if(a.b&&a.b.v||a.fc&&a.fc.v&&0==a.fc.v.indexOf("Bold"))b+="font-weight: bold;";a.i&&a.i.v&&(b+="font-style: italic;");a.ac&&a.ac.v&&(b+="text-transform: uppercase;");h=null;a.f?h=a.f.v:c.Font&&(h=c.Font);b+=e(h);h=[];a.u&&a.u.v&&h.push("underline");a.k&&
-a.k.v&&h.push("line-through");0<h.length&&(b+="text-decoration: "+h.join(" ")+";");b+='">';Da.push(f);return b}function m(a){var b="";do{var c=z.pop();if(!a&&E&&("ul"==c||"ol"==c)){z.push(c);break}b+="</"+c+">"}while(0<z.length);return b}function d(a,b,c,f){a=a?a.substring(b,c):"";E&&(a=a.trim());0==I.length&&0<a.length&&(a=h({dummy:1})+a);a=a.replace(/</g,"&lt;").replace(/>/g,"&gt;");do for(b=Da.pop(),c=0;c<b;c++){var m=I.pop();a+="</"+m+">"}while(f&&0<I.length);return a}var x={a:!0,il:!0,ir:!0,
-mt:!0,mb:!0,p:!0,t:!0,l:!0},w={lk:!0,s:!0,c:!0,b:!0,fc:!0,i:!0,u:!0,k:!0,f:!0,ac:!0};b.sort(function(a,b){return a.s-b.s});var q=b.filter(function(a){return w[a.n]});q[0]&&0!=q[0].s&&q.unshift({s:0,n:"dummy",v:"",e:q[0].s});b=b.filter(function(a){return x[a.n]});for(var g=[0],fa=0;0<(fa=a.indexOf("\n",fa));)fa++,g.push(fa);for(var n=fa=0;n<b.length;n++){if(b[n].s>g[fa])b.splice(n,0,{s:g[fa],n:"a",v:c.TextAlign||"center"});else{for(var C=0;n+C<b.length&&b[n+C].s==g[fa];)C++;1<C&&(n+=C-1)}fa++}null!=
-g[fa]&&b.push({s:g[fa],n:"a",v:c.TextAlign||"center"});var g="",G=q.slice();G.sort(function(a,b){return a.e-b.e});for(var A=n=0,fa=0,C={},B={},I=[],Da=[],z=[],Za=!1,E=!1,k,K=0,T=0,Z=a.length,R=!0;fa<b.length||R;){R=!1;if(fa<b.length){var D=b[fa],aa=b[fa].s;Za&&(B={},g+=d(a,K,Z,!0),T=K=Z,g+=m());for(;null!=D&&D.s==aa;)B[D.n]=D,D=b[++fa];Z=null!=D?D.s:a.length;g+=f(B,C);Za&&(g+=h(C));Za=!0}for(;n>=A&&(n<q.length||A<G.length);)if(D=q[n],aa=G[A],D&&aa&&D.s<aa.e){if(D.s>=Z)break;K=D.s;0<K-T&&(g+=h(C)+
-d(a,T,K),T=K);for(;null!=D&&D.s==K;)C[D.n]=D,D=q[++n];g+=h(C)}else if(aa){if(aa.e>Z)break;T=aa.e;do delete C[aa.n],aa=G[++A];while(null!=aa&&aa.e==T);g+=d(a,K,T);K=T;0!=Da.length||null!=D&&D.s==T||(q.splice(n,0,{s:T,n:"dummy",v:""}),G.splice(A,0,{e:D?D.s:Z,n:"dummy",v:""}))}else break}g+=d(null,null,null,!0);Za&&(T!=Z&&(g+=h({dummy:1})+d(a,T,Z)),g+=m(!0));return g}function g(a,b){z=!1;var c=null!=a.Text?a.Text:null!=a.Value?a.Value:a.Lane_0;null==c&&null!=a.State?null!=a.State.t&&(c=a.State):null==
-c&&null!=a.Note?null!=a.Note.t&&(c=a.Note):null==c&&null!=a.Title?null!=a.Title.t&&(c=a.Title):null!=a.t&&(c=a);null==c&&null!=a.TextAreas?null!=a.TextAreas.Text&&null!=a.TextAreas.Text.Value&&null!=a.TextAreas.Text.Value.t&&(c=a.TextAreas.Text.Value):null==c&&null!=a.t0&&null!=a.t0.t&&(c=a.t0);if(null!=c){if(null!=c.t){var f=c.t,f=f.replace(/\u2028/g,"\n"),c=c.m;try{for(var h=0;h<c.length;h++)if(0<c[h].s||null!=c[h].e&&c[h].e<f.length||"t"==c[h].n||"ac"==c[h].n||"lk"==c[h].n){z=!0;break}if(z=z||
-b)return n(f,c,a)}catch(Ye){console.log(Ye)}f=f.replace(/</g,"&lt;");return f=f.replace(/>/g,"&gt;")}if(null!=c.Value&&null!=c.Value.t)return c.Value.t=c.Value.t.replace(/</g,"&lt;"),c.Value.t=c.Value.t.replace(/>/g,"&gt;"),c.Value.t}return""}function q(a){return null!=a.Action?a.Action:a}function d(a){if(null!=a.Text){if(null!=a.Text.m)return a.Text.m}else if(null!=a.TextAreas){if(null!=a.TextAreas.Text&&null!=a.TextAreas.Text.Value&&null!=a.TextAreas.Text.Value.m)return a.TextAreas.Text.Value.m}else{if(null!=
-a.m)return a.m;if(null!=a.Title){if(null!=a.Title.m)return a.Title.m}else if(null!=a.State){if(null!=a.State.m)return a.State.m}else if(null!=a.Note&&null!=a.Note.m)return a.Note.m}return null}function b(a,b){var c="whiteSpace=wrap;"+(b?"overflow=block;blockSpacing=1;html=1;fontSize=13;"+Ca:f(a)+m(a)+x(a)+w(a)+A(a)+G(a)+B(a)+E(a)+D(a))+K(a)+S(a)+cb(mxConstants.STYLE_ALIGN,a.TextAlign,"center");Ca="";return c}function a(a,b,f,m,h){var d="";null!=a&&""!=a&&";"!=a.charAt(a.length-1)&&(d=";");d+="whiteSpace=wrap;"+
-(h?(Kc(a,"overflow")?"":"overflow=block;blockSpacing=1;")+(Kc(a,"html")?"":"html=1;")+"fontSize=13;"+Ca:c(mxConstants.STYLE_FONTSIZE,a,b,f,m)+c(mxConstants.STYLE_FONTFAMILY,a,b,f,m)+c(mxConstants.STYLE_FONTCOLOR,a,b,f,m)+c(mxConstants.STYLE_FONTSTYLE,a,b,f,m)+c(mxConstants.STYLE_ALIGN,a,b,f,m)+c(mxConstants.STYLE_SPACING_LEFT,a,b,f,m)+c(mxConstants.STYLE_SPACING_RIGHT,a,b,f,m)+c(mxConstants.STYLE_SPACING_TOP,a,b,f,m)+c(mxConstants.STYLE_SPACING_BOTTOM,a,b,f,m))+c(mxConstants.STYLE_ALIGN+"Global",
-a,b,f,m)+c(mxConstants.STYLE_SPACING,a,b,f,m)+c(mxConstants.STYLE_VERTICAL_ALIGN,a,b,f,m)+c(mxConstants.STYLE_STROKECOLOR,a,b,f,m)+c(mxConstants.STYLE_OPACITY,a,b,f,m)+c(mxConstants.STYLE_ROUNDED,a,b,f,m)+c(mxConstants.STYLE_ROTATION,a,b,f,m)+c(mxConstants.STYLE_FLIPH,a,b,f,m)+c(mxConstants.STYLE_FLIPV,a,b,f,m)+c(mxConstants.STYLE_SHADOW,a,b,f,m)+c(mxConstants.STYLE_FILLCOLOR,a,b,f,m)+c(mxConstants.STYLE_DASHED,a,b,f,m)+c(mxConstants.STYLE_STROKEWIDTH,a,b,f,m)+c(mxConstants.STYLE_IMAGE,a,b,f,m);Ca=
-"";return d}function c(a,b,c,d,h){if(!Kc(b,a))switch(a){case mxConstants.STYLE_FONTSIZE:return f(c);case mxConstants.STYLE_FONTFAMILY:return m(c);case mxConstants.STYLE_FONTCOLOR:return x(c);case mxConstants.STYLE_FONTSTYLE:return w(c);case mxConstants.STYLE_ALIGN:return A(c);case mxConstants.STYLE_ALIGN+"Global":return cb(mxConstants.STYLE_ALIGN,c.TextAlign,"center");case mxConstants.STYLE_SPACING_LEFT:return G(c);case mxConstants.STYLE_SPACING_RIGHT:return B(c);case mxConstants.STYLE_SPACING_TOP:return E(c);
-case mxConstants.STYLE_SPACING_BOTTOM:return D(c);case mxConstants.STYLE_SPACING:return K(c);case mxConstants.STYLE_VERTICAL_ALIGN:return S(c);case mxConstants.STYLE_STROKECOLOR:return I(c,d);case mxConstants.STYLE_OPACITY:return R(c,d,h);case mxConstants.STYLE_ROUNDED:return a=!h.edge&&!h.style.includes("rounded")&&null!=c.Rounding&&0<c.Rounding?"rounded=1;absoluteArcSize=1;arcSize="+p(.75*c.Rounding)+";":"",a;case mxConstants.STYLE_ROTATION:return aa(c,d,h);case mxConstants.STYLE_FLIPH:return a=
-c.FlipX?"flipH=1;":"",a;case mxConstants.STYLE_FLIPV:return a=c.FlipY?"flipV=1;":"",a;case mxConstants.STYLE_SHADOW:return ka(c);case mxConstants.STYLE_FILLCOLOR:return Y(c,d);case mxConstants.STYLE_DASHED:return pc(c);case mxConstants.STYLE_STROKEWIDTH:return Db(c);case mxConstants.STYLE_IMAGE:return sd(c,d)}return""}function f(a){a=d(a);if(null!=a)for(var b=0;b<a.length;){var c=a[b];if("s"==c.n&&null!=c.v)return"fontSize="+p(.75*c.v)+";";b++}return"fontSize=13;"}function m(a){var b=d(a),c;if(null!=
-b)for(var f=0;f<b.length;f++)if("f"==b[f].n&&b[f].v){c=b[f].v;break}!c&&a.Font&&(c=a.Font);e(c);return Ca}function l(a){return"ext"==a.tp?a.url:"ml"==a.tp?"mailto:"+a.eml:"pg"==a.tp?"data:page/id,"+(LucidImporter.pageIdsMap[a.id]||0):"c"==a.tp?"data:confluence/id,"+a.ccid:null}function x(a){a=d(a);if(null!=a)for(var b=0;b<a.length;){var c=a[b];if("c"==c.n&&null!=c.v)return a=ea(c.v).substring(0,7),mxConstants.STYLE_FONTCOLOR+"="+a+";";b++}return""}function w(a){return C(d(a))}function C(a){if(null!=
-a){var b=0,c=!1;if(null!=a)for(var f=0;!c&&f<a.length;){var h=a[f];"b"==h.n?null!=h.v&&h.v&&(c=!0,b+=1):"fc"==h.n&&"Bold"==h.v&&(c=!0,b+=1);f++}c=!1;if(null!=a)for(f=0;!c&&f<a.length;)h=a[f],"i"==h.n&&null!=h.v&&h.v&&(c=!0,b+=2),f++;c=!1;if(null!=a)for(f=0;!c&&f<a.length;)h=a[f],"u"==h.n&&null!=h.v&&h.v&&(c=!0,b+=4),f++;if(0<b)return"fontStyle="+b+";"}return""}function A(a){a=d(a);if(null!=a)for(var b=0;b<a.length;){var c=a[b];if("a"==c.n&&null!=c.v)return"align="+c.v+";";b++}return""}function G(a){a=
-d(a);if(null!=a)for(var b=0;b<a.length;){var c=a[b];if(null!=c.v&&"il"==c.n)return"spacingLeft="+p(.75*c.v)+";";b++}return""}function B(a){a=d(a);if(null!=a)for(var b=0;b<a.length;){var c=a[b];if("ir"==c.n&&null!=c.v)return"spacingRight="+p(.75*c.v)+";";b++}return""}function E(a){a=d(a);if(null!=a)for(var b=0;b<a.length;){var c=a[b];if("mt"==c.n&&null!=c.v)return"spacingTop="+p(.75*c.v)+";";b++}return""}function D(a){a=d(a);if(null!=a)for(var b=0;b<a.length;){var c=a[b];if("mb"==c.n&&null!=c.v)return"spacingBottom="+
-p(.75*c.v)+";";b++}return""}function K(a){return"number"===typeof a.InsetMargin?"spacing="+Math.max(0,p(.75*a.InsetMargin))+";":""}function S(a){return null!=a.Text_VAlign&&"string"===typeof a.Text_VAlign?"verticalAlign="+a.Text_VAlign+";":null!=a.Title_VAlign&&"string"===typeof a.Title_VAlign?"verticalAlign="+a.Title_VAlign+";":cb(mxConstants.STYLE_VERTICAL_ALIGN,a.TextVAlign,"middle")}function I(a,b){return 0==a.LineWidth?mxConstants.STYLE_STROKECOLOR+"=none;":cb(mxConstants.STYLE_STROKECOLOR,ia(a.LineColor),
-"#000000")}function Z(a){return null!=a?mxConstants.STYLE_FILLCOLOR+"="+ia(a)+";":""}function T(a){return null!=a?"swimlaneFillColor="+ia(a)+";":""}function R(a,b,c){b="";if("string"===typeof a.LineColor&&(a.LineColor=ea(a.LineColor),7<a.LineColor.length)){var f="0x"+a.LineColor.substring(a.LineColor.length-2,a.LineColor.length);c.style.includes("strokeOpacity")||(b+="strokeOpacity="+Math.round(parseInt(f)/2.55)+";")}"string"===typeof a.FillColor&&(a.FillColor=ea(a.FillColor),7<a.FillColor.length&&
-(a="0x"+a.FillColor.substring(a.FillColor.length-2,a.FillColor.length),c.style.includes("fillOpacity")||(b+="fillOpacity="+Math.round(parseInt(a)/2.55)+";")));return b}function aa(a,b,c){var f="";if(null!=a.Rotation){a=mxUtils.toDegree(parseFloat(a.Rotation));var h=!0;0!=a&&b.Class&&("UMLSwimLaneBlockV2"==b.Class||(0<=b.Class.indexOf("Rotated")||-90==a||270==a)&&(0<=b.Class.indexOf("Pool")||0<=b.Class.indexOf("SwimLane")))?(a+=90,c.geometry.rotate90(),c.geometry.isRotated=!0,h=!1):0<=mxUtils.indexOf(Od,
-b.Class)?(a-=90,c.geometry.rotate90()):0<=mxUtils.indexOf(Pd,b.Class)&&(a+=180);0!=a&&(f+="rotation="+a+";");h||(f+="horizontal=0;")}return f}function ka(a){return null!=a.Shadow?mxConstants.STYLE_SHADOW+"=1;":""}function ea(a){a&&("rgb"==a.substring(0,3)?a="#"+a.match(/\d+/g).map(function(a){a=parseInt(a).toString(16);return(1==a.length?"0":"")+a}).join(""):"#"!=a.charAt(0)&&(a="#"+a));return a}function ia(a){return(a=ea(a))?a.substring(0,7):null}function va(a,b){return(a=ea(a))&&7<a.length?b+"="+
-Math.round(parseInt("0x"+a.substr(7))/2.55)+";":""}function Y(a,b){if(null!=a.FillColor)if("object"===typeof a.FillColor){if(null!=a.FillColor.cs&&1<a.FillColor.cs.length)return cb(mxConstants.STYLE_FILLCOLOR,ia(a.FillColor.cs[0].c))+cb(mxConstants.STYLE_GRADIENTCOLOR,ia(a.FillColor.cs[1].c))}else return"string"===typeof a.FillColor?cb(mxConstants.STYLE_FILLCOLOR,ia(a.FillColor),"#FFFFFF"):cb(mxConstants.STYLE_FILLCOLOR,"none");return""}function pc(a){return"dotted"==a.StrokeStyle?"dashed=1;fixDash=1;dashPattern=1 4;":
-"dashdot"==a.StrokeStyle?"dashed=1;fixDash=1;dashPattern=10 5 1 5;":"dashdotdot"==a.StrokeStyle?"dashed=1;fixDash=1;dashPattern=10 5 1 5 1 5;":"dotdotdot"==a.StrokeStyle?"dashed=1;fixDash=1;dashPattern=1 2;":"longdash"==a.StrokeStyle?"dashed=1;fixDash=1;dashPattern=16 6;":"dashlongdash"==a.StrokeStyle?"dashed=1;fixDash=1;dashPattern=10 6 16 6;":"dashed24"==a.StrokeStyle?"dashed=1;fixDash=1;dashPattern=3 8;":"dashed32"==a.StrokeStyle?"dashed=1;fixDash=1;dashPattern=6 5;":"dashed44"==a.StrokeStyle?
-"dashed=1;fixDash=1;dashPattern=8 8;":null!=a.StrokeStyle&&"dashed"==a.StrokeStyle.substring(0,6)?"dashed=1;fixDash=1;":""}function Db(a){return null!=a.LineWidth?cb(mxConstants.STYLE_STROKEWIDTH,p(.75*parseFloat(a.LineWidth)),"1"):""}function sd(a,b,c){var f="";a.FillColor&&a.FillColor.url?(c=a.FillColor.url,"fill"==a.FillColor.pos&&(f="imageAspect=0;")):"ImageSearchBlock2"==b.Class?c=a.URL:"UserImage2Block"==b.Class&&null!=a.ImageFillProps&&null!=a.ImageFillProps.url&&(c=a.ImageFillProps.url);if(null!=
-c){if(null!=LucidImporter.imgSrcRepl)for(a=0;a<LucidImporter.imgSrcRepl.length;a++)b=LucidImporter.imgSrcRepl[a],c=c.replace(b.searchVal,b.replVal);return"image="+c+";"+f}return""}function xa(a,b,c,f){for(var h=b,m=0;null!=f.getAttributeForCell(a,h);)m++,h=b+"_"+m;f.setAttributeForCell(a,h,null!=c?c:"")}function qc(c,f,m,d,h,e){var x=q(f);if(null!=x){var w=rc[x.Class];null!=w?c.style+=w+";":c.edge||(console.log("No mapping found for: "+x.Class),LucidImporter.hasUnknownShapes=!0);w=null!=x.Properties?
-x.Properties:x;if(null!=w){c.value=e?"":g(w);c.style+=a(c.style,w,x,c,z);c.style.includes("strokeColor")||(c.style+=I(w,x));null!=w.Link&&0<w.Link.length&&m.setAttributeForCell(c,"link",l(w.Link[0]));e=[];var n=m.convertValueToString(c),Kd=!1;if(null!=n){for(var C=0;match=Qd.exec(n);){var p=match[0],Kd=!0;if(2<p.length){var G=p.substring(2,p.length-2);"documentName"==G?G="filename":"pageName"==G?G="page":"totalPages"==G?G="pagecount":"page"==G?G="pagenumber":"date:"==G.substring(0,5)?G="date{"+G.substring(5).replace(/MMMM/g,
-"mmmm").replace(/MM/g,"mm").replace(/YYYY/g,"yyyy")+"}":"lastModifiedTime"==G.substring(0,16)?G=G.replace(/MMMM/g,"mmmm").replace(/MM/g,"mm").replace(/YYYY/g,"yyyy"):"i18nDate:"==G.substring(0,9)&&(G="date{"+G.substring(9).replace(/i18nShort/g,"shortDate").replace(/i18nMediumWithTime/g,"mmm d, yyyy hh:MM TT")+"}");G="%"+G+"%";e.push(n.substring(C,match.index)+(null!=G?G:p));C=match.index+p.length}}Kd&&(e.push(n.substring(C)),m.setAttributeForCell(c,"label",e.join("")),m.setAttributeForCell(c,"placeholders",
-"1"))}for(var A in w)if(w.hasOwnProperty(A)&&A.toString().startsWith("ShapeData_"))try{var B=w[A],E=mxUtils.trim(B.Label).replace(/[^a-z0-9]+/ig,"_").replace(/^\d+/,"").replace(/_+$/,"");xa(c,E,B.Value,m)}catch(Ib){window.console&&console.log("Ignored "+A+":",Ib)}w.Title&&w.Text&&"ExtShape"!=x.Class.substr(0,8)&&(x=c.geometry,x=new mxCell(g(w.Title),new mxGeometry(0,x.height,x.width,10),"strokeColor=none;fillColor=none;"),x.vertex=!0,c.insert(x),x.style+=b(w.Title,z));if(c.edge){c.style=null!=w.Rounding&&
-"diagonal"!=w.Shape?c.style+("rounded=1;arcSize="+w.Rounding+";"):c.style+"rounded=0;";x=!1;if("diagonal"!=w.Shape)if(null!=w.ElbowPoints&&0<w.ElbowPoints.length)for(c.geometry.points=[],A=0;A<w.ElbowPoints.length;A++)c.geometry.points.push(new mxPoint(Math.round(.75*w.ElbowPoints[A].x+Qb),Math.round(.75*w.ElbowPoints[A].y+Rb)));else"elbow"==w.Shape?c.style+="edgeStyle=orthogonalEdgeStyle;":null!=w.Endpoint1.Block&&null!=w.Endpoint2.Block&&(c.style+="edgeStyle=orthogonalEdgeStyle;","curve"==w.Shape&&
-(c.style+="curved=1;",x=!0));if(w.LineJumps||LucidImporter.globalProps.LineJumps)c.style+="jumpStyle=arc;";null!=w.Endpoint1.Style&&(A=Lc[w.Endpoint1.Style],null!=A?(A=A.replace(/xyz/g,"start"),c.style+="startArrow="+A+";"):(LucidImporter.hasUnknownShapes=!0,window.console&&console.log("Unknown endpoint style: "+w.Endpoint1.Style)));null!=w.Endpoint2.Style&&(A=Lc[w.Endpoint2.Style],null!=A?(A=A.replace(/xyz/g,"end"),c.style+="endArrow="+A+";"):(LucidImporter.hasUnknownShapes=!0,window.console&&console.log("Unknown endpoint style: "+
-w.Endpoint2.Style)));x=null!=w.ElbowControlPoints&&0<w.ElbowControlPoints.length?w.ElbowControlPoints:x&&null!=w.BezierJoints&&0<w.BezierJoints.length?w.BezierJoints:w.Joints;if(null!=x)for(c.geometry.points=[],A=0;A<x.length;A++)B=x[A].p?x[A].p:x[A],c.geometry.points.push(new mxPoint(Math.round(.75*B.x+Qb),Math.round(.75*B.y+Rb)));x=!1;if((null==c.geometry.points||0==c.geometry.points.length)&&null!=w.Endpoint1.Block&&w.Endpoint1.Block==w.Endpoint2.Block&&null!=d&&null!=h){x=new mxPoint(Math.round(d.geometry.x+
-d.geometry.width*w.Endpoint1.LinkX),Math.round(d.geometry.y+d.geometry.height*w.Endpoint1.LinkY));A=new mxPoint(Math.round(h.geometry.x+h.geometry.width*w.Endpoint2.LinkX),Math.round(h.geometry.y+h.geometry.height*w.Endpoint2.LinkY));Qb=x.x==A.x?Math.abs(x.x-d.geometry.x)<d.geometry.width/2?-20:20:0;Rb=x.y==A.y?Math.abs(x.y-d.geometry.y)<d.geometry.height/2?-20:20:0;var fa=new mxPoint(x.x+Qb,x.y+Rb),K=new mxPoint(A.x+Qb,A.y+Rb);fa.generated=!0;K.generated=!0;c.geometry.points=[fa,K];x=x.x==A.x}null!=
-d&&d.geometry.isRotated||(fa=Mc(c,w.Endpoint1,!0,x));null!=d&&null!=fa&&(null==d.stylePoints&&(d.stylePoints=[]),d.stylePoints.push(fa),LucidImporter.stylePointsSet.add(d));null!=h&&h.geometry.isRotated||(K=Mc(c,w.Endpoint2,!1,x));null!=h&&null!=K&&(null==h.stylePoints&&(h.stylePoints=[]),h.stylePoints.push(K),LucidImporter.stylePointsSet.add(h))}}}null!=f.id&&xa(c,"lucidchartObjectId",f.id,m)}function Nc(b,c){var f=q(b),m=f.Properties,h=m.BoundingBox;null==b.Class||"AWS"!==b.Class.substring(0,3)&&
-"Amazon"!==b.Class.substring(0,6)||b.Class.includes("AWS19")||(h.h-=20);v=new mxCell("",new mxGeometry(Math.round(.75*h.x+Qb),Math.round(.75*h.y+Rb),Math.round(.75*h.w),Math.round(.75*h.h)),"html=1;overflow=block;blockSpacing=1;whiteSpace=wrap;");v.vertex=!0;qc(v,b,c);v.zOrder=m.ZOrder;null!=v&&0<=v.style.indexOf(";grIcon=")&&(h=new mxCell("",new mxGeometry(v.geometry.x,v.geometry.y,v.geometry.width,v.geometry.height),"html=1;overflow=block;blockSpacing=1;whiteSpace=wrap;"),h.vertex=!0,h.style+=a(h.style,
-m,f,h),v.geometry.x=0,v.geometry.y=0,v.style+="part=1;",h.insert(v),v=h);te(v,m);m.Hidden&&(v.visible=!1);return v}function td(a,b,c,f){var h=new mxCell("",new mxGeometry(0,0,100,100),"html=1;jettySize=18;");h.geometry.relative=!0;h.edge=!0;qc(h,a,b,c,f,!0);b=q(a).Properties;c=null!=b?b.TextAreas:a.TextAreas;if(null!=c){for(f=0;null!=c["t"+f];){var m=c["t"+f],h=ma(m,h,a);f++}for(f=0;null!=c["m"+f]||1>f;)m=c["m"+f],null!=m&&(h=ma(m,h,a)),f++;null!=c.Text&&(h=ma(c.Text,h,a));c=null!=b?b.TextAreas:a.TextAreas;
-null!=c.Message&&(h=ma(c.Message,h,a))}a.Hidden&&(h.visible=!1);return h}function ma(a,b,c){var f=2*(parseFloat(a.Location)-.5);isNaN(f)&&null!=a.Text&&null!=a.Text.Location&&(f=2*(parseFloat(a.Text.Location)-.5));var h=mxCell,d=g(a),f=new mxGeometry(isNaN(f)?0:f,0,0,0),e=bc;if(z)a=Ca;else{var l="13",x="";if(null!=a&&null!=a.Value&&null!=a.Value.m){for(var x=C(a.Value.m),w=0;w<a.Value.m.length;w++)if("s"==a.Value.m[w].n)l=p(.75*parseFloat(a.Value.m[w].v));else if("c"==a.Value.m[w].n){var q=ea(a.Value.m[w].v);
-null!=q&&(q=q.substring(0,7));x+="fontColor="+q+";"}x+=m(c);Ca=""}a=x+";fontSize="+l+";"}h=new h(d,f,e+a);h.geometry.relative=!0;h.vertex=!0;b.insert(h);return b}function cb(a,b,c,f){null!=b&&null!=f&&(b=f(b));return null!=b&&b!=c?a+"="+b+";":""}function Mc(a,b,c,f,h){if(null!=b&&null!=b.LinkX&&null!=b.LinkY&&(b.LinkX=Math.round(1E3*b.LinkX)/1E3,b.LinkY=Math.round(1E3*b.LinkY)/1E3,a.style+=(f?"":(c?"exitX":"entryX")+"="+b.LinkX+";")+(h?"":(c?"exitY":"entryY")+"="+b.LinkY+";")+(c?"exitPerimeter":"entryPerimeter")+
-"=0;",b.Inside))return"["+b.LinkX+","+b.LinkY+",0]"}function Oc(a,b,c,f){try{var h=function(a,b){if(null!=a)if(Array.isArray(a))for(var c=0;c<a.length;c++)h(a[c],b);else c=b?.75:1,d=Math.min(d,a.x*c),e=Math.min(e,a.y*c),l=Math.max(l,(a.x+(a.width?a.width:0))*c),w=Math.max(w,(a.y+(a.height?a.height:0))*c)};null!=a.Action&&null!=a.Action.Properties&&(a=a.Action.Properties);var m=new mxCell("",new mxGeometry,"group;dropTarget=0;");m.vertex=!0;m.zOrder=a.ZOrder;var d=Infinity,e=Infinity,l=-Infinity,w=
--Infinity,x=a.Members,q=[],g;for(g in x){var n=b[g];null!=n?q.push(n):null!=f[g]&&(q.push(f[g]),c[g]=m)}q.sort(function(a,b){var c=a.zOrder,f=b.zOrder;return null!=c&&null!=f?c>f?1:c<f?-1:0:0});for(c=b=0;c<q.length;c++)if(n=q[c],n.vertex)h(n.geometry),n.parent=m,m.insert(n,b++);else{var p=null!=n.Action&&n.Action.Properties?n.Action.Properties:n;h(p.Endpoint1,!0);h(p.Endpoint2,!0);h(p.ElbowPoints,!0);h(p.ElbowControlPoints,!0);h(p.BezierJoints,!0);h(p.Joints,!0)}m.geometry.x=d;m.geometry.y=e;m.geometry.width=
-l-d;m.geometry.height=w-e;if(null!=m.children)for(c=0;c<m.children.length;c++){var C=m.children[c].geometry;C.x-=d;C.y-=e}a.IsState?m.lucidLayerInfo={name:a.Name,visible:!a.Hidden,locked:a.Restrictions.b&&a.Restrictions.p&&a.Restrictions.c}:a.Hidden&&(m.visible=!1);return m}catch($e){console.log($e)}}function Rd(a,b,c){LucidImporter.hasMath=!1;LucidImporter.stylePointsSet=new Set;a.getModel().beginUpdate();try{var f=function(b,c){function f(a,b,c){null==a||a.generated||(a.x-=b,a.y-=c)}var h=null!=
-c.Endpoint1.Block?d[c.Endpoint1.Block]:null,l=null!=c.Endpoint2.Block?d[c.Endpoint2.Block]:null,w=td(b,a,h,l);if(c.Endpoint1&&c.Endpoint1.Line||c.Endpoint2&&c.Endpoint2.Line)console.log("Edge to Edge case"),LucidImporter.hasUnknownShapes=!0;null==h&&null!=c.Endpoint1&&w.geometry.setTerminalPoint(new mxPoint(Math.round(.75*c.Endpoint1.x),Math.round(.75*c.Endpoint1.y)),!0);null==l&&null!=c.Endpoint2&&w.geometry.setTerminalPoint(new mxPoint(Math.round(.75*c.Endpoint2.x),Math.round(.75*c.Endpoint2.y)),
-!1);var x=e[b.id];if(null!=x){for(var g=w.geometry,q=0,t=0,u=x;null!=u&&null!=u.geometry;)q+=u.geometry.x,t+=u.geometry.y,u=u.parent;f(g.sourcePoint,q,t);f(g.targetPoint,q,t);f(g.offset,q,t);g=g.points;if(null!=g)for(u=0;u<g.length;u++)f(g[u],q,t)}m.push(a.addCell(w,x,null,h,l))},m=[],d={},e={},l={},w=[];null!=b.Lines&&(l=b.Lines);if(null!=b.Blocks){Object.assign(l,b.Blocks);for(var x in b.Blocks){var g=b.Blocks[x];g.id=x;var n=!1;null!=rc[g.Class]&&"mxCompositeShape"==rc[g.Class]&&(d[g.id]=Pc(g,
-m,a),w.push(g),n=!0);n||(d[g.id]=Nc(g,a),w.push(g))}if(null!=b.Generators)for(x in b.Generators)"OrgChart2018"==b.Generators[x].ClassName?(LucidImporter.hasUnknownShapes=!0,Qc(x,b.Generators[x],b.Data,a,d)):LucidImporter.hasUnknownShapes=!0}else{for(var p=0;p<b.Objects.length;p++)g=b.Objects[p],l[g.id]=g,null!=g.Action&&"mxCompositeShape"==rc[g.Action.Class]?d[g.id]=Pc(g,m,a):g.IsBlock&&null!=g.Action&&null!=g.Action.Properties?d[g.id]=Nc(g,a):g.IsGenerator&&g.GeneratorData&&g.GeneratorData.p&&("OrgChart2018"==
-g.GeneratorData.p.ClassName?(LucidImporter.hasUnknownShapes=!0,Qc(g.GeneratorData.id,g.GeneratorData.p,g.GeneratorData.gs,a,d)):LucidImporter.hasUnknownShapes=!0),w.push(g);for(p=0;p<b.Objects.length;p++)if(g=b.Objects[p],g.IsGroup){var C=Oc(g,d,e,l);C&&(d[g.id]=C,w.push(g))}}if(null!=b.Groups)try{for(x in b.Groups)if(g=b.Groups[x],g.id=x,C=Oc(g,d,e,l))d[g.id]=C,w.push(g)}catch(Ib){console.log(Ib)}if(null!=b.Lines)for(x in b.Lines)g=b.Lines[x],g.id=x,w.push(g);w.sort(function(a,b){a=q(a);b=q(b);var c=
-null!=a.Properties?a.Properties.ZOrder:a.ZOrder,f=null!=b.Properties?b.Properties.ZOrder:b.ZOrder;return null!=c&&null!=f?c>f?1:c<f?-1:0:0});for(p=0;p<w.length;p++){var g=w[p],A=d[g.id];if(null!=A){if(null==A.parent)if(A.lucidLayerInfo){var G=new mxCell;a.addCell(G,a.model.root);G.setVisible(A.lucidLayerInfo.visible);A.lucidLayerInfo.locked&&G.setStyle("locked=1;");G.setValue(A.lucidLayerInfo.name);delete A.lucidLayerInfo;a.addCell(A,G)}else m.push(a.addCell(A))}else g.IsLine&&null!=g.Action&&null!=
-g.Action.Properties?f(g,g.Action.Properties):null!=g.StrokeStyle&&f(g,g)}LucidImporter.stylePointsSet.forEach(function(a){a.style="points=["+a.stylePoints.join(",")+"];"+a.style;delete a.stylePoints});try{var B=a.getModel().cells,I;for(I in B)delete B[I].zOrder}catch(Ib){}c||a.setSelectionCells(m)}finally{a.getModel().endUpdate()}}function Sd(){var a=new Graph;a.setExtendParents(!1);a.setExtendParentsOnAdd(!1);a.setConstrainChildren(!1);a.setHtmlLabels(!0);a.getModel().maintainEdgeParent=!1;return a}
-function sc(a,b,c,f,m,d,e,l){this.nurbsValues=[1,3,0,0,100*(a+c),100-100*(1-(b+f)),0,1,100*(m+e),100-100*(1-(d+l)),0,1]}function ue(a,b){try{for(var c=[],f=b.BoundingBox.w,m=b.BoundingBox.h,d=0;d<b.Shapes.length;d++){var e=b.Shapes[d],l=e.FillColor,w=e.StrokeColor,x=e.LineWidth,g=e.Points,q=e.Lines,n=['<shape strokewidth="inherit"><foreground>'];n.push("<path>");for(var p=null,C=0;C<q.length;C++){var A=q[C];if(p!=A.p1){var G=g[A.p1].x,B=g[A.p1].y,G=100*G/f,B=100*B/m,G=Math.round(100*G)/100,B=Math.round(100*
-B)/100;n.push('<move x="'+G+'" y="'+B+'"/>')}if(null!=A.n1){var I;var z=g[A.p2].x,E=g[A.p2].y,K=f,k=m,T=new sc(g[A.p1].x,g[A.p1].y,A.n1.x,A.n1.y,g[A.p2].x,g[A.p2].y,A.n2.x,A.n2.y);if(2<=T.getSize()){T.getX(0);T.getY(0);T.getX(1);T.getY(1);for(var z=Math.round(100*z/K*100)/100,E=Math.round(100*E/k*100)/100,K=[],k=[],Z=[],R=T.getSize(),D=0;D<R-1;D+=3)K.push(new mxPoint(T.getX(D),T.getY(D))),k.push(new mxPoint(T.getX(D+1),T.getY(D+1))),D<R-2?Z.push(new mxPoint(T.getX(D+2),T.getY(D+2))):Z.push(new mxPoint(z,
-E));for(var fa="",D=0;D<K.length;D++)fa+='<curve x1="'+K[D].x+'" y1="'+K[D].y+'" x2="'+k[D].x+'" y2="'+k[D].y+'" x3="'+Z[D].x+'" y3="'+Z[D].y+'"/>';I=fa}else I=void 0;n.push(I)}else G=g[A.p2].x,B=g[A.p2].y,G=100*G/f,B=100*B/m,G=Math.round(100*G)/100,B=Math.round(100*B)/100,n.push('<line x="'+G+'" y="'+B+'"/>');p=A.p2}n.push("</path>");n.push("<fillstroke/>");n.push("</foreground></shape>");c.push({shapeStencil:"stencil("+Graph.compress(n.join(""))+")",FillColor:l,LineColor:w,LineWidth:x})}LucidImporter.stencilsMap[a]=
-{text:b.Text,w:f,h:m,stencils:c}}catch(Nd){console.log("Stencil parsing error:",Nd)}}function Eb(a,b,c,f,m,d,e,l){a=new mxCell("",new mxGeometry(a,b,0,0),"strokeColor=none;fillColor=none;");a.vertex=!0;e.insert(a);d=[a];c=c.clone();l.insertEdge(c,!1);a.insertEdge(c,!0);d.push(c);f.push(m.addCell(c,null,null,null,null))}function wa(a,b,c,f,m,d,e,l,w){a=new mxCell("",new mxGeometry(a,b,0,0),"strokeColor=none;fillColor=none;");a.vertex=!0;w.insert(a);c=new mxCell("",new mxGeometry(c,f,0,0),"strokeColor=none;fillColor=none;");
-c.vertex=!0;w.insert(c);l=[c];m=m.clone();a.insertEdge(m,!0);c.insertEdge(m,!1);l.push(m);d.push(e.addCell(m,null,null,null,null))}function ga(b,c,f,m,h,d){m.style="rounded=1;absoluteArcSize=1;fillColor=#ffffff;arcSize=2;strokeColor=#dddddd;";m.style+=a(m.style,h,d,m);c=g(h);m.vertex=!0;b=new mxCell(c,new mxGeometry(0,.5,24,24),"dashed=0;connectable=0;html=1;strokeColor=none;"+mxConstants.STYLE_SHAPE+"=mxgraph.gcp2."+b+";part=1;shadow=0;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=5;");
-b.style+=a(b.style,h,d,b,z);b.geometry.relative=!0;b.geometry.offset=new mxPoint(5,-12);b.vertex=!0;m.insert(b)}function oa(b,c,f,m,h,d,e,l){h="transparent"!=b?mxConstants.STYLE_SHAPE+"=mxgraph.gcp2.":mxConstants.STYLE_SHAPE+"=";d.style="rounded=1;absoluteArcSize=1;arcSize=2;verticalAlign=bottom;fillColor=#ffffff;strokeColor=#dddddd;whiteSpace=wrap;";d.style+=a(d.style,e,l,d);d.value=g(e);d.vertex=!0;b=new mxCell(null,new mxGeometry(.5,0,.7*m*c,.7*m*f),h+b+";part=1;dashed=0;connectable=0;html=1;strokeColor=none;shadow=0;");
-b.geometry.relative=!0;b.geometry.offset=new mxPoint(-c*m*.35,10+(1-f)*m*.35);b.vertex=!0;b.style+=a(b.style,e,l,b,z);d.insert(b)}function Kc(a,b){return null==a||null==b||!a.includes(";"+b+"=")&&a.substring(0,b.length+1)!=b+"="?!1:!0}function Td(a,b){function c(a){a=Math.round(parseInt("0x"+a)*b).toString(16);return 1==a.length?"0"+a:a}return"#"+c(a.substr(1,2))+c(a.substr(3,2))+c(a.substr(5,2))}function Pc(c,d,e){var l=q(c),h=l.Properties,n=h.BoundingBox,u=Math.round(.75*n.w),t=Math.round(.75*n.h),
-p=Math.round(.75*n.x+Qb),C=Math.round(.75*n.y+Rb);null==c.Class||"GCPInputDatabase"!==c.Class&&"GCPInputRecord"!==c.Class&&"GCPInputPayment"!==c.Class&&"GCPInputGateway"!==c.Class&&"GCPInputLocalCompute"!==c.Class&&"GCPInputBeacon"!==c.Class&&"GCPInputStorage"!==c.Class&&"GCPInputList"!==c.Class&&"GCPInputStream"!==c.Class&&"GCPInputMobileDevices"!==c.Class&&"GCPInputCircuitBoard"!==c.Class&&"GCPInputLive"!==c.Class&&"GCPInputUsers"!==c.Class&&"GCPInputLaptop"!==c.Class&&"GCPInputApplication"!==c.Class&&
-"GCPInputLightbulb"!==c.Class&&"GCPInputGame"!==c.Class&&"GCPInputDesktop"!==c.Class&&"GCPInputDesktopAndMobile"!==c.Class&&"GCPInputWebcam"!==c.Class&&"GCPInputSpeaker"!==c.Class&&"GCPInputRetail"!==c.Class&&"GCPInputReport"!==c.Class&&"GCPInputPhone"!==c.Class&&"GCPInputBlank"!==c.Class||(t+=20);v=new mxCell("",new mxGeometry(p,C,u,t),"html=1;overflow=block;blockSpacing=1;whiteSpace=wrap;");v.vertex=!0;v.zOrder=h.ZOrder;var ea=null!=c.Class?c.Class:null!=l?l.Class:null;switch(ea){case "BraceNoteBlock":case "UI2BraceNoteBlock":var fa=
-!1;null!=h.BraceDirection&&"Right"==h.BraceDirection&&(fa=!0);var Za=null,ma=null;fa?(Za=new mxCell("",new mxGeometry(u-.125*t,0,.125*t,t),"shape=curlyBracket;rounded=1;"),ma=new mxCell("",new mxGeometry(0,0,u-.125*t,t),"strokeColor=none;fillColor=none;")):(Za=new mxCell("",new mxGeometry(0,0,.125*t,t),"shape=curlyBracket;rounded=1;flipH=1;"),ma=new mxCell("",new mxGeometry(.125*t,0,u-.125*t,t),"strokeColor=none;fillColor=none;"));v.style="strokeColor=none;fillColor=none;";v.style+=a(v.style,h,l,
-v);Za.vertex=!0;v.insert(Za);Za.style+=a(Za.style,h,l,Za);ma.vertex=!0;ma.value=g(h);v.insert(ma);ma.style+=a(ma.style,h,l,ma,z);break;case "BPMNAdvancedPoolBlockRotated":case "UMLMultiLanePoolRotatedBlock":case "UMLMultiLanePoolBlock":case "BPMNAdvancedPoolBlock":case "AdvancedSwimLaneBlockRotated":case "AdvancedSwimLaneBlock":case "UMLSwimLaneBlockV2":var Da="MainText",xa=null,Nc="HeaderFill_",td="BodyFill_",Ib=25,Ld=25,Jc=0;if(null!=h.Lanes)Jc=h.Lanes.length;else if(null!=h.PrimaryLane){for(var pe=
-function(a){if(a)32>a?a=32:208<a&&(a=208);else return 0;return.75*a},Jc=h.PrimaryLane.length,k=t=u=0;k<Jc;k++)u+=h.PrimaryLane[k];for(k=0;k<h.SecondaryLane.length;k++)t+=h.SecondaryLane[k];Ib=pe(h.PrimaryPoolTitleHeight);Ld=pe(h.PrimaryLaneTitleHeight);u*=.75;t=.75*t+Ib+Ld;v.geometry.width=u;v.geometry.height=t;Da="poolPrimaryTitleKey";Nc="PrimaryLaneHeaderFill_";td="CellFill_0,";xa=h.PrimaryLaneTextAreaIds;if(null==xa)for(xa=[],k=0;k<Jc;k++)xa.push("Primary_"+k)}if(0==h.IsPrimaryLaneVertical){h.Rotation=
--1.5707963267948966;var re=v.geometry.x,af=v.geometry.y}var Md=0!=h.Rotation,se=0<ea.indexOf("Pool"),rc=0==ea.indexOf("BPMN"),Nd=null!=h[Da];v.style=(se?"swimlane;startSize="+Ib+";":"fillColor=none;strokeColor=none;pointerEvents=0;fontStyle=0;")+"html=1;whiteSpace=wrap;container=1;collapsible=0;childLayout=stackLayout;resizeParent=1;dropTarget=0;"+(Md?"horizontalStack=0;":"");v.style+=a(v.style,h,l,v);Nd&&(v.value=g(h[Da]),v.style+=(z?"overflow=block;blockSpacing=1;fontSize=13;"+Ca:f(h[Da])+x(h[Da])+
-m(h[Da])+w(h[Da])+A(h[Da],v)+G(h[Da])+B(h[Da])+E(h[Da])+D(h[Da]))+K(h[Da])+S(h[Da]));for(var oe=0,Hb=[],sc="swimlane;html=1;whiteSpace=wrap;container=1;connectable=0;collapsible=0;fontStyle=0;startSize="+Ld+";dropTarget=0;rounded=0;"+(Md?"horizontal=0;":"")+(rc?"swimlaneLine=0;fillColor=none;":""),P=h.Rotation=0;P<Jc;P++){if(null==xa)var qd=parseFloat(h.Lanes[P].p),k=parseInt(h.Lanes[P].tid)||P,bb="Lane_"+k;else qd=.75*h.PrimaryLane[P]/u,k=P,bb=xa[P];var qe=u*oe,rd=se?Ib:0;Hb.push(new mxCell("",Md?
-new mxGeometry(rd,qe,t-rd,u*qd):new mxGeometry(qe,rd,u*qd,t-rd),sc));Hb[P].vertex=!0;v.insert(Hb[P]);Hb[P].value=g(h[bb]);Hb[P].style+=a(Hb[P].style,h,l,Hb[P],z)+(z?"fontSize=13;":f(h[bb])+x(h[bb])+w(h[bb])+A(h[bb],Hb[P])+G(h[bb])+B(h[bb])+E(h[bb])+D(h[bb]))+K(h[bb])+S(h[bb])+Z(h[Nc+k])+T(h[td+k]);oe+=qd}null!=re&&(v.geometry.x=re,v.geometry.y=af);break;case "UMLMultidimensionalSwimlane":var Zb=0,$b=0,ac=null,Ud=null;if(null!=h.Rows&&null!=h.Columns)var Zb=h.Rows.length,$b=h.Columns.length,Rc=.75*
-h.TitleHeight||25,Sc=.75*h.TitleWidth||25;else if(null!=h.PrimaryLane&&null!=h.SecondaryLane){Zb=h.SecondaryLane.length;$b=h.PrimaryLane.length;Sc=.75*h.SecondaryLaneTitleHeight||25;Rc=.75*h.PrimaryLaneTitleHeight||25;for(k=t=u=0;k<Zb;k++)t+=h.SecondaryLane[k];for(k=0;k<$b;k++)u+=h.PrimaryLane[k];u=.75*u+Sc;t=.75*t+Rc;v.geometry.width=u;v.geometry.height=t;ac=h.SecondaryLaneTextAreaIds;Ud=h.PrimaryLaneTextAreaIds}v.style="group;";var Vd=new mxCell("",new mxGeometry(0,Rc,u,t-Rc),"fillColor=none;strokeColor=none;html=1;whiteSpace=wrap;container=1;collapsible=0;childLayout=stackLayout;resizeParent=1;dropTarget=0;horizontalStack=0;");
-Vd.vertex=!0;var Tc=new mxCell("",new mxGeometry(Sc,0,u-Sc,t),"fillColor=none;strokeColor=none;html=1;whiteSpace=wrap;container=1;collapsible=0;childLayout=stackLayout;resizeParent=1;dropTarget=0;");Tc.vertex=!0;v.insert(Vd);v.insert(Tc);for(var C=0,bf="swimlane;html=1;whiteSpace=wrap;container=1;connectable=0;collapsible=0;dropTarget=0;horizontal=0;fontStyle=0;startSize="+Sc+";",P=0;P<Zb;P++){if(null==ac)var ud=.75*parseInt(h.Rows[P].height),k=parseInt(h.Rows[P].id)||P,db="Row_"+k;else ud=.75*h.SecondaryLane[P],
-db=ac[P];var Sb=new mxCell("",new mxGeometry(0,C,u,ud),bf),C=C+ud;Sb.vertex=!0;Vd.insert(Sb);Sb.value=g(h[db]);Sb.style+=a(Sb.style,h,l,Sb,z)+(z?"fontSize=13;":f(h[db])+x(h[db])+w(h[db])+A(h[db],Sb)+G(h[db])+B(h[db])+E(h[db])+D(h[db]))+K(h[db])+S(h[db])}for(var Kc="swimlane;html=1;whiteSpace=wrap;container=1;connectable=0;collapsible=0;dropTarget=0;fontStyle=0;startSize="+Rc+";",P=p=0;P<$b;P++){if(null==Ud)var tc=.75*parseInt(h.Columns[P].width),k=parseInt(h.Columns[P].id)||P,eb="Column_"+k;else tc=
-.75*h.PrimaryLane[P],eb=Ud[P];var Tb=new mxCell("",new mxGeometry(p,0,tc,t),Kc),p=p+tc;Tb.vertex=!0;Tc.insert(Tb);Tb.value=g(h[eb]);Tb.style+=a(Tb.style,h,l,Tb,z)+(z?"fontSize=13;":f(h[eb])+x(h[eb])+w(h[eb])+A(h[eb],Tb)+G(h[eb])+B(h[eb])+E(h[eb])+D(h[eb]))+K(h[eb])+S(h[eb])}break;case "UMLStateBlock":if(0==h.Composite)v.style="rounded=1;arcSize=20",v.value=g(h.State,!0),v.style+=a(v.style,h,l,v,z);else{v.style="swimlane;startSize=25;html=1;whiteSpace=wrap;container=1;collapsible=0;childLayout=stackLayout;resizeParent=1;dropTarget=0;rounded=1;arcSize=20;fontStyle=0;";
-v.value=g(h.State,!0);v.style+=a(v.style,h,l,v,z);v.style+=Y(h,l).replace("fillColor","swimlaneFillColor");var Pa=new mxCell("",new mxGeometry(0,25,u,t-25),"rounded=1;arcSize=20;strokeColor=none;fillColor=none");Pa.value=g(h.Action,!0);Pa.style+=a(Pa.style,h,l,Pa,z);Pa.vertex=!0;v.insert(Pa)}break;case "GSDFDProcessBlock":var bc=Math.round(.75*h.nameHeight);v.style="shape=swimlane;html=1;rounded=1;arcSize=10;collapsible=0;fontStyle=0;startSize="+bc;v.value=g(h.Number,!0);v.style+=a(v.style,h,l,v,
-z);v.style+=Y(h,l).replace("fillColor","swimlaneFillColor");Pa=new mxCell("",new mxGeometry(0,bc,u,t-bc),"rounded=1;arcSize=10;strokeColor=none;fillColor=none");Pa.value=g(h.Text,!0);Pa.style+=a(Pa.style,h,l,Pa,z);Pa.vertex=!0;v.insert(Pa);break;case "AndroidDevice":if(null!=h.AndroidDeviceName){var Ea=aa(h,l,v);v.style="fillColor=#000000;strokeColor=#000000;";var Jb=null,uc=null,vc=null;if("Tablet"==h.AndroidDeviceName||"Mini Tablet"==h.AndroidDeviceName||"custom"==h.AndroidDeviceName&&"Tablet"==
-h.CustomDeviceType)v.style+="shape=mxgraph.android.tab2;",Jb=new mxCell("",new mxGeometry(.112,.077,.77*u,.85*t),Ea),h.KeyboardShown&&(uc=new mxCell("",new mxGeometry(.112,.727,.77*u,.2*t),"shape=mxgraph.android.keyboard;"+Ea)),h.FullScreen||(vc=new mxCell("",new mxGeometry(.112,.077,.77*u,.03*t),"shape=mxgraph.android.statusBar;strokeColor=#33b5e5;fillColor=#000000;fontColor=#33b5e5;fontSize="+.015*t+";"+Ea));else if("Large Phone"==h.AndroidDeviceName||"Phone"==h.AndroidDeviceName||"custom"==h.AndroidDeviceName&&
-"Phone"==h.CustomDeviceType)v.style+="shape=mxgraph.android.phone2;",Jb=new mxCell("",new mxGeometry(.04,.092,.92*u,.816*t),Ea),h.KeyboardShown&&(uc=new mxCell("",new mxGeometry(.04,.708,.92*u,.2*t),"shape=mxgraph.android.keyboard;"+Ea)),h.FullScreen||(vc=new mxCell("",new mxGeometry(.04,.092,.92*u,.03*t),"shape=mxgraph.android.statusBar;strokeColor=#33b5e5;fillColor=#000000;fontColor=#33b5e5;fontSize="+.015*t+";"+Ea));Jb.vertex=!0;Jb.geometry.relative=!0;v.insert(Jb);"Dark"==h.Scheme?Jb.style+="fillColor=#111111;":
-"Light"==h.Scheme&&(Jb.style+="fillColor=#ffffff;");null!=uc&&(uc.vertex=!0,uc.geometry.relative=!0,v.insert(uc));null!=vc&&(vc.vertex=!0,vc.geometry.relative=!0,v.insert(vc))}v.style+=a(v.style,h,l,v);break;case "AndroidAlertDialog":var mb=new mxCell("",new mxGeometry(0,0,u,30),"strokeColor=none;fillColor=none;spacingLeft=9;");mb.vertex=!0;v.insert(mb);var ja=new mxCell("",new mxGeometry(0,25,u,10),"shape=line;strokeColor=#33B5E5;");ja.vertex=!0;v.insert(ja);var Uc=new mxCell("",new mxGeometry(0,
-30,u,t-30),"strokeColor=none;fillColor=none;verticalAlign=top;");Uc.vertex=!0;v.insert(Uc);var za=new mxCell("",new mxGeometry(0,t-25,.5*u,25),"fillColor=none;");za.vertex=!0;v.insert(za);var Aa=new mxCell("",new mxGeometry(.5*u,t-25,.5*u,25),"fillColor=none;");Aa.vertex=!0;v.insert(Aa);mb.value=g(h.DialogTitle);mb.style+=b(h.DialogTitle,z);Uc.value=g(h.DialogText);Uc.style+=b(h.DialogText,z);za.value=g(h.Button_0);za.style+=b(h.Button_0,z);Aa.value=g(h.Button_1);Aa.style+=b(h.Button_1,z);"Dark"==
-h.Scheme?(v.style+="strokeColor=#353535;fillColor=#282828;shadow=1;",za.style+="strokeColor=#353535;",Aa.style+="strokeColor=#353535;"):(v.style+="strokeColor=none;fillColor=#ffffff;shadow=1;",za.style+="strokeColor=#E2E2E2;",Aa.style+="strokeColor=#E2E2E2;");v.style+=a(v.style,h,l,v);break;case "AndroidDateDialog":case "AndroidTimeDialog":mb=new mxCell("",new mxGeometry(0,0,u,30),"strokeColor=none;fillColor=none;spacingLeft=9;");mb.vertex=!0;v.insert(mb);mb.value=g(h.DialogTitle);mb.style+=b(h.DialogTitle,
-z);ja=new mxCell("",new mxGeometry(0,25,u,10),"shape=line;strokeColor=#33B5E5;");ja.vertex=!0;v.insert(ja);za=new mxCell("",new mxGeometry(0,t-25,.5*u,25),"fillColor=none;");za.vertex=!0;v.insert(za);za.value=g(h.Button_0);za.style+=b(h.Button_0,z);Aa=new mxCell("",new mxGeometry(.5*u,t-25,.5*u,25),"fillColor=none;");Aa.vertex=!0;v.insert(Aa);Aa.value=g(h.Button_1);Aa.style+=b(h.Button_1,z);var wc=new mxCell("",new mxGeometry(.5*u-4,41,8,4),"shape=triangle;direction=north;");wc.vertex=!0;v.insert(wc);
-var xc=new mxCell("",new mxGeometry(.25*u-4,41,8,4),"shape=triangle;direction=north;");xc.vertex=!0;v.insert(xc);var yc=new mxCell("",new mxGeometry(.75*u-4,41,8,4),"shape=triangle;direction=north;");yc.vertex=!0;v.insert(yc);var Vc=new mxCell("",new mxGeometry(.375*u,50,.2*u,15),"strokeColor=none;fillColor=none;");Vc.vertex=!0;v.insert(Vc);Vc.value=g(h.Label_1);Vc.style+=b(h.Label_1,z);var Wc=new mxCell("",new mxGeometry(.125*u,50,.2*u,15),"strokeColor=none;fillColor=none;");Wc.vertex=!0;v.insert(Wc);
-Wc.value=g(h.Label_0);Wc.style+=b(h.Label_0,z);var zc=null;"AndroidDateDialog"==c.Class&&(zc=new mxCell("",new mxGeometry(.625*u,50,.2*u,15),"strokeColor=none;fillColor=none;"),zc.vertex=!0,v.insert(zc),zc.value=g(h.Label_2),zc.style+=b(h.Label_2,z));var Qa=new mxCell("",new mxGeometry(.43*u,60,.14*u,10),"shape=line;strokeColor=#33B5E5;");Qa.vertex=!0;v.insert(Qa);var Ra=new mxCell("",new mxGeometry(.18*u,60,.14*u,10),"shape=line;strokeColor=#33B5E5;");Ra.vertex=!0;v.insert(Ra);var Lc=new mxCell("",
-new mxGeometry(.68*u,60,.14*u,10),"shape=line;strokeColor=#33B5E5;");Lc.vertex=!0;v.insert(Lc);var Xc=new mxCell("",new mxGeometry(.375*u,65,.2*u,15),"strokeColor=none;fillColor=none;");Xc.vertex=!0;v.insert(Xc);Xc.value=g(h.Label_4);Xc.style+=b(h.Label_4,z);var Ac=null;"AndroidTimeDialog"==c.Class&&(Ac=new mxCell("",new mxGeometry(.3*u,65,.1*u,15),"strokeColor=none;fillColor=none;"),Ac.vertex=!0,v.insert(Ac),Ac.value=g(h.Label_Colon),Ac.style+=b(h.Label_Colon,z));var Yc=new mxCell("",new mxGeometry(.125*
-u,65,.2*u,15),"strokeColor=none;fillColor=none;");Yc.vertex=!0;v.insert(Yc);Yc.value=g(h.Label_3);Yc.style+=b(h.Label_3,z);var Zc=new mxCell("",new mxGeometry(.625*u,65,.2*u,15),"strokeColor=none;fillColor=none;");Zc.vertex=!0;v.insert(Zc);Zc.value=g(h.Label_5);Zc.style+=b(h.Label_5,z);var Mc=new mxCell("",new mxGeometry(.43*u,75,.14*u,10),"shape=line;strokeColor=#33B5E5;");Mc.vertex=!0;v.insert(Mc);var Oc=new mxCell("",new mxGeometry(.18*u,75,.14*u,10),"shape=line;strokeColor=#33B5E5;");Oc.vertex=
-!0;v.insert(Oc);var Pc=new mxCell("",new mxGeometry(.68*u,75,.14*u,10),"shape=line;strokeColor=#33B5E5;");Pc.vertex=!0;v.insert(Pc);var $c=new mxCell("",new mxGeometry(.375*u,80,.2*u,15),"strokeColor=none;fillColor=none;");$c.vertex=!0;v.insert($c);$c.value=g(h.Label_7);$c.style+=b(h.Label_7,z);var ad=new mxCell("",new mxGeometry(.125*u,80,.2*u,15),"strokeColor=none;fillColor=none;");ad.vertex=!0;v.insert(ad);ad.value=g(h.Label_6);ad.style+=b(h.Label_6,z);var bd=new mxCell("",new mxGeometry(.625*
-u,80,.2*u,15),"strokeColor=none;fillColor=none;");bd.vertex=!0;v.insert(bd);bd.value=g(h.Label_8);bd.style+=b(h.Label_8,z);var Bc=new mxCell("",new mxGeometry(.5*u-4,99,8,4),"shape=triangle;direction=south;");Bc.vertex=!0;v.insert(Bc);var Cc=new mxCell("",new mxGeometry(.25*u-4,99,8,4),"shape=triangle;direction=south;");Cc.vertex=!0;v.insert(Cc);var Dc=new mxCell("",new mxGeometry(.75*u-4,99,8,4),"shape=triangle;direction=south;");Dc.vertex=!0;v.insert(Dc);"Dark"==h.Scheme?(v.style+="strokeColor=#353535;fillColor=#282828;shadow=1;",
-za.style+="strokeColor=#353535;",Aa.style+="strokeColor=#353535;",wc.style+="strokeColor=none;fillColor=#7E7E7E;",xc.style+="strokeColor=none;fillColor=#7E7E7E;",yc.style+="strokeColor=none;fillColor=#7E7E7E;",Bc.style+="strokeColor=none;fillColor=#7E7E7E;",Cc.style+="strokeColor=none;fillColor=#7E7E7E;",Dc.style+="strokeColor=none;fillColor=#7E7E7E;"):(v.style+="strokeColor=none;fillColor=#ffffff;shadow=1;",za.style+="strokeColor=#E2E2E2;",Aa.style+="strokeColor=#E2E2E2;",wc.style+="strokeColor=none;fillColor=#939393;",
-xc.style+="strokeColor=none;fillColor=#939393;",yc.style+="strokeColor=none;fillColor=#939393;",Bc.style+="strokeColor=none;fillColor=#939393;",Cc.style+="strokeColor=none;fillColor=#939393;",Dc.style+="strokeColor=none;fillColor=#939393;");v.style+=a(v.style,h,l,v);break;case "AndroidListItems":var Ma=t,Kb=0;if(h.ShowHeader){var Kb=8,cc=new mxCell("",new mxGeometry(0,0,u,Kb),"strokeColor=none;fillColor=none;");cc.vertex=!0;v.insert(cc);cc.value=g(h.Header);cc.style+=b(h.Header,z);var Ma=Ma-Kb,Qc=
-new mxCell("",new mxGeometry(0,Kb-2,u,4),"shape=line;strokeColor=#999999;");Qc.vertex=!0;v.insert(Qc)}var nb=parseInt(h.Items);0<nb&&(Ma/=nb);for(var H=[],ja=[],k=0;k<nb;k++)H[k]=new mxCell("",new mxGeometry(0,Kb+k*Ma,u,Ma),"strokeColor=none;fillColor=none;"),H[k].vertex=!0,v.insert(H[k]),H[k].value=g(h["Item_"+k]),H[k].style+=b(h["Item_"+k],z),0<k&&(ja[k]=new mxCell("",new mxGeometry(0,Kb+k*Ma-2,u,4),"shape=line;"),ja[k].vertex=!0,v.insert(ja[k]),ja[k].style="Dark"==h.Scheme?ja[k].style+"strokeColor=#ffffff;":
-ja[k].style+"strokeColor=#D9D9D9;");v.style="Dark"==h.Scheme?v.style+"strokeColor=none;fillColor=#111111;":v.style+"strokeColor=none;fillColor=#ffffff;";v.style+=a(v.style,h,l,v);break;case "AndroidTabs":var ob=parseInt(h.Tabs),Va=u;0<ob&&(Va/=ob);for(var la=[],ja=[],k=0;k<ob;k++)la[k]=new mxCell("",new mxGeometry(k*Va,0,Va,t),"strokeColor=none;fillColor=none;"),la[k].vertex=!0,v.insert(la[k]),la[k].value=g(h["Tab_"+k]),la[k].style+=b(h["Tab_"+k],z),0<k&&(ja[k]=new mxCell("",new mxGeometry(k*Va-2,
-.2*t,4,.6*t),"shape=line;direction=north;"),ja[k].vertex=!0,v.insert(ja[k]),ja[k].style="Dark"==h.Scheme?ja[k].style+"strokeColor=#484848;":ja[k].style+"strokeColor=#CCCCCC;");var ve=new mxCell("",new mxGeometry(h.Selected*Va+2,t-3,Va-4,3),"strokeColor=none;fillColor=#33B5E5;");ve.vertex=!0;v.insert(ve);v.style="Dark"==h.Scheme?v.style+"strokeColor=none;fillColor=#333333;":v.style+"strokeColor=none;fillColor=#DDDDDD;";v.style+=a(v.style,h,l,v);break;case "AndroidProgressBar":v=new mxCell("",new mxGeometry(Math.round(p),
-Math.round(C+.25*t),Math.round(u),Math.round(.5*t)),"html=1;overflow=block;blockSpacing=1;whiteSpace=wrap;");v.vertex=!0;var cd=new mxCell("",new mxGeometry(0,0,u*h.BarPosition,Math.round(.5*t)),"strokeColor=none;fillColor=#33B5E5;");cd.vertex=!0;v.insert(cd);v.style="Dark"==h.Scheme?v.style+"strokeColor=none;fillColor=#474747;":v.style+"strokeColor=none;fillColor=#BBBBBB;";v.style+=a(v.style,h,l,v);break;case "AndroidImageBlock":v.style="Dark"==h.Scheme?v.style+"shape=mxgraph.mockup.graphics.simpleIcon;strokeColor=#7E7E7E;fillColor=#111111;":
-v.style+"shape=mxgraph.mockup.graphics.simpleIcon;strokeColor=#939393;fillColor=#ffffff;";v.style+=a(v.style,h,l,v);break;case "AndroidTextBlock":v.style="Dark"==h.Scheme?h.ShowBorder?v.style+"fillColor=#111111;strokeColor=#ffffff;":v.style+"fillColor=#111111;strokeColor=none;":h.ShowBorder?v.style+"fillColor=#ffffff;strokeColor=#000000;":v.style+"fillColor=#ffffff;strokeColor=none;";v.value=g(h.Label);v.style+=b(h.Label,z);v.style+=a(v.style,h,l,v,z);break;case "AndroidActionBar":v.style+="strokeColor=none;";
-switch(h.BarBackground){case "Blue":v.style+="fillColor=#002E3E;";break;case "Gray":v.style+="fillColor=#DDDDDD;";break;case "Dark Gray":v.style+="fillColor=#474747;";break;case "White":v.style+="fillColor=#ffffff;"}if(h.HighlightShow){var Lb=null,Lb=h.HighlightTop?new mxCell("",new mxGeometry(0,0,u,2),"strokeColor=none;"):new mxCell("",new mxGeometry(0,t-2,u,2),"strokeColor=none;");Lb.vertex=!0;v.insert(Lb);switch(h.HighlightColor){case "Blue":Lb.style+="fillColor=#33B5E5;";break;case "Dark Gray":Lb.style+=
-"fillColor=#B0B0B0;";break;case "White":Lb.style+="fillColor=#ffffff;"}}if(h.VlignShow){var Ec=new mxCell("",new mxGeometry(20,5,2,t-10),"shape=line;direction=north;");Ec.vertex=!0;v.insert(Ec);switch(h.VlignColor){case "Blue":Ec.style+="strokeColor=#244C5A;";break;case "White":Ec.style+="strokeColor=#ffffff;"}}v.style+=a(v.style,h,l,v);break;case "AndroidButton":v.value=g(h.Label);v.style+=b(h.Label,z)+"shape=partialRectangle;left=0;right=0;";v.style="Dark"==h.Scheme?v.style+"fillColor=#474747;strokeColor=#C6C5C6;bottom=0;":
-v.style+"fillColor=#DFE0DF;strokeColor=#C6C5C6;top=0;";v.style+=a(v.style,h,l,v);break;case "AndroidTextBox":v.value=g(h.Label);v.style+=b(h.Label,z);var dd=new mxCell("",new mxGeometry(2,t-6,u-4,4),"shape=partialRectangle;top=0;fillColor=none;");dd.vertex=!0;v.insert(dd);v.style="Dark"==h.Scheme?v.style+"fillColor=#111111;strokeColor=none;":v.style+"fillColor=#ffffff;strokeColor=none;";dd.style=h.TextFocused?dd.style+"strokeColor=#33B5E5;":dd.style+"strokeColor=#A9A9A9;";v.style+=a(v.style,h,l,v);
-break;case "AndroidRadioButton":var dc=null;h.Checked&&(dc=new mxCell("",new mxGeometry(.15*u,.15*t,.7*u,.7*t),"ellipse;fillColor=#33B5E5;strokeWidth=1;"),dc.vertex=!0,v.insert(dc));"Dark"==h.Scheme?(v.style+="shape=ellipse;perimeter=ellipsePerimeter;strokeWidth=1;strokeColor=#272727;",h.Checked?(dc.style+="strokeColor=#1F5C73;",v.style+="fillColor=#193C49;"):v.style+="fillColor=#111111;"):(v.style+="shape=ellipse;perimeter=ellipsePerimeter;strokeWidth=1;fillColor=#ffffff;strokeColor=#5C5C5C;",h.Checked&&
-(dc.style+="strokeColor=#999999;"));v.style+=a(v.style,h,l,v);break;case "AndroidCheckBox":var Wd=null;h.Checked&&(Wd=new mxCell("",new mxGeometry(.25*u,.05*-t,u,.8*t),"shape=mxgraph.ios7.misc.check;strokeColor=#33B5E5;strokeWidth=2;"),Wd.vertex=!0,v.insert(Wd));v.style="Dark"==h.Scheme?v.style+"strokeWidth=1;strokeColor=#272727;fillColor=#111111;":v.style+"strokeWidth=1;strokeColor=#5C5C5C;fillColor=#ffffff;";v.style+=a(v.style,h,l,v);break;case "AndroidToggle":v.style="Dark"==h.Scheme?h.Checked?
-v.style+"shape=mxgraph.android.switch_on;fillColor=#666666;":v.style+"shape=mxgraph.android.switch_off;fillColor=#666666;":h.Checked?v.style+"shape=mxgraph.android.switch_on;fillColor=#E6E6E6;":v.style+"shape=mxgraph.android.switch_off;fillColor=#E6E6E6;";v.style+=a(v.style,h,l,v);break;case "AndroidSlider":v.style+="shape=mxgraph.android.progressScrubberFocused;dx="+h.BarPosition+";fillColor=#33b5e5;";v.style+=a(v.style,h,l,v);break;case "iOSSegmentedControl":ob=parseInt(h.Tabs);Va=u;v.style+="strokeColor=none;fillColor=none;";
-0<ob&&(Va/=ob);la=[];ja=[];for(k=0;k<ob;k++)la[k]=new mxCell("",new mxGeometry(k*Va,0,Va,t),"strokeColor="+h.FillColor+";"),la[k].vertex=!0,v.insert(la[k]),la[k].value=g(h["Tab_"+k]),la[k].style+=b(h["Tab_"+k],z),la[k].style=h.Selected==k?la[k].style+Y(h,l):la[k].style+"fillColor=none;";v.style+=a(v.style,h,l,v);break;case "iOSSlider":v.style+="shape=mxgraph.ios7ui.slider;strokeColor="+h.FillColor+";fillColor=#ffffff;strokeWidth=2;barPos="+100*h.BarPosition+";";v.style+=a(v.style,h,l,v);break;case "iOSProgressBar":v=
-new mxCell("",new mxGeometry(Math.round(p),Math.round(C+.25*t),Math.round(u),Math.round(.5*t)),"html=1;overflow=block;blockSpacing=1;whiteSpace=wrap;strokeColor=none;fillColor=#B5B5B5;");v.vertex=!0;cd=new mxCell("",new mxGeometry(0,0,u*h.BarPosition,Math.round(.5*t)),"strokeColor=none;"+Y(h,l));cd.vertex=!0;v.insert(cd);v.style+=a(v.style,h,l,v);break;case "iOSPageControls":v.style+="shape=mxgraph.ios7ui.pageControl;strokeColor=#D6D6D6;";v.style+=a(v.style,h,l,v);break;case "iOSStatusBar":v.style+=
-"shape=mxgraph.ios7ui.appBar;strokeColor=#000000;";var W=new mxCell(g(h.Text),new mxGeometry(.35*u,0,.3*u,t),"strokeColor=none;fillColor=none;");W.vertex=!0;v.insert(W);W.style+=b(h.Text,z);var Sa=new mxCell(g(h.Carrier),new mxGeometry(.09*u,0,.2*u,t),"strokeColor=none;fillColor=none;");Sa.vertex=!0;v.insert(Sa);Sa.style+=b(h.Carrier,z);v.style+=a(v.style,h,l,v);break;case "iOSSearchBar":v.value=g(h.Search);v.style+="strokeColor=none;";v.style+=a(v.style,h,l,v,z)+b(h.Search,z);var ca=new mxCell("",
-new mxGeometry(.3*u,.3*t,.4*t,.4*t),"shape=mxgraph.ios7.icons.looking_glass;strokeColor=#000000;fillColor=none;");ca.vertex=!0;v.insert(ca);break;case "iOSNavBar":v.value=g(h.Title);v.style+="shape=partialRectangle;top=0;right=0;left=0;strokeColor=#979797;"+b(h.Title,z);v.style+=a(v.style,h,l,v,z);W=new mxCell(g(h.LeftText),new mxGeometry(.03*u,0,.3*u,t),"strokeColor=none;fillColor=none;");W.vertex=!0;v.insert(W);W.style+=b(h.LeftText,z);Sa=new mxCell(g(h.RightText),new mxGeometry(.65*u,0,.3*u,t),
-"strokeColor=none;fillColor=none;");Sa.vertex=!0;v.insert(Sa);Sa.style+=b(h.RightText,z);ca=new mxCell("",new mxGeometry(.02*u,.2*t,.3*t,.5*t),"shape=mxgraph.ios7.misc.left;strokeColor=#007AFF;strokeWidth=2;");ca.vertex=!0;v.insert(ca);break;case "iOSTabs":ob=parseInt(h.Tabs);Va=u;v.style+="shape=partialRectangle;right=0;left=0;bottom=0;strokeColor=#979797;";v.style+=a(v.style,h,l,v);0<ob&&(Va/=ob);la=[];ja=[];for(k=0;k<ob;k++)la[k]=new mxCell("",new mxGeometry(k*Va,0,Va,t),"strokeColor=none;"),la[k].vertex=
-!0,v.insert(la[k]),la[k].value=g(h["Tab_"+k]),la[k].style+=z?"overflow=block;blockSpacing=1;html=1;fontSize=13;"+Ca:f(h["Tab_"+k])+m(h["Tab_"+k])+x(h["Tab_"+k])+w(h["Tab_"+k])+A(h["Tab_"+k])+G(h["Tab_"+k])+B(h["Tab_"+k])+E(h["Tab_"+k])+D(h["Tab_"+k])+K(h["Tab_"+k]),la[k].style+="verticalAlign=bottom;",la[k].style=h.Selected==k?la[k].style+"fillColor=#BBBBBB;":la[k].style+"fillColor=none;";break;case "iOSDatePicker":var pb=new mxCell("",new mxGeometry(0,0,.5*u,.2*t),"strokeColor=none;fillColor=none;");
-pb.vertex=!0;v.insert(pb);pb.value=g(h.Option11);pb.style+=b(h.Option11,z);var qb=new mxCell("",new mxGeometry(.5*u,0,.15*u,.2*t),"strokeColor=none;fillColor=none;");qb.vertex=!0;v.insert(qb);qb.value=g(h.Option21);qb.style+=b(h.Option21,z);var rb=new mxCell("",new mxGeometry(.65*u,0,.15*u,.2*t),"strokeColor=none;fillColor=none;");rb.vertex=!0;v.insert(rb);rb.value=g(h.Option31);rb.style+=b(h.Option31,z);var sb=new mxCell("",new mxGeometry(0,.2*t,.5*u,.2*t),"strokeColor=none;fillColor=none;");sb.vertex=
-!0;v.insert(sb);sb.value=g(h.Option12);sb.style+=b(h.Option12,z);var tb=new mxCell("",new mxGeometry(.5*u,.2*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");tb.vertex=!0;v.insert(tb);tb.value=g(h.Option22);tb.style+=b(h.Option22,z);var ub=new mxCell("",new mxGeometry(.65*u,.2*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");ub.vertex=!0;v.insert(ub);ub.value=g(h.Option32);ub.style+=b(h.Option32,z);var Ha=new mxCell("",new mxGeometry(0,.4*t,.5*u,.2*t),"strokeColor=none;fillColor=none;");Ha.vertex=
-!0;v.insert(Ha);Ha.value=g(h.Option13);Ha.style+=b(h.Option13,z);var Ia=new mxCell("",new mxGeometry(.5*u,.4*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");Ia.vertex=!0;v.insert(Ia);Ia.value=g(h.Option23);Ia.style+=b(h.Option23,z);var vb=new mxCell("",new mxGeometry(.65*u,.4*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");vb.vertex=!0;v.insert(vb);vb.value=g(h.Option33);vb.style+=b(h.Option33,z);var Ja=new mxCell("",new mxGeometry(.8*u,.4*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");Ja.vertex=
-!0;v.insert(Ja);Ja.value=g(h.Option43);Ja.style+=b(h.Option43,z);var Ka=new mxCell("",new mxGeometry(0,.6*t,.5*u,.2*t),"strokeColor=none;fillColor=none;");Ka.vertex=!0;v.insert(Ka);Ka.value=g(h.Option14);Ka.style+=b(h.Option14,z);var wb=new mxCell("",new mxGeometry(.5*u,.6*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");wb.vertex=!0;v.insert(wb);wb.value=g(h.Option24);wb.style+=b(h.Option24,z);var xb=new mxCell("",new mxGeometry(.65*u,.6*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");xb.vertex=
-!0;v.insert(xb);xb.value=g(h.Option34);xb.style+=b(h.Option34,z);var yb=new mxCell("",new mxGeometry(.8*u,.6*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");yb.vertex=!0;v.insert(yb);yb.value=g(h.Option44);yb.style+=b(h.Option44,z);var La=new mxCell("",new mxGeometry(0,.8*t,.5*u,.2*t),"strokeColor=none;fillColor=none;");La.vertex=!0;v.insert(La);La.value=g(h.Option15);La.style+=b(h.Option15,z);var zb=new mxCell("",new mxGeometry(.5*u,.8*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");zb.vertex=
-!0;v.insert(zb);zb.value=g(h.Option25);zb.style+=b(h.Option25,z);var Ab=new mxCell("",new mxGeometry(.65*u,.8*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");Ab.vertex=!0;v.insert(Ab);Ab.value=g(h.Option35);Ab.style+=b(h.Option35,z);Qa=new mxCell("",new mxGeometry(0,.4*t-2,u,4),"shape=line;strokeColor=#888888;");Qa.vertex=!0;v.insert(Qa);Ra=new mxCell("",new mxGeometry(0,.6*t-2,u,4),"shape=line;strokeColor=#888888;");Ra.vertex=!0;v.insert(Ra);v.style+="strokeColor=none;";v.style+=a(v.style,h,l,
-v);break;case "iOSTimePicker":pb=new mxCell("",new mxGeometry(0,0,.25*u,.2*t),"strokeColor=none;fillColor=none;");pb.vertex=!0;v.insert(pb);pb.value=g(h.Option11);pb.style+=b(h.Option11,z);qb=new mxCell("",new mxGeometry(.25*u,0,.3*u,.2*t),"strokeColor=none;fillColor=none;");qb.vertex=!0;v.insert(qb);qb.value=g(h.Option21);qb.style+=b(h.Option21,z);sb=new mxCell("",new mxGeometry(0,.2*t,.25*u,.2*t),"strokeColor=none;fillColor=none;");sb.vertex=!0;v.insert(sb);sb.value=g(h.Option12);sb.style+=b(h.Option12,
-z);tb=new mxCell("",new mxGeometry(.25*u,.2*t,.3*u,.2*t),"strokeColor=none;fillColor=none;");tb.vertex=!0;v.insert(tb);tb.value=g(h.Option22);tb.style+=b(h.Option22,z);Ha=new mxCell("",new mxGeometry(0,.4*t,.25*u,.2*t),"strokeColor=none;fillColor=none;");Ha.vertex=!0;v.insert(Ha);Ha.value=g(h.Option13);Ha.style+=b(h.Option13,z);Ia=new mxCell("",new mxGeometry(.25*u,.4*t,.3*u,.2*t),"strokeColor=none;fillColor=none;");Ia.vertex=!0;v.insert(Ia);Ia.value=g(h.Option23);Ia.style+=b(h.Option23,z);Ja=new mxCell("",
-new mxGeometry(.7*u,.4*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");Ja.vertex=!0;v.insert(Ja);Ja.value=g(h.Option33);Ja.style+=b(h.Option33,z);Ka=new mxCell("",new mxGeometry(0,.6*t,.25*u,.2*t),"strokeColor=none;fillColor=none;");Ka.vertex=!0;v.insert(Ka);Ka.value=g(h.Option14);Ka.style+=b(h.Option14,z);wb=new mxCell("",new mxGeometry(.25*u,.6*t,.3*u,.2*t),"strokeColor=none;fillColor=none;");wb.vertex=!0;v.insert(wb);wb.value=g(h.Option24);wb.style+=b(h.Option24,z);yb=new mxCell("",new mxGeometry(.7*
-u,.6*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");yb.vertex=!0;v.insert(yb);yb.value=g(h.Option34);yb.style+=b(h.Option34,z);La=new mxCell("",new mxGeometry(0,.8*t,.25*u,.2*t),"strokeColor=none;fillColor=none;");La.vertex=!0;v.insert(La);La.value=g(h.Option15);La.style+=b(h.Option15,z);zb=new mxCell("",new mxGeometry(.25*u,.8*t,.3*u,.2*t),"strokeColor=none;fillColor=none;");zb.vertex=!0;v.insert(zb);zb.value=g(h.Option25);zb.style+=b(h.Option25,z);Qa=new mxCell("",new mxGeometry(0,.4*t-2,u,4),
-"shape=line;strokeColor=#888888;");Qa.vertex=!0;v.insert(Qa);Ra=new mxCell("",new mxGeometry(0,.6*t-2,u,4),"shape=line;strokeColor=#888888;");Ra.vertex=!0;v.insert(Ra);v.style+="strokeColor=none;";v.style+=a(v.style,h,l,v);break;case "iOSCountdownPicker":rb=new mxCell("",new mxGeometry(.45*u,0,.2*u,.2*t),"strokeColor=none;fillColor=none;");rb.vertex=!0;v.insert(rb);rb.value=g(h.Option31);rb.style+=b(h.Option31,z);ub=new mxCell("",new mxGeometry(.45*u,.2*t,.2*u,.2*t),"strokeColor=none;fillColor=none;");
-ub.vertex=!0;v.insert(ub);ub.value=g(h.Option32);ub.style+=b(h.Option32,z);Ha=new mxCell("",new mxGeometry(0,.4*t,.25*u,.2*t),"strokeColor=none;fillColor=none;");Ha.vertex=!0;v.insert(Ha);Ha.value=g(h.Option13);Ha.style+=b(h.Option13,z);Ia=new mxCell("",new mxGeometry(.2*u,.4*t,.25*u,.2*t),"strokeColor=none;fillColor=none;");Ia.vertex=!0;v.insert(Ia);Ia.value=g(h.Option23);Ia.style+=b(h.Option23,z);vb=new mxCell("",new mxGeometry(.45*u,.4*t,.2*u,.2*t),"strokeColor=none;fillColor=none;");vb.vertex=
-!0;v.insert(vb);vb.value=g(h.Option33);vb.style+=b(h.Option33,z);Ja=new mxCell("",new mxGeometry(.6*u,.4*t,.2*u,.2*t),"strokeColor=none;fillColor=none;");Ja.vertex=!0;v.insert(Ja);Ja.value=g(h.Option43);Ja.style+=b(h.Option43,z);Ka=new mxCell("",new mxGeometry(0,.6*t,.25*u,.2*t),"strokeColor=none;fillColor=none;");Ka.vertex=!0;v.insert(Ka);Ka.value=g(h.Option14);Ka.style+=b(h.Option14,z);xb=new mxCell("",new mxGeometry(.45*u,.6*t,.2*u,.2*t),"strokeColor=none;fillColor=none;");xb.vertex=!0;v.insert(xb);
-xb.value=g(h.Option34);xb.style+=b(h.Option34,z);La=new mxCell("",new mxGeometry(0,.8*t,.25*u,.2*t),"strokeColor=none;fillColor=none;");La.vertex=!0;v.insert(La);La.value=g(h.Option15);La.style+=b(h.Option15,z);Ab=new mxCell("",new mxGeometry(.45*u,.8*t,.2*u,.2*t),"strokeColor=none;fillColor=none;");Ab.vertex=!0;v.insert(Ab);Ab.value=g(h.Option35);Ab.style+=b(h.Option35,z);Qa=new mxCell("",new mxGeometry(0,.4*t-2,u,4),"shape=line;strokeColor=#888888;");Qa.vertex=!0;v.insert(Qa);Ra=new mxCell("",new mxGeometry(0,
-.6*t-2,u,4),"shape=line;strokeColor=#888888;");Ra.vertex=!0;v.insert(Ra);v.style+="strokeColor=none;";v.style+=a(v.style,h,l,v);break;case "iOSBasicCell":v.value=g(h.text);v.style+="shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;spacing=0;align=left;spacingLeft="+.75*h.SeparatorInset+";";v.style+=(z?"fontSize=13;":f(h.text)+x(h.text)+w(h.text))+S(h.text);v.style+=a(v.style,h,l,v,z);switch(h.AccessoryIndicatorType){case "Disclosure":ca=new mxCell("",new mxGeometry(.91*
-u,.35*t,.15*t,.3*t),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");ca.vertex=!0;v.insert(ca);break;case "DetailDisclosure":ca=new mxCell("",new mxGeometry(.91*u,.35*t,.15*t,.3*t),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");ca.vertex=!0;v.insert(ca);var qa=new mxCell("",new mxGeometry(.79*u,.25*t,.5*t,.5*t),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");qa.vertex=!0;v.insert(qa);break;case "DetailIndicator":qa=new mxCell("",new mxGeometry(.87*u,.25*t,.5*t,
-.5*t),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");qa.vertex=!0;v.insert(qa);break;case "CheckMark":ca=new mxCell("",new mxGeometry(.89*u,.37*t,.4*t,.26*t),"shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;"),ca.vertex=!0,v.insert(ca)}break;case "iOSSubtitleCell":v.style+="shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;align=left;spacing=0;verticalAlign=top;spacingLeft="+.75*h.SeparatorInset+";";v.value=g(h.subtext);v.style+=
-z?"fontSize=13;":f(h.subtext)+x(h.subtext)+w(h.subtext);v.style+=a(v.style,h,l,v,z);var sa=new mxCell("",new mxGeometry(0,.4*t,u,.6*t),"fillColor=none;strokeColor=none;spacing=0;align=left;verticalAlign=bottom;spacingLeft="+.75*h.SeparatorInset+";");sa.vertex=!0;v.insert(sa);sa.value=g(h.text);sa.style+=z?"html=1;fontSize=13;"+Ca:f(h.text)+m(h.text)+x(h.text)+w(h.text);switch(h.AccessoryIndicatorType){case "Disclosure":ca=new mxCell("",new mxGeometry(.91*u,.35*t,.15*t,.3*t),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");
-ca.vertex=!0;v.insert(ca);break;case "DetailDisclosure":ca=new mxCell("",new mxGeometry(.91*u,.35*t,.15*t,.3*t),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");ca.vertex=!0;v.insert(ca);qa=new mxCell("",new mxGeometry(.79*u,.25*t,.5*t,.5*t),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");qa.vertex=!0;v.insert(qa);break;case "DetailIndicator":qa=new mxCell("",new mxGeometry(.87*u,.25*t,.5*t,.5*t),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");
-qa.vertex=!0;v.insert(qa);break;case "CheckMark":ca=new mxCell("",new mxGeometry(.89*u,.37*t,.4*t,.26*t),"shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;"),ca.vertex=!0,v.insert(ca)}break;case "iOSRightDetailCell":v.style+="shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;align=left;spacing=0;verticalAlign=middle;spacingLeft="+.75*h.SeparatorInset+";";v.value=g(h.subtext);v.style+=z?"fontSize=13;":f(h.subtext)+x(h.subtext)+w(h.subtext);v.style+=a(v.style,
-h,l,v,z);sa=null;switch(h.AccessoryIndicatorType){case "Disclosure":ca=new mxCell("",new mxGeometry(.91*u,.35*t,.15*t,.3*t),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");ca.vertex=!0;v.insert(ca);sa=new mxCell("",new mxGeometry(.55*u,0,.3*u,t),"fillColor=none;strokeColor=none;spacing=0;align=right;");break;case "DetailDisclosure":ca=new mxCell("",new mxGeometry(.91*u,.35*t,.15*t,.3*t),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");ca.vertex=!0;v.insert(ca);qa=new mxCell("",new mxGeometry(.79*
-u,.25*t,.5*t,.5*t),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");qa.vertex=!0;v.insert(qa);sa=new mxCell("",new mxGeometry(.45*u,0,.3*u,t),"fillColor=none;strokeColor=none;spacing=0;align=right;");break;case "DetailIndicator":qa=new mxCell("",new mxGeometry(.87*u,.25*t,.5*t,.5*t),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");qa.vertex=!0;v.insert(qa);sa=new mxCell("",new mxGeometry(.52*u,0,.3*u,t),"fillColor=none;strokeColor=none;spacing=0;align=right;");
-break;case "CheckMark":ca=new mxCell("",new mxGeometry(.89*u,.37*t,.4*t,.26*t),"shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;");ca.vertex=!0;v.insert(ca);sa=new mxCell("",new mxGeometry(.55*u,0,.3*u,t),"fillColor=none;strokeColor=none;spacing=0;align=right;");break;default:sa=new mxCell("",new mxGeometry(.65*u,0,.3*u,t),"fillColor=none;strokeColor=none;spacing=0;align=right;")}sa.vertex=!0;v.insert(sa);sa.value=g(h.text);sa.style+=z?"html=1;fontSize=13;"+Ca:f(h.text)+m(h.text)+
-x(h.text)+w(h.text);break;case "iOSLeftDetailCell":v.style+="shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;";v.style+=a(v.style,h,l,v);var fb=new mxCell("",new mxGeometry(0,0,.25*u,t),"fillColor=none;strokeColor=none;spacing=0;align=right;verticalAlign=middle;spacingRight=3;");fb.vertex=!0;v.insert(fb);fb.value=g(h.subtext);fb.style+=z?"html=1;fontSize=13;"+Ca:f(h.subtext)+m(h.subtext)+x(h.subtext)+w(h.subtext);sa=new mxCell("",new mxGeometry(.25*u,0,.5*u,t),"fillColor=none;strokeColor=none;spacing=0;align=left;verticalAlign=middle;spacingLeft=3;");
-sa.vertex=!0;v.insert(sa);sa.value=g(h.text);sa.style+=z?"html=1;fontSize=13;"+Ca:f(h.text)+m(h.text)+x(h.text)+w(h.text);switch(h.AccessoryIndicatorType){case "Disclosure":ca=new mxCell("",new mxGeometry(.91*u,.35*t,.15*t,.3*t),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");ca.vertex=!0;v.insert(ca);break;case "DetailDisclosure":ca=new mxCell("",new mxGeometry(.91*u,.35*t,.15*t,.3*t),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");ca.vertex=!0;v.insert(ca);qa=new mxCell("",new mxGeometry(.79*
-u,.25*t,.5*t,.5*t),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");qa.vertex=!0;v.insert(qa);break;case "DetailIndicator":qa=new mxCell("",new mxGeometry(.87*u,.25*t,.5*t,.5*t),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");qa.vertex=!0;v.insert(qa);break;case "CheckMark":ca=new mxCell("",new mxGeometry(.89*u,.37*t,.4*t,.26*t),"shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;"),ca.vertex=!0,v.insert(ca)}break;case "iOSTableGroupedSectionBreak":v.style+=
-"shape=partialRectangle;left=0;right=0;fillColor=#EFEFF4;strokeColor=#C8C7CC;";W=new mxCell("",new mxGeometry(0,0,u,.4*t),"fillColor=none;strokeColor=none;spacing=10;align=left;");W.vertex=!0;v.insert(W);W.value=g(h.text);W.style+=z?"html=1;fontSize=13;"+Ca:f(h.text)+m(h.text)+x(h.text)+w(h.text);Sa=new mxCell("",new mxGeometry(0,.6*t,u,.4*t),"fillColor=none;strokeColor=none;spacing=10;align=left;");Sa.vertex=!0;v.insert(Sa);Sa.value=g(h["bottom-text"]);Sa.style+=z?"html=1;fontSize=13;"+Ca:f(h["bottom-text"])+
-m(h["bottom-text"])+x(h["bottom-text"])+w(h["bottom-text"]);break;case "iOSTablePlainHeaderFooter":v.style+="fillColor=#F7F7F7;strokeColor=none;align=left;spacingLeft=5;spacing=0;";v.value=g(h.text);v.style+=z?"fontSize=13;":f(h.text)+x(h.text)+w(h.text);v.style+=a(v.style,h,l,v,z);break;case "SMPage":if(h.Group){v.style+="strokeColor=none;fillColor=none;";var r=new mxCell("",new mxGeometry(0,0,.9*u,.9*t),"rounded=1;arcSize=3;part=1;");r.vertex=!0;v.insert(r);r.style+=I(h,l)+Y(h,l)+R(h,l,r)+ka(h)+
-Db(h);var y=new mxCell("",new mxGeometry(.1*u,.1*t,.9*u,.9*t),"rounded=1;arcSize=3;part=1;");y.vertex=!0;v.insert(y);y.value=g(h.Text);y.style+=I(h,l)+Y(h,l)+R(h,l,y)+ka(h)+Db(h)+b(h,z);h.Future&&(r.style+="dashed=1;fixDash=1;",y.style+="dashed=1;fixDash=1;")}else v.style+="rounded=1;arcSize=3;",h.Future&&(v.style+="dashed=1;fixDash=1;"),v.value=g(h.Text),v.style+=I(h,l)+Y(h,l)+R(h,l,v)+ka(h)+Db(h)+b(h,z);v.style+=a(v.style,h,l,v,z);break;case "SMHome":case "SMPrint":case "SMSearch":case "SMSettings":case "SMSitemap":case "SMSuccess":case "SMVideo":case "SMAudio":case "SMCalendar":case "SMChart":case "SMCloud":case "SMDocument":case "SMForm":case "SMGame":case "SMUpload":r=
+(function(){function e(a){Da="";try{if(a){var b=null;LucidImporter.advImpConfig&&LucidImporter.advImpConfig.fontMapping&&(b=LucidImporter.advImpConfig.fontMapping[a]);if(b){for(var c in b)Da+=c+"="+b[c]+";";return b.fontFamily?"font-family: "+b.fontFamily:""}if("Liberation Sans"!=a)return Da="fontFamily="+a+";","font-family: "+a+";"}}catch(Rb){}return""}function p(a){return Math.round(10*a)/10}function n(a,b,c){function h(a,b){var h="",g=a.t,d=a.l||{v:g&&"ul"==g.v?"auto":"decimal"};if(null==g||0!=
+E&&E==g.v&&l==d.v)null==g&&(E&&(h+=m(!0),E=!1),h+='<div style="',z.push("div"));else{E&&(h+=m(!0));E=g.v;l=d.v;"ul"==g.v?(h+="<ul ",z.push("ul")):(h+="<ol ",z.push("ol"));h+='style="margin: 0px; padding-left: 10px;list-style-position: inside; list-style-type:';if("hl"==g.v)h+="upper-roman";else switch(d.v){case "auto":h+="disc";break;case "inv":h+="circle";break;case "disc":h+="circle";break;case "trib":h+="square";break;case "square":h+="square";break;case "dash":h+="square";break;case "heart":h+=
+"disc";break;default:h+="decimal"}h+='">'}if(null!=g){var h=h+('<li style="text-align:'+(a.a?a.a.v:c.TextAlign||"center")+";"),e,k;null!=b&&(b.c&&(e=b.c.v),b.s&&(k=b.s.v));try{var x=q[n],w=G[A],g=n;if(x&&w&&x.s<w.e)for(var f=x.s;null!=x&&x.s==f;)"s"==x.n?k=x.v:"c"==x.n&&(e=x.v),x=q[++g]}catch(Lc){console.log(Lc)}e=ea(e);null!=e&&(e=e.substring(0,7),h+="color:"+e+";");null!=k&&(h+="font-size:"+p(.75*k)+"px;");h+='">';z.push("li");h+='<span style="';z.push("span")}E||(k=e=a.a?a.a.v:c.TextAlign||"center",
+"left"==e?k="flex-start":"right"==e&&(k="flex-end"),h+="display: flex; justify-content: "+k+"; text-align: "+e+"; align-items: baseline; font-size: 0; line-height: 1.25;");a.il&&(h+="margin-left: "+Math.max(0,p(.75*a.il.v-(E?28:0)))+"px;");a.ir&&(h+="margin-right: "+p(.75*a.ir.v)+"px;");a.mt&&(h+="margin-top: "+p(.75*a.mt.v)+"px;");a.mb&&(h+="margin-bottom: "+p(.75*a.mb.v)+"px;");h+='margin-top: -2px;">';E||(h+="<span>",z.push("span"));return h}function g(a){if(0==Object.keys(a).length)return"";var b=
+"",h=0;if(a.lk){var g=a.lk;null!=g.v&&0<g.v.length&&(b+='<a href="'+k(g.v[0])+'">',I.push("a"),h++)}b+='<span style="';I.push("span");h++;b+="font-size:"+(a.s?p(.75*a.s.v):"13")+"px;";a.c&&(g=ea(a.c.v),null!=g&&(g=g.substring(0,7),b+="color:"+g+";"));if(a.b&&a.b.v||a.fc&&a.fc.v&&0==a.fc.v.indexOf("Bold"))b+="font-weight: bold;";a.i&&a.i.v&&(b+="font-style: italic;");a.ac&&a.ac.v&&(b+="text-transform: uppercase;");g=null;a.f?g=a.f.v:c.Font&&(g=c.Font);b+=e(g);g=[];a.u&&a.u.v&&g.push("underline");a.k&&
+a.k.v&&g.push("line-through");0<g.length&&(b+="text-decoration: "+g.join(" ")+";");b+='">';Cb.push(h);return b}function m(a){var b="";do{var c=z.pop();if(!a&&E&&("ul"==c||"ol"==c)){z.push(c);break}b+="</"+c+">"}while(0<z.length);return b}function d(a,b,c,h){a=a?a.substring(b,c):"";E&&(a=a.trim());0==I.length&&0<a.length&&(a=g({dummy:1})+a);a=a.replace(/</g,"&lt;").replace(/>/g,"&gt;");do for(b=Cb.pop(),c=0;c<b;c++){var m=I.pop();a+="</"+m+">"}while(h&&0<I.length);return a}var x={a:!0,il:!0,ir:!0,
+mt:!0,mb:!0,p:!0,t:!0,l:!0},w={lk:!0,s:!0,c:!0,b:!0,fc:!0,i:!0,u:!0,k:!0,f:!0,ac:!0};b.sort(function(a,b){return a.s-b.s});var q=b.filter(function(a){return w[a.n]});q[0]&&0!=q[0].s&&q.unshift({s:0,n:"dummy",v:"",e:q[0].s});b=b.filter(function(a){return x[a.n]});for(var f=[0],ga=0;0<(ga=a.indexOf("\n",ga));)ga++,f.push(ga);for(var n=ga=0;n<b.length;n++){if(b[n].s>f[ga])b.splice(n,0,{s:f[ga],n:"a",v:c.TextAlign||"center"});else{for(var B=0;n+B<b.length&&b[n+B].s==f[ga];)B++;1<B&&(n+=B-1)}ga++}null!=
+f[ga]&&b.push({s:f[ga],n:"a",v:c.TextAlign||"center"});var f="",G=q.slice();G.sort(function(a,b){return a.e-b.e});for(var A=n=0,ga=0,B={},C={},I=[],Cb=[],z=[],ya=!1,E=!1,l,K=0,T=0,Z=a.length,R=!0;ga<b.length||R;){R=!1;if(ga<b.length){var D=b[ga],aa=b[ga].s;ya&&(C={},f+=d(a,K,Z,!0),T=K=Z,f+=m());for(;null!=D&&D.s==aa;)C[D.n]=D,D=b[++ga];Z=null!=D?D.s:a.length;f+=h(C,B);ya&&(f+=g(B));ya=!0}for(;n>=A&&(n<q.length||A<G.length);)if(D=q[n],aa=G[A],D&&aa&&D.s<aa.e){if(D.s>=Z)break;K=D.s;0<K-T&&(f+=g(B)+
+d(a,T,K),T=K);for(;null!=D&&D.s==K;)B[D.n]=D,D=q[++n];f+=g(B)}else if(aa){if(aa.e>Z)break;T=aa.e;do delete B[aa.n],aa=G[++A];while(null!=aa&&aa.e==T);f+=d(a,K,T);K=T;0!=Cb.length||null!=D&&D.s==T||(q.splice(n,0,{s:T,n:"dummy",v:""}),G.splice(A,0,{e:D?D.s:Z,n:"dummy",v:""}))}else break}f+=d(null,null,null,!0);ya&&(T!=Z&&(f+=g({dummy:1})+d(a,T,Z)),f+=m(!0));return f}function f(a,b){z=!1;var c=null!=a.Text?a.Text:null!=a.Value?a.Value:a.Lane_0;null==c&&null!=a.State?null!=a.State.t&&(c=a.State):null==
+c&&null!=a.Note?null!=a.Note.t&&(c=a.Note):null==c&&null!=a.Title?null!=a.Title.t&&(c=a.Title):null!=a.t&&(c=a);null==c&&null!=a.TextAreas?null!=a.TextAreas.Text&&null!=a.TextAreas.Text.Value&&null!=a.TextAreas.Text.Value.t&&(c=a.TextAreas.Text.Value):null==c&&null!=a.t0&&null!=a.t0.t&&(c=a.t0);if(null!=c){if(null!=c.t){var h=c.t,h=h.replace(/\u2028/g,"\n"),c=c.m;try{for(var g=0;g<c.length;g++)if(0<c[g].s||null!=c[g].e&&c[g].e<h.length||"t"==c[g].n||"ac"==c[g].n||"lk"==c[g].n){z=!0;break}if(z=z||
+b)return n(h,c,a)}catch(Ye){console.log(Ye)}h=h.replace(/</g,"&lt;");return h=h.replace(/>/g,"&gt;")}if(null!=c.Value&&null!=c.Value.t)return c.Value.t=c.Value.t.replace(/</g,"&lt;"),c.Value.t=c.Value.t.replace(/>/g,"&gt;"),c.Value.t}return""}function q(a){return null!=a.Action?a.Action:a}function d(a){if(null!=a.Text){if(null!=a.Text.m)return a.Text.m}else if(null!=a.TextAreas){if(null!=a.TextAreas.Text&&null!=a.TextAreas.Text.Value&&null!=a.TextAreas.Text.Value.m)return a.TextAreas.Text.Value.m}else{if(null!=
+a.m)return a.m;if(null!=a.Title){if(null!=a.Title.m)return a.Title.m}else if(null!=a.State){if(null!=a.State.m)return a.State.m}else if(null!=a.Note&&null!=a.Note.m)return a.Note.m}return null}function b(a,b){var c="whiteSpace=wrap;"+(b?"overflow=block;blockSpacing=1;html=1;fontSize=13;"+Da:h(a)+m(a)+x(a)+w(a)+A(a)+G(a)+C(a)+E(a)+D(a))+K(a)+S(a)+kb(mxConstants.STYLE_ALIGN,a.TextAlign,"center");Da="";return c}function a(a,b,h,m,g){var d="";null!=a&&""!=a&&";"!=a.charAt(a.length-1)&&(d=";");d+="whiteSpace=wrap;"+
+(g?(Nc(a,"overflow")?"":"overflow=block;blockSpacing=1;")+(Nc(a,"html")?"":"html=1;")+"fontSize=13;"+Da:c(mxConstants.STYLE_FONTSIZE,a,b,h,m)+c(mxConstants.STYLE_FONTFAMILY,a,b,h,m)+c(mxConstants.STYLE_FONTCOLOR,a,b,h,m)+c(mxConstants.STYLE_FONTSTYLE,a,b,h,m)+c(mxConstants.STYLE_ALIGN,a,b,h,m)+c(mxConstants.STYLE_SPACING_LEFT,a,b,h,m)+c(mxConstants.STYLE_SPACING_RIGHT,a,b,h,m)+c(mxConstants.STYLE_SPACING_TOP,a,b,h,m)+c(mxConstants.STYLE_SPACING_BOTTOM,a,b,h,m))+c(mxConstants.STYLE_ALIGN+"Global",
+a,b,h,m)+c(mxConstants.STYLE_SPACING,a,b,h,m)+c(mxConstants.STYLE_VERTICAL_ALIGN,a,b,h,m)+c(mxConstants.STYLE_STROKECOLOR,a,b,h,m)+c(mxConstants.STYLE_OPACITY,a,b,h,m)+c(mxConstants.STYLE_ROUNDED,a,b,h,m)+c(mxConstants.STYLE_ROTATION,a,b,h,m)+c(mxConstants.STYLE_FLIPH,a,b,h,m)+c(mxConstants.STYLE_FLIPV,a,b,h,m)+c(mxConstants.STYLE_SHADOW,a,b,h,m)+c(mxConstants.STYLE_FILLCOLOR,a,b,h,m)+c(mxConstants.STYLE_DASHED,a,b,h,m)+c(mxConstants.STYLE_STROKEWIDTH,a,b,h,m)+c(mxConstants.STYLE_IMAGE,a,b,h,m);Da=
+"";return d}function c(a,b,c,d,g){if(!Nc(b,a))switch(a){case mxConstants.STYLE_FONTSIZE:return h(c);case mxConstants.STYLE_FONTFAMILY:return m(c);case mxConstants.STYLE_FONTCOLOR:return x(c);case mxConstants.STYLE_FONTSTYLE:return w(c);case mxConstants.STYLE_ALIGN:return A(c);case mxConstants.STYLE_ALIGN+"Global":return kb(mxConstants.STYLE_ALIGN,c.TextAlign,"center");case mxConstants.STYLE_SPACING_LEFT:return G(c);case mxConstants.STYLE_SPACING_RIGHT:return C(c);case mxConstants.STYLE_SPACING_TOP:return E(c);
+case mxConstants.STYLE_SPACING_BOTTOM:return D(c);case mxConstants.STYLE_SPACING:return K(c);case mxConstants.STYLE_VERTICAL_ALIGN:return S(c);case mxConstants.STYLE_STROKECOLOR:return I(c,d);case mxConstants.STYLE_OPACITY:return R(c,d,g);case mxConstants.STYLE_ROUNDED:return a=!g.edge&&!g.style.includes("rounded")&&null!=c.Rounding&&0<c.Rounding?"rounded=1;absoluteArcSize=1;arcSize="+p(.75*c.Rounding)+";":"",a;case mxConstants.STYLE_ROTATION:return aa(c,d,g);case mxConstants.STYLE_FLIPH:return a=
+c.FlipX?"flipH=1;":"",a;case mxConstants.STYLE_FLIPV:return a=c.FlipY?"flipV=1;":"",a;case mxConstants.STYLE_SHADOW:return la(c);case mxConstants.STYLE_FILLCOLOR:return W(c,d);case mxConstants.STYLE_DASHED:return rc(c);case mxConstants.STYLE_STROKEWIDTH:return Db(c);case mxConstants.STYLE_IMAGE:return bc(c,d)}return""}function h(a){a=d(a);if(null!=a)for(var b=0;b<a.length;){var c=a[b];if("s"==c.n&&null!=c.v)return"fontSize="+p(.75*c.v)+";";b++}return"fontSize=13;"}function m(a){var b=d(a),c;if(null!=
+b)for(var h=0;h<b.length;h++)if("f"==b[h].n&&b[h].v){c=b[h].v;break}!c&&a.Font&&(c=a.Font);e(c);return Da}function k(a){return"ext"==a.tp?a.url:"ml"==a.tp?"mailto:"+a.eml:"pg"==a.tp?"data:page/id,"+(LucidImporter.pageIdsMap[a.id]||0):"c"==a.tp?"data:confluence/id,"+a.ccid:null}function x(a){a=d(a);if(null!=a)for(var b=0;b<a.length;){var c=a[b];if("c"==c.n&&null!=c.v)return a=ea(c.v).substring(0,7),mxConstants.STYLE_FONTCOLOR+"="+a+";";b++}return""}function w(a){return B(d(a))}function B(a){if(null!=
+a){var b=0,c=!1;if(null!=a)for(var h=0;!c&&h<a.length;){var g=a[h];"b"==g.n?null!=g.v&&g.v&&(c=!0,b+=1):"fc"==g.n&&"Bold"==g.v&&(c=!0,b+=1);h++}c=!1;if(null!=a)for(h=0;!c&&h<a.length;)g=a[h],"i"==g.n&&null!=g.v&&g.v&&(c=!0,b+=2),h++;c=!1;if(null!=a)for(h=0;!c&&h<a.length;)g=a[h],"u"==g.n&&null!=g.v&&g.v&&(c=!0,b+=4),h++;if(0<b)return"fontStyle="+b+";"}return""}function A(a){a=d(a);if(null!=a)for(var b=0;b<a.length;){var c=a[b];if("a"==c.n&&null!=c.v)return"align="+c.v+";";b++}return""}function G(a){a=
+d(a);if(null!=a)for(var b=0;b<a.length;){var c=a[b];if(null!=c.v&&"il"==c.n)return"spacingLeft="+p(.75*c.v)+";";b++}return""}function C(a){a=d(a);if(null!=a)for(var b=0;b<a.length;){var c=a[b];if("ir"==c.n&&null!=c.v)return"spacingRight="+p(.75*c.v)+";";b++}return""}function E(a){a=d(a);if(null!=a)for(var b=0;b<a.length;){var c=a[b];if("mt"==c.n&&null!=c.v)return"spacingTop="+p(.75*c.v)+";";b++}return""}function D(a){a=d(a);if(null!=a)for(var b=0;b<a.length;){var c=a[b];if("mb"==c.n&&null!=c.v)return"spacingBottom="+
+p(.75*c.v)+";";b++}return""}function K(a){return"number"===typeof a.InsetMargin?"spacing="+Math.max(0,p(.75*a.InsetMargin))+";":""}function S(a){return null!=a.Text_VAlign&&"string"===typeof a.Text_VAlign?"verticalAlign="+a.Text_VAlign+";":null!=a.Title_VAlign&&"string"===typeof a.Title_VAlign?"verticalAlign="+a.Title_VAlign+";":kb(mxConstants.STYLE_VERTICAL_ALIGN,a.TextVAlign,"middle")}function I(a,b){return 0==a.LineWidth?mxConstants.STYLE_STROKECOLOR+"=none;":kb(mxConstants.STYLE_STROKECOLOR,ja(a.LineColor),
+"#000000")}function Z(a){return null!=a?mxConstants.STYLE_FILLCOLOR+"="+ja(a)+";":""}function T(a){return null!=a?"swimlaneFillColor="+ja(a)+";":""}function R(a,b,c){b="";if("string"===typeof a.LineColor&&(a.LineColor=ea(a.LineColor),7<a.LineColor.length)){var h="0x"+a.LineColor.substring(a.LineColor.length-2,a.LineColor.length);c.style.includes("strokeOpacity")||(b+="strokeOpacity="+Math.round(parseInt(h)/2.55)+";")}"string"===typeof a.FillColor&&(a.FillColor=ea(a.FillColor),7<a.FillColor.length&&
+(a="0x"+a.FillColor.substring(a.FillColor.length-2,a.FillColor.length),c.style.includes("fillOpacity")||(b+="fillOpacity="+Math.round(parseInt(a)/2.55)+";")));return b}function aa(a,b,c){var h="";if(null!=a.Rotation){a=mxUtils.toDegree(parseFloat(a.Rotation));var g=!0;0!=a&&b.Class&&("UMLSwimLaneBlockV2"==b.Class||(0<=b.Class.indexOf("Rotated")||-90==a||270==a)&&(0<=b.Class.indexOf("Pool")||0<=b.Class.indexOf("SwimLane")))?(a+=90,c.geometry.rotate90(),c.geometry.isRotated=!0,g=!1):0<=mxUtils.indexOf(Nd,
+b.Class)?(a-=90,c.geometry.rotate90()):0<=mxUtils.indexOf(Od,b.Class)&&(a+=180);0!=a&&(h+="rotation="+a+";");g||(h+="horizontal=0;")}return h}function la(a){return null!=a.Shadow?mxConstants.STYLE_SHADOW+"=1;":""}function ea(a){if(a){if("object"===typeof a)try{a=a.cs[0].c}catch(ya){console.log(ya),a="#ffffff"}"rgb"==a.substring(0,3)?a="#"+a.match(/\d+/g).map(function(a){a=parseInt(a).toString(16);return(1==a.length?"0":"")+a}).join(""):"#"!=a.charAt(0)&&(a="#"+a)}return a}function ja(a){return(a=
+ea(a))?a.substring(0,7):null}function ta(a,b){return(a=ea(a))&&7<a.length?b+"="+Math.round(parseInt("0x"+a.substr(7))/2.55)+";":""}function W(a,b){if(null!=a.FillColor)if("object"===typeof a.FillColor){if(null!=a.FillColor.cs&&1<a.FillColor.cs.length)return kb(mxConstants.STYLE_FILLCOLOR,ja(a.FillColor.cs[0].c))+kb(mxConstants.STYLE_GRADIENTCOLOR,ja(a.FillColor.cs[1].c))}else return"string"===typeof a.FillColor?kb(mxConstants.STYLE_FILLCOLOR,ja(a.FillColor),"#FFFFFF"):kb(mxConstants.STYLE_FILLCOLOR,
+"none");return""}function rc(a){return"dotted"==a.StrokeStyle?"dashed=1;fixDash=1;dashPattern=1 4;":"dashdot"==a.StrokeStyle?"dashed=1;fixDash=1;dashPattern=10 5 1 5;":"dashdotdot"==a.StrokeStyle?"dashed=1;fixDash=1;dashPattern=10 5 1 5 1 5;":"dotdotdot"==a.StrokeStyle?"dashed=1;fixDash=1;dashPattern=1 2;":"longdash"==a.StrokeStyle?"dashed=1;fixDash=1;dashPattern=16 6;":"dashlongdash"==a.StrokeStyle?"dashed=1;fixDash=1;dashPattern=10 6 16 6;":"dashed24"==a.StrokeStyle?"dashed=1;fixDash=1;dashPattern=3 8;":
+"dashed32"==a.StrokeStyle?"dashed=1;fixDash=1;dashPattern=6 5;":"dashed44"==a.StrokeStyle?"dashed=1;fixDash=1;dashPattern=8 8;":null!=a.StrokeStyle&&"dashed"==a.StrokeStyle.substring(0,6)?"dashed=1;fixDash=1;":""}function Db(a){return null!=a.LineWidth?kb(mxConstants.STYLE_STROKEWIDTH,p(.75*parseFloat(a.LineWidth)),"1"):""}function bc(a,b,c){var h="";a.FillColor&&a.FillColor.url?(c=a.FillColor.url,"fill"==a.FillColor.pos&&(h="imageAspect=0;")):"ImageSearchBlock2"==b.Class?c=a.URL:"UserImage2Block"==
+b.Class&&null!=a.ImageFillProps&&null!=a.ImageFillProps.url&&(c=a.ImageFillProps.url);if(null!=c){if(null!=LucidImporter.imgSrcRepl)for(a=0;a<LucidImporter.imgSrcRepl.length;a++)b=LucidImporter.imgSrcRepl[a],c=c.replace(b.searchVal,b.replVal);return"image="+c+";"+h}return""}function ma(a,b,c,h){for(var g=b,m=0;null!=h.getAttributeForCell(a,g);)m++,g=b+"_"+m;h.setAttributeForCell(a,g,null!=c?c:"")}function sc(c,h,m,d,g,e){var x=q(h);if(null!=x){var w=tc[x.Class];null!=w?c.style+=w+";":c.edge||(console.log("No mapping found for: "+
+x.Class),LucidImporter.hasUnknownShapes=!0);w=null!=x.Properties?x.Properties:x;if(null!=w){c.value=e?"":f(w);c.style+=a(c.style,w,x,c,z);c.style.includes("strokeColor")||(c.style+=I(w,x));null!=w.Link&&0<w.Link.length&&m.setAttributeForCell(c,"link",k(w.Link[0]));e=[];var n=m.convertValueToString(c),Rb=!1;if(null!=n){for(var B=0;match=Pd.exec(n);){var p=match[0],Rb=!0;if(2<p.length){var G=p.substring(2,p.length-2);"documentName"==G?G="filename":"pageName"==G?G="page":"totalPages"==G?G="pagecount":
+"page"==G?G="pagenumber":"date:"==G.substring(0,5)?G="date{"+G.substring(5).replace(/MMMM/g,"mmmm").replace(/MM/g,"mm").replace(/YYYY/g,"yyyy")+"}":"lastModifiedTime"==G.substring(0,16)?G=G.replace(/MMMM/g,"mmmm").replace(/MM/g,"mm").replace(/YYYY/g,"yyyy"):"i18nDate:"==G.substring(0,9)&&(G="date{"+G.substring(9).replace(/i18nShort/g,"shortDate").replace(/i18nMediumWithTime/g,"mmm d, yyyy hh:MM TT")+"}");G="%"+G+"%";e.push(n.substring(B,match.index)+(null!=G?G:p));B=match.index+p.length}}Rb&&(e.push(n.substring(B)),
+m.setAttributeForCell(c,"label",e.join("")),m.setAttributeForCell(c,"placeholders","1"))}for(var A in w)if(w.hasOwnProperty(A)&&A.toString().startsWith("ShapeData_"))try{var C=w[A],E=mxUtils.trim(C.Label).replace(/[^a-z0-9]+/ig,"_").replace(/^\d+/,"").replace(/_+$/,"");ma(c,E,C.Value,m)}catch(Ib){window.console&&console.log("Ignored "+A+":",Ib)}w.Title&&w.Text&&"ExtShape"!=x.Class.substr(0,8)&&(x=c.geometry,x=new mxCell(f(w.Title),new mxGeometry(0,x.height,x.width,10),"strokeColor=none;fillColor=none;"),
+x.vertex=!0,c.insert(x),x.style+=b(w.Title,z));if(c.edge){c.style=null!=w.Rounding&&"diagonal"!=w.Shape?c.style+("rounded=1;arcSize="+w.Rounding+";"):c.style+"rounded=0;";x=!1;if("diagonal"!=w.Shape)if(null!=w.ElbowPoints&&0<w.ElbowPoints.length)for(c.geometry.points=[],A=0;A<w.ElbowPoints.length;A++)c.geometry.points.push(new mxPoint(Math.round(.75*w.ElbowPoints[A].x+Sb),Math.round(.75*w.ElbowPoints[A].y+Tb)));else"elbow"==w.Shape?c.style+="edgeStyle=orthogonalEdgeStyle;":null!=w.Endpoint1.Block&&
+null!=w.Endpoint2.Block&&(c.style+="edgeStyle=orthogonalEdgeStyle;","curve"==w.Shape&&(c.style+="curved=1;",x=!0));if(w.LineJumps||LucidImporter.globalProps.LineJumps)c.style+="jumpStyle=arc;";null!=w.Endpoint1.Style&&(A=Oc[w.Endpoint1.Style],null!=A?(A=A.replace(/xyz/g,"start"),c.style+="startArrow="+A+";"):(LucidImporter.hasUnknownShapes=!0,window.console&&console.log("Unknown endpoint style: "+w.Endpoint1.Style)));null!=w.Endpoint2.Style&&(A=Oc[w.Endpoint2.Style],null!=A?(A=A.replace(/xyz/g,"end"),
+c.style+="endArrow="+A+";"):(LucidImporter.hasUnknownShapes=!0,window.console&&console.log("Unknown endpoint style: "+w.Endpoint2.Style)));x=null!=w.ElbowControlPoints&&0<w.ElbowControlPoints.length?w.ElbowControlPoints:x&&null!=w.BezierJoints&&0<w.BezierJoints.length?w.BezierJoints:w.Joints;if(null!=x)for(c.geometry.points=[],A=0;A<x.length;A++)C=x[A].p?x[A].p:x[A],c.geometry.points.push(new mxPoint(Math.round(.75*C.x+Sb),Math.round(.75*C.y+Tb)));x=!1;if((null==c.geometry.points||0==c.geometry.points.length)&&
+null!=w.Endpoint1.Block&&w.Endpoint1.Block==w.Endpoint2.Block&&null!=d&&null!=g){x=new mxPoint(Math.round(d.geometry.x+d.geometry.width*w.Endpoint1.LinkX),Math.round(d.geometry.y+d.geometry.height*w.Endpoint1.LinkY));A=new mxPoint(Math.round(g.geometry.x+g.geometry.width*w.Endpoint2.LinkX),Math.round(g.geometry.y+g.geometry.height*w.Endpoint2.LinkY));Sb=x.x==A.x?Math.abs(x.x-d.geometry.x)<d.geometry.width/2?-20:20:0;Tb=x.y==A.y?Math.abs(x.y-d.geometry.y)<d.geometry.height/2?-20:20:0;var ga=new mxPoint(x.x+
+Sb,x.y+Tb),K=new mxPoint(A.x+Sb,A.y+Tb);ga.generated=!0;K.generated=!0;c.geometry.points=[ga,K];x=x.x==A.x}null!=d&&d.geometry.isRotated||(ga=Pc(c,w.Endpoint1,!0,x));null!=d&&null!=ga&&(null==d.stylePoints&&(d.stylePoints=[]),d.stylePoints.push(ga),LucidImporter.stylePointsSet.add(d));null!=g&&g.geometry.isRotated||(K=Pc(c,w.Endpoint2,!1,x));null!=g&&null!=K&&(null==g.stylePoints&&(g.stylePoints=[]),g.stylePoints.push(K),LucidImporter.stylePointsSet.add(g))}}}null!=h.id&&ma(c,"lucidchartObjectId",
+h.id,m)}function Qc(b,c){var h=q(b),m=h.Properties,g=m.BoundingBox;null==b.Class||"AWS"!==b.Class.substring(0,3)&&"Amazon"!==b.Class.substring(0,6)||b.Class.includes("AWS19")||(g.h-=20);v=new mxCell("",new mxGeometry(Math.round(.75*g.x+Sb),Math.round(.75*g.y+Tb),Math.round(.75*g.w),Math.round(.75*g.h)),"html=1;overflow=block;blockSpacing=1;whiteSpace=wrap;");v.vertex=!0;sc(v,b,c);v.zOrder=m.ZOrder;null!=v&&0<=v.style.indexOf(";grIcon=")&&(g=new mxCell("",new mxGeometry(v.geometry.x,v.geometry.y,v.geometry.width,
+v.geometry.height),"html=1;overflow=block;blockSpacing=1;whiteSpace=wrap;"),g.vertex=!0,g.style+=a(g.style,m,h,g),v.geometry.x=0,v.geometry.y=0,v.style+="part=1;",g.insert(v),v=g);te(v,m);m.Hidden&&(v.visible=!1);return v}function ud(a,b,c,h){var g=new mxCell("",new mxGeometry(0,0,100,100),"html=1;jettySize=18;");g.geometry.relative=!0;g.edge=!0;sc(g,a,b,c,h,!0);b=q(a).Properties;c=null!=b?b.TextAreas:a.TextAreas;if(null!=c){for(h=0;null!=c["t"+h];){var m=c["t"+h],g=na(m,g,a);h++}for(h=0;null!=c["m"+
+h]||1>h;)m=c["m"+h],null!=m&&(g=na(m,g,a)),h++;null!=c.Text&&(g=na(c.Text,g,a));c=null!=b?b.TextAreas:a.TextAreas;null!=c.Message&&(g=na(c.Message,g,a))}a.Hidden&&(g.visible=!1);return g}function na(a,b,c){var h=2*(parseFloat(a.Location)-.5);isNaN(h)&&null!=a.Text&&null!=a.Text.Location&&(h=2*(parseFloat(a.Text.Location)-.5));var g=f(a),d=mxCell,h=new mxGeometry(isNaN(h)?0:h,0,0,0),e=cc,k;k=c;if(z)k=Da;else{var x="13",w="";if(null!=a&&null!=a.Value&&null!=a.Value.m){for(var w=B(a.Value.m),q=0;q<a.Value.m.length;q++)if("s"==
+a.Value.m[q].n)x=p(.75*parseFloat(a.Value.m[q].v));else if("c"==a.Value.m[q].n){var n=ea(a.Value.m[q].v);null!=n&&(n=n.substring(0,7));w+="fontColor="+n+";"}w+=m(k);Da=""}k=w+";fontSize="+x+";"}d=new d(g,h,e+k);d.geometry.relative=!0;d.vertex=!0;if(a.Side)try{c.Action&&c.Action.Properties&&(c=c.Action.Properties);var A=Math.abs(c.Endpoint1.x-c.Endpoint2.x),G=Math.abs(c.Endpoint1.y-c.Endpoint2.y),C=mxUtils.getSizeForString(g);d.geometry.offset=0==A||A<G?new mxPoint(-a.Side*(C.width/2+5+A),0):new mxPoint(0,
+Math.sign(c.Endpoint2.x-c.Endpoint1.x)*a.Side*(C.height/2+5+G))}catch($e){console.log($e)}b.insert(d);return b}function kb(a,b,c,h){null!=b&&null!=h&&(b=h(b));return null!=b&&b!=c?a+"="+b+";":""}function Pc(a,b,c,h,m){if(null!=b&&null!=b.LinkX&&null!=b.LinkY&&(b.LinkX=Math.round(1E3*b.LinkX)/1E3,b.LinkY=Math.round(1E3*b.LinkY)/1E3,a.style+=(h?"":(c?"exitX":"entryX")+"="+b.LinkX+";")+(m?"":(c?"exitY":"entryY")+"="+b.LinkY+";")+(c?"exitPerimeter":"entryPerimeter")+"=0;",b.Inside))return"["+b.LinkX+
+","+b.LinkY+",0]"}function Rc(a,b,c,h){try{var m=function(a,b){if(null!=a)if(Array.isArray(a))for(var c=0;c<a.length;c++)m(a[c],b);else c=b?.75:1,e=Math.min(e,a.x*c),k=Math.min(k,a.y*c),w=Math.max(w,(a.x+(a.width?a.width:0))*c),x=Math.max(x,(a.y+(a.height?a.height:0))*c)};null!=a.Action&&null!=a.Action.Properties&&(a=a.Action.Properties);var d=new mxCell("",new mxGeometry,"group;dropTarget=0;");d.vertex=!0;d.zOrder=a.ZOrder;var e=Infinity,k=Infinity,w=-Infinity,x=-Infinity,q=a.Members,f=[],n;for(n in q){var p=
+b[n];null!=p?f.push(p):null!=h[n]&&(f.push(h[n]),c[n]=d)}f.sort(function(a,b){var c=a.zOrder,h=b.zOrder;return null!=c&&null!=h?c>h?1:c<h?-1:0:0});for(c=b=0;c<f.length;c++)if(p=f[c],p.vertex)m(p.geometry),p.parent=d,d.insert(p,b++);else{var B=null!=p.Action&&p.Action.Properties?p.Action.Properties:p;m(B.Endpoint1,!0);m(B.Endpoint2,!0);m(B.ElbowPoints,!0);m(B.ElbowControlPoints,!0);m(B.BezierJoints,!0);m(B.Joints,!0)}d.geometry.x=e;d.geometry.y=k;d.geometry.width=w-e;d.geometry.height=x-k;if(null!=
+d.children)for(c=0;c<d.children.length;c++){var Rb=d.children[c].geometry;Rb.x-=e;Rb.y-=k}a.IsState?d.lucidLayerInfo={name:a.Name,visible:!a.Hidden,locked:a.Restrictions.b&&a.Restrictions.p&&a.Restrictions.c}:a.Hidden&&(d.visible=!1);return d}catch(af){console.log(af)}}function Qd(a,b,c){LucidImporter.hasMath=!1;LucidImporter.stylePointsSet=new Set;a.getModel().beginUpdate();try{var h=function(b,c){function h(a,b,c){null==a||a.generated||(a.x-=b,a.y-=c)}var g=null!=c.Endpoint1.Block?d[c.Endpoint1.Block]:
+null,k=null!=c.Endpoint2.Block?d[c.Endpoint2.Block]:null,x=ud(b,a,g,k);if(c.Endpoint1&&c.Endpoint1.Line||c.Endpoint2&&c.Endpoint2.Line)console.log("Edge to Edge case"),LucidImporter.hasUnknownShapes=!0;null==g&&null!=c.Endpoint1&&x.geometry.setTerminalPoint(new mxPoint(Math.round(.75*c.Endpoint1.x),Math.round(.75*c.Endpoint1.y)),!0);null==k&&null!=c.Endpoint2&&x.geometry.setTerminalPoint(new mxPoint(Math.round(.75*c.Endpoint2.x),Math.round(.75*c.Endpoint2.y)),!1);var w=e[b.id];if(null!=w){for(var f=
+x.geometry,q=0,t=0,u=w;null!=u&&null!=u.geometry;)q+=u.geometry.x,t+=u.geometry.y,u=u.parent;h(f.sourcePoint,q,t);h(f.targetPoint,q,t);h(f.offset,q,t);f=f.points;if(null!=f)for(u=0;u<f.length;u++)h(f[u],q,t)}m.push(a.addCell(x,w,null,g,k))},m=[],d={},e={},k={},w=[];null!=b.Lines&&(k=b.Lines);if(null!=b.Blocks){Object.assign(k,b.Blocks);for(var x in b.Blocks){var f=b.Blocks[x];f.id=x;var n=!1;null!=tc[f.Class]&&"mxCompositeShape"==tc[f.Class]&&(d[f.id]=Sc(f,m,a),w.push(f),n=!0);n||(d[f.id]=Qc(f,a),
+w.push(f))}if(null!=b.Generators)for(x in b.Generators)"OrgChart2018"==b.Generators[x].ClassName?(LucidImporter.hasUnknownShapes=!0,Tc(x,b.Generators[x],b.Data,a,d)):LucidImporter.hasUnknownShapes=!0}else{for(var p=0;p<b.Objects.length;p++)f=b.Objects[p],k[f.id]=f,null!=f.Action&&"mxCompositeShape"==tc[f.Action.Class]?d[f.id]=Sc(f,m,a):f.IsBlock&&null!=f.Action&&null!=f.Action.Properties?d[f.id]=Qc(f,a):f.IsGenerator&&f.GeneratorData&&f.GeneratorData.p&&("OrgChart2018"==f.GeneratorData.p.ClassName?
+(LucidImporter.hasUnknownShapes=!0,Tc(f.GeneratorData.id,f.GeneratorData.p,f.GeneratorData.gs,a,d)):LucidImporter.hasUnknownShapes=!0),w.push(f);for(p=0;p<b.Objects.length;p++)if(f=b.Objects[p],f.IsGroup){var B=Rc(f,d,e,k);B&&(d[f.id]=B,w.push(f))}}if(null!=b.Groups)try{for(x in b.Groups)if(f=b.Groups[x],f.id=x,B=Rc(f,d,e,k))d[f.id]=B,w.push(f)}catch(Ib){console.log(Ib)}if(null!=b.Lines)for(x in b.Lines)f=b.Lines[x],f.id=x,w.push(f);w.sort(function(a,b){a=q(a);b=q(b);var c=null!=a.Properties?a.Properties.ZOrder:
+a.ZOrder,h=null!=b.Properties?b.Properties.ZOrder:b.ZOrder;return null!=c&&null!=h?c>h?1:c<h?-1:0:0});for(p=0;p<w.length;p++){var f=w[p],A=d[f.id];if(null!=A){if(null==A.parent)if(A.lucidLayerInfo){var G=new mxCell;a.addCell(G,a.model.root);G.setVisible(A.lucidLayerInfo.visible);A.lucidLayerInfo.locked&&G.setStyle("locked=1;");G.setValue(A.lucidLayerInfo.name);delete A.lucidLayerInfo;a.addCell(A,G)}else m.push(a.addCell(A))}else f.IsLine&&null!=f.Action&&null!=f.Action.Properties?h(f,f.Action.Properties):
+null!=f.StrokeStyle&&h(f,f)}LucidImporter.stylePointsSet.forEach(function(a){a.style="points=["+a.stylePoints.join(",")+"];"+a.style;delete a.stylePoints});try{var C=a.getModel().cells,I;for(I in C)delete C[I].zOrder}catch(Ib){}c||a.setSelectionCells(m)}finally{a.getModel().endUpdate()}}function Rd(){var a=new Graph;a.setExtendParents(!1);a.setExtendParentsOnAdd(!1);a.setConstrainChildren(!1);a.setHtmlLabels(!0);a.getModel().maintainEdgeParent=!1;return a}function uc(a,b,c,h,m,d,e,k){this.nurbsValues=
+[1,3,0,0,100*(a+c),100-100*(1-(b+h)),0,1,100*(m+e),100-100*(1-(d+k)),0,1]}function ue(a,b){try{for(var c=[],h=b.BoundingBox.w,m=b.BoundingBox.h,d=0;d<b.Shapes.length;d++){var e=b.Shapes[d],k=e.FillColor,x=e.StrokeColor,w=e.LineWidth,f=e.Points,q=e.Lines,n=['<shape strokewidth="inherit"><foreground>'];n.push("<path>");for(var p=null,B=0;B<q.length;B++){var A=q[B];if(p!=A.p1){var G=f[A.p1].x,C=f[A.p1].y,G=100*G/h,C=100*C/m,G=Math.round(100*G)/100,C=Math.round(100*C)/100;n.push('<move x="'+G+'" y="'+
+C+'"/>')}if(null!=A.n1){var I;var z=f[A.p2].x,E=f[A.p2].y,K=h,l=m,T=new uc(f[A.p1].x,f[A.p1].y,A.n1.x,A.n1.y,f[A.p2].x,f[A.p2].y,A.n2.x,A.n2.y);if(2<=T.getSize()){T.getX(0);T.getY(0);T.getX(1);T.getY(1);for(var z=Math.round(100*z/K*100)/100,E=Math.round(100*E/l*100)/100,K=[],l=[],Z=[],R=T.getSize(),D=0;D<R-1;D+=3)K.push(new mxPoint(T.getX(D),T.getY(D))),l.push(new mxPoint(T.getX(D+1),T.getY(D+1))),D<R-2?Z.push(new mxPoint(T.getX(D+2),T.getY(D+2))):Z.push(new mxPoint(z,E));for(var ga="",D=0;D<K.length;D++)ga+=
+'<curve x1="'+K[D].x+'" y1="'+K[D].y+'" x2="'+l[D].x+'" y2="'+l[D].y+'" x3="'+Z[D].x+'" y3="'+Z[D].y+'"/>';I=ga}else I=void 0;n.push(I)}else G=f[A.p2].x,C=f[A.p2].y,G=100*G/h,C=100*C/m,G=Math.round(100*G)/100,C=Math.round(100*C)/100,n.push('<line x="'+G+'" y="'+C+'"/>');p=A.p2}n.push("</path>");n.push("<fillstroke/>");n.push("</foreground></shape>");c.push({shapeStencil:"stencil("+Graph.compress(n.join(""))+")",FillColor:k,LineColor:x,LineWidth:w})}LucidImporter.stencilsMap[a]={text:b.Text,w:h,h:m,
+stencils:c}}catch(Md){console.log("Stencil parsing error:",Md)}}function Eb(a,b,c,h,m,d,e,k){a=new mxCell("",new mxGeometry(a,b,0,0),"strokeColor=none;fillColor=none;");a.vertex=!0;e.insert(a);d=[a];c=c.clone();k.insertEdge(c,!1);a.insertEdge(c,!0);d.push(c);h.push(m.addCell(c,null,null,null,null))}function xa(a,b,c,h,m,d,e,k,x){a=new mxCell("",new mxGeometry(a,b,0,0),"strokeColor=none;fillColor=none;");a.vertex=!0;x.insert(a);c=new mxCell("",new mxGeometry(c,h,0,0),"strokeColor=none;fillColor=none;");
+c.vertex=!0;x.insert(c);k=[c];m=m.clone();a.insertEdge(m,!0);c.insertEdge(m,!1);k.push(m);d.push(e.addCell(m,null,null,null,null))}function ha(b,c,h,m,g,d){m.style="rounded=1;absoluteArcSize=1;fillColor=#ffffff;arcSize=2;strokeColor=#dddddd;";m.style+=a(m.style,g,d,m);c=f(g);m.vertex=!0;b=new mxCell(c,new mxGeometry(0,.5,24,24),"dashed=0;connectable=0;html=1;strokeColor=none;"+mxConstants.STYLE_SHAPE+"=mxgraph.gcp2."+b+";part=1;shadow=0;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=5;");
+b.style+=a(b.style,g,d,b,z);b.geometry.relative=!0;b.geometry.offset=new mxPoint(5,-12);b.vertex=!0;m.insert(b)}function ka(b,c,h,m,g,d,e,k){g="transparent"!=b?mxConstants.STYLE_SHAPE+"=mxgraph.gcp2.":mxConstants.STYLE_SHAPE+"=";d.style="rounded=1;absoluteArcSize=1;arcSize=2;verticalAlign=bottom;fillColor=#ffffff;strokeColor=#dddddd;whiteSpace=wrap;";d.style+=a(d.style,e,k,d);d.value=f(e);d.vertex=!0;b=new mxCell(null,new mxGeometry(.5,0,.7*m*c,.7*m*h),g+b+";part=1;dashed=0;connectable=0;html=1;strokeColor=none;shadow=0;");
+b.geometry.relative=!0;b.geometry.offset=new mxPoint(-c*m*.35,10+(1-h)*m*.35);b.vertex=!0;b.style+=a(b.style,e,k,b,z);d.insert(b)}function Nc(a,b){return null==a||null==b||!a.includes(";"+b+"=")&&a.substring(0,b.length+1)!=b+"="?!1:!0}function Sd(a,b){function c(a){a=Math.round(parseInt("0x"+a)*b).toString(16);return 1==a.length?"0"+a:a}return"#"+c(a.substr(1,2))+c(a.substr(3,2))+c(a.substr(5,2))}function Sc(c,d,e){var k=q(c),g=k.Properties,n=g.BoundingBox,u=Math.round(.75*n.w),t=Math.round(.75*n.h),
+p=Math.round(.75*n.x+Sb),B=Math.round(.75*n.y+Tb);null==c.Class||"GCPInputDatabase"!==c.Class&&"GCPInputRecord"!==c.Class&&"GCPInputPayment"!==c.Class&&"GCPInputGateway"!==c.Class&&"GCPInputLocalCompute"!==c.Class&&"GCPInputBeacon"!==c.Class&&"GCPInputStorage"!==c.Class&&"GCPInputList"!==c.Class&&"GCPInputStream"!==c.Class&&"GCPInputMobileDevices"!==c.Class&&"GCPInputCircuitBoard"!==c.Class&&"GCPInputLive"!==c.Class&&"GCPInputUsers"!==c.Class&&"GCPInputLaptop"!==c.Class&&"GCPInputApplication"!==c.Class&&
+"GCPInputLightbulb"!==c.Class&&"GCPInputGame"!==c.Class&&"GCPInputDesktop"!==c.Class&&"GCPInputDesktopAndMobile"!==c.Class&&"GCPInputWebcam"!==c.Class&&"GCPInputSpeaker"!==c.Class&&"GCPInputRetail"!==c.Class&&"GCPInputReport"!==c.Class&&"GCPInputPhone"!==c.Class&&"GCPInputBlank"!==c.Class||(t+=20);v=new mxCell("",new mxGeometry(p,B,u,t),"html=1;overflow=block;blockSpacing=1;whiteSpace=wrap;");v.vertex=!0;v.zOrder=g.ZOrder;var ea=null!=c.Class?c.Class:null!=k?k.Class:null;switch(ea){case "BraceNoteBlock":case "UI2BraceNoteBlock":var ga=
+!1;null!=g.BraceDirection&&"Right"==g.BraceDirection&&(ga=!0);var ya=null,na=null;ga?(ya=new mxCell("",new mxGeometry(u-.125*t,0,.125*t,t),"shape=curlyBracket;rounded=1;"),na=new mxCell("",new mxGeometry(0,0,u-.125*t,t),"strokeColor=none;fillColor=none;")):(ya=new mxCell("",new mxGeometry(0,0,.125*t,t),"shape=curlyBracket;rounded=1;flipH=1;"),na=new mxCell("",new mxGeometry(.125*t,0,u-.125*t,t),"strokeColor=none;fillColor=none;"));v.style="strokeColor=none;fillColor=none;";v.style+=a(v.style,g,k,
+v);ya.vertex=!0;v.insert(ya);ya.style+=a(ya.style,g,k,ya);na.vertex=!0;na.value=f(g);v.insert(na);na.style+=a(na.style,g,k,na,z);break;case "BPMNAdvancedPoolBlockRotated":case "UMLMultiLanePoolRotatedBlock":case "UMLMultiLanePoolBlock":case "BPMNAdvancedPoolBlock":case "AdvancedSwimLaneBlockRotated":case "AdvancedSwimLaneBlock":case "UMLSwimLaneBlockV2":var ma="MainText",Cb=null,Qc="HeaderFill_",ud="BodyFill_",Ib=25,Kd=25,Mc=0;if(null!=g.Lanes)Mc=g.Lanes.length;else if(null!=g.PrimaryLane){for(var pe=
+function(a){if(a)32>a?a=32:208<a&&(a=208);else return 0;return.75*a},Mc=g.PrimaryLane.length,l=t=u=0;l<Mc;l++)u+=g.PrimaryLane[l];for(l=0;l<g.SecondaryLane.length;l++)t+=g.SecondaryLane[l];Ib=pe(g.PrimaryPoolTitleHeight);Kd=pe(g.PrimaryLaneTitleHeight);u*=.75;t=.75*t+Ib+Kd;v.geometry.width=u;v.geometry.height=t;ma="poolPrimaryTitleKey";Qc="PrimaryLaneHeaderFill_";ud="CellFill_0,";Cb=g.PrimaryLaneTextAreaIds;if(null==Cb)for(Cb=[],l=0;l<Mc;l++)Cb.push("Primary_"+l)}if(0==g.IsPrimaryLaneVertical){g.Rotation=
+-1.5707963267948966;var re=v.geometry.x,bf=v.geometry.y}var Ld=0!=g.Rotation,se=0<ea.indexOf("Pool"),tc=0==ea.indexOf("BPMN"),Md=null!=g[ma];v.style=(se?"swimlane;startSize="+Ib+";":"fillColor=none;strokeColor=none;pointerEvents=0;fontStyle=0;")+"html=1;whiteSpace=wrap;container=1;collapsible=0;childLayout=stackLayout;resizeParent=1;dropTarget=0;"+(Ld?"horizontalStack=0;":"");v.style+=a(v.style,g,k,v);Md&&(v.value=f(g[ma]),v.style+=(z?"overflow=block;blockSpacing=1;fontSize=13;"+Da:h(g[ma])+x(g[ma])+
+m(g[ma])+w(g[ma])+A(g[ma],v)+G(g[ma])+C(g[ma])+E(g[ma])+D(g[ma]))+K(g[ma])+S(g[ma]));for(var oe=0,Hb=[],uc="swimlane;html=1;whiteSpace=wrap;container=1;connectable=0;collapsible=0;fontStyle=0;startSize="+Kd+";dropTarget=0;rounded=0;"+(Ld?"horizontal=0;":"")+(tc?"swimlaneLine=0;fillColor=none;":""),O=g.Rotation=0;O<Mc;O++){if(null==Cb)var sd=parseFloat(g.Lanes[O].p),l=parseInt(g.Lanes[O].tid)||O,bb="Lane_"+l;else sd=.75*g.PrimaryLane[O]/u,l=O,bb=Cb[O];var qe=u*oe,td=se?Ib:0;Hb.push(new mxCell("",Ld?
+new mxGeometry(td,qe,t-td,u*sd):new mxGeometry(qe,td,u*sd,t-td),uc));Hb[O].vertex=!0;v.insert(Hb[O]);Hb[O].value=f(g[bb]);Hb[O].style+=a(Hb[O].style,g,k,Hb[O],z)+(z?"fontSize=13;":h(g[bb])+x(g[bb])+w(g[bb])+A(g[bb],Hb[O])+G(g[bb])+C(g[bb])+E(g[bb])+D(g[bb]))+K(g[bb])+S(g[bb])+Z(g[Qc+l])+T(g[ud+l]);oe+=sd}null!=re&&(v.geometry.x=re,v.geometry.y=bf);break;case "UMLMultidimensionalSwimlane":var $b=0,ac=0,Lc=null,Td=null;if(null!=g.Rows&&null!=g.Columns)var $b=g.Rows.length,ac=g.Columns.length,dc=.75*
+g.TitleHeight||25,Uc=.75*g.TitleWidth||25;else if(null!=g.PrimaryLane&&null!=g.SecondaryLane){$b=g.SecondaryLane.length;ac=g.PrimaryLane.length;Uc=.75*g.SecondaryLaneTitleHeight||25;dc=.75*g.PrimaryLaneTitleHeight||25;for(l=t=u=0;l<$b;l++)t+=g.SecondaryLane[l];for(l=0;l<ac;l++)u+=g.PrimaryLane[l];u=.75*u+Uc;t=.75*t+dc;v.geometry.width=u;v.geometry.height=t;Lc=g.SecondaryLaneTextAreaIds;Td=g.PrimaryLaneTextAreaIds}v.style="group;";var Ud=new mxCell("",new mxGeometry(0,dc,u,t-dc),"fillColor=none;strokeColor=none;html=1;whiteSpace=wrap;container=1;collapsible=0;childLayout=stackLayout;resizeParent=1;dropTarget=0;horizontalStack=0;");
+Ud.vertex=!0;var Vc=new mxCell("",new mxGeometry(Uc,0,u-Uc,t),"fillColor=none;strokeColor=none;html=1;whiteSpace=wrap;container=1;collapsible=0;childLayout=stackLayout;resizeParent=1;dropTarget=0;");Vc.vertex=!0;v.insert(Ud);v.insert(Vc);for(var B=0,cf="swimlane;html=1;whiteSpace=wrap;container=1;connectable=0;collapsible=0;dropTarget=0;horizontal=0;fontStyle=0;startSize="+Uc+";",O=0;O<$b;O++){if(null==Lc)var Vd=.75*parseInt(g.Rows[O].height),l=parseInt(g.Rows[O].id)||O,db="Row_"+l;else Vd=.75*g.SecondaryLane[O],
+db=Lc[O];var Jb=new mxCell("",new mxGeometry(0,B,u,Vd),cf),B=B+Vd;Jb.vertex=!0;Ud.insert(Jb);Jb.value=f(g[db]);Jb.style+=a(Jb.style,g,k,Jb,z)+(z?"fontSize=13;":h(g[db])+x(g[db])+w(g[db])+A(g[db],Jb)+G(g[db])+C(g[db])+E(g[db])+D(g[db]))+K(g[db])+S(g[db])}for(var Nc="swimlane;html=1;whiteSpace=wrap;container=1;connectable=0;collapsible=0;dropTarget=0;fontStyle=0;startSize="+dc+";",O=p=0;O<ac;O++){if(null==Td)var vc=.75*parseInt(g.Columns[O].width),l=parseInt(g.Columns[O].id)||O,eb="Column_"+l;else vc=
+.75*g.PrimaryLane[O],eb=Td[O];var Ub=new mxCell("",new mxGeometry(p,0,vc,t),Nc),p=p+vc;Ub.vertex=!0;Vc.insert(Ub);Ub.value=f(g[eb]);Ub.style+=a(Ub.style,g,k,Ub,z)+(z?"fontSize=13;":h(g[eb])+x(g[eb])+w(g[eb])+A(g[eb],Ub)+G(g[eb])+C(g[eb])+E(g[eb])+D(g[eb]))+K(g[eb])+S(g[eb])}break;case "UMLStateBlock":if(0==g.Composite)v.style="rounded=1;arcSize=20",v.value=f(g.State,!0),v.style+=a(v.style,g,k,v,z);else{v.style="swimlane;startSize=25;html=1;whiteSpace=wrap;container=1;collapsible=0;childLayout=stackLayout;resizeParent=1;dropTarget=0;rounded=1;arcSize=20;fontStyle=0;";
+v.value=f(g.State,!0);v.style+=a(v.style,g,k,v,z);v.style+=W(g,k).replace("fillColor","swimlaneFillColor");var Pa=new mxCell("",new mxGeometry(0,25,u,t-25),"rounded=1;arcSize=20;strokeColor=none;fillColor=none");Pa.value=f(g.Action,!0);Pa.style+=a(Pa.style,g,k,Pa,z);Pa.vertex=!0;v.insert(Pa)}break;case "GSDFDProcessBlock":var cc=Math.round(.75*g.nameHeight);v.style="shape=swimlane;html=1;rounded=1;arcSize=10;collapsible=0;fontStyle=0;startSize="+cc;v.value=f(g.Number,!0);v.style+=a(v.style,g,k,v,
+z);v.style+=W(g,k).replace("fillColor","swimlaneFillColor");Pa=new mxCell("",new mxGeometry(0,cc,u,t-cc),"rounded=1;arcSize=10;strokeColor=none;fillColor=none");Pa.value=f(g.Text,!0);Pa.style+=a(Pa.style,g,k,Pa,z);Pa.vertex=!0;v.insert(Pa);break;case "AndroidDevice":if(null!=g.AndroidDeviceName){var Ea=aa(g,k,v);v.style="fillColor=#000000;strokeColor=#000000;";var Kb=null,wc=null,xc=null;if("Tablet"==g.AndroidDeviceName||"Mini Tablet"==g.AndroidDeviceName||"custom"==g.AndroidDeviceName&&"Tablet"==
+g.CustomDeviceType)v.style+="shape=mxgraph.android.tab2;",Kb=new mxCell("",new mxGeometry(.112,.077,.77*u,.85*t),Ea),g.KeyboardShown&&(wc=new mxCell("",new mxGeometry(.112,.727,.77*u,.2*t),"shape=mxgraph.android.keyboard;"+Ea)),g.FullScreen||(xc=new mxCell("",new mxGeometry(.112,.077,.77*u,.03*t),"shape=mxgraph.android.statusBar;strokeColor=#33b5e5;fillColor=#000000;fontColor=#33b5e5;fontSize="+.015*t+";"+Ea));else if("Large Phone"==g.AndroidDeviceName||"Phone"==g.AndroidDeviceName||"custom"==g.AndroidDeviceName&&
+"Phone"==g.CustomDeviceType)v.style+="shape=mxgraph.android.phone2;",Kb=new mxCell("",new mxGeometry(.04,.092,.92*u,.816*t),Ea),g.KeyboardShown&&(wc=new mxCell("",new mxGeometry(.04,.708,.92*u,.2*t),"shape=mxgraph.android.keyboard;"+Ea)),g.FullScreen||(xc=new mxCell("",new mxGeometry(.04,.092,.92*u,.03*t),"shape=mxgraph.android.statusBar;strokeColor=#33b5e5;fillColor=#000000;fontColor=#33b5e5;fontSize="+.015*t+";"+Ea));Kb.vertex=!0;Kb.geometry.relative=!0;v.insert(Kb);"Dark"==g.Scheme?Kb.style+="fillColor=#111111;":
+"Light"==g.Scheme&&(Kb.style+="fillColor=#ffffff;");null!=wc&&(wc.vertex=!0,wc.geometry.relative=!0,v.insert(wc));null!=xc&&(xc.vertex=!0,xc.geometry.relative=!0,v.insert(xc))}v.style+=a(v.style,g,k,v);break;case "AndroidAlertDialog":var lb=new mxCell("",new mxGeometry(0,0,u,30),"strokeColor=none;fillColor=none;spacingLeft=9;");lb.vertex=!0;v.insert(lb);var ia=new mxCell("",new mxGeometry(0,25,u,10),"shape=line;strokeColor=#33B5E5;");ia.vertex=!0;v.insert(ia);var Wc=new mxCell("",new mxGeometry(0,
+30,u,t-30),"strokeColor=none;fillColor=none;verticalAlign=top;");Wc.vertex=!0;v.insert(Wc);var Aa=new mxCell("",new mxGeometry(0,t-25,.5*u,25),"fillColor=none;");Aa.vertex=!0;v.insert(Aa);var Ba=new mxCell("",new mxGeometry(.5*u,t-25,.5*u,25),"fillColor=none;");Ba.vertex=!0;v.insert(Ba);lb.value=f(g.DialogTitle);lb.style+=b(g.DialogTitle,z);Wc.value=f(g.DialogText);Wc.style+=b(g.DialogText,z);Aa.value=f(g.Button_0);Aa.style+=b(g.Button_0,z);Ba.value=f(g.Button_1);Ba.style+=b(g.Button_1,z);"Dark"==
+g.Scheme?(v.style+="strokeColor=#353535;fillColor=#282828;shadow=1;",Aa.style+="strokeColor=#353535;",Ba.style+="strokeColor=#353535;"):(v.style+="strokeColor=none;fillColor=#ffffff;shadow=1;",Aa.style+="strokeColor=#E2E2E2;",Ba.style+="strokeColor=#E2E2E2;");v.style+=a(v.style,g,k,v);break;case "AndroidDateDialog":case "AndroidTimeDialog":lb=new mxCell("",new mxGeometry(0,0,u,30),"strokeColor=none;fillColor=none;spacingLeft=9;");lb.vertex=!0;v.insert(lb);lb.value=f(g.DialogTitle);lb.style+=b(g.DialogTitle,
+z);ia=new mxCell("",new mxGeometry(0,25,u,10),"shape=line;strokeColor=#33B5E5;");ia.vertex=!0;v.insert(ia);Aa=new mxCell("",new mxGeometry(0,t-25,.5*u,25),"fillColor=none;");Aa.vertex=!0;v.insert(Aa);Aa.value=f(g.Button_0);Aa.style+=b(g.Button_0,z);Ba=new mxCell("",new mxGeometry(.5*u,t-25,.5*u,25),"fillColor=none;");Ba.vertex=!0;v.insert(Ba);Ba.value=f(g.Button_1);Ba.style+=b(g.Button_1,z);var yc=new mxCell("",new mxGeometry(.5*u-4,41,8,4),"shape=triangle;direction=north;");yc.vertex=!0;v.insert(yc);
+var zc=new mxCell("",new mxGeometry(.25*u-4,41,8,4),"shape=triangle;direction=north;");zc.vertex=!0;v.insert(zc);var Ac=new mxCell("",new mxGeometry(.75*u-4,41,8,4),"shape=triangle;direction=north;");Ac.vertex=!0;v.insert(Ac);var Xc=new mxCell("",new mxGeometry(.375*u,50,.2*u,15),"strokeColor=none;fillColor=none;");Xc.vertex=!0;v.insert(Xc);Xc.value=f(g.Label_1);Xc.style+=b(g.Label_1,z);var Yc=new mxCell("",new mxGeometry(.125*u,50,.2*u,15),"strokeColor=none;fillColor=none;");Yc.vertex=!0;v.insert(Yc);
+Yc.value=f(g.Label_0);Yc.style+=b(g.Label_0,z);var Bc=null;"AndroidDateDialog"==c.Class&&(Bc=new mxCell("",new mxGeometry(.625*u,50,.2*u,15),"strokeColor=none;fillColor=none;"),Bc.vertex=!0,v.insert(Bc),Bc.value=f(g.Label_2),Bc.style+=b(g.Label_2,z));var Qa=new mxCell("",new mxGeometry(.43*u,60,.14*u,10),"shape=line;strokeColor=#33B5E5;");Qa.vertex=!0;v.insert(Qa);var Ra=new mxCell("",new mxGeometry(.18*u,60,.14*u,10),"shape=line;strokeColor=#33B5E5;");Ra.vertex=!0;v.insert(Ra);var Oc=new mxCell("",
+new mxGeometry(.68*u,60,.14*u,10),"shape=line;strokeColor=#33B5E5;");Oc.vertex=!0;v.insert(Oc);var Zc=new mxCell("",new mxGeometry(.375*u,65,.2*u,15),"strokeColor=none;fillColor=none;");Zc.vertex=!0;v.insert(Zc);Zc.value=f(g.Label_4);Zc.style+=b(g.Label_4,z);var Cc=null;"AndroidTimeDialog"==c.Class&&(Cc=new mxCell("",new mxGeometry(.3*u,65,.1*u,15),"strokeColor=none;fillColor=none;"),Cc.vertex=!0,v.insert(Cc),Cc.value=f(g.Label_Colon),Cc.style+=b(g.Label_Colon,z));var $c=new mxCell("",new mxGeometry(.125*
+u,65,.2*u,15),"strokeColor=none;fillColor=none;");$c.vertex=!0;v.insert($c);$c.value=f(g.Label_3);$c.style+=b(g.Label_3,z);var ad=new mxCell("",new mxGeometry(.625*u,65,.2*u,15),"strokeColor=none;fillColor=none;");ad.vertex=!0;v.insert(ad);ad.value=f(g.Label_5);ad.style+=b(g.Label_5,z);var Pc=new mxCell("",new mxGeometry(.43*u,75,.14*u,10),"shape=line;strokeColor=#33B5E5;");Pc.vertex=!0;v.insert(Pc);var Rc=new mxCell("",new mxGeometry(.18*u,75,.14*u,10),"shape=line;strokeColor=#33B5E5;");Rc.vertex=
+!0;v.insert(Rc);var Sc=new mxCell("",new mxGeometry(.68*u,75,.14*u,10),"shape=line;strokeColor=#33B5E5;");Sc.vertex=!0;v.insert(Sc);var bd=new mxCell("",new mxGeometry(.375*u,80,.2*u,15),"strokeColor=none;fillColor=none;");bd.vertex=!0;v.insert(bd);bd.value=f(g.Label_7);bd.style+=b(g.Label_7,z);var cd=new mxCell("",new mxGeometry(.125*u,80,.2*u,15),"strokeColor=none;fillColor=none;");cd.vertex=!0;v.insert(cd);cd.value=f(g.Label_6);cd.style+=b(g.Label_6,z);var dd=new mxCell("",new mxGeometry(.625*
+u,80,.2*u,15),"strokeColor=none;fillColor=none;");dd.vertex=!0;v.insert(dd);dd.value=f(g.Label_8);dd.style+=b(g.Label_8,z);var Dc=new mxCell("",new mxGeometry(.5*u-4,99,8,4),"shape=triangle;direction=south;");Dc.vertex=!0;v.insert(Dc);var Ec=new mxCell("",new mxGeometry(.25*u-4,99,8,4),"shape=triangle;direction=south;");Ec.vertex=!0;v.insert(Ec);var Fc=new mxCell("",new mxGeometry(.75*u-4,99,8,4),"shape=triangle;direction=south;");Fc.vertex=!0;v.insert(Fc);"Dark"==g.Scheme?(v.style+="strokeColor=#353535;fillColor=#282828;shadow=1;",
+Aa.style+="strokeColor=#353535;",Ba.style+="strokeColor=#353535;",yc.style+="strokeColor=none;fillColor=#7E7E7E;",zc.style+="strokeColor=none;fillColor=#7E7E7E;",Ac.style+="strokeColor=none;fillColor=#7E7E7E;",Dc.style+="strokeColor=none;fillColor=#7E7E7E;",Ec.style+="strokeColor=none;fillColor=#7E7E7E;",Fc.style+="strokeColor=none;fillColor=#7E7E7E;"):(v.style+="strokeColor=none;fillColor=#ffffff;shadow=1;",Aa.style+="strokeColor=#E2E2E2;",Ba.style+="strokeColor=#E2E2E2;",yc.style+="strokeColor=none;fillColor=#939393;",
+zc.style+="strokeColor=none;fillColor=#939393;",Ac.style+="strokeColor=none;fillColor=#939393;",Dc.style+="strokeColor=none;fillColor=#939393;",Ec.style+="strokeColor=none;fillColor=#939393;",Fc.style+="strokeColor=none;fillColor=#939393;");v.style+=a(v.style,g,k,v);break;case "AndroidListItems":var Ma=t,Lb=0;if(g.ShowHeader){var Lb=8,ec=new mxCell("",new mxGeometry(0,0,u,Lb),"strokeColor=none;fillColor=none;");ec.vertex=!0;v.insert(ec);ec.value=f(g.Header);ec.style+=b(g.Header,z);var Ma=Ma-Lb,Tc=
+new mxCell("",new mxGeometry(0,Lb-2,u,4),"shape=line;strokeColor=#999999;");Tc.vertex=!0;v.insert(Tc)}var mb=parseInt(g.Items);0<mb&&(Ma/=mb);for(var H=[],ia=[],l=0;l<mb;l++)H[l]=new mxCell("",new mxGeometry(0,Lb+l*Ma,u,Ma),"strokeColor=none;fillColor=none;"),H[l].vertex=!0,v.insert(H[l]),H[l].value=f(g["Item_"+l]),H[l].style+=b(g["Item_"+l],z),0<l&&(ia[l]=new mxCell("",new mxGeometry(0,Lb+l*Ma-2,u,4),"shape=line;"),ia[l].vertex=!0,v.insert(ia[l]),ia[l].style="Dark"==g.Scheme?ia[l].style+"strokeColor=#ffffff;":
+ia[l].style+"strokeColor=#D9D9D9;");v.style="Dark"==g.Scheme?v.style+"strokeColor=none;fillColor=#111111;":v.style+"strokeColor=none;fillColor=#ffffff;";v.style+=a(v.style,g,k,v);break;case "AndroidTabs":var nb=parseInt(g.Tabs),Va=u;0<nb&&(Va/=nb);for(var oa=[],ia=[],l=0;l<nb;l++)oa[l]=new mxCell("",new mxGeometry(l*Va,0,Va,t),"strokeColor=none;fillColor=none;"),oa[l].vertex=!0,v.insert(oa[l]),oa[l].value=f(g["Tab_"+l]),oa[l].style+=b(g["Tab_"+l],z),0<l&&(ia[l]=new mxCell("",new mxGeometry(l*Va-2,
+.2*t,4,.6*t),"shape=line;direction=north;"),ia[l].vertex=!0,v.insert(ia[l]),ia[l].style="Dark"==g.Scheme?ia[l].style+"strokeColor=#484848;":ia[l].style+"strokeColor=#CCCCCC;");var ve=new mxCell("",new mxGeometry(g.Selected*Va+2,t-3,Va-4,3),"strokeColor=none;fillColor=#33B5E5;");ve.vertex=!0;v.insert(ve);v.style="Dark"==g.Scheme?v.style+"strokeColor=none;fillColor=#333333;":v.style+"strokeColor=none;fillColor=#DDDDDD;";v.style+=a(v.style,g,k,v);break;case "AndroidProgressBar":v=new mxCell("",new mxGeometry(Math.round(p),
+Math.round(B+.25*t),Math.round(u),Math.round(.5*t)),"html=1;overflow=block;blockSpacing=1;whiteSpace=wrap;");v.vertex=!0;var ed=new mxCell("",new mxGeometry(0,0,u*g.BarPosition,Math.round(.5*t)),"strokeColor=none;fillColor=#33B5E5;");ed.vertex=!0;v.insert(ed);v.style="Dark"==g.Scheme?v.style+"strokeColor=none;fillColor=#474747;":v.style+"strokeColor=none;fillColor=#BBBBBB;";v.style+=a(v.style,g,k,v);break;case "AndroidImageBlock":v.style="Dark"==g.Scheme?v.style+"shape=mxgraph.mockup.graphics.simpleIcon;strokeColor=#7E7E7E;fillColor=#111111;":
+v.style+"shape=mxgraph.mockup.graphics.simpleIcon;strokeColor=#939393;fillColor=#ffffff;";v.style+=a(v.style,g,k,v);break;case "AndroidTextBlock":v.style="Dark"==g.Scheme?g.ShowBorder?v.style+"fillColor=#111111;strokeColor=#ffffff;":v.style+"fillColor=#111111;strokeColor=none;":g.ShowBorder?v.style+"fillColor=#ffffff;strokeColor=#000000;":v.style+"fillColor=#ffffff;strokeColor=none;";v.value=f(g.Label);v.style+=b(g.Label,z);v.style+=a(v.style,g,k,v,z);break;case "AndroidActionBar":v.style+="strokeColor=none;";
+switch(g.BarBackground){case "Blue":v.style+="fillColor=#002E3E;";break;case "Gray":v.style+="fillColor=#DDDDDD;";break;case "Dark Gray":v.style+="fillColor=#474747;";break;case "White":v.style+="fillColor=#ffffff;"}if(g.HighlightShow){var Mb=null,Mb=g.HighlightTop?new mxCell("",new mxGeometry(0,0,u,2),"strokeColor=none;"):new mxCell("",new mxGeometry(0,t-2,u,2),"strokeColor=none;");Mb.vertex=!0;v.insert(Mb);switch(g.HighlightColor){case "Blue":Mb.style+="fillColor=#33B5E5;";break;case "Dark Gray":Mb.style+=
+"fillColor=#B0B0B0;";break;case "White":Mb.style+="fillColor=#ffffff;"}}if(g.VlignShow){var Gc=new mxCell("",new mxGeometry(20,5,2,t-10),"shape=line;direction=north;");Gc.vertex=!0;v.insert(Gc);switch(g.VlignColor){case "Blue":Gc.style+="strokeColor=#244C5A;";break;case "White":Gc.style+="strokeColor=#ffffff;"}}v.style+=a(v.style,g,k,v);break;case "AndroidButton":v.value=f(g.Label);v.style+=b(g.Label,z)+"shape=partialRectangle;left=0;right=0;";v.style="Dark"==g.Scheme?v.style+"fillColor=#474747;strokeColor=#C6C5C6;bottom=0;":
+v.style+"fillColor=#DFE0DF;strokeColor=#C6C5C6;top=0;";v.style+=a(v.style,g,k,v);break;case "AndroidTextBox":v.value=f(g.Label);v.style+=b(g.Label,z);var fd=new mxCell("",new mxGeometry(2,t-6,u-4,4),"shape=partialRectangle;top=0;fillColor=none;");fd.vertex=!0;v.insert(fd);v.style="Dark"==g.Scheme?v.style+"fillColor=#111111;strokeColor=none;":v.style+"fillColor=#ffffff;strokeColor=none;";fd.style=g.TextFocused?fd.style+"strokeColor=#33B5E5;":fd.style+"strokeColor=#A9A9A9;";v.style+=a(v.style,g,k,v);
+break;case "AndroidRadioButton":var fc=null;g.Checked&&(fc=new mxCell("",new mxGeometry(.15*u,.15*t,.7*u,.7*t),"ellipse;fillColor=#33B5E5;strokeWidth=1;"),fc.vertex=!0,v.insert(fc));"Dark"==g.Scheme?(v.style+="shape=ellipse;perimeter=ellipsePerimeter;strokeWidth=1;strokeColor=#272727;",g.Checked?(fc.style+="strokeColor=#1F5C73;",v.style+="fillColor=#193C49;"):v.style+="fillColor=#111111;"):(v.style+="shape=ellipse;perimeter=ellipsePerimeter;strokeWidth=1;fillColor=#ffffff;strokeColor=#5C5C5C;",g.Checked&&
+(fc.style+="strokeColor=#999999;"));v.style+=a(v.style,g,k,v);break;case "AndroidCheckBox":var Wd=null;g.Checked&&(Wd=new mxCell("",new mxGeometry(.25*u,.05*-t,u,.8*t),"shape=mxgraph.ios7.misc.check;strokeColor=#33B5E5;strokeWidth=2;"),Wd.vertex=!0,v.insert(Wd));v.style="Dark"==g.Scheme?v.style+"strokeWidth=1;strokeColor=#272727;fillColor=#111111;":v.style+"strokeWidth=1;strokeColor=#5C5C5C;fillColor=#ffffff;";v.style+=a(v.style,g,k,v);break;case "AndroidToggle":v.style="Dark"==g.Scheme?g.Checked?
+v.style+"shape=mxgraph.android.switch_on;fillColor=#666666;":v.style+"shape=mxgraph.android.switch_off;fillColor=#666666;":g.Checked?v.style+"shape=mxgraph.android.switch_on;fillColor=#E6E6E6;":v.style+"shape=mxgraph.android.switch_off;fillColor=#E6E6E6;";v.style+=a(v.style,g,k,v);break;case "AndroidSlider":v.style+="shape=mxgraph.android.progressScrubberFocused;dx="+g.BarPosition+";fillColor=#33b5e5;";v.style+=a(v.style,g,k,v);break;case "iOSSegmentedControl":nb=parseInt(g.Tabs);Va=u;v.style+="strokeColor=none;fillColor=none;";
+0<nb&&(Va/=nb);oa=[];ia=[];for(l=0;l<nb;l++)oa[l]=new mxCell("",new mxGeometry(l*Va,0,Va,t),"strokeColor="+g.FillColor+";"),oa[l].vertex=!0,v.insert(oa[l]),oa[l].value=f(g["Tab_"+l]),oa[l].style+=b(g["Tab_"+l],z),oa[l].style=g.Selected==l?oa[l].style+W(g,k):oa[l].style+"fillColor=none;";v.style+=a(v.style,g,k,v);break;case "iOSSlider":v.style+="shape=mxgraph.ios7ui.slider;strokeColor="+g.FillColor+";fillColor=#ffffff;strokeWidth=2;barPos="+100*g.BarPosition+";";v.style+=a(v.style,g,k,v);break;case "iOSProgressBar":v=
+new mxCell("",new mxGeometry(Math.round(p),Math.round(B+.25*t),Math.round(u),Math.round(.5*t)),"html=1;overflow=block;blockSpacing=1;whiteSpace=wrap;strokeColor=none;fillColor=#B5B5B5;");v.vertex=!0;ed=new mxCell("",new mxGeometry(0,0,u*g.BarPosition,Math.round(.5*t)),"strokeColor=none;"+W(g,k));ed.vertex=!0;v.insert(ed);v.style+=a(v.style,g,k,v);break;case "iOSPageControls":v.style+="shape=mxgraph.ios7ui.pageControl;strokeColor=#D6D6D6;";v.style+=a(v.style,g,k,v);break;case "iOSStatusBar":v.style+=
+"shape=mxgraph.ios7ui.appBar;strokeColor=#000000;";var X=new mxCell(f(g.Text),new mxGeometry(.35*u,0,.3*u,t),"strokeColor=none;fillColor=none;");X.vertex=!0;v.insert(X);X.style+=b(g.Text,z);var Sa=new mxCell(f(g.Carrier),new mxGeometry(.09*u,0,.2*u,t),"strokeColor=none;fillColor=none;");Sa.vertex=!0;v.insert(Sa);Sa.style+=b(g.Carrier,z);v.style+=a(v.style,g,k,v);break;case "iOSSearchBar":v.value=f(g.Search);v.style+="strokeColor=none;";v.style+=a(v.style,g,k,v,z)+b(g.Search,z);var ca=new mxCell("",
+new mxGeometry(.3*u,.3*t,.4*t,.4*t),"shape=mxgraph.ios7.icons.looking_glass;strokeColor=#000000;fillColor=none;");ca.vertex=!0;v.insert(ca);break;case "iOSNavBar":v.value=f(g.Title);v.style+="shape=partialRectangle;top=0;right=0;left=0;strokeColor=#979797;"+b(g.Title,z);v.style+=a(v.style,g,k,v,z);X=new mxCell(f(g.LeftText),new mxGeometry(.03*u,0,.3*u,t),"strokeColor=none;fillColor=none;");X.vertex=!0;v.insert(X);X.style+=b(g.LeftText,z);Sa=new mxCell(f(g.RightText),new mxGeometry(.65*u,0,.3*u,t),
+"strokeColor=none;fillColor=none;");Sa.vertex=!0;v.insert(Sa);Sa.style+=b(g.RightText,z);ca=new mxCell("",new mxGeometry(.02*u,.2*t,.3*t,.5*t),"shape=mxgraph.ios7.misc.left;strokeColor=#007AFF;strokeWidth=2;");ca.vertex=!0;v.insert(ca);break;case "iOSTabs":nb=parseInt(g.Tabs);Va=u;v.style+="shape=partialRectangle;right=0;left=0;bottom=0;strokeColor=#979797;";v.style+=a(v.style,g,k,v);0<nb&&(Va/=nb);oa=[];ia=[];for(l=0;l<nb;l++)oa[l]=new mxCell("",new mxGeometry(l*Va,0,Va,t),"strokeColor=none;"),oa[l].vertex=
+!0,v.insert(oa[l]),oa[l].value=f(g["Tab_"+l]),oa[l].style+=z?"overflow=block;blockSpacing=1;html=1;fontSize=13;"+Da:h(g["Tab_"+l])+m(g["Tab_"+l])+x(g["Tab_"+l])+w(g["Tab_"+l])+A(g["Tab_"+l])+G(g["Tab_"+l])+C(g["Tab_"+l])+E(g["Tab_"+l])+D(g["Tab_"+l])+K(g["Tab_"+l]),oa[l].style+="verticalAlign=bottom;",oa[l].style=g.Selected==l?oa[l].style+"fillColor=#BBBBBB;":oa[l].style+"fillColor=none;";break;case "iOSDatePicker":var ob=new mxCell("",new mxGeometry(0,0,.5*u,.2*t),"strokeColor=none;fillColor=none;");
+ob.vertex=!0;v.insert(ob);ob.value=f(g.Option11);ob.style+=b(g.Option11,z);var pb=new mxCell("",new mxGeometry(.5*u,0,.15*u,.2*t),"strokeColor=none;fillColor=none;");pb.vertex=!0;v.insert(pb);pb.value=f(g.Option21);pb.style+=b(g.Option21,z);var qb=new mxCell("",new mxGeometry(.65*u,0,.15*u,.2*t),"strokeColor=none;fillColor=none;");qb.vertex=!0;v.insert(qb);qb.value=f(g.Option31);qb.style+=b(g.Option31,z);var rb=new mxCell("",new mxGeometry(0,.2*t,.5*u,.2*t),"strokeColor=none;fillColor=none;");rb.vertex=
+!0;v.insert(rb);rb.value=f(g.Option12);rb.style+=b(g.Option12,z);var sb=new mxCell("",new mxGeometry(.5*u,.2*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");sb.vertex=!0;v.insert(sb);sb.value=f(g.Option22);sb.style+=b(g.Option22,z);var tb=new mxCell("",new mxGeometry(.65*u,.2*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");tb.vertex=!0;v.insert(tb);tb.value=f(g.Option32);tb.style+=b(g.Option32,z);var Ha=new mxCell("",new mxGeometry(0,.4*t,.5*u,.2*t),"strokeColor=none;fillColor=none;");Ha.vertex=
+!0;v.insert(Ha);Ha.value=f(g.Option13);Ha.style+=b(g.Option13,z);var Ia=new mxCell("",new mxGeometry(.5*u,.4*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");Ia.vertex=!0;v.insert(Ia);Ia.value=f(g.Option23);Ia.style+=b(g.Option23,z);var ub=new mxCell("",new mxGeometry(.65*u,.4*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");ub.vertex=!0;v.insert(ub);ub.value=f(g.Option33);ub.style+=b(g.Option33,z);var Ja=new mxCell("",new mxGeometry(.8*u,.4*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");Ja.vertex=
+!0;v.insert(Ja);Ja.value=f(g.Option43);Ja.style+=b(g.Option43,z);var Ka=new mxCell("",new mxGeometry(0,.6*t,.5*u,.2*t),"strokeColor=none;fillColor=none;");Ka.vertex=!0;v.insert(Ka);Ka.value=f(g.Option14);Ka.style+=b(g.Option14,z);var vb=new mxCell("",new mxGeometry(.5*u,.6*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");vb.vertex=!0;v.insert(vb);vb.value=f(g.Option24);vb.style+=b(g.Option24,z);var wb=new mxCell("",new mxGeometry(.65*u,.6*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");wb.vertex=
+!0;v.insert(wb);wb.value=f(g.Option34);wb.style+=b(g.Option34,z);var xb=new mxCell("",new mxGeometry(.8*u,.6*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");xb.vertex=!0;v.insert(xb);xb.value=f(g.Option44);xb.style+=b(g.Option44,z);var La=new mxCell("",new mxGeometry(0,.8*t,.5*u,.2*t),"strokeColor=none;fillColor=none;");La.vertex=!0;v.insert(La);La.value=f(g.Option15);La.style+=b(g.Option15,z);var yb=new mxCell("",new mxGeometry(.5*u,.8*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");yb.vertex=
+!0;v.insert(yb);yb.value=f(g.Option25);yb.style+=b(g.Option25,z);var zb=new mxCell("",new mxGeometry(.65*u,.8*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");zb.vertex=!0;v.insert(zb);zb.value=f(g.Option35);zb.style+=b(g.Option35,z);Qa=new mxCell("",new mxGeometry(0,.4*t-2,u,4),"shape=line;strokeColor=#888888;");Qa.vertex=!0;v.insert(Qa);Ra=new mxCell("",new mxGeometry(0,.6*t-2,u,4),"shape=line;strokeColor=#888888;");Ra.vertex=!0;v.insert(Ra);v.style+="strokeColor=none;";v.style+=a(v.style,g,k,
+v);break;case "iOSTimePicker":ob=new mxCell("",new mxGeometry(0,0,.25*u,.2*t),"strokeColor=none;fillColor=none;");ob.vertex=!0;v.insert(ob);ob.value=f(g.Option11);ob.style+=b(g.Option11,z);pb=new mxCell("",new mxGeometry(.25*u,0,.3*u,.2*t),"strokeColor=none;fillColor=none;");pb.vertex=!0;v.insert(pb);pb.value=f(g.Option21);pb.style+=b(g.Option21,z);rb=new mxCell("",new mxGeometry(0,.2*t,.25*u,.2*t),"strokeColor=none;fillColor=none;");rb.vertex=!0;v.insert(rb);rb.value=f(g.Option12);rb.style+=b(g.Option12,
+z);sb=new mxCell("",new mxGeometry(.25*u,.2*t,.3*u,.2*t),"strokeColor=none;fillColor=none;");sb.vertex=!0;v.insert(sb);sb.value=f(g.Option22);sb.style+=b(g.Option22,z);Ha=new mxCell("",new mxGeometry(0,.4*t,.25*u,.2*t),"strokeColor=none;fillColor=none;");Ha.vertex=!0;v.insert(Ha);Ha.value=f(g.Option13);Ha.style+=b(g.Option13,z);Ia=new mxCell("",new mxGeometry(.25*u,.4*t,.3*u,.2*t),"strokeColor=none;fillColor=none;");Ia.vertex=!0;v.insert(Ia);Ia.value=f(g.Option23);Ia.style+=b(g.Option23,z);Ja=new mxCell("",
+new mxGeometry(.7*u,.4*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");Ja.vertex=!0;v.insert(Ja);Ja.value=f(g.Option33);Ja.style+=b(g.Option33,z);Ka=new mxCell("",new mxGeometry(0,.6*t,.25*u,.2*t),"strokeColor=none;fillColor=none;");Ka.vertex=!0;v.insert(Ka);Ka.value=f(g.Option14);Ka.style+=b(g.Option14,z);vb=new mxCell("",new mxGeometry(.25*u,.6*t,.3*u,.2*t),"strokeColor=none;fillColor=none;");vb.vertex=!0;v.insert(vb);vb.value=f(g.Option24);vb.style+=b(g.Option24,z);xb=new mxCell("",new mxGeometry(.7*
+u,.6*t,.15*u,.2*t),"strokeColor=none;fillColor=none;");xb.vertex=!0;v.insert(xb);xb.value=f(g.Option34);xb.style+=b(g.Option34,z);La=new mxCell("",new mxGeometry(0,.8*t,.25*u,.2*t),"strokeColor=none;fillColor=none;");La.vertex=!0;v.insert(La);La.value=f(g.Option15);La.style+=b(g.Option15,z);yb=new mxCell("",new mxGeometry(.25*u,.8*t,.3*u,.2*t),"strokeColor=none;fillColor=none;");yb.vertex=!0;v.insert(yb);yb.value=f(g.Option25);yb.style+=b(g.Option25,z);Qa=new mxCell("",new mxGeometry(0,.4*t-2,u,4),
+"shape=line;strokeColor=#888888;");Qa.vertex=!0;v.insert(Qa);Ra=new mxCell("",new mxGeometry(0,.6*t-2,u,4),"shape=line;strokeColor=#888888;");Ra.vertex=!0;v.insert(Ra);v.style+="strokeColor=none;";v.style+=a(v.style,g,k,v);break;case "iOSCountdownPicker":qb=new mxCell("",new mxGeometry(.45*u,0,.2*u,.2*t),"strokeColor=none;fillColor=none;");qb.vertex=!0;v.insert(qb);qb.value=f(g.Option31);qb.style+=b(g.Option31,z);tb=new mxCell("",new mxGeometry(.45*u,.2*t,.2*u,.2*t),"strokeColor=none;fillColor=none;");
+tb.vertex=!0;v.insert(tb);tb.value=f(g.Option32);tb.style+=b(g.Option32,z);Ha=new mxCell("",new mxGeometry(0,.4*t,.25*u,.2*t),"strokeColor=none;fillColor=none;");Ha.vertex=!0;v.insert(Ha);Ha.value=f(g.Option13);Ha.style+=b(g.Option13,z);Ia=new mxCell("",new mxGeometry(.2*u,.4*t,.25*u,.2*t),"strokeColor=none;fillColor=none;");Ia.vertex=!0;v.insert(Ia);Ia.value=f(g.Option23);Ia.style+=b(g.Option23,z);ub=new mxCell("",new mxGeometry(.45*u,.4*t,.2*u,.2*t),"strokeColor=none;fillColor=none;");ub.vertex=
+!0;v.insert(ub);ub.value=f(g.Option33);ub.style+=b(g.Option33,z);Ja=new mxCell("",new mxGeometry(.6*u,.4*t,.2*u,.2*t),"strokeColor=none;fillColor=none;");Ja.vertex=!0;v.insert(Ja);Ja.value=f(g.Option43);Ja.style+=b(g.Option43,z);Ka=new mxCell("",new mxGeometry(0,.6*t,.25*u,.2*t),"strokeColor=none;fillColor=none;");Ka.vertex=!0;v.insert(Ka);Ka.value=f(g.Option14);Ka.style+=b(g.Option14,z);wb=new mxCell("",new mxGeometry(.45*u,.6*t,.2*u,.2*t),"strokeColor=none;fillColor=none;");wb.vertex=!0;v.insert(wb);
+wb.value=f(g.Option34);wb.style+=b(g.Option34,z);La=new mxCell("",new mxGeometry(0,.8*t,.25*u,.2*t),"strokeColor=none;fillColor=none;");La.vertex=!0;v.insert(La);La.value=f(g.Option15);La.style+=b(g.Option15,z);zb=new mxCell("",new mxGeometry(.45*u,.8*t,.2*u,.2*t),"strokeColor=none;fillColor=none;");zb.vertex=!0;v.insert(zb);zb.value=f(g.Option35);zb.style+=b(g.Option35,z);Qa=new mxCell("",new mxGeometry(0,.4*t-2,u,4),"shape=line;strokeColor=#888888;");Qa.vertex=!0;v.insert(Qa);Ra=new mxCell("",new mxGeometry(0,
+.6*t-2,u,4),"shape=line;strokeColor=#888888;");Ra.vertex=!0;v.insert(Ra);v.style+="strokeColor=none;";v.style+=a(v.style,g,k,v);break;case "iOSBasicCell":v.value=f(g.text);v.style+="shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;spacing=0;align=left;spacingLeft="+.75*g.SeparatorInset+";";v.style+=(z?"fontSize=13;":h(g.text)+x(g.text)+w(g.text))+S(g.text);v.style+=a(v.style,g,k,v,z);switch(g.AccessoryIndicatorType){case "Disclosure":ca=new mxCell("",new mxGeometry(.91*
+u,.35*t,.15*t,.3*t),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");ca.vertex=!0;v.insert(ca);break;case "DetailDisclosure":ca=new mxCell("",new mxGeometry(.91*u,.35*t,.15*t,.3*t),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");ca.vertex=!0;v.insert(ca);var ra=new mxCell("",new mxGeometry(.79*u,.25*t,.5*t,.5*t),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");ra.vertex=!0;v.insert(ra);break;case "DetailIndicator":ra=new mxCell("",new mxGeometry(.87*u,.25*t,.5*t,
+.5*t),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");ra.vertex=!0;v.insert(ra);break;case "CheckMark":ca=new mxCell("",new mxGeometry(.89*u,.37*t,.4*t,.26*t),"shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;"),ca.vertex=!0,v.insert(ca)}break;case "iOSSubtitleCell":v.style+="shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;align=left;spacing=0;verticalAlign=top;spacingLeft="+.75*g.SeparatorInset+";";v.value=f(g.subtext);v.style+=
+z?"fontSize=13;":h(g.subtext)+x(g.subtext)+w(g.subtext);v.style+=a(v.style,g,k,v,z);var ua=new mxCell("",new mxGeometry(0,.4*t,u,.6*t),"fillColor=none;strokeColor=none;spacing=0;align=left;verticalAlign=bottom;spacingLeft="+.75*g.SeparatorInset+";");ua.vertex=!0;v.insert(ua);ua.value=f(g.text);ua.style+=z?"html=1;fontSize=13;"+Da:h(g.text)+m(g.text)+x(g.text)+w(g.text);switch(g.AccessoryIndicatorType){case "Disclosure":ca=new mxCell("",new mxGeometry(.91*u,.35*t,.15*t,.3*t),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");
+ca.vertex=!0;v.insert(ca);break;case "DetailDisclosure":ca=new mxCell("",new mxGeometry(.91*u,.35*t,.15*t,.3*t),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");ca.vertex=!0;v.insert(ca);ra=new mxCell("",new mxGeometry(.79*u,.25*t,.5*t,.5*t),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");ra.vertex=!0;v.insert(ra);break;case "DetailIndicator":ra=new mxCell("",new mxGeometry(.87*u,.25*t,.5*t,.5*t),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");
+ra.vertex=!0;v.insert(ra);break;case "CheckMark":ca=new mxCell("",new mxGeometry(.89*u,.37*t,.4*t,.26*t),"shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;"),ca.vertex=!0,v.insert(ca)}break;case "iOSRightDetailCell":v.style+="shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;align=left;spacing=0;verticalAlign=middle;spacingLeft="+.75*g.SeparatorInset+";";v.value=f(g.subtext);v.style+=z?"fontSize=13;":h(g.subtext)+x(g.subtext)+w(g.subtext);v.style+=a(v.style,
+g,k,v,z);ua=null;switch(g.AccessoryIndicatorType){case "Disclosure":ca=new mxCell("",new mxGeometry(.91*u,.35*t,.15*t,.3*t),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");ca.vertex=!0;v.insert(ca);ua=new mxCell("",new mxGeometry(.55*u,0,.3*u,t),"fillColor=none;strokeColor=none;spacing=0;align=right;");break;case "DetailDisclosure":ca=new mxCell("",new mxGeometry(.91*u,.35*t,.15*t,.3*t),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");ca.vertex=!0;v.insert(ca);ra=new mxCell("",new mxGeometry(.79*
+u,.25*t,.5*t,.5*t),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");ra.vertex=!0;v.insert(ra);ua=new mxCell("",new mxGeometry(.45*u,0,.3*u,t),"fillColor=none;strokeColor=none;spacing=0;align=right;");break;case "DetailIndicator":ra=new mxCell("",new mxGeometry(.87*u,.25*t,.5*t,.5*t),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");ra.vertex=!0;v.insert(ra);ua=new mxCell("",new mxGeometry(.52*u,0,.3*u,t),"fillColor=none;strokeColor=none;spacing=0;align=right;");
+break;case "CheckMark":ca=new mxCell("",new mxGeometry(.89*u,.37*t,.4*t,.26*t),"shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;");ca.vertex=!0;v.insert(ca);ua=new mxCell("",new mxGeometry(.55*u,0,.3*u,t),"fillColor=none;strokeColor=none;spacing=0;align=right;");break;default:ua=new mxCell("",new mxGeometry(.65*u,0,.3*u,t),"fillColor=none;strokeColor=none;spacing=0;align=right;")}ua.vertex=!0;v.insert(ua);ua.value=f(g.text);ua.style+=z?"html=1;fontSize=13;"+Da:h(g.text)+m(g.text)+
+x(g.text)+w(g.text);break;case "iOSLeftDetailCell":v.style+="shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;";v.style+=a(v.style,g,k,v);var fb=new mxCell("",new mxGeometry(0,0,.25*u,t),"fillColor=none;strokeColor=none;spacing=0;align=right;verticalAlign=middle;spacingRight=3;");fb.vertex=!0;v.insert(fb);fb.value=f(g.subtext);fb.style+=z?"html=1;fontSize=13;"+Da:h(g.subtext)+m(g.subtext)+x(g.subtext)+w(g.subtext);ua=new mxCell("",new mxGeometry(.25*u,0,.5*u,t),"fillColor=none;strokeColor=none;spacing=0;align=left;verticalAlign=middle;spacingLeft=3;");
+ua.vertex=!0;v.insert(ua);ua.value=f(g.text);ua.style+=z?"html=1;fontSize=13;"+Da:h(g.text)+m(g.text)+x(g.text)+w(g.text);switch(g.AccessoryIndicatorType){case "Disclosure":ca=new mxCell("",new mxGeometry(.91*u,.35*t,.15*t,.3*t),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");ca.vertex=!0;v.insert(ca);break;case "DetailDisclosure":ca=new mxCell("",new mxGeometry(.91*u,.35*t,.15*t,.3*t),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");ca.vertex=!0;v.insert(ca);ra=new mxCell("",new mxGeometry(.79*
+u,.25*t,.5*t,.5*t),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");ra.vertex=!0;v.insert(ra);break;case "DetailIndicator":ra=new mxCell("",new mxGeometry(.87*u,.25*t,.5*t,.5*t),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");ra.vertex=!0;v.insert(ra);break;case "CheckMark":ca=new mxCell("",new mxGeometry(.89*u,.37*t,.4*t,.26*t),"shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;"),ca.vertex=!0,v.insert(ca)}break;case "iOSTableGroupedSectionBreak":v.style+=
+"shape=partialRectangle;left=0;right=0;fillColor=#EFEFF4;strokeColor=#C8C7CC;";X=new mxCell("",new mxGeometry(0,0,u,.4*t),"fillColor=none;strokeColor=none;spacing=10;align=left;");X.vertex=!0;v.insert(X);X.value=f(g.text);X.style+=z?"html=1;fontSize=13;"+Da:h(g.text)+m(g.text)+x(g.text)+w(g.text);Sa=new mxCell("",new mxGeometry(0,.6*t,u,.4*t),"fillColor=none;strokeColor=none;spacing=10;align=left;");Sa.vertex=!0;v.insert(Sa);Sa.value=f(g["bottom-text"]);Sa.style+=z?"html=1;fontSize=13;"+Da:h(g["bottom-text"])+
+m(g["bottom-text"])+x(g["bottom-text"])+w(g["bottom-text"]);break;case "iOSTablePlainHeaderFooter":v.style+="fillColor=#F7F7F7;strokeColor=none;align=left;spacingLeft=5;spacing=0;";v.value=f(g.text);v.style+=z?"fontSize=13;":h(g.text)+x(g.text)+w(g.text);v.style+=a(v.style,g,k,v,z);break;case "SMPage":if(g.Group){v.style+="strokeColor=none;fillColor=none;";var r=new mxCell("",new mxGeometry(0,0,.9*u,.9*t),"rounded=1;arcSize=3;part=1;");r.vertex=!0;v.insert(r);r.style+=I(g,k)+W(g,k)+R(g,k,r)+la(g)+
+Db(g);var y=new mxCell("",new mxGeometry(.1*u,.1*t,.9*u,.9*t),"rounded=1;arcSize=3;part=1;");y.vertex=!0;v.insert(y);y.value=f(g.Text);y.style+=I(g,k)+W(g,k)+R(g,k,y)+la(g)+Db(g)+b(g,z);g.Future&&(r.style+="dashed=1;fixDash=1;",y.style+="dashed=1;fixDash=1;")}else v.style+="rounded=1;arcSize=3;",g.Future&&(v.style+="dashed=1;fixDash=1;"),v.value=f(g.Text),v.style+=I(g,k)+W(g,k)+R(g,k,v)+la(g)+Db(g)+b(g,z);v.style+=a(v.style,g,k,v,z);break;case "SMHome":case "SMPrint":case "SMSearch":case "SMSettings":case "SMSitemap":case "SMSuccess":case "SMVideo":case "SMAudio":case "SMCalendar":case "SMChart":case "SMCloud":case "SMDocument":case "SMForm":case "SMGame":case "SMUpload":r=
null;switch(c.Class){case "SMHome":r=new mxCell("",new mxGeometry(.5*u-.4*t,.1*t,.8*t,.8*t),"part=1;shape=mxgraph.office.concepts.home;flipH=1;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMPrint":r=new mxCell("",new mxGeometry(.5*u-.4*t,.19*t,.8*t,.62*t),"part=1;shape=mxgraph.office.devices.printer;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMSearch":r=new mxCell("",new mxGeometry(.5*u-.4*t,.1*t,.8*t,.8*t),"part=1;shape=mxgraph.office.concepts.search;flipH=1;fillColor=#e6e6e6;opacity=50;strokeColor=none;");
break;case "SMSettings":r=new mxCell("",new mxGeometry(.5*u-.35*t,.15*t,.7*t,.7*t),"part=1;shape=mxgraph.mscae.enterprise.settings;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMSitemap":r=new mxCell("",new mxGeometry(.5*u-.35*t,.2*t,.7*t,.6*t),"part=1;shape=mxgraph.office.sites.site_collection;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMSuccess":r=new mxCell("",new mxGeometry(.5*u-.3*t,.25*t,.6*t,.5*t),"part=1;shape=mxgraph.mscae.general.checkmark;fillColor=#e6e6e6;opacity=50;strokeColor=none;");
break;case "SMVideo":r=new mxCell("",new mxGeometry(.5*u-.4*t,.2*t,.8*t,.6*t),"part=1;shape=mxgraph.office.concepts.video_play;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMAudio":r=new mxCell("",new mxGeometry(.5*u-.3*t,.2*t,.6*t,.6*t),"part=1;shape=mxgraph.mscae.general.audio;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMCalendar":r=new mxCell("",new mxGeometry(.5*u-.4*t,.15*t,.8*t,.7*t),"part=1;shape=mxgraph.office.concepts.form;fillColor=#e6e6e6;opacity=50;strokeColor=none;");
-break;case "SMChart":var J=Y(h,l),J=""==J?"#ffffff;":J.replace("fillColor=",""),r=new mxCell("",new mxGeometry(.5*u-.35*t,.15*t,.7*t,.7*t),"part=1;shape=mxgraph.ios7.icons.pie_chart;fillColor=#e6e6e6;fillOpacity=50;strokeWidth=4;strokeColor="+J);break;case "SMCloud":r=new mxCell("",new mxGeometry(.5*u-.4*t,.27*t,.8*t,.46*t),"part=1;shape=mxgraph.networks.cloud;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMDocument":r=new mxCell("",new mxGeometry(.5*u-.25*t,.15*t,.5*t,.7*t),"part=1;shape=mxgraph.mscae.enterprise.document;fillColor=#e6e6e6;opacity=50;strokeColor=none;");
+break;case "SMChart":var J=W(g,k),J=""==J?"#ffffff;":J.replace("fillColor=",""),r=new mxCell("",new mxGeometry(.5*u-.35*t,.15*t,.7*t,.7*t),"part=1;shape=mxgraph.ios7.icons.pie_chart;fillColor=#e6e6e6;fillOpacity=50;strokeWidth=4;strokeColor="+J);break;case "SMCloud":r=new mxCell("",new mxGeometry(.5*u-.4*t,.27*t,.8*t,.46*t),"part=1;shape=mxgraph.networks.cloud;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMDocument":r=new mxCell("",new mxGeometry(.5*u-.25*t,.15*t,.5*t,.7*t),"part=1;shape=mxgraph.mscae.enterprise.document;fillColor=#e6e6e6;opacity=50;strokeColor=none;");
break;case "SMForm":r=new mxCell("",new mxGeometry(.5*u-.4*t,.15*t,.8*t,.7*t),"part=1;shape=mxgraph.office.concepts.form;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMGame":r=new mxCell("",new mxGeometry(.5*u-.4*t,.2*t,.8*t,.6*t),"part=1;shape=mxgraph.mscae.general.game_controller;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMUpload":r=new mxCell("",new mxGeometry(.5*u-.4*t,.2*t,.8*t,.6*t),"part=1;shape=mxgraph.mscae.enterprise.backup_online;fillColor=#e6e6e6;opacity=50;strokeColor=none;")}r.vertex=
-!0;v.insert(r);r.value=g(h.Text);r.style+=b(h,z);v.style+=a(v.style,h,l,v);break;case "UMLMultiplicityBlock":v.style+="strokeColor=none;fillColor=none;";r=new mxCell("",new mxGeometry(.1*u,0,.9*u,.9*t),"part=1;");r.vertex=!0;v.insert(r);r.style+=a(r.style,h,l,r);y=new mxCell("",new mxGeometry(0,.1*t,.9*u,.9*t),"part=1;");y.vertex=!0;v.insert(y);y.value=g(h.Text);y.style+=b(h.Text,z);y.style+=a(y.style,h,l,y,z);break;case "UMLConstraintBlock":var Mb=new mxCell("",new mxGeometry(0,0,.25*t,t),"shape=curlyBracket;rounded=1;");
-Mb.vertex=!0;v.insert(Mb);var Nb=new mxCell("",new mxGeometry(u-.25*t,0,.25*t,t),"shape=curlyBracket;rounded=1;flipH=1;");Nb.vertex=!0;v.insert(Nb);ma=new mxCell("",new mxGeometry(.25*t,0,u-.5*t,t),"strokeColor=none;fillColor=none;");ma.vertex=!0;ma.value=g(h);v.insert(ma);v.style="strokeColor=none;fillColor=none;";v.style+=a(v.style,h,l,v);Mb.style+=R(h,l,Mb);Nb.style+=R(h,l,Nb);ma.style+=x(h,ma);Mb.style+=a(Mb.style,h,l,Mb);Nb.style+=a(Nb.style,h,l,Nb);ma.style+=a(ma.style,h,l,ma,z);break;case "UMLTextBlock":v.value=
-g(h.Text);v.style+="strokeColor=none;"+b(h.Text,z);v.style+=a(v.style,h,l,v,z);break;case "UMLProvidedInterfaceBlock":case "UMLProvidedInterfaceBlockV2":Ea=aa(h,l,v);h.Rotatio=null;var gb=a(v.style,h,l,v,z);-1==gb.indexOf(mxConstants.STYLE_STROKEWIDTH)&&(gb=mxConstants.STYLE_STROKEWIDTH+"=1;"+gb);v.style="group;dropTarget=0;"+Ea;var vd=.8*u,Od=u-vd,ec=new mxCell("",new mxGeometry(.2,0,vd,t),"shape=ellipse;"+gb);ec.vertex=!0;ec.geometry.relative=!0;v.insert(ec);ja=new mxCell("",new mxGeometry(0,.5,
-Od,1),"line;"+gb);ja.geometry.relative=!0;ja.vertex=!0;v.insert(ja);break;case "UMLComponentBoxBlock":case "UMLComponentBoxBlockV2":v.value=g(h);v.style="html=1;dropTarget=0;"+a(v.style,h,l,v,z);var Fa=new mxCell("",new mxGeometry(1,0,15,15),"shape=component;jettyWidth=8;jettyHeight=4;");Fa.geometry.relative=!0;Fa.geometry.offset=new mxPoint(-20,5);Fa.vertex=!0;v.insert(Fa);break;case "UMLAssemblyConnectorBlock":case "UMLAssemblyConnectorBlockV2":Ea=aa(h,l,v);h.Rotatio=null;gb=a(v.style,h,l,v,z);
--1==gb.indexOf(mxConstants.STYLE_STROKEWIDTH)&&(gb=mxConstants.STYLE_STROKEWIDTH+"=1;"+gb);v.style="group;dropTarget=0;"+Ea;var we=.225*u,xe=.1*u,vd=u-we-xe,ec=new mxCell("",new mxGeometry(.225,0,vd,t),"shape=providedRequiredInterface;verticalLabelPosition=bottom;"+gb);ec.vertex=!0;ec.geometry.relative=!0;v.insert(ec);Qa=new mxCell("",new mxGeometry(0,.5,we,1),"line;"+gb);Qa.geometry.relative=!0;Qa.vertex=!0;v.insert(Qa);Ra=new mxCell("",new mxGeometry(.9,.5,xe,1),"line;"+gb);Ra.geometry.relative=
-!0;Ra.vertex=!0;v.insert(Ra);break;case "BPMNActivity":v.value=g(h.Text);switch(h.bpmnActivityType){case 1:v.style+=b(h.Text,z);break;case 2:v.style+="shape=ext;double=1;"+b(h.Text,z);break;case 3:v.style+="shape=ext;dashed=1;dashPattern=2 5;"+b(h.Text,z);break;case 4:v.style+="shape=ext;strokeWidth=2;"+b(h.Text,z)}if(0!=h.bpmnTaskType){switch(h.bpmnTaskType){case 1:r=new mxCell("",new mxGeometry(0,0,19,12),"shape=message;");r.geometry.offset=new mxPoint(4,7);break;case 2:r=new mxCell("",new mxGeometry(0,
+!0;v.insert(r);r.value=f(g.Text);r.style+=b(g,z);v.style+=a(v.style,g,k,v);break;case "UMLMultiplicityBlock":v.style+="strokeColor=none;fillColor=none;";r=new mxCell("",new mxGeometry(.1*u,0,.9*u,.9*t),"part=1;");r.vertex=!0;v.insert(r);r.style+=a(r.style,g,k,r);y=new mxCell("",new mxGeometry(0,.1*t,.9*u,.9*t),"part=1;");y.vertex=!0;v.insert(y);y.value=f(g.Text);y.style+=b(g.Text,z);y.style+=a(y.style,g,k,y,z);break;case "UMLConstraintBlock":var Nb=new mxCell("",new mxGeometry(0,0,.25*t,t),"shape=curlyBracket;rounded=1;");
+Nb.vertex=!0;v.insert(Nb);var Ob=new mxCell("",new mxGeometry(u-.25*t,0,.25*t,t),"shape=curlyBracket;rounded=1;flipH=1;");Ob.vertex=!0;v.insert(Ob);na=new mxCell("",new mxGeometry(.25*t,0,u-.5*t,t),"strokeColor=none;fillColor=none;");na.vertex=!0;na.value=f(g);v.insert(na);v.style="strokeColor=none;fillColor=none;";v.style+=a(v.style,g,k,v);Nb.style+=R(g,k,Nb);Ob.style+=R(g,k,Ob);na.style+=x(g,na);Nb.style+=a(Nb.style,g,k,Nb);Ob.style+=a(Ob.style,g,k,Ob);na.style+=a(na.style,g,k,na,z);break;case "UMLTextBlock":v.value=
+f(g.Text);v.style+="strokeColor=none;"+b(g.Text,z);v.style+=a(v.style,g,k,v,z);break;case "UMLProvidedInterfaceBlock":case "UMLProvidedInterfaceBlockV2":Ea=aa(g,k,v);g.Rotatio=null;var gb=a(v.style,g,k,v,z);-1==gb.indexOf(mxConstants.STYLE_STROKEWIDTH)&&(gb=mxConstants.STYLE_STROKEWIDTH+"=1;"+gb);v.style="group;dropTarget=0;"+Ea;var vd=.8*u,Nd=u-vd,gc=new mxCell("",new mxGeometry(.2,0,vd,t),"shape=ellipse;"+gb);gc.vertex=!0;gc.geometry.relative=!0;v.insert(gc);ia=new mxCell("",new mxGeometry(0,.5,
+Nd,1),"line;"+gb);ia.geometry.relative=!0;ia.vertex=!0;v.insert(ia);break;case "UMLComponentBoxBlock":case "UMLComponentBoxBlockV2":v.value=f(g);v.style="html=1;dropTarget=0;"+a(v.style,g,k,v,z);var Fa=new mxCell("",new mxGeometry(1,0,15,15),"shape=component;jettyWidth=8;jettyHeight=4;");Fa.geometry.relative=!0;Fa.geometry.offset=new mxPoint(-20,5);Fa.vertex=!0;v.insert(Fa);break;case "UMLAssemblyConnectorBlock":case "UMLAssemblyConnectorBlockV2":Ea=aa(g,k,v);g.Rotatio=null;gb=a(v.style,g,k,v,z);
+-1==gb.indexOf(mxConstants.STYLE_STROKEWIDTH)&&(gb=mxConstants.STYLE_STROKEWIDTH+"=1;"+gb);v.style="group;dropTarget=0;"+Ea;var we=.225*u,xe=.1*u,vd=u-we-xe,gc=new mxCell("",new mxGeometry(.225,0,vd,t),"shape=providedRequiredInterface;verticalLabelPosition=bottom;"+gb);gc.vertex=!0;gc.geometry.relative=!0;v.insert(gc);Qa=new mxCell("",new mxGeometry(0,.5,we,1),"line;"+gb);Qa.geometry.relative=!0;Qa.vertex=!0;v.insert(Qa);Ra=new mxCell("",new mxGeometry(.9,.5,xe,1),"line;"+gb);Ra.geometry.relative=
+!0;Ra.vertex=!0;v.insert(Ra);break;case "BPMNActivity":v.value=f(g.Text);switch(g.bpmnActivityType){case 1:v.style+=b(g.Text,z);break;case 2:v.style+="shape=ext;double=1;"+b(g.Text,z);break;case 3:v.style+="shape=ext;dashed=1;dashPattern=2 5;"+b(g.Text,z);break;case 4:v.style+="shape=ext;strokeWidth=2;"+b(g.Text,z)}if(0!=g.bpmnTaskType){switch(g.bpmnTaskType){case 1:r=new mxCell("",new mxGeometry(0,0,19,12),"shape=message;");r.geometry.offset=new mxPoint(4,7);break;case 2:r=new mxCell("",new mxGeometry(0,
0,19,12),"shape=message;");r.geometry.offset=new mxPoint(4,7);break;case 3:r=new mxCell("",new mxGeometry(0,0,15,15),"shape=mxgraph.bpmn.user_task;");r.geometry.offset=new mxPoint(4,5);break;case 4:r=new mxCell("",new mxGeometry(0,0,15,10),"shape=mxgraph.bpmn.manual_task;");r.geometry.offset=new mxPoint(4,7);break;case 5:r=new mxCell("",new mxGeometry(0,0,18,13),"shape=mxgraph.bpmn.business_rule_task;");r.geometry.offset=new mxPoint(4,7);break;case 6:r=new mxCell("",new mxGeometry(0,0,15,15),"shape=mxgraph.bpmn.service_task;");
-r.geometry.offset=new mxPoint(4,5);break;case 7:r=new mxCell("",new mxGeometry(0,0,15,15),"shape=mxgraph.bpmn.script_task;"),r.geometry.offset=new mxPoint(4,5)}if(1==h.bpmnTaskType){var fc=Y(h,l),J=I(h,l),J=J.replace("strokeColor","fillColor"),fc=fc.replace("fillColor","strokeColor");""==J&&(J="fillColor=#000000;");""==fc&&(fc="strokeColor=#ffffff;");r.style+=fc+J+"part=1;"}else r.style+=Y(h,l)+I(h,l)+"part=1;";r.geometry.relative=!0;r.vertex=!0;v.insert(r)}var ed=0;0!=h.bpmnActivityMarker1&&ed++;
-0!=h.bpmnActivityMarker2&&ed++;var Ta=0;1==ed?Ta=-7.5:2==ed&&(Ta=-19);if(0!=h.bpmnActivityMarker1){switch(h.bpmnActivityMarker1){case 1:r=new mxCell("",new mxGeometry(.5,1,15,15),"shape=plus;part=1;");r.geometry.offset=new mxPoint(Ta,-20);r.style+=Y(h,l)+I(h,l);break;case 2:r=new mxCell("",new mxGeometry(.5,1,15,15),"shape=mxgraph.bpmn.loop;part=1;");r.geometry.offset=new mxPoint(Ta,-20);r.style+=Y(h,l)+I(h,l);break;case 3:r=new mxCell("",new mxGeometry(.5,1,15,15),"shape=parallelMarker;part=1;");
-r.geometry.offset=new mxPoint(Ta,-20);r.style+=Y(h,l)+I(h,l);break;case 4:r=new mxCell("",new mxGeometry(.5,1,15,15),"shape=parallelMarker;direction=south;part=1;");r.geometry.offset=new mxPoint(Ta,-20);r.style+=Y(h,l)+I(h,l);break;case 5:r=new mxCell("",new mxGeometry(.5,1,15,10),"shape=mxgraph.bpmn.ad_hoc;strokeColor=none;flipH=1;part=1;");r.geometry.offset=new mxPoint(Ta,-17);J=I(h,l);J=J.replace("strokeColor","fillColor");""==J&&(J="fillColor=#000000;");r.style+=J;break;case 6:r=new mxCell("",
-new mxGeometry(.5,1,15,11),"shape=mxgraph.bpmn.compensation;part=1;"),r.geometry.offset=new mxPoint(Ta,-18),r.style+=Y(h,l)+I(h,l)}r.geometry.relative=!0;r.vertex=!0;v.insert(r)}2==ed&&(Ta=5);if(0!=h.bpmnActivityMarker2){switch(h.bpmnActivityMarker2){case 1:r=new mxCell("",new mxGeometry(.5,1,15,15),"shape=plus;part=1;");r.geometry.offset=new mxPoint(Ta,-20);r.style+=Y(h,l)+I(h,l);break;case 2:r=new mxCell("",new mxGeometry(.5,1,15,15),"shape=mxgraph.bpmn.loop;part=1;");r.geometry.offset=new mxPoint(Ta,
--20);r.style+=Y(h,l)+I(h,l);break;case 3:r=new mxCell("",new mxGeometry(.5,1,15,15),"shape=parallelMarker;part=1;");r.geometry.offset=new mxPoint(Ta,-20);r.style+=Y(h,l)+I(h,l);break;case 4:r=new mxCell("",new mxGeometry(.5,1,15,15),"shape=parallelMarker;direction=south;part=1;");r.geometry.offset=new mxPoint(Ta,-20);r.style+=Y(h,l)+I(h,l);break;case 5:r=new mxCell("",new mxGeometry(.5,1,15,10),"shape=mxgraph.bpmn.ad_hoc;strokeColor=none;flipH=1;part=1;");r.geometry.offset=new mxPoint(Ta,-17);J=I(h,
-l);J=J.replace("strokeColor","fillColor");""==J&&(J="fillColor=#000000;");r.style+=J;break;case 6:r=new mxCell("",new mxGeometry(.5,1,15,11),"shape=mxgraph.bpmn.compensation;part=1;"),r.geometry.offset=new mxPoint(Ta,-18),r.style+=Y(h,l)+I(h,l)}r.geometry.relative=!0;r.vertex=!0;v.insert(r)}v.style+=a(v.style,h,l,v);break;case "BPMNEvent":v.style+="shape=mxgraph.bpmn.shape;verticalLabelPosition=bottom;verticalAlign=top;";v.value=g(h.Text);if(1==h.bpmnDashed)switch(h.bpmnEventGroup){case 0:v.style+=
-"outline=eventNonint;";break;case 1:v.style+="outline=boundNonint;";break;case 2:v.style+="outline=end;"}else switch(h.bpmnEventGroup){case 0:v.style+="outline=standard;";break;case 1:v.style+="outline=throwing;";break;case 2:v.style+="outline=end;"}switch(h.bpmnEventType){case 1:v.style+="symbol=message;";break;case 2:v.style+="symbol=timer;";break;case 3:v.style+="symbol=escalation;";break;case 4:v.style+="symbol=conditional;";break;case 5:v.style+="symbol=link;";break;case 6:v.style+="symbol=error;";
-break;case 7:v.style+="symbol=cancel;";break;case 8:v.style+="symbol=compensation;";break;case 9:v.style+="symbol=signal;";break;case 10:v.style+="symbol=multiple;";break;case 11:v.style+="symbol=parallelMultiple;";break;case 12:v.style+="symbol=terminate;"}v.style+=a(v.style,h,l,v,z);break;case "BPMNChoreography":try{var O=ia(h.FillColor),Pd=Td(O,.75),Ub=f(h.Name).match(/\d+/),ta=Math.max(mxUtils.getSizeForString(h.Name.t,Ub?Ub[0]:"13",null,u-10).height,24),O="swimlaneFillColor="+Pd+";";v.value=
-g(h.Name);v.style+="swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;"+O+"startSize="+ta+";spacingLeft=3;spacingRight=3;fontStyle=0;"+b(h.Name,z);v.style+=a(v.style,h,l,v,z);var hb=ta,Ub=f(h.TaskName).match(/\d+/),Bb=h.TaskHeight?.75*h.TaskHeight:Math.max(mxUtils.getSizeForString(h.TaskName.t,Ub?Ub[0]:"13",null,u-10).height+15,24),Ob=new mxCell("",new mxGeometry(0,hb,u,Bb),"part=1;html=1;resizeHeight=0;spacingTop=-1;spacingLeft=3;spacingRight=3;");
-Ob.value=g(h.TaskName);Ob.vertex=!0;v.insert(Ob);Ob.style+=b(h.TaskName,z);Ob.style+=a(Ob.style,h,l,Ob,z);hb+=Bb;H=[];for(k=0;k<h.Fields;k++){var wd=h["Participant"+(k+1)],Ub=f(wd).match(/\d+/),Bb=Math.max(mxUtils.getSizeForString(wd.t,Ub?Ub[0]:"13",null,u-10).height,24);H[k]=new mxCell("",new mxGeometry(0,hb,u,Bb),"part=1;html=1;resizeHeight=0;fillColor=none;spacingTop=-1;spacingLeft=3;spacingRight=3;");hb+=Bb;H[k].vertex=!0;v.insert(H[k]);H[k].style+=b(wd,z);H[k].style+=a(H[k].style,h,l,H[k],z);
-H[k].value=g(wd)}}catch(lb){console.log(lb)}break;case "BPMNConversation":v.style+="shape=hexagon;perimeter=hexagonPerimeter2;";v.value=g(h.Text);v.style=0==h.bpmnConversationType?v.style+Db(h):v.style+"strokeWidth=2;";h.bpmnIsSubConversation&&(r=new mxCell("",new mxGeometry(.5,1,12,12),"shape=plus;part=1;"),r.geometry.offset=new mxPoint(-6,-17),r.style+=Y(h,l)+I(h,l),r.geometry.relative=!0,r.vertex=!0,v.insert(r));v.style+=a(v.style,h,l,v,z);break;case "BPMNGateway":v.style+="shape=mxgraph.bpmn.shape;perimeter=rhombusPerimeter;background=gateway;verticalLabelPosition=bottom;verticalAlign=top;";
-switch(h.bpmnGatewayType){case 0:v.style+="outline=none;symbol=general;";break;case 1:v.style+="outline=none;symbol=exclusiveGw;";break;case 2:v.style+="outline=catching;symbol=multiple;";break;case 3:v.style+="outline=none;symbol=parallelGw;";break;case 4:v.style+="outline=end;symbol=general;";break;case 5:v.style+="outline=standard;symbol=multiple;";break;case 6:v.style+="outline=none;symbol=complexGw;";break;case 7:v.style+="outline=standard;symbol=parallelMultiple;"}v.style+=a(v.style,h,l,v);
-v.value=g(h.Text);v.style+=b(h,z);break;case "BPMNData":v.style+="shape=note;size=14;";switch(h.bpmnDataType){case 1:r=new mxCell("",new mxGeometry(.5,1,12,10),"shape=parallelMarker;part=1;");r.geometry.offset=new mxPoint(-6,-15);r.style+=Y(h,l)+I(h,l);r.geometry.relative=!0;r.vertex=!0;v.insert(r);break;case 2:r=new mxCell("",new mxGeometry(0,0,12,10),"shape=singleArrow;part=1;arrowWidth=0.4;arrowSize=0.4;");r.geometry.offset=new mxPoint(3,3);r.style+=Y(h,l)+I(h,l);r.geometry.relative=!0;r.vertex=
-!0;v.insert(r);v.style+="verticalLabelPosition=bottom;verticalAlign=top;";W=new mxCell("",new mxGeometry(0,0,u,20),"strokeColor=none;fillColor=none;");W.geometry.offset=new mxPoint(0,14);W.geometry.relative=!0;W.vertex=!0;v.insert(W);W.value=g(h.Text);W.style+=b(h,z);break;case 3:r=new mxCell("",new mxGeometry(0,0,12,10),"shape=singleArrow;part=1;arrowWidth=0.4;arrowSize=0.4;"),r.geometry.offset=new mxPoint(3,3),r.style+=I(h,l),r.geometry.relative=!0,r.vertex=!0,v.insert(r),J=I(h,l),J=J.replace("strokeColor",
-"fillColor"),""==J&&(J="fillColor=#000000;"),r.style+=J,W=new mxCell("",new mxGeometry(0,0,u,20),"strokeColor=none;fillColor=none;"),W.geometry.offset=new mxPoint(0,14),W.geometry.relative=!0,W.vertex=!0,v.insert(W),W.value=g(h.Text),W.style+=b(h,z)}v.style+=a(v.style,h,l,v);break;case "BPMNBlackPool":v.value=g(h.Text);v.style+=a(v.style,h,l,v,z);r=new mxCell("",new mxGeometry(0,0,u,t),"fillColor=#000000;strokeColor=none;opacity=30;");r.vertex=!0;v.insert(r);break;case "DFDExternalEntityBlock":v.style+=
-"strokeColor=none;fillColor=none;";v.style+=a(v.style,h,l,v);r=new mxCell("",new mxGeometry(0,0,.95*u,.95*t),"part=1;");r.vertex=!0;v.insert(r);r.style+=a(r.style,h,l,r);y=new mxCell("",new mxGeometry(.05*u,.05*t,.95*u,.95*t),"part=1;");y.vertex=!0;v.insert(y);y.value=g(h.Text);y.style+=b(h.Text,z);y.style+=a(y.style,h,l,y,z);break;case "GSDFDDataStoreBlock":v.value=g(h.Text);v.style+="shape=partialRectangle;right=0;"+b(h.Text,z);v.style+=a(v.style,h,l,v,z);r=new mxCell("",new mxGeometry(0,0,.2*u,
-t),"part=1;");r.vertex=!0;v.insert(r);r.value=g(h.Number);r.style+=b(h.Number,z);r.style+=a(r.style,h,l,r,z);break;case "DefaultTableBlock":try{for(var Zb=h.RowHeights.length,$b=h.ColWidths.length,xd=[],fd=[],k=0;k<Zb;k++)xd[k]=.75*h.RowHeights[k];for(P=0;P<$b;P++)fd[P]=.75*h.ColWidths[P];v.style="group;dropTarget=0;";var Xd=h.BandedColor1,Yd=h.BandedColor2,Qd=h.BandedRows,ye=h.BandedCols,yd=h.HideH,Rd=h.HideV,ze=h.TextVAlign,Ae=h.FillColor,Be=h.StrokeStyle;delete h.StrokeStyle;for(var Sd=va(Ae,"fillOpacity"),
-Ce=h.LineColor,cf=va(Ce,"strokeOpacity"),C=0,gd={},k=0;k<Zb;k++){p=0;t=xd[k];for(P=0;P<$b;P++){var $a=k+","+P;if(gd[$a])p+=fd[P];else{for(var Ba=h["CellFill_"+$a],Zd=h["NoBand_"+$a],zd=h["CellSize_"+$a],Cb=h["Cell_"+$a],De=h["Cell_"+$a+"_VAlign"],df=h["Cell_"+$a+"_TRotation"],ef=h["CellBorderWidthH_"+$a],ff=h["CellBorderColorH_"+$a],gf=h["CellBorderStrokeStyleH_"+$a],hf=h["CellBorderWidthV_"+$a],jf=h["CellBorderColorV_"+$a],kf=h["CellBorderStrokeStyleV_"+$a],Ee=yd?jf:ff,Fe=va(Ee,"strokeOpacity"),
-Ge=yd?hf:ef,gc=yd?kf:gf,Ba=Qd&&!Zd?0==k%2?Xd:ye&&!Zd?0==P%2?Xd:Yd:Yd:ye&&!Zd?0==P%2?Xd:Yd:Ba,lf=va(Ba,"fillOpacity")||Sd,u=fd[P],He=t,tc=u,ib=k+1;ib<k+zd.h;ib++)if(null!=xd[ib]){He+=xd[ib];gd[ib+","+P]=!0;for(var hc=P+1;hc<P+zd.w;hc++)gd[hc+","+P]=!0}for(ib=P+1;ib<P+zd.w;ib++)if(null!=fd[ib])for(tc+=fd[ib],gd[k+","+ib]=!0,hc=k+1;hc<k+zd.h;hc++)gd[hc+","+ib]=!0;var Q=new mxCell("",new mxGeometry(p,C,tc,He),"shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;"+(Rd?"left=0;right=0;":"")+(yd?
-"top=0;bottom=0;":"")+cb(mxConstants.STYLE_FILLCOLOR,ia(Ba),ia(Ae))+cb(mxConstants.STYLE_STROKECOLOR,ia(Ee),ia(Ce))+(null!=Ge?cb(mxConstants.STYLE_STROKEWIDTH,Math.round(.75*parseFloat(Ge)),"1"):"")+(Fe?Fe:cf)+lf+"verticalAlign="+(De?De:ze?ze:"middle")+";"+pc({StrokeStyle:gc?gc:Be?Be:"solid"})+(df?"horizontal=0;":""));Q.vertex=!0;Q.value=g(Cb);Q.style+=a(Q.style,h,l,Q,z)+(z?"fontSize=13;":f(Cb)+x(Cb)+w(Cb)+A(Cb,Q)+G(Cb)+B(Cb)+E(Cb)+D(Cb))+K(Cb)+S(Cb);v.insert(Q);p+=u}}C+=t}}catch(lb){}break;case "VSMDedicatedProcessBlock":case "VSMProductionControlBlock":v.style+=
-"shape=mxgraph.lean_mapping.manufacturing_process;spacingTop=15;";"VSMDedicatedProcessBlock"==c.Class?v.value=g(h.Text):"VSMProductionControlBlock"==c.Class&&(v.value=g(h.Resources));v.style+=a(v.style,h,l,v,z);"VSMDedicatedProcessBlock"==c.Class&&(r=new mxCell("",new mxGeometry(0,1,11,9),"part=1;shape=mxgraph.lean_mapping.operator;"),r.geometry.relative=!0,r.geometry.offset=new mxPoint(4,-13),r.vertex=!0,v.insert(r),r.style+=a(r.style,h,l,r));W=new mxCell("",new mxGeometry(0,0,u,15),"strokeColor=none;fillColor=none;part=1;");
-W.vertex=!0;v.insert(W);W.value=g(h.Title);W.style+=b(h.Title,z);h.Text=null;break;case "VSMSharedProcessBlock":v.style+="shape=mxgraph.lean_mapping.manufacturing_process_shared;spacingTop=-5;verticalAlign=top;";v.value=g(h.Text);v.style+=a(v.style,h,l,v,z);W=new mxCell("",new mxGeometry(.1*u,.3*t,.8*u,.6*t),"part=1;");W.vertex=!0;v.insert(W);W.value=g(h.Resource);W.style+=b(h.Resource,z);W.style+=a(W.style,h,l,W,z);break;case "VSMWorkcellBlock":v.style+="shape=mxgraph.lean_mapping.work_cell;verticalAlign=top;spacingTop=-2;";
-v.value=g(h.Text);v.style+=a(v.style,h,l,v,z);break;case "VSMSafetyBufferStockBlock":case "VSMDatacellBlock":v.style+="strokeColor=none;fillColor=none;";v.style+=a(v.style,h,l,v);Ma=t;nb=parseInt(h.Cells);O=a("part=1;",h,l,v);0<nb&&(Ma/=nb);H=[];ja=[];for(k=1;k<=nb;k++)H[k]=new mxCell("",new mxGeometry(0,(k-1)*Ma,u,Ma),O),H[k].vertex=!0,v.insert(H[k]),H[k].value=g(h["cell_"+k]),H[k].style+=b(h["cell_"+k],z);break;case "VSMInventoryBlock":v.style+="shape=mxgraph.lean_mapping.inventory_box;verticalLabelPosition=bottom;verticalAlign=top;";
-v.value=g(h.Text);v.style+=a(v.style,h,l,v,z);break;case "VSMSupermarketBlock":v.style+="strokeColor=none;";v.style+=a(v.style,h,l,v);Ma=t;nb=parseInt(h.Cells);O=a("part=1;fillColor=none;",h,l,v);0<nb&&(Ma/=nb);H=[];fb=[];for(k=1;k<=nb;k++)H[k]=new mxCell("",new mxGeometry(.5*u,(k-1)*Ma,.5*u,Ma),"shape=partialRectangle;left=0;"+O),H[k].vertex=!0,v.insert(H[k]),fb[k]=new mxCell("",new mxGeometry(0,(k-1)*Ma,u,Ma),"strokeColor=none;fillColor=none;part=1;"),fb[k].vertex=!0,v.insert(fb[k]),fb[k].value=
-g(h["cell_"+k]),fb[k].style+=b(h["cell_"+k],z);break;case "VSMFIFOLaneBlock":v.style+="shape=mxgraph.lean_mapping.fifo_sequence_flow;fontStyle=0;fontSize=18";v.style+=a(v.style,h,l,v);v.value="FIFO";break;case "VSMGoSeeProductionBlock":v.style+="shape=ellipse;perimeter=ellipsePerimeter;";v.value=g(h.Text);v.style+=a(v.style,h,l,v,z);r=new mxCell("",new mxGeometry(.17*u,.2*t,13,6),"shape=mxgraph.lean_mapping.go_see_production_scheduling;flipH=1;part=1;whiteSpace=wrap;html=1;");r.vertex=!0;v.insert(r);
-r.style+=a(r.style,h,l,r);break;case "VSMProductionKanbanBatchBlock":v.style+="strokeColor=none;fillColor=none;";O="shape=card;size=18;flipH=1;part=1;";r=new mxCell("",new mxGeometry(.1*u,0,.9*u,.8*t),"shape=mxgraph.lean_mapping.go_see_production_scheduling;flipH=1;part=1;"+O);r.vertex=!0;v.insert(r);r.style+=a(r.style,h,l,r);y=new mxCell("",new mxGeometry(.05*u,.1*t,.9*u,.8*t),"shape=mxgraph.lean_mapping.go_see_production_scheduling;flipH=1;part=1;"+O);y.vertex=!0;v.insert(y);y.style+=a(y.style,
-h,l,y);var F=new mxCell("",new mxGeometry(0,.2*t,.9*u,.8*t),"shape=mxgraph.lean_mapping.go_see_production_scheduling;flipH=1;part=1;whiteSpace=wrap;html=1;spacing=2;"+O);F.vertex=!0;v.insert(F);F.value=g(h.Text);F.style+=a(F.style,h,l,F,z);break;case "AWSRoundedRectangleContainerBlock2":v.style+="strokeColor=none;fillColor=none;";h.Spotfleet?(r=new mxCell("",new mxGeometry(0,0,u,t-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),
-r.geometry.offset=new mxPoint(0,20),r.geometry.relative=!0,r.vertex=!0,v.insert(r),r.value=g(h.Title),r.style+=a(r.style,h,l,r,z),y=new mxCell("",new mxGeometry(0,0,35,40),"strokeColor=none;shape=mxgraph.aws3.spot_instance;fillColor=#f58536;"),y.geometry.relative=!0,y.geometry.offset=new mxPoint(30,0),y.vertex=!0,v.insert(y)):h.Beanstalk?(r=new mxCell("",new mxGeometry(0,0,u,t-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),r.geometry.offset=
-new mxPoint(0,20),r.geometry.relative=!0,r.vertex=!0,v.insert(r),r.value=g(h.Title),r.style+=a(r.style,h,l,r,z),y=new mxCell("",new mxGeometry(0,0,30,40),"strokeColor=none;shape=mxgraph.aws3.elastic_beanstalk;fillColor=#759C3E;"),y.geometry.relative=!0,y.geometry.offset=new mxPoint(30,0),y.vertex=!0,v.insert(y)):h.EC2?(r=new mxCell("",new mxGeometry(0,0,u,t-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),r.geometry.offset=new mxPoint(0,
-20),r.geometry.relative=!0,r.vertex=!0,v.insert(r),r.value=g(h.Title),r.style+=a(r.style,h,l,r,z),y=new mxCell("",new mxGeometry(0,0,32,40),"strokeColor=none;shape=mxgraph.aws3.ec2;fillColor=#F58534;"),y.geometry.relative=!0,y.geometry.offset=new mxPoint(30,0),y.vertex=!0,v.insert(y)):h.Subnet?(r=new mxCell("",new mxGeometry(0,0,u,t-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),r.geometry.offset=new mxPoint(0,20),r.geometry.relative=
-!0,r.vertex=!0,v.insert(r),r.value=g(h.Title),r.style+=a(r.style,h,l,r,z),y=new mxCell("",new mxGeometry(0,0,32,40),"strokeColor=none;shape=mxgraph.aws3.permissions;fillColor=#146EB4;"),y.geometry.relative=!0,y.geometry.offset=new mxPoint(30,0),y.vertex=!0,v.insert(y)):h.VPC?(r=new mxCell("",new mxGeometry(0,0,u,t-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),r.geometry.offset=new mxPoint(0,20),r.geometry.relative=!0,r.vertex=
-!0,v.insert(r),r.value=g(h.Title),r.style+=a(r.style,h,l,r,z),y=new mxCell("",new mxGeometry(0,0,60,40),"strokeColor=none;shape=mxgraph.aws3.virtual_private_cloud;fillColor=#146EB4;"),y.geometry.relative=!0,y.geometry.offset=new mxPoint(30,0),y.vertex=!0,v.insert(y)):h.AWS?(r=new mxCell("",new mxGeometry(0,0,u,t-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),r.geometry.offset=new mxPoint(0,20),r.geometry.relative=!0,r.vertex=!0,
-v.insert(r),r.value=g(h.Title),r.style+=a(r.style,h,l,r,z),y=new mxCell("",new mxGeometry(0,0,60,40),"strokeColor=none;shape=mxgraph.aws3.cloud;fillColor=#F58534;"),y.geometry.relative=!0,y.geometry.offset=new mxPoint(30,0),y.vertex=!0,v.insert(y)):h.Corporate?(r=new mxCell("",new mxGeometry(0,0,u,t-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),r.geometry.offset=new mxPoint(0,20),r.geometry.relative=!0,r.vertex=!0,v.insert(r),
-r.value=g(h.Title),r.style+=a(r.style,h,l,r,z),y=new mxCell("",new mxGeometry(0,0,25,40),"strokeColor=none;shape=mxgraph.aws3.corporate_data_center;fillColor=#7D7C7C;"),y.geometry.relative=!0,y.geometry.offset=new mxPoint(30,0),y.vertex=!0,v.insert(y)):(v.style="resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;",v.value=g(h.Title),v.style+=a(v.style,h,l,v,z));break;case "AWSElasticComputeCloudBlock2":v.style+="strokeColor=none;shape=mxgraph.aws3.ec2;verticalLabelPosition=bottom;align=center;verticalAlign=top;";
-v.value=g(h.Title);v.style+=a(v.style,h,l,v,z);break;case "AWSRoute53Block2":v.style+="strokeColor=none;shape=mxgraph.aws3.route_53;verticalLabelPosition=bottom;align=center;verticalAlign=top;";v.value=g(h.Title);v.style+=a(v.style,h,l,v,z);break;case "AWSRDBSBlock2":v.style+="strokeColor=none;shape=mxgraph.aws3.rds;verticalLabelPosition=bottom;align=center;verticalAlign=top;";v.value=g(h.Title);v.style+=a(v.style,h,l,v,z);break;case "NET_RingNetwork":v.style+="strokeColor=none;fillColor=none;";Q=
-new mxCell("",new mxGeometry(.25*u,.25*t,.5*u,.5*t),"ellipse;html=1;strokeColor=#29AAE1;strokeWidth=2;");Q.vertex=!0;v.insert(Q);var ha=[Q];Q.style+=Y(h,l);var X=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=none;dashed=0;html=1;strokeColor=#29AAE1;strokeWidth=2;");X.geometry.relative=!0;X.edge=!0;Eb(.5*u,0,X,d,e,ha,v,Q);Eb(.855*u,.145*t,X,d,e,ha,v,Q);Eb(u,.5*t,X,d,e,ha,v,Q);Eb(.855*u,.855*t,X,d,e,ha,v,Q);Eb(.5*u,t,X,d,e,ha,v,Q);Eb(.145*u,.855*t,X,d,e,ha,v,Q);Eb(0,.5*t,
-X,d,e,ha,v,Q);Eb(.145*u,.145*t,X,d,e,ha,v,Q);break;case "NET_Ethernet":v.style+="strokeColor=none;fillColor=none;";Q=new mxCell("",new mxGeometry(0,.5*t-10,u,20),"shape=mxgraph.networks.bus;gradientColor=none;gradientDirection=north;fontColor=#ffffff;perimeter=backbonePerimeter;backboneSize=20;fillColor=#29AAE1;strokeColor=#29AAE1;");Q.vertex=!0;v.insert(Q);ha=[Q];X=new mxCell("",new mxGeometry(0,0,0,0),"strokeColor=#29AAE1;edgeStyle=none;rounded=0;endArrow=none;html=1;strokeWidth=2;");X.geometry.relative=
-!0;X.edge=!0;for(var ha=[Q],hd=u/h.NumTopNodes,k=0;k<h.NumTopNodes;k++)Eb(.5*hd+k*hd,0,X,d,e,ha,v,Q);hd=u/h.NumBottomNodes;for(k=0;k<h.NumBottomNodes;k++)Eb(.5*hd+k*hd,t,X,d,e,ha,v,Q);break;case "EE_OpAmp":v.style+="shape=mxgraph.electrical.abstract.operational_amp_1;";v.value=g(h.Title);v.style+=a(v.style,h,l,v,z);h.ToggleCharge&&(v.style+="flipV=1;");break;case "EIMessageChannelBlock":case "EIDatatypeChannelBlock":case "EIInvalidMessageChannelBlock":case "EIDeadLetterChannelBlock":case "EIGuaranteedDeliveryBlock":v.style+=
-"verticalLabelPosition=bottom;verticalAlign=top;";v.value=g(h.Text);v.style+=a(v.style,h,l,v,z);"EIMessageChannelBlock"==c.Class?(r=new mxCell("",new mxGeometry(.5,.5,.9*u,20),"shape=mxgraph.eip.messageChannel;fillColor=#818181;part=1;"),r.geometry.offset=new mxPoint(.45*-u,0)):"EIDatatypeChannelBlock"==c.Class?(r=new mxCell("",new mxGeometry(.5,.5,.9*u,20),"shape=mxgraph.eip.dataChannel;fillColor=#818181;part=1;"),r.geometry.offset=new mxPoint(.45*-u,0)):"EIInvalidMessageChannelBlock"==c.Class?(r=
+r.geometry.offset=new mxPoint(4,5);break;case 7:r=new mxCell("",new mxGeometry(0,0,15,15),"shape=mxgraph.bpmn.script_task;"),r.geometry.offset=new mxPoint(4,5)}if(1==g.bpmnTaskType){var hc=W(g,k),J=I(g,k),J=J.replace("strokeColor","fillColor"),hc=hc.replace("fillColor","strokeColor");""==J&&(J="fillColor=#000000;");""==hc&&(hc="strokeColor=#ffffff;");r.style+=hc+J+"part=1;"}else r.style+=W(g,k)+I(g,k)+"part=1;";r.geometry.relative=!0;r.vertex=!0;v.insert(r)}var gd=0;0!=g.bpmnActivityMarker1&&gd++;
+0!=g.bpmnActivityMarker2&&gd++;var Ta=0;1==gd?Ta=-7.5:2==gd&&(Ta=-19);if(0!=g.bpmnActivityMarker1){switch(g.bpmnActivityMarker1){case 1:r=new mxCell("",new mxGeometry(.5,1,15,15),"shape=plus;part=1;");r.geometry.offset=new mxPoint(Ta,-20);r.style+=W(g,k)+I(g,k);break;case 2:r=new mxCell("",new mxGeometry(.5,1,15,15),"shape=mxgraph.bpmn.loop;part=1;");r.geometry.offset=new mxPoint(Ta,-20);r.style+=W(g,k)+I(g,k);break;case 3:r=new mxCell("",new mxGeometry(.5,1,15,15),"shape=parallelMarker;part=1;");
+r.geometry.offset=new mxPoint(Ta,-20);r.style+=W(g,k)+I(g,k);break;case 4:r=new mxCell("",new mxGeometry(.5,1,15,15),"shape=parallelMarker;direction=south;part=1;");r.geometry.offset=new mxPoint(Ta,-20);r.style+=W(g,k)+I(g,k);break;case 5:r=new mxCell("",new mxGeometry(.5,1,15,10),"shape=mxgraph.bpmn.ad_hoc;strokeColor=none;flipH=1;part=1;");r.geometry.offset=new mxPoint(Ta,-17);J=I(g,k);J=J.replace("strokeColor","fillColor");""==J&&(J="fillColor=#000000;");r.style+=J;break;case 6:r=new mxCell("",
+new mxGeometry(.5,1,15,11),"shape=mxgraph.bpmn.compensation;part=1;"),r.geometry.offset=new mxPoint(Ta,-18),r.style+=W(g,k)+I(g,k)}r.geometry.relative=!0;r.vertex=!0;v.insert(r)}2==gd&&(Ta=5);if(0!=g.bpmnActivityMarker2){switch(g.bpmnActivityMarker2){case 1:r=new mxCell("",new mxGeometry(.5,1,15,15),"shape=plus;part=1;");r.geometry.offset=new mxPoint(Ta,-20);r.style+=W(g,k)+I(g,k);break;case 2:r=new mxCell("",new mxGeometry(.5,1,15,15),"shape=mxgraph.bpmn.loop;part=1;");r.geometry.offset=new mxPoint(Ta,
+-20);r.style+=W(g,k)+I(g,k);break;case 3:r=new mxCell("",new mxGeometry(.5,1,15,15),"shape=parallelMarker;part=1;");r.geometry.offset=new mxPoint(Ta,-20);r.style+=W(g,k)+I(g,k);break;case 4:r=new mxCell("",new mxGeometry(.5,1,15,15),"shape=parallelMarker;direction=south;part=1;");r.geometry.offset=new mxPoint(Ta,-20);r.style+=W(g,k)+I(g,k);break;case 5:r=new mxCell("",new mxGeometry(.5,1,15,10),"shape=mxgraph.bpmn.ad_hoc;strokeColor=none;flipH=1;part=1;");r.geometry.offset=new mxPoint(Ta,-17);J=I(g,
+k);J=J.replace("strokeColor","fillColor");""==J&&(J="fillColor=#000000;");r.style+=J;break;case 6:r=new mxCell("",new mxGeometry(.5,1,15,11),"shape=mxgraph.bpmn.compensation;part=1;"),r.geometry.offset=new mxPoint(Ta,-18),r.style+=W(g,k)+I(g,k)}r.geometry.relative=!0;r.vertex=!0;v.insert(r)}v.style+=a(v.style,g,k,v);break;case "BPMNEvent":v.style+="shape=mxgraph.bpmn.shape;verticalLabelPosition=bottom;verticalAlign=top;";v.value=f(g.Text);if(1==g.bpmnDashed)switch(g.bpmnEventGroup){case 0:v.style+=
+"outline=eventNonint;";break;case 1:v.style+="outline=boundNonint;";break;case 2:v.style+="outline=end;"}else switch(g.bpmnEventGroup){case 0:v.style+="outline=standard;";break;case 1:v.style+="outline=throwing;";break;case 2:v.style+="outline=end;"}switch(g.bpmnEventType){case 1:v.style+="symbol=message;";break;case 2:v.style+="symbol=timer;";break;case 3:v.style+="symbol=escalation;";break;case 4:v.style+="symbol=conditional;";break;case 5:v.style+="symbol=link;";break;case 6:v.style+="symbol=error;";
+break;case 7:v.style+="symbol=cancel;";break;case 8:v.style+="symbol=compensation;";break;case 9:v.style+="symbol=signal;";break;case 10:v.style+="symbol=multiple;";break;case 11:v.style+="symbol=parallelMultiple;";break;case 12:v.style+="symbol=terminate;"}v.style+=a(v.style,g,k,v,z);break;case "BPMNChoreography":try{var P=ja(g.FillColor),Od=Sd(P,.75),Vb=h(g.Name).match(/\d+/),va=Math.max(mxUtils.getSizeForString(g.Name.t,Vb?Vb[0]:"13",null,u-10).height,24),P="swimlaneFillColor="+Od+";";v.value=
+f(g.Name);v.style+="swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;"+P+"startSize="+va+";spacingLeft=3;spacingRight=3;fontStyle=0;"+b(g.Name,z);v.style+=a(v.style,g,k,v,z);var hb=va,Vb=h(g.TaskName).match(/\d+/),Ab=g.TaskHeight?.75*g.TaskHeight:Math.max(mxUtils.getSizeForString(g.TaskName.t,Vb?Vb[0]:"13",null,u-10).height+15,24),Pb=new mxCell("",new mxGeometry(0,hb,u,Ab),"part=1;html=1;resizeHeight=0;spacingTop=-1;spacingLeft=3;spacingRight=3;");
+Pb.value=f(g.TaskName);Pb.vertex=!0;v.insert(Pb);Pb.style+=b(g.TaskName,z);Pb.style+=a(Pb.style,g,k,Pb,z);hb+=Ab;H=[];for(l=0;l<g.Fields;l++){var wd=g["Participant"+(l+1)],Vb=h(wd).match(/\d+/),Ab=Math.max(mxUtils.getSizeForString(wd.t,Vb?Vb[0]:"13",null,u-10).height,24);H[l]=new mxCell("",new mxGeometry(0,hb,u,Ab),"part=1;html=1;resizeHeight=0;fillColor=none;spacingTop=-1;spacingLeft=3;spacingRight=3;");hb+=Ab;H[l].vertex=!0;v.insert(H[l]);H[l].style+=b(wd,z);H[l].style+=a(H[l].style,g,k,H[l],z);
+H[l].value=f(wd)}}catch(cb){console.log(cb)}break;case "BPMNConversation":v.style+="shape=hexagon;perimeter=hexagonPerimeter2;";v.value=f(g.Text);v.style=0==g.bpmnConversationType?v.style+Db(g):v.style+"strokeWidth=2;";g.bpmnIsSubConversation&&(r=new mxCell("",new mxGeometry(.5,1,12,12),"shape=plus;part=1;"),r.geometry.offset=new mxPoint(-6,-17),r.style+=W(g,k)+I(g,k),r.geometry.relative=!0,r.vertex=!0,v.insert(r));v.style+=a(v.style,g,k,v,z);break;case "BPMNGateway":v.style+="shape=mxgraph.bpmn.shape;perimeter=rhombusPerimeter;background=gateway;verticalLabelPosition=bottom;verticalAlign=top;";
+switch(g.bpmnGatewayType){case 0:v.style+="outline=none;symbol=general;";break;case 1:v.style+="outline=none;symbol=exclusiveGw;";break;case 2:v.style+="outline=catching;symbol=multiple;";break;case 3:v.style+="outline=none;symbol=parallelGw;";break;case 4:v.style+="outline=end;symbol=general;";break;case 5:v.style+="outline=standard;symbol=multiple;";break;case 6:v.style+="outline=none;symbol=complexGw;";break;case 7:v.style+="outline=standard;symbol=parallelMultiple;"}v.style+=a(v.style,g,k,v);
+v.value=f(g.Text);v.style+=b(g,z);break;case "BPMNData":v.style+="shape=note;size=14;";switch(g.bpmnDataType){case 1:r=new mxCell("",new mxGeometry(.5,1,12,10),"shape=parallelMarker;part=1;");r.geometry.offset=new mxPoint(-6,-15);r.style+=W(g,k)+I(g,k);r.geometry.relative=!0;r.vertex=!0;v.insert(r);break;case 2:r=new mxCell("",new mxGeometry(0,0,12,10),"shape=singleArrow;part=1;arrowWidth=0.4;arrowSize=0.4;");r.geometry.offset=new mxPoint(3,3);r.style+=W(g,k)+I(g,k);r.geometry.relative=!0;r.vertex=
+!0;v.insert(r);v.style+="verticalLabelPosition=bottom;verticalAlign=top;";X=new mxCell("",new mxGeometry(0,0,u,20),"strokeColor=none;fillColor=none;");X.geometry.offset=new mxPoint(0,14);X.geometry.relative=!0;X.vertex=!0;v.insert(X);X.value=f(g.Text);X.style+=b(g,z);break;case 3:r=new mxCell("",new mxGeometry(0,0,12,10),"shape=singleArrow;part=1;arrowWidth=0.4;arrowSize=0.4;"),r.geometry.offset=new mxPoint(3,3),r.style+=I(g,k),r.geometry.relative=!0,r.vertex=!0,v.insert(r),J=I(g,k),J=J.replace("strokeColor",
+"fillColor"),""==J&&(J="fillColor=#000000;"),r.style+=J,X=new mxCell("",new mxGeometry(0,0,u,20),"strokeColor=none;fillColor=none;"),X.geometry.offset=new mxPoint(0,14),X.geometry.relative=!0,X.vertex=!0,v.insert(X),X.value=f(g.Text),X.style+=b(g,z)}v.style+=a(v.style,g,k,v);break;case "BPMNBlackPool":v.value=f(g.Text);v.style+=a(v.style,g,k,v,z);r=new mxCell("",new mxGeometry(0,0,u,t),"fillColor=#000000;strokeColor=none;opacity=30;");r.vertex=!0;v.insert(r);break;case "DFDExternalEntityBlock":v.style+=
+"strokeColor=none;fillColor=none;";v.style+=a(v.style,g,k,v);r=new mxCell("",new mxGeometry(0,0,.95*u,.95*t),"part=1;");r.vertex=!0;v.insert(r);r.style+=a(r.style,g,k,r);y=new mxCell("",new mxGeometry(.05*u,.05*t,.95*u,.95*t),"part=1;");y.vertex=!0;v.insert(y);y.value=f(g.Text);y.style+=b(g.Text,z);y.style+=a(y.style,g,k,y,z);break;case "GSDFDDataStoreBlock":v.value=f(g.Text);v.style+="shape=partialRectangle;right=0;"+b(g.Text,z);v.style+=a(v.style,g,k,v,z);r=new mxCell("",new mxGeometry(0,0,.2*u,
+t),"part=1;");r.vertex=!0;v.insert(r);r.value=f(g.Number);r.style+=b(g.Number,z);r.style+=a(r.style,g,k,r,z);break;case "DefaultTableBlock":try{for(var $b=g.RowHeights.length,ac=g.ColWidths.length,xd=[],hd=[],l=0;l<$b;l++)xd[l]=.75*g.RowHeights[l];for(O=0;O<ac;O++)hd[O]=.75*g.ColWidths[O];v.style="group;dropTarget=0;";var Xd=g.BandedColor1,Yd=g.BandedColor2,Pd=g.BandedRows,ye=g.BandedCols,yd=g.HideH,Qd=g.HideV,ze=g.TextVAlign,Ae=g.FillColor,Be=g.StrokeStyle;delete g.StrokeStyle;for(var Rd=ta(Ae,"fillOpacity"),
+Ce=g.LineColor,df=ta(Ce,"strokeOpacity"),B=0,id={},l=0;l<$b;l++){p=0;t=xd[l];for(O=0;O<ac;O++){var Za=l+","+O;if(id[Za])p+=hd[O];else{for(var Ca=g["CellFill_"+Za],Zd=g["NoBand_"+Za],zd=g["CellSize_"+Za],Bb=g["Cell_"+Za],De=g["Cell_"+Za+"_VAlign"],ef=g["Cell_"+Za+"_TRotation"],ff=g["CellBorderWidthH_"+Za],gf=g["CellBorderColorH_"+Za],hf=g["CellBorderStrokeStyleH_"+Za],jf=g["CellBorderWidthV_"+Za],kf=g["CellBorderColorV_"+Za],lf=g["CellBorderStrokeStyleV_"+Za],Ee=yd?kf:gf,Fe=ta(Ee,"strokeOpacity"),
+Ge=yd?jf:ff,ic=yd?lf:hf,Ca=Pd&&!Zd?0==l%2?Xd:ye&&!Zd?0==O%2?Xd:Yd:Yd:ye&&!Zd?0==O%2?Xd:Yd:Ca,mf=ta(Ca,"fillOpacity")||Rd,u=hd[O],He=t,vc=u,$a=l+1;$a<l+zd.h;$a++)if(null!=xd[$a]){He+=xd[$a];id[$a+","+O]=!0;for(var jc=O+1;jc<O+zd.w;jc++)id[$a+","+jc]=!0}for($a=O+1;$a<O+zd.w;$a++)if(null!=hd[$a])for(vc+=hd[$a],id[l+","+$a]=!0,jc=l+1;jc<l+zd.h;jc++)id[jc+","+$a]=!0;var Q=new mxCell("",new mxGeometry(p,B,vc,He),"shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;"+(Qd?"left=0;right=0;":"")+(yd?
+"top=0;bottom=0;":"")+W({FillColor:Ca||Ae})+kb(mxConstants.STYLE_STROKECOLOR,ja(Ee),ja(Ce))+(null!=Ge?kb(mxConstants.STYLE_STROKEWIDTH,Math.round(.75*parseFloat(Ge)),"1"):"")+(Fe?Fe:df)+mf+"verticalAlign="+(De?De:ze?ze:"middle")+";"+rc({StrokeStyle:ic?ic:Be?Be:"solid"})+(ef?"horizontal=0;":""));Q.vertex=!0;Q.value=f(Bb);Q.style+=a(Q.style,g,k,Q,z)+(z?"fontSize=13;":h(Bb)+x(Bb)+w(Bb)+A(Bb,Q)+G(Bb)+C(Bb)+E(Bb)+D(Bb))+K(Bb)+S(Bb);v.insert(Q);p+=u}}B+=t}}catch(cb){console.log(cb)}break;case "VSMDedicatedProcessBlock":case "VSMProductionControlBlock":v.style+=
+"shape=mxgraph.lean_mapping.manufacturing_process;spacingTop=15;";"VSMDedicatedProcessBlock"==c.Class?v.value=f(g.Text):"VSMProductionControlBlock"==c.Class&&(v.value=f(g.Resources));v.style+=a(v.style,g,k,v,z);"VSMDedicatedProcessBlock"==c.Class&&(r=new mxCell("",new mxGeometry(0,1,11,9),"part=1;shape=mxgraph.lean_mapping.operator;"),r.geometry.relative=!0,r.geometry.offset=new mxPoint(4,-13),r.vertex=!0,v.insert(r),r.style+=a(r.style,g,k,r));X=new mxCell("",new mxGeometry(0,0,u,15),"strokeColor=none;fillColor=none;part=1;");
+X.vertex=!0;v.insert(X);X.value=f(g.Title);X.style+=b(g.Title,z);g.Text=null;break;case "VSMSharedProcessBlock":v.style+="shape=mxgraph.lean_mapping.manufacturing_process_shared;spacingTop=-5;verticalAlign=top;";v.value=f(g.Text);v.style+=a(v.style,g,k,v,z);X=new mxCell("",new mxGeometry(.1*u,.3*t,.8*u,.6*t),"part=1;");X.vertex=!0;v.insert(X);X.value=f(g.Resource);X.style+=b(g.Resource,z);X.style+=a(X.style,g,k,X,z);break;case "VSMWorkcellBlock":v.style+="shape=mxgraph.lean_mapping.work_cell;verticalAlign=top;spacingTop=-2;";
+v.value=f(g.Text);v.style+=a(v.style,g,k,v,z);break;case "VSMSafetyBufferStockBlock":case "VSMDatacellBlock":v.style+="strokeColor=none;fillColor=none;";v.style+=a(v.style,g,k,v);Ma=t;mb=parseInt(g.Cells);P=a("part=1;",g,k,v);0<mb&&(Ma/=mb);H=[];ia=[];for(l=1;l<=mb;l++)H[l]=new mxCell("",new mxGeometry(0,(l-1)*Ma,u,Ma),P),H[l].vertex=!0,v.insert(H[l]),H[l].value=f(g["cell_"+l]),H[l].style+=b(g["cell_"+l],z);break;case "VSMInventoryBlock":v.style+="shape=mxgraph.lean_mapping.inventory_box;verticalLabelPosition=bottom;verticalAlign=top;";
+v.value=f(g.Text);v.style+=a(v.style,g,k,v,z);break;case "VSMSupermarketBlock":v.style+="strokeColor=none;";v.style+=a(v.style,g,k,v);Ma=t;mb=parseInt(g.Cells);P=a("part=1;fillColor=none;",g,k,v);0<mb&&(Ma/=mb);H=[];fb=[];for(l=1;l<=mb;l++)H[l]=new mxCell("",new mxGeometry(.5*u,(l-1)*Ma,.5*u,Ma),"shape=partialRectangle;left=0;"+P),H[l].vertex=!0,v.insert(H[l]),fb[l]=new mxCell("",new mxGeometry(0,(l-1)*Ma,u,Ma),"strokeColor=none;fillColor=none;part=1;"),fb[l].vertex=!0,v.insert(fb[l]),fb[l].value=
+f(g["cell_"+l]),fb[l].style+=b(g["cell_"+l],z);break;case "VSMFIFOLaneBlock":v.style+="shape=mxgraph.lean_mapping.fifo_sequence_flow;fontStyle=0;fontSize=18";v.style+=a(v.style,g,k,v);v.value="FIFO";break;case "VSMGoSeeProductionBlock":v.style+="shape=ellipse;perimeter=ellipsePerimeter;";v.value=f(g.Text);v.style+=a(v.style,g,k,v,z);r=new mxCell("",new mxGeometry(.17*u,.2*t,13,6),"shape=mxgraph.lean_mapping.go_see_production_scheduling;flipH=1;part=1;whiteSpace=wrap;html=1;");r.vertex=!0;v.insert(r);
+r.style+=a(r.style,g,k,r);break;case "VSMProductionKanbanBatchBlock":v.style+="strokeColor=none;fillColor=none;";P="shape=card;size=18;flipH=1;part=1;";r=new mxCell("",new mxGeometry(.1*u,0,.9*u,.8*t),"shape=mxgraph.lean_mapping.go_see_production_scheduling;flipH=1;part=1;"+P);r.vertex=!0;v.insert(r);r.style+=a(r.style,g,k,r);y=new mxCell("",new mxGeometry(.05*u,.1*t,.9*u,.8*t),"shape=mxgraph.lean_mapping.go_see_production_scheduling;flipH=1;part=1;"+P);y.vertex=!0;v.insert(y);y.style+=a(y.style,
+g,k,y);var F=new mxCell("",new mxGeometry(0,.2*t,.9*u,.8*t),"shape=mxgraph.lean_mapping.go_see_production_scheduling;flipH=1;part=1;whiteSpace=wrap;html=1;spacing=2;"+P);F.vertex=!0;v.insert(F);F.value=f(g.Text);F.style+=a(F.style,g,k,F,z);break;case "AWSRoundedRectangleContainerBlock2":v.style+="strokeColor=none;fillColor=none;";g.Spotfleet?(r=new mxCell("",new mxGeometry(0,0,u,t-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),
+r.geometry.offset=new mxPoint(0,20),r.geometry.relative=!0,r.vertex=!0,v.insert(r),r.value=f(g.Title),r.style+=a(r.style,g,k,r,z),y=new mxCell("",new mxGeometry(0,0,35,40),"strokeColor=none;shape=mxgraph.aws3.spot_instance;fillColor=#f58536;"),y.geometry.relative=!0,y.geometry.offset=new mxPoint(30,0),y.vertex=!0,v.insert(y)):g.Beanstalk?(r=new mxCell("",new mxGeometry(0,0,u,t-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),r.geometry.offset=
+new mxPoint(0,20),r.geometry.relative=!0,r.vertex=!0,v.insert(r),r.value=f(g.Title),r.style+=a(r.style,g,k,r,z),y=new mxCell("",new mxGeometry(0,0,30,40),"strokeColor=none;shape=mxgraph.aws3.elastic_beanstalk;fillColor=#759C3E;"),y.geometry.relative=!0,y.geometry.offset=new mxPoint(30,0),y.vertex=!0,v.insert(y)):g.EC2?(r=new mxCell("",new mxGeometry(0,0,u,t-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),r.geometry.offset=new mxPoint(0,
+20),r.geometry.relative=!0,r.vertex=!0,v.insert(r),r.value=f(g.Title),r.style+=a(r.style,g,k,r,z),y=new mxCell("",new mxGeometry(0,0,32,40),"strokeColor=none;shape=mxgraph.aws3.ec2;fillColor=#F58534;"),y.geometry.relative=!0,y.geometry.offset=new mxPoint(30,0),y.vertex=!0,v.insert(y)):g.Subnet?(r=new mxCell("",new mxGeometry(0,0,u,t-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),r.geometry.offset=new mxPoint(0,20),r.geometry.relative=
+!0,r.vertex=!0,v.insert(r),r.value=f(g.Title),r.style+=a(r.style,g,k,r,z),y=new mxCell("",new mxGeometry(0,0,32,40),"strokeColor=none;shape=mxgraph.aws3.permissions;fillColor=#146EB4;"),y.geometry.relative=!0,y.geometry.offset=new mxPoint(30,0),y.vertex=!0,v.insert(y)):g.VPC?(r=new mxCell("",new mxGeometry(0,0,u,t-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),r.geometry.offset=new mxPoint(0,20),r.geometry.relative=!0,r.vertex=
+!0,v.insert(r),r.value=f(g.Title),r.style+=a(r.style,g,k,r,z),y=new mxCell("",new mxGeometry(0,0,60,40),"strokeColor=none;shape=mxgraph.aws3.virtual_private_cloud;fillColor=#146EB4;"),y.geometry.relative=!0,y.geometry.offset=new mxPoint(30,0),y.vertex=!0,v.insert(y)):g.AWS?(r=new mxCell("",new mxGeometry(0,0,u,t-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),r.geometry.offset=new mxPoint(0,20),r.geometry.relative=!0,r.vertex=!0,
+v.insert(r),r.value=f(g.Title),r.style+=a(r.style,g,k,r,z),y=new mxCell("",new mxGeometry(0,0,60,40),"strokeColor=none;shape=mxgraph.aws3.cloud;fillColor=#F58534;"),y.geometry.relative=!0,y.geometry.offset=new mxPoint(30,0),y.vertex=!0,v.insert(y)):g.Corporate?(r=new mxCell("",new mxGeometry(0,0,u,t-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),r.geometry.offset=new mxPoint(0,20),r.geometry.relative=!0,r.vertex=!0,v.insert(r),
+r.value=f(g.Title),r.style+=a(r.style,g,k,r,z),y=new mxCell("",new mxGeometry(0,0,25,40),"strokeColor=none;shape=mxgraph.aws3.corporate_data_center;fillColor=#7D7C7C;"),y.geometry.relative=!0,y.geometry.offset=new mxPoint(30,0),y.vertex=!0,v.insert(y)):(v.style="resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;",v.value=f(g.Title),v.style+=a(v.style,g,k,v,z));break;case "AWSElasticComputeCloudBlock2":v.style+="strokeColor=none;shape=mxgraph.aws3.ec2;verticalLabelPosition=bottom;align=center;verticalAlign=top;";
+v.value=f(g.Title);v.style+=a(v.style,g,k,v,z);break;case "AWSRoute53Block2":v.style+="strokeColor=none;shape=mxgraph.aws3.route_53;verticalLabelPosition=bottom;align=center;verticalAlign=top;";v.value=f(g.Title);v.style+=a(v.style,g,k,v,z);break;case "AWSRDBSBlock2":v.style+="strokeColor=none;shape=mxgraph.aws3.rds;verticalLabelPosition=bottom;align=center;verticalAlign=top;";v.value=f(g.Title);v.style+=a(v.style,g,k,v,z);break;case "NET_RingNetwork":v.style+="strokeColor=none;fillColor=none;";Q=
+new mxCell("",new mxGeometry(.25*u,.25*t,.5*u,.5*t),"ellipse;html=1;strokeColor=#29AAE1;strokeWidth=2;");Q.vertex=!0;v.insert(Q);var fa=[Q];Q.style+=W(g,k);var Y=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=none;dashed=0;html=1;strokeColor=#29AAE1;strokeWidth=2;");Y.geometry.relative=!0;Y.edge=!0;Eb(.5*u,0,Y,d,e,fa,v,Q);Eb(.855*u,.145*t,Y,d,e,fa,v,Q);Eb(u,.5*t,Y,d,e,fa,v,Q);Eb(.855*u,.855*t,Y,d,e,fa,v,Q);Eb(.5*u,t,Y,d,e,fa,v,Q);Eb(.145*u,.855*t,Y,d,e,fa,v,Q);Eb(0,.5*t,
+Y,d,e,fa,v,Q);Eb(.145*u,.145*t,Y,d,e,fa,v,Q);break;case "NET_Ethernet":v.style+="strokeColor=none;fillColor=none;";Q=new mxCell("",new mxGeometry(0,.5*t-10,u,20),"shape=mxgraph.networks.bus;gradientColor=none;gradientDirection=north;fontColor=#ffffff;perimeter=backbonePerimeter;backboneSize=20;fillColor=#29AAE1;strokeColor=#29AAE1;");Q.vertex=!0;v.insert(Q);fa=[Q];Y=new mxCell("",new mxGeometry(0,0,0,0),"strokeColor=#29AAE1;edgeStyle=none;rounded=0;endArrow=none;html=1;strokeWidth=2;");Y.geometry.relative=
+!0;Y.edge=!0;for(var fa=[Q],jd=u/g.NumTopNodes,l=0;l<g.NumTopNodes;l++)Eb(.5*jd+l*jd,0,Y,d,e,fa,v,Q);jd=u/g.NumBottomNodes;for(l=0;l<g.NumBottomNodes;l++)Eb(.5*jd+l*jd,t,Y,d,e,fa,v,Q);break;case "EE_OpAmp":v.style+="shape=mxgraph.electrical.abstract.operational_amp_1;";v.value=f(g.Title);v.style+=a(v.style,g,k,v,z);g.ToggleCharge&&(v.style+="flipV=1;");break;case "EIMessageChannelBlock":case "EIDatatypeChannelBlock":case "EIInvalidMessageChannelBlock":case "EIDeadLetterChannelBlock":case "EIGuaranteedDeliveryBlock":v.style+=
+"verticalLabelPosition=bottom;verticalAlign=top;";v.value=f(g.Text);v.style+=a(v.style,g,k,v,z);"EIMessageChannelBlock"==c.Class?(r=new mxCell("",new mxGeometry(.5,.5,.9*u,20),"shape=mxgraph.eip.messageChannel;fillColor=#818181;part=1;"),r.geometry.offset=new mxPoint(.45*-u,0)):"EIDatatypeChannelBlock"==c.Class?(r=new mxCell("",new mxGeometry(.5,.5,.9*u,20),"shape=mxgraph.eip.dataChannel;fillColor=#818181;part=1;"),r.geometry.offset=new mxPoint(.45*-u,0)):"EIInvalidMessageChannelBlock"==c.Class?(r=
new mxCell("",new mxGeometry(.5,.5,.9*u,20),"shape=mxgraph.eip.invalidMessageChannel;fillColor=#818181;part=1;"),r.geometry.offset=new mxPoint(.45*-u,0)):"EIDeadLetterChannelBlock"==c.Class?(r=new mxCell("",new mxGeometry(.5,.5,.9*u,20),"shape=mxgraph.eip.deadLetterChannel;fillColor=#818181;part=1;"),r.geometry.offset=new mxPoint(.45*-u,0)):"EIGuaranteedDeliveryBlock"==c.Class&&(r=new mxCell("",new mxGeometry(.5,.5,20,27),"shape=cylinder;fillColor=#818181;part=1;"),r.geometry.offset=new mxPoint(-10,
--7));r.geometry.relative=!0;r.vertex=!0;v.insert(r);r.style+=a(r.style,h,l,r);X=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");X.geometry.relative=!0;X.edge=!0;wa(.15*u,.25*t,.85*u,.25*t,X,d,e,ha,v,Q);break;case "EIChannelAdapterBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=g(h.Text);v.style+=a(v.style,h,l,v,z);r=new mxCell("",new mxGeometry(0,.07*t,.21*u,.86*t),"fillColor=#FFFF33;part=1;");
-r.vertex=!0;v.insert(r);r.style+=a(r.style,h,l,r);y=new mxCell("",new mxGeometry(.26*u,.09*t,.2*u,.82*t),"shape=mxgraph.eip.channel_adapter;fillColor=#4CA3D9;part=1;");y.vertex=!0;v.insert(y);y.style+=a(y.style,h,l,y);F=new mxCell("",new mxGeometry(1,.5,.35*u,20),"shape=mxgraph.eip.messageChannel;fillColor=#818181;part=1;");F.geometry.relative=!0;F.geometry.offset=new mxPoint(.4*-u,-10);F.vertex=!0;v.insert(F);F.style+=a(F.style,h,l,F);M=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=1;exitY=0.5;entryX=0;entryY=0.5;endArrow=none;dashed=0;html=1;strokeWidth=1;endFill=1;endSize=2;");
-M.geometry.relative=!0;M.edge=!0;r.insertEdge(M,!0);y.insertEdge(M,!1);M.style+=I(h,l);d.push(e.addCell(M,null,null,null,null));L=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=1;exitY=0.5;entryX=0;entryY=0.5;endArrow=block;startArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=2;startFill=1;startSize=2;");L.geometry.relative=!0;L.edge=!0;y.insertEdge(L,!0);F.insertEdge(L,!1);d.push(e.addCell(L,null,null,null,null));break;case "EIMessageBlock":case "EICommandMessageBlock":case "EIDocumentMessageBlock":case "EIEventMessageBlock":v.style+=
-"strokeColor=none;fillColor=none;verticalLabelPosition=bottom;verticalAlign=top;";v.value=g(h.Text);v.style+=a(v.style,h,l,v,z);r=new mxCell("",new mxGeometry(0,0,17,17),"ellipse;fillColor=#808080;part=1;");r.vertex=!0;v.insert(r);r.style+=a(r.style,h,l,r);for(var id=h.Messages,$d=(t-17)/id,y=[],X=[],k=0;k<id;k++){var jd=$d*(k+1)-3;y[k]=new mxCell("",new mxGeometry(u-20,jd,20,20),"part=1;");y[k].vertex=!0;v.insert(y[k]);switch(c.Class){case "EIMessageBlock":y[k].value=g(h["message_"+(k+1)]);y.style+=
-b(h["message_"+(k+1)],z);break;case "EICommandMessageBlock":y[k].value="C";y[k].style+="fontStyle=1;fontSize=13;";break;case "EIDocumentMessageBlock":y[k].value="D";y[k].style+="fontStyle=1;fontSize=13;";break;case "EIEventMessageBlock":y[k].value="E",y[k].style+="fontStyle=1;fontSize=13;"}y[k].style+=a(y[k].style,h,l,y[k]);X[k]=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;");X[k].geometry.relative=!0;X[k].edge=!0;r.insertEdge(X[k],
-!1);y[k].insertEdge(X[k],!0);X[k].style+=a(X[k].style,h,l,X[k]);var Vb=[];Vb.push(new mxPoint(p+8.5,C+jd+10));X[k].geometry.points=Vb;d.push(e.addCell(X[k],null,null,null,null))}break;case "EIMessageEndpointBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=g(h.Text);v.style+=a(v.style,h,l,v,z);r=new mxCell("",new mxGeometry(.45*u,.25*t,.3*u,.5*t),"part=1;fillColor=#ffffff");r.vertex=!0;v.insert(r);r.style+=a(r.style,h,l,r);X=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");
-X.geometry.relative=!0;X.edge=!0;wa(0,.5*t,.4*u,.5*t,X,d,e,ha,v,Q);break;case "EIPublishSubscribeChannelBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=g(h.Text);v.style+=a(v.style,h,l,v,z);var M=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");M.geometry.relative=!0;M.edge=!0;wa(.05*u,.5*t,.85*u,.5*t,M,d,e,ha,v,Q);var L=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");
-L.geometry.relative=!0;L.edge=!0;wa(.05*u,.5*t,.85*u,.15*t,L,d,e,ha,v,Q);var V=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");V.geometry.relative=!0;V.edge=!0;wa(.05*u,.5*t,.85*u,.85*t,V,d,e,ha,v,Q);break;case "EIMessageBusBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=g(h.Text);v.style+=a(v.style,h,l,v,z);M=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeWidth=1;endFill=1;endSize=4;startArrow=block;startFill=1;startSize=4;");
-M.geometry.relative=!0;M.edge=!0;M.style+=I(h,l);wa(.05*u,.5*t,.95*u,.5*t,M,d,e,ha,v,Q);L=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;dashed=0;html=1;strokeWidth=1;endFill=1;endSize=4;startArrow=block;startFill=1;startSize=4;");L.geometry.relative=!0;L.edge=!0;L.style+=I(h,l);wa(.3*u,.1*t,.3*u,.5*t,L,d,e,ha,v,Q);V=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;dashed=0;html=1;strokeWidth=1;endFill=1;endSize=4;startArrow=block;startFill=1;startSize=4;");
-V.geometry.relative=!0;V.edge=!0;V.style+=I(h,l);wa(.7*u,.1*t,.7*u,.5*t,V,d,e,ha,v,Q);var pa=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;dashed=0;html=1;strokeWidth=1;endFill=1;endSize=4;startArrow=block;startFill=1;startSize=4;");pa.geometry.relative=!0;pa.edge=!0;pa.style+=I(h,l);wa(.5*u,.5*t,.5*u,.9*t,pa,d,e,ha,v,Q);break;case "EIRequestReplyBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=g(h.Text);v.style+=a(v.style,h,l,v,
-z);r=new mxCell("",new mxGeometry(.2*u,.21*t,.16*u,.24*t),"part=1;fillColor=#ffffff;");r.vertex=!0;v.insert(r);r.style+=a(r.style,h,l,r);M=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");M.geometry.relative=!0;M.edge=!0;wa(.45*u,.33*t,.8*u,.33*t,M,d,e,ha,v,Q);y=new mxCell("",new mxGeometry(.64*u,.55*t,.16*u,.24*t),"part=1;fillColor=#ffffff;");y.vertex=!0;v.insert(y);y.style+=a(y.style,h,l,y);L=
-new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");L.geometry.relative=!0;L.edge=!0;wa(.55*u,.67*t,.2*u,.67*t,L,d,e,ha,v,Q);break;case "EIReturnAddressBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=g(h.Text);v.style+=a(v.style,h,l,v,z);r=new mxCell("",new mxGeometry(.1*u,.15*t,.8*u,.7*t),"part=1;shape=mxgraph.eip.retAddr;fillColor=#FFE040;");r.vertex=!0;v.insert(r);r.style+=
-a(r.style,h,l,r);break;case "EICorrelationIDBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=g(h.Text);v.style+=a(v.style,h,l,v,z);r=new mxCell("",new mxGeometry(.04*u,.06*t,.18*u,.28*t),"ellipse;fillColor=#808080;part=1;");r.vertex=!0;v.insert(r);r.style+=a(r.style,h,l,r);y=new mxCell("",new mxGeometry(.2*u,.56*t,.2*u,.32*t),"part=1;");y.vertex=!0;v.insert(y);y.value="A";y.style+="fontStyle=1;fontSize=13;";r.style+=a(r.style,h,l,r);M=new mxCell("",new mxGeometry(0,0,0,0),
-"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;part=1;");M.geometry.relative=!0;M.edge=!0;r.insertEdge(M,!1);y.insertEdge(M,!0);M.style+=a(M.style,h,l,M);Vb=[];Vb.push(new mxPoint(p+.13*u,C+.72*t));M.geometry.points=Vb;d.push(e.addCell(M,null,null,null,null));F=new mxCell("",new mxGeometry(.6*u,.06*t,.18*u,.28*t),"ellipse;fillColor=#808080;part=1;");F.vertex=!0;v.insert(F);F.style+=I(h,l)+Db(h);F.style+=a(F.style,h,l,F);U=new mxCell("",new mxGeometry(.76*
-u,.56*t,.2*u,.32*t),"part=1;");U.vertex=!0;v.insert(U);U.style+=I(h,l)+R(h,l,U)+Db(h)+pc(h);U.value="B";U.style+="fontStyle=1;fontSize=13;fillColor=#ffffff;";U.style+=a(U.style,h,l,U);L=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;part=1;");L.geometry.relative=!0;L.edge=!0;F.insertEdge(L,!1);U.insertEdge(L,!0);L.style+=a(L.style,h,l,L);var Ie=[];Ie.push(new mxPoint(p+.69*u,C+.72*t));L.geometry.points=Ie;d.push(e.addCell(L,
-null,null,null,null));V=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;endSize=6;part=1;");V.geometry.relative=!0;V.edge=!0;r.insertEdge(V,!1);F.insertEdge(V,!0);V.style+=a(V.style,h,l,V);d.push(e.addCell(V,null,null,null,null));break;case "EIMessageSequenceBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=g(h.Text);v.style+=a(v.style,h,l,v,z);r=new mxCell("1",new mxGeometry(.2*u,.4*t,.1*u,.19*t),"fontStyle=1;fillColor=#ffffff;fontSize=13;part=1;");
-r.vertex=!0;v.insert(r);r.style+=a(r.style,h,l,r);y=new mxCell("2",new mxGeometry(.45*u,.4*t,.1*u,.19*t),"fontStyle=1;fillColor=#ffffff;fontSize=13;part=1;");y.vertex=!0;v.insert(y);y.style+=a(y.style,h,l,y);F=new mxCell("3",new mxGeometry(.7*u,.4*t,.1*u,.19*t),"fontStyle=1;fillColor=#ffffff;fontSize=13;part=1;");F.vertex=!0;v.insert(F);F.style+=a(F.style,h,l,F);M=new mxCell("",new mxGeometry(0,0,0,0),"curved=1;endArrow=block;html=1;endSize=3;part=1;");r.insertEdge(M,!1);y.insertEdge(M,!0);M.geometry.points=
-[new mxPoint(p+.375*u,C+.15*t)];M.geometry.relative=!0;M.edge=!0;M.style+=a(M.style,h,l,M);d.push(e.addCell(M,null,null,null,null));L=new mxCell("",new mxGeometry(0,0,0,0),"curved=1;endArrow=block;html=1;endSize=3;part=1;");y.insertEdge(L,!1);F.insertEdge(L,!0);L.geometry.points=[new mxPoint(p+.675*u,C+.15*t)];L.geometry.relative=!0;L.edge=!0;L.style+=a(L.style,h,l,L);d.push(e.addCell(L,null,null,null,null));break;case "EIMessageExpirationBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";
-v.value=g(h.Text);v.style+=a(v.style,h,l,v,z);r=new mxCell("",new mxGeometry(.3*u,.2*t,.4*u,.6*t),"shape=mxgraph.ios7.icons.clock;fillColor=#ffffff;flipH=1;part=1;");r.vertex=!0;v.insert(r);r.style+=a(r.style,h,l,r);break;case "EIMessageBrokerBlock":v.style+="strokeColor=none;fillColor=none;verticalLabelPosition=bottom;verticalAlign=top;";v.value=g(h.Text);v.style+=a(v.style,h,l,v,z);r=new mxCell("",new mxGeometry(.38*u,.42*t,.24*u,.16*t),"part=1;fillColor=#aefe7d;");r.vertex=!0;v.insert(r);r.style+=
-a(r.style,h,l,r);y=new mxCell("",new mxGeometry(.38*u,0,.24*u,.16*t),"part=1;");y.vertex=!0;v.insert(y);y.style+=a(y.style,h,l,y);F=new mxCell("",new mxGeometry(.76*u,.23*t,.24*u,.16*t),"");F.vertex=!0;v.insert(F);F.style=y.style;var U=new mxCell("",new mxGeometry(.76*u,.61*t,.24*u,.16*t),"");U.vertex=!0;v.insert(U);U.style=y.style;var Ad=new mxCell("",new mxGeometry(.38*u,.84*t,.24*u,.16*t),"");Ad.vertex=!0;v.insert(Ad);Ad.style=y.style;var Bd=new mxCell("",new mxGeometry(0,.61*t,.24*u,.16*t),"");
-Bd.vertex=!0;v.insert(Bd);Bd.style=y.style;var Cd=new mxCell("",new mxGeometry(0,.23*t,.24*u,.16*t),"");Cd.vertex=!0;v.insert(Cd);Cd.style=y.style;M=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");r.insertEdge(M,!1);y.insertEdge(M,!0);M.edge=!0;M.style+=a(M.style,h,l,M);d.push(e.addCell(M,null,null,null,null));L=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");r.insertEdge(L,!1);F.insertEdge(L,!0);L.edge=!0;L.style+=a(L.style,h,l,L);d.push(e.addCell(L,null,null,null,null));
-V=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");r.insertEdge(V,!1);U.insertEdge(V,!0);V.edge=!0;V.style+=a(V.style,h,l,V);d.push(e.addCell(V,null,null,null,null));pa=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");r.insertEdge(pa,!1);Ad.insertEdge(pa,!0);pa.edge=!0;pa.style+=a(pa.style,h,l,pa);d.push(e.addCell(pa,null,null,null,null));var Wb=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");r.insertEdge(Wb,!1);Bd.insertEdge(Wb,!0);Wb.edge=!0;Wb.style+=
-a(Wb.style,h,l,Wb);d.push(e.addCell(Wb,null,null,null,null));var Xb=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");r.insertEdge(Xb,!1);Cd.insertEdge(Xb,!0);Xb.edge=!0;Xb.style+=a(Xb.style,h,l,Xb);d.push(e.addCell(Xb,null,null,null,null));break;case "EIDurableSubscriberBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=g(h.Text);v.style+=a(v.style,h,l,v,z);M=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;endFill=1;endSize=6;");
-M.geometry.relative=!0;M.edge=!0;wa(.05*u,.5*t,.6*u,.25*t,M,d,e,ha,v,Q);L=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;endFill=1;endSize=6;");L.geometry.relative=!0;L.edge=!0;wa(.05*u,.5*t,.6*u,.75*t,L,d,e,ha,v,Q);r=new mxCell("",new mxGeometry(.7*u,.1*t,.15*u,.32*t),"shape=mxgraph.eip.durable_subscriber;part=1;fillColor=#818181;");r.vertex=!0;v.insert(r);r.style+=a(r.style,h,l,r);break;case "EIControlBusBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";
-v.value=g(h.Text);v.style+=a(v.style,h,l,v,z);r=new mxCell("",new mxGeometry(.25*u,.25*t,.5*u,.5*t),"shape=mxgraph.eip.control_bus;part=1;");r.vertex=!0;v.insert(r);r.style+=a(r.style,h,l,r);break;case "EIMessageHistoryBlock":v.style+="strokeColor=none;fillColor=none;verticalLabelPosition=bottom;verticalAlign=top;";v.value=g(h.Text);v.style+=a(v.style,h,l,v,z);r=new mxCell("",new mxGeometry(0,0,17,17),"ellipse;fillColor=#808080;part=1;");r.vertex=!0;v.insert(r);r.style+=a(r.style,h,l,r);F=new mxCell("",
-new mxGeometry(u-45,30,30,20),"shape=mxgraph.mockup.misc.mail2;fillColor=#FFE040;part=1;");F.vertex=!0;v.insert(F);F.style+=a(F.style,h,l,F);V=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;");V.geometry.relative=!0;V.edge=!0;r.insertEdge(V,!1);F.insertEdge(V,!0);V.style+=a(V.style,h,l,V);V.geometry.points=[new mxPoint(p+8.5,C+40)];d.push(e.addCell(V,null,null,null,null));U=new mxCell("",new mxGeometry(u-45,t-20,20,20),
-"part=1;");U.vertex=!0;v.insert(U);U.value=g(h.message_0);U.style+=b(h.message_0,z);U.style+=a(U.style,h,l,U,z);pa=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;");pa.geometry.relative=!0;pa.edge=!0;r.insertEdge(pa,!1);U.insertEdge(pa,!0);pa.style+=a(pa.style,h,l,pa);pa.geometry.points=[new mxPoint(p+8.5,C+t-10)];d.push(e.addCell(pa,null,null,null,null));id=h.HistoryMessages;$d=(t-75)/id;y=[];X=[];for(k=0;k<id;k++)jd=
-$d*(k+1)+30,y[k]=new mxCell("",new mxGeometry(u-20,jd,20,20),"part=1;"),y[k].vertex=!0,y[k].value=g(h["message_"+(k+1)]),y.style+=b(h["message_"+(k+1)],z),v.insert(y[k]),y[k].style+=a(y[k].style,h,l,y[k],z),X[k]=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;"),X[k].geometry.relative=!0,X[k].edge=!0,F.insertEdge(X[k],!1),y[k].insertEdge(X[k],!0),X[k].style+=a(X[k].style,h,l,X[k]),Vb=[],Vb.push(new mxPoint(p+u-30,C+jd+
-10)),X[k].geometry.points=Vb,d.push(e.addCell(X[k],null,null,null,null));break;case "Equation":LucidImporter.hasMath=!0;v.style+="strokeColor=none;";v.style+=a(v.style,h,l,v);v.value="$$"+h.Latex+"$$";break;case "fpDoor":v.style+="shape=mxgraph.floorplan.doorRight;";0>h.DoorAngle&&(v.style+="flipV=1;");v.style+=a(v.style,h,l,v);break;case "fpWall":v.style+="labelPosition=center;verticalAlign=bottom;verticalLabelPosition=top;";v.value=g(h);v.style+=a(v.style,h,l,v,z);v.style=v.style.replace("rotation=180;",
-"");break;case "fpDoubleDoor":v.style+="shape=mxgraph.floorplan.doorDouble;";0<h.DoorAngle&&(v.style+="flipV=1;");v.style+=a(v.style,h,l,v);break;case "fpRestroomLights":v.style+="strokeColor=none;fillColor=none;";v.style+=a(v.style,h,l,v);r=new mxCell("",new mxGeometry(0,0,u,.25*t),"part=1;");r.vertex=!0;v.insert(r);r.style+=a(r.style,h,l,r);for(var y=[],Je=.02*u,ae=(u-2*Je)/h.LightCount,Ke=.8*ae,k=0;k<h.LightCount;k++)y[k]=new mxCell("",new mxGeometry(Je+ae*k+(ae-Ke)/2,.25*t,Ke,.75*t),"ellipse;part=1;"),
-y[k].vertex=!0,v.insert(y[k]),y[k].style+=a(y[k].style,h,l,y[k]);break;case "fpRestroomSinks":v.style+="strokeColor=none;fillColor=none;";v.style+=a(v.style,h,l,v);for(var r=[],Le=u/h.SinkCount,k=0;k<h.SinkCount;k++)r[k]=new mxCell("",new mxGeometry(Le*k,0,Le,t),"part=1;shape=mxgraph.floorplan.sink_2;"),r[k].vertex=!0,v.insert(r[k]),r[k].style+=a(r[k].style,h,l,r[k]);break;case "fpRestroomStalls":v.style+="strokeColor=none;fillColor=none;";var Ua=.1*u/h.StallCount,r=new mxCell("",new mxGeometry(0,
-0,Ua,t),"fillColor=#000000;part=1;");r.vertex=!0;v.insert(r);r.style+=a(r.style,h,l,r);for(var ab=(u-Ua)/h.StallCount,be=[],kd=[],ld=[],md=[],J=I(h,l),J=""==J?"#000000;":J.replace("stokreColor=",""),Dd="part=1;fillColor="+J,Dd=Dd+a(Dd,h,l,v),ce=a("",h,l,v),k=0;k<h.StallCount;k++)be[k]=new mxCell("",new mxGeometry((k+1)*ab,0,Ua,t),Dd),be[k].vertex=!0,v.insert(be[k]),ld[k]=new mxCell("",new mxGeometry(Ua+k*ab+.05*(ab-Ua),t-.92*(ab-Ua),.9*(ab-Ua),.92*(ab-Ua)),"shape=mxgraph.floorplan.doorRight;flipV=1;part=1;"),
-ld[k].vertex=!0,v.insert(ld[k]),ld[k].style+=ce,kd[k]=new mxCell("",new mxGeometry(Ua+k*ab+.2*(ab-Ua),0,.6*(ab-Ua),.8*(ab-Ua)),"shape=mxgraph.floorplan.toilet;part=1;"),kd[k].vertex=!0,v.insert(kd[k]),kd[k].style+=ce,md[k]=new mxCell("",new mxGeometry(Ua+k*ab,.42*t,.15*(ab-Ua),.12*(ab-Ua)),"part=1;"),md[k].vertex=!0,v.insert(md[k]),md[k].style+=ce;break;case "PEOneToMany":v.style+="strokeColor=none;fillColor=none;";var Ed="edgeStyle=none;endArrow=none;part=1;",J=I(h,l),J=""==J?"#000000;":J.replace("strokeColor=",
-""),Yb="shape=triangle;part=1;fillColor="+J,Yb=Yb+a(Yb,h,l,v),M=new mxCell("",new mxGeometry(0,0,0,0),Ed);M.geometry.relative=!0;M.edge=!0;wa(0,.5*t,.65*u,.5*t,M,d,e,ha,v,Q);for(var N=t/h.numLines,L=[],ic=[],k=0;k<h.numLines;k++)L[k]=new mxCell("",new mxGeometry(0,0,0,0),Ed),L[k].geometry.relative=!0,L[k].edge=!0,wa(.65*u,.5*t,.96*u,(k+.5)*N,L[k],d,e,ha,v,Q),ic[k]=new mxCell("",new mxGeometry(.95*u,(k+.2)*N,.05*u,.6*N),Yb),ic[k].vertex=!0,v.insert(ic[k]);break;case "PEMultilines":v.style+="strokeColor=none;fillColor=none;";
-Ed="edgeStyle=none;endArrow=none;part=1;";J=I(h,l);J=""==J?"#000000;":J.replace("strokeColor=","");Yb="shape=triangle;part=1;fillColor="+J;Yb+=a(Yb,h,l,v);N=t/h.numLines;L=[];ic=[];for(k=0;k<h.numLines;k++)L[k]=new mxCell("",new mxGeometry(0,0,0,0),Ed),L[k].geometry.relative=!0,L[k].edge=!0,wa(0,(k+.5)*N,.96*u,(k+.5)*N,L[k],d,e,ha,v,Q),ic[k]=new mxCell("",new mxGeometry(.95*u,(k+.2)*N,.05*u,.6*N),Yb),ic[k].vertex=!0,v.insert(ic[k]);break;case "PEVesselBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";
-v.value=g(h.Text);switch(h.vesselType){case 1:v.style+="shape=mxgraph.pid.vessels.pressurized_vessel;";break;case 2:v.style+="shape=hexagon;perimeter=hexagonPerimeter2;size=0.10;direction=south;"}v.style+=a(v.style,h,l,v,z);break;case "PEClosedTankBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=g(h.Text);1==h.peakedRoof&&0==h.stumpType?v.style+="shape=mxgraph.pid.vessels.tank_(conical_roof);":1==h.stumpType&&(v.style+="shape=mxgraph.pid.vessels.tank_(boot);");v.style+=a(v.style,
-h,l,v,z);break;case "PEColumnBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=g(h.Text);v.style=0==h.columnType?v.style+"shape=mxgraph.pid.vessels.pressurized_vessel;":v.style+"shape=mxgraph.pid.vessels.tank;";v.style+=a(v.style,h,l,v,z);break;case "PECompressorTurbineBlock":v.style+="strokeColor=none;fillColor=none;";v.value=g(h.Text);v.style+=a(v.style,h,l,v,z);r=new mxCell("",new mxGeometry(0,.2*t,u,.6*t),"part=1;shape=trapezoid;perimeter=trapezoidPerimeter;direction=south;");
-r.vertex=!0;v.insert(r);r.style+=O;r.style+=a(r.style,h,l,r);O="endSize=4;endArrow=block;endFill=1;";0==h.compressorType?(M=new mxCell("",new mxGeometry(0,0,0,0),""),M.geometry.relative=!0,M.edge=!0,M.style+=O,M.style+=a(M.style,h,l,M),wa(0,0,0,.2*t,M,d,e,ha,v,Q),L=new mxCell("",new mxGeometry(0,0,0,0),""),L.geometry.relative=!0,L.edge=!0,L.style+=O,L.style+=a(L.style,h,l,L),wa(u,.67*t,u,t,L,d,e,ha,v,Q)):(r.style+="flipH=1;",M=new mxCell("",new mxGeometry(0,0,0,0),""),M.geometry.relative=!0,M.edge=
-!0,M.style+=O,M.style+=a(M.style,h,l,M),wa(0,0,0,.33*t,M,d,e,ha,v,Q),L=new mxCell("",new mxGeometry(0,0,0,0),""),L.geometry.relative=!0,L.edge=!0,L.style+=O,L.style+=a(L.style,h,l,L),wa(u,.8*t,u,t,L,d,e,ha,v,Q));1==h.centerLineType&&(V=new mxCell("",new mxGeometry(0,0,0,0),""),V.geometry.relative=!0,V.edge=!0,V.style+=O,V.style+=a(V.style,h,l,V),wa(.2*u,.5*t,.8*u,.5*t,V,d,e,ha,v,Q));break;case "PEMotorDrivenTurbineBlock":v.style+="shape=ellipse;perimeter=ellipsePerimeter;";v.value=g(h.Text);v.style+=
-a(v.style,h,l,v,z);r=new mxCell("",new mxGeometry(.2*u,.2*t,.6*u,.6*t),"part=1;shape=trapezoid;perimeter=trapezoidPerimeter;direction=south;");r.vertex=!0;v.insert(r);r.style+=a(r.style,h,l,r);break;case "PEIndicatorBlock":case "PEIndicator2Block":case "PESharedIndicatorBlock":case "PEComputerIndicatorBlock":case "PESharedIndicator2Block":case "PEProgrammableIndicatorBlock":switch(c.Class){case "PEIndicatorBlock":v.style+="shape=mxgraph.pid2inst.discInst;";break;case "PEIndicator2Block":v.style+=
-"shape=mxgraph.pid2inst.indicator;indType=inst;";break;case "PESharedIndicatorBlock":v.style+="shape=mxgraph.pid2inst.sharedCont;";break;case "PEComputerIndicatorBlock":v.style+="shape=mxgraph.pid2inst.compFunc;";break;case "PESharedIndicator2Block":v.style+="shape=mxgraph.pid2inst.indicator;indType=ctrl;";break;case "PEProgrammableIndicatorBlock":v.style+="shape=mxgraph.pid2inst.progLogCont;"}v.style+=a(v.style,h,l,v);"PEIndicator2Block"==c.Class||"PESharedIndicator2Block"==c.Class?(r=new mxCell("",
-new mxGeometry(0,0,u,.5*u),"part=1;strokeColor=none;fillColor=none;"),r.vertex=!0,v.insert(r),r.value=g(h.TopText),r.style+=b(h.TopText,z),r.style+=a(r.style,h,l,r,z),y=new mxCell("",new mxGeometry(0,.5*u,u,.5*u),"part=1;strokeColor=none;fillColor=none;")):(r=new mxCell("",new mxGeometry(0,0,u,.5*t),"part=1;strokeColor=none;fillColor=none;"),r.vertex=!0,v.insert(r),r.value=g(h.TopText),r.style+=b(h.TopText,z),r.style+=a(r.style,h,l,r,z),y=new mxCell("",new mxGeometry(0,.5*t,u,.5*t),"part=1;strokeColor=none;fillColor=none;"));
-y.vertex=!0;v.insert(y);y.value=g(h.BotText);y.style+=b(h.BotText,z);y.style+=a(y.style,h,l,y,z);switch(h.instrumentLocation){case 0:v.style+="mounting=field;";break;case 1:v.style+="mounting=inaccessible;";break;case 2:v.style+="mounting=room;";break;case 3:v.style+="mounting=local;"}break;case "PEGateValveBlock":case "PEGlobeValveBlock":case "PEAngleValveBlock":case "PEAngleGlobeValveBlock":case "PEPoweredValveBlock":var de=!1;"PEPoweredValveBlock"==c.Class?1!=h.poweredHandOperated&&(de=!0):1!=
-h.handOperated&&(de=!0);if(de){var h=q(c).Properties,n=h.BoundingBox,mf=n.h;n.h="PEAngleValveBlock"==c.Class||"PEAngleGlobeValveBlock"==c.Class?.7*n.h:.6*n.h;v=new mxCell("",new mxGeometry(Math.round(.75*n.x+Qb),Math.round(.75*(n.y+mf-n.h)+Rb),Math.round(.75*n.w),Math.round(.75*n.h)),"");v.vertex=!0;qc(v,c,e)}if("PEPoweredValveBlock"==c.Class)v.style+="shape=mxgraph.pid2valves.valve;verticalLabelPosition=bottom;verticalAlign=top;",v.style+=a(v.style,h,l,v),1==h.poweredHandOperated?(v.style+="valveType=gate;actuator=powered;",
-r=new mxCell("",new mxGeometry(.325*u,0,.35*u,.35*t),"part=1;strokeColor=none;fillColor=none;spacingTop=2;"),r.vertex=!0,v.insert(r),r.value=g(h.PoweredText),r.style+=(z?"":x(h.PoweredText)+w(h.PoweredText)+A(h.PoweredText)+G(h.PoweredText)+B(h.PoweredText)+D(h.PoweredText)+K(h.PoweredText))+"fontSize=6;"+S(h.PoweredText),r.style+=a(r.style,h,l,r,z)):v.style+="valveType=gate;";else{v.style+="verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.pid2valves.valve;";v.value=g(h.Text);switch(c.Class){case "PEGateValveBlock":v.style+=
-"valveType=gate;";break;case "PEGlobeValveBlock":v.style+="valveType=globe;";break;case "PEAngleValveBlock":v.style+="valveType=angle;";break;case "PEAngleGlobeValveBlock":v.style+="valveType=angleGlobe;flipH=1;"}1==h.handOperated&&(v.style+="actuator=man;")}v.style+=a(v.style,h,l,v,z);break;case "UI2BrowserBlock":v.style+="shape=mxgraph.mockup.containers.browserWindow;mainText=;";1==h.vScroll&&(F=1==h.hScroll?new mxCell("",new mxGeometry(1,0,20,t-130),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):
-new mxCell("",new mxGeometry(1,0,20,t-110),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),F.geometry.relative=!0,F.geometry.offset=new mxPoint(-20,110),F.vertex=!0,v.insert(F),v.style+="spacingRight=20;");1==h.hScroll&&(U=1==h.vScroll?new mxCell("",new mxGeometry(0,1,u-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,1,u,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),
-U.geometry.relative=!0,U.geometry.offset=new mxPoint(0,-20),U.vertex=!0,v.insert(U));v.style+=a(v.style,h,l,v);break;case "UI2WindowBlock":v.value=g(h.Title);v.style+="shape=mxgraph.mockup.containers.window;mainText=;align=center;verticalAlign=top;spacing=5;"+(z?"fontSize=13;":f(h.Title)+x(h.Title)+w(h.Title));1==h.vScroll&&(F=1==h.hScroll?new mxCell("",new mxGeometry(1,0,20,t-50),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):new mxCell("",new mxGeometry(1,
-0,20,t-30),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),F.geometry.relative=!0,F.geometry.offset=new mxPoint(-20,30),F.vertex=!0,v.insert(F),v.style+="spacingRight=20;");1==h.hScroll&&(U=1==h.vScroll?new mxCell("",new mxGeometry(0,1,u-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,1,u,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),U.geometry.relative=
-!0,U.geometry.offset=new mxPoint(0,-20),U.vertex=!0,v.insert(U));v.style+=a(v.style,h,l,v,z);break;case "UI2DialogBlock":v.value=g(h.Text);v.style+=b(h.Text,z);r=new mxCell("",new mxGeometry(0,0,u,30),"part=1;resizeHeight=0;");r.vertex=!0;v.insert(r);r.value=g(h.Title);r.style+=b(h.Title,z);r.style+=a(r.style,h,l,r,z);y=new mxCell("",new mxGeometry(1,.5,20,20),"ellipse;part=1;strokeColor=#008cff;resizable=0;fillColor=none;html=1;");y.geometry.relative=!0;y.geometry.offset=new mxPoint(-25,-10);y.vertex=
-!0;r.insert(y);1==h.vScroll&&(F=1==h.hScroll?new mxCell("",new mxGeometry(1,0,20,t-50),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):new mxCell("",new mxGeometry(1,0,20,t-30),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),F.geometry.relative=!0,F.geometry.offset=new mxPoint(-20,30),F.vertex=!0,v.insert(F),v.style+="spacingRight=20;");1==h.hScroll&&(U=1==h.vScroll?new mxCell("",new mxGeometry(0,1,u-20,20),
-"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,1,u,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),U.geometry.relative=!0,U.geometry.offset=new mxPoint(0,-20),U.vertex=!0,v.insert(U));v.style+=a(v.style,h,l,v);h.Text=null;break;case "UI2AccordionBlock":r=[];N=25;for(k=0;k<=h.Panels-1;k++)r[k]=k<h.Selected-1?new mxCell("",new mxGeometry(0,k*N,u,N),"part=1;fillColor=#000000;fillOpacity=25;"):k==h.Selected-1?
-new mxCell("",new mxGeometry(0,k*N,u,N),"part=1;fillColor=none;"):new mxCell("",new mxGeometry(0,t-(h.Panels-h.Selected)*N+(k-h.Selected)*N,u,N),"part=1;fillColor=#000000;fillOpacity=25;"),r[k].vertex=!0,v.insert(r[k]),r[k].value=g(h["Panel_"+(k+1)]),r[k].style+=b(h["Panel_"+(k+1)],z),0>r[k].style.indexOf(";align=")&&(r[k].style+="align=left;spacingLeft=5;");var na=I(h,l),na=na.replace("strokeColor","fillColor2");""==na&&(na="fillColor2=#000000;");1==h.vScroll&&(y=1==h.hScroll?new mxCell("",new mxGeometry(1,
-0,20,t-h.Selected*N-20-(h.Panels-h.Selected)*N),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):new mxCell("",new mxGeometry(1,0,20,t-h.Selected*N-(h.Panels-h.Selected)*N),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),y.geometry.relative=!0,y.geometry.offset=new mxPoint(-20,h.Selected*N),y.vertex=!0,v.insert(y),v.style+="spacingRight=20;",y.style+=na,y.style+=a(y.style,h,l,y));1==h.hScroll&&(F=1==h.vScroll?
-new mxCell("",new mxGeometry(0,1,u-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,1,u,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),F.geometry.relative=!0,F.geometry.offset=new mxPoint(0,-20-(h.Panels-h.Selected)*N),F.vertex=!0,v.insert(F),F.style+=na,F.style+=a(F.style,h,l,F));U=1==h.vScroll?new mxCell("",new mxGeometry(0,h.Selected*N,u-20,t-h.Selected*N-20-(h.Panels-h.Selected)*N),"part=1;fillColor=none;strokeColor=none;"):
-new mxCell("",new mxGeometry(0,h.Selected*N,u-20,t-h.Selected*N-(h.Panels-h.Selected)*N),"part=1;fillColor=none;strokeColor=none;");U.vertex=!0;v.insert(U);U.value=g(h.Content_1);U.style+=b(h.Content_1,z);!z&&0>U.style.indexOf(";align=")&&(U.style+="align=left;spacingLeft=5;");v.style+=a(v.style,h,l,v);break;case "UI2TabBarContainerBlock":v.style+="strokeColor=none;fillColor=none;";var r=[],y=[],N=25,Wa=3,ba=(u+Wa)/(h.Tabs+1),ya=new mxCell("",new mxGeometry(0,N,u,t-N),"part=1;");ya.vertex=!0;v.insert(ya);
-ya.style+=a(ya.style,h,l,ya);for(k=0;k<=h.Tabs-1;k++)k==h.Selected-1?(y[k]=new mxCell("",new mxGeometry(10+k*ba,0,ba-Wa,N),""),y[k].vertex=!0,v.insert(y[k])):(r[k]=new mxCell("",new mxGeometry(10+k*ba,0,ba-Wa,N),"strokeColor=none;"),r[k].vertex=!0,v.insert(r[k]),r[k].style+=r[k].style+=a(r[k].style,h,l,r[k]),y[k]=new mxCell("",new mxGeometry(0,0,ba-Wa,N),"fillColor=#000000;fillOpacity=25;"),y[k].vertex=!0,r[k].insert(y[k])),y[k].value=g(h["Tab_"+(k+1)]),y[k].style+=b(h["Tab_"+(k+1)],z),0>y[k].style.indexOf(";align=")&&
-(y[k].style+="align=left;spacingLeft=2;"),y[k].style+=a(y[k].style,h,l,y[k]);na=I(h,l);na=na.replace("strokeColor","fillColor2");""==na&&(na="fillColor2=#000000;");1==h.vScroll&&(y=1==h.hScroll?new mxCell("",new mxGeometry(1,0,20,t-20-N),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):new mxCell("",new mxGeometry(1,0,20,t-N),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),y.geometry.relative=!0,y.geometry.offset=
-new mxPoint(-20,N),y.vertex=!0,v.insert(y),v.style+="spacingRight=20;",y.style+=na,y.style+=a(y.style,h,l,y));1==h.hScroll&&(F=1==h.vScroll?new mxCell("",new mxGeometry(0,1,u-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,1,u,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),F.geometry.relative=!0,F.geometry.offset=new mxPoint(0,-20),F.vertex=!0,v.insert(F),F.style+=na,F.style+=a(F.style,h,l,F));break;
-case "UI2TabBar2ContainerBlock":v.style+="strokeColor=none;fillColor=none;";r=[];y=[];N=25;Wa=3;ba=(u+Wa)/h.Tabs;ya=new mxCell("",new mxGeometry(0,N,u,t-N),"part=1;");ya.vertex=!0;v.insert(ya);ya.style+=a(ya.style,h,l,ya);for(k=0;k<=h.Tabs-1;k++)k==h.Selected-1?(y[k]=new mxCell("",new mxGeometry(k*ba,0,ba-Wa,N),""),y[k].vertex=!0,v.insert(y[k])):(r[k]=new mxCell("",new mxGeometry(k*ba,0,ba-Wa,N),"strokeColor=none;"),r[k].vertex=!0,v.insert(r[k]),r[k].style+=a(r[k].style,h,l,r[k]),y[k]=new mxCell("",
-new mxGeometry(0,0,ba-Wa,N),"fillColor=#000000;fillOpacity=25;"),y[k].vertex=!0,r[k].insert(y[k])),y[k].value=g(h["Tab_"+(k+1)]),y[k].style+=b(h["Tab_"+(k+1)],z),y[k].style+=a(y[k].style,h,l,y[k],z),0>y[k].style.indexOf(";align=")&&(y[k].style+="align=left;spacingLeft=2;");na=I(h,l);na=na.replace("strokeColor","fillColor2");""==na&&(na="fillColor2=#000000;");1==h.vScroll&&(y=1==h.hScroll?new mxCell("",new mxGeometry(1,0,20,t-20-N),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):
-new mxCell("",new mxGeometry(1,0,20,t-N),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),y.geometry.relative=!0,y.geometry.offset=new mxPoint(-20,N),y.vertex=!0,v.insert(y),v.style+="spacingRight=20;",y.style+=na,y.style+=a(y.style,h,l,y));1==h.hScroll&&(F=1==h.vScroll?new mxCell("",new mxGeometry(0,1,u-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,1,u,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),
-F.geometry.relative=!0,F.geometry.offset=new mxPoint(0,-20),F.vertex=!0,v.insert(F),F.style+=na,F.style+=a(F.style,h,l,F));break;case "UI2VTabBarContainerBlock":v.style+="strokeColor=none;fillColor=none;";r=[];y=[];Wa=3;N=25+Wa;ba=80;Kb=10;ya=new mxCell("",new mxGeometry(ba,0,u-ba,t),"part=1;");ya.vertex=!0;v.insert(ya);ya.style+=a(ya.style,h,l,ya);for(k=0;k<=h.Tabs-1;k++)k==h.Selected-1?(y[k]=new mxCell("",new mxGeometry(0,Kb+k*N,ba,N-Wa),""),y[k].vertex=!0,v.insert(y[k]),y[k].value=g(h["Tab_"+(k+
-1)]),y[k].style+=b(h["Tab_"+(k+1)],z),y[k].style+=a(y[k].style,h,l,y[k],z)):(r[k]=new mxCell("",new mxGeometry(0,Kb+k*N,ba,N-Wa),"strokeColor=none;"),r[k].vertex=!0,v.insert(r[k]),r[k].style+=a(r[k].style,h,l,r[k]),y[k]=new mxCell("",new mxGeometry(0,0,ba,N-Wa),"fillColor=#000000;fillOpacity=25;"),y[k].vertex=!0,r[k].insert(y[k]),y[k].value=g(h["Tab_"+(k+1)]),y[k].style+=b(h["Tab_"+(k+1)],z)),0>y[k].style.indexOf(";align=")&&(y[k].style+="align=left;spacingLeft=2;"),y[k].style+=a(y[k].style,h,l,y[k]);
-na=I(h,l);na=na.replace("strokeColor","fillColor2");""==na&&(na="fillColor2=#000000;");1==h.vScroll&&(y=1==h.hScroll?new mxCell("",new mxGeometry(1,0,20,t-20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):new mxCell("",new mxGeometry(1,0,20,t),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),y.geometry.relative=!0,y.geometry.offset=new mxPoint(-20,0),y.vertex=!0,v.insert(y),v.style+="spacingRight=20;",y.style+=
-na,y.style+=a(y.style,h,l,y));1==h.hScroll&&(F=1==h.vScroll?new mxCell("",new mxGeometry(ba,1,u-20-ba,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(ba,1,u-ba,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),F.geometry.relative=!0,F.geometry.offset=new mxPoint(0,-20),F.vertex=!0,v.insert(F),F.style+=na,F.style+=a(F.style,h,l,F));break;case "UI2CheckBoxBlock":v.style+="strokeColor=none;fillColor=none;";N=t/
-h.Options;r=[];y=[];for(k=0;k<h.Options;k++)r[k]=new mxCell("",new mxGeometry(0,k*N+.5*N-5,10,10),"labelPosition=right;part=1;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=3;"),r[k].vertex=!0,v.insert(r[k]),r[k].value=g(h["Option_"+(k+1)]),r[k].style+=b(h["Option_"+(k+1)],z),r[k].style+=a(r[k].style,h,l,r[k],z),null!=h.Selected[k+1]&&1==h.Selected[k+1]&&(J=I(h,l),J=J.replace("strokeColor","fillColor"),""==J&&(J="fillColor=#000000;"),y[k]=new mxCell("",new mxGeometry(2,2,
-6,6),"shape=mxgraph.mscae.general.checkmark;part=1;"),y[k].vertex=!0,r[k].insert(y[k]),y[k].style+=J,y[k].style+=a(y[k].style,h,l,y[k]));break;case "UI2HorizontalCheckBoxBlock":v.style+="strokeColor=none;fillColor=none;";ba=u/h.Options;r=[];y=[];for(k=0;k<h.Options;k++)r[k]=new mxCell("",new mxGeometry(k*ba,.5*t-5,10,10),"labelPosition=right;part=1;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=3;"),r[k].vertex=!0,v.insert(r[k]),r[k].value=g(h["Option_"+(k+1)]),r[k].style+=
-b(h["Option_"+(k+1)],z),r[k].style+=a(r[k].style,h,l,r[k],z),null!=h.Selected[k+1]&&1==h.Selected[k+1]&&(J=I(h,l),J=J.replace("strokeColor","fillColor"),""==J&&(J="fillColor=#000000;"),y[k]=new mxCell("",new mxGeometry(2,2,6,6),"shape=mxgraph.mscae.general.checkmark;part=1;"),y[k].vertex=!0,r[k].insert(y[k]),y[k].style+=J,y[k].style+=a(y[k].style,h,l,y[k]));break;case "UI2RadioBlock":v.style+="strokeColor=none;fillColor=none;";N=t/h.Options;r=[];y=[];for(k=0;k<h.Options;k++)r[k]=new mxCell("",new mxGeometry(0,
-k*N+.5*N-5,10,10),"ellipse;labelPosition=right;part=1;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=3;"),r[k].vertex=!0,v.insert(r[k]),r[k].value=g(h["Option_"+(k+1)]),r[k].style+=b(h["Option_"+(k+1)],z),r[k].style+=a(r[k].style,h,l,r[k],z),null!=h.Selected&&h.Selected==k+1&&(J=I(h,l),J=J.replace("strokeColor","fillColor"),""==J&&(J="fillColor=#000000;"),y[k]=new mxCell("",new mxGeometry(2.5,2.5,5,5),"ellipse;"),y[k].vertex=!0,r[k].insert(y[k]),y[k].style+=J,y[k].style+=
-a(y[k].style,h,l,y[k]));break;case "UI2HorizontalRadioBlock":v.style+="strokeColor=none;fillColor=none;";ba=u/h.Options;r=[];y=[];for(k=0;k<h.Options;k++)r[k]=new mxCell("",new mxGeometry(k*ba,.5*t-5,10,10),"ellipse;labelPosition=right;part=1;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=3;"),r[k].vertex=!0,v.insert(r[k]),r[k].value=g(h["Option_"+(k+1)]),r[k].style+=b(h["Option_"+(k+1)],z),r[k].style+=a(r[k].style,h,l,r[k],z),null!=h.Selected&&h.Selected==k+1&&(J=I(h,l),
-J=J.replace("strokeColor","fillColor"),""==J&&(J="fillColor=#000000;"),y[k]=new mxCell("",new mxGeometry(2,2,6,6),"ellipse;part=1;"),y[k].vertex=!0,r[k].insert(y[k]),y[k].style+=J,y[k].style+=a(y[k].style,h,l,y[k]));break;case "UI2SelectBlock":v.style+="shape=mxgraph.mockup.forms.comboBox;strokeColor=#999999;fillColor=#ddeeff;align=left;fillColor2=#aaddff;mainText=;fontColor=#666666";v.value=g(h.Selected);break;case "UI2HSliderBlock":case "UI2VSliderBlock":v.style+="shape=mxgraph.mockup.forms.horSlider;sliderStyle=basic;handleStyle=handle;";
-"UI2VSliderBlock"==c.Class&&(v.style+="direction=south;");v.style+="sliderPos="+100*h.ScrollVal+";";v.style+=a(v.style,h,l,v);break;case "UI2DatePickerBlock":v.style+="strokeColor=none;fillColor=none;";r=new mxCell("",new mxGeometry(0,0,.6*u,t),"part=1;");r.vertex=!0;v.insert(r);r.value=g(h.Date);r.style+=b(h.Date,z);v.style+=a(v.style,h,l,v);J=I(h,l);J=J.replace("strokeColor","fillColor");""==J&&(J="fillColor=#000000;");y=new mxCell("",new mxGeometry(.75*u,0,.25*u,t),"part=1;shape=mxgraph.gmdl.calendar;");
-y.vertex=!0;v.insert(y);y.style+=J;y.style+=a(y.style,h,l,y);break;case "UI2SearchBlock":v.style+="shape=mxgraph.mockup.forms.searchBox;mainText=;flipH=1;align=left;spacingLeft=26;"+f(h.Search)+x(h.Search)+w(h.Search);v.value=g(h.Search);v.style+=a(v.style,h,l,v,z);break;case "UI2NumericStepperBlock":J=I(h,l);J=J.replace("strokeColor","fillColor");""==J&&(J="fillColor=#000000;");v.style+="shape=mxgraph.mockup.forms.spinner;spinLayout=right;spinStyle=normal;adjStyle=triangle;mainText=;align=left;spacingLeft=8;"+
-J+f(h.Number)+x(h.Number)+w(h.Number);v.value=g(h.Number);v.style+=a(v.style,h,l,v,z);break;case "UI2TableBlock":try{var Ba=ia(h.FillColor),nd=ia(h.LineColor),ee,gc="",Fd=20;v.style="html=1;overflow=fill;verticalAlign=top;spacing=0;";var jc='<table style="width:100%;height:100%;border-collapse: collapse;border: 1px solid '+nd+';">',Fb=h.Data.split("\n");ee=h.AltRow&&"default"!=h.AltRow?"none"==h.AltRow?Ba:ia(h.AltRow):Td(Ba,.95);cc=h.Header&&"default"!=h.Header?"none"==h.Header?ee:ia(h.Header):Td(Ba,
-.8);if("full"==h.GridLines)gc="border: 1px solid "+nd,Fd=19;else if("row"==h.GridLines)gc="border-bottom: 1px solid "+nd,Fd=19;else if("default"==h.GridLines||"column"==h.GridLines)gc="border-right: 1px solid "+nd;Fb=Fb.filter(function(a){return a});/^\{[^}]*\}$/.test(Fb[Fb.length-1])&&Fb.pop();for(var Tc=Fb[0].split(",").length,Me="",P=0;P<Tc-1;P++)Me+=" , ";for(k=Fb.length;k<Math.ceil(t/20);k++)Fb.push(Me);for(k=0;k<Fb.length;k++){for(var jc=jc+('<tr style="height: '+Fd+"px;background:"+(0==k?cc:
-k%2?Ba:ee)+'">'),Ne=Fb[k].split(","),P=0;P<Ne.length;P++)var od=h["Cell_"+k+"_"+P],nf=od&&od.m&&od.m[0]&&"c"==od.m[0].n?ia(od.m[0].v):nd,jc=jc+('<td style="height: '+Fd+"px;color:"+nf+";"+gc+'">'+mxUtils.htmlEntities(Ne[P])+"</td>");jc+="</tr>"}jc+="</table>";v.value=jc}catch(lb){console.log(lb)}break;case "UI2ButtonBarBlock":v.style+=a(v.style,h,l,v);r=[];y=[];ba=u/h.Buttons;for(k=0;k<=h.Buttons-1;k++)k==h.Selected-1?(y[k]=new mxCell("",new mxGeometry(k*ba,0,ba,t),""),y[k].vertex=!0,v.insert(y[k])):
-(r[k]=new mxCell("",new mxGeometry(k*ba,0,ba,t),"strokeColor=none;"),r[k].vertex=!0,v.insert(r[k]),r[k].style+=r[k].style+=a(r[k].style,h,l,r[k]),y[k]=new mxCell("",new mxGeometry(0,0,ba,t),"fillColor=#000000;fillOpacity=25;"),y[k].vertex=!0,r[k].insert(y[k])),y[k].value=g(h["Button_"+(k+1)]),y[k].style+=b(h["Button_"+(k+1)],z),y[k].style+=a(y[k].style,h,l,y[k],z);break;case "UI2VerticalButtonBarBlock":v.style+=a(v.style,h,l,v);r=[];y=[];N=t/h.Buttons;for(k=0;k<=h.Buttons-1;k++)k==h.Selected-1?(y[k]=
-new mxCell("",new mxGeometry(0,k*N,u,N),""),y[k].vertex=!0,v.insert(y[k])):(r[k]=new mxCell("",new mxGeometry(0,k*N,u,N),"strokeColor=none;"),r[k].vertex=!0,v.insert(r[k]),r[k].style+=a(r[k].style,h,l,r[k]),y[k]=new mxCell("",new mxGeometry(0,0,u,N),"fillColor=#000000;fillOpacity=25;"),y[k].vertex=!0,r[k].insert(y[k])),y[k].value=g(h["Button_"+(k+1)]),y[k].style+=b(h["Button_"+(k+1)],z),y[k].style+=a(y[k].style,h,l,y[k],z);break;case "UI2LinkBarBlock":v.style+="strokeColor=none;fillColor=none;";v.style+=
-a(v.style,h,l,v);r=[];y=[];ba=u/h.Links;for(k=0;k<h.Links;k++)0!=k?(y[k]=new mxCell("",new mxGeometry(k*ba,0,ba,t),"shape=partialRectangle;top=0;bottom=0;right=0;fillColor=none;"),y[k].style+=a(y[k].style,h,l,y[k])):y[k]=new mxCell("",new mxGeometry(k*ba,0,ba,t),"fillColor=none;strokeColor=none;"),y[k].vertex=!0,v.insert(y[k]),y[k].value=g(h["Link_"+(k+1)]),y[k].style+=b(h["Link_"+(k+1)],z);break;case "UI2BreadCrumbsBlock":v.style+="strokeColor=none;fillColor=none;";v.style+=a(v.style,h,l,v);r=[];
-y=[];ba=u/h.Links;for(k=0;k<h.Links;k++)r[k]=new mxCell("",new mxGeometry(k*ba,0,ba,t),"fillColor=none;strokeColor=none;"),r[k].vertex=!0,v.insert(r[k]),r[k].value=g(h["Link_"+(k+1)]),r[k].style+=b(h["Link_"+(k+1)],z);for(k=1;k<h.Links;k++)y[k]=new mxCell("",new mxGeometry(k/h.Links,.5,6,10),"shape=mxgraph.ios7.misc.right;"),y[k].geometry.relative=!0,y[k].geometry.offset=new mxPoint(-3,-5),y[k].vertex=!0,v.insert(y[k]);break;case "UI2MenuBarBlock":v.style+="strokeColor=none;";v.style+=a(v.style,h,
-l,v);r=[];ba=u/(h.Buttons+1);for(k=0;k<=h.Buttons-1;k++)r[k]=k!=h.Selected-1?new mxCell("",new mxGeometry(0,0,ba,t),"strokeColor=none;fillColor=none;resizeHeight=1;"):new mxCell("",new mxGeometry(0,0,ba,t),"fillColor=#000000;fillOpacity=25;strokeColor=none;resizeHeight=1;"),r[k].geometry.relative=!0,r[k].geometry.offset=new mxPoint(k*ba,0),r[k].vertex=!0,v.insert(r[k]),r[k].value=g(h["MenuItem_"+(k+1)]),r[k].style+=b(h["MenuItem_"+(k+1)],z);break;case "UI2AtoZBlock":v.style+="fillColor=none;strokeColor=none;"+
-b(h.Text_0);v.value="0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z";break;case "UI2PaginationBlock":v.style+="fillColor=none;strokeColor=none;"+b(h.Text_prev);v.value=g(h.Text_prev)+" ";for(k=0;k<h.Links;k++)v.value+=g(h["Link_"+(k+1)])+" ";v.value+=g(h.Text_next);break;case "UI2ContextMenuBlock":v.style+=a(v.style,h,l,v);for(var H=[],Fa=[],Fc=[],N=t/h.Lines,O=null,k=0;k<h.Lines;k++)null!=h["Item_"+(k+1)]&&(null==O&&(O=""+f(h["Item_"+(k+1)])+x(h["Item_"+(k+1)])+w(h["Item_"+(k+1)])),H[k]=
-new mxCell("",new mxGeometry(0,k*t/h.Lines,u,N),"strokeColor=none;fillColor=none;spacingLeft=20;align=left;html=1;"),H[k].vertex=!0,v.insert(H[k]),H[k].style+=O,H[k].value=g(h["Item_"+(k+1)])),null!=h.Icons[k+1]&&null!=H[k]&&("dot"==h.Icons[k+1]?(Fa[k]=new mxCell("",new mxGeometry(0,.5,8,8),"ellipse;strokeColor=none;"),Fa[k].geometry.offset=new mxPoint(6,-4)):"check"==h.Icons[k+1]&&(Fa[k]=new mxCell("",new mxGeometry(0,.5,7,8),"shape=mxgraph.mscae.general.checkmark;strokeColor=none;"),Fa[k].geometry.offset=
-new mxPoint(6.5,-4)),null!=Fa[k]&&(Fa[k].geometry.relative=!0,Fa[k].vertex=!0,H[k].insert(Fa[k]),J=I(h,l),J=J.replace("strokeColor","fillColor"),""==J&&(J="fillColor=#000000;"),Fa[k].style+=J)),null!=h["Shortcut_"+(k+1)]&&(null==O&&(O=""+f(h["Shortcut_"+(k+1)])+x(h["Shortcut_"+(k+1)])+w(h["Shortcut_"+(k+1)])),Fc[k]=new mxCell("",new mxGeometry(.6*u,k*t/h.Lines,.4*u,N),"strokeColor=none;fillColor=none;spacingRight=3;align=right;html=1;"),Fc[k].vertex=!0,v.insert(Fc[k]),Fc[k].style+=O,Fc[k].value=g(h["Shortcut_"+
-(k+1)])),null!=h.Dividers[k+1]&&(H[k]=new mxCell("",new mxGeometry(.05*u,k*t/h.Lines,.9*u,N),"shape=line;strokeWidth=1;"),H[k].vertex=!0,v.insert(H[k]),H[k].style+=I(h,l));break;case "UI2ProgressBarBlock":v.style+="shape=mxgraph.mockup.misc.progressBar;fillColor2=#888888;barPos="+100*h.ScrollVal+";";break;case "CalloutSquareBlock":case "UI2TooltipSquareBlock":v.value=g(h.Tip||h.Text);v.style+="html=1;shape=callout;flipV=1;base=13;size=7;position=0.5;position2=0.66;rounded=1;arcSize="+h.RoundCorners+
-";"+b(h.Tip||h.Text,z);v.style+=a(v.style,h,l,v,z);v.geometry.height+=10;break;case "UI2CalloutBlock":v.value=g(h.Txt);v.style+="shape=ellipse;perimeter=ellipsePerimeter;"+b(h.Txt,z);v.style+=a(v.style,h,l,v,z);break;case "UI2AlertBlock":v.value=g(h.Txt);v.style+=b(h.Txt,z);v.style+=a(v.style,h,l,v,z);r=new mxCell("",new mxGeometry(0,0,u,30),"part=1;resizeHeight=0;");r.vertex=!0;v.insert(r);r.value=g(h.Title);r.style+=b(h.Title,z);r.style+=a(r.style,h,l,r,z);y=new mxCell("",new mxGeometry(1,.5,20,
-20),"ellipse;part=1;strokeColor=#008cff;resizable=0;fillColor=none;html=1;");y.geometry.relative=!0;y.geometry.offset=new mxPoint(-25,-10);y.vertex=!0;r.insert(y);for(var of=45*h.Buttons+(10*h.Buttons-1),F=[],k=0;k<h.Buttons;k++)F[k]=new mxCell("",new mxGeometry(.5,1,45,20),"part=1;html=1;"),F[k].geometry.relative=!0,F[k].geometry.offset=new mxPoint(.5*-of+55*k,-40),F[k].vertex=!0,v.insert(F[k]),F[k].value=g(h["Button_"+(k+1)]),F[k].style+=b(h["Button_"+(k+1)],z),F[k].style+=a(F[k].style,h,l,F[k],
-z);break;case "UMLClassBlock":if(0==h.Simple){O=Y(h,l);ta=Math.round(.75*h.TitleHeight)||25;O=O.replace("fillColor","swimlaneFillColor");""==O&&(O="swimlaneFillColor=#ffffff;");v.value=g(h.Title);v.style+="swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;"+O+"startSize="+ta+";"+b(h.Title,z);v.style+=a(v.style,h,l,v,z);for(var H=[],fe=[],Na=ta/t,hb=ta,k=0;k<=h.Attributes;k++)0<k&&(fe[k]=new mxCell("",
-new mxGeometry(0,hb,40,8),"line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;"),hb+=8,fe[k].vertex=!0,v.insert(fe[k])),N=0,0==h.Attributes?N=k=1:k<h.Attributes?(N=h["Text"+(k+1)+"Percent"],Na+=N):N=1-Na,Bb=Math.round((t-ta)*N)+(h.ExtraHeightSet&&1==k?.75*h.ExtraHeight:0),H[k]=new mxCell("",new mxGeometry(0,hb,u,Bb),"part=1;html=1;whiteSpace=wrap;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
-hb+=Bb,H[k].vertex=!0,v.insert(H[k]),H[k].style+=O+R(h,l,H[k])+f(h["Text"+(k+1)])+x(h["Text"+(k+1)])+w(h["Text"+(k+1)]),H[k].value=g(h["Text"+(k+1)])}else v.value=g(h.Title),v.style+=b(h.Title,z),v.style+=a(v.style,h,l,v,z);break;case "ERDEntityBlock":O=Y(h,l);ta=.75*h.Name_h;O=O.replace("fillColor","swimlaneFillColor");""==O&&(O="swimlaneFillColor=#ffffff;");v.value=g(h.Name);v.style+="swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;"+
-O+"startSize="+ta+";"+b(h.Name,z);v.style+=a(v.style,h,l,v,z);v.style=h.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+Y(h,l);H=[];Na=ta/t;hb=ta;for(k=0;k<h.Fields;k++)N=0,Bb=.75*h["Field"+(k+1)+"_h"],H[k]=new mxCell("",new mxGeometry(0,hb,u,Bb),"part=1;resizeHeight=0;strokeColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;whiteSpace=wrap;"),hb+=Bb,H[k].vertex=!0,v.insert(H[k]),H[k].style+=O+
-f(h["Field"+(k+1)])+x(h["Field"+(k+1)])+w(h["Field"+(k+1)]),H[k].style=1==h.AltRows&&0!=k%2?H[k].style+"fillColor=#000000;opacity=5;":H[k].style+("fillColor=none;"+R(h,l,H[k])),H[k].value=g(h["Field"+(k+1)]);break;case "ERDEntityBlock2":O=Y(h,l);ta=.75*h.Name_h;O=O.replace("fillColor","swimlaneFillColor");""==O&&(O="swimlaneFillColor=#ffffff;");v.value=g(h.Name);v.style+="swimlane;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;fontStyle=0;"+O+"startSize="+ta+";"+b(h.Name,
-z);v.style=h.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+Y(h,l);v.style+=a(v.style,h,l,v,z);var H=[],da=[],Na=ta,Xa=30;null!=h.Column1&&(Xa=.75*h.Column1);for(k=0;k<h.Fields;k++)N=0,da[k]=new mxCell("",new mxGeometry(0,Na,Xa,.75*h["Key"+(k+1)+"_h"]),"strokeColor=none;part=1;resizeHeight=0;align=center;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;whiteSpace=wrap;"),da[k].vertex=!0,v.insert(da[k]),da[k].style+=
-O+f(h["Key"+(k+1)])+x(h["Key"+(k+1)])+w(h["Key"+(k+1)]),da[k].style=1==h.AltRows&&0!=k%2?da[k].style+"fillColor=#000000;fillOpacity=5;":da[k].style+("fillColor=none;"+R(h,l,da[k])),da[k].value=g(h["Key"+(k+1)]),H[k]=new mxCell("",new mxGeometry(Xa,Na,u-Xa,.75*h["Field"+(k+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;whiteSpace=wrap;"),
-H[k].vertex=!0,v.insert(H[k]),H[k].style+=O+f(h["Field"+(k+1)])+x(h["Field"+(k+1)])+w(h["Field"+(k+1)]),v.style+=a(v.style,h,l,v),H[k].style=1==h.AltRows&&0!=k%2?H[k].style+"fillColor=#000000;fillOpacity=5;":H[k].style+("fillColor=none;"+R(h,l,H[k])),H[k].value=g(h["Field"+(k+1)]),Na+=.75*h["Key"+(k+1)+"_h"];break;case "ERDEntityBlock3":O=Y(h,l);ta=.75*h.Name_h;O=O.replace("fillColor","swimlaneFillColor");""==O&&(O="swimlaneFillColor=#ffffff;");v.style+="swimlane;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;fontStyle=0;"+
-O+"startSize="+ta+";"+b(h.Name);v.style=h.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+Y(h,l);v.value=g(h.Name);v.style+=a(v.style,h,l,v,z);H=[];da=[];Na=ta;Xa=30;null!=h.Column1&&(Xa=.75*h.Column1);for(k=0;k<h.Fields;k++)N=0,da[k]=new mxCell("",new mxGeometry(0,Na,Xa,.75*h["Field"+(k+1)+"_h"]),"strokeColor=none;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;"),da[k].vertex=
-!0,v.insert(da[k]),da[k].style+=O+f(h["Field"+(k+1)])+x(h["Field"+(k+1)])+w(h["Field"+(k+1)]),da[k].style=1==h.AltRows&&0!=k%2?da[k].style+"fillColor=#000000;fillOpacity=5;":da[k].style+("fillColor=none;"+R(h,l,da[k])),da[k].value=g(h["Field"+(k+1)]),da[k].style+=a(da[k].style,h,l,da[k],z),H[k]=new mxCell("",new mxGeometry(Xa,Na,u-Xa,.75*h["Type"+(k+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;"),
-H[k].vertex=!0,v.insert(H[k]),H[k].style+=O+f(h["Type"+(k+1)])+x(h["Type"+(k+1)])+w(h["Type"+(k+1)]),H[k].style=1==h.AltRows&&0!=k%2?H[k].style+"fillColor=#000000;fillOpacity=5;":H[k].style+("fillColor=none;"+R(h,l,H[k])),H[k].value=g(h["Type"+(k+1)]),H[k].style+=a(H[k].style,h,l,H[k],z),Na+=.75*h["Field"+(k+1)+"_h"];break;case "ERDEntityBlock4":O=Y(h,l);ta=.75*h.Name_h;O=O.replace("fillColor","swimlaneFillColor");""==O&&(O="swimlaneFillColor=#ffffff;");v.style+="swimlane;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;fontStyle=0;"+
-O+"startSize="+ta+";"+b(h.Name);v.style=h.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+Y(h,l);v.value=g(h.Name);v.style+=a(v.style,h,l,v,z);var H=[],da=[],Ya=[],Na=ta,Xa=30,Gd=40;null!=h.Column1&&(Xa=.75*h.Column1);null!=h.Column2&&(Gd=.75*h.Column2);for(k=0;k<h.Fields;k++)N=0,da[k]=new mxCell("",new mxGeometry(0,Na,Xa,.75*h["Key"+(k+1)+"_h"]),"strokeColor=none;part=1;resizeHeight=0;align=center;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;"),
-da[k].vertex=!0,v.insert(da[k]),da[k].style+=O+f(h["Key"+(k+1)])+x(h["Key"+(k+1)])+w(h["Key"+(k+1)]),da[k].style=1==h.AltRows&&0!=k%2?da[k].style+"fillColor=#000000;fillOpacity=5;":da[k].style+("fillColor=none;"+R(h,l,da[k])),da[k].value=g(h["Key"+(k+1)]),da[k].style+=a(da[k].style,h,l,da[k],z),H[k]=new mxCell("",new mxGeometry(Xa,Na,u-Xa-Gd,.75*h["Field"+(k+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;"),
-H[k].vertex=!0,v.insert(H[k]),H[k].style+=O+f(h["Field"+(k+1)])+x(h["Field"+(k+1)])+w(h["Field"+(k+1)]),H[k].style=1==h.AltRows&&0!=k%2?H[k].style+"fillColor=#000000;fillOpacity=5;":H[k].style+("fillColor=none;"+R(h,l,H[k])),H[k].value=g(h["Field"+(k+1)]),H[k].style+=a(H[k].style,h,l,H[k],z),Ya[k]=new mxCell("",new mxGeometry(u-Gd,Na,Gd,.75*h["Type"+(k+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;"),
-Ya[k].vertex=!0,v.insert(Ya[k]),Ya[k].style+=O+f(h["Type"+(k+1)])+x(h["Type"+(k+1)])+w(h["Type"+(k+1)]),Ya[k].style=1==h.AltRows&&0!=k%2?Ya[k].style+"fillColor=#000000;fillOpacity=5;":Ya[k].style+("fillColor=none;"+R(h,l,Ya[k])),Ya[k].value=g(h["Type"+(k+1)]),Ya[k].style+=a(Ya[k].style,h,l,Ya[k],z),Na+=.75*h["Key"+(k+1)+"_h"];break;case "GCPServiceCardApplicationSystemBlock":ga("application_system",u,t,v,h,l);break;case "GCPServiceCardAuthorizationBlock":ga("internal_payment_authorization",u,t,v,
-h,l);break;case "GCPServiceCardBlankBlock":ga("blank",u,t,v,h,l);break;case "GCPServiceCardReallyBlankBlock":ga("blank",u,t,v,h,l);break;case "GCPServiceCardBucketBlock":ga("bucket",u,t,v,h,l);break;case "GCPServiceCardCDNInterconnectBlock":ga("google_network_edge_cache",u,t,v,h,l);break;case "GCPServiceCardCloudDNSBlock":ga("blank",u,t,v,h,l);break;case "GCPServiceCardClusterBlock":ga("cluster",u,t,v,h,l);break;case "GCPServiceCardDiskSnapshotBlock":ga("persistent_disk_snapshot",u,t,v,h,l);break;
-case "GCPServiceCardEdgePopBlock":ga("google_network_edge_cache",u,t,v,h,l);break;case "GCPServiceCardFrontEndPlatformServicesBlock":ga("frontend_platform_services",u,t,v,h,l);break;case "GCPServiceCardGatewayBlock":ga("gateway",u,t,v,h,l);break;case "GCPServiceCardGoogleNetworkBlock":ga("google_network_edge_cache",u,t,v,h,l);break;case "GCPServiceCardImageServicesBlock":ga("image_services",u,t,v,h,l);break;case "GCPServiceCardLoadBalancerBlock":ga("network_load_balancer",u,t,v,h,l);break;case "GCPServiceCardLocalComputeBlock":ga("dedicated_game_server",
-u,t,v,h,l);break;case "GCPServiceCardLocalStorageBlock":ga("persistent_disk_snapshot",u,t,v,h,l);break;case "GCPServiceCardLogsAPIBlock":ga("logs_api",u,t,v,h,l);break;case "GCPServiceCardMemcacheBlock":ga("memcache",u,t,v,h,l);break;case "GCPServiceCardNATBlock":ga("nat",u,t,v,h,l);break;case "GCPServiceCardPaymentFormBlock":ga("external_payment_form",u,t,v,h,l);break;case "GCPServiceCardPushNotificationsBlock":ga("push_notification_service",u,t,v,h,l);break;case "GCPServiceCardScheduledTasksBlock":ga("scheduled_tasks",
-u,t,v,h,l);break;case "GCPServiceCardServiceDiscoveryBlock":ga("service_discovery",u,t,v,h,l);break;case "GCPServiceCardSquidProxyBlock":ga("squid_proxy",u,t,v,h,l);break;case "GCPServiceCardTaskQueuesBlock":ga("task_queues",u,t,v,h,l);break;case "GCPServiceCardVirtualFileSystemBlock":ga("virtual_file_system",u,t,v,h,l);break;case "GCPServiceCardVPNGatewayBlock":ga("gateway",u,t,v,h,l);break;case "GCPInputDatabase":oa("database",1,.9,u,t,v,h,l);break;case "GCPInputRecord":oa("record",1,.66,u,t,v,
-h,l);break;case "GCPInputPayment":oa("payment",1,.8,u,t,v,h,l);break;case "GCPInputGateway":oa("gateway_icon",1,.44,u,t,v,h,l);break;case "GCPInputLocalCompute":oa("compute_engine_icon",1,.89,u,t,v,h,l);break;case "GCPInputBeacon":oa("beacon",.73,1,u,t,v,h,l);break;case "GCPInputStorage":oa("storage",1,.8,u,t,v,h,l);break;case "GCPInputList":oa("list",.89,1,u,t,v,h,l);break;case "GCPInputStream":oa("stream",1,.82,u,t,v,h,l);break;case "GCPInputMobileDevices":oa("mobile_devices",1,.73,u,t,v,h,l);break;
-case "GCPInputCircuitBoard":oa("circuit_board",1,.9,u,t,v,h,l);break;case "GCPInputLive":oa("live",.74,1,u,t,v,h,l);break;case "GCPInputUsers":oa("users",1,.63,u,t,v,h,l);break;case "GCPInputLaptop":oa("laptop",1,.66,u,t,v,h,l);break;case "GCPInputApplication":oa("application",1,.8,u,t,v,h,l);break;case "GCPInputLightbulb":oa("lightbulb",.7,1,u,t,v,h,l);break;case "GCPInputGame":oa("game",1,.54,u,t,v,h,l);break;case "GCPInputDesktop":oa("desktop",1,.9,u,t,v,h,l);break;case "GCPInputDesktopAndMobile":oa("desktop_and_mobile",
-1,.66,u,t,v,h,l);break;case "GCPInputWebcam":oa("webcam",.5,1,u,t,v,h,l);break;case "GCPInputSpeaker":oa("speaker",.7,1,u,t,v,h,l);break;case "GCPInputRetail":oa("retail",1,.89,u,t,v,h,l);break;case "GCPInputReport":oa("report",1,1,u,t,v,h,l);break;case "GCPInputPhone":oa("phone",.64,1,u,t,v,h,l);break;case "GCPInputBlank":oa("transparent",1,1,u,t,v,h,l);break;case "PresentationFrameBlock":0==h.ZOrder?v.style+="strokeColor=none;fillColor=none;":(v.style+=b(h.Text),v.value=g(h.Text),v.style+=a(v.style,
-h,l,v,z));break;case "SVGPathBlock2":try{for(var pf=h.LineWidth,qf=h.LineColor,Oe=h.FillColor,Pe=h.DrawData.Data,Hd='<svg viewBox="0 0 1 1" xmlns="http://www.w3.org/2000/svg">',k=0;k<Pe.length;k++){var Gb=Pe[k],rf=Gb.a,sf=("prop"==Gb.w||null==Gb.w?pf:Gb.w)/Math.min(u,t)*.75,fc="prop"==Gb.s||null==Gb.s?qf:Gb.s,J="prop"==Gb.f||null==Gb.f?Oe:Gb.f;"object"==typeof J&&(J=Array.isArray(J.cs)?J.cs[0].c:Oe);Hd+='<path d="'+rf+'" fill="'+J+'" stroke="'+fc+'" stroke-width="'+sf+'"/>'}Hd+="</svg>";v.style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=data:image/svg+xml,"+
-(window.btoa?btoa(Hd):Base64.encode(Hd,!0))+";"}catch(lb){}break;case "BraceBlock":case "BraceBlockRotated":case "BracketBlock":case "BracketBlockRotated":var Qe=0==ea.indexOf("Bracket")?"size=0;arcSize=50;":"",Re=a(v.style,h,l,v,z),Ea=aa(h,l,v);v.style="group;"+Ea;var ge=Math.min(.14*(Ea?u:t),100),he=new mxCell("",new mxGeometry(0,0,ge,t),"shape=curlyBracket;rounded=1;"+Qe+Re);he.vertex=!0;he.geometry.relative=!0;var ie=new mxCell("",new mxGeometry(1-ge/u,0,ge,t),"shape=curlyBracket;rounded=1;flipH=1;"+
-Qe+Re);ie.vertex=!0;ie.geometry.relative=!0;v.insert(he);v.insert(ie);break;case "BPMNTextAnnotation":case "NoteBlock":h.InsetMargin=null;v.value=g(h.Text);v.style="group;spacingLeft=8;align=left;spacing=0;strokeColor=none;";v.style+=a(v.style,h,l,v,z);0>v.style.indexOf("verticalAlign")&&(v.style+="verticalAlign=middle;");var Gc=new mxCell("",new mxGeometry(0,0,8,t),"shape=partialRectangle;right=0;fillColor=none;");Gc.geometry.relative=!0;Gc.vertex=!0;Gc.style+=a(Gc.style,h,l,v,z);v.insert(Gc);break;
-case "TimelineBlock":case "TimelineMilestoneBlock":case "TimelineIntervalBlock":LucidImporter.hasTimeLine=!0;LucidImporter.hasUnknownShapes=!0;break;case "FreehandBlock":try{Ea=aa(h,l,v);v.style="group;"+Ea;if(null!=h.Stencil){null==h.Stencil.id&&(h.Stencil.id="$$tmpId$$",ue(h.Stencil.id,h.Stencil));for(var kc=LucidImporter.stencilsMap[h.Stencil.id],k=0;k<kc.stencils.length;k++){var Ga=kc.stencils[k],Q=new mxCell("",new mxGeometry(0,0,u,t),"shape="+Ga.shapeStencil+";"),tf=Ga.FillColor,uf=Ga.LineColor,
-vf=Ga.LineWidth;"prop"==Ga.FillColor&&(Ga.FillColor=h.FillColor);null==Ga.FillColor&&(Ga.FillColor="#ffffff00");"prop"==Ga.LineColor&&(Ga.LineColor=h.LineColor);null==Ga.LineColor&&(Ga.LineColor="#ffffff00");"prop"==Ga.LineWidth&&(Ga.LineWidth=h.LineWidth);Q.style+=a(Q.style,Ga,l,Q,z);Ga.FillColor=tf;Ga.LineColor=uf;Ga.LineWidth=vf;var J=h.FillColor,wf=h.LineColor,xf=h.LineWidth;h.FillColor=null;h.LineColor=null;h.LineWidth=null;Q.style+=a(Q.style,h,l,Q,z);h.FillColor=J;h.LineColor=wf;h.LineWidth=
-xf;Q.vertex=!0;Q.geometry.relative=!0;v.insert(Q)}for(var jb=0,Ea=h.Rotation;h["t"+jb];){var Se=h["t"+jb],Te=g(Se);if(Te){var Oa=new mxCell(Te,new mxGeometry(0,0,u,t),"strokeColor=none;fillColor=none;overflow=visible;");h.Rotation=0;Oa.style+=a(Oa.style,Se,l,Oa,z);Oa.style+=a(Oa.style,h,l,Oa,z);h.Rotation=Ea;if(null!=kc.text&&null!=kc.text["t"+jb]){var ua=kc.text["t"+jb];ua.Rotation=Ea+(ua.rotation?ua.rotation:0)+(h["t"+jb+"_TRotation"]?h["t"+jb+"_TRotation"]:0)+(h["t"+jb+"_TAngle"]?h["t"+jb+"_TAngle"]:
-0);Oa.style+=a(Oa.style,ua,l,Oa,z);var kb=Oa.geometry;ua.w&&(kb.width*=ua.w);ua.h&&(kb.height*=ua.h);ua.x&&(kb.x=ua.x/kc.w);ua.y&&(kb.y=ua.y/kc.h);ua.fw&&(kb.width*=.75*ua.fw/u);ua.fh&&(kb.height*=.75*ua.fh/t);ua.fx&&(kb.x=(0<ua.fx?1:0)+.75*ua.fx/u);ua.fy&&(kb.y=(0<ua.fy?1:0)+.75*ua.fy/t)}Oa.vertex=!0;Oa.geometry.relative=!0;v.insert(Oa)}jb++}}if(h.FillColor&&h.FillColor.url){var pd=new mxCell("",new mxGeometry(0,0,u,t),"shape=image;html=1;");pd.style+=sd({},{},h.FillColor.url);pd.vertex=!0;pd.geometry.relative=
-!0;v.insert(pd)}}catch(lb){console.log("Freehand error",lb)}break;case "RightArrowBlock":var je=h.Head*t/u;v.style="shape=singleArrow;arrowWidth="+(1-2*h.Notch)+";arrowSize="+je;v.value=g(h);v.style+=a(v.style,h,l,v,z);break;case "DoubleArrowBlock":je=h.Head*t/u;v.style="shape=doubleArrow;arrowWidth="+(1-2*h.Notch)+";arrowSize="+je;v.value=g(h);v.style+=a(v.style,h,l,v,z);break;case "VPCSubnet2017":case "VirtualPrivateCloudContainer2017":case "ElasticBeanStalkContainer2017":case "EC2InstanceContents2017":case "AWSCloudContainer2017":case "CorporateDataCenterContainer2017":var lc,
-mc,nc;switch(ea){case "VPCSubnet2017":lc="shape=mxgraph.aws3.permissions;fillColor=#D9A741;";mc=30;nc=35;break;case "VirtualPrivateCloudContainer2017":lc="shape=mxgraph.aws3.virtual_private_cloud;fillColor=#F58536;";mc=52;nc=36;break;case "ElasticBeanStalkContainer2017":lc="shape=mxgraph.aws3.elastic_beanstalk;fillColor=#F58536;";mc=30;nc=41;break;case "EC2InstanceContents2017":lc="shape=mxgraph.aws3.instance;fillColor=#F58536;";mc=40;nc=41;break;case "AWSCloudContainer2017":lc="shape=mxgraph.aws3.cloud;fillColor=#F58536;";
-mc=52;nc=36;break;case "CorporateDataCenterContainer2017":lc="shape=mxgraph.aws3.corporate_data_center;fillColor=#7D7C7C;",mc=30,nc=42}v.style="rounded=1;arcSize=10;dashed=0;verticalAlign=bottom;";v.value=g(h);v.style+=a(v.style,h,l,v,z);v.geometry.y+=20;v.geometry.height-=20;Fa=new mxCell("",new mxGeometry(20,-20,mc,nc),lc);Fa.vertex=!0;v.insert(Fa);break;case "FlexiblePolygonBlock":var oc=['<shape strokewidth="inherit"><foreground>'];oc.push("<path>");for(P=0;P<h.Vertices.length;P++)ja=h.Vertices[P],
-0==P?oc.push('<move x="'+100*ja.x+'" y="'+100*ja.y+'"/>'):oc.push('<line x="'+100*ja.x+'" y="'+100*ja.y+'"/>');oc.push("</path>");oc.push("<fillstroke/>");oc.push("</foreground></shape>");v.style="shape=stencil("+Graph.compress(oc.join(""))+");";v.value=g(h);v.style+=a(v.style,h,l,v,z);break;case "InfographicsBlock":var Ue=h.ShapeData_1.Value,ke=h.ShapeData_2.Value-Ue,le=h.ShapeData_3.Value-Ue,Id=h.ShapeData_4.Value*u/200,jb="ProgressBar"==h.InternalStencilId?4:5,Ba=h["ShapeData_"+jb].Value,Ba="=fillColor()"==
-Ba?h.FillColor:Ba,Hc=h["ShapeData_"+(jb+1)].Value;switch(h.InternalStencilId){case "ProgressDonut":v.style="shape=mxgraph.basic.donut;dx="+Id+";strokeColor=none;fillColor="+ia(Hc)+";"+va(Hc,"fillOpacity");v.style+=a(v.style,h,l,v,z);var ra=new mxCell("",new mxGeometry(0,0,u,t),"shape=mxgraph.basic.partConcEllipse;startAngle=0;endAngle="+le/ke+";arcWidth="+Id/u*2+";strokeColor=none;fillColor="+ia(Ba)+";"+va(Ba,"fillOpacity"));ra.style+=a(ra.style,h,l,ra,z);ra.vertex=!0;ra.geometry.relative=1;v.insert(ra);
-break;case "ProgressHalfDonut":v.geometry.height*=2;v.geometry.rotate90();var Ve=le/ke/2;v.style="shape=mxgraph.basic.partConcEllipse;startAngle=0;endAngle="+Ve+";arcWidth="+2*Id/u+";strokeColor=none;fillColor="+ia(Ba)+";"+va(Ba,"fillOpacity");h.Rotation-=Math.PI/2;v.style+=a(v.style,h,l,v,z);ra=new mxCell("",new mxGeometry(0,0,v.geometry.width,v.geometry.height),"shape=mxgraph.basic.partConcEllipse;startAngle=0;endAngle="+(.5-Ve)+";arcWidth="+2*Id/u+";strokeColor=none;flipH=1;fillColor="+ia(Hc)+
-";"+va(Hc,"fillOpacity"));h.Rotation+=Math.PI;ra.style+=a(ra.style,h,l,ra,z);ra.vertex=!0;ra.geometry.relative=1;v.insert(ra);break;case "ProgressBar":v.style="strokeColor=none;fillColor="+ia(Hc)+";"+va(Hc,"fillOpacity"),v.style+=a(v.style,h,l,v,z),ra=new mxCell("",new mxGeometry(0,0,u*le/ke,t),"strokeColor=none;fillColor="+ia(Ba)+";"+va(Ba,"fillOpacity")),ra.style+=a(ra.style,h,l,ra,z),ra.vertex=!0,ra.geometry.relative=1,v.insert(ra)}break;case "InternalStorageBlock":v.style+="shape=internalStorage;dx=10;dy=10";
-if(h.Text&&h.Text.m){for(var Jd=h.Text.m,me=!1,ne=!1,k=0;k<Jd.length;k++){var Ic=Jd[k];me||"mt"!=Ic.n?ne||"il"!=Ic.n||(Ic.v=17+(Ic.v||0),ne=!0):(Ic.v=17+(Ic.v||0),me=!0)}me||Jd.push({s:0,n:"mt",v:17});ne||Jd.push({s:0,n:"il",v:17})}v.value=g(h);v.style+=a(v.style,h,l,v,z);break;case "PersonRoleBlock":try{O=Y(h,l);ta=t/2;O=O.replace("fillColor","swimlaneFillColor");""==O&&(O="swimlaneFillColor=#ffffff;");v.value=g(h.Role);v.style+="swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;"+
-O+"startSize="+ta+";spacingLeft=3;spacingRight=3;fontStyle=0;"+b(h.Role,z);v.style+=a(v.style,h,l,v,z);var Pb=new mxCell("",new mxGeometry(0,t/2,u,t/2),"part=1;html=1;resizeHeight=0;spacingTop=-1;spacingLeft=3;spacingRight=3;");Pb.value=g(h.Name);Pb.vertex=!0;v.insert(Pb);Pb.style+=b(h.Name,z);Pb.style+=a(Pb.style,h,l,Pb,z)}catch(lb){console.log(lb)}}v.style&&0>v.style.indexOf("html")&&(v.style+="html=1;");if(h.Title&&h.Text)try{var We=v.geometry,Xe=new mxCell(g(h.Title),new mxGeometry(0,We.height,
-We.width,10),"strokeColor=none;fillColor=none;");Xe.vertex=!0;v.insert(Xe);v.style+=b(h.Title,z)}catch(lb){console.log(lb)}te(v,h);h.Hidden&&(v.visible=!1);return v}function te(a,b){if(b.Text_TRotation||b.TextRotation)try{var c=mxUtils.toDegree(b.Text_TRotation||0)+mxUtils.toDegree(b.TextRotation||0);if(!isNaN(c)&&0!=c&&a.value){var f=a.geometry.width,m=a.geometry.height,l=f,d=m,e=0,w=0;if(-90==c||-270==c)var l=m,d=f,x=(m-f)/2,e=-x/f,w=x/m;var c=c+mxUtils.toDegree(b.Rotation),g=a.style.split(";").filter(function(a){return 0>
-a.indexOf("fillColor=")&&0>a.indexOf("strokeColor=")&&0>a.indexOf("rotation=")}).join(";"),q=new mxCell(a.value,new mxGeometry(e,w,l,d),g+"fillColor=none;strokeColor=none;rotation="+c+";");a.value=null;q.geometry.relative=!0;q.vertex=!0;a.insert(q)}}catch(Ze){console.log(Ze)}}function Qc(b,c,f,m,h){function l(a,b){var c="";try{for(var f=0;f<a.text.length;f++){var m=a.text[f];if(m[0]=="t_"+b){for(var h in m[1]){var l=m[1][h];if(l)switch(h){case "font":c+=e(l);break;case "bold":c+="font-weight: bold;";
-break;case "italic":c+="font-style: italic;";break;case "underline":c+="text-decoration: underline;";break;case "size":c+="font-size:"+p(.75*l)+"px;";break;case "color":c+="color:"+ea(l).substring(0,7)+";";break;case "fill":c+="background-color:"+ea(l).substring(0,7)+";";break;case "align":c+="text-align:"+l+";"}}break}}}catch(ud){}return c}try{var d=function(a,b,c){a=I+a;B[a]=b;b="";for(var f=0;f<n.length;f++)b+='<div style="'+z[f]+'">'+(c[n[f]]||"&nbsp;")+"</div>";f=mxUtils.getSizeForString(b);
-c=c.Image||c["018__ImageUrl__"]||w;if(null!=LucidImporter.imgSrcRepl)for(var l=0;l<LucidImporter.imgSrcRepl.length;l++){var d=LucidImporter.imgSrcRepl[l];c=c.replace(d.searchVal,d.replVal)}b=new mxCell(b,new mxGeometry(0,0,f.width+E,f.height+K),Z+(T?c:""));b.vertex=!0;h[a]=b;m.addCell(b,q)},w="https://cdn4.iconfinder.com/data/icons/basic-user-interface-elements/700/user-account-profile-human-avatar-face-head--128.png",x=c.OrgChartBlockType,g=c.Location,q=new mxCell("",new mxGeometry(.75*g.x,.75*g.y,
-200,100),"group");q.vertex=!0;m.addCell(q);var n=c.FieldNames,C=c.LayoutSettings,A=c.BlockItemDefaultStyle,G=c.EdgeItemDefaultStyle,B={},I=(b||Date.now())+"_";4==x&&(A.props.LineWidth=0);var z=[],E=25,K=40,T=!0,Z=a("",A.props,{},q,!0);0==x?(Z+="spacingTop=54;imageWidth=54;imageHeight=54;imageAlign=center;imageVerticalAlign=top;image=",K+=54):1==x||2==x?(Z+="spacingLeft=54;imageWidth=50;imageHeight=50;imageAlign=left;imageVerticalAlign=top;image=",E+=54):3<=x&&(T=!1);for(b=0;b<n.length;b++)z.push(l(A,
-n[b]));if(f.Items)for(var k=f.Items.n,D=0;D<k.length;D++){var R=k[D];d(R.pk,R.ie[0]?R.ie[0].nf:null,R.f)}else{for(var aa,ia=c.ContractMap.derivative,D=0;D<ia.length;D++)if("ForeignKeyGraph"==ia[D].type)aa=ia[D].c[0].id,aa=aa.substr(0,aa.indexOf("_"));else if("MappedGraph"==ia[D].type)for(b=0;b<n.length;b++)n[b]=ia[D].nfs[n[b]]||n[b];var S,va,ka;for(ka in f){var R=f[ka].Collections,Y;for(Y in R)Y==aa?k=R[Y].Items:R[Y].Properties.ForeignKeys&&R[Y].Properties.ForeignKeys[0]&&(S=R[Y].Properties.ForeignKeys[0].SourceFields[0],
-va=R[Y].Properties.Schema.PrimaryKey[0]);if(k)break}for(var Db in k)R=k[Db],d(R[va],R[S],R)}for(ka in B){var P=B[ka];if(P){var sd=h[I+P],ma=h[ka],fa=new mxCell("",new mxGeometry(0,0,100,100),"");fa.geometry.relative=!0;fa.edge=!0;qc(fa,G.props,m,null,null,!0);m.addCell(fa,q,null,sd,ma)}}var pc=.75*C.NodeSpacing.LevelSeparation;(new mxOrgChartLayout(m,0,pc,.75*C.NodeSpacing.NeighborSeparation)).execute(q);for(D=f=c=0;q.children&&D<q.children.length;D++){var xa=q.children[D].geometry;c=Math.max(c,xa.x+
-xa.width);f=Math.max(f,xa.y+xa.height)}var ga=q.geometry;ga.y-=pc;ga.width=c;ga.height=f}catch(ac){LucidImporter.hasUnknownShapes=!0,LucidImporter.hasOrgChart=!0,console.log(ac)}}var Qb=0,Rb=0,bc="text;html=1;resizable=0;labelBackgroundColor=#ffffff;align=center;verticalAlign=middle;",z=!1,Ca="",Od=["AEUSBBlock","AGSCutandpasteBlock","iOSDeviceiPadLandscape","iOSDeviceiPadProLandscape"],Pd=["fpDoor"],Lc={None:"none;",Arrow:"block;xyzFill=1;","Hollow Arrow":"block;xyzFill=0;","Open Arrow":"open;",
-"CFN ERD Zero Or More Arrow":"ERzeroToMany;xyzSize=10;","CFN ERD One Or More Arrow":"ERoneToMany;xyzSize=10;","CFN ERD Many Arrow":"ERmany;xyzSize=10;","CFN ERD Exactly One Arrow":"ERmandOne;xyzSize=10;","CFN ERD Zero Or One Arrow":"ERzeroToOne;xyzSize=10;","CFN ERD One Arrow":"ERone;xyzSize=16;",Generalization:"block;xyzFill=0;xyzSize=12;","Big Open Arrow":"open;xyzSize=10;",Asynch1:"openAsync;flipV=1;xyzSize=10;",Asynch2:"openAsync;xyzSize=10;",Aggregation:"diamond;xyzFill=0;xyzSize=16;",Composition:"diamond;xyzFill=1;xyzSize=16;",
-BlockEnd:"box;xyzFill=0;xyzSize=16;",Measure:"ERone;xyzSize=10;",CircleOpen:"oval;xyzFill=0;xyzSize=16;",CircleClosed:"oval;xyzFill=1;xyzSize=16;",BlockEndFill:"box;xyzFill=1;xyzSize=16;",Nesting:"circlePlus;xyzSize=7;xyzFill=0;","BPMN Conditional":"diamond;xyzFill=0;","BPMN Default":"dash;"},rc={DefaultTextBlockNew:"strokeColor=none;fillColor=none",DefaultTextBlock:"strokeColor=none;fillColor=none",DefaultSquareBlock:"",RectangleBlock:"",DefaultNoteBlock:"shape=note;size=15",DefaultNoteBlockV2:"shape=note;size=15",
-HotspotBlock:"strokeColor=none;fillColor=none",ImageSearchBlock2:"shape=image",UserImage2Block:"shape=image",ExtShapeBoxBlock:"",DefaultStickyNoteBlock:"shadow=1",ProcessBlock:"",DecisionBlock:"rhombus",TerminatorBlock:"rounded=1;arcSize=50",PredefinedProcessBlock:"shape=process",DocumentBlock:"shape=document;boundedLbl=1",MultiDocumentBlock:"shape=mxgraph.flowchart.multi-document",ManualInputBlock:"shape=manualInput;size=15",PreparationBlock:"shape=hexagon;perimeter=hexagonPerimeter2",DataBlock:"shape=parallelogram;perimeter=parallelogramPerimeter;anchorPointDirection=0",
-DataBlockNew:"shape=parallelogram;perimeter=parallelogramPerimeter;anchorPointDirection=0",DatabaseBlock:"shape=cylinder3;size=4;anchorPointDirection=0;boundedLbl=1;",DirectAccessStorageBlock:"shape=cylinder3;direction=south;size=10;anchorPointDirection=0;boundedLbl=1;",InternalStorageBlock:"mxCompositeShape",PaperTapeBlock:"shape=tape;size=0.2",ManualOperationBlockNew:"shape=trapezoid;perimeter=trapezoidPerimeter;anchorPointDirection=0;flipV=1",DelayBlock:"shape=delay",StoredDataBlock:"shape=cylinder3;boundedLbl=1;size=15;lid=0;direction=south;",
-MergeBlock:"triangle;direction=south;anchorPointDirection=0",ConnectorBlock:"ellipse",OrBlock:"shape=mxgraph.flowchart.summing_function",SummingJunctionBlock:"shape=mxgraph.flowchart.or",DisplayBlock:"shape=display",OffPageLinkBlock:"shape=offPageConnector",BraceNoteBlock:"mxCompositeShape",NoteBlock:"mxCompositeShape",AdvancedSwimLaneBlock:"mxCompositeShape",AdvancedSwimLaneBlockRotated:"mxCompositeShape",RectangleContainerBlock:"container=1;collapsible=0",DiamondContainerBlock:"shape=rhombus;container=1;collapsible=0",
-RoundedRectangleContainerBlock:"container=1;rounded=1;absoluteArcSize=1;arcSize=24;collapsible=0",CircleContainerBlock:"ellipse;container=1;collapsible=0",PillContainerBlock:"shape=mxgraph.flowchart.terminator;container=1;collapsible=0",BraceBlock:"mxCompositeShape",BracketBlock:"mxCompositeShape",BraceBlockRotated:"mxCompositeShape",BracketBlockRotated:"mxCompositeShape",IsoscelesTriangleBlock:"shape=mxgraph.basic.acute_triangle;dx=0.5;anchorPointDirection=0",RightTriangleBlock:"shape=mxgraph.basic.orthogonal_triangle",
-PentagonBlock:"shape=mxgraph.basic.pentagon",HexagonBlock:"shape=hexagon;perimeter=hexagonPerimeter2",OctagonBlock:"shape=mxgraph.basic.octagon2;dx=15;",CrossBlock:"shape=cross;size=0.6",CloudBlock:"ellipse;shape=cloud",HeartBlock:"shape=mxgraph.basic.heart",RightArrowBlock:"mxCompositeShape",DoubleArrowBlock:"mxCompositeShape",CalloutBlock:"shape=mxgraph.basic.rectangular_callout",CalloutSquareBlock:"mxCompositeShape",ShapeCircleBlock:"ellipse",ShapePolyStarBlock:"shape=mxgraph.basic.star",ShapeDiamondBlock:"rhombus",
-UI2HotspotBlock:"opacity=50;strokeColor=none",AndroidDevice:"mxCompositeShape",AndroidAlertDialog:"mxCompositeShape",AndroidDateDialog:"mxCompositeShape",AndroidTimeDialog:"mxCompositeShape",AndroidListItems:"mxCompositeShape",AndroidTabs:"mxCompositeShape",AndroidProgressBar:"mxCompositeShape",AndroidImageBlock:"mxCompositeShape",AndroidTextBlock:"mxCompositeShape",AndroidActionBar:"mxCompositeShape",AndroidButton:"mxCompositeShape",AndroidTextBox:"mxCompositeShape",AndroidRadioButton:"mxCompositeShape",
-AndroidCheckBox:"mxCompositeShape",AndroidToggle:"mxCompositeShape",AndroidSlider:"mxCompositeShape",AndroidIconCheck:"shape=mxgraph.ios7.misc.check",AndroidIconCancel:"shape=mxgraph.atlassian.x",AndroidIconCollapse:"shape=mxgraph.ios7.misc.up",AndroidIconExpand:"shape=mxgraph.ios7.misc.down",AndroidIconNext:"shape=mxgraph.ios7.misc.right",AndroidIconPrevious:"shape=mxgraph.ios7.misc.left",AndroidIconRefresh:NaN,AndroidIconInformation:"shape=mxgraph.ios7.icons.info",AndroidIconSearch:"shape=mxgraph.ios7.icons.looking_glass",
-AndroidIconSettings:"shape=mxgraph.ios7.icons.volume;direction=south",AndroidIconTrash:"shape=mxgraph.ios7.icons.trashcan",AndroidIconEmail:"shape=mxgraph.mockup.misc.mail2",AndroidIconNew:"shape=mxgraph.ios7.misc.flagged",iOSDeviceiPhoneSE:"shape=mxgraph.ios7.misc.iphone",iOSDeviceiPhone6s:"shape=mxgraph.ios7.misc.iphone",iOSDeviceiPhone6sPlus:"shape=mxgraph.ios7.misc.iphone",iOSDeviceiPadPortrait:"shape=mxgraph.ios7.misc.ipad7inch",iOSDeviceiPadLandscape:"shape=mxgraph.ios7.misc.ipad7inch",iOSDeviceiPadProPortrait:"shape=mxgraph.ios7.misc.ipad7inch",
-iOSDeviceiPadProLandscape:"shape=mxgraph.ios7.misc.ipad10inch",iOSButton:"fillColor=none;strokeColor=none;",iOSSegmentedControl:"mxCompositeShape",iOSStepper:"shape=mxgraph.ios7.misc.adjust",iOSToggle:"shape=mxgraph.ios7ui.onOffButton;buttonState=on;strokeColor2=#aaaaaa;fillColor2=#ffffff",iOSSlider:"mxCompositeShape",iOSProgressBar:"mxCompositeShape",iOSPageControls:"mxCompositeShape",iOSStatusBar:"mxCompositeShape",iOSSearchBar:"mxCompositeShape",iOSNavBar:"mxCompositeShape",iOSTabs:"mxCompositeShape",
-iOSUniversalKeyboard:"shape=mxgraph.ios.iKeybLett",iOSDatePicker:"mxCompositeShape",iOSTimePicker:"mxCompositeShape",iOSCountdownPicker:"mxCompositeShape",iOSBasicCell:"mxCompositeShape",iOSSubtitleCell:"mxCompositeShape",iOSRightDetailCell:"mxCompositeShape",iOSLeftDetailCell:"mxCompositeShape",iOSTableGroupedSectionBreak:"mxCompositeShape",iOSTablePlainHeaderFooter:"mxCompositeShape",MindMapBlock:"",MindMapStadiumBlock:"arcSize=50",MindMapCloud:"shape=cloud",MindMapCircle:"ellipse",MindMapIsoscelesTriangleBlock:"shape=triangle;direction=north",
-MindMapDiamondBlock:"shape=rhombus",MindMapPentagonBlock:"shape=mxgraph.basic.pentagon",MindMapHexagonBlock:"shape=hexagon;perimeter=hexagonPerimeter2",MindMapOctagonBlock:"shape=mxgraph.basic.octagon2;dx=10;",MindMapCrossBlock:"shape=mxgraph.basic.cross2;dx=20",ERDEntityBlock:"mxCompositeShape",ERDEntityBlock2:"mxCompositeShape",ERDEntityBlock3:"mxCompositeShape",ERDEntityBlock4:"mxCompositeShape",UMLClassBlock:"mxCompositeShape",UMLActiveClassBlock:"shape=process",UMLMultiplicityBlock:"mxCompositeShape",
-UMLPackageBlock:"",UMLConstraintBlock:"mxCompositeShape",UMLNoteBlock:"shape=note;size=15",UMLNoteBlockV2:"shape=note;size=15",UMLTextBlock:"mxCompositeShape",UMLActorBlock:"shape=umlActor;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;whiteSpace=nowrap",UMLUseCaseBlock:"ellipse",UMLCircleContainerBlock:"ellipse;container=1",UMLRectangleContainerBlock:"container=1",UMLOptionLoopBlock:"shape=mxgraph.sysml.package2;xSize=90;overflow=fill",UMLAlternativeBlock2:"shape=mxgraph.sysml.package2;xSize=90;overflow=fill",
-UMLStartBlock:"ellipse;fillColor=#000000",UMLStateBlock:"mxCompositeShape",UMLDecisionBlock:"shape=rhombus;",UMLHForkJoinBlock:"fillColor=#000000",UMLVForkJoinBlock:"fillColor=#000000",UMLFlowFinalBlock:"shape=mxgraph.flowchart.or",UMLHistoryStateBlock:"ellipse",UMLEndBlock:"shape=mxgraph.bpmn.shape;outline=end;symbol=terminate;strokeColor=#000000;fillColor=#ffffff",UMLObjectBlock:"",UMLSendSignalBlock:"shape=mxgraph.sysml.sendSigAct",UMLReceiveSignalBlock:"shape=mxgraph.sysml.accEvent;flipH=1",UMLAcceptTimeEventActionBlock:"shape=mxgraph.sysml.timeEvent",
-UMLOffPageLinkBlock:"shape=mxgraph.sysml.sendSigAct;direction=south",UMLMultiLanePoolBlock:"mxCompositeShape",UMLMultiLanePoolRotatedBlock:"mxCompositeShape",UMLMultidimensionalSwimlane:"mxCompositeShape",UMLActivationBlock:"",UMLDeletionBlock:"shape=mxgraph.sysml.x;strokeWidth=4",UMLSeqEntityBlock:"shape=mxgraph.electrical.radio.microphone_1;direction=north",UMLComponentBlock:"shape=component;align=left;spacingLeft=36",UMLComponentBlockV2:"shape=component;align=left;spacingLeft=36",UMLNodeBlock:"shape=cube;size=12;flipH=1;verticalAlign=top;align=left;spacingTop=10;spacingLeft=5",
-UMLNodeBlockV2:"shape=cube;size=12;flipH=1;verticalAlign=top;align=left;spacingTop=10;spacingLeft=5",UMLComponentInterfaceBlock:"ellipse",UMLComponentInterfaceBlockV2:"ellipse",UMLComponentBoxBlock:"mxCompositeShape",UMLComponentBoxBlockV2:"mxCompositeShape",UMLAssemblyConnectorBlock:"mxCompositeShape",UMLAssemblyConnectorBlockV2:"mxCompositeShape",UMLProvidedInterfaceBlock:"mxCompositeShape",UMLProvidedInterfaceBlockV2:"mxCompositeShape",UMLRequiredInterfaceBlock:"shape=requires;direction=north",
-UMLRequiredInterfaceBlockV2:"shape=requires;direction=north",UMLSwimLaneBlockV2:"mxCompositeShape",UMLSwimLaneBlock:"swimlane;startSize=25;container=1;collapsible=0;dropTarget=0;fontStyle=0",UMLEntityBlock:"",UMLWeakEntityBlock:"shape=ext;double=1",UMLAttributeBlock:"ellipse",UMLMultivaluedAttributeBlock:"shape=doubleEllipse",UMLRelationshipBlock:"shape=rhombus",UMLWeakRelationshipBlock:"shape=rhombus;double=1",BPMNActivity:"mxCompositeShape",BPMNEvent:"mxCompositeShape",BPMNChoreography:"mxCompositeShape",
-BPMNConversation:"mxCompositeShape",BPMNGateway:"mxCompositeShape",BPMNData:"mxCompositeShape",BPMNDataStore:"shape=datastore",BPMNAdvancedPoolBlock:"mxCompositeShape",BPMNAdvancedPoolBlockRotated:"mxCompositeShape",BPMNBlackPool:"mxCompositeShape",BPMNTextAnnotation:"mxCompositeShape",DFDExternalEntityBlock:"mxCompositeShape",DFDExternalEntityBlock2:"",YDMDFDProcessBlock:"ellipse",YDMDFDDataStoreBlock:"shape=partialRectangle;right=0;left=0",GSDFDProcessBlock:"mxCompositeShape",GSDFDProcessBlock2:"rounded=1;arcSize=10;",
-GSDFDDataStoreBlock:"mxCompositeShape",GSDFDDataStoreBlock2:"shape=partialRectangle;right=0",OrgBlock:"",DefaultTableBlock:"mxCompositeShape",VSMCustomerSupplierBlock:"shape=mxgraph.lean_mapping.outside_sources",VSMDedicatedProcessBlock:"mxCompositeShape",VSMSharedProcessBlock:"mxCompositeShape",VSMWorkcellBlock:"mxCompositeShape",VSMDatacellBlock:"mxCompositeShape",VSMInventoryBlock:"mxCompositeShape",VSMSupermarketBlock:"mxCompositeShape",VSMPhysicalPullBlock:"shape=mxgraph.lean_mapping.physical_pull;direction=south",
-VSMFIFOLaneBlock:"mxCompositeShape",VSMSafetyBufferStockBlock:"mxCompositeShape",VSMExternalShipmentAirplaneBlock:"shape=mxgraph.lean_mapping.airplane_7",VSMExternalShipmentForkliftBlock:"shape=mxgraph.lean_mapping.move_by_forklift",VSMExternalShipmentTruckBlock:"shape=mxgraph.lean_mapping.truck_shipment;align=left;",VSMExternalShipmentBoatBlock:"shape=mxgraph.lean_mapping.boat_shipment;verticalAlign=bottom;",VSMProductionControlBlock:"mxCompositeShape",VSMOtherInformationBlock:"",VSMSequencedPullBallBlock:"shape=mxgraph.lean_mapping.sequenced_pull_ball",
-VSMMRPERPBlock:"shape=mxgraph.lean_mapping.mrp_erp;whiteSpace=wrap",VSMLoadLevelingBlock:"shape=mxgraph.lean_mapping.load_leveling",VSMGoSeeBlock:"shape=mxgraph.lean_mapping.go_see_production_scheduling;flipH=1",VSMGoSeeProductionBlock:"mxCompositeShape",VSMVerbalInfoBlock:"shape=mxgraph.lean_mapping.verbal",VSMKaizenBurstBlock:"shape=mxgraph.lean_mapping.kaizen_lightening_burst",VSMOperatorBlock:"shape=mxgraph.lean_mapping.operator;flipV=1",VSMQualityProblemBlock:"shape=mxgraph.lean_mapping.quality_problem",
-VSMProductionKanbanSingleBlock:"shape=card;size=18;flipH=1;",VSMProductionKanbanBatchBlock:"mxCompositeShape",VSMWithdrawalKanbanBlock:"shape=mxgraph.lean_mapping.withdrawal_kanban",VSMSignalKanbanBlock:"shape=triangle;direction=south;anchorPointDirection=0",VSMKanbanPostBlock:"shape=mxgraph.lean_mapping.kanban_post",VSMShipmentArrow:"shape=singleArrow;arrowWidth=0.5;arrowSize=0.13",VSMPushArrow:"shape=mxgraph.lean_mapping.push_arrow",AWSElasticComputeCloudBlock2:"mxCompositeShape",AWSInstanceBlock2:"strokeColor=none;shape=mxgraph.aws3.instance",
-AWSInstancesBlock2:"strokeColor=none;shape=mxgraph.aws3.instances;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAMIBlock2:"strokeColor=none;shape=mxgraph.aws3.ami;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSDBonInstanceBlock2:"strokeColor=none;shape=mxgraph.aws3.db_on_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSInstanceCloudWatchBlock2:"strokeColor=none;shape=mxgraph.aws3.instance_with_cloudwatch;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSElasticIPBlock2:"strokeColor=none;shape=mxgraph.aws3.elastic_ip;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSHDFSClusterBlock2:"strokeColor=none;shape=mxgraph.aws3.hdfs_cluster;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAutoScalingBlock2:"strokeColor=none;shape=mxgraph.aws3.auto_scaling;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSEC2OptimizedInstance2:"strokeColor=none;shape=mxgraph.aws3.optimized_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-"AWSAmazonEC2(Spotinstance)":"strokeColor=none;shape=mxgraph.aws3.spot_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAmazonECR:"strokeColor=none;shape=mxgraph.aws3.ecr;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAmazonECS:"strokeColor=none;shape=mxgraph.aws3.ecs;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSLambda2:"strokeColor=none;shape=mxgraph.aws3.lambda;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSElasticLoadBalancing:"strokeColor=none;shape=mxgraph.aws3.elastic_load_balancing;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSElasticLoadBlock2:"strokeColor=none;shape=mxgraph.aws3.classic_load_balancer;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSDirectConnectBlock3:"strokeColor=none;shape=mxgraph.aws3.direct_connect;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSElasticNetworkBlock2:"strokeColor=none;shape=mxgraph.aws3.elastic_network_interface;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSRoute53Block2:"mxCompositeShape",AWSHostedZoneBlock2:"strokeColor=none;shape=mxgraph.aws3.hosted_zone;fontColor=#FFFFFF;fontStyle=1",
-AWSRouteTableBlock2:"strokeColor=none;shape=mxgraph.aws3.route_table;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSVPCBlock2:"strokeColor=none;shape=mxgraph.aws3.vpc;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSVPNConnectionBlock2:"strokeColor=none;shape=mxgraph.aws3.vpn_connection;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSVPNGatewayBlock2:"strokeColor=none;shape=mxgraph.aws3.vpn_gateway;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSCustomerGatewayBlock2:"strokeColor=none;shape=mxgraph.aws3.customer_gateway;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSCustomerGatewayBlock3:"strokeColor=none;shape=mxgraph.aws3.customer_gateway;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSInternetGatewayBlock2:"strokeColor=none;shape=mxgraph.aws3.internet_gateway;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSRouterBlock2:"strokeColor=none;shape=mxgraph.aws3.router;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSRouterBlock3:"strokeColor=none;shape=mxgraph.aws3.router;verticalLabelPosition=bottom;align=center;verticalAlign=top","AWSAmazonVPC(endpoints)":"strokeColor=none;shape=mxgraph.aws3.endpoints;verticalLabelPosition=bottom;align=center;verticalAlign=top","AWSAmazonVPC(flowlogs)":"strokeColor=none;shape=mxgraph.aws3.flow_logs;verticalLabelPosition=bottom;align=center;verticalAlign=top","AWSAmazonVPC(VPCNATgateway)":"strokeColor=none;shape=mxgraph.aws3.vpc_nat_gateway;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSVPCPeering3:"strokeColor=none;shape=mxgraph.aws3.vpc_peering;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSSimpleStorageBlock2:"strokeColor=none;shape=mxgraph.aws3.s3;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSBucketBlock2:"strokeColor=none;shape=mxgraph.aws3.bucket;fontStyle=1;fontColor=#ffffff",AWSBuckethWithObjectsBlock2:"strokeColor=none;shape=mxgraph.aws3.bucket_with_objects;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSObjectBlock2:"strokeColor=none;shape=mxgraph.aws3.object;fontStyle=1;fontColor=#ffffff",
-AWSImportExportBlock2:"strokeColor=none;shape=mxgraph.aws3.import_export;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSStorageGatewayBlock2:"strokeColor=none;shape=mxgraph.aws3.storage_gateway;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSElasticBlockStorageBlock2:"strokeColor=none;shape=mxgraph.aws3.volume;fontStyle=1;fontColor=#ffffff",AWSVolumeBlock3:"strokeColor=none;shape=mxgraph.aws3.volume;fontStyle=1;fontColor=#ffffff",AWSSnapshotBlock2:"strokeColor=none;shape=mxgraph.aws3.snapshot;fontStyle=1;fontColor=#ffffff",
-AWSGlacierArchiveBlock3:"strokeColor=none;shape=mxgraph.aws3.archive;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSGlacierVaultBlock3:"strokeColor=none;shape=mxgraph.aws3.vault;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAmazonEFS:"strokeColor=none;shape=mxgraph.aws3.efs;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSGlacierBlock2:"strokeColor=none;shape=mxgraph.aws3.glacier;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAWSImportExportSnowball:"strokeColor=none;shape=mxgraph.aws3.snowball;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSStorageGatewayCachedVolumn2:"strokeColor=none;shape=mxgraph.aws3.cached_volume;verticalLabelPosition=bottom;align=center;verticalAlign=top","AWSStorageGatewayNon-CachedVolumn2":"strokeColor=none;shape=mxgraph.aws3.non_cached_volume;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSStorageGatewayVirtualTapeLibrary2:"strokeColor=none;shape=mxgraph.aws3.virtual_tape_library;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSCloudFrontBlock2:"strokeColor=none;shape=mxgraph.aws3.cloudfront;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSDownloadDistBlock2:"strokeColor=none;shape=mxgraph.aws3.download_distribution;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSStreamingBlock2:"strokeColor=none;shape=mxgraph.aws3.streaming_distribution;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSEdgeLocationBlock2:"strokeColor=none;shape=mxgraph.aws3.edge_location;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSItemBlock2:"strokeColor=none;shape=mxgraph.aws3.item;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSItemsBlock2:"strokeColor=none;shape=mxgraph.aws3.items;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAttributeBlock2:"strokeColor=none;shape=mxgraph.aws3.attribute;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAttributesBlock2:"strokeColor=none;shape=mxgraph.aws3.attributes;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSRDBSBlock2:"mxCompositeShape",AWSRDSInstanceBlock2:"strokeColor=none;shape=mxgraph.aws3.rds_db_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSRDSStandbyBlock2:"strokeColor=none;shape=mxgraph.aws3.rds_db_instance_standby_multi_az;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSRDSInstanceReadBlock2:"strokeColor=none;shape=mxgraph.aws3.rds_db_instance_read_replica;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSOracleDBBlock2:"strokeColor=none;shape=mxgraph.aws3.oracle_db_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSMySQLDBBlock2:"strokeColor=none;shape=mxgraph.aws3.mysql_db_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSDynamoDBBlock2:"strokeColor=none;shape=mxgraph.aws3.dynamo_db;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSSimpleDatabaseBlock3:"strokeColor=none;shape=mxgraph.aws2.database.simpledb;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSSimpleDatabaseDomainBlock3:"strokeColor=none;shape=mxgraph.aws2.database.simpledb_domain;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSTableBlock2:"strokeColor=none;shape=mxgraph.aws3.table;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSAmazonRedShiftBlock3:"strokeColor=none;shape=mxgraph.aws3.redshift;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSElastiCacheNodeBlock2:"strokeColor=none;shape=mxgraph.aws3.cache_node;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSElastiCacheBlock2:"strokeColor=none;shape=mxgraph.aws3.elasticache;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSDynamoDBGlobalSecondaryIndexes2:"strokeColor=none;shape=mxgraph.aws3.global_secondary_index;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSAmazonElastiCacheMemcache2:"strokeColor=none;shape=mxgraph.aws3.memcached;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAmazonElastiCacheRedis2:"strokeColor=none;shape=mxgraph.aws3.redis;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAmazonRDSMSSQLInstance2:"strokeColor=none;shape=mxgraph.aws3.ms_sql_instance_2;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSMSSQLDBBlock3:"strokeColor=none;shape=mxgraph.aws3.ms_sql_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSAmazonRDSMySQLDBInstance2:"strokeColor=none;shape=mxgraph.aws3.mysql_db_instance_2;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAmazonRDSOracleDBInstance2:"strokeColor=none;shape=mxgraph.aws3.oracle_db_instance_2;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSRDSReplicasetswithPIOP2:"strokeColor=none;shape=mxgraph.aws3.piop;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAmazonRDSPostgreSQL2:"strokeColor=none;shape=mxgraph.aws3.postgre_sql_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSRDSMasterSQL2:"strokeColor=none;shape=mxgraph.aws3.sql_master;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSRDSSlaveSQL2:"strokeColor=none;shape=mxgraph.aws3.sql_slave;verticalLabelPosition=bottom;align=center;verticalAlign=top","AWSAmazonRedshift(densecomputenode)":"strokeColor=none;shape=mxgraph.aws3.dense_compute_node;verticalLabelPosition=bottom;align=center;verticalAlign=top","AWSAmazonRedshift(densestoragenode)":"strokeColor=none;shape=mxgraph.aws3.dense_storage_node;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSAWSDatabaseMigrationService:"strokeColor=none;shape=mxgraph.aws3.database_migration_service;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSACM:"strokeColor=none;shape=mxgraph.aws3.certificate_manager;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAmazonInspector:"strokeColor=none;shape=mxgraph.aws3.inspector;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAWSCloudHSM:"strokeColor=none;shape=mxgraph.aws3.cloudhsm;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSDirectoryService2:"strokeColor=none;shape=mxgraph.aws3.directory_service;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAWSKMS:"strokeColor=none;shape=mxgraph.aws3.kms;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAWSWAF:"strokeColor=none;shape=mxgraph.aws3.waf;verticalLabelPosition=bottom;align=center;verticalAlign=top","AWSACM(certificate-manager)":"strokeColor=none;shape=mxgraph.aws3.certificate_manager_2;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSSESBlock2:"strokeColor=none;shape=mxgraph.aws3.ses;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSEmailBlock2:"strokeColor=none;shape=mxgraph.aws3.email;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSSNSBlock2:"strokeColor=none;shape=mxgraph.aws3.sns;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSSQSBlock3:"strokeColor=none;shape=mxgraph.aws3.sqs;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSQueueBlock2:"strokeColor=none;shape=mxgraph.aws3.queue;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSMessageBlock2:"strokeColor=none;shape=mxgraph.aws3.message;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSDeciderBlock2:"strokeColor=none;shape=mxgraph.aws3.decider;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSSWFBlock2:"strokeColor=none;shape=mxgraph.aws3.swf;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSWorkerBlock2:"strokeColor=none;shape=mxgraph.aws3.worker;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSCloudSearchBlock2:"strokeColor=none;shape=mxgraph.aws3.cloudsearch;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSCloudSearchMetadataBlock3:"strokeColor=none;shape=mxgraph.aws3.search_documents;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSElasticTranscoder3:"strokeColor=none;shape=mxgraph.aws3.elastic_transcoder;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAmazonAPIGateway:"strokeColor=none;shape=mxgraph.aws3.api_gateway;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAppStream2:"strokeColor=none;shape=mxgraph.aws3.appstream;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSCloudFormationBlock2:"strokeColor=none;shape=mxgraph.aws3.cloudformation;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSDataPipelineBlock3:"strokeColor=none;shape=mxgraph.aws3.data_pipeline;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSDataPipelineBlock2:"strokeColor=none;shape=mxgraph.aws3.data_pipeline;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSTemplageBlock2:"strokeColor=none;shape=mxgraph.aws3.template;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSStackBlock2:"strokeColor=none;shape=mxgraph.aws3.stack_aws_cloudformation;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSBeanStockBlock2:"strokeColor=none;shape=mxgraph.aws3.elastic_beanstalk;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSApplicationBlock2:"strokeColor=none;shape=mxgraph.aws3.application;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSBeanstalkDeploymentBlock3:"strokeColor=none;shape=mxgraph.aws3.deployment;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSIAMBlock3:"strokeColor=none;shape=mxgraph.aws3.iam;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSIAMSTSBlock3:"strokeColor=none;shape=mxgraph.aws3.sts;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSIAMAddonBlock2:"strokeColor=none;shape=mxgraph.aws3.add_on;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSCloudWatchBlock3:"strokeColor=none;shape=mxgraph.aws3.cloudwatch;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSCloudWatchAlarmBlock2:"strokeColor=none;shape=mxgraph.aws3.alarm;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSIAMSecurityTokenService2:"strokeColor=none;shape=mxgraph.aws3.sts_2;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSIAMDataEncryptionKey2:"strokeColor=none;shape=mxgraph.aws3.data_encryption_key;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSIAMEncryptedData2:"strokeColor=none;shape=mxgraph.aws3.encrypted_data;verticalLabelPosition=bottom;align=center;verticalAlign=top","AWSAWSIAM(long-termsecuritycredential)":"strokeColor=none;shape=mxgraph.aws3.long_term_security_credential;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSIAMMFAToken2:"strokeColor=none;shape=mxgraph.aws3.mfa_token;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSIAMPermissions2:"strokeColor=none;shape=mxgraph.aws3.permissions_2;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSIAMRoles2:"strokeColor=none;shape=mxgraph.aws3.role;verticalLabelPosition=bottom;align=center;verticalAlign=top","AWSAWSIAM(temporarysecuritycredential)":"strokeColor=none;shape=mxgraph.aws3.long_term_security_credential;verticalLabelPosition=bottom;align=center;verticalAlign=top",
-AWSCloudTrail2:"strokeColor=none;shape=mxgraph.aws3.cloudtrail;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSConfig2:"strokeColor=none;shape=mxgraph.aws3.config;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSOpsWorksBlock3:"strokeColor=none;shape=mxgraph.aws3.opsworks;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAWSServiceCatalog:"strokeColor=none;shape=mxgraph.aws3.service_catalog;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSTrustedAdvisor2:"strokeColor=none;shape=mxgraph.aws3.trusted_advisor;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+-7));r.geometry.relative=!0;r.vertex=!0;v.insert(r);r.style+=a(r.style,g,k,r);Y=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");Y.geometry.relative=!0;Y.edge=!0;xa(.15*u,.25*t,.85*u,.25*t,Y,d,e,fa,v,Q);break;case "EIChannelAdapterBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=f(g.Text);v.style+=a(v.style,g,k,v,z);r=new mxCell("",new mxGeometry(0,.07*t,.21*u,.86*t),"fillColor=#FFFF33;part=1;");
+r.vertex=!0;v.insert(r);r.style+=a(r.style,g,k,r);y=new mxCell("",new mxGeometry(.26*u,.09*t,.2*u,.82*t),"shape=mxgraph.eip.channel_adapter;fillColor=#4CA3D9;part=1;");y.vertex=!0;v.insert(y);y.style+=a(y.style,g,k,y);F=new mxCell("",new mxGeometry(1,.5,.35*u,20),"shape=mxgraph.eip.messageChannel;fillColor=#818181;part=1;");F.geometry.relative=!0;F.geometry.offset=new mxPoint(.4*-u,-10);F.vertex=!0;v.insert(F);F.style+=a(F.style,g,k,F);M=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=1;exitY=0.5;entryX=0;entryY=0.5;endArrow=none;dashed=0;html=1;strokeWidth=1;endFill=1;endSize=2;");
+M.geometry.relative=!0;M.edge=!0;r.insertEdge(M,!0);y.insertEdge(M,!1);M.style+=I(g,k);d.push(e.addCell(M,null,null,null,null));L=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=1;exitY=0.5;entryX=0;entryY=0.5;endArrow=block;startArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=2;startFill=1;startSize=2;");L.geometry.relative=!0;L.edge=!0;y.insertEdge(L,!0);F.insertEdge(L,!1);d.push(e.addCell(L,null,null,null,null));break;case "EIMessageBlock":case "EICommandMessageBlock":case "EIDocumentMessageBlock":case "EIEventMessageBlock":v.style+=
+"strokeColor=none;fillColor=none;verticalLabelPosition=bottom;verticalAlign=top;";v.value=f(g.Text);v.style+=a(v.style,g,k,v,z);r=new mxCell("",new mxGeometry(0,0,17,17),"ellipse;fillColor=#808080;part=1;");r.vertex=!0;v.insert(r);r.style+=a(r.style,g,k,r);for(var kd=g.Messages,$d=(t-17)/kd,y=[],Y=[],l=0;l<kd;l++){var ld=$d*(l+1)-3;y[l]=new mxCell("",new mxGeometry(u-20,ld,20,20),"part=1;");y[l].vertex=!0;v.insert(y[l]);switch(c.Class){case "EIMessageBlock":y[l].value=f(g["message_"+(l+1)]);y.style+=
+b(g["message_"+(l+1)],z);break;case "EICommandMessageBlock":y[l].value="C";y[l].style+="fontStyle=1;fontSize=13;";break;case "EIDocumentMessageBlock":y[l].value="D";y[l].style+="fontStyle=1;fontSize=13;";break;case "EIEventMessageBlock":y[l].value="E",y[l].style+="fontStyle=1;fontSize=13;"}y[l].style+=a(y[l].style,g,k,y[l]);Y[l]=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;");Y[l].geometry.relative=!0;Y[l].edge=!0;r.insertEdge(Y[l],
+!1);y[l].insertEdge(Y[l],!0);Y[l].style+=a(Y[l].style,g,k,Y[l]);var Wb=[];Wb.push(new mxPoint(p+8.5,B+ld+10));Y[l].geometry.points=Wb;d.push(e.addCell(Y[l],null,null,null,null))}break;case "EIMessageEndpointBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=f(g.Text);v.style+=a(v.style,g,k,v,z);r=new mxCell("",new mxGeometry(.45*u,.25*t,.3*u,.5*t),"part=1;fillColor=#ffffff");r.vertex=!0;v.insert(r);r.style+=a(r.style,g,k,r);Y=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");
+Y.geometry.relative=!0;Y.edge=!0;xa(0,.5*t,.4*u,.5*t,Y,d,e,fa,v,Q);break;case "EIPublishSubscribeChannelBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=f(g.Text);v.style+=a(v.style,g,k,v,z);var M=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");M.geometry.relative=!0;M.edge=!0;xa(.05*u,.5*t,.85*u,.5*t,M,d,e,fa,v,Q);var L=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");
+L.geometry.relative=!0;L.edge=!0;xa(.05*u,.5*t,.85*u,.15*t,L,d,e,fa,v,Q);var V=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");V.geometry.relative=!0;V.edge=!0;xa(.05*u,.5*t,.85*u,.85*t,V,d,e,fa,v,Q);break;case "EIMessageBusBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=f(g.Text);v.style+=a(v.style,g,k,v,z);M=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeWidth=1;endFill=1;endSize=4;startArrow=block;startFill=1;startSize=4;");
+M.geometry.relative=!0;M.edge=!0;M.style+=I(g,k);xa(.05*u,.5*t,.95*u,.5*t,M,d,e,fa,v,Q);L=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;dashed=0;html=1;strokeWidth=1;endFill=1;endSize=4;startArrow=block;startFill=1;startSize=4;");L.geometry.relative=!0;L.edge=!0;L.style+=I(g,k);xa(.3*u,.1*t,.3*u,.5*t,L,d,e,fa,v,Q);V=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;dashed=0;html=1;strokeWidth=1;endFill=1;endSize=4;startArrow=block;startFill=1;startSize=4;");
+V.geometry.relative=!0;V.edge=!0;V.style+=I(g,k);xa(.7*u,.1*t,.7*u,.5*t,V,d,e,fa,v,Q);var qa=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;dashed=0;html=1;strokeWidth=1;endFill=1;endSize=4;startArrow=block;startFill=1;startSize=4;");qa.geometry.relative=!0;qa.edge=!0;qa.style+=I(g,k);xa(.5*u,.5*t,.5*u,.9*t,qa,d,e,fa,v,Q);break;case "EIRequestReplyBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=f(g.Text);v.style+=a(v.style,g,k,v,
+z);r=new mxCell("",new mxGeometry(.2*u,.21*t,.16*u,.24*t),"part=1;fillColor=#ffffff;");r.vertex=!0;v.insert(r);r.style+=a(r.style,g,k,r);M=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");M.geometry.relative=!0;M.edge=!0;xa(.45*u,.33*t,.8*u,.33*t,M,d,e,fa,v,Q);y=new mxCell("",new mxGeometry(.64*u,.55*t,.16*u,.24*t),"part=1;fillColor=#ffffff;");y.vertex=!0;v.insert(y);y.style+=a(y.style,g,k,y);L=
+new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");L.geometry.relative=!0;L.edge=!0;xa(.55*u,.67*t,.2*u,.67*t,L,d,e,fa,v,Q);break;case "EIReturnAddressBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=f(g.Text);v.style+=a(v.style,g,k,v,z);r=new mxCell("",new mxGeometry(.1*u,.15*t,.8*u,.7*t),"part=1;shape=mxgraph.eip.retAddr;fillColor=#FFE040;");r.vertex=!0;v.insert(r);r.style+=
+a(r.style,g,k,r);break;case "EICorrelationIDBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=f(g.Text);v.style+=a(v.style,g,k,v,z);r=new mxCell("",new mxGeometry(.04*u,.06*t,.18*u,.28*t),"ellipse;fillColor=#808080;part=1;");r.vertex=!0;v.insert(r);r.style+=a(r.style,g,k,r);y=new mxCell("",new mxGeometry(.2*u,.56*t,.2*u,.32*t),"part=1;");y.vertex=!0;v.insert(y);y.value="A";y.style+="fontStyle=1;fontSize=13;";r.style+=a(r.style,g,k,r);M=new mxCell("",new mxGeometry(0,0,0,0),
+"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;part=1;");M.geometry.relative=!0;M.edge=!0;r.insertEdge(M,!1);y.insertEdge(M,!0);M.style+=a(M.style,g,k,M);Wb=[];Wb.push(new mxPoint(p+.13*u,B+.72*t));M.geometry.points=Wb;d.push(e.addCell(M,null,null,null,null));F=new mxCell("",new mxGeometry(.6*u,.06*t,.18*u,.28*t),"ellipse;fillColor=#808080;part=1;");F.vertex=!0;v.insert(F);F.style+=I(g,k)+Db(g);F.style+=a(F.style,g,k,F);U=new mxCell("",new mxGeometry(.76*
+u,.56*t,.2*u,.32*t),"part=1;");U.vertex=!0;v.insert(U);U.style+=I(g,k)+R(g,k,U)+Db(g)+rc(g);U.value="B";U.style+="fontStyle=1;fontSize=13;fillColor=#ffffff;";U.style+=a(U.style,g,k,U);L=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;part=1;");L.geometry.relative=!0;L.edge=!0;F.insertEdge(L,!1);U.insertEdge(L,!0);L.style+=a(L.style,g,k,L);var Ie=[];Ie.push(new mxPoint(p+.69*u,B+.72*t));L.geometry.points=Ie;d.push(e.addCell(L,
+null,null,null,null));V=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;endSize=6;part=1;");V.geometry.relative=!0;V.edge=!0;r.insertEdge(V,!1);F.insertEdge(V,!0);V.style+=a(V.style,g,k,V);d.push(e.addCell(V,null,null,null,null));break;case "EIMessageSequenceBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=f(g.Text);v.style+=a(v.style,g,k,v,z);r=new mxCell("1",new mxGeometry(.2*u,.4*t,.1*u,.19*t),"fontStyle=1;fillColor=#ffffff;fontSize=13;part=1;");
+r.vertex=!0;v.insert(r);r.style+=a(r.style,g,k,r);y=new mxCell("2",new mxGeometry(.45*u,.4*t,.1*u,.19*t),"fontStyle=1;fillColor=#ffffff;fontSize=13;part=1;");y.vertex=!0;v.insert(y);y.style+=a(y.style,g,k,y);F=new mxCell("3",new mxGeometry(.7*u,.4*t,.1*u,.19*t),"fontStyle=1;fillColor=#ffffff;fontSize=13;part=1;");F.vertex=!0;v.insert(F);F.style+=a(F.style,g,k,F);M=new mxCell("",new mxGeometry(0,0,0,0),"curved=1;endArrow=block;html=1;endSize=3;part=1;");r.insertEdge(M,!1);y.insertEdge(M,!0);M.geometry.points=
+[new mxPoint(p+.375*u,B+.15*t)];M.geometry.relative=!0;M.edge=!0;M.style+=a(M.style,g,k,M);d.push(e.addCell(M,null,null,null,null));L=new mxCell("",new mxGeometry(0,0,0,0),"curved=1;endArrow=block;html=1;endSize=3;part=1;");y.insertEdge(L,!1);F.insertEdge(L,!0);L.geometry.points=[new mxPoint(p+.675*u,B+.15*t)];L.geometry.relative=!0;L.edge=!0;L.style+=a(L.style,g,k,L);d.push(e.addCell(L,null,null,null,null));break;case "EIMessageExpirationBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";
+v.value=f(g.Text);v.style+=a(v.style,g,k,v,z);r=new mxCell("",new mxGeometry(.3*u,.2*t,.4*u,.6*t),"shape=mxgraph.ios7.icons.clock;fillColor=#ffffff;flipH=1;part=1;");r.vertex=!0;v.insert(r);r.style+=a(r.style,g,k,r);break;case "EIMessageBrokerBlock":v.style+="strokeColor=none;fillColor=none;verticalLabelPosition=bottom;verticalAlign=top;";v.value=f(g.Text);v.style+=a(v.style,g,k,v,z);r=new mxCell("",new mxGeometry(.38*u,.42*t,.24*u,.16*t),"part=1;fillColor=#aefe7d;");r.vertex=!0;v.insert(r);r.style+=
+a(r.style,g,k,r);y=new mxCell("",new mxGeometry(.38*u,0,.24*u,.16*t),"part=1;");y.vertex=!0;v.insert(y);y.style+=a(y.style,g,k,y);F=new mxCell("",new mxGeometry(.76*u,.23*t,.24*u,.16*t),"");F.vertex=!0;v.insert(F);F.style=y.style;var U=new mxCell("",new mxGeometry(.76*u,.61*t,.24*u,.16*t),"");U.vertex=!0;v.insert(U);U.style=y.style;var Ad=new mxCell("",new mxGeometry(.38*u,.84*t,.24*u,.16*t),"");Ad.vertex=!0;v.insert(Ad);Ad.style=y.style;var Bd=new mxCell("",new mxGeometry(0,.61*t,.24*u,.16*t),"");
+Bd.vertex=!0;v.insert(Bd);Bd.style=y.style;var Cd=new mxCell("",new mxGeometry(0,.23*t,.24*u,.16*t),"");Cd.vertex=!0;v.insert(Cd);Cd.style=y.style;M=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");r.insertEdge(M,!1);y.insertEdge(M,!0);M.edge=!0;M.style+=a(M.style,g,k,M);d.push(e.addCell(M,null,null,null,null));L=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");r.insertEdge(L,!1);F.insertEdge(L,!0);L.edge=!0;L.style+=a(L.style,g,k,L);d.push(e.addCell(L,null,null,null,null));
+V=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");r.insertEdge(V,!1);U.insertEdge(V,!0);V.edge=!0;V.style+=a(V.style,g,k,V);d.push(e.addCell(V,null,null,null,null));qa=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");r.insertEdge(qa,!1);Ad.insertEdge(qa,!0);qa.edge=!0;qa.style+=a(qa.style,g,k,qa);d.push(e.addCell(qa,null,null,null,null));var Xb=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");r.insertEdge(Xb,!1);Bd.insertEdge(Xb,!0);Xb.edge=!0;Xb.style+=
+a(Xb.style,g,k,Xb);d.push(e.addCell(Xb,null,null,null,null));var Yb=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");r.insertEdge(Yb,!1);Cd.insertEdge(Yb,!0);Yb.edge=!0;Yb.style+=a(Yb.style,g,k,Yb);d.push(e.addCell(Yb,null,null,null,null));break;case "EIDurableSubscriberBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=f(g.Text);v.style+=a(v.style,g,k,v,z);M=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;endFill=1;endSize=6;");
+M.geometry.relative=!0;M.edge=!0;xa(.05*u,.5*t,.6*u,.25*t,M,d,e,fa,v,Q);L=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;endFill=1;endSize=6;");L.geometry.relative=!0;L.edge=!0;xa(.05*u,.5*t,.6*u,.75*t,L,d,e,fa,v,Q);r=new mxCell("",new mxGeometry(.7*u,.1*t,.15*u,.32*t),"shape=mxgraph.eip.durable_subscriber;part=1;fillColor=#818181;");r.vertex=!0;v.insert(r);r.style+=a(r.style,g,k,r);break;case "EIControlBusBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";
+v.value=f(g.Text);v.style+=a(v.style,g,k,v,z);r=new mxCell("",new mxGeometry(.25*u,.25*t,.5*u,.5*t),"shape=mxgraph.eip.control_bus;part=1;");r.vertex=!0;v.insert(r);r.style+=a(r.style,g,k,r);break;case "EIMessageHistoryBlock":v.style+="strokeColor=none;fillColor=none;verticalLabelPosition=bottom;verticalAlign=top;";v.value=f(g.Text);v.style+=a(v.style,g,k,v,z);r=new mxCell("",new mxGeometry(0,0,17,17),"ellipse;fillColor=#808080;part=1;");r.vertex=!0;v.insert(r);r.style+=a(r.style,g,k,r);F=new mxCell("",
+new mxGeometry(u-45,30,30,20),"shape=mxgraph.mockup.misc.mail2;fillColor=#FFE040;part=1;");F.vertex=!0;v.insert(F);F.style+=a(F.style,g,k,F);V=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;");V.geometry.relative=!0;V.edge=!0;r.insertEdge(V,!1);F.insertEdge(V,!0);V.style+=a(V.style,g,k,V);V.geometry.points=[new mxPoint(p+8.5,B+40)];d.push(e.addCell(V,null,null,null,null));U=new mxCell("",new mxGeometry(u-45,t-20,20,20),
+"part=1;");U.vertex=!0;v.insert(U);U.value=f(g.message_0);U.style+=b(g.message_0,z);U.style+=a(U.style,g,k,U,z);qa=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;");qa.geometry.relative=!0;qa.edge=!0;r.insertEdge(qa,!1);U.insertEdge(qa,!0);qa.style+=a(qa.style,g,k,qa);qa.geometry.points=[new mxPoint(p+8.5,B+t-10)];d.push(e.addCell(qa,null,null,null,null));kd=g.HistoryMessages;$d=(t-75)/kd;y=[];Y=[];for(l=0;l<kd;l++)ld=
+$d*(l+1)+30,y[l]=new mxCell("",new mxGeometry(u-20,ld,20,20),"part=1;"),y[l].vertex=!0,y[l].value=f(g["message_"+(l+1)]),y.style+=b(g["message_"+(l+1)],z),v.insert(y[l]),y[l].style+=a(y[l].style,g,k,y[l],z),Y[l]=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;"),Y[l].geometry.relative=!0,Y[l].edge=!0,F.insertEdge(Y[l],!1),y[l].insertEdge(Y[l],!0),Y[l].style+=a(Y[l].style,g,k,Y[l]),Wb=[],Wb.push(new mxPoint(p+u-30,B+ld+
+10)),Y[l].geometry.points=Wb,d.push(e.addCell(Y[l],null,null,null,null));break;case "Equation":LucidImporter.hasMath=!0;v.style+="strokeColor=none;";v.style+=a(v.style,g,k,v);v.value="$$"+g.Latex+"$$";break;case "fpDoor":v.style+="shape=mxgraph.floorplan.doorRight;";0>g.DoorAngle&&(v.style+="flipV=1;");v.style+=a(v.style,g,k,v);break;case "fpWall":v.style+="labelPosition=center;verticalAlign=bottom;verticalLabelPosition=top;";v.value=f(g);v.style+=a(v.style,g,k,v,z);v.style=v.style.replace("rotation=180;",
+"");break;case "fpDoubleDoor":v.style+="shape=mxgraph.floorplan.doorDouble;";0<g.DoorAngle&&(v.style+="flipV=1;");v.style+=a(v.style,g,k,v);break;case "fpRestroomLights":v.style+="strokeColor=none;fillColor=none;";v.style+=a(v.style,g,k,v);r=new mxCell("",new mxGeometry(0,0,u,.25*t),"part=1;");r.vertex=!0;v.insert(r);r.style+=a(r.style,g,k,r);for(var y=[],Je=.02*u,ae=(u-2*Je)/g.LightCount,Ke=.8*ae,l=0;l<g.LightCount;l++)y[l]=new mxCell("",new mxGeometry(Je+ae*l+(ae-Ke)/2,.25*t,Ke,.75*t),"ellipse;part=1;"),
+y[l].vertex=!0,v.insert(y[l]),y[l].style+=a(y[l].style,g,k,y[l]);break;case "fpRestroomSinks":v.style+="strokeColor=none;fillColor=none;";v.style+=a(v.style,g,k,v);for(var r=[],Le=u/g.SinkCount,l=0;l<g.SinkCount;l++)r[l]=new mxCell("",new mxGeometry(Le*l,0,Le,t),"part=1;shape=mxgraph.floorplan.sink_2;"),r[l].vertex=!0,v.insert(r[l]),r[l].style+=a(r[l].style,g,k,r[l]);break;case "fpRestroomStalls":v.style+="strokeColor=none;fillColor=none;";var Ua=.1*u/g.StallCount,r=new mxCell("",new mxGeometry(0,
+0,Ua,t),"fillColor=#000000;part=1;");r.vertex=!0;v.insert(r);r.style+=a(r.style,g,k,r);for(var ab=(u-Ua)/g.StallCount,be=[],md=[],nd=[],od=[],J=I(g,k),J=""==J?"#000000;":J.replace("stokreColor=",""),Dd="part=1;fillColor="+J,Dd=Dd+a(Dd,g,k,v),ce=a("",g,k,v),l=0;l<g.StallCount;l++)be[l]=new mxCell("",new mxGeometry((l+1)*ab,0,Ua,t),Dd),be[l].vertex=!0,v.insert(be[l]),nd[l]=new mxCell("",new mxGeometry(Ua+l*ab+.05*(ab-Ua),t-.92*(ab-Ua),.9*(ab-Ua),.92*(ab-Ua)),"shape=mxgraph.floorplan.doorRight;flipV=1;part=1;"),
+nd[l].vertex=!0,v.insert(nd[l]),nd[l].style+=ce,md[l]=new mxCell("",new mxGeometry(Ua+l*ab+.2*(ab-Ua),0,.6*(ab-Ua),.8*(ab-Ua)),"shape=mxgraph.floorplan.toilet;part=1;"),md[l].vertex=!0,v.insert(md[l]),md[l].style+=ce,od[l]=new mxCell("",new mxGeometry(Ua+l*ab,.42*t,.15*(ab-Ua),.12*(ab-Ua)),"part=1;"),od[l].vertex=!0,v.insert(od[l]),od[l].style+=ce;break;case "PEOneToMany":v.style+="strokeColor=none;fillColor=none;";var Ed="edgeStyle=none;endArrow=none;part=1;",J=I(g,k),J=""==J?"#000000;":J.replace("strokeColor=",
+""),Zb="shape=triangle;part=1;fillColor="+J,Zb=Zb+a(Zb,g,k,v),M=new mxCell("",new mxGeometry(0,0,0,0),Ed);M.geometry.relative=!0;M.edge=!0;xa(0,.5*t,.65*u,.5*t,M,d,e,fa,v,Q);for(var N=t/g.numLines,L=[],kc=[],l=0;l<g.numLines;l++)L[l]=new mxCell("",new mxGeometry(0,0,0,0),Ed),L[l].geometry.relative=!0,L[l].edge=!0,xa(.65*u,.5*t,.96*u,(l+.5)*N,L[l],d,e,fa,v,Q),kc[l]=new mxCell("",new mxGeometry(.95*u,(l+.2)*N,.05*u,.6*N),Zb),kc[l].vertex=!0,v.insert(kc[l]);break;case "PEMultilines":v.style+="strokeColor=none;fillColor=none;";
+Ed="edgeStyle=none;endArrow=none;part=1;";J=I(g,k);J=""==J?"#000000;":J.replace("strokeColor=","");Zb="shape=triangle;part=1;fillColor="+J;Zb+=a(Zb,g,k,v);N=t/g.numLines;L=[];kc=[];for(l=0;l<g.numLines;l++)L[l]=new mxCell("",new mxGeometry(0,0,0,0),Ed),L[l].geometry.relative=!0,L[l].edge=!0,xa(0,(l+.5)*N,.96*u,(l+.5)*N,L[l],d,e,fa,v,Q),kc[l]=new mxCell("",new mxGeometry(.95*u,(l+.2)*N,.05*u,.6*N),Zb),kc[l].vertex=!0,v.insert(kc[l]);break;case "PEVesselBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";
+v.value=f(g.Text);switch(g.vesselType){case 1:v.style+="shape=mxgraph.pid.vessels.pressurized_vessel;";break;case 2:v.style+="shape=hexagon;perimeter=hexagonPerimeter2;size=0.10;direction=south;"}v.style+=a(v.style,g,k,v,z);break;case "PEClosedTankBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=f(g.Text);1==g.peakedRoof&&0==g.stumpType?v.style+="shape=mxgraph.pid.vessels.tank_(conical_roof);":1==g.stumpType&&(v.style+="shape=mxgraph.pid.vessels.tank_(boot);");v.style+=a(v.style,
+g,k,v,z);break;case "PEColumnBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=f(g.Text);v.style=0==g.columnType?v.style+"shape=mxgraph.pid.vessels.pressurized_vessel;":v.style+"shape=mxgraph.pid.vessels.tank;";v.style+=a(v.style,g,k,v,z);break;case "PECompressorTurbineBlock":v.style+="strokeColor=none;fillColor=none;";v.value=f(g.Text);v.style+=a(v.style,g,k,v,z);r=new mxCell("",new mxGeometry(0,.2*t,u,.6*t),"part=1;shape=trapezoid;perimeter=trapezoidPerimeter;direction=south;");
+r.vertex=!0;v.insert(r);r.style+=P;r.style+=a(r.style,g,k,r);P="endSize=4;endArrow=block;endFill=1;";0==g.compressorType?(M=new mxCell("",new mxGeometry(0,0,0,0),""),M.geometry.relative=!0,M.edge=!0,M.style+=P,M.style+=a(M.style,g,k,M),xa(0,0,0,.2*t,M,d,e,fa,v,Q),L=new mxCell("",new mxGeometry(0,0,0,0),""),L.geometry.relative=!0,L.edge=!0,L.style+=P,L.style+=a(L.style,g,k,L),xa(u,.67*t,u,t,L,d,e,fa,v,Q)):(r.style+="flipH=1;",M=new mxCell("",new mxGeometry(0,0,0,0),""),M.geometry.relative=!0,M.edge=
+!0,M.style+=P,M.style+=a(M.style,g,k,M),xa(0,0,0,.33*t,M,d,e,fa,v,Q),L=new mxCell("",new mxGeometry(0,0,0,0),""),L.geometry.relative=!0,L.edge=!0,L.style+=P,L.style+=a(L.style,g,k,L),xa(u,.8*t,u,t,L,d,e,fa,v,Q));1==g.centerLineType&&(V=new mxCell("",new mxGeometry(0,0,0,0),""),V.geometry.relative=!0,V.edge=!0,V.style+=P,V.style+=a(V.style,g,k,V),xa(.2*u,.5*t,.8*u,.5*t,V,d,e,fa,v,Q));break;case "PEMotorDrivenTurbineBlock":v.style+="shape=ellipse;perimeter=ellipsePerimeter;";v.value=f(g.Text);v.style+=
+a(v.style,g,k,v,z);r=new mxCell("",new mxGeometry(.2*u,.2*t,.6*u,.6*t),"part=1;shape=trapezoid;perimeter=trapezoidPerimeter;direction=south;");r.vertex=!0;v.insert(r);r.style+=a(r.style,g,k,r);break;case "PEIndicatorBlock":case "PEIndicator2Block":case "PESharedIndicatorBlock":case "PEComputerIndicatorBlock":case "PESharedIndicator2Block":case "PEProgrammableIndicatorBlock":switch(c.Class){case "PEIndicatorBlock":v.style+="shape=mxgraph.pid2inst.discInst;";break;case "PEIndicator2Block":v.style+=
+"shape=mxgraph.pid2inst.indicator;indType=inst;";break;case "PESharedIndicatorBlock":v.style+="shape=mxgraph.pid2inst.sharedCont;";break;case "PEComputerIndicatorBlock":v.style+="shape=mxgraph.pid2inst.compFunc;";break;case "PESharedIndicator2Block":v.style+="shape=mxgraph.pid2inst.indicator;indType=ctrl;";break;case "PEProgrammableIndicatorBlock":v.style+="shape=mxgraph.pid2inst.progLogCont;"}v.style+=a(v.style,g,k,v);"PEIndicator2Block"==c.Class||"PESharedIndicator2Block"==c.Class?(r=new mxCell("",
+new mxGeometry(0,0,u,.5*u),"part=1;strokeColor=none;fillColor=none;"),r.vertex=!0,v.insert(r),r.value=f(g.TopText),r.style+=b(g.TopText,z),r.style+=a(r.style,g,k,r,z),y=new mxCell("",new mxGeometry(0,.5*u,u,.5*u),"part=1;strokeColor=none;fillColor=none;")):(r=new mxCell("",new mxGeometry(0,0,u,.5*t),"part=1;strokeColor=none;fillColor=none;"),r.vertex=!0,v.insert(r),r.value=f(g.TopText),r.style+=b(g.TopText,z),r.style+=a(r.style,g,k,r,z),y=new mxCell("",new mxGeometry(0,.5*t,u,.5*t),"part=1;strokeColor=none;fillColor=none;"));
+y.vertex=!0;v.insert(y);y.value=f(g.BotText);y.style+=b(g.BotText,z);y.style+=a(y.style,g,k,y,z);switch(g.instrumentLocation){case 0:v.style+="mounting=field;";break;case 1:v.style+="mounting=inaccessible;";break;case 2:v.style+="mounting=room;";break;case 3:v.style+="mounting=local;"}break;case "PEGateValveBlock":case "PEGlobeValveBlock":case "PEAngleValveBlock":case "PEAngleGlobeValveBlock":case "PEPoweredValveBlock":var de=!1;"PEPoweredValveBlock"==c.Class?1!=g.poweredHandOperated&&(de=!0):1!=
+g.handOperated&&(de=!0);if(de){var g=q(c).Properties,n=g.BoundingBox,nf=n.h;n.h="PEAngleValveBlock"==c.Class||"PEAngleGlobeValveBlock"==c.Class?.7*n.h:.6*n.h;v=new mxCell("",new mxGeometry(Math.round(.75*n.x+Sb),Math.round(.75*(n.y+nf-n.h)+Tb),Math.round(.75*n.w),Math.round(.75*n.h)),"");v.vertex=!0;sc(v,c,e)}if("PEPoweredValveBlock"==c.Class)v.style+="shape=mxgraph.pid2valves.valve;verticalLabelPosition=bottom;verticalAlign=top;",v.style+=a(v.style,g,k,v),1==g.poweredHandOperated?(v.style+="valveType=gate;actuator=powered;",
+r=new mxCell("",new mxGeometry(.325*u,0,.35*u,.35*t),"part=1;strokeColor=none;fillColor=none;spacingTop=2;"),r.vertex=!0,v.insert(r),r.value=f(g.PoweredText),r.style+=(z?"":x(g.PoweredText)+w(g.PoweredText)+A(g.PoweredText)+G(g.PoweredText)+C(g.PoweredText)+D(g.PoweredText)+K(g.PoweredText))+"fontSize=6;"+S(g.PoweredText),r.style+=a(r.style,g,k,r,z)):v.style+="valveType=gate;";else{v.style+="verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.pid2valves.valve;";v.value=f(g.Text);switch(c.Class){case "PEGateValveBlock":v.style+=
+"valveType=gate;";break;case "PEGlobeValveBlock":v.style+="valveType=globe;";break;case "PEAngleValveBlock":v.style+="valveType=angle;";break;case "PEAngleGlobeValveBlock":v.style+="valveType=angleGlobe;flipH=1;"}1==g.handOperated&&(v.style+="actuator=man;")}v.style+=a(v.style,g,k,v,z);break;case "UI2BrowserBlock":v.style+="shape=mxgraph.mockup.containers.browserWindow;mainText=;";1==g.vScroll&&(F=1==g.hScroll?new mxCell("",new mxGeometry(1,0,20,t-130),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):
+new mxCell("",new mxGeometry(1,0,20,t-110),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),F.geometry.relative=!0,F.geometry.offset=new mxPoint(-20,110),F.vertex=!0,v.insert(F),v.style+="spacingRight=20;");1==g.hScroll&&(U=1==g.vScroll?new mxCell("",new mxGeometry(0,1,u-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,1,u,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),
+U.geometry.relative=!0,U.geometry.offset=new mxPoint(0,-20),U.vertex=!0,v.insert(U));v.style+=a(v.style,g,k,v);break;case "UI2WindowBlock":v.value=f(g.Title);v.style+="shape=mxgraph.mockup.containers.window;mainText=;align=center;verticalAlign=top;spacing=5;"+(z?"fontSize=13;":h(g.Title)+x(g.Title)+w(g.Title));1==g.vScroll&&(F=1==g.hScroll?new mxCell("",new mxGeometry(1,0,20,t-50),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):new mxCell("",new mxGeometry(1,
+0,20,t-30),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),F.geometry.relative=!0,F.geometry.offset=new mxPoint(-20,30),F.vertex=!0,v.insert(F),v.style+="spacingRight=20;");1==g.hScroll&&(U=1==g.vScroll?new mxCell("",new mxGeometry(0,1,u-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,1,u,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),U.geometry.relative=
+!0,U.geometry.offset=new mxPoint(0,-20),U.vertex=!0,v.insert(U));v.style+=a(v.style,g,k,v,z);break;case "UI2DialogBlock":v.value=f(g.Text);v.style+=b(g.Text,z);r=new mxCell("",new mxGeometry(0,0,u,30),"part=1;resizeHeight=0;");r.vertex=!0;v.insert(r);r.value=f(g.Title);r.style+=b(g.Title,z);r.style+=a(r.style,g,k,r,z);y=new mxCell("",new mxGeometry(1,.5,20,20),"ellipse;part=1;strokeColor=#008cff;resizable=0;fillColor=none;html=1;");y.geometry.relative=!0;y.geometry.offset=new mxPoint(-25,-10);y.vertex=
+!0;r.insert(y);1==g.vScroll&&(F=1==g.hScroll?new mxCell("",new mxGeometry(1,0,20,t-50),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):new mxCell("",new mxGeometry(1,0,20,t-30),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),F.geometry.relative=!0,F.geometry.offset=new mxPoint(-20,30),F.vertex=!0,v.insert(F),v.style+="spacingRight=20;");1==g.hScroll&&(U=1==g.vScroll?new mxCell("",new mxGeometry(0,1,u-20,20),
+"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,1,u,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),U.geometry.relative=!0,U.geometry.offset=new mxPoint(0,-20),U.vertex=!0,v.insert(U));v.style+=a(v.style,g,k,v);g.Text=null;break;case "UI2AccordionBlock":r=[];N=25;for(l=0;l<=g.Panels-1;l++)r[l]=l<g.Selected-1?new mxCell("",new mxGeometry(0,l*N,u,N),"part=1;fillColor=#000000;fillOpacity=25;"):l==g.Selected-1?
+new mxCell("",new mxGeometry(0,l*N,u,N),"part=1;fillColor=none;"):new mxCell("",new mxGeometry(0,t-(g.Panels-g.Selected)*N+(l-g.Selected)*N,u,N),"part=1;fillColor=#000000;fillOpacity=25;"),r[l].vertex=!0,v.insert(r[l]),r[l].value=f(g["Panel_"+(l+1)]),r[l].style+=b(g["Panel_"+(l+1)],z),0>r[l].style.indexOf(";align=")&&(r[l].style+="align=left;spacingLeft=5;");var pa=I(g,k),pa=pa.replace("strokeColor","fillColor2");""==pa&&(pa="fillColor2=#000000;");1==g.vScroll&&(y=1==g.hScroll?new mxCell("",new mxGeometry(1,
+0,20,t-g.Selected*N-20-(g.Panels-g.Selected)*N),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):new mxCell("",new mxGeometry(1,0,20,t-g.Selected*N-(g.Panels-g.Selected)*N),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),y.geometry.relative=!0,y.geometry.offset=new mxPoint(-20,g.Selected*N),y.vertex=!0,v.insert(y),v.style+="spacingRight=20;",y.style+=pa,y.style+=a(y.style,g,k,y));1==g.hScroll&&(F=1==g.vScroll?
+new mxCell("",new mxGeometry(0,1,u-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,1,u,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),F.geometry.relative=!0,F.geometry.offset=new mxPoint(0,-20-(g.Panels-g.Selected)*N),F.vertex=!0,v.insert(F),F.style+=pa,F.style+=a(F.style,g,k,F));U=1==g.vScroll?new mxCell("",new mxGeometry(0,g.Selected*N,u-20,t-g.Selected*N-20-(g.Panels-g.Selected)*N),"part=1;fillColor=none;strokeColor=none;"):
+new mxCell("",new mxGeometry(0,g.Selected*N,u-20,t-g.Selected*N-(g.Panels-g.Selected)*N),"part=1;fillColor=none;strokeColor=none;");U.vertex=!0;v.insert(U);U.value=f(g.Content_1);U.style+=b(g.Content_1,z);!z&&0>U.style.indexOf(";align=")&&(U.style+="align=left;spacingLeft=5;");v.style+=a(v.style,g,k,v);break;case "UI2TabBarContainerBlock":v.style+="strokeColor=none;fillColor=none;";var r=[],y=[],N=25,Wa=3,ba=(u+Wa)/(g.Tabs+1),za=new mxCell("",new mxGeometry(0,N,u,t-N),"part=1;");za.vertex=!0;v.insert(za);
+za.style+=a(za.style,g,k,za);for(l=0;l<=g.Tabs-1;l++)l==g.Selected-1?(y[l]=new mxCell("",new mxGeometry(10+l*ba,0,ba-Wa,N),""),y[l].vertex=!0,v.insert(y[l])):(r[l]=new mxCell("",new mxGeometry(10+l*ba,0,ba-Wa,N),"strokeColor=none;"),r[l].vertex=!0,v.insert(r[l]),r[l].style+=r[l].style+=a(r[l].style,g,k,r[l]),y[l]=new mxCell("",new mxGeometry(0,0,ba-Wa,N),"fillColor=#000000;fillOpacity=25;"),y[l].vertex=!0,r[l].insert(y[l])),y[l].value=f(g["Tab_"+(l+1)]),y[l].style+=b(g["Tab_"+(l+1)],z),0>y[l].style.indexOf(";align=")&&
+(y[l].style+="align=left;spacingLeft=2;"),y[l].style+=a(y[l].style,g,k,y[l]);pa=I(g,k);pa=pa.replace("strokeColor","fillColor2");""==pa&&(pa="fillColor2=#000000;");1==g.vScroll&&(y=1==g.hScroll?new mxCell("",new mxGeometry(1,0,20,t-20-N),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):new mxCell("",new mxGeometry(1,0,20,t-N),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),y.geometry.relative=!0,y.geometry.offset=
+new mxPoint(-20,N),y.vertex=!0,v.insert(y),v.style+="spacingRight=20;",y.style+=pa,y.style+=a(y.style,g,k,y));1==g.hScroll&&(F=1==g.vScroll?new mxCell("",new mxGeometry(0,1,u-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,1,u,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),F.geometry.relative=!0,F.geometry.offset=new mxPoint(0,-20),F.vertex=!0,v.insert(F),F.style+=pa,F.style+=a(F.style,g,k,F));break;
+case "UI2TabBar2ContainerBlock":v.style+="strokeColor=none;fillColor=none;";r=[];y=[];N=25;Wa=3;ba=(u+Wa)/g.Tabs;za=new mxCell("",new mxGeometry(0,N,u,t-N),"part=1;");za.vertex=!0;v.insert(za);za.style+=a(za.style,g,k,za);for(l=0;l<=g.Tabs-1;l++)l==g.Selected-1?(y[l]=new mxCell("",new mxGeometry(l*ba,0,ba-Wa,N),""),y[l].vertex=!0,v.insert(y[l])):(r[l]=new mxCell("",new mxGeometry(l*ba,0,ba-Wa,N),"strokeColor=none;"),r[l].vertex=!0,v.insert(r[l]),r[l].style+=a(r[l].style,g,k,r[l]),y[l]=new mxCell("",
+new mxGeometry(0,0,ba-Wa,N),"fillColor=#000000;fillOpacity=25;"),y[l].vertex=!0,r[l].insert(y[l])),y[l].value=f(g["Tab_"+(l+1)]),y[l].style+=b(g["Tab_"+(l+1)],z),y[l].style+=a(y[l].style,g,k,y[l],z),0>y[l].style.indexOf(";align=")&&(y[l].style+="align=left;spacingLeft=2;");pa=I(g,k);pa=pa.replace("strokeColor","fillColor2");""==pa&&(pa="fillColor2=#000000;");1==g.vScroll&&(y=1==g.hScroll?new mxCell("",new mxGeometry(1,0,20,t-20-N),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):
+new mxCell("",new mxGeometry(1,0,20,t-N),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),y.geometry.relative=!0,y.geometry.offset=new mxPoint(-20,N),y.vertex=!0,v.insert(y),v.style+="spacingRight=20;",y.style+=pa,y.style+=a(y.style,g,k,y));1==g.hScroll&&(F=1==g.vScroll?new mxCell("",new mxGeometry(0,1,u-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,1,u,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),
+F.geometry.relative=!0,F.geometry.offset=new mxPoint(0,-20),F.vertex=!0,v.insert(F),F.style+=pa,F.style+=a(F.style,g,k,F));break;case "UI2VTabBarContainerBlock":v.style+="strokeColor=none;fillColor=none;";r=[];y=[];Wa=3;N=25+Wa;ba=80;Lb=10;za=new mxCell("",new mxGeometry(ba,0,u-ba,t),"part=1;");za.vertex=!0;v.insert(za);za.style+=a(za.style,g,k,za);for(l=0;l<=g.Tabs-1;l++)l==g.Selected-1?(y[l]=new mxCell("",new mxGeometry(0,Lb+l*N,ba,N-Wa),""),y[l].vertex=!0,v.insert(y[l]),y[l].value=f(g["Tab_"+(l+
+1)]),y[l].style+=b(g["Tab_"+(l+1)],z),y[l].style+=a(y[l].style,g,k,y[l],z)):(r[l]=new mxCell("",new mxGeometry(0,Lb+l*N,ba,N-Wa),"strokeColor=none;"),r[l].vertex=!0,v.insert(r[l]),r[l].style+=a(r[l].style,g,k,r[l]),y[l]=new mxCell("",new mxGeometry(0,0,ba,N-Wa),"fillColor=#000000;fillOpacity=25;"),y[l].vertex=!0,r[l].insert(y[l]),y[l].value=f(g["Tab_"+(l+1)]),y[l].style+=b(g["Tab_"+(l+1)],z)),0>y[l].style.indexOf(";align=")&&(y[l].style+="align=left;spacingLeft=2;"),y[l].style+=a(y[l].style,g,k,y[l]);
+pa=I(g,k);pa=pa.replace("strokeColor","fillColor2");""==pa&&(pa="fillColor2=#000000;");1==g.vScroll&&(y=1==g.hScroll?new mxCell("",new mxGeometry(1,0,20,t-20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):new mxCell("",new mxGeometry(1,0,20,t),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),y.geometry.relative=!0,y.geometry.offset=new mxPoint(-20,0),y.vertex=!0,v.insert(y),v.style+="spacingRight=20;",y.style+=
+pa,y.style+=a(y.style,g,k,y));1==g.hScroll&&(F=1==g.vScroll?new mxCell("",new mxGeometry(ba,1,u-20-ba,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(ba,1,u-ba,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),F.geometry.relative=!0,F.geometry.offset=new mxPoint(0,-20),F.vertex=!0,v.insert(F),F.style+=pa,F.style+=a(F.style,g,k,F));break;case "UI2CheckBoxBlock":v.style+="strokeColor=none;fillColor=none;";N=t/
+g.Options;r=[];y=[];for(l=0;l<g.Options;l++)r[l]=new mxCell("",new mxGeometry(0,l*N+.5*N-5,10,10),"labelPosition=right;part=1;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=3;"),r[l].vertex=!0,v.insert(r[l]),r[l].value=f(g["Option_"+(l+1)]),r[l].style+=b(g["Option_"+(l+1)],z),r[l].style+=a(r[l].style,g,k,r[l],z),null!=g.Selected[l+1]&&1==g.Selected[l+1]&&(J=I(g,k),J=J.replace("strokeColor","fillColor"),""==J&&(J="fillColor=#000000;"),y[l]=new mxCell("",new mxGeometry(2,2,
+6,6),"shape=mxgraph.mscae.general.checkmark;part=1;"),y[l].vertex=!0,r[l].insert(y[l]),y[l].style+=J,y[l].style+=a(y[l].style,g,k,y[l]));break;case "UI2HorizontalCheckBoxBlock":v.style+="strokeColor=none;fillColor=none;";ba=u/g.Options;r=[];y=[];for(l=0;l<g.Options;l++)r[l]=new mxCell("",new mxGeometry(l*ba,.5*t-5,10,10),"labelPosition=right;part=1;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=3;"),r[l].vertex=!0,v.insert(r[l]),r[l].value=f(g["Option_"+(l+1)]),r[l].style+=
+b(g["Option_"+(l+1)],z),r[l].style+=a(r[l].style,g,k,r[l],z),null!=g.Selected[l+1]&&1==g.Selected[l+1]&&(J=I(g,k),J=J.replace("strokeColor","fillColor"),""==J&&(J="fillColor=#000000;"),y[l]=new mxCell("",new mxGeometry(2,2,6,6),"shape=mxgraph.mscae.general.checkmark;part=1;"),y[l].vertex=!0,r[l].insert(y[l]),y[l].style+=J,y[l].style+=a(y[l].style,g,k,y[l]));break;case "UI2RadioBlock":v.style+="strokeColor=none;fillColor=none;";N=t/g.Options;r=[];y=[];for(l=0;l<g.Options;l++)r[l]=new mxCell("",new mxGeometry(0,
+l*N+.5*N-5,10,10),"ellipse;labelPosition=right;part=1;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=3;"),r[l].vertex=!0,v.insert(r[l]),r[l].value=f(g["Option_"+(l+1)]),r[l].style+=b(g["Option_"+(l+1)],z),r[l].style+=a(r[l].style,g,k,r[l],z),null!=g.Selected&&g.Selected==l+1&&(J=I(g,k),J=J.replace("strokeColor","fillColor"),""==J&&(J="fillColor=#000000;"),y[l]=new mxCell("",new mxGeometry(2.5,2.5,5,5),"ellipse;"),y[l].vertex=!0,r[l].insert(y[l]),y[l].style+=J,y[l].style+=
+a(y[l].style,g,k,y[l]));break;case "UI2HorizontalRadioBlock":v.style+="strokeColor=none;fillColor=none;";ba=u/g.Options;r=[];y=[];for(l=0;l<g.Options;l++)r[l]=new mxCell("",new mxGeometry(l*ba,.5*t-5,10,10),"ellipse;labelPosition=right;part=1;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=3;"),r[l].vertex=!0,v.insert(r[l]),r[l].value=f(g["Option_"+(l+1)]),r[l].style+=b(g["Option_"+(l+1)],z),r[l].style+=a(r[l].style,g,k,r[l],z),null!=g.Selected&&g.Selected==l+1&&(J=I(g,k),
+J=J.replace("strokeColor","fillColor"),""==J&&(J="fillColor=#000000;"),y[l]=new mxCell("",new mxGeometry(2,2,6,6),"ellipse;part=1;"),y[l].vertex=!0,r[l].insert(y[l]),y[l].style+=J,y[l].style+=a(y[l].style,g,k,y[l]));break;case "UI2SelectBlock":v.style+="shape=mxgraph.mockup.forms.comboBox;strokeColor=#999999;fillColor=#ddeeff;align=left;fillColor2=#aaddff;mainText=;fontColor=#666666";v.value=f(g.Selected);break;case "UI2HSliderBlock":case "UI2VSliderBlock":v.style+="shape=mxgraph.mockup.forms.horSlider;sliderStyle=basic;handleStyle=handle;";
+"UI2VSliderBlock"==c.Class&&(v.style+="direction=south;");v.style+="sliderPos="+100*g.ScrollVal+";";v.style+=a(v.style,g,k,v);break;case "UI2DatePickerBlock":v.style+="strokeColor=none;fillColor=none;";r=new mxCell("",new mxGeometry(0,0,.6*u,t),"part=1;");r.vertex=!0;v.insert(r);r.value=f(g.Date);r.style+=b(g.Date,z);v.style+=a(v.style,g,k,v);J=I(g,k);J=J.replace("strokeColor","fillColor");""==J&&(J="fillColor=#000000;");y=new mxCell("",new mxGeometry(.75*u,0,.25*u,t),"part=1;shape=mxgraph.gmdl.calendar;");
+y.vertex=!0;v.insert(y);y.style+=J;y.style+=a(y.style,g,k,y);break;case "UI2SearchBlock":v.style+="shape=mxgraph.mockup.forms.searchBox;mainText=;flipH=1;align=left;spacingLeft=26;"+h(g.Search)+x(g.Search)+w(g.Search);v.value=f(g.Search);v.style+=a(v.style,g,k,v,z);break;case "UI2NumericStepperBlock":J=I(g,k);J=J.replace("strokeColor","fillColor");""==J&&(J="fillColor=#000000;");v.style+="shape=mxgraph.mockup.forms.spinner;spinLayout=right;spinStyle=normal;adjStyle=triangle;mainText=;align=left;spacingLeft=8;"+
+J+h(g.Number)+x(g.Number)+w(g.Number);v.value=f(g.Number);v.style+=a(v.style,g,k,v,z);break;case "UI2TableBlock":try{var Ca=ja(g.FillColor),pd=ja(g.LineColor),ee,ic="",Fd=20;v.style="html=1;overflow=fill;verticalAlign=top;spacing=0;";var lc='<table style="width:100%;height:100%;border-collapse: collapse;border: 1px solid '+pd+';">',Fb=g.Data.split("\n");ee=g.AltRow&&"default"!=g.AltRow?"none"==g.AltRow?Ca:ja(g.AltRow):Sd(Ca,.95);ec=g.Header&&"default"!=g.Header?"none"==g.Header?ee:ja(g.Header):Sd(Ca,
+.8);if("full"==g.GridLines)ic="border: 1px solid "+pd,Fd=19;else if("row"==g.GridLines)ic="border-bottom: 1px solid "+pd,Fd=19;else if("default"==g.GridLines||"column"==g.GridLines)ic="border-right: 1px solid "+pd;Fb=Fb.filter(function(a){return a});/^\{[^}]*\}$/.test(Fb[Fb.length-1])&&Fb.pop();for(var Vc=Fb[0].split(",").length,Me="",O=0;O<Vc-1;O++)Me+=" , ";for(l=Fb.length;l<Math.ceil(t/20);l++)Fb.push(Me);for(l=0;l<Fb.length;l++){for(var lc=lc+('<tr style="height: '+Fd+"px;background:"+(0==l?ec:
+l%2?Ca:ee)+'">'),Ne=Fb[l].split(","),O=0;O<Ne.length;O++)var qd=g["Cell_"+l+"_"+O],of=qd&&qd.m&&qd.m[0]&&"c"==qd.m[0].n?ja(qd.m[0].v):pd,lc=lc+('<td style="height: '+Fd+"px;color:"+of+";"+ic+'">'+mxUtils.htmlEntities(Ne[O])+"</td>");lc+="</tr>"}lc+="</table>";v.value=lc}catch(cb){console.log(cb)}break;case "UI2ButtonBarBlock":v.style+=a(v.style,g,k,v);r=[];y=[];ba=u/g.Buttons;for(l=0;l<=g.Buttons-1;l++)l==g.Selected-1?(y[l]=new mxCell("",new mxGeometry(l*ba,0,ba,t),""),y[l].vertex=!0,v.insert(y[l])):
+(r[l]=new mxCell("",new mxGeometry(l*ba,0,ba,t),"strokeColor=none;"),r[l].vertex=!0,v.insert(r[l]),r[l].style+=r[l].style+=a(r[l].style,g,k,r[l]),y[l]=new mxCell("",new mxGeometry(0,0,ba,t),"fillColor=#000000;fillOpacity=25;"),y[l].vertex=!0,r[l].insert(y[l])),y[l].value=f(g["Button_"+(l+1)]),y[l].style+=b(g["Button_"+(l+1)],z),y[l].style+=a(y[l].style,g,k,y[l],z);break;case "UI2VerticalButtonBarBlock":v.style+=a(v.style,g,k,v);r=[];y=[];N=t/g.Buttons;for(l=0;l<=g.Buttons-1;l++)l==g.Selected-1?(y[l]=
+new mxCell("",new mxGeometry(0,l*N,u,N),""),y[l].vertex=!0,v.insert(y[l])):(r[l]=new mxCell("",new mxGeometry(0,l*N,u,N),"strokeColor=none;"),r[l].vertex=!0,v.insert(r[l]),r[l].style+=a(r[l].style,g,k,r[l]),y[l]=new mxCell("",new mxGeometry(0,0,u,N),"fillColor=#000000;fillOpacity=25;"),y[l].vertex=!0,r[l].insert(y[l])),y[l].value=f(g["Button_"+(l+1)]),y[l].style+=b(g["Button_"+(l+1)],z),y[l].style+=a(y[l].style,g,k,y[l],z);break;case "UI2LinkBarBlock":v.style+="strokeColor=none;fillColor=none;";v.style+=
+a(v.style,g,k,v);r=[];y=[];ba=u/g.Links;for(l=0;l<g.Links;l++)0!=l?(y[l]=new mxCell("",new mxGeometry(l*ba,0,ba,t),"shape=partialRectangle;top=0;bottom=0;right=0;fillColor=none;"),y[l].style+=a(y[l].style,g,k,y[l])):y[l]=new mxCell("",new mxGeometry(l*ba,0,ba,t),"fillColor=none;strokeColor=none;"),y[l].vertex=!0,v.insert(y[l]),y[l].value=f(g["Link_"+(l+1)]),y[l].style+=b(g["Link_"+(l+1)],z);break;case "UI2BreadCrumbsBlock":v.style+="strokeColor=none;fillColor=none;";v.style+=a(v.style,g,k,v);r=[];
+y=[];ba=u/g.Links;for(l=0;l<g.Links;l++)r[l]=new mxCell("",new mxGeometry(l*ba,0,ba,t),"fillColor=none;strokeColor=none;"),r[l].vertex=!0,v.insert(r[l]),r[l].value=f(g["Link_"+(l+1)]),r[l].style+=b(g["Link_"+(l+1)],z);for(l=1;l<g.Links;l++)y[l]=new mxCell("",new mxGeometry(l/g.Links,.5,6,10),"shape=mxgraph.ios7.misc.right;"),y[l].geometry.relative=!0,y[l].geometry.offset=new mxPoint(-3,-5),y[l].vertex=!0,v.insert(y[l]);break;case "UI2MenuBarBlock":v.style+="strokeColor=none;";v.style+=a(v.style,g,
+k,v);r=[];ba=u/(g.Buttons+1);for(l=0;l<=g.Buttons-1;l++)r[l]=l!=g.Selected-1?new mxCell("",new mxGeometry(0,0,ba,t),"strokeColor=none;fillColor=none;resizeHeight=1;"):new mxCell("",new mxGeometry(0,0,ba,t),"fillColor=#000000;fillOpacity=25;strokeColor=none;resizeHeight=1;"),r[l].geometry.relative=!0,r[l].geometry.offset=new mxPoint(l*ba,0),r[l].vertex=!0,v.insert(r[l]),r[l].value=f(g["MenuItem_"+(l+1)]),r[l].style+=b(g["MenuItem_"+(l+1)],z);break;case "UI2AtoZBlock":v.style+="fillColor=none;strokeColor=none;"+
+b(g.Text_0);v.value="0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z";break;case "UI2PaginationBlock":v.style+="fillColor=none;strokeColor=none;"+b(g.Text_prev);v.value=f(g.Text_prev)+" ";for(l=0;l<g.Links;l++)v.value+=f(g["Link_"+(l+1)])+" ";v.value+=f(g.Text_next);break;case "UI2ContextMenuBlock":v.style+=a(v.style,g,k,v);for(var H=[],Fa=[],Hc=[],N=t/g.Lines,P=null,l=0;l<g.Lines;l++)null!=g["Item_"+(l+1)]&&(null==P&&(P=""+h(g["Item_"+(l+1)])+x(g["Item_"+(l+1)])+w(g["Item_"+(l+1)])),H[l]=
+new mxCell("",new mxGeometry(0,l*t/g.Lines,u,N),"strokeColor=none;fillColor=none;spacingLeft=20;align=left;html=1;"),H[l].vertex=!0,v.insert(H[l]),H[l].style+=P,H[l].value=f(g["Item_"+(l+1)])),null!=g.Icons[l+1]&&null!=H[l]&&("dot"==g.Icons[l+1]?(Fa[l]=new mxCell("",new mxGeometry(0,.5,8,8),"ellipse;strokeColor=none;"),Fa[l].geometry.offset=new mxPoint(6,-4)):"check"==g.Icons[l+1]&&(Fa[l]=new mxCell("",new mxGeometry(0,.5,7,8),"shape=mxgraph.mscae.general.checkmark;strokeColor=none;"),Fa[l].geometry.offset=
+new mxPoint(6.5,-4)),null!=Fa[l]&&(Fa[l].geometry.relative=!0,Fa[l].vertex=!0,H[l].insert(Fa[l]),J=I(g,k),J=J.replace("strokeColor","fillColor"),""==J&&(J="fillColor=#000000;"),Fa[l].style+=J)),null!=g["Shortcut_"+(l+1)]&&(null==P&&(P=""+h(g["Shortcut_"+(l+1)])+x(g["Shortcut_"+(l+1)])+w(g["Shortcut_"+(l+1)])),Hc[l]=new mxCell("",new mxGeometry(.6*u,l*t/g.Lines,.4*u,N),"strokeColor=none;fillColor=none;spacingRight=3;align=right;html=1;"),Hc[l].vertex=!0,v.insert(Hc[l]),Hc[l].style+=P,Hc[l].value=f(g["Shortcut_"+
+(l+1)])),null!=g.Dividers[l+1]&&(H[l]=new mxCell("",new mxGeometry(.05*u,l*t/g.Lines,.9*u,N),"shape=line;strokeWidth=1;"),H[l].vertex=!0,v.insert(H[l]),H[l].style+=I(g,k));break;case "UI2ProgressBarBlock":v.style+="shape=mxgraph.mockup.misc.progressBar;fillColor2=#888888;barPos="+100*g.ScrollVal+";";break;case "CalloutSquareBlock":case "UI2TooltipSquareBlock":v.value=f(g.Tip||g.Text);v.style+="html=1;shape=callout;flipV=1;base=13;size=7;position=0.5;position2=0.66;rounded=1;arcSize="+g.RoundCorners+
+";"+b(g.Tip||g.Text,z);v.style+=a(v.style,g,k,v,z);v.geometry.height+=10;break;case "UI2CalloutBlock":v.value=f(g.Txt);v.style+="shape=ellipse;perimeter=ellipsePerimeter;"+b(g.Txt,z);v.style+=a(v.style,g,k,v,z);break;case "UI2AlertBlock":v.value=f(g.Txt);v.style+=b(g.Txt,z);v.style+=a(v.style,g,k,v,z);r=new mxCell("",new mxGeometry(0,0,u,30),"part=1;resizeHeight=0;");r.vertex=!0;v.insert(r);r.value=f(g.Title);r.style+=b(g.Title,z);r.style+=a(r.style,g,k,r,z);y=new mxCell("",new mxGeometry(1,.5,20,
+20),"ellipse;part=1;strokeColor=#008cff;resizable=0;fillColor=none;html=1;");y.geometry.relative=!0;y.geometry.offset=new mxPoint(-25,-10);y.vertex=!0;r.insert(y);for(var pf=45*g.Buttons+(10*g.Buttons-1),F=[],l=0;l<g.Buttons;l++)F[l]=new mxCell("",new mxGeometry(.5,1,45,20),"part=1;html=1;"),F[l].geometry.relative=!0,F[l].geometry.offset=new mxPoint(.5*-pf+55*l,-40),F[l].vertex=!0,v.insert(F[l]),F[l].value=f(g["Button_"+(l+1)]),F[l].style+=b(g["Button_"+(l+1)],z),F[l].style+=a(F[l].style,g,k,F[l],
+z);break;case "UMLClassBlock":if(0==g.Simple){P=W(g,k);va=Math.round(.75*g.TitleHeight)||25;P=P.replace("fillColor","swimlaneFillColor");""==P&&(P="swimlaneFillColor=#ffffff;");v.value=f(g.Title);v.style+="swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;"+P+"startSize="+va+";"+b(g.Title,z);v.style+=a(v.style,g,k,v,z);for(var H=[],fe=[],Na=va/t,hb=va,l=0;l<=g.Attributes;l++)0<l&&(fe[l]=new mxCell("",
+new mxGeometry(0,hb,40,8),"line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;"),hb+=8,fe[l].vertex=!0,v.insert(fe[l])),N=0,0==g.Attributes?N=l=1:l<g.Attributes?(N=g["Text"+(l+1)+"Percent"],Na+=N):N=1-Na,Ab=Math.round((t-va)*N)+(g.ExtraHeightSet&&1==l?.75*g.ExtraHeight:0),H[l]=new mxCell("",new mxGeometry(0,hb,u,Ab),"part=1;html=1;whiteSpace=wrap;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
+hb+=Ab,H[l].vertex=!0,v.insert(H[l]),H[l].style+=P+R(g,k,H[l])+h(g["Text"+(l+1)])+x(g["Text"+(l+1)])+w(g["Text"+(l+1)]),H[l].value=f(g["Text"+(l+1)])}else v.value=f(g.Title),v.style+=b(g.Title,z),v.style+=a(v.style,g,k,v,z);break;case "ERDEntityBlock":P=W(g,k);va=.75*g.Name_h;P=P.replace("fillColor","swimlaneFillColor");""==P&&(P="swimlaneFillColor=#ffffff;");v.value=f(g.Name);v.style+="swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;"+
+P+"startSize="+va+";"+b(g.Name,z);v.style+=a(v.style,g,k,v,z);v.style=g.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+W(g,k);H=[];Na=va/t;hb=va;for(l=0;l<g.Fields;l++)N=0,Ab=.75*g["Field"+(l+1)+"_h"],H[l]=new mxCell("",new mxGeometry(0,hb,u,Ab),"part=1;resizeHeight=0;strokeColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;whiteSpace=wrap;"),hb+=Ab,H[l].vertex=!0,v.insert(H[l]),H[l].style+=P+
+h(g["Field"+(l+1)])+x(g["Field"+(l+1)])+w(g["Field"+(l+1)]),H[l].style=1==g.AltRows&&0!=l%2?H[l].style+"fillColor=#000000;opacity=5;":H[l].style+("fillColor=none;"+R(g,k,H[l])),H[l].value=f(g["Field"+(l+1)]);break;case "ERDEntityBlock2":P=W(g,k);va=.75*g.Name_h;P=P.replace("fillColor","swimlaneFillColor");""==P&&(P="swimlaneFillColor=#ffffff;");v.value=f(g.Name);v.style+="swimlane;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;fontStyle=0;"+P+"startSize="+va+";"+b(g.Name,
+z);v.style=g.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+W(g,k);v.style+=a(v.style,g,k,v,z);var H=[],da=[],Na=va,Xa=30;null!=g.Column1&&(Xa=.75*g.Column1);for(l=0;l<g.Fields;l++)N=0,da[l]=new mxCell("",new mxGeometry(0,Na,Xa,.75*g["Key"+(l+1)+"_h"]),"strokeColor=none;part=1;resizeHeight=0;align=center;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;whiteSpace=wrap;"),da[l].vertex=!0,v.insert(da[l]),da[l].style+=
+P+h(g["Key"+(l+1)])+x(g["Key"+(l+1)])+w(g["Key"+(l+1)]),da[l].style=1==g.AltRows&&0!=l%2?da[l].style+"fillColor=#000000;fillOpacity=5;":da[l].style+("fillColor=none;"+R(g,k,da[l])),da[l].value=f(g["Key"+(l+1)]),H[l]=new mxCell("",new mxGeometry(Xa,Na,u-Xa,.75*g["Field"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;whiteSpace=wrap;"),
+H[l].vertex=!0,v.insert(H[l]),H[l].style+=P+h(g["Field"+(l+1)])+x(g["Field"+(l+1)])+w(g["Field"+(l+1)]),v.style+=a(v.style,g,k,v),H[l].style=1==g.AltRows&&0!=l%2?H[l].style+"fillColor=#000000;fillOpacity=5;":H[l].style+("fillColor=none;"+R(g,k,H[l])),H[l].value=f(g["Field"+(l+1)]),Na+=.75*g["Key"+(l+1)+"_h"];break;case "ERDEntityBlock3":P=W(g,k);va=.75*g.Name_h;P=P.replace("fillColor","swimlaneFillColor");""==P&&(P="swimlaneFillColor=#ffffff;");v.style+="swimlane;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;fontStyle=0;"+
+P+"startSize="+va+";"+b(g.Name);v.style=g.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+W(g,k);v.value=f(g.Name);v.style+=a(v.style,g,k,v,z);H=[];da=[];Na=va;Xa=30;null!=g.Column1&&(Xa=.75*g.Column1);for(l=0;l<g.Fields;l++)N=0,da[l]=new mxCell("",new mxGeometry(0,Na,Xa,.75*g["Field"+(l+1)+"_h"]),"strokeColor=none;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;"),da[l].vertex=
+!0,v.insert(da[l]),da[l].style+=P+h(g["Field"+(l+1)])+x(g["Field"+(l+1)])+w(g["Field"+(l+1)]),da[l].style=1==g.AltRows&&0!=l%2?da[l].style+"fillColor=#000000;fillOpacity=5;":da[l].style+("fillColor=none;"+R(g,k,da[l])),da[l].value=f(g["Field"+(l+1)]),da[l].style+=a(da[l].style,g,k,da[l],z),H[l]=new mxCell("",new mxGeometry(Xa,Na,u-Xa,.75*g["Type"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;"),
+H[l].vertex=!0,v.insert(H[l]),H[l].style+=P+h(g["Type"+(l+1)])+x(g["Type"+(l+1)])+w(g["Type"+(l+1)]),H[l].style=1==g.AltRows&&0!=l%2?H[l].style+"fillColor=#000000;fillOpacity=5;":H[l].style+("fillColor=none;"+R(g,k,H[l])),H[l].value=f(g["Type"+(l+1)]),H[l].style+=a(H[l].style,g,k,H[l],z),Na+=.75*g["Field"+(l+1)+"_h"];break;case "ERDEntityBlock4":P=W(g,k);va=.75*g.Name_h;P=P.replace("fillColor","swimlaneFillColor");""==P&&(P="swimlaneFillColor=#ffffff;");v.style+="swimlane;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;fontStyle=0;"+
+P+"startSize="+va+";"+b(g.Name);v.style=g.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+W(g,k);v.value=f(g.Name);v.style+=a(v.style,g,k,v,z);var H=[],da=[],Ya=[],Na=va,Xa=30,Gd=40;null!=g.Column1&&(Xa=.75*g.Column1);null!=g.Column2&&(Gd=.75*g.Column2);for(l=0;l<g.Fields;l++)N=0,da[l]=new mxCell("",new mxGeometry(0,Na,Xa,.75*g["Key"+(l+1)+"_h"]),"strokeColor=none;part=1;resizeHeight=0;align=center;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;"),
+da[l].vertex=!0,v.insert(da[l]),da[l].style+=P+h(g["Key"+(l+1)])+x(g["Key"+(l+1)])+w(g["Key"+(l+1)]),da[l].style=1==g.AltRows&&0!=l%2?da[l].style+"fillColor=#000000;fillOpacity=5;":da[l].style+("fillColor=none;"+R(g,k,da[l])),da[l].value=f(g["Key"+(l+1)]),da[l].style+=a(da[l].style,g,k,da[l],z),H[l]=new mxCell("",new mxGeometry(Xa,Na,u-Xa-Gd,.75*g["Field"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;"),
+H[l].vertex=!0,v.insert(H[l]),H[l].style+=P+h(g["Field"+(l+1)])+x(g["Field"+(l+1)])+w(g["Field"+(l+1)]),H[l].style=1==g.AltRows&&0!=l%2?H[l].style+"fillColor=#000000;fillOpacity=5;":H[l].style+("fillColor=none;"+R(g,k,H[l])),H[l].value=f(g["Field"+(l+1)]),H[l].style+=a(H[l].style,g,k,H[l],z),Ya[l]=new mxCell("",new mxGeometry(u-Gd,Na,Gd,.75*g["Type"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;"),
+Ya[l].vertex=!0,v.insert(Ya[l]),Ya[l].style+=P+h(g["Type"+(l+1)])+x(g["Type"+(l+1)])+w(g["Type"+(l+1)]),Ya[l].style=1==g.AltRows&&0!=l%2?Ya[l].style+"fillColor=#000000;fillOpacity=5;":Ya[l].style+("fillColor=none;"+R(g,k,Ya[l])),Ya[l].value=f(g["Type"+(l+1)]),Ya[l].style+=a(Ya[l].style,g,k,Ya[l],z),Na+=.75*g["Key"+(l+1)+"_h"];break;case "GCPServiceCardApplicationSystemBlock":ha("application_system",u,t,v,g,k);break;case "GCPServiceCardAuthorizationBlock":ha("internal_payment_authorization",u,t,v,
+g,k);break;case "GCPServiceCardBlankBlock":ha("blank",u,t,v,g,k);break;case "GCPServiceCardReallyBlankBlock":ha("blank",u,t,v,g,k);break;case "GCPServiceCardBucketBlock":ha("bucket",u,t,v,g,k);break;case "GCPServiceCardCDNInterconnectBlock":ha("google_network_edge_cache",u,t,v,g,k);break;case "GCPServiceCardCloudDNSBlock":ha("blank",u,t,v,g,k);break;case "GCPServiceCardClusterBlock":ha("cluster",u,t,v,g,k);break;case "GCPServiceCardDiskSnapshotBlock":ha("persistent_disk_snapshot",u,t,v,g,k);break;
+case "GCPServiceCardEdgePopBlock":ha("google_network_edge_cache",u,t,v,g,k);break;case "GCPServiceCardFrontEndPlatformServicesBlock":ha("frontend_platform_services",u,t,v,g,k);break;case "GCPServiceCardGatewayBlock":ha("gateway",u,t,v,g,k);break;case "GCPServiceCardGoogleNetworkBlock":ha("google_network_edge_cache",u,t,v,g,k);break;case "GCPServiceCardImageServicesBlock":ha("image_services",u,t,v,g,k);break;case "GCPServiceCardLoadBalancerBlock":ha("network_load_balancer",u,t,v,g,k);break;case "GCPServiceCardLocalComputeBlock":ha("dedicated_game_server",
+u,t,v,g,k);break;case "GCPServiceCardLocalStorageBlock":ha("persistent_disk_snapshot",u,t,v,g,k);break;case "GCPServiceCardLogsAPIBlock":ha("logs_api",u,t,v,g,k);break;case "GCPServiceCardMemcacheBlock":ha("memcache",u,t,v,g,k);break;case "GCPServiceCardNATBlock":ha("nat",u,t,v,g,k);break;case "GCPServiceCardPaymentFormBlock":ha("external_payment_form",u,t,v,g,k);break;case "GCPServiceCardPushNotificationsBlock":ha("push_notification_service",u,t,v,g,k);break;case "GCPServiceCardScheduledTasksBlock":ha("scheduled_tasks",
+u,t,v,g,k);break;case "GCPServiceCardServiceDiscoveryBlock":ha("service_discovery",u,t,v,g,k);break;case "GCPServiceCardSquidProxyBlock":ha("squid_proxy",u,t,v,g,k);break;case "GCPServiceCardTaskQueuesBlock":ha("task_queues",u,t,v,g,k);break;case "GCPServiceCardVirtualFileSystemBlock":ha("virtual_file_system",u,t,v,g,k);break;case "GCPServiceCardVPNGatewayBlock":ha("gateway",u,t,v,g,k);break;case "GCPInputDatabase":ka("database",1,.9,u,t,v,g,k);break;case "GCPInputRecord":ka("record",1,.66,u,t,v,
+g,k);break;case "GCPInputPayment":ka("payment",1,.8,u,t,v,g,k);break;case "GCPInputGateway":ka("gateway_icon",1,.44,u,t,v,g,k);break;case "GCPInputLocalCompute":ka("compute_engine_icon",1,.89,u,t,v,g,k);break;case "GCPInputBeacon":ka("beacon",.73,1,u,t,v,g,k);break;case "GCPInputStorage":ka("storage",1,.8,u,t,v,g,k);break;case "GCPInputList":ka("list",.89,1,u,t,v,g,k);break;case "GCPInputStream":ka("stream",1,.82,u,t,v,g,k);break;case "GCPInputMobileDevices":ka("mobile_devices",1,.73,u,t,v,g,k);break;
+case "GCPInputCircuitBoard":ka("circuit_board",1,.9,u,t,v,g,k);break;case "GCPInputLive":ka("live",.74,1,u,t,v,g,k);break;case "GCPInputUsers":ka("users",1,.63,u,t,v,g,k);break;case "GCPInputLaptop":ka("laptop",1,.66,u,t,v,g,k);break;case "GCPInputApplication":ka("application",1,.8,u,t,v,g,k);break;case "GCPInputLightbulb":ka("lightbulb",.7,1,u,t,v,g,k);break;case "GCPInputGame":ka("game",1,.54,u,t,v,g,k);break;case "GCPInputDesktop":ka("desktop",1,.9,u,t,v,g,k);break;case "GCPInputDesktopAndMobile":ka("desktop_and_mobile",
+1,.66,u,t,v,g,k);break;case "GCPInputWebcam":ka("webcam",.5,1,u,t,v,g,k);break;case "GCPInputSpeaker":ka("speaker",.7,1,u,t,v,g,k);break;case "GCPInputRetail":ka("retail",1,.89,u,t,v,g,k);break;case "GCPInputReport":ka("report",1,1,u,t,v,g,k);break;case "GCPInputPhone":ka("phone",.64,1,u,t,v,g,k);break;case "GCPInputBlank":ka("transparent",1,1,u,t,v,g,k);break;case "PresentationFrameBlock":0==g.ZOrder?v.style+="strokeColor=none;fillColor=none;":(v.style+=b(g.Text),v.value=f(g.Text),v.style+=a(v.style,
+g,k,v,z));break;case "SVGPathBlock2":try{for(var qf=g.LineWidth,rf=g.LineColor,Oe=g.FillColor,Pe=g.DrawData.Data,Hd='<svg viewBox="0 0 1 1" xmlns="http://www.w3.org/2000/svg">',l=0;l<Pe.length;l++){var Gb=Pe[l],sf=Gb.a,tf=("prop"==Gb.w||null==Gb.w?qf:Gb.w)/Math.min(u,t)*.75,hc="prop"==Gb.s||null==Gb.s?rf:Gb.s,J="prop"==Gb.f||null==Gb.f?Oe:Gb.f;"object"==typeof J&&(J=Array.isArray(J.cs)?J.cs[0].c:Oe);Hd+='<path d="'+sf+'" fill="'+J+'" stroke="'+hc+'" stroke-width="'+tf+'"/>'}Hd+="</svg>";v.style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=data:image/svg+xml,"+
+(window.btoa?btoa(Hd):Base64.encode(Hd,!0))+";"}catch(cb){}break;case "BraceBlock":case "BraceBlockRotated":case "BracketBlock":case "BracketBlockRotated":var Qe=0==ea.indexOf("Bracket")?"size=0;arcSize=50;":"",Re=a(v.style,g,k,v,z),Ea=aa(g,k,v);v.style="group;"+Ea;var ge=Math.min(.14*(Ea?u:t),100),he=new mxCell("",new mxGeometry(0,0,ge,t),"shape=curlyBracket;rounded=1;"+Qe+Re);he.vertex=!0;he.geometry.relative=!0;var ie=new mxCell("",new mxGeometry(1-ge/u,0,ge,t),"shape=curlyBracket;rounded=1;flipH=1;"+
+Qe+Re);ie.vertex=!0;ie.geometry.relative=!0;v.insert(he);v.insert(ie);break;case "BPMNTextAnnotation":case "NoteBlock":g.InsetMargin=null;v.value=f(g.Text);v.style="group;spacingLeft=8;align=left;spacing=0;strokeColor=none;";v.style+=a(v.style,g,k,v,z);0>v.style.indexOf("verticalAlign")&&(v.style+="verticalAlign=middle;");var Ic=new mxCell("",new mxGeometry(0,0,8,t),"shape=partialRectangle;right=0;fillColor=none;");Ic.geometry.relative=!0;Ic.vertex=!0;Ic.style+=a(Ic.style,g,k,v,z);v.insert(Ic);break;
+case "TimelineBlock":case "TimelineMilestoneBlock":case "TimelineIntervalBlock":LucidImporter.hasTimeLine=!0;LucidImporter.hasUnknownShapes=!0;break;case "FreehandBlock":try{Ea=aa(g,k,v);v.style="group;"+Ea;if(null!=g.Stencil){null==g.Stencil.id&&(g.Stencil.id="$$tmpId$$",ue(g.Stencil.id,g.Stencil));for(var mc=LucidImporter.stencilsMap[g.Stencil.id],l=0;l<mc.stencils.length;l++){var Ga=mc.stencils[l],Q=new mxCell("",new mxGeometry(0,0,u,t),"shape="+Ga.shapeStencil+";"),uf=Ga.FillColor,vf=Ga.LineColor,
+wf=Ga.LineWidth;"prop"==Ga.FillColor&&(Ga.FillColor=g.FillColor);null==Ga.FillColor&&(Ga.FillColor="#ffffff00");"prop"==Ga.LineColor&&(Ga.LineColor=g.LineColor);null==Ga.LineColor&&(Ga.LineColor="#ffffff00");"prop"==Ga.LineWidth&&(Ga.LineWidth=g.LineWidth);Q.style+=a(Q.style,Ga,k,Q,z);Ga.FillColor=uf;Ga.LineColor=vf;Ga.LineWidth=wf;var J=g.FillColor,xf=g.LineColor,yf=g.LineWidth;g.FillColor=null;g.LineColor=null;g.LineWidth=null;Q.style+=a(Q.style,g,k,Q,z);g.FillColor=J;g.LineColor=xf;g.LineWidth=
+yf;Q.vertex=!0;Q.geometry.relative=!0;v.insert(Q)}for(var ib=0,Ea=g.Rotation;g["t"+ib];){var Se=g["t"+ib],Te=f(Se);if(Te){var Oa=new mxCell(Te,new mxGeometry(0,0,u,t),"strokeColor=none;fillColor=none;overflow=visible;");g.Rotation=0;Oa.style+=a(Oa.style,Se,k,Oa,z);Oa.style+=a(Oa.style,g,k,Oa,z);g.Rotation=Ea;if(null!=mc.text&&null!=mc.text["t"+ib]){var wa=mc.text["t"+ib];wa.Rotation=Ea+(wa.rotation?wa.rotation:0)+(g["t"+ib+"_TRotation"]?g["t"+ib+"_TRotation"]:0)+(g["t"+ib+"_TAngle"]?g["t"+ib+"_TAngle"]:
+0);Oa.style+=a(Oa.style,wa,k,Oa,z);var jb=Oa.geometry;wa.w&&(jb.width*=wa.w);wa.h&&(jb.height*=wa.h);wa.x&&(jb.x=wa.x/mc.w);wa.y&&(jb.y=wa.y/mc.h);wa.fw&&(jb.width*=.75*wa.fw/u);wa.fh&&(jb.height*=.75*wa.fh/t);wa.fx&&(jb.x=(0<wa.fx?1:0)+.75*wa.fx/u);wa.fy&&(jb.y=(0<wa.fy?1:0)+.75*wa.fy/t)}Oa.vertex=!0;Oa.geometry.relative=!0;v.insert(Oa)}ib++}}if(g.FillColor&&g.FillColor.url){var rd=new mxCell("",new mxGeometry(0,0,u,t),"shape=image;html=1;");rd.style+=bc({},{},g.FillColor.url);rd.vertex=!0;rd.geometry.relative=
+!0;v.insert(rd)}}catch(cb){console.log("Freehand error",cb)}break;case "RightArrowBlock":var je=g.Head*t/u;v.style="shape=singleArrow;arrowWidth="+(1-2*g.Notch)+";arrowSize="+je;v.value=f(g);v.style+=a(v.style,g,k,v,z);break;case "DoubleArrowBlock":je=g.Head*t/u;v.style="shape=doubleArrow;arrowWidth="+(1-2*g.Notch)+";arrowSize="+je;v.value=f(g);v.style+=a(v.style,g,k,v,z);break;case "VPCSubnet2017":case "VirtualPrivateCloudContainer2017":case "ElasticBeanStalkContainer2017":case "EC2InstanceContents2017":case "AWSCloudContainer2017":case "CorporateDataCenterContainer2017":var nc,
+oc,pc;switch(ea){case "VPCSubnet2017":nc="shape=mxgraph.aws3.permissions;fillColor=#D9A741;";oc=30;pc=35;break;case "VirtualPrivateCloudContainer2017":nc="shape=mxgraph.aws3.virtual_private_cloud;fillColor=#F58536;";oc=52;pc=36;break;case "ElasticBeanStalkContainer2017":nc="shape=mxgraph.aws3.elastic_beanstalk;fillColor=#F58536;";oc=30;pc=41;break;case "EC2InstanceContents2017":nc="shape=mxgraph.aws3.instance;fillColor=#F58536;";oc=40;pc=41;break;case "AWSCloudContainer2017":nc="shape=mxgraph.aws3.cloud;fillColor=#F58536;";
+oc=52;pc=36;break;case "CorporateDataCenterContainer2017":nc="shape=mxgraph.aws3.corporate_data_center;fillColor=#7D7C7C;",oc=30,pc=42}v.style="rounded=1;arcSize=10;dashed=0;verticalAlign=bottom;";v.value=f(g);v.style+=a(v.style,g,k,v,z);v.geometry.y+=20;v.geometry.height-=20;Fa=new mxCell("",new mxGeometry(20,-20,oc,pc),nc);Fa.vertex=!0;v.insert(Fa);break;case "FlexiblePolygonBlock":var qc=['<shape strokewidth="inherit"><foreground>'];qc.push("<path>");for(O=0;O<g.Vertices.length;O++)ia=g.Vertices[O],
+0==O?qc.push('<move x="'+100*ia.x+'" y="'+100*ia.y+'"/>'):qc.push('<line x="'+100*ia.x+'" y="'+100*ia.y+'"/>');qc.push("</path>");qc.push("<fillstroke/>");qc.push("</foreground></shape>");v.style="shape=stencil("+Graph.compress(qc.join(""))+");";v.value=f(g);v.style+=a(v.style,g,k,v,z);break;case "InfographicsBlock":var Ue=g.ShapeData_1.Value,ke=g.ShapeData_2.Value-Ue,le=g.ShapeData_3.Value-Ue,Id=g.ShapeData_4.Value*u/200,ib="ProgressBar"==g.InternalStencilId?4:5,Ca=g["ShapeData_"+ib].Value,Ca="=fillColor()"==
+Ca?g.FillColor:Ca,Jc=g["ShapeData_"+(ib+1)].Value;switch(g.InternalStencilId){case "ProgressDonut":v.style="shape=mxgraph.basic.donut;dx="+Id+";strokeColor=none;fillColor="+ja(Jc)+";"+ta(Jc,"fillOpacity");v.style+=a(v.style,g,k,v,z);var sa=new mxCell("",new mxGeometry(0,0,u,t),"shape=mxgraph.basic.partConcEllipse;startAngle=0;endAngle="+le/ke+";arcWidth="+Id/u*2+";strokeColor=none;fillColor="+ja(Ca)+";"+ta(Ca,"fillOpacity"));sa.style+=a(sa.style,g,k,sa,z);sa.vertex=!0;sa.geometry.relative=1;v.insert(sa);
+break;case "ProgressHalfDonut":v.geometry.height*=2;v.geometry.rotate90();var Ve=le/ke/2;v.style="shape=mxgraph.basic.partConcEllipse;startAngle=0;endAngle="+Ve+";arcWidth="+2*Id/u+";strokeColor=none;fillColor="+ja(Ca)+";"+ta(Ca,"fillOpacity");g.Rotation-=Math.PI/2;v.style+=a(v.style,g,k,v,z);sa=new mxCell("",new mxGeometry(0,0,v.geometry.width,v.geometry.height),"shape=mxgraph.basic.partConcEllipse;startAngle=0;endAngle="+(.5-Ve)+";arcWidth="+2*Id/u+";strokeColor=none;flipH=1;fillColor="+ja(Jc)+
+";"+ta(Jc,"fillOpacity"));g.Rotation+=Math.PI;sa.style+=a(sa.style,g,k,sa,z);sa.vertex=!0;sa.geometry.relative=1;v.insert(sa);break;case "ProgressBar":v.style="strokeColor=none;fillColor="+ja(Jc)+";"+ta(Jc,"fillOpacity"),v.style+=a(v.style,g,k,v,z),sa=new mxCell("",new mxGeometry(0,0,u*le/ke,t),"strokeColor=none;fillColor="+ja(Ca)+";"+ta(Ca,"fillOpacity")),sa.style+=a(sa.style,g,k,sa,z),sa.vertex=!0,sa.geometry.relative=1,v.insert(sa)}break;case "InternalStorageBlock":v.style+="shape=internalStorage;dx=10;dy=10";
+if(g.Text&&g.Text.m){for(var Jd=g.Text.m,me=!1,ne=!1,l=0;l<Jd.length;l++){var Kc=Jd[l];me||"mt"!=Kc.n?ne||"il"!=Kc.n||(Kc.v=17+(Kc.v||0),ne=!0):(Kc.v=17+(Kc.v||0),me=!0)}me||Jd.push({s:0,n:"mt",v:17});ne||Jd.push({s:0,n:"il",v:17})}v.value=f(g);v.style+=a(v.style,g,k,v,z);break;case "PersonRoleBlock":try{P=W(g,k);va=t/2;P=P.replace("fillColor","swimlaneFillColor");""==P&&(P="swimlaneFillColor=#ffffff;");v.value=f(g.Role);v.style+="swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;"+
+P+"startSize="+va+";spacingLeft=3;spacingRight=3;fontStyle=0;"+b(g.Role,z);v.style+=a(v.style,g,k,v,z);var Qb=new mxCell("",new mxGeometry(0,t/2,u,t/2),"part=1;html=1;resizeHeight=0;spacingTop=-1;spacingLeft=3;spacingRight=3;");Qb.value=f(g.Name);Qb.vertex=!0;v.insert(Qb);Qb.style+=b(g.Name,z);Qb.style+=a(Qb.style,g,k,Qb,z)}catch(cb){console.log(cb)}}v.style&&0>v.style.indexOf("html")&&(v.style+="html=1;");if(g.Title&&g.Text)try{var We=v.geometry,Xe=new mxCell(f(g.Title),new mxGeometry(0,We.height,
+We.width,10),"strokeColor=none;fillColor=none;");Xe.vertex=!0;v.insert(Xe);v.style+=b(g.Title,z)}catch(cb){console.log(cb)}te(v,g);g.Hidden&&(v.visible=!1);return v}function te(a,b){if(b.Text_TRotation||b.TextRotation)try{var c=mxUtils.toDegree(b.Text_TRotation||0)+mxUtils.toDegree(b.TextRotation||0);if(!isNaN(c)&&0!=c&&a.value){var h=a.geometry.width,m=a.geometry.height,k=h,d=m,e=0,x=0;if(-90==c||-270==c)var k=m,d=h,w=(m-h)/2,e=-w/h,x=w/m;var c=c+mxUtils.toDegree(b.Rotation),f=a.style.split(";").filter(function(a){return 0>
+a.indexOf("fillColor=")&&0>a.indexOf("strokeColor=")&&0>a.indexOf("rotation=")}).join(";"),q=new mxCell(a.value,new mxGeometry(e,x,k,d),f+"fillColor=none;strokeColor=none;rotation="+c+";");a.value=null;q.geometry.relative=!0;q.vertex=!0;a.insert(q)}}catch(Ze){console.log(Ze)}}function Tc(b,c,h,m,g){function k(a,b){var c="";try{for(var h=0;h<a.text.length;h++){var m=a.text[h];if(m[0]=="t_"+b){for(var g in m[1]){var k=m[1][g];if(k)switch(g){case "font":c+=e(k);break;case "bold":c+="font-weight: bold;";
+break;case "italic":c+="font-style: italic;";break;case "underline":c+="text-decoration: underline;";break;case "size":c+="font-size:"+p(.75*k)+"px;";break;case "color":c+="color:"+ea(k).substring(0,7)+";";break;case "fill":c+="background-color:"+ea(k).substring(0,7)+";";break;case "align":c+="text-align:"+k+";"}}break}}}catch(Jb){}return c}try{var d=function(a,b,c){a=I+a;C[a]=b;b="";for(var h=0;h<n.length;h++)b+='<div style="'+z[h]+'">'+(c[n[h]]||"&nbsp;")+"</div>";h=mxUtils.getSizeForString(b);
+c=c.Image||c["018__ImageUrl__"]||x;if(null!=LucidImporter.imgSrcRepl)for(var k=0;k<LucidImporter.imgSrcRepl.length;k++){var d=LucidImporter.imgSrcRepl[k];c=c.replace(d.searchVal,d.replVal)}b=new mxCell(b,new mxGeometry(0,0,h.width+E,h.height+K),Z+(T?c:""));b.vertex=!0;g[a]=b;m.addCell(b,q)},x="https://cdn4.iconfinder.com/data/icons/basic-user-interface-elements/700/user-account-profile-human-avatar-face-head--128.png",w=c.OrgChartBlockType,f=c.Location,q=new mxCell("",new mxGeometry(.75*f.x,.75*f.y,
+200,100),"group");q.vertex=!0;m.addCell(q);var n=c.FieldNames,B=c.LayoutSettings,A=c.BlockItemDefaultStyle||{props:{}},G=c.EdgeItemDefaultStyle||{props:{}},C={},I=(b||Date.now())+"_";4==w&&(A.props.LineWidth=0);var z=[],E=25,K=40,T=!0,Z=a("",A.props,{},q,!0);0==w?(Z+="spacingTop=54;imageWidth=54;imageHeight=54;imageAlign=center;imageVerticalAlign=top;image=",K+=54):1==w||2==w?(Z+="spacingLeft=54;imageWidth=50;imageHeight=50;imageAlign=left;imageVerticalAlign=top;image=",E+=54):3<=w&&(T=!1);for(b=
+0;b<n.length;b++)z.push(k(A,n[b]));if(h.Items)for(var l=h.Items.n,D=0;D<l.length;D++){var R=l[D];d(R.pk,R.ie[0]?R.ie[0].nf:null,R.f)}else{for(var aa,ja=c.ContractMap.derivative,D=0;D<ja.length;D++)if("ForeignKeyGraph"==ja[D].type)aa=ja[D].c[0].id,aa=aa.substr(0,aa.lastIndexOf("_"));else if("MappedGraph"==ja[D].type)for(b=0;b<n.length;b++)n[b]=ja[D].nfs[n[b]]||n[b];var S,ta,la;for(la in h){var R=h[la].Collections,W;for(W in R)W==aa?l=R[W].Items:R[W].Properties.ForeignKeys&&R[W].Properties.ForeignKeys[0]&&
+(S=R[W].Properties.ForeignKeys[0].SourceFields[0],ta=R[W].Properties.Schema.PrimaryKey[0]);if(l)break}c={};for(var Db in l){var R=l[Db],O=R[ta],bc=R[S];O==bc?(c[O]=O+Date.now(),O=c[O],R[ta]=O,d(O,bc,R)):d(O,c[bc]||bc,R)}}for(la in C){var na=C[la];if(null!=na){var ga=g[I+na],rc=g[la];if(null!=ga&&null!=rc){var ma=new mxCell("",new mxGeometry(0,0,100,100),"");ma.geometry.relative=!0;ma.edge=!0;sc(ma,G.props,m,null,null,!0);m.addCell(ma,q,null,ga,rc)}}}var ha=.75*B.NodeSpacing.LevelSeparation;(new mxOrgChartLayout(m,
+0,ha,.75*B.NodeSpacing.NeighborSeparation)).execute(q);for(D=B=d=0;q.children&&D<q.children.length;D++)var ka=q.children[D].geometry,d=Math.max(d,ka.x+ka.width),B=Math.max(B,ka.y+ka.height);var ya=q.geometry;ya.y-=ha;ya.width=d;ya.height=B}catch(dc){LucidImporter.hasUnknownShapes=!0,LucidImporter.hasOrgChart=!0,console.log(dc)}}var Sb=0,Tb=0,cc="text;html=1;resizable=0;labelBackgroundColor=#ffffff;align=center;verticalAlign=middle;",z=!1,Da="",Nd=["AEUSBBlock","AGSCutandpasteBlock","iOSDeviceiPadLandscape",
+"iOSDeviceiPadProLandscape"],Od=["fpDoor"],Oc={None:"none;",Arrow:"block;xyzFill=1;","Hollow Arrow":"block;xyzFill=0;","Open Arrow":"open;","CFN ERD Zero Or More Arrow":"ERzeroToMany;xyzSize=10;","CFN ERD One Or More Arrow":"ERoneToMany;xyzSize=10;","CFN ERD Many Arrow":"ERmany;xyzSize=10;","CFN ERD Exactly One Arrow":"ERmandOne;xyzSize=10;","CFN ERD Zero Or One Arrow":"ERzeroToOne;xyzSize=10;","CFN ERD One Arrow":"ERone;xyzSize=16;",Generalization:"block;xyzFill=0;xyzSize=12;","Big Open Arrow":"open;xyzSize=10;",
+Asynch1:"openAsync;flipV=1;xyzSize=10;",Asynch2:"openAsync;xyzSize=10;",Aggregation:"diamond;xyzFill=0;xyzSize=16;",Composition:"diamond;xyzFill=1;xyzSize=16;",BlockEnd:"box;xyzFill=0;xyzSize=16;",Measure:"ERone;xyzSize=10;",CircleOpen:"oval;xyzFill=0;xyzSize=16;",CircleClosed:"oval;xyzFill=1;xyzSize=16;",BlockEndFill:"box;xyzFill=1;xyzSize=16;",Nesting:"circlePlus;xyzSize=7;xyzFill=0;","BPMN Conditional":"diamond;xyzFill=0;","BPMN Default":"dash;"},tc={DefaultTextBlockNew:"strokeColor=none;fillColor=none",
+DefaultTextBlock:"strokeColor=none;fillColor=none",DefaultSquareBlock:"",RectangleBlock:"",DefaultNoteBlock:"shape=note;size=15",DefaultNoteBlockV2:"shape=note;size=15",HotspotBlock:"strokeColor=none;fillColor=none",ImageSearchBlock2:"shape=image",UserImage2Block:"shape=image",ExtShapeBoxBlock:"",DefaultStickyNoteBlock:"shadow=1",ProcessBlock:"",DecisionBlock:"rhombus",TerminatorBlock:"rounded=1;arcSize=50",PredefinedProcessBlock:"shape=process",DocumentBlock:"shape=document;boundedLbl=1",MultiDocumentBlock:"shape=mxgraph.flowchart.multi-document",
+ManualInputBlock:"shape=manualInput;size=15",PreparationBlock:"shape=hexagon;perimeter=hexagonPerimeter2",DataBlock:"shape=parallelogram;perimeter=parallelogramPerimeter;anchorPointDirection=0",DataBlockNew:"shape=parallelogram;perimeter=parallelogramPerimeter;anchorPointDirection=0",DatabaseBlock:"shape=cylinder3;size=4;anchorPointDirection=0;boundedLbl=1;",DirectAccessStorageBlock:"shape=cylinder3;direction=south;size=10;anchorPointDirection=0;boundedLbl=1;",InternalStorageBlock:"mxCompositeShape",
+PaperTapeBlock:"shape=tape;size=0.2",ManualOperationBlockNew:"shape=trapezoid;perimeter=trapezoidPerimeter;anchorPointDirection=0;flipV=1",DelayBlock:"shape=delay",StoredDataBlock:"shape=cylinder3;boundedLbl=1;size=15;lid=0;direction=south;",MergeBlock:"triangle;direction=south;anchorPointDirection=0",ConnectorBlock:"ellipse",OrBlock:"shape=mxgraph.flowchart.summing_function",SummingJunctionBlock:"shape=mxgraph.flowchart.or",DisplayBlock:"shape=display",OffPageLinkBlock:"shape=offPageConnector",BraceNoteBlock:"mxCompositeShape",
+NoteBlock:"mxCompositeShape",AdvancedSwimLaneBlock:"mxCompositeShape",AdvancedSwimLaneBlockRotated:"mxCompositeShape",RectangleContainerBlock:"container=1;collapsible=0",DiamondContainerBlock:"shape=rhombus;container=1;collapsible=0",RoundedRectangleContainerBlock:"container=1;rounded=1;absoluteArcSize=1;arcSize=24;collapsible=0",CircleContainerBlock:"ellipse;container=1;collapsible=0",PillContainerBlock:"shape=mxgraph.flowchart.terminator;container=1;collapsible=0",BraceBlock:"mxCompositeShape",
+BracketBlock:"mxCompositeShape",BraceBlockRotated:"mxCompositeShape",BracketBlockRotated:"mxCompositeShape",IsoscelesTriangleBlock:"shape=mxgraph.basic.acute_triangle;dx=0.5;anchorPointDirection=0",RightTriangleBlock:"shape=mxgraph.basic.orthogonal_triangle",PentagonBlock:"shape=mxgraph.basic.pentagon",HexagonBlock:"shape=hexagon;perimeter=hexagonPerimeter2",OctagonBlock:"shape=mxgraph.basic.octagon2;dx=15;",CrossBlock:"shape=cross;size=0.6",CloudBlock:"ellipse;shape=cloud",HeartBlock:"shape=mxgraph.basic.heart",
+RightArrowBlock:"mxCompositeShape",DoubleArrowBlock:"mxCompositeShape",CalloutBlock:"shape=mxgraph.basic.rectangular_callout",CalloutSquareBlock:"mxCompositeShape",ShapeCircleBlock:"ellipse",ShapePolyStarBlock:"shape=mxgraph.basic.star",ShapeDiamondBlock:"rhombus",UI2HotspotBlock:"opacity=50;strokeColor=none",AndroidDevice:"mxCompositeShape",AndroidAlertDialog:"mxCompositeShape",AndroidDateDialog:"mxCompositeShape",AndroidTimeDialog:"mxCompositeShape",AndroidListItems:"mxCompositeShape",AndroidTabs:"mxCompositeShape",
+AndroidProgressBar:"mxCompositeShape",AndroidImageBlock:"mxCompositeShape",AndroidTextBlock:"mxCompositeShape",AndroidActionBar:"mxCompositeShape",AndroidButton:"mxCompositeShape",AndroidTextBox:"mxCompositeShape",AndroidRadioButton:"mxCompositeShape",AndroidCheckBox:"mxCompositeShape",AndroidToggle:"mxCompositeShape",AndroidSlider:"mxCompositeShape",AndroidIconCheck:"shape=mxgraph.ios7.misc.check",AndroidIconCancel:"shape=mxgraph.atlassian.x",AndroidIconCollapse:"shape=mxgraph.ios7.misc.up",AndroidIconExpand:"shape=mxgraph.ios7.misc.down",
+AndroidIconNext:"shape=mxgraph.ios7.misc.right",AndroidIconPrevious:"shape=mxgraph.ios7.misc.left",AndroidIconRefresh:NaN,AndroidIconInformation:"shape=mxgraph.ios7.icons.info",AndroidIconSearch:"shape=mxgraph.ios7.icons.looking_glass",AndroidIconSettings:"shape=mxgraph.ios7.icons.volume;direction=south",AndroidIconTrash:"shape=mxgraph.ios7.icons.trashcan",AndroidIconEmail:"shape=mxgraph.mockup.misc.mail2",AndroidIconNew:"shape=mxgraph.ios7.misc.flagged",iOSDeviceiPhoneSE:"shape=mxgraph.ios7.misc.iphone",
+iOSDeviceiPhone6s:"shape=mxgraph.ios7.misc.iphone",iOSDeviceiPhone6sPlus:"shape=mxgraph.ios7.misc.iphone",iOSDeviceiPadPortrait:"shape=mxgraph.ios7.misc.ipad7inch",iOSDeviceiPadLandscape:"shape=mxgraph.ios7.misc.ipad7inch",iOSDeviceiPadProPortrait:"shape=mxgraph.ios7.misc.ipad7inch",iOSDeviceiPadProLandscape:"shape=mxgraph.ios7.misc.ipad10inch",iOSButton:"fillColor=none;strokeColor=none;",iOSSegmentedControl:"mxCompositeShape",iOSStepper:"shape=mxgraph.ios7.misc.adjust",iOSToggle:"shape=mxgraph.ios7ui.onOffButton;buttonState=on;strokeColor2=#aaaaaa;fillColor2=#ffffff",
+iOSSlider:"mxCompositeShape",iOSProgressBar:"mxCompositeShape",iOSPageControls:"mxCompositeShape",iOSStatusBar:"mxCompositeShape",iOSSearchBar:"mxCompositeShape",iOSNavBar:"mxCompositeShape",iOSTabs:"mxCompositeShape",iOSUniversalKeyboard:"shape=mxgraph.ios.iKeybLett",iOSDatePicker:"mxCompositeShape",iOSTimePicker:"mxCompositeShape",iOSCountdownPicker:"mxCompositeShape",iOSBasicCell:"mxCompositeShape",iOSSubtitleCell:"mxCompositeShape",iOSRightDetailCell:"mxCompositeShape",iOSLeftDetailCell:"mxCompositeShape",
+iOSTableGroupedSectionBreak:"mxCompositeShape",iOSTablePlainHeaderFooter:"mxCompositeShape",MindMapBlock:"",MindMapStadiumBlock:"arcSize=50",MindMapCloud:"shape=cloud",MindMapCircle:"ellipse",MindMapIsoscelesTriangleBlock:"shape=triangle;direction=north",MindMapDiamondBlock:"shape=rhombus",MindMapPentagonBlock:"shape=mxgraph.basic.pentagon",MindMapHexagonBlock:"shape=hexagon;perimeter=hexagonPerimeter2",MindMapOctagonBlock:"shape=mxgraph.basic.octagon2;dx=10;",MindMapCrossBlock:"shape=mxgraph.basic.cross2;dx=20",
+ERDEntityBlock:"mxCompositeShape",ERDEntityBlock2:"mxCompositeShape",ERDEntityBlock3:"mxCompositeShape",ERDEntityBlock4:"mxCompositeShape",UMLClassBlock:"mxCompositeShape",UMLActiveClassBlock:"shape=process",UMLMultiplicityBlock:"mxCompositeShape",UMLPackageBlock:"",UMLConstraintBlock:"mxCompositeShape",UMLNoteBlock:"shape=note;size=15",UMLNoteBlockV2:"shape=note;size=15",UMLTextBlock:"mxCompositeShape",UMLActorBlock:"shape=umlActor;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;whiteSpace=nowrap",
+UMLUseCaseBlock:"ellipse",UMLCircleContainerBlock:"ellipse;container=1",UMLRectangleContainerBlock:"container=1",UMLOptionLoopBlock:"shape=mxgraph.sysml.package2;xSize=90;overflow=fill",UMLAlternativeBlock2:"shape=mxgraph.sysml.package2;xSize=90;overflow=fill",UMLStartBlock:"ellipse;fillColor=#000000",UMLStateBlock:"mxCompositeShape",UMLDecisionBlock:"shape=rhombus;",UMLHForkJoinBlock:"fillColor=#000000",UMLVForkJoinBlock:"fillColor=#000000",UMLFlowFinalBlock:"shape=mxgraph.flowchart.or",UMLHistoryStateBlock:"ellipse",
+UMLEndBlock:"shape=mxgraph.bpmn.shape;outline=end;symbol=terminate;strokeColor=#000000;fillColor=#ffffff",UMLObjectBlock:"",UMLSendSignalBlock:"shape=mxgraph.sysml.sendSigAct",UMLReceiveSignalBlock:"shape=mxgraph.sysml.accEvent;flipH=1",UMLAcceptTimeEventActionBlock:"shape=mxgraph.sysml.timeEvent",UMLOffPageLinkBlock:"shape=mxgraph.sysml.sendSigAct;direction=south",UMLMultiLanePoolBlock:"mxCompositeShape",UMLMultiLanePoolRotatedBlock:"mxCompositeShape",UMLMultidimensionalSwimlane:"mxCompositeShape",
+UMLActivationBlock:"",UMLDeletionBlock:"shape=mxgraph.sysml.x;strokeWidth=4",UMLSeqEntityBlock:"shape=mxgraph.electrical.radio.microphone_1;direction=north",UMLComponentBlock:"shape=component;align=left;spacingLeft=36",UMLComponentBlockV2:"shape=component;align=left;spacingLeft=36",UMLNodeBlock:"shape=cube;size=12;flipH=1;verticalAlign=top;align=left;spacingTop=10;spacingLeft=5",UMLNodeBlockV2:"shape=cube;size=12;flipH=1;verticalAlign=top;align=left;spacingTop=10;spacingLeft=5",UMLComponentInterfaceBlock:"ellipse",
+UMLComponentInterfaceBlockV2:"ellipse",UMLComponentBoxBlock:"mxCompositeShape",UMLComponentBoxBlockV2:"mxCompositeShape",UMLAssemblyConnectorBlock:"mxCompositeShape",UMLAssemblyConnectorBlockV2:"mxCompositeShape",UMLProvidedInterfaceBlock:"mxCompositeShape",UMLProvidedInterfaceBlockV2:"mxCompositeShape",UMLRequiredInterfaceBlock:"shape=requires;direction=north",UMLRequiredInterfaceBlockV2:"shape=requires;direction=north",UMLSwimLaneBlockV2:"mxCompositeShape",UMLSwimLaneBlock:"swimlane;startSize=25;container=1;collapsible=0;dropTarget=0;fontStyle=0",
+UMLEntityBlock:"",UMLWeakEntityBlock:"shape=ext;double=1",UMLAttributeBlock:"ellipse",UMLMultivaluedAttributeBlock:"shape=doubleEllipse",UMLRelationshipBlock:"shape=rhombus",UMLWeakRelationshipBlock:"shape=rhombus;double=1",BPMNActivity:"mxCompositeShape",BPMNEvent:"mxCompositeShape",BPMNChoreography:"mxCompositeShape",BPMNConversation:"mxCompositeShape",BPMNGateway:"mxCompositeShape",BPMNData:"mxCompositeShape",BPMNDataStore:"shape=datastore",BPMNAdvancedPoolBlock:"mxCompositeShape",BPMNAdvancedPoolBlockRotated:"mxCompositeShape",
+BPMNBlackPool:"mxCompositeShape",BPMNTextAnnotation:"mxCompositeShape",DFDExternalEntityBlock:"mxCompositeShape",DFDExternalEntityBlock2:"",YDMDFDProcessBlock:"ellipse",YDMDFDDataStoreBlock:"shape=partialRectangle;right=0;left=0",GSDFDProcessBlock:"mxCompositeShape",GSDFDProcessBlock2:"rounded=1;arcSize=10;",GSDFDDataStoreBlock:"mxCompositeShape",GSDFDDataStoreBlock2:"shape=partialRectangle;right=0",OrgBlock:"",DefaultTableBlock:"mxCompositeShape",VSMCustomerSupplierBlock:"shape=mxgraph.lean_mapping.outside_sources",
+VSMDedicatedProcessBlock:"mxCompositeShape",VSMSharedProcessBlock:"mxCompositeShape",VSMWorkcellBlock:"mxCompositeShape",VSMDatacellBlock:"mxCompositeShape",VSMInventoryBlock:"mxCompositeShape",VSMSupermarketBlock:"mxCompositeShape",VSMPhysicalPullBlock:"shape=mxgraph.lean_mapping.physical_pull;direction=south",VSMFIFOLaneBlock:"mxCompositeShape",VSMSafetyBufferStockBlock:"mxCompositeShape",VSMExternalShipmentAirplaneBlock:"shape=mxgraph.lean_mapping.airplane_7",VSMExternalShipmentForkliftBlock:"shape=mxgraph.lean_mapping.move_by_forklift",
+VSMExternalShipmentTruckBlock:"shape=mxgraph.lean_mapping.truck_shipment;align=left;",VSMExternalShipmentBoatBlock:"shape=mxgraph.lean_mapping.boat_shipment;verticalAlign=bottom;",VSMProductionControlBlock:"mxCompositeShape",VSMOtherInformationBlock:"",VSMSequencedPullBallBlock:"shape=mxgraph.lean_mapping.sequenced_pull_ball",VSMMRPERPBlock:"shape=mxgraph.lean_mapping.mrp_erp;whiteSpace=wrap",VSMLoadLevelingBlock:"shape=mxgraph.lean_mapping.load_leveling",VSMGoSeeBlock:"shape=mxgraph.lean_mapping.go_see_production_scheduling;flipH=1",
+VSMGoSeeProductionBlock:"mxCompositeShape",VSMVerbalInfoBlock:"shape=mxgraph.lean_mapping.verbal",VSMKaizenBurstBlock:"shape=mxgraph.lean_mapping.kaizen_lightening_burst",VSMOperatorBlock:"shape=mxgraph.lean_mapping.operator;flipV=1",VSMQualityProblemBlock:"shape=mxgraph.lean_mapping.quality_problem",VSMProductionKanbanSingleBlock:"shape=card;size=18;flipH=1;",VSMProductionKanbanBatchBlock:"mxCompositeShape",VSMWithdrawalKanbanBlock:"shape=mxgraph.lean_mapping.withdrawal_kanban",VSMSignalKanbanBlock:"shape=triangle;direction=south;anchorPointDirection=0",
+VSMKanbanPostBlock:"shape=mxgraph.lean_mapping.kanban_post",VSMShipmentArrow:"shape=singleArrow;arrowWidth=0.5;arrowSize=0.13",VSMPushArrow:"shape=mxgraph.lean_mapping.push_arrow",AWSElasticComputeCloudBlock2:"mxCompositeShape",AWSInstanceBlock2:"strokeColor=none;shape=mxgraph.aws3.instance",AWSInstancesBlock2:"strokeColor=none;shape=mxgraph.aws3.instances;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAMIBlock2:"strokeColor=none;shape=mxgraph.aws3.ami;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSDBonInstanceBlock2:"strokeColor=none;shape=mxgraph.aws3.db_on_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSInstanceCloudWatchBlock2:"strokeColor=none;shape=mxgraph.aws3.instance_with_cloudwatch;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSElasticIPBlock2:"strokeColor=none;shape=mxgraph.aws3.elastic_ip;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSHDFSClusterBlock2:"strokeColor=none;shape=mxgraph.aws3.hdfs_cluster;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSAutoScalingBlock2:"strokeColor=none;shape=mxgraph.aws3.auto_scaling;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSEC2OptimizedInstance2:"strokeColor=none;shape=mxgraph.aws3.optimized_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top","AWSAmazonEC2(Spotinstance)":"strokeColor=none;shape=mxgraph.aws3.spot_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAmazonECR:"strokeColor=none;shape=mxgraph.aws3.ecr;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSAmazonECS:"strokeColor=none;shape=mxgraph.aws3.ecs;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSLambda2:"strokeColor=none;shape=mxgraph.aws3.lambda;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSElasticLoadBalancing:"strokeColor=none;shape=mxgraph.aws3.elastic_load_balancing;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSElasticLoadBlock2:"strokeColor=none;shape=mxgraph.aws3.classic_load_balancer;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSDirectConnectBlock3:"strokeColor=none;shape=mxgraph.aws3.direct_connect;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSElasticNetworkBlock2:"strokeColor=none;shape=mxgraph.aws3.elastic_network_interface;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSRoute53Block2:"mxCompositeShape",AWSHostedZoneBlock2:"strokeColor=none;shape=mxgraph.aws3.hosted_zone;fontColor=#FFFFFF;fontStyle=1",AWSRouteTableBlock2:"strokeColor=none;shape=mxgraph.aws3.route_table;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSVPCBlock2:"strokeColor=none;shape=mxgraph.aws3.vpc;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSVPNConnectionBlock2:"strokeColor=none;shape=mxgraph.aws3.vpn_connection;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSVPNGatewayBlock2:"strokeColor=none;shape=mxgraph.aws3.vpn_gateway;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSCustomerGatewayBlock2:"strokeColor=none;shape=mxgraph.aws3.customer_gateway;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSCustomerGatewayBlock3:"strokeColor=none;shape=mxgraph.aws3.customer_gateway;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSInternetGatewayBlock2:"strokeColor=none;shape=mxgraph.aws3.internet_gateway;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSRouterBlock2:"strokeColor=none;shape=mxgraph.aws3.router;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSRouterBlock3:"strokeColor=none;shape=mxgraph.aws3.router;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+"AWSAmazonVPC(endpoints)":"strokeColor=none;shape=mxgraph.aws3.endpoints;verticalLabelPosition=bottom;align=center;verticalAlign=top","AWSAmazonVPC(flowlogs)":"strokeColor=none;shape=mxgraph.aws3.flow_logs;verticalLabelPosition=bottom;align=center;verticalAlign=top","AWSAmazonVPC(VPCNATgateway)":"strokeColor=none;shape=mxgraph.aws3.vpc_nat_gateway;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSVPCPeering3:"strokeColor=none;shape=mxgraph.aws3.vpc_peering;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSSimpleStorageBlock2:"strokeColor=none;shape=mxgraph.aws3.s3;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSBucketBlock2:"strokeColor=none;shape=mxgraph.aws3.bucket;fontStyle=1;fontColor=#ffffff",AWSBuckethWithObjectsBlock2:"strokeColor=none;shape=mxgraph.aws3.bucket_with_objects;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSObjectBlock2:"strokeColor=none;shape=mxgraph.aws3.object;fontStyle=1;fontColor=#ffffff",AWSImportExportBlock2:"strokeColor=none;shape=mxgraph.aws3.import_export;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSStorageGatewayBlock2:"strokeColor=none;shape=mxgraph.aws3.storage_gateway;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSElasticBlockStorageBlock2:"strokeColor=none;shape=mxgraph.aws3.volume;fontStyle=1;fontColor=#ffffff",AWSVolumeBlock3:"strokeColor=none;shape=mxgraph.aws3.volume;fontStyle=1;fontColor=#ffffff",AWSSnapshotBlock2:"strokeColor=none;shape=mxgraph.aws3.snapshot;fontStyle=1;fontColor=#ffffff",AWSGlacierArchiveBlock3:"strokeColor=none;shape=mxgraph.aws3.archive;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSGlacierVaultBlock3:"strokeColor=none;shape=mxgraph.aws3.vault;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAmazonEFS:"strokeColor=none;shape=mxgraph.aws3.efs;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSGlacierBlock2:"strokeColor=none;shape=mxgraph.aws3.glacier;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAWSImportExportSnowball:"strokeColor=none;shape=mxgraph.aws3.snowball;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSStorageGatewayCachedVolumn2:"strokeColor=none;shape=mxgraph.aws3.cached_volume;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+"AWSStorageGatewayNon-CachedVolumn2":"strokeColor=none;shape=mxgraph.aws3.non_cached_volume;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSStorageGatewayVirtualTapeLibrary2:"strokeColor=none;shape=mxgraph.aws3.virtual_tape_library;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSCloudFrontBlock2:"strokeColor=none;shape=mxgraph.aws3.cloudfront;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSDownloadDistBlock2:"strokeColor=none;shape=mxgraph.aws3.download_distribution;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSStreamingBlock2:"strokeColor=none;shape=mxgraph.aws3.streaming_distribution;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSEdgeLocationBlock2:"strokeColor=none;shape=mxgraph.aws3.edge_location;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSItemBlock2:"strokeColor=none;shape=mxgraph.aws3.item;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSItemsBlock2:"strokeColor=none;shape=mxgraph.aws3.items;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSAttributeBlock2:"strokeColor=none;shape=mxgraph.aws3.attribute;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAttributesBlock2:"strokeColor=none;shape=mxgraph.aws3.attributes;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSRDBSBlock2:"mxCompositeShape",AWSRDSInstanceBlock2:"strokeColor=none;shape=mxgraph.aws3.rds_db_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSRDSStandbyBlock2:"strokeColor=none;shape=mxgraph.aws3.rds_db_instance_standby_multi_az;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSRDSInstanceReadBlock2:"strokeColor=none;shape=mxgraph.aws3.rds_db_instance_read_replica;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSOracleDBBlock2:"strokeColor=none;shape=mxgraph.aws3.oracle_db_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSMySQLDBBlock2:"strokeColor=none;shape=mxgraph.aws3.mysql_db_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSDynamoDBBlock2:"strokeColor=none;shape=mxgraph.aws3.dynamo_db;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSSimpleDatabaseBlock3:"strokeColor=none;shape=mxgraph.aws2.database.simpledb;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSSimpleDatabaseDomainBlock3:"strokeColor=none;shape=mxgraph.aws2.database.simpledb_domain;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSTableBlock2:"strokeColor=none;shape=mxgraph.aws3.table;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAmazonRedShiftBlock3:"strokeColor=none;shape=mxgraph.aws3.redshift;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSElastiCacheNodeBlock2:"strokeColor=none;shape=mxgraph.aws3.cache_node;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSElastiCacheBlock2:"strokeColor=none;shape=mxgraph.aws3.elasticache;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSDynamoDBGlobalSecondaryIndexes2:"strokeColor=none;shape=mxgraph.aws3.global_secondary_index;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAmazonElastiCacheMemcache2:"strokeColor=none;shape=mxgraph.aws3.memcached;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSAmazonElastiCacheRedis2:"strokeColor=none;shape=mxgraph.aws3.redis;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAmazonRDSMSSQLInstance2:"strokeColor=none;shape=mxgraph.aws3.ms_sql_instance_2;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSMSSQLDBBlock3:"strokeColor=none;shape=mxgraph.aws3.ms_sql_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAmazonRDSMySQLDBInstance2:"strokeColor=none;shape=mxgraph.aws3.mysql_db_instance_2;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSAmazonRDSOracleDBInstance2:"strokeColor=none;shape=mxgraph.aws3.oracle_db_instance_2;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSRDSReplicasetswithPIOP2:"strokeColor=none;shape=mxgraph.aws3.piop;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAmazonRDSPostgreSQL2:"strokeColor=none;shape=mxgraph.aws3.postgre_sql_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSRDSMasterSQL2:"strokeColor=none;shape=mxgraph.aws3.sql_master;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSRDSSlaveSQL2:"strokeColor=none;shape=mxgraph.aws3.sql_slave;verticalLabelPosition=bottom;align=center;verticalAlign=top","AWSAmazonRedshift(densecomputenode)":"strokeColor=none;shape=mxgraph.aws3.dense_compute_node;verticalLabelPosition=bottom;align=center;verticalAlign=top","AWSAmazonRedshift(densestoragenode)":"strokeColor=none;shape=mxgraph.aws3.dense_storage_node;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAWSDatabaseMigrationService:"strokeColor=none;shape=mxgraph.aws3.database_migration_service;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSACM:"strokeColor=none;shape=mxgraph.aws3.certificate_manager;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAmazonInspector:"strokeColor=none;shape=mxgraph.aws3.inspector;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAWSCloudHSM:"strokeColor=none;shape=mxgraph.aws3.cloudhsm;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSDirectoryService2:"strokeColor=none;shape=mxgraph.aws3.directory_service;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSAWSKMS:"strokeColor=none;shape=mxgraph.aws3.kms;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAWSWAF:"strokeColor=none;shape=mxgraph.aws3.waf;verticalLabelPosition=bottom;align=center;verticalAlign=top","AWSACM(certificate-manager)":"strokeColor=none;shape=mxgraph.aws3.certificate_manager_2;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSSESBlock2:"strokeColor=none;shape=mxgraph.aws3.ses;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSEmailBlock2:"strokeColor=none;shape=mxgraph.aws3.email;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSSNSBlock2:"strokeColor=none;shape=mxgraph.aws3.sns;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSSQSBlock3:"strokeColor=none;shape=mxgraph.aws3.sqs;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSQueueBlock2:"strokeColor=none;shape=mxgraph.aws3.queue;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSMessageBlock2:"strokeColor=none;shape=mxgraph.aws3.message;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSDeciderBlock2:"strokeColor=none;shape=mxgraph.aws3.decider;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSSWFBlock2:"strokeColor=none;shape=mxgraph.aws3.swf;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSWorkerBlock2:"strokeColor=none;shape=mxgraph.aws3.worker;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSCloudSearchBlock2:"strokeColor=none;shape=mxgraph.aws3.cloudsearch;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSCloudSearchMetadataBlock3:"strokeColor=none;shape=mxgraph.aws3.search_documents;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSElasticTranscoder3:"strokeColor=none;shape=mxgraph.aws3.elastic_transcoder;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAmazonAPIGateway:"strokeColor=none;shape=mxgraph.aws3.api_gateway;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAppStream2:"strokeColor=none;shape=mxgraph.aws3.appstream;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSCloudFormationBlock2:"strokeColor=none;shape=mxgraph.aws3.cloudformation;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSDataPipelineBlock3:"strokeColor=none;shape=mxgraph.aws3.data_pipeline;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSDataPipelineBlock2:"strokeColor=none;shape=mxgraph.aws3.data_pipeline;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSTemplageBlock2:"strokeColor=none;shape=mxgraph.aws3.template;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSStackBlock2:"strokeColor=none;shape=mxgraph.aws3.stack_aws_cloudformation;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSBeanStockBlock2:"strokeColor=none;shape=mxgraph.aws3.elastic_beanstalk;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSApplicationBlock2:"strokeColor=none;shape=mxgraph.aws3.application;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSBeanstalkDeploymentBlock3:"strokeColor=none;shape=mxgraph.aws3.deployment;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSIAMBlock3:"strokeColor=none;shape=mxgraph.aws3.iam;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSIAMSTSBlock3:"strokeColor=none;shape=mxgraph.aws3.sts;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSIAMAddonBlock2:"strokeColor=none;shape=mxgraph.aws3.add_on;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSCloudWatchBlock3:"strokeColor=none;shape=mxgraph.aws3.cloudwatch;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSCloudWatchAlarmBlock2:"strokeColor=none;shape=mxgraph.aws3.alarm;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSIAMSecurityTokenService2:"strokeColor=none;shape=mxgraph.aws3.sts_2;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSIAMDataEncryptionKey2:"strokeColor=none;shape=mxgraph.aws3.data_encryption_key;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSIAMEncryptedData2:"strokeColor=none;shape=mxgraph.aws3.encrypted_data;verticalLabelPosition=bottom;align=center;verticalAlign=top","AWSAWSIAM(long-termsecuritycredential)":"strokeColor=none;shape=mxgraph.aws3.long_term_security_credential;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSIAMMFAToken2:"strokeColor=none;shape=mxgraph.aws3.mfa_token;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSIAMPermissions2:"strokeColor=none;shape=mxgraph.aws3.permissions_2;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSIAMRoles2:"strokeColor=none;shape=mxgraph.aws3.role;verticalLabelPosition=bottom;align=center;verticalAlign=top","AWSAWSIAM(temporarysecuritycredential)":"strokeColor=none;shape=mxgraph.aws3.long_term_security_credential;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSCloudTrail2:"strokeColor=none;shape=mxgraph.aws3.cloudtrail;verticalLabelPosition=bottom;align=center;verticalAlign=top",
+AWSConfig2:"strokeColor=none;shape=mxgraph.aws3.config;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSOpsWorksBlock3:"strokeColor=none;shape=mxgraph.aws3.opsworks;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAWSServiceCatalog:"strokeColor=none;shape=mxgraph.aws3.service_catalog;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSTrustedAdvisor2:"strokeColor=none;shape=mxgraph.aws3.trusted_advisor;verticalLabelPosition=bottom;align=center;verticalAlign=top",
AWSOpsWorksApps2:"strokeColor=none;shape=mxgraph.aws3.apps;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSOpsWorksDeployments2:"strokeColor=none;shape=mxgraph.aws3.deployments;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSOpsWorksInstances2:"strokeColor=none;shape=mxgraph.aws3.instances_2;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSOpsWorksLayers2:"strokeColor=none;shape=mxgraph.aws3.layers;verticalLabelPosition=bottom;align=center;verticalAlign=top",
AWSOpsWorksMonitoring2:"strokeColor=none;shape=mxgraph.aws3.monitoring;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSOpsWorksPermissions2:"strokeColor=none;shape=mxgraph.aws3.permissions;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSOpsWorksResources2:"strokeColor=none;shape=mxgraph.aws3.resources;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSOpsWorksStack2:"strokeColor=none;shape=mxgraph.aws3.stack_aws_opsworks;verticalLabelPosition=bottom;align=center;verticalAlign=top",
AWSMechanicalTurkBlock3:"strokeColor=none;shape=mxgraph.aws3.mechanical_turk;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSHumanITBlock2:"strokeColor=none;shape=mxgraph.aws3.human_intelligence_tasks_hit;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSAssignmentTaskBlock2:"strokeColor=none;shape=mxgraph.aws3.requester;verticalLabelPosition=bottom;align=center;verticalAlign=top",AWSWorkersBlock2:"strokeColor=none;shape=mxgraph.aws3.users;verticalLabelPosition=bottom;align=center;verticalAlign=top",
@@ -1010,362 +1012,362 @@ SMCalendar:"shape=mxgraph.sitemap.calendar;strokeColor=#000000;fillColor=#E6E6E6
SMGame:"shape=mxgraph.sitemap.game;strokeColor=#000000;fillColor=#E6E6E6",SMJobs:"shape=mxgraph.sitemap.jobs;strokeColor=#000000;fillColor=#E6E6E6",SMLucid:"shape=mxgraph.sitemap.home;strokeColor=#000000;fillColor=#E6E6E6",SMNewspress:"shape=mxgraph.sitemap.news;strokeColor=#000000;fillColor=#E6E6E6",SMPhoto:"shape=mxgraph.sitemap.photo;strokeColor=#000000;fillColor=#E6E6E6",SMPortfolio:"shape=mxgraph.sitemap.portfolio;strokeColor=#000000;fillColor=#E6E6E6",SMPricing:"shape=mxgraph.sitemap.pricing;strokeColor=#000000;fillColor=#E6E6E6",
SMProfile:"shape=mxgraph.sitemap.profile;strokeColor=#000000;fillColor=#E6E6E6",SMSlideshow:"shape=mxgraph.sitemap.slideshow;strokeColor=#000000;fillColor=#E6E6E6",SMUpload:"shape=mxgraph.sitemap.upload;strokeColor=#000000;fillColor=#E6E6E6",SVGPathBlock2:"mxCompositeShape",PresentationFrameBlock:"mxCompositeShape",TimelineBlock:"mxCompositeShape",TimelineMilestoneBlock:"mxCompositeShape",TimelineIntervalBlock:"mxCompositeShape",MinimalTextBlock:"strokeColor=none;fillColor=none",FreehandBlock:"mxCompositeShape",
ExtShapeLaptopBlock:"strokeColor=none;shape=mxgraph.citrix.laptop_2;verticalLabelPosition=bottom;verticalAlign=top",ExtShapeServerBlock:"strokeColor=none;shape=mxgraph.citrix.tower_server;verticalLabelPosition=bottom;verticalAlign=top",ExtShapeCloudBlock:"strokeColor=none;shape=mxgraph.citrix.cloud;verticalLabelPosition=bottom;verticalAlign=top",ExtShapeUserBlock:"strokeColor=none;shape=mxgraph.aws3d.end_user;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#073763",ExtShapeWorkstationLCDBlock:"strokeColor=none;shape=mxgraph.veeam.3d.workstation;verticalLabelPosition=bottom;verticalAlign=top",
-InfographicsBlock:"mxCompositeShape",FlexiblePolygonBlock:"mxCompositeShape",PersonRoleBlock:"mxCompositeShape"},Qd=RegExp("{{(date{.*}|[^%^{^}]+)}}","g");sc.prototype.getSize=function(){return(this.nurbsValues.length/4|0)-1};sc.prototype.getX=function(a){return Math.round(100*this.nurbsValues[4*(a+1)])/100};sc.prototype.getY=function(a){return Math.round(100*this.nurbsValues[4*(a+1)+1])/100};LucidImporter.importState=function(a,b,c){function f(a){if(a.Properties){for(var b in a.Properties)"Stencil-"==
+InfographicsBlock:"mxCompositeShape",FlexiblePolygonBlock:"mxCompositeShape",PersonRoleBlock:"mxCompositeShape"},Pd=RegExp("{{(date{.*}|[^%^{^}]+)}}","g");uc.prototype.getSize=function(){return(this.nurbsValues.length/4|0)-1};uc.prototype.getX=function(a){return Math.round(100*this.nurbsValues[4*(a+1)])/100};uc.prototype.getY=function(a){return Math.round(100*this.nurbsValues[4*(a+1)+1])/100};LucidImporter.importState=function(a,b,c){function h(a){if(a.Properties){for(var b in a.Properties)"Stencil-"==
b.substr(0,8)&&ue(b.substr(8),a.Properties[b]);LucidImporter.globalProps=a.Properties}for(var c in a.Pages)b=a.Pages[c],b.id=c,b.Data=a.Data,m.push(b);m.sort(function(a,b){return a.Properties.Order<b.Properties.Order?-1:a.Properties.Order>b.Properties.Order?1:0});for(a=0;a<m.length;a++)LucidImporter.pageIdsMap[m[a].id]=a}LucidImporter.stencilsMap={};LucidImporter.imgSrcRepl=b;LucidImporter.advImpConfig=c;LucidImporter.globalProps={};LucidImporter.pageIdsMap={};LucidImporter.hasUnknownShapes=!1;LucidImporter.hasOrgChart=
-!1;LucidImporter.hasTimeLine=!1;b=['<?xml version="1.0" encoding="UTF-8"?>',"<mxfile>"];c&&c.transparentEdgeLabels&&(bc=bc.replace("labelBackgroundColor=#ffffff;","labelBackgroundColor=none;"));var m=[];null!=a.state&&"1"==urlParams.dev&&null!=window.console&&console.log(JSON.stringify(JSON.parse(a.state),null,2));null!=a.state?f(JSON.parse(a.state)):null==a.Page&&null!=a.Pages?f(a):m.push(a);a=Sd();c=new mxCodec;for(var l=0;l<m.length;l++){b.push("<diagram");null!=m[l].Properties&&null!=m[l].Properties.Title&&
-b.push(' name="'+mxUtils.htmlEntities(m[l].Properties.Title)+'"');b.push(' id="'+l+'"');Rd(a,m[l],!0);var d=c.encode(a.getModel());null!=m[l].Properties&&(m[l].Properties.FillColor&&d.setAttribute("background",ia(m[l].Properties.FillColor)),m[l].Properties.InfiniteCanvas?d.setAttribute("page",0):null!=m[l].Properties.Size&&(d.setAttribute("page",1),d.setAttribute("pageWidth",.75*m[l].Properties.Size.w),d.setAttribute("pageHeight",.75*m[l].Properties.Size.h)),null!=m[l].Properties.GridSpacing&&(d.setAttribute("grid",
-1),d.setAttribute("gridSize",.75*m[l].Properties.GridSpacing)));LucidImporter.hasMath&&d.setAttribute("math",1);a.getModel().clear();b.push(">"+Graph.compress(mxUtils.getXml(d))+"</diagram>")}b.push("</mxfile>");LucidImporter.imgSrcRepl=null;return b.join("")}})();function VsdxExport(e){function p(a,b){var c={"[Content_Types].xml":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Types xmlns='http://schemas.openxmlformats.org/package/2006/content-types'><Default Extension='png' ContentType='image/png'/><Default Extension='jpg' ContentType='image/jpeg'/><Default Extension='jpeg' ContentType='image/jpeg'/><Default Extension='svg' ContentType='image/svg+xml'/><Default Extension='bmp' ContentType='image/bmp'/><Default Extension='gif' ContentType='image/gif'/><Default Extension='emf' ContentType='image/x-emf' /><Default Extension='rels' ContentType='application/vnd.openxmlformats-package.relationships+xml' /><Default Extension='xml' ContentType='application/xml' /><Override PartName='/docProps/app.xml' ContentType='application/vnd.openxmlformats-officedocument.extended-properties+xml' /><Override PartName='/docProps/core.xml' ContentType='application/vnd.openxmlformats-package.core-properties+xml' /><Override PartName='/docProps/custom.xml' ContentType='application/vnd.openxmlformats-officedocument.custom-properties+xml' /><Override PartName='/visio/document.xml' ContentType='application/vnd.ms-visio.drawing.main+xml' /><Override PartName='/visio/masters/masters.xml' ContentType='application/vnd.ms-visio.masters+xml' /><Override PartName='/visio/masters/master1.xml' ContentType='application/vnd.ms-visio.master+xml'/><Override PartName='/visio/pages/page1.xml' ContentType='application/vnd.ms-visio.page+xml' /><Override PartName='/visio/pages/pages.xml' ContentType='application/vnd.ms-visio.pages+xml' /><Override PartName='/visio/windows.xml' ContentType='application/vnd.ms-visio.windows+xml' /></Types>",
+!1;LucidImporter.hasTimeLine=!1;b=['<?xml version="1.0" encoding="UTF-8"?>',"<mxfile>"];c&&c.transparentEdgeLabels&&(cc=cc.replace("labelBackgroundColor=#ffffff;","labelBackgroundColor=none;"));var m=[];null!=a.state&&"1"==urlParams.dev&&null!=window.console&&console.log(JSON.stringify(JSON.parse(a.state),null,2));null!=a.state?h(JSON.parse(a.state)):null==a.Page&&null!=a.Pages?h(a):m.push(a);a=Rd();c=new mxCodec;for(var k=0;k<m.length;k++){b.push("<diagram");null!=m[k].Properties&&null!=m[k].Properties.Title&&
+b.push(' name="'+mxUtils.htmlEntities(m[k].Properties.Title)+'"');b.push(' id="'+k+'"');Qd(a,m[k],!0);var d=c.encode(a.getModel());null!=m[k].Properties&&(m[k].Properties.FillColor&&d.setAttribute("background",ja(m[k].Properties.FillColor)),m[k].Properties.InfiniteCanvas?d.setAttribute("page",0):null!=m[k].Properties.Size&&(d.setAttribute("page",1),d.setAttribute("pageWidth",.75*m[k].Properties.Size.w),d.setAttribute("pageHeight",.75*m[k].Properties.Size.h)),null!=m[k].Properties.GridSpacing&&(d.setAttribute("grid",
+1),d.setAttribute("gridSize",.75*m[k].Properties.GridSpacing)));LucidImporter.hasMath&&d.setAttribute("math",1);a.getModel().clear();b.push(">"+Graph.compress(mxUtils.getXml(d))+"</diagram>")}b.push("</mxfile>");LucidImporter.imgSrcRepl=null;return b.join("")}})();function VsdxExport(e){function p(a,b){var c={"[Content_Types].xml":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Types xmlns='http://schemas.openxmlformats.org/package/2006/content-types'><Default Extension='png' ContentType='image/png'/><Default Extension='jpg' ContentType='image/jpeg'/><Default Extension='jpeg' ContentType='image/jpeg'/><Default Extension='svg' ContentType='image/svg+xml'/><Default Extension='bmp' ContentType='image/bmp'/><Default Extension='gif' ContentType='image/gif'/><Default Extension='emf' ContentType='image/x-emf' /><Default Extension='rels' ContentType='application/vnd.openxmlformats-package.relationships+xml' /><Default Extension='xml' ContentType='application/xml' /><Override PartName='/docProps/app.xml' ContentType='application/vnd.openxmlformats-officedocument.extended-properties+xml' /><Override PartName='/docProps/core.xml' ContentType='application/vnd.openxmlformats-package.core-properties+xml' /><Override PartName='/docProps/custom.xml' ContentType='application/vnd.openxmlformats-officedocument.custom-properties+xml' /><Override PartName='/visio/document.xml' ContentType='application/vnd.ms-visio.drawing.main+xml' /><Override PartName='/visio/masters/masters.xml' ContentType='application/vnd.ms-visio.masters+xml' /><Override PartName='/visio/masters/master1.xml' ContentType='application/vnd.ms-visio.master+xml'/><Override PartName='/visio/pages/page1.xml' ContentType='application/vnd.ms-visio.page+xml' /><Override PartName='/visio/pages/pages.xml' ContentType='application/vnd.ms-visio.pages+xml' /><Override PartName='/visio/windows.xml' ContentType='application/vnd.ms-visio.windows+xml' /></Types>",
"_rels/.rels":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Relationships xmlns='http://schemas.openxmlformats.org/package/2006/relationships'><Relationship Id='rId1' Type='http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties' Target='docProps/core.xml' /><Relationship Id='rId2' Type='http://schemas.microsoft.com/visio/2010/relationships/document' Target='visio/document.xml' /><Relationship Id='rId3' Type='http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties' Target='docProps/custom.xml' /><Relationship Id='rId4' Type='http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties' Target='docProps/app.xml' /></Relationships>",
"docProps/app.xml":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Properties xmlns=\'http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\' xmlns:vt=\'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\'><Application>Microsoft Visio</Application><AppVersion>15.0000</AppVersion><Template /><Manager /><Company /><HyperlinkBase /></Properties>',"docProps/core.xml":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><cp:coreProperties xmlns:cp='http://schemas.openxmlformats.org/package/2006/metadata/core-properties' xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:dcterms='http://purl.org/dc/terms/' xmlns:dcmitype='http://purl.org/dc/dcmitype/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><dc:title /><dc:subject /><dc:creator /><cp:keywords /><dc:description /><cp:category /><dc:language>en-US</dc:language></cp:coreProperties>",
"docProps/custom.xml":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Properties xmlns=\'http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\' xmlns:vt=\'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\' />',"visio/document.xml":"<?xml version='1.0' encoding='utf-8' ?><VisioDocument xmlns='http://schemas.microsoft.com/office/visio/2012/main' xmlns:r='http://schemas.openxmlformats.org/officeDocument/2006/relationships' xml:space='preserve'><DocumentSettings TopPage='0' DefaultTextStyle='3' DefaultLineStyle='3' DefaultFillStyle='3' DefaultGuideStyle='4'><GlueSettings>9</GlueSettings><SnapSettings>65847</SnapSettings><SnapExtensions>34</SnapExtensions><SnapAngles/><DynamicGridEnabled>1</DynamicGridEnabled><ProtectStyles>0</ProtectStyles><ProtectShapes>0</ProtectShapes><ProtectMasters>0</ProtectMasters><ProtectBkgnds>0</ProtectBkgnds></DocumentSettings><Colors><ColorEntry IX='24' RGB='#000000'/><ColorEntry IX='25' RGB='#FFFFFF'/><ColorEntry IX='26' RGB='#FF0000'/><ColorEntry IX='27' RGB='#00FF00'/><ColorEntry IX='28' RGB='#0000FF'/><ColorEntry IX='29' RGB='#FFFF00'/><ColorEntry IX='30' RGB='#FF00FF'/><ColorEntry IX='31' RGB='#00FFFF'/><ColorEntry IX='32' RGB='#800000'/><ColorEntry IX='33' RGB='#008000'/><ColorEntry IX='34' RGB='#000080'/><ColorEntry IX='35' RGB='#808000'/><ColorEntry IX='36' RGB='#800080'/><ColorEntry IX='37' RGB='#008080'/><ColorEntry IX='38' RGB='#C0C0C0'/><ColorEntry IX='39' RGB='#E6E6E6'/><ColorEntry IX='40' RGB='#CDCDCD'/><ColorEntry IX='41' RGB='#B3B3B3'/><ColorEntry IX='42' RGB='#9A9A9A'/><ColorEntry IX='43' RGB='#808080'/><ColorEntry IX='44' RGB='#666666'/><ColorEntry IX='45' RGB='#4D4D4D'/><ColorEntry IX='46' RGB='#333333'/><ColorEntry IX='47' RGB='#1A1A1A'/><ColorEntry IX='48' RGB='#7F7F7F'/><ColorEntry IX='49' RGB='#99004D'/><ColorEntry IX='50' RGB='#FF0080'/><ColorEntry IX='51' RGB='#CC0066'/></Colors><FaceNames><FaceName NameU='Calibri' UnicodeRanges='-536859905 -1073732485 9 0' CharSets='536871423 0' Panose='2 15 5 2 2 2 4 3 2 4' Flags='325'/></FaceNames><StyleSheets><StyleSheet ID='0' NameU='No Style' IsCustomNameU='1' Name='No Style' IsCustomName='1'><Cell N='EnableLineProps' V='1'/><Cell N='EnableFillProps' V='1'/><Cell N='EnableTextProps' V='1'/><Cell N='HideForApply' V='0'/><Cell N='LineWeight' V='0.01041666666666667'/><Cell N='LineColor' V='0'/><Cell N='LinePattern' V='1'/><Cell N='Rounding' V='0'/><Cell N='EndArrowSize' V='2'/><Cell N='BeginArrow' V='0'/><Cell N='EndArrow' V='0'/><Cell N='LineCap' V='0'/><Cell N='BeginArrowSize' V='2'/><Cell N='LineColorTrans' V='0'/><Cell N='CompoundType' V='0'/><Cell N='FillForegnd' V='1'/><Cell N='FillBkgnd' V='0'/><Cell N='FillPattern' V='1'/><Cell N='ShdwForegnd' V='0'/><Cell N='ShdwPattern' V='0'/><Cell N='FillForegndTrans' V='0'/><Cell N='FillBkgndTrans' V='0'/><Cell N='ShdwForegndTrans' V='0'/><Cell N='ShapeShdwType' V='0'/><Cell N='ShapeShdwOffsetX' V='0'/><Cell N='ShapeShdwOffsetY' V='0'/><Cell N='ShapeShdwObliqueAngle' V='0'/><Cell N='ShapeShdwScaleFactor' V='1'/><Cell N='ShapeShdwBlur' V='0'/><Cell N='ShapeShdwShow' V='0'/><Cell N='LeftMargin' V='0'/><Cell N='RightMargin' V='0'/><Cell N='TopMargin' V='0'/><Cell N='BottomMargin' V='0'/><Cell N='VerticalAlign' V='1'/><Cell N='TextBkgnd' V='0'/><Cell N='DefaultTabStop' V='0.5'/><Cell N='TextDirection' V='0'/><Cell N='TextBkgndTrans' V='0'/><Cell N='LockWidth' V='0'/><Cell N='LockHeight' V='0'/><Cell N='LockMoveX' V='0'/><Cell N='LockMoveY' V='0'/><Cell N='LockAspect' V='0'/><Cell N='LockDelete' V='0'/><Cell N='LockBegin' V='0'/><Cell N='LockEnd' V='0'/><Cell N='LockRotate' V='0'/><Cell N='LockCrop' V='0'/><Cell N='LockVtxEdit' V='0'/><Cell N='LockTextEdit' V='0'/><Cell N='LockFormat' V='0'/><Cell N='LockGroup' V='0'/><Cell N='LockCalcWH' V='0'/><Cell N='LockSelect' V='0'/><Cell N='LockCustProp' V='0'/><Cell N='LockFromGroupFormat' V='0'/><Cell N='LockThemeColors' V='0'/><Cell N='LockThemeEffects' V='0'/><Cell N='LockThemeConnectors' V='0'/><Cell N='LockThemeFonts' V='0'/><Cell N='LockThemeIndex' V='0'/><Cell N='LockReplace' V='0'/><Cell N='LockVariation' V='0'/><Cell N='NoObjHandles' V='0'/><Cell N='NonPrinting' V='0'/><Cell N='NoCtlHandles' V='0'/><Cell N='NoAlignBox' V='0'/><Cell N='UpdateAlignBox' V='0'/><Cell N='HideText' V='0'/><Cell N='DynFeedback' V='0'/><Cell N='GlueType' V='0'/><Cell N='WalkPreference' V='0'/><Cell N='BegTrigger' V='0' F='No Formula'/><Cell N='EndTrigger' V='0' F='No Formula'/><Cell N='ObjType' V='0'/><Cell N='Comment' V=''/><Cell N='IsDropSource' V='0'/><Cell N='NoLiveDynamics' V='0'/><Cell N='LocalizeMerge' V='0'/><Cell N='NoProofing' V='0'/><Cell N='Calendar' V='0'/><Cell N='LangID' V='en-US'/><Cell N='ShapeKeywords' V=''/><Cell N='DropOnPageScale' V='1'/><Cell N='TheData' V='0' F='No Formula'/><Cell N='TheText' V='0' F='No Formula'/><Cell N='EventDblClick' V='0' F='No Formula'/><Cell N='EventXFMod' V='0' F='No Formula'/><Cell N='EventDrop' V='0' F='No Formula'/><Cell N='EventMultiDrop' V='0' F='No Formula'/><Cell N='HelpTopic' V=''/><Cell N='Copyright' V=''/><Cell N='LayerMember' V=''/><Cell N='XRulerDensity' V='32'/><Cell N='YRulerDensity' V='32'/><Cell N='XRulerOrigin' V='0'/><Cell N='YRulerOrigin' V='0'/><Cell N='XGridDensity' V='8'/><Cell N='YGridDensity' V='8'/><Cell N='XGridSpacing' V='0'/><Cell N='YGridSpacing' V='0'/><Cell N='XGridOrigin' V='0'/><Cell N='YGridOrigin' V='0'/><Cell N='Gamma' V='1'/><Cell N='Contrast' V='0.5'/><Cell N='Brightness' V='0.5'/><Cell N='Sharpen' V='0'/><Cell N='Blur' V='0'/><Cell N='Denoise' V='0'/><Cell N='Transparency' V='0'/><Cell N='SelectMode' V='1'/><Cell N='DisplayMode' V='2'/><Cell N='IsDropTarget' V='0'/><Cell N='IsSnapTarget' V='1'/><Cell N='IsTextEditTarget' V='1'/><Cell N='DontMoveChildren' V='0'/><Cell N='ShapePermeableX' V='0'/><Cell N='ShapePermeableY' V='0'/><Cell N='ShapePermeablePlace' V='0'/><Cell N='Relationships' V='0'/><Cell N='ShapeFixedCode' V='0'/><Cell N='ShapePlowCode' V='0'/><Cell N='ShapeRouteStyle' V='0'/><Cell N='ShapePlaceStyle' V='0'/><Cell N='ConFixedCode' V='0'/><Cell N='ConLineJumpCode' V='0'/><Cell N='ConLineJumpStyle' V='0'/><Cell N='ConLineJumpDirX' V='0'/><Cell N='ConLineJumpDirY' V='0'/><Cell N='ShapePlaceFlip' V='0'/><Cell N='ConLineRouteExt' V='0'/><Cell N='ShapeSplit' V='0'/><Cell N='ShapeSplittable' V='0'/><Cell N='DisplayLevel' V='0'/><Cell N='ResizePage' V='0'/><Cell N='EnableGrid' V='0'/><Cell N='DynamicsOff' V='0'/><Cell N='CtrlAsInput' V='0'/><Cell N='AvoidPageBreaks' V='0'/><Cell N='PlaceStyle' V='0'/><Cell N='RouteStyle' V='0'/><Cell N='PlaceDepth' V='0'/><Cell N='PlowCode' V='0'/><Cell N='LineJumpCode' V='1'/><Cell N='LineJumpStyle' V='0'/><Cell N='PageLineJumpDirX' V='0'/><Cell N='PageLineJumpDirY' V='0'/><Cell N='LineToNodeX' V='0.125'/><Cell N='LineToNodeY' V='0.125'/><Cell N='BlockSizeX' V='0.25'/><Cell N='BlockSizeY' V='0.25'/><Cell N='AvenueSizeX' V='0.375'/><Cell N='AvenueSizeY' V='0.375'/><Cell N='LineToLineX' V='0.125'/><Cell N='LineToLineY' V='0.125'/><Cell N='LineJumpFactorX' V='0.66666666666667'/><Cell N='LineJumpFactorY' V='0.66666666666667'/><Cell N='LineAdjustFrom' V='0'/><Cell N='LineAdjustTo' V='0'/><Cell N='PlaceFlip' V='0'/><Cell N='LineRouteExt' V='0'/><Cell N='PageShapeSplit' V='0'/><Cell N='PageLeftMargin' V='0.25'/><Cell N='PageRightMargin' V='0.25'/><Cell N='PageTopMargin' V='0.25'/><Cell N='PageBottomMargin' V='0.25'/><Cell N='ScaleX' V='1'/><Cell N='ScaleY' V='1'/><Cell N='PagesX' V='1'/><Cell N='PagesY' V='1'/><Cell N='CenterX' V='0'/><Cell N='CenterY' V='0'/><Cell N='OnPage' V='0'/><Cell N='PrintGrid' V='0'/><Cell N='PrintPageOrientation' V='1'/><Cell N='PaperKind' V='1'/><Cell N='PaperSource' V='7'/><Cell N='QuickStyleLineColor' V='100'/><Cell N='QuickStyleFillColor' V='100'/><Cell N='QuickStyleShadowColor' V='100'/><Cell N='QuickStyleFontColor' V='100'/><Cell N='QuickStyleLineMatrix' V='100'/><Cell N='QuickStyleFillMatrix' V='100'/><Cell N='QuickStyleEffectsMatrix' V='100'/><Cell N='QuickStyleFontMatrix' V='100'/><Cell N='QuickStyleType' V='0'/><Cell N='QuickStyleVariation' V='0'/><Cell N='LineGradientDir' V='0'/><Cell N='LineGradientAngle' V='1.5707963267949'/><Cell N='FillGradientDir' V='0'/><Cell N='FillGradientAngle' V='1.5707963267949'/><Cell N='LineGradientEnabled' V='0'/><Cell N='FillGradientEnabled' V='0'/><Cell N='RotateGradientWithShape' V='1'/><Cell N='UseGroupGradient' V='0'/><Cell N='BevelTopType' V='0'/><Cell N='BevelTopWidth' V='0'/><Cell N='BevelTopHeight' V='0'/><Cell N='BevelBottomType' V='0'/><Cell N='BevelBottomWidth' V='0'/><Cell N='BevelBottomHeight' V='0'/><Cell N='BevelDepthColor' V='1'/><Cell N='BevelDepthSize' V='0'/><Cell N='BevelContourColor' V='0'/><Cell N='BevelContourSize' V='0'/><Cell N='BevelMaterialType' V='0'/><Cell N='BevelLightingType' V='0'/><Cell N='BevelLightingAngle' V='0'/><Cell N='RotationXAngle' V='0'/><Cell N='RotationYAngle' V='0'/><Cell N='RotationZAngle' V='0'/><Cell N='RotationType' V='0'/><Cell N='Perspective' V='0'/><Cell N='DistanceFromGround' V='0'/><Cell N='KeepTextFlat' V='0'/><Cell N='ReflectionTrans' V='0'/><Cell N='ReflectionSize' V='0'/><Cell N='ReflectionDist' V='0'/><Cell N='ReflectionBlur' V='0'/><Cell N='GlowColor' V='1'/><Cell N='GlowColorTrans' V='0'/><Cell N='GlowSize' V='0'/><Cell N='SoftEdgesSize' V='0'/><Cell N='SketchSeed' V='0'/><Cell N='SketchEnabled' V='0'/><Cell N='SketchAmount' V='5'/><Cell N='SketchLineWeight' V='0.04166666666666666' U='PT'/><Cell N='SketchLineChange' V='0.14'/><Cell N='SketchFillChange' V='0.1'/><Cell N='ColorSchemeIndex' V='0'/><Cell N='EffectSchemeIndex' V='0'/><Cell N='ConnectorSchemeIndex' V='0'/><Cell N='FontSchemeIndex' V='0'/><Cell N='ThemeIndex' V='0'/><Cell N='VariationColorIndex' V='0'/><Cell N='VariationStyleIndex' V='0'/><Cell N='EmbellishmentIndex' V='0'/><Cell N='ReplaceLockShapeData' V='0'/><Cell N='ReplaceLockText' V='0'/><Cell N='ReplaceLockFormat' V='0'/><Cell N='ReplaceCopyCells' V='0' U='BOOL' F='No Formula'/><Cell N='PageWidth' V='0' F='No Formula'/><Cell N='PageHeight' V='0' F='No Formula'/><Cell N='ShdwOffsetX' V='0' F='No Formula'/><Cell N='ShdwOffsetY' V='0' F='No Formula'/><Cell N='PageScale' V='0' U='IN_F' F='No Formula'/><Cell N='DrawingScale' V='0' U='IN_F' F='No Formula'/><Cell N='DrawingSizeType' V='0' F='No Formula'/><Cell N='DrawingScaleType' V='0' F='No Formula'/><Cell N='InhibitSnap' V='0' F='No Formula'/><Cell N='PageLockReplace' V='0' U='BOOL' F='No Formula'/><Cell N='PageLockDuplicate' V='0' U='BOOL' F='No Formula'/><Cell N='UIVisibility' V='0' F='No Formula'/><Cell N='ShdwType' V='0' F='No Formula'/><Cell N='ShdwObliqueAngle' V='0' F='No Formula'/><Cell N='ShdwScaleFactor' V='0' F='No Formula'/><Cell N='DrawingResizeType' V='0' F='No Formula'/><Section N='Character'><Row IX='0'><Cell N='Font' V='Calibri'/><Cell N='Color' V='0'/><Cell N='Style' V='0'/><Cell N='Case' V='0'/><Cell N='Pos' V='0'/><Cell N='FontScale' V='1'/><Cell N='Size' V='0.1666666666666667'/><Cell N='DblUnderline' V='0'/><Cell N='Overline' V='0'/><Cell N='Strikethru' V='0'/><Cell N='DoubleStrikethrough' V='0'/><Cell N='Letterspace' V='0'/><Cell N='ColorTrans' V='0'/><Cell N='AsianFont' V='0'/><Cell N='ComplexScriptFont' V='0'/><Cell N='ComplexScriptSize' V='-1'/><Cell N='LangID' V='en-US'/></Row></Section><Section N='Paragraph'><Row IX='0'><Cell N='IndFirst' V='0'/><Cell N='IndLeft' V='0'/><Cell N='IndRight' V='0'/><Cell N='SpLine' V='-1.2'/><Cell N='SpBefore' V='0'/><Cell N='SpAfter' V='0'/><Cell N='HorzAlign' V='1'/><Cell N='Bullet' V='0'/><Cell N='BulletStr' V=''/><Cell N='BulletFont' V='0'/><Cell N='BulletFontSize' V='-1'/><Cell N='TextPosAfterBullet' V='0'/><Cell N='Flags' V='0'/></Row></Section><Section N='Tabs'><Row IX='0'/></Section><Section N='LineGradient'><Row IX='0'><Cell N='GradientStopColor' V='1'/><Cell N='GradientStopColorTrans' V='0'/><Cell N='GradientStopPosition' V='0'/></Row></Section><Section N='FillGradient'><Row IX='0'><Cell N='GradientStopColor' V='1'/><Cell N='GradientStopColorTrans' V='0'/><Cell N='GradientStopPosition' V='0'/></Row></Section></StyleSheet><StyleSheet ID='1' NameU='Text Only' IsCustomNameU='1' Name='Text Only' IsCustomName='1' LineStyle='3' FillStyle='3' TextStyle='3'><Cell N='EnableLineProps' V='1'/><Cell N='EnableFillProps' V='1'/><Cell N='EnableTextProps' V='1'/><Cell N='HideForApply' V='0'/><Cell N='LineWeight' V='Themed' F='Inh'/><Cell N='LineColor' V='Themed' F='Inh'/><Cell N='LinePattern' V='Themed' F='Inh'/><Cell N='Rounding' V='Themed' F='Inh'/><Cell N='EndArrowSize' V='2' F='Inh'/><Cell N='BeginArrow' V='0' F='Inh'/><Cell N='EndArrow' V='0' F='Inh'/><Cell N='LineCap' V='Themed' F='Inh'/><Cell N='BeginArrowSize' V='2' F='Inh'/><Cell N='LineColorTrans' V='Themed' F='Inh'/><Cell N='CompoundType' V='Themed' F='Inh'/><Cell N='FillForegnd' V='Themed' F='Inh'/><Cell N='FillBkgnd' V='Themed' F='Inh'/><Cell N='FillPattern' V='Themed' F='Inh'/><Cell N='ShdwForegnd' V='Themed' F='Inh'/><Cell N='ShdwPattern' V='Themed' F='Inh'/><Cell N='FillForegndTrans' V='Themed' F='Inh'/><Cell N='FillBkgndTrans' V='Themed' F='Inh'/><Cell N='ShdwForegndTrans' V='Themed' F='Inh'/><Cell N='ShapeShdwType' V='Themed' F='Inh'/><Cell N='ShapeShdwOffsetX' V='Themed' F='Inh'/><Cell N='ShapeShdwOffsetY' V='Themed' F='Inh'/><Cell N='ShapeShdwObliqueAngle' V='Themed' F='Inh'/><Cell N='ShapeShdwScaleFactor' V='Themed' F='Inh'/><Cell N='ShapeShdwBlur' V='Themed' F='Inh'/><Cell N='ShapeShdwShow' V='0' F='Inh'/><Cell N='LeftMargin' V='0'/><Cell N='RightMargin' V='0'/><Cell N='TopMargin' V='0'/><Cell N='BottomMargin' V='0'/><Cell N='VerticalAlign' V='0'/><Cell N='TextBkgnd' V='0'/><Cell N='DefaultTabStop' V='0.5' F='Inh'/><Cell N='TextDirection' V='0' F='Inh'/><Cell N='TextBkgndTrans' V='0' F='Inh'/><Cell N='LineGradientDir' V='Themed' F='Inh'/><Cell N='LineGradientAngle' V='Themed' F='Inh'/><Cell N='FillGradientDir' V='Themed' F='Inh'/><Cell N='FillGradientAngle' V='Themed' F='Inh'/><Cell N='LineGradientEnabled' V='Themed' F='Inh'/><Cell N='FillGradientEnabled' V='Themed' F='Inh'/><Cell N='RotateGradientWithShape' V='Themed' F='Inh'/><Cell N='UseGroupGradient' V='Themed' F='Inh'/><Section N='Paragraph'><Row IX='0'><Cell N='IndFirst' V='0' F='Inh'/><Cell N='IndLeft' V='0' F='Inh'/><Cell N='IndRight' V='0' F='Inh'/><Cell N='SpLine' V='-1.2' F='Inh'/><Cell N='SpBefore' V='0' F='Inh'/><Cell N='SpAfter' V='0' F='Inh'/><Cell N='HorzAlign' V='0'/><Cell N='Bullet' V='0' F='Inh'/><Cell N='BulletStr' V='' F='Inh'/><Cell N='BulletFont' V='0' F='Inh'/><Cell N='BulletFontSize' V='-1' F='Inh'/><Cell N='TextPosAfterBullet' V='0' F='Inh'/><Cell N='Flags' V='0' F='Inh'/></Row></Section></StyleSheet><StyleSheet ID='2' NameU='None' IsCustomNameU='1' Name='None' IsCustomName='1' LineStyle='3' FillStyle='3' TextStyle='3'><Cell N='EnableLineProps' V='1'/><Cell N='EnableFillProps' V='1'/><Cell N='EnableTextProps' V='1'/><Cell N='HideForApply' V='0'/><Cell N='LineWeight' V='Themed' F='Inh'/><Cell N='LineColor' V='Themed' F='Inh'/><Cell N='LinePattern' V='0'/><Cell N='Rounding' V='Themed' F='Inh'/><Cell N='EndArrowSize' V='2' F='Inh'/><Cell N='BeginArrow' V='0' F='Inh'/><Cell N='EndArrow' V='0' F='Inh'/><Cell N='LineCap' V='Themed' F='Inh'/><Cell N='BeginArrowSize' V='2' F='Inh'/><Cell N='LineColorTrans' V='Themed' F='Inh'/><Cell N='CompoundType' V='Themed' F='Inh'/><Cell N='FillForegnd' V='Themed' F='Inh'/><Cell N='FillBkgnd' V='Themed' F='Inh'/><Cell N='FillPattern' V='0'/><Cell N='ShdwForegnd' V='Themed' F='Inh'/><Cell N='ShdwPattern' V='Themed' F='Inh'/><Cell N='FillForegndTrans' V='Themed' F='Inh'/><Cell N='FillBkgndTrans' V='Themed' F='Inh'/><Cell N='ShdwForegndTrans' V='Themed' F='Inh'/><Cell N='ShapeShdwType' V='Themed' F='Inh'/><Cell N='ShapeShdwOffsetX' V='Themed' F='Inh'/><Cell N='ShapeShdwOffsetY' V='Themed' F='Inh'/><Cell N='ShapeShdwObliqueAngle' V='Themed' F='Inh'/><Cell N='ShapeShdwScaleFactor' V='Themed' F='Inh'/><Cell N='ShapeShdwBlur' V='Themed' F='Inh'/><Cell N='ShapeShdwShow' V='0' F='Inh'/><Cell N='LineGradientDir' V='Themed' F='Inh'/><Cell N='LineGradientAngle' V='Themed' F='Inh'/><Cell N='FillGradientDir' V='Themed' F='Inh'/><Cell N='FillGradientAngle' V='Themed' F='Inh'/><Cell N='LineGradientEnabled' V='0'/><Cell N='FillGradientEnabled' V='0'/><Cell N='RotateGradientWithShape' V='Themed' F='Inh'/><Cell N='UseGroupGradient' V='Themed' F='Inh'/><Cell N='QuickStyleLineColor' V='100' F='Inh'/><Cell N='QuickStyleFillColor' V='100' F='Inh'/><Cell N='QuickStyleShadowColor' V='100' F='Inh'/><Cell N='QuickStyleFontColor' V='100' F='Inh'/><Cell N='QuickStyleLineMatrix' V='100' F='Inh'/><Cell N='QuickStyleFillMatrix' V='100' F='Inh'/><Cell N='QuickStyleEffectsMatrix' V='0' F='GUARD(0)'/><Cell N='QuickStyleFontMatrix' V='100' F='Inh'/><Cell N='QuickStyleType' V='0' F='Inh'/><Cell N='QuickStyleVariation' V='2'/></StyleSheet><StyleSheet ID='3' NameU='Normal' IsCustomNameU='1' Name='Normal' IsCustomName='1' LineStyle='6' FillStyle='6' TextStyle='6'><Cell N='EnableLineProps' V='1'/><Cell N='EnableFillProps' V='1'/><Cell N='EnableTextProps' V='1'/><Cell N='HideForApply' V='0'/><Cell N='LeftMargin' V='0.05555555555555555' U='PT'/><Cell N='RightMargin' V='0.05555555555555555' U='PT'/><Cell N='TopMargin' V='0.05555555555555555' U='PT'/><Cell N='BottomMargin' V='0.05555555555555555' U='PT'/><Cell N='VerticalAlign' V='1' F='Inh'/><Cell N='TextBkgnd' V='0' F='Inh'/><Cell N='DefaultTabStop' V='0.5' F='Inh'/><Cell N='TextDirection' V='0' F='Inh'/><Cell N='TextBkgndTrans' V='0' F='Inh'/></StyleSheet><StyleSheet ID='4' NameU='Guide' IsCustomNameU='1' Name='Guide' IsCustomName='1' LineStyle='3' FillStyle='3' TextStyle='3'><Cell N='EnableLineProps' V='1'/><Cell N='EnableFillProps' V='1'/><Cell N='EnableTextProps' V='1'/><Cell N='HideForApply' V='0'/><Cell N='LineWeight' V='0' U='PT'/><Cell N='LineColor' V='#7f7f7f'/><Cell N='LinePattern' V='23'/><Cell N='Rounding' V='Themed' F='Inh'/><Cell N='EndArrowSize' V='2' F='Inh'/><Cell N='BeginArrow' V='0' F='Inh'/><Cell N='EndArrow' V='0' F='Inh'/><Cell N='LineCap' V='Themed' F='Inh'/><Cell N='BeginArrowSize' V='2' F='Inh'/><Cell N='LineColorTrans' V='Themed' F='Inh'/><Cell N='CompoundType' V='Themed' F='Inh'/><Cell N='FillForegnd' V='Themed' F='Inh'/><Cell N='FillBkgnd' V='Themed' F='Inh'/><Cell N='FillPattern' V='0'/><Cell N='ShdwForegnd' V='Themed' F='Inh'/><Cell N='ShdwPattern' V='Themed' F='Inh'/><Cell N='FillForegndTrans' V='Themed' F='Inh'/><Cell N='FillBkgndTrans' V='Themed' F='Inh'/><Cell N='ShdwForegndTrans' V='Themed' F='Inh'/><Cell N='ShapeShdwType' V='Themed' F='Inh'/><Cell N='ShapeShdwOffsetX' V='Themed' F='Inh'/><Cell N='ShapeShdwOffsetY' V='Themed' F='Inh'/><Cell N='ShapeShdwObliqueAngle' V='Themed' F='Inh'/><Cell N='ShapeShdwScaleFactor' V='Themed' F='Inh'/><Cell N='ShapeShdwBlur' V='Themed' F='Inh'/><Cell N='ShapeShdwShow' V='0' F='Inh'/><Cell N='LineGradientDir' V='Themed' F='Inh'/><Cell N='LineGradientAngle' V='Themed' F='Inh'/><Cell N='FillGradientDir' V='Themed' F='Inh'/><Cell N='FillGradientAngle' V='Themed' F='Inh'/><Cell N='LineGradientEnabled' V='0'/><Cell N='FillGradientEnabled' V='0'/><Cell N='RotateGradientWithShape' V='Themed' F='Inh'/><Cell N='UseGroupGradient' V='Themed' F='Inh'/><Cell N='LeftMargin' V='0.05555555555555555' U='PT' F='Inh'/><Cell N='RightMargin' V='0.05555555555555555' U='PT' F='Inh'/><Cell N='TopMargin' V='0'/><Cell N='BottomMargin' V='0'/><Cell N='VerticalAlign' V='2'/><Cell N='TextBkgnd' V='0' F='Inh'/><Cell N='DefaultTabStop' V='0.5' F='Inh'/><Cell N='TextDirection' V='0' F='Inh'/><Cell N='TextBkgndTrans' V='0' F='Inh'/><Cell N='NoObjHandles' V='0' F='Inh'/><Cell N='NonPrinting' V='1'/><Cell N='NoCtlHandles' V='0' F='Inh'/><Cell N='NoAlignBox' V='0' F='Inh'/><Cell N='UpdateAlignBox' V='0' F='Inh'/><Cell N='HideText' V='0' F='Inh'/><Cell N='DynFeedback' V='0' F='Inh'/><Cell N='GlueType' V='0' F='Inh'/><Cell N='WalkPreference' V='0' F='Inh'/><Cell N='BegTrigger' V='0' F='No Formula'/><Cell N='EndTrigger' V='0' F='No Formula'/><Cell N='ObjType' V='0' F='Inh'/><Cell N='Comment' V='' F='Inh'/><Cell N='IsDropSource' V='0' F='Inh'/><Cell N='NoLiveDynamics' V='0' F='Inh'/><Cell N='LocalizeMerge' V='0' F='Inh'/><Cell N='NoProofing' V='0' F='Inh'/><Cell N='Calendar' V='0' F='Inh'/><Cell N='LangID' V='en-US' F='Inh'/><Cell N='ShapeKeywords' V='' F='Inh'/><Cell N='DropOnPageScale' V='1' F='Inh'/><Cell N='ShapePermeableX' V='1'/><Cell N='ShapePermeableY' V='1'/><Cell N='ShapePermeablePlace' V='1'/><Cell N='Relationships' V='0' F='Inh'/><Cell N='ShapeFixedCode' V='0' F='Inh'/><Cell N='ShapePlowCode' V='0' F='Inh'/><Cell N='ShapeRouteStyle' V='0' F='Inh'/><Cell N='ShapePlaceStyle' V='0' F='Inh'/><Cell N='ConFixedCode' V='0' F='Inh'/><Cell N='ConLineJumpCode' V='0' F='Inh'/><Cell N='ConLineJumpStyle' V='0' F='Inh'/><Cell N='ConLineJumpDirX' V='0' F='Inh'/><Cell N='ConLineJumpDirY' V='0' F='Inh'/><Cell N='ShapePlaceFlip' V='0' F='Inh'/><Cell N='ConLineRouteExt' V='0' F='Inh'/><Cell N='ShapeSplit' V='0' F='Inh'/><Cell N='ShapeSplittable' V='0' F='Inh'/><Cell N='DisplayLevel' V='0' F='Inh'/><Section N='Character'><Row IX='0'><Cell N='Font' V='Themed' F='Inh'/><Cell N='Color' V='4'/><Cell N='Style' V='Themed' F='Inh'/><Cell N='Case' V='0' F='Inh'/><Cell N='Pos' V='0' F='Inh'/><Cell N='FontScale' V='1' F='Inh'/><Cell N='Size' V='0.125'/><Cell N='DblUnderline' V='0' F='Inh'/><Cell N='Overline' V='0' F='Inh'/><Cell N='Strikethru' V='0' F='Inh'/><Cell N='DoubleStrikethrough' V='0' F='Inh'/><Cell N='Letterspace' V='0' F='Inh'/><Cell N='ColorTrans' V='0' F='Inh'/><Cell N='AsianFont' V='Themed' F='Inh'/><Cell N='ComplexScriptFont' V='Themed' F='Inh'/><Cell N='ComplexScriptSize' V='-1' F='Inh'/><Cell N='LangID' V='en-US' F='Inh'/></Row></Section></StyleSheet><StyleSheet ID='6' NameU='Theme' IsCustomNameU='1' Name='Theme' IsCustomName='1' LineStyle='0' FillStyle='0' TextStyle='0'><Cell N='EnableLineProps' V='1'/><Cell N='EnableFillProps' V='1'/><Cell N='EnableTextProps' V='1'/><Cell N='HideForApply' V='0'/><Cell N='LineWeight' V='Themed' F='THEMEVAL()'/><Cell N='LineColor' V='Themed' F='THEMEVAL()'/><Cell N='LinePattern' V='Themed' F='THEMEVAL()'/><Cell N='Rounding' V='Themed' F='THEMEVAL()'/><Cell N='EndArrowSize' V='2' F='Inh'/><Cell N='BeginArrow' V='0' F='Inh'/><Cell N='EndArrow' V='0' F='Inh'/><Cell N='LineCap' V='Themed' F='THEMEVAL()'/><Cell N='BeginArrowSize' V='2' F='Inh'/><Cell N='LineColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='CompoundType' V='Themed' F='THEMEVAL()'/><Cell N='FillForegnd' V='Themed' F='THEMEVAL()'/><Cell N='FillBkgnd' V='Themed' F='THEMEVAL()'/><Cell N='FillPattern' V='Themed' F='THEMEVAL()'/><Cell N='ShdwForegnd' V='Themed' F='THEMEVAL()'/><Cell N='ShdwPattern' V='Themed' F='THEMEVAL()'/><Cell N='FillForegndTrans' V='Themed' F='THEMEVAL()'/><Cell N='FillBkgndTrans' V='Themed' F='THEMEVAL()'/><Cell N='ShdwForegndTrans' V='Themed' F='THEMEVAL()'/><Cell N='ShapeShdwType' V='Themed' F='THEMEVAL()'/><Cell N='ShapeShdwOffsetX' V='Themed' F='THEMEVAL()'/><Cell N='ShapeShdwOffsetY' V='Themed' F='THEMEVAL()'/><Cell N='ShapeShdwObliqueAngle' V='Themed' F='THEMEVAL()'/><Cell N='ShapeShdwScaleFactor' V='Themed' F='THEMEVAL()'/><Cell N='ShapeShdwBlur' V='Themed' F='THEMEVAL()'/><Cell N='ShapeShdwShow' V='0' F='Inh'/><Cell N='LineGradientDir' V='Themed' F='THEMEVAL()'/><Cell N='LineGradientAngle' V='Themed' F='THEMEVAL()'/><Cell N='FillGradientDir' V='Themed' F='THEMEVAL()'/><Cell N='FillGradientAngle' V='Themed' F='THEMEVAL()'/><Cell N='LineGradientEnabled' V='Themed' F='THEMEVAL()'/><Cell N='FillGradientEnabled' V='Themed' F='THEMEVAL()'/><Cell N='RotateGradientWithShape' V='Themed' F='THEMEVAL()'/><Cell N='UseGroupGradient' V='Themed' F='THEMEVAL()'/><Cell N='BevelTopType' V='Themed' F='THEMEVAL()'/><Cell N='BevelTopWidth' V='Themed' F='THEMEVAL()'/><Cell N='BevelTopHeight' V='Themed' F='THEMEVAL()'/><Cell N='BevelBottomType' V='0' F='Inh'/><Cell N='BevelBottomWidth' V='0' F='Inh'/><Cell N='BevelBottomHeight' V='0' F='Inh'/><Cell N='BevelDepthColor' V='1' F='Inh'/><Cell N='BevelDepthSize' V='0' F='Inh'/><Cell N='BevelContourColor' V='Themed' F='THEMEVAL()'/><Cell N='BevelContourSize' V='Themed' F='THEMEVAL()'/><Cell N='BevelMaterialType' V='Themed' F='THEMEVAL()'/><Cell N='BevelLightingType' V='Themed' F='THEMEVAL()'/><Cell N='BevelLightingAngle' V='Themed' F='THEMEVAL()'/><Cell N='ReflectionTrans' V='Themed' F='THEMEVAL()'/><Cell N='ReflectionSize' V='Themed' F='THEMEVAL()'/><Cell N='ReflectionDist' V='Themed' F='THEMEVAL()'/><Cell N='ReflectionBlur' V='Themed' F='THEMEVAL()'/><Cell N='GlowColor' V='Themed' F='THEMEVAL()'/><Cell N='GlowColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GlowSize' V='Themed' F='THEMEVAL()'/><Cell N='SoftEdgesSize' V='Themed' F='THEMEVAL()'/><Cell N='SketchSeed' V='0' F='Inh'/><Cell N='SketchEnabled' V='Themed' F='THEMEVAL()'/><Cell N='SketchAmount' V='Themed' F='THEMEVAL()'/><Cell N='SketchLineWeight' V='Themed' F='THEMEVAL()'/><Cell N='SketchLineChange' V='Themed' F='THEMEVAL()'/><Cell N='SketchFillChange' V='Themed' F='THEMEVAL()'/><Cell N='QuickStyleLineColor' V='100'/><Cell N='QuickStyleFillColor' V='100'/><Cell N='QuickStyleShadowColor' V='100'/><Cell N='QuickStyleFontColor' V='100'/><Cell N='QuickStyleLineMatrix' V='100'/><Cell N='QuickStyleFillMatrix' V='100'/><Cell N='QuickStyleEffectsMatrix' V='100'/><Cell N='QuickStyleFontMatrix' V='100'/><Cell N='QuickStyleType' V='0' F='Inh'/><Cell N='QuickStyleVariation' V='0' F='Inh'/><Cell N='ColorSchemeIndex' V='65534'/><Cell N='EffectSchemeIndex' V='65534'/><Cell N='ConnectorSchemeIndex' V='65534'/><Cell N='FontSchemeIndex' V='65534'/><Cell N='ThemeIndex' V='65534'/><Cell N='VariationColorIndex' V='65534'/><Cell N='VariationStyleIndex' V='65534'/><Cell N='EmbellishmentIndex' V='65534'/><Section N='Character'><Row IX='0'><Cell N='Font' V='Themed' F='THEMEVAL()'/><Cell N='Color' V='Themed' F='THEMEVAL()'/><Cell N='Style' V='Themed' F='THEMEVAL()'/><Cell N='Case' V='0' F='Inh'/><Cell N='Pos' V='0' F='Inh'/><Cell N='FontScale' V='1' F='Inh'/><Cell N='Size' V='0.1666666666666667' F='Inh'/><Cell N='DblUnderline' V='0' F='Inh'/><Cell N='Overline' V='0' F='Inh'/><Cell N='Strikethru' V='0' F='Inh'/><Cell N='DoubleStrikethrough' V='0' F='Inh'/><Cell N='Letterspace' V='0' F='Inh'/><Cell N='ColorTrans' V='0' F='Inh'/><Cell N='AsianFont' V='Themed' F='THEMEVAL()'/><Cell N='ComplexScriptFont' V='Themed' F='THEMEVAL()'/><Cell N='ComplexScriptSize' V='-1' F='Inh'/><Cell N='LangID' V='en-US' F='Inh'/></Row></Section><Section N='FillGradient'><Row IX='0'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='1'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='2'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='3'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='4'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='5'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='6'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='7'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='8'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='9'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row></Section><Section N='LineGradient'><Row IX='0'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='1'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='2'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='3'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='4'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='5'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='6'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='7'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='8'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='9'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row></Section></StyleSheet><StyleSheet ID='7' NameU='Connector' IsCustomNameU='1' Name='Connector' IsCustomName='1' LineStyle='3' FillStyle='3' TextStyle='3'><Cell N='EnableLineProps' V='1'/><Cell N='EnableFillProps' V='1'/><Cell N='EnableTextProps' V='1'/><Cell N='HideForApply' V='0'/><Cell N='LeftMargin' V='0.05555555555555555' U='PT' F='Inh'/><Cell N='RightMargin' V='0.05555555555555555' U='PT' F='Inh'/><Cell N='TopMargin' V='0.05555555555555555' U='PT' F='Inh'/><Cell N='BottomMargin' V='0.05555555555555555' U='PT' F='Inh'/><Cell N='VerticalAlign' V='1' F='Inh'/><Cell N='TextBkgnd' V='#ffffff' F='THEMEGUARD(THEMEVAL(\"BackgroundColor\")+1)'/><Cell N='DefaultTabStop' V='0.5' F='Inh'/><Cell N='TextDirection' V='0' F='Inh'/><Cell N='TextBkgndTrans' V='0' F='Inh'/><Cell N='NoObjHandles' V='0' F='Inh'/><Cell N='NonPrinting' V='0' F='Inh'/><Cell N='NoCtlHandles' V='0' F='Inh'/><Cell N='NoAlignBox' V='0' F='Inh'/><Cell N='UpdateAlignBox' V='0' F='Inh'/><Cell N='HideText' V='0' F='Inh'/><Cell N='DynFeedback' V='0' F='Inh'/><Cell N='GlueType' V='0' F='Inh'/><Cell N='WalkPreference' V='0' F='Inh'/><Cell N='BegTrigger' V='0' F='No Formula'/><Cell N='EndTrigger' V='0' F='No Formula'/><Cell N='ObjType' V='0' F='Inh'/><Cell N='Comment' V='' F='Inh'/><Cell N='IsDropSource' V='0' F='Inh'/><Cell N='NoLiveDynamics' V='0' F='Inh'/><Cell N='LocalizeMerge' V='0' F='Inh'/><Cell N='NoProofing' V='0' F='Inh'/><Cell N='Calendar' V='0' F='Inh'/><Cell N='LangID' V='en-US' F='Inh'/><Cell N='ShapeKeywords' V='' F='Inh'/><Cell N='DropOnPageScale' V='1' F='Inh'/><Cell N='QuickStyleLineColor' V='100'/><Cell N='QuickStyleFillColor' V='100'/><Cell N='QuickStyleShadowColor' V='100'/><Cell N='QuickStyleFontColor' V='100'/><Cell N='QuickStyleLineMatrix' V='1'/><Cell N='QuickStyleFillMatrix' V='1'/><Cell N='QuickStyleEffectsMatrix' V='1'/><Cell N='QuickStyleFontMatrix' V='1'/><Cell N='QuickStyleType' V='0'/><Cell N='QuickStyleVariation' V='0'/><Cell N='LineWeight' V='Themed' F='Inh'/><Cell N='LineColor' V='Themed' F='Inh'/><Cell N='LinePattern' V='Themed' F='Inh'/><Cell N='Rounding' V='Themed' F='Inh'/><Cell N='EndArrowSize' V='Themed' F='THEMEVAL()'/><Cell N='BeginArrow' V='Themed' F='THEMEVAL()'/><Cell N='EndArrow' V='Themed' F='THEMEVAL()'/><Cell N='LineCap' V='Themed' F='Inh'/><Cell N='BeginArrowSize' V='Themed' F='THEMEVAL()'/><Cell N='LineColorTrans' V='Themed' F='Inh'/><Cell N='CompoundType' V='Themed' F='Inh'/><Section N='Character'><Row IX='0'><Cell N='Font' V='Themed' F='Inh'/><Cell N='Color' V='Themed' F='Inh'/><Cell N='Style' V='Themed' F='Inh'/><Cell N='Case' V='0' F='Inh'/><Cell N='Pos' V='0' F='Inh'/><Cell N='FontScale' V='1' F='Inh'/><Cell N='Size' V='0.1111111111111111'/><Cell N='DblUnderline' V='0' F='Inh'/><Cell N='Overline' V='0' F='Inh'/><Cell N='Strikethru' V='0' F='Inh'/><Cell N='DoubleStrikethrough' V='0' F='Inh'/><Cell N='Letterspace' V='0' F='Inh'/><Cell N='ColorTrans' V='0' F='Inh'/><Cell N='AsianFont' V='Themed' F='Inh'/><Cell N='ComplexScriptFont' V='Themed' F='Inh'/><Cell N='ComplexScriptSize' V='-1' F='Inh'/><Cell N='LangID' V='en-US' F='Inh'/></Row></Section></StyleSheet></StyleSheets><DocumentSheet NameU='TheDoc' IsCustomNameU='1' Name='TheDoc' IsCustomName='1' LineStyle='0' FillStyle='0' TextStyle='0'><Cell N='OutputFormat' V='0'/><Cell N='LockPreview' V='0'/><Cell N='AddMarkup' V='0'/><Cell N='ViewMarkup' V='0'/><Cell N='DocLockReplace' V='0' U='BOOL'/><Cell N='NoCoauth' V='0' U='BOOL'/><Cell N='DocLockDuplicatePage' V='0' U='BOOL'/><Cell N='PreviewQuality' V='0'/><Cell N='PreviewScope' V='0'/><Cell N='DocLangID' V='en-US'/><Section N='User'><Row N='msvNoAutoConnect'><Cell N='Value' V='1'/><Cell N='Prompt' V='' F='No Formula'/></Row></Section></DocumentSheet></VisioDocument>",
"visio/windows.xml":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Windows ClientWidth='0' ClientHeight='0' xmlns='http://schemas.microsoft.com/office/visio/2012/main' xmlns:r='http://schemas.openxmlformats.org/officeDocument/2006/relationships' xml:space='preserve' />","visio/_rels/document.xml.rels":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Relationships xmlns='http://schemas.openxmlformats.org/package/2006/relationships'><Relationship Id='rId1' Type='http://schemas.microsoft.com/visio/2010/relationships/masters' Target='masters/masters.xml' /><Relationship Id='rId2' Type='http://schemas.microsoft.com/visio/2010/relationships/pages' Target='pages/pages.xml' /><Relationship Id='rId3' Type='http://schemas.microsoft.com/visio/2010/relationships/windows' Target='windows.xml' /></Relationships>",
"visio/masters/_rels/masters.xml.rels":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.microsoft.com/visio/2010/relationships/master" Target="master1.xml"/></Relationships>',"visio/masters/masters.xml":"<?xml version='1.0' encoding='utf-8' ?><Masters xmlns='http://schemas.microsoft.com/office/visio/2012/main' xmlns:r='http://schemas.openxmlformats.org/officeDocument/2006/relationships' xml:space='preserve'><Master ID='4' NameU='Dynamic connector' IsCustomNameU='1' Name='Dynamic connector' IsCustomName='1' Prompt='This connector automatically routes between the shapes it connects.' IconSize='1' AlignName='2' MatchByName='1' IconUpdate='0' UniqueID='{002A9108-0000-0000-8E40-00608CF305B2}' BaseID='{F7290A45-E3AD-11D2-AE4F-006008C9F5A9}' PatternFlags='0' Hidden='0' MasterType='0'><PageSheet LineStyle='0' FillStyle='0' TextStyle='0'><Cell N='PageWidth' V='3'/><Cell N='PageHeight' V='3'/><Cell N='ShdwOffsetX' V='0.125'/><Cell N='ShdwOffsetY' V='-0.125'/><Cell N='PageScale' V='1' U='IN_F'/><Cell N='DrawingScale' V='1' U='IN_F'/><Cell N='DrawingSizeType' V='4'/><Cell N='DrawingScaleType' V='0'/><Cell N='InhibitSnap' V='0'/><Cell N='PageLockReplace' V='0' U='BOOL'/><Cell N='PageLockDuplicate' V='0' U='BOOL'/><Cell N='UIVisibility' V='0'/><Cell N='ShdwType' V='0'/><Cell N='ShdwObliqueAngle' V='0'/><Cell N='ShdwScaleFactor' V='1'/><Cell N='DrawingResizeType' V='0'/><Section N='Layer'><Row IX='0'><Cell N='Name' V='Connector'/><Cell N='Color' V='255'/><Cell N='Status' V='0'/><Cell N='Visible' V='1'/><Cell N='Print' V='1'/><Cell N='Active' V='0'/><Cell N='Lock' V='0'/><Cell N='Snap' V='1'/><Cell N='Glue' V='1'/><Cell N='NameUniv' V='Connector'/><Cell N='ColorTrans' V='0'/></Row></Section></PageSheet><Rel r:id='rId1'/></Master></Masters>",
"visio/masters/master1.xml":"<?xml version='1.0' encoding='utf-8' ?><MasterContents xmlns='http://schemas.microsoft.com/office/visio/2012/main' xmlns:r='http://schemas.openxmlformats.org/officeDocument/2006/relationships' xml:space='preserve'><Shapes><Shape ID='5' OriginalID='0' Type='Shape' LineStyle='7' FillStyle='7' TextStyle='7'><Cell N='PinX' V='1.5' F='GUARD((BeginX+EndX)/2)'/><Cell N='PinY' V='1.5' F='GUARD((BeginY+EndY)/2)'/><Cell N='Width' V='1' F='GUARD(EndX-BeginX)'/><Cell N='Height' V='-1' F='GUARD(EndY-BeginY)'/><Cell N='LocPinX' V='0.5' F='GUARD(Width*0.5)'/><Cell N='LocPinY' V='-0.5' F='GUARD(Height*0.5)'/><Cell N='Angle' V='0' F='GUARD(0DA)'/><Cell N='FlipX' V='0' F='GUARD(FALSE)'/><Cell N='FlipY' V='0' F='GUARD(FALSE)'/><Cell N='ResizeMode' V='0'/><Cell N='BeginX' V='1'/><Cell N='BeginY' V='2'/><Cell N='EndX' V='2'/><Cell N='EndY' V='1'/><Cell N='TxtPinX' V='0' F='SETATREF(Controls.TextPosition)'/><Cell N='TxtPinY' V='-1' F='SETATREF(Controls.TextPosition.Y)'/><Cell N='TxtWidth' V='0.5555555555555556' F='MAX(TEXTWIDTH(TheText),5*Char.Size)'/><Cell N='TxtHeight' V='0.2444444444444444' F='TEXTHEIGHT(TheText,TxtWidth)'/><Cell N='TxtLocPinX' V='0.2777777777777778' F='TxtWidth*0.5'/><Cell N='TxtLocPinY' V='0.1222222222222222' F='TxtHeight*0.5'/><Cell N='TxtAngle' V='0'/><Cell N='LockHeight' V='1'/><Cell N='LockCalcWH' V='1'/><Cell N='HelpTopic' V='Vis_SE.chm!#20000'/><Cell N='Copyright' V='Copyright 2001 Microsoft Corporation. All rights reserved.'/><Cell N='NoAlignBox' V='1'/><Cell N='DynFeedback' V='2'/><Cell N='GlueType' V='2'/><Cell N='ObjType' V='2'/><Cell N='NoLiveDynamics' V='1'/><Cell N='ShapeSplittable' V='1'/><Cell N='LayerMember' V='0'/><Section N='Control'><Row N='TextPosition'><Cell N='X' V='0'/><Cell N='Y' V='-1'/><Cell N='XDyn' V='0' F='Controls.TextPosition'/><Cell N='YDyn' V='-1' F='Controls.TextPosition.Y'/><Cell N='XCon' V='5' F='IF(OR(STRSAME(SHAPETEXT(TheText),\"\"),HideText),5,0)'/><Cell N='YCon' V='0'/><Cell N='CanGlue' V='0'/><Cell N='Prompt' V='Reposition Text'/></Row></Section><Section N='Geometry' IX='0'><Cell N='NoFill' V='1'/><Cell N='NoLine' V='0'/><Cell N='NoShow' V='0'/><Cell N='NoSnap' V='0'/><Cell N='NoQuickDrag' V='0'/><Row T='MoveTo' IX='1'><Cell N='X' V='0'/><Cell N='Y' V='0'/></Row><Row T='LineTo' IX='2'><Cell N='X' V='0'/><Cell N='Y' V='-1'/></Row></Section></Shape></Shapes></MasterContents>"},
-f;for(f in c)if(1<b&&f==E.CONTENT_TYPES_XML){for(var m=mxUtils.parseXml(c[f]),l=m.documentElement,d=l.children,e=null,w=0;w<d.length;w++){var x=d[w];"/visio/pages/page1.xml"==x.getAttribute(E.PART_NAME)&&(e=x)}for(w=2;w<=b;w++)d=e.cloneNode(),d.setAttribute(E.PART_NAME,"/visio/pages/page"+w+".xml"),l.appendChild(d);A(a,f,m,!0)}else a.file(f,c[f])}function n(a,b,c){return null!=a.createElementNS?a.createElementNS(b,c):a.createElement(c)}function g(a){var b=K[a];null==b&&(b=S++,K[a]=b);return b}function q(a){var b=
-{};try{var c=a.getGraphBounds().clone(),f=a.view.scale,m=a.view.translate,l=Math.round(c.x/f)-m.x,d=Math.round(c.y/f)-m.y,e=a.pageFormat.width,w=a.pageFormat.height;0>l&&(l+=Math.ceil((m.x-c.x/f)/e)*e);0>d&&(d+=Math.ceil((m.y-c.y/f)/w)*w);var x=Math.max(1,Math.ceil((c.width/f+l)/e)),g=Math.max(1,Math.ceil((c.height/f+d)/w));b.gridEnabled=a.gridEnabled;b.gridSize=a.gridSize;b.guidesEnabled=a.graphHandler.guidesEnabled;b.pageVisible=a.pageVisible;b.pageScale=a.pageScale;b.pageWidth=a.pageFormat.width*
-x;b.pageHeight=a.pageFormat.height*g;b.backgroundClr=a.background;b.mathEnabled=a.mathEnabled;b.shadowVisible=a.shadowVisible}catch(Db){}return b}function d(a,c,f,m){return b(a,c/E.CONVERSION_FACTOR,f,m)}function b(a,b,c,f){c=n(c,E.XMLNS,"Cell");c.setAttribute("N",a);c.setAttribute("V",b);f&&c.setAttribute("F",f);return c}function a(a,b,c,f,m){var l=n(m,E.XMLNS,"Row");l.setAttribute("T",a);l.setAttribute("IX",b);l.appendChild(d("X",c,m));l.appendChild(d("Y",f,m));return l}function c(a,c,f){var m=
-a.style[mxConstants.STYLE_FILLCOLOR];if(m&&"none"!=m){if(c.appendChild(b("FillForegnd",m,f)),(m=a.style[mxConstants.STYLE_GRADIENTCOLOR])&&"none"!=m){c.appendChild(b("FillBkgnd",m,f));var m=a.style[mxConstants.STYLE_GRADIENT_DIRECTION],l=28;if(m)switch(m){case mxConstants.DIRECTION_EAST:l=25;break;case mxConstants.DIRECTION_WEST:l=27;break;case mxConstants.DIRECTION_NORTH:l=30}c.appendChild(b("FillPattern",l,f))}}else c.appendChild(b("FillPattern",0,f));(m=a.style[mxConstants.STYLE_STROKECOLOR])&&
-"none"!=m?c.appendChild(b("LineColor",m,f)):c.appendChild(b("LinePattern",0,f));(m=a.style[mxConstants.STYLE_STROKEWIDTH])&&c.appendChild(d("LineWeight",m,f));(l=a.style[mxConstants.STYLE_OPACITY])?m=l:(m=a.style[mxConstants.STYLE_FILL_OPACITY],l=a.style[mxConstants.STYLE_STROKE_OPACITY]);m&&c.appendChild(b("FillForegndTrans",1-parseInt(m)/100,f));l&&c.appendChild(b("LineColorTrans",1-parseInt(l)/100,f));if(1==a.style[mxConstants.STYLE_DASHED]){m=a.style[mxConstants.STYLE_DASH_PATTERN];l=9;if(m)switch(m){case "1 1":l=
-10;break;case "1 2":l=3;break;case "1 4":l=17}c.appendChild(b("LinePattern",l,f))}1==a.style[mxConstants.STYLE_SHADOW]&&(c.appendChild(b("ShdwPattern",1,f)),c.appendChild(b("ShdwForegnd","#000000",f)),c.appendChild(b("ShdwForegndTrans",.6,f)),c.appendChild(b("ShapeShdwType",1,f)),c.appendChild(b("ShapeShdwOffsetX","0.02946278254943948",f)),c.appendChild(b("ShapeShdwOffsetY","-0.02946278254943948",f)),c.appendChild(b("ShapeShdwScaleFactor","1",f)),c.appendChild(b("ShapeShdwBlur","0.05555555555555555",
-f)),c.appendChild(b("ShapeShdwShow",2,f)));1==a.style[mxConstants.STYLE_FLIPH]&&c.appendChild(b("FlipX",1,f));1==a.style[mxConstants.STYLE_FLIPV]&&c.appendChild(b("FlipY",1,f));1==a.style[mxConstants.STYLE_ROUNDED]&&c.appendChild(d("Rounding",.1*a.cell.geometry.width,f));(a=a.style[mxConstants.STYLE_LABEL_BACKGROUNDCOLOR])&&c.appendChild(b("TextBkgnd",a,f))}function f(a,c,f,m,l,e){var w=n(m,E.XMLNS,"Shape");w.setAttribute("ID",a);w.setAttribute("NameU","Shape"+a);w.setAttribute("LineStyle","0");w.setAttribute("FillStyle",
-"0");w.setAttribute("TextStyle","0");a=c.width/2;var x=c.height/2;w.appendChild(d("PinX",c.x+a+(e?0:D.shiftX),m));w.appendChild(d("PinY",l-c.y-x-(e?0:D.shiftY),m));w.appendChild(d("Width",c.width,m));w.appendChild(d("Height",c.height,m));w.appendChild(d("LocPinX",a,m));w.appendChild(d("LocPinY",x,m));w.appendChild(b("LayerMember",f+"",m));return w}function m(a,b){var c=E.ARROWS_MAP[(null==a?"none":a)+"|"+(null==b?"1":b)];return null!=c?c:1}function l(a){return null==a?2:2>=a?0:3>=a?1:5>=a?2:7>=a?
-3:9>=a?4:22>=a?5:6}function x(f,e,w,x,q,p){var C=w.view.getState(f,!0);if(null==C||null==C.absolutePoints||null==C.cellBounds)return null;w=n(x,E.XMLNS,"Shape");var A=g(f.id);w.setAttribute("ID",A);w.setAttribute("NameU","Dynamic connector."+A);w.setAttribute("Name","Dynamic connector."+A);w.setAttribute("Type","Shape");w.setAttribute("Master","4");var G=D.state,A=C.absolutePoints,B=C.cellBounds,I=B.width/2,K=B.height/2;w.appendChild(d("PinX",B.x+I,x));w.appendChild(d("PinY",q-B.y-K,x));w.appendChild(d("Width",
-B.width,x));w.appendChild(d("Height",B.height,x));w.appendChild(d("LocPinX",I,x));w.appendChild(d("LocPinY",K,x));D.newEdge(w,C,x);I=function(a,b){var c=a.x,f=a.y,c=c*G.scale-B.x+G.dx+(p?0:D.shiftX),f=(b?0:B.height)-f*G.scale+B.y-G.dy-(p?0:D.shiftY);return{x:c,y:f}};K=I(A[0],!0);w.appendChild(d("BeginX",B.x+K.x,x,"_WALKGLUE(BegTrigger,EndTrigger,WalkPreference)"));w.appendChild(d("BeginY",q-B.y+K.y,x,"_WALKGLUE(BegTrigger,EndTrigger,WalkPreference)"));K=I(A[A.length-1],!0);w.appendChild(d("EndX",
-B.x+K.x,x,"_WALKGLUE(EndTrigger,BegTrigger,WalkPreference)"));w.appendChild(d("EndY",q-B.y+K.y,x,"_WALKGLUE(EndTrigger,BegTrigger,WalkPreference)"));w.appendChild(b("BegTrigger","2",x,f.source?"_XFTRIGGER(Sheet."+g(f.source.id)+"!EventXFMod)":null));w.appendChild(b("EndTrigger","2",x,f.target?"_XFTRIGGER(Sheet."+g(f.target.id)+"!EventXFMod)":null));w.appendChild(b("ConFixedCode","6",x));w.appendChild(b("LayerMember",e+"",x));c(C,w,x);e=C.style[mxConstants.STYLE_STARTSIZE];f=m(C.style[mxConstants.STYLE_STARTARROW],
-C.style[mxConstants.STYLE_STARTFILL]);w.appendChild(b("BeginArrow",f,x));w.appendChild(b("BeginArrowSize",l(e),x));e=C.style[mxConstants.STYLE_ENDSIZE];f=m(C.style[mxConstants.STYLE_ENDARROW],C.style[mxConstants.STYLE_ENDFILL]);w.appendChild(b("EndArrow",f,x));w.appendChild(b("EndArrowSize",l(e),x));null!=C.text&&C.text.checkBounds()&&(D.save(),C.text.paint(D),D.restore());C=n(x,E.XMLNS,"Section");C.setAttribute("N","Geometry");C.setAttribute("IX","0");for(f=0;f<A.length;f++)e=I(A[f]),C.appendChild(a(0==
-f?"MoveTo":"LineTo",f+1,e.x,e.y,x));C.appendChild(b("NoFill","1",x));C.appendChild(b("NoLine","0",x));w.appendChild(C);return w}function w(a,b,m,l,d,e,q){var C=a.geometry;if(null!=C){C.relative&&e&&(C=C.clone(),C.x*=e.width,C.y*=e.height,C.relative=0);e=g(a.id);if(!a.treatAsSingle&&0<a.getChildCount()){d=f(e+"10000",C,b,l,d,q);d.setAttribute("Type","Group");q=n(l,E.XMLNS,"Shapes");D.save();D.translate(-C.x,-C.y);e=C.clone();e.x=0;e.y=0;a.setGeometry(e);a.treatAsSingle=!0;e=w(a,b,m,l,C.height,C,!0);
-a.treatAsSingle=!1;a.setGeometry(C);null!=e&&q.appendChild(e);for(var p=0;p<a.getChildCount();p++)e=w(a.children[p],b,m,l,C.height,C,!0),null!=e&&q.appendChild(e);d.appendChild(q);D.restore();return d}return a.vertex?(d=f(e,C,b,l,d,q),a=m.view.getState(a,!0),c(a,d,l),D.newShape(d,a,l),null!=a.text&&a.text.checkBounds()&&(D.save(),a.text.paint(D),D.restore()),null!=a.shape&&a.shape.checkBounds()&&(D.save(),a.shape.paint(D),D.restore()),d.appendChild(D.getShapeGeo()),D.endShape(),d.setAttribute("Type",
-D.getShapeType()),d):x(a,b,m,l,d,q)}return null}function C(a,b){var c=mxUtils.createXmlDocument(),f=n(c,E.XMLNS,"PageContents");f.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns",E.XMLNS);f.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:r",E.XMLNS_R);var m=n(c,E.XMLNS,"Shapes");f.appendChild(m);var l=a.model,d=a.view.translate,e=a.view.scale,x=a.getGraphBounds();D.shiftX=0;D.shiftY=0;if(x.x/e<d.x||x.y/e<d.y)D.shiftX=Math.ceil((d.x-x.x/e)/a.pageFormat.width)*a.pageFormat.width,D.shiftY=
-Math.ceil((d.y-x.y/e)/a.pageFormat.height)*a.pageFormat.height;D.save();D.translate(-d.x,-d.y);D.scale(1/e);D.newPage();e=a.model.getChildCells(a.model.root);d={};for(x=0;x<e.length;x++)d[e[x].id]=x;for(var q in l.cells)e=l.cells[q],x=null!=e.parent?d[e.parent.id]:null,null!=x&&(e=w(e,x,a,c,b.pageHeight),null!=e&&m.appendChild(e));m=n(c,E.XMLNS,"Connects");f.appendChild(m);for(q in l.cells)e=l.cells[q],e.edge&&(e.source&&(d=n(c,E.XMLNS,"Connect"),d.setAttribute("FromSheet",g(e.id)),d.setAttribute("FromCell",
-"BeginX"),d.setAttribute("ToSheet",g(e.source.id)),m.appendChild(d)),e.target&&(d=n(c,E.XMLNS,"Connect"),d.setAttribute("FromSheet",g(e.id)),d.setAttribute("FromCell","EndX"),d.setAttribute("ToSheet",g(e.target.id)),m.appendChild(d)));c.appendChild(f);D.restore();return c}function A(a,b,c,f){a.file(b,(f?"":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>')+mxUtils.getXml(c,"\n"))}function G(a,c,f,m){var l=mxUtils.createXmlDocument(),e=mxUtils.createXmlDocument(),w=n(l,E.XMLNS,"Pages");w.setAttributeNS("http://www.w3.org/2000/xmlns/",
-"xmlns",E.XMLNS);w.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:r",E.XMLNS_R);var x=n(e,E.RELS_XMLNS,"Relationships"),g=1,q;for(q in c){var C="page"+g+".xml",p=n(l,E.XMLNS,"Page");p.setAttribute("ID",g-1);p.setAttribute("NameU",q);p.setAttribute("Name",q);var G=n(l,E.XMLNS,"PageSheet"),B=m[q];G.appendChild(d("PageWidth",B.pageWidth,l));G.appendChild(d("PageHeight",B.pageHeight,l));G.appendChild(b("PageScale",B.pageScale,l));G.appendChild(b("DrawingScale",1,l));B=n(l,E.XMLNS,"Rel");B.setAttributeNS(E.XMLNS_R,
-"r:id","rId"+g);var K=n(l,E.XMLNS,"Section");K.setAttribute("N","Layer");for(var I=f[q],D=0;D<I.length;D++){var S=n(l,E.XMLNS,"Row");S.setAttribute("IX",D+"");K.appendChild(S);S.appendChild(b("Name",I[D].name,l));S.appendChild(b("Color","255",l));S.appendChild(b("Status","0",l));S.appendChild(b("Visible",I[D].visible?"1":"0",l));S.appendChild(b("Print","1",l));S.appendChild(b("Active","0",l));S.appendChild(b("Lock",I[D].locked?"1":"0",l));S.appendChild(b("Snap","1",l));S.appendChild(b("Glue","1",
-l));S.appendChild(b("NameUniv",I[D].name,l));S.appendChild(b("ColorTrans","0",l))}G.appendChild(K);p.appendChild(G);p.appendChild(B);w.appendChild(p);p=n(e,E.RELS_XMLNS,"Relationship");p.setAttribute("Id","rId"+g);p.setAttribute("Type",E.PAGES_TYPE);p.setAttribute("Target",C);x.appendChild(p);A(a,E.VISIO_PAGES+C,c[q]);g++}l.appendChild(w);e.appendChild(x);A(a,E.VISIO_PAGES+"pages.xml",l);A(a,E.VISIO_PAGES+"_rels/pages.xml.rels",e)}function B(a,b){var c=E.VISIO_PAGES_RELS+"page"+b+".xml.rels",f=mxUtils.createXmlDocument(),
-m=n(f,E.RELS_XMLNS,"Relationships"),l=n(f,E.RELS_XMLNS,"Relationship");l.setAttribute("Type","http://schemas.microsoft.com/visio/2010/relationships/master");l.setAttribute("Id","rId1");l.setAttribute("Target","../masters/master1.xml");m.appendChild(l);var d=D.images;if(0<d.length)for(var e=0;e<d.length;e++)l=n(f,E.RELS_XMLNS,"Relationship"),l.setAttribute("Type",E.XMLNS_R+"/image"),l.setAttribute("Id","rId"+(e+2)),l.setAttribute("Target","../media/"+d[e]),m.appendChild(l);f.appendChild(m);A(a,c,f)}
-var E=this,D=new mxVsdxCanvas2D,K={},S=1;this.exportCurrentDiagrams=function(){try{if(e.spinner.spin(document.body,mxResources.get("exporting"))){var a=function(a,b){var c=a.model.getChildCells(a.model.root);f[b]=[];for(var m=0;m<c.length;m++)c[m].visible&&f[b].push({name:c[m].value||"Background",visible:c[m].visible,locked:c[m].style&&0<=c[m].style.indexOf("locked=1")})},b=new JSZip;D.init(b);K={};S=1;var c={},f={},m={},l=null!=e.pages?e.pages.length:1;if(null!=e.pages){for(var d=e.editor.graph.getSelectionCells(),
-w=e.currentPage,x=0;x<e.pages.length;x++){var g=e.pages[x];e.currentPage!=g&&e.selectPage(g,!0);var n=g.getName(),A=e.editor.graph,E=null;null!=A.themes&&"darkTheme"==A.defaultThemeName&&(E=A.stylesheet,A.stylesheet=A.getDefaultStylesheet(),A.refresh());try{var xa=q(A);c[n]=C(A,xa);a(A,n);B(b,x+1);m[n]=xa}finally{null!=E&&(A.stylesheet=E,A.refresh())}}w!=e.currentPage&&e.selectPage(w,!0);e.editor.graph.setSelectionCells(d)}else A=e.editor.graph,xa=q(A),n="Page1",c[n]=C(A,xa),a(A,n),B(b,1),m[n]=xa;
-p(b,l);G(b,c,f,m);a=function(){b.generateAsync({type:"base64"}).then(function(a){e.spinner.stop();var b=e.getBaseFilename();e.saveData(b+".vsdx","vsdx",a,"application/vnd.visio2013",!0)})};0<D.filesLoading?D.onFilesLoaded=a:a()}return!0}catch(qc){return console.log(qc),e.spinner.stop(),!1}}}VsdxExport.prototype.CONVERSION_FACTOR=101.6;VsdxExport.prototype.PAGES_TYPE="http://schemas.microsoft.com/visio/2010/relationships/page";VsdxExport.prototype.RELS_XMLNS="http://schemas.openxmlformats.org/package/2006/relationships";
+h;for(h in c)if(1<b&&h==E.CONTENT_TYPES_XML){for(var m=mxUtils.parseXml(c[h]),k=m.documentElement,d=k.children,e=null,x=0;x<d.length;x++){var w=d[x];"/visio/pages/page1.xml"==w.getAttribute(E.PART_NAME)&&(e=w)}for(x=2;x<=b;x++)d=e.cloneNode(),d.setAttribute(E.PART_NAME,"/visio/pages/page"+x+".xml"),k.appendChild(d);A(a,h,m,!0)}else a.file(h,c[h])}function n(a,b,c){return null!=a.createElementNS?a.createElementNS(b,c):a.createElement(c)}function f(a){var b=K[a];null==b&&(b=S++,K[a]=b);return b}function q(a){var b=
+{};try{var c=a.getGraphBounds().clone(),h=a.view.scale,m=a.view.translate,k=Math.round(c.x/h)-m.x,d=Math.round(c.y/h)-m.y,e=a.pageFormat.width,x=a.pageFormat.height;0>k&&(k+=Math.ceil((m.x-c.x/h)/e)*e);0>d&&(d+=Math.ceil((m.y-c.y/h)/x)*x);var w=Math.max(1,Math.ceil((c.width/h+k)/e)),f=Math.max(1,Math.ceil((c.height/h+d)/x));b.gridEnabled=a.gridEnabled;b.gridSize=a.gridSize;b.guidesEnabled=a.graphHandler.guidesEnabled;b.pageVisible=a.pageVisible;b.pageScale=a.pageScale;b.pageWidth=a.pageFormat.width*
+w;b.pageHeight=a.pageFormat.height*f;b.backgroundClr=a.background;b.mathEnabled=a.mathEnabled;b.shadowVisible=a.shadowVisible}catch(Db){}return b}function d(a,c,h,m){return b(a,c/E.CONVERSION_FACTOR,h,m)}function b(a,b,c,h){c=n(c,E.XMLNS,"Cell");c.setAttribute("N",a);c.setAttribute("V",b);h&&c.setAttribute("F",h);return c}function a(a,b,c,h,m){var k=n(m,E.XMLNS,"Row");k.setAttribute("T",a);k.setAttribute("IX",b);k.appendChild(d("X",c,m));k.appendChild(d("Y",h,m));return k}function c(a,c,h){var m=
+a.style[mxConstants.STYLE_FILLCOLOR];if(m&&"none"!=m){if(c.appendChild(b("FillForegnd",m,h)),(m=a.style[mxConstants.STYLE_GRADIENTCOLOR])&&"none"!=m){c.appendChild(b("FillBkgnd",m,h));var m=a.style[mxConstants.STYLE_GRADIENT_DIRECTION],k=28;if(m)switch(m){case mxConstants.DIRECTION_EAST:k=25;break;case mxConstants.DIRECTION_WEST:k=27;break;case mxConstants.DIRECTION_NORTH:k=30}c.appendChild(b("FillPattern",k,h))}}else c.appendChild(b("FillPattern",0,h));(m=a.style[mxConstants.STYLE_STROKECOLOR])&&
+"none"!=m?c.appendChild(b("LineColor",m,h)):c.appendChild(b("LinePattern",0,h));(m=a.style[mxConstants.STYLE_STROKEWIDTH])&&c.appendChild(d("LineWeight",m,h));(k=a.style[mxConstants.STYLE_OPACITY])?m=k:(m=a.style[mxConstants.STYLE_FILL_OPACITY],k=a.style[mxConstants.STYLE_STROKE_OPACITY]);m&&c.appendChild(b("FillForegndTrans",1-parseInt(m)/100,h));k&&c.appendChild(b("LineColorTrans",1-parseInt(k)/100,h));if(1==a.style[mxConstants.STYLE_DASHED]){m=a.style[mxConstants.STYLE_DASH_PATTERN];k=9;if(m)switch(m){case "1 1":k=
+10;break;case "1 2":k=3;break;case "1 4":k=17}c.appendChild(b("LinePattern",k,h))}1==a.style[mxConstants.STYLE_SHADOW]&&(c.appendChild(b("ShdwPattern",1,h)),c.appendChild(b("ShdwForegnd","#000000",h)),c.appendChild(b("ShdwForegndTrans",.6,h)),c.appendChild(b("ShapeShdwType",1,h)),c.appendChild(b("ShapeShdwOffsetX","0.02946278254943948",h)),c.appendChild(b("ShapeShdwOffsetY","-0.02946278254943948",h)),c.appendChild(b("ShapeShdwScaleFactor","1",h)),c.appendChild(b("ShapeShdwBlur","0.05555555555555555",
+h)),c.appendChild(b("ShapeShdwShow",2,h)));1==a.style[mxConstants.STYLE_FLIPH]&&c.appendChild(b("FlipX",1,h));1==a.style[mxConstants.STYLE_FLIPV]&&c.appendChild(b("FlipY",1,h));1==a.style[mxConstants.STYLE_ROUNDED]&&c.appendChild(d("Rounding",.1*a.cell.geometry.width,h));(a=a.style[mxConstants.STYLE_LABEL_BACKGROUNDCOLOR])&&c.appendChild(b("TextBkgnd",a,h))}function h(a,c,h,m,k,e){var x=n(m,E.XMLNS,"Shape");x.setAttribute("ID",a);x.setAttribute("NameU","Shape"+a);x.setAttribute("LineStyle","0");x.setAttribute("FillStyle",
+"0");x.setAttribute("TextStyle","0");a=c.width/2;var w=c.height/2;x.appendChild(d("PinX",c.x+a+(e?0:D.shiftX),m));x.appendChild(d("PinY",k-c.y-w-(e?0:D.shiftY),m));x.appendChild(d("Width",c.width,m));x.appendChild(d("Height",c.height,m));x.appendChild(d("LocPinX",a,m));x.appendChild(d("LocPinY",w,m));x.appendChild(b("LayerMember",h+"",m));return x}function m(a,b){var c=E.ARROWS_MAP[(null==a?"none":a)+"|"+(null==b?"1":b)];return null!=c?c:1}function k(a){return null==a?2:2>=a?0:3>=a?1:5>=a?2:7>=a?
+3:9>=a?4:22>=a?5:6}function x(h,e,x,w,q,p){var B=x.view.getState(h,!0);if(null==B||null==B.absolutePoints||null==B.cellBounds)return null;x=n(w,E.XMLNS,"Shape");var A=f(h.id);x.setAttribute("ID",A);x.setAttribute("NameU","Dynamic connector."+A);x.setAttribute("Name","Dynamic connector."+A);x.setAttribute("Type","Shape");x.setAttribute("Master","4");var G=D.state,A=B.absolutePoints,C=B.cellBounds,I=C.width/2,K=C.height/2;x.appendChild(d("PinX",C.x+I,w));x.appendChild(d("PinY",q-C.y-K,w));x.appendChild(d("Width",
+C.width,w));x.appendChild(d("Height",C.height,w));x.appendChild(d("LocPinX",I,w));x.appendChild(d("LocPinY",K,w));D.newEdge(x,B,w);I=function(a,b){var c=a.x,h=a.y,c=c*G.scale-C.x+G.dx+(p?0:D.shiftX),h=(b?0:C.height)-h*G.scale+C.y-G.dy-(p?0:D.shiftY);return{x:c,y:h}};K=I(A[0],!0);x.appendChild(d("BeginX",C.x+K.x,w,"_WALKGLUE(BegTrigger,EndTrigger,WalkPreference)"));x.appendChild(d("BeginY",q-C.y+K.y,w,"_WALKGLUE(BegTrigger,EndTrigger,WalkPreference)"));K=I(A[A.length-1],!0);x.appendChild(d("EndX",
+C.x+K.x,w,"_WALKGLUE(EndTrigger,BegTrigger,WalkPreference)"));x.appendChild(d("EndY",q-C.y+K.y,w,"_WALKGLUE(EndTrigger,BegTrigger,WalkPreference)"));x.appendChild(b("BegTrigger","2",w,h.source?"_XFTRIGGER(Sheet."+f(h.source.id)+"!EventXFMod)":null));x.appendChild(b("EndTrigger","2",w,h.target?"_XFTRIGGER(Sheet."+f(h.target.id)+"!EventXFMod)":null));x.appendChild(b("ConFixedCode","6",w));x.appendChild(b("LayerMember",e+"",w));c(B,x,w);e=B.style[mxConstants.STYLE_STARTSIZE];h=m(B.style[mxConstants.STYLE_STARTARROW],
+B.style[mxConstants.STYLE_STARTFILL]);x.appendChild(b("BeginArrow",h,w));x.appendChild(b("BeginArrowSize",k(e),w));e=B.style[mxConstants.STYLE_ENDSIZE];h=m(B.style[mxConstants.STYLE_ENDARROW],B.style[mxConstants.STYLE_ENDFILL]);x.appendChild(b("EndArrow",h,w));x.appendChild(b("EndArrowSize",k(e),w));null!=B.text&&B.text.checkBounds()&&(D.save(),B.text.paint(D),D.restore());B=n(w,E.XMLNS,"Section");B.setAttribute("N","Geometry");B.setAttribute("IX","0");for(h=0;h<A.length;h++)e=I(A[h]),B.appendChild(a(0==
+h?"MoveTo":"LineTo",h+1,e.x,e.y,w));B.appendChild(b("NoFill","1",w));B.appendChild(b("NoLine","0",w));x.appendChild(B);return x}function w(a,b,m,k,d,e,q){var B=a.geometry;if(null!=B){B.relative&&e&&(B=B.clone(),B.x*=e.width,B.y*=e.height,B.relative=0);e=f(a.id);if(!a.treatAsSingle&&0<a.getChildCount()){d=h(e+"10000",B,b,k,d,q);d.setAttribute("Type","Group");q=n(k,E.XMLNS,"Shapes");D.save();D.translate(-B.x,-B.y);e=B.clone();e.x=0;e.y=0;a.setGeometry(e);a.treatAsSingle=!0;e=w(a,b,m,k,B.height,B,!0);
+a.treatAsSingle=!1;a.setGeometry(B);null!=e&&q.appendChild(e);for(var p=0;p<a.getChildCount();p++)e=w(a.children[p],b,m,k,B.height,B,!0),null!=e&&q.appendChild(e);d.appendChild(q);D.restore();return d}return a.vertex?(d=h(e,B,b,k,d,q),a=m.view.getState(a,!0),c(a,d,k),D.newShape(d,a,k),null!=a.text&&a.text.checkBounds()&&(D.save(),a.text.paint(D),D.restore()),null!=a.shape&&a.shape.checkBounds()&&(D.save(),a.shape.paint(D),D.restore()),d.appendChild(D.getShapeGeo()),D.endShape(),d.setAttribute("Type",
+D.getShapeType()),d):x(a,b,m,k,d,q)}return null}function B(a,b){var c=mxUtils.createXmlDocument(),h=n(c,E.XMLNS,"PageContents");h.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns",E.XMLNS);h.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:r",E.XMLNS_R);var m=n(c,E.XMLNS,"Shapes");h.appendChild(m);var k=a.model,d=a.view.translate,e=a.view.scale,x=a.getGraphBounds();D.shiftX=0;D.shiftY=0;if(x.x/e<d.x||x.y/e<d.y)D.shiftX=Math.ceil((d.x-x.x/e)/a.pageFormat.width)*a.pageFormat.width,D.shiftY=
+Math.ceil((d.y-x.y/e)/a.pageFormat.height)*a.pageFormat.height;D.save();D.translate(-d.x,-d.y);D.scale(1/e);D.newPage();e=a.model.getChildCells(a.model.root);d={};for(x=0;x<e.length;x++)d[e[x].id]=x;for(var q in k.cells)e=k.cells[q],x=null!=e.parent?d[e.parent.id]:null,null!=x&&(e=w(e,x,a,c,b.pageHeight),null!=e&&m.appendChild(e));m=n(c,E.XMLNS,"Connects");h.appendChild(m);for(q in k.cells)e=k.cells[q],e.edge&&(e.source&&(d=n(c,E.XMLNS,"Connect"),d.setAttribute("FromSheet",f(e.id)),d.setAttribute("FromCell",
+"BeginX"),d.setAttribute("ToSheet",f(e.source.id)),m.appendChild(d)),e.target&&(d=n(c,E.XMLNS,"Connect"),d.setAttribute("FromSheet",f(e.id)),d.setAttribute("FromCell","EndX"),d.setAttribute("ToSheet",f(e.target.id)),m.appendChild(d)));c.appendChild(h);D.restore();return c}function A(a,b,c,h){a.file(b,(h?"":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>')+mxUtils.getXml(c,"\n"))}function G(a,c,h,m){var k=mxUtils.createXmlDocument(),e=mxUtils.createXmlDocument(),x=n(k,E.XMLNS,"Pages");x.setAttributeNS("http://www.w3.org/2000/xmlns/",
+"xmlns",E.XMLNS);x.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:r",E.XMLNS_R);var w=n(e,E.RELS_XMLNS,"Relationships"),f=1,q;for(q in c){var B="page"+f+".xml",p=n(k,E.XMLNS,"Page");p.setAttribute("ID",f-1);p.setAttribute("NameU",q);p.setAttribute("Name",q);var G=n(k,E.XMLNS,"PageSheet"),C=m[q];G.appendChild(d("PageWidth",C.pageWidth,k));G.appendChild(d("PageHeight",C.pageHeight,k));G.appendChild(b("PageScale",C.pageScale,k));G.appendChild(b("DrawingScale",1,k));C=n(k,E.XMLNS,"Rel");C.setAttributeNS(E.XMLNS_R,
+"r:id","rId"+f);var K=n(k,E.XMLNS,"Section");K.setAttribute("N","Layer");for(var I=h[q],D=0;D<I.length;D++){var S=n(k,E.XMLNS,"Row");S.setAttribute("IX",D+"");K.appendChild(S);S.appendChild(b("Name",I[D].name,k));S.appendChild(b("Color","255",k));S.appendChild(b("Status","0",k));S.appendChild(b("Visible",I[D].visible?"1":"0",k));S.appendChild(b("Print","1",k));S.appendChild(b("Active","0",k));S.appendChild(b("Lock",I[D].locked?"1":"0",k));S.appendChild(b("Snap","1",k));S.appendChild(b("Glue","1",
+k));S.appendChild(b("NameUniv",I[D].name,k));S.appendChild(b("ColorTrans","0",k))}G.appendChild(K);p.appendChild(G);p.appendChild(C);x.appendChild(p);p=n(e,E.RELS_XMLNS,"Relationship");p.setAttribute("Id","rId"+f);p.setAttribute("Type",E.PAGES_TYPE);p.setAttribute("Target",B);w.appendChild(p);A(a,E.VISIO_PAGES+B,c[q]);f++}k.appendChild(x);e.appendChild(w);A(a,E.VISIO_PAGES+"pages.xml",k);A(a,E.VISIO_PAGES+"_rels/pages.xml.rels",e)}function C(a,b){var c=E.VISIO_PAGES_RELS+"page"+b+".xml.rels",h=mxUtils.createXmlDocument(),
+m=n(h,E.RELS_XMLNS,"Relationships"),k=n(h,E.RELS_XMLNS,"Relationship");k.setAttribute("Type","http://schemas.microsoft.com/visio/2010/relationships/master");k.setAttribute("Id","rId1");k.setAttribute("Target","../masters/master1.xml");m.appendChild(k);var d=D.images;if(0<d.length)for(var e=0;e<d.length;e++)k=n(h,E.RELS_XMLNS,"Relationship"),k.setAttribute("Type",E.XMLNS_R+"/image"),k.setAttribute("Id","rId"+(e+2)),k.setAttribute("Target","../media/"+d[e]),m.appendChild(k);h.appendChild(m);A(a,c,h)}
+var E=this,D=new mxVsdxCanvas2D,K={},S=1;this.exportCurrentDiagrams=function(){try{if(e.spinner.spin(document.body,mxResources.get("exporting"))){var a=function(a,b){var c=a.model.getChildCells(a.model.root);h[b]=[];for(var m=0;m<c.length;m++)c[m].visible&&h[b].push({name:c[m].value||"Background",visible:c[m].visible,locked:c[m].style&&0<=c[m].style.indexOf("locked=1")})},b=new JSZip;D.init(b);K={};S=1;var c={},h={},m={},k=null!=e.pages?e.pages.length:1;if(null!=e.pages){for(var d=e.editor.graph.getSelectionCells(),
+x=e.currentPage,w=0;w<e.pages.length;w++){var f=e.pages[w];e.currentPage!=f&&e.selectPage(f,!0);var n=f.getName(),A=e.editor.graph,E=null;null!=A.themes&&"darkTheme"==A.defaultThemeName&&(E=A.stylesheet,A.stylesheet=A.getDefaultStylesheet(),A.refresh());try{var ma=q(A);c[n]=B(A,ma);a(A,n);C(b,w+1);m[n]=ma}finally{null!=E&&(A.stylesheet=E,A.refresh())}}x!=e.currentPage&&e.selectPage(x,!0);e.editor.graph.setSelectionCells(d)}else A=e.editor.graph,ma=q(A),n="Page1",c[n]=B(A,ma),a(A,n),C(b,1),m[n]=ma;
+p(b,k);G(b,c,h,m);a=function(){b.generateAsync({type:"base64"}).then(function(a){e.spinner.stop();var b=e.getBaseFilename();e.saveData(b+".vsdx","vsdx",a,"application/vnd.visio2013",!0)})};0<D.filesLoading?D.onFilesLoaded=a:a()}return!0}catch(sc){return console.log(sc),e.spinner.stop(),!1}}}VsdxExport.prototype.CONVERSION_FACTOR=101.6;VsdxExport.prototype.PAGES_TYPE="http://schemas.microsoft.com/visio/2010/relationships/page";VsdxExport.prototype.RELS_XMLNS="http://schemas.openxmlformats.org/package/2006/relationships";
VsdxExport.prototype.XML_SPACE="preserve";VsdxExport.prototype.XMLNS_R="http://schemas.openxmlformats.org/officeDocument/2006/relationships";VsdxExport.prototype.XMLNS="http://schemas.microsoft.com/office/visio/2012/main";VsdxExport.prototype.VISIO_PAGES="visio/pages/";VsdxExport.prototype.PREFEX="com/mxgraph/io/vsdx/resources/export/";VsdxExport.prototype.VSDX_ENC="ISO-8859-1";VsdxExport.prototype.PART_NAME="PartName";VsdxExport.prototype.CONTENT_TYPES_XML="[Content_Types].xml";
VsdxExport.prototype.VISIO_PAGES_RELS="visio/pages/_rels/";
VsdxExport.prototype.ARROWS_MAP={"none|1":0,"none|0":0,"open|1":1,"open|0":1,"block|1":4,"block|0":14,"classic|1":5,"classic|0":17,"oval|1":10,"oval|0":20,"diamond|1":11,"diamond|0":22,"blockThin|1":2,"blockThin|0":15,"dash|1":23,"dash|0":23,"ERone|1":24,"ERone|0":24,"ERmandOne|1":25,"ERmandOne|0":25,"ERmany|1":27,"ERmany|0":27,"ERoneToMany|1":28,"ERoneToMany|0":28,"ERzeroToMany|1":29,"ERzeroToMany|0":29,"ERzeroToOne|1":30,"ERzeroToOne|0":30,"openAsync|1":9,"openAsync|0":9};function mxVsdxCanvas2D(){mxAbstractCanvas2D.call(this)}mxUtils.extend(mxVsdxCanvas2D,mxAbstractCanvas2D);mxVsdxCanvas2D.prototype.textEnabled=!0;mxVsdxCanvas2D.prototype.init=function(e){this.filesLoading=0;this.zip=e};mxVsdxCanvas2D.prototype.onFilesLoaded=function(){};mxVsdxCanvas2D.prototype.createElt=function(e){return null!=this.xmlDoc.createElementNS?this.xmlDoc.createElementNS(VsdxExport.prototype.XMLNS,e):this.xmlDoc.createElement(e)};
mxVsdxCanvas2D.prototype.createGeoSec=function(){null!=this.geoSec&&this.shape.appendChild(this.geoSec);var e=this.createElt("Section");e.setAttribute("N","Geometry");e.setAttribute("IX",this.geoIndex++);this.geoSec=e;this.geoStepIndex=1;this.lastMoveToY=this.lastMoveToX=this.lastY=this.lastX=0};mxVsdxCanvas2D.prototype.newShape=function(e,p,n){this.geoIndex=0;this.shape=e;this.cellState=p;this.xmGeo=p.cell.geometry;this.xmlDoc=n;this.shapeImg=this.geoSec=null;this.shapeType="Shape";this.createGeoSec()};
mxVsdxCanvas2D.prototype.newEdge=function(e,p,n){this.shape=e;this.cellState=p;this.xmGeo=p.cellBounds;this.xmlDoc=n};mxVsdxCanvas2D.prototype.endShape=function(){null!=this.shapeImg&&this.addForeignData(this.shapeImg.type,this.shapeImg.id)};mxVsdxCanvas2D.prototype.newPage=function(){this.images=[]};mxVsdxCanvas2D.prototype.getShapeType=function(){return this.shapeType};mxVsdxCanvas2D.prototype.getShapeGeo=function(){return this.geoSec};
-mxVsdxCanvas2D.prototype.createCellElemScaled=function(e,p,n){return this.createCellElem(e,p/VsdxExport.prototype.CONVERSION_FACTOR,n)};mxVsdxCanvas2D.prototype.createCellElem=function(e,p,n){var g=this.createElt("Cell");g.setAttribute("N",e);g.setAttribute("V",p);n&&g.setAttribute("F",n);return g};
-mxVsdxCanvas2D.prototype.createRowScaled=function(e,p,n,g,q,d,b,a,c,f,m,l,x,w){return this.createRowRel(e,p,n/VsdxExport.prototype.CONVERSION_FACTOR,g/VsdxExport.prototype.CONVERSION_FACTOR,q/VsdxExport.prototype.CONVERSION_FACTOR,d/VsdxExport.prototype.CONVERSION_FACTOR,b/VsdxExport.prototype.CONVERSION_FACTOR,a/VsdxExport.prototype.CONVERSION_FACTOR,c,f,m,l,x,w)};
-mxVsdxCanvas2D.prototype.createRowRel=function(e,p,n,g,q,d,b,a,c,f,m,l,x,w){var C=this.createElt("Row");C.setAttribute("T",e);C.setAttribute("IX",p);C.appendChild(this.createCellElem("X",n,c));C.appendChild(this.createCellElem("Y",g,f));null!=q&&C.appendChild(this.createCellElem("A",q,m));null!=d&&C.appendChild(this.createCellElem("B",d,l));null!=b&&C.appendChild(this.createCellElem("C",b,x));null!=a&&C.appendChild(this.createCellElem("D",a,w));return C};
+mxVsdxCanvas2D.prototype.createCellElemScaled=function(e,p,n){return this.createCellElem(e,p/VsdxExport.prototype.CONVERSION_FACTOR,n)};mxVsdxCanvas2D.prototype.createCellElem=function(e,p,n){var f=this.createElt("Cell");f.setAttribute("N",e);f.setAttribute("V",p);n&&f.setAttribute("F",n);return f};
+mxVsdxCanvas2D.prototype.createRowScaled=function(e,p,n,f,q,d,b,a,c,h,m,k,x,w){return this.createRowRel(e,p,n/VsdxExport.prototype.CONVERSION_FACTOR,f/VsdxExport.prototype.CONVERSION_FACTOR,q/VsdxExport.prototype.CONVERSION_FACTOR,d/VsdxExport.prototype.CONVERSION_FACTOR,b/VsdxExport.prototype.CONVERSION_FACTOR,a/VsdxExport.prototype.CONVERSION_FACTOR,c,h,m,k,x,w)};
+mxVsdxCanvas2D.prototype.createRowRel=function(e,p,n,f,q,d,b,a,c,h,m,k,x,w){var B=this.createElt("Row");B.setAttribute("T",e);B.setAttribute("IX",p);B.appendChild(this.createCellElem("X",n,c));B.appendChild(this.createCellElem("Y",f,h));null!=q&&B.appendChild(this.createCellElem("A",q,m));null!=d&&B.appendChild(this.createCellElem("B",d,k));null!=b&&B.appendChild(this.createCellElem("C",b,x));null!=a&&B.appendChild(this.createCellElem("D",a,w));return B};
mxVsdxCanvas2D.prototype.begin=function(){1<this.geoStepIndex&&this.createGeoSec()};
-mxVsdxCanvas2D.prototype.rect=function(e,p,n,g){1<this.geoStepIndex&&this.createGeoSec();var q=this.state;n*=q.scale;g*=q.scale;var d=this.xmGeo;e=(e-d.x+q.dx)*q.scale;p=(d.height-p+d.y-q.dy)*q.scale;this.geoSec.appendChild(this.createRowScaled("MoveTo",this.geoStepIndex++,e,p));this.geoSec.appendChild(this.createRowScaled("LineTo",this.geoStepIndex++,e+n,p));this.geoSec.appendChild(this.createRowScaled("LineTo",this.geoStepIndex++,e+n,p-g));this.geoSec.appendChild(this.createRowScaled("LineTo",this.geoStepIndex++,
-e,p-g));this.geoSec.appendChild(this.createRowScaled("LineTo",this.geoStepIndex++,e,p))};mxVsdxCanvas2D.prototype.roundrect=function(e,p,n,g,q,d){this.rect(e,p,n,g);this.shape.appendChild(this.createCellElemScaled("Rounding",q))};
-mxVsdxCanvas2D.prototype.ellipse=function(e,p,n,g){1<this.geoStepIndex&&this.createGeoSec();var q=this.state;n*=q.scale;g*=q.scale;var d=this.xmGeo,b=d.height*q.scale,a=d.width*q.scale;e=(e-d.x+q.dx)*q.scale;p=b+(-p+d.y-q.dy)*q.scale;this.geoSec.appendChild(this.createRowScaled("Ellipse",this.geoStepIndex++,e+n/2,p-g/2,e,p-g/2,e+n/2,p,"Width*"+(e+n/2)/a,"Height*"+(p-g/2)/b,"Width*"+e/a,"Height*"+(p-g/2)/b,"Width*"+(e+n/2)/a,"Height*"+p/b))};
-mxVsdxCanvas2D.prototype.moveTo=function(e,p){1<this.geoStepIndex&&this.createGeoSec();this.lastMoveToX=e;this.lastMoveToY=p;this.lastX=e;this.lastY=p;var n=this.xmGeo,g=this.state;e=(e-n.x+g.dx)*g.scale;p=(n.height-p+n.y-g.dy)*g.scale;var q=n.height*g.scale,n=n.width*g.scale;this.geoSec.appendChild(this.createRowRel("RelMoveTo",this.geoStepIndex++,e/n,p/q))};
-mxVsdxCanvas2D.prototype.lineTo=function(e,p){this.lastX=e;this.lastY=p;var n=this.xmGeo,g=this.state;e=(e-n.x+g.dx)*g.scale;p=(n.height-p+n.y-g.dy)*g.scale;var q=n.height*g.scale,n=n.width*g.scale;this.geoSec.appendChild(this.createRowRel("RelLineTo",this.geoStepIndex++,e/n,p/q))};
-mxVsdxCanvas2D.prototype.quadTo=function(e,p,n,g){this.lastX=n;this.lastY=g;var q=this.state,d=this.xmGeo,b=d.height*q.scale,a=d.width*q.scale;e=(e-d.x+q.dx)*q.scale;p=(d.height-p+d.y-q.dy)*q.scale;n=(n-d.x+q.dx)*q.scale;g=(d.height-g+d.y-q.dy)*q.scale;this.geoSec.appendChild(this.createRowRel("RelQuadBezTo",this.geoStepIndex++,n/a,g/b,e/a,p/b))};
-mxVsdxCanvas2D.prototype.curveTo=function(e,p,n,g,q,d){this.lastX=q;this.lastY=d;var b=this.state,a=this.xmGeo,c=a.height*b.scale,f=a.width*b.scale;e=(e-a.x+b.dx)*b.scale;p=(a.height-p+a.y-b.dy)*b.scale;n=(n-a.x+b.dx)*b.scale;g=(a.height-g+a.y-b.dy)*b.scale;q=(q-a.x+b.dx)*b.scale;d=(a.height-d+a.y-b.dy)*b.scale;this.geoSec.appendChild(this.createRowRel("RelCubBezTo",this.geoStepIndex++,q/f,d/c,e/f,p/c,n/f,g/c))};
-mxVsdxCanvas2D.prototype.close=function(){this.lastMoveToX==this.lastX&&this.lastMoveToY==this.lastY||this.lineTo(this.lastMoveToX,this.lastMoveToY)};mxVsdxCanvas2D.prototype.addForeignData=function(e,p){var n=this.createElt("ForeignData");n.setAttribute("ForeignType","Bitmap");e=e.toUpperCase();"BMP"!=e&&n.setAttribute("CompressionType",e);var g=this.createElt("Rel");g.setAttribute("r:id","rId"+p);n.appendChild(g);this.shape.appendChild(n);this.shapeType="Foreign"};
-mxVsdxCanvas2D.prototype.convertSvg2Png=function(e,p,n){var g=this;this.filesLoading++;try{var q=document.createElement("canvas"),d=q.getContext("2d");p||(e=String.fromCharCode.apply(null,new Uint8Array(e)),e=window.btoa?btoa(e):Base64.encode(e,!0));p="data:image/svg+xml;base64,"+e;img=new Image;img.onload=function(){q.width=this.width;q.height=this.height;d.drawImage(this,0,0);try{n(q.toDataURL("image/png"))}catch(b){}g.filesLoading--;if(0==g.filesLoading)g.onFilesLoaded()};img.onerror=function(){console.log("SVG2PNG conversion failed");
-try{n(e)}catch(b){}g.filesLoading--;if(0==g.filesLoading)g.onFilesLoaded()};img.src=p}catch(b){console.log("SVG2PNG conversion failed"+b.message);try{n(e)}catch(a){}this.filesLoading--;if(0==g.filesLoading)g.onFilesLoaded()}};
-mxVsdxCanvas2D.prototype.image=function(e,p,n,g,q,d,b,a){var c=this,f="image"+(this.images.length+1)+".",m;if(0==q.indexOf("data:"))m=q.indexOf("base64,"),d=q.substring(m+7),m=q.substring(11,m-1),0==m.indexOf("svg")?(m="png",f+=m,this.convertSvg2Png(d,!0,function(a){c.zip.file("visio/media/"+f,a.substring(22),{base64:!0})})):(f+=m,this.zip.file("visio/media/"+f,d,{base64:!0}));else if(window.XMLHttpRequest){q=this.converter.convert(q);this.filesLoading++;m=q.lastIndexOf(".");m=q.substring(m+1);var l=
-!1;0==m.indexOf("svg")&&(m="png",l=!0);f+=m;d=new XMLHttpRequest;d.open("GET",q,!0);d.responseType="arraybuffer";d.onreadystatechange=function(a){if(4==this.readyState&&(200==this.status&&(l?c.convertSvg2Png(this.response,!1,function(a){c.zip.file("visio/media/"+f,a.substring(22),{base64:!0})}):c.zip.file("visio/media/"+f,this.response)),c.filesLoading--,0==c.filesLoading))c.onFilesLoaded()};d.send()}this.images.push(f);this.shapeImg={type:m,id:this.images.length+1};q=this.state;n*=q.scale;g*=q.scale;
-m=this.xmGeo;e=(e-m.x+q.dx)*q.scale;p=(m.height-p+m.y-q.dy)*q.scale;this.shape.appendChild(this.createCellElemScaled("ImgOffsetX",e));this.shape.appendChild(this.createCellElemScaled("ImgOffsetY",p-g));this.shape.appendChild(this.createCellElemScaled("ImgWidth",n));this.shape.appendChild(this.createCellElemScaled("ImgHeight",g))};
-mxVsdxCanvas2D.prototype.text=function(e,p,n,g,q,d,b,a,c,f,m,l,x){var w=this;if(this.textEnabled&&null!=q){mxUtils.isNode(q)&&(q=mxUtils.getOuterHtml(q));0==n&&0==g&&(g=mxUtils.getSizeForString(q,w.cellState.style.fontSize,w.cellState.style.fontFamily),n=2*g.width,g=2*g.height);"html"==c&&("0"!=mxUtils.getValue(this.cellState.style,"nl2Br","1")&&(q=q.replace(/\n/g,"").replace(/<br\s*.?>/g,"\n")),null==this.html2txtDiv&&(this.html2txtDiv=document.createElement("div")),this.html2txtDiv.innerHTML=Graph.sanitizeHtml(q),
-q=mxUtils.extractTextWithWhitespace(this.html2txtDiv.childNodes));f=this.state;m=this.xmGeo;n*=f.scale;g*=f.scale;var C=this.createElt("Section");C.setAttribute("N","Character");var A=this.createElt("Section");A.setAttribute("N","Paragraph");var G=this.createElt("Text"),B=0,E=0,D=0,K=0,S=0,I=0,Z=0,T=function(b,c,f,m,l){var d=b.fontSize,e=b.fontFamily,x=mxUtils.getSizeForString(l,d,e);a&&x.width>n&&(x=mxUtils.getSizeForString(l,d,e,n));b.blockElem?(S+=x.width,D=Math.min(Math.max(D,S),n),S=0,I=Math.max(I,
-x.height),K+=I+Z,Z=I,I=0):(S+=x.width,D=Math.min(Math.max(D,S),n),I=Math.max(I,x.height),K=Math.max(K,I));x=w.createElt("Row");x.setAttribute("IX",B);b.fontColor&&x.appendChild(w.createCellElem("Color",b.fontColor));d&&x.appendChild(w.createCellElemScaled("Size",.97*d));e&&x.appendChild(w.createCellElem("Font",e));d=0;b.bold&&(d|=17);b.italic&&(d|=34);b.underline&&(d|=4);x.appendChild(w.createCellElem("Style",d));x.appendChild(w.createCellElem("Case","0"));x.appendChild(w.createCellElem("Pos","0"));
-x.appendChild(w.createCellElem("FontScale","1"));x.appendChild(w.createCellElem("Letterspace","0"));c.appendChild(x);c=w.createElt("Row");c.setAttribute("IX",E);switch(b.align){case "left":d=0;break;case "center":d=1;break;case "right":d=2;break;case "start":d=0;break;case "end":d=2;break;case "justify":d=0;break;default:d=1}c.appendChild(w.createCellElem("HorzAlign",d));f.appendChild(c);f=w.createElt("cp");f.setAttribute("IX",B++);m.appendChild(f);b=w.xmlDoc.createTextNode(l+(b.blockElem?"\n":""));
-m.appendChild(b)},R=function(a,b){b=b||{};for(var c=0;c<a.length;c++){var f=a[c];if(3==f.nodeType){var m=w.cellState.style.fontStyle,l={fontColor:b.fontColor||w.cellState.style.fontColor,fontSize:b.fontSize||w.cellState.style.fontSize,fontFamily:b.fontFamily||w.cellState.style.fontFamily,align:b.align||w.cellState.style.align,bold:b.bold||m&1,italic:b.italic||m&2,underline:b.underline||m&4},m=!1;c+1<a.length&&"BR"==a[c+1].nodeName.toUpperCase()&&(m=!0,c++);T(l,C,A,G,(b.OL?b.LiIndex+". ":"")+f.textContent+
-(m?"\n":""))}else if(1==f.nodeType){var m=f.nodeName.toUpperCase(),d=f.childNodes.length,l=window.getComputedStyle(f,null),e="bold"==l.getPropertyValue("font-weight")||b.bold,x="italic"==l.getPropertyValue("font-style")||b.italic,g=0<=l.getPropertyValue("text-decoration").indexOf("underline")||b.underline,q=l.getPropertyValue("text-align"),n;n=l.getPropertyValue("color");n=(n=n.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===n.length?"#"+("0"+parseInt(n[1],10).toString(16)).slice(-2)+
-("0"+parseInt(n[2],10).toString(16)).slice(-2)+("0"+parseInt(n[3],10).toString(16)).slice(-2):"";l={bold:e,italic:x,underline:g,align:q,fontColor:n,fontSize:parseFloat(l.getPropertyValue("font-size")),fontFamily:l.getPropertyValue("font-family").replace(/"/g,""),blockElem:"block"==l.getPropertyValue("display")||"BR"==m||"LI"==m,OL:b.OL,LiIndex:b.LiIndex};"UL"==m?(e=w.createElt("Row"),e.setAttribute("IX",E),e.appendChild(w.createCellElem("HorzAlign","0")),e.appendChild(w.createCellElem("Bullet","1")),
-A.appendChild(e),e=w.createElt("pp"),e.setAttribute("IX",E++),G.appendChild(e)):"OL"==m?l.OL=!0:"LI"==m&&(l.LiIndex=c+1);0<d?(R(f.childNodes,l),"UL"==m&&(e=w.createElt("Row"),e.setAttribute("IX",E),e.appendChild(w.createCellElem("Bullet","0")),A.appendChild(e),e=w.createElt("pp"),e.setAttribute("IX",E++),G.appendChild(e)),T(l,C,A,G,"")):T(l,C,A,G,(b.OL?b.LiIndex+". ":"")+f.textContent)}}};"html"==c&&mxClient.IS_SVG?(q=this.cellState.text.node.getElementsByTagName("div")[mxClient.NO_FO?0:1],null!=
-q&&R(q.childNodes,{})):T({fontColor:w.cellState.style.fontColor,fontSize:w.cellState.style.fontSize,fontFamily:w.cellState.style.fontFamily},C,A,G,q);c=q=0;g=Math.max(g,K);n=Math.max(n,D);x=n/2;var aa=g/2,ka=parseInt(mxUtils.getValue(this.cellState.style,"rotation","0")),ea=ka*Math.PI/180;switch(d){case "right":0!=ka?(e-=x*Math.cos(ea),p-=x*Math.sin(ea)):q=D/2;break;case "left":0!=ka?(e+=x*Math.cos(ea),p+=x*Math.sin(ea)):q=-D/2}switch(b){case "top":0!=ka?(e+=aa*Math.sin(ea),p+=aa*Math.cos(ea)):c=
-K/2;break;case "bottom":0!=ka?(e-=aa*Math.sin(ea),p-=aa*Math.cos(ea)):c=-K/2}e=(e-m.x+f.dx)*f.scale;p=(m.height-p+m.y-f.dy)*f.scale;this.shape.appendChild(this.createCellElemScaled("TxtPinX",e));this.shape.appendChild(this.createCellElemScaled("TxtPinY",p));this.shape.appendChild(this.createCellElemScaled("TxtWidth",n));this.shape.appendChild(this.createCellElemScaled("TxtHeight",g));this.shape.appendChild(this.createCellElemScaled("TxtLocPinX",x+q));this.shape.appendChild(this.createCellElemScaled("TxtLocPinY",
-aa+c));l-=ka;0!=l&&this.shape.appendChild(this.createCellElem("TxtAngle",(360-l)*Math.PI/180));this.shape.appendChild(C);this.shape.appendChild(A);this.shape.appendChild(G)}};mxVsdxCanvas2D.prototype.rotate=function(e,p,n,g,q){0!=e&&(p=this.state,g+=p.dx,q+=p.dy,g*=p.scale,q*=p.scale,this.shape.appendChild(this.createCellElem("Angle",(360-e)*Math.PI/180)),p.rotation+=e,p.rotationCx=g,p.rotationCy=q)};
+mxVsdxCanvas2D.prototype.rect=function(e,p,n,f){1<this.geoStepIndex&&this.createGeoSec();var q=this.state;n*=q.scale;f*=q.scale;var d=this.xmGeo;e=(e-d.x+q.dx)*q.scale;p=(d.height-p+d.y-q.dy)*q.scale;this.geoSec.appendChild(this.createRowScaled("MoveTo",this.geoStepIndex++,e,p));this.geoSec.appendChild(this.createRowScaled("LineTo",this.geoStepIndex++,e+n,p));this.geoSec.appendChild(this.createRowScaled("LineTo",this.geoStepIndex++,e+n,p-f));this.geoSec.appendChild(this.createRowScaled("LineTo",this.geoStepIndex++,
+e,p-f));this.geoSec.appendChild(this.createRowScaled("LineTo",this.geoStepIndex++,e,p))};mxVsdxCanvas2D.prototype.roundrect=function(e,p,n,f,q,d){this.rect(e,p,n,f);this.shape.appendChild(this.createCellElemScaled("Rounding",q))};
+mxVsdxCanvas2D.prototype.ellipse=function(e,p,n,f){1<this.geoStepIndex&&this.createGeoSec();var q=this.state;n*=q.scale;f*=q.scale;var d=this.xmGeo,b=d.height*q.scale,a=d.width*q.scale;e=(e-d.x+q.dx)*q.scale;p=b+(-p+d.y-q.dy)*q.scale;this.geoSec.appendChild(this.createRowScaled("Ellipse",this.geoStepIndex++,e+n/2,p-f/2,e,p-f/2,e+n/2,p,"Width*"+(e+n/2)/a,"Height*"+(p-f/2)/b,"Width*"+e/a,"Height*"+(p-f/2)/b,"Width*"+(e+n/2)/a,"Height*"+p/b))};
+mxVsdxCanvas2D.prototype.moveTo=function(e,p){1<this.geoStepIndex&&this.createGeoSec();this.lastMoveToX=e;this.lastMoveToY=p;this.lastX=e;this.lastY=p;var n=this.xmGeo,f=this.state;e=(e-n.x+f.dx)*f.scale;p=(n.height-p+n.y-f.dy)*f.scale;var q=n.height*f.scale,n=n.width*f.scale;this.geoSec.appendChild(this.createRowRel("RelMoveTo",this.geoStepIndex++,e/n,p/q))};
+mxVsdxCanvas2D.prototype.lineTo=function(e,p){this.lastX=e;this.lastY=p;var n=this.xmGeo,f=this.state;e=(e-n.x+f.dx)*f.scale;p=(n.height-p+n.y-f.dy)*f.scale;var q=n.height*f.scale,n=n.width*f.scale;this.geoSec.appendChild(this.createRowRel("RelLineTo",this.geoStepIndex++,e/n,p/q))};
+mxVsdxCanvas2D.prototype.quadTo=function(e,p,n,f){this.lastX=n;this.lastY=f;var q=this.state,d=this.xmGeo,b=d.height*q.scale,a=d.width*q.scale;e=(e-d.x+q.dx)*q.scale;p=(d.height-p+d.y-q.dy)*q.scale;n=(n-d.x+q.dx)*q.scale;f=(d.height-f+d.y-q.dy)*q.scale;this.geoSec.appendChild(this.createRowRel("RelQuadBezTo",this.geoStepIndex++,n/a,f/b,e/a,p/b))};
+mxVsdxCanvas2D.prototype.curveTo=function(e,p,n,f,q,d){this.lastX=q;this.lastY=d;var b=this.state,a=this.xmGeo,c=a.height*b.scale,h=a.width*b.scale;e=(e-a.x+b.dx)*b.scale;p=(a.height-p+a.y-b.dy)*b.scale;n=(n-a.x+b.dx)*b.scale;f=(a.height-f+a.y-b.dy)*b.scale;q=(q-a.x+b.dx)*b.scale;d=(a.height-d+a.y-b.dy)*b.scale;this.geoSec.appendChild(this.createRowRel("RelCubBezTo",this.geoStepIndex++,q/h,d/c,e/h,p/c,n/h,f/c))};
+mxVsdxCanvas2D.prototype.close=function(){this.lastMoveToX==this.lastX&&this.lastMoveToY==this.lastY||this.lineTo(this.lastMoveToX,this.lastMoveToY)};mxVsdxCanvas2D.prototype.addForeignData=function(e,p){var n=this.createElt("ForeignData");n.setAttribute("ForeignType","Bitmap");e=e.toUpperCase();"BMP"!=e&&n.setAttribute("CompressionType",e);var f=this.createElt("Rel");f.setAttribute("r:id","rId"+p);n.appendChild(f);this.shape.appendChild(n);this.shapeType="Foreign"};
+mxVsdxCanvas2D.prototype.convertSvg2Png=function(e,p,n){var f=this;this.filesLoading++;try{var q=document.createElement("canvas"),d=q.getContext("2d");p||(e=String.fromCharCode.apply(null,new Uint8Array(e)),e=window.btoa?btoa(e):Base64.encode(e,!0));p="data:image/svg+xml;base64,"+e;img=new Image;img.onload=function(){q.width=this.width;q.height=this.height;d.drawImage(this,0,0);try{n(q.toDataURL("image/png"))}catch(b){}f.filesLoading--;if(0==f.filesLoading)f.onFilesLoaded()};img.onerror=function(){console.log("SVG2PNG conversion failed");
+try{n(e)}catch(b){}f.filesLoading--;if(0==f.filesLoading)f.onFilesLoaded()};img.src=p}catch(b){console.log("SVG2PNG conversion failed"+b.message);try{n(e)}catch(a){}this.filesLoading--;if(0==f.filesLoading)f.onFilesLoaded()}};
+mxVsdxCanvas2D.prototype.image=function(e,p,n,f,q,d,b,a){var c=this,h="image"+(this.images.length+1)+".",m;if(0==q.indexOf("data:"))m=q.indexOf("base64,"),d=q.substring(m+7),m=q.substring(11,m-1),0==m.indexOf("svg")?(m="png",h+=m,this.convertSvg2Png(d,!0,function(a){c.zip.file("visio/media/"+h,a.substring(22),{base64:!0})})):(h+=m,this.zip.file("visio/media/"+h,d,{base64:!0}));else if(window.XMLHttpRequest){q=this.converter.convert(q);this.filesLoading++;m=q.lastIndexOf(".");m=q.substring(m+1);var k=
+!1;0==m.indexOf("svg")&&(m="png",k=!0);h+=m;d=new XMLHttpRequest;d.open("GET",q,!0);d.responseType="arraybuffer";d.onreadystatechange=function(a){if(4==this.readyState&&(200==this.status&&(k?c.convertSvg2Png(this.response,!1,function(a){c.zip.file("visio/media/"+h,a.substring(22),{base64:!0})}):c.zip.file("visio/media/"+h,this.response)),c.filesLoading--,0==c.filesLoading))c.onFilesLoaded()};d.send()}this.images.push(h);this.shapeImg={type:m,id:this.images.length+1};q=this.state;n*=q.scale;f*=q.scale;
+m=this.xmGeo;e=(e-m.x+q.dx)*q.scale;p=(m.height-p+m.y-q.dy)*q.scale;this.shape.appendChild(this.createCellElemScaled("ImgOffsetX",e));this.shape.appendChild(this.createCellElemScaled("ImgOffsetY",p-f));this.shape.appendChild(this.createCellElemScaled("ImgWidth",n));this.shape.appendChild(this.createCellElemScaled("ImgHeight",f))};
+mxVsdxCanvas2D.prototype.text=function(e,p,n,f,q,d,b,a,c,h,m,k,x){var w=this;if(this.textEnabled&&null!=q){mxUtils.isNode(q)&&(q=mxUtils.getOuterHtml(q));0==n&&0==f&&(f=mxUtils.getSizeForString(q,w.cellState.style.fontSize,w.cellState.style.fontFamily),n=2*f.width,f=2*f.height);"html"==c&&("0"!=mxUtils.getValue(this.cellState.style,"nl2Br","1")&&(q=q.replace(/\n/g,"").replace(/<br\s*.?>/g,"\n")),null==this.html2txtDiv&&(this.html2txtDiv=document.createElement("div")),this.html2txtDiv.innerHTML=Graph.sanitizeHtml(q),
+q=mxUtils.extractTextWithWhitespace(this.html2txtDiv.childNodes));h=this.state;m=this.xmGeo;n*=h.scale;f*=h.scale;var B=this.createElt("Section");B.setAttribute("N","Character");var A=this.createElt("Section");A.setAttribute("N","Paragraph");var G=this.createElt("Text"),C=0,E=0,D=0,K=0,S=0,I=0,Z=0,T=function(b,c,h,m,k){var d=b.fontSize,e=b.fontFamily,x=mxUtils.getSizeForString(k,d,e);a&&x.width>n&&(x=mxUtils.getSizeForString(k,d,e,n));b.blockElem?(S+=x.width,D=Math.min(Math.max(D,S),n),S=0,I=Math.max(I,
+x.height),K+=I+Z,Z=I,I=0):(S+=x.width,D=Math.min(Math.max(D,S),n),I=Math.max(I,x.height),K=Math.max(K,I));x=w.createElt("Row");x.setAttribute("IX",C);b.fontColor&&x.appendChild(w.createCellElem("Color",b.fontColor));d&&x.appendChild(w.createCellElemScaled("Size",.97*d));e&&x.appendChild(w.createCellElem("Font",e));d=0;b.bold&&(d|=17);b.italic&&(d|=34);b.underline&&(d|=4);x.appendChild(w.createCellElem("Style",d));x.appendChild(w.createCellElem("Case","0"));x.appendChild(w.createCellElem("Pos","0"));
+x.appendChild(w.createCellElem("FontScale","1"));x.appendChild(w.createCellElem("Letterspace","0"));c.appendChild(x);c=w.createElt("Row");c.setAttribute("IX",E);switch(b.align){case "left":d=0;break;case "center":d=1;break;case "right":d=2;break;case "start":d=0;break;case "end":d=2;break;case "justify":d=0;break;default:d=1}c.appendChild(w.createCellElem("HorzAlign",d));h.appendChild(c);h=w.createElt("cp");h.setAttribute("IX",C++);m.appendChild(h);b=w.xmlDoc.createTextNode(k+(b.blockElem?"\n":""));
+m.appendChild(b)},R=function(a,b){b=b||{};for(var c=0;c<a.length;c++){var h=a[c];if(3==h.nodeType){var m=w.cellState.style.fontStyle,k={fontColor:b.fontColor||w.cellState.style.fontColor,fontSize:b.fontSize||w.cellState.style.fontSize,fontFamily:b.fontFamily||w.cellState.style.fontFamily,align:b.align||w.cellState.style.align,bold:b.bold||m&1,italic:b.italic||m&2,underline:b.underline||m&4},m=!1;c+1<a.length&&"BR"==a[c+1].nodeName.toUpperCase()&&(m=!0,c++);T(k,B,A,G,(b.OL?b.LiIndex+". ":"")+h.textContent+
+(m?"\n":""))}else if(1==h.nodeType){var m=h.nodeName.toUpperCase(),d=h.childNodes.length,k=window.getComputedStyle(h,null),e="bold"==k.getPropertyValue("font-weight")||b.bold,x="italic"==k.getPropertyValue("font-style")||b.italic,f=0<=k.getPropertyValue("text-decoration").indexOf("underline")||b.underline,q=k.getPropertyValue("text-align"),n;n=k.getPropertyValue("color");n=(n=n.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===n.length?"#"+("0"+parseInt(n[1],10).toString(16)).slice(-2)+
+("0"+parseInt(n[2],10).toString(16)).slice(-2)+("0"+parseInt(n[3],10).toString(16)).slice(-2):"";k={bold:e,italic:x,underline:f,align:q,fontColor:n,fontSize:parseFloat(k.getPropertyValue("font-size")),fontFamily:k.getPropertyValue("font-family").replace(/"/g,""),blockElem:"block"==k.getPropertyValue("display")||"BR"==m||"LI"==m,OL:b.OL,LiIndex:b.LiIndex};"UL"==m?(e=w.createElt("Row"),e.setAttribute("IX",E),e.appendChild(w.createCellElem("HorzAlign","0")),e.appendChild(w.createCellElem("Bullet","1")),
+A.appendChild(e),e=w.createElt("pp"),e.setAttribute("IX",E++),G.appendChild(e)):"OL"==m?k.OL=!0:"LI"==m&&(k.LiIndex=c+1);0<d?(R(h.childNodes,k),"UL"==m&&(e=w.createElt("Row"),e.setAttribute("IX",E),e.appendChild(w.createCellElem("Bullet","0")),A.appendChild(e),e=w.createElt("pp"),e.setAttribute("IX",E++),G.appendChild(e)),T(k,B,A,G,"")):T(k,B,A,G,(b.OL?b.LiIndex+". ":"")+h.textContent)}}};"html"==c&&mxClient.IS_SVG?(q=this.cellState.text.node.getElementsByTagName("div")[mxClient.NO_FO?0:1],null!=
+q&&R(q.childNodes,{})):T({fontColor:w.cellState.style.fontColor,fontSize:w.cellState.style.fontSize,fontFamily:w.cellState.style.fontFamily},B,A,G,q);c=q=0;f=Math.max(f,K);n=Math.max(n,D);x=n/2;var aa=f/2,la=parseInt(mxUtils.getValue(this.cellState.style,"rotation","0")),ea=la*Math.PI/180;switch(d){case "right":0!=la?(e-=x*Math.cos(ea),p-=x*Math.sin(ea)):q=D/2;break;case "left":0!=la?(e+=x*Math.cos(ea),p+=x*Math.sin(ea)):q=-D/2}switch(b){case "top":0!=la?(e+=aa*Math.sin(ea),p+=aa*Math.cos(ea)):c=
+K/2;break;case "bottom":0!=la?(e-=aa*Math.sin(ea),p-=aa*Math.cos(ea)):c=-K/2}e=(e-m.x+h.dx)*h.scale;p=(m.height-p+m.y-h.dy)*h.scale;this.shape.appendChild(this.createCellElemScaled("TxtPinX",e));this.shape.appendChild(this.createCellElemScaled("TxtPinY",p));this.shape.appendChild(this.createCellElemScaled("TxtWidth",n));this.shape.appendChild(this.createCellElemScaled("TxtHeight",f));this.shape.appendChild(this.createCellElemScaled("TxtLocPinX",x+q));this.shape.appendChild(this.createCellElemScaled("TxtLocPinY",
+aa+c));k-=la;0!=k&&this.shape.appendChild(this.createCellElem("TxtAngle",(360-k)*Math.PI/180));this.shape.appendChild(B);this.shape.appendChild(A);this.shape.appendChild(G)}};mxVsdxCanvas2D.prototype.rotate=function(e,p,n,f,q){0!=e&&(p=this.state,f+=p.dx,q+=p.dy,f*=p.scale,q*=p.scale,this.shape.appendChild(this.createCellElem("Angle",(360-e)*Math.PI/180)),p.rotation+=e,p.rotationCx=f,p.rotationCy=q)};
mxVsdxCanvas2D.prototype.stroke=function(){this.geoSec.appendChild(this.createCellElem("NoFill","1"));this.geoSec.appendChild(this.createCellElem("NoLine","0"))};mxVsdxCanvas2D.prototype.fill=function(){this.geoSec.appendChild(this.createCellElem("NoFill","0"));this.geoSec.appendChild(this.createCellElem("NoLine","1"))};mxVsdxCanvas2D.prototype.fillAndStroke=function(){this.geoSec.appendChild(this.createCellElem("NoFill","0"));this.geoSec.appendChild(this.createCellElem("NoLine","0"))};function BmpDecoder(e,p){this.pos=0;this.buffer=e;this.is_with_alpha=!!p;if(66!=this.buffer[0]&&77!=this.buffer[1])throw Error("Invalid BMP File");this.pos+=2;this.parseHeader();this.parseBGR()}
BmpDecoder.prototype.parseHeader=function(){var e=this.buffer;this.fileSize=e[this.pos+3]<<24|e[this.pos+2]<<16|e[this.pos+1]<<8|e[this.pos];this.pos+=4;this.reserved=e[this.pos+3]<<24|e[this.pos+2]<<16|e[this.pos+1]<<8|e[this.pos];this.pos+=4;this.offset=e[this.pos+3]<<24|e[this.pos+2]<<16|e[this.pos+1]<<8|e[this.pos];this.pos+=4;this.headerSize=e[this.pos+3]<<24|e[this.pos+2]<<16|e[this.pos+1]<<8|e[this.pos];this.pos+=4;this.width=e[this.pos+3]<<24|e[this.pos+2]<<16|e[this.pos+1]<<8|e[this.pos];
this.pos+=4;this.height=e[this.pos+3]<<24|e[this.pos+2]<<16|e[this.pos+1]<<8|e[this.pos];this.pos+=4;this.planes=e[this.pos+1]<<8|e[this.pos];this.pos+=2;this.bitPP=e[this.pos+1]<<8|e[this.pos];this.pos+=2;this.compress=e[this.pos+3]<<24|e[this.pos+2]<<16|e[this.pos+1]<<8|e[this.pos];this.pos+=4;this.rawSize=e[this.pos+3]<<24|e[this.pos+2]<<16|e[this.pos+1]<<8|e[this.pos];this.pos+=4;this.hr=e[this.pos+3]<<24|e[this.pos+2]<<16|e[this.pos+1]<<8|e[this.pos];this.pos+=4;this.vr=e[this.pos+3]<<24|e[this.pos+
-2]<<16|e[this.pos+1]<<8|e[this.pos];this.pos+=4;this.colors=e[this.pos+3]<<24|e[this.pos+2]<<16|e[this.pos+1]<<8|e[this.pos];this.pos+=4;this.importantColors=e[this.pos+3]<<24|e[this.pos+2]<<16|e[this.pos+1]<<8|e[this.pos];this.pos+=4;16===this.bitPP&&this.is_with_alpha&&(this.bitPP=15);if(15>this.bitPP){e=0===this.colors?1<<this.bitPP:this.colors;this.palette=Array(e);for(var p=0;p<e;p++){var n=this.buffer[this.pos++],g=this.buffer[this.pos++],q=this.buffer[this.pos++],d=this.buffer[this.pos++];
-this.palette[p]={red:q,green:g,blue:n,quad:d}}}};BmpDecoder.prototype.parseBGR=function(){this.pos=this.offset;try{var e="bit"+this.bitPP,p=document.createElement("canvas").getContext("2d").createImageData(this.width,this.height);this.imageData=p;this.data=p.data;this[e]()}catch(n){console.log("bit decode error:"+n)}};
-BmpDecoder.prototype.bit1=function(){for(var e=Math.ceil(this.width/8),p=e%4,n=this.height-1;0<=n;n--){for(var g=0;g<e;g++)for(var q=this.buffer[this.pos++],d=n*this.width*4+32*g,b=0;8>b;b++)if(8*g+b<this.width){var a=this.palette[q>>7-b&1];this.data[d+4*b]=a.red;this.data[d+4*b+1]=a.green;this.data[d+4*b+2]=a.blue;this.data[d+4*b+3]=255}else break;0!=p&&(this.pos+=4-p)}};
-BmpDecoder.prototype.bit4=function(){for(var e=Math.ceil(this.width/2),p=e%4,n=this.height-1;0<=n;n--){for(var g=0;g<e;g++){var q=this.buffer[this.pos++],d=n*this.width*4+8*g,b=q&15,q=this.palette[q>>4];this.data[d]=q.red;this.data[d+1]=q.green;this.data[d+2]=q.blue;this.data[d+3]=255;if(2*g+1>=this.width)break;q=this.palette[b];this.data[d+4]=q.red;this.data[d+4+1]=q.green;this.data[d+4+2]=q.blue;this.data[d+4+3]=255}0!=p&&(this.pos+=4-p)}};
-BmpDecoder.prototype.bit8=function(){for(var e=this.width%4,p=this.height-1;0<=p;p--){for(var n=0;n<this.width;n++){var g=this.buffer[this.pos++],q=p*this.width*4+4*n;g<this.palette.length?(g=this.palette[g],this.data[q]=g.red,this.data[q+1]=g.green,this.data[q+2]=g.blue):(this.data[q]=255,this.data[q+1]=255,this.data[q+2]=255);this.data[q+3]=255}0!=e&&(this.pos+=4-e)}};
-BmpDecoder.prototype.bit15=function(){var e=2*this.width%4;0!=e&&(e=4-e);for(var p=this.height-1;0<=p;p--){for(var n=0;n<this.width;n++){var g=this.buffer[this.pos+1]<<8|this.buffer[this.pos];this.pos+=2;var q=(g&31)/31*255|0,d=(g>>5&31)/31*255|0,b=g>>15?255:0,a=p*this.width*4+4*n;this.data[a]=(g>>10&31)/31*255|0;this.data[a+1]=d;this.data[a+2]=q;this.data[a+3]=b}this.pos+=e}};
-BmpDecoder.prototype.bit16=function(){var e=2*this.width%4;0!=e&&(e=4-e);for(var p=this.height-1;0<=p;p--){for(var n=0;n<this.width;n++){var g=this.buffer[this.pos+1]<<8|this.buffer[this.pos];this.pos+=2;var q=(g&31)/31*255|0,d=(g>>5&31)/31*255|0,b=p*this.width*4+4*n;this.data[b]=(g>>10&31)/31*255|0;this.data[b+1]=d;this.data[b+2]=q;this.data[b+3]=255}this.pos+=e}};
-BmpDecoder.prototype.bit24=function(){var e=3*this.width%4;0!=e&&(e=4-e);for(var p=this.height-1;0<=p;p--){for(var n=0;n<this.width;n++){var g=this.buffer[this.pos++],q=this.buffer[this.pos++],d=this.buffer[this.pos++],b=p*this.width*4+4*n;this.data[b]=d;this.data[b+1]=q;this.data[b+2]=g;this.data[b+3]=255}this.pos+=e}};
-BmpDecoder.prototype.bit32=function(){for(var e=this.height-1;0<=e;e--)for(var p=0;p<this.width;p++){var n=this.buffer[this.pos++],g=this.buffer[this.pos++],q=this.buffer[this.pos++],d=this.buffer[this.pos++],b=e*this.width*4+4*p;this.data[b]=q;this.data[b+1]=g;this.data[b+2]=n;this.data[b+3]=d}};BmpDecoder.prototype.getData=function(){return this.data};var __extends=this&&this.__extends||function(e,p){function n(){this.constructor=e}for(var g in p)p.hasOwnProperty(g)&&(e[g]=p[g]);e.prototype=null===p?Object.create(p):(n.prototype=p.prototype,new n)},com;
-(function(e){(function(p){(function(n){var g=function(){function g(d){this.RESPONSE_END="</mxfile>";this.RESPONSE_DIAGRAM_START="";this.RESPONSE_DIAGRAM_END="</diagram>";this.RESPONSE_HEADER='<?xml version="1.0" encoding="UTF-8"?><mxfile>';this.vertexMap={};this.edgeShapeMap={};this.vertexShapeMap={};this.parentsMap={};this.layersMap={};this.debugPaths=!1;this.vsdxModel=null;this.editorUi=d}g.vsdxPlaceholder_$LI$=function(){null==g.vsdxPlaceholder&&(g.vsdxPlaceholder=window.atob?atob("dmlzaW8="):
-Base64.decode("dmlzaW8=",!0));return g.vsdxPlaceholder};g.parsererrorNS_$LI$=function(){if(null==g.parsererrorNS&&(g.parsererrorNS="",window.DOMParser)){var d=new DOMParser;try{g.parsererrorNS=d.parseFromString("<","text/xml").getElementsByTagName("parsererror")[0].namespaceURI}catch(b){}}return g.parsererrorNS};g.parseXml=function(d){try{var b=mxUtils.parseXml(d);return 0<b.getElementsByTagNameNS(g.parsererrorNS,"parsererror").length?null:b}catch(a){return null}};g.decodeUTF16LE=function(d){for(var b=
-"",a=0;a<d.length;a+=2)b+=String.fromCharCode(d.charCodeAt(a)|d.charCodeAt(a+1)<<8);return b};g.prototype.scaleGraph=function(d,b){if(1!==b){var a=d.getModel(),c;for(c in a.cells){var f=a.cells[c],m=a.getGeometry(f);if(null!=m&&(this.scaleRect(m,b),this.scaleRect(m.alternateBounds,b),a.isEdge(f)&&(this.scalePoint(m.sourcePoint,b),this.scalePoint(m.targetPoint,b),this.scalePoint(m.offset,b),f=m.points,null!=f)))for(m=0;m<f.length;m++)this.scalePoint(f[m],b)}}};g.incorrectXMLReqExp=[{regExp:/(\>[^&<]*)\&([^&<;]*\<)/g,
-repl:"$1&amp;$2"}];g.prototype.decodeVsdx=function(d,b,a,c){var f=this,m={},l={},x=function(){var a;function c(){a=a.concat(f.RESPONSE_END);b&&b(a)}for(var d=g.vsdxPlaceholder+"/document.xml",x=m[d]?m[d]:null,w=x.firstChild;null!=w&&1!=w.nodeType;)w=w.nextSibling;if(null!=w&&1==w.nodeType)f.importNodes(x,w,d,m);else return null;f.vsdxModel=new e.mxgraph.io.vsdx.mxVsdxModel(x,m,l);d=f.vsdxModel.getPages();a=f.RESPONSE_HEADER;var q=function(a){null==a.entries&&(a.entries=[]);return a.entries}(d),n=
-function(b,c){var m=q[b].getValue(),l=C.createMxGraph();l.getModel().beginUpdate();C.importPage(m,l,l.getDefaultParent(),!0);C.scaleGraph(l,m.getPageScale()/m.getDrawingScale());l.getModel().endUpdate();C.postImportPage(m,l,function(){C.sanitiseGraph(l);a=a.concat(f.RESPONSE_DIAGRAM_START);a=a.concat(f.processPage(l,m));a=a.concat(f.RESPONSE_DIAGRAM_END);b<q.length-1?n(b+1,c):c()})},C=f;0<q.length?n(0,c):c()},w=0,q=0,n=function(){if(q==w)try{x()}catch(G){console.log(G),null!=c?c():b("")}};JSZip.loadAsync(d).then(function(a){0==
-Object.keys(a.files).length?null!=c&&c():a.forEach(function(a,b){var c=b.name,d=c.toLowerCase(),e=d.length;d.indexOf(".xml")==e-4||d.indexOf(".rels")==e-5?(w++,b.async("string").then(function(a){if(0!==a.length){65279==a.charCodeAt(0)&&(a=a.substring(1));var b=g.parseXml(a);if(null==b)if(0===a.charCodeAt(1)&&0===a.charCodeAt(3)&&0===a.charCodeAt(5))b=g.parseXml(g.decodeUTF16LE(a));else{for(b=0;b<g.incorrectXMLReqExp.length;b++)g.incorrectXMLReqExp[b].regExp.test(a)&&(a=a.replace(g.incorrectXMLReqExp[b].regExp,
-g.incorrectXMLReqExp[b].repl));b=g.parseXml(a)}null!=b&&(b.vsdxFileName=c,m[c]=b)}q++;n()})):0===d.indexOf(g.vsdxPlaceholder+"/media")&&(w++,function(a,b){var c=a.length-b.length,f=a.indexOf(b,c);return-1!==f&&f===c}(d,".emf")?JSZip.support.blob&&window.EMF_CONVERT_URL?b.async("blob").then(function(a){var b=new FormData;b.append("img",a,d);b.append("inputformat","emf");b.append("outputformat","png");var m=new XMLHttpRequest;m.open("POST",EMF_CONVERT_URL);m.responseType="blob";f.editorUi.addRemoteServiceSecurityCheck(m);
-m.onreadystatechange=mxUtils.bind(this,function(){if(4==m.readyState)if(200<=m.status&&299>=m.status)try{var a=new FileReader;a.readAsDataURL(m.response);a.onloadend=function(){var b=a.result.indexOf(",")+1;l[c]=a.result.substr(b);q++;n()}}catch(aa){console.log(aa),q++,n()}else q++,n()});m.send(b)}):(q++,n()):function(a,b){var c=a.length-b.length,f=a.indexOf(b,c);return-1!==f&&f===c}(d,".bmp")?JSZip.support.uint8array&&b.async("uint8array").then(function(a){a=new BmpDecoder(a);var b=document.createElement("canvas");
-b.width=a.width;b.height=a.height;b.getContext("2d").putImageData(a.imageData,0,0);a=b.toDataURL("image/jpeg");l[c]=a.substr(23);q++;n()}):b.async("base64").then(function(a){l[c]=a;q++;n()}))})},function(a){null!=c&&c(a)})};g.prototype.createMxGraph=function(){var d=new Graph;d.setExtendParents(!1);d.setExtendParentsOnAdd(!1);d.setConstrainChildren(!1);d.setHtmlLabels(!0);d.getModel().maintainEdgeParent=!1;return d};g.prototype.processPage=function(d,b){var a=(new mxCodec).encode(d.getModel());a.setAttribute("style",
-"default-style2");var a=mxUtils.getXml(a),c="";if(null!=b)var f=mxUtils.htmlEntities(b.getPageName())+(b.isBackground()?" (Background)":""),c=c+('<diagram name="'+f+'" id="'+f.replace(/\s/g,"_")+'">');return c+=Graph.compress(a)};g.prototype.scalePoint=function(d,b){null!=d&&(d.x*=b,d.y*=b);return d};g.prototype.scaleRect=function(d,b){null!=d&&(d.x*=b,d.y*=b,d.height*=b,d.width*=b);return d};g.prototype.importNodes=function(d,b,a,c){var f=a.lastIndexOf("/"),m=a,l=a;if(-1!==f&&(m=a.substring(0,f),
-l=a.substring(f+1,a.length),a=function(a,b){return a[b]?a[b]:null}(c,m+"/_rels/"+l+".rels"),null!=a)){var e=a.getElementsByTagName("Relationship");a={};for(f=0;f<e.length;f++){var l=e.item(f),w=l.getAttribute("Id"),l=l.getAttribute("Target");a[w]=l}b=b.getElementsByTagName("Rel");for(f=0;f<b.length;f++)if(e=b.item(f),l=function(a,b){return a[b]?a[b]:null}(a,e.getAttribute("r:id")),l=m+"/"+l,null!=l&&(w=c[l]?c[l]:null,null!=w)){e=e.parentNode;for(w=w.firstChild;null!=w&&1!=w.nodeType;)w=w.nextSibling;
-if(null!=w&&1==w.nodeType)for(w=w.firstChild;null!=w;){if(null!=w&&1==w.nodeType){var g=e.appendChild(d.importNode(w,!0));this.importNodes(d,g,l,c)}w=w.nextSibling}}}};g.prototype.importPage=function(d,b,a,c){var f=d.getBackPage();if(null!=f){b.getModel().setValue(b.getDefaultParent(),d.getPageName());var m=new mxCell(f.getPageName());b.addCell(m,b.getModel().getRoot(),0,null,null);this.importPage(f,b,b.getDefaultParent())}f=d.getLayers();this.layersMap[0]=b.getDefaultParent();var m={},l=0,e=null,
-w=d.getShapes();try{for(var g=0;null!=w.entries&&g<w.entries.length;g++){var q=w.entries[g].getValue().layerMember;null!=q&&(null==e?(m[q]=l,e=q):e!=q&&null==m[q]&&(l++,m[q]=l,e=q))}}catch(G){console.log("VSDX Import: Failed to detect layers order")}for(g=0;g<f.length;g++)q=f[g],l=null!=m[g]?m[g]:g,0==l?e=b.getDefaultParent():(e=new mxCell,b.addCell(e,b.model.root,l)),e.setVisible(1==q.Visible),1==q.Lock&&e.setStyle("locked=1;"),e.setValue(q.Name),this.layersMap[g]=e;m=function(a){var b=0;return{next:function(){return b<
-a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){null==a.entries&&(a.entries=[]);return a.entries}(w));q=d.getPageDimensions().y;for(f=d.getId();m.hasNext();)w=m.next(),w=w.getValue(),g=this.layersMap[w.layerMember],this.addShape(b,w,g?g:a,f,q);for(d=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){null==a.entries&&(a.entries=[]);return a.entries}(d.getConnects()));d.hasNext();)w=d.next(),a=this.addConnectedEdge(b,
-w.getValue(),f,q),null!=a&&function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries.splice(c,1)[0]}(this.edgeShapeMap,a);for(d=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){null==a.entries&&(a.entries=[]);return a.entries}(this.edgeShapeMap));d.hasNext();)a=d.next(),a.getKey().getPageNumber()===f&&
-this.addUnconnectedEdge(b,function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(this.parentsMap,a.getKey()),a.getValue(),q);c||this.sanitiseGraph(b);return q};g.prototype.postImportPage=function(d,b,a){try{var c=this,f=[],m=d.getShapes().entries||[];for(b=0;b<m.length;b++){var l=m[b].value||{};l.toBeCroppedImg&&f.push(l)}if(0<f.length){var x=function(a,
-b){function m(){a<f.length-1?x(a+1,b):b()}var l=f[a],w=l.toBeCroppedImg,g=function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(c.vertexMap,new e.mxgraph.io.vsdx.ShapePageId(d.Id,l.Id)),q=new Image;q.onload=function(){var a=w.iData,b=w.iType;try{var c=q.width/w.imgWidth,f=q.height/w.imgHeight,l=-w.imgOffsetX*c,d=(w.imgHeight-w.height+w.imgOffsetY)*f,
-e=document.createElement("canvas");e.width=w.width*c;e.height=w.height*f;var x=e.getContext("2d");x.fillStyle="#FFFFFF";x.fillRect(0,0,e.width,e.height);x.drawImage(q,l,d,e.width,e.height,0,0,e.width,e.height);a=e.toDataURL("image/jpeg").substr(23);b="jpg"}catch(ea){console.log(ea)}g.style+=";image=data:image/"+b+","+a;m()};q.src="data:image/"+w.iType+";base64,"+w.iData;q.onerror=function(){g.style+=";image=data:image/"+w.iType+","+w.iData;m()}};x(0,a)}else a()}catch(w){console.log(w),a()}};g.prototype.addShape=
-function(d,b,a,c,f){b.parentHeight=f;var m=e.mxgraph.io.vsdx.VsdxShape.getType(b.getShape());if(null!=m&&(function(a,b){return a&&a.equals?a.equals(b):a===b}(m,e.mxgraph.io.vsdx.mxVsdxConstants.TYPE_SHAPE)||function(a,b){return a&&a.equals?a.equals(b):a===b}(m,e.mxgraph.io.vsdx.mxVsdxConstants.TYPE_GROUP)||function(a,b){return a&&a.equals?a.equals(b):a===b}(m,e.mxgraph.io.vsdx.mxVsdxConstants.FOREIGN))){var l=b.getId();if(b.isVertex()){m=null;m=b.isGroup()?this.addGroup(d,b,a,c,f):this.addVertex(d,
-b,a,c,f);(function(a,b,c){null==a.entries&&(a.entries=[]);for(var f=0;f<a.entries.length;f++)if(null!=a.entries[f].key.equals&&a.entries[f].key.equals(b)||a.entries[f].key===b){a.entries[f].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(this.vertexShapeMap,new e.mxgraph.io.vsdx.ShapePageId(c,l),b);a=b.getHyperlink();a.extLink?d.setLinkForCell(m,a.extLink):a.pageLink&&d.setLinkForCell(m,"data:page/id,"+a.pageLink);b=b.getProperties();
-for(a=0;a<b.length;a++)d.setAttributeForCell(m,b[a].key,b[a].val);return m}b.setShapeIndex(d.getModel().getChildCount(a));(function(a,b,c){null==a.entries&&(a.entries=[]);for(var f=0;f<a.entries.length;f++)if(null!=a.entries[f].key.equals&&a.entries[f].key.equals(b)||a.entries[f].key===b){a.entries[f].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(this.edgeShapeMap,new e.mxgraph.io.vsdx.ShapePageId(c,l),b);(function(a,b,c){null==
-a.entries&&(a.entries=[]);for(var f=0;f<a.entries.length;f++)if(null!=a.entries[f].key.equals&&a.entries[f].key.equals(b)||a.entries[f].key===b){a.entries[f].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(this.parentsMap,new e.mxgraph.io.vsdx.ShapePageId(c,l),a)}return null};g.prototype.addGroup=function(d,b,a,c,f){var m=b.getDimensions(),l=b.getMaster(),x=b.getStyleFromShape(),w=b.getGeomList();w.isNoFill()&&(x[mxConstants.STYLE_FILLCOLOR]=
-"none",x[mxConstants.STYLE_GRADIENTCOLOR]="none");w.isNoLine()&&(x[mxConstants.STYLE_STROKECOLOR]="none");x.html="1";x[mxConstants.STYLE_WHITE_SPACE]="wrap";var g=e.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(x,"="),x=null,q=b.getChildShapes(),x=null!=q&&0<function(a){null==a.entries&&(a.entries=[]);return a.entries.length}(q),w=b.isDisplacedLabel()||b.isRotatedLabel()||x,x=b.getOriginPoint(f,!0);if(w)x=d.insertVertex(a,null,null,Math.floor(Math.round(100*x.x)/100),Math.floor(Math.round(100*x.y)/100),
-Math.floor(Math.round(100*m.x)/100),Math.floor(Math.round(100*m.y)/100),g);else var n=b.getTextLabel(),x=d.insertVertex(a,null,n,Math.floor(Math.round(100*x.x)/100),Math.floor(Math.round(100*x.y)/100),Math.floor(Math.round(100*m.x)/100),Math.floor(Math.round(100*m.y)/100),g);for(a=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){null==a.entries&&(a.entries=[]);return a.entries}(q));a.hasNext();)g=a.next().getValue(),q=g.getId(),
-g.isVertex()?(n=e.mxgraph.io.vsdx.VsdxShape.getType(g.getShape()),null!=n&&(function(a,b){return a&&a.equals?a.equals(b):a===b}(n,e.mxgraph.io.vsdx.mxVsdxConstants.TYPE_SHAPE)||function(a,b){return a&&a.equals?a.equals(b):a===b}(n,e.mxgraph.io.vsdx.mxVsdxConstants.TYPE_GROUP)||function(a,b){return a&&a.equals?a.equals(b):a===b}(n,e.mxgraph.io.vsdx.mxVsdxConstants.FOREIGN))&&g.isVertex()&&(g.propagateRotation(b.getRotation()),g.isGroup()?this.addGroup(d,g,x,c,m.y):this.addVertex(d,g,x,c,m.y)),null==
-l&&function(a,b,c){null==a.entries&&(a.entries=[]);for(var f=0;f<a.entries.length;f++)if(null!=a.entries[f].key.equals&&a.entries[f].key.equals(b)||a.entries[f].key===b){a.entries[f].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})}(this.vertexShapeMap,new e.mxgraph.io.vsdx.ShapePageId(c,q),g)):null==l?(function(a,b,c){null==a.entries&&(a.entries=[]);for(var f=0;f<a.entries.length;f++)if(null!=a.entries[f].key.equals&&a.entries[f].key.equals(b)||
-a.entries[f].key===b){a.entries[f].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})}(this.edgeShapeMap,new e.mxgraph.io.vsdx.ShapePageId(c,q),g),function(a,b,c){null==a.entries&&(a.entries=[]);for(var f=0;f<a.entries.length;f++)if(null!=a.entries[f].key.equals&&a.entries[f].key.equals(b)||a.entries[f].key===b){a.entries[f].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})}(this.parentsMap,
-new e.mxgraph.io.vsdx.ShapePageId(c,q),x)):this.addUnconnectedEdge(d,x,g,f);w&&b.createLabelSubShape(d,x);d=b.getRotation();if(0!==d)for(m=x.getGeometry(),f=m.width/2,m=m.height/2,l=0;l<x.getChildCount();l++)w=x.getChildAt(l),e.mxgraph.online.Utils.rotatedGeometry(w.getGeometry(),d,f,m);(function(a,b,c){null==a.entries&&(a.entries=[]);for(var f=0;f<a.entries.length;f++)if(null!=a.entries[f].key.equals&&a.entries[f].key.equals(b)||a.entries[f].key===b){a.entries[f].value=c;return}a.entries.push({key:b,
-value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(this.vertexMap,new e.mxgraph.io.vsdx.ShapePageId(c,b.getId()),x);return x};g.rotatedEdgePoint=function(d,b,a,c){b=b*Math.PI/180;var f=Math.cos(b);b=Math.sin(b);var m=d.x-a,l=d.y-c;d.x=Math.round(m*f-l*b+a);d.y=Math.round(l*f+m*b+c)};g.prototype.addVertex=function(d,b,a,c,f){var m="",l=b.isDisplacedLabel()||b.isRotatedLabel();l||(m=b.getTextLabel());var x=b.getDimensions(),w=b.getStyleFromShape();w.html="1";var g=
-w.hasOwnProperty(mxConstants.STYLE_SHAPE)||w.hasOwnProperty("stencil");w.hasOwnProperty(mxConstants.STYLE_FILLCOLOR)&&g||(w[mxConstants.STYLE_FILLCOLOR]="none");g||(w[mxConstants.STYLE_STROKECOLOR]="none");w.hasOwnProperty(mxConstants.STYLE_GRADIENTCOLOR)&&g||(w[mxConstants.STYLE_GRADIENTCOLOR]="none");w[mxConstants.STYLE_WHITE_SPACE]="wrap";f=b.getOriginPoint(f,!0);return g||null!=m?(w=e.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(w,"="),g=null,g=l?d.insertVertex(a,null,null,Math.floor(Math.round(100*
-f.x)/100),Math.floor(Math.round(100*f.y)/100),Math.floor(Math.round(100*x.x)/100),Math.floor(Math.round(100*x.y)/100),w):d.insertVertex(a,null,m,Math.floor(Math.round(100*f.x)/100),Math.floor(Math.round(100*f.y)/100),Math.floor(Math.round(100*x.x)/100),Math.floor(Math.round(100*x.y)/100),w),function(a,b,c){null==a.entries&&(a.entries=[]);for(var f=0;f<a.entries.length;f++)if(null!=a.entries[f].key.equals&&a.entries[f].key.equals(b)||a.entries[f].key===b){a.entries[f].value=c;return}a.entries.push({key:b,
-value:c,getKey:function(){return this.key},getValue:function(){return this.value}})}(this.vertexMap,new e.mxgraph.io.vsdx.ShapePageId(c,b.getId()),g),b.setLabelOffset(g,w),l&&b.createLabelSubShape(d,g),g):null};g.calculateAbsolutePoint=function(d){for(var b=0,a=0;null!=d;){var c=d.geometry;null!=c&&(b+=c.x,a+=c.y);d=d.parent}return new mxPoint(b,a)};g.prototype.addConnectedEdge=function(d,b,a,c){var f=b.getFromSheet(),f=new e.mxgraph.io.vsdx.ShapePageId(a,f),m=function(a,b){null==a.entries&&(a.entries=
-[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(this.edgeShapeMap,f);if(null==m)return null;var l=function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(this.parentsMap,new e.mxgraph.io.vsdx.ShapePageId(a,m.getId()));if(null!=l){var x=d.getModel().getGeometry(l);
-null!=x&&(c=x.height)}var w=m.getStartXY(c),q=m.getEndXY(c),x=m.getRoutingPoints(c,w,m.getRotation());this.rotateChildEdge(d.getModel(),l,w,q,x);var n=null,p=b.getSourceToSheet(),p=null!=p?function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(this.vertexMap,new e.mxgraph.io.vsdx.ShapePageId(a,p)):null,B=!0;if(null==p)p=d.insertVertex(l,null,null,Math.floor(Math.round(100*
-w.x)/100),Math.floor(Math.round(100*w.y)/100),0,0);else if(p.style&&-1==p.style.indexOf(";rotation="))var n=g.calculateAbsolutePoint(p),E=g.calculateAbsolutePoint(l),D=p.geometry,n=new mxPoint((E.x+w.x-n.x)/D.width,(E.y+w.y-n.y)/D.height);else B=!1;w=null;b=b.getTargetToSheet();b=null!=b?function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(this.vertexMap,
-new e.mxgraph.io.vsdx.ShapePageId(a,b)):null;E=!0;null==b?b=d.insertVertex(l,null,null,Math.floor(Math.round(100*q.x)/100),Math.floor(Math.round(100*q.y)/100),0,0):b.style&&-1==b.style.indexOf(";rotation=")?(a=g.calculateAbsolutePoint(b),w=g.calculateAbsolutePoint(l),D=b.geometry,w=new mxPoint((w.x+q.x-a.x)/D.width,(w.y+q.y-a.y)/D.height)):E=!1;q=m.getStyleFromEdgeShape(c);D=m.getRotation();0!==D?(a=d.insertEdge(l,null,null,p,b,e.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(q,"=")),B=m.createLabelSubShape(d,
-a),null!=B&&(B.setStyle(B.getStyle()+";rotation="+(60<D&&240>D?(D+180)%360:D)),B=B.getGeometry(),B.x=0,B.y=0,B.relative=!0,B.offset=new mxPoint(-B.width/2,-B.height/2))):(a=d.insertEdge(l,null,m.getTextLabel(),p,b,e.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(q,"=")),D=m.getLblEdgeOffset(d.getView(),x),a.getGeometry().offset=D,null!=n&&d.setConnectionConstraint(a,p,!0,new mxConnectionConstraint(n,!1)),B&&x.shift(),null!=w&&d.setConnectionConstraint(a,b,!1,new mxConnectionConstraint(w,!1)),E&&x.pop());
-B=d.getModel().getGeometry(a);if(p.parent!=b.parent&&null!=l&&1!=l.id&&1==p.parent.id){b=n=0;do w=l.geometry,null!=w&&(n+=w.x,b+=w.y),l=l.parent;while(null!=l);a.parent=p.parent;for(l=0;l<x.length;l++)x[l].x+=n,x[l].y+=b}B.points=x;q.hasOwnProperty("curved")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(function(a,b){return a[b]?a[b]:null}(q,"curved"),"1")&&(B=d.getModel().getGeometry(a),d=m.getControlPoints(c),B.points=d);return f};g.prototype.addUnconnectedEdge=function(d,b,a,c){if(null!=
-b){var f=d.getModel().getGeometry(b);null!=f&&(c=f.height)}var m=a.getStartXY(c),l=a.getEndXY(c),x=a.getStyleFromEdgeShape(c),w=a.getRoutingPoints(c,m,a.getRotation()),g=a.getRotation();if(0!==g){0===a.getShapeIndex()?f=d.insertEdge(b,null,null,null,null,e.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(x,"=")):(f=d.createEdge(b,null,null,null,null,e.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(x,"=")),f=d.addEdge(f,b,null,null,a.getShapeIndex()));var q=a.createLabelSubShape(d,f);null!=q&&(q.setStyle(q.getStyle()+
-";rotation="+(60<g&&240>g?(g+180)%360:g)),g=q.getGeometry(),g.x=0,g.y=0,g.relative=!0,g.offset=new mxPoint(-g.width/2,-g.height/2))}else 0===a.getShapeIndex()?f=d.insertEdge(b,null,a.getTextLabel(),null,null,e.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(x,"=")):(f=d.createEdge(b,null,a.getTextLabel(),null,null,e.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(x,"=")),f=d.addEdge(f,b,null,null,a.getShapeIndex())),g=a.getLblEdgeOffset(d.getView(),w),f.getGeometry().offset=g;this.rotateChildEdge(d.getModel(),
-b,m,l,w);b=d.getModel().getGeometry(f);w.pop();w.shift();b.points=w;b.setTerminalPoint(m,!0);b.setTerminalPoint(l,!1);x.hasOwnProperty("curved")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(function(a,b){return a[b]?a[b]:null}(x,"curved"),"1")&&(b=d.getModel().getGeometry(f),d=a.getControlPoints(c),b.points=d);return f};g.prototype.rotateChildEdge=function(d,b,a,c,f){if(null!=b){var m=d.getGeometry(b);d=d.getStyle(b);if(null!=m&&null!=d&&(b=d.indexOf("rotation="),-1<b))for(d=parseFloat(d.substring(b+
-9,d.indexOf(";",b))),b=m.width/2,m=m.height/2,g.rotatedEdgePoint(a,d,b,m),g.rotatedEdgePoint(c,d,b,m),a=0;a<f.length;a++)g.rotatedEdgePoint(f[a],d,b,m)}};g.prototype.sanitiseGraph=function(d){var b=d.getModel().getRoot();this.sanitiseCell(d,b)};g.prototype.sanitiseCell=function(d,b){for(var a=d.getModel(),c=a.getChildCount(b),f=[],m=0;m<c;m++){var l=a.getChildAt(b,m);this.sanitiseCell(d,l)&&f.push(l)}for(m=0;m<f.length;m++)a.remove(f[m]);f=b.geometry;null!=f&&(0>f.height&&(f.height=Math.abs(f.height),
-f.y-=f.height,b.style+=";flipV=1;"),0>f.width&&(f.width=Math.abs(f.width),f.x-=f.width,b.style+=";flipH=1;"));0<c&&(c=a.getChildCount(b));f=(new String(a.getValue(b))).toString();m=a.getStyle(b);return 0!==c||!a.isVertex(b)||null!=a.getValue(b)&&0!==f.length||null==m||-1==m.indexOf(mxConstants.STYLE_FILLCOLOR+"=none")||-1==m.indexOf(mxConstants.STYLE_STROKECOLOR+"=none")||-1!=m.indexOf("image=")?!1:!0};return g}();n.mxVsdxCodec=g;g.__class="com.mxgraph.io.mxVsdxCodec"})(p.io||(p.io={}))})(e.mxgraph||
+2]<<16|e[this.pos+1]<<8|e[this.pos];this.pos+=4;this.colors=e[this.pos+3]<<24|e[this.pos+2]<<16|e[this.pos+1]<<8|e[this.pos];this.pos+=4;this.importantColors=e[this.pos+3]<<24|e[this.pos+2]<<16|e[this.pos+1]<<8|e[this.pos];this.pos+=4;16===this.bitPP&&this.is_with_alpha&&(this.bitPP=15);if(15>this.bitPP){e=0===this.colors?1<<this.bitPP:this.colors;this.palette=Array(e);for(var p=0;p<e;p++){var n=this.buffer[this.pos++],f=this.buffer[this.pos++],q=this.buffer[this.pos++],d=this.buffer[this.pos++];
+this.palette[p]={red:q,green:f,blue:n,quad:d}}}};BmpDecoder.prototype.parseBGR=function(){this.pos=this.offset;try{var e="bit"+this.bitPP,p=document.createElement("canvas").getContext("2d").createImageData(this.width,this.height);this.imageData=p;this.data=p.data;this[e]()}catch(n){console.log("bit decode error:"+n)}};
+BmpDecoder.prototype.bit1=function(){for(var e=Math.ceil(this.width/8),p=e%4,n=this.height-1;0<=n;n--){for(var f=0;f<e;f++)for(var q=this.buffer[this.pos++],d=n*this.width*4+32*f,b=0;8>b;b++)if(8*f+b<this.width){var a=this.palette[q>>7-b&1];this.data[d+4*b]=a.red;this.data[d+4*b+1]=a.green;this.data[d+4*b+2]=a.blue;this.data[d+4*b+3]=255}else break;0!=p&&(this.pos+=4-p)}};
+BmpDecoder.prototype.bit4=function(){for(var e=Math.ceil(this.width/2),p=e%4,n=this.height-1;0<=n;n--){for(var f=0;f<e;f++){var q=this.buffer[this.pos++],d=n*this.width*4+8*f,b=q&15,q=this.palette[q>>4];this.data[d]=q.red;this.data[d+1]=q.green;this.data[d+2]=q.blue;this.data[d+3]=255;if(2*f+1>=this.width)break;q=this.palette[b];this.data[d+4]=q.red;this.data[d+4+1]=q.green;this.data[d+4+2]=q.blue;this.data[d+4+3]=255}0!=p&&(this.pos+=4-p)}};
+BmpDecoder.prototype.bit8=function(){for(var e=this.width%4,p=this.height-1;0<=p;p--){for(var n=0;n<this.width;n++){var f=this.buffer[this.pos++],q=p*this.width*4+4*n;f<this.palette.length?(f=this.palette[f],this.data[q]=f.red,this.data[q+1]=f.green,this.data[q+2]=f.blue):(this.data[q]=255,this.data[q+1]=255,this.data[q+2]=255);this.data[q+3]=255}0!=e&&(this.pos+=4-e)}};
+BmpDecoder.prototype.bit15=function(){var e=2*this.width%4;0!=e&&(e=4-e);for(var p=this.height-1;0<=p;p--){for(var n=0;n<this.width;n++){var f=this.buffer[this.pos+1]<<8|this.buffer[this.pos];this.pos+=2;var q=(f&31)/31*255|0,d=(f>>5&31)/31*255|0,b=f>>15?255:0,a=p*this.width*4+4*n;this.data[a]=(f>>10&31)/31*255|0;this.data[a+1]=d;this.data[a+2]=q;this.data[a+3]=b}this.pos+=e}};
+BmpDecoder.prototype.bit16=function(){var e=2*this.width%4;0!=e&&(e=4-e);for(var p=this.height-1;0<=p;p--){for(var n=0;n<this.width;n++){var f=this.buffer[this.pos+1]<<8|this.buffer[this.pos];this.pos+=2;var q=(f&31)/31*255|0,d=(f>>5&31)/31*255|0,b=p*this.width*4+4*n;this.data[b]=(f>>10&31)/31*255|0;this.data[b+1]=d;this.data[b+2]=q;this.data[b+3]=255}this.pos+=e}};
+BmpDecoder.prototype.bit24=function(){var e=3*this.width%4;0!=e&&(e=4-e);for(var p=this.height-1;0<=p;p--){for(var n=0;n<this.width;n++){var f=this.buffer[this.pos++],q=this.buffer[this.pos++],d=this.buffer[this.pos++],b=p*this.width*4+4*n;this.data[b]=d;this.data[b+1]=q;this.data[b+2]=f;this.data[b+3]=255}this.pos+=e}};
+BmpDecoder.prototype.bit32=function(){for(var e=this.height-1;0<=e;e--)for(var p=0;p<this.width;p++){var n=this.buffer[this.pos++],f=this.buffer[this.pos++],q=this.buffer[this.pos++],d=this.buffer[this.pos++],b=e*this.width*4+4*p;this.data[b]=q;this.data[b+1]=f;this.data[b+2]=n;this.data[b+3]=d}};BmpDecoder.prototype.getData=function(){return this.data};var __extends=this&&this.__extends||function(e,p){function n(){this.constructor=e}for(var f in p)p.hasOwnProperty(f)&&(e[f]=p[f]);e.prototype=null===p?Object.create(p):(n.prototype=p.prototype,new n)},com;
+(function(e){(function(p){(function(n){var f=function(){function f(d){this.RESPONSE_END="</mxfile>";this.RESPONSE_DIAGRAM_START="";this.RESPONSE_DIAGRAM_END="</diagram>";this.RESPONSE_HEADER='<?xml version="1.0" encoding="UTF-8"?><mxfile>';this.vertexMap={};this.edgeShapeMap={};this.vertexShapeMap={};this.parentsMap={};this.layersMap={};this.debugPaths=!1;this.vsdxModel=null;this.editorUi=d}f.vsdxPlaceholder_$LI$=function(){null==f.vsdxPlaceholder&&(f.vsdxPlaceholder=window.atob?atob("dmlzaW8="):
+Base64.decode("dmlzaW8=",!0));return f.vsdxPlaceholder};f.parsererrorNS_$LI$=function(){if(null==f.parsererrorNS&&(f.parsererrorNS="",window.DOMParser)){var d=new DOMParser;try{f.parsererrorNS=d.parseFromString("<","text/xml").getElementsByTagName("parsererror")[0].namespaceURI}catch(b){}}return f.parsererrorNS};f.parseXml=function(d){try{var b=mxUtils.parseXml(d);return 0<b.getElementsByTagNameNS(f.parsererrorNS,"parsererror").length?null:b}catch(a){return null}};f.decodeUTF16LE=function(d){for(var b=
+"",a=0;a<d.length;a+=2)b+=String.fromCharCode(d.charCodeAt(a)|d.charCodeAt(a+1)<<8);return b};f.prototype.scaleGraph=function(d,b){if(1!==b){var a=d.getModel(),c;for(c in a.cells){var h=a.cells[c],m=a.getGeometry(h);if(null!=m&&(this.scaleRect(m,b),this.scaleRect(m.alternateBounds,b),a.isEdge(h)&&(this.scalePoint(m.sourcePoint,b),this.scalePoint(m.targetPoint,b),this.scalePoint(m.offset,b),h=m.points,null!=h)))for(m=0;m<h.length;m++)this.scalePoint(h[m],b)}}};f.incorrectXMLReqExp=[{regExp:/(\>[^&<]*)\&([^&<;]*\<)/g,
+repl:"$1&amp;$2"}];f.prototype.decodeVsdx=function(d,b,a,c){var h=this,m={},k={},x=function(){var a;function c(){a=a.concat(h.RESPONSE_END);b&&b(a)}for(var d=f.vsdxPlaceholder+"/document.xml",x=m[d]?m[d]:null,w=x.firstChild;null!=w&&1!=w.nodeType;)w=w.nextSibling;if(null!=w&&1==w.nodeType)h.importNodes(x,w,d,m);else return null;h.vsdxModel=new e.mxgraph.io.vsdx.mxVsdxModel(x,m,k);d=h.vsdxModel.getPages();a=h.RESPONSE_HEADER;var q=function(a){null==a.entries&&(a.entries=[]);return a.entries}(d),n=
+function(b,c){var m=q[b].getValue(),k=B.createMxGraph();k.getModel().beginUpdate();B.importPage(m,k,k.getDefaultParent(),!0);B.scaleGraph(k,m.getPageScale()/m.getDrawingScale());k.getModel().endUpdate();B.postImportPage(m,k,function(){B.sanitiseGraph(k);a=a.concat(h.RESPONSE_DIAGRAM_START);a=a.concat(h.processPage(k,m));a=a.concat(h.RESPONSE_DIAGRAM_END);b<q.length-1?n(b+1,c):c()})},B=h;0<q.length?n(0,c):c()},w=0,q=0,n=function(){if(q==w)try{x()}catch(G){console.log(G),null!=c?c():b("")}};JSZip.loadAsync(d).then(function(a){0==
+Object.keys(a.files).length?null!=c&&c():a.forEach(function(a,b){var c=b.name,d=c.toLowerCase(),e=d.length;d.indexOf(".xml")==e-4||d.indexOf(".rels")==e-5?(w++,b.async("string").then(function(a){if(0!==a.length){65279==a.charCodeAt(0)&&(a=a.substring(1));var b=f.parseXml(a);if(null==b)if(0===a.charCodeAt(1)&&0===a.charCodeAt(3)&&0===a.charCodeAt(5))b=f.parseXml(f.decodeUTF16LE(a));else{for(b=0;b<f.incorrectXMLReqExp.length;b++)f.incorrectXMLReqExp[b].regExp.test(a)&&(a=a.replace(f.incorrectXMLReqExp[b].regExp,
+f.incorrectXMLReqExp[b].repl));b=f.parseXml(a)}null!=b&&(b.vsdxFileName=c,m[c]=b)}q++;n()})):0===d.indexOf(f.vsdxPlaceholder+"/media")&&(w++,function(a,b){var c=a.length-b.length,h=a.indexOf(b,c);return-1!==h&&h===c}(d,".emf")?JSZip.support.blob&&window.EMF_CONVERT_URL?b.async("blob").then(function(a){var b=new FormData;b.append("img",a,d);b.append("inputformat","emf");b.append("outputformat","png");var m=new XMLHttpRequest;m.open("POST",EMF_CONVERT_URL);m.responseType="blob";h.editorUi.addRemoteServiceSecurityCheck(m);
+m.onreadystatechange=mxUtils.bind(this,function(){if(4==m.readyState)if(200<=m.status&&299>=m.status)try{var a=new FileReader;a.readAsDataURL(m.response);a.onloadend=function(){var b=a.result.indexOf(",")+1;k[c]=a.result.substr(b);q++;n()}}catch(aa){console.log(aa),q++,n()}else q++,n()});m.send(b)}):(q++,n()):function(a,b){var c=a.length-b.length,h=a.indexOf(b,c);return-1!==h&&h===c}(d,".bmp")?JSZip.support.uint8array&&b.async("uint8array").then(function(a){a=new BmpDecoder(a);var b=document.createElement("canvas");
+b.width=a.width;b.height=a.height;b.getContext("2d").putImageData(a.imageData,0,0);a=b.toDataURL("image/jpeg");k[c]=a.substr(23);q++;n()}):b.async("base64").then(function(a){k[c]=a;q++;n()}))})},function(a){null!=c&&c(a)})};f.prototype.createMxGraph=function(){var d=new Graph;d.setExtendParents(!1);d.setExtendParentsOnAdd(!1);d.setConstrainChildren(!1);d.setHtmlLabels(!0);d.getModel().maintainEdgeParent=!1;return d};f.prototype.processPage=function(d,b){var a=(new mxCodec).encode(d.getModel());a.setAttribute("style",
+"default-style2");var a=mxUtils.getXml(a),c="";if(null!=b)var h=mxUtils.htmlEntities(b.getPageName())+(b.isBackground()?" (Background)":""),c=c+('<diagram name="'+h+'" id="'+h.replace(/\s/g,"_")+'">');return c+=Graph.compress(a)};f.prototype.scalePoint=function(d,b){null!=d&&(d.x*=b,d.y*=b);return d};f.prototype.scaleRect=function(d,b){null!=d&&(d.x*=b,d.y*=b,d.height*=b,d.width*=b);return d};f.prototype.importNodes=function(d,b,a,c){var h=a.lastIndexOf("/"),m=a,k=a;if(-1!==h&&(m=a.substring(0,h),
+k=a.substring(h+1,a.length),a=function(a,b){return a[b]?a[b]:null}(c,m+"/_rels/"+k+".rels"),null!=a)){var e=a.getElementsByTagName("Relationship");a={};for(h=0;h<e.length;h++){var k=e.item(h),w=k.getAttribute("Id"),k=k.getAttribute("Target");a[w]=k}b=b.getElementsByTagName("Rel");for(h=0;h<b.length;h++)if(e=b.item(h),k=function(a,b){return a[b]?a[b]:null}(a,e.getAttribute("r:id")),k=m+"/"+k,null!=k&&(w=c[k]?c[k]:null,null!=w)){e=e.parentNode;for(w=w.firstChild;null!=w&&1!=w.nodeType;)w=w.nextSibling;
+if(null!=w&&1==w.nodeType)for(w=w.firstChild;null!=w;){if(null!=w&&1==w.nodeType){var f=e.appendChild(d.importNode(w,!0));this.importNodes(d,f,k,c)}w=w.nextSibling}}}};f.prototype.importPage=function(d,b,a,c){var h=d.getBackPage();if(null!=h){b.getModel().setValue(b.getDefaultParent(),d.getPageName());var m=new mxCell(h.getPageName());b.addCell(m,b.getModel().getRoot(),0,null,null);this.importPage(h,b,b.getDefaultParent())}h=d.getLayers();this.layersMap[0]=b.getDefaultParent();var m={},k=0,e=null,
+w=d.getShapes();try{for(var f=0;null!=w.entries&&f<w.entries.length;f++){var q=w.entries[f].getValue().layerMember;null!=q&&(null==e?(m[q]=k,e=q):e!=q&&null==m[q]&&(k++,m[q]=k,e=q))}}catch(G){console.log("VSDX Import: Failed to detect layers order")}for(f=0;f<h.length;f++)q=h[f],k=null!=m[f]?m[f]:f,0==k?e=b.getDefaultParent():(e=new mxCell,b.addCell(e,b.model.root,k)),e.setVisible(1==q.Visible),1==q.Lock&&e.setStyle("locked=1;"),e.setValue(q.Name),this.layersMap[f]=e;m=function(a){var b=0;return{next:function(){return b<
+a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){null==a.entries&&(a.entries=[]);return a.entries}(w));q=d.getPageDimensions().y;for(h=d.getId();m.hasNext();)w=m.next(),w=w.getValue(),f=this.layersMap[w.layerMember],this.addShape(b,w,f?f:a,h,q);for(d=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){null==a.entries&&(a.entries=[]);return a.entries}(d.getConnects()));d.hasNext();)w=d.next(),a=this.addConnectedEdge(b,
+w.getValue(),h,q),null!=a&&function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries.splice(c,1)[0]}(this.edgeShapeMap,a);for(d=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){null==a.entries&&(a.entries=[]);return a.entries}(this.edgeShapeMap));d.hasNext();)a=d.next(),a.getKey().getPageNumber()===h&&
+this.addUnconnectedEdge(b,function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(this.parentsMap,a.getKey()),a.getValue(),q);c||this.sanitiseGraph(b);return q};f.prototype.postImportPage=function(d,b,a){try{var c=this,h=[],m=d.getShapes().entries||[];for(b=0;b<m.length;b++){var k=m[b].value||{};k.toBeCroppedImg&&h.push(k)}if(0<h.length){var x=function(a,
+b){function m(){a<h.length-1?x(a+1,b):b()}var k=h[a],w=k.toBeCroppedImg,f=function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(c.vertexMap,new e.mxgraph.io.vsdx.ShapePageId(d.Id,k.Id)),q=new Image;q.onload=function(){var a=w.iData,b=w.iType;try{var c=q.width/w.imgWidth,h=q.height/w.imgHeight,k=-w.imgOffsetX*c,d=(w.imgHeight-w.height+w.imgOffsetY)*h,
+e=document.createElement("canvas");e.width=w.width*c;e.height=w.height*h;var x=e.getContext("2d");x.fillStyle="#FFFFFF";x.fillRect(0,0,e.width,e.height);x.drawImage(q,k,d,e.width,e.height,0,0,e.width,e.height);a=e.toDataURL("image/jpeg").substr(23);b="jpg"}catch(ea){console.log(ea)}f.style+=";image=data:image/"+b+","+a;m()};q.src="data:image/"+w.iType+";base64,"+w.iData;q.onerror=function(){f.style+=";image=data:image/"+w.iType+","+w.iData;m()}};x(0,a)}else a()}catch(w){console.log(w),a()}};f.prototype.addShape=
+function(d,b,a,c,h){b.parentHeight=h;var m=e.mxgraph.io.vsdx.VsdxShape.getType(b.getShape());if(null!=m&&(function(a,b){return a&&a.equals?a.equals(b):a===b}(m,e.mxgraph.io.vsdx.mxVsdxConstants.TYPE_SHAPE)||function(a,b){return a&&a.equals?a.equals(b):a===b}(m,e.mxgraph.io.vsdx.mxVsdxConstants.TYPE_GROUP)||function(a,b){return a&&a.equals?a.equals(b):a===b}(m,e.mxgraph.io.vsdx.mxVsdxConstants.FOREIGN))){var k=b.getId();if(b.isVertex()){m=null;m=b.isGroup()?this.addGroup(d,b,a,c,h):this.addVertex(d,
+b,a,c,h);(function(a,b,c){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(this.vertexShapeMap,new e.mxgraph.io.vsdx.ShapePageId(c,k),b);a=b.getHyperlink();a.extLink?d.setLinkForCell(m,a.extLink):a.pageLink&&d.setLinkForCell(m,"data:page/id,"+a.pageLink);b=b.getProperties();
+for(a=0;a<b.length;a++)d.setAttributeForCell(m,b[a].key,b[a].val);return m}b.setShapeIndex(d.getModel().getChildCount(a));(function(a,b,c){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(this.edgeShapeMap,new e.mxgraph.io.vsdx.ShapePageId(c,k),b);(function(a,b,c){null==
+a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(this.parentsMap,new e.mxgraph.io.vsdx.ShapePageId(c,k),a)}return null};f.prototype.addGroup=function(d,b,a,c,h){var m=b.getDimensions(),k=b.getMaster(),x=b.getStyleFromShape(),w=b.getGeomList();w.isNoFill()&&(x[mxConstants.STYLE_FILLCOLOR]=
+"none",x[mxConstants.STYLE_GRADIENTCOLOR]="none");w.isNoLine()&&(x[mxConstants.STYLE_STROKECOLOR]="none");x.html="1";x[mxConstants.STYLE_WHITE_SPACE]="wrap";var f=e.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(x,"="),x=null,q=b.getChildShapes(),x=null!=q&&0<function(a){null==a.entries&&(a.entries=[]);return a.entries.length}(q),w=b.isDisplacedLabel()||b.isRotatedLabel()||x,x=b.getOriginPoint(h,!0);if(w)x=d.insertVertex(a,null,null,Math.floor(Math.round(100*x.x)/100),Math.floor(Math.round(100*x.y)/100),
+Math.floor(Math.round(100*m.x)/100),Math.floor(Math.round(100*m.y)/100),f);else var n=b.getTextLabel(),x=d.insertVertex(a,null,n,Math.floor(Math.round(100*x.x)/100),Math.floor(Math.round(100*x.y)/100),Math.floor(Math.round(100*m.x)/100),Math.floor(Math.round(100*m.y)/100),f);for(a=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){null==a.entries&&(a.entries=[]);return a.entries}(q));a.hasNext();)f=a.next().getValue(),q=f.getId(),
+f.isVertex()?(n=e.mxgraph.io.vsdx.VsdxShape.getType(f.getShape()),null!=n&&(function(a,b){return a&&a.equals?a.equals(b):a===b}(n,e.mxgraph.io.vsdx.mxVsdxConstants.TYPE_SHAPE)||function(a,b){return a&&a.equals?a.equals(b):a===b}(n,e.mxgraph.io.vsdx.mxVsdxConstants.TYPE_GROUP)||function(a,b){return a&&a.equals?a.equals(b):a===b}(n,e.mxgraph.io.vsdx.mxVsdxConstants.FOREIGN))&&f.isVertex()&&(f.propagateRotation(b.getRotation()),f.isGroup()?this.addGroup(d,f,x,c,m.y):this.addVertex(d,f,x,c,m.y)),null==
+k&&function(a,b,c){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})}(this.vertexShapeMap,new e.mxgraph.io.vsdx.ShapePageId(c,q),f)):null==k?(function(a,b,c){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||
+a.entries[h].key===b){a.entries[h].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})}(this.edgeShapeMap,new e.mxgraph.io.vsdx.ShapePageId(c,q),f),function(a,b,c){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})}(this.parentsMap,
+new e.mxgraph.io.vsdx.ShapePageId(c,q),x)):this.addUnconnectedEdge(d,x,f,h);w&&b.createLabelSubShape(d,x);d=b.getRotation();if(0!==d)for(m=x.getGeometry(),h=m.width/2,m=m.height/2,k=0;k<x.getChildCount();k++)w=x.getChildAt(k),e.mxgraph.online.Utils.rotatedGeometry(w.getGeometry(),d,h,m);(function(a,b,c){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=c;return}a.entries.push({key:b,
+value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(this.vertexMap,new e.mxgraph.io.vsdx.ShapePageId(c,b.getId()),x);return x};f.rotatedEdgePoint=function(d,b,a,c){b=b*Math.PI/180;var h=Math.cos(b);b=Math.sin(b);var m=d.x-a,k=d.y-c;d.x=Math.round(m*h-k*b+a);d.y=Math.round(k*h+m*b+c)};f.prototype.addVertex=function(d,b,a,c,h){var m="",k=b.isDisplacedLabel()||b.isRotatedLabel();k||(m=b.getTextLabel());var x=b.getDimensions(),w=b.getStyleFromShape();w.html="1";var f=
+w.hasOwnProperty(mxConstants.STYLE_SHAPE)||w.hasOwnProperty("stencil");w.hasOwnProperty(mxConstants.STYLE_FILLCOLOR)&&f||(w[mxConstants.STYLE_FILLCOLOR]="none");f||(w[mxConstants.STYLE_STROKECOLOR]="none");w.hasOwnProperty(mxConstants.STYLE_GRADIENTCOLOR)&&f||(w[mxConstants.STYLE_GRADIENTCOLOR]="none");w[mxConstants.STYLE_WHITE_SPACE]="wrap";h=b.getOriginPoint(h,!0);return f||null!=m?(w=e.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(w,"="),f=null,f=k?d.insertVertex(a,null,null,Math.floor(Math.round(100*
+h.x)/100),Math.floor(Math.round(100*h.y)/100),Math.floor(Math.round(100*x.x)/100),Math.floor(Math.round(100*x.y)/100),w):d.insertVertex(a,null,m,Math.floor(Math.round(100*h.x)/100),Math.floor(Math.round(100*h.y)/100),Math.floor(Math.round(100*x.x)/100),Math.floor(Math.round(100*x.y)/100),w),function(a,b,c){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=c;return}a.entries.push({key:b,
+value:c,getKey:function(){return this.key},getValue:function(){return this.value}})}(this.vertexMap,new e.mxgraph.io.vsdx.ShapePageId(c,b.getId()),f),b.setLabelOffset(f,w),k&&b.createLabelSubShape(d,f),f):null};f.calculateAbsolutePoint=function(d){for(var b=0,a=0;null!=d;){var c=d.geometry;null!=c&&(b+=c.x,a+=c.y);d=d.parent}return new mxPoint(b,a)};f.prototype.addConnectedEdge=function(d,b,a,c){var h=b.getFromSheet(),h=new e.mxgraph.io.vsdx.ShapePageId(a,h),m=function(a,b){null==a.entries&&(a.entries=
+[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(this.edgeShapeMap,h);if(null==m)return null;var k=function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(this.parentsMap,new e.mxgraph.io.vsdx.ShapePageId(a,m.getId()));if(null!=k){var x=d.getModel().getGeometry(k);
+null!=x&&(c=x.height)}var w=m.getStartXY(c),q=m.getEndXY(c),x=m.getRoutingPoints(c,w,m.getRotation());this.rotateChildEdge(d.getModel(),k,w,q,x);var n=null,p=b.getSourceToSheet(),p=null!=p?function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(this.vertexMap,new e.mxgraph.io.vsdx.ShapePageId(a,p)):null,C=!0;if(null==p)p=d.insertVertex(k,null,null,Math.floor(Math.round(100*
+w.x)/100),Math.floor(Math.round(100*w.y)/100),0,0);else if(p.style&&-1==p.style.indexOf(";rotation="))var n=f.calculateAbsolutePoint(p),E=f.calculateAbsolutePoint(k),D=p.geometry,n=new mxPoint((E.x+w.x-n.x)/D.width,(E.y+w.y-n.y)/D.height);else C=!1;w=null;b=b.getTargetToSheet();b=null!=b?function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(this.vertexMap,
+new e.mxgraph.io.vsdx.ShapePageId(a,b)):null;E=!0;null==b?b=d.insertVertex(k,null,null,Math.floor(Math.round(100*q.x)/100),Math.floor(Math.round(100*q.y)/100),0,0):b.style&&-1==b.style.indexOf(";rotation=")?(a=f.calculateAbsolutePoint(b),w=f.calculateAbsolutePoint(k),D=b.geometry,w=new mxPoint((w.x+q.x-a.x)/D.width,(w.y+q.y-a.y)/D.height)):E=!1;q=m.getStyleFromEdgeShape(c);D=m.getRotation();0!==D?(a=d.insertEdge(k,null,null,p,b,e.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(q,"=")),C=m.createLabelSubShape(d,
+a),null!=C&&(C.setStyle(C.getStyle()+";rotation="+(60<D&&240>D?(D+180)%360:D)),C=C.getGeometry(),C.x=0,C.y=0,C.relative=!0,C.offset=new mxPoint(-C.width/2,-C.height/2))):(a=d.insertEdge(k,null,m.getTextLabel(),p,b,e.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(q,"=")),D=m.getLblEdgeOffset(d.getView(),x),a.getGeometry().offset=D,null!=n&&d.setConnectionConstraint(a,p,!0,new mxConnectionConstraint(n,!1)),C&&x.shift(),null!=w&&d.setConnectionConstraint(a,b,!1,new mxConnectionConstraint(w,!1)),E&&x.pop());
+C=d.getModel().getGeometry(a);if(p.parent!=b.parent&&null!=k&&1!=k.id&&1==p.parent.id){b=n=0;do w=k.geometry,null!=w&&(n+=w.x,b+=w.y),k=k.parent;while(null!=k);a.parent=p.parent;for(k=0;k<x.length;k++)x[k].x+=n,x[k].y+=b}C.points=x;q.hasOwnProperty("curved")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(function(a,b){return a[b]?a[b]:null}(q,"curved"),"1")&&(C=d.getModel().getGeometry(a),d=m.getControlPoints(c),C.points=d);return h};f.prototype.addUnconnectedEdge=function(d,b,a,c){if(null!=
+b){var h=d.getModel().getGeometry(b);null!=h&&(c=h.height)}var m=a.getStartXY(c),k=a.getEndXY(c),x=a.getStyleFromEdgeShape(c),w=a.getRoutingPoints(c,m,a.getRotation()),f=a.getRotation();if(0!==f){0===a.getShapeIndex()?h=d.insertEdge(b,null,null,null,null,e.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(x,"=")):(h=d.createEdge(b,null,null,null,null,e.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(x,"=")),h=d.addEdge(h,b,null,null,a.getShapeIndex()));var q=a.createLabelSubShape(d,h);null!=q&&(q.setStyle(q.getStyle()+
+";rotation="+(60<f&&240>f?(f+180)%360:f)),f=q.getGeometry(),f.x=0,f.y=0,f.relative=!0,f.offset=new mxPoint(-f.width/2,-f.height/2))}else 0===a.getShapeIndex()?h=d.insertEdge(b,null,a.getTextLabel(),null,null,e.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(x,"=")):(h=d.createEdge(b,null,a.getTextLabel(),null,null,e.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(x,"=")),h=d.addEdge(h,b,null,null,a.getShapeIndex())),f=a.getLblEdgeOffset(d.getView(),w),h.getGeometry().offset=f;this.rotateChildEdge(d.getModel(),
+b,m,k,w);b=d.getModel().getGeometry(h);w.pop();w.shift();b.points=w;b.setTerminalPoint(m,!0);b.setTerminalPoint(k,!1);x.hasOwnProperty("curved")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(function(a,b){return a[b]?a[b]:null}(x,"curved"),"1")&&(b=d.getModel().getGeometry(h),d=a.getControlPoints(c),b.points=d);return h};f.prototype.rotateChildEdge=function(d,b,a,c,h){if(null!=b){var m=d.getGeometry(b);d=d.getStyle(b);if(null!=m&&null!=d&&(b=d.indexOf("rotation="),-1<b))for(d=parseFloat(d.substring(b+
+9,d.indexOf(";",b))),b=m.width/2,m=m.height/2,f.rotatedEdgePoint(a,d,b,m),f.rotatedEdgePoint(c,d,b,m),a=0;a<h.length;a++)f.rotatedEdgePoint(h[a],d,b,m)}};f.prototype.sanitiseGraph=function(d){var b=d.getModel().getRoot();this.sanitiseCell(d,b)};f.prototype.sanitiseCell=function(d,b){for(var a=d.getModel(),c=a.getChildCount(b),h=[],m=0;m<c;m++){var k=a.getChildAt(b,m);this.sanitiseCell(d,k)&&h.push(k)}for(m=0;m<h.length;m++)a.remove(h[m]);h=b.geometry;null!=h&&(0>h.height&&(h.height=Math.abs(h.height),
+h.y-=h.height,b.style+=";flipV=1;"),0>h.width&&(h.width=Math.abs(h.width),h.x-=h.width,b.style+=";flipH=1;"));0<c&&(c=a.getChildCount(b));h=(new String(a.getValue(b))).toString();m=a.getStyle(b);return 0!==c||!a.isVertex(b)||null!=a.getValue(b)&&0!==h.length||null==m||-1==m.indexOf(mxConstants.STYLE_FILLCOLOR+"=none")||-1==m.indexOf(mxConstants.STYLE_STROKECOLOR+"=none")||-1!=m.indexOf("image=")?!1:!0};return f}();n.mxVsdxCodec=f;f.__class="com.mxgraph.io.mxVsdxCodec"})(p.io||(p.io={}))})(e.mxgraph||
(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){var g=function(g){function d(b){var a=g.call(this)||this;a.RESPONSE_END="";a.RESPONSE_DIAGRAM_START="";a.RESPONSE_DIAGRAM_END="";a.RESPONSE_HEADER="";a.editorUi=b;return a}__extends(d,g);d.prototype.decodeVssx=function(b,a,c,f){var m=this,l="<mxlibrary>[";this.decodeVsdx(b,function(b){l=l.concat(b);var c=m.vsdxModel.getMasterShapes(),d=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){var b=
-[];null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)b.push(a.entries[c].value);return b}(m.vsdxModel.getPages())).next();if(null!=c){var x={str:"",toString:function(){return this.str}},q=0===b.length?"":",",n=function(a){return Object.keys(a).map(function(b){return a[b]})}(c);b=function(a){a=n[a];var b=p.createMxGraph(),f=1;if(null!=a.pageSheet){var m=f=1,l=a.pageSheet.DrawingScale;null!=l&&(f=parseFloat(l.getAttribute("V"))||1);l=a.pageSheet.PageScale;null!=l&&(m=parseFloat(l.getAttribute("V"))||
-1);f=m/f}m=!1;for(l=0;null!=a.firstLevelShapes&&l<a.firstLevelShapes.length;l++){var w=a.firstLevelShapes[l].getShape(),C=new e.mxgraph.io.vsdx.VsdxShape(d,w,!d.isEdge(w),c,null,p.vsdxModel),w=null;if(C.isVertex()){p.edgeShapeMap.entries=[];p.parentsMap.entries=[];for(var w=p.addShape(b,C,b.getDefaultParent(),0,1169),C=function(a){null==a.entries&&(a.entries=[]);return a.entries}(p.edgeShapeMap),A=0;A<C.length;A++){var G=C[A],B=function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=
-a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(p.parentsMap,G.getKey());p.addUnconnectedEdge(b,B,G.getValue(),1169)}}else w=p.addUnconnectedEdge(b,null,C,1169);m|=null!=w}if(m){p.scaleGraph(b,f);f=p.normalizeGraph(b);p.sanitiseGraph(b);if(0===b.getModel().getChildCount(b.getDefaultParent()))return"continue";x.str=x.str.concat(q);x.str=x.str.concat('{"xml":"');b=g.prototype.processPage.call(p,b,null);x.str=x.str.concat(b);x.str=x.str.concat('","w":');
-x.str=x.str.concat(f.width);x.str=x.str.concat(',"h":');x.str=x.str.concat(f.height);x.str=x.str.concat(',"title":');a=a.getName();null==a&&(a="");a=mxUtils.htmlEntities(JSON.stringify(a));x.str=x.str.concat(a);x.str=x.str.concat("}");q=","}};for(var p=m,D=0;D<n.length;D++)b(D);l=l.concat(x)}l=l.concat("]</mxlibrary>");if(a)try{a(l)}catch(K){null!=f?f(K):a("")}},c)};d.prototype.normalizeGeo=function(b){var a=b.getGeometry();a.x=0;a.y=0;var c=a.sourcePoint;if(b.isEdge()&&null!=c){this.transPoint(a.targetPoint,
-c);this.transPoint(a.offset,c);b=a.points;if(null!=b)for(var f=0;f<b.length;f++)this.transPoint(b[f],c);this.transPoint(c,c)}return a};d.prototype.normalizeGraph=function(b){function a(a){null!=a&&(null==c?(c=a.x,f=a.y,m=a.x+(a.width||0),l=a.y+(a.height||0)):(c=Math.min(a.x,c),f=Math.min(a.y,f),m=Math.max(a.x+(a.width||0),m),l=Math.max(a.y+(a.height||0),l)))}var c,f,m,l,d;for(d in b.model.cells){var e=b.model.cells[d],g=e.geometry;if(null!=g&&1==e.parent.id)if(e.vertex)a(g);else for(a(g.sourcePoint),
-a(g.targetPoint),e=g.points,g=0;null!=e&&g<e.length;g++)a(e[g])}var q={x:c,y:f};for(d in b.model.cells)if(e=b.model.cells[d],g=e.geometry,null!=g&&1==e.parent.id&&(g.x-=c,g.y-=f,e.isEdge()))for(this.transPoint(g.sourcePoint,q),this.transPoint(g.targetPoint,q),this.transPoint(g.offset,q),e=g.points,g=0;null!=e&&g<e.length;g++)this.transPoint(e[g],q);return{width:m-c,height:l-f}};d.prototype.transPoint=function(b,a){null!=b&&(b.x-=a.x,b.y-=a.y)};d.prototype.processPage=function(b,a){var c=b.getModel(),
-f="",m="",l;for(l in c.cells){var d=c.cells[l];if(b.getDefaultParent()===c.getParent(d)){var f=f.concat(m),f=f.concat('{"xml":"'),w=this.createMxGraph();w.addCell(d);this.sanitiseGraph(w);if(0===w.getModel().getChildCount(w.getDefaultParent()))return"continue";m=this.normalizeGeo(d);w=g.prototype.processPage.call(this,w,null);f=f.concat(w);f=f.concat('","w":');f=f.concat(m.width);f=f.concat(',"h":');f=f.concat(m.height);f=f.concat(',"title":"');m=c.getStyle(d);d="";if(null!=m&&(w=m.indexOf(e.mxgraph.io.vsdx.mxVsdxConstants.VSDX_ID),
-0<=w)){w+=e.mxgraph.io.vsdx.mxVsdxConstants.VSDX_ID.length+1;l=parseInt(m.substring(w,m.indexOf(";",w)));a:{m=this.vertexShapeMap;w=new e.mxgraph.io.vsdx.ShapePageId(a.getId(),l);null==m.entries&&(m.entries=[]);for(var q=0;q<m.entries.length;q++)if(null!=m.entries[q].key.equals&&m.entries[q].key.equals(w)||m.entries[q].key===w){m=m.entries[q].value;break a}m=null}null!=m&&(d=m.getName())}f=f.concat(d);f=f.concat('"}');m=","}}this.RESPONSE_DIAGRAM_START=0<f.length?",":"";return f};return d}(e.mxgraph.io.mxVsdxCodec);
-n.mxVssxCodec=g;g.__class="com.mxgraph.io.mxVssxCodec"})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(e){(function(e){(function(e){(function(e){var d=function(){function b(a,b,f){this.formulaE=this.formulaA=this.d=this.c=this.b=this.a=this.y=this.x=null;this.index=0;this.index=a;this.x=b;this.y=f}b.prototype.getX=function(){return this.x};b.prototype.getY=function(){return this.y};b.prototype.getA=function(){return this.a};b.prototype.getB=function(){return this.b};b.prototype.getC=function(){return this.c};b.prototype.getD=function(){return this.d};b.prototype.getFormulaA=
+(function(e){(function(p){(function(n){var f=function(f){function d(b){var a=f.call(this)||this;a.RESPONSE_END="";a.RESPONSE_DIAGRAM_START="";a.RESPONSE_DIAGRAM_END="";a.RESPONSE_HEADER="";a.editorUi=b;return a}__extends(d,f);d.prototype.decodeVssx=function(b,a,c,h){var m=this,k="<mxlibrary>[";this.decodeVsdx(b,function(b){k=k.concat(b);var c=m.vsdxModel.getMasterShapes(),d=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){var b=
+[];null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)b.push(a.entries[c].value);return b}(m.vsdxModel.getPages())).next();if(null!=c){var x={str:"",toString:function(){return this.str}},q=0===b.length?"":",",n=function(a){return Object.keys(a).map(function(b){return a[b]})}(c);b=function(a){a=n[a];var b=p.createMxGraph(),h=1;if(null!=a.pageSheet){var m=h=1,k=a.pageSheet.DrawingScale;null!=k&&(h=parseFloat(k.getAttribute("V"))||1);k=a.pageSheet.PageScale;null!=k&&(m=parseFloat(k.getAttribute("V"))||
+1);h=m/h}m=!1;for(k=0;null!=a.firstLevelShapes&&k<a.firstLevelShapes.length;k++){var w=a.firstLevelShapes[k].getShape(),B=new e.mxgraph.io.vsdx.VsdxShape(d,w,!d.isEdge(w),c,null,p.vsdxModel),w=null;if(B.isVertex()){p.edgeShapeMap.entries=[];p.parentsMap.entries=[];for(var w=p.addShape(b,B,b.getDefaultParent(),0,1169),B=function(a){null==a.entries&&(a.entries=[]);return a.entries}(p.edgeShapeMap),A=0;A<B.length;A++){var G=B[A],C=function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=
+a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(p.parentsMap,G.getKey());p.addUnconnectedEdge(b,C,G.getValue(),1169)}}else w=p.addUnconnectedEdge(b,null,B,1169);m|=null!=w}if(m){p.scaleGraph(b,h);h=p.normalizeGraph(b);p.sanitiseGraph(b);if(0===b.getModel().getChildCount(b.getDefaultParent()))return"continue";x.str=x.str.concat(q);x.str=x.str.concat('{"xml":"');b=f.prototype.processPage.call(p,b,null);x.str=x.str.concat(b);x.str=x.str.concat('","w":');
+x.str=x.str.concat(h.width);x.str=x.str.concat(',"h":');x.str=x.str.concat(h.height);x.str=x.str.concat(',"title":');a=a.getName();null==a&&(a="");a=mxUtils.htmlEntities(JSON.stringify(a));x.str=x.str.concat(a);x.str=x.str.concat("}");q=","}};for(var p=m,D=0;D<n.length;D++)b(D);k=k.concat(x)}k=k.concat("]</mxlibrary>");if(a)try{a(k)}catch(K){null!=h?h(K):a("")}},c)};d.prototype.normalizeGeo=function(b){var a=b.getGeometry();a.x=0;a.y=0;var c=a.sourcePoint;if(b.isEdge()&&null!=c){this.transPoint(a.targetPoint,
+c);this.transPoint(a.offset,c);b=a.points;if(null!=b)for(var h=0;h<b.length;h++)this.transPoint(b[h],c);this.transPoint(c,c)}return a};d.prototype.normalizeGraph=function(b){function a(a){null!=a&&(null==c?(c=a.x,h=a.y,m=a.x+(a.width||0),k=a.y+(a.height||0)):(c=Math.min(a.x,c),h=Math.min(a.y,h),m=Math.max(a.x+(a.width||0),m),k=Math.max(a.y+(a.height||0),k)))}var c,h,m,k,d;for(d in b.model.cells){var e=b.model.cells[d],f=e.geometry;if(null!=f&&1==e.parent.id)if(e.vertex)a(f);else for(a(f.sourcePoint),
+a(f.targetPoint),e=f.points,f=0;null!=e&&f<e.length;f++)a(e[f])}var q={x:c,y:h};for(d in b.model.cells)if(e=b.model.cells[d],f=e.geometry,null!=f&&1==e.parent.id&&(f.x-=c,f.y-=h,e.isEdge()))for(this.transPoint(f.sourcePoint,q),this.transPoint(f.targetPoint,q),this.transPoint(f.offset,q),e=f.points,f=0;null!=e&&f<e.length;f++)this.transPoint(e[f],q);return{width:m-c,height:k-h}};d.prototype.transPoint=function(b,a){null!=b&&(b.x-=a.x,b.y-=a.y)};d.prototype.processPage=function(b,a){var c=b.getModel(),
+h="",m="",k;for(k in c.cells){var d=c.cells[k];if(b.getDefaultParent()===c.getParent(d)){var h=h.concat(m),h=h.concat('{"xml":"'),w=this.createMxGraph();w.addCell(d);this.sanitiseGraph(w);if(0===w.getModel().getChildCount(w.getDefaultParent()))return"continue";m=this.normalizeGeo(d);w=f.prototype.processPage.call(this,w,null);h=h.concat(w);h=h.concat('","w":');h=h.concat(m.width);h=h.concat(',"h":');h=h.concat(m.height);h=h.concat(',"title":"');m=c.getStyle(d);d="";if(null!=m&&(w=m.indexOf(e.mxgraph.io.vsdx.mxVsdxConstants.VSDX_ID),
+0<=w)){w+=e.mxgraph.io.vsdx.mxVsdxConstants.VSDX_ID.length+1;k=parseInt(m.substring(w,m.indexOf(";",w)));a:{m=this.vertexShapeMap;w=new e.mxgraph.io.vsdx.ShapePageId(a.getId(),k);null==m.entries&&(m.entries=[]);for(var q=0;q<m.entries.length;q++)if(null!=m.entries[q].key.equals&&m.entries[q].key.equals(w)||m.entries[q].key===w){m=m.entries[q].value;break a}m=null}null!=m&&(d=m.getName())}h=h.concat(d);h=h.concat('"}');m=","}}this.RESPONSE_DIAGRAM_START=0<h.length?",":"";return h};return d}(e.mxgraph.io.mxVsdxCodec);
+n.mxVssxCodec=f;f.__class="com.mxgraph.io.mxVssxCodec"})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(e){(function(e){(function(e){(function(e){var d=function(){function b(a,b,h){this.formulaE=this.formulaA=this.d=this.c=this.b=this.a=this.y=this.x=null;this.index=0;this.index=a;this.x=b;this.y=h}b.prototype.getX=function(){return this.x};b.prototype.getY=function(){return this.y};b.prototype.getA=function(){return this.a};b.prototype.getB=function(){return this.b};b.prototype.getC=function(){return this.c};b.prototype.getD=function(){return this.d};b.prototype.getFormulaA=
function(){return this.formulaA};b.prototype.getFormulaE=function(){return this.formulaE};b.prototype.getIndex=function(){return this.index};return b}();e.Row=d;d.__class="com.mxgraph.io.vsdx.geometry.Row"})(e.geometry||(e.geometry={}))})(e.vsdx||(e.vsdx={}))})(e.io||(e.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(){function b(){}b.getIndex=function(a){try{return parseInt(a.getAttribute("IX"))||1}catch(c){return 1}};b.getDoubleVal=function(a){try{if(null!=a&&0!==a.length){var b=parseFloat(a);if(isFinite(b))return b}}catch(f){}return null};b.getRowObj=function(a,c){var f=a.getAttribute("T"),m=b.getIndex(a),l;l=(l=a.getAttribute("Del"))&&l.equals?l.equals("1"):"1"===l;if(!l){var d=null;m<=c.length&&(d=c[m-1]);var g=l=null,q=null,
-n=null,p=null,B=null,E=null,D=null;null!=d&&(l=d.x,g=d.y,q=d.getA(),n=d.getB(),p=d.getC(),B=d.getD(),D=d.getFormulaA(),E=d.getFormulaE());for(var d=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a),K=0;K<d.length;K++){var S=d[K],I=S.getAttribute("N"),Z=S.getAttribute("V");switch(I){case "X":l=b.getDoubleVal(Z);break;case "Y":g=b.getDoubleVal(Z);break;case "A":q=b.getDoubleVal(Z);D=S.getAttribute("V");break;case "B":n=b.getDoubleVal(Z);break;case "C":p=b.getDoubleVal(Z);break;case "D":B=b.getDoubleVal(Z);
-break;case "E":E=Z}}switch(f){case "MoveTo":return new e.mxgraph.io.vsdx.geometry.MoveTo(m,l,g);case "LineTo":return new e.mxgraph.io.vsdx.geometry.LineTo(m,l,g);case "ArcTo":return new e.mxgraph.io.vsdx.geometry.ArcTo(m,l,g,q);case "Ellipse":return new e.mxgraph.io.vsdx.geometry.Ellipse(m,l,g,q,n,p,B);case "EllipticalArcTo":return new e.mxgraph.io.vsdx.geometry.EllipticalArcTo(m,l,g,q,n,p,B);case "InfiniteLine":return new e.mxgraph.io.vsdx.geometry.InfiniteLine(m,l,g,q,n);case "NURBSTo":return new e.mxgraph.io.vsdx.geometry.NURBSTo(m,
-l,g,q,n,p,B,E);case "PolylineTo":return new e.mxgraph.io.vsdx.geometry.PolylineTo(m,l,g,D);case "RelCubBezTo":return new e.mxgraph.io.vsdx.geometry.RelCubBezTo(m,l,g,q,n,p,B);case "RelEllipticalArcTo":return new e.mxgraph.io.vsdx.geometry.RelEllipticalArcTo(m,l,g,q,n,p,B);case "RelLineTo":return new e.mxgraph.io.vsdx.geometry.RelLineTo(m,l,g);case "RelMoveTo":return new e.mxgraph.io.vsdx.geometry.RelMoveTo(m,l,g);case "RelQuadBezTo":return new e.mxgraph.io.vsdx.geometry.RelQuadBezTo(m,l,g,q,n);case "SplineKnot":return new e.mxgraph.io.vsdx.geometry.SplineKnot(m,
-l,g,q);case "SplineStart":return new e.mxgraph.io.vsdx.geometry.SplineStart(m,l,g,q,n,p,B)}}return new e.mxgraph.io.vsdx.geometry.DelRow(m)};return b}();g.RowFactory=d;d.__class="com.mxgraph.io.vsdx.geometry.RowFactory"})(g.geometry||(g.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){var q=function(){function d(){this.colorElementMap={};this.fontElementMap={}}d.__static_initialize=function(){d.__static_initialized||(d.__static_initialized=!0,d.__static_initializer_0())};d.defaultColors_$LI$=function(){d.__static_initialize();null==d.defaultColors&&(d.defaultColors={});return d.defaultColors};d.__static_initializer_0=function(){d.defaultColors_$LI$()["0"]="#000000";d.defaultColors_$LI$()["1"]="#FFFFFF";d.defaultColors_$LI$()["2"]=
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(){function b(){}b.getIndex=function(a){try{return parseInt(a.getAttribute("IX"))||1}catch(c){return 1}};b.getDoubleVal=function(a){try{if(null!=a&&0!==a.length){var b=parseFloat(a);if(isFinite(b))return b}}catch(h){}return null};b.getRowObj=function(a,c){var h=a.getAttribute("T"),m=b.getIndex(a),k;k=(k=a.getAttribute("Del"))&&k.equals?k.equals("1"):"1"===k;if(!k){var d=null;m<=c.length&&(d=c[m-1]);var f=k=null,q=null,
+n=null,p=null,C=null,E=null,D=null;null!=d&&(k=d.x,f=d.y,q=d.getA(),n=d.getB(),p=d.getC(),C=d.getD(),D=d.getFormulaA(),E=d.getFormulaE());for(var d=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a),K=0;K<d.length;K++){var S=d[K],I=S.getAttribute("N"),Z=S.getAttribute("V");switch(I){case "X":k=b.getDoubleVal(Z);break;case "Y":f=b.getDoubleVal(Z);break;case "A":q=b.getDoubleVal(Z);D=S.getAttribute("V");break;case "B":n=b.getDoubleVal(Z);break;case "C":p=b.getDoubleVal(Z);break;case "D":C=b.getDoubleVal(Z);
+break;case "E":E=Z}}switch(h){case "MoveTo":return new e.mxgraph.io.vsdx.geometry.MoveTo(m,k,f);case "LineTo":return new e.mxgraph.io.vsdx.geometry.LineTo(m,k,f);case "ArcTo":return new e.mxgraph.io.vsdx.geometry.ArcTo(m,k,f,q);case "Ellipse":return new e.mxgraph.io.vsdx.geometry.Ellipse(m,k,f,q,n,p,C);case "EllipticalArcTo":return new e.mxgraph.io.vsdx.geometry.EllipticalArcTo(m,k,f,q,n,p,C);case "InfiniteLine":return new e.mxgraph.io.vsdx.geometry.InfiniteLine(m,k,f,q,n);case "NURBSTo":return new e.mxgraph.io.vsdx.geometry.NURBSTo(m,
+k,f,q,n,p,C,E);case "PolylineTo":return new e.mxgraph.io.vsdx.geometry.PolylineTo(m,k,f,D);case "RelCubBezTo":return new e.mxgraph.io.vsdx.geometry.RelCubBezTo(m,k,f,q,n,p,C);case "RelEllipticalArcTo":return new e.mxgraph.io.vsdx.geometry.RelEllipticalArcTo(m,k,f,q,n,p,C);case "RelLineTo":return new e.mxgraph.io.vsdx.geometry.RelLineTo(m,k,f);case "RelMoveTo":return new e.mxgraph.io.vsdx.geometry.RelMoveTo(m,k,f);case "RelQuadBezTo":return new e.mxgraph.io.vsdx.geometry.RelQuadBezTo(m,k,f,q,n);case "SplineKnot":return new e.mxgraph.io.vsdx.geometry.SplineKnot(m,
+k,f,q);case "SplineStart":return new e.mxgraph.io.vsdx.geometry.SplineStart(m,k,f,q,n,p,C)}}return new e.mxgraph.io.vsdx.geometry.DelRow(m)};return b}();f.RowFactory=d;d.__class="com.mxgraph.io.vsdx.geometry.RowFactory"})(f.geometry||(f.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){var q=function(){function d(){this.colorElementMap={};this.fontElementMap={}}d.__static_initialize=function(){d.__static_initialized||(d.__static_initialized=!0,d.__static_initializer_0())};d.defaultColors_$LI$=function(){d.__static_initialize();null==d.defaultColors&&(d.defaultColors={});return d.defaultColors};d.__static_initializer_0=function(){d.defaultColors_$LI$()["0"]="#000000";d.defaultColors_$LI$()["1"]="#FFFFFF";d.defaultColors_$LI$()["2"]=
"#FF0000";d.defaultColors_$LI$()["3"]="#00FF00";d.defaultColors_$LI$()["4"]="#0000FF";d.defaultColors_$LI$()["5"]="#FFFF00";d.defaultColors_$LI$()["6"]="#FF00FF";d.defaultColors_$LI$()["7"]="#00FFFF";d.defaultColors_$LI$()["8"]="#800000";d.defaultColors_$LI$()["9"]="#008000";d.defaultColors_$LI$()["10"]="#000080";d.defaultColors_$LI$()["11"]="#808000";d.defaultColors_$LI$()["12"]="#800080";d.defaultColors_$LI$()["13"]="#008080";d.defaultColors_$LI$()["14"]="#C0C0C0";d.defaultColors_$LI$()["15"]="#E6E6E6";
-d.defaultColors_$LI$()["16"]="#CDCDCD";d.defaultColors_$LI$()["17"]="#B3B3B3";d.defaultColors_$LI$()["18"]="#9A9A9A";d.defaultColors_$LI$()["19"]="#808080";d.defaultColors_$LI$()["20"]="#666666";d.defaultColors_$LI$()["21"]="#4D4D4D";d.defaultColors_$LI$()["22"]="#333333";d.defaultColors_$LI$()["23"]="#1A1A1A"};d.prototype.initialise=function(b,a){if(null!=b){var c=b.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.COLORS);if(0<c.length)for(var f=c.item(0).getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.COLOR_ENTRY),
-m=f.length,c=0;c<m;c++){var l=f.item(c),d=l.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.INDEX),l=l.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.RGB);this.colorElementMap[d]=l}c=b.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.FACE_NAMES);if(0<c.length)for(f=c.item(0).getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.FACE_NAME),m=f.length,c=0;c<m;c++)l=f.item(c),d=l.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.ID),l=l.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.FONT_NAME),this.fontElementMap[d]=
-l}};d.prototype.getColor=function(b){var a=function(a,b){return a[b]?a[b]:null}(this.colorElementMap,b);return null==a&&(a=function(a,b){return a[b]?a[b]:null}(d.defaultColors_$LI$(),b),null==a)?"":a};d.prototype.getFont=function(b){var a=this.fontElementMap;b=a[b]?a[b]:null;return null==b?"":b};return d}();q.__static_initialized=!1;g.mxPropertiesManager=q;q.__class="com.mxgraph.io.vsdx.mxPropertiesManager"})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){var q=function(){function d(b){this.sourceToSheet=this.fromSheet=null;this.sourceToPart=-1;this.targetToSheet=null;this.targetToPart=-1;this.endShape=this.fromCell=null;var a=b.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.FROM_SHEET);this.fromSheet=null!=a&&0!==a.length?parseFloat(a):-1;a=b.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.FROM_CELL);this.addFromCell(b,a)}d.prototype.addFromCell=function(b,a){var c=b.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TO_SHEET),
-f=!0;null!=a&&function(a,b){return a&&a.equals?a.equals(b):a===b}(a,e.mxgraph.io.vsdx.mxVsdxConstants.BEGIN_X)?(this.sourceToSheet=null!=c&&0!==c.length?parseFloat(c):-1,f=!0):null!=a&&function(a,b){return a&&a.equals?a.equals(b):a===b}(a,e.mxgraph.io.vsdx.mxVsdxConstants.END_X)?(this.targetToSheet=null!=c&&0!==c.length?parseFloat(c):-1,f=!1):null==this.sourceToSheet?(this.sourceToSheet=null!=c&&0!==c.length?parseFloat(c):-1,f=!0):null==this.targetToSheet&&(this.targetToSheet=null!=c&&0!==c.length?
-parseFloat(c):-1,f=!1);this.findToPart(b,f)};d.prototype.findToPart=function(b,a){var c=b.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TO_PART),c=null!=c&&0!==c.length?parseFloat(c):-1;a?this.sourceToPart=c:this.targetToPart=c};d.prototype.getFromSheet=function(){return this.fromSheet};d.prototype.getSourceToSheet=function(){return this.sourceToSheet};d.prototype.getTargetToSheet=function(){return this.targetToSheet};d.prototype.getSourceToPart=function(){return this.sourceToPart};d.prototype.getTargetToPart=
-function(){return this.targetToPart};d.prototype.addConnect=function(b){this.endShape=b;var a=b.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.FROM_CELL);this.addFromCell(b,a)};return d}();g.mxVsdxConnect=q;q.__class="com.mxgraph.io.vsdx.mxVsdxConnect"})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(e){(function(e){(function(e){var g=function(){function d(){}d.SET_VALUES_$LI$=function(){null==d.SET_VALUES&&(d.SET_VALUES=["a","b"]);return d.SET_VALUES};d.MY_SET_$LI$=function(){null==d.MY_SET&&(d.MY_SET=d.SET_VALUES_$LI$().slice(0).slice(0));return d.MY_SET};return d}();g.ANGLE="Angle";g.ARC_TO="ArcTo";g.BACKGROUND="Background";g.BACK_PAGE="BackPage";g.BEGIN_ARROW="BeginArrow";g.BEGIN_ARROW_SIZE="BeginArrowSize";g.BEGIN_X="BeginX";g.BEGIN_Y="BeginY";g.BOTTOM_MARGIN="BottomMargin";
-g.BULLET="Bullet";g.CASE="Case";g.CHARACTER="Character";g.COLOR="Color";g.COLOR_ENTRY="ColorEntry";g.COLORS="Colors";g.COLOR_TRANS="ColorTrans";g.CONNECT="Connect";g.CONNECTS="Connects";g.CONNECTION="Connection";g.CONTROL="Control";g.DELETED="Del";g.DOCUMENT_SHEET="DocumentSheet";g.ELLIPSE="Ellipse";g.ELLIPTICAL_ARC_TO="EllipticalArcTo";g.END_ARROW="EndArrow";g.END_ARROW_SIZE="EndArrowSize";g.END_X="EndX";g.END_Y="EndY";g.FACE_NAME="FaceName";g.FACE_NAMES="FaceNames";g.FALSE="0";g.FILL="Fill";g.FILL_BKGND=
-"FillBkgnd";g.FILL_BKGND_TRANS="FillBkgndTrans";g.FILL_FOREGND="FillForegnd";g.FILL_FOREGND_TRANS="FillForegndTrans";g.FILL_PATTERN="FillPattern";g.FILL_STYLE="FillStyle";g.FILL_GRADIENT_ENABLED="FillGradientEnabled";g.FLAGS="Flags";g.FLIP_X="FlipX";g.FLIP_Y="FlipY";g.FONT="Font";g.FONT_NAME="Name";g.FOREIGN="Foreign";g.FROM_CELL="FromCell";g.FROM_SHEET="FromSheet";g.GEOM="Geom";g.HEIGHT="Height";g.HORIZONTAL_ALIGN="HorzAlign";g.ID="ID";g.INDENT_FIRST="IndFirst";g.INDENT_LEFT="IndLeft";g.INDENT_RIGHT=
-"IndRight";g.INDEX="IX";g.LEFT_MARGIN="LeftMargin";g.LETTER_SPACE="Letterspace";g.LINE="Line";g.LINE_COLOR="LineColor";g.LINE_COLOR_TRANS="LineColorTrans";g.LINE_PATTERN="LinePattern";g.LINE_STYLE="LineStyle";g.LINE_TO="LineTo";g.LINE_WEIGHT="LineWeight";g.LOC_PIN_X="LocPinX";g.LOC_PIN_Y="LocPinY";g.MASTER="Master";g.MASTER_SHAPE="MasterShape";g.MASTERS="Masters";g.MOVE_TO="MoveTo";g.NAME="Name";g.NAME_U="NameU";g.NO_LINE="NoLine";g.NURBS_TO="NURBSTo";g.PAGE="Page";g.PAGE_HEIGHT="PageHeight";g.PAGE_WIDTH=
-"PageWidth";g.PAGES="Pages";g.PARAGRAPH="Paragraph";g.PIN_X="PinX";g.PIN_Y="PinY";g.POS="Pos";g.RGB="RGB";g.RIGHT_MARGIN="RightMargin";g.ROUNDING="Rounding";g.RTL_TEXT="RTLText";g.SIZE="Size";g.SHAPE="Shape";g.SHAPES="Shapes";g.SHAPE_SHDW_SHOW="ShapeShdwShow";g.SHDW_PATTERN="ShdwPattern";g.SPACE_AFTER="SpAfter";g.SPACE_BEFORE="SpBefore";g.SPACE_LINE="SpLine";g.STRIKETHRU="Strikethru";g.STYLE="Style";g.STYLE_SHEET="StyleSheet";g.STYLE_SHEETS="StyleSheets";g.TEXT="Text";g.TEXT_BKGND="TextBkgnd";g.TEXT_BLOCK=
-"TextBlock";g.TEXT_STYLE="TextStyle";g.TO_PART="ToPart";g.TO_SHEET="ToSheet";g.TOP_MARGIN="TopMargin";g.TRUE="1";g.TXT_ANGLE="TxtAngle";g.TXT_HEIGHT="TxtHeight";g.TXT_LOC_PIN_X="TxtLocPinX";g.TXT_LOC_PIN_Y="TxtLocPinY";g.TXT_PIN_X="TxtPinX";g.TXT_PIN_Y="TxtPinY";g.TXT_WIDTH="TxtWidth";g.TYPE="Type";g.TYPE_GROUP="Group";g.TYPE_SHAPE="Shape";g.UNIQUE_ID="UniqueID";g.VERTICAL_ALIGN="VerticalAlign";g.WIDTH="Width";g.X_CON="XCon";g.X_DYN="XDyn";g.X="X";g.Y_CON="YCon";g.Y_DYN="YDyn";g.Y="Y";g.HIDE_TEXT=
-"HideText";g.VSDX_ID="vsdxID";g.CONNECT_TO_PART_WHOLE_SHAPE=3;e.mxVsdxConstants=g;g.__class="com.mxgraph.io.vsdx.mxVsdxConstants"})(e.vsdx||(e.vsdx={}))})(e.io||(e.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){var q=function(){function d(b,a){this.noQuickDrag=this.noSnap=this.noShow=this.noLine=this.noFill=!1;this.rows=null;if((null!=b&&1==b.nodeType||null===b)&&(null!=a&&a instanceof Array||null===a))Array.prototype.slice.call(arguments),this.index=0,this.noQuickDrag=this.noSnap=this.noShow=this.noLine=this.noFill=!1,this.rows=null,this.index=0,this.index=this.getIndex$org_w3c_dom_Element(b),null!=a&&this.index<a.length&&this.inheritGeo(a[this.index]),
+d.defaultColors_$LI$()["16"]="#CDCDCD";d.defaultColors_$LI$()["17"]="#B3B3B3";d.defaultColors_$LI$()["18"]="#9A9A9A";d.defaultColors_$LI$()["19"]="#808080";d.defaultColors_$LI$()["20"]="#666666";d.defaultColors_$LI$()["21"]="#4D4D4D";d.defaultColors_$LI$()["22"]="#333333";d.defaultColors_$LI$()["23"]="#1A1A1A"};d.prototype.initialise=function(b,a){if(null!=b){var c=b.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.COLORS);if(0<c.length)for(var h=c.item(0).getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.COLOR_ENTRY),
+m=h.length,c=0;c<m;c++){var k=h.item(c),d=k.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.INDEX),k=k.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.RGB);this.colorElementMap[d]=k}c=b.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.FACE_NAMES);if(0<c.length)for(h=c.item(0).getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.FACE_NAME),m=h.length,c=0;c<m;c++)k=h.item(c),d=k.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.ID),k=k.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.FONT_NAME),this.fontElementMap[d]=
+k}};d.prototype.getColor=function(b){var a=function(a,b){return a[b]?a[b]:null}(this.colorElementMap,b);return null==a&&(a=function(a,b){return a[b]?a[b]:null}(d.defaultColors_$LI$(),b),null==a)?"":a};d.prototype.getFont=function(b){var a=this.fontElementMap;b=a[b]?a[b]:null;return null==b?"":b};return d}();q.__static_initialized=!1;f.mxPropertiesManager=q;q.__class="com.mxgraph.io.vsdx.mxPropertiesManager"})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){var q=function(){function d(b){this.sourceToSheet=this.fromSheet=null;this.sourceToPart=-1;this.targetToSheet=null;this.targetToPart=-1;this.endShape=this.fromCell=null;var a=b.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.FROM_SHEET);this.fromSheet=null!=a&&0!==a.length?parseFloat(a):-1;a=b.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.FROM_CELL);this.addFromCell(b,a)}d.prototype.addFromCell=function(b,a){var c=b.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TO_SHEET),
+h=!0;null!=a&&function(a,b){return a&&a.equals?a.equals(b):a===b}(a,e.mxgraph.io.vsdx.mxVsdxConstants.BEGIN_X)?(this.sourceToSheet=null!=c&&0!==c.length?parseFloat(c):-1,h=!0):null!=a&&function(a,b){return a&&a.equals?a.equals(b):a===b}(a,e.mxgraph.io.vsdx.mxVsdxConstants.END_X)?(this.targetToSheet=null!=c&&0!==c.length?parseFloat(c):-1,h=!1):null==this.sourceToSheet?(this.sourceToSheet=null!=c&&0!==c.length?parseFloat(c):-1,h=!0):null==this.targetToSheet&&(this.targetToSheet=null!=c&&0!==c.length?
+parseFloat(c):-1,h=!1);this.findToPart(b,h)};d.prototype.findToPart=function(b,a){var c=b.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TO_PART),c=null!=c&&0!==c.length?parseFloat(c):-1;a?this.sourceToPart=c:this.targetToPart=c};d.prototype.getFromSheet=function(){return this.fromSheet};d.prototype.getSourceToSheet=function(){return this.sourceToSheet};d.prototype.getTargetToSheet=function(){return this.targetToSheet};d.prototype.getSourceToPart=function(){return this.sourceToPart};d.prototype.getTargetToPart=
+function(){return this.targetToPart};d.prototype.addConnect=function(b){this.endShape=b;var a=b.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.FROM_CELL);this.addFromCell(b,a)};return d}();f.mxVsdxConnect=q;q.__class="com.mxgraph.io.vsdx.mxVsdxConnect"})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(e){(function(e){(function(e){var f=function(){function d(){}d.SET_VALUES_$LI$=function(){null==d.SET_VALUES&&(d.SET_VALUES=["a","b"]);return d.SET_VALUES};d.MY_SET_$LI$=function(){null==d.MY_SET&&(d.MY_SET=d.SET_VALUES_$LI$().slice(0).slice(0));return d.MY_SET};return d}();f.ANGLE="Angle";f.ARC_TO="ArcTo";f.BACKGROUND="Background";f.BACK_PAGE="BackPage";f.BEGIN_ARROW="BeginArrow";f.BEGIN_ARROW_SIZE="BeginArrowSize";f.BEGIN_X="BeginX";f.BEGIN_Y="BeginY";f.BOTTOM_MARGIN="BottomMargin";
+f.BULLET="Bullet";f.CASE="Case";f.CHARACTER="Character";f.COLOR="Color";f.COLOR_ENTRY="ColorEntry";f.COLORS="Colors";f.COLOR_TRANS="ColorTrans";f.CONNECT="Connect";f.CONNECTS="Connects";f.CONNECTION="Connection";f.CONTROL="Control";f.DELETED="Del";f.DOCUMENT_SHEET="DocumentSheet";f.ELLIPSE="Ellipse";f.ELLIPTICAL_ARC_TO="EllipticalArcTo";f.END_ARROW="EndArrow";f.END_ARROW_SIZE="EndArrowSize";f.END_X="EndX";f.END_Y="EndY";f.FACE_NAME="FaceName";f.FACE_NAMES="FaceNames";f.FALSE="0";f.FILL="Fill";f.FILL_BKGND=
+"FillBkgnd";f.FILL_BKGND_TRANS="FillBkgndTrans";f.FILL_FOREGND="FillForegnd";f.FILL_FOREGND_TRANS="FillForegndTrans";f.FILL_PATTERN="FillPattern";f.FILL_STYLE="FillStyle";f.FILL_GRADIENT_ENABLED="FillGradientEnabled";f.FLAGS="Flags";f.FLIP_X="FlipX";f.FLIP_Y="FlipY";f.FONT="Font";f.FONT_NAME="Name";f.FOREIGN="Foreign";f.FROM_CELL="FromCell";f.FROM_SHEET="FromSheet";f.GEOM="Geom";f.HEIGHT="Height";f.HORIZONTAL_ALIGN="HorzAlign";f.ID="ID";f.INDENT_FIRST="IndFirst";f.INDENT_LEFT="IndLeft";f.INDENT_RIGHT=
+"IndRight";f.INDEX="IX";f.LEFT_MARGIN="LeftMargin";f.LETTER_SPACE="Letterspace";f.LINE="Line";f.LINE_COLOR="LineColor";f.LINE_COLOR_TRANS="LineColorTrans";f.LINE_PATTERN="LinePattern";f.LINE_STYLE="LineStyle";f.LINE_TO="LineTo";f.LINE_WEIGHT="LineWeight";f.LOC_PIN_X="LocPinX";f.LOC_PIN_Y="LocPinY";f.MASTER="Master";f.MASTER_SHAPE="MasterShape";f.MASTERS="Masters";f.MOVE_TO="MoveTo";f.NAME="Name";f.NAME_U="NameU";f.NO_LINE="NoLine";f.NURBS_TO="NURBSTo";f.PAGE="Page";f.PAGE_HEIGHT="PageHeight";f.PAGE_WIDTH=
+"PageWidth";f.PAGES="Pages";f.PARAGRAPH="Paragraph";f.PIN_X="PinX";f.PIN_Y="PinY";f.POS="Pos";f.RGB="RGB";f.RIGHT_MARGIN="RightMargin";f.ROUNDING="Rounding";f.RTL_TEXT="RTLText";f.SIZE="Size";f.SHAPE="Shape";f.SHAPES="Shapes";f.SHAPE_SHDW_SHOW="ShapeShdwShow";f.SHDW_PATTERN="ShdwPattern";f.SPACE_AFTER="SpAfter";f.SPACE_BEFORE="SpBefore";f.SPACE_LINE="SpLine";f.STRIKETHRU="Strikethru";f.STYLE="Style";f.STYLE_SHEET="StyleSheet";f.STYLE_SHEETS="StyleSheets";f.TEXT="Text";f.TEXT_BKGND="TextBkgnd";f.TEXT_BLOCK=
+"TextBlock";f.TEXT_STYLE="TextStyle";f.TO_PART="ToPart";f.TO_SHEET="ToSheet";f.TOP_MARGIN="TopMargin";f.TRUE="1";f.TXT_ANGLE="TxtAngle";f.TXT_HEIGHT="TxtHeight";f.TXT_LOC_PIN_X="TxtLocPinX";f.TXT_LOC_PIN_Y="TxtLocPinY";f.TXT_PIN_X="TxtPinX";f.TXT_PIN_Y="TxtPinY";f.TXT_WIDTH="TxtWidth";f.TYPE="Type";f.TYPE_GROUP="Group";f.TYPE_SHAPE="Shape";f.UNIQUE_ID="UniqueID";f.VERTICAL_ALIGN="VerticalAlign";f.WIDTH="Width";f.X_CON="XCon";f.X_DYN="XDyn";f.X="X";f.Y_CON="YCon";f.Y_DYN="YDyn";f.Y="Y";f.HIDE_TEXT=
+"HideText";f.VSDX_ID="vsdxID";f.CONNECT_TO_PART_WHOLE_SHAPE=3;e.mxVsdxConstants=f;f.__class="com.mxgraph.io.vsdx.mxVsdxConstants"})(e.vsdx||(e.vsdx={}))})(e.io||(e.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){var q=function(){function d(b,a){this.noQuickDrag=this.noSnap=this.noShow=this.noLine=this.noFill=!1;this.rows=null;if((null!=b&&1==b.nodeType||null===b)&&(null!=a&&a instanceof Array||null===a))Array.prototype.slice.call(arguments),this.index=0,this.noQuickDrag=this.noSnap=this.noShow=this.noLine=this.noFill=!1,this.rows=null,this.index=0,this.index=this.getIndex$org_w3c_dom_Element(b),null!=a&&this.index<a.length&&this.inheritGeo(a[this.index]),
this.processGeoElem(b);else if((null!=b&&1==b.nodeType||null===b)&&void 0===a)Array.prototype.slice.call(arguments),this.index=0,this.noQuickDrag=this.noSnap=this.noShow=this.noLine=this.noFill=!1,this.rows=null,this.index=0,this.index=this.getIndex$org_w3c_dom_Element(b),this.processGeoElem(b);else throw Error("invalid overload");}d.prototype.getIndex$org_w3c_dom_Element=function(b){try{return parseInt(b.getAttribute("IX"))||0}catch(a){return 0}};d.prototype.getIndex=function(b){if(null!=b&&1==b.nodeType||
-null===b)return this.getIndex$org_w3c_dom_Element(b);if(void 0===b)return this.getIndex$();throw Error("invalid overload");};d.prototype.processGeoElem=function(b){var a=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(b,"Cell");b=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(b,"Row");if(null==this.rows){this.rows=[];for(var c=0;c<b.length;c++)this.rows.push(null)}for(c=0;c<a.length;c++){var f=a[c],m=f.getAttribute("N"),f=f.getAttribute("V");switch(m){case "NoFill":this.noFill=
-function(a,b){return a&&a.equals?a.equals(b):a===b}("1",f);break;case "NoLine":this.noLine=function(a,b){return a&&a.equals?a.equals(b):a===b}("1",f);break;case "NoShow":this.noShow=function(a,b){return a&&a.equals?a.equals(b):a===b}("1",f);break;case "NoSnap":this.noSnap=function(a,b){return a&&a.equals?a.equals(b):a===b}("1",f);break;case "NoQuickDrag":this.noQuickDrag=function(a,b){return a&&a.equals?a.equals(b):a===b}("1",f)}}a=this.rows.length;c=!1;for(m=0;m<b.length;m++)f=e.mxgraph.io.vsdx.geometry.RowFactory.getRowObj(b[m],
-this.rows),f.getIndex()>a?(this.rows.push(f),c=!0):this.rows[f.getIndex()-1]=f;c&&function(a,b){b.compare?a.sort(function(a,c){return b.compare(a,c)}):a.sort(b)}(this.rows,new d.mxVsdxGeometry$0(this))};d.prototype.inheritGeo=function(b){this.noFill=b.noFill;this.noLine=b.noLine;this.noShow=b.noShow;this.noSnap=b.noSnap;this.noQuickDrag=b.noQuickDrag;var a=this.rows=[];a.push.apply(a,b.rows)};d.prototype.getIndex$=function(){return this.index};d.prototype.isNoFill=function(){return this.noFill};d.prototype.isNoLine=
-function(){return this.noLine};d.prototype.isNoShow=function(){return this.noShow};d.prototype.isNoSnap=function(){return this.noSnap};d.prototype.isNoQuickDrag=function(){return this.noQuickDrag};d.prototype.getRows=function(){return this.rows};d.prototype.getPathXML=function(b,a){if(this.noShow)return"";for(var c="",f=0;f<this.rows.length;f++)var m=this.rows[f],c=c.concat(null!=m?m.handle(b,a):"");return c};return d}();g.mxVsdxGeometry=q;q.__class="com.mxgraph.io.vsdx.mxVsdxGeometry";(function(d){var b=
-function(){function a(a){this.__parent=a}a.prototype.compare=function(a,b){var c=null!=a?a.getIndex():0,f=null!=b?b.getIndex():0;return c-f};return a}();d.mxVsdxGeometry$0=b;b.__interfaces=["java.util.Comparator"]})(q=g.mxVsdxGeometry||(g.mxVsdxGeometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){var q=function(){function d(b){this.geomList=[];this.parentGeomList=null;this.sortNeeded=!1;if(null!=b){this.parentGeomList=b.geomList;var a=this.geomList;a.push.apply(a,b.geomList)}}d.prototype.addGeometry=function(b){b=new e.mxgraph.io.vsdx.mxVsdxGeometry(b,this.parentGeomList);b.getIndex()<this.geomList.length?this.geomList[b.getIndex()]=b:(this.geomList.push(b),this.sortNeeded=!0)};d.prototype.sort=function(){this.sortNeeded&&(function(b,a){a.compare?
-b.sort(function(b,f){return a.compare(b,f)}):b.sort(a)}(this.geomList,new d.mxVsdxGeometryList$0(this)),this.sortNeeded=!1)};d.prototype.isNoShow=function(){for(var b=0;b<this.geomList.length;b++)if(!this.geomList[b].isNoShow())return!1;return!0};d.prototype.isNoFill=function(){for(var b=0;b<this.geomList.length;b++){var a=this.geomList[b];if(!a.isNoShow()&&!a.isNoFill())return!1}return!0};d.prototype.isNoLine=function(){for(var b=0;b<this.geomList.length;b++){var a=this.geomList[b];if(!a.isNoShow()&&
-!a.isNoLine())return!1}return!0};d.prototype.hasGeom=function(){return 0!=this.geomList.length};d.prototype.getGeoCount=function(){for(var b=0,a=0;a<this.geomList.length;a++)this.geomList[a].isNoShow()||b++;return b};d.prototype.rotatedPoint=function(b,a,c){var f=b.y*a+b.x*c;b.x=b.x*a-b.y*c;b.y=f};d.prototype.getRoutingPoints=function(b,a,c){this.sort();b=[];b.push(a.clone());for(var f=0,m=0,l=0;l<this.geomList.length;l++){var d=this.geomList[l];if(!d.isNoShow())for(var d=d.getRows(),g=0;g<d.length;g++){var q=
-d[g];if(0==g&&null!=q&&q instanceof e.mxgraph.io.vsdx.geometry.MoveTo)f=null!=q.x?q.x:0,m=null!=q.y?q.y:0;else if(null!=q&&q instanceof e.mxgraph.io.vsdx.geometry.LineTo){var n=null!=q.x?q.x:0,q=null!=q.y?q.y:0,p=new mxPoint(n,q);0!==c&&(c=(360-c)*Math.PI/180,this.rotatedPoint(p,Math.cos(c),Math.sin(c)));n=(p.x-f)*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$();n+=a.x;q=(p.y-m)*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$()*-1;q+=a.y;n=Math.round(100*n)/100;q=Math.round(100*q)/100;p.x=
-n;p.y=q;b.push(p)}}}return b};d.prototype.getShapeXML=function(b){var a=new mxPoint(0,0),c={str:'<shape strokewidth="inherit"><foreground>',toString:function(){return this.str}},f=c.str.length,m;m=this.processGeo(b,a,c,-1,!0);m=this.processGeo(b,a,c,m,!1);if(c.str.length===f)return"";this.closePath(c,m);c.str=c.str.concat("</foreground></shape>");return c.str};d.prototype.processGeo=function(b,a,c,f,m){var l=b.getRounding(),d="";0<l&&(d=' rounded="1" arcSize="'+l*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor+
-'" ');for(l=0;l<this.geomList.length;l++){var g=this.geomList[l];if(m!==g.isNoFill()){var q=g.getPathXML(a,b);0!==q.length&&(g=this.getGeoStyle(g),-1===f?c.str=c.str.concat("<path"+d+">"):f!==g&&(this.closePath(c,f),c.str=c.str.concat("<path"+d+">")),c.str=c.str.concat(q),f=g)}}return f};d.prototype.getGeoStyle=function(b){var a=0;b.isNoLine()||b.isNoFill()?b.isNoFill()?b.isNoLine()||(a=3):a=2:a=1;return a};d.prototype.closePath=function(b,a){b.str=b.str.concat("</path>");1===a?b.str=b.str.concat("<fillstroke/>"):
-2===a?b.str=b.str.concat("<fill/>"):3===a&&(b.str=b.str.concat("<stroke/>"))};return d}();g.mxVsdxGeometryList=q;q.__class="com.mxgraph.io.vsdx.mxVsdxGeometryList";(function(d){var b=function(){function a(a){this.__parent=a}a.prototype.compare=function(a,b){return a.getIndex()-b.getIndex()};return a}();d.mxVsdxGeometryList$0=b;b.__interfaces=["java.util.Comparator"]})(q=g.mxVsdxGeometryList||(g.mxVsdxGeometryList={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com=
+null===b)return this.getIndex$org_w3c_dom_Element(b);if(void 0===b)return this.getIndex$();throw Error("invalid overload");};d.prototype.processGeoElem=function(b){var a=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(b,"Cell");b=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(b,"Row");if(null==this.rows){this.rows=[];for(var c=0;c<b.length;c++)this.rows.push(null)}for(c=0;c<a.length;c++){var h=a[c],m=h.getAttribute("N"),h=h.getAttribute("V");switch(m){case "NoFill":this.noFill=
+function(a,b){return a&&a.equals?a.equals(b):a===b}("1",h);break;case "NoLine":this.noLine=function(a,b){return a&&a.equals?a.equals(b):a===b}("1",h);break;case "NoShow":this.noShow=function(a,b){return a&&a.equals?a.equals(b):a===b}("1",h);break;case "NoSnap":this.noSnap=function(a,b){return a&&a.equals?a.equals(b):a===b}("1",h);break;case "NoQuickDrag":this.noQuickDrag=function(a,b){return a&&a.equals?a.equals(b):a===b}("1",h)}}a=this.rows.length;c=!1;for(m=0;m<b.length;m++)h=e.mxgraph.io.vsdx.geometry.RowFactory.getRowObj(b[m],
+this.rows),h.getIndex()>a?(this.rows.push(h),c=!0):this.rows[h.getIndex()-1]=h;c&&function(a,b){b.compare?a.sort(function(a,c){return b.compare(a,c)}):a.sort(b)}(this.rows,new d.mxVsdxGeometry$0(this))};d.prototype.inheritGeo=function(b){this.noFill=b.noFill;this.noLine=b.noLine;this.noShow=b.noShow;this.noSnap=b.noSnap;this.noQuickDrag=b.noQuickDrag;var a=this.rows=[];a.push.apply(a,b.rows)};d.prototype.getIndex$=function(){return this.index};d.prototype.isNoFill=function(){return this.noFill};d.prototype.isNoLine=
+function(){return this.noLine};d.prototype.isNoShow=function(){return this.noShow};d.prototype.isNoSnap=function(){return this.noSnap};d.prototype.isNoQuickDrag=function(){return this.noQuickDrag};d.prototype.getRows=function(){return this.rows};d.prototype.getPathXML=function(b,a){if(this.noShow)return"";for(var c="",h=0;h<this.rows.length;h++)var m=this.rows[h],c=c.concat(null!=m?m.handle(b,a):"");return c};return d}();f.mxVsdxGeometry=q;q.__class="com.mxgraph.io.vsdx.mxVsdxGeometry";(function(d){var b=
+function(){function a(a){this.__parent=a}a.prototype.compare=function(a,b){var c=null!=a?a.getIndex():0,h=null!=b?b.getIndex():0;return c-h};return a}();d.mxVsdxGeometry$0=b;b.__interfaces=["java.util.Comparator"]})(q=f.mxVsdxGeometry||(f.mxVsdxGeometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){var q=function(){function d(b){this.geomList=[];this.parentGeomList=null;this.sortNeeded=!1;if(null!=b){this.parentGeomList=b.geomList;var a=this.geomList;a.push.apply(a,b.geomList)}}d.prototype.addGeometry=function(b){b=new e.mxgraph.io.vsdx.mxVsdxGeometry(b,this.parentGeomList);b.getIndex()<this.geomList.length?this.geomList[b.getIndex()]=b:(this.geomList.push(b),this.sortNeeded=!0)};d.prototype.sort=function(){this.sortNeeded&&(function(b,a){a.compare?
+b.sort(function(b,h){return a.compare(b,h)}):b.sort(a)}(this.geomList,new d.mxVsdxGeometryList$0(this)),this.sortNeeded=!1)};d.prototype.isNoShow=function(){for(var b=0;b<this.geomList.length;b++)if(!this.geomList[b].isNoShow())return!1;return!0};d.prototype.isNoFill=function(){for(var b=0;b<this.geomList.length;b++){var a=this.geomList[b];if(!a.isNoShow()&&!a.isNoFill())return!1}return!0};d.prototype.isNoLine=function(){for(var b=0;b<this.geomList.length;b++){var a=this.geomList[b];if(!a.isNoShow()&&
+!a.isNoLine())return!1}return!0};d.prototype.hasGeom=function(){return 0!=this.geomList.length};d.prototype.getGeoCount=function(){for(var b=0,a=0;a<this.geomList.length;a++)this.geomList[a].isNoShow()||b++;return b};d.prototype.rotatedPoint=function(b,a,c){var h=b.y*a+b.x*c;b.x=b.x*a-b.y*c;b.y=h};d.prototype.getRoutingPoints=function(b,a,c){this.sort();b=[];b.push(a.clone());for(var h=0,m=0,k=0;k<this.geomList.length;k++){var d=this.geomList[k];if(!d.isNoShow())for(var d=d.getRows(),f=0;f<d.length;f++){var q=
+d[f];if(0==f&&null!=q&&q instanceof e.mxgraph.io.vsdx.geometry.MoveTo)h=null!=q.x?q.x:0,m=null!=q.y?q.y:0;else if(null!=q&&q instanceof e.mxgraph.io.vsdx.geometry.LineTo){var n=null!=q.x?q.x:0,q=null!=q.y?q.y:0,p=new mxPoint(n,q);0!==c&&(c=(360-c)*Math.PI/180,this.rotatedPoint(p,Math.cos(c),Math.sin(c)));n=(p.x-h)*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$();n+=a.x;q=(p.y-m)*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$()*-1;q+=a.y;n=Math.round(100*n)/100;q=Math.round(100*q)/100;p.x=
+n;p.y=q;b.push(p)}}}return b};d.prototype.getShapeXML=function(b){var a=new mxPoint(0,0),c={str:'<shape strokewidth="inherit"><foreground>',toString:function(){return this.str}},h=c.str.length,m;m=this.processGeo(b,a,c,-1,!0);m=this.processGeo(b,a,c,m,!1);if(c.str.length===h)return"";this.closePath(c,m);c.str=c.str.concat("</foreground></shape>");return c.str};d.prototype.processGeo=function(b,a,c,h,m){var k=b.getRounding(),d="";0<k&&(d=' rounded="1" arcSize="'+k*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor+
+'" ');for(k=0;k<this.geomList.length;k++){var f=this.geomList[k];if(m!==f.isNoFill()){var q=f.getPathXML(a,b);0!==q.length&&(f=this.getGeoStyle(f),-1===h?c.str=c.str.concat("<path"+d+">"):h!==f&&(this.closePath(c,h),c.str=c.str.concat("<path"+d+">")),c.str=c.str.concat(q),h=f)}}return h};d.prototype.getGeoStyle=function(b){var a=0;b.isNoLine()||b.isNoFill()?b.isNoFill()?b.isNoLine()||(a=3):a=2:a=1;return a};d.prototype.closePath=function(b,a){b.str=b.str.concat("</path>");1===a?b.str=b.str.concat("<fillstroke/>"):
+2===a?b.str=b.str.concat("<fill/>"):3===a&&(b.str=b.str.concat("<stroke/>"))};return d}();f.mxVsdxGeometryList=q;q.__class="com.mxgraph.io.vsdx.mxVsdxGeometryList";(function(d){var b=function(){function a(a){this.__parent=a}a.prototype.compare=function(a,b){return a.getIndex()-b.getIndex()};return a}();d.mxVsdxGeometryList$0=b;b.__interfaces=["java.util.Comparator"]})(q=f.mxVsdxGeometryList||(f.mxVsdxGeometryList={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com=
{}));
-(function(e){(function(p){(function(n){(function(g){var q=function(){function d(b,a){this.masterShape=this.Id=null;this.childShapes={};this.master=b;this.Id=b.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.ID)||"";this.processMasterShapes(a)}d.prototype.processMasterShapes=function(b){for(var a=this.master.firstChild;null!=a;){if(null!=a&&1==a.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(a.nodeName,"Rel")){var c=b.getRelationship(a.getAttribute("r:id"),e.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/masters/_rels/masters.xml.rels"),
-f=c.getAttribute("Target"),c=c.getAttribute("Type"),m=null;null!=c&&function(a,b){var c=a.length-b.length,f=a.indexOf(b,c);return-1!==f&&f===c}(c,"master")&&(m=b.getXmlDoc(e.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/masters/"+f));if(null!=m)for(f=m.firstChild;null!=f;){if(null!=f&&1==f.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(f.nodeName,"MasterContents")){this.processMasterShape(f,b);break}f=f.nextSibling}}else if(1==a.nodeType&&"PageSheet"==a.nodeName)for(this.pageSheet={},f=
-e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(a,"Cell"),c=0;c<f.length;c++)this.pageSheet[f[c].getAttribute("N")]=f[c];a=a.nextSibling}};d.prototype.processMasterShape=function(b,a,c){c||(this.firstLevelShapes=[]);for(b=b.firstChild;null!=b;){if(null!=b&&1==b.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(b.nodeName,"Shapes"))for(var f=b.firstChild;null!=f;){if(null!=f&&1==f.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(f.nodeName,"Shape")){var m=f,l=m.getAttribute("ID"),
-d=new e.mxgraph.io.vsdx.Shape(m,a);this.masterShape=null==this.masterShape?d:this.masterShape;this.childShapes[l]=d;c||this.firstLevelShapes.push(d);this.processMasterShape(m,a,!0)}f=f.nextSibling}else if(null!=b&&1==b.nodeType&&"Connects"==b.nodeName)for(this.connects={},f=b.firstChild;null!=f;)null!=f&&1==f.nodeType&&"Connect"==f.nodeName&&(m=new e.mxgraph.io.vsdx.mxVsdxConnect(f),this.connects[m.getFromSheet()]=m),f=f.nextSibling;b=b.nextSibling}};d.prototype.getMasterShape=function(){return this.masterShape};
-d.prototype.getSubShape=function(b){var a=this.childShapes;return a[b]?a[b]:null};d.prototype.getNameU=function(){return this.master.getAttribute("NameU")||""};d.prototype.getName=function(){return this.master.getAttribute("Name")||""};d.prototype.getUniqueID=function(){var b="";this.master.hasAttribute("UniqueID")&&(b=this.master.getAttribute("UniqueID"));return b};d.prototype.getId=function(){return this.Id};d.prototype.getMasterElement=function(){return this.master};return d}();g.mxVsdxMaster=
+(function(e){(function(p){(function(n){(function(f){var q=function(){function d(b,a){this.masterShape=this.Id=null;this.childShapes={};this.master=b;this.Id=b.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.ID)||"";this.processMasterShapes(a)}d.prototype.processMasterShapes=function(b){for(var a=this.master.firstChild;null!=a;){if(null!=a&&1==a.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(a.nodeName,"Rel")){var c=b.getRelationship(a.getAttribute("r:id"),e.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/masters/_rels/masters.xml.rels"),
+h=c.getAttribute("Target"),c=c.getAttribute("Type"),m=null;null!=c&&function(a,b){var c=a.length-b.length,h=a.indexOf(b,c);return-1!==h&&h===c}(c,"master")&&(m=b.getXmlDoc(e.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/masters/"+h));if(null!=m)for(h=m.firstChild;null!=h;){if(null!=h&&1==h.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(h.nodeName,"MasterContents")){this.processMasterShape(h,b);break}h=h.nextSibling}}else if(1==a.nodeType&&"PageSheet"==a.nodeName)for(this.pageSheet={},h=
+e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(a,"Cell"),c=0;c<h.length;c++)this.pageSheet[h[c].getAttribute("N")]=h[c];a=a.nextSibling}};d.prototype.processMasterShape=function(b,a,c){c||(this.firstLevelShapes=[]);for(b=b.firstChild;null!=b;){if(null!=b&&1==b.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(b.nodeName,"Shapes"))for(var h=b.firstChild;null!=h;){if(null!=h&&1==h.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(h.nodeName,"Shape")){var m=h,k=m.getAttribute("ID"),
+d=new e.mxgraph.io.vsdx.Shape(m,a);this.masterShape=null==this.masterShape?d:this.masterShape;this.childShapes[k]=d;c||this.firstLevelShapes.push(d);this.processMasterShape(m,a,!0)}h=h.nextSibling}else if(null!=b&&1==b.nodeType&&"Connects"==b.nodeName)for(this.connects={},h=b.firstChild;null!=h;)null!=h&&1==h.nodeType&&"Connect"==h.nodeName&&(m=new e.mxgraph.io.vsdx.mxVsdxConnect(h),this.connects[m.getFromSheet()]=m),h=h.nextSibling;b=b.nextSibling}};d.prototype.getMasterShape=function(){return this.masterShape};
+d.prototype.getSubShape=function(b){var a=this.childShapes;return a[b]?a[b]:null};d.prototype.getNameU=function(){return this.master.getAttribute("NameU")||""};d.prototype.getName=function(){return this.master.getAttribute("Name")||""};d.prototype.getUniqueID=function(){var b="";this.master.hasAttribute("UniqueID")&&(b=this.master.getAttribute("UniqueID"));return b};d.prototype.getId=function(){return this.Id};d.prototype.getMasterElement=function(){return this.master};return d}();f.mxVsdxMaster=
q;q.__class="com.mxgraph.io.vsdx.mxVsdxMaster"})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){var q=function(){function d(b,a,c){this.pages=this.media=this.xmlDocs=null;this.masters={};this.stylesheets={};this.themes={};this.pm=this.rootElement=null;this.xmlDocs=a;this.media=c;for(b=b.firstChild;null!=b;){if(a=null!=b&&1==b.nodeType)a=b.tagName.toLowerCase(),c=e.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"document",a=a&&a.equals?a.equals(c):a===c;if(a){this.rootElement=b;break}b=b.nextSibling}this.pm=new e.mxgraph.io.vsdx.mxPropertiesManager;
+(function(e){(function(p){(function(n){(function(f){var q=function(){function d(b,a,c){this.pages=this.media=this.xmlDocs=null;this.masters={};this.stylesheets={};this.themes={};this.pm=this.rootElement=null;this.xmlDocs=a;this.media=c;for(b=b.firstChild;null!=b;){if(a=null!=b&&1==b.nodeType)a=b.tagName.toLowerCase(),c=e.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"document",a=a&&a.equals?a.equals(c):a===c;if(a){this.rootElement=b;break}b=b.nextSibling}this.pm=new e.mxgraph.io.vsdx.mxPropertiesManager;
this.pm.initialise(this.rootElement,this);this.initStylesheets();this.initThemes();this.initMasters();this.initPages()}d.prototype.initThemes=function(){if(null!=this.xmlDocs)for(var b=!0,a=1;b;){var c=function(a,b){return a[b]?a[b]:null}(this.xmlDocs,e.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/theme/theme"+a+".xml");if(null!=c){for(c=c.firstChild;null!=c;){if(null!=c&&1==c.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(c.tagName,"a:theme")){c=new e.mxgraph.io.vsdx.mxVsdxTheme(c);0>
-c.getThemeIndex()&&c.processTheme();var f=function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(this.themes,c.getThemeIndex());null!=f&&f.isPure()||function(a,b,c){null==a.entries&&(a.entries=[]);for(var f=0;f<a.entries.length;f++)if(null!=a.entries[f].key.equals&&a.entries[f].key.equals(b)||a.entries[f].key===b){a.entries[f].value=c;return}a.entries.push({key:b,
-value:c,getKey:function(){return this.key},getValue:function(){return this.value}})}(this.themes,c.getThemeIndex(),c);break}c=c.nextSibling}a++}else b=!1}};d.prototype.initStylesheets=function(){var b=this.rootElement.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.STYLE_SHEETS);if(0<b.length)for(var b=b.item(0).getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.STYLE_SHEET),a=b.length,c=0;c<a;c++){var f=b.item(c),m=f.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.ID),f=new e.mxgraph.io.vsdx.Style(f,
-this);this.stylesheets[m]=f}for(b=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){return Object.keys(a).map(function(b){return a[b]})}(this.stylesheets));b.hasNext();)f=b.next(),f.stylesheetRefs(this)};d.prototype.initMasters=function(){if(null!=this.xmlDocs){var b=function(a,b){return a[b]?a[b]:null}(this.xmlDocs,e.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/masters/masters.xml");if(null!=b)for(b=b.firstChild;null!=b;){if(null!=
+c.getThemeIndex()&&c.processTheme();var h=function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(this.themes,c.getThemeIndex());null!=h&&h.isPure()||function(a,b,c){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=c;return}a.entries.push({key:b,
+value:c,getKey:function(){return this.key},getValue:function(){return this.value}})}(this.themes,c.getThemeIndex(),c);break}c=c.nextSibling}a++}else b=!1}};d.prototype.initStylesheets=function(){var b=this.rootElement.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.STYLE_SHEETS);if(0<b.length)for(var b=b.item(0).getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.STYLE_SHEET),a=b.length,c=0;c<a;c++){var h=b.item(c),m=h.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.ID),h=new e.mxgraph.io.vsdx.Style(h,
+this);this.stylesheets[m]=h}for(b=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){return Object.keys(a).map(function(b){return a[b]})}(this.stylesheets));b.hasNext();)h=b.next(),h.stylesheetRefs(this)};d.prototype.initMasters=function(){if(null!=this.xmlDocs){var b=function(a,b){return a[b]?a[b]:null}(this.xmlDocs,e.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/masters/masters.xml");if(null!=b)for(b=b.firstChild;null!=b;){if(null!=
b&&1==b.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(b.tagName,e.mxgraph.io.vsdx.mxVsdxConstants.MASTERS)){for(b=b.firstChild;null!=b;){if(null!=b&&1==b.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(b.tagName,"Master")){var a=new e.mxgraph.io.vsdx.mxVsdxMaster(b,this);this.masters[a.getId()]=a}b=b.nextSibling}break}b=b.nextSibling}}};d.prototype.initPages=function(){if(null!=this.xmlDocs){var b=function(a,b){return a[b]?a[b]:null}(this.xmlDocs,e.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+
-"/pages/pages.xml");if(null!=b)for(b=b.firstChild;null!=b;){if(null!=b&&1==b.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(b.tagName,e.mxgraph.io.vsdx.mxVsdxConstants.PAGES)){var a=b.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.PAGE);if(null!=a&&0<a.length){this.pages={};for(var b={},c=a.length,f=0;f<c;f++){var m=a.item(f),m=this.createPage(m);m.isBackground()&&function(a,b,c){null==a.entries&&(a.entries=[]);for(var f=0;f<a.entries.length;f++)if(null!=a.entries[f].key.equals&&
-a.entries[f].key.equals(b)||a.entries[f].key===b){a.entries[f].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})}(b,m.getId(),m);(function(a,b,c){null==a.entries&&(a.entries=[]);for(var f=0;f<a.entries.length;f++)if(null!=a.entries[f].key.equals&&a.entries[f].key.equals(b)||a.entries[f].key===b){a.entries[f].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(this.pages,
-m.getId(),m)}a=function(a){null==a.entries&&(a.entries=[]);return a.entries}(this.pages);for(c=0;c<a.length;c++)m=a[c].getValue(),f=m.getBackPageId(),null!=f&&(f=function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(b,f),m.setBackPage(f))}break}b=b.nextSibling}}};d.prototype.getPages=function(){return this.pages};d.prototype.getThemes=function(){return this.themes};
-d.prototype.getRelationship=function(b,a){var c=function(a,b){return a[b]?a[b]:null}(this.xmlDocs,a);if(null==c||null==b||0===b.length)return null;for(var c=c.getElementsByTagName("Relationship"),f=0;f<c.length;f++){var m=c.item(f);if(function(a,b){return a&&a.equals?a.equals(b):a===b}(m.getAttribute("Id"),b))return m}return null};d.prototype.getMaster=function(b){var a=this.masters;return a[b]?a[b]:null};d.prototype.createPage=function(b){return new e.mxgraph.io.vsdx.mxVsdxPage(b,this)};d.prototype.getPropertiesManager=
-function(){return this.pm};d.prototype.setPropertiesManager=function(b){this.pm=b};d.prototype.getMasterShapes=function(){return this.masters};d.prototype.setMasterShapes=function(b){this.masters=b};d.prototype.getStylesheet=function(b){var a=this.stylesheets;return a[b]?a[b]:null};d.prototype.getXmlDoc=function(b){var a=this.xmlDocs;return a[b]?a[b]:null};d.prototype.getMedia=function(b){var a=this.media;return a[b]?a[b]:null};return d}();g.mxVsdxModel=q;q.__class="com.mxgraph.io.vsdx.mxVsdxModel"})(n.vsdx||
+"/pages/pages.xml");if(null!=b)for(b=b.firstChild;null!=b;){if(null!=b&&1==b.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(b.tagName,e.mxgraph.io.vsdx.mxVsdxConstants.PAGES)){var a=b.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.PAGE);if(null!=a&&0<a.length){this.pages={};for(var b={},c=a.length,h=0;h<c;h++){var m=a.item(h),m=this.createPage(m);m.isBackground()&&function(a,b,c){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&
+a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})}(b,m.getId(),m);(function(a,b,c){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(this.pages,
+m.getId(),m)}a=function(a){null==a.entries&&(a.entries=[]);return a.entries}(this.pages);for(c=0;c<a.length;c++)m=a[c].getValue(),h=m.getBackPageId(),null!=h&&(h=function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(b,h),m.setBackPage(h))}break}b=b.nextSibling}}};d.prototype.getPages=function(){return this.pages};d.prototype.getThemes=function(){return this.themes};
+d.prototype.getRelationship=function(b,a){var c=function(a,b){return a[b]?a[b]:null}(this.xmlDocs,a);if(null==c||null==b||0===b.length)return null;for(var c=c.getElementsByTagName("Relationship"),h=0;h<c.length;h++){var m=c.item(h);if(function(a,b){return a&&a.equals?a.equals(b):a===b}(m.getAttribute("Id"),b))return m}return null};d.prototype.getMaster=function(b){var a=this.masters;return a[b]?a[b]:null};d.prototype.createPage=function(b){return new e.mxgraph.io.vsdx.mxVsdxPage(b,this)};d.prototype.getPropertiesManager=
+function(){return this.pm};d.prototype.setPropertiesManager=function(b){this.pm=b};d.prototype.getMasterShapes=function(){return this.masters};d.prototype.setMasterShapes=function(b){this.masters=b};d.prototype.getStylesheet=function(b){var a=this.stylesheets;return a[b]?a[b]:null};d.prototype.getXmlDoc=function(b){var a=this.xmlDocs;return a[b]?a[b]:null};d.prototype.getMedia=function(b){var a=this.media;return a[b]?a[b]:null};return d}();f.mxVsdxModel=q;q.__class="com.mxgraph.io.vsdx.mxVsdxModel"})(n.vsdx||
(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){var q=function(){function d(b,a){this.pageName=this.Id=null;this.__isBackground=!1;this.pageSheet=this.backPage=this.backPageId=null;this.shapes={};this.connects={};this.cellElements={};this.model=a;this.pageElement=b;this.layers=[];var c=b.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.BACKGROUND),f;if(f=null!=c)f=e.mxgraph.io.vsdx.mxVsdxConstants.TRUE,f=c&&c.equals?c.equals(f):c===f;this.__isBackground=f?!0:!1;c=b.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.BACK_PAGE);
-null!=c&&0<c.length&&(this.backPageId=parseFloat(c));this.Id=parseFloat(b.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.ID));this.pageName=b.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.NAME)||"";c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(b,"PageSheet");if(0<c.length){c=c[0];f=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(c,"Cell");for(var m=0;m<f.length;m++){var l=f[m],d=l.getAttribute("N");this.cellElements[d]=l}c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(c,
-"Section");for(f=0;f<c.length;f++)if(m=c[f],d=m.getAttribute("N"),"Layer"==d)for(d=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(m,"Row"),m=0;m<d.length;m++){for(var l=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(d[m],"Cell"),g={},q=0;q<l.length;q++)g[l[q].getAttribute("N")]=l[q].getAttribute("V");this.layers[parseInt(d[m].getAttribute("IX"))]=g}}this.parseNodes(b,a,"pages")}d.prototype.parseNodes=function(b,a,c){for(b=b.firstChild;null!=b;){if(null!=b&&1==b.nodeType){var f=
-b,m=f.nodeName;if(function(a,b){return a&&a.equals?a.equals(b):a===b}(m,"Rel"))this.resolveRel(f,a,c);else if(function(a,b){return a&&a.equals?a.equals(b):a===b}(m,"Shapes"))this.shapes=this.parseShapes(f,null,!1);else if(function(a,b){return a&&a.equals?a.equals(b):a===b}(m,"Connects"))for(f=f.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.CONNECT),f=null!=f&&0<f.length?f.item(0):null;null!=f;){if(null!=f&&1==f.nodeType){var m=f,d=new e.mxgraph.io.vsdx.mxVsdxConnect(m),g=d.getFromSheet(),
-g=null!=g&&-1<g?function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(this.connects,g):null;null!=g?g.addConnect(m):function(a,b,c){null==a.entries&&(a.entries=[]);for(var f=0;f<a.entries.length;f++)if(null!=a.entries[f].key.equals&&a.entries[f].key.equals(b)||a.entries[f].key===b){a.entries[f].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},
-getValue:function(){return this.value}})}(this.connects,d.getFromSheet(),d)}f=f.nextSibling}else(function(a,b){return a&&a.equals?a.equals(b):a===b})(m,"PageSheet")&&(this.pageSheet=f)}b=b.nextSibling}};d.prototype.resolveRel=function(b,a,c){c=a.getRelationship(b.getAttribute("r:id"),e.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/pages/_rels/"+c+".xml.rels");b=c.getAttribute("Target");c=c.getAttribute("Type");if(function(a,b){var c=a.length-b.length,f=a.indexOf(b,c);return-1!==f&&f===c}((new String(c)).toString(),
-"page")){var f=null;null!=c&&function(a,b){var c=a.length-b.length,f=a.indexOf(b,c);return-1!==f&&f===c}(c,"page")&&(f=a.getXmlDoc(e.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/pages/"+b));if(null!=f)for(c=f.firstChild;null!=c;){if(null!=c&&1==c.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(c.tagName,"PageContents")){f=b.indexOf(".");-1!==f&&this.parseNodes(c,a,b.substring(0,f));break}c=c.nextSibling}}};d.prototype.parseShapes=function(b,a,c){c={};b=b.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.SHAPE);
-for(b=null!=b&&0<b.length?b.item(0):null;null!=b;){if(null!=b&&1==b.nodeType){var f=b,m=a;if(null==m){var d=f.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.MASTER);null==d||function(a,b){return a&&a.equals?a.equals(b):a===b}(d,"")||(m=this.model.getMaster(d))}var g=this.isEdge(f);g||null==m||(d=f.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.MASTER_SHAPE),g=m.getMasterElement(),null==d||function(a,b){return a&&a.equals?a.equals(b):a===b}(d,"")||(d=m.getSubShape(d),g=null!=d?d.getShape():g),g=this.isEdge(g));
-f=this.createCell(f,!g,m);(function(a,b,c){null==a.entries&&(a.entries=[]);for(var f=0;f<a.entries.length;f++)if(null!=a.entries[f].key.equals&&a.entries[f].key.equals(b)||a.entries[f].key===b){a.entries[f].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(c,f.getId(),f)}b=b.nextSibling}return c};d.prototype.createCell=function(b,a,c){return new e.mxgraph.io.vsdx.VsdxShape(this,b,a,this.model.getMasterShapes(),c,this.model)};
+(function(e){(function(p){(function(n){(function(f){var q=function(){function d(b,a){this.pageName=this.Id=null;this.__isBackground=!1;this.pageSheet=this.backPage=this.backPageId=null;this.shapes={};this.connects={};this.cellElements={};this.model=a;this.pageElement=b;this.layers=[];var c=b.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.BACKGROUND),h;if(h=null!=c)h=e.mxgraph.io.vsdx.mxVsdxConstants.TRUE,h=c&&c.equals?c.equals(h):c===h;this.__isBackground=h?!0:!1;c=b.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.BACK_PAGE);
+null!=c&&0<c.length&&(this.backPageId=parseFloat(c));this.Id=parseFloat(b.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.ID));this.pageName=b.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.NAME)||"";c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(b,"PageSheet");if(0<c.length){c=c[0];h=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(c,"Cell");for(var m=0;m<h.length;m++){var d=h[m],f=d.getAttribute("N");this.cellElements[f]=d}c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(c,
+"Section");for(h=0;h<c.length;h++)if(m=c[h],f=m.getAttribute("N"),"Layer"==f)for(f=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(m,"Row"),m=0;m<f.length;m++){for(var d=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(f[m],"Cell"),w={},q=0;q<d.length;q++)w[d[q].getAttribute("N")]=d[q].getAttribute("V");this.layers[parseInt(f[m].getAttribute("IX"))]=w}}this.parseNodes(b,a,"pages")}d.prototype.parseNodes=function(b,a,c){for(b=b.firstChild;null!=b;){if(null!=b&&1==b.nodeType){var h=
+b,m=h.nodeName;if(function(a,b){return a&&a.equals?a.equals(b):a===b}(m,"Rel"))this.resolveRel(h,a,c);else if(function(a,b){return a&&a.equals?a.equals(b):a===b}(m,"Shapes"))this.shapes=this.parseShapes(h,null,!1);else if(function(a,b){return a&&a.equals?a.equals(b):a===b}(m,"Connects"))for(h=h.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.CONNECT),h=null!=h&&0<h.length?h.item(0):null;null!=h;){if(null!=h&&1==h.nodeType){var m=h,d=new e.mxgraph.io.vsdx.mxVsdxConnect(m),f=d.getFromSheet(),
+f=null!=f&&-1<f?function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(this.connects,f):null;null!=f?f.addConnect(m):function(a,b,c){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},
+getValue:function(){return this.value}})}(this.connects,d.getFromSheet(),d)}h=h.nextSibling}else(function(a,b){return a&&a.equals?a.equals(b):a===b})(m,"PageSheet")&&(this.pageSheet=h)}b=b.nextSibling}};d.prototype.resolveRel=function(b,a,c){c=a.getRelationship(b.getAttribute("r:id"),e.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/pages/_rels/"+c+".xml.rels");b=c.getAttribute("Target");c=c.getAttribute("Type");if(function(a,b){var c=a.length-b.length,h=a.indexOf(b,c);return-1!==h&&h===c}((new String(c)).toString(),
+"page")){var h=null;null!=c&&function(a,b){var c=a.length-b.length,h=a.indexOf(b,c);return-1!==h&&h===c}(c,"page")&&(h=a.getXmlDoc(e.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/pages/"+b));if(null!=h)for(c=h.firstChild;null!=c;){if(null!=c&&1==c.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(c.tagName,"PageContents")){h=b.indexOf(".");-1!==h&&this.parseNodes(c,a,b.substring(0,h));break}c=c.nextSibling}}};d.prototype.parseShapes=function(b,a,c){c={};b=b.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.SHAPE);
+for(b=null!=b&&0<b.length?b.item(0):null;null!=b;){if(null!=b&&1==b.nodeType){var h=b,m=a;if(null==m){var d=h.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.MASTER);null==d||function(a,b){return a&&a.equals?a.equals(b):a===b}(d,"")||(m=this.model.getMaster(d))}var f=this.isEdge(h);f||null==m||(d=h.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.MASTER_SHAPE),f=m.getMasterElement(),null==d||function(a,b){return a&&a.equals?a.equals(b):a===b}(d,"")||(d=m.getSubShape(d),f=null!=d?d.getShape():f),f=this.isEdge(f));
+h=this.createCell(h,!f,m);(function(a,b,c){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(c,h.getId(),h)}b=b.nextSibling}return c};d.prototype.createCell=function(b,a,c){return new e.mxgraph.io.vsdx.VsdxShape(this,b,a,this.model.getMasterShapes(),c,this.model)};
d.prototype.isEdge=function(b){if(null!=b&&(b=b.childNodes,null!=b))for(b=b.item(0);null!=b;){if(null!=b&&1==b.nodeType){var a=b;if(function(a,b){return a&&a.equals?a.equals(b):a===b}(a.nodeName,"Cell")&&(a=a.getAttribute("N"),function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"BeginX")||function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"BeginY")||function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"EndY")||function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"EndX")))return!0}b=b.nextSibling}return!1};
-d.prototype.getPageDimensions=function(){var b=0,a=0,c=function(a,b){return a[b]?a[b]:null}(this.cellElements,"PageHeight"),f=function(a,b){return a[b]?a[b]:null}(this.cellElements,"PageWidth");null!=c&&(b=parseFloat(c.getAttribute("V"))*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),b=Math.round(100*b)/100);null!=f&&(a=parseFloat(f.getAttribute("V"))*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),a=Math.round(100*a)/100);return new mxPoint(a,b)};d.prototype.getDrawingScale=function(){var b;
+d.prototype.getPageDimensions=function(){var b=0,a=0,c=function(a,b){return a[b]?a[b]:null}(this.cellElements,"PageHeight"),h=function(a,b){return a[b]?a[b]:null}(this.cellElements,"PageWidth");null!=c&&(b=parseFloat(c.getAttribute("V"))*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),b=Math.round(100*b)/100);null!=h&&(a=parseFloat(h.getAttribute("V"))*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),a=Math.round(100*a)/100);return new mxPoint(a,b)};d.prototype.getDrawingScale=function(){var b;
b=this.cellElements;b=b.DrawingScale?b.DrawingScale:null;return null!=b?parseFloat(b.getAttribute("V"))*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$():1};d.prototype.getPageScale=function(){var b;b=this.cellElements;b=b.PageScale?b.PageScale:null;return null!=b?parseFloat(b.getAttribute("V"))*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$():1};d.prototype.getCellValue=function(b){var a=this.cellElements;b=a[b]?a[b]:null;return null!=b?b.getAttribute("V")||"":null};d.prototype.getCellIntValue=
function(b,a){var c=this.getCellValue(b);return null!=c?parseInt(c):a};d.prototype.getId=function(){return this.Id};d.prototype.getPageName=function(){return this.pageName};d.prototype.getShapes=function(){return this.shapes};d.prototype.getLayers=function(){return this.layers};d.prototype.getConnects=function(){return this.connects};d.prototype.isBackground=function(){return this.__isBackground};d.prototype.getBackPageId=function(){return this.backPageId};d.prototype.setBackPage=function(b){this.backPage=
-b};d.prototype.getBackPage=function(){return this.backPage};return d}();g.mxVsdxPage=q;q.__class="com.mxgraph.io.vsdx.mxVsdxPage"})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){var q=function(){function d(b){this.themeIndex=-1;this.themeVariant=0;this.baseColors={};this.variantsColors=function(a){var b=function(a){if(0!=a.length){for(var c=[],f=0;f<a[0];f++)c.push(b(a.slice(1)));return c}};return b(a)}([4,7]);this.isMonotoneVariant=Array(4);this.defaultClr=new e.mxgraph.io.vsdx.theme.Color(255,255,255);this.defaultLineClr=new e.mxgraph.io.vsdx.theme.Color(0,0,0);this.defaultLineStyle=new e.mxgraph.io.vsdx.theme.LineStyle;
-this.fillStyles=[];this.connFillStyles=[];this.lineStyles=[];this.connLineStyles=[];this.lineStylesExt=[];this.connLineStylesExt=[];this.connFontColors=[];this.connFontStyles=[];this.fontColors=[];this.fontStyles=[];this.variantEmbellishment=[0,0,0,0];this.variantFillIdx=function(a){var b=function(a){if(0==a.length)return 0;for(var c=[],f=0;f<a[0];f++)c.push(b(a.slice(1)));return c};return b(a)}([4,4]);this.variantLineIdx=function(a){var b=function(a){if(0==a.length)return 0;for(var c=[],f=0;f<a[0];f++)c.push(b(a.slice(1)));
-return c};return b(a)}([4,4]);this.variantEffectIdx=function(a){var b=function(a){if(0==a.length)return 0;for(var c=[],f=0;f<a[0];f++)c.push(b(a.slice(1)));return c};return b(a)}([4,4]);this.variantFontIdx=function(a){var b=function(a){if(0==a.length)return 0;for(var c=[],f=0;f<a[0];f++)c.push(b(a.slice(1)));return c};return b(a)}([4,4]);this.isProcessed=!1;this.__isPure=!0;this.name=this.bkgndColor=this.theme=null;this.theme=b;this.name=b.getAttribute("name")||"";b=function(a,b){return a[b]?a[b]:
+b};d.prototype.getBackPage=function(){return this.backPage};return d}();f.mxVsdxPage=q;q.__class="com.mxgraph.io.vsdx.mxVsdxPage"})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){var q=function(){function d(b){this.themeIndex=-1;this.themeVariant=0;this.baseColors={};this.variantsColors=function(a){var b=function(a){if(0!=a.length){for(var c=[],h=0;h<a[0];h++)c.push(b(a.slice(1)));return c}};return b(a)}([4,7]);this.isMonotoneVariant=Array(4);this.defaultClr=new e.mxgraph.io.vsdx.theme.Color(255,255,255);this.defaultLineClr=new e.mxgraph.io.vsdx.theme.Color(0,0,0);this.defaultLineStyle=new e.mxgraph.io.vsdx.theme.LineStyle;
+this.fillStyles=[];this.connFillStyles=[];this.lineStyles=[];this.connLineStyles=[];this.lineStylesExt=[];this.connLineStylesExt=[];this.connFontColors=[];this.connFontStyles=[];this.fontColors=[];this.fontStyles=[];this.variantEmbellishment=[0,0,0,0];this.variantFillIdx=function(a){var b=function(a){if(0==a.length)return 0;for(var c=[],h=0;h<a[0];h++)c.push(b(a.slice(1)));return c};return b(a)}([4,4]);this.variantLineIdx=function(a){var b=function(a){if(0==a.length)return 0;for(var c=[],h=0;h<a[0];h++)c.push(b(a.slice(1)));
+return c};return b(a)}([4,4]);this.variantEffectIdx=function(a){var b=function(a){if(0==a.length)return 0;for(var c=[],h=0;h<a[0];h++)c.push(b(a.slice(1)));return c};return b(a)}([4,4]);this.variantFontIdx=function(a){var b=function(a){if(0==a.length)return 0;for(var c=[],h=0;h<a[0];h++)c.push(b(a.slice(1)));return c};return b(a)}([4,4]);this.isProcessed=!1;this.__isPure=!0;this.name=this.bkgndColor=this.theme=null;this.theme=b;this.name=b.getAttribute("name")||"";b=function(a,b){return a[b]?a[b]:
null}(d.themesIds_$LI$(),this.name);null!=b&&(this.themeIndex=b)}d.__static_initialize=function(){d.__static_initialized||(d.__static_initialized=!0,d.__static_initializer_0(),d.__static_initializer_1())};d.themesIds_$LI$=function(){d.__static_initialize();null==d.themesIds&&(d.themesIds={});return d.themesIds};d.__static_initializer_0=function(){d.themesIds_$LI$().Office=33;d.themesIds_$LI$().Linear=34;d.themesIds_$LI$().Zephyr=35;d.themesIds_$LI$().Integral=36;d.themesIds_$LI$().Simple=37;d.themesIds_$LI$().Whisp=
38;d.themesIds_$LI$().Daybreak=39;d.themesIds_$LI$().Parallel=40;d.themesIds_$LI$().Sequence=41;d.themesIds_$LI$().Slice=42;d.themesIds_$LI$().Ion=43;d.themesIds_$LI$().Retrospect=44;d.themesIds_$LI$().Organic=45;d.themesIds_$LI$().Bubble=46;d.themesIds_$LI$().Clouds=47;d.themesIds_$LI$().Gemstone=48;d.themesIds_$LI$().Lines=49;d.themesIds_$LI$().Facet=50;d.themesIds_$LI$().Prominence=51;d.themesIds_$LI$().Smoke=52;d.themesIds_$LI$().Radiance=53;d.themesIds_$LI$().Shade=54;d.themesIds_$LI$().Pencil=
-55;d.themesIds_$LI$().Pen=56;d.themesIds_$LI$().Marker=57;d.themesIds_$LI$().Whiteboard=58};d.colorIds_$LI$=function(){d.__static_initialize();null==d.colorIds&&(d.colorIds={});return d.colorIds};d.__static_initializer_1=function(){(function(b,a,c){null==b.entries&&(b.entries=[]);for(var f=0;f<b.entries.length;f++)if(null!=b.entries[f].key.equals&&b.entries[f].key.equals(a)||b.entries[f].key===a){b.entries[f].value=c;return}b.entries.push({key:a,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(d.colorIds_$LI$(),
-0,"dk1");(function(b,a,c){null==b.entries&&(b.entries=[]);for(var f=0;f<b.entries.length;f++)if(null!=b.entries[f].key.equals&&b.entries[f].key.equals(a)||b.entries[f].key===a){b.entries[f].value=c;return}b.entries.push({key:a,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(d.colorIds_$LI$(),1,"lt1");(function(b,a,c){null==b.entries&&(b.entries=[]);for(var f=0;f<b.entries.length;f++)if(null!=b.entries[f].key.equals&&b.entries[f].key.equals(a)||b.entries[f].key===
-a){b.entries[f].value=c;return}b.entries.push({key:a,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(d.colorIds_$LI$(),2,"accent1");(function(b,a,c){null==b.entries&&(b.entries=[]);for(var f=0;f<b.entries.length;f++)if(null!=b.entries[f].key.equals&&b.entries[f].key.equals(a)||b.entries[f].key===a){b.entries[f].value=c;return}b.entries.push({key:a,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(d.colorIds_$LI$(),3,"accent2");
-(function(b,a,c){null==b.entries&&(b.entries=[]);for(var f=0;f<b.entries.length;f++)if(null!=b.entries[f].key.equals&&b.entries[f].key.equals(a)||b.entries[f].key===a){b.entries[f].value=c;return}b.entries.push({key:a,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(d.colorIds_$LI$(),4,"accent3");(function(b,a,c){null==b.entries&&(b.entries=[]);for(var f=0;f<b.entries.length;f++)if(null!=b.entries[f].key.equals&&b.entries[f].key.equals(a)||b.entries[f].key===a){b.entries[f].value=
-c;return}b.entries.push({key:a,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(d.colorIds_$LI$(),5,"accent4");(function(b,a,c){null==b.entries&&(b.entries=[]);for(var f=0;f<b.entries.length;f++)if(null!=b.entries[f].key.equals&&b.entries[f].key.equals(a)||b.entries[f].key===a){b.entries[f].value=c;return}b.entries.push({key:a,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(d.colorIds_$LI$(),6,"accent5");(function(b,a,c){null==
-b.entries&&(b.entries=[]);for(var f=0;f<b.entries.length;f++)if(null!=b.entries[f].key.equals&&b.entries[f].key.equals(a)||b.entries[f].key===a){b.entries[f].value=c;return}b.entries.push({key:a,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(d.colorIds_$LI$(),7,"accent6")};d.prototype.getThemeIndex=function(){return this.themeIndex};d.prototype.setVariant=function(b){this.themeVariant=b};d.prototype.isPure=function(){return this.__isPure};d.prototype.processTheme=
-function(){if(!this.isProcessed){try{for(var b=this.theme.firstChild;null!=b;){if(null!=b&&1==b.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(b.nodeName,"a:themeElements"))for(var a=b.firstChild;null!=a;){if(null!=a&&1==a.nodeType){var c=a,f=c.nodeName;(function(a,b){return a&&a.equals?a.equals(b):a===b})(f,"a:clrScheme")?(function(a,b){return a&&a.equals?a.equals(b):a===b}(this.name,c.getAttribute("name"))||(this.__isPure=!1),this.processColors(c)):function(a,b){return a&&a.equals?
-a.equals(b):a===b}(f,"a:fontScheme")?(function(a,b){return a&&a.equals?a.equals(b):a===b}(this.name,c.getAttribute("name"))||(this.__isPure=!1),this.processFonts(c)):function(a,b){return a&&a.equals?a.equals(b):a===b}(f,"a:fmtScheme")?(function(a,b){return a&&a.equals?a.equals(b):a===b}(this.name,c.getAttribute("name"))||(this.__isPure=!1),this.processFormats(c)):function(a,b){return a&&a.equals?a.equals(b):a===b}(f,"a:extLst")&&this.processExtras(c)}a=a.nextSibling}b=b.nextSibling}}catch(m){console.error(m.message,
-m)}this.isProcessed=!0}};d.prototype.processExtras=function(b){b=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(b);for(var a=0;a<b.length;a++){var c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(b[a]);switch(c.nodeName){case "vt:fmtConnectorScheme":var f;f=this.name;var m=c.getAttribute("name");f=f&&f.equals?f.equals(m):f===m;f||(this.__isPure=!1);c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(c);for(f=0;f<c.length;f++)switch(m=c[f],m.nodeName){case "a:fillStyleLst":for(var m=
-e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(m),d=0;d<m.length;d++)this.connFillStyles.push(e.mxgraph.io.vsdx.theme.FillStyleFactory.getFillStyle(m[d]));break;case "a:lnStyleLst":for(m=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(m),d=0;d<m.length;d++)this.connLineStyles.push(new e.mxgraph.io.vsdx.theme.LineStyle(m[d]))}break;case "vt:lineStyles":c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(c);for(f=0;f<c.length;f++)switch(m=c[f],m.nodeName){case "vt:fmtConnectorSchemeLineStyles":m=
-e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(m);for(d=0;d<m.length;d++)this.connLineStylesExt.push(new e.mxgraph.io.vsdx.theme.LineStyleExt(m[d]));break;case "vt:fmtSchemeLineStyles":for(m=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(m),d=0;d<m.length;d++)this.lineStylesExt.push(new e.mxgraph.io.vsdx.theme.LineStyleExt(m[d]))}break;case "vt:fontStylesGroup":c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(c);for(f=0;f<c.length;f++)switch(m=c[f],m.nodeName){case "vt:connectorFontStyles":this.fillFontStyles(m,
-this.connFontColors,this.connFontStyles);break;case "vt:fontStyles":this.fillFontStyles(m,this.fontColors,this.fontStyles)}break;case "vt:variationStyleSchemeLst":for(c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(c),m=f=0;m<c.length;m++){d=c[m];this.variantEmbellishment[f]=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(d,"embellishment");for(var d=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(d),g=0,w=0;w<d.length;w++){var q=d[w];this.variantFillIdx[f][g]=
-e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(q,"fillIdx");this.variantLineIdx[f][g]=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(q,"lineIdx");this.variantEffectIdx[f][g]=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(q,"effectIdx");this.variantFontIdx[f][g]=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(q,"fontIdx");g++}f++}}}};d.prototype.fillFontStyles=function(b,a,c){b=
-e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(b);for(var f=0;f<b.length;f++){var m=b[f];c.push(e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(m,"style"));m=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(m);null!=m&&a.push(e.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(m)))}};d.prototype.processFormats=function(b){b=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(b);for(var a=0;a<
-b.length;a++){var c=b[a];switch(c.nodeName){case "a:fillStyleLst":for(var c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(c),f=0;f<c.length;f++)this.fillStyles.push(e.mxgraph.io.vsdx.theme.FillStyleFactory.getFillStyle(c[f]));break;case "a:lnStyleLst":for(c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(c),f=0;f<c.length;f++)this.lineStyles.push(new e.mxgraph.io.vsdx.theme.LineStyle(c[f]))}}};d.prototype.processFonts=function(b){};d.prototype.processColors=function(b){for(b=b.firstChild;null!=
-b;){if(null!=b&&1==b.nodeType){var a=b,c=a.nodeName,a=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a),f;f=(f=c)&&f.equals?f.equals("a:extLst"):"a:extLst"===f;f?3===a.length&&(0>this.themeIndex&&this.extractThemeIndex(a[0]),this.addBkgndColor(a[1]),this.addVariantColors(a[2])):(c=c.substring(2),0<a.length&&this.addBasicColor(c,a[0]))}b=b.nextSibling}};d.prototype.addVariantColors=function(b){b=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(b);if(null!=b){b=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(b);
-for(var a=0,c=0;c<b.length;c++){var f=b[c];this.addVariantColorsSet(a++,f)}}};d.prototype.addVariantColorsSet=function(b,a){var c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a);this.isMonotoneVariant[b]=a.hasAttribute("monotone");for(var f=0;f<c.length;f++){var m=c[f];switch(m.nodeName){case "vt:varColor1":this.variantsColors[b][0]=e.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(m));break;case "vt:varColor2":this.variantsColors[b][1]=
+55;d.themesIds_$LI$().Pen=56;d.themesIds_$LI$().Marker=57;d.themesIds_$LI$().Whiteboard=58};d.colorIds_$LI$=function(){d.__static_initialize();null==d.colorIds&&(d.colorIds={});return d.colorIds};d.__static_initializer_1=function(){(function(b,a,c){null==b.entries&&(b.entries=[]);for(var h=0;h<b.entries.length;h++)if(null!=b.entries[h].key.equals&&b.entries[h].key.equals(a)||b.entries[h].key===a){b.entries[h].value=c;return}b.entries.push({key:a,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(d.colorIds_$LI$(),
+0,"dk1");(function(b,a,c){null==b.entries&&(b.entries=[]);for(var h=0;h<b.entries.length;h++)if(null!=b.entries[h].key.equals&&b.entries[h].key.equals(a)||b.entries[h].key===a){b.entries[h].value=c;return}b.entries.push({key:a,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(d.colorIds_$LI$(),1,"lt1");(function(b,a,c){null==b.entries&&(b.entries=[]);for(var h=0;h<b.entries.length;h++)if(null!=b.entries[h].key.equals&&b.entries[h].key.equals(a)||b.entries[h].key===
+a){b.entries[h].value=c;return}b.entries.push({key:a,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(d.colorIds_$LI$(),2,"accent1");(function(b,a,c){null==b.entries&&(b.entries=[]);for(var h=0;h<b.entries.length;h++)if(null!=b.entries[h].key.equals&&b.entries[h].key.equals(a)||b.entries[h].key===a){b.entries[h].value=c;return}b.entries.push({key:a,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(d.colorIds_$LI$(),3,"accent2");
+(function(b,a,c){null==b.entries&&(b.entries=[]);for(var h=0;h<b.entries.length;h++)if(null!=b.entries[h].key.equals&&b.entries[h].key.equals(a)||b.entries[h].key===a){b.entries[h].value=c;return}b.entries.push({key:a,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(d.colorIds_$LI$(),4,"accent3");(function(b,a,c){null==b.entries&&(b.entries=[]);for(var h=0;h<b.entries.length;h++)if(null!=b.entries[h].key.equals&&b.entries[h].key.equals(a)||b.entries[h].key===a){b.entries[h].value=
+c;return}b.entries.push({key:a,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(d.colorIds_$LI$(),5,"accent4");(function(b,a,c){null==b.entries&&(b.entries=[]);for(var h=0;h<b.entries.length;h++)if(null!=b.entries[h].key.equals&&b.entries[h].key.equals(a)||b.entries[h].key===a){b.entries[h].value=c;return}b.entries.push({key:a,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(d.colorIds_$LI$(),6,"accent5");(function(b,a,c){null==
+b.entries&&(b.entries=[]);for(var h=0;h<b.entries.length;h++)if(null!=b.entries[h].key.equals&&b.entries[h].key.equals(a)||b.entries[h].key===a){b.entries[h].value=c;return}b.entries.push({key:a,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(d.colorIds_$LI$(),7,"accent6")};d.prototype.getThemeIndex=function(){return this.themeIndex};d.prototype.setVariant=function(b){this.themeVariant=b};d.prototype.isPure=function(){return this.__isPure};d.prototype.processTheme=
+function(){if(!this.isProcessed){try{for(var b=this.theme.firstChild;null!=b;){if(null!=b&&1==b.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(b.nodeName,"a:themeElements"))for(var a=b.firstChild;null!=a;){if(null!=a&&1==a.nodeType){var c=a,h=c.nodeName;(function(a,b){return a&&a.equals?a.equals(b):a===b})(h,"a:clrScheme")?(function(a,b){return a&&a.equals?a.equals(b):a===b}(this.name,c.getAttribute("name"))||(this.__isPure=!1),this.processColors(c)):function(a,b){return a&&a.equals?
+a.equals(b):a===b}(h,"a:fontScheme")?(function(a,b){return a&&a.equals?a.equals(b):a===b}(this.name,c.getAttribute("name"))||(this.__isPure=!1),this.processFonts(c)):function(a,b){return a&&a.equals?a.equals(b):a===b}(h,"a:fmtScheme")?(function(a,b){return a&&a.equals?a.equals(b):a===b}(this.name,c.getAttribute("name"))||(this.__isPure=!1),this.processFormats(c)):function(a,b){return a&&a.equals?a.equals(b):a===b}(h,"a:extLst")&&this.processExtras(c)}a=a.nextSibling}b=b.nextSibling}}catch(m){console.error(m.message,
+m)}this.isProcessed=!0}};d.prototype.processExtras=function(b){b=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(b);for(var a=0;a<b.length;a++){var c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(b[a]);switch(c.nodeName){case "vt:fmtConnectorScheme":var h;h=this.name;var m=c.getAttribute("name");h=h&&h.equals?h.equals(m):h===m;h||(this.__isPure=!1);c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(c);for(h=0;h<c.length;h++)switch(m=c[h],m.nodeName){case "a:fillStyleLst":for(var m=
+e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(m),d=0;d<m.length;d++)this.connFillStyles.push(e.mxgraph.io.vsdx.theme.FillStyleFactory.getFillStyle(m[d]));break;case "a:lnStyleLst":for(m=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(m),d=0;d<m.length;d++)this.connLineStyles.push(new e.mxgraph.io.vsdx.theme.LineStyle(m[d]))}break;case "vt:lineStyles":c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(c);for(h=0;h<c.length;h++)switch(m=c[h],m.nodeName){case "vt:fmtConnectorSchemeLineStyles":m=
+e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(m);for(d=0;d<m.length;d++)this.connLineStylesExt.push(new e.mxgraph.io.vsdx.theme.LineStyleExt(m[d]));break;case "vt:fmtSchemeLineStyles":for(m=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(m),d=0;d<m.length;d++)this.lineStylesExt.push(new e.mxgraph.io.vsdx.theme.LineStyleExt(m[d]))}break;case "vt:fontStylesGroup":c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(c);for(h=0;h<c.length;h++)switch(m=c[h],m.nodeName){case "vt:connectorFontStyles":this.fillFontStyles(m,
+this.connFontColors,this.connFontStyles);break;case "vt:fontStyles":this.fillFontStyles(m,this.fontColors,this.fontStyles)}break;case "vt:variationStyleSchemeLst":for(c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(c),m=h=0;m<c.length;m++){d=c[m];this.variantEmbellishment[h]=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(d,"embellishment");for(var d=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(d),f=0,w=0;w<d.length;w++){var q=d[w];this.variantFillIdx[h][f]=
+e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(q,"fillIdx");this.variantLineIdx[h][f]=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(q,"lineIdx");this.variantEffectIdx[h][f]=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(q,"effectIdx");this.variantFontIdx[h][f]=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(q,"fontIdx");f++}h++}}}};d.prototype.fillFontStyles=function(b,a,c){b=
+e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(b);for(var h=0;h<b.length;h++){var m=b[h];c.push(e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(m,"style"));m=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(m);null!=m&&a.push(e.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(m)))}};d.prototype.processFormats=function(b){b=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(b);for(var a=0;a<
+b.length;a++){var c=b[a];switch(c.nodeName){case "a:fillStyleLst":for(var c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(c),h=0;h<c.length;h++)this.fillStyles.push(e.mxgraph.io.vsdx.theme.FillStyleFactory.getFillStyle(c[h]));break;case "a:lnStyleLst":for(c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(c),h=0;h<c.length;h++)this.lineStyles.push(new e.mxgraph.io.vsdx.theme.LineStyle(c[h]))}}};d.prototype.processFonts=function(b){};d.prototype.processColors=function(b){for(b=b.firstChild;null!=
+b;){if(null!=b&&1==b.nodeType){var a=b,c=a.nodeName,a=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a),h;h=(h=c)&&h.equals?h.equals("a:extLst"):"a:extLst"===h;h?3===a.length&&(0>this.themeIndex&&this.extractThemeIndex(a[0]),this.addBkgndColor(a[1]),this.addVariantColors(a[2])):(c=c.substring(2),0<a.length&&this.addBasicColor(c,a[0]))}b=b.nextSibling}};d.prototype.addVariantColors=function(b){b=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(b);if(null!=b){b=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(b);
+for(var a=0,c=0;c<b.length;c++){var h=b[c];this.addVariantColorsSet(a++,h)}}};d.prototype.addVariantColorsSet=function(b,a){var c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a);this.isMonotoneVariant[b]=a.hasAttribute("monotone");for(var h=0;h<c.length;h++){var m=c[h];switch(m.nodeName){case "vt:varColor1":this.variantsColors[b][0]=e.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(m));break;case "vt:varColor2":this.variantsColors[b][1]=
e.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(m));break;case "vt:varColor3":this.variantsColors[b][2]=e.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(m));break;case "vt:varColor4":this.variantsColors[b][3]=e.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(m));break;case "vt:varColor5":this.variantsColors[b][4]=
e.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(m));break;case "vt:varColor6":this.variantsColors[b][5]=e.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(m));break;case "vt:varColor7":this.variantsColors[b][6]=e.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(m))}}};d.prototype.addBkgndColor=function(b){b=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(b);
null!=b&&(this.bkgndColor=e.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(b)))};d.prototype.extractThemeIndex=function(b){b=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(b);null!=b&&(this.themeIndex=parseInt(b.getAttribute("schemeEnum")))};d.prototype.addBasicColor=function(b,a){this.baseColors[b]=e.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(a)};d.prototype.getSchemeColor=function(b){this.processTheme();var a=this.baseColors;
b=a[b]?a[b]:null;return null!=b?b.getColor$com_mxgraph_io_vsdx_mxVsdxTheme(this):this.defaultClr};d.prototype.getStyleColor=function(b){this.processTheme();if(8>b){var a=function(a,b){return a[b]?a[b]:null}(this.baseColors,function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(d.colorIds_$LI$(),b));if(null!=a)return a.getColor$com_mxgraph_io_vsdx_mxVsdxTheme(this)}else if(8===
b){if(null!=this.bkgndColor)return this.bkgndColor.getColor$com_mxgraph_io_vsdx_mxVsdxTheme(this)}else{var a=null,c=0;200<=b?c=b-200:100<=b&&(c=b-100);0<=c&&6>=c&&(a=this.variantsColors[this.themeVariant][c]);if(null!=a)return a.getColor$com_mxgraph_io_vsdx_mxVsdxTheme(this)}return this.defaultClr};d.prototype.getFillGraientColor=function(b){return this.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$boolean(b,!0)};d.prototype.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals=function(b){return this.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$boolean(b,
-!1)};d.prototype.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$boolean=function(b,a){this.processTheme();var c=b.getQuickStyleFillColor(),f=null;switch(b.getQuickStyleFillMatrix()){case 1:case 2:case 3:case 4:case 5:case 6:f=this.fillStyles[b.getQuickStyleFillMatrix()-1];break;case 100:case 101:case 102:case 103:this.isMonotoneVariant[this.themeVariant]&&(c=100),f=b.getQuickStyleFillMatrix()-100,f=this.fillStyles[this.variantFillIdx[this.themeVariant][f]-1]}c=null!=f?a?null!=f&&f instanceof
-e.mxgraph.io.vsdx.theme.GradFill?f.applyStyle(c,this).getGradientClr():null:f.applyStyle(c,this):a?null:this.getStyleColor(c);f=b.getQuickStyleVariation();if(null!=c&&0<(f&8)){var f=this.getStyleColor(8).toHsl(),m=this.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b),d=m.toHsl(),g=c.toHsl();.1666<=Math.abs(f.getLum()-g.getLum())||(.7292>=f.getLum()?c=new e.mxgraph.io.vsdx.theme.Color(255,255,255):Math.abs(f.getLum()-d.getLum())>Math.abs(f.getLum()-g.getLum())&&(c=m))}return c};d.prototype.getFillColor=
+!1)};d.prototype.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$boolean=function(b,a){this.processTheme();var c=b.getQuickStyleFillColor(),h=null;switch(b.getQuickStyleFillMatrix()){case 1:case 2:case 3:case 4:case 5:case 6:h=this.fillStyles[b.getQuickStyleFillMatrix()-1];break;case 100:case 101:case 102:case 103:this.isMonotoneVariant[this.themeVariant]&&(c=100),h=b.getQuickStyleFillMatrix()-100,h=this.fillStyles[this.variantFillIdx[this.themeVariant][h]-1]}c=null!=h?a?null!=h&&h instanceof
+e.mxgraph.io.vsdx.theme.GradFill?h.applyStyle(c,this).getGradientClr():null:h.applyStyle(c,this):a?null:this.getStyleColor(c);h=b.getQuickStyleVariation();if(null!=c&&0<(h&8)){var h=this.getStyleColor(8).toHsl(),m=this.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b),d=m.toHsl(),f=c.toHsl();.1666<=Math.abs(h.getLum()-f.getLum())||(.7292>=h.getLum()?c=new e.mxgraph.io.vsdx.theme.Color(255,255,255):Math.abs(h.getLum()-d.getLum())>Math.abs(h.getLum()-f.getLum())&&(c=m))}return c};d.prototype.getFillColor=
function(b,a){if(!(null!=b&&b instanceof e.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)||"boolean"!==typeof a&&null!==a){if((null!=b&&b instanceof e.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)&&void 0===a)return this.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b);throw Error("invalid overload");}return this.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$boolean(b,a)};d.prototype.getLineStyle=function(b,a){this.processTheme();var c=null;switch(b){case 1:case 2:case 3:case 4:case 5:case 6:c=
-a[b-1];break;case 100:case 101:case 102:case 103:c=a===this.lineStyles?this.lineStyles[this.variantLineIdx[this.themeVariant][b-100]-1]:this.defaultLineStyle}return c};d.prototype.getLineStyleExt=function(b,a){this.processTheme();var c=null;switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=a[b]}return c};d.prototype.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList=function(b,a){this.processTheme();var c=b.getQuickStyleLineColor(),f=this.getLineStyle(b.getQuickStyleLineMatrix(),
-a);switch(b.getQuickStyleLineMatrix()){case 100:case 101:case 102:case 103:this.isMonotoneVariant[this.themeVariant]&&(c=100)}c=null!=f?f.getLineColor(c,this):this.getStyleColor(c);if(0<(b.getQuickStyleVariation()&4)){var f=this.getStyleColor(8).toHsl(),m=this.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b),d=m.toHsl(),g=c.toHsl();.1666<=Math.abs(f.getLum()-g.getLum())||(.7292>=f.getLum()?c=new e.mxgraph.io.vsdx.theme.Color(255,255,255):Math.abs(f.getLum()-d.getLum())>Math.abs(f.getLum()-
-g.getLum())&&(c=m))}return c};d.prototype.getLineColor=function(b,a){if((null!=b&&b instanceof e.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)&&(null!=a&&a instanceof Array||null===a))return this.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList(b,a);if((null!=b&&b instanceof e.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)&&void 0===a)return this.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b);throw Error("invalid overload");};d.prototype.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals=
+a[b-1];break;case 100:case 101:case 102:case 103:c=a===this.lineStyles?this.lineStyles[this.variantLineIdx[this.themeVariant][b-100]-1]:this.defaultLineStyle}return c};d.prototype.getLineStyleExt=function(b,a){this.processTheme();var c=null;switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=a[b]}return c};d.prototype.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList=function(b,a){this.processTheme();var c=b.getQuickStyleLineColor(),h=this.getLineStyle(b.getQuickStyleLineMatrix(),
+a);switch(b.getQuickStyleLineMatrix()){case 100:case 101:case 102:case 103:this.isMonotoneVariant[this.themeVariant]&&(c=100)}c=null!=h?h.getLineColor(c,this):this.getStyleColor(c);if(0<(b.getQuickStyleVariation()&4)){var h=this.getStyleColor(8).toHsl(),m=this.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b),d=m.toHsl(),f=c.toHsl();.1666<=Math.abs(h.getLum()-f.getLum())||(.7292>=h.getLum()?c=new e.mxgraph.io.vsdx.theme.Color(255,255,255):Math.abs(h.getLum()-d.getLum())>Math.abs(h.getLum()-
+f.getLum())&&(c=m))}return c};d.prototype.getLineColor=function(b,a){if((null!=b&&b instanceof e.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)&&(null!=a&&a instanceof Array||null===a))return this.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList(b,a);if((null!=b&&b instanceof e.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)&&void 0===a)return this.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b);throw Error("invalid overload");};d.prototype.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals=
function(b){return this.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList(b,this.lineStyles)};d.prototype.getConnLineColor=function(b){return this.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList(b,this.connLineStyles)};d.prototype.getDefaultLineClr=function(){return this.defaultLineClr};d.prototype.isLineDashed$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList$java_util_ArrayList=function(b,a,c){a=this.getLineStyleExt(b.getQuickStyleLineMatrix(),
a);if(null!=a)return a.isDashed();b=this.getLineStyle(b.getQuickStyleLineMatrix(),c);return null!=b?b.isDashed():!1};d.prototype.isLineDashed=function(b,a,c){if((null!=b&&b instanceof e.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)&&(null!=a&&a instanceof Array||null===a)&&(null!=c&&c instanceof Array||null===c))return this.isLineDashed$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList$java_util_ArrayList(b,a,c);if((null!=b&&b instanceof e.mxgraph.io.vsdx.theme.QuickStyleVals||null===
b)&&void 0===a&&void 0===c)return this.isLineDashed$com_mxgraph_io_vsdx_theme_QuickStyleVals(b);throw Error("invalid overload");};d.prototype.isLineDashed$com_mxgraph_io_vsdx_theme_QuickStyleVals=function(b){return this.isLineDashed$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList$java_util_ArrayList(b,this.lineStylesExt,this.lineStyles)};d.prototype.isConnLineDashed=function(b){return this.isLineDashed$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList$java_util_ArrayList(b,
this.connLineStylesExt,this.connLineStyles)};d.prototype.getLineDashPattern$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList$java_util_ArrayList=function(b,a,c){a=this.getLineStyleExt(b.getQuickStyleLineMatrix(),a);if(null!=a)return a.getLineDashPattern();b=this.getLineStyle(b.getQuickStyleLineMatrix(),c);return null!=b?b.getLineDashPattern():null};d.prototype.getLineDashPattern=function(b,a,c){if((null!=b&&b instanceof e.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)&&(null!=a&&a instanceof
Array||null===a)&&(null!=c&&c instanceof Array||null===c))return this.getLineDashPattern$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList$java_util_ArrayList(b,a,c);if((null!=b&&b instanceof e.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)&&void 0===a&&void 0===c)return this.getLineDashPattern$com_mxgraph_io_vsdx_theme_QuickStyleVals(b);throw Error("invalid overload");};d.prototype.getLineDashPattern$com_mxgraph_io_vsdx_theme_QuickStyleVals=function(b){return this.getLineDashPattern$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList$java_util_ArrayList(b,
-this.lineStylesExt,this.lineStyles)};d.prototype.getConnLineDashPattern=function(b){return this.getLineDashPattern$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList$java_util_ArrayList(b,this.connLineStylesExt,this.connLineStyles)};d.prototype.getArrowSize=function(b,a,c,f){c=this.getLineStyleExt(b.getQuickStyleLineMatrix(),c);if(null!=c)return a?c.getStartSize():c.getEndSize();b=this.getLineStyle(b.getQuickStyleLineMatrix(),f);return null!=b?a?b.getStartSize():b.getEndSize():4};d.prototype.getStartSize=
+this.lineStylesExt,this.lineStyles)};d.prototype.getConnLineDashPattern=function(b){return this.getLineDashPattern$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList$java_util_ArrayList(b,this.connLineStylesExt,this.connLineStyles)};d.prototype.getArrowSize=function(b,a,c,h){c=this.getLineStyleExt(b.getQuickStyleLineMatrix(),c);if(null!=c)return a?c.getStartSize():c.getEndSize();b=this.getLineStyle(b.getQuickStyleLineMatrix(),h);return null!=b?a?b.getStartSize():b.getEndSize():4};d.prototype.getStartSize=
function(b){return this.getArrowSize(b,!0,this.lineStylesExt,this.lineStyles)};d.prototype.getConnStartSize=function(b){return this.getArrowSize(b,!0,this.connLineStylesExt,this.connLineStyles)};d.prototype.getEndSize=function(b){return this.getArrowSize(b,!1,this.lineStylesExt,this.lineStyles)};d.prototype.getConnEndSize=function(b){return this.getArrowSize(b,!1,this.connLineStylesExt,this.connLineStyles)};d.prototype.getFontColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList=function(b,
-a){this.processTheme();var c=b.getQuickStyleFontColor(),f=null;switch(b.getQuickStyleFontMatrix()){case 1:case 2:case 3:case 4:case 5:case 6:f=a[b.getQuickStyleFontMatrix()-1];break;case 100:case 101:case 102:case 103:this.isMonotoneVariant[this.themeVariant]&&(c=100),f=b.getQuickStyleFontMatrix()-100,a!==this.fontColors?(f=this.baseColors,f=f.dk1?f.dk1:null):f=a[this.variantFontIdx[this.themeVariant][f]-1]}c=null!=f?f.getColor$int$com_mxgraph_io_vsdx_mxVsdxTheme(c,this):this.getStyleColor(c);if(0<
-(b.getQuickStyleVariation()&2)){var m=this.getStyleColor(8).toHsl(),d=c.toHsl(),f=this.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b),g=f.toHsl(),w=this.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b),q=w.toHsl();.1666<=Math.abs(m.getLum()-d.getLum())||(.7292>=m.getLum()?c=new e.mxgraph.io.vsdx.theme.Color(255,255,255):(q=Math.abs(m.getLum()-q.getLum()),g=Math.abs(m.getLum()-g.getLum()),m=Math.abs(m.getLum()-d.getLum()),m=Math.max(q,g,m),m==q?c=w:m==g&&(c=f)))}return c};d.prototype.getFontColor=
+a){this.processTheme();var c=b.getQuickStyleFontColor(),h=null;switch(b.getQuickStyleFontMatrix()){case 1:case 2:case 3:case 4:case 5:case 6:h=a[b.getQuickStyleFontMatrix()-1];break;case 100:case 101:case 102:case 103:this.isMonotoneVariant[this.themeVariant]&&(c=100),h=b.getQuickStyleFontMatrix()-100,a!==this.fontColors?(h=this.baseColors,h=h.dk1?h.dk1:null):h=a[this.variantFontIdx[this.themeVariant][h]-1]}c=null!=h?h.getColor$int$com_mxgraph_io_vsdx_mxVsdxTheme(c,this):this.getStyleColor(c);if(0<
+(b.getQuickStyleVariation()&2)){var m=this.getStyleColor(8).toHsl(),d=c.toHsl(),h=this.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b),f=h.toHsl(),w=this.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b),q=w.toHsl();.1666<=Math.abs(m.getLum()-d.getLum())||(.7292>=m.getLum()?c=new e.mxgraph.io.vsdx.theme.Color(255,255,255):(q=Math.abs(m.getLum()-q.getLum()),f=Math.abs(m.getLum()-f.getLum()),m=Math.abs(m.getLum()-d.getLum()),m=Math.max(q,f,m),m==q?c=w:m==f&&(c=h)))}return c};d.prototype.getFontColor=
function(b,a){if((null!=b&&b instanceof e.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)&&(null!=a&&a instanceof Array||null===a))return this.getFontColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList(b,a);if((null!=b&&b instanceof e.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)&&void 0===a)return this.getFontColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b);throw Error("invalid overload");};d.prototype.getFontColor$com_mxgraph_io_vsdx_theme_QuickStyleVals=function(b){return this.getFontColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList(b,
-this.fontColors)};d.prototype.getConnFontColor=function(b){return this.getFontColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList(b,this.connFontColors)};d.prototype.getArrowType=function(b,a,c,f){c=this.getLineStyleExt(b.getQuickStyleLineMatrix(),c);if(null!=c)return a?c.getStart():c.getEnd();b=this.getLineStyle(b.getQuickStyleLineMatrix(),f);return null!=b?a?b.getStart():b.getEnd():0};d.prototype.getEdgeMarker=function(b,a){return this.getArrowType(a,b,this.lineStylesExt,this.lineStyles)};
+this.fontColors)};d.prototype.getConnFontColor=function(b){return this.getFontColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList(b,this.connFontColors)};d.prototype.getArrowType=function(b,a,c,h){c=this.getLineStyleExt(b.getQuickStyleLineMatrix(),c);if(null!=c)return a?c.getStart():c.getEnd();b=this.getLineStyle(b.getQuickStyleLineMatrix(),h);return null!=b?a?b.getStart():b.getEnd():0};d.prototype.getEdgeMarker=function(b,a){return this.getArrowType(a,b,this.lineStylesExt,this.lineStyles)};
d.prototype.getConnEdgeMarker=function(b,a){return this.getArrowType(a,b,this.connLineStylesExt,this.connLineStyles)};d.prototype.getLineWidth$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList=function(b,a){var c=this.getLineStyle(b.getQuickStyleLineMatrix(),a);return null!=c?c.getLineWidth():0};d.prototype.getLineWidth=function(b,a){if((null!=b&&b instanceof e.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)&&(null!=a&&a instanceof Array||null===a))return this.getLineWidth$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList(b,
a);if((null!=b&&b instanceof e.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)&&void 0===a)return this.getLineWidth$com_mxgraph_io_vsdx_theme_QuickStyleVals(b);throw Error("invalid overload");};d.prototype.getLineWidth$com_mxgraph_io_vsdx_theme_QuickStyleVals=function(b){return this.getLineWidth$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList(b,this.lineStyles)};d.prototype.getConnLineWidth=function(b){return this.getLineWidth$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList(b,
-this.connLineStyles)};return d}();q.__static_initialized=!1;g.mxVsdxTheme=q;q.__class="com.mxgraph.io.vsdx.mxVsdxTheme"})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){var q=function(){function d(){}d.conversionFactor_$LI$=function(){null==d.conversionFactor&&(d.conversionFactor=d.screenCoordinatesPerCm*d.CENTIMETERS_PER_INCHES);return d.conversionFactor};d.getDirectChildNamedElements=function(b,a){for(var c=[],f=b.firstChild;null!=f;f=f.nextSibling){var m;if(m=null!=f&&1==f.nodeType){m=a;var d=f.nodeName;m=m&&m.equals?m.equals(d):m===d}m&&c.push(f)}return c};d.getDirectChildElements=function(b){var a=[];for(b=
-b.firstChild;null!=b;b=b.nextSibling)null!=b&&1==b.nodeType&&a.push(b);return a};d.getDirectFirstChildElement=function(b){for(b=b.firstChild;null!=b;b=b.nextSibling)if(null!=b&&1==b.nodeType)return b;return null};d.getIntAttr$org_w3c_dom_Element$java_lang_String$int=function(b,a,c){try{var f=b.getAttribute(a);if(null!=f)return parseInt(f)}catch(m){}return c};d.getIntAttr=function(b,a,c){if((null==b||1!=b.nodeType)&&null!==b||"string"!==typeof a&&null!==a||"number"!==typeof c&&null!==c){if((null==
-b||1!=b.nodeType)&&null!==b||"string"!==typeof a&&null!==a||void 0!==c)throw Error("invalid overload");return e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(b,a)}return e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String$int(b,a,c)};d.getIntAttr$org_w3c_dom_Element$java_lang_String=function(b,a){return d.getIntAttr$org_w3c_dom_Element$java_lang_String$int(b,a,0)};d.getStyleString=function(b,a){for(var c="",f=function(a){var b=0;return{next:function(){return b<
-a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){return Object.keys(a).map(function(b){return a[b]})}(b)),m=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(Object.keys(b));m.hasNext();){var d=m.next(),e=f.next();if(!function(a,b){return a&&a.equals?a.equals(b):a===b}(d,mxConstants.STYLE_SHAPE)||!function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(b[d]?b[d]:null,"image")&&!function(a,b,c){void 0===
+this.connLineStyles)};return d}();q.__static_initialized=!1;f.mxVsdxTheme=q;q.__class="com.mxgraph.io.vsdx.mxVsdxTheme"})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){var q=function(){function d(){}d.conversionFactor_$LI$=function(){null==d.conversionFactor&&(d.conversionFactor=d.screenCoordinatesPerCm*d.CENTIMETERS_PER_INCHES);return d.conversionFactor};d.getDirectChildNamedElements=function(b,a){for(var c=[],h=b.firstChild;null!=h;h=h.nextSibling){var m;if(m=null!=h&&1==h.nodeType){m=a;var d=h.nodeName;m=m&&m.equals?m.equals(d):m===d}m&&c.push(h)}return c};d.getDirectChildElements=function(b){var a=[];for(b=
+b.firstChild;null!=b;b=b.nextSibling)null!=b&&1==b.nodeType&&a.push(b);return a};d.getDirectFirstChildElement=function(b){for(b=b.firstChild;null!=b;b=b.nextSibling)if(null!=b&&1==b.nodeType)return b;return null};d.getIntAttr$org_w3c_dom_Element$java_lang_String$int=function(b,a,c){try{var h=b.getAttribute(a);if(null!=h)return parseInt(h)}catch(m){}return c};d.getIntAttr=function(b,a,c){if((null==b||1!=b.nodeType)&&null!==b||"string"!==typeof a&&null!==a||"number"!==typeof c&&null!==c){if((null==
+b||1!=b.nodeType)&&null!==b||"string"!==typeof a&&null!==a||void 0!==c)throw Error("invalid overload");return e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(b,a)}return e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String$int(b,a,c)};d.getIntAttr$org_w3c_dom_Element$java_lang_String=function(b,a){return d.getIntAttr$org_w3c_dom_Element$java_lang_String$int(b,a,0)};d.getStyleString=function(b,a){for(var c="",h=function(a){var b=0;return{next:function(){return b<
+a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){return Object.keys(a).map(function(b){return a[b]})}(b)),m=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(Object.keys(b));m.hasNext();){var d=m.next(),e=h.next();if(!function(a,b){return a&&a.equals?a.equals(b):a===b}(d,mxConstants.STYLE_SHAPE)||!function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(b[d]?b[d]:null,"image")&&!function(a,b,c){void 0===
c&&(c=0);return a.substr(c,b.length)===b}(b[d]?b[d]:null,"rounded="))try{c=c+d+a}catch(w){console.error("mxVsdxUtils.getStyleString,"+w+",style.length="+c.length+",key.length="+d.length+",asig.length="+a.length)}c=c+e+";"}return c};d.surroundByTags=function(b,a){return"<"+a+">"+b+"</"+a+">"};d.htmlEntities=function(b){return b.replace(RegExp("&","g"),"&amp;").replace(RegExp('"',"g"),"&quot;").replace(RegExp("'","g"),"&prime;").replace(RegExp("<","g"),"&lt;").replace(RegExp(">","g"),"&gt;")};d.toInitialCapital=
-function(b){b=b.split(" ");for(var a="",c=0;c<b.length;c++)var f=b[c],m=f.substring(0,1),f=f.substring(1),m=m.toUpperCase(),a=a+(m+f);return a.substring(0,a.length)};d.toSmallCaps=function(b,a){var c="",f=c;if(a&&a.equals?a.equals(f):a===f)c=b;else for(var f=b.split(""),m=0;m<f.length;m++){var d=f[m];(null==d.charCodeAt?d:d.charCodeAt(0))>=(null=="a".charCodeAt?"a":97)&&(null==d.charCodeAt?d:d.charCodeAt(0))<=(null=="z".charCodeAt?"z":122)?(d=(new String(d)).toString(),d=d.toUpperCase(),c+='<font style="font-size:'+
-parseFloat(a)/1.28+'px">'+d+"</font>"):c+=d}return c};d.getStyleMap=function(b,a){for(var c={},f=b.split(";"),m=0;m<f.length;m++){var d=f[m],e=d.indexOf(a),g=d.substring(0,e),d=d.substring(e+1);c[g]=d}return c};d.isInsideTriangle=function(b,a,c,f,m,d,e,g){var l=(b-m)*(f-d)-(c-m)*(a-d);m=(b-e)*(d-g)-(m-e)*(a-g);b=(b-c)*(g-f)-(e-c)*(a-f);return!((0>l||0>m||0>b)&&(0<l||0<m||0<b))};return d}();q.screenCoordinatesPerCm=40;q.CENTIMETERS_PER_INCHES=2.54;g.mxVsdxUtils=q;q.__class="com.mxgraph.io.vsdx.mxVsdxUtils"})(n.vsdx||
+function(b){b=b.split(" ");for(var a="",c=0;c<b.length;c++)var h=b[c],m=h.substring(0,1),h=h.substring(1),m=m.toUpperCase(),a=a+(m+h);return a.substring(0,a.length)};d.toSmallCaps=function(b,a){var c="",h=c;if(a&&a.equals?a.equals(h):a===h)c=b;else for(var h=b.split(""),m=0;m<h.length;m++){var d=h[m];(null==d.charCodeAt?d:d.charCodeAt(0))>=(null=="a".charCodeAt?"a":97)&&(null==d.charCodeAt?d:d.charCodeAt(0))<=(null=="z".charCodeAt?"z":122)?(d=(new String(d)).toString(),d=d.toUpperCase(),c+='<font style="font-size:'+
+parseFloat(a)/1.28+'px">'+d+"</font>"):c+=d}return c};d.getStyleMap=function(b,a){for(var c={},h=b.split(";"),m=0;m<h.length;m++){var d=h[m],e=d.indexOf(a),f=d.substring(0,e),d=d.substring(e+1);c[f]=d}return c};d.isInsideTriangle=function(b,a,c,h,m,d,e,f){var k=(b-m)*(h-d)-(c-m)*(a-d);m=(b-e)*(d-f)-(m-e)*(a-f);b=(b-c)*(f-h)-(e-c)*(a-h);return!((0>k||0>m||0>b)&&(0<k||0<m||0<b))};return d}();q.screenCoordinatesPerCm=40;q.CENTIMETERS_PER_INCHES=2.54;f.mxVsdxUtils=q;q.__class="com.mxgraph.io.vsdx.mxVsdxUtils"})(n.vsdx||
(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(e){(function(e){(function(e){var g=function(){function d(b,a,c,f){this.paraIndex=this.fields=this.charIndices=this.values=null;this.values=[];this.values.push(b);this.charIndices=[];this.charIndices.push(a);this.fields=[];this.fields.push(f);this.paraIndex=c}d.prototype.addText=function(b,a,c){this.values.push(b);this.charIndices.push(a);this.fields.push(c)};d.prototype.getParagraphIndex=function(){return this.paraIndex};d.prototype.getValue=function(b){return this.values[b]};
-d.prototype.numValues=function(){return this.values.length};d.prototype.getChar=function(b){return this.charIndices[b]};d.prototype.getField=function(b){return this.fields[b]};return d}();e.Paragraph=g;g.__class="com.mxgraph.io.vsdx.Paragraph"})(e.vsdx||(e.vsdx={}))})(e.io||(e.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){var q=function(){function d(b){this.elem=b}d.prototype.getIndexedCell=function(b,a){for(var c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(this.elem,"Row"),f=0;f<c.length;f++){var m=c[f],d=m.getAttribute("IX");if(function(a,b){return a&&a.equals?a.equals(b):a===b}(d,b)||null==b)for(var m=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(m,"Cell"),g=0;g<m.length;g++){var w=m[g],d=w.getAttribute("N");if(function(a,b){return a&&
-a.equals?a.equals(b):a===b}(d,a))return w}}return null};return d}();g.Section=q;q.__class="com.mxgraph.io.vsdx.Section"})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(e){(function(e){(function(e){var g=function(){function d(b,a){this.pageNumber=0;this.pageNumber=b;this.Id=a}d.prototype.getId=function(){return this.Id};d.prototype.getPageNumber=function(){return this.pageNumber};d.prototype.equals=function(b){return null==b||this.constructor!==b.constructor||this.pageNumber!==b.pageNumber||this.Id!==b.Id?!1:!0};d.prototype.hashCode=function(){return 1E5*this.pageNumber+this.Id};return d}();e.ShapePageId=g;g.__class="com.mxgraph.io.vsdx.ShapePageId"})(e.vsdx||
+(function(e){(function(e){(function(e){(function(e){var f=function(){function d(b,a,c,h){this.paraIndex=this.fields=this.charIndices=this.values=null;this.values=[];this.values.push(b);this.charIndices=[];this.charIndices.push(a);this.fields=[];this.fields.push(h);this.paraIndex=c}d.prototype.addText=function(b,a,c){this.values.push(b);this.charIndices.push(a);this.fields.push(c)};d.prototype.getParagraphIndex=function(){return this.paraIndex};d.prototype.getValue=function(b){return this.values[b]};
+d.prototype.numValues=function(){return this.values.length};d.prototype.getChar=function(b){return this.charIndices[b]};d.prototype.getField=function(b){return this.fields[b]};return d}();e.Paragraph=f;f.__class="com.mxgraph.io.vsdx.Paragraph"})(e.vsdx||(e.vsdx={}))})(e.io||(e.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){var q=function(){function d(b){this.elem=b}d.prototype.getIndexedCell=function(b,a){for(var c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(this.elem,"Row"),h=0;h<c.length;h++){var d=c[h],k=d.getAttribute("IX");if(function(a,b){return a&&a.equals?a.equals(b):a===b}(k,b)||null==b)for(var d=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(d,"Cell"),f=0;f<d.length;f++){var w=d[f],k=w.getAttribute("N");if(function(a,b){return a&&
+a.equals?a.equals(b):a===b}(k,a))return w}}return null};return d}();f.Section=q;q.__class="com.mxgraph.io.vsdx.Section"})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(e){(function(e){(function(e){var f=function(){function d(b,a){this.pageNumber=0;this.pageNumber=b;this.Id=a}d.prototype.getId=function(){return this.Id};d.prototype.getPageNumber=function(){return this.pageNumber};d.prototype.equals=function(b){return null==b||this.constructor!==b.constructor||this.pageNumber!==b.pageNumber||this.Id!==b.Id?!1:!0};d.prototype.hashCode=function(){return 1E5*this.pageNumber+this.Id};return d}();e.ShapePageId=f;f.__class="com.mxgraph.io.vsdx.ShapePageId"})(e.vsdx||
(e.vsdx={}))})(e.io||(e.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(){function b(a,b,f){this.blue=this.green=this.red=0;this.gradientClr=null;this.red=a;this.green=b;this.blue=f}b.NONE_$LI$=function(){null==b.NONE&&(b.NONE=new b(-1,-1,-1));return b.NONE};b.prototype.getRed=function(){return this.red};b.prototype.setRed=function(a){this.red=a};b.prototype.getGreen=function(){return this.green};b.prototype.setGreen=function(a){this.green=a};b.prototype.getBlue=function(){return this.blue};
-b.prototype.setBlue=function(a){this.blue=a};b.prototype.toHsl=function(){var a=this.getRed()/255,b=this.getGreen()/255,f=this.getBlue()/255,m=Math.max(a,Math.max(b,f)),d=Math.min(a,Math.min(b,f)),g=(m+d)/2;if(m===d)a=d=0;else var w=m-d,d=.5<g?w/(2-m-d):w/(m+d),a=(m===a?(b-f)/w+(b<f?6:0):m===b?(f-a)/w+2:(a-b)/w+4)/6;return new e.mxgraph.io.vsdx.theme.HSLColor(a,d,g)};b.prototype.toHsv=function(){var a=this.getRed()/255,b=this.getGreen()/255,f=this.getBlue()/255,m=Math.max(a,Math.max(b,f)),d=Math.min(a,
-Math.min(b,f)),g=m-d,a=m===d?0:(m===a?(b-f)/g+(b<f?6:0):m===b?(f-a)/g+2:(a-b)/g+4)/6;return new e.mxgraph.io.vsdx.theme.HSVColor(a,0===m?0:g/m,m)};b.decodeColorHex=function(a){a=parseInt(a,16);return new b(a>>16&255,a>>8&255,a&255)};b.prototype.toHexStr=function(){var a=this.red.toString(16),a=1==a.length?"0"+a:a,b=this.green.toString(16),b=1==b.length?"0"+b:b,f=this.blue.toString(16),f=1==f.length?"0"+f:f;return"#"+a+b+f};b.prototype.getGradientClr=function(){return this.gradientClr};b.prototype.setGradientClr=
-function(a){this.gradientClr=a};return b}();g.Color=d;d.__class="com.mxgraph.io.vsdx.theme.Color"})(g.theme||(g.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(){function b(){}b.getFillStyle=function(a){var b=null;switch(a.nodeName){case "a:solidFill":b=new e.mxgraph.io.vsdx.theme.SolidFillStyle(e.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(a)));break;case "a:noFill":b=new e.mxgraph.io.vsdx.theme.NoFillStyle;break;case "a:gradFill":b=new e.mxgraph.io.vsdx.theme.GradFill(a)}return b};return b}();g.FillStyleFactory=
-d;d.__class="com.mxgraph.io.vsdx.theme.FillStyleFactory"})(g.theme||(g.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(){function b(a){this.color2=this.color1=null;a=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(a,"a:gsLst");0<a.length&&(a=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a[0]),2<=a.length&&(this.color2=e.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(a[0])),this.color1=e.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(a[a.length-
-1]))));null==this.color1&&(this.color1=this.color2=new e.mxgraph.io.vsdx.theme.SrgbClr("FFFFFF"))}b.prototype.applyStyle=function(a,b){var c=this.color1.getColor$int$com_mxgraph_io_vsdx_mxVsdxTheme(a,b);c.setGradientClr(this.color2.getColor$int$com_mxgraph_io_vsdx_mxVsdxTheme(a,b));return c};return b}();g.GradFill=d;d.__class="com.mxgraph.io.vsdx.theme.GradFill";d.__interfaces=["com.mxgraph.io.vsdx.theme.FillStyle"]})(g.theme||(g.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph=
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(){function b(a,b,h){this.blue=this.green=this.red=0;this.gradientClr=null;this.red=a;this.green=b;this.blue=h}b.NONE_$LI$=function(){null==b.NONE&&(b.NONE=new b(-1,-1,-1));return b.NONE};b.prototype.getRed=function(){return this.red};b.prototype.setRed=function(a){this.red=a};b.prototype.getGreen=function(){return this.green};b.prototype.setGreen=function(a){this.green=a};b.prototype.getBlue=function(){return this.blue};
+b.prototype.setBlue=function(a){this.blue=a};b.prototype.toHsl=function(){var a=this.getRed()/255,b=this.getGreen()/255,h=this.getBlue()/255,d=Math.max(a,Math.max(b,h)),k=Math.min(a,Math.min(b,h)),f=(d+k)/2;if(d===k)a=k=0;else var w=d-k,k=.5<f?w/(2-d-k):w/(d+k),a=(d===a?(b-h)/w+(b<h?6:0):d===b?(h-a)/w+2:(a-b)/w+4)/6;return new e.mxgraph.io.vsdx.theme.HSLColor(a,k,f)};b.prototype.toHsv=function(){var a=this.getRed()/255,b=this.getGreen()/255,h=this.getBlue()/255,d=Math.max(a,Math.max(b,h)),k=Math.min(a,
+Math.min(b,h)),f=d-k,a=d===k?0:(d===a?(b-h)/f+(b<h?6:0):d===b?(h-a)/f+2:(a-b)/f+4)/6;return new e.mxgraph.io.vsdx.theme.HSVColor(a,0===d?0:f/d,d)};b.decodeColorHex=function(a){a=parseInt(a,16);return new b(a>>16&255,a>>8&255,a&255)};b.prototype.toHexStr=function(){var a=this.red.toString(16),a=1==a.length?"0"+a:a,b=this.green.toString(16),b=1==b.length?"0"+b:b,h=this.blue.toString(16),h=1==h.length?"0"+h:h;return"#"+a+b+h};b.prototype.getGradientClr=function(){return this.gradientClr};b.prototype.setGradientClr=
+function(a){this.gradientClr=a};return b}();f.Color=d;d.__class="com.mxgraph.io.vsdx.theme.Color"})(f.theme||(f.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(){function b(){}b.getFillStyle=function(a){var b=null;switch(a.nodeName){case "a:solidFill":b=new e.mxgraph.io.vsdx.theme.SolidFillStyle(e.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(a)));break;case "a:noFill":b=new e.mxgraph.io.vsdx.theme.NoFillStyle;break;case "a:gradFill":b=new e.mxgraph.io.vsdx.theme.GradFill(a)}return b};return b}();f.FillStyleFactory=
+d;d.__class="com.mxgraph.io.vsdx.theme.FillStyleFactory"})(f.theme||(f.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(){function b(a){this.color2=this.color1=null;a=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(a,"a:gsLst");0<a.length&&(a=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a[0]),2<=a.length&&(this.color2=e.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(a[0])),this.color1=e.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(a[a.length-
+1]))));null==this.color1&&(this.color1=this.color2=new e.mxgraph.io.vsdx.theme.SrgbClr("FFFFFF"))}b.prototype.applyStyle=function(a,b){var c=this.color1.getColor$int$com_mxgraph_io_vsdx_mxVsdxTheme(a,b);c.setGradientClr(this.color2.getColor$int$com_mxgraph_io_vsdx_mxVsdxTheme(a,b));return c};return b}();f.GradFill=d;d.__class="com.mxgraph.io.vsdx.theme.GradFill";d.__interfaces=["com.mxgraph.io.vsdx.theme.FillStyle"]})(f.theme||(f.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph=
{}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(){function b(a,b,f){this.lum=this.sat=this.hue=0;this.hue=a;this.sat=b;this.lum=f}b.prototype.getHue=function(){return this.hue};b.prototype.setHue=function(a){this.hue=a};b.prototype.getSat=function(){return this.sat};b.prototype.setSat=function(a){this.sat=a};b.prototype.getLum=function(){return this.lum};b.prototype.setLum=function(a){this.lum=a};b.prototype.hue2rgb=function(a,b,f){0>f&&(f+=1);1<f&&--f;return f<1/6?
-a+6*(b-a)*f:.5>f?b:f<2/3?a+(b-a)*(2/3-f)*6:a};b.prototype.toRgb=function(){var a,b,f;f=this.hue;b=this.sat;a=this.lum;if(0===b)a=b=f=a;else{var m=.5>a?a*(1+b):a+b-a*b,d=2*a-m;a=this.hue2rgb(d,m,f+1/3);b=this.hue2rgb(d,m,f);f=this.hue2rgb(d,m,f-1/3)}return new e.mxgraph.io.vsdx.theme.Color(255*a|0,255*b|0,255*f|0)};b.prototype.clamp01=function(a){return Math.min(1,Math.max(0,a))};b.prototype.tint=function(a){this.lum*=1+a/100;this.lum=this.clamp01(this.lum);return this};b.prototype.shade=function(a){this.lum*=
-a/100;this.lum=this.clamp01(this.lum);return this};b.prototype.satMod=function(a){this.sat*=a/100;this.sat=this.clamp01(this.sat);return this};b.prototype.lumMod=function(a){this.lum*=a/100;this.lum=this.clamp01(this.lum);return this};return b}();g.HSLColor=d;d.__class="com.mxgraph.io.vsdx.theme.HSLColor"})(g.theme||(g.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(){function b(a,b,f){this.h=a;this.s=b;this.v=f}b.prototype.toRgb=function(){var a=6*this.h,b=this.s,f=Math.floor(a),m=a-f,a=this.v*(1-b),d=this.v*(1-m*b),b=this.v*(1-(1-m)*b),f=(f|0)%6;return new e.mxgraph.io.vsdx.theme.Color(255*[this.v,d,a,a,b,this.v][f]|0,255*[b,this.v,this.v,d,a,a][f]|0,255*[a,a,b,this.v,this.v,d][f]|0)};b.prototype.clamp01=function(a){return Math.min(1,Math.max(0,a))};b.prototype.tint=function(a){this.v*=
-1+a/100;this.v=this.clamp01(this.v);return this};b.prototype.shade=function(a){this.v*=a/100;this.v=this.clamp01(this.v);return this};b.prototype.satMod=function(a){this.s*=a/100;this.s=this.clamp01(this.s);return this};b.prototype.lumMod=function(a){this.v*=a/100;this.v=this.clamp01(this.v);return this};b.prototype.hueMod=function(a){this.h*=a/100;this.h=this.clamp01(this.h);return this};return b}();g.HSVColor=d;d.__class="com.mxgraph.io.vsdx.theme.HSVColor"})(g.theme||(g.theme={}))})(n.vsdx||(n.vsdx=
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(){function b(a,b,h){this.lum=this.sat=this.hue=0;this.hue=a;this.sat=b;this.lum=h}b.prototype.getHue=function(){return this.hue};b.prototype.setHue=function(a){this.hue=a};b.prototype.getSat=function(){return this.sat};b.prototype.setSat=function(a){this.sat=a};b.prototype.getLum=function(){return this.lum};b.prototype.setLum=function(a){this.lum=a};b.prototype.hue2rgb=function(a,b,h){0>h&&(h+=1);1<h&&--h;return h<1/6?
+a+6*(b-a)*h:.5>h?b:h<2/3?a+(b-a)*(2/3-h)*6:a};b.prototype.toRgb=function(){var a,b,h;h=this.hue;b=this.sat;a=this.lum;if(0===b)a=b=h=a;else{var d=.5>a?a*(1+b):a+b-a*b,k=2*a-d;a=this.hue2rgb(k,d,h+1/3);b=this.hue2rgb(k,d,h);h=this.hue2rgb(k,d,h-1/3)}return new e.mxgraph.io.vsdx.theme.Color(255*a|0,255*b|0,255*h|0)};b.prototype.clamp01=function(a){return Math.min(1,Math.max(0,a))};b.prototype.tint=function(a){this.lum*=1+a/100;this.lum=this.clamp01(this.lum);return this};b.prototype.shade=function(a){this.lum*=
+a/100;this.lum=this.clamp01(this.lum);return this};b.prototype.satMod=function(a){this.sat*=a/100;this.sat=this.clamp01(this.sat);return this};b.prototype.lumMod=function(a){this.lum*=a/100;this.lum=this.clamp01(this.lum);return this};return b}();f.HSLColor=d;d.__class="com.mxgraph.io.vsdx.theme.HSLColor"})(f.theme||(f.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(){function b(a,b,h){this.h=a;this.s=b;this.v=h}b.prototype.toRgb=function(){var a=6*this.h,b=this.s,h=Math.floor(a),d=a-h,a=this.v*(1-b),k=this.v*(1-d*b),b=this.v*(1-(1-d)*b),h=(h|0)%6;return new e.mxgraph.io.vsdx.theme.Color(255*[this.v,k,a,a,b,this.v][h]|0,255*[b,this.v,this.v,k,a,a][h]|0,255*[a,a,b,this.v,this.v,k][h]|0)};b.prototype.clamp01=function(a){return Math.min(1,Math.max(0,a))};b.prototype.tint=function(a){this.v*=
+1+a/100;this.v=this.clamp01(this.v);return this};b.prototype.shade=function(a){this.v*=a/100;this.v=this.clamp01(this.v);return this};b.prototype.satMod=function(a){this.s*=a/100;this.s=this.clamp01(this.s);return this};b.prototype.lumMod=function(a){this.v*=a/100;this.v=this.clamp01(this.v);return this};b.prototype.hueMod=function(a){this.h*=a/100;this.h=this.clamp01(this.h);return this};return b}();f.HSVColor=d;d.__class="com.mxgraph.io.vsdx.theme.HSVColor"})(f.theme||(f.theme={}))})(n.vsdx||(n.vsdx=
{}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(){function b(a){this.isLineDashed=!1;this.lineDashPattern=[];this.isMiterJoin=this.isBevelJoin=this.isRoundJoin=!1;if(null!=a&&1==a.nodeType||null===a){Array.prototype.slice.call(arguments);this.lineWidth=0;this.headEndType=this.fillStyle=this.lineComp=this.lineCap=null;this.headEndLen=this.headEndWidth=0;this.tailEndType=null;this.tailEndLen=this.tailEndWidth=0;this.isLineDashed=!1;this.lineDashPattern=[];this.isMiterJoin=
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(){function b(a){this.isLineDashed=!1;this.lineDashPattern=[];this.isMiterJoin=this.isBevelJoin=this.isRoundJoin=!1;if(null!=a&&1==a.nodeType||null===a){Array.prototype.slice.call(arguments);this.lineWidth=0;this.headEndType=this.fillStyle=this.lineComp=this.lineCap=null;this.headEndLen=this.headEndWidth=0;this.tailEndType=null;this.tailEndLen=this.tailEndWidth=0;this.isLineDashed=!1;this.lineDashPattern=[];this.isMiterJoin=
this.isBevelJoin=this.isRoundJoin=!1;this.lineWidth=0;this.headEndType=this.fillStyle=this.lineComp=this.lineCap=null;this.headEndLen=this.headEndWidth=0;this.tailEndType=null;this.tailEndLen=this.tailEndWidth=0;this.lineWidth=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(a,"w");var c=a.getAttribute("cap");if(null!=c)switch(c){case "rnd":this.lineCap=b.LineCapType.ROUND;break;case "sq":this.lineCap=b.LineCapType.SQUARE;break;case "flat":this.lineCap=b.LineCapType.FLAT}c=
-a.getAttribute("cmpd");if(null!=c)switch(c){case "sng":this.lineComp=b.CompoundLineType.SINGLE;break;case "dbl":this.lineComp=b.CompoundLineType.DOUBLE;break;case "thickThin":this.lineComp=b.CompoundLineType.THICK_THIN_DOUBLE;break;case "thinThick":this.lineComp=b.CompoundLineType.THIN_THICK_DOUBLE;break;case "tri":this.lineComp=b.CompoundLineType.THIN_THICK_THIN_TRIPLE}for(var c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a),f=0;f<c.length;f++){var d=c[f];switch(d.nodeName){case "a:noFill":case "a:solidFill":case "a:gradFill":case "a:pattFill":this.fillStyle=
+a.getAttribute("cmpd");if(null!=c)switch(c){case "sng":this.lineComp=b.CompoundLineType.SINGLE;break;case "dbl":this.lineComp=b.CompoundLineType.DOUBLE;break;case "thickThin":this.lineComp=b.CompoundLineType.THICK_THIN_DOUBLE;break;case "thinThick":this.lineComp=b.CompoundLineType.THIN_THICK_DOUBLE;break;case "tri":this.lineComp=b.CompoundLineType.THIN_THICK_THIN_TRIPLE}for(var c=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a),h=0;h<c.length;h++){var d=c[h];switch(d.nodeName){case "a:noFill":case "a:solidFill":case "a:gradFill":case "a:pattFill":this.fillStyle=
e.mxgraph.io.vsdx.theme.FillStyleFactory.getFillStyle(d);break;case "a:prstDash":d=d.getAttribute("val");this.isLineDashed=!0;switch(d){case "solid":this.isLineDashed=!1;break;case "sysDot":case "dot":this.lineDashPattern.push(1);this.lineDashPattern.push(4);break;case "lgDash":this.lineDashPattern.push(12);this.lineDashPattern.push(4);break;case "sysDashDot":case "dashDot":this.lineDashPattern.push(8);this.lineDashPattern.push(4);this.lineDashPattern.push(1);this.lineDashPattern.push(4);break;case "lgDashDot":this.lineDashPattern.push(12);
-this.lineDashPattern.push(4);this.lineDashPattern.push(1);this.lineDashPattern.push(4);break;case "sysDashDotDot":case "lgDashDotDot":this.lineDashPattern.push(12),this.lineDashPattern.push(4),this.lineDashPattern.push(1),this.lineDashPattern.push(4),this.lineDashPattern.push(1),this.lineDashPattern.push(4)}break;case "a:custDash":this.isLineDashed=!0;for(var d=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(d,"a:ds"),l=0;l<d.length;l++){var g=d[l],w=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(g,
-"d"),g=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(g,"sp");this.lineDashPattern.push(w/1E4);this.lineDashPattern.push(g/1E4)}break;case "a:round":this.isRoundJoin=!0;break;case "a:bevel":this.isBevelJoin=!0;break;case "a:miter":e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(d,"lim");this.isMiterJoin=!0;break;case "a:headEnd":this.headEndType=this.getLineEndType(d);this.headEndWidth=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(d,
+this.lineDashPattern.push(4);this.lineDashPattern.push(1);this.lineDashPattern.push(4);break;case "sysDashDotDot":case "lgDashDotDot":this.lineDashPattern.push(12),this.lineDashPattern.push(4),this.lineDashPattern.push(1),this.lineDashPattern.push(4),this.lineDashPattern.push(1),this.lineDashPattern.push(4)}break;case "a:custDash":this.isLineDashed=!0;for(var d=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(d,"a:ds"),k=0;k<d.length;k++){var f=d[k],w=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(f,
+"d"),f=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(f,"sp");this.lineDashPattern.push(w/1E4);this.lineDashPattern.push(f/1E4)}break;case "a:round":this.isRoundJoin=!0;break;case "a:bevel":this.isBevelJoin=!0;break;case "a:miter":e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(d,"lim");this.isMiterJoin=!0;break;case "a:headEnd":this.headEndType=this.getLineEndType(d);this.headEndWidth=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(d,
"w");this.headEndLen=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(d,"len");break;case "a:tailEnd":this.tailEndType=this.getLineEndType(d),this.tailEndWidth=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(d,"w"),this.tailEndLen=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(d,"len")}}}else if(void 0===a)Array.prototype.slice.call(arguments),this.lineWidth=0,this.headEndType=this.fillStyle=this.lineComp=this.lineCap=
null,this.headEndLen=this.headEndWidth=0,this.tailEndType=null,this.tailEndLen=this.tailEndWidth=0,this.isLineDashed=!1,this.lineDashPattern=[],this.isMiterJoin=this.isBevelJoin=this.isRoundJoin=!1,this.lineWidth=0,this.headEndType=this.fillStyle=this.lineComp=this.lineCap=null,this.headEndLen=this.headEndWidth=0,this.tailEndType=null,this.tailEndLen=this.tailEndWidth=0;else throw Error("invalid overload");}b.prototype.getLineEndType=function(a){var c=null;switch(a.getAttribute("type")){case "none":c=
b.LineEndType.NONE;break;case "triangle":c=b.LineEndType.TRIANGLE;break;case "stealth":c=b.LineEndType.STEALTH;break;case "diamond":c=b.LineEndType.DIAMOND;break;case "oval":c=b.LineEndType.OVAL;break;case "arrow":c=b.LineEndType.ARROW}return c};b.prototype.getLineColor=function(a,b){return null!=this.fillStyle?this.fillStyle.applyStyle(a,b):b.getDefaultLineClr()};b.prototype.isDashed=function(){return this.isLineDashed};b.prototype.getLineDashPattern=function(){return this.lineDashPattern};b.prototype.getStartSize=
-function(){return 4};b.prototype.getEndSize=function(){return 4};b.prototype.getStart=function(){return 0};b.prototype.getEnd=function(){return 0};b.prototype.getLineWidth=function(){return this.lineWidth};return b}();g.LineStyle=d;d.__class="com.mxgraph.io.vsdx.theme.LineStyle";(function(b){(function(a){a[a.ROUND=0]="ROUND";a[a.SQUARE=1]="SQUARE";a[a.FLAT=2]="FLAT"})(b.LineCapType||(b.LineCapType={}));(function(a){a[a.SINGLE=0]="SINGLE";a[a.DOUBLE=1]="DOUBLE";a[a.THICK_THIN_DOUBLE=2]="THICK_THIN_DOUBLE";
-a[a.THIN_THICK_DOUBLE=3]="THIN_THICK_DOUBLE";a[a.THIN_THICK_THIN_TRIPLE=4]="THIN_THICK_THIN_TRIPLE"})(b.CompoundLineType||(b.CompoundLineType={}));(function(a){a[a.NONE=0]="NONE";a[a.TRIANGLE=1]="TRIANGLE";a[a.STEALTH=2]="STEALTH";a[a.DIAMOND=3]="DIAMOND";a[a.OVAL=4]="OVAL";a[a.ARROW=5]="ARROW"})(b.LineEndType||(b.LineEndType={}))})(d=g.LineStyle||(g.LineStyle={}))})(g.theme||(g.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(){function b(a){this.pattern=this.endSize=this.end=this.startSize=this.start=this.rndg=0;this.lineDashPattern=null;a=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(a);this.rndg=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(a,"rndg");this.start=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(a,"start");this.startSize=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(a,
+function(){return 4};b.prototype.getEndSize=function(){return 4};b.prototype.getStart=function(){return 0};b.prototype.getEnd=function(){return 0};b.prototype.getLineWidth=function(){return this.lineWidth};return b}();f.LineStyle=d;d.__class="com.mxgraph.io.vsdx.theme.LineStyle";(function(b){(function(a){a[a.ROUND=0]="ROUND";a[a.SQUARE=1]="SQUARE";a[a.FLAT=2]="FLAT"})(b.LineCapType||(b.LineCapType={}));(function(a){a[a.SINGLE=0]="SINGLE";a[a.DOUBLE=1]="DOUBLE";a[a.THICK_THIN_DOUBLE=2]="THICK_THIN_DOUBLE";
+a[a.THIN_THICK_DOUBLE=3]="THIN_THICK_DOUBLE";a[a.THIN_THICK_THIN_TRIPLE=4]="THIN_THICK_THIN_TRIPLE"})(b.CompoundLineType||(b.CompoundLineType={}));(function(a){a[a.NONE=0]="NONE";a[a.TRIANGLE=1]="TRIANGLE";a[a.STEALTH=2]="STEALTH";a[a.DIAMOND=3]="DIAMOND";a[a.OVAL=4]="OVAL";a[a.ARROW=5]="ARROW"})(b.LineEndType||(b.LineEndType={}))})(d=f.LineStyle||(f.LineStyle={}))})(f.theme||(f.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(){function b(a){this.pattern=this.endSize=this.end=this.startSize=this.start=this.rndg=0;this.lineDashPattern=null;a=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(a);this.rndg=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(a,"rndg");this.start=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(a,"start");this.startSize=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(a,
"startSize");this.end=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(a,"end");this.endSize=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(a,"endSize");this.pattern=e.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(a,"pattern");this.lineDashPattern=e.mxgraph.io.vsdx.Style.getLineDashPattern(this.pattern)}b.prototype.getRndg=function(){return this.rndg};b.prototype.getStart=function(){return this.start};b.prototype.getStartSize=
-function(){return this.startSize};b.prototype.getEnd=function(){return this.end};b.prototype.getEndSize=function(){return this.endSize};b.prototype.isDashed=function(){return 1<this.pattern};b.prototype.getLineDashPattern=function(){return this.lineDashPattern};return b}();g.LineStyleExt=d;d.__class="com.mxgraph.io.vsdx.theme.LineStyleExt"})(g.theme||(g.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(){function b(){}b.prototype.applyStyle=function(a,b){return e.mxgraph.io.vsdx.theme.Color.NONE_$LI$()};return b}();g.NoFillStyle=d;d.__class="com.mxgraph.io.vsdx.theme.NoFillStyle";d.__interfaces=["com.mxgraph.io.vsdx.theme.FillStyle"]})(g.theme||(g.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(){function b(){this.invGamma=this.gamma=this.blueMod=this.blueOff=this.blue=this.greenMod=this.greenOff=this.green=this.redMod=this.redOff=this.red=this.lumMod=this.lumOff=this.lum=this.satMod=this.satOff=this.sat=this.hueMod=this.hueOff=this.hue=this.alphaMod=this.alphaOff=this.alpha=this.gray=this.inv=this.comp=this.shade=this.tint=0;this.hasEffects=this.isInitialized=this.isDynamic=!1;this.color=null}b.prototype.calcColor=
+function(){return this.startSize};b.prototype.getEnd=function(){return this.end};b.prototype.getEndSize=function(){return this.endSize};b.prototype.isDashed=function(){return 1<this.pattern};b.prototype.getLineDashPattern=function(){return this.lineDashPattern};return b}();f.LineStyleExt=d;d.__class="com.mxgraph.io.vsdx.theme.LineStyleExt"})(f.theme||(f.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(){function b(){}b.prototype.applyStyle=function(a,b){return e.mxgraph.io.vsdx.theme.Color.NONE_$LI$()};return b}();f.NoFillStyle=d;d.__class="com.mxgraph.io.vsdx.theme.NoFillStyle";d.__interfaces=["com.mxgraph.io.vsdx.theme.FillStyle"]})(f.theme||(f.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(){function b(){this.invGamma=this.gamma=this.blueMod=this.blueOff=this.blue=this.greenMod=this.greenOff=this.green=this.redMod=this.redOff=this.red=this.lumMod=this.lumOff=this.lum=this.satMod=this.satOff=this.sat=this.hueMod=this.hueOff=this.hue=this.alphaMod=this.alphaOff=this.alpha=this.gray=this.inv=this.comp=this.shade=this.tint=0;this.hasEffects=this.isInitialized=this.isDynamic=!1;this.color=null}b.prototype.calcColor=
function(a,b){if(this.hasEffects){var c=this.color.toHsv();0!==this.tint&&c.tint(this.tint);0!==this.shade&&c.shade(this.shade);0!==this.satMod&&c.satMod(this.satMod);0!==this.lumMod&&c.lumMod(this.lumMod);0!==this.hueMod&&c.hueMod(this.hueMod);this.color=c.toRgb()}};b.prototype.getColor$int$com_mxgraph_io_vsdx_mxVsdxTheme=function(a,b){if(this.isDynamic||!this.isInitialized)this.calcColor(a,b),this.isInitialized=!0;return this.color};b.prototype.getColor=function(a,b){if("number"!==typeof a&&null!==
a||!(null!=b&&b instanceof e.mxgraph.io.vsdx.mxVsdxTheme||null===b)){if((null!=a&&a instanceof e.mxgraph.io.vsdx.mxVsdxTheme||null===a)&&void 0===b)return this.getColor$com_mxgraph_io_vsdx_mxVsdxTheme(a);throw Error("invalid overload");}return this.getColor$int$com_mxgraph_io_vsdx_mxVsdxTheme(a,b)};b.prototype.getColor$com_mxgraph_io_vsdx_mxVsdxTheme=function(a){return this.getColor$int$com_mxgraph_io_vsdx_mxVsdxTheme(-1,a)};b.prototype.setTint=function(a){this.tint=a;this.hasEffects=!0};b.prototype.setShade=
function(a){this.shade=a;this.hasEffects=!0};b.prototype.setComp=function(a){this.comp=a;this.hasEffects=!0};b.prototype.setInv=function(a){this.inv=a;this.hasEffects=!0};b.prototype.setGray=function(a){this.gray=a;this.hasEffects=!0};b.prototype.setAlpha=function(a){this.alpha=a;this.hasEffects=!0};b.prototype.setAlphaOff=function(a){this.alphaOff=a;this.hasEffects=!0};b.prototype.setAlphaMod=function(a){this.alphaMod=a;this.hasEffects=!0};b.prototype.setHue=function(a){this.hue=a;this.hasEffects=
!0};b.prototype.setHueOff=function(a){this.hueOff=a;this.hasEffects=!0};b.prototype.setHueMod=function(a){this.hueMod=a;this.hasEffects=!0};b.prototype.setSat=function(a){this.sat=a;this.hasEffects=!0};b.prototype.setSatOff=function(a){this.satOff=a;this.hasEffects=!0};b.prototype.setSatMod=function(a){this.satMod=a;this.hasEffects=!0};b.prototype.setLum=function(a){this.lum=a;this.hasEffects=!0};b.prototype.setLumOff=function(a){this.lumOff=a;this.hasEffects=!0};b.prototype.setLumMod=function(a){this.lumMod=
a;this.hasEffects=!0};b.prototype.setRed=function(a){this.red=a;this.hasEffects=!0};b.prototype.setRedOff=function(a){this.redOff=a;this.hasEffects=!0};b.prototype.setRedMod=function(a){this.redMod=a;this.hasEffects=!0};b.prototype.setGreen=function(a){this.green=a;this.hasEffects=!0};b.prototype.setGreenOff=function(a){this.greenOff=a;this.hasEffects=!0};b.prototype.setGreenMod=function(a){this.greenMod=a;this.hasEffects=!0};b.prototype.setBlue=function(a){this.blue=a;this.hasEffects=!0};b.prototype.setBlueOff=
-function(a){this.blueOff=a;this.hasEffects=!0};b.prototype.setBlueMod=function(a){this.blueMod=a;this.hasEffects=!0};b.prototype.setGamma=function(a){this.gamma=a;this.hasEffects=!0};b.prototype.setInvGamma=function(a){this.invGamma=a;this.hasEffects=!0};return b}();g.OoxmlColor=d;d.__class="com.mxgraph.io.vsdx.theme.OoxmlColor"})(g.theme||(g.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(){function b(){}b.getOoxmlColor=function(a){var b=null;switch(a.nodeName){case "a:scrgbClr":b=new e.mxgraph.io.vsdx.theme.ScrgbClr(parseInt(a.getAttribute("r")),parseInt(a.getAttribute("g")),parseInt(a.getAttribute("b")));break;case "a:srgbClr":b=new e.mxgraph.io.vsdx.theme.SrgbClr(a.getAttribute("val"));break;case "a:hslClr":b=new e.mxgraph.io.vsdx.theme.HslClr(parseInt(a.getAttribute("hue")),parseInt(a.getAttribute("sat")),
-parseInt(a.getAttribute("lum")));break;case "a:sysClr":b=new e.mxgraph.io.vsdx.theme.SysClr(a.getAttribute("val"),a.getAttribute("lastClr"));break;case "a:schemeClr":b=new e.mxgraph.io.vsdx.theme.SchemeClr(a.getAttribute("val"));break;case "a:prstClr":b=new e.mxgraph.io.vsdx.theme.SrgbClr(a.getAttribute("val"))}a=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a);for(var f=0;f<a.length;f++){var d=a[f],l=parseInt(d.getAttribute("val"))/1E3|0;switch(d.nodeName){case "a:tint":b.setTint(l);break;
-case "a:shade":b.setShade(l);break;case "a:satMod":b.setSatMod(l);break;case "a:lumMod":b.setLumMod(l);break;case "a:hueMod":b.setHueMod(l)}}return b};return b}();g.OoxmlColorFactory=d;d.__class="com.mxgraph.io.vsdx.theme.OoxmlColorFactory"})(g.theme||(g.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(e){(function(e){(function(e){(function(e){var d=function(){function b(a,b,f,d,e,g,w,q,n,p){this.quickStyleVariation=this.quickStyleType=this.quickStyleShadowColor=this.quickStyleLineColor=this.quickStyleFontMatrix=this.quickStyleFontColor=this.quickStyleFillMatrix=this.quickStyleFillColor=this.quickStyleEffectsMatrix=0;this.quickStyleEffectsMatrix=a;this.quickStyleFillColor=b;this.quickStyleFillMatrix=f;this.quickStyleFontColor=d;this.quickStyleFontMatrix=e;this.quickStyleLineColor=
-g;this.quickStyleLineMatrix=w;this.quickStyleShadowColor=q;this.quickStyleType=n;this.quickStyleVariation=p}b.prototype.getQuickStyleEffectsMatrix=function(){return this.quickStyleEffectsMatrix};b.prototype.getQuickStyleFillColor=function(){return this.quickStyleFillColor};b.prototype.getQuickStyleFillMatrix=function(){return this.quickStyleFillMatrix};b.prototype.getQuickStyleFontColor=function(){return this.quickStyleFontColor};b.prototype.getQuickStyleFontMatrix=function(){return this.quickStyleFontMatrix};
+function(a){this.blueOff=a;this.hasEffects=!0};b.prototype.setBlueMod=function(a){this.blueMod=a;this.hasEffects=!0};b.prototype.setGamma=function(a){this.gamma=a;this.hasEffects=!0};b.prototype.setInvGamma=function(a){this.invGamma=a;this.hasEffects=!0};return b}();f.OoxmlColor=d;d.__class="com.mxgraph.io.vsdx.theme.OoxmlColor"})(f.theme||(f.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(){function b(){}b.getOoxmlColor=function(a){var b=null;switch(a.nodeName){case "a:scrgbClr":b=new e.mxgraph.io.vsdx.theme.ScrgbClr(parseInt(a.getAttribute("r")),parseInt(a.getAttribute("g")),parseInt(a.getAttribute("b")));break;case "a:srgbClr":b=new e.mxgraph.io.vsdx.theme.SrgbClr(a.getAttribute("val"));break;case "a:hslClr":b=new e.mxgraph.io.vsdx.theme.HslClr(parseInt(a.getAttribute("hue")),parseInt(a.getAttribute("sat")),
+parseInt(a.getAttribute("lum")));break;case "a:sysClr":b=new e.mxgraph.io.vsdx.theme.SysClr(a.getAttribute("val"),a.getAttribute("lastClr"));break;case "a:schemeClr":b=new e.mxgraph.io.vsdx.theme.SchemeClr(a.getAttribute("val"));break;case "a:prstClr":b=new e.mxgraph.io.vsdx.theme.SrgbClr(a.getAttribute("val"))}a=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a);for(var h=0;h<a.length;h++){var d=a[h],k=parseInt(d.getAttribute("val"))/1E3|0;switch(d.nodeName){case "a:tint":b.setTint(k);break;
+case "a:shade":b.setShade(k);break;case "a:satMod":b.setSatMod(k);break;case "a:lumMod":b.setLumMod(k);break;case "a:hueMod":b.setHueMod(k)}}return b};return b}();f.OoxmlColorFactory=d;d.__class="com.mxgraph.io.vsdx.theme.OoxmlColorFactory"})(f.theme||(f.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(e){(function(e){(function(e){(function(e){var d=function(){function b(a,b,h,d,e,f,w,q,n,p){this.quickStyleVariation=this.quickStyleType=this.quickStyleShadowColor=this.quickStyleLineColor=this.quickStyleFontMatrix=this.quickStyleFontColor=this.quickStyleFillMatrix=this.quickStyleFillColor=this.quickStyleEffectsMatrix=0;this.quickStyleEffectsMatrix=a;this.quickStyleFillColor=b;this.quickStyleFillMatrix=h;this.quickStyleFontColor=d;this.quickStyleFontMatrix=e;this.quickStyleLineColor=
+f;this.quickStyleLineMatrix=w;this.quickStyleShadowColor=q;this.quickStyleType=n;this.quickStyleVariation=p}b.prototype.getQuickStyleEffectsMatrix=function(){return this.quickStyleEffectsMatrix};b.prototype.getQuickStyleFillColor=function(){return this.quickStyleFillColor};b.prototype.getQuickStyleFillMatrix=function(){return this.quickStyleFillMatrix};b.prototype.getQuickStyleFontColor=function(){return this.quickStyleFontColor};b.prototype.getQuickStyleFontMatrix=function(){return this.quickStyleFontMatrix};
b.prototype.getQuickStyleLineColor=function(){return this.quickStyleLineColor};b.prototype.getQuickStyleLineMatrix=function(){return this.quickStyleLineMatrix};b.prototype.getQuickStyleShadowColor=function(){return this.quickStyleShadowColor};b.prototype.getQuickStyleType=function(){return this.quickStyleType};b.prototype.getQuickStyleVariation=function(){return this.quickStyleVariation};b.prototype.setQuickStyleEffectsMatrix=function(a){this.quickStyleEffectsMatrix=a};b.prototype.setQuickStyleFillColor=
function(a){this.quickStyleFillColor=a};b.prototype.setQuickStyleFillMatrix=function(a){this.quickStyleFillMatrix=a};b.prototype.setQuickStyleFontColor=function(a){this.quickStyleFontColor=a};b.prototype.setQuickStyleFontMatrix=function(a){this.quickStyleFontMatrix=a};b.prototype.setQuickStyleLineColor=function(a){this.quickStyleLineColor=a};b.prototype.setQuickStyleLineMatrix=function(a){this.quickStyleLineMatrix=a};b.prototype.setQuickStyleShadowColor=function(a){this.quickStyleShadowColor=a};b.prototype.setQuickStyleType=
function(a){this.quickStyleType=a};b.prototype.setQuickStyleVariation=function(a){this.quickStyleVariation=a};return b}();e.QuickStyleVals=d;d.__class="com.mxgraph.io.vsdx.theme.QuickStyleVals"})(e.theme||(e.theme={}))})(e.vsdx||(e.vsdx={}))})(e.io||(e.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
(function(e){(function(e){(function(e){(function(e){(function(e){var d=function(){function b(a){this.color=null;this.color=a}b.prototype.applyStyle=function(a,b){return this.color.getColor$int$com_mxgraph_io_vsdx_mxVsdxTheme(a,b)};return b}();e.SolidFillStyle=d;d.__class="com.mxgraph.io.vsdx.theme.SolidFillStyle";d.__interfaces=["com.mxgraph.io.vsdx.theme.FillStyle"]})(e.theme||(e.theme={}))})(e.vsdx||(e.vsdx={}))})(e.io||(e.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(e){(function(e){var g=function(){function e(){}e.MAX_AREA_$LI$=function(){null==e.MAX_AREA&&(e.MAX_AREA=1E8);return e.MAX_AREA};return e}();g.MAX_REQUEST_SIZE=52428800;g.IMAGE_DOMAIN="http://img.diagramly.com/";e.Constants=g;g.__class="com.mxgraph.online.Constants"})(e.online||(e.online={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(e){(function(e){var g=function(){function e(){}e.getRotatedPoint=function(d,b,a,c){var f=d.x-c.x;d=d.y-c.y;return new mxPoint(f*b-d*a+c.x,d*b+f*a+c.y)};e.rotatedGeometry=function(d,b,a,c){b=b*Math.PI/180;var f=Math.cos(b);b=Math.sin(b);var m=d.getCenterX()-a,e=d.getCenterY()-c;d.x=Math.round(m*f-e*b+a-d.width/2);d.y=Math.round(e*f+m*b+c-d.height/2)};return e}();g.CHARSET_FOR_URL_ENCODING="ISO-8859-1";e.Utils=g;g.__class="com.mxgraph.online.Utils"})(e.online||(e.online={}))})(e.mxgraph||
+(function(e){(function(e){(function(e){var f=function(){function e(){}e.MAX_AREA_$LI$=function(){null==e.MAX_AREA&&(e.MAX_AREA=1E8);return e.MAX_AREA};return e}();f.MAX_REQUEST_SIZE=52428800;f.IMAGE_DOMAIN="http://img.diagramly.com/";e.Constants=f;f.__class="com.mxgraph.online.Constants"})(e.online||(e.online={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(e){(function(e){var f=function(){function e(){}e.getRotatedPoint=function(d,b,a,c){var h=d.x-c.x;d=d.y-c.y;return new mxPoint(h*b-d*a+c.x,d*b+h*a+c.y)};e.rotatedGeometry=function(d,b,a,c){b=b*Math.PI/180;var h=Math.cos(b);b=Math.sin(b);var m=d.getCenterX()-a,e=d.getCenterY()-c;d.x=Math.round(m*h-e*b+a-d.width/2);d.y=Math.round(e*h+m*b+c-d.height/2)};return e}();f.CHARSET_FOR_URL_ENCODING="ISO-8859-1";e.Utils=f;f.__class="com.mxgraph.online.Utils"})(e.online||(e.online={}))})(e.mxgraph||
(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(b){function a(a,f,d,e){a=b.call(this,a,f,d)||this;a.a=e;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a){var c=b.getHeight(),f=b.getWidth(),d=Math.floor(Math.round(b.getLastX()*f)/100),g=Math.floor(Math.round(b.getLastY()*c)/100),q=this.x*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),n=this.y*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),n=c-n,p=this.a*
-e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),d=Math.abs(q-d),g=Math.abs(n-g),d=g=.5*p+(d*d+g*g)/(8*p),B=Math.abs(g),g=Math.round(100*g/f*100)/100,d=Math.round(100*d/c*100)/100,q=Math.round(100*q/f*100)/100,n=Math.round(100*n/c*100)/100,p=Math.round(100*p)/100,g=Math.abs(g),d=Math.abs(d),c=0>p?"1":"0",p=B<Math.abs(p)?"1":"0";b.setLastX(q);b.setLastY(n);return'<arc rx="'+(new String(g)).toString()+'" ry="'+(new String(d)).toString()+'" x="'+(new String(q)).toString()+'" y="'+(new String(n)).toString()+
-'" x-axis-rotation="0" large-arc-flag="'+p+'" sweep-flag="'+c+'"/>'}return""};return a}(e.mxgraph.io.vsdx.geometry.Row);g.ArcTo=d;d.__class="com.mxgraph.io.vsdx.geometry.ArcTo"})(g.geometry||(g.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(b){function a(a){return b.call(this,a,null,null)||this}__extends(a,b);a.prototype.handle=function(a,b){return""};return a}(e.mxgraph.io.vsdx.geometry.Row);g.DelRow=d;d.__class="com.mxgraph.io.vsdx.geometry.DelRow"})(g.geometry||(g.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(b){function a(a,f,d,e,g,w,q){a=b.call(this,a,f,d)||this;a.a=e;a.b=g;a.c=w;a.d=q;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b&&null!=this.c&&null!=this.d){var c=b.getHeight(),f=b.getWidth(),d=this.x*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),g=this.y*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),g=c-g,q=this.a*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),
-n=this.b*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),n=c-n,p=this.c*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),B=this.d*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),q=Math.abs(q-d),n=Math.abs(n-g),n=Math.sqrt(q*q+n*n),p=Math.abs(p-d),B=Math.abs(c-B-g),d=100*d/f,B=Math.round(100*Math.sqrt(p*p+B*B)/c/2*100)/100,f=Math.round(100*n/f/2*100)/100,p=Math.round(100*(d-2*f))/100,d=Math.round(100*(d+2*f))/100,c=Math.round(100*g/c*100)/100;return'<move x="'+(new String(p)).toString()+
-'" y="'+(new String(c)).toString()+'"/><arc rx="'+(new String(f)).toString()+'" ry="'+(new String(B)).toString()+'" x="'+(new String(d)).toString()+'" y="'+(new String(c)).toString()+'" x-axis-rotation="0" large-arc-flag="1" sweep-flag="0"/><arc rx="'+(new String(f)).toString()+'" ry="'+(new String(B)).toString()+'" x="'+(new String(p)).toString()+'" y="'+(new String(c)).toString()+'" x-axis-rotation="0" large-arc-flag="1" sweep-flag="0"/>'}return""};return a}(e.mxgraph.io.vsdx.geometry.Row);g.Ellipse=
-d;d.__class="com.mxgraph.io.vsdx.geometry.Ellipse"})(g.geometry||(g.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(b){function a(a,f,d,e,g,w,q){a=b.call(this,a,f,d)||this;a.a=e;a.b=g;a.c=w;a.d=q;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b&&null!=this.c&&null!=this.d){var c=b.getHeight(),f=b.getWidth(),d=this.x*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),g=this.y*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),g=c-g,q=this.a*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),
-n=this.b*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),p=this.c,B=this.d,d=100*d/f,g=100*g/c,E=b.getLastX()*f/100,D=b.getLastY()*c/100,K=d*f/100,S=g*c/100,I=c-n,Z=-p,p=Math.sqrt(E*E+D*D)*Math.cos(Math.atan2(D,E)-Z),n=Math.sqrt(E*E+D*D)*Math.sin(Math.atan2(D,E)-Z),T=Math.sqrt(K*K+S*S)*Math.cos(Math.atan2(S,K)-Z),R=Math.sqrt(K*K+S*S)*Math.sin(Math.atan2(S,K)-Z),aa=Math.sqrt(q*q+I*I)*Math.cos(Math.atan2(I,q)-Z),ka=Math.sqrt(q*q+I*I)*Math.sin(Math.atan2(I,q)-Z),ea=((p-T)*(p+T)*(R-ka)-(T-aa)*(T+
-aa)*(n-R)+B*B*(n-R)*(R-ka)*(n-ka))/(2*((p-T)*(R-ka)-(T-aa)*(n-R))),ia=((p-T)*(T-aa)*(p-aa)/(B*B)+(T-aa)*(n-R)*(n+R)-(p-T)*(R-ka)*(R+ka))/(2*((T-aa)*(n-R)-(p-T)*(R-ka))),va=p-ea,Y=n-ia,va=Math.sqrt(va*va+Y*Y*B*B),B=va/B,Z=180*Z/Math.PI,d=Math.round(100*d)/100,g=Math.round(100*g)/100,va=Math.round(100*va/f*100)/100,B=Math.round(100*B/c*100)/100,Z=Math.round(100*Z)/100,c=0<(K-E)*(I-D)-(S-D)*(q-E)?"0":"1",f="0";e.mxgraph.io.vsdx.mxVsdxUtils.isInsideTriangle(ea,ia,p,n,T,R,aa,ka)&&(f="1");b.setLastX(d);
-b.setLastY(g);return'<arc rx="'+(new String(va)).toString()+'" ry="'+(new String(B)).toString()+'" x="'+(new String(d)).toString()+'" y="'+(new String(g)).toString()+'" x-axis-rotation="'+(new String(Z)).toString()+'" large-arc-flag="'+f+'" sweep-flag="'+c+'"/>'}return""};a.prototype.isReflexAngle=function(a,b,d,e,g,w,q,n){d-=a;e-=b;w-=b;g=q-a;n-=b;b=a=0;d=180*(Math.atan2(e,d)-Math.atan2(b,a))/Math.PI;g=180*(Math.atan2(w,g)-Math.atan2(b,a))/Math.PI;a=180*(Math.atan2(n,q)-Math.atan2(b,a))/Math.PI;
-d=(d-a)%360;g=(g-a)%360;180<d?d-=360:-180>d&&(d+=360);180<g?g-=360:-180>g&&(g+=360);return(0<d&&0>g||0>d&&0<g)&&180<Math.abs(d-g)?!0:!1};return a}(e.mxgraph.io.vsdx.geometry.Row);g.EllipticalArcTo=d;d.__class="com.mxgraph.io.vsdx.geometry.EllipticalArcTo"})(g.geometry||(g.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(b){function a(a,f,d,e,g){a=b.call(this,a,f,d)||this;a.a=e;a.b=g;return a}__extends(a,b);a.prototype.handle=function(a,b){return""};return a}(e.mxgraph.io.vsdx.geometry.Row);g.InfiniteLine=d;d.__class="com.mxgraph.io.vsdx.geometry.InfiniteLine"})(g.geometry||(g.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(b){function a(a,f,d){return b.call(this,a,f,d)||this}__extends(a,b);a.prototype.handle=function(a,b){var c=a.x,f=a.y,d=b.getHeight(),g=b.getWidth();null!=this.x&&null!=this.y&&(c=this.x*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),f=this.y*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$());c=Math.round(100*c/g*100)/100;f=Math.round(100*(100-100*f/d))/100;a.x=c;a.y=f;b.setLastX(c);b.setLastY(f);return'<line x="'+
-(new String(c)).toString()+'" y="'+(new String(f)).toString()+'"/>'};return a}(e.mxgraph.io.vsdx.geometry.Row);g.LineTo=d;d.__class="com.mxgraph.io.vsdx.geometry.LineTo"})(g.geometry||(g.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(b){function a(a,f,d){return b.call(this,a,f,d)||this}__extends(a,b);a.prototype.handle=function(a,b){var c=a.x,f=a.y,d=b.getHeight(),g=b.getWidth();null!=this.x&&null!=this.y&&(c=this.x*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),f=this.y*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$());c=Math.round(100*c/g*100)/100;f=Math.round(100*(100-100*f/d))/100;a.x=c;a.y=f;b.setLastX(c);b.setLastY(f);b.setLastMoveX(c);
-b.setLastMoveY(f);return'<move x="'+(new String(c)).toString()+'" y="'+(new String(f)).toString()+'"/>'};return a}(e.mxgraph.io.vsdx.geometry.Row);g.MoveTo=d;d.__class="com.mxgraph.io.vsdx.geometry.MoveTo"})(g.geometry||(g.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(b){function a(a,f,d,e,g,w,q,n){a=b.call(this,a,f,d)||this;a.a=e;a.b=g;a.c=w;a.d=q;a.formulaE=n;return a}__extends(a,b);a.prototype.handle=function(b,f){if(null!=this.x&&null!=this.y&&null!=this.formulaE){var c=f.getHeight(),d=f.getWidth(),g=this.x*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),w=this.y*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),q=this.formulaE.split("NURBS(").join(""),q=q.split(")").join(""),
-q=new a.Nurbs(this,q,d,c);if(2<=q.getSize()){var n=q.getX(0),p=q.getY(0),B=q.getX(1),E=q.getY(1),g=Math.round(100*g/d*100)/100,w=Math.round(100*(100-100*w/c))/100,n=Math.round(100*n)/100,p=Math.round(100*p)/100,B=Math.round(100*B)/100,E=Math.round(100*E)/100;f.setLastX(g);f.setLastY(w);if(3===q.getDegree()&&q.isOrderedByThree(this.getA())){c=[];d=[];n=[];B=q.getSize();for(p=0;p<B-1;p+=3)c.push(new mxPoint(q.getX(p),q.getY(p))),d.push(new mxPoint(q.getX(p+1),q.getY(p+1))),p<B-2?n.push(new mxPoint(q.getX(p+
-2),q.getY(p+2))):n.push(new mxPoint(g,w));g="";for(p=0;p<c.length;p++)g+='<curve x1="'+c[p].x+'" y1="'+c[p].y+'" x2="'+d[p].x+'" y2="'+d[p].y+'" x3="'+n[p].x+'" y3="'+n[p].y+'"/>\n';return g}return'<curve x1="'+(new String(n)).toString()+'" y1="'+(new String(p)).toString()+'" x2="'+(new String(B)).toString()+'" y2="'+(new String(E)).toString()+'" x3="'+(new String(g)).toString()+'" y3="'+(new String(w)).toString()+'"/>'}}return""};return a}(e.mxgraph.io.vsdx.geometry.Row);g.NURBSTo=d;d.__class="com.mxgraph.io.vsdx.geometry.NURBSTo";
-(function(b){var a=function(){function a(a,b,c,d){this.__parent=a;this.nurbsValues=[];a=b.split(/\s*,\s*/).slice(0);for(b=0;b<a.length;b++)3<b&&0===b%4?this.nurbsValues.push(100*parseFloat(a[b])):3<b&&1===b%4?this.nurbsValues.push(100-100*parseFloat(a[b])):this.nurbsValues.push(parseFloat(a[b]))}a.prototype.isOrderedByThree=function(a){for(var b=0;b+2<this.getSize();b+=3){var c=Math.round(100*this.getKnot(b))/100,f=Math.round(100*this.getKnot(b+1))/100,d=Math.round(100*this.getKnot(b+2))/100;if(c!==
-f||c!==d||f!==d)return!1}b=Math.round(10*this.getKnot(this.getSize()-2))/10;c=Math.round(10*this.getKnot(this.getSize()-1))/10;a=Math.round(10*a)/10;return b!==c||b!==a||c!==a?!1:!0};a.prototype.getSize=function(){return(this.nurbsValues.length/4|0)-1};a.prototype.getKnotLast=function(){return this.nurbsValues[0]};a.prototype.getDegree=function(){return this.nurbsValues[1]};a.prototype.getXType=function(){return this.nurbsValues[2]};a.prototype.getYType=function(){return this.nurbsValues[3]};a.prototype.getX=
-function(a){return this.nurbsValues[4*(a+1)]};a.prototype.getY=function(a){return this.nurbsValues[4*(a+1)+1]};a.prototype.getKnot=function(a){return this.nurbsValues[4*(a+1)+2]};a.prototype.getWeight=function(a){return this.nurbsValues[4*(a+1)+3]};return a}();b.Nurbs=a;a.__class="com.mxgraph.io.vsdx.geometry.NURBSTo.Nurbs"})(d=g.NURBSTo||(g.NURBSTo={}))})(g.geometry||(g.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(b){function a(a,f,d,e){a=b.call(this,a,f,d)||this;a.formulaA=e;return a}__extends(a,b);a.prototype.handle=function(a,b){var c="";if(null!=this.x&&null!=this.y&&null!=this.formulaA){var f=b.getHeight(),d=b.getWidth(),g=this.x*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),q=this.y*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),g=Math.round(100*g/d*100)/100,q=Math.round(100*(100-100*q/f))/100,n=this.formulaA.replace(RegExp("\\s",
-"g"),"").toLowerCase().replace(RegExp("polyline\\(","g"),"").replace(RegExp("\\)","g"),""),p;p=n&&n.equals?n.equals("inh"):"inh"===n;if(p)throw Object.defineProperty(Error(),"__classes",{configurable:!0,value:["java.lang.Throwable","java.lang.Object","java.lang.RuntimeException","java.lang.IllegalArgumentException","java.lang.Exception"]});n=n.split(",").slice(0).slice(0);p=parseFloat(n.splice(0,1));parseFloat(n.splice(0,1));for(var B,E;0<n.length;)B=parseFloat(n.splice(0,1))*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),
-E=parseFloat(n.splice(0,1))*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),1===p&&(B=100*B/d),1===p&&(E=100*E/f),E=100-E,B=Math.round(100*B)/100,E=Math.round(100*E)/100,b.setLastX(B),b.setLastY(E),c+='<line x="'+(new String(B)).toString()+'" y="'+(new String(E)).toString()+'"/>';c+='<line x="'+(new String(g)).toString()+'" y="'+(new String(q)).toString()+'"/>';b.getLastMoveX()===g&&b.getLastMoveY()===q&&(c+="<close/>")}return c};return a}(e.mxgraph.io.vsdx.geometry.Row);g.PolylineTo=d;d.__class=
-"com.mxgraph.io.vsdx.geometry.PolylineTo"})(g.geometry||(g.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(b){function a(a,f,d,e,g,w,q){a=b.call(this,a,f,d)||this;a.a=e;a.b=g;a.c=w;a.d=q;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b&&null!=this.c&&null!=this.d){var c=100*this.x,f=100-100*this.y,d=100*this.a,e=100-100*this.b,g=100*this.c,q=100-100*this.d,c=Math.round(100*c)/100,f=Math.round(100*f)/100,d=Math.round(100*d)/100,e=Math.round(100*e)/100,g=Math.round(100*
-g)/100,q=Math.round(100*q)/100;b.setLastX(c);b.setLastY(f);return'<curve x1="'+(new String(d)).toString()+'" y1="'+(new String(e)).toString()+'" x2="'+(new String(g)).toString()+'" y2="'+(new String(q)).toString()+'" x3="'+(new String(c)).toString()+'" y3="'+(new String(f)).toString()+'"/>'}return""};return a}(e.mxgraph.io.vsdx.geometry.Row);g.RelCubBezTo=d;d.__class="com.mxgraph.io.vsdx.geometry.RelCubBezTo"})(g.geometry||(g.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph=
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(b){function a(a,h,d,e){a=b.call(this,a,h,d)||this;a.a=e;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a){var c=b.getHeight(),h=b.getWidth(),d=Math.floor(Math.round(b.getLastX()*h)/100),f=Math.floor(Math.round(b.getLastY()*c)/100),q=this.x*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),n=this.y*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),n=c-n,p=this.a*
+e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),d=Math.abs(q-d),f=Math.abs(n-f),d=f=.5*p+(d*d+f*f)/(8*p),C=Math.abs(f),f=Math.round(100*f/h*100)/100,d=Math.round(100*d/c*100)/100,q=Math.round(100*q/h*100)/100,n=Math.round(100*n/c*100)/100,p=Math.round(100*p)/100,f=Math.abs(f),d=Math.abs(d),c=0>p?"1":"0",p=C<Math.abs(p)?"1":"0";b.setLastX(q);b.setLastY(n);return'<arc rx="'+(new String(f)).toString()+'" ry="'+(new String(d)).toString()+'" x="'+(new String(q)).toString()+'" y="'+(new String(n)).toString()+
+'" x-axis-rotation="0" large-arc-flag="'+p+'" sweep-flag="'+c+'"/>'}return""};return a}(e.mxgraph.io.vsdx.geometry.Row);f.ArcTo=d;d.__class="com.mxgraph.io.vsdx.geometry.ArcTo"})(f.geometry||(f.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(b){function a(a){return b.call(this,a,null,null)||this}__extends(a,b);a.prototype.handle=function(a,b){return""};return a}(e.mxgraph.io.vsdx.geometry.Row);f.DelRow=d;d.__class="com.mxgraph.io.vsdx.geometry.DelRow"})(f.geometry||(f.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(b){function a(a,h,d,e,f,w,q){a=b.call(this,a,h,d)||this;a.a=e;a.b=f;a.c=w;a.d=q;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b&&null!=this.c&&null!=this.d){var c=b.getHeight(),h=b.getWidth(),d=this.x*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),f=this.y*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),f=c-f,q=this.a*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),
+n=this.b*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),n=c-n,p=this.c*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),C=this.d*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),q=Math.abs(q-d),n=Math.abs(n-f),n=Math.sqrt(q*q+n*n),p=Math.abs(p-d),C=Math.abs(c-C-f),d=100*d/h,C=Math.round(100*Math.sqrt(p*p+C*C)/c/2*100)/100,h=Math.round(100*n/h/2*100)/100,p=Math.round(100*(d-2*h))/100,d=Math.round(100*(d+2*h))/100,c=Math.round(100*f/c*100)/100;return'<move x="'+(new String(p)).toString()+
+'" y="'+(new String(c)).toString()+'"/><arc rx="'+(new String(h)).toString()+'" ry="'+(new String(C)).toString()+'" x="'+(new String(d)).toString()+'" y="'+(new String(c)).toString()+'" x-axis-rotation="0" large-arc-flag="1" sweep-flag="0"/><arc rx="'+(new String(h)).toString()+'" ry="'+(new String(C)).toString()+'" x="'+(new String(p)).toString()+'" y="'+(new String(c)).toString()+'" x-axis-rotation="0" large-arc-flag="1" sweep-flag="0"/>'}return""};return a}(e.mxgraph.io.vsdx.geometry.Row);f.Ellipse=
+d;d.__class="com.mxgraph.io.vsdx.geometry.Ellipse"})(f.geometry||(f.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(b){function a(a,h,d,e,f,w,q){a=b.call(this,a,h,d)||this;a.a=e;a.b=f;a.c=w;a.d=q;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b&&null!=this.c&&null!=this.d){var c=b.getHeight(),h=b.getWidth(),d=this.x*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),f=this.y*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),f=c-f,q=this.a*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),
+n=this.b*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),p=this.c,C=this.d,d=100*d/h,f=100*f/c,E=b.getLastX()*h/100,D=b.getLastY()*c/100,K=d*h/100,S=f*c/100,I=c-n,Z=-p,p=Math.sqrt(E*E+D*D)*Math.cos(Math.atan2(D,E)-Z),n=Math.sqrt(E*E+D*D)*Math.sin(Math.atan2(D,E)-Z),T=Math.sqrt(K*K+S*S)*Math.cos(Math.atan2(S,K)-Z),R=Math.sqrt(K*K+S*S)*Math.sin(Math.atan2(S,K)-Z),aa=Math.sqrt(q*q+I*I)*Math.cos(Math.atan2(I,q)-Z),la=Math.sqrt(q*q+I*I)*Math.sin(Math.atan2(I,q)-Z),ea=((p-T)*(p+T)*(R-la)-(T-aa)*(T+
+aa)*(n-R)+C*C*(n-R)*(R-la)*(n-la))/(2*((p-T)*(R-la)-(T-aa)*(n-R))),ja=((p-T)*(T-aa)*(p-aa)/(C*C)+(T-aa)*(n-R)*(n+R)-(p-T)*(R-la)*(R+la))/(2*((T-aa)*(n-R)-(p-T)*(R-la))),ta=p-ea,W=n-ja,ta=Math.sqrt(ta*ta+W*W*C*C),C=ta/C,Z=180*Z/Math.PI,d=Math.round(100*d)/100,f=Math.round(100*f)/100,ta=Math.round(100*ta/h*100)/100,C=Math.round(100*C/c*100)/100,Z=Math.round(100*Z)/100,c=0<(K-E)*(I-D)-(S-D)*(q-E)?"0":"1",h="0";e.mxgraph.io.vsdx.mxVsdxUtils.isInsideTriangle(ea,ja,p,n,T,R,aa,la)&&(h="1");b.setLastX(d);
+b.setLastY(f);return'<arc rx="'+(new String(ta)).toString()+'" ry="'+(new String(C)).toString()+'" x="'+(new String(d)).toString()+'" y="'+(new String(f)).toString()+'" x-axis-rotation="'+(new String(Z)).toString()+'" large-arc-flag="'+h+'" sweep-flag="'+c+'"/>'}return""};a.prototype.isReflexAngle=function(a,b,d,e,f,w,q,n){d-=a;e-=b;w-=b;f=q-a;n-=b;b=a=0;d=180*(Math.atan2(e,d)-Math.atan2(b,a))/Math.PI;f=180*(Math.atan2(w,f)-Math.atan2(b,a))/Math.PI;a=180*(Math.atan2(n,q)-Math.atan2(b,a))/Math.PI;
+d=(d-a)%360;f=(f-a)%360;180<d?d-=360:-180>d&&(d+=360);180<f?f-=360:-180>f&&(f+=360);return(0<d&&0>f||0>d&&0<f)&&180<Math.abs(d-f)?!0:!1};return a}(e.mxgraph.io.vsdx.geometry.Row);f.EllipticalArcTo=d;d.__class="com.mxgraph.io.vsdx.geometry.EllipticalArcTo"})(f.geometry||(f.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(b){function a(a,h,d,e,f){a=b.call(this,a,h,d)||this;a.a=e;a.b=f;return a}__extends(a,b);a.prototype.handle=function(a,b){return""};return a}(e.mxgraph.io.vsdx.geometry.Row);f.InfiniteLine=d;d.__class="com.mxgraph.io.vsdx.geometry.InfiniteLine"})(f.geometry||(f.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(b){function a(a,h,d){return b.call(this,a,h,d)||this}__extends(a,b);a.prototype.handle=function(a,b){var c=a.x,h=a.y,d=b.getHeight(),f=b.getWidth();null!=this.x&&null!=this.y&&(c=this.x*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),h=this.y*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$());c=Math.round(100*c/f*100)/100;h=Math.round(100*(100-100*h/d))/100;a.x=c;a.y=h;b.setLastX(c);b.setLastY(h);return'<line x="'+
+(new String(c)).toString()+'" y="'+(new String(h)).toString()+'"/>'};return a}(e.mxgraph.io.vsdx.geometry.Row);f.LineTo=d;d.__class="com.mxgraph.io.vsdx.geometry.LineTo"})(f.geometry||(f.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(b){function a(a,h,d){return b.call(this,a,h,d)||this}__extends(a,b);a.prototype.handle=function(a,b){var c=a.x,h=a.y,d=b.getHeight(),f=b.getWidth();null!=this.x&&null!=this.y&&(c=this.x*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),h=this.y*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$());c=Math.round(100*c/f*100)/100;h=Math.round(100*(100-100*h/d))/100;a.x=c;a.y=h;b.setLastX(c);b.setLastY(h);b.setLastMoveX(c);
+b.setLastMoveY(h);return'<move x="'+(new String(c)).toString()+'" y="'+(new String(h)).toString()+'"/>'};return a}(e.mxgraph.io.vsdx.geometry.Row);f.MoveTo=d;d.__class="com.mxgraph.io.vsdx.geometry.MoveTo"})(f.geometry||(f.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(b){function a(a,h,d,e,f,w,q,n){a=b.call(this,a,h,d)||this;a.a=e;a.b=f;a.c=w;a.d=q;a.formulaE=n;return a}__extends(a,b);a.prototype.handle=function(b,h){if(null!=this.x&&null!=this.y&&null!=this.formulaE){var c=h.getHeight(),d=h.getWidth(),f=this.x*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),w=this.y*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),q=this.formulaE.split("NURBS(").join(""),q=q.split(")").join(""),
+q=new a.Nurbs(this,q,d,c);if(2<=q.getSize()){var n=q.getX(0),p=q.getY(0),C=q.getX(1),E=q.getY(1),f=Math.round(100*f/d*100)/100,w=Math.round(100*(100-100*w/c))/100,n=Math.round(100*n)/100,p=Math.round(100*p)/100,C=Math.round(100*C)/100,E=Math.round(100*E)/100;h.setLastX(f);h.setLastY(w);if(3===q.getDegree()&&q.isOrderedByThree(this.getA())){c=[];d=[];n=[];C=q.getSize();for(p=0;p<C-1;p+=3)c.push(new mxPoint(q.getX(p),q.getY(p))),d.push(new mxPoint(q.getX(p+1),q.getY(p+1))),p<C-2?n.push(new mxPoint(q.getX(p+
+2),q.getY(p+2))):n.push(new mxPoint(f,w));f="";for(p=0;p<c.length;p++)f+='<curve x1="'+c[p].x+'" y1="'+c[p].y+'" x2="'+d[p].x+'" y2="'+d[p].y+'" x3="'+n[p].x+'" y3="'+n[p].y+'"/>\n';return f}return'<curve x1="'+(new String(n)).toString()+'" y1="'+(new String(p)).toString()+'" x2="'+(new String(C)).toString()+'" y2="'+(new String(E)).toString()+'" x3="'+(new String(f)).toString()+'" y3="'+(new String(w)).toString()+'"/>'}}return""};return a}(e.mxgraph.io.vsdx.geometry.Row);f.NURBSTo=d;d.__class="com.mxgraph.io.vsdx.geometry.NURBSTo";
+(function(b){var a=function(){function a(a,b,c,d){this.__parent=a;this.nurbsValues=[];a=b.split(/\s*,\s*/).slice(0);for(b=0;b<a.length;b++)3<b&&0===b%4?this.nurbsValues.push(100*parseFloat(a[b])):3<b&&1===b%4?this.nurbsValues.push(100-100*parseFloat(a[b])):this.nurbsValues.push(parseFloat(a[b]))}a.prototype.isOrderedByThree=function(a){for(var b=0;b+2<this.getSize();b+=3){var c=Math.round(100*this.getKnot(b))/100,h=Math.round(100*this.getKnot(b+1))/100,d=Math.round(100*this.getKnot(b+2))/100;if(c!==
+h||c!==d||h!==d)return!1}b=Math.round(10*this.getKnot(this.getSize()-2))/10;c=Math.round(10*this.getKnot(this.getSize()-1))/10;a=Math.round(10*a)/10;return b!==c||b!==a||c!==a?!1:!0};a.prototype.getSize=function(){return(this.nurbsValues.length/4|0)-1};a.prototype.getKnotLast=function(){return this.nurbsValues[0]};a.prototype.getDegree=function(){return this.nurbsValues[1]};a.prototype.getXType=function(){return this.nurbsValues[2]};a.prototype.getYType=function(){return this.nurbsValues[3]};a.prototype.getX=
+function(a){return this.nurbsValues[4*(a+1)]};a.prototype.getY=function(a){return this.nurbsValues[4*(a+1)+1]};a.prototype.getKnot=function(a){return this.nurbsValues[4*(a+1)+2]};a.prototype.getWeight=function(a){return this.nurbsValues[4*(a+1)+3]};return a}();b.Nurbs=a;a.__class="com.mxgraph.io.vsdx.geometry.NURBSTo.Nurbs"})(d=f.NURBSTo||(f.NURBSTo={}))})(f.geometry||(f.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(b){function a(a,h,d,e){a=b.call(this,a,h,d)||this;a.formulaA=e;return a}__extends(a,b);a.prototype.handle=function(a,b){var c="";if(null!=this.x&&null!=this.y&&null!=this.formulaA){var h=b.getHeight(),d=b.getWidth(),f=this.x*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),q=this.y*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),f=Math.round(100*f/d*100)/100,q=Math.round(100*(100-100*q/h))/100,n=this.formulaA.replace(RegExp("\\s",
+"g"),"").toLowerCase().replace(RegExp("polyline\\(","g"),"").replace(RegExp("\\)","g"),""),p;p=n&&n.equals?n.equals("inh"):"inh"===n;if(p)throw Object.defineProperty(Error(),"__classes",{configurable:!0,value:["java.lang.Throwable","java.lang.Object","java.lang.RuntimeException","java.lang.IllegalArgumentException","java.lang.Exception"]});n=n.split(",").slice(0).slice(0);p=parseFloat(n.splice(0,1));parseFloat(n.splice(0,1));for(var C,E;0<n.length;)C=parseFloat(n.splice(0,1))*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),
+E=parseFloat(n.splice(0,1))*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),1===p&&(C=100*C/d),1===p&&(E=100*E/h),E=100-E,C=Math.round(100*C)/100,E=Math.round(100*E)/100,b.setLastX(C),b.setLastY(E),c+='<line x="'+(new String(C)).toString()+'" y="'+(new String(E)).toString()+'"/>';c+='<line x="'+(new String(f)).toString()+'" y="'+(new String(q)).toString()+'"/>';b.getLastMoveX()===f&&b.getLastMoveY()===q&&(c+="<close/>")}return c};return a}(e.mxgraph.io.vsdx.geometry.Row);f.PolylineTo=d;d.__class=
+"com.mxgraph.io.vsdx.geometry.PolylineTo"})(f.geometry||(f.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(b){function a(a,h,d,e,f,w,q){a=b.call(this,a,h,d)||this;a.a=e;a.b=f;a.c=w;a.d=q;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b&&null!=this.c&&null!=this.d){var c=100*this.x,h=100-100*this.y,d=100*this.a,e=100-100*this.b,f=100*this.c,q=100-100*this.d,c=Math.round(100*c)/100,h=Math.round(100*h)/100,d=Math.round(100*d)/100,e=Math.round(100*e)/100,f=Math.round(100*
+f)/100,q=Math.round(100*q)/100;b.setLastX(c);b.setLastY(h);return'<curve x1="'+(new String(d)).toString()+'" y1="'+(new String(e)).toString()+'" x2="'+(new String(f)).toString()+'" y2="'+(new String(q)).toString()+'" x3="'+(new String(c)).toString()+'" y3="'+(new String(h)).toString()+'"/>'}return""};return a}(e.mxgraph.io.vsdx.geometry.Row);f.RelCubBezTo=d;d.__class="com.mxgraph.io.vsdx.geometry.RelCubBezTo"})(f.geometry||(f.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph=
{}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(b){function a(a,f,d){return b.call(this,a,f,d)||this}__extends(a,b);a.prototype.handle=function(a,b){var c=a.x,f=a.y;null!=this.x&&null!=this.y&&(c=100*this.x,f=100-100*this.y);c=Math.round(100*c)/100;f=Math.round(100*f)/100;a.x=c;a.y=f;b.setLastX(c);b.setLastY(f);return'<line x="'+(new String(c)).toString()+'" y="'+(new String(f)).toString()+'"/>'};return a}(e.mxgraph.io.vsdx.geometry.Row);g.RelLineTo=d;d.__class="com.mxgraph.io.vsdx.geometry.RelLineTo"})(g.geometry||
-(g.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(b){function a(a,f,d){return b.call(this,a,f,d)||this}__extends(a,b);a.prototype.handle=function(a,b){var c=a.x,f=a.y;null!=this.x&&null!=this.y&&(c=100*this.x,f=100-100*this.y);c=Math.round(100*c)/100;f=Math.round(100*f)/100;a.x=c;a.y=f;b.setLastX(c);b.setLastY(f);b.setLastMoveX(c);b.setLastMoveY(f);return'<move x="'+(new String(c)).toString()+'" y="'+(new String(f)).toString()+'"/>'};return a}(e.mxgraph.io.vsdx.geometry.Row);
-g.RelMoveTo=d;d.__class="com.mxgraph.io.vsdx.geometry.RelMoveTo"})(g.geometry||(g.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(b){function a(a,f,d,e,g){a=b.call(this,a,f,d)||this;a.a=e;a.b=g;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b){var c=100*this.x,f=100-100*this.y,d=100*this.a,e=100-100*this.b,c=Math.round(100*c)/100,f=Math.round(100*f)/100,d=Math.round(100*d)/100,e=Math.round(100*e)/100;b.setLastX(c);b.setLastY(f);return'<quad x1="'+(new String(d)).toString()+'" y1="'+
-(new String(e)).toString()+'" x2="'+(new String(c)).toString()+'" y2="'+(new String(f)).toString()+'"/>'}return""};return a}(e.mxgraph.io.vsdx.geometry.Row);g.RelQuadBezTo=d;d.__class="com.mxgraph.io.vsdx.geometry.RelQuadBezTo"})(g.geometry||(g.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(b){function a(a,f,d,e){a=b.call(this,a,f,d)||this;a.a=e;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a){var c=this.x*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),f=this.y*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),c=Math.round(100*c)/100,f=Math.round(100*(100-f))/100;b.setLastX(c);b.setLastY(f)}return""};return a}(e.mxgraph.io.vsdx.geometry.Row);
-g.SplineKnot=d;d.__class="com.mxgraph.io.vsdx.geometry.SplineKnot"})(g.geometry||(g.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(b){function a(a,f,d,e,g,w,q){a=b.call(this,a,f,d)||this;a.a=e;a.b=g;a.c=w;a.d=q;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b&&null!=this.c&&null!=this.d){b.getHeight();b.getWidth();var c=this.x*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),f=this.y*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$();b.setLastKnot(this.c);c=Math.round(100*c)/
-100;f=Math.round(100*(100-f))/100;b.getLastX();b.getLastY();b.setLastX(c);b.setLastY(f);return"<curve "}return""};return a}(e.mxgraph.io.vsdx.geometry.Row);g.SplineStart=d;d.__class="com.mxgraph.io.vsdx.geometry.SplineStart"})(g.geometry||(g.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){var q=function(){function d(b,a){this.cellElements={};this.sections={};this.styleParents={};this.style=this.pm=this.Id=this.shape=null;this.shape=b;this.pm=a.getPropertiesManager();var c=b.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.ID);try{this.Id=null!=c&&0!==c.length?parseFloat(c):-1}catch(f){this.Id=-1}this.cacheCells(a);this.stylesheetRefs(a)}d.__static_initialize=function(){d.__static_initialized||(d.__static_initialized=!0,d.__static_initializer_0(),
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(b){function a(a,h,d){return b.call(this,a,h,d)||this}__extends(a,b);a.prototype.handle=function(a,b){var c=a.x,h=a.y;null!=this.x&&null!=this.y&&(c=100*this.x,h=100-100*this.y);c=Math.round(100*c)/100;h=Math.round(100*h)/100;a.x=c;a.y=h;b.setLastX(c);b.setLastY(h);return'<line x="'+(new String(c)).toString()+'" y="'+(new String(h)).toString()+'"/>'};return a}(e.mxgraph.io.vsdx.geometry.Row);f.RelLineTo=d;d.__class="com.mxgraph.io.vsdx.geometry.RelLineTo"})(f.geometry||
+(f.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(b){function a(a,h,d){return b.call(this,a,h,d)||this}__extends(a,b);a.prototype.handle=function(a,b){var c=a.x,h=a.y;null!=this.x&&null!=this.y&&(c=100*this.x,h=100-100*this.y);c=Math.round(100*c)/100;h=Math.round(100*h)/100;a.x=c;a.y=h;b.setLastX(c);b.setLastY(h);b.setLastMoveX(c);b.setLastMoveY(h);return'<move x="'+(new String(c)).toString()+'" y="'+(new String(h)).toString()+'"/>'};return a}(e.mxgraph.io.vsdx.geometry.Row);
+f.RelMoveTo=d;d.__class="com.mxgraph.io.vsdx.geometry.RelMoveTo"})(f.geometry||(f.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(b){function a(a,h,d,e,f){a=b.call(this,a,h,d)||this;a.a=e;a.b=f;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b){var c=100*this.x,h=100-100*this.y,d=100*this.a,e=100-100*this.b,c=Math.round(100*c)/100,h=Math.round(100*h)/100,d=Math.round(100*d)/100,e=Math.round(100*e)/100;b.setLastX(c);b.setLastY(h);return'<quad x1="'+(new String(d)).toString()+'" y1="'+
+(new String(e)).toString()+'" x2="'+(new String(c)).toString()+'" y2="'+(new String(h)).toString()+'"/>'}return""};return a}(e.mxgraph.io.vsdx.geometry.Row);f.RelQuadBezTo=d;d.__class="com.mxgraph.io.vsdx.geometry.RelQuadBezTo"})(f.geometry||(f.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(b){function a(a,h,d,e){a=b.call(this,a,h,d)||this;a.a=e;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a){var c=this.x*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),h=this.y*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),c=Math.round(100*c)/100,h=Math.round(100*(100-h))/100;b.setLastX(c);b.setLastY(h)}return""};return a}(e.mxgraph.io.vsdx.geometry.Row);
+f.SplineKnot=d;d.__class="com.mxgraph.io.vsdx.geometry.SplineKnot"})(f.geometry||(f.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(b){function a(a,h,d,e,f,w,q){a=b.call(this,a,h,d)||this;a.a=e;a.b=f;a.c=w;a.d=q;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b&&null!=this.c&&null!=this.d){b.getHeight();b.getWidth();var c=this.x*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),h=this.y*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$();b.setLastKnot(this.c);c=Math.round(100*c)/
+100;h=Math.round(100*(100-h))/100;b.getLastX();b.getLastY();b.setLastX(c);b.setLastY(h);return"<curve "}return""};return a}(e.mxgraph.io.vsdx.geometry.Row);f.SplineStart=d;d.__class="com.mxgraph.io.vsdx.geometry.SplineStart"})(f.geometry||(f.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){var q=function(){function d(b,a){this.cellElements={};this.sections={};this.styleParents={};this.style=this.pm=this.Id=this.shape=null;this.shape=b;this.pm=a.getPropertiesManager();var c=b.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.ID);try{this.Id=null!=c&&0!==c.length?parseFloat(c):-1}catch(h){this.Id=-1}this.cacheCells(a);this.stylesheetRefs(a)}d.__static_initialize=function(){d.__static_initialized||(d.__static_initialized=!0,d.__static_initializer_0(),
d.__static_initializer_1())};d.styleTypes_$LI$=function(){d.__static_initialize();null==d.styleTypes&&(d.styleTypes={});return d.styleTypes};d.__static_initializer_0=function(){d.styleTypes_$LI$()[e.mxgraph.io.vsdx.mxVsdxConstants.FILL]=e.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE;d.styleTypes_$LI$()[e.mxgraph.io.vsdx.mxVsdxConstants.FILL_BKGND]=e.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE;d.styleTypes_$LI$()[e.mxgraph.io.vsdx.mxVsdxConstants.FILL_BKGND_TRANS]=e.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE;
d.styleTypes_$LI$()[e.mxgraph.io.vsdx.mxVsdxConstants.FILL_FOREGND]=e.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE;d.styleTypes_$LI$()[e.mxgraph.io.vsdx.mxVsdxConstants.FILL_FOREGND_TRANS]=e.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE;d.styleTypes_$LI$()[e.mxgraph.io.vsdx.mxVsdxConstants.FILL_PATTERN]=e.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE;d.styleTypes_$LI$()[e.mxgraph.io.vsdx.mxVsdxConstants.SHDW_PATTERN]=e.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE;d.styleTypes_$LI$()[e.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE]=
e.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE;d.styleTypes_$LI$().QuickStyleFillColor=e.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE;d.styleTypes_$LI$().QuickStyleFillMatrix=e.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE;d.styleTypes_$LI$()[e.mxgraph.io.vsdx.mxVsdxConstants.BEGIN_ARROW]=e.mxgraph.io.vsdx.mxVsdxConstants.LINE_STYLE;d.styleTypes_$LI$()[e.mxgraph.io.vsdx.mxVsdxConstants.END_ARROW]=e.mxgraph.io.vsdx.mxVsdxConstants.LINE_STYLE;d.styleTypes_$LI$()[e.mxgraph.io.vsdx.mxVsdxConstants.LINE_PATTERN]=
@@ -1375,22 +1377,22 @@ d.styleTypes_$LI$()[e.mxgraph.io.vsdx.mxVsdxConstants.LEFT_MARGIN]=e.mxgraph.io.
e.mxgraph.io.vsdx.mxVsdxConstants.TEXT_STYLE;d.styleTypes_$LI$().QuickStyleFontColor=e.mxgraph.io.vsdx.mxVsdxConstants.TEXT_STYLE;d.styleTypes_$LI$().QuickStyleFontMatrix=e.mxgraph.io.vsdx.mxVsdxConstants.TEXT_STYLE};d.prototype.getTheme=function(){return null};d.prototype.getQuickStyleVals=function(){return null};d.prototype.isVertex=function(){return!1};d.prototype.styleDebug=function(b){d.vsdxStyleDebug&&console.info(b)};d.prototype.stylesheetRefs=function(b){this.styleParents[e.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE]=
b.getStylesheet(this.shape.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE));this.styleParents[e.mxgraph.io.vsdx.mxVsdxConstants.LINE_STYLE]=b.getStylesheet(this.shape.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.LINE_STYLE));this.styleParents[e.mxgraph.io.vsdx.mxVsdxConstants.TEXT_STYLE]=b.getStylesheet(this.shape.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TEXT_STYLE));this.style=b.getStylesheet("0")};d.prototype.cacheCells=function(b){if(null!=this.shape){var a=this.shape.childNodes;
if(null!=a)for(a=a.item(0);null!=a;)null!=a&&1==a.nodeType&&this.parseShapeElem(a,b),a=a.nextSibling}};d.prototype.parseShapeElem=function(b,a){var c=b.nodeName;(function(a,b){return a&&a.equals?a.equals(b):a===b})(c,"Cell")?this.cellElements[b.getAttribute("N")]=b:function(a,b){return a&&a.equals?a.equals(b):a===b}(c,"Section")&&this.parseSection(b)};d.prototype.parseSection=function(b){var a=new e.mxgraph.io.vsdx.Section(b);this.sections[b.getAttribute("N")]=a};d.prototype.hasProperty=function(b,
-a){return this.cellElements.hasOwnProperty(a)};d.prototype.getValue=function(b,a){return null!=b?b.getAttribute("V")||"":a};d.prototype.getValueAsDouble=function(b,a){if(null!=b){var c=b.getAttribute("V");if(null!=c){if(function(a,b){return a&&a.equals?a.equals(b):a===b}(c,"Themed"))return 0;try{var f=parseFloat(c);(function(a,b){return a&&a.equals?a.equals(b):a===b})(b.getAttribute("U"),"PT")&&(f*=e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$());return Math.round(100*f)/100}catch(m){console.error(m.message,
-m)}}}return a};d.prototype.getScreenNumericalValue$org_w3c_dom_Element$double=function(b,a){if(null!=b){var c=b.getAttribute("V");if(null!=c)try{var f=parseFloat(c);return this.getScreenNumericalValue$double(f)}catch(m){console.error(m.message,m)}}return a};d.prototype.getScreenNumericalValue=function(b,a){if((null==b||1!=b.nodeType)&&null!==b||"number"!==typeof a&&null!==a){if("number"!==typeof b&&null!==b||void 0!==a)throw Error("invalid overload");return this.getScreenNumericalValue$double(b)}return this.getScreenNumericalValue$org_w3c_dom_Element$double(b,
-a)};d.prototype.getScreenNumericalValue$double=function(b){return b*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$()};d.prototype.getAttribute=function(b,a,c){var f=this.cellElements;b=f[b]?f[b]:null;null!=b&&(c=b.getAttribute(a)||"");return c};d.prototype.getChildValues=function(b,a){for(var c={},f=b.firstChild;null!=f;){if(null!=f&&1==f.nodeType){var d=f,e,g;((e=d.nodeName)&&e.equals?e.equals("Cell"):"Cell"===e)?(e=d.getAttribute("N")||"",g=d.getAttribute("V")||""):(e=d.nodeName,g=d.textContent);
-if(null!=a){var w=a[e]?a[e]:null;null!=w&&(g=d.getAttribute(w)||"")}c[e]=g}f=f.nextSibling}return c};d.prototype.getCellElement$java_lang_String$java_lang_String$java_lang_String=function(b,a,c){var f=function(a,b){return a[b]?a[b]:null}(this.sections,c),m=null,g=!1;null!=f&&(m=f.getIndexedCell(a,b));if(null!=m){var f=m.getAttribute("F"),q=m.getAttribute("V");if(null!=f&&null!=q)if(function(a,b){return a&&a.equals?a.equals(b):a===b}(f,"Inh")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(q,
-"Themed"))g=!0;else if(function(a,b){return a&&a.equals?a.equals(b):a===b}(f,"THEMEVAL()")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(q,"Themed")&&null!=this.style){if(function(a,b){return a&&a.equals?a.equals(b):a===b}(e.mxgraph.io.vsdx.mxVsdxConstants.COLOR,b))return m;f=this.style.getCellElement$java_lang_String$java_lang_String$java_lang_String(b,a,c);if(null!=f)return f}}if(null==m||g)if(g=function(a,b){return a[b]?a[b]:null}(d.styleTypes_$LI$(),c),g=function(a,b){return a[b]?a[b]:
-null}(this.styleParents,g),null!=g&&(b=g.getCellElement$java_lang_String$java_lang_String$java_lang_String(b,a,c),null!=b))return b;return m};d.prototype.getCellElement=function(b,a,c){if("string"!==typeof b&&null!==b||"string"!==typeof a&&null!==a||"string"!==typeof c&&null!==c){if("string"!==typeof b&&null!==b||void 0!==a||void 0!==c)throw Error("invalid overload");return this.getCellElement$java_lang_String(b)}return this.getCellElement$java_lang_String$java_lang_String$java_lang_String(b,a,c)};
-d.prototype.getCellElement$java_lang_String=function(b){var a=function(a,b){return a[b]?a[b]:null}(this.cellElements,b),c=!1;if(null!=a){var f=a.getAttribute("F"),m=a.getAttribute("V");if(null!=f&&null!=m)if(function(a,b){return a&&a.equals?a.equals(b):a===b}(f,"Inh")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(m,"Themed"))c=!0;else if(-1!=f.indexOf("THEMEVAL()")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(m,"Themed")&&null!=this.style){if(function(a,b){return a&&a.equals?a.equals(b):
+a){return this.cellElements.hasOwnProperty(a)};d.prototype.getValue=function(b,a){return null!=b?b.getAttribute("V")||"":a};d.prototype.getValueAsDouble=function(b,a){if(null!=b){var c=b.getAttribute("V");if(null!=c){if(function(a,b){return a&&a.equals?a.equals(b):a===b}(c,"Themed"))return 0;try{var h=parseFloat(c);(function(a,b){return a&&a.equals?a.equals(b):a===b})(b.getAttribute("U"),"PT")&&(h*=e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$());return Math.round(100*h)/100}catch(m){console.error(m.message,
+m)}}}return a};d.prototype.getScreenNumericalValue$org_w3c_dom_Element$double=function(b,a){if(null!=b){var c=b.getAttribute("V");if(null!=c)try{var h=parseFloat(c);return this.getScreenNumericalValue$double(h)}catch(m){console.error(m.message,m)}}return a};d.prototype.getScreenNumericalValue=function(b,a){if((null==b||1!=b.nodeType)&&null!==b||"number"!==typeof a&&null!==a){if("number"!==typeof b&&null!==b||void 0!==a)throw Error("invalid overload");return this.getScreenNumericalValue$double(b)}return this.getScreenNumericalValue$org_w3c_dom_Element$double(b,
+a)};d.prototype.getScreenNumericalValue$double=function(b){return b*e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$()};d.prototype.getAttribute=function(b,a,c){var h=this.cellElements;b=h[b]?h[b]:null;null!=b&&(c=b.getAttribute(a)||"");return c};d.prototype.getChildValues=function(b,a){for(var c={},h=b.firstChild;null!=h;){if(null!=h&&1==h.nodeType){var d=h,e,f;((e=d.nodeName)&&e.equals?e.equals("Cell"):"Cell"===e)?(e=d.getAttribute("N")||"",f=d.getAttribute("V")||""):(e=d.nodeName,f=d.textContent);
+if(null!=a){var w=a[e]?a[e]:null;null!=w&&(f=d.getAttribute(w)||"")}c[e]=f}h=h.nextSibling}return c};d.prototype.getCellElement$java_lang_String$java_lang_String$java_lang_String=function(b,a,c){var h=function(a,b){return a[b]?a[b]:null}(this.sections,c),m=null,f=!1;null!=h&&(m=h.getIndexedCell(a,b));if(null!=m){var h=m.getAttribute("F"),q=m.getAttribute("V");if(null!=h&&null!=q)if(function(a,b){return a&&a.equals?a.equals(b):a===b}(h,"Inh")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(q,
+"Themed"))f=!0;else if(function(a,b){return a&&a.equals?a.equals(b):a===b}(h,"THEMEVAL()")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(q,"Themed")&&null!=this.style){if(function(a,b){return a&&a.equals?a.equals(b):a===b}(e.mxgraph.io.vsdx.mxVsdxConstants.COLOR,b))return m;h=this.style.getCellElement$java_lang_String$java_lang_String$java_lang_String(b,a,c);if(null!=h)return h}}if(null==m||f)if(f=function(a,b){return a[b]?a[b]:null}(d.styleTypes_$LI$(),c),f=function(a,b){return a[b]?a[b]:
+null}(this.styleParents,f),null!=f&&(b=f.getCellElement$java_lang_String$java_lang_String$java_lang_String(b,a,c),null!=b))return b;return m};d.prototype.getCellElement=function(b,a,c){if("string"!==typeof b&&null!==b||"string"!==typeof a&&null!==a||"string"!==typeof c&&null!==c){if("string"!==typeof b&&null!==b||void 0!==a||void 0!==c)throw Error("invalid overload");return this.getCellElement$java_lang_String(b)}return this.getCellElement$java_lang_String$java_lang_String$java_lang_String(b,a,c)};
+d.prototype.getCellElement$java_lang_String=function(b){var a=function(a,b){return a[b]?a[b]:null}(this.cellElements,b),c=!1;if(null!=a){var h=a.getAttribute("F"),m=a.getAttribute("V");if(null!=h&&null!=m)if(function(a,b){return a&&a.equals?a.equals(b):a===b}(h,"Inh")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(m,"Themed"))c=!0;else if(-1!=h.indexOf("THEMEVAL()")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(m,"Themed")&&null!=this.style){if(function(a,b){return a&&a.equals?a.equals(b):
a===b}("FillForegnd",b)||function(a,b){return a&&a.equals?a.equals(b):a===b}(e.mxgraph.io.vsdx.mxVsdxConstants.LINE_COLOR,b)||function(a,b){return a&&a.equals?a.equals(b):a===b}(e.mxgraph.io.vsdx.mxVsdxConstants.LINE_PATTERN,b)||function(a,b){return a&&a.equals?a.equals(b):a===b}(e.mxgraph.io.vsdx.mxVsdxConstants.BEGIN_ARROW_SIZE,b)||function(a,b){return a&&a.equals?a.equals(b):a===b}(e.mxgraph.io.vsdx.mxVsdxConstants.END_ARROW_SIZE,b)||function(a,b){return a&&a.equals?a.equals(b):a===b}(e.mxgraph.io.vsdx.mxVsdxConstants.BEGIN_ARROW,
-b)||function(a,b){return a&&a.equals?a.equals(b):a===b}(e.mxgraph.io.vsdx.mxVsdxConstants.END_ARROW,b)||function(a,b){return a&&a.equals?a.equals(b):a===b}(e.mxgraph.io.vsdx.mxVsdxConstants.LINE_WEIGHT,b))return a;f=this.style.getCellElement$java_lang_String(b);if(null!=f)return f}}if(null==a||c)if(c=function(a,b){return a[b]?a[b]:null}(d.styleTypes_$LI$(),b),c=function(a,b){return a[b]?a[b]:null}(this.styleParents,c),null!=c&&(b=c.getCellElement$java_lang_String(b),null!=b))return b;return a};d.prototype.getStrokeColor=
+b)||function(a,b){return a&&a.equals?a.equals(b):a===b}(e.mxgraph.io.vsdx.mxVsdxConstants.END_ARROW,b)||function(a,b){return a&&a.equals?a.equals(b):a===b}(e.mxgraph.io.vsdx.mxVsdxConstants.LINE_WEIGHT,b))return a;h=this.style.getCellElement$java_lang_String(b);if(null!=h)return h}}if(null==a||c)if(c=function(a,b){return a[b]?a[b]:null}(d.styleTypes_$LI$(),b),c=function(a,b){return a[b]?a[b]:null}(this.styleParents,c),null!=c&&(b=c.getCellElement$java_lang_String(b),null!=b))return b;return a};d.prototype.getStrokeColor=
function(){var b="";(function(a,b){return a&&a.equals?a.equals(b):a===b})(this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.LINE_PATTERN),"1"),"0")?b="none":(b=this.getColor(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.LINE_COLOR)),function(a,b){return a&&a.equals?a.equals(b):a===b}("Themed",b)&&(b=this.getTheme(),b=null!=b?(this.isVertex()?b.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(this.getQuickStyleVals()):b.getConnLineColor(this.getQuickStyleVals())).toHexStr():
""));return b};d.prototype.getFillColor=function(){if(function(a,b){return a&&a.equals?a.equals(b):a===b}("1",this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.FILL_GRADIENT_ENABLED),"0"))){var b=function(a,b){return a[b]?a[b]:null}(this.sections,"FillGradient");if(null!=b&&(b=this.getColor(b.getIndexedCell("0","GradientStopColor")),null!=b&&0!==b.length))return b}b=this.getColor(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.FILL_FOREGND));
(function(a,b){return a&&a.equals?a.equals(b):a===b})("Themed",b)&&(b=this.getTheme(),null!=b?(b=b.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(this.getQuickStyleVals()),b=b.toHexStr()):b="#FFFFFF");var a=this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.FILL_PATTERN),"0");return null!=a&&function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"0")?"none":b};d.prototype.getColor=function(b){b=this.getValue(b,"");(function(a,b){return a&&a.equals?a.equals(b):
-a===b})("Themed",b)||function(a,b,f){void 0===f&&(f=0);return a.substr(f,b.length)===b}(b,"#")||(b=this.pm.getColor(b));return b};d.prototype.getTextBkgndColor=function(b){b=this.getValue(b,"");return function(a,b,f){void 0===f&&(f=0);return a.substr(f,b.length)===b}(b,"#")?b:function(a,b){return a&&a.equals?a.equals(b):a===b}(b,"0")||function(a,b){return a&&a.equals?a.equals(b):a===b}(b,"255")||0===b.length?"none":this.pm.getColor((new String(parseInt(b)-1)).toString())};d.prototype.getLineWeight=
+a===b})("Themed",b)||function(a,b,h){void 0===h&&(h=0);return a.substr(h,b.length)===b}(b,"#")||(b=this.pm.getColor(b));return b};d.prototype.getTextBkgndColor=function(b){b=this.getValue(b,"");return function(a,b,h){void 0===h&&(h=0);return a.substr(h,b.length)===b}(b,"#")?b:function(a,b){return a&&a.equals?a.equals(b):a===b}(b,"0")||function(a,b){return a&&a.equals?a.equals(b):a===b}(b,"255")||0===b.length?"none":this.pm.getColor((new String(parseInt(b)-1)).toString())};d.prototype.getLineWeight=
function(){return this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.LINE_WEIGHT),0)};d.prototype.getStrokeTransparency=function(){return this.getValueAsDouble(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.LINE_COLOR_TRANS),0)};d.prototype.getNameU=function(){return this.shape.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.NAME_U)||""};d.prototype.getName=function(){return this.shape.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.NAME)||
""};d.prototype.getUniqueID=function(){return this.shape.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.UNIQUE_ID)||""};d.prototype.getId=function(){return this.Id};d.prototype.getTextColor=function(b){b=this.getCellElement$java_lang_String$java_lang_String$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.COLOR,b,e.mxgraph.io.vsdx.mxVsdxConstants.CHARACTER);b=this.getValue(b,"#000000");(function(a,b){return a&&a.equals?a.equals(b):a===b})("Themed",b)?(b=this.getTheme(),b=null!=b?(this.isVertex()?
-b.getFontColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(this.getQuickStyleVals()):b.getConnFontColor(this.getQuickStyleVals())).toHexStr():"#000000"):function(a,b,f){void 0===f&&(f=0);return a.substr(f,b.length)===b}(b,"#")||(b=this.pm.getColor(b));return b};d.prototype.getTextTopMargin=function(){return this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.TOP_MARGIN),0)};d.prototype.getTextBottomMargin=function(){return this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.BOTTOM_MARGIN),
+b.getFontColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(this.getQuickStyleVals()):b.getConnFontColor(this.getQuickStyleVals())).toHexStr():"#000000"):function(a,b,h){void 0===h&&(h=0);return a.substr(h,b.length)===b}(b,"#")||(b=this.pm.getColor(b));return b};d.prototype.getTextTopMargin=function(){return this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.TOP_MARGIN),0)};d.prototype.getTextBottomMargin=function(){return this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.BOTTOM_MARGIN),
0)};d.prototype.getTextLeftMargin=function(){return this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.LEFT_MARGIN),0)};d.prototype.getTextRightMargin=function(){return this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.RIGHT_MARGIN),0)};d.prototype.getTextStyle=function(b){b=this.getCellElement$java_lang_String$java_lang_String$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.STYLE,
b,e.mxgraph.io.vsdx.mxVsdxConstants.CHARACTER);return this.getValue(b,"")};d.prototype.getTextFont=function(b){b=this.getCellElement$java_lang_String$java_lang_String$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.FONT,b,e.mxgraph.io.vsdx.mxVsdxConstants.CHARACTER);return this.getValue(b,"")};d.prototype.getTextPos=function(b){b=this.getCellElement$java_lang_String$java_lang_String$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.POS,b,e.mxgraph.io.vsdx.mxVsdxConstants.CHARACTER);return this.getValue(b,
"")};d.prototype.getTextStrike=function(b){b=this.getCellElement$java_lang_String$java_lang_String$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.STRIKETHRU,b,e.mxgraph.io.vsdx.mxVsdxConstants.CHARACTER);b=(b=this.getValue(b,""))&&b.equals?b.equals("1"):"1"===b;return b};d.prototype.getTextCase=function(b){b=this.getCellElement$java_lang_String$java_lang_String$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.CASE,b,e.mxgraph.io.vsdx.mxVsdxConstants.CHARACTER);return this.getValue(b,"")};d.prototype.getHorizontalAlign=
@@ -1405,247 +1407,247 @@ b=[];b.push(d.LONG_DASH);b.push(d.SPACE);b.push(d.SHORT_DASH);b.push(d.SPACE);d.
d.lineDashPatterns_$LI$().push(b);b=[];b.push(d.SHORT_DASH);b.push(d.SHORT_SPACE);b.push(d.DOT);b.push(d.SHORT_SPACE);b.push(d.DOT);b.push(d.SHORT_SPACE);d.lineDashPatterns_$LI$().push(b);b=[];b.push(d.SHORT_DASH);b.push(d.SHORT_SPACE);b.push(d.SHORT_DASH);b.push(d.SHORT_SPACE);b.push(d.DOT);b.push(d.SHORT_SPACE);d.lineDashPatterns_$LI$().push(b);b=[];b.push(d.DASH);b.push(d.SHORT_SPACE);b.push(d.SHORT_DASH);b.push(d.SHORT_SPACE);d.lineDashPatterns_$LI$().push(b);b=[];b.push(d.DASH);b.push(d.SHORT_SPACE);
b.push(d.SHORT_DASH);b.push(d.SHORT_SPACE);b.push(d.SHORT_DASH);b.push(d.SHORT_SPACE);d.lineDashPatterns_$LI$().push(b);b=[];b.push(d.LONG_DASH);b.push(d.LONG_SPACE);d.lineDashPatterns_$LI$().push(b);b=[];b.push(d.DOT);b.push(d.LONG_SPACE);d.lineDashPatterns_$LI$().push(b);b=[];b.push(d.LONG_DASH);b.push(d.LONG_SPACE);b.push(d.DOT);b.push(d.LONG_SPACE);d.lineDashPatterns_$LI$().push(b);b=[];b.push(d.LONG_DASH);b.push(d.LONG_SPACE);b.push(d.DOT);b.push(d.LONG_SPACE);b.push(d.DOT);b.push(d.LONG_SPACE);
d.lineDashPatterns_$LI$().push(b);b=[];b.push(d.LONG_DASH);b.push(d.LONG_SPACE);b.push(d.LONG_DASH);b.push(d.LONG_SPACE);b.push(d.DOT);b.push(d.LONG_SPACE);d.lineDashPatterns_$LI$().push(b);b=[];b.push(d.XLONG_DASH);b.push(d.LONG_SPACE);b.push(d.DASH);b.push(d.LONG_SPACE);d.lineDashPatterns_$LI$().push(b);b=[];b.push(d.XLONG_DASH);b.push(d.LONG_SPACE);b.push(d.DASH);b.push(d.LONG_SPACE);b.push(d.DASH);b.push(d.LONG_SPACE);d.lineDashPatterns_$LI$().push(b);b=[];b.push(d.XSHORT_DASH);b.push(d.SHORT_SPACE);
-d.lineDashPatterns_$LI$().push(b)};d.getLineDashPattern=function(b){return 0<=b&&23>=b?d.lineDashPatterns_$LI$()[b]:d.lineDashPatterns_$LI$()[0]};return d}();q.__static_initialized=!1;q.vsdxStyleDebug=!1;q.SPACE=4;q.SHORT_SPACE=2;q.LONG_SPACE=6;q.DOT=1;q.DASH=8;q.LONG_DASH=12;q.SHORT_DASH=4;q.XLONG_DASH=20;q.XSHORT_DASH=2;g.Style=q;q.__class="com.mxgraph.io.vsdx.Style"})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(b){function a(a,f,d){var c=b.call(this)||this;c.__com_mxgraph_io_vsdx_theme_HslClr_hue=a/360;c.__com_mxgraph_io_vsdx_theme_HslClr_sat=f/100;c.__com_mxgraph_io_vsdx_theme_HslClr_lum=d/100;c.color=(new e.mxgraph.io.vsdx.theme.HSLColor(a,f,d)).toRgb();return c}__extends(a,b);return a}(e.mxgraph.io.vsdx.theme.OoxmlColor);g.HslClr=d;d.__class="com.mxgraph.io.vsdx.theme.HslClr"})(g.theme||(g.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||
-(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(b){function a(a){var c=b.call(this)||this;c.val=a;c.color=new e.mxgraph.io.vsdx.theme.Color(255,255,255);return c}__extends(a,b);return a}(e.mxgraph.io.vsdx.theme.OoxmlColor);g.PrstClr=d;d.__class="com.mxgraph.io.vsdx.theme.PrstClr"})(g.theme||(g.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(b){function a(a){var c=b.call(this)||this;c.isDynamic=!0;c.val=a;return c}__extends(a,b);a.prototype.calcColor=function(a,f){var c;c=this.val;c="phClr".equals?"phClr".equals(c):"phClr"===c;c?this.color=f.getStyleColor(a):(this.color=f.getSchemeColor(this.val),this.isDynamic=!1);b.prototype.calcColor.call(this,a,f)};return a}(e.mxgraph.io.vsdx.theme.OoxmlColor);g.SchemeClr=d;d.__class="com.mxgraph.io.vsdx.theme.SchemeClr"})(g.theme||
-(g.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(b){function a(a,f,d){var c=b.call(this)||this;c.r=0;c.g=0;c.b=0;c.r=a;c.g=f;c.b=d;c.color=new e.mxgraph.io.vsdx.theme.Color(a,f,d);return c}__extends(a,b);return a}(e.mxgraph.io.vsdx.theme.OoxmlColor);g.ScrgbClr=d;d.__class="com.mxgraph.io.vsdx.theme.ScrgbClr"})(g.theme||(g.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(b){function a(a){var c=b.call(this)||this;c.hexVal=null;c.hexVal=a;c.color=e.mxgraph.io.vsdx.theme.Color.decodeColorHex(a);return c}__extends(a,b);return a}(e.mxgraph.io.vsdx.theme.OoxmlColor);g.SrgbClr=d;d.__class="com.mxgraph.io.vsdx.theme.SrgbClr"})(g.theme||(g.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(b){function a(a,f){var c=b.call(this)||this;c.lastClr=null;c.val=a;var d=c.lastClr=f;if(null==d)switch(a){case "windowText":d="000000";break;case "window":d="FFFFFF";break;default:d="FFFFFF"}c.color=e.mxgraph.io.vsdx.theme.Color.decodeColorHex(d);return c}__extends(a,b);return a}(e.mxgraph.io.vsdx.theme.OoxmlColor);g.SysClr=d;d.__class="com.mxgraph.io.vsdx.theme.SysClr"})(g.theme||(g.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||
+d.lineDashPatterns_$LI$().push(b)};d.getLineDashPattern=function(b){return 0<=b&&23>=b?d.lineDashPatterns_$LI$()[b]:d.lineDashPatterns_$LI$()[0]};return d}();q.__static_initialized=!1;q.vsdxStyleDebug=!1;q.SPACE=4;q.SHORT_SPACE=2;q.LONG_SPACE=6;q.DOT=1;q.DASH=8;q.LONG_DASH=12;q.SHORT_DASH=4;q.XLONG_DASH=20;q.XSHORT_DASH=2;f.Style=q;q.__class="com.mxgraph.io.vsdx.Style"})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(b){function a(a,h,d){var c=b.call(this)||this;c.__com_mxgraph_io_vsdx_theme_HslClr_hue=a/360;c.__com_mxgraph_io_vsdx_theme_HslClr_sat=h/100;c.__com_mxgraph_io_vsdx_theme_HslClr_lum=d/100;c.color=(new e.mxgraph.io.vsdx.theme.HSLColor(a,h,d)).toRgb();return c}__extends(a,b);return a}(e.mxgraph.io.vsdx.theme.OoxmlColor);f.HslClr=d;d.__class="com.mxgraph.io.vsdx.theme.HslClr"})(f.theme||(f.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||
+(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(b){function a(a){var c=b.call(this)||this;c.val=a;c.color=new e.mxgraph.io.vsdx.theme.Color(255,255,255);return c}__extends(a,b);return a}(e.mxgraph.io.vsdx.theme.OoxmlColor);f.PrstClr=d;d.__class="com.mxgraph.io.vsdx.theme.PrstClr"})(f.theme||(f.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(b){function a(a){var c=b.call(this)||this;c.isDynamic=!0;c.val=a;return c}__extends(a,b);a.prototype.calcColor=function(a,h){var c;c=this.val;c="phClr".equals?"phClr".equals(c):"phClr"===c;c?this.color=h.getStyleColor(a):(this.color=h.getSchemeColor(this.val),this.isDynamic=!1);b.prototype.calcColor.call(this,a,h)};return a}(e.mxgraph.io.vsdx.theme.OoxmlColor);f.SchemeClr=d;d.__class="com.mxgraph.io.vsdx.theme.SchemeClr"})(f.theme||
+(f.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(b){function a(a,h,d){var c=b.call(this)||this;c.r=0;c.g=0;c.b=0;c.r=a;c.g=h;c.b=d;c.color=new e.mxgraph.io.vsdx.theme.Color(a,h,d);return c}__extends(a,b);return a}(e.mxgraph.io.vsdx.theme.OoxmlColor);f.ScrgbClr=d;d.__class="com.mxgraph.io.vsdx.theme.ScrgbClr"})(f.theme||(f.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(b){function a(a){var c=b.call(this)||this;c.hexVal=null;c.hexVal=a;c.color=e.mxgraph.io.vsdx.theme.Color.decodeColorHex(a);return c}__extends(a,b);return a}(e.mxgraph.io.vsdx.theme.OoxmlColor);f.SrgbClr=d;d.__class="com.mxgraph.io.vsdx.theme.SrgbClr"})(f.theme||(f.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(b){function a(a,h){var c=b.call(this)||this;c.lastClr=null;c.val=a;var d=c.lastClr=h;if(null==d)switch(a){case "windowText":d="000000";break;case "window":d="FFFFFF";break;default:d="FFFFFF"}c.color=e.mxgraph.io.vsdx.theme.Color.decodeColorHex(d);return c}__extends(a,b);return a}(e.mxgraph.io.vsdx.theme.OoxmlColor);f.SysClr=d;d.__class="com.mxgraph.io.vsdx.theme.SysClr"})(f.theme||(f.theme={}))})(n.vsdx||(n.vsdx={}))})(p.io||
(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){(function(g){var d=function(b){function a(a,f,d,e,g,w,q){return b.call(this,a,f,d,e,g,w,q)||this}__extends(a,b);a.prototype.handle=function(a,f){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b&&null!=this.c&&null!=this.d){var c=f.getHeight()/e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),d=f.getWidth()/e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$();this.x*=d;this.y*=c;this.a*=d;this.b*=c}return b.prototype.handle.call(this,
-a,f)};return a}(e.mxgraph.io.vsdx.geometry.EllipticalArcTo);g.RelEllipticalArcTo=d;d.__class="com.mxgraph.io.vsdx.geometry.RelEllipticalArcTo"})(g.geometry||(g.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){var q=function(d){function b(a,b){var c=this;c.text=null;c.fields=null;c.geom=null;c.imageData=null;c.theme=null;c.quickStyleVals=null;c=d.call(this,a,b)||this;c.paragraphs=null;c.styleMap={};c.width=0;c.height=0;c.rotation=0;c.lastX=0;c.lastY=0;c.lastMoveX=0;c.lastMoveY=0;c.lastKnot=-1;c.geomList=null;c.geomListProcessed=!1;c.themeVariant=0;c.cp="0";c.pp="0";c.tp="0";c.fld="0";c.width=c.getScreenNumericalValue$org_w3c_dom_Element$double(function(a,
+(function(e){(function(p){(function(n){(function(f){(function(f){var d=function(b){function a(a,h,d,e,f,w,q){return b.call(this,a,h,d,e,f,w,q)||this}__extends(a,b);a.prototype.handle=function(a,h){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b&&null!=this.c&&null!=this.d){var c=h.getHeight()/e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),d=h.getWidth()/e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$();this.x*=d;this.y*=c;this.a*=d;this.b*=c}return b.prototype.handle.call(this,
+a,h)};return a}(e.mxgraph.io.vsdx.geometry.EllipticalArcTo);f.RelEllipticalArcTo=d;d.__class="com.mxgraph.io.vsdx.geometry.RelEllipticalArcTo"})(f.geometry||(f.geometry={}))})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){var q=function(d){function b(a,b){var c=this;c.text=null;c.fields=null;c.geom=null;c.imageData=null;c.theme=null;c.quickStyleVals=null;c=d.call(this,a,b)||this;c.paragraphs=null;c.styleMap={};c.width=0;c.height=0;c.rotation=0;c.lastX=0;c.lastY=0;c.lastMoveX=0;c.lastMoveY=0;c.lastKnot=-1;c.geomList=null;c.geomListProcessed=!1;c.themeVariant=0;c.cp="0";c.pp="0";c.tp="0";c.fld="0";c.width=c.getScreenNumericalValue$org_w3c_dom_Element$double(function(a,
b){return a[b]?a[b]:null}(c.cellElements,e.mxgraph.io.vsdx.mxVsdxConstants.WIDTH),0);c.height=c.getScreenNumericalValue$org_w3c_dom_Element$double(function(a,b){return a[b]?a[b]:null}(c.cellElements,e.mxgraph.io.vsdx.mxVsdxConstants.HEIGHT),0);return c}__extends(b,d);b.UNICODE_LINE_SEP_$LI$=function(){null==b.UNICODE_LINE_SEP&&(b.ERROR_IMAGE="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IS0tIENyZWF0ZWQgd2l0aCBJbmtzY2FwZSAoaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvKSAtLT4NCjxzdmcNCiAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyINCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiDQogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiDQogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIg0KICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiDQogICB3aWR0aD0iMjUwIg0KICAgaGVpZ2h0PSIyNTAiDQogICBpZD0ic3ZnMzMxOSINCiAgIHNvZGlwb2RpOnZlcnNpb249IjAuMzIiDQogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjQ2Ig0KICAgdmVyc2lvbj0iMS4wIg0KICAgc29kaXBvZGk6ZG9jbmFtZT0ibm9waG90b19pLnN2ZyINCiAgIGlua3NjYXBlOm91dHB1dF9leHRlbnNpb249Im9yZy5pbmtzY2FwZS5vdXRwdXQuc3ZnLmlua3NjYXBlIj4NCiAgPGRlZnMNCiAgICAgaWQ9ImRlZnMzMzIxIj4NCiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUNCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIg0KICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiA1MjYuMTgxMDkgOiAxIg0KICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCINCiAgICAgICBpbmtzY2FwZTp2cF96PSI3NDQuMDk0NDggOiA1MjYuMTgxMDkgOiAxIg0KICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIzNzIuMDQ3MjQgOiAzNTAuNzg3MzkgOiAxIg0KICAgICAgIGlkPSJwZXJzcGVjdGl2ZTMzMjciIC8+DQogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlDQogICAgICAgaWQ9InBlcnNwZWN0aXZlMzM0MiINCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMzcyLjA0NzI0IDogMzUwLjc4NzM5IDogMSINCiAgICAgICBpbmtzY2FwZTp2cF96PSI3NDQuMDk0NDggOiA1MjYuMTgxMDkgOiAxIg0KICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCINCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogNTI2LjE4MTA5IDogMSINCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPg0KICA8L2RlZnM+DQogIDxzb2RpcG9kaTpuYW1lZHZpZXcNCiAgICAgaWQ9ImJhc2UiDQogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiINCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiDQogICAgIGJvcmRlcm9wYWNpdHk9IjEuMCINCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuMCINCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiINCiAgICAgaW5rc2NhcGU6em9vbT0iMi4yNDI5NDI3Ig0KICAgICBpbmtzY2FwZTpjeD0iMTIxLjk3NjQ4Ig0KICAgICBpbmtzY2FwZTpjeT0iMTIyLjQ0MTk4Ig0KICAgICBpbmtzY2FwZTpkb2N1bWVudC11bml0cz0icHgiDQogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9ImxheWVyMSINCiAgICAgc2hvd2dyaWQ9ImZhbHNlIg0KICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE2NjQiDQogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9Ijg0NCINCiAgICAgaW5rc2NhcGU6d2luZG93LXg9Ii0zIg0KICAgICBpbmtzY2FwZTp3aW5kb3cteT0iLTE4IiAvPg0KICA8bWV0YWRhdGENCiAgICAgaWQ9Im1ldGFkYXRhMzMyNCI+DQogICAgPHJkZjpSREY+DQogICAgICA8Y2M6V29yaw0KICAgICAgICAgcmRmOmFib3V0PSIiPg0KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4NCiAgICAgICAgPGRjOnR5cGUNCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4NCiAgICAgICAgPGRjOnRpdGxlPkZvdG9ncmFmaWVydmVyYm90PC9kYzp0aXRsZT4NCiAgICAgICAgPGRjOmRhdGU+MjAwOC0wNi0yOTwvZGM6ZGF0ZT4NCiAgICAgICAgPGRjOmNyZWF0b3I+DQogICAgICAgICAgPGNjOkFnZW50Pg0KICAgICAgICAgICAgPGRjOnRpdGxlPlRvcnJzdGVuIFNrb21wPC9kYzp0aXRsZT4NCiAgICAgICAgICA8L2NjOkFnZW50Pg0KICAgICAgICA8L2RjOmNyZWF0b3I+DQogICAgICAgIDxkYzpyaWdodHM+DQogICAgICAgICAgPGNjOkFnZW50Pg0KICAgICAgICAgICAgPGRjOnRpdGxlPlRvcnN0ZW4gU2tvbXA8L2RjOnRpdGxlPg0KICAgICAgICAgIDwvY2M6QWdlbnQ+DQogICAgICAgIDwvZGM6cmlnaHRzPg0KICAgICAgICA8ZGM6cHVibGlzaGVyPg0KICAgICAgICAgIDxjYzpBZ2VudD4NCiAgICAgICAgICAgIDxkYzp0aXRsZT5Ub3JzdGVuIFNrb21wPC9kYzp0aXRsZT4NCiAgICAgICAgICA8L2NjOkFnZW50Pg0KICAgICAgICA8L2RjOnB1Ymxpc2hlcj4NCiAgICAgICAgPGRjOmxhbmd1YWdlPmRlX0RFPC9kYzpsYW5ndWFnZT4NCiAgICAgICAgPGRjOnN1YmplY3Q+DQogICAgICAgICAgPHJkZjpCYWc+DQogICAgICAgICAgICA8cmRmOmxpPlBpa3RvZ3JhbW07IEZvdG9ncmFmaWVydmVyYm90PC9yZGY6bGk+DQogICAgICAgICAgPC9yZGY6QmFnPg0KICAgICAgICA8L2RjOnN1YmplY3Q+DQogICAgICAgIDxkYzpkZXNjcmlwdGlvbj5Gb3RvZ3JhZmllcnZlcmJvdCBhbHMgUGlrdG9ncmFtbSA8L2RjOmRlc2NyaXB0aW9uPg0KICAgICAgICA8Y2M6bGljZW5zZQ0KICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL3B1YmxpY2RvbWFpbi8iIC8+DQogICAgICA8L2NjOldvcms+DQogICAgICA8Y2M6TGljZW5zZQ0KICAgICAgICAgcmRmOmFib3V0PSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4vIj4NCiAgICAgICAgPGNjOnBlcm1pdHMNCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyNSZXByb2R1Y3Rpb24iIC8+DQogICAgICAgIDxjYzpwZXJtaXRzDQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjRGlzdHJpYnV0aW9uIiAvPg0KICAgICAgICA8Y2M6cGVybWl0cw0KICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zI0Rlcml2YXRpdmVXb3JrcyIgLz4NCiAgICAgIDwvY2M6TGljZW5zZT4NCiAgICA8L3JkZjpSREY+DQogIDwvbWV0YWRhdGE+DQogIDxnDQogICAgIGlua3NjYXBlOmxhYmVsPSJFYmVuZSAxIg0KICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIg0KICAgICBpZD0ibGF5ZXIxIj4NCiAgICA8cGF0aA0KICAgICAgIHN0eWxlPSJmaWxsOiMwMDAwMDA7ZmlsbC1vcGFjaXR5OjEiDQogICAgICAgZD0iTSAxNjQuNTMxMjUgNjIuNjg3NSBDIDE2Mi43OTExNSA2Mi42ODc1MDEgMTYxLjM3NSA2NC4wNzI0MTYgMTYxLjM3NSA2NS44MTI1IEwgMTYxLjM3NSA2OC43NSBMIDM4LjM3NSA2OC43NSBDIDM1LjA5MjI5OCA2OC43NDk5OTkgMzIuNDY4NzUgNzEuMzczNTQ4IDMyLjQ2ODc1IDc0LjY1NjI1IEwgMzIuNDY4NzUgMTgxLjM3NSBDIDMyLjQ2ODc1IDE4NC42NTc3IDM1LjA5MjMwNyAxODcuMzEyNTEgMzguMzc1IDE4Ny4zMTI1IEwgMjExLjYyNSAxODcuMzEyNSBDIDIxNC45MDc2OSAxODcuMzEyNSAyMTcuNTMxMjcgMTg0LjY1NzcgMjE3LjUzMTI1IDE4MS4zNzUgTCAyMTcuNTMxMjUgNzQuNjU2MjUgQyAyMTcuNTMxMjUgNzEuMzczNTUxIDIxNC45MDc2OCA2OC43NSAyMTEuNjI1IDY4Ljc1IEwgMjAyLjA2MjUgNjguNzUgTCAyMDIuMDYyNSA2NS44MTI1IEMgMjAyLjA2MjUgNjQuMDcyNDEgMjAwLjY0NjM1IDYyLjY4NzUgMTk4LjkwNjI1IDYyLjY4NzUgTCAxNjQuNTMxMjUgNjIuNjg3NSB6IE0gNDYuODEyNSA3OCBMIDg4LjY1NjI1IDc4IEMgOTAuMzk2MzQyIDc4IDkxLjgxMjUgNzkuMzg0OTA3IDkxLjgxMjUgODEuMTI1IEwgOTEuODEyNSA5Ni4zMTI1IEMgOTEuODEyNSA5OC4wNTI1OTIgOTAuMzk2MzQzIDk5LjQzNzUgODguNjU2MjUgOTkuNDM3NSBMIDQ2LjgxMjUgOTkuNDM3NSBDIDQ1LjA3MjQwOCA5OS40Mzc1IDQzLjY4NzUgOTguMDUyNTkzIDQzLjY4NzUgOTYuMzEyNSBMIDQzLjY4NzUgODEuMTI1IEMgNDMuNjg3NSA3OS4zODQ5MDggNDUuMDcyNDA3IDc4IDQ2LjgxMjUgNzggeiBNIDE0NiA4OC4yMTg3NSBDIDE2Ny43MzQ3NSA4OC4yMTg3NTMgMTg1LjM3NSAxMDYuMTUwNzEgMTg1LjM3NSAxMjguMjUgQyAxODUuMzc0OTkgMTUwLjM0OTI4IDE2Ny43MzQ3NCAxNjguMjgxMjUgMTQ2IDE2OC4yODEyNSBDIDEyNC4yNjUyNyAxNjguMjgxMjYgMTA2LjYyNSAxNTAuMzQ5MjkgMTA2LjYyNSAxMjguMjUgQyAxMDYuNjI1IDEwNi4xNTA3MSAxMjQuMjY1MjYgODguMjE4NzUgMTQ2IDg4LjIxODc1IHogTSAxNDYgOTEuNzE4NzUgQyAxMjYuMTY1NTcgOTEuNzE4NzUgMTEwLjA2MjUgMTA4LjA4Mjg5IDExMC4wNjI1IDEyOC4yNSBDIDExMC4wNjI1IDE0OC40MTcxMSAxMjYuMTY1NTcgMTY0Ljc4MTI2IDE0NiAxNjQuNzgxMjUgQyAxNjUuODM0NDMgMTY0Ljc4MTI1IDE4MS45Mzc1IDE0OC40MTcxIDE4MS45Mzc1IDEyOC4yNSBDIDE4MS45Mzc1IDEwOC4wODI4OSAxNjUuODM0NDMgOTEuNzE4NzUgMTQ2IDkxLjcxODc1IHogTSAxNDYgOTYuNTkzNzUgQyAxNjMuMTc3NjggOTYuNTkzNzUyIDE3Ny4xMjUgMTEwLjc4NDIgMTc3LjEyNSAxMjguMjUgQyAxNzcuMTI0OTkgMTQ1LjcxNTggMTYzLjE3NzY5IDE1OS44NzUgMTQ2IDE1OS44NzUgQyAxMjguODIyMzEgMTU5Ljg3NSAxMTQuODc1IDE0NS43MTU4IDExNC44NzUgMTI4LjI1IEMgMTE0Ljg3NSAxMTAuNzg0MTkgMTI4LjgyMjMxIDk2LjU5Mzc1IDE0NiA5Ni41OTM3NSB6IE0gMTc2LjUgMTcyLjcxODc1IEwgMjA2LjE4NzUgMTcyLjcxODc1IEMgMjA3LjQyMTM4IDE3Mi43MTg3NSAyMDguNDA2MjUgMTczLjEyNzgzIDIwOC40MDYyNSAxNzMuNjI1IEwgMjA4LjQwNjI1IDE3Ny45Njg3NSBDIDIwOC40MDYyNSAxNzguNDY1OTIgMjA3LjQyMTM4IDE3OC44NDM3NSAyMDYuMTg3NSAxNzguODQzNzUgTCAxNzYuNSAxNzguODQzNzUgQyAxNzUuMjY2MTEgMTc4Ljg0Mzc1IDE3NC4yODEyNSAxNzguNDY1OTIgMTc0LjI4MTI1IDE3Ny45Njg3NSBMIDE3NC4yODEyNSAxNzMuNjI1IEMgMTc0LjI4MTI1IDE3My4xMjc4MyAxNzUuMjY2MTIgMTcyLjcxODc1IDE3Ni41IDE3Mi43MTg3NSB6ICINCiAgICAgICBpZD0icmVjdDMyMDkiIC8+DQogICAgPHBhdGgNCiAgICAgICBzdHlsZT0iZmlsbDojYzQyNjFkO2ZpbGwtb3BhY2l0eToxIg0KICAgICAgIGQ9Ik0gMjAgMCBDIDE4LjU1OTkzOCAwIDE3LjE2NDc0NyAwLjE1MDk4NjY2IDE1LjgxMjUgMC40Mzc1IEMgMTUuMjEwMjkxIDAuNTY1MTk1NzggMTQuNjExOTEzIDAuNzI2MjExMjYgMTQuMDMxMjUgMC45MDYyNSBDIDEzLjU1NDc3MyAxLjA1Mzk4NTIgMTMuMDg1MzQ5IDEuMjI0ODUzNiAxMi42MjUgMS40MDYyNSBDIDEyLjMyODc2NiAxLjUyMzA3MzkgMTIuMDM5MDMzIDEuNjUwOTE4MiAxMS43NSAxLjc4MTI1IEMgMTEuMzQ3Mjc4IDEuOTYyMzU5OCAxMC45NTA0MDYgMi4xMzc0MTY1IDEwLjU2MjUgMi4zNDM3NSBDIDEwLjUyMTU1NSAyLjM2NTU2ODggMTAuNDc4MjczIDIuMzg0MTU1NSAxMC40Mzc1IDIuNDA2MjUgQyAxMC40MTY5MzQgMi40MTczNzU0IDEwLjM5NTUyMiAyLjQyNjMwNDkgMTAuMzc1IDIuNDM3NSBDIDkuODMyNjg2MSAyLjczMzM0NDYgOS4zMjI2NDQ4IDMuMDYzMjQ1MiA4LjgxMjUgMy40MDYyNSBDIDguMjgzMTIyMSAzLjc2MjE4NjUgNy43NzI3NzI4IDQuMTU4OTIwOSA3LjI4MTI1IDQuNTYyNSBDIDcuMjc1MDU1IDQuNTY3NTg2NiA3LjI1NjE4ODggNC41NTc0MDYxIDcuMjUgNC41NjI1IEMgNy4yMzg1NDc5IDQuNTcxOTQzNCA3LjIzMDE4MDYgNC41ODQyODE2IDcuMjE4NzUgNC41OTM3NSBDIDcuMTA0NzM1MiA0LjY4ODAxNTkgNi45ODY4NTA3IDQuNzc4MjY4NyA2Ljg3NSA0Ljg3NSBDIDYuNTE1NzAyMSA1LjE4NjQyNjQgNi4xNzk3OTA5IDUuNTA3NzA5MSA1Ljg0Mzc1IDUuODQzNzUgQyA1LjQwNDQwMjUgNi4yODE4MDc4IDQuOTkwNzQ0OSA2Ljc0MTM1NTQgNC41OTM3NSA3LjIxODc1IEMgNC41NzkwMDg2IDcuMjM2NTQ2MiA0LjU3NzE4MDYgNy4yNjM0MDE1IDQuNTYyNSA3LjI4MTI1IEMgMy43Njc0ODk4IDguMjQzOTE4MSAzLjA0MjI3MjEgOS4yNzE4NzA1IDIuNDM3NSAxMC4zNzUgQyAyLjQyNjIyMzIgMTAuMzk1NjM1IDIuNDE3NDU2MSAxMC40MTY4MiAyLjQwNjI1IDEwLjQzNzUgQyAyLjEwODM5MDggMTAuOTg1MzQ4IDEuODQwMjIzMyAxMS41NDcyMTQgMS41OTM3NSAxMi4xMjUgQyAxLjU3NTU4NjUgMTIuMTY3NjY1IDEuNTQ5MTI1NSAxMi4yMDcxODIgMS41MzEyNSAxMi4yNSBDIDEuMjg3NzEzMSAxMi44MzI0MzMgMS4wOTQ2NzU0IDEzLjQyMTgyMiAwLjkwNjI1IDE0LjAzMTI1IEMgMC43Mjk2MzAxNCAxNC42MDI0OTUgMC41NjMwOTYzNCAxNS4xODg4MjggMC40Mzc1IDE1Ljc4MTI1IEMgMC4xNDY5MTQwNCAxNy4xNDI1NzggLTQuMzkwNjEzM2UtMTggMTguNTQ5NDY2IDAgMjAgTCAwIDIzMCBDIDAgMjQxLjA4IDguOTIgMjUwIDIwIDI1MCBMIDIzMCAyNTAgQyAyMzEuNDQwMDYgMjUwIDIzMi44MzUyNSAyNDkuODQ5MDEgMjM0LjE4NzUgMjQ5LjU2MjUgQyAyMzQuNzg5MDMgMjQ5LjQzNDk3IDIzNS4zODg2NiAyNDkuMjczODEgMjM1Ljk2ODc1IDI0OS4wOTM3NSBDIDIzNi40NDQ3NiAyNDguOTQ2IDIzNi45MTUwNSAyNDguNzc1MjYgMjM3LjM3NSAyNDguNTkzNzUgQyAyMzcuNjcxMjMgMjQ4LjQ3NjkzIDIzNy45NjA5NyAyNDguMzQ5MDggMjM4LjI1IDI0OC4yMTg3NSBDIDIzOC4yNzk4MSAyNDguMjA1MzEgMjM4LjMxNDAyIDI0OC4yMDEwOSAyMzguMzQzNzUgMjQ4LjE4NzUgQyAyMzguNzU4MzYgMjQ3Ljk5ODMgMjM5LjE2Mzc0IDI0Ny44MDk4MSAyMzkuNTYyNSAyNDcuNTkzNzUgQyAyMzkuNTgzMTggMjQ3LjU4MjU0IDIzOS42MDQzNiAyNDcuNTczNzggMjM5LjYyNSAyNDcuNTYyNSBDIDI0MC4xNjkyNSAyNDcuMjY1MTIgMjQwLjY3NTU4IDI0Ni45Mzg3MyAyNDEuMTg3NSAyNDYuNTkzNzUgQyAyNDEuNjY4NzggMjQ2LjI2OTQxIDI0Mi4xNDM1OSAyNDUuOTI2MzkgMjQyLjU5Mzc1IDI0NS41NjI1IEMgMjQyLjY0NDc0IDI0NS41MjEyOCAyNDIuNjk5NDMgMjQ1LjQ3OTIxIDI0Mi43NSAyNDUuNDM3NSBDIDI0Mi44NzY1MSAyNDUuMzMzMTggMjQzLjAwMTE1IDI0NS4yMzIzNSAyNDMuMTI1IDI0NS4xMjUgQyAyNDMuNDgyNjUgMjQ0LjgxNTM4IDI0My44MjE1NSAyNDQuNDkwMTkgMjQ0LjE1NjI1IDI0NC4xNTYyNSBDIDI0NC40OTIyOSAyNDMuODIwMjEgMjQ0LjgxMzU3IDI0My40ODQzIDI0NS4xMjUgMjQzLjEyNSBDIDI0NS4yMzE2NyAyNDMuMDAyMzQgMjQ1LjMzMzgxIDI0Mi44NzUyNyAyNDUuNDM3NSAyNDIuNzUgQyAyNDUuNDQyNzYgMjQyLjc0MzYyIDI0NS40MzIyNSAyNDIuNzI1MTMgMjQ1LjQzNzUgMjQyLjcxODc1IEMgMjQ1Ljg0MjQ5IDI0Mi4yMjgzIDI0Ni4yMzY0IDI0MS43MTU3NiAyNDYuNTkzNzUgMjQxLjE4NzUgQyAyNDYuOTM4MTIgMjQwLjY3ODQzIDI0Ny4yNjUzNiAyNDAuMTY2MjIgMjQ3LjU2MjUgMjM5LjYyNSBDIDI0Ny41NzM2MyAyMzkuNjA0NzIgMjQ3LjU4MjY4IDIzOS41ODI4MiAyNDcuNTkzNzUgMjM5LjU2MjUgQyAyNDcuODkxOTcgMjM5LjAxNDggMjQ4LjE1OTMxIDIzOC40NTIzOSAyNDguNDA2MjUgMjM3Ljg3NSBDIDI0OC40MTU1NCAyMzcuODUzMjggMjQ4LjQyODI5IDIzNy44MzQyNiAyNDguNDM3NSAyMzcuODEyNSBDIDI0OC40NDY0NCAyMzcuNzkxMjkgMjQ4LjQ1OTg4IDIzNy43NzEyNSAyNDguNDY4NzUgMjM3Ljc1IEMgMjQ4LjcwOTkyIDIzNy4xNzQ3NiAyNDguOTA2MjggMjM2LjU3MDA4IDI0OS4wOTM3NSAyMzUuOTY4NzUgQyAyNDkuMjczNzUgMjM1LjM5MTM3IDI0OS40MzQ2OCAyMzQuODE3NTQgMjQ5LjU2MjUgMjM0LjIxODc1IEMgMjQ5Ljg1MzA5IDIzMi44NTc0MiAyNTAgMjMxLjQ1MDUzIDI1MCAyMzAgTCAyNTAgMjAgQyAyNTAgOC45MiAyNDEuMDggLTMuMzUzNzk4N2UtMTcgMjMwIDAgTCAyMCAwIHogTSAzNC43ODEyNSAxOS40MDYyNSBMIDIyNS40Njg3NSAxOS40MDYyNSBDIDIyOC4zMDk0NiAxOS40MDYyNSAyMzAuNTkzNzUgMjEuNjkwNTQ0IDIzMC41OTM3NSAyNC41MzEyNSBMIDIzMC41OTM3NSAyMTUuMjUgTCAzNC43ODEyNSAxOS40MDYyNSB6IE0gMTkuNDA2MjUgMzQuNzUgTCAyMTUuMjE4NzUgMjMwLjU5Mzc1IEwgMjQuNTMxMjUgMjMwLjU5Mzc1IEMgMjEuNjkwNTQ0IDIzMC41OTM3NiAxOS40MDYyNSAyMjguMzA5NDYgMTkuNDA2MjUgMjI1LjQ2ODc1IEwgMTkuNDA2MjUgMzQuNzUgeiAiDQogICAgICAgaWQ9InBhdGgzMTk2IiAvPg0KICA8L2c+DQo8L3N2Zz4NCg==",
b.UNICODE_LINE_SEP=String.fromCharCode(8232));return b.UNICODE_LINE_SEP};b.prototype.setThemeAndVariant=function(a,b){this.theme=a;this.themeVariant=b};b.prototype.getTheme=function(){null!=this.theme&&this.theme.setVariant(this.themeVariant);return this.theme};b.prototype.getQuickStyleVals=function(){return this.quickStyleVals};b.prototype.processGeomList=function(a){if(!this.geomListProcessed){this.geomList=new e.mxgraph.io.vsdx.mxVsdxGeometryList(a);if(null!=this.geom)for(a=0;a<this.geom.length;a++)this.geomList.addGeometry(this.geom[a]);
-this.geomListProcessed=!0}};b.prototype.parseShapeElem=function(a,c){d.prototype.parseShapeElem.call(this,a,c);var f=a.nodeName;if(function(a,b){return a&&a.equals?a.equals(b):a===b}(f,"ForeignData")){var f=function(a,b){for(var f=a.firstChild;null!=f;){if(1==f.nodeType){var d=f;if("rel"==d.nodeName.toLowerCase()&&(d=d.getAttribute("r:id"),null!=d&&0!==d.length)){var f=b.lastIndexOf("/"),e="",m="";try{e=b.substring(0,f),m=b.substring(f,b.length)}catch(S){break}f=c.getRelationship(d,e+"/_rels"+m+".rels");
-if(null!=f){d=f.getAttribute("Target")||"";e=f.getAttribute("Type");f=d.lastIndexOf("/");try{d=d.substring(f+1,d.length)}catch(S){break}return{type:e,target:d}}break}}f=f.nextSibling}},m=a.ownerDocument.vsdxFileName,g=a.getAttribute("ForeignType"),q=a.getAttribute("CompressionType")||"",w=null;if(function(a,b){return a&&a.equals?a.equals(b):a===b}(g,"Bitmap"))q=q.toLowerCase();else if(function(a,b){return a&&a.equals?a.equals(b):a===b}(g,"MetaFile"))q="png";else if(function(a,b){return a&&a.equals?
-a.equals(b):a===b}(g,"Enhanced Metafile")||function(a,b){return a&&a.equals?a.equals(b):a===b}(g,"EnhMetaFile"))q="png";else if("Object"==g){if(w=f(a,m),0<w.type.indexOf("/oleObject"))if(q=c.getRelationship("rId1","visio/embeddings/_rels/"+w.target+".rels"),null!=q){w=q.getAttribute("Target");g=q.getAttribute("Type");try{var n=w.lastIndexOf("/"),w=w.substring(n+1,w.length)}catch(A){return}q="png";w={type:g,target:w}}else return}else return;null==w&&(w=f(a,m));g=w.type;w=w.target;null!=g&&function(a,
-b){var c=a.length-b.length,f=a.indexOf(b,c);return-1!==f&&f===c}(g,"image")&&(this.imageData={},(n=c.getMedia(e.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/media/"+w))?(this.imageData.iData=n,function(a,b){var c=a.length-b.length,f=a.indexOf(b,c);return-1!==f&&f===c}(w.toLowerCase(),".bmp")&&(q="jpg"),this.imageData.iType=q):(this.imageData.iData=b.ERROR_IMAGE,this.imageData.iType="svg+xml"))}else(function(a,b){return a&&a.equals?a.equals(b):a===b})(f,e.mxgraph.io.vsdx.mxVsdxConstants.TEXT)&&(this.text=
-a)};b.prototype.parseSection=function(a){var c=a.getAttribute("N");if(function(a,b){return a&&a.equals?a.equals(b):a===b}(c,"Geometry"))null==this.geom&&(this.geom=[]),this.geom.push(a);else if(function(a,b){return a&&a.equals?a.equals(b):a===b}(c,"Field")){a=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(a,"Row");for(var f=0;f<a.length;f++){var c=a[f],m=c.getAttribute("IX")||"";if(0!==m.length)if(null==this.fields&&(this.fields={}),function(a,b){return a&&a.equals?a.equals(b):a===b}("1",
-c.getAttribute("Del")))this.fields[m]="";else{for(var g=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(c,"Cell"),q="",w="",n=0;n<g.length;n++){var p=g[n],c=p.getAttribute("N"),p=p.getAttribute("V")||p.textContent||"";switch(c){case "Value":q=p;break;case "Format":w=p}}if(0!==q.length){try{if(function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(w,"{{"))var w=w.replace(/m/g,"@").replace(/M/g,"m").replace(/@/g,"M"),G=isNaN(q)?new Date(q):new Date(b.VSDX_START_TIME+Math.floor(864E5*
-parseFloat(q))),q=Graph.prototype.formatDate(G,w.replace(RegExp("\\{|\\}","g"),""))}catch(B){}this.fields[m]=q}}}}else d.prototype.parseSection.call(this,a)};b.prototype.parseGeom=function(){return this.hasGeomList()?this.geomList.getShapeXML(this):""};b.prototype.getText=function(){return null!=this.text?this.text.textContent:null};b.prototype.getTextChildren=function(){return null!=this.text?this.text.childNodes:null};b.prototype.getWidth=function(){return 0===this.width&&0<this.height?1:this.width};
+this.geomListProcessed=!0}};b.prototype.parseShapeElem=function(a,c){d.prototype.parseShapeElem.call(this,a,c);var h=a.nodeName;if(function(a,b){return a&&a.equals?a.equals(b):a===b}(h,"ForeignData")){var h=function(a,b){for(var h=a.firstChild;null!=h;){if(1==h.nodeType){var d=h;if("rel"==d.nodeName.toLowerCase()&&(d=d.getAttribute("r:id"),null!=d&&0!==d.length)){var h=b.lastIndexOf("/"),e="",m="";try{e=b.substring(0,h),m=b.substring(h,b.length)}catch(S){break}h=c.getRelationship(d,e+"/_rels"+m+".rels");
+if(null!=h){d=h.getAttribute("Target")||"";e=h.getAttribute("Type");h=d.lastIndexOf("/");try{d=d.substring(h+1,d.length)}catch(S){break}return{type:e,target:d}}break}}h=h.nextSibling}},m=a.ownerDocument.vsdxFileName,f=a.getAttribute("ForeignType"),q=a.getAttribute("CompressionType")||"",w=null;if(function(a,b){return a&&a.equals?a.equals(b):a===b}(f,"Bitmap"))q=q.toLowerCase();else if(function(a,b){return a&&a.equals?a.equals(b):a===b}(f,"MetaFile"))q="png";else if(function(a,b){return a&&a.equals?
+a.equals(b):a===b}(f,"Enhanced Metafile")||function(a,b){return a&&a.equals?a.equals(b):a===b}(f,"EnhMetaFile"))q="png";else if("Object"==f){if(w=h(a,m),0<w.type.indexOf("/oleObject"))if(q=c.getRelationship("rId1","visio/embeddings/_rels/"+w.target+".rels"),null!=q){w=q.getAttribute("Target");f=q.getAttribute("Type");try{var n=w.lastIndexOf("/"),w=w.substring(n+1,w.length)}catch(A){return}q="png";w={type:f,target:w}}else return}else return;null==w&&(w=h(a,m));f=w.type;w=w.target;null!=f&&function(a,
+b){var c=a.length-b.length,h=a.indexOf(b,c);return-1!==h&&h===c}(f,"image")&&(this.imageData={},(n=c.getMedia(e.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/media/"+w))?(this.imageData.iData=n,function(a,b){var c=a.length-b.length,h=a.indexOf(b,c);return-1!==h&&h===c}(w.toLowerCase(),".bmp")&&(q="jpg"),this.imageData.iType=q):(this.imageData.iData=b.ERROR_IMAGE,this.imageData.iType="svg+xml"))}else(function(a,b){return a&&a.equals?a.equals(b):a===b})(h,e.mxgraph.io.vsdx.mxVsdxConstants.TEXT)&&(this.text=
+a)};b.prototype.parseSection=function(a){var c=a.getAttribute("N");if(function(a,b){return a&&a.equals?a.equals(b):a===b}(c,"Geometry"))null==this.geom&&(this.geom=[]),this.geom.push(a);else if(function(a,b){return a&&a.equals?a.equals(b):a===b}(c,"Field")){a=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(a,"Row");for(var h=0;h<a.length;h++){var c=a[h],m=c.getAttribute("IX")||"";if(0!==m.length)if(null==this.fields&&(this.fields={}),function(a,b){return a&&a.equals?a.equals(b):a===b}("1",
+c.getAttribute("Del")))this.fields[m]="";else{for(var f=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(c,"Cell"),q="",w="",n=0;n<f.length;n++){var p=f[n],c=p.getAttribute("N"),p=p.getAttribute("V")||p.textContent||"";switch(c){case "Value":q=p;break;case "Format":w=p}}if(0!==q.length){try{if(function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(w,"{{"))var w=w.replace(/m/g,"@").replace(/M/g,"m").replace(/@/g,"M"),G=isNaN(q)?new Date(q):new Date(b.VSDX_START_TIME+Math.floor(864E5*
+parseFloat(q))),q=Graph.prototype.formatDate(G,w.replace(RegExp("\\{|\\}","g"),""))}catch(C){}this.fields[m]=q}}}}else d.prototype.parseSection.call(this,a)};b.prototype.parseGeom=function(){return this.hasGeomList()?this.geomList.getShapeXML(this):""};b.prototype.getText=function(){return null!=this.text?this.text.textContent:null};b.prototype.getTextChildren=function(){return null!=this.text?this.text.childNodes:null};b.prototype.getWidth=function(){return 0===this.width&&0<this.height?1:this.width};
b.prototype.getHeight=function(){return 0===this.height&&0<this.width?1:this.height};b.prototype.getRotation=function(){return this.rotation};b.prototype.getStyleMap=function(){return this.styleMap};b.prototype.hasGeom=function(){return!(null==this.geom||0==this.geom.length)};b.prototype.hasGeomList=function(){return null!=this.geomList&&this.geomList.hasGeom()};b.prototype.getPPList=function(a){var b=null;""!=a&&(a=this.getBullet(a),"0"!=a&&(b='<ul style="margin: 0;list-style-type: '+("4"==a?"square":
-"disc")+'">'));return b};b.prototype.getTextParagraphFormated=function(a){var b="",f={};f.align=this.getHorizontalAlign(this.pp,!0);f["margin-left"]=this.getIndentLeft(this.pp);f["margin-right"]=this.getIndentRight(this.pp);f["margin-top"]=this.getSpBefore(this.pp)+"px";f["margin-bottom"]=this.getSpAfter(this.pp)+"px";f["text-indent"]=this.getIndentFirst(this.pp);f.valign=this.getAlignVertical();f.direction=this.getTextDirection(this.pp);return b+=this.insertAttributes(a,f)};b.prototype.getTextCharFormated=
-function(a){var b="color:"+this.getTextColor(this.cp)+";",f="font-size:"+parseFloat(this.getTextSize(this.cp))+"px;",d="font-family:"+this.getTextFont(this.cp)+";",g="direction:"+this.getRtlText(this.cp)+";",q="letter-spacing:"+parseFloat(this.getLetterSpace(this.cp))/.71+"px;",w="line-height:"+this.getSpcLine(this.pp),n=";opacity:"+this.getTextOpacity(this.cp),p=this.getTextPos(this.cp),G=this.getTextCase(this.cp);(function(a,b){return a&&a.equals?a.equals(b):a===b})(G,"1")?a=a.toUpperCase():function(a,
+"disc")+'">'));return b};b.prototype.getTextParagraphFormated=function(a){var b="",h={};h.align=this.getHorizontalAlign(this.pp,!0);h["margin-left"]=this.getIndentLeft(this.pp);h["margin-right"]=this.getIndentRight(this.pp);h["margin-top"]=this.getSpBefore(this.pp)+"px";h["margin-bottom"]=this.getSpAfter(this.pp)+"px";h["text-indent"]=this.getIndentFirst(this.pp);h.valign=this.getAlignVertical();h.direction=this.getTextDirection(this.pp);return b+=this.insertAttributes(a,h)};b.prototype.getTextCharFormated=
+function(a){var b="color:"+this.getTextColor(this.cp)+";",h="font-size:"+parseFloat(this.getTextSize(this.cp))+"px;",d="font-family:"+this.getTextFont(this.cp)+";",f="direction:"+this.getRtlText(this.cp)+";",q="letter-spacing:"+parseFloat(this.getLetterSpace(this.cp))/.71+"px;",w="line-height:"+this.getSpcLine(this.pp),n=";opacity:"+this.getTextOpacity(this.cp),p=this.getTextPos(this.cp),G=this.getTextCase(this.cp);(function(a,b){return a&&a.equals?a.equals(b):a===b})(G,"1")?a=a.toUpperCase():function(a,
b){return a&&a.equals?a.equals(b):a===b}(G,"2")&&(a=e.mxgraph.io.vsdx.mxVsdxUtils.toInitialCapital(a));(function(a,b){return a&&a.equals?a.equals(b):a===b})(p,"1")?a=e.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(a,"sup"):function(a,b){return a&&a.equals?a.equals(b):a===b}(p,"2")&&(a=e.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(a,"sub"));a=this.isBold(this.cp)?e.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(a,"b"):a;a=this.isItalic(this.cp)?e.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(a,"i"):a;a=this.isUnderline(this.cp)?
-e.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(a,"u"):a;a=this.getTextStrike(this.cp)?e.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(a,"s"):a;a=this.isSmallCaps(this.cp)?e.mxgraph.io.vsdx.mxVsdxUtils.toSmallCaps(a,this.getTextSize(this.cp)):a;return""+('<font style="'+f+d+b+g+q+w+n+'">'+a+"</font>")};b.prototype.getTextDirection=function(a){a=this.getFlags(a);(function(a,b){return a&&a.equals?a.equals(b):a===b})(a,"0")?a="ltr":function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"1")&&(a="rtl");return a};
-b.prototype.getSpcLine=function(a){var b=!1;a=this.getSpLine(a);0<a?a*=e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$():(a=0===a?100:100*Math.abs(a),b=!0);return(new String(a)).toString()+(b?"%":"px")};b.prototype.getSpcBefore=function(a){return this.getSpBefore(a)};b.prototype.insertAttributes=function(a,b){if(-1!=a.indexOf(">")){var c=a.indexOf(">"),d=a.substring(c),c=a.substring(0,c),g=' style="'+e.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(b,":")+'"';return c+g+d}return a};b.prototype.getRtlText=
+e.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(a,"u"):a;a=this.getTextStrike(this.cp)?e.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(a,"s"):a;a=this.isSmallCaps(this.cp)?e.mxgraph.io.vsdx.mxVsdxUtils.toSmallCaps(a,this.getTextSize(this.cp)):a;return""+('<font style="'+h+d+b+f+q+w+n+'">'+a+"</font>")};b.prototype.getTextDirection=function(a){a=this.getFlags(a);(function(a,b){return a&&a.equals?a.equals(b):a===b})(a,"0")?a="ltr":function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"1")&&(a="rtl");return a};
+b.prototype.getSpcLine=function(a){var b=!1;a=this.getSpLine(a);0<a?a*=e.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$():(a=0===a?100:100*Math.abs(a),b=!0);return(new String(a)).toString()+(b?"%":"px")};b.prototype.getSpcBefore=function(a){return this.getSpBefore(a)};b.prototype.insertAttributes=function(a,b){if(-1!=a.indexOf(">")){var c=a.indexOf(">"),d=a.substring(c),c=a.substring(0,c),f=' style="'+e.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(b,":")+'"';return c+f+d}return a};b.prototype.getRtlText=
function(a){a=this.getCellElement$java_lang_String$java_lang_String$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.RTL_TEXT,a,e.mxgraph.io.vsdx.mxVsdxConstants.PARAGRAPH);a=this.getValue(a,"ltr");(function(a,b){return a&&a.equals?a.equals(b):a===b})(a,"0")?a="ltr":function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"1")&&(a="rtl");return a};b.prototype.isBold=function(a){var b=!1;a=this.getTextStyle(a);(function(a,b){return a&&a.equals?a.equals(b):a===b})(a,"")||function(a,b){return a&&a.equals?
a.equals(b):a===b}(a.toLowerCase(),"themed")||(b=1===(parseInt(a)&1));return b};b.prototype.isItalic=function(a){var b=!1;a=this.getTextStyle(a);(function(a,b){return a&&a.equals?a.equals(b):a===b})(a,"")||function(a,b){return a&&a.equals?a.equals(b):a===b}(a.toLowerCase(),"themed")||(b=2===(parseInt(a)&2));return b};b.prototype.isUnderline=function(a){var b=!1;a=this.getTextStyle(a);(function(a,b){return a&&a.equals?a.equals(b):a===b})(a,"")||function(a,b){return a&&a.equals?a.equals(b):a===b}(a.toLowerCase(),
"themed")||(b=4===(parseInt(a)&4));return b};b.prototype.isSmallCaps=function(a){var b=!1;a=this.getTextStyle(a);(function(a,b){return a&&a.equals?a.equals(b):a===b})(a,"")||function(a,b){return a&&a.equals?a.equals(b):a===b}(a.toLowerCase(),"themed")||(b=8===(parseInt(a)&8));return b};b.prototype.getTextOpacity=function(a){a=this.getCellElement$java_lang_String$java_lang_String$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.COLOR_TRANS,a,e.mxgraph.io.vsdx.mxVsdxConstants.CHARACTER);a=this.getValue(a,
"0");var b="1";null!=a&&0!==a.length&&(a=1-parseFloat(a),b=(new String(a)).toString());return b};b.prototype.getTextSize=function(a){a=this.getCellElement$java_lang_String$java_lang_String$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.SIZE,a,e.mxgraph.io.vsdx.mxVsdxConstants.CHARACTER);a=this.getScreenNumericalValue$org_w3c_dom_Element$double(a,12);return""+Math.floor(Math.round(100*a)/100)};b.prototype.getAlignVertical=function(){var a=mxConstants.ALIGN_MIDDLE,b=parseInt(this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.VERTICAL_ALIGN),
"1"));0===b?a=mxConstants.ALIGN_TOP:2===b&&(a=mxConstants.ALIGN_BOTTOM);return a};b.prototype.getGeomList=function(){return this.geomList};b.prototype.getLastX=function(){return this.lastX};b.prototype.getLastY=function(){return this.lastY};b.prototype.getLastMoveX=function(){return this.lastMoveX};b.prototype.getLastMoveY=function(){return this.lastMoveY};b.prototype.getLastKnot=function(){return this.lastKnot};b.prototype.setLastX=function(a){this.lastX=a};b.prototype.setLastY=function(a){this.lastY=
-a};b.prototype.setLastMoveX=function(a){this.lastMoveX=a};b.prototype.setLastMoveY=function(a){this.lastMoveY=a};b.prototype.setLastKnot=function(a){this.lastKnot=a};return b}(e.mxgraph.io.vsdx.Style);q.VSDX_START_TIME=-22091688E5;g.Shape=q;q.__class="com.mxgraph.io.vsdx.Shape"})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){(function(g){var q=function(d){function b(a,b,f,m,g,q){var c=this;c.masterShape=null;c.master=null;c.parentHeight=0;c=d.call(this,b,q)||this;c.htmlLabels=!0;c.rootShape=c;c.shapeName=null;c.shapeIndex=0;c.vertex=!0;c.childShapes={};var l=c.getMasterId(),n=c.getShapeMasterId();c.master=null!=l?m[l]?m[l]:null:g;null!=c.master&&(c.masterShape=null==l&&null!=n?c.master.getSubShape(n):c.master.getMasterShape());m=c.getNameU();g=m.lastIndexOf(".");-1!==g&&(m=m.substring(0,
-g));c.shapeName=m;b=b.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.SHAPES);null!=b&&0<b.length&&(b=b.item(0),c.childShapes=a.parseShapes(b,c.master,!1));b=c.calcRotation();c.rotation=100*b/100;c.rotation%=360;b=a.getCellIntValue("ThemeIndex",-100);-100===b&&(b=parseInt(c.getValue(c.getCellElement$java_lang_String("ThemeIndex"),"0")));q=function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===
-b)return a.entries[c].value;return null}(q.getThemes(),b);a=a.getCellIntValue("VariationColorIndex",0);c.setThemeAndVariant(q,a);b=function(a){null==a.entries&&(a.entries=[]);return a.entries}(c.childShapes);for(m=0;m<b.length;m++)g=b[m].getValue(),g.setRootShape(c),null==g.theme&&g.setThemeAndVariant(q,a);c.quickStyleVals=new e.mxgraph.io.vsdx.theme.QuickStyleVals(parseInt(c.getValue(c.getCellElement$java_lang_String("QuickStyleEffectsMatrix"),"0")),parseInt(c.getValue(c.getCellElement$java_lang_String("QuickStyleFillColor"),
+a};b.prototype.setLastMoveX=function(a){this.lastMoveX=a};b.prototype.setLastMoveY=function(a){this.lastMoveY=a};b.prototype.setLastKnot=function(a){this.lastKnot=a};return b}(e.mxgraph.io.vsdx.Style);q.VSDX_START_TIME=-22091688E5;f.Shape=q;q.__class="com.mxgraph.io.vsdx.Shape"})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){(function(f){var q=function(d){function b(a,b,h,m,f,q){var c=this;c.masterShape=null;c.master=null;c.parentHeight=0;c=d.call(this,b,q)||this;c.htmlLabels=!0;c.rootShape=c;c.shapeName=null;c.shapeIndex=0;c.vertex=!0;c.childShapes={};var k=c.getMasterId(),n=c.getShapeMasterId();c.master=null!=k?m[k]?m[k]:null:f;null!=c.master&&(c.masterShape=null==k&&null!=n?c.master.getSubShape(n):c.master.getMasterShape());m=c.getNameU();f=m.lastIndexOf(".");-1!==f&&(m=m.substring(0,
+f));c.shapeName=m;b=b.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.SHAPES);null!=b&&0<b.length&&(b=b.item(0),c.childShapes=a.parseShapes(b,c.master,!1));b=c.calcRotation();c.rotation=100*b/100;c.rotation%=360;b=a.getCellIntValue("ThemeIndex",-100);-100===b&&(b=parseInt(c.getValue(c.getCellElement$java_lang_String("ThemeIndex"),"0")));q=function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===
+b)return a.entries[c].value;return null}(q.getThemes(),b);a=a.getCellIntValue("VariationColorIndex",0);c.setThemeAndVariant(q,a);b=function(a){null==a.entries&&(a.entries=[]);return a.entries}(c.childShapes);for(m=0;m<b.length;m++)f=b[m].getValue(),f.setRootShape(c),null==f.theme&&f.setThemeAndVariant(q,a);c.quickStyleVals=new e.mxgraph.io.vsdx.theme.QuickStyleVals(parseInt(c.getValue(c.getCellElement$java_lang_String("QuickStyleEffectsMatrix"),"0")),parseInt(c.getValue(c.getCellElement$java_lang_String("QuickStyleFillColor"),
"1")),parseInt(c.getValue(c.getCellElement$java_lang_String("QuickStyleFillMatrix"),"0")),parseInt(c.getValue(c.getCellElement$java_lang_String("QuickStyleFontColor"),"1")),parseInt(c.getValue(c.getCellElement$java_lang_String("QuickStyleFontMatrix"),"0")),parseInt(c.getValue(c.getCellElement$java_lang_String("QuickStyleLineColor"),"1")),parseInt(c.getValue(c.getCellElement$java_lang_String("QuickStyleLineMatrix"),"0")),parseInt(c.getValue(c.getCellElement$java_lang_String("QuickStyleShadowColor"),
"1")),parseInt(c.getValue(c.getCellElement$java_lang_String("QuickStyleType"),"0")),parseInt(c.getValue(c.getCellElement$java_lang_String("QuickStyleVariation"),"0")));null!=c.masterShape?(c.masterShape.processGeomList(null),c.processGeomList(c.masterShape.getGeomList()),0===c.width&&(c.width=c.getScreenNumericalValue$org_w3c_dom_Element$double(c.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.WIDTH),0)),0===c.height&&(c.height=c.getScreenNumericalValue$org_w3c_dom_Element$double(c.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.HEIGHT),
-0))):c.processGeomList(null);c.vertex=f||null!=c.childShapes&&!function(a){null==a.entries&&(a.entries=[]);return 0==a.entries.length}(c.childShapes)||null!=c.geomList&&(!c.geomList.isNoFill()||1<c.geomList.getGeoCount());c.layerMember=c.getValue(c.getCellElement$java_lang_String("LayerMember"));c.layerMember&&0==c.layerMember.indexOf("0;")&&(c.layerMember=c.layerMember.substr(2));return c}__extends(b,d);b.__static_initialize=function(){b.__static_initialized||(b.__static_initialized=!0,b.__static_initializer_0())};
-b.OFFSET_ARRAY_$LI$=function(){b.__static_initialize();null==b.OFFSET_ARRAY&&(b.OFFSET_ARRAY=["Organizational unit","Domain 3D"].slice(0).slice(0));return b.OFFSET_ARRAY};b.arrowSizes_$LI$=function(){b.__static_initialize();null==b.arrowSizes&&(b.arrowSizes=[2,3,5,7,9,22,45]);return b.arrowSizes};b.arrowTypes_$LI$=function(){b.__static_initialize();return b.arrowTypes};b.__static_initializer_0=function(){b.arrowTypes={};(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=
-a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),0,mxConstants.NONE);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},
-getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),1,mxConstants.ARROW_OPEN);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),2,"blockThin");(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=
-a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),3,mxConstants.ARROW_OPEN);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},
-getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),4,mxConstants.ARROW_BLOCK);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),5,mxConstants.ARROW_CLASSIC);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=
-0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),10,mxConstants.ARROW_OVAL);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,
-value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),13,mxConstants.ARROW_BLOCK);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),14,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_BLOCK);
-(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),17,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_CLASSIC);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||
-a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),20,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_OVAL);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),
-22,b.ARROW_NO_FILL_MARKER+"diamond");(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),23,"dash");(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||
-a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),24,"ERone");(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),
-25,"ERmandOne");(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),27,"ERmany");(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===
-b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),28,"ERoneToMany");(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),
-29,"ERzeroToMany");(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),30,"ERzeroToOne");(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||
-a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),6,mxConstants.ARROW_BLOCK);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),
-7,mxConstants.ARROW_OPEN);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),8,mxConstants.ARROW_CLASSIC);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||
-a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),9,"openAsync");(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),
-11,"diamond");(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),12,mxConstants.ARROW_OPEN);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||
-a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),15,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_BLOCK);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),
-16,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_BLOCK);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),18,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_BLOCK);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=
-a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),19,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_CLASSIC);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,
-value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),21,b.ARROW_NO_FILL_MARKER+"diamond");(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),26,"ERmandOne");(function(a,b,f){null==
-a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),31,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_OVAL);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===
-b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),32,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_OVAL);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),
-33,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_OVAL);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),34,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_OVAL);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=
-a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),35,mxConstants.ARROW_OVAL);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},
-getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),36,mxConstants.ARROW_OVAL);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),37,mxConstants.ARROW_OVAL);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<
-a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),38,mxConstants.ARROW_OVAL);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,
-value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),39,mxConstants.ARROW_BLOCK);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),40,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_BLOCK);
-(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),41,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_OVAL);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||
-a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),42,mxConstants.ARROW_OVAL);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),
-43,mxConstants.ARROW_OPEN);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),44,mxConstants.ARROW_OPEN);(function(a,b,f){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||
-a.entries[c].key===b){a.entries[c].value=f;return}a.entries.push({key:b,value:f,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),45,mxConstants.ARROW_OPEN)};b.__com_mxgraph_io_vsdx_VsdxShape_LOGGER_$LI$=function(){b.__static_initialize();null==b.__com_mxgraph_io_vsdx_VsdxShape_LOGGER&&(b.__com_mxgraph_io_vsdx_VsdxShape_LOGGER={});return b.__com_mxgraph_io_vsdx_VsdxShape_LOGGER};b.prototype.getShapeNode=function(a){var b;b=this.cellElements;b=b[a]?b[a]:
+0))):c.processGeomList(null);c.vertex=h||null!=c.childShapes&&!function(a){null==a.entries&&(a.entries=[]);return 0==a.entries.length}(c.childShapes)||null!=c.geomList&&(!c.geomList.isNoFill()||1<c.geomList.getGeoCount());c.layerMember=c.getValue(c.getCellElement$java_lang_String("LayerMember"));c.layerMember&&0==c.layerMember.indexOf("0;")&&(c.layerMember=c.layerMember.substr(2));return c}__extends(b,d);b.__static_initialize=function(){b.__static_initialized||(b.__static_initialized=!0,b.__static_initializer_0())};
+b.OFFSET_ARRAY_$LI$=function(){b.__static_initialize();null==b.OFFSET_ARRAY&&(b.OFFSET_ARRAY=["Organizational unit","Domain 3D"].slice(0).slice(0));return b.OFFSET_ARRAY};b.arrowSizes_$LI$=function(){b.__static_initialize();null==b.arrowSizes&&(b.arrowSizes=[2,3,5,7,9,22,45]);return b.arrowSizes};b.arrowTypes_$LI$=function(){b.__static_initialize();return b.arrowTypes};b.__static_initializer_0=function(){b.arrowTypes={};(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=
+a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),0,mxConstants.NONE);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},
+getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),1,mxConstants.ARROW_OPEN);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),2,"blockThin");(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=
+a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),3,mxConstants.ARROW_OPEN);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},
+getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),4,mxConstants.ARROW_BLOCK);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),5,mxConstants.ARROW_CLASSIC);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=
+0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),10,mxConstants.ARROW_OVAL);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,
+value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),13,mxConstants.ARROW_BLOCK);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),14,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_BLOCK);
+(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),17,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_CLASSIC);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||
+a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),20,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_OVAL);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),
+22,b.ARROW_NO_FILL_MARKER+"diamond");(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),23,"dash");(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||
+a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),24,"ERone");(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),
+25,"ERmandOne");(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),27,"ERmany");(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===
+b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),28,"ERoneToMany");(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),
+29,"ERzeroToMany");(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),30,"ERzeroToOne");(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||
+a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),6,mxConstants.ARROW_BLOCK);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),
+7,mxConstants.ARROW_OPEN);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),8,mxConstants.ARROW_CLASSIC);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||
+a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),9,"openAsync");(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),
+11,"diamond");(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),12,mxConstants.ARROW_OPEN);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||
+a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),15,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_BLOCK);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),
+16,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_BLOCK);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),18,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_BLOCK);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=
+a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),19,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_CLASSIC);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,
+value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),21,b.ARROW_NO_FILL_MARKER+"diamond");(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),26,"ERmandOne");(function(a,b,h){null==
+a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),31,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_OVAL);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===
+b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),32,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_OVAL);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),
+33,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_OVAL);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),34,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_OVAL);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=
+a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),35,mxConstants.ARROW_OVAL);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},
+getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),36,mxConstants.ARROW_OVAL);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),37,mxConstants.ARROW_OVAL);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<
+a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),38,mxConstants.ARROW_OVAL);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,
+value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),39,mxConstants.ARROW_BLOCK);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),40,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_BLOCK);
+(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),41,b.ARROW_NO_FILL_MARKER+mxConstants.ARROW_OVAL);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||
+a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),42,mxConstants.ARROW_OVAL);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),
+43,mxConstants.ARROW_OPEN);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),44,mxConstants.ARROW_OPEN);(function(a,b,h){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||
+a.entries[c].key===b){a.entries[c].value=h;return}a.entries.push({key:b,value:h,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),45,mxConstants.ARROW_OPEN)};b.__com_mxgraph_io_vsdx_VsdxShape_LOGGER_$LI$=function(){b.__static_initialize();null==b.__com_mxgraph_io_vsdx_VsdxShape_LOGGER&&(b.__com_mxgraph_io_vsdx_VsdxShape_LOGGER={});return b.__com_mxgraph_io_vsdx_VsdxShape_LOGGER};b.prototype.getShapeNode=function(a){var b;b=this.cellElements;b=b[a]?b[a]:
null;return null==b&&null!=this.masterShape?this.masterShape.getCellElement$java_lang_String(a):b};b.prototype.getTextLabel=function(){var a;a=this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.HIDE_TEXT),"0");a="1".equals?"1".equals(a):"1"===a;if(a)return null;a=this.getTextChildren();null==a&&null!=this.masterShape&&(a=this.masterShape.getTextChildren());if(this.htmlLabels){if(null!=a)return this.styleMap[mxConstants.STYLE_VERTICAL_ALIGN]=this.getAlignVertical(),
-this.styleMap[mxConstants.STYLE_ALIGN]=this.getHorizontalAlign("0",!1),this.getHtmlTextContent(a)}else return a=this.getText(),null==a&&null!=this.masterShape?this.masterShape.getText():a;return null};b.prototype.getIndex=function(a){a=a.getAttribute("IX")||"";return 0===a.length?"0":a};b.prototype.initLabels=function(a){this.paragraphs={};for(var b=null,f=null,d=null,g=0;g<a.length;g++){var q;q=a.item(g);switch(q.nodeName){case "cp":b=this.getIndex(q);break;case "tp":this.getIndex(q);break;case "pp":f=
-this.getIndex(q);break;case "fld":d=this.getIndex(q);break;case "#text":q=q.textContent;var n;n=this.paragraphs;n=n[f]?n[f]:null;null==n?(n=new e.mxgraph.io.vsdx.Paragraph(q,b,f,d),this.paragraphs[f]=n):n.addText(q,b,d)}}};b.prototype.createHybridLabel=function(a){var b=function(a,b){return a[b]?a[b]:null}(this.paragraphs,a);this.styleMap[mxConstants.STYLE_ALIGN]=this.getHorizontalAlign(a,!1);this.styleMap[mxConstants.STYLE_SPACING_LEFT]=this.getIndentLeft(a);this.styleMap[mxConstants.STYLE_SPACING_RIGHT]=
-this.getIndentRight(a);this.styleMap[mxConstants.STYLE_SPACING_TOP]=this.getSpBefore(a);this.styleMap[mxConstants.STYLE_SPACING_BOTTOM]=this.getSpAfter(a);this.styleMap[mxConstants.STYLE_VERTICAL_ALIGN]=this.getAlignVertical();this.styleMap.fontColor=this.getTextColor(a);this.styleMap.fontSize=this.getTextSize(a);this.styleMap.fontFamily=this.getTextFont(a);var f=this.isBold(a)?mxConstants.FONT_BOLD:0,f=f|(this.isItalic(a)?mxConstants.FONT_ITALIC:0),f=f|(this.isUnderline(a)?mxConstants.FONT_UNDERLINE:
-0);this.styleMap.fontStyle=(new String(f)).toString();a=b.numValues();for(var f=null,d=0;d<a;d++){var e=b.getValue(d);if(0===e.length&&null!=this.fields){var g=b.getField(d);null!=g&&(e=function(a,b){return a[b]?a[b]:null}(this.fields,g),null==e&&null!=this.masterShape&&null!=this.masterShape.fields&&(e=function(a,b){return a[b]?a[b]:null}(this.masterShape.fields,g)))}null!=e&&(f=null==f?e:f+e)}return f};b.prototype.getHtmlTextContent=function(a){function b(a){a=e.mxgraph.io.vsdx.mxVsdxUtils.htmlEntities(a);
-q&&(a="<li>"+a,q=!1);g?(a=a.split("\n"),a[a.length-1]||(a.pop(),q=!0),a=a.join("</li><li>")):a=a.replace(RegExp("\n","g"),"<br/>").replace(new RegExp(e.mxgraph.io.vsdx.Shape.UNICODE_LINE_SEP,"g"),"<br/>");return this.getTextCharFormated(a)}var f="",d=!0,g=!1,q=!1;if(null!=a&&0<a.length)for(var n=0;n<a.length;n++){var p=a.item(n);(function(a,b){return a&&a.equals?a.equals(b):a===b})(p.nodeName,"cp")?this.cp=this.getIndex(p):function(a,b){return a&&a.equals?a.equals(b):a===b}(p.nodeName,"tp")?this.tp=
-this.getIndex(p):function(a,b){return a&&a.equals?a.equals(b):a===b}(p.nodeName,"pp")?(this.pp=this.getIndex(p),g&&(f+="</li></ul>"),d?d=!1:f+="</p>",f+=this.getTextParagraphFormated("<p>"),p=this.getPPList(this.pp),q=g=null!=p,f+=g?p:""):function(a,b){return a&&a.equals?a.equals(b):a===b}(p.nodeName,"fld")?(this.fld=this.getIndex(p),p=null,null!=this.fields&&(p=function(a,b){return a[b]?a[b]:null}(this.fields,this.fld)),null==p&&null!=this.masterShape&&null!=this.masterShape.fields&&(p=function(a,
-b){return a[b]?a[b]:null}(this.masterShape.fields,this.fld)),null!=p&&(f+=b.call(this,p))):function(a,b){return a&&a.equals?a.equals(b):a===b}(p.nodeName,"#text")&&(p=p.textContent,f+=b.call(this,p))}g&&(f+="</li></ul>");f+=d?"":"</p>";e.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(f,"div");return f};b.prototype.isConnectorBigNameU=function(a){return function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(a,"60 degree single")||function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===
+this.styleMap[mxConstants.STYLE_ALIGN]=this.getHorizontalAlign("0",!1),this.getHtmlTextContent(a)}else return a=this.getText(),null==a&&null!=this.masterShape?this.masterShape.getText():a;return null};b.prototype.getIndex=function(a){a=a.getAttribute("IX")||"";return 0===a.length?"0":a};b.prototype.initLabels=function(a){this.paragraphs={};for(var b=null,h=null,d=null,f=0;f<a.length;f++){var q;q=a.item(f);switch(q.nodeName){case "cp":b=this.getIndex(q);break;case "tp":this.getIndex(q);break;case "pp":h=
+this.getIndex(q);break;case "fld":d=this.getIndex(q);break;case "#text":q=q.textContent;var n;n=this.paragraphs;n=n[h]?n[h]:null;null==n?(n=new e.mxgraph.io.vsdx.Paragraph(q,b,h,d),this.paragraphs[h]=n):n.addText(q,b,d)}}};b.prototype.createHybridLabel=function(a){var b=function(a,b){return a[b]?a[b]:null}(this.paragraphs,a);this.styleMap[mxConstants.STYLE_ALIGN]=this.getHorizontalAlign(a,!1);this.styleMap[mxConstants.STYLE_SPACING_LEFT]=this.getIndentLeft(a);this.styleMap[mxConstants.STYLE_SPACING_RIGHT]=
+this.getIndentRight(a);this.styleMap[mxConstants.STYLE_SPACING_TOP]=this.getSpBefore(a);this.styleMap[mxConstants.STYLE_SPACING_BOTTOM]=this.getSpAfter(a);this.styleMap[mxConstants.STYLE_VERTICAL_ALIGN]=this.getAlignVertical();this.styleMap.fontColor=this.getTextColor(a);this.styleMap.fontSize=this.getTextSize(a);this.styleMap.fontFamily=this.getTextFont(a);var d=this.isBold(a)?mxConstants.FONT_BOLD:0,d=d|(this.isItalic(a)?mxConstants.FONT_ITALIC:0),d=d|(this.isUnderline(a)?mxConstants.FONT_UNDERLINE:
+0);this.styleMap.fontStyle=(new String(d)).toString();a=b.numValues();for(var d=null,e=0;e<a;e++){var f=b.getValue(e);if(0===f.length&&null!=this.fields){var q=b.getField(e);null!=q&&(f=function(a,b){return a[b]?a[b]:null}(this.fields,q),null==f&&null!=this.masterShape&&null!=this.masterShape.fields&&(f=function(a,b){return a[b]?a[b]:null}(this.masterShape.fields,q)))}null!=f&&(d=null==d?f:d+f)}return d};b.prototype.getHtmlTextContent=function(a){function b(a){a=e.mxgraph.io.vsdx.mxVsdxUtils.htmlEntities(a);
+q&&(a="<li>"+a,q=!1);k?(a=a.split("\n"),a[a.length-1]||(a.pop(),q=!0),a=a.join("</li><li>")):a=a.replace(RegExp("\n","g"),"<br/>").replace(new RegExp(e.mxgraph.io.vsdx.Shape.UNICODE_LINE_SEP,"g"),"<br/>");return this.getTextCharFormated(a)}var d="",f=!0,k=!1,q=!1;if(null!=a&&0<a.length)for(var n=0;n<a.length;n++){var p=a.item(n);(function(a,b){return a&&a.equals?a.equals(b):a===b})(p.nodeName,"cp")?this.cp=this.getIndex(p):function(a,b){return a&&a.equals?a.equals(b):a===b}(p.nodeName,"tp")?this.tp=
+this.getIndex(p):function(a,b){return a&&a.equals?a.equals(b):a===b}(p.nodeName,"pp")?(this.pp=this.getIndex(p),k&&(d+="</li></ul>"),f?f=!1:d+="</p>",d+=this.getTextParagraphFormated("<p>"),p=this.getPPList(this.pp),q=k=null!=p,d+=k?p:""):function(a,b){return a&&a.equals?a.equals(b):a===b}(p.nodeName,"fld")?(this.fld=this.getIndex(p),p=null,null!=this.fields&&(p=function(a,b){return a[b]?a[b]:null}(this.fields,this.fld)),null==p&&null!=this.masterShape&&null!=this.masterShape.fields&&(p=function(a,
+b){return a[b]?a[b]:null}(this.masterShape.fields,this.fld)),null!=p&&(d+=b.call(this,p))):function(a,b){return a&&a.equals?a.equals(b):a===b}(p.nodeName,"#text")&&(p=p.textContent,d+=b.call(this,p))}k&&(d+="</li></ul>");d+=f?"":"</p>";e.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(d,"div");return d};b.prototype.isConnectorBigNameU=function(a){return function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(a,"60 degree single")||function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===
b}(a,"45 degree single")||function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(a,"45 degree double")||function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(a,"60 degree double")||function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(a,"45 degree tail")||function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(a,"60 degree tail")||function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(a,"45 degree tail")||function(a,b,d){void 0===d&&(d=
0);return a.substr(d,b.length)===b}(a,"60 degree tail")||function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(a,"Flexi-arrow 2")||function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(a,"Flexi-arrow 1")||function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(a,"Flexi-arrow 3")||function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(a,"Double flexi-arrow")||function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(a,"Fancy arrow")};b.prototype.isVertex=
-function(){return this.vertex};b.prototype.getOriginPoint=function(a,b){var c=this.getPinX(),d=this.getPinY(),g=this.getLocPinY(),q=this.getLocPinX(),n=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.WIDTH),0),p=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.HEIGHT),0),c=c-q,d=a-(d+(p-g));return!b||g===p/2&&q===n/2||0===this.rotation?new mxPoint(c,d):(q=n/2-q,g-=p/2,p=Math.cos((360-
-this.rotation)*Math.PI/180),n=Math.sin((360-this.rotation)*Math.PI/180),new mxPoint(c+q-(q*p-g*n),q*n+g*p+d-g))};b.prototype.getDimensions=function(){var a=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.WIDTH),0),b=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.HEIGHT),0);return new mxPoint(0===a&&0<b?1:a,0===b&&0<a?1:b)};b.prototype.getPinX=function(){return this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.PIN_X),
+function(){return this.vertex};b.prototype.getOriginPoint=function(a,b){var c=this.getPinX(),d=this.getPinY(),f=this.getLocPinY(),q=this.getLocPinX(),n=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.WIDTH),0),p=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.HEIGHT),0),c=c-q,d=a-(d+(p-f));return!b||f===p/2&&q===n/2||0===this.rotation?new mxPoint(c,d):(q=n/2-q,f-=p/2,p=Math.cos((360-
+this.rotation)*Math.PI/180),n=Math.sin((360-this.rotation)*Math.PI/180),new mxPoint(c+q-(q*p-f*n),q*n+f*p+d-f))};b.prototype.getDimensions=function(){var a=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.WIDTH),0),b=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.HEIGHT),0);return new mxPoint(0===a&&0<b?1:a,0===b&&0<a?1:b)};b.prototype.getPinX=function(){return this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.PIN_X),
0)};b.prototype.getPinY=function(){return this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.PIN_Y),0)};b.prototype.getLocPinX=function(){return this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.LOC_PIN_X),0)};b.prototype.getLocPinY=function(){return this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.LOC_PIN_Y),0)};b.prototype.getOpacity=
function(a){this.isGroup();a=this.getValueAsDouble(this.getCellElement$java_lang_String(a),0);a=Math.max(100-100*a,0);return a=Math.min(a,100)};b.prototype.getGradient=function(){if(function(a,b){return a&&a.equals?a.equals(b):a===b}("1",this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.FILL_GRADIENT_ENABLED),"0"))){var a=function(a,b){return a[b]?a[b]:null}(this.sections,"FillGradient");if(null!=a){var b=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(a.elem,
"Row"),a=this.getColor(a.getIndexedCell(b[b.length-1].getAttribute("IX"),"GradientStopColor"));if(null!=a&&0!==a.length)return a}}a="";b=this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.FILL_PATTERN),"0");25<=parseInt(b)?a=this.getColor(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.FILL_BKGND)):(b=this.getTheme(),null!=b&&(b=b.getFillGraientColor(this.getQuickStyleVals()),null!=b&&(a=b.toHexStr())));return a};b.prototype.getGradientDirection=
function(){var a="",b=this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.FILL_PATTERN),"0");(function(a,b){return a&&a.equals?a.equals(b):a===b})(b,"25")?a=mxConstants.DIRECTION_EAST:function(a,b){return a&&a.equals?a.equals(b):a===b}(b,"27")?a=mxConstants.DIRECTION_WEST:function(a,b){return a&&a.equals?a.equals(b):a===b}(b,"28")?a=mxConstants.DIRECTION_SOUTH:function(a,b){return a&&a.equals?a.equals(b):a===b}(b,"30")&&(a=mxConstants.DIRECTION_NORTH);return a};b.prototype.calcRotation=
function(){var a=parseFloat(this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.ANGLE),"0")),a=180*a/Math.PI;return 360-a%360*100/100};b.prototype.propagateRotation=function(a){this.rotation+=a;this.rotation%=360;this.rotation=100*this.rotation/100};b.prototype.getTopSpacing=function(){return 100*(this.getTextTopMargin()/2-2.8)/100};b.prototype.getBottomSpacing=function(){return 100*(this.getTextBottomMargin()/2-2.8)/100};b.prototype.getLeftSpacing=function(){return 100*
(this.getTextLeftMargin()/2-2.8)/100};b.prototype.getRightSpacing=function(){return 100*(this.getTextRightMargin()/2-2.8)/100};b.prototype.getLabelRotation=function(){var a=!0,b=this.calcRotation(),d=parseFloat(this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_ANGLE),"0")),d=180*d/Math.PI,d=d-b;45>Math.abs(d)||270<Math.abs(d)||(a=!1);return a};b.prototype.getHyperlink=function(){var a=this.getCellElement$java_lang_String$java_lang_String$java_lang_String("Address",
-null,"Hyperlink"),a=this.getValue(a,""),b=this.getCellElement$java_lang_String$java_lang_String$java_lang_String("SubAddress",null,"Hyperlink"),b=this.getValue(b,"");return{extLink:a,pageLink:b}};b.prototype.getProperties=function(){var a=[];if(this.sections&&this.sections.Property)for(var b=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(this.sections.Property.elem,"Row"),d=0;d<b.length;d++)for(var g=b[d],l=g.getAttribute("N"),g=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(g),q=
-0;q<g.length;q++){var n=g[q];if("Value"==n.getAttribute("N")){a.push({key:l,val:n.getAttribute("V")});break}}return a};b.prototype.getStyleFromShape=function(){this.styleMap[e.mxgraph.io.vsdx.mxVsdxConstants.VSDX_ID]=this.getId().toString();this.rotation=Math.round(this.rotation);0!==this.rotation&&(this.styleMap[mxConstants.STYLE_ROTATION]=""+this.rotation);var a=this.getFillColor();(function(a,b){return a&&a.equals?a.equals(b):a===b})(a,"")?this.styleMap[mxConstants.STYLE_FILLCOLOR]="none":this.styleMap[mxConstants.STYLE_FILLCOLOR]=
+null,"Hyperlink"),a=this.getValue(a,""),b=this.getCellElement$java_lang_String$java_lang_String$java_lang_String("SubAddress",null,"Hyperlink"),b=this.getValue(b,"");return{extLink:a,pageLink:b}};b.prototype.getProperties=function(){var a=[];if(this.sections&&this.sections.Property)for(var b=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(this.sections.Property.elem,"Row"),d=0;d<b.length;d++)for(var f=b[d],k=f.getAttribute("N"),f=e.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(f),q=
+0;q<f.length;q++){var n=f[q];if("Value"==n.getAttribute("N")){a.push({key:k,val:n.getAttribute("V")});break}}return a};b.prototype.getStyleFromShape=function(){this.styleMap[e.mxgraph.io.vsdx.mxVsdxConstants.VSDX_ID]=this.getId().toString();this.rotation=Math.round(this.rotation);0!==this.rotation&&(this.styleMap[mxConstants.STYLE_ROTATION]=""+this.rotation);var a=this.getFillColor();(function(a,b){return a&&a.equals?a.equals(b):a===b})(a,"")?this.styleMap[mxConstants.STYLE_FILLCOLOR]="none":this.styleMap[mxConstants.STYLE_FILLCOLOR]=
a;var b=this.getId();this.styleDebug("ID = "+b+" , Fill Color = "+a);a=this.getGradient();(function(a,b){return a&&a.equals?a.equals(b):a===b})(a,"")?this.styleMap[mxConstants.STYLE_GRADIENTCOLOR]="none":(this.styleMap[mxConstants.STYLE_GRADIENTCOLOR]=a,a=this.getGradientDirection(),function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"")||function(a,b){return a&&a.equals?a.equals(b):a===b}(a,mxConstants.DIRECTION_SOUTH)||(this.styleMap[mxConstants.STYLE_GRADIENT_DIRECTION]=a));a=this.getOpacity(e.mxgraph.io.vsdx.mxVsdxConstants.FILL_FOREGND_TRANS);
100>a&&(this.styleMap[mxConstants.STYLE_FILL_OPACITY]=""+a);a=this.getOpacity(e.mxgraph.io.vsdx.mxVsdxConstants.LINE_COLOR_TRANS);100>a&&(this.styleMap[mxConstants.STYLE_STROKE_OPACITY]=""+a);a=this.getForm();a.hasOwnProperty(mxConstants.STYLE_SHAPE)&&function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(function(a,b){return a[b]?a[b]:null}(a,mxConstants.STYLE_SHAPE),"image;")&&(this.styleMap[mxConstants.STYLE_WHITE_SPACE]="wrap");for(var d in a)this.styleMap[d]=a[d];this.isDashed()&&
-(this.styleMap[mxConstants.STYLE_DASHED]="1",d=this.getDashPattern(),null!=d&&(this.styleMap[mxConstants.STYLE_DASH_PATTERN]=d));d=this.getStrokeColor();var g=this.getStrokeTransparency();this.styleDebug("ID = "+b+" , Color = "+d+" , stroke transparency = "+g);(function(a,b){return a&&a.equals?a.equals(b):a===b})(d,"")||1===g||(this.styleMap[mxConstants.STYLE_STROKECOLOR]=d);b=Math.round(this.getLineWidth())|0;1!==b&&(this.styleMap[mxConstants.STYLE_STROKEWIDTH]=""+b);this.isShadow()&&(this.styleMap[mxConstants.STYLE_SHADOW]=
+(this.styleMap[mxConstants.STYLE_DASHED]="1",d=this.getDashPattern(),null!=d&&(this.styleMap[mxConstants.STYLE_DASH_PATTERN]=d));d=this.getStrokeColor();var f=this.getStrokeTransparency();this.styleDebug("ID = "+b+" , Color = "+d+" , stroke transparency = "+f);(function(a,b){return a&&a.equals?a.equals(b):a===b})(d,"")||1===f||(this.styleMap[mxConstants.STYLE_STROKECOLOR]=d);b=Math.round(this.getLineWidth())|0;1!==b&&(this.styleMap[mxConstants.STYLE_STROKEWIDTH]=""+b);this.isShadow()&&(this.styleMap[mxConstants.STYLE_SHADOW]=
e.mxgraph.io.vsdx.mxVsdxConstants.TRUE);b=Math.round(this.getTopSpacing())|0;0!==b&&(this.styleMap[mxConstants.STYLE_SPACING_TOP]=""+b);b=Math.round(this.getBottomSpacing())|0;0!==b&&(this.styleMap[mxConstants.STYLE_SPACING_BOTTOM]=""+b);b=Math.round(this.getLeftSpacing())|0;0!==b&&(this.styleMap[mxConstants.STYLE_SPACING_LEFT]=""+b);b=Math.round(this.getRightSpacing())|0;0!==b&&(this.styleMap[mxConstants.STYLE_SPACING_RIGHT]=""+b);a=this.getDirection(a);a!==mxConstants.DIRECTION_EAST&&(this.styleMap[mxConstants.STYLE_DIRECTION]=
a);a=this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.FLIP_X),"0");b=this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.FLIP_Y),"0");(function(a,b){return a&&a.equals?a.equals(b):a===b})("1",a)&&(this.styleMap[mxConstants.STYLE_FLIPH]="1");(function(a,b){return a&&a.equals?a.equals(b):a===b})("1",b)&&(this.styleMap[mxConstants.STYLE_FLIPV]="1");this.resolveCommonStyles();return this.styleMap};b.prototype.getDashPattern=function(){var a=
-null,b=this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.LINE_PATTERN),"0");(b&&b.equals?b.equals("Themed"):"Themed"===b)?(b=this.getTheme(),null!=b&&(a=this.isVertex()?b.getLineDashPattern$com_mxgraph_io_vsdx_theme_QuickStyleVals(this.getQuickStyleVals()):b.getConnLineDashPattern(this.getQuickStyleVals()))):a=g.Style.getLineDashPattern(parseInt(b));if(null!=a&&0!=a.length){for(var b="",d=0;d<a.length;d++)b=b.concat(a[d].toFixed(2)+" ");return b.trim()}return null};
+null,b=this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.LINE_PATTERN),"0");(b&&b.equals?b.equals("Themed"):"Themed"===b)?(b=this.getTheme(),null!=b&&(a=this.isVertex()?b.getLineDashPattern$com_mxgraph_io_vsdx_theme_QuickStyleVals(this.getQuickStyleVals()):b.getConnLineDashPattern(this.getQuickStyleVals()))):a=f.Style.getLineDashPattern(parseInt(b));if(null!=a&&0!=a.length){for(var b="",d=0;d<a.length;d++)b=b.concat(a[d].toFixed(2)+" ");return b.trim()}return null};
b.prototype.isDashed=function(){var a=this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.LINE_PATTERN),"0");if(function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"Themed")){if(a=this.getTheme(),null!=a)return this.isVertex()?a.isLineDashed$com_mxgraph_io_vsdx_theme_QuickStyleVals(this.getQuickStyleVals()):a.isConnLineDashed(this.getQuickStyleVals())}else if(!function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"0")&&!function(a,b){return a&&a.equals?a.equals(b):
-a===b}(a,"1"))return!0;return!1};b.prototype.getLineWidth=function(){var a=this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.LINE_WEIGHT),"1"),b=1;try{var d;d=a&&a.equals?a.equals("Themed"):"Themed"===a;if(d){var g=this.getTheme();null!=g&&(b=(this.isVertex()?g.getLineWidth$com_mxgraph_io_vsdx_theme_QuickStyleVals(this.getQuickStyleVals()):g.getConnLineWidth(this.getQuickStyleVals()))/1E4)}else b=parseFloat(a),b=this.getScreenNumericalValue$double(b)}catch(l){}1>
-b&&(b*=2);return b};b.prototype.getStartArrowSize=function(){var a=this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.BEGIN_ARROW_SIZE),"4");try{var c=4,d;d=a&&a.equals?a.equals("Themed"):"Themed"===a;if(d){var g=this.getTheme();null!=g&&(c=this.isVertex()?g.getStartSize(this.getQuickStyleVals()):g.getConnStartSize(this.getQuickStyleVals()))}else c=parseFloat(a);return b.arrowSizes_$LI$()[c]}catch(l){}return 4};b.prototype.getFinalArrowSize=function(){var a=this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.END_ARROW_SIZE),
-"4");try{var c=4,d;d=a&&a.equals?a.equals("Themed"):"Themed"===a;if(d){var g=this.getTheme();null!=g&&(c=this.isVertex()?g.getEndSize(this.getQuickStyleVals()):g.getConnEndSize(this.getQuickStyleVals()))}else c=parseFloat(a);return b.arrowSizes_$LI$()[c]}catch(l){}return 4};b.prototype.getRounding=function(){var a=this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.ROUNDING),"0"),b;b=a;b="Themed".equals?"Themed".equals(b):"Themed"===b;b&&(a="0");return parseFloat(a)};
+a===b}(a,"1"))return!0;return!1};b.prototype.getLineWidth=function(){var a=this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.LINE_WEIGHT),"1"),b=1;try{var d;d=a&&a.equals?a.equals("Themed"):"Themed"===a;if(d){var f=this.getTheme();null!=f&&(b=(this.isVertex()?f.getLineWidth$com_mxgraph_io_vsdx_theme_QuickStyleVals(this.getQuickStyleVals()):f.getConnLineWidth(this.getQuickStyleVals()))/1E4)}else b=parseFloat(a),b=this.getScreenNumericalValue$double(b)}catch(k){}1>
+b&&(b*=2);return b};b.prototype.getStartArrowSize=function(){var a=this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.BEGIN_ARROW_SIZE),"4");try{var c=4,d;d=a&&a.equals?a.equals("Themed"):"Themed"===a;if(d){var f=this.getTheme();null!=f&&(c=this.isVertex()?f.getStartSize(this.getQuickStyleVals()):f.getConnStartSize(this.getQuickStyleVals()))}else c=parseFloat(a);return b.arrowSizes_$LI$()[c]}catch(k){}return 4};b.prototype.getFinalArrowSize=function(){var a=this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.END_ARROW_SIZE),
+"4");try{var c=4,d;d=a&&a.equals?a.equals("Themed"):"Themed"===a;if(d){var f=this.getTheme();null!=f&&(c=this.isVertex()?f.getEndSize(this.getQuickStyleVals()):f.getConnEndSize(this.getQuickStyleVals()))}else c=parseFloat(a);return b.arrowSizes_$LI$()[c]}catch(k){}return 4};b.prototype.getRounding=function(){var a=this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.ROUNDING),"0"),b;b=a;b="Themed".equals?"Themed".equals(b):"Themed"===b;b&&(a="0");return parseFloat(a)};
b.prototype.isShadow=function(){var a=this.getValue(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.SHDW_PATTERN),"0");return function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"Themed")||function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"0")?!1:!0};b.prototype.getEdgeStyle$java_util_Map=function(a){var b={};(function(a,b){return a&&a.equals?a.equals(b):a===b})(function(a,b){return a[b]?a[b]:null}(a,mxConstants.STYLE_SHAPE),"mxgraph.lean_mapping.electronic_info_flow_edge")?
b[mxConstants.STYLE_EDGE]=mxConstants.NONE:b[mxConstants.STYLE_EDGE]=mxConstants.EDGESTYLE_ELBOW;return b};b.prototype.getEdgeStyle=function(a){if(null!=a&&a instanceof Object||null===a)return this.getEdgeStyle$java_util_Map(a);if(void 0===a)return this.getEdgeStyle$();throw Error("invalid overload");};b.prototype.getMasterId=function(){return this.shape.hasAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.MASTER)?this.shape.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.MASTER):null};b.prototype.getShapeMasterId=
function(){return this.shape.hasAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.MASTER_SHAPE)?this.shape.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.MASTER_SHAPE):null};b.prototype.isGroup=function(){var a;a=(a=this.shape.getAttribute("Type"))&&a.equals?a.equals("Group"):"Group"===a;return a};b.getType=function(a){return a.getAttribute("Type")};b.prototype.getMaster=function(){return this.master};b.prototype.getNameU=function(){var a=this.shape.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.NAME_U)||
"",b;(b=null==a)||(b=(b=a)&&b.equals?b.equals(""):""===b);b&&null!=this.masterShape&&(a=this.masterShape.getNameU());return a};b.prototype.getName=function(){var a=this.shape.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.NAME),b;(b=null==a)||(b=(b=a)&&b.equals?b.equals(""):""===b);b&&null!=this.masterShape&&(a=this.masterShape.getName());return a};b.prototype.getMasterName=function(){return this.shapeName};b.prototype.setLabelOffset=function(a,b){var c="",d="";this.shape.hasAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.NAME_U)&&
-(c=this.shape.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.NAME_U));null!=this.getMaster()&&null!=this.getMaster().getMasterElement()&&this.getMaster().getMasterElement().hasAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.NAME_U)&&(d=this.getMaster().getMasterElement().getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.NAME_U));if(function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(c,"Organizational unit")||function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(d,"Organizational unit")){var g=
-this.shape.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.CONTROL).item(0),c=null,c="0.0",d=null,d="-0.4";null!=g&&(c=g.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.X).item(0),c=c.hasAttribute("F")?c.getAttribute("F"):c.textContent,d=g.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.Y).item(0),d=d.hasAttribute("F")?d.getAttribute("F"):d.textContent);g=a.getGeometry();c=c.split("Width/2+").join("");c=c.split("DL").join("");d=d.split("Height*").join("");(function(a,b){return a&&
-a.equals?a.equals(b):a===b})(c,"Inh")&&(c="0.0");(function(a,b){return a&&a.equals?a.equals(b):a===b})(d,"Inh")&&(d="-0.4");-1!=d.indexOf("txtHeight")&&(d="-0.4");for(var q=b.split(";"),n="",p=0;p<q.length;p++){var A=q[p],A=A.trim();(function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b})(A,"tabHeight=")&&(n=A.split("tabHeight=").join(""))}(function(a,b){return a&&a.equals?a.equals(b):a===b})(n,"")&&(n="20");q=parseFloat(n);c=parseFloat(c);d=parseFloat(d);n=g.height;c=.1*g.width+100*c;
-c=new mxPoint(c,n-n*d-q/2);a.getGeometry().offset=c}else if(function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(c,"Domain 3D")||function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(d,"Domain 3D")){g=this.shape.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.CONTROL).item(0);c=null;c="0.0";d=null;d="-0.4";null!=g&&(c=g.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.X).item(0),c=c.getAttribute("F")||"",d=g.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.Y).item(0),
-d=d.getAttribute("F")||"");g=a.getGeometry();c=c.split("Width/2+").join("");c=c.split("DL").join("");d=d.split("Height*").join("");if(function(a,b){return a&&a.equals?a.equals(b):a===b}(c,"Inh")||function(a,b){return a&&a.equals?a.equals(b):a===b}(c,""))c="0.0";if(function(a,b){return a&&a.equals?a.equals(b):a===b}(d,"Inh")||function(a,b){return a&&a.equals?a.equals(b):a===b}(d,""))d="-0.4";-1!=d.indexOf("txtHeight")&&(d="-0.4");c=parseFloat(c);d=parseFloat(d);n=g.height;c=.1*g.width+100*c;c=new mxPoint(c,
-n-n*d);a.getGeometry().offset=c}};b.prototype.getForm=function(){var a={};if(this.isVertex())try{var c=b.getType(this.getShape());this.styleDebug("shape type = "+c);if(null!=this.imageData||function(a,b){return a&&a.equals?a.equals(b):a===b}(e.mxgraph.io.vsdx.mxVsdxConstants.FOREIGN,c)&&null!=this.masterShape&&null!=this.masterShape.imageData){var d=null!=this.imageData?this.imageData:this.masterShape.imageData;a.shape="image";a.aspect="fixed";var g=function(a,b){return a[b]?a[b]:null}(d,"iType"),
-l=function(a,b){return a[b]?a[b]:null}(d,"iData"),q=parseFloat(this.getValue(this.getCellElement$java_lang_String("ImgOffsetX"),"0")),n=parseFloat(this.getValue(this.getCellElement$java_lang_String("ImgOffsetY"),"0")),p=parseFloat(this.getValue(this.getCellElement$java_lang_String("ImgWidth"),"0")),A=parseFloat(this.getValue(this.getCellElement$java_lang_String("ImgHeight"),"0")),G=parseFloat(this.getValue(this.getCellElement$java_lang_String("Width"),"0")),B=parseFloat(this.getValue(this.getCellElement$java_lang_String("Height"),
-"0"));0!=q||0!=n?this.toBeCroppedImg={imgOffsetX:q,imgOffsetY:n,imgWidth:p,imgHeight:A,width:G,height:B,iType:g,iData:l}:a.image="data:image/"+g+","+l;return a}var E=this.parseGeom();if(function(a,b){return a&&a.equals?a.equals(b):a===b}(E,""))return this.styleDebug("No geom found"),a;var D=Graph.compress(E);a[mxConstants.STYLE_SHAPE]="stencil("+D+")"}catch(K){console.error(K.message,K)}else return this.getEdgeStyle();return a};b.prototype.isOff_page_reference=function(){var a=this.getNameU();return function(a,
+(c=this.shape.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.NAME_U));null!=this.getMaster()&&null!=this.getMaster().getMasterElement()&&this.getMaster().getMasterElement().hasAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.NAME_U)&&(d=this.getMaster().getMasterElement().getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.NAME_U));if(function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(c,"Organizational unit")||function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(d,"Organizational unit")){var f=
+this.shape.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.CONTROL).item(0),c=null,c="0.0",d=null,d="-0.4";null!=f&&(c=f.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.X).item(0),c=c.hasAttribute("F")?c.getAttribute("F"):c.textContent,d=f.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.Y).item(0),d=d.hasAttribute("F")?d.getAttribute("F"):d.textContent);f=a.getGeometry();c=c.split("Width/2+").join("");c=c.split("DL").join("");d=d.split("Height*").join("");(function(a,b){return a&&
+a.equals?a.equals(b):a===b})(c,"Inh")&&(c="0.0");(function(a,b){return a&&a.equals?a.equals(b):a===b})(d,"Inh")&&(d="-0.4");-1!=d.indexOf("txtHeight")&&(d="-0.4");for(var q=b.split(";"),n="",p=0;p<q.length;p++){var A=q[p],A=A.trim();(function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b})(A,"tabHeight=")&&(n=A.split("tabHeight=").join(""))}(function(a,b){return a&&a.equals?a.equals(b):a===b})(n,"")&&(n="20");q=parseFloat(n);c=parseFloat(c);d=parseFloat(d);n=f.height;c=.1*f.width+100*c;
+c=new mxPoint(c,n-n*d-q/2);a.getGeometry().offset=c}else if(function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(c,"Domain 3D")||function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(d,"Domain 3D")){f=this.shape.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.CONTROL).item(0);c=null;c="0.0";d=null;d="-0.4";null!=f&&(c=f.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.X).item(0),c=c.getAttribute("F")||"",d=f.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.Y).item(0),
+d=d.getAttribute("F")||"");f=a.getGeometry();c=c.split("Width/2+").join("");c=c.split("DL").join("");d=d.split("Height*").join("");if(function(a,b){return a&&a.equals?a.equals(b):a===b}(c,"Inh")||function(a,b){return a&&a.equals?a.equals(b):a===b}(c,""))c="0.0";if(function(a,b){return a&&a.equals?a.equals(b):a===b}(d,"Inh")||function(a,b){return a&&a.equals?a.equals(b):a===b}(d,""))d="-0.4";-1!=d.indexOf("txtHeight")&&(d="-0.4");c=parseFloat(c);d=parseFloat(d);n=f.height;c=.1*f.width+100*c;c=new mxPoint(c,
+n-n*d);a.getGeometry().offset=c}};b.prototype.getForm=function(){var a={};if(this.isVertex())try{var c=b.getType(this.getShape());this.styleDebug("shape type = "+c);if(null!=this.imageData||function(a,b){return a&&a.equals?a.equals(b):a===b}(e.mxgraph.io.vsdx.mxVsdxConstants.FOREIGN,c)&&null!=this.masterShape&&null!=this.masterShape.imageData){var d=null!=this.imageData?this.imageData:this.masterShape.imageData;a.shape="image";a.aspect="fixed";var f=function(a,b){return a[b]?a[b]:null}(d,"iType"),
+k=function(a,b){return a[b]?a[b]:null}(d,"iData"),q=parseFloat(this.getValue(this.getCellElement$java_lang_String("ImgOffsetX"),"0")),n=parseFloat(this.getValue(this.getCellElement$java_lang_String("ImgOffsetY"),"0")),p=parseFloat(this.getValue(this.getCellElement$java_lang_String("ImgWidth"),"0")),A=parseFloat(this.getValue(this.getCellElement$java_lang_String("ImgHeight"),"0")),G=parseFloat(this.getValue(this.getCellElement$java_lang_String("Width"),"0")),C=parseFloat(this.getValue(this.getCellElement$java_lang_String("Height"),
+"0"));0!=q||0!=n?this.toBeCroppedImg={imgOffsetX:q,imgOffsetY:n,imgWidth:p,imgHeight:A,width:G,height:C,iType:f,iData:k}:a.image="data:image/"+f+","+k;return a}var E=this.parseGeom();if(function(a,b){return a&&a.equals?a.equals(b):a===b}(E,""))return this.styleDebug("No geom found"),a;var D=Graph.compress(E);a[mxConstants.STYLE_SHAPE]="stencil("+D+")"}catch(K){console.error(K.message,K)}else return this.getEdgeStyle();return a};b.prototype.isOff_page_reference=function(){var a=this.getNameU();return function(a,
b){return a&&a.equals?a.equals(b):a===b}(a,"Off-page reference")||function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"Lined/Shaded process")?!0:!1};b.prototype.isExternal_process=function(){var a;a=(a=this.shapeName)&&a.equals?a.equals("External process"):"External process"===a;return a};b.prototype.getDirection=function(a){a=mxResources.get("mxOffset"+this.shapeName);if(null!=a&&!function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"0")&&!function(a,b){return a&&a.equals?a.equals(b):a===b}(a,
"")){if(function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"1"))return mxConstants.DIRECTION_SOUTH;if(function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"2"))return mxConstants.DIRECTION_WEST;if(function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"3"))return mxConstants.DIRECTION_NORTH}return mxConstants.DIRECTION_EAST};b.prototype.isSubproces=function(){var a;a=(a=this.shapeName)&&a.equals?a.equals("Subproces"):"Subproces"===a;return a};b.prototype.getEdgeStyle$=function(){return{edgeStyle:"none"}};
-b.prototype.getChildShapes=function(){return this.childShapes};b.prototype.setChildShapes=function(a){this.childShapes=a};b.prototype.isDisplacedLabel=function(){var a=this.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_X,"F",""),b=this.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_Y,"F",""),d=this.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_WIDTH,"F",""),g=this.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_HEIGHT,"F","");if(null!=this.masterShape){if(""===a||function(a,
-b){return a&&a.equals?a.equals(b):a===b}(a.toLowerCase(),"inh"))a=this.masterShape.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_X,"F","");if(""===b||function(a,b){return a&&a.equals?a.equals(b):a===b}(b.toLowerCase(),"inh"))b=this.masterShape.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_Y,"F","");if(""===d||function(a,b){return a&&a.equals?a.equals(b):a===b}(d.toLowerCase(),"inh"))d=this.masterShape.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_WIDTH,"F","");if(""===g||function(a,
-b){return a&&a.equals?a.equals(b):a===b}(g.toLowerCase(),"inh"))g=this.masterShape.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_HEIGHT,"F","")}return function(a,b){return a&&a.equals?a.equals(b):a===b}(a.toLowerCase(),"width*0.5")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(b.toLowerCase(),"height*0.5")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(d.toLowerCase(),"width*1")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(g.toLowerCase(),"height*1")||!(function(a,b,c){void 0===
-c&&(c=0);return a.substr(c,b.length)===b}(a.toLowerCase(),"width*")&&function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(b.toLowerCase(),"height*")&&function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(d.toLowerCase(),"width*")&&function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(g.toLowerCase(),"height*")||function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(a.toLowerCase(),"controls.row_")||function(a,b,c){void 0===c&&(c=0);return a.substr(c,
+b.prototype.getChildShapes=function(){return this.childShapes};b.prototype.setChildShapes=function(a){this.childShapes=a};b.prototype.isDisplacedLabel=function(){var a=this.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_X,"F",""),b=this.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_Y,"F",""),d=this.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_WIDTH,"F",""),f=this.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_HEIGHT,"F","");if(null!=this.masterShape){if(""===a||function(a,
+b){return a&&a.equals?a.equals(b):a===b}(a.toLowerCase(),"inh"))a=this.masterShape.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_X,"F","");if(""===b||function(a,b){return a&&a.equals?a.equals(b):a===b}(b.toLowerCase(),"inh"))b=this.masterShape.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_Y,"F","");if(""===d||function(a,b){return a&&a.equals?a.equals(b):a===b}(d.toLowerCase(),"inh"))d=this.masterShape.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_WIDTH,"F","");if(""===f||function(a,
+b){return a&&a.equals?a.equals(b):a===b}(f.toLowerCase(),"inh"))f=this.masterShape.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_HEIGHT,"F","")}return function(a,b){return a&&a.equals?a.equals(b):a===b}(a.toLowerCase(),"width*0.5")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(b.toLowerCase(),"height*0.5")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(d.toLowerCase(),"width*1")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(f.toLowerCase(),"height*1")||!(function(a,b,c){void 0===
+c&&(c=0);return a.substr(c,b.length)===b}(a.toLowerCase(),"width*")&&function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(b.toLowerCase(),"height*")&&function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(d.toLowerCase(),"width*")&&function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(f.toLowerCase(),"height*")||function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(a.toLowerCase(),"controls.row_")||function(a,b,c){void 0===c&&(c=0);return a.substr(c,
b.length)===b}(b.toLowerCase(),"controls.row_"))?!1:!0};b.prototype.isVerticalLabel=function(){var a=this.getAttribute("TextDirection","V","");a||null==this.masterShape||(a=this.masterShape.getAttribute("TextDirection","V",""));return"1"==a};b.prototype.isRotatedLabel=function(){if(this.isVerticalLabel())return!0;var a=this.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_ANGLE,"V","");null!=this.masterShape&&function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"")&&(a=this.masterShape.getAttribute(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_ANGLE,
"V",""));return function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"0")||function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"0.0")||function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"")?!1:!0};b.prototype.setRootShape=function(a){this.rootShape=a};b.prototype.getRootShape=function(){return this.rootShape};b.prototype.getStartXY=function(a){var b=Math.floor(Math.round(100*this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.BEGIN_X),
0))/100);a=Math.floor(Math.round(100*(a-this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.BEGIN_Y),0)))/100);return new mxPoint(b,a)};b.prototype.getEndXY=function(a){var b=Math.floor(Math.round(100*this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.END_X),0))/100);a=Math.floor(Math.round(100*(a-this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.END_Y),
-0)))/100);return new mxPoint(b,a)};b.prototype.getRoutingPoints=function(a,b,d){return null!=this.geomList?this.geomList.getRoutingPoints(a,b,d):null};b.prototype.getControlPoints=function(a){var b=this.getStartXY(a);a=this.getEndXY(a);var d=[];if(null!=this.shape){var g=this.shape.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.GEOM);if(0<g.length&&(g=g.item(0).getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.NURBS_TO).item(0).getElementsByTagName("E").item(0),null!=g)){for(var g=g.getAttribute("F")||
-"",g=g.replace(RegExp("NURBS\\(","g"),""),g=g.replace(RegExp("\\)","g"),""),g=g.replace(RegExp(",","g")," "),g=g.replace(RegExp("\\s\\s","g")," "),g=g.split(" "),l=g.length,q=[];0<l--;)q.push(0);for(l=0;l<g.length;l++)q[l]=parseFloat(g[l]);for(l=2;l+4<g.length;l+=4){var n=new mxPoint,p=q[l+3];n.x=Math.floor(Math.round(100*(b.x+Math.min(100,Math.abs(a.x-b.x))*q[l+2]))/100);n.y=Math.floor(Math.round(100*(b.y-100*p))/100);d.push(n)}return d}}return null};b.prototype.getStyleFromEdgeShape=function(a){this.styleMap[e.mxgraph.io.vsdx.mxVsdxConstants.VSDX_ID]=
+0)))/100);return new mxPoint(b,a)};b.prototype.getRoutingPoints=function(a,b,d){return null!=this.geomList?this.geomList.getRoutingPoints(a,b,d):null};b.prototype.getControlPoints=function(a){var b=this.getStartXY(a);a=this.getEndXY(a);var d=[];if(null!=this.shape){var f=this.shape.getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.GEOM);if(0<f.length&&(f=f.item(0).getElementsByTagName(e.mxgraph.io.vsdx.mxVsdxConstants.NURBS_TO).item(0).getElementsByTagName("E").item(0),null!=f)){for(var f=f.getAttribute("F")||
+"",f=f.replace(RegExp("NURBS\\(","g"),""),f=f.replace(RegExp("\\)","g"),""),f=f.replace(RegExp(",","g")," "),f=f.replace(RegExp("\\s\\s","g")," "),f=f.split(" "),k=f.length,q=[];0<k--;)q.push(0);for(k=0;k<f.length;k++)q[k]=parseFloat(f[k]);for(k=2;k+4<f.length;k+=4){var n=new mxPoint,p=q[k+3];n.x=Math.floor(Math.round(100*(b.x+Math.min(100,Math.abs(a.x-b.x))*q[k+2]))/100);n.y=Math.floor(Math.round(100*(b.y-100*p))/100);d.push(n)}return d}}return null};b.prototype.getStyleFromEdgeShape=function(a){this.styleMap[e.mxgraph.io.vsdx.mxVsdxConstants.VSDX_ID]=
this.getId().toString();a=this.getForm();if(null!=a&&!function(a,b){return a&&a.equals?a.equals(b):a===b}(a,""))for(var c in a)this.styleMap[c]=a[c];this.isDashed()&&(this.styleMap[mxConstants.STYLE_DASHED]="1",c=this.getDashPattern(),null!=c&&(this.styleMap[mxConstants.STYLE_DASH_PATTERN]=c));c=this.getEdgeMarker(!0);null!=c&&(function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(c,b.ARROW_NO_FILL_MARKER)&&(c=c.substring(b.ARROW_NO_FILL_MARKER.length),this.styleMap[mxConstants.STYLE_STARTFILL]=
"0"),this.styleMap[mxConstants.STYLE_STARTARROW]=c);c=this.getEdgeMarker(!1);null!=c&&(function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(c,b.ARROW_NO_FILL_MARKER)&&(c=c.substring(b.ARROW_NO_FILL_MARKER.length),this.styleMap[mxConstants.STYLE_ENDFILL]="0"),this.styleMap[mxConstants.STYLE_ENDARROW]=c);c=Math.round(this.getStartArrowSize())|0;6!==c&&(this.styleMap[mxConstants.STYLE_STARTSIZE]=""+c);c=Math.round(this.getFinalArrowSize())|0;6!==c&&(this.styleMap[mxConstants.STYLE_ENDSIZE]=
""+c);c=Math.round(this.getLineWidth())|0;1!==c&&(this.styleMap[mxConstants.STYLE_STROKEWIDTH]=""+c);c=this.getStrokeColor();(function(a,b){return a&&a.equals?a.equals(b):a===b})(c,"")||(this.styleMap[mxConstants.STYLE_STROKECOLOR]=c);this.isShadow()&&(this.styleMap[mxConstants.STYLE_SHADOW]=e.mxgraph.io.vsdx.mxVsdxConstants.TRUE);this.isConnectorBigNameU(this.getNameU())&&(this.styleMap[mxConstants.STYLE_SHAPE]=mxConstants.SHAPE_ARROW,c=this.getFillColor(),function(a,b){return a&&a.equals?a.equals(b):
a===b}(c,"")||(this.styleMap[mxConstants.STYLE_FILLCOLOR]=c));c=Math.round(this.getTopSpacing())|0;this.styleMap[mxConstants.STYLE_SPACING_TOP]=""+c;c=Math.round(this.getBottomSpacing())|0;this.styleMap[mxConstants.STYLE_SPACING_BOTTOM]=""+c;c=Math.round(this.getLeftSpacing())|0;this.styleMap[mxConstants.STYLE_SPACING_LEFT]=""+c;c=Math.round(this.getRightSpacing())|0;this.styleMap[mxConstants.STYLE_SPACING_RIGHT]=""+c;c=this.getAlignVertical();this.styleMap[mxConstants.STYLE_VERTICAL_ALIGN]=c;this.styleMap.html=
"1";this.resolveCommonStyles();return this.styleMap};b.prototype.resolveCommonStyles=function(){var a=this.getTextBkgndColor(this.getCellElement$java_lang_String(e.mxgraph.io.vsdx.mxVsdxConstants.TEXT_BKGND)),b;b=a&&a.equals?a.equals(""):""===a;b||"1"!=this.getValue(this.getCellElement$java_lang_String("TextBkgndTrans"),"0")&&(this.styleMap[mxConstants.STYLE_LABEL_BACKGROUNDCOLOR]=a);this.styleMap[mxConstants.STYLE_ROUNDED]=0<this.getRounding()?e.mxgraph.io.vsdx.mxVsdxConstants.TRUE:e.mxgraph.io.vsdx.mxVsdxConstants.FALSE;
-return this.styleMap};b.prototype.getEdgeMarker=function(a){var c=this.getValue(this.getCellElement$java_lang_String(a?e.mxgraph.io.vsdx.mxVsdxConstants.BEGIN_ARROW:e.mxgraph.io.vsdx.mxVsdxConstants.END_ARROW),"0"),d=0;try{if(function(a,b){return a&&a.equals?a.equals(b):a===b}(c,"Themed")){var g=this.getTheme();null!=g&&(d=this.isVertex()?g.getEdgeMarker(a,this.getQuickStyleVals()):g.getConnEdgeMarker(a,this.getQuickStyleVals()))}else d=parseInt(c)}catch(l){}a=function(a,b){null==a.entries&&(a.entries=
+return this.styleMap};b.prototype.getEdgeMarker=function(a){var c=this.getValue(this.getCellElement$java_lang_String(a?e.mxgraph.io.vsdx.mxVsdxConstants.BEGIN_ARROW:e.mxgraph.io.vsdx.mxVsdxConstants.END_ARROW),"0"),d=0;try{if(function(a,b){return a&&a.equals?a.equals(b):a===b}(c,"Themed")){var f=this.getTheme();null!=f&&(d=this.isVertex()?f.getEdgeMarker(a,this.getQuickStyleVals()):f.getConnEdgeMarker(a,this.getQuickStyleVals()))}else d=parseInt(c)}catch(k){}a=function(a,b){null==a.entries&&(a.entries=
[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(b.arrowTypes_$LI$(),d);0<d&&null==a&&(a=function(a,b){null==a.entries&&(a.entries=[]);for(var c=0;c<a.entries.length;c++)if(null!=a.entries[c].key.equals&&a.entries[c].key.equals(b)||a.entries[c].key===b)return a.entries[c].value;return null}(b.arrowTypes_$LI$(),1));return a};b.prototype.getCellElement$java_lang_String=function(a){var b=d.prototype.getCellElement$java_lang_String.call(this,
-a);return null==b&&null!=this.masterShape?this.masterShape.getCellElement$java_lang_String(a):b};b.prototype.getCellElement$java_lang_String$java_lang_String$java_lang_String=function(a,b,f){var c=d.prototype.getCellElement$java_lang_String$java_lang_String$java_lang_String.call(this,a,b,f);return null==c&&null!=this.masterShape?this.masterShape.getCellElement$java_lang_String$java_lang_String$java_lang_String(a,b,f):c};b.prototype.getCellElement=function(a,b,d){if("string"!==typeof a&&null!==a||
+a);return null==b&&null!=this.masterShape?this.masterShape.getCellElement$java_lang_String(a):b};b.prototype.getCellElement$java_lang_String$java_lang_String$java_lang_String=function(a,b,h){var c=d.prototype.getCellElement$java_lang_String$java_lang_String$java_lang_String.call(this,a,b,h);return null==c&&null!=this.masterShape?this.masterShape.getCellElement$java_lang_String$java_lang_String$java_lang_String(a,b,h):c};b.prototype.getCellElement=function(a,b,d){if("string"!==typeof a&&null!==a||
"string"!==typeof b&&null!==b||"string"!==typeof d&&null!==d){if("string"!==typeof a&&null!==a||void 0!==b||void 0!==d)throw Error("invalid overload");return this.getCellElement$java_lang_String(a)}return this.getCellElement$java_lang_String$java_lang_String$java_lang_String(a,b,d)};b.prototype.createLabelSubShape=function(a,b){var c=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_WIDTH),this.getWidth()),d=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_HEIGHT),
-this.getHeight()),g=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_LOC_PIN_X),c/2),q=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_LOC_PIN_Y),d/2),n=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_X),g),p=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_Y),
-q),A=this.getValueAsDouble(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_ANGLE),0),G=this.getTextLabel();if(null!=G&&0!==G.length){var B=mxUtils.clone(this.getStyleMap())||{};B[mxConstants.STYLE_FILLCOLOR]=mxConstants.NONE;B[mxConstants.STYLE_STROKECOLOR]=mxConstants.NONE;B[mxConstants.STYLE_GRADIENTCOLOR]=mxConstants.NONE;B.hasOwnProperty("align")||(B.align="center");B.hasOwnProperty("verticalAlign")||(B.verticalAlign="middle");B.hasOwnProperty("whiteSpace")||(B.whiteSpace="wrap");delete B.shape;
-delete B.image;this.isVerticalLabel()&&(A+=Math.PI+.01,B.horizontal="0");var E=this.getRotation();0!==A&&(A=360-180*A/Math.PI,A=Math.round((A+E)%360*100)/100,0!==A&&(B.rotation=""+A));B="text;"+e.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(B,"=");q=b.getGeometry().height-(p+d-q);g=n-g;0<E&&(n=new mxGeometry(g,q,c,d),g=b.getGeometry(),e.mxgraph.online.Utils.rotatedGeometry(n,E,g.width/2,g.height/2),g=n.x,q=n.y);return a.insertVertex(b,null,G,Math.round(100*g)/100,Math.round(100*q)/100,Math.round(100*
-c)/100,Math.round(100*d)/100,B+";html=1;")}return null};b.prototype.getLblEdgeOffset=function(a,b){if(null!=b&&1<b.length){var c=new mxCellState;c.absolutePoints=b;a.updateEdgeBounds(c);var c=a.getPoint(c),d=b[0],g=b[b.length-1],q=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_WIDTH),this.getWidth()),n=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_HEIGHT),this.getHeight()),
-p=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_LOC_PIN_X),0),A=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_LOC_PIN_Y),0),G=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_X),0),B=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_Y),
-0),g=(this.getHeight()-(d.y-g.y))/2+d.y-c.y-(B-A+n/2),c=G-p+q/2+(d.x-c.x);return 1E11<Math.abs(c)?null:new mxPoint(Math.floor(Math.round(100*c)/100),Math.floor(Math.round(100*g)/100))}return null};b.prototype.getShapeIndex=function(){return this.shapeIndex};b.prototype.setShapeIndex=function(a){this.shapeIndex=a};return b}(e.mxgraph.io.vsdx.Shape);q.__static_initialized=!1;q.ARROW_NO_FILL_MARKER="0";q.maxDp=2;q.USE_SHAPE_MATCH=!1;q.stencilTemplate='<shape h="htemplate" w="wtemplate" aspect="variable" strokewidth="inherit"><connections></connections><background></background><foreground></foreground></shape>';
-g.VsdxShape=q;q.__class="com.mxgraph.io.vsdx.VsdxShape"})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
-(function(e){(function(p){(function(n){var g=function(){function g(){}g.__static_initialize=function(){g.__static_initialized||(g.__static_initialized=!0,g.__static_initializer_0())};g.CA_$LI$=function(){g.__static_initialize();null==g.CA&&(g.CA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""));return g.CA};g.IA_$LI$=function(){g.__static_initialize();if(null==g.IA){for(var d=256,b=[];0<d--;)b.push(0);g.IA=b}return g.IA};g.__static_initializer_0=function(){for(var d=g.IA_$LI$(),
-b=0;b<d.length;b++)d[b]=-1;d=0;for(b=g.CA_$LI$().length;d<b;d++)g.IA_$LI$()[g.CA_$LI$()[d].charCodeAt(0)]=d;g.IA_$LI$()[61]=0};g.encodeToChar=function(d,b,a){var c=null!=d?d.length-b:0;if(0===c)return[];for(var f=3*(c/3|0),e=((c-1)/3|0)+1<<2,e=e+(a?((e-1)/76|0)<<1:0),l=Array(e),n=b,p=0,q=0;n<f+b;){var A=(d[n++]&255)<<16|(d[n++]&255)<<8|d[n++]&255;l[p++]=g.CA_$LI$()[A>>>18&63];l[p++]=g.CA_$LI$()[A>>>12&63];l[p++]=g.CA_$LI$()[A>>>6&63];l[p++]=g.CA_$LI$()[A&63];a&&19===++q&&p<e-2&&(l[p++]="\r",l[p++]=
-"\n",q=0)}a=c-f;0<a&&(A=(d[f+b]&255)<<10|(2===a?(d[c+b-1]&255)<<2:0),l[e-4]=g.CA_$LI$()[A>>12],l[e-3]=g.CA_$LI$()[A>>>6&63],l[e-2]=2===a?g.CA_$LI$()[A&63]:"=",l[e-1]="=");return l};g.decode$char_A=function(d){var b=null!=d?d.length:0;if(0===b)return[];for(var a=0,c=0;c<b;c++)0>g.IA_$LI$()[d[c].charCodeAt(0)]&&a++;if(0!==(b-a)%4)return null;for(var f=0,c=b;1<c&&0>=g.IA_$LI$()[d[--c].charCodeAt(0)];)61==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(d[c])&&f++;for(var b=(6*(b-a)>>3)-f,a=function(a){for(var b=
-[];0<a--;)b.push(0);return b}(b),e=f=0;e<b;){for(var l=c=0;4>l;l++){var n=g.IA_$LI$()[d[f++].charCodeAt(0)];0<=n?c|=n<<18-6*l:l--}a[e++]=c>>16|0;e<b&&(a[e++]=c>>8|0,e<b&&(a[e++]=c|0))}return a};g.decode=function(d){if(null!=d&&d instanceof Array&&(0==d.length||null==d[0]||"string"===typeof d[0])||null===d)return e.mxgraph.online.mxBase64.decode$char_A(d);if(null!=d&&d instanceof Array&&(0==d.length||null==d[0]||"number"===typeof d[0])||null===d)return e.mxgraph.online.mxBase64.decode$byte_A(d);if("string"===
-typeof d||null===d)return e.mxgraph.online.mxBase64.decode$java_lang_String(d);throw Error("invalid overload");};g.decodeFast$char_A=function(d){var b=d.length;if(0===b)return[];for(var a=0,c=b-1;a<c&&0>g.IA_$LI$()[d[a].charCodeAt(0)];)a++;for(;0<c&&0>g.IA_$LI$()[d[c].charCodeAt(0)];)c--;for(var f=61==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(d[c])?61==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(d[c-1])?2:1:0,e=c-a+1,l=76<b?(13==function(a){return null==a.charCodeAt?a:
-a.charCodeAt(0)}(d[76])?e/78|0:0)<<1:0,e=(6*(e-l)>>3)-f,b=function(a){for(var b=[];0<a--;)b.push(0);return b}(e),n=0,p=0,q=3*(e/3|0);n<q;){var A=g.IA_$LI$()[d[a++].charCodeAt(0)]<<18|g.IA_$LI$()[d[a++].charCodeAt(0)]<<12|g.IA_$LI$()[d[a++].charCodeAt(0)]<<6|g.IA_$LI$()[d[a++].charCodeAt(0)];b[n++]=A>>16|0;b[n++]=A>>8|0;b[n++]=A|0;0<l&&19===++p&&(a+=2,p=0)}if(n<e){for(l=A=0;a<=c-f;l++)A|=g.IA_$LI$()[d[a++].charCodeAt(0)]<<18-6*l;for(d=16;n<e;d-=8)b[n++]=A>>d|0}return b};g.decodeFast=function(d){if(null!=
-d&&d instanceof Array&&(0==d.length||null==d[0]||"string"===typeof d[0])||null===d)return e.mxgraph.online.mxBase64.decodeFast$char_A(d);if(null!=d&&d instanceof Array&&(0==d.length||null==d[0]||"number"===typeof d[0])||null===d)return e.mxgraph.online.mxBase64.decodeFast$byte_A(d);if("string"===typeof d||null===d)return e.mxgraph.online.mxBase64.decodeFast$java_lang_String(d);throw Error("invalid overload");};g.encodeToByte=function(d,b){var a=null!=d?d.length:0;if(0===a)return[];for(var c=3*(a/
-3|0),f=((a-1)/3|0)+1<<2,e=f+=b?((f-1)/76|0)<<1:0,l=[];0<e--;)l.push(0);for(var n=0,p=0,q=0;n<c;)e=(d[n++]&255)<<16|(d[n++]&255)<<8|d[n++]&255,l[p++]=g.CA_$LI$()[e>>>18&63].charCodeAt(0),l[p++]=g.CA_$LI$()[e>>>12&63].charCodeAt(0),l[p++]=g.CA_$LI$()[e>>>6&63].charCodeAt(0),l[p++]=g.CA_$LI$()[e&63].charCodeAt(0),b&&19===++q&&p<f-2&&(l[p++]=13,l[p++]=10,q=0);n=a-c;0<n&&(e=(d[c]&255)<<10|(2===n?(d[a-1]&255)<<2:0),l[f-4]=g.CA_$LI$()[e>>12].charCodeAt(0),l[f-3]=g.CA_$LI$()[e>>>6&63].charCodeAt(0),l[f-2]=
-2===n?g.CA_$LI$()[e&63].charCodeAt(0):61,l[f-1]=61);return l};g.decode$byte_A=function(d){for(var b=d.length,a=0,c=0;c<b;c++)0>g.IA_$LI$()[d[c]&255]&&a++;if(0!==(b-a)%4)return null;for(var f=0,c=b;1<c&&0>=g.IA_$LI$()[d[--c]&255];)61==d[c]&&f++;c=b=(6*(b-a)>>3)-f;for(a=[];0<c--;)a.push(0);for(var e=f=0;e<b;){for(var l=c=0;4>l;l++){var n=g.IA_$LI$()[d[f++]&255];0<=n?c|=n<<18-6*l:l--}a[e++]=c>>16|0;e<b&&(a[e++]=c>>8|0,e<b&&(a[e++]=c|0))}return a};g.decodeFast$byte_A=function(d){var b=d.length;if(0===
-b)return[];for(var a=0,c=b-1;a<c&&0>g.IA_$LI$()[d[a]&255];)a++;for(;0<c&&0>g.IA_$LI$()[d[c]&255];)c--;for(var e=61==d[c]?61==d[c-1]?2:1:0,m=c-a+1,l=76<b?(13==d[76]?m/78|0:0)<<1:0,n=m=(6*(m-l)>>3)-e,b=[];0<n--;)b.push(0);for(var p=n=0,q=3*(m/3|0);n<q;){var A=g.IA_$LI$()[d[a++]]<<18|g.IA_$LI$()[d[a++]]<<12|g.IA_$LI$()[d[a++]]<<6|g.IA_$LI$()[d[a++]];b[n++]=A>>16|0;b[n++]=A>>8|0;b[n++]=A|0;0<l&&19===++p&&(a+=2,p=0)}if(n<m){for(l=A=0;a<=c-e;l++)A|=g.IA_$LI$()[d[a++]]<<18-6*l;for(d=16;n<m;d-=8)b[n++]=A>>
-d|0}return b};g.encodeToString=function(d,b,a){return g.encodeToChar(d,b,a).join("")};g.decode$java_lang_String=function(d){var b=null!=d?d.length:0;if(0===b)return[];for(var a=0,c=0;c<b;c++)0>g.IA_$LI$()[d.charAt(c).charCodeAt(0)]&&a++;if(0!==(b-a)%4)return null;for(var e=0,c=b;1<c&&0>=g.IA_$LI$()[d.charAt(--c).charCodeAt(0)];)61==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(d.charAt(c))&&e++;for(var b=(6*(b-a)>>3)-e,a=function(a){for(var b=[];0<a--;)b.push(0);return b}(b),m=e=0;m<b;){for(var l=
-c=0;4>l;l++){var n=g.IA_$LI$()[d.charAt(e++).charCodeAt(0)];0<=n?c|=n<<18-6*l:l--}a[m++]=c>>16|0;m<b&&(a[m++]=c>>8|0,m<b&&(a[m++]=c|0))}return a};g.decodeFast$java_lang_String=function(d){var b=d.length;if(0===b)return[];for(var a=0,c=b-1;a<c&&0>g.IA_$LI$()[function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(d.charAt(a))&255];)a++;for(;0<c&&0>g.IA_$LI$()[function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(d.charAt(c))&255];)c--;for(var e=61==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(d.charAt(c))?
-61==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(d.charAt(c-1))?2:1:0,m=c-a+1,l=76<b?(13==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(d.charAt(76))?m/78|0:0)<<1:0,m=(6*(m-l)>>3)-e,b=function(a){for(var b=[];0<a--;)b.push(0);return b}(m),n=0,p=0,q=3*(m/3|0);n<q;){var A=g.IA_$LI$()[d.charAt(a++).charCodeAt(0)]<<18|g.IA_$LI$()[d.charAt(a++).charCodeAt(0)]<<12|g.IA_$LI$()[d.charAt(a++).charCodeAt(0)]<<6|g.IA_$LI$()[d.charAt(a++).charCodeAt(0)];b[n++]=A>>16|0;b[n++]=A>>8|0;b[n++]=
-A|0;0<l&&19===++p&&(a+=2,p=0)}if(n<m){for(l=A=0;a<=c-e;l++)A|=g.IA_$LI$()[d.charAt(a++).charCodeAt(0)]<<18-6*l;for(d=16;n<m;d-=8)b[n++]=A>>d|0}return b};return g}();g.__static_initialized=!1;n.mxBase64=g;g.__class="com.mxgraph.online.mxBase64"})(p.online||(p.online={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));com.mxgraph.online.mxBase64.IA_$LI$();com.mxgraph.online.mxBase64.CA_$LI$();com.mxgraph.online.mxBase64.__static_initialize();com.mxgraph.io.vsdx.VsdxShape.__com_mxgraph_io_vsdx_VsdxShape_LOGGER_$LI$();
+this.getHeight()),f=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_LOC_PIN_X),c/2),q=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_LOC_PIN_Y),d/2),n=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_X),f),p=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_Y),
+q),A=this.getValueAsDouble(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_ANGLE),0),G=this.getTextLabel();if(null!=G&&0!==G.length){var C=mxUtils.clone(this.getStyleMap())||{};C[mxConstants.STYLE_FILLCOLOR]=mxConstants.NONE;C[mxConstants.STYLE_STROKECOLOR]=mxConstants.NONE;C[mxConstants.STYLE_GRADIENTCOLOR]=mxConstants.NONE;C.hasOwnProperty("align")||(C.align="center");C.hasOwnProperty("verticalAlign")||(C.verticalAlign="middle");C.hasOwnProperty("whiteSpace")||(C.whiteSpace="wrap");delete C.shape;
+delete C.image;this.isVerticalLabel()&&(A+=Math.PI+.01,C.horizontal="0");var E=this.getRotation();0!==A&&(A=360-180*A/Math.PI,A=Math.round((A+E)%360*100)/100,0!==A&&(C.rotation=""+A));C="text;"+e.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(C,"=");q=b.getGeometry().height-(p+d-q);f=n-f;0<E&&(n=new mxGeometry(f,q,c,d),f=b.getGeometry(),e.mxgraph.online.Utils.rotatedGeometry(n,E,f.width/2,f.height/2),f=n.x,q=n.y);return a.insertVertex(b,null,G,Math.round(100*f)/100,Math.round(100*q)/100,Math.round(100*
+c)/100,Math.round(100*d)/100,C+";html=1;")}return null};b.prototype.getLblEdgeOffset=function(a,b){if(null!=b&&1<b.length){var c=new mxCellState;c.absolutePoints=b;a.updateEdgeBounds(c);var c=a.getPoint(c),d=b[0],f=b[b.length-1],q=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_WIDTH),this.getWidth()),n=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_HEIGHT),this.getHeight()),
+p=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_LOC_PIN_X),0),A=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_LOC_PIN_Y),0),G=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_X),0),C=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(e.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_Y),
+0),f=(this.getHeight()-(d.y-f.y))/2+d.y-c.y-(C-A+n/2),c=G-p+q/2+(d.x-c.x);return 1E11<Math.abs(c)?null:new mxPoint(Math.floor(Math.round(100*c)/100),Math.floor(Math.round(100*f)/100))}return null};b.prototype.getShapeIndex=function(){return this.shapeIndex};b.prototype.setShapeIndex=function(a){this.shapeIndex=a};return b}(e.mxgraph.io.vsdx.Shape);q.__static_initialized=!1;q.ARROW_NO_FILL_MARKER="0";q.maxDp=2;q.USE_SHAPE_MATCH=!1;q.stencilTemplate='<shape h="htemplate" w="wtemplate" aspect="variable" strokewidth="inherit"><connections></connections><background></background><foreground></foreground></shape>';
+f.VsdxShape=q;q.__class="com.mxgraph.io.vsdx.VsdxShape"})(n.vsdx||(n.vsdx={}))})(p.io||(p.io={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));
+(function(e){(function(p){(function(n){var f=function(){function f(){}f.__static_initialize=function(){f.__static_initialized||(f.__static_initialized=!0,f.__static_initializer_0())};f.CA_$LI$=function(){f.__static_initialize();null==f.CA&&(f.CA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""));return f.CA};f.IA_$LI$=function(){f.__static_initialize();if(null==f.IA){for(var d=256,b=[];0<d--;)b.push(0);f.IA=b}return f.IA};f.__static_initializer_0=function(){for(var d=f.IA_$LI$(),
+b=0;b<d.length;b++)d[b]=-1;d=0;for(b=f.CA_$LI$().length;d<b;d++)f.IA_$LI$()[f.CA_$LI$()[d].charCodeAt(0)]=d;f.IA_$LI$()[61]=0};f.encodeToChar=function(d,b,a){var c=null!=d?d.length-b:0;if(0===c)return[];for(var h=3*(c/3|0),e=((c-1)/3|0)+1<<2,e=e+(a?((e-1)/76|0)<<1:0),k=Array(e),n=b,p=0,q=0;n<h+b;){var A=(d[n++]&255)<<16|(d[n++]&255)<<8|d[n++]&255;k[p++]=f.CA_$LI$()[A>>>18&63];k[p++]=f.CA_$LI$()[A>>>12&63];k[p++]=f.CA_$LI$()[A>>>6&63];k[p++]=f.CA_$LI$()[A&63];a&&19===++q&&p<e-2&&(k[p++]="\r",k[p++]=
+"\n",q=0)}a=c-h;0<a&&(A=(d[h+b]&255)<<10|(2===a?(d[c+b-1]&255)<<2:0),k[e-4]=f.CA_$LI$()[A>>12],k[e-3]=f.CA_$LI$()[A>>>6&63],k[e-2]=2===a?f.CA_$LI$()[A&63]:"=",k[e-1]="=");return k};f.decode$char_A=function(d){var b=null!=d?d.length:0;if(0===b)return[];for(var a=0,c=0;c<b;c++)0>f.IA_$LI$()[d[c].charCodeAt(0)]&&a++;if(0!==(b-a)%4)return null;for(var h=0,c=b;1<c&&0>=f.IA_$LI$()[d[--c].charCodeAt(0)];)61==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(d[c])&&h++;for(var b=(6*(b-a)>>3)-h,a=function(a){for(var b=
+[];0<a--;)b.push(0);return b}(b),e=h=0;e<b;){for(var k=c=0;4>k;k++){var n=f.IA_$LI$()[d[h++].charCodeAt(0)];0<=n?c|=n<<18-6*k:k--}a[e++]=c>>16|0;e<b&&(a[e++]=c>>8|0,e<b&&(a[e++]=c|0))}return a};f.decode=function(d){if(null!=d&&d instanceof Array&&(0==d.length||null==d[0]||"string"===typeof d[0])||null===d)return e.mxgraph.online.mxBase64.decode$char_A(d);if(null!=d&&d instanceof Array&&(0==d.length||null==d[0]||"number"===typeof d[0])||null===d)return e.mxgraph.online.mxBase64.decode$byte_A(d);if("string"===
+typeof d||null===d)return e.mxgraph.online.mxBase64.decode$java_lang_String(d);throw Error("invalid overload");};f.decodeFast$char_A=function(d){var b=d.length;if(0===b)return[];for(var a=0,c=b-1;a<c&&0>f.IA_$LI$()[d[a].charCodeAt(0)];)a++;for(;0<c&&0>f.IA_$LI$()[d[c].charCodeAt(0)];)c--;for(var h=61==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(d[c])?61==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(d[c-1])?2:1:0,e=c-a+1,k=76<b?(13==function(a){return null==a.charCodeAt?a:
+a.charCodeAt(0)}(d[76])?e/78|0:0)<<1:0,e=(6*(e-k)>>3)-h,b=function(a){for(var b=[];0<a--;)b.push(0);return b}(e),n=0,p=0,q=3*(e/3|0);n<q;){var A=f.IA_$LI$()[d[a++].charCodeAt(0)]<<18|f.IA_$LI$()[d[a++].charCodeAt(0)]<<12|f.IA_$LI$()[d[a++].charCodeAt(0)]<<6|f.IA_$LI$()[d[a++].charCodeAt(0)];b[n++]=A>>16|0;b[n++]=A>>8|0;b[n++]=A|0;0<k&&19===++p&&(a+=2,p=0)}if(n<e){for(k=A=0;a<=c-h;k++)A|=f.IA_$LI$()[d[a++].charCodeAt(0)]<<18-6*k;for(d=16;n<e;d-=8)b[n++]=A>>d|0}return b};f.decodeFast=function(d){if(null!=
+d&&d instanceof Array&&(0==d.length||null==d[0]||"string"===typeof d[0])||null===d)return e.mxgraph.online.mxBase64.decodeFast$char_A(d);if(null!=d&&d instanceof Array&&(0==d.length||null==d[0]||"number"===typeof d[0])||null===d)return e.mxgraph.online.mxBase64.decodeFast$byte_A(d);if("string"===typeof d||null===d)return e.mxgraph.online.mxBase64.decodeFast$java_lang_String(d);throw Error("invalid overload");};f.encodeToByte=function(d,b){var a=null!=d?d.length:0;if(0===a)return[];for(var c=3*(a/
+3|0),e=((a-1)/3|0)+1<<2,m=e+=b?((e-1)/76|0)<<1:0,k=[];0<m--;)k.push(0);for(var n=0,p=0,q=0;n<c;)m=(d[n++]&255)<<16|(d[n++]&255)<<8|d[n++]&255,k[p++]=f.CA_$LI$()[m>>>18&63].charCodeAt(0),k[p++]=f.CA_$LI$()[m>>>12&63].charCodeAt(0),k[p++]=f.CA_$LI$()[m>>>6&63].charCodeAt(0),k[p++]=f.CA_$LI$()[m&63].charCodeAt(0),b&&19===++q&&p<e-2&&(k[p++]=13,k[p++]=10,q=0);n=a-c;0<n&&(m=(d[c]&255)<<10|(2===n?(d[a-1]&255)<<2:0),k[e-4]=f.CA_$LI$()[m>>12].charCodeAt(0),k[e-3]=f.CA_$LI$()[m>>>6&63].charCodeAt(0),k[e-2]=
+2===n?f.CA_$LI$()[m&63].charCodeAt(0):61,k[e-1]=61);return k};f.decode$byte_A=function(d){for(var b=d.length,a=0,c=0;c<b;c++)0>f.IA_$LI$()[d[c]&255]&&a++;if(0!==(b-a)%4)return null;for(var e=0,c=b;1<c&&0>=f.IA_$LI$()[d[--c]&255];)61==d[c]&&e++;c=b=(6*(b-a)>>3)-e;for(a=[];0<c--;)a.push(0);for(var m=e=0;m<b;){for(var k=c=0;4>k;k++){var n=f.IA_$LI$()[d[e++]&255];0<=n?c|=n<<18-6*k:k--}a[m++]=c>>16|0;m<b&&(a[m++]=c>>8|0,m<b&&(a[m++]=c|0))}return a};f.decodeFast$byte_A=function(d){var b=d.length;if(0===
+b)return[];for(var a=0,c=b-1;a<c&&0>f.IA_$LI$()[d[a]&255];)a++;for(;0<c&&0>f.IA_$LI$()[d[c]&255];)c--;for(var e=61==d[c]?61==d[c-1]?2:1:0,m=c-a+1,k=76<b?(13==d[76]?m/78|0:0)<<1:0,n=m=(6*(m-k)>>3)-e,b=[];0<n--;)b.push(0);for(var p=n=0,q=3*(m/3|0);n<q;){var A=f.IA_$LI$()[d[a++]]<<18|f.IA_$LI$()[d[a++]]<<12|f.IA_$LI$()[d[a++]]<<6|f.IA_$LI$()[d[a++]];b[n++]=A>>16|0;b[n++]=A>>8|0;b[n++]=A|0;0<k&&19===++p&&(a+=2,p=0)}if(n<m){for(k=A=0;a<=c-e;k++)A|=f.IA_$LI$()[d[a++]]<<18-6*k;for(d=16;n<m;d-=8)b[n++]=A>>
+d|0}return b};f.encodeToString=function(d,b,a){return f.encodeToChar(d,b,a).join("")};f.decode$java_lang_String=function(d){var b=null!=d?d.length:0;if(0===b)return[];for(var a=0,c=0;c<b;c++)0>f.IA_$LI$()[d.charAt(c).charCodeAt(0)]&&a++;if(0!==(b-a)%4)return null;for(var e=0,c=b;1<c&&0>=f.IA_$LI$()[d.charAt(--c).charCodeAt(0)];)61==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(d.charAt(c))&&e++;for(var b=(6*(b-a)>>3)-e,a=function(a){for(var b=[];0<a--;)b.push(0);return b}(b),m=e=0;m<b;){for(var k=
+c=0;4>k;k++){var n=f.IA_$LI$()[d.charAt(e++).charCodeAt(0)];0<=n?c|=n<<18-6*k:k--}a[m++]=c>>16|0;m<b&&(a[m++]=c>>8|0,m<b&&(a[m++]=c|0))}return a};f.decodeFast$java_lang_String=function(d){var b=d.length;if(0===b)return[];for(var a=0,c=b-1;a<c&&0>f.IA_$LI$()[function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(d.charAt(a))&255];)a++;for(;0<c&&0>f.IA_$LI$()[function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(d.charAt(c))&255];)c--;for(var e=61==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(d.charAt(c))?
+61==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(d.charAt(c-1))?2:1:0,m=c-a+1,k=76<b?(13==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(d.charAt(76))?m/78|0:0)<<1:0,m=(6*(m-k)>>3)-e,b=function(a){for(var b=[];0<a--;)b.push(0);return b}(m),n=0,p=0,q=3*(m/3|0);n<q;){var A=f.IA_$LI$()[d.charAt(a++).charCodeAt(0)]<<18|f.IA_$LI$()[d.charAt(a++).charCodeAt(0)]<<12|f.IA_$LI$()[d.charAt(a++).charCodeAt(0)]<<6|f.IA_$LI$()[d.charAt(a++).charCodeAt(0)];b[n++]=A>>16|0;b[n++]=A>>8|0;b[n++]=
+A|0;0<k&&19===++p&&(a+=2,p=0)}if(n<m){for(k=A=0;a<=c-e;k++)A|=f.IA_$LI$()[d.charAt(a++).charCodeAt(0)]<<18-6*k;for(d=16;n<m;d-=8)b[n++]=A>>d|0}return b};return f}();f.__static_initialized=!1;n.mxBase64=f;f.__class="com.mxgraph.online.mxBase64"})(p.online||(p.online={}))})(e.mxgraph||(e.mxgraph={}))})(com||(com={}));com.mxgraph.online.mxBase64.IA_$LI$();com.mxgraph.online.mxBase64.CA_$LI$();com.mxgraph.online.mxBase64.__static_initialize();com.mxgraph.io.vsdx.VsdxShape.__com_mxgraph_io_vsdx_VsdxShape_LOGGER_$LI$();
com.mxgraph.io.vsdx.VsdxShape.arrowTypes_$LI$();com.mxgraph.io.vsdx.VsdxShape.arrowSizes_$LI$();com.mxgraph.io.vsdx.VsdxShape.OFFSET_ARRAY_$LI$();com.mxgraph.io.vsdx.VsdxShape.__static_initialize();com.mxgraph.io.vsdx.Shape.UNICODE_LINE_SEP_$LI$();com.mxgraph.io.vsdx.Style.lineDashPatterns_$LI$();com.mxgraph.io.vsdx.Style.styleTypes_$LI$();com.mxgraph.io.vsdx.Style.__static_initialize();com.mxgraph.online.Constants.MAX_AREA_$LI$();com.mxgraph.io.vsdx.theme.Color.NONE_$LI$();com.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$();
com.mxgraph.io.vsdx.mxVsdxTheme.colorIds_$LI$();com.mxgraph.io.vsdx.mxVsdxTheme.themesIds_$LI$();com.mxgraph.io.vsdx.mxVsdxTheme.__static_initialize();com.mxgraph.io.vsdx.mxVsdxConstants.MY_SET_$LI$();com.mxgraph.io.vsdx.mxVsdxConstants.SET_VALUES_$LI$();com.mxgraph.io.vsdx.mxPropertiesManager.defaultColors_$LI$();com.mxgraph.io.vsdx.mxPropertiesManager.__static_initialize();com.mxgraph.io.mxVsdxCodec.vsdxPlaceholder_$LI$();com.mxgraph.io.mxVsdxCodec.parsererrorNS_$LI$();
-EditorUi.prototype.doImportVisio=function(e,p,n,g){g=g||e.name;null!=g&&/(\.vs(x|sx?))($|\?)/i.test(g)?(new com.mxgraph.io.mxVssxCodec(this)).decodeVssx(e,p,null,n):(new com.mxgraph.io.mxVsdxCodec(this)).decodeVsdx(e,p,null,n)};function mxGraphMlCodec(){this.cachedRefObj={}}mxGraphMlCodec.prototype.refRegexp=/^\{y\:GraphMLReference\s+(\d+)\}$/;mxGraphMlCodec.prototype.staticRegexp=/^\{x\:Static\s+(.+)\.(.+)\}$/;
-mxGraphMlCodec.prototype.decode=function(e,p,n){try{var g=mxUtils.parseXml(e),q=this.getDirectChildNamedElements(g.documentElement,mxGraphMlConstants.GRAPH);this.initializeKeys(g.documentElement);e='<?xml version="1.0" encoding="UTF-8"?><mxfile>';for(g=0;g<q.length;g++){var d=q[g],b=this.createMxGraph(),a=b.getModel();a.beginUpdate();try{for(this.nodesMap={},this.edges=[],this.importGraph(d,b,b.getDefaultParent()),g=0;g<this.edges.length;g++)for(var c=this.edges[g],f=c.edges,m=c.parent,l=c.dx,x=c.dy,
-w=0;w<f.length;w++)this.importEdge(f[w],b,m,l,x)}catch(ea){throw console.log(ea),ea;}finally{a.endUpdate()}a.beginUpdate();try{var C=b.getModel().cells,A;for(A in C){var G=C[A];if(G.edge&&0<G.getChildCount())for(g=0;g<G.getChildCount();g++){var B=G.children[g].geometry;if(B.adjustIt){var E=b.view.getState(G),D=E.absolutePoints,K=D[0],S=D[D.length-1],I=B.x,Z=B.y,l=S.x-K.x,x=S.y-K.y,T=K.x+I*l,R=K.y+I*x,aa=Math.sqrt(l*l+x*x),l=l/aa,x=x/aa,T=T-Z*x,R=R+Z*l,ka=b.view.getRelativePoint(E,T,R);B.x=ka.x;B.y=
-ka.y}}}}catch(ea){throw console.log(ea),ea;}finally{a.endUpdate()}e+=this.processPage(b,g+1)}p&&p(e+"</mxfile>")}catch(ea){n&&n(ea)}};
+EditorUi.prototype.doImportVisio=function(e,p,n,f){f=f||e.name;null!=f&&/(\.vs(x|sx?))($|\?)/i.test(f)?(new com.mxgraph.io.mxVssxCodec(this)).decodeVssx(e,p,null,n):(new com.mxgraph.io.mxVsdxCodec(this)).decodeVsdx(e,p,null,n)};function mxGraphMlCodec(){this.cachedRefObj={}}mxGraphMlCodec.prototype.refRegexp=/^\{y\:GraphMLReference\s+(\d+)\}$/;mxGraphMlCodec.prototype.staticRegexp=/^\{x\:Static\s+(.+)\.(.+)\}$/;
+mxGraphMlCodec.prototype.decode=function(e,p,n){try{var f=mxUtils.parseXml(e),q=this.getDirectChildNamedElements(f.documentElement,mxGraphMlConstants.GRAPH);this.initializeKeys(f.documentElement);e='<?xml version="1.0" encoding="UTF-8"?><mxfile>';for(f=0;f<q.length;f++){var d=q[f],b=this.createMxGraph(),a=b.getModel();a.beginUpdate();try{for(this.nodesMap={},this.edges=[],this.importGraph(d,b,b.getDefaultParent()),f=0;f<this.edges.length;f++)for(var c=this.edges[f],h=c.edges,m=c.parent,k=c.dx,x=c.dy,
+w=0;w<h.length;w++)this.importEdge(h[w],b,m,k,x)}catch(ea){throw console.log(ea),ea;}finally{a.endUpdate()}a.beginUpdate();try{var B=b.getModel().cells,A;for(A in B){var G=B[A];if(G.edge&&0<G.getChildCount())for(f=0;f<G.getChildCount();f++){var C=G.children[f].geometry;if(C.adjustIt){var E=b.view.getState(G),D=E.absolutePoints,K=D[0],S=D[D.length-1],I=C.x,Z=C.y,k=S.x-K.x,x=S.y-K.y,T=K.x+I*k,R=K.y+I*x,aa=Math.sqrt(k*k+x*x),k=k/aa,x=x/aa,T=T-Z*x,R=R+Z*k,la=b.view.getRelativePoint(E,T,R);C.x=la.x;C.y=
+la.y}}}}catch(ea){throw console.log(ea),ea;}finally{a.endUpdate()}e+=this.processPage(b,f+1)}p&&p(e+"</mxfile>")}catch(ea){n&&n(ea)}};
mxGraphMlCodec.prototype.initializeKeys=function(e){var p=this.getDirectChildNamedElements(e,mxGraphMlConstants.KEY);this.nodesKeys={};this.edgesKeys={};this.portsKeys={};this.sharedData={};this.nodesKeys[mxGraphMlConstants.NODE_GEOMETRY]={};this.nodesKeys[mxGraphMlConstants.USER_TAGS]={};this.nodesKeys[mxGraphMlConstants.NODE_STYLE]={};this.nodesKeys[mxGraphMlConstants.NODE_LABELS]={};this.nodesKeys[mxGraphMlConstants.NODE_GRAPHICS]={};this.edgesKeys[mxGraphMlConstants.EDGE_GEOMETRY]={};this.edgesKeys[mxGraphMlConstants.EDGE_STYLE]=
-{};this.edgesKeys[mxGraphMlConstants.EDGE_LABELS]={};this.portsKeys[mxGraphMlConstants.PORT_LOCATION_PARAMETER]={};this.portsKeys[mxGraphMlConstants.PORT_STYLE]={};this.portsKeys[mxGraphMlConstants.PORT_VIEW_STATE]={};for(var n,g=0;g<p.length;g++){var q=this.dataElem2Obj(p[g]),d=q[mxGraphMlConstants.ID],b=q[mxGraphMlConstants.KEY_FOR],a=q[mxGraphMlConstants.KEY_NAME],c=q[mxGraphMlConstants.KEY_YTYPE];a==mxGraphMlConstants.SHARED_DATA&&(n=d);a=a?a:c;switch(b){case mxGraphMlConstants.NODE:this.nodesKeys[a]=
-{key:d,keyObj:q};break;case mxGraphMlConstants.EDGE:this.edgesKeys[a]={key:d,keyObj:q};break;case mxGraphMlConstants.PORT:this.portsKeys[a]={key:d,keyObj:q};break;case mxGraphMlConstants.ALL:q={key:d,keyObj:q},this.nodesKeys[a]=q,this.edgesKeys[a]=q,this.portsKeys[a]=q}}e=this.getDirectChildNamedElements(e,mxGraphMlConstants.DATA);for(g=0;g<e.length;g++)if(e[g].getAttribute(mxGraphMlConstants.KEY)==n)for(b=this.getDirectChildNamedElements(e[g],mxGraphMlConstants.Y_SHARED_DATA),p=0;p<b.length;p++)for(a=
-this.getDirectChildElements(b[p]),q=0;q<a.length;q++)d=a[q].getAttribute(mxGraphMlConstants.X_KEY),this.sharedData[d]=a[q];else for(b=this.getDirectChildNamedElements(e[g],mxGraphMlConstants.Y_RESOURCES),p=0;p<b.length;p++)for(a=this.getDirectChildElements(b[p]),q=0;q<a.length;q++)d=a[q].getAttribute(mxGraphMlConstants.ID),this.sharedData[d]=a[q]};
-mxGraphMlCodec.prototype.parseAttributes=function(e,p){var n=e.attributes;if(n)for(var g=0;g<n.length;g++){var q=n[g].nodeValue,d=this.refRegexp.exec(q),b=this.staticRegexp.exec(q);d?(q=d[1],d=this.cachedRefObj[q],d||(d={},d[this.sharedData[q].nodeName]=this.dataElem2Obj(this.sharedData[q]),this.cachedRefObj[q]=d),p[n[g].nodeName]=d):b?(p[n[g].nodeName]={},p[n[g].nodeName][b[1]]=b[2]):p[n[g].nodeName]=q}};
-mxGraphMlCodec.prototype.dataElem2Obj=function(e){var p=this.getDirectFirstChildNamedElements(e,mxGraphMlConstants.GRAPHML_REFERENCE)||e.getAttribute(mxGraphMlConstants.REFID),n=null,g=e,q={};if(p){n="string"===typeof p?p:p.getAttribute(mxGraphMlConstants.RESOURCE_KEY);if(p=this.cachedRefObj[n])return this.parseAttributes(e,p),p;e=this.sharedData[n]}this.parseAttributes(e,q);for(p=0;p<e.childNodes.length;p++){var d=e.childNodes[p];if(1==d.nodeType){var b=d.nodeName;if(b==mxGraphMlConstants.X_LIST){for(var a=
-[],d=this.getDirectChildElements(d),c=0;c<d.length;c++)b=d[c].nodeName,a.push(this.dataElem2Obj(d[c]));q[b]=a}else b==mxGraphMlConstants.X_STATIC?(b=d.getAttribute(mxGraphMlConstants.MEMBER),a=b.lastIndexOf("."),q[b.substr(0,a)]=b.substr(a+1)):(a=b.lastIndexOf("."),0<a&&(b=b.substr(a+1)),null!=q[b]?(q[b]instanceof Array||(q[b]=[q[b]]),q[b].push(this.dataElem2Obj(d))):q[b]=this.dataElem2Obj(d))}else 3!=d.nodeType&&4!=d.nodeType||!d.textContent.trim()||(q["#text"]=d.textContent)}return n?(e={},this.parseAttributes(g,
-e),e[this.sharedData[n].nodeName]=q,this.cachedRefObj[n]=e):q};mxGraphMlCodec.prototype.mapArray=function(e,p,n){for(var g={},q=0;q<e.length;q++)e[q].name&&(g[e[q].name]=e[q].value||e[q]);this.mapObject(g,p,n)};
-mxGraphMlCodec.prototype.mapObject=function(e,p,n){if(p.defaults)for(var g in p.defaults)n[g]=p.defaults[g];for(g in p){for(var q=g.split("."),d=e,b=0;b<q.length&&d;b++)d=d[q[b]];null==d&&e&&(d=e[g]);if(null!=d)if(q=p[g],"string"===typeof d)if("string"===typeof q)n[q]=d.toLowerCase();else if("object"===typeof q){b=d.toLowerCase();switch(q.mod){case "color":0==d.indexOf("#")&&9==d.length?b="#"+d.substr(3)+d.substr(1,2):"TRANSPARENT"==d&&(b="none");break;case "shape":b=mxGraphMlShapesMap[d.toLowerCase()];
+{};this.edgesKeys[mxGraphMlConstants.EDGE_LABELS]={};this.portsKeys[mxGraphMlConstants.PORT_LOCATION_PARAMETER]={};this.portsKeys[mxGraphMlConstants.PORT_STYLE]={};this.portsKeys[mxGraphMlConstants.PORT_VIEW_STATE]={};for(var n,f=0;f<p.length;f++){var q=this.dataElem2Obj(p[f]),d=q[mxGraphMlConstants.ID],b=q[mxGraphMlConstants.KEY_FOR],a=q[mxGraphMlConstants.KEY_NAME],c=q[mxGraphMlConstants.KEY_YTYPE];a==mxGraphMlConstants.SHARED_DATA&&(n=d);a=a?a:c;switch(b){case mxGraphMlConstants.NODE:this.nodesKeys[a]=
+{key:d,keyObj:q};break;case mxGraphMlConstants.EDGE:this.edgesKeys[a]={key:d,keyObj:q};break;case mxGraphMlConstants.PORT:this.portsKeys[a]={key:d,keyObj:q};break;case mxGraphMlConstants.ALL:q={key:d,keyObj:q},this.nodesKeys[a]=q,this.edgesKeys[a]=q,this.portsKeys[a]=q}}e=this.getDirectChildNamedElements(e,mxGraphMlConstants.DATA);for(f=0;f<e.length;f++)if(e[f].getAttribute(mxGraphMlConstants.KEY)==n)for(b=this.getDirectChildNamedElements(e[f],mxGraphMlConstants.Y_SHARED_DATA),p=0;p<b.length;p++)for(a=
+this.getDirectChildElements(b[p]),q=0;q<a.length;q++)d=a[q].getAttribute(mxGraphMlConstants.X_KEY),this.sharedData[d]=a[q];else for(b=this.getDirectChildNamedElements(e[f],mxGraphMlConstants.Y_RESOURCES),p=0;p<b.length;p++)for(a=this.getDirectChildElements(b[p]),q=0;q<a.length;q++)d=a[q].getAttribute(mxGraphMlConstants.ID),this.sharedData[d]=a[q]};
+mxGraphMlCodec.prototype.parseAttributes=function(e,p){var n=e.attributes;if(n)for(var f=0;f<n.length;f++){var q=n[f].nodeValue,d=this.refRegexp.exec(q),b=this.staticRegexp.exec(q);d?(q=d[1],d=this.cachedRefObj[q],d||(d={},d[this.sharedData[q].nodeName]=this.dataElem2Obj(this.sharedData[q]),this.cachedRefObj[q]=d),p[n[f].nodeName]=d):b?(p[n[f].nodeName]={},p[n[f].nodeName][b[1]]=b[2]):p[n[f].nodeName]=q}};
+mxGraphMlCodec.prototype.dataElem2Obj=function(e){var p=this.getDirectFirstChildNamedElements(e,mxGraphMlConstants.GRAPHML_REFERENCE)||e.getAttribute(mxGraphMlConstants.REFID),n=null,f=e,q={};if(p){n="string"===typeof p?p:p.getAttribute(mxGraphMlConstants.RESOURCE_KEY);if(p=this.cachedRefObj[n])return this.parseAttributes(e,p),p;e=this.sharedData[n]}this.parseAttributes(e,q);for(p=0;p<e.childNodes.length;p++){var d=e.childNodes[p];if(1==d.nodeType){var b=d.nodeName;if(b==mxGraphMlConstants.X_LIST){for(var a=
+[],d=this.getDirectChildElements(d),c=0;c<d.length;c++)b=d[c].nodeName,a.push(this.dataElem2Obj(d[c]));q[b]=a}else b==mxGraphMlConstants.X_STATIC?(b=d.getAttribute(mxGraphMlConstants.MEMBER),a=b.lastIndexOf("."),q[b.substr(0,a)]=b.substr(a+1)):(a=b.lastIndexOf("."),0<a&&(b=b.substr(a+1)),null!=q[b]?(q[b]instanceof Array||(q[b]=[q[b]]),q[b].push(this.dataElem2Obj(d))):q[b]=this.dataElem2Obj(d))}else 3!=d.nodeType&&4!=d.nodeType||!d.textContent.trim()||(q["#text"]=d.textContent)}return n?(e={},this.parseAttributes(f,
+e),e[this.sharedData[n].nodeName]=q,this.cachedRefObj[n]=e):q};mxGraphMlCodec.prototype.mapArray=function(e,p,n){for(var f={},q=0;q<e.length;q++)e[q].name&&(f[e[q].name]=e[q].value||e[q]);this.mapObject(f,p,n)};
+mxGraphMlCodec.prototype.mapObject=function(e,p,n){if(p.defaults)for(var f in p.defaults)n[f]=p.defaults[f];for(f in p){for(var q=f.split("."),d=e,b=0;b<q.length&&d;b++)d=d[q[b]];null==d&&e&&(d=e[f]);if(null!=d)if(q=p[f],"string"===typeof d)if("string"===typeof q)n[q]=d.toLowerCase();else if("object"===typeof q){b=d.toLowerCase();switch(q.mod){case "color":0==d.indexOf("#")&&9==d.length?b="#"+d.substr(3)+d.substr(1,2):"TRANSPARENT"==d&&(b="none");break;case "shape":b=mxGraphMlShapesMap[d.toLowerCase()];
break;case "bpmnOutline":b=mxGraphMlShapesMap.bpmnOutline[d.toLowerCase()];break;case "bpmnSymbol":b=mxGraphMlShapesMap.bpmnSymbol[d.toLowerCase()];break;case "bool":b="true"==d?"1":"0";break;case "scale":try{b=parseFloat(d)*q.scale}catch(a){}break;case "arrow":b=mxGraphMlArrowsMap[d]}null!=b&&(n[q.key]=b)}else q(d,n);else d instanceof Array?this.mapArray(d,q,n):null!=d.name&&null!=d.value?this.mapArray([d],q,n):this.mapObject(d,q,n)}};mxGraphMlCodec.prototype.createMxGraph=function(){return new mxGraph};
-mxGraphMlCodec.prototype.importGraph=function(e,p,n){for(var g=this.getDirectChildNamedElements(e,mxGraphMlConstants.NODE),q=n,d=0,b=0;q&&q.geometry;)d+=q.geometry.x,b+=q.geometry.y,q=q.parent;for(q=0;q<g.length;q++)this.importNode(g[q],p,n,d,b);this.edges.push({edges:this.getDirectChildNamedElements(e,mxGraphMlConstants.EDGE),parent:n,dx:d,dy:b})};
-mxGraphMlCodec.prototype.importPort=function(e,p){for(var n=e.getAttribute(mxGraphMlConstants.PORT_NAME),g={},q=this.getDirectChildNamedElements(e,mxGraphMlConstants.DATA),d=0;d<q.length;d++){var b=q[d];b.getAttribute(mxGraphMlConstants.KEY);b=this.dataElem2Obj(b);b.key==this.portsKeys[mxGraphMlConstants.PORT_LOCATION_PARAMETER].key&&this.mapObject(b,{"y:FreeNodePortLocationModelParameter.Ratio":function(a,b){var c=a.split(",");b.pos={x:c[0],y:c[1]}}},g)}p[n]=g};
-mxGraphMlCodec.prototype.styleMap2Str=function(e){var p="",n="",g;for(g in e)n+=p+g+"="+e[g],p=";";return n};
-mxGraphMlCodec.prototype.importNode=function(e,p,n,g,q){var d=this.getDirectChildNamedElements(e,mxGraphMlConstants.DATA),b=e.getAttribute(mxGraphMlConstants.ID),a=new mxCell;a.vertex=!0;a.geometry=new mxGeometry(0,0,30,30);p.addCell(a,n);n={graphMlID:b};for(var c=null,f=null,m=null,l=null,x=0;x<d.length;x++){var w=this.dataElem2Obj(d[x]);if(w.key)if(w.key==this.nodesKeys[mxGraphMlConstants.NODE_GEOMETRY].key)this.addNodeGeo(a,w,g,q);else if(w.key==this.nodesKeys[mxGraphMlConstants.USER_TAGS].key)m=
-w;else if(w.key==this.nodesKeys[mxGraphMlConstants.NODE_STYLE].key)c=w,w["yjs:StringTemplateNodeStyle"]?f=w["yjs:StringTemplateNodeStyle"]["#text"]:this.addNodeStyle(a,w,n);else if(w.key==this.nodesKeys[mxGraphMlConstants.NODE_LABELS].key)l=w;else if(w.key==this.nodesKeys[mxGraphMlConstants.NODE_GRAPHICS].key){var C=c=null;for(C in w)if("key"!=C&&"#text"!=C){if("y:ProxyAutoBoundsNode"==C){if(C=w[C]["y:Realizers"])for(var A in C)if("active"!=A&&"#text"!=A){c=C[A][C.active];w={};w[A]=c;break}}else c=
-w[C];break}c&&(c[mxGraphMlConstants.GEOMETRY]&&this.addNodeGeo(a,c[mxGraphMlConstants.GEOMETRY],g,q),c[mxGraphMlConstants.NODE_LABEL]&&(l=c[mxGraphMlConstants.NODE_LABEL]));c=w;this.addNodeStyle(a,w,n)}}q=this.getDirectChildNamedElements(e,mxGraphMlConstants.PORT);g={};for(x=0;x<q.length;x++)this.importPort(q[x],g);f&&this.handleTemplates(f,m,a,n);this.handleFixedRatio(a,n);this.handleCompoundShape(a,n,c,null);0==n.strokeWidth&&(n.strokeColor="none");a.style=this.styleMap2Str(n);e=this.getDirectChildNamedElements(e,
-mxGraphMlConstants.GRAPH);for(x=0;x<e.length;x++)this.importGraph(e[x],p,a,g);l&&this.addLabels(a,l,n,p);this.nodesMap[b]={node:a,ports:g}};
+mxGraphMlCodec.prototype.importGraph=function(e,p,n){for(var f=this.getDirectChildNamedElements(e,mxGraphMlConstants.NODE),q=n,d=0,b=0;q&&q.geometry;)d+=q.geometry.x,b+=q.geometry.y,q=q.parent;for(q=0;q<f.length;q++)this.importNode(f[q],p,n,d,b);this.edges.push({edges:this.getDirectChildNamedElements(e,mxGraphMlConstants.EDGE),parent:n,dx:d,dy:b})};
+mxGraphMlCodec.prototype.importPort=function(e,p){for(var n=e.getAttribute(mxGraphMlConstants.PORT_NAME),f={},q=this.getDirectChildNamedElements(e,mxGraphMlConstants.DATA),d=0;d<q.length;d++){var b=q[d];b.getAttribute(mxGraphMlConstants.KEY);b=this.dataElem2Obj(b);b.key==this.portsKeys[mxGraphMlConstants.PORT_LOCATION_PARAMETER].key&&this.mapObject(b,{"y:FreeNodePortLocationModelParameter.Ratio":function(a,b){var c=a.split(",");b.pos={x:c[0],y:c[1]}}},f)}p[n]=f};
+mxGraphMlCodec.prototype.styleMap2Str=function(e){var p="",n="",f;for(f in e)n+=p+f+"="+e[f],p=";";return n};
+mxGraphMlCodec.prototype.importNode=function(e,p,n,f,q){var d=this.getDirectChildNamedElements(e,mxGraphMlConstants.DATA),b=e.getAttribute(mxGraphMlConstants.ID),a=new mxCell;a.vertex=!0;a.geometry=new mxGeometry(0,0,30,30);p.addCell(a,n);n={graphMlID:b};for(var c=null,h=null,m=null,k=null,x=0;x<d.length;x++){var w=this.dataElem2Obj(d[x]);if(w.key)if(w.key==this.nodesKeys[mxGraphMlConstants.NODE_GEOMETRY].key)this.addNodeGeo(a,w,f,q);else if(w.key==this.nodesKeys[mxGraphMlConstants.USER_TAGS].key)m=
+w;else if(w.key==this.nodesKeys[mxGraphMlConstants.NODE_STYLE].key)c=w,w["yjs:StringTemplateNodeStyle"]?h=w["yjs:StringTemplateNodeStyle"]["#text"]:this.addNodeStyle(a,w,n);else if(w.key==this.nodesKeys[mxGraphMlConstants.NODE_LABELS].key)k=w;else if(w.key==this.nodesKeys[mxGraphMlConstants.NODE_GRAPHICS].key){var B=c=null;for(B in w)if("key"!=B&&"#text"!=B){if("y:ProxyAutoBoundsNode"==B){if(B=w[B]["y:Realizers"])for(var A in B)if("active"!=A&&"#text"!=A){c=B[A][B.active];w={};w[A]=c;break}}else c=
+w[B];break}c&&(c[mxGraphMlConstants.GEOMETRY]&&this.addNodeGeo(a,c[mxGraphMlConstants.GEOMETRY],f,q),c[mxGraphMlConstants.NODE_LABEL]&&(k=c[mxGraphMlConstants.NODE_LABEL]));c=w;this.addNodeStyle(a,w,n)}}q=this.getDirectChildNamedElements(e,mxGraphMlConstants.PORT);f={};for(x=0;x<q.length;x++)this.importPort(q[x],f);h&&this.handleTemplates(h,m,a,n);this.handleFixedRatio(a,n);this.handleCompoundShape(a,n,c,null);0==n.strokeWidth&&(n.strokeColor="none");a.style=this.styleMap2Str(n);e=this.getDirectChildNamedElements(e,
+mxGraphMlConstants.GRAPH);for(x=0;x<e.length;x++)this.importGraph(e[x],p,a,f);k&&this.addLabels(a,k,n,p);this.nodesMap[b]={node:a,ports:f}};
mxGraphMlCodec.prototype.addNodeStyle=function(e,p,n){e=function(a,b){if("line"!=a){b.dashed=1;var c;switch(a){case "DashDot":c="3 1 1 1";break;case "Dot":c="1 1";break;case "DashDotDot":c="3 1 1 1 1 1";break;case "Dash":c="3 1";break;case "dotted":c="1 3";break;case "dashed":c="5 2";break;default:c=a.replace(/0/g,"1")}c&&(0>c.indexOf(" ")&&(c=c+" "+c),b.dashPattern=c)}};e={shape:{key:"shape",mod:"shape"},"y:Shape.type":{key:"shape",mod:"shape"},configuration:{key:"shape",mod:"shape"},type:{key:"shape",
mod:"shape"},assetName:{key:"shape",mod:"shape"},activityType:{key:"shape",mod:"shape"},fill:{key:"fillColor",mod:"color"},"fill.yjs:SolidColorFill.color":{key:"fillColor",mod:"color"},"fill.yjs:SolidColorFill.color.yjs:Color.value":{key:"fillColor",mod:"color"},"y:Fill":{color:{key:"fillColor",mod:"color"},transparent:function(a,b){"true"==a&&(b.fillColor="none")}},"y:BorderStyle":{color:{key:"strokeColor",mod:"color"},width:"strokeWidth",hasColor:function(a,b){"false"==a&&(b.strokeColor="none")},
-type:e},stroke:{key:"strokeColor",mod:"color"},"stroke.yjs:Stroke":{dashStyle:e,"dashStyle.yjs:DashStyle.dashes":e,fill:{key:"strokeColor",mod:"color"},"fill.yjs:SolidColorFill.color":{key:"strokeColor",mod:"color"},"thickness.sys:Double":"strokeWidth",thickness:"strokeWidth"}};var g=mxUtils.clone(e);g.defaults={fillColor:"#CCCCCC",strokeColor:"#6881B3"};var q=mxUtils.clone(e);q.defaults={shape:"ext;rounded=1",fillColor:"#FFFFFF",strokeColor:"#000090"};var d=mxUtils.clone(e);d.defaults={shape:"rhombus;fillColor=#FFFFFF;strokeColor=#FFCD28"};
-var b=mxUtils.clone(e);b.defaults={shape:"hexagon",strokeColor:"#007000"};var a=mxUtils.clone(e);a.defaults={shape:"mxgraph.bpmn.shape;perimeter=ellipsePerimeter;symbol=general",outline:"standard"};a.characteristic={key:"outline",mod:"bpmnOutline"};var c=mxUtils.clone(e);c.defaults={shape:"js:bpmnDataObject"};var f=mxUtils.clone(e);f.defaults={shape:"datastore"};var m=mxUtils.clone(e);m.defaults={shape:"swimlane;swimlaneLine=0;startSize=20;dashed=1;dashPattern=3 1 1 1;collapsible=0;rounded=1"};var l=
-mxUtils.clone(e);l.defaults={shape:"js:BpmnChoreography"};var x=mxUtils.clone(e);x.defaults={rounded:"1",glass:"1",strokeColor:"#FFFFFF"};x.inset="strokeWidth";x.radius="arcSize";x.drawShadow={key:"shadow",mod:"bool"};x.color={key:"fillColor",mod:"color",addGradient:"north"};x["color.yjs:Color.value"]=x.color;var w=mxUtils.clone(e);w.defaults={rounded:"1",arcSize:10,glass:"1",shadow:"1",strokeColor:"none"};w.drawShadow={key:"shadow",mod:"bool"};var C=mxUtils.clone(e);C.defaults={shape:"swimlane",
-startSize:20,strokeWidth:4,spacingLeft:10};C.isCollapsible={key:"collapsible",mod:"bool"};C.borderColor={key:"strokeColor",mod:"color"};C.folderFrontColor={key:"fillColor",mod:"color"};var A=mxUtils.clone(e);A.defaults={shape:"swimlane",startSize:20,spacingLeft:10};A["yjs:PanelNodeStyle"]={color:{key:"swimlaneFillColor",mod:"color"},"color.yjs:Color.value":{key:"swimlaneFillColor",mod:"color"},labelInsetsColor:{key:"fillColor",mod:"color"},"labelInsetsColor.yjs:Color.value":{key:"fillColor",mod:"color"}};
-var G=mxUtils.clone(e);G.defaults={shape:"js:table"};var B=mxUtils.clone(e);B.defaults={shape:"image"};B.image=function(a,b){b.image=a};var E=mxUtils.clone(e);E.defaults={shape:"image"};E["y:SVGModel.y:SVGContent.y:Resource.#text"]=function(a,b){b.image="data:image/svg+xml,"+(window.btoa?btoa(a):Base64.encode(a))};var D=mxUtils.clone(e);D.defaults={shape:"swimlane",startSize:20};D["y:Shape.type"]=function(a,b){"roundrectangle"==a&&(b.rounded=1,b.arcSize=5)};var K=mxUtils.clone(e);K.defaults={shape:"js:table2"};
+type:e},stroke:{key:"strokeColor",mod:"color"},"stroke.yjs:Stroke":{dashStyle:e,"dashStyle.yjs:DashStyle.dashes":e,fill:{key:"strokeColor",mod:"color"},"fill.yjs:SolidColorFill.color":{key:"strokeColor",mod:"color"},"thickness.sys:Double":"strokeWidth",thickness:"strokeWidth"}};var f=mxUtils.clone(e);f.defaults={fillColor:"#CCCCCC",strokeColor:"#6881B3"};var q=mxUtils.clone(e);q.defaults={shape:"ext;rounded=1",fillColor:"#FFFFFF",strokeColor:"#000090"};var d=mxUtils.clone(e);d.defaults={shape:"rhombus;fillColor=#FFFFFF;strokeColor=#FFCD28"};
+var b=mxUtils.clone(e);b.defaults={shape:"hexagon",strokeColor:"#007000"};var a=mxUtils.clone(e);a.defaults={shape:"mxgraph.bpmn.shape;perimeter=ellipsePerimeter;symbol=general",outline:"standard"};a.characteristic={key:"outline",mod:"bpmnOutline"};var c=mxUtils.clone(e);c.defaults={shape:"js:bpmnDataObject"};var h=mxUtils.clone(e);h.defaults={shape:"datastore"};var m=mxUtils.clone(e);m.defaults={shape:"swimlane;swimlaneLine=0;startSize=20;dashed=1;dashPattern=3 1 1 1;collapsible=0;rounded=1"};var k=
+mxUtils.clone(e);k.defaults={shape:"js:BpmnChoreography"};var x=mxUtils.clone(e);x.defaults={rounded:"1",glass:"1",strokeColor:"#FFFFFF"};x.inset="strokeWidth";x.radius="arcSize";x.drawShadow={key:"shadow",mod:"bool"};x.color={key:"fillColor",mod:"color",addGradient:"north"};x["color.yjs:Color.value"]=x.color;var w=mxUtils.clone(e);w.defaults={rounded:"1",arcSize:10,glass:"1",shadow:"1",strokeColor:"none"};w.drawShadow={key:"shadow",mod:"bool"};var B=mxUtils.clone(e);B.defaults={shape:"swimlane",
+startSize:20,strokeWidth:4,spacingLeft:10};B.isCollapsible={key:"collapsible",mod:"bool"};B.borderColor={key:"strokeColor",mod:"color"};B.folderFrontColor={key:"fillColor",mod:"color"};var A=mxUtils.clone(e);A.defaults={shape:"swimlane",startSize:20,spacingLeft:10};A["yjs:PanelNodeStyle"]={color:{key:"swimlaneFillColor",mod:"color"},"color.yjs:Color.value":{key:"swimlaneFillColor",mod:"color"},labelInsetsColor:{key:"fillColor",mod:"color"},"labelInsetsColor.yjs:Color.value":{key:"fillColor",mod:"color"}};
+var G=mxUtils.clone(e);G.defaults={shape:"js:table"};var C=mxUtils.clone(e);C.defaults={shape:"image"};C.image=function(a,b){b.image=a};var E=mxUtils.clone(e);E.defaults={shape:"image"};E["y:SVGModel.y:SVGContent.y:Resource.#text"]=function(a,b){b.image="data:image/svg+xml,"+(window.btoa?btoa(a):Base64.encode(a))};var D=mxUtils.clone(e);D.defaults={shape:"swimlane",startSize:20};D["y:Shape.type"]=function(a,b){"roundrectangle"==a&&(b.rounded=1,b.arcSize=5)};var K=mxUtils.clone(e);K.defaults={shape:"js:table2"};
var S=mxUtils.clone(e);S.defaults={gradientDirection:"east"};S["y:Fill"].color2={key:"gradientColor",mod:"color"};S["y:StyleProperties.y:Property"]={"com.yworks.bpmn.characteristic":{key:"outline",mod:"bpmnOutline"},"com.yworks.bpmn.icon.fill":{key:"gradientColor",mod:"color"},"com.yworks.bpmn.icon.fill2":{key:"fillColor",mod:"color"},"com.yworks.bpmn.type":{key:"symbol",mod:"bpmnSymbol"},"y.view.ShadowNodePainter.SHADOW_PAINTING":{key:"shadow",mod:"bool"},doubleBorder:{key:"double",mod:"bool"},"com.yworks.sbgn.style.radius":{key:"arcSize",
-mod:"scale",scale:2},"com.yworks.sbgn.style.inverse":{key:"flipV",mod:"bool"}};this.mapObject(p,{"yjs:ShapeNodeStyle":e,"demostyle:FlowchartNodeStyle":e,"demostyle:AssetNodeStyle":g,"bpmn:ActivityNodeStyle":q,"bpmn:GatewayNodeStyle":d,"bpmn:ConversationNodeStyle":b,"bpmn:EventNodeStyle":a,"bpmn:DataObjectNodeStyle":c,"bpmn:DataStoreNodeStyle":f,"bpmn:GroupNodeStyle":m,"bpmn:ChoreographyNodeStyle":l,"yjs:BevelNodeStyle":x,"yjs:ShinyPlateNodeStyle":w,"demostyle:DemoGroupStyle":C,"yjs:CollapsibleNodeStyleDecorator":A,
-"bpmn:PoolNodeStyle":G,"yjs:TableNodeStyle":G,"demotablestyle:DemoTableStyle":G,"yjs:ImageNodeStyle":B,"y:ShapeNode":e,"y:GenericNode":S,"y:GenericGroupNode":S,"y:TableNode":K,"y:SVGNode":E,"y:GroupNode":D},n)};
-mxGraphMlCodec.prototype.handleTemplates=function(e,p,n,g){if(e){var q=n.geometry.width,d=n.geometry.height;n='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 '+q+" "+d+'"><g>';for(var b,a=[],c=/\{TemplateBinding\s+([^}]+)\}/g;null!=(b=c.exec(e));){var f="";switch(b[1]){case "width":f=q;break;case "height":f=d}a.push({match:b[0],repl:f})}if(p&&p["y:Json"])for(p=JSON.parse(p["y:Json"]["#text"]),q=/\{Binding\s+([^}]+)\}/g;null!=(b=q.exec(e));)if(d=b[1].split(","),
-c=p[d[0]])1<d.length&&d[1].indexOf("Converter=")&&(f=mxGraphMlConverters[d[1].substr(11)])&&(c=[c],d[2]&&c.push(d[2].substr(11)),c=f.apply(null,c)),a.push({match:b[0],repl:mxUtils.htmlEntities(c)});for(b=0;b<a.length;b++)e=e.replace(a[b].match,a[b].repl);a=[];for(p=/\<text.+data-content="([^"]+).+\<\/text\>/g;null!=(b=p.exec(e));)c=b[0].substr(0,b[0].length-7)+b[1]+"</text>",a.push({match:b[0],repl:c});for(b=0;b<a.length;b++)e=e.replace(a[b].match,a[b].repl);e=n+e+"</g></svg>";g.shape="image";g.image=
+mod:"scale",scale:2},"com.yworks.sbgn.style.inverse":{key:"flipV",mod:"bool"}};this.mapObject(p,{"yjs:ShapeNodeStyle":e,"demostyle:FlowchartNodeStyle":e,"demostyle:AssetNodeStyle":f,"bpmn:ActivityNodeStyle":q,"bpmn:GatewayNodeStyle":d,"bpmn:ConversationNodeStyle":b,"bpmn:EventNodeStyle":a,"bpmn:DataObjectNodeStyle":c,"bpmn:DataStoreNodeStyle":h,"bpmn:GroupNodeStyle":m,"bpmn:ChoreographyNodeStyle":k,"yjs:BevelNodeStyle":x,"yjs:ShinyPlateNodeStyle":w,"demostyle:DemoGroupStyle":B,"yjs:CollapsibleNodeStyleDecorator":A,
+"bpmn:PoolNodeStyle":G,"yjs:TableNodeStyle":G,"demotablestyle:DemoTableStyle":G,"yjs:ImageNodeStyle":C,"y:ShapeNode":e,"y:GenericNode":S,"y:GenericGroupNode":S,"y:TableNode":K,"y:SVGNode":E,"y:GroupNode":D},n)};
+mxGraphMlCodec.prototype.handleTemplates=function(e,p,n,f){if(e){var q=n.geometry.width,d=n.geometry.height;n='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 '+q+" "+d+'"><g>';for(var b,a=[],c=/\{TemplateBinding\s+([^}]+)\}/g;null!=(b=c.exec(e));){var h="";switch(b[1]){case "width":h=q;break;case "height":h=d}a.push({match:b[0],repl:h})}if(p&&p["y:Json"])for(p=JSON.parse(p["y:Json"]["#text"]),q=/\{Binding\s+([^}]+)\}/g;null!=(b=q.exec(e));)if(d=b[1].split(","),
+c=p[d[0]])1<d.length&&d[1].indexOf("Converter=")&&(h=mxGraphMlConverters[d[1].substr(11)])&&(c=[c],d[2]&&c.push(d[2].substr(11)),c=h.apply(null,c)),a.push({match:b[0],repl:mxUtils.htmlEntities(c)});for(b=0;b<a.length;b++)e=e.replace(a[b].match,a[b].repl);a=[];for(p=/\<text.+data-content="([^"]+).+\<\/text\>/g;null!=(b=p.exec(e));)c=b[0].substr(0,b[0].length-7)+b[1]+"</text>",a.push({match:b[0],repl:c});for(b=0;b<a.length;b++)e=e.replace(a[b].match,a[b].repl);e=n+e+"</g></svg>";f.shape="image";f.image=
"data:image/svg+xml,"+(window.btoa?btoa(e):Base64.encode(e))}};
-mxGraphMlCodec.prototype.handleCompoundShape=function(e,p,n,g){var q=p.shape;if(q&&0==q.indexOf("js:")){switch(q){case "js:bpmnArtifactShadow":p.shadow="1";case "js:bpmnArtifact":p.shape=p.symbol;delete p.fillColor;delete p.strokeColor;delete p.gradientColor;this.handleCompoundShape(e,p,n,g);break;case "js:bpmnDataObjectShadow":case "js:bpmnDataObject":p.shape="note;size=16";n=n["bpmn:DataObjectNodeStyle"]||n["y:GenericNode"]||n["y:GenericGroupNode"];g={};this.mapObject(n,{"y:StyleProperties.y:Property":{"com.yworks.bpmn.dataObjectType":"dataObjectType",
-"com.yworks.bpmn.marker1":"marker1"}},g);if("true"==n.collection||"bpmn_marker_parallel"==g.marker1){var d=new mxCell("",new mxGeometry(.5,1,10,10),"html=1;whiteSpace=wrap;shape=parallelMarker;");d.vertex=!0;d.geometry.relative=!0;d.geometry.offset=new mxPoint(-5,-10);e.insert(d)}if("INPUT"==n.type||"data_object_type_input"==g.dataObjectType)d=new mxCell("",new mxGeometry(0,0,10,10),"html=1;shape=singleArrow;arrowWidth=0.4;arrowSize=0.4;"),d.vertex=!0,d.geometry.relative=!0,d.geometry.offset=new mxPoint(2,
-2),e.insert(d);else if("OUTPUT"==n.type||"data_object_type_output"==g.dataObjectType)d=new mxCell("",new mxGeometry(0,0,10,10),"html=1;shape=singleArrow;arrowWidth=0.4;arrowSize=0.4;fillColor=#000000;"),d.vertex=!0,d.geometry.relative=!0,d.geometry.offset=new mxPoint(2,2),e.insert(d);break;case "js:BpmnChoreography":this.mapObject(n,{defaults:{shape:"swimlane;collapsible=0;rounded=1",startSize:"20",strokeColor:"#006000",fillColor:"#CCCCCC"}},p);d=e.geometry;d=new mxCell("",new mxGeometry(0,d.height-
-20,d.width,20),"strokeColor=#006000;fillColor=#777777;rounded=1");d.vertex=!0;e.insert(d);g&&g.lblTxts&&(e.value=g.lblTxts[0],d.value=g.lblTxts[1]);break;case "js:bpmnActivityShadow":case "js:bpmnActivity":p.shape="ext;rounded=1";g={};n=n["y:GenericNode"]||n["y:GenericGroupNode"];this.mapObject(n,{"y:StyleProperties.y:Property":{"com.yworks.bpmn.taskType":"taskType","com.yworks.bpmn.activityType":"activityType","com.yworks.bpmn.marker1":"marker1","com.yworks.bpmn.marker2":"marker2","com.yworks.bpmn.marker3":"marker3",
-"com.yworks.bpmn.marker4":"marker4"}},g);switch(g.activityType){case "activity_type_transaction":p["double"]="1"}switch(g.taskType){case "task_type_send":var b=new mxCell("",new mxGeometry(0,0,19,12),"shape=message;fillColor=#000000;strokeColor=#FFFFFF;");b.geometry.offset=new mxPoint(4,7);break;case "task_type_receive":b=new mxCell("",new mxGeometry(0,0,19,12),"shape=message;");b.geometry.offset=new mxPoint(4,7);break;case "task_type_user":b=new mxCell("",new mxGeometry(0,0,15,15),"shape=mxgraph.bpmn.user_task;");
+mxGraphMlCodec.prototype.handleCompoundShape=function(e,p,n,f){var q=p.shape;if(q&&0==q.indexOf("js:")){switch(q){case "js:bpmnArtifactShadow":p.shadow="1";case "js:bpmnArtifact":p.shape=p.symbol;delete p.fillColor;delete p.strokeColor;delete p.gradientColor;this.handleCompoundShape(e,p,n,f);break;case "js:bpmnDataObjectShadow":case "js:bpmnDataObject":p.shape="note;size=16";n=n["bpmn:DataObjectNodeStyle"]||n["y:GenericNode"]||n["y:GenericGroupNode"];f={};this.mapObject(n,{"y:StyleProperties.y:Property":{"com.yworks.bpmn.dataObjectType":"dataObjectType",
+"com.yworks.bpmn.marker1":"marker1"}},f);if("true"==n.collection||"bpmn_marker_parallel"==f.marker1){var d=new mxCell("",new mxGeometry(.5,1,10,10),"html=1;whiteSpace=wrap;shape=parallelMarker;");d.vertex=!0;d.geometry.relative=!0;d.geometry.offset=new mxPoint(-5,-10);e.insert(d)}if("INPUT"==n.type||"data_object_type_input"==f.dataObjectType)d=new mxCell("",new mxGeometry(0,0,10,10),"html=1;shape=singleArrow;arrowWidth=0.4;arrowSize=0.4;"),d.vertex=!0,d.geometry.relative=!0,d.geometry.offset=new mxPoint(2,
+2),e.insert(d);else if("OUTPUT"==n.type||"data_object_type_output"==f.dataObjectType)d=new mxCell("",new mxGeometry(0,0,10,10),"html=1;shape=singleArrow;arrowWidth=0.4;arrowSize=0.4;fillColor=#000000;"),d.vertex=!0,d.geometry.relative=!0,d.geometry.offset=new mxPoint(2,2),e.insert(d);break;case "js:BpmnChoreography":this.mapObject(n,{defaults:{shape:"swimlane;collapsible=0;rounded=1",startSize:"20",strokeColor:"#006000",fillColor:"#CCCCCC"}},p);d=e.geometry;d=new mxCell("",new mxGeometry(0,d.height-
+20,d.width,20),"strokeColor=#006000;fillColor=#777777;rounded=1");d.vertex=!0;e.insert(d);f&&f.lblTxts&&(e.value=f.lblTxts[0],d.value=f.lblTxts[1]);break;case "js:bpmnActivityShadow":case "js:bpmnActivity":p.shape="ext;rounded=1";f={};n=n["y:GenericNode"]||n["y:GenericGroupNode"];this.mapObject(n,{"y:StyleProperties.y:Property":{"com.yworks.bpmn.taskType":"taskType","com.yworks.bpmn.activityType":"activityType","com.yworks.bpmn.marker1":"marker1","com.yworks.bpmn.marker2":"marker2","com.yworks.bpmn.marker3":"marker3",
+"com.yworks.bpmn.marker4":"marker4"}},f);switch(f.activityType){case "activity_type_transaction":p["double"]="1"}switch(f.taskType){case "task_type_send":var b=new mxCell("",new mxGeometry(0,0,19,12),"shape=message;fillColor=#000000;strokeColor=#FFFFFF;");b.geometry.offset=new mxPoint(4,7);break;case "task_type_receive":b=new mxCell("",new mxGeometry(0,0,19,12),"shape=message;");b.geometry.offset=new mxPoint(4,7);break;case "task_type_user":b=new mxCell("",new mxGeometry(0,0,15,15),"shape=mxgraph.bpmn.user_task;");
b.geometry.offset=new mxPoint(4,5);break;case "task_type_manual":b=new mxCell("",new mxGeometry(0,0,15,10),"shape=mxgraph.bpmn.manual_task;");b.geometry.offset=new mxPoint(4,7);break;case "task_type_business_rule":b=new mxCell("",new mxGeometry(0,0,18,13),"shape=mxgraph.bpmn.business_rule_task;");b.geometry.offset=new mxPoint(4,7);break;case "task_type_service":b=new mxCell("",new mxGeometry(0,0,15,15),"shape=mxgraph.bpmn.service_task;");b.geometry.offset=new mxPoint(4,5);break;case "task_type_script":b=
-new mxCell("",new mxGeometry(0,0,15,15),"shape=mxgraph.bpmn.script_task;"),b.geometry.offset=new mxPoint(4,5)}b&&(b.vertex=!0,b.geometry.relative=!0,e.insert(b),b=null);for(var a=0,d=1;4>=d;d++)g["marker"+d]&&a++;n=-7.5*a-2*(a-1);for(d=1;d<=a;d++){switch(g["marker"+d]){case "bpmn_marker_closed":b=new mxCell("",new mxGeometry(.5,1,15,15),"shape=plus;part=1;");b.geometry.offset=new mxPoint(n,-20);break;case "bpmn_marker_open":b=new mxCell("",new mxGeometry(.5,1,15,15),"shape=rect;part=1;");b.geometry.offset=
+new mxCell("",new mxGeometry(0,0,15,15),"shape=mxgraph.bpmn.script_task;"),b.geometry.offset=new mxPoint(4,5)}b&&(b.vertex=!0,b.geometry.relative=!0,e.insert(b),b=null);for(var a=0,d=1;4>=d;d++)f["marker"+d]&&a++;n=-7.5*a-2*(a-1);for(d=1;d<=a;d++){switch(f["marker"+d]){case "bpmn_marker_closed":b=new mxCell("",new mxGeometry(.5,1,15,15),"shape=plus;part=1;");b.geometry.offset=new mxPoint(n,-20);break;case "bpmn_marker_open":b=new mxCell("",new mxGeometry(.5,1,15,15),"shape=rect;part=1;");b.geometry.offset=
new mxPoint(n,-20);var c=new mxCell("",new mxGeometry(.5,.5,8,1),"shape=rect;part=1;");c.geometry.offset=new mxPoint(-4,-1);c.geometry.relative=!0;c.vertex=!0;b.insert(c);break;case "bpmn_marker_loop":b=new mxCell("",new mxGeometry(.5,1,15,15),"shape=mxgraph.bpmn.loop;part=1;");b.geometry.offset=new mxPoint(n,-20);break;case "bpmn_marker_parallel":b=new mxCell("",new mxGeometry(.5,1,15,15),"shape=parallelMarker;part=1;");b.geometry.offset=new mxPoint(n,-20);break;case "bpmn_marker_sequential":b=new mxCell("",
new mxGeometry(.5,1,15,15),"shape=parallelMarker;direction=south;part=1;");b.geometry.offset=new mxPoint(n,-20);break;case "bpmn_marker_ad_hoc":b=new mxCell("",new mxGeometry(.5,1,15,10),"shape=mxgraph.bpmn.ad_hoc;strokeColor=none;flipH=1;part=1;fillColor=#000000");b.geometry.offset=new mxPoint(n,-17);break;case "bpmn_marker_compensation":b=new mxCell("",new mxGeometry(.5,1,15,11),"shape=mxgraph.bpmn.compensation;part=1;"),b.geometry.offset=new mxPoint(n,-18)}b.geometry.relative=!0;b.vertex=!0;e.insert(b);
-n+=20}break;case "js:table":p.shape="swimlane;collapsible=0;swimlaneLine=0";g=n["yjs:TableNodeStyle"]||n["demotablestyle:DemoTableStyle"];!g&&n["bpmn:PoolNodeStyle"]&&(g=n["bpmn:PoolNodeStyle"]["yjs:TableNodeStyle"]);this.mapObject(g,{"backgroundStyle.demotablestyle:TableBackgroundStyle":{"insetFill.yjs:SolidColorFill.color.yjs:Color.value":{key:"fillColor",mod:"color"},"tableBackgroundFill.yjs:SolidColorFill.color.yjs:Color.value":{key:"swimlaneFillColor",mod:"color"},"tableBackgroundStroke.yjs:Stroke":{fill:{key:"strokeColor",
-mod:"color"},thickness:"strokeWidth"}},"backgroundStyle.yjs:ShapeNodeStyle.fill":{key:"fillColor",mod:"color"},"backgroundStyle.yjs:ShapeNodeStyle.fill.yjs:SolidColorFill.color":{key:"fillColor",mod:"color"}},p);p.swimlaneFillColor=p.fillColor;g=g.table["y:Table"];var f=a=0,m={x:0};n=0;(d=g.Insets)?(d=d.split(","),"0"!=d[0]?(p.startSize=d[0],m.x=parseFloat(d[0]),p.horizontal="0"):"0"!=d[1]&&(p.startSize=d[1],n=parseFloat(d[1]),f+=n)):p.startSize="0";var l={},x={Insets:function(a,b){b.startSize=a.split(",")[0]},
+n+=20}break;case "js:table":p.shape="swimlane;collapsible=0;swimlaneLine=0";f=n["yjs:TableNodeStyle"]||n["demotablestyle:DemoTableStyle"];!f&&n["bpmn:PoolNodeStyle"]&&(f=n["bpmn:PoolNodeStyle"]["yjs:TableNodeStyle"]);this.mapObject(f,{"backgroundStyle.demotablestyle:TableBackgroundStyle":{"insetFill.yjs:SolidColorFill.color.yjs:Color.value":{key:"fillColor",mod:"color"},"tableBackgroundFill.yjs:SolidColorFill.color.yjs:Color.value":{key:"swimlaneFillColor",mod:"color"},"tableBackgroundStroke.yjs:Stroke":{fill:{key:"strokeColor",
+mod:"color"},thickness:"strokeWidth"}},"backgroundStyle.yjs:ShapeNodeStyle.fill":{key:"fillColor",mod:"color"},"backgroundStyle.yjs:ShapeNodeStyle.fill.yjs:SolidColorFill.color":{key:"fillColor",mod:"color"}},p);p.swimlaneFillColor=p.fillColor;f=f.table["y:Table"];var h=a=0,m={x:0};n=0;(d=f.Insets)?(d=d.split(","),"0"!=d[0]?(p.startSize=d[0],m.x=parseFloat(d[0]),p.horizontal="0"):"0"!=d[1]&&(p.startSize=d[1],n=parseFloat(d[1]),h+=n)):p.startSize="0";var k={},x={Insets:function(a,b){b.startSize=a.split(",")[0]},
"Style.bpmn:AlternatingLeafStripeStyle":{"evenLeafDescriptor.bpmn:StripeDescriptor":{insetFill:{key:"evenFill",mod:"color"},backgroundFill:{key:"evenLaneFill",mod:"color"}},"oddLeafDescriptor.bpmn:StripeDescriptor":{insetFill:{key:"oddFill",mod:"color"},backgroundFill:{key:"oddLaneFill",mod:"color"}}},"Style.yjs:NodeStyleStripeStyleAdapter":{"demotablestyle:DemoStripeStyle":{"stripeInsetFill.yjs:SolidColorFill.color.yjs:Color.value":{key:"fillColor",mod:"color"},"tableLineFill.yjs:SolidColorFill.color.yjs:Color.value":{key:"strokeColor",
-mod:"color"}},"yjs:ShapeNodeStyle":{fill:{key:"swimlaneFillColor",mod:"color"}}},Size:"height"};this.mapObject(g.RowDefaults,{defaults:{shape:"swimlane;collapsible=0;horizontal=0",startSize:"0"},"y:StripeDefaults":x},l);b={};c={Insets:function(a,b){b.startSize=a.split(",")[1]},"Style.bpmn:AlternatingLeafStripeStyle":{"evenLeafDescriptor.bpmn:StripeDescriptor":{insetFill:{key:"evenFill",mod:"color"},backgroundFill:{key:"evenLaneFill",mod:"color"}},"oddLeafDescriptor.bpmn:StripeDescriptor":{insetFill:{key:"oddFill",
-mod:"color"},backgroundFill:{key:"oddLaneFill",mod:"color"}}},"Style.yjs:NodeStyleStripeStyleAdapter":{"demotablestyle:DemoStripeStyle":{"stripeInsetFill.yjs:SolidColorFill.color.yjs:Color.value":{key:"fillColor",mod:"color"},"tableLineFill.yjs:SolidColorFill.color.yjs:Color.value":{key:"strokeColor",mod:"color"}},"yjs:ShapeNodeStyle":{fill:{key:"swimlaneFillColor",mod:"color"}}},Size:"width"};this.mapObject(g.ColumnDefaults,{defaults:{shape:"swimlane;collapsible=0",startSize:"0",fillColor:"none"},
-"y:StripeDefaults":c},b);var d=e.geometry,a=g.Rows["y:Row"],f=f+parseFloat(b.startSize),w=m.x,C=m.x;m.lx=m.x;if(a)for(a instanceof Array||(a=[a]),d=0;d<a.length;d++)m.x=C,m.lx=C,f=this.addRow(a[d],e,d&1,f,m,x,l),w=Math.max(m.x,w);g=g.Columns["y:Column"];a=w;if(g)for(g instanceof Array||(g=[g]),d=0;d<g.length;d++)a=this.addColumn(g[d],e,d&1,a,n,c,b);break;case "js:table2":p.shape="swimlane;collapsible=0;swimlaneLine=0";g={};this.mapObject(n,{"y:TableNode":{"y:StyleProperties.y:Property":{"yed.table.section.color":{key:"secColor",
+mod:"color"}},"yjs:ShapeNodeStyle":{fill:{key:"swimlaneFillColor",mod:"color"}}},Size:"height"};this.mapObject(f.RowDefaults,{defaults:{shape:"swimlane;collapsible=0;horizontal=0",startSize:"0"},"y:StripeDefaults":x},k);b={};c={Insets:function(a,b){b.startSize=a.split(",")[1]},"Style.bpmn:AlternatingLeafStripeStyle":{"evenLeafDescriptor.bpmn:StripeDescriptor":{insetFill:{key:"evenFill",mod:"color"},backgroundFill:{key:"evenLaneFill",mod:"color"}},"oddLeafDescriptor.bpmn:StripeDescriptor":{insetFill:{key:"oddFill",
+mod:"color"},backgroundFill:{key:"oddLaneFill",mod:"color"}}},"Style.yjs:NodeStyleStripeStyleAdapter":{"demotablestyle:DemoStripeStyle":{"stripeInsetFill.yjs:SolidColorFill.color.yjs:Color.value":{key:"fillColor",mod:"color"},"tableLineFill.yjs:SolidColorFill.color.yjs:Color.value":{key:"strokeColor",mod:"color"}},"yjs:ShapeNodeStyle":{fill:{key:"swimlaneFillColor",mod:"color"}}},Size:"width"};this.mapObject(f.ColumnDefaults,{defaults:{shape:"swimlane;collapsible=0",startSize:"0",fillColor:"none"},
+"y:StripeDefaults":c},b);var d=e.geometry,a=f.Rows["y:Row"],h=h+parseFloat(b.startSize),w=m.x,B=m.x;m.lx=m.x;if(a)for(a instanceof Array||(a=[a]),d=0;d<a.length;d++)m.x=B,m.lx=B,h=this.addRow(a[d],e,d&1,h,m,x,k),w=Math.max(m.x,w);f=f.Columns["y:Column"];a=w;if(f)for(f instanceof Array||(f=[f]),d=0;d<f.length;d++)a=this.addColumn(f[d],e,d&1,a,n,c,b);break;case "js:table2":p.shape="swimlane;collapsible=0;swimlaneLine=0";f={};this.mapObject(n,{"y:TableNode":{"y:StyleProperties.y:Property":{"yed.table.section.color":{key:"secColor",
mod:"color"},"yed.table.header.height":"headerH","yed.table.header.color.main":{key:"headerColor",mod:"color"},"yed.table.header.color.alternating":{key:"headerColorAlt",mod:"color"},"yed.table.lane.color.main":{key:"laneColor",mod:"color"},"yed.table.lane.color.alternating":{key:"laneColorAlt",mod:"color"},"yed.table.lane.style":"laneStyle","com.yworks.bpmn.type":"isHorz",POOL_LANE_COLOR_ALTERNATING:{key:"laneColorAlt",mod:"color"},POOL_LANE_COLOR_MAIN:{key:"laneColor",mod:"color"},POOL_LANE_STYLE:"laneStyle",
-POOL_HEADER_COLOR_MAIN:{key:"headerColor",mod:"color"},POOL_HEADER_COLOR_ALTERNATING:{key:"headerColorAlt",mod:"color"},POOL_TABLE_SECTION_COLOR:{key:"secColor",mod:"color"}},"y:Table":{"y:DefaultColumnInsets.top":"colHHeight","y:DefaultRowInsets.left":"rowHWidth","y:Insets":{top:"tblHHeight",left:"tblHWidth"}}}},g);p.swimlaneFillColor=p.fillColor;x=b=0;"pool_type_lane_and_column"==g.isHorz||"pool_type_empty"==g.isHorz||"pool_type_lane"==g.isHorz?x=parseFloat(g.tblHWidth):b=parseFloat(g.tblHHeight);
-p.startSize=b?b:x;try{a=n["y:TableNode"]["y:Table"]["y:Rows"]["y:Row"];c=n["y:TableNode"]["y:Table"]["y:Columns"]["y:Column"];f="lane.style.rows"==g.laneStyle||"lane_style_rows"==g.laneStyle;a instanceof Array||(a=[a]);c instanceof Array||(c=[c]);m=parseFloat(g.rowHWidth);for(d=0;d<a.length;d++)a[d]["y:Insets"]&&(m=Math.max(m,parseFloat(a[d]["y:Insets"].left)+parseFloat(a[d]["y:Insets"].right)));l=parseFloat(g.colHHeight);for(d=0;d<c.length;d++)c[d]["y:Insets"]&&(l=Math.max(l,parseFloat(c[d]["y:Insets"].top)+
-parseFloat(c[d]["y:Insets"].bottom)));f?(this.addTbl2Rows(e,a,b,x,m,l,f,g),this.addTbl2Cols(e,c,b,x,m,l,f,g)):(this.addTbl2Cols(e,c,b,x,m,l,f,g),this.addTbl2Rows(e,a,b,x,m,l,f,g))}catch(A){}break;case "js:relationship_big_entity":p.shape="swimlane;startSize=30;rounded=1;arcSize=5;collapsible=0";if(e=n["y:GenericNode"]["y:Fill"])p.fillColor=e.color2,p.swimlaneFillColor=e.color;break;case "js:relationship_attribute":p.shape="1"==p["double"]?"doubleEllipse":"ellipse"}0<q.indexOf("Shadow")&&(p.shadow=
+POOL_HEADER_COLOR_MAIN:{key:"headerColor",mod:"color"},POOL_HEADER_COLOR_ALTERNATING:{key:"headerColorAlt",mod:"color"},POOL_TABLE_SECTION_COLOR:{key:"secColor",mod:"color"}},"y:Table":{"y:DefaultColumnInsets.top":"colHHeight","y:DefaultRowInsets.left":"rowHWidth","y:Insets":{top:"tblHHeight",left:"tblHWidth"}}}},f);p.swimlaneFillColor=p.fillColor;x=b=0;"pool_type_lane_and_column"==f.isHorz||"pool_type_empty"==f.isHorz||"pool_type_lane"==f.isHorz?x=parseFloat(f.tblHWidth):b=parseFloat(f.tblHHeight);
+p.startSize=b?b:x;try{a=n["y:TableNode"]["y:Table"]["y:Rows"]["y:Row"];c=n["y:TableNode"]["y:Table"]["y:Columns"]["y:Column"];h="lane.style.rows"==f.laneStyle||"lane_style_rows"==f.laneStyle;a instanceof Array||(a=[a]);c instanceof Array||(c=[c]);m=parseFloat(f.rowHWidth);for(d=0;d<a.length;d++)a[d]["y:Insets"]&&(m=Math.max(m,parseFloat(a[d]["y:Insets"].left)+parseFloat(a[d]["y:Insets"].right)));k=parseFloat(f.colHHeight);for(d=0;d<c.length;d++)c[d]["y:Insets"]&&(k=Math.max(k,parseFloat(c[d]["y:Insets"].top)+
+parseFloat(c[d]["y:Insets"].bottom)));h?(this.addTbl2Rows(e,a,b,x,m,k,h,f),this.addTbl2Cols(e,c,b,x,m,k,h,f)):(this.addTbl2Cols(e,c,b,x,m,k,h,f),this.addTbl2Rows(e,a,b,x,m,k,h,f))}catch(A){}break;case "js:relationship_big_entity":p.shape="swimlane;startSize=30;rounded=1;arcSize=5;collapsible=0";if(e=n["y:GenericNode"]["y:Fill"])p.fillColor=e.color2,p.swimlaneFillColor=e.color;break;case "js:relationship_attribute":p.shape="1"==p["double"]?"doubleEllipse":"ellipse"}0<q.indexOf("Shadow")&&(p.shadow=
"1")}};
-mxGraphMlCodec.prototype.addTbl2Rows=function(e,p,n,g,q,d,b,a){n+=d;for(var c=null!=a.isHorz,f=0;f<p.length;f++){var m=f&1,l=new mxCell;l.vertex=!0;var x={shape:"swimlane;collapsible=0;horizontal=0",startSize:q,fillColor:a.secColor||"none",swimlaneLine:c?"0":"1"};0==parseFloat(x.startSize)&&(x.fillColor="none",x.swimlaneLine="0");if(b){var w=m?a.headerColorAlt:a.headerColor;x.swimlaneFillColor=m?a.laneColorAlt:a.laneColor;x.fillColor=w?w:x.swimlaneFillColor}m=parseFloat(p[f].height);w=c&&0==f?d:0;
-l.geometry=new mxGeometry(g,n-w,e.geometry.width-g,m+w);n+=m;l.style=this.styleMap2Str(x);e.insert(l)}};
-mxGraphMlCodec.prototype.addTbl2Cols=function(e,p,n,g,q,d,b,a){g=q+g;for(var c=null!=a.isHorz,f=0;f<p.length;f++){var m=f&1,l=new mxCell;l.vertex=!0;var x={shape:"swimlane;collapsible=0",startSize:d,fillColor:a.secColor||"none",swimlaneLine:c?"0":"1"};0==parseFloat(x.startSize)&&(x.fillColor="none");if(!b){var w=m?a.headerColorAlt:a.headerColor;x.swimlaneFillColor=m?a.laneColorAlt:a.laneColor;x.fillColor=w?w:x.swimlaneFillColor}m=parseFloat(p[f].width);w=c&&0==f?q:0;l.geometry=new mxGeometry(g-w,
-n,m+w,e.geometry.height-n);g+=m;l.style=this.styleMap2Str(x);e.insert(l)}};
-mxGraphMlCodec.prototype.addRow=function(e,p,n,g,q,d,b){var a=new mxCell;a.vertex=!0;var c=mxUtils.clone(b);this.mapObject(e,d,c);n?(c.oddFill&&(c.fillColor=c.oddFill),c.oddLaneFill&&(c.swimlaneFillColor=c.oddLaneFill)):(c.evenFill&&(c.fillColor=c.evenFill),c.evenLaneFill&&(c.swimlaneFillColor=c.evenLaneFill));n=parseFloat(c.height);a.geometry=new mxGeometry(q.lx,g,p.geometry.width-q.lx,n);var f=e.Labels;f&&this.addLabels(a,f,c);a.style=this.styleMap2Str(c);p.insert(a);e=e["y:Row"];q.lx=0;c.startSize&&
-(q.lx=parseFloat(c.startSize),q.x+=q.lx);p=c=q.x;var f=q.lx,m=0;if(e){e instanceof Array||(e=[e]);for(var l=0;l<e.length;l++)q.x=c,q.lx=f,m=this.addRow(e[l],a,l&1,m,q,d,b),p=Math.max(q.x,p)}q.x=p;n=Math.max(n,m);a.geometry.height=n;return g+n};
-mxGraphMlCodec.prototype.addColumn=function(e,p,n,g,q,d,b){var a=new mxCell;a.vertex=!0;var c=mxUtils.clone(b);this.mapObject(e,d,c);n?(c.oddFill&&(c.fillColor=c.oddFill),c.oddLaneFill&&(c.swimlaneFillColor=c.oddLaneFill)):(c.evenFill&&(c.fillColor=c.evenFill),c.evenLaneFill&&(c.swimlaneFillColor=c.evenLaneFill));n=parseFloat(c.width);a.geometry=new mxGeometry(g,q,n,p.geometry.height-q);var f=e.Labels;f&&this.addLabels(a,f,c);a.style=this.styleMap2Str(c);p.insert(a);e=e["y:Column"];p=0;if(e)for(e instanceof
-Array||(e=[e]),c=0;c<e.length;c++)p=this.addColumn(e[c],a,c&1,p,q,d,b);n=Math.max(n,p);a.geometry.width=n;return g+n};mxGraphMlCodec.prototype.handleFixedRatio=function(e,p){var n=p.shape,g=e.geometry;if(n&&g)if(0<n.indexOf(";aspect=fixed"))n=Math.min(g.height,g.width),n==g.height&&(g.x+=(g.width-n)/2),g.height=n,g.width=n;else if(0<n.indexOf(";rotation=90")||0<n.indexOf(";rotation=-90")){var n=g.height,q=g.width;g.height=q;g.width=n;n=(n-q)/2;g.x-=n;g.y+=n}};
-mxGraphMlCodec.prototype.addNodeGeo=function(e,p,n,g){var q=p[mxGraphMlConstants.RECT],d=0,b=0,a=30,c=30;q?(d=q[mxGraphMlConstants.X],b=q[mxGraphMlConstants.Y],a=q[mxGraphMlConstants.WIDTH],c=q[mxGraphMlConstants.HEIGHT]):(d=p[mxGraphMlConstants.X_L]||d,b=p[mxGraphMlConstants.Y_L]||b,a=p[mxGraphMlConstants.WIDTH_L]||a,c=p[mxGraphMlConstants.HEIGHT_L]||c);e=e.geometry;e.x=parseFloat(d)-n;e.y=parseFloat(b)-g;e.width=parseFloat(a);e.height=parseFloat(c)};
-mxGraphMlCodec.prototype.importEdge=function(e,p,n,g,q){var d=this.getDirectChildNamedElements(e,mxGraphMlConstants.DATA),b=e.getAttribute(mxGraphMlConstants.ID),a=e.getAttribute(mxGraphMlConstants.EDGE_SOURCE),c=e.getAttribute(mxGraphMlConstants.EDGE_TARGET),f=e.getAttribute(mxGraphMlConstants.EDGE_SOURCE_PORT);e=e.getAttribute(mxGraphMlConstants.EDGE_TARGET_PORT);a=this.nodesMap[a];c=this.nodesMap[c];n=p.insertEdge(n,null,"",a.node,c.node,"graphMLId="+b);for(var b={graphMlID:b},m=0;m<d.length;m++){var l=
-this.dataElem2Obj(d[m]),x=l["y:PolyLineEdge"]||l["y:GenericEdge"]||l["y:ArcEdge"]||l["y:BezierEdge"]||l["y:QuadCurveEdge"]||l["y:SplineEdge"];l.key==this.edgesKeys[mxGraphMlConstants.EDGE_GEOMETRY].key?this.addEdgeGeo(n,l,g,q):l.key==this.edgesKeys[mxGraphMlConstants.EDGE_STYLE].key?this.addEdgeStyle(n,l,b):l.key==this.edgesKeys[mxGraphMlConstants.EDGE_LABELS].key?this.addLabels(n,l,b,p):x&&(this.addEdgeStyle(n,l,b),l=this.addEdgePath(n,x["y:Path"],b,g,q),x["y:EdgeLabel"]&&this.addLabels(n,x["y:EdgeLabel"],
-b,p,l),null!=b.shape&&0==b.shape.indexOf("link")&&(b.width=b.strokeWidth,b.strokeWidth=1))}a.ports&&f&&(p=a.ports[f],p.pos&&(b.exitX=p.pos.x,b.exitY=p.pos.y));c.ports&&e&&(p=c.ports[e],p.pos&&(b.entryX=p.pos.x,b.entryY=p.pos.y));n.style=this.styleMap2Str(b);return n};
-mxGraphMlCodec.prototype.addEdgeGeo=function(e,p,n,g){if(p=p[mxGraphMlConstants.Y_BEND]){for(var q=[],d=0;d<p.length;d++){var b=p[d][mxGraphMlConstants.LOCATION];b&&(b=b.split(","),q.push(new mxPoint(parseFloat(b[0])-n,parseFloat(b[1])-g)))}e.geometry.points=q}};
-mxGraphMlCodec.prototype.addEdgePath=function(e,p,n,g,q){var d=[];if(p){var b=parseFloat(p.sx),a=parseFloat(p.sy),c=parseFloat(p.tx),f=parseFloat(p.ty),m=e.source.geometry;0!=b||0!=a?(n.exitX=(b+m.width/2)/m.width,n.exitY=(a+m.height/2)/m.height,d.push(new mxPoint(m.x+n.exitX*m.width-g,m.y+n.exitY*m.height-q))):d.push(new mxPoint(m.x+m.width/2-g,m.y+m.height/2-q));b=e.target.geometry;0!=c||0!=f?(n.entryX=(c+b.width/2)/b.width,n.entryY=(f+b.height/2)/b.height,n=new mxPoint(b.x+n.entryX*b.width-g,b.y+
-n.entryY*b.height-q)):n=new mxPoint(b.x+b.width/2-g,b.y+b.height/2-q);if(p=p["y:Point"]){p instanceof Array||(p=[p]);c=[];for(f=0;f<p.length;f++)b=new mxPoint(parseFloat(p[f].x)-g,parseFloat(p[f].y)-q),c.push(b),d.push(b);e.geometry.points=c}d.push(n)}return d};
-mxGraphMlCodec.prototype.addEdgeStyle=function(e,p,n){e=function(a,b){b.dashed=1;var c;switch(a){case "DashDot":c="3 1 1 1";break;case "Dot":c="1 1";break;case "DashDotDot":c="3 1 1 1 1 1";break;case "Dash":c="3 1";break;default:c=a.replace(/0/g,"1")}c&&(0>c.indexOf(" ")&&(c=c+" "+c),b.dashPattern=c)};var g=function(a,b){b.endFill="WHITE"==a||0==a.indexOf("white_")||0==a.indexOf("transparent_")?"0":"1"},q=function(a,b){b.startFill="WHITE"==a||0==a.indexOf("white_")||0==a.indexOf("transparent_")?"0":
-"1"},d={defaults:{rounded:0,endArrow:"none"},configuration:{key:"shape",mod:"shape"},"y:LineStyle":{color:{key:"strokeColor",mod:"color"},type:function(a,b){"line"!=a&&(b.dashed=1);var c=null;switch(a){case "dashed":c="3 1";break;case "dotted":c="1 1";break;case "dashed_dotted":c="3 2 1 2"}c&&(b.dashPattern=c)},width:"strokeWidth"},"y:Arrows":{source:function(a,b){b.startArrow=mxGraphMlArrowsMap[a]||"classic";q(a,b)},target:function(a,b){b.endArrow=mxGraphMlArrowsMap[a]||"classic";g(a,b)}},"y:BendStyle":{smoothed:{key:"rounded",
+mxGraphMlCodec.prototype.addTbl2Rows=function(e,p,n,f,q,d,b,a){n+=d;for(var c=null!=a.isHorz,h=0;h<p.length;h++){var m=h&1,k=new mxCell;k.vertex=!0;var x={shape:"swimlane;collapsible=0;horizontal=0",startSize:q,fillColor:a.secColor||"none",swimlaneLine:c?"0":"1"};0==parseFloat(x.startSize)&&(x.fillColor="none",x.swimlaneLine="0");if(b){var w=m?a.headerColorAlt:a.headerColor;x.swimlaneFillColor=m?a.laneColorAlt:a.laneColor;x.fillColor=w?w:x.swimlaneFillColor}m=parseFloat(p[h].height);w=c&&0==h?d:0;
+k.geometry=new mxGeometry(f,n-w,e.geometry.width-f,m+w);n+=m;k.style=this.styleMap2Str(x);e.insert(k)}};
+mxGraphMlCodec.prototype.addTbl2Cols=function(e,p,n,f,q,d,b,a){f=q+f;for(var c=null!=a.isHorz,h=0;h<p.length;h++){var m=h&1,k=new mxCell;k.vertex=!0;var x={shape:"swimlane;collapsible=0",startSize:d,fillColor:a.secColor||"none",swimlaneLine:c?"0":"1"};0==parseFloat(x.startSize)&&(x.fillColor="none");if(!b){var w=m?a.headerColorAlt:a.headerColor;x.swimlaneFillColor=m?a.laneColorAlt:a.laneColor;x.fillColor=w?w:x.swimlaneFillColor}m=parseFloat(p[h].width);w=c&&0==h?q:0;k.geometry=new mxGeometry(f-w,
+n,m+w,e.geometry.height-n);f+=m;k.style=this.styleMap2Str(x);e.insert(k)}};
+mxGraphMlCodec.prototype.addRow=function(e,p,n,f,q,d,b){var a=new mxCell;a.vertex=!0;var c=mxUtils.clone(b);this.mapObject(e,d,c);n?(c.oddFill&&(c.fillColor=c.oddFill),c.oddLaneFill&&(c.swimlaneFillColor=c.oddLaneFill)):(c.evenFill&&(c.fillColor=c.evenFill),c.evenLaneFill&&(c.swimlaneFillColor=c.evenLaneFill));n=parseFloat(c.height);a.geometry=new mxGeometry(q.lx,f,p.geometry.width-q.lx,n);var h=e.Labels;h&&this.addLabels(a,h,c);a.style=this.styleMap2Str(c);p.insert(a);e=e["y:Row"];q.lx=0;c.startSize&&
+(q.lx=parseFloat(c.startSize),q.x+=q.lx);p=c=q.x;var h=q.lx,m=0;if(e){e instanceof Array||(e=[e]);for(var k=0;k<e.length;k++)q.x=c,q.lx=h,m=this.addRow(e[k],a,k&1,m,q,d,b),p=Math.max(q.x,p)}q.x=p;n=Math.max(n,m);a.geometry.height=n;return f+n};
+mxGraphMlCodec.prototype.addColumn=function(e,p,n,f,q,d,b){var a=new mxCell;a.vertex=!0;var c=mxUtils.clone(b);this.mapObject(e,d,c);n?(c.oddFill&&(c.fillColor=c.oddFill),c.oddLaneFill&&(c.swimlaneFillColor=c.oddLaneFill)):(c.evenFill&&(c.fillColor=c.evenFill),c.evenLaneFill&&(c.swimlaneFillColor=c.evenLaneFill));n=parseFloat(c.width);a.geometry=new mxGeometry(f,q,n,p.geometry.height-q);var h=e.Labels;h&&this.addLabels(a,h,c);a.style=this.styleMap2Str(c);p.insert(a);e=e["y:Column"];p=0;if(e)for(e instanceof
+Array||(e=[e]),c=0;c<e.length;c++)p=this.addColumn(e[c],a,c&1,p,q,d,b);n=Math.max(n,p);a.geometry.width=n;return f+n};mxGraphMlCodec.prototype.handleFixedRatio=function(e,p){var n=p.shape,f=e.geometry;if(n&&f)if(0<n.indexOf(";aspect=fixed"))n=Math.min(f.height,f.width),n==f.height&&(f.x+=(f.width-n)/2),f.height=n,f.width=n;else if(0<n.indexOf(";rotation=90")||0<n.indexOf(";rotation=-90")){var n=f.height,q=f.width;f.height=q;f.width=n;n=(n-q)/2;f.x-=n;f.y+=n}};
+mxGraphMlCodec.prototype.addNodeGeo=function(e,p,n,f){var q=p[mxGraphMlConstants.RECT],d=0,b=0,a=30,c=30;q?(d=q[mxGraphMlConstants.X],b=q[mxGraphMlConstants.Y],a=q[mxGraphMlConstants.WIDTH],c=q[mxGraphMlConstants.HEIGHT]):(d=p[mxGraphMlConstants.X_L]||d,b=p[mxGraphMlConstants.Y_L]||b,a=p[mxGraphMlConstants.WIDTH_L]||a,c=p[mxGraphMlConstants.HEIGHT_L]||c);e=e.geometry;e.x=parseFloat(d)-n;e.y=parseFloat(b)-f;e.width=parseFloat(a);e.height=parseFloat(c)};
+mxGraphMlCodec.prototype.importEdge=function(e,p,n,f,q){var d=this.getDirectChildNamedElements(e,mxGraphMlConstants.DATA),b=e.getAttribute(mxGraphMlConstants.ID),a=e.getAttribute(mxGraphMlConstants.EDGE_SOURCE),c=e.getAttribute(mxGraphMlConstants.EDGE_TARGET),h=e.getAttribute(mxGraphMlConstants.EDGE_SOURCE_PORT);e=e.getAttribute(mxGraphMlConstants.EDGE_TARGET_PORT);a=this.nodesMap[a];c=this.nodesMap[c];n=p.insertEdge(n,null,"",a.node,c.node,"graphMLId="+b);for(var b={graphMlID:b},m=0;m<d.length;m++){var k=
+this.dataElem2Obj(d[m]),x=k["y:PolyLineEdge"]||k["y:GenericEdge"]||k["y:ArcEdge"]||k["y:BezierEdge"]||k["y:QuadCurveEdge"]||k["y:SplineEdge"];k.key==this.edgesKeys[mxGraphMlConstants.EDGE_GEOMETRY].key?this.addEdgeGeo(n,k,f,q):k.key==this.edgesKeys[mxGraphMlConstants.EDGE_STYLE].key?this.addEdgeStyle(n,k,b):k.key==this.edgesKeys[mxGraphMlConstants.EDGE_LABELS].key?this.addLabels(n,k,b,p):x&&(this.addEdgeStyle(n,k,b),k=this.addEdgePath(n,x["y:Path"],b,f,q),x["y:EdgeLabel"]&&this.addLabels(n,x["y:EdgeLabel"],
+b,p,k),null!=b.shape&&0==b.shape.indexOf("link")&&(b.width=b.strokeWidth,b.strokeWidth=1))}a.ports&&h&&(p=a.ports[h],p.pos&&(b.exitX=p.pos.x,b.exitY=p.pos.y));c.ports&&e&&(p=c.ports[e],p.pos&&(b.entryX=p.pos.x,b.entryY=p.pos.y));n.style=this.styleMap2Str(b);return n};
+mxGraphMlCodec.prototype.addEdgeGeo=function(e,p,n,f){if(p=p[mxGraphMlConstants.Y_BEND]){for(var q=[],d=0;d<p.length;d++){var b=p[d][mxGraphMlConstants.LOCATION];b&&(b=b.split(","),q.push(new mxPoint(parseFloat(b[0])-n,parseFloat(b[1])-f)))}e.geometry.points=q}};
+mxGraphMlCodec.prototype.addEdgePath=function(e,p,n,f,q){var d=[];if(p){var b=parseFloat(p.sx),a=parseFloat(p.sy),c=parseFloat(p.tx),h=parseFloat(p.ty),m=e.source.geometry;0!=b||0!=a?(n.exitX=(b+m.width/2)/m.width,n.exitY=(a+m.height/2)/m.height,d.push(new mxPoint(m.x+n.exitX*m.width-f,m.y+n.exitY*m.height-q))):d.push(new mxPoint(m.x+m.width/2-f,m.y+m.height/2-q));b=e.target.geometry;0!=c||0!=h?(n.entryX=(c+b.width/2)/b.width,n.entryY=(h+b.height/2)/b.height,n=new mxPoint(b.x+n.entryX*b.width-f,b.y+
+n.entryY*b.height-q)):n=new mxPoint(b.x+b.width/2-f,b.y+b.height/2-q);if(p=p["y:Point"]){p instanceof Array||(p=[p]);c=[];for(h=0;h<p.length;h++)b=new mxPoint(parseFloat(p[h].x)-f,parseFloat(p[h].y)-q),c.push(b),d.push(b);e.geometry.points=c}d.push(n)}return d};
+mxGraphMlCodec.prototype.addEdgeStyle=function(e,p,n){e=function(a,b){b.dashed=1;var c;switch(a){case "DashDot":c="3 1 1 1";break;case "Dot":c="1 1";break;case "DashDotDot":c="3 1 1 1 1 1";break;case "Dash":c="3 1";break;default:c=a.replace(/0/g,"1")}c&&(0>c.indexOf(" ")&&(c=c+" "+c),b.dashPattern=c)};var f=function(a,b){b.endFill="WHITE"==a||0==a.indexOf("white_")||0==a.indexOf("transparent_")?"0":"1"},q=function(a,b){b.startFill="WHITE"==a||0==a.indexOf("white_")||0==a.indexOf("transparent_")?"0":
+"1"},d={defaults:{rounded:0,endArrow:"none"},configuration:{key:"shape",mod:"shape"},"y:LineStyle":{color:{key:"strokeColor",mod:"color"},type:function(a,b){"line"!=a&&(b.dashed=1);var c=null;switch(a){case "dashed":c="3 1";break;case "dotted":c="1 1";break;case "dashed_dotted":c="3 2 1 2"}c&&(b.dashPattern=c)},width:"strokeWidth"},"y:Arrows":{source:function(a,b){b.startArrow=mxGraphMlArrowsMap[a]||"classic";q(a,b)},target:function(a,b){b.endArrow=mxGraphMlArrowsMap[a]||"classic";f(a,b)}},"y:BendStyle":{smoothed:{key:"rounded",
mod:"bool"}}},b=mxUtils.clone(d);b.defaults.curved="1";this.mapObject(p,{"yjs:PolylineEdgeStyle":{defaults:{endArrow:"none",rounded:0},smoothingLength:function(a,b){b.rounded=a&&0<parseFloat(a)?"1":"0"},stroke:{key:"strokeColor",mod:"color"},"stroke.yjs:Stroke":{dashStyle:e,"dashStyle.yjs:DashStyle.dashes":e,fill:{key:"strokeColor",mod:"color"},"fill.yjs:SolidColorFill.color":{key:"strokeColor",mod:"color"},"thickness.sys:Double":"strokeWidth",thickness:"strokeWidth"},targetArrow:{key:"endArrow",
-mod:"arrow"},"targetArrow.yjs:Arrow":{defaults:{endArrow:"classic",endFill:"1",endSize:"6"},fill:g,scale:{key:"endSize",mod:"scale",scale:5},type:{key:"endArrow",mod:"arrow"}},sourceArrow:{key:"startArrow",mod:"arrow"},"sourceArrow.yjs:Arrow":{defaults:{startArrow:"classic",startFill:"1",startSize:"6"},fill:q,scale:{key:"startSize",mod:"scale",scale:5},type:{key:"startArrow",mod:"arrow"}}},"y:PolyLineEdge":d,"y:GenericEdge":d,"y:ArcEdge":b,"y:BezierEdge":b,"y:QuadCurveEdge":b,"y:SplineEdge":b},n)};
-mxGraphMlCodec.prototype.addLabels=function(e,p,n,g,q){n=e.getChildCount();var d=p[mxGraphMlConstants.Y_LABEL]||p;p=[];var b=[],a=[];if(d){d instanceof Array||(d=[d]);for(var c=0;c<d.length;c++){var f=d[c],m={},l=f[mxGraphMlConstants.TEXT]||f;l&&(l=l["#text"]);var x=f[mxGraphMlConstants.LAYOUTPARAMETER]||f||{},w=function(a,b){a&&(a=a.toUpperCase());var c=b.fontStyle||0;switch(a){case "ITALIC":c|=2;break;case "BOLD":c|=1;break;case "UNDERLINE":c|=4}b.fontStyle=c};this.mapObject(f,{"Style.yjs:DefaultLabelStyle":{backgroundFill:{key:"labelBackgroundColor",
+mod:"arrow"},"targetArrow.yjs:Arrow":{defaults:{endArrow:"classic",endFill:"1",endSize:"6"},fill:f,scale:{key:"endSize",mod:"scale",scale:5},type:{key:"endArrow",mod:"arrow"}},sourceArrow:{key:"startArrow",mod:"arrow"},"sourceArrow.yjs:Arrow":{defaults:{startArrow:"classic",startFill:"1",startSize:"6"},fill:q,scale:{key:"startSize",mod:"scale",scale:5},type:{key:"startArrow",mod:"arrow"}}},"y:PolyLineEdge":d,"y:GenericEdge":d,"y:ArcEdge":b,"y:BezierEdge":b,"y:QuadCurveEdge":b,"y:SplineEdge":b},n)};
+mxGraphMlCodec.prototype.addLabels=function(e,p,n,f,q){n=e.getChildCount();var d=p[mxGraphMlConstants.Y_LABEL]||p;p=[];var b=[],a=[];if(d){d instanceof Array||(d=[d]);for(var c=0;c<d.length;c++){var h=d[c],m={},k=h[mxGraphMlConstants.TEXT]||h;k&&(k=k["#text"]);var x=h[mxGraphMlConstants.LAYOUTPARAMETER]||h||{},w=function(a,b){a&&(a=a.toUpperCase());var c=b.fontStyle||0;switch(a){case "ITALIC":c|=2;break;case "BOLD":c|=1;break;case "UNDERLINE":c|=4}b.fontStyle=c};this.mapObject(h,{"Style.yjs:DefaultLabelStyle":{backgroundFill:{key:"labelBackgroundColor",
mod:"color"},"backgroundFill.yjs:SolidColorFill.color":{key:"labelBackgroundColor",mod:"color"},backgroundStroke:{key:"labelBorderColor",mod:"color"},"backgroundStroke.yjs:Stroke.fill":{key:"labelBorderColor",mod:"color"},textFill:{key:"fontColor",mod:"color"},"textFill.yjs:SolidColorFill.color":{key:"fontColor",mod:"color"},textSize:"fontSize",horizontalTextAlignment:"align",verticalTextAlignment:"verticalAlign",wrapping:function(a,b){a&&(b.whiteSpace="wrap")},"font.yjs:Font":{fontFamily:"fontFamily",
-fontSize:"fontSize",fontStyle:w,fontWeight:w,textDecoration:w}},"Style.y:VoidLabelStyle":function(a,b){b.VoidLbl=!0},alignment:"align",fontFamily:"fontFamily",fontSize:"fontSize",fontStyle:w,underlinedText:function(a,b){var c=b.fontStyle||0;"true"==a&&(c|=4);b.fontStyle=c},horizontalTextPosition:"",textColor:{key:"fontColor",mod:"color"},verticalTextPosition:"verticalAlign",hasText:{key:"hasText",mod:"bool"},rotationAngle:"rotation"},m);m.VoidLbl||"0"==m.hasText||(p.push(l),b.push(m),a.push(x))}}for(c=
-0;c<p.length;c++)if(p[c]&&(!a[c]||!a[c]["bpmn:ParticipantParameter"])){p[c]=mxUtils.htmlEntities(p[c],!1).replace(/\n/g,"<br/>");x=e.geometry;m=new mxCell(p[c],new mxGeometry(0,0,x.width,x.height),"text;html=1;spacing=0;"+this.styleMap2Str(b[c]));m.vertex=!0;e.insert(m,n);d=m.geometry;if(a[c]["y:RatioAnchoredLabelModelParameter"])x=mxUtils.getSizeForString(p[c],b[c].fontSize,b[c].fontFamily),(f=a[c]["y:RatioAnchoredLabelModelParameter"].LayoutOffset)?(f=f.split(","),d.x=parseFloat(f[0]),d.y=parseFloat(f[1]),
+fontSize:"fontSize",fontStyle:w,fontWeight:w,textDecoration:w}},"Style.y:VoidLabelStyle":function(a,b){b.VoidLbl=!0},alignment:"align",fontFamily:"fontFamily",fontSize:"fontSize",fontStyle:w,underlinedText:function(a,b){var c=b.fontStyle||0;"true"==a&&(c|=4);b.fontStyle=c},horizontalTextPosition:"",textColor:{key:"fontColor",mod:"color"},verticalTextPosition:"verticalAlign",hasText:{key:"hasText",mod:"bool"},rotationAngle:"rotation"},m);m.VoidLbl||"0"==m.hasText||(p.push(k),b.push(m),a.push(x))}}for(c=
+0;c<p.length;c++)if(p[c]&&(!a[c]||!a[c]["bpmn:ParticipantParameter"])){p[c]=mxUtils.htmlEntities(p[c],!1).replace(/\n/g,"<br/>");x=e.geometry;m=new mxCell(p[c],new mxGeometry(0,0,x.width,x.height),"text;html=1;spacing=0;"+this.styleMap2Str(b[c]));m.vertex=!0;e.insert(m,n);d=m.geometry;if(a[c]["y:RatioAnchoredLabelModelParameter"])x=mxUtils.getSizeForString(p[c],b[c].fontSize,b[c].fontFamily),(h=a[c]["y:RatioAnchoredLabelModelParameter"].LayoutOffset)?(h=h.split(","),d.x=parseFloat(h[0]),d.y=parseFloat(h[1]),
d.width=x.width,d.height=x.height,m.style+=";spacingTop=-4;"):m.style+=";align=center;";else if(a[c]["y:InteriorLabelModel"]){switch(a[c]["y:InteriorLabelModel"]){case "Center":m.style+=";verticalAlign=middle;";break;case "North":d.height=1;break;case "West":d.width=x.height,d.height=x.width,d.y=x.height/2-x.width/2,d.x=-d.y,m.style+=";rotation=-90"}m.style+=";align=center;"}else if(a[c]["y:StretchStripeLabelModel"]||a[c]["y:StripeLabelModelParameter"])switch(a[c]["y:StretchStripeLabelModel"]||a[c]["y:StripeLabelModelParameter"].Position){case "North":d.height=
1;break;case "West":d.width=x.height,d.height=x.width,d.y=x.height/2-x.width/2,d.x=-d.y,m.style+=";rotation=-90;"}else if(a[c]["bpmn:PoolHeaderLabelModel"]){switch(a[c]["bpmn:PoolHeaderLabelModel"]){case "NORTH":d.height=1;break;case "WEST":d.width=x.height,d.height=x.width,d.y=x.height/2-x.width/2,d.x=-d.y,m.style+=";rotation=-90;"}m.style+=";align=center;"}else if(a[c]["y:InteriorStretchLabelModelParameter"])m.style+=";align=center;";else if(a[c]["y:ExteriorLabelModel"])switch(a[c]["y:ExteriorLabelModel"]){case "East":m.style+=
";labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;";break;case "South":m.style+=";labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;";break;case "North":m.style+=";labelPosition=center;verticalLabelPosition=top;align=center;verticalAlign=bottom;";break;case "West":m.style+=";labelPosition=left;verticalLabelPosition=middle;align=right;verticalAlign=middle;"}else if(a[c]["y:FreeEdgeLabelModelParameter"]){d.relative=!0;d.adjustIt=!0;var x=
-a[c]["y:FreeEdgeLabelModelParameter"],f=x.Ratio,w=x.Distance,C=x.Angle;f&&(d.x=parseFloat(f));w&&(d.y=parseFloat(w));C&&(m.style+=";rotation="+parseFloat(C)*(180/Math.PI));m.style+=";verticalAlign=middle;"}else if(a[c]["y:EdgePathLabelModelParameter"]){d.relative=!0;x=a[c]["y:EdgePathLabelModelParameter"];l=x.SideOfEdge;f=x.SegmentRatio;d.x=f?2*parseFloat(f)-1:0;if(l)switch(l){case "RightOfEdge":d.y=-15;break;case "LeftOfEdge":d.y=15}m.style+=";verticalAlign=middle;"}else if(x=parseFloat(a[c].x),
-f=parseFloat(a[c].y),a[c].width&&(d.width=parseFloat(a[c].width)),a[c].height&&(d.height=parseFloat(a[c].height)),e.edge)if(d.relative=!0,d.x=0,d.y=0,m=e.source.geometry.getCenterX()-e.target.geometry.getCenterX(),l=e.source.geometry.getCenterY()-e.target.geometry.getCenterY(),g&&q&&a[c]["y:ModelParameter"]&&a[c]["y:ModelParameter"]["y:SmartEdgeLabelModelParameter"]){var x=a[c]["y:ModelParameter"]["y:SmartEdgeLabelModelParameter"],C=parseFloat(x.angle),w=parseFloat(x.distance),A=x.position,f=parseFloat(x.ratio),
-x=parseFloat(x.segment),G=new mxCellState;G.absolutePoints=q;g.view.updateEdgeBounds(G);var B="left"==A?1:-1;if(-1==x&&6.283185307179586==C)d.offset=new mxPoint(1>Math.abs(f)?G.segments[0]*f:f,B*w);else{-1==x&&(x=0);for(var E=C=0;E<x;E++)C+=G.segments[E];C+=G.segments[x]*f;d.x=C/G.length*2-1;d.y=(("center"==A?0:w)+d.height/2*B*(Math.abs(m)>Math.abs(l)?1:-1))*B}}else isNaN(x)||isNaN(f)||(d.offset=new mxPoint(x+m/2+(0<m?-d.width:d.width),f));else d.x=x||0,d.y=f||0;b[c].rotation&&270==b[c].rotation&&
-(d.x-=d.height/2)}return{lblTxts:p,lblStyles:b}};mxGraphMlCodec.prototype.processPage=function(e,p){var n=(new mxCodec).encode(e.getModel());n.setAttribute("style","default-style2");n=mxUtils.getXml(n);n='<diagram name="Page '+p+'">'+Graph.compress(n);return n+"</diagram>"};mxGraphMlCodec.prototype.getDirectChildNamedElements=function(e,p){for(var n=[],g=e.firstChild;null!=g;g=g.nextSibling)null!=g&&1==g.nodeType&&p==g.nodeName&&n.push(g);return n};
+a[c]["y:FreeEdgeLabelModelParameter"],h=x.Ratio,w=x.Distance,B=x.Angle;h&&(d.x=parseFloat(h));w&&(d.y=parseFloat(w));B&&(m.style+=";rotation="+parseFloat(B)*(180/Math.PI));m.style+=";verticalAlign=middle;"}else if(a[c]["y:EdgePathLabelModelParameter"]){d.relative=!0;x=a[c]["y:EdgePathLabelModelParameter"];k=x.SideOfEdge;h=x.SegmentRatio;d.x=h?2*parseFloat(h)-1:0;if(k)switch(k){case "RightOfEdge":d.y=-15;break;case "LeftOfEdge":d.y=15}m.style+=";verticalAlign=middle;"}else if(x=parseFloat(a[c].x),
+h=parseFloat(a[c].y),a[c].width&&(d.width=parseFloat(a[c].width)),a[c].height&&(d.height=parseFloat(a[c].height)),e.edge)if(d.relative=!0,d.x=0,d.y=0,m=e.source.geometry.getCenterX()-e.target.geometry.getCenterX(),k=e.source.geometry.getCenterY()-e.target.geometry.getCenterY(),f&&q&&a[c]["y:ModelParameter"]&&a[c]["y:ModelParameter"]["y:SmartEdgeLabelModelParameter"]){var x=a[c]["y:ModelParameter"]["y:SmartEdgeLabelModelParameter"],B=parseFloat(x.angle),w=parseFloat(x.distance),A=x.position,h=parseFloat(x.ratio),
+x=parseFloat(x.segment),G=new mxCellState;G.absolutePoints=q;f.view.updateEdgeBounds(G);var C="left"==A?1:-1;if(-1==x&&6.283185307179586==B)d.offset=new mxPoint(1>Math.abs(h)?G.segments[0]*h:h,C*w);else{-1==x&&(x=0);for(var E=B=0;E<x;E++)B+=G.segments[E];B+=G.segments[x]*h;d.x=B/G.length*2-1;d.y=(("center"==A?0:w)+d.height/2*C*(Math.abs(m)>Math.abs(k)?1:-1))*C}}else isNaN(x)||isNaN(h)||(d.offset=new mxPoint(x+m/2+(0<m?-d.width:d.width),h));else d.x=x||0,d.y=h||0;b[c].rotation&&270==b[c].rotation&&
+(d.x-=d.height/2)}return{lblTxts:p,lblStyles:b}};mxGraphMlCodec.prototype.processPage=function(e,p){var n=(new mxCodec).encode(e.getModel());n.setAttribute("style","default-style2");n=mxUtils.getXml(n);n='<diagram name="Page '+p+'">'+Graph.compress(n);return n+"</diagram>"};mxGraphMlCodec.prototype.getDirectChildNamedElements=function(e,p){for(var n=[],f=e.firstChild;null!=f;f=f.nextSibling)null!=f&&1==f.nodeType&&p==f.nodeName&&n.push(f);return n};
mxGraphMlCodec.prototype.getDirectFirstChildNamedElements=function(e,p){for(var n=e.firstChild;null!=n;n=n.nextSibling)if(null!=n&&1==n.nodeType&&p==n.nodeName)return n;return null};mxGraphMlCodec.prototype.getDirectChildElements=function(e){var p=[];for(e=e.firstChild;null!=e;e=e.nextSibling)null!=e&&1==e.nodeType&&p.push(e);return p};mxGraphMlCodec.prototype.getDirectFirstChildElement=function(e){for(e=e.firstChild;null!=e;e=e.nextSibling)if(null!=e&&1==e.nodeType)return e;return null};
var mxGraphMlConverters={"orgchartconverters.linebreakconverter":function(e,p){if("string"===typeof e){for(var n=e;20<n.length&&-1<n.indexOf(" ");)n=n.substring(0,n.lastIndexOf(" "));return"true"===p?n:e.substring(n.length)}return""},"orgchartconverters.borderconverter":function(e,p){return"boolean"===typeof e?e?"#FFBB33":"rgba(0,0,0,0)":"#FFF"},"orgchartconverters.addhashconverter":function(e,p){return"string"===typeof e?"string"===typeof p?"#"+e+p:"#"+e:e},"orgchartconverters.intermediateconverter":function(e,
p){return"string"===typeof e&&17<e.length?e.replace(/^(.)(\S*)(.*)/,"$1.$3"):e},"orgchartconverters.overviewconverter":function(e,p){return"string"===typeof e&&0<e.length?e.replace(/^(.)(\S*)(.*)/,"$1.$3"):""}},mxGraphMlArrowsMap={SIMPLE:"open",TRIANGLE:"block",DIAMOND:"diamond",CIRCLE:"oval",CROSS:"cross",SHORT:"classicThin",DEFAULT:"classic",NONE:"none",none:"none",white_delta_bar:"block",delta:"block",standard:"classic",diamond:"diamond",white_diamond:"diamond",white_delta:"block",plain:"open",
diff --git a/src/main/webapp/js/socket.io/socket.io.min.js b/src/main/webapp/js/socket.io/socket.io.min.js
new file mode 100644
index 00000000..24d4a3cf
--- /dev/null
+++ b/src/main/webapp/js/socket.io/socket.io.min.js
@@ -0,0 +1,7 @@
+/*!
+ * Socket.IO v4.0.0
+ * (c) 2014-2021 Guillermo Rauch
+ * Released under the MIT License.
+ */
+!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.io=e():t.io=e()}(self,(function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=18)}([function(t,e,n){var r=n(24),o=n(25),i=String.fromCharCode(30);t.exports={protocol:4,encodePacket:r,encodePayload:function(t,e){var n=t.length,o=new Array(n),s=0;t.forEach((function(t,c){r(t,!1,(function(t){o[c]=t,++s===n&&e(o.join(i))}))}))},decodePacket:o,decodePayload:function(t,e){for(var n=t.split(i),r=[],s=0;s<n.length;s++){var c=o(n[s],e);if(r.push(c),"error"===c.type)break}return r}}},function(t,e,n){function r(t){if(t)return function(t){for(var e in r.prototype)t[e]=r.prototype[e];return t}(t)}t.exports=r,r.prototype.on=r.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},r.prototype.once=function(t,e){function n(){this.off(t,n),e.apply(this,arguments)}return n.fn=e,this.on(t,n),this},r.prototype.off=r.prototype.removeListener=r.prototype.removeAllListeners=r.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+t];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var o=0;o<r.length;o++)if((n=r[o])===e||n.fn===e){r.splice(o,1);break}return 0===r.length&&delete this._callbacks["$"+t],this},r.prototype.emit=function(t){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),n=this._callbacks["$"+t],r=1;r<arguments.length;r++)e[r-1]=arguments[r];if(n){r=0;for(var o=(n=n.slice(0)).length;r<o;++r)n[r].apply(this,e)}return this},r.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks["$"+t]||[]},r.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e){t.exports="undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")()},function(t,e,n){function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function i(t,e){return(i=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function s(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=a(t);if(e){var o=a(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return c(this,n)}}function c(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function a(t){return(a=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var u=n(0),f=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&i(t,e)}(a,t);var e,n,r,c=s(a);function a(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),(e=c.call(this)).opts=t,e.query=t.query,e.readyState="",e.socket=t.socket,e}return e=a,(n=[{key:"onError",value:function(t,e){var n=new Error(t);return n.type="TransportError",n.description=e,this.emit("error",n),this}},{key:"open",value:function(){return"closed"!==this.readyState&&""!==this.readyState||(this.readyState="opening",this.doOpen()),this}},{key:"close",value:function(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}},{key:"send",value:function(t){if("open"!==this.readyState)throw new Error("Transport not open");this.write(t)}},{key:"onOpen",value:function(){this.readyState="open",this.writable=!0,this.emit("open")}},{key:"onData",value:function(t){var e=u.decodePacket(t,this.socket.binaryType);this.onPacket(e)}},{key:"onPacket",value:function(t){this.emit("packet",t)}},{key:"onClose",value:function(){this.readyState="closed",this.emit("close")}}])&&o(e.prototype,n),r&&o(e,r),a}(n(1));t.exports=f},function(t,e){e.encode=function(t){var e="";for(var n in t)t.hasOwnProperty(n)&&(e.length&&(e+="&"),e+=encodeURIComponent(n)+"="+encodeURIComponent(t[n]));return e},e.decode=function(t){for(var e={},n=t.split("&"),r=0,o=n.length;r<o;r++){var i=n[r].split("=");e[decodeURIComponent(i[0])]=decodeURIComponent(i[1])}return e}},function(t,e,n){"use strict";function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e,n){return(o="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=a(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}function i(t,e){return(i=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function s(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=a(t);if(e){var o=a(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return c(this,n)}}function c(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function a(t){return(a=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function u(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function f(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function p(t,e,n){return e&&f(t.prototype,e),n&&f(t,n),t}Object.defineProperty(e,"__esModule",{value:!0}),e.Decoder=e.Encoder=e.PacketType=e.protocol=void 0;var l,h=n(1),y=n(30),d=n(15);e.protocol=5,function(t){t[t.CONNECT=0]="CONNECT",t[t.DISCONNECT=1]="DISCONNECT",t[t.EVENT=2]="EVENT",t[t.ACK=3]="ACK",t[t.CONNECT_ERROR=4]="CONNECT_ERROR",t[t.BINARY_EVENT=5]="BINARY_EVENT",t[t.BINARY_ACK=6]="BINARY_ACK"}(l=e.PacketType||(e.PacketType={}));var v=function(){function t(){u(this,t)}return p(t,[{key:"encode",value:function(t){return t.type!==l.EVENT&&t.type!==l.ACK||!d.hasBinary(t)?[this.encodeAsString(t)]:(t.type=t.type===l.EVENT?l.BINARY_EVENT:l.BINARY_ACK,this.encodeAsBinary(t))}},{key:"encodeAsString",value:function(t){var e=""+t.type;return t.type!==l.BINARY_EVENT&&t.type!==l.BINARY_ACK||(e+=t.attachments+"-"),t.nsp&&"/"!==t.nsp&&(e+=t.nsp+","),null!=t.id&&(e+=t.id),null!=t.data&&(e+=JSON.stringify(t.data)),e}},{key:"encodeAsBinary",value:function(t){var e=y.deconstructPacket(t),n=this.encodeAsString(e.packet),r=e.buffers;return r.unshift(n),r}}]),t}();e.Encoder=v;var b=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&i(t,e)}(n,t);var e=s(n);function n(){return u(this,n),e.call(this)}return p(n,[{key:"add",value:function(t){var e;if("string"==typeof t)(e=this.decodeString(t)).type===l.BINARY_EVENT||e.type===l.BINARY_ACK?(this.reconstructor=new m(e),0===e.attachments&&o(a(n.prototype),"emit",this).call(this,"decoded",e)):o(a(n.prototype),"emit",this).call(this,"decoded",e);else{if(!d.isBinary(t)&&!t.base64)throw new Error("Unknown type: "+t);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");(e=this.reconstructor.takeBinaryData(t))&&(this.reconstructor=null,o(a(n.prototype),"emit",this).call(this,"decoded",e))}}},{key:"decodeString",value:function(t){var e=0,r={type:Number(t.charAt(0))};if(void 0===l[r.type])throw new Error("unknown packet type "+r.type);if(r.type===l.BINARY_EVENT||r.type===l.BINARY_ACK){for(var o=e+1;"-"!==t.charAt(++e)&&e!=t.length;);var i=t.substring(o,e);if(i!=Number(i)||"-"!==t.charAt(e))throw new Error("Illegal attachments");r.attachments=Number(i)}if("/"===t.charAt(e+1)){for(var s=e+1;++e;){if(","===t.charAt(e))break;if(e===t.length)break}r.nsp=t.substring(s,e)}else r.nsp="/";var c=t.charAt(e+1);if(""!==c&&Number(c)==c){for(var a=e+1;++e;){var u=t.charAt(e);if(null==u||Number(u)!=u){--e;break}if(e===t.length)break}r.id=Number(t.substring(a,e+1))}if(t.charAt(++e)){var f=function(t){try{return JSON.parse(t)}catch(t){return!1}}(t.substr(e));if(!n.isPayloadValid(r.type,f))throw new Error("invalid payload");r.data=f}return r}},{key:"destroy",value:function(){this.reconstructor&&this.reconstructor.finishedReconstruction()}}],[{key:"isPayloadValid",value:function(t,e){switch(t){case l.CONNECT:return"object"===r(e);case l.DISCONNECT:return void 0===e;case l.CONNECT_ERROR:return"string"==typeof e||"object"===r(e);case l.EVENT:case l.BINARY_EVENT:return Array.isArray(e)&&e.length>0;case l.ACK:case l.BINARY_ACK:return Array.isArray(e)}}}]),n}(h);e.Decoder=b;var m=function(){function t(e){u(this,t),this.packet=e,this.buffers=[],this.reconPack=e}return p(t,[{key:"takeBinaryData",value:function(t){if(this.buffers.push(t),this.buffers.length===this.reconPack.attachments){var e=y.reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}},{key:"finishedReconstruction",value:function(){this.reconPack=null,this.buffers=[]}}]),t}()},function(t,e){var n=/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,r=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];t.exports=function(t){var e=t,o=t.indexOf("["),i=t.indexOf("]");-1!=o&&-1!=i&&(t=t.substring(0,o)+t.substring(o,i).replace(/:/g,";")+t.substring(i,t.length));for(var s,c,a=n.exec(t||""),u={},f=14;f--;)u[r[f]]=a[f]||"";return-1!=o&&-1!=i&&(u.source=e,u.host=u.host.substring(1,u.host.length-1).replace(/;/g,":"),u.authority=u.authority.replace("[","").replace("]","").replace(/;/g,":"),u.ipv6uri=!0),u.pathNames=function(t,e){var n=e.replace(/\/{2,9}/g,"/").split("/");"/"!=e.substr(0,1)&&0!==e.length||n.splice(0,1);"/"==e.substr(e.length-1,1)&&n.splice(n.length-1,1);return n}(0,u.path),u.queryKey=(s=u.query,c={},s.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(t,e,n){e&&(c[e]=n)})),c),u}},function(t,e,n){"use strict";function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function i(t,e){return(i=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function s(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=a(t);if(e){var o=a(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return c(this,n)}}function c(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function a(t){return(a=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.Manager=void 0;var u=n(20),f=n(14),p=n(5),l=n(16),h=n(31),y=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&i(t,e)}(y,t);var e,n,c,a=s(y);function y(t,e){var n;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,y),(n=a.call(this)).nsps={},n.subs=[],t&&"object"===r(t)&&(e=t,t=void 0),(e=e||{}).path=e.path||"/socket.io",n.opts=e,n.reconnection(!1!==e.reconnection),n.reconnectionAttempts(e.reconnectionAttempts||1/0),n.reconnectionDelay(e.reconnectionDelay||1e3),n.reconnectionDelayMax(e.reconnectionDelayMax||5e3),n.randomizationFactor(e.randomizationFactor||.5),n.backoff=new h({min:n.reconnectionDelay(),max:n.reconnectionDelayMax(),jitter:n.randomizationFactor()}),n.timeout(null==e.timeout?2e4:e.timeout),n._readyState="closed",n.uri=t;var o=e.parser||p;return n.encoder=new o.Encoder,n.decoder=new o.Decoder,n._autoConnect=!1!==e.autoConnect,n._autoConnect&&n.open(),n}return e=y,(n=[{key:"reconnection",value:function(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}},{key:"reconnectionAttempts",value:function(t){return void 0===t?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}},{key:"reconnectionDelay",value:function(t){var e;return void 0===t?this._reconnectionDelay:(this._reconnectionDelay=t,null===(e=this.backoff)||void 0===e||e.setMin(t),this)}},{key:"randomizationFactor",value:function(t){var e;return void 0===t?this._randomizationFactor:(this._randomizationFactor=t,null===(e=this.backoff)||void 0===e||e.setJitter(t),this)}},{key:"reconnectionDelayMax",value:function(t){var e;return void 0===t?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,null===(e=this.backoff)||void 0===e||e.setMax(t),this)}},{key:"timeout",value:function(t){return arguments.length?(this._timeout=t,this):this._timeout}},{key:"maybeReconnectOnOpen",value:function(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}},{key:"open",value:function(t){var e=this;if(~this._readyState.indexOf("open"))return this;this.engine=u(this.uri,this.opts);var n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;var o=l.on(n,"open",(function(){r.onopen(),t&&t()})),i=l.on(n,"error",(function(n){r.cleanup(),r._readyState="closed",e.emitReserved("error",n),t?t(n):r.maybeReconnectOnOpen()}));if(!1!==this._timeout){var s=this._timeout;0===s&&o();var c=setTimeout((function(){o(),n.close(),n.emit("error",new Error("timeout"))}),s);this.opts.autoUnref&&c.unref(),this.subs.push((function(){clearTimeout(c)}))}return this.subs.push(o),this.subs.push(i),this}},{key:"connect",value:function(t){return this.open(t)}},{key:"onopen",value:function(){this.cleanup(),this._readyState="open",this.emitReserved("open");var t=this.engine;this.subs.push(l.on(t,"ping",this.onping.bind(this)),l.on(t,"data",this.ondata.bind(this)),l.on(t,"error",this.onerror.bind(this)),l.on(t,"close",this.onclose.bind(this)),l.on(this.decoder,"decoded",this.ondecoded.bind(this)))}},{key:"onping",value:function(){this.emitReserved("ping")}},{key:"ondata",value:function(t){this.decoder.add(t)}},{key:"ondecoded",value:function(t){this.emitReserved("packet",t)}},{key:"onerror",value:function(t){this.emitReserved("error",t)}},{key:"socket",value:function(t,e){var n=this.nsps[t];return n||(n=new f.Socket(this,t,e),this.nsps[t]=n),n}},{key:"_destroy",value:function(t){for(var e=0,n=Object.keys(this.nsps);e<n.length;e++){var r=n[e];if(this.nsps[r].active)return}this._close()}},{key:"_packet",value:function(t){for(var e=this.encoder.encode(t),n=0;n<e.length;n++)this.engine.write(e[n],t.options)}},{key:"cleanup",value:function(){this.subs.forEach((function(t){return t()})),this.subs.length=0,this.decoder.destroy()}},{key:"_close",value:function(){this.skipReconnect=!0,this._reconnecting=!1,"opening"===this._readyState&&this.cleanup(),this.backoff.reset(),this._readyState="closed",this.engine&&this.engine.close()}},{key:"disconnect",value:function(){return this._close()}},{key:"onclose",value:function(t){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t),this._reconnection&&!this.skipReconnect&&this.reconnect()}},{key:"reconnect",value:function(){var t=this;if(this._reconnecting||this.skipReconnect)return this;var e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{var n=this.backoff.duration();this._reconnecting=!0;var r=setTimeout((function(){e.skipReconnect||(t.emitReserved("reconnect_attempt",e.backoff.attempts),e.skipReconnect||e.open((function(n){n?(e._reconnecting=!1,e.reconnect(),t.emitReserved("reconnect_error",n)):e.onreconnect()})))}),n);this.opts.autoUnref&&r.unref(),this.subs.push((function(){clearTimeout(r)}))}}},{key:"onreconnect",value:function(){var t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}])&&o(e.prototype,n),c&&o(e,c),y}(n(17).StrictEventEmitter);e.Manager=y},function(t,e,n){var r=n(9),o=n(23),i=n(27),s=n(28);e.polling=function(t){var e=!1,n=!1,s=!1!==t.jsonp;if("undefined"!=typeof location){var c="https:"===location.protocol,a=location.port;a||(a=c?443:80),e=t.hostname!==location.hostname||a!==t.port,n=t.secure!==c}if(t.xdomain=e,t.xscheme=n,"open"in new r(t)&&!t.forceJSONP)return new o(t);if(!s)throw new Error("JSONP disabled");return new i(t)},e.websocket=s},function(t,e,n){var r=n(22),o=n(2);t.exports=function(t){var e=t.xdomain,n=t.xscheme,i=t.enablesXDR;try{if("undefined"!=typeof XMLHttpRequest&&(!e||r))return new XMLHttpRequest}catch(t){}try{if("undefined"!=typeof XDomainRequest&&!n&&i)return new XDomainRequest}catch(t){}if(!e)try{return new(o[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(t){}}},function(t,e,n){function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function s(t,e){return(s=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function c(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=u(t);if(e){var o=u(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return a(this,n)}}function a(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function u(t){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var f=n(3),p=n(4),l=n(0),h=n(12),y=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&s(t,e)}(u,t);var e,n,r,a=c(u);function u(){return o(this,u),a.apply(this,arguments)}return e=u,(n=[{key:"doOpen",value:function(){this.poll()}},{key:"pause",value:function(t){var e=this;function n(){e.readyState="paused",t()}if(this.readyState="pausing",this.polling||!this.writable){var r=0;this.polling&&(r++,this.once("pollComplete",(function(){--r||n()}))),this.writable||(r++,this.once("drain",(function(){--r||n()})))}else n()}},{key:"poll",value:function(){this.polling=!0,this.doPoll(),this.emit("poll")}},{key:"onData",value:function(t){var e=this;l.decodePayload(t,this.socket.binaryType).forEach((function(t,n,r){if("opening"===e.readyState&&"open"===t.type&&e.onOpen(),"close"===t.type)return e.onClose(),!1;e.onPacket(t)})),"closed"!==this.readyState&&(this.polling=!1,this.emit("pollComplete"),"open"===this.readyState&&this.poll())}},{key:"doClose",value:function(){var t=this;function e(){t.write([{type:"close"}])}"open"===this.readyState?e():this.once("open",e)}},{key:"write",value:function(t){var e=this;this.writable=!1,l.encodePayload(t,(function(t){e.doWrite(t,(function(){e.writable=!0,e.emit("drain")}))}))}},{key:"uri",value:function(){var t=this.query||{},e=this.opts.secure?"https":"http",n="";return!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=h()),this.supportsBinary||t.sid||(t.b64=1),t=p.encode(t),this.opts.port&&("https"===e&&443!==Number(this.opts.port)||"http"===e&&80!==Number(this.opts.port))&&(n=":"+this.opts.port),t.length&&(t="?"+t),e+"://"+(-1!==this.opts.hostname.indexOf(":")?"["+this.opts.hostname+"]":this.opts.hostname)+n+this.opts.path+t}},{key:"name",get:function(){return"polling"}}])&&i(e.prototype,n),r&&i(e,r),u}(f);t.exports=y},function(t,e){var n=Object.create(null);n.open="0",n.close="1",n.ping="2",n.pong="3",n.message="4",n.upgrade="5",n.noop="6";var r=Object.create(null);Object.keys(n).forEach((function(t){r[n[t]]=t}));t.exports={PACKET_TYPES:n,PACKET_TYPES_REVERSE:r,ERROR_PACKET:{type:"error",data:"parser error"}}},function(t,e,n){"use strict";var r,o="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),i={},s=0,c=0;function a(t){var e="";do{e=o[t%64]+e,t=Math.floor(t/64)}while(t>0);return e}function u(){var t=a(+new Date);return t!==r?(s=0,r=t):t+"."+a(s++)}for(;c<64;c++)i[o[c]]=c;u.encode=a,u.decode=function(t){var e=0;for(c=0;c<t.length;c++)e=64*e+i[t.charAt(c)];return e},t.exports=u},function(t,e){t.exports.pick=function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];return n.reduce((function(e,n){return t.hasOwnProperty(n)&&(e[n]=t[n]),e}),{})}},function(t,e,n){"use strict";function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return i(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}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 s,c=!0,a=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return c=t.done,t},e:function(t){a=!0,s=t},f:function(){try{c||null==n.return||n.return()}finally{if(a)throw s}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function s(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function c(t,e,n){return(c="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=p(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}function a(t,e){return(a=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function u(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=p(t);if(e){var o=p(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return f(this,n)}}function f(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function p(t){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.Socket=void 0;var l=n(5),h=n(16),y=n(17),d=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),v=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&a(t,e)}(f,t);var e,n,r,i=u(f);function f(t,e,n){var r;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,f),(r=i.call(this)).receiveBuffer=[],r.sendBuffer=[],r.ids=0,r.acks={},r.flags={},r.io=t,r.nsp=e,r.ids=0,r.acks={},r.receiveBuffer=[],r.sendBuffer=[],r.connected=!1,r.disconnected=!0,r.flags={},n&&n.auth&&(r.auth=n.auth),r.io._autoConnect&&r.open(),r}return e=f,(n=[{key:"subEvents",value:function(){if(!this.subs){var t=this.io;this.subs=[h.on(t,"open",this.onopen.bind(this)),h.on(t,"packet",this.onpacket.bind(this)),h.on(t,"error",this.onerror.bind(this)),h.on(t,"close",this.onclose.bind(this))]}}},{key:"connect",value:function(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}},{key:"open",value:function(){return this.connect()}},{key:"send",value:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return e.unshift("message"),this.emit.apply(this,e),this}},{key:"emit",value:function(t){if(d.hasOwnProperty(t))throw new Error('"'+t+'" is a reserved event name');for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];n.unshift(t);var o={type:l.PacketType.EVENT,data:n,options:{}};o.options.compress=!1!==this.flags.compress,"function"==typeof n[n.length-1]&&(this.acks[this.ids]=n.pop(),o.id=this.ids++);var i=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable,s=this.flags.volatile&&(!i||!this.connected);return s||(this.connected?this.packet(o):this.sendBuffer.push(o)),this.flags={},this}},{key:"packet",value:function(t){t.nsp=this.nsp,this.io._packet(t)}},{key:"onopen",value:function(){var t=this;"function"==typeof this.auth?this.auth((function(e){t.packet({type:l.PacketType.CONNECT,data:e})})):this.packet({type:l.PacketType.CONNECT,data:this.auth})}},{key:"onerror",value:function(t){this.connected||this.emitReserved("connect_error",t)}},{key:"onclose",value:function(t){this.connected=!1,this.disconnected=!0,delete this.id,this.emitReserved("disconnect",t)}},{key:"onpacket",value:function(t){if(t.nsp===this.nsp)switch(t.type){case l.PacketType.CONNECT:if(t.data&&t.data.sid){var e=t.data.sid;this.onconnect(e)}else this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case l.PacketType.EVENT:case l.PacketType.BINARY_EVENT:this.onevent(t);break;case l.PacketType.ACK:case l.PacketType.BINARY_ACK:this.onack(t);break;case l.PacketType.DISCONNECT:this.ondisconnect();break;case l.PacketType.CONNECT_ERROR:var n=new Error(t.data.message);n.data=t.data.data,this.emitReserved("connect_error",n)}}},{key:"onevent",value:function(t){var e=t.data||[];null!=t.id&&e.push(this.ack(t.id)),this.connected?this.emitEvent(e):this.receiveBuffer.push(Object.freeze(e))}},{key:"emitEvent",value:function(t){if(this._anyListeners&&this._anyListeners.length){var e,n=o(this._anyListeners.slice());try{for(n.s();!(e=n.n()).done;)e.value.apply(this,t)}catch(t){n.e(t)}finally{n.f()}}c(p(f.prototype),"emit",this).apply(this,t)}},{key:"ack",value:function(t){var e=this,n=!1;return function(){if(!n){n=!0;for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];e.packet({type:l.PacketType.ACK,id:t,data:o})}}}},{key:"onack",value:function(t){var e=this.acks[t.id];"function"==typeof e&&(e.apply(this,t.data),delete this.acks[t.id])}},{key:"onconnect",value:function(t){this.id=t,this.connected=!0,this.disconnected=!1,this.emitReserved("connect"),this.emitBuffered()}},{key:"emitBuffered",value:function(){var t=this;this.receiveBuffer.forEach((function(e){return t.emitEvent(e)})),this.receiveBuffer=[],this.sendBuffer.forEach((function(e){return t.packet(e)})),this.sendBuffer=[]}},{key:"ondisconnect",value:function(){this.destroy(),this.onclose("io server disconnect")}},{key:"destroy",value:function(){this.subs&&(this.subs.forEach((function(t){return t()})),this.subs=void 0),this.io._destroy(this)}},{key:"disconnect",value:function(){return this.connected&&this.packet({type:l.PacketType.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}},{key:"close",value:function(){return this.disconnect()}},{key:"compress",value:function(t){return this.flags.compress=t,this}},{key:"onAny",value:function(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}},{key:"prependAny",value:function(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}},{key:"offAny",value:function(t){if(!this._anyListeners)return this;if(t){for(var e=this._anyListeners,n=0;n<e.length;n++)if(t===e[n])return e.splice(n,1),this}else this._anyListeners=[];return this}},{key:"listenersAny",value:function(){return this._anyListeners||[]}},{key:"active",get:function(){return!!this.subs}},{key:"volatile",get:function(){return this.flags.volatile=!0,this}}])&&s(e.prototype,n),r&&s(e,r),f}(y.StrictEventEmitter);e.Socket=v},function(t,e,n){"use strict";function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.hasBinary=e.isBinary=void 0;var o="function"==typeof ArrayBuffer,i=Object.prototype.toString,s="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===i.call(Blob),c="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===i.call(File);function a(t){return o&&(t instanceof ArrayBuffer||function(t){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):t.buffer instanceof ArrayBuffer}(t))||s&&t instanceof Blob||c&&t instanceof File}e.isBinary=a,e.hasBinary=function t(e,n){if(!e||"object"!==r(e))return!1;if(Array.isArray(e)){for(var o=0,i=e.length;o<i;o++)if(t(e[o]))return!0;return!1}if(a(e))return!0;if(e.toJSON&&"function"==typeof e.toJSON&&1===arguments.length)return t(e.toJSON(),!0);for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&t(e[s]))return!0;return!1}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.on=void 0,e.on=function(t,e,n){return t.on(e,n),function(){t.off(e,n)}}},function(t,e,n){"use strict";function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function s(t,e,n){return(s="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=f(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}function c(t,e){return(c=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function a(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=f(t);if(e){var o=f(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return u(this,n)}}function u(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function f(t){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.StrictEventEmitter=void 0;var p=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(p,t);var e,n,r,u=a(p);function p(){return o(this,p),u.apply(this,arguments)}return e=p,(n=[{key:"on",value:function(t,e){return s(f(p.prototype),"on",this).call(this,t,e),this}},{key:"once",value:function(t,e){return s(f(p.prototype),"once",this).call(this,t,e),this}},{key:"emit",value:function(t){for(var e,n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return(e=s(f(p.prototype),"emit",this)).call.apply(e,[this,t].concat(r)),this}},{key:"emitReserved",value:function(t){for(var e,n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return(e=s(f(p.prototype),"emit",this)).call.apply(e,[this,t].concat(r)),this}},{key:"listeners",value:function(t){return s(f(p.prototype),"listeners",this).call(this,t)}}])&&i(e.prototype,n),r&&i(e,r),p}(n(1));e.StrictEventEmitter=p},function(t,e,n){"use strict";function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.Socket=e.io=e.Manager=e.protocol=void 0;var o=n(19),i=n(7),s=n(14);Object.defineProperty(e,"Socket",{enumerable:!0,get:function(){return s.Socket}}),t.exports=e=a;var c=e.managers={};function a(t,e){"object"===r(t)&&(e=t,t=void 0),e=e||{};var n,s=o.url(t,e.path),a=s.source,u=s.id,f=s.path,p=c[u]&&f in c[u].nsps;return e.forceNew||e["force new connection"]||!1===e.multiplex||p?n=new i.Manager(a,e):(c[u]||(c[u]=new i.Manager(a,e)),n=c[u]),s.query&&!e.query&&(e.query=s.queryKey),n.socket(s.path,e)}e.io=a;var u=n(5);Object.defineProperty(e,"protocol",{enumerable:!0,get:function(){return u.protocol}}),e.connect=a;var f=n(7);Object.defineProperty(e,"Manager",{enumerable:!0,get:function(){return f.Manager}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.url=void 0;var r=n(6);e.url=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,o=t;n=n||"undefined"!=typeof location&&location,null==t&&(t=n.protocol+"//"+n.host),"string"==typeof t&&("/"===t.charAt(0)&&(t="/"===t.charAt(1)?n.protocol+t:n.host+t),/^(https?|wss?):\/\//.test(t)||(t=void 0!==n?n.protocol+"//"+t:"https://"+t),o=r(t)),o.port||(/^(http|ws)$/.test(o.protocol)?o.port="80":/^(http|ws)s$/.test(o.protocol)&&(o.port="443")),o.path=o.path||"/";var i=-1!==o.host.indexOf(":"),s=i?"["+o.host+"]":o.host;return o.id=o.protocol+"://"+s+":"+o.port+e,o.href=o.protocol+"://"+s+(n&&n.port===o.port?"":":"+o.port),o}},function(t,e,n){var r=n(21);t.exports=function(t,e){return new r(t,e)},t.exports.Socket=r,t.exports.protocol=r.protocol,t.exports.Transport=n(3),t.exports.transports=n(8),t.exports.parser=n(0)},function(t,e,n){function r(){return(r=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t}).apply(this,arguments)}function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function c(t,e){return(c=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function a(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=f(t);if(e){var o=f(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return u(this,n)}}function u(t,e){return!e||"object"!==o(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function f(t){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var p=n(8),l=n(1),h=n(0),y=n(6),d=n(4),v=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(l,t);var e,n,u,f=a(l);function l(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i(this,l),e=f.call(this),t&&"object"===o(t)&&(n=t,t=null),t?(t=y(t),n.hostname=t.host,n.secure="https"===t.protocol||"wss"===t.protocol,n.port=t.port,t.query&&(n.query=t.query)):n.host&&(n.hostname=y(n.host).host),e.secure=null!=n.secure?n.secure:"undefined"!=typeof location&&"https:"===location.protocol,n.hostname&&!n.port&&(n.port=e.secure?"443":"80"),e.hostname=n.hostname||("undefined"!=typeof location?location.hostname:"localhost"),e.port=n.port||("undefined"!=typeof location&&location.port?location.port:e.secure?443:80),e.transports=n.transports||["polling","websocket"],e.readyState="",e.writeBuffer=[],e.prevBufferLen=0,e.opts=r({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,jsonp:!0,timestampParam:"t",rememberUpgrade:!1,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{}},n),e.opts.path=e.opts.path.replace(/\/$/,"")+"/","string"==typeof e.opts.query&&(e.opts.query=d.decode(e.opts.query)),e.id=null,e.upgrades=null,e.pingInterval=null,e.pingTimeout=null,e.pingTimeoutTimer=null,"function"==typeof addEventListener&&(addEventListener("beforeunload",(function(){e.transport&&(e.transport.removeAllListeners(),e.transport.close())}),!1),"localhost"!==e.hostname&&(e.offlineEventListener=function(){e.onClose("transport close")},addEventListener("offline",e.offlineEventListener,!1))),e.open(),e}return e=l,(n=[{key:"createTransport",value:function(t){var e=function(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}(this.opts.query);e.EIO=h.protocol,e.transport=t,this.id&&(e.sid=this.id);var n=r({},this.opts.transportOptions[t],this.opts,{query:e,socket:this,hostname:this.hostname,secure:this.secure,port:this.port});return new p[t](n)}},{key:"open",value:function(){var t;if(this.opts.rememberUpgrade&&l.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))t="websocket";else{if(0===this.transports.length){var e=this;return void setTimeout((function(){e.emit("error","No transports available")}),0)}t=this.transports[0]}this.readyState="opening";try{t=this.createTransport(t)}catch(t){return this.transports.shift(),void this.open()}t.open(),this.setTransport(t)}},{key:"setTransport",value:function(t){var e=this;this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",(function(){e.onDrain()})).on("packet",(function(t){e.onPacket(t)})).on("error",(function(t){e.onError(t)})).on("close",(function(){e.onClose("transport close")}))}},{key:"probe",value:function(t){var e=this.createTransport(t,{probe:1}),n=!1,r=this;function o(){if(r.onlyBinaryUpgrades){var t=!this.supportsBinary&&r.transport.supportsBinary;n=n||t}n||(e.send([{type:"ping",data:"probe"}]),e.once("packet",(function(t){if(!n)if("pong"===t.type&&"probe"===t.data){if(r.upgrading=!0,r.emit("upgrading",e),!e)return;l.priorWebsocketSuccess="websocket"===e.name,r.transport.pause((function(){n||"closed"!==r.readyState&&(f(),r.setTransport(e),e.send([{type:"upgrade"}]),r.emit("upgrade",e),e=null,r.upgrading=!1,r.flush())}))}else{var o=new Error("probe error");o.transport=e.name,r.emit("upgradeError",o)}})))}function i(){n||(n=!0,f(),e.close(),e=null)}function s(t){var n=new Error("probe error: "+t);n.transport=e.name,i(),r.emit("upgradeError",n)}function c(){s("transport closed")}function a(){s("socket closed")}function u(t){e&&t.name!==e.name&&i()}function f(){e.removeListener("open",o),e.removeListener("error",s),e.removeListener("close",c),r.removeListener("close",a),r.removeListener("upgrading",u)}l.priorWebsocketSuccess=!1,e.once("open",o),e.once("error",s),e.once("close",c),this.once("close",a),this.once("upgrading",u),e.open()}},{key:"onOpen",value:function(){if(this.readyState="open",l.priorWebsocketSuccess="websocket"===this.transport.name,this.emit("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade&&this.transport.pause)for(var t=0,e=this.upgrades.length;t<e;t++)this.probe(this.upgrades[t])}},{key:"onPacket",value:function(t){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(this.emit("packet",t),this.emit("heartbeat"),t.type){case"open":this.onHandshake(JSON.parse(t.data));break;case"ping":this.resetPingTimeout(),this.sendPacket("pong"),this.emit("pong");break;case"error":var e=new Error("server error");e.code=t.data,this.onError(e);break;case"message":this.emit("data",t.data),this.emit("message",t.data)}}},{key:"onHandshake",value:function(t){this.emit("handshake",t),this.id=t.sid,this.transport.query.sid=t.sid,this.upgrades=this.filterUpgrades(t.upgrades),this.pingInterval=t.pingInterval,this.pingTimeout=t.pingTimeout,this.onOpen(),"closed"!==this.readyState&&this.resetPingTimeout()}},{key:"resetPingTimeout",value:function(){var t=this;clearTimeout(this.pingTimeoutTimer),this.pingTimeoutTimer=setTimeout((function(){t.onClose("ping timeout")}),this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}},{key:"onDrain",value:function(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emit("drain"):this.flush()}},{key:"flush",value:function(){"closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length&&(this.transport.send(this.writeBuffer),this.prevBufferLen=this.writeBuffer.length,this.emit("flush"))}},{key:"write",value:function(t,e,n){return this.sendPacket("message",t,e,n),this}},{key:"send",value:function(t,e,n){return this.sendPacket("message",t,e,n),this}},{key:"sendPacket",value:function(t,e,n,r){if("function"==typeof e&&(r=e,e=void 0),"function"==typeof n&&(r=n,n=null),"closing"!==this.readyState&&"closed"!==this.readyState){(n=n||{}).compress=!1!==n.compress;var o={type:t,data:e,options:n};this.emit("packetCreate",o),this.writeBuffer.push(o),r&&this.once("flush",r),this.flush()}}},{key:"close",value:function(){var t=this;function e(){t.onClose("forced close"),t.transport.close()}function n(){t.removeListener("upgrade",n),t.removeListener("upgradeError",n),e()}function r(){t.once("upgrade",n),t.once("upgradeError",n)}return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(function(){this.upgrading?r():e()})):this.upgrading?r():e()),this}},{key:"onError",value:function(t){l.priorWebsocketSuccess=!1,this.emit("error",t),this.onClose("transport error",t)}},{key:"onClose",value:function(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(clearTimeout(this.pingIntervalTimer),clearTimeout(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&removeEventListener("offline",this.offlineEventListener,!1),this.readyState="closed",this.id=null,this.emit("close",t,e),this.writeBuffer=[],this.prevBufferLen=0)}},{key:"filterUpgrades",value:function(t){for(var e=[],n=0,r=t.length;n<r;n++)~this.transports.indexOf(t[n])&&e.push(t[n]);return e}}])&&s(e.prototype,n),u&&s(e,u),l}(l);v.priorWebsocketSuccess=!1,v.protocol=h.protocol,t.exports=v},function(t,e){try{t.exports="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(e){t.exports=!1}},function(t,e,n){function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(){return(o=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t}).apply(this,arguments)}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function c(t,e,n){return e&&s(t.prototype,e),n&&s(t,n),t}function a(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&u(t,e)}function u(t,e){return(u=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function f(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=l(t);if(e){var o=l(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return p(this,n)}}function p(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function l(t){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var h=n(9),y=n(10),d=n(1),v=n(13).pick,b=n(2);function m(){}var g=null!=new h({xdomain:!1}).responseType,k=function(t){a(n,t);var e=f(n);function n(t){var r;if(i(this,n),r=e.call(this,t),"undefined"!=typeof location){var o="https:"===location.protocol,s=location.port;s||(s=o?443:80),r.xd="undefined"!=typeof location&&t.hostname!==location.hostname||s!==t.port,r.xs=t.secure!==o}var c=t&&t.forceBase64;return r.supportsBinary=g&&!c,r}return c(n,[{key:"request",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return o(t,{xd:this.xd,xs:this.xs},this.opts),new w(this.uri(),t)}},{key:"doWrite",value:function(t,e){var n=this.request({method:"POST",data:t}),r=this;n.on("success",e),n.on("error",(function(t){r.onError("xhr post error",t)}))}},{key:"doPoll",value:function(){var t=this.request(),e=this;t.on("data",(function(t){e.onData(t)})),t.on("error",(function(t){e.onError("xhr poll error",t)})),this.pollXhr=t}}]),n}(y),w=function(t){a(n,t);var e=f(n);function n(t,r){var o;return i(this,n),(o=e.call(this)).opts=r,o.method=r.method||"GET",o.uri=t,o.async=!1!==r.async,o.data=void 0!==r.data?r.data:null,o.create(),o}return c(n,[{key:"create",value:function(){var t=v(this.opts,"agent","enablesXDR","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this.opts.xd,t.xscheme=!!this.opts.xs;var e=this.xhr=new h(t),r=this;try{e.open(this.method,this.uri,this.async);try{if(this.opts.extraHeaders)for(var o in e.setDisableHeaderCheck&&e.setDisableHeaderCheck(!0),this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(o)&&e.setRequestHeader(o,this.opts.extraHeaders[o])}catch(t){}if("POST"===this.method)try{e.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(t){}try{e.setRequestHeader("Accept","*/*")}catch(t){}"withCredentials"in e&&(e.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(e.timeout=this.opts.requestTimeout),this.hasXDR()?(e.onload=function(){r.onLoad()},e.onerror=function(){r.onError(e.responseText)}):e.onreadystatechange=function(){4===e.readyState&&(200===e.status||1223===e.status?r.onLoad():setTimeout((function(){r.onError("number"==typeof e.status?e.status:0)}),0))},e.send(this.data)}catch(t){return void setTimeout((function(){r.onError(t)}),0)}"undefined"!=typeof document&&(this.index=n.requestsCount++,n.requests[this.index]=this)}},{key:"onSuccess",value:function(){this.emit("success"),this.cleanup()}},{key:"onData",value:function(t){this.emit("data",t),this.onSuccess()}},{key:"onError",value:function(t){this.emit("error",t),this.cleanup(!0)}},{key:"cleanup",value:function(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?this.xhr.onload=this.xhr.onerror=m:this.xhr.onreadystatechange=m,t)try{this.xhr.abort()}catch(t){}"undefined"!=typeof document&&delete n.requests[this.index],this.xhr=null}}},{key:"onLoad",value:function(){var t=this.xhr.responseText;null!==t&&this.onData(t)}},{key:"hasXDR",value:function(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enablesXDR}},{key:"abort",value:function(){this.cleanup()}}]),n}(d);if(w.requestsCount=0,w.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",_);else if("function"==typeof addEventListener){addEventListener("onpagehide"in b?"pagehide":"unload",_,!1)}function _(){for(var t in w.requests)w.requests.hasOwnProperty(t)&&w.requests[t].abort()}t.exports=k,t.exports.Request=w},function(t,e,n){var r=n(11).PACKET_TYPES,o="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),i="function"==typeof ArrayBuffer,s=function(t,e){var n=new FileReader;return n.onload=function(){var t=n.result.split(",")[1];e("b"+t)},n.readAsDataURL(t)};t.exports=function(t,e,n){var c,a=t.type,u=t.data;return o&&u instanceof Blob?e?n(u):s(u,n):i&&(u instanceof ArrayBuffer||(c=u,"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(c):c&&c.buffer instanceof ArrayBuffer))?e?n(u instanceof ArrayBuffer?u:u.buffer):s(new Blob([u]),n):n(r[a]+(u||""))}},function(t,e,n){var r,o=n(11),i=o.PACKET_TYPES_REVERSE,s=o.ERROR_PACKET;"function"==typeof ArrayBuffer&&(r=n(26));var c=function(t,e){if(r){var n=r.decode(t);return a(n,e)}return{base64:!0,data:t}},a=function(t,e){switch(e){case"blob":return t instanceof ArrayBuffer?new Blob([t]):t;case"arraybuffer":default:return t}};t.exports=function(t,e){if("string"!=typeof t)return{type:"message",data:a(t,e)};var n=t.charAt(0);return"b"===n?{type:"message",data:c(t.substring(1),e)}:i[n]?t.length>1?{type:i[n],data:t.substring(1)}:{type:i[n]}:s}},function(t,e){!function(t){"use strict";e.encode=function(e){var n,r=new Uint8Array(e),o=r.length,i="";for(n=0;n<o;n+=3)i+=t[r[n]>>2],i+=t[(3&r[n])<<4|r[n+1]>>4],i+=t[(15&r[n+1])<<2|r[n+2]>>6],i+=t[63&r[n+2]];return o%3==2?i=i.substring(0,i.length-1)+"=":o%3==1&&(i=i.substring(0,i.length-2)+"=="),i},e.decode=function(e){var n,r,o,i,s,c=.75*e.length,a=e.length,u=0;"="===e[e.length-1]&&(c--,"="===e[e.length-2]&&c--);var f=new ArrayBuffer(c),p=new Uint8Array(f);for(n=0;n<a;n+=4)r=t.indexOf(e[n]),o=t.indexOf(e[n+1]),i=t.indexOf(e[n+2]),s=t.indexOf(e[n+3]),p[u++]=r<<2|o>>4,p[u++]=(15&o)<<4|i>>2,p[u++]=(3&i)<<6|63&s;return f}}("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/")},function(t,e,n){function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function i(t,e,n){return(i="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=f(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}function s(t,e){return(s=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function c(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=f(t);if(e){var o=f(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return a(this,n)}}function a(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?u(t):e}function u(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function f(t){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var p,l=n(10),h=n(2),y=/\n/g,d=/\\n/g,v=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&s(t,e)}(l,t);var e,n,r,a=c(l);function l(t){var e;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,l),(e=a.call(this,t)).query=e.query||{},p||(p=h.___eio=h.___eio||[]),e.index=p.length;var n=u(e);return p.push((function(t){n.onData(t)})),e.query.j=e.index,e}return e=l,(n=[{key:"doClose",value:function(){this.script&&(this.script.onerror=function(){},this.script.parentNode.removeChild(this.script),this.script=null),this.form&&(this.form.parentNode.removeChild(this.form),this.form=null,this.iframe=null),i(f(l.prototype),"doClose",this).call(this)}},{key:"doPoll",value:function(){var t=this,e=document.createElement("script");this.script&&(this.script.parentNode.removeChild(this.script),this.script=null),e.async=!0,e.src=this.uri(),e.onerror=function(e){t.onError("jsonp poll error",e)};var n=document.getElementsByTagName("script")[0];n?n.parentNode.insertBefore(e,n):(document.head||document.body).appendChild(e),this.script=e,"undefined"!=typeof navigator&&/gecko/i.test(navigator.userAgent)&&setTimeout((function(){var t=document.createElement("iframe");document.body.appendChild(t),document.body.removeChild(t)}),100)}},{key:"doWrite",value:function(t,e){var n,r=this;if(!this.form){var o=document.createElement("form"),i=document.createElement("textarea"),s=this.iframeId="eio_iframe_"+this.index;o.className="socketio",o.style.position="absolute",o.style.top="-1000px",o.style.left="-1000px",o.target=s,o.method="POST",o.setAttribute("accept-charset","utf-8"),i.name="d",o.appendChild(i),document.body.appendChild(o),this.form=o,this.area=i}function c(){a(),e()}function a(){if(r.iframe)try{r.form.removeChild(r.iframe)}catch(t){r.onError("jsonp polling iframe removal error",t)}try{var t='<iframe src="javascript:0" name="'+r.iframeId+'">';n=document.createElement(t)}catch(t){(n=document.createElement("iframe")).name=r.iframeId,n.src="javascript:0"}n.id=r.iframeId,r.form.appendChild(n),r.iframe=n}this.form.action=this.uri(),a(),t=t.replace(d,"\\\n"),this.area.value=t.replace(y,"\\n");try{this.form.submit()}catch(t){}this.iframe.attachEvent?this.iframe.onreadystatechange=function(){"complete"===r.iframe.readyState&&c()}:this.iframe.onload=c}},{key:"supportsBinary",get:function(){return!1}}])&&o(e.prototype,n),r&&o(e,r),l}(l);t.exports=v},function(t,e,n){function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function i(t,e){return(i=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function s(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=a(t);if(e){var o=a(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return c(this,n)}}function c(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function a(t){return(a=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var u=n(3),f=n(0),p=n(4),l=n(12),h=n(13).pick,y=n(29),d=y.WebSocket,v=y.usingBrowserWebSocket,b=y.defaultBinaryType,m="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),g=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&i(t,e)}(a,t);var e,n,r,c=s(a);function a(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),(e=c.call(this,t)).supportsBinary=!t.forceBase64,e}return e=a,(n=[{key:"doOpen",value:function(){if(this.check()){var t=this.uri(),e=this.opts.protocols,n=m?{}:h(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=v&&!m?e?new d(t,e):new d(t):new d(t,e,n)}catch(t){return this.emit("error",t)}this.ws.binaryType=this.socket.binaryType||b,this.addEventListeners()}}},{key:"addEventListeners",value:function(){var t=this;this.ws.onopen=function(){t.opts.autoUnref&&t.ws._socket.unref(),t.onOpen()},this.ws.onclose=this.onClose.bind(this),this.ws.onmessage=function(e){return t.onData(e.data)},this.ws.onerror=function(e){return t.onError("websocket error",e)}}},{key:"write",value:function(t){var e=this;this.writable=!1;for(var n=t.length,r=0,o=n;r<o;r++)!function(t){f.encodePacket(t,e.supportsBinary,(function(r){var o={};v||(t.options&&(o.compress=t.options.compress),e.opts.perMessageDeflate&&("string"==typeof r?Buffer.byteLength(r):r.length)<e.opts.perMessageDeflate.threshold&&(o.compress=!1));try{v?e.ws.send(r):e.ws.send(r,o)}catch(t){}--n||(e.emit("flush"),setTimeout((function(){e.writable=!0,e.emit("drain")}),0))}))}(t[r])}},{key:"onClose",value:function(){u.prototype.onClose.call(this)}},{key:"doClose",value:function(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}},{key:"uri",value:function(){var t=this.query||{},e=this.opts.secure?"wss":"ws",n="";return this.opts.port&&("wss"===e&&443!==Number(this.opts.port)||"ws"===e&&80!==Number(this.opts.port))&&(n=":"+this.opts.port),this.opts.timestampRequests&&(t[this.opts.timestampParam]=l()),this.supportsBinary||(t.b64=1),(t=p.encode(t)).length&&(t="?"+t),e+"://"+(-1!==this.opts.hostname.indexOf(":")?"["+this.opts.hostname+"]":this.opts.hostname)+n+this.opts.path+t}},{key:"check",value:function(){return!(!d||"__initialize"in d&&this.name===a.prototype.name)}},{key:"name",get:function(){return"websocket"}}])&&o(e.prototype,n),r&&o(e,r),a}(u);t.exports=g},function(t,e,n){var r=n(2);t.exports={WebSocket:r.WebSocket||r.MozWebSocket,usingBrowserWebSocket:!0,defaultBinaryType:"arraybuffer"}},function(t,e,n){"use strict";function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.reconstructPacket=e.deconstructPacket=void 0;var o=n(15);e.deconstructPacket=function(t){var e=[],n=t.data,i=t;return i.data=function t(e,n){if(!e)return e;if(o.isBinary(e)){var i={_placeholder:!0,num:n.length};return n.push(e),i}if(Array.isArray(e)){for(var s=new Array(e.length),c=0;c<e.length;c++)s[c]=t(e[c],n);return s}if("object"===r(e)&&!(e instanceof Date)){var a={};for(var u in e)e.hasOwnProperty(u)&&(a[u]=t(e[u],n));return a}return e}(n,e),i.attachments=e.length,{packet:i,buffers:e}},e.reconstructPacket=function(t,e){return t.data=function t(e,n){if(!e)return e;if(e&&e._placeholder)return n[e.num];if(Array.isArray(e))for(var o=0;o<e.length;o++)e[o]=t(e[o],n);else if("object"===r(e))for(var i in e)e.hasOwnProperty(i)&&(e[i]=t(e[i],n));return e}(t.data,e),t.attachments=void 0,t}},function(t,e){function n(t){t=t||{},this.ms=t.min||100,this.max=t.max||1e4,this.factor=t.factor||2,this.jitter=t.jitter>0&&t.jitter<=1?t.jitter:0,this.attempts=0}t.exports=n,n.prototype.duration=function(){var t=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),n=Math.floor(e*this.jitter*t);t=0==(1&Math.floor(10*e))?t-n:t+n}return 0|Math.min(t,this.max)},n.prototype.reset=function(){this.attempts=0},n.prototype.setMin=function(t){this.ms=t},n.prototype.setMax=function(t){this.max=t},n.prototype.setJitter=function(t){this.jitter=t}}])}));
+//# sourceMappingURL=socket.io.min.js.map \ No newline at end of file
diff --git a/src/main/webapp/js/viewer-static.min.js b/src/main/webapp/js/viewer-static.min.js
index 0780ccc9..21d53203 100644
--- a/src/main/webapp/js/viewer-static.min.js
+++ b/src/main/webapp/js/viewer-static.min.js
@@ -204,7 +204,7 @@ function setCurrentXml(a,b){null!=window.parent&&null!=window.parent.openFile&&w
(function(){if("undefined"!==typeof JSON&&isLocalStorage)try{var a=localStorage.getItem(".drawio-config"),b=!0;null!=a&&(b=JSON.parse(a).showStartScreen);0==b&&(urlParams.splash="0")}catch(d){}a=urlParams["export"];null!=a&&(a=decodeURIComponent(a),"http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)&&(a="http://"+a),EXPORT_URL=a);a=urlParams.gitlab;null!=a&&(a=decodeURIComponent(a),"http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)&&(a="http://"+a),DRAWIO_GITLAB_URL=a);a=urlParams["gitlab-id"];
null!=a&&(DRAWIO_GITLAB_ID=a);window.DRAWIO_LOG_URL=window.DRAWIO_LOG_URL||"";a=window.location.host;if("test.draw.io"!=a){var c="diagrams.net",b=a.length-c.length,c=a.lastIndexOf(c,b);-1!==c&&c===b?window.DRAWIO_LOG_URL="https://log.diagrams.net":(c="draw.io",b=a.length-c.length,c=a.lastIndexOf(c,b),-1!==c&&c===b&&(window.DRAWIO_LOG_URL="https://log.draw.io"))}})();
if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==urlParams.local||"1"==urlParams.lockdown)urlParams.picker="0",urlParams.gapi="0",urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0";"trello"==urlParams.mode&&(urlParams.tr="1");"embed.diagrams.net"==window.location.hostname&&(urlParams.embed="1");(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.open&&(window.location.hash=urlParams.open);window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
-window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"mxgraph";window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"14.4.8",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
+window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"mxgraph";window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"14.5.0",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:/Apple Computer, Inc/.test(navigator.vendor),
IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform),IS_GC:/Google Inc/.test(navigator.vendor),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:"undefined"!==typeof InstallTrigger,IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||
0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:"MICROSOFT INTERNET EXPLORER"!=navigator.appName.toUpperCase(),NO_FO:!document.createElementNS||"[object SVGForeignObjectElement]"!=document.createElementNS("http://www.w3.org/2000/svg","foreignObject")||0<=navigator.userAgent.indexOf("Opera/"),IS_WIN:0<navigator.appVersion.indexOf("Win"),IS_MAC:0<navigator.appVersion.indexOf("Mac"),
@@ -2891,9 +2891,9 @@ function(){b.toggleFormatPanel()}),null,null,Editor.ctrlKey+"+Shift+P");m.setTog
this.outlineWindow.window.setVisible(!0),b.fireEvent(new mxEventObject("outline"))):this.outlineWindow.window.setVisible(!this.outlineWindow.window.isVisible())}),null,null,Editor.ctrlKey+"+Shift+O");m.setToggleAction(!0);m.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.outlineWindow&&this.outlineWindow.window.isVisible()}))};
Actions.prototype.addAction=function(a,b,e,d,k){var m;"..."==a.substring(a.length-3)?(a=a.substring(0,a.length-3),m=mxResources.get(a)+"..."):m=mxResources.get(a);return this.put(a,new Action(m,b,e,d,k))};Actions.prototype.put=function(a,b){return this.actions[a]=b};Actions.prototype.get=function(a){return this.actions[a]};function Action(a,b,e,d,k){mxEventSource.call(this);this.label=a;this.funct=this.createFunction(b);this.enabled=null!=e?e:!0;this.iconCls=d;this.shortcut=k;this.visible=!0}
mxUtils.extend(Action,mxEventSource);Action.prototype.createFunction=function(a){return a};Action.prototype.setEnabled=function(a){this.enabled!=a&&(this.enabled=a,this.fireEvent(new mxEventObject("stateChanged")))};Action.prototype.isEnabled=function(){return this.enabled};Action.prototype.setToggleAction=function(a){this.toggleAction=a};Action.prototype.setSelectedCallback=function(a){this.selectedCallback=a};Action.prototype.isSelected=function(){return this.selectedCallback()};DrawioFile=function(a,b){mxEventSource.call(this);this.ui=a;this.shadowData=this.data=b||"";this.shadowPages=null;this.created=(new Date).getTime();this.stats={opened:0,merged:0,fileMerged:0,fileReloaded:0,conflicts:0,timeouts:0,saved:0,closed:0,destroyed:0,joined:0,checksumErrors:0,bytesSent:0,bytesReceived:0,msgSent:0,msgReceived:0,cacheHits:0,cacheMiss:0,cacheFail:0}};DrawioFile.SYNC=urlParams.sync||"auto";DrawioFile.LAST_WRITE_WINS=!0;mxUtils.extend(DrawioFile,mxEventSource);
-DrawioFile.prototype.allChangesSavedKey="allChangesSaved";DrawioFile.prototype.savingSpinnerKey="saving";DrawioFile.prototype.savingStatusKey="saving";DrawioFile.prototype.autosaveDelay=1500;DrawioFile.prototype.maxAutosaveDelay=3E4;DrawioFile.prototype.autosaveThread=null;DrawioFile.prototype.lastAutosave=null;DrawioFile.prototype.lastSaved=null;DrawioFile.prototype.lastChanged=null;DrawioFile.prototype.opened=null;DrawioFile.prototype.modified=!1;DrawioFile.prototype.shadowModified=!1;
-DrawioFile.prototype.data=null;DrawioFile.prototype.shadowData=null;DrawioFile.prototype.shadowPages=null;DrawioFile.prototype.changeListenerEnabled=!0;DrawioFile.prototype.lastAutosaveRevision=null;DrawioFile.prototype.maxAutosaveRevisionDelay=3E5;DrawioFile.prototype.inConflictState=!1;DrawioFile.prototype.invalidChecksum=!1;DrawioFile.prototype.errorReportsEnabled=!1;DrawioFile.prototype.ageStart=null;DrawioFile.prototype.getSize=function(){return null!=this.data?this.data.length:0};
-DrawioFile.prototype.synchronizeFile=function(a,b){this.savingFile?null!=b&&b({message:mxResources.get("busy")}):null!=this.sync?this.sync.fileChanged(a,b):this.updateFile(a,b)};
+DrawioFile.prototype.allChangesSavedKey="allChangesSaved";DrawioFile.prototype.savingSpinnerKey="saving";DrawioFile.prototype.savingStatusKey="saving";DrawioFile.prototype.autosaveDelay=1500;DrawioFile.prototype.maxAutosaveDelay=3E4;DrawioFile.prototype.optimisticSyncDelay=300;DrawioFile.prototype.autosaveThread=null;DrawioFile.prototype.lastAutosave=null;DrawioFile.prototype.lastSaved=null;DrawioFile.prototype.lastChanged=null;DrawioFile.prototype.opened=null;DrawioFile.prototype.modified=!1;
+DrawioFile.prototype.shadowModified=!1;DrawioFile.prototype.data=null;DrawioFile.prototype.shadowData=null;DrawioFile.prototype.shadowPages=null;DrawioFile.prototype.changeListenerEnabled=!0;DrawioFile.prototype.lastAutosaveRevision=null;DrawioFile.prototype.maxAutosaveRevisionDelay=3E5;DrawioFile.prototype.inConflictState=!1;DrawioFile.prototype.invalidChecksum=!1;DrawioFile.prototype.errorReportsEnabled=!1;DrawioFile.prototype.ageStart=null;
+DrawioFile.prototype.getSize=function(){return null!=this.data?this.data.length:0};DrawioFile.prototype.synchronizeFile=function(a,b){this.savingFile?null!=b&&b({message:mxResources.get("busy")}):null!=this.sync?this.sync.fileChanged(a,b):this.updateFile(a,b)};
DrawioFile.prototype.updateFile=function(a,b,e,d){null!=e&&e()||(this.ui.getCurrentFile()!=this||this.invalidChecksum?null!=b&&b():this.getLatestVersion(mxUtils.bind(this,function(k){try{null!=e&&e()||(this.ui.getCurrentFile()!=this||this.invalidChecksum?null!=b&&b():null!=k?this.mergeFile(k,a,b,d):this.reloadFile(a,b))}catch(m){null!=b&&b(m)}}),b))};
DrawioFile.prototype.mergeFile=function(a,b,e,d){var k=!0;try{this.stats.fileMerged++;var m=null!=this.shadowPages?this.shadowPages:this.ui.getPagesForNode(mxUtils.parseXml(this.shadowData).documentElement),q=this.ui.getPagesForNode(mxUtils.parseXml(a.data).documentElement);if(null!=q&&0<q.length){this.shadowPages=q;this.backupPatch=this.isModified()?this.ui.diffPages(m,this.ui.pages):null;var u=[this.ui.diffPages(null!=d?d:m,this.shadowPages)];if(!this.ignorePatches(u)){var c=this.ui.patchPages(m,
u[0]);d={};var f=this.ui.getHashValueForPages(c,d),m={},g=this.ui.getHashValueForPages(this.shadowPages,m);"1"==urlParams.test&&EditorUi.debug("File.mergeFile",[this],"backup",this.backupPatch,"patches",u,"checksum",g==f,f);if(null!=f&&f!=g){var n=this.compressReportData(this.getAnonymizedXmlForPages(q)),l=this.compressReportData(this.getAnonymizedXmlForPages(c)),p=this.ui.hashValue(a.getCurrentEtag()),t=this.ui.hashValue(this.getCurrentEtag());this.checksumError(e,u,"Shadow Details: "+JSON.stringify(d)+
@@ -2948,9 +2948,10 @@ DrawioFile.prototype.handleConflictError=function(a,b){var e=mxUtils.bind(this,f
mxResources.get("updatingDocument"))&&this.synchronizeFile(mxUtils.bind(this,function(){this.ui.spinner.stop();this.ui.spinner.spin(document.body,mxResources.get(this.savingSpinnerKey))&&this.save(!0,e,d,null,null,this.constructor!=GitHubFile&&this.constructor!=GitLabFile||null==a?null:a.commitMessage)}),d)});"none"==DrawioFile.SYNC?this.showCopyDialog(e,d,k):this.invalidChecksum?this.showRefreshDialog(e,d,this.getErrorMessage(a)):b?this.showConflictDialog(k,m):this.addConflictStatus(mxUtils.bind(this,
function(){this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get("updatingDocument")));this.synchronizeFile(e,d)}),this.getErrorMessage(a))};DrawioFile.prototype.getErrorMessage=function(a){var b=null!=a?null!=a.error?a.error.message:a.message:null;null==b&&null!=a&&a.code==App.ERROR_TIMEOUT&&(b=mxResources.get("timeout"));return b};DrawioFile.prototype.isOverdue=function(){return null!=this.ageStart&&Date.now()-this.ageStart.getTime()>=this.ui.warnInterval};
DrawioFile.prototype.fileChanged=function(){this.lastChanged=new Date;this.setModified(!0);this.isAutosave()?(null!=this.savingStatusKey&&this.addAllSavedStatus(mxUtils.htmlEntities(mxResources.get(this.savingStatusKey))+"..."),this.ui.scheduleSanityCheck(),null==this.ageStart&&(this.ageStart=new Date),this.autosave(this.autosaveDelay,this.maxAutosaveDelay,mxUtils.bind(this,function(a){this.ui.stopSanityCheck();null==this.autosaveThread?(this.handleFileSuccess(!0),this.ageStart=null):this.isModified()&&
-(this.ui.scheduleSanityCheck(),this.ageStart=this.lastChanged)}),mxUtils.bind(this,function(a){this.handleFileError(a)}))):(this.ageStart=null,this.isAutosaveOptional()&&this.ui.editor.autosave||this.inConflictState||this.addUnsavedStatus())};DrawioFile.prototype.createSecret=function(a){var b=Editor.guid(32);null!=this.sync?this.sync.createToken(b,mxUtils.bind(this,function(e){a(b,e)}),mxUtils.bind(this,function(){a(b)})):a(b)};
-DrawioFile.prototype.fileSaved=function(a,b,e,d,k){this.lastSaved=new Date;this.ageStart=null;try{this.stats.saved++,this.invalidChecksum=this.inConflictState=!1,null==this.sync?(this.shadowData=a,this.shadowPages=null,null!=e&&e()):this.sync.fileSaved(this.ui.getPagesForNode(mxUtils.parseXml(a).documentElement),b,e,d,k)}catch(u){this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=d&&d(u);try{if(this.errorReportsEnabled)this.sendErrorReport("Error in fileSaved",null,u);else{var m=
-this.getCurrentUser(),q=null!=m?m.id:"unknown";EditorUi.logError("Error in fileSaved",null,this.getMode()+"."+this.getId(),q,u)}}catch(c){}}};
+(this.ui.scheduleSanityCheck(),this.ageStart=this.lastChanged)}),mxUtils.bind(this,function(a){this.handleFileError(a)}))):(this.ageStart=null,this.isAutosaveOptional()&&this.ui.editor.autosave||this.inConflictState||this.addUnsavedStatus())};DrawioFile.prototype.isOptimisticSync=function(){return!1};DrawioFile.prototype.createSecret=function(a){var b=Editor.guid(32);null==this.sync||this.isOptimisticSync()?a(b):this.sync.createToken(b,mxUtils.bind(this,function(e){a(b,e)}),mxUtils.bind(this,function(){a(b)}))};
+DrawioFile.prototype.fileSaving=function(){null!=this.sync&&this.isOptimisticSync()&&this.sync.fileSaving();"1"==urlParams.test&&EditorUi.debug("DrawioFile.fileSaving",[this])};
+DrawioFile.prototype.fileSaved=function(a,b,e,d,k){this.lastSaved=new Date;this.ageStart=null;try{this.stats.saved++,this.invalidChecksum=this.inConflictState=!1,null==this.sync||this.isOptimisticSync()?(this.shadowData=a,this.shadowPages=null,null!=e&&e()):this.sync.fileSaved(this.ui.getPagesForNode(mxUtils.parseXml(a).documentElement),b,e,d,k)}catch(u){this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=d&&d(u);try{if(this.errorReportsEnabled)this.sendErrorReport("Error in fileSaved",
+null,u);else{var m=this.getCurrentUser(),q=null!=m?m.id:"unknown";EditorUi.logError("Error in fileSaved",null,this.getMode()+"."+this.getId(),q,u)}}catch(c){}}"1"==urlParams.test&&EditorUi.debug("DrawioFile.fileSaved",[this])};
DrawioFile.prototype.autosave=function(a,b,e,d){null==this.lastAutosave&&(this.lastAutosave=Date.now());a=Date.now()-this.lastAutosave<b?a:0;this.clearAutosave();var k=window.setTimeout(mxUtils.bind(this,function(){this.lastAutosave=null;this.autosaveThread==k&&(this.autosaveThread=null);if(this.isModified()&&this.isAutosaveNow()){var a=this.isAutosaveRevision();a&&(this.lastAutosaveRevision=(new Date).getTime());this.save(a,mxUtils.bind(this,function(a){this.autosaveCompleted();null!=e&&e(a)}),mxUtils.bind(this,
function(a){null!=d&&d(a)}))}else this.isModified()||this.ui.editor.setStatus(""),null!=e&&e(null)}),a);this.autosaveThread=k};DrawioFile.prototype.isAutosaveNow=function(){return!0};DrawioFile.prototype.autosaveCompleted=function(){};DrawioFile.prototype.clearAutosave=function(){null!=this.autosaveThread&&(window.clearTimeout(this.autosaveThread),this.autosaveThread=null)};
DrawioFile.prototype.isAutosaveRevision=function(){var a=(new Date).getTime();return null==this.lastAutosaveRevision||a-this.lastAutosaveRevision>this.maxAutosaveRevisionDelay};DrawioFile.prototype.descriptorChanged=function(){this.fireEvent(new mxEventObject("descriptorChanged"))};DrawioFile.prototype.contentChanged=function(){this.fireEvent(new mxEventObject("contentChanged"))};
@@ -3201,7 +3202,7 @@ this.container=e};var L=ChangePageSetup.prototype.execute;ChangePageSetup.protot
(this.page.viewState.shadowVisible=this.shadowVisible)):(L.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))};Editor.prototype.useCanvasForExport=!1;try{var O=document.createElement("canvas"),F=new Image;
F.onload=function(){try{O.getContext("2d").drawImage(F,0,0);var a=O.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=a&&6<a.length}catch(K){}};F.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(v){}})();
(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,e,d){d.ui=a.ui;return e};a.afterDecode=function(a,e,d){d.previousColor=d.color;d.previousImage=d.image;d.previousFormat=d.format;null!=d.foldingEnabled&&(d.foldingEnabled=!d.foldingEnabled);null!=d.mathEnabled&&(d.mathEnabled=!d.mathEnabled);null!=d.shadowVisible&&(d.shadowVisible=!d.shadowVisible);return d};mxCodecRegistry.register(a)})();
-(function(){var a=new mxObjectCodec(new ChangeGridColor,["ui"]);a.beforeDecode=function(a,e,d){d.ui=a.ui;return e};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="14.4.9";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=
+(function(){var a=new mxObjectCodec(new ChangeGridColor,["ui"]);a.beforeDecode=function(a,e,d){d.ui=a.ui;return e};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="14.5.0";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=
window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl="1"==urlParams.dev?"/cache":window.REALTIME_URL;null==EditorUi.cacheUrl&&"undefined"!==typeof DrawioFile&&(DrawioFile.SYNC="none");Editor.cacheTimeout=1E4;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;
EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.diagrams.net/doc/faq/scratchpad";EditorUi.defaultMermaidConfig={theme:"neutral",arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!1},sequence:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1},
gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:4,axisFormat:"%Y-%m-%d"}};EditorUi.logError=function(a,b,d,e,l,p,t){p=null!=p?p:0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE";if(EditorUi.enableLogging&&"1"!=urlParams.dev)try{if(a!=EditorUi.lastErrorMessage&&(null==a||null==b||-1==a.indexOf("Script error")&&
@@ -3464,8 +3465,8 @@ EditorUi.prototype.isSettingsEnabled=function(){return"undefined"!==typeof windo
"keys",[],"values",[],"cells",[]));this.menus.customFonts=mxSettings.getCustomFonts();this.addListener("customFontsChanged",mxUtils.bind(this,function(a,b){if("1"!=urlParams["ext-fonts"])mxSettings.setCustomFonts(this.menus.customFonts);else{var c=b.getProperty("customFonts");this.menus.customFonts=c;mxSettings.setCustomFonts(c)}mxSettings.save()}));this.editor.graph.connectionHandler.setCreateTarget(mxSettings.isCreateTarget());this.fireEvent(new mxEventObject("copyConnectChanged"));this.addListener("copyConnectChanged",
mxUtils.bind(this,function(a,b){mxSettings.setCreateTarget(this.editor.graph.connectionHandler.isCreateTarget());mxSettings.save()}));this.editor.graph.pageFormat=mxSettings.getPageFormat();this.addListener("pageFormatChanged",mxUtils.bind(this,function(a,b){mxSettings.setPageFormat(this.editor.graph.pageFormat);mxSettings.save()}));this.editor.graph.view.gridColor=mxSettings.getGridColor("dark"==uiTheme);this.addListener("gridColorChanged",mxUtils.bind(this,function(a,b){mxSettings.setGridColor(this.editor.graph.view.gridColor,
"dark"==uiTheme);mxSettings.save()}));if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)this.editor.addListener("autosaveChanged",mxUtils.bind(this,function(a,b){mxSettings.setAutosave(this.editor.autosave);mxSettings.save()})),this.editor.autosave=mxSettings.getAutosave();null!=this.sidebar&&(null!=urlParams["search-shapes"]&&null!=this.sidebar.searchShapes?(this.sidebar.searchShapes(decodeURIComponent(urlParams["search-shapes"])),this.sidebar.showEntries("search")):(this.sidebar.showPalette("search",
-mxSettings.settings.search),this.editor.chromeless&&!this.editor.editable||!(mxSettings.settings.isNew||8>=parseInt(mxSettings.settings.version||0))||(this.toggleScratchpad(),mxSettings.save())));this.addListener("formatWidthChanged",function(){mxSettings.setFormatWidth(this.formatWidth);mxSettings.save()})}};EditorUi.prototype.copyImage=function(a,b,d,e){try{null!=navigator.clipboard&&this.spinner.spin(document.body,mxResources.get("exporting"))&&this.editor.exportToCanvas(mxUtils.bind(this,function(c,
-e){try{this.spinner.stop();var f=this.createImageDataUri(c,0<a.length?b:null,"png");if("png"==d)var g=this.base64ToBlob(f.substring(f.indexOf(",")+1),"image/png"),l=new ClipboardItem({"image/png":g});else var k=parseInt(e.getAttribute("width")),n=parseInt(e.getAttribute("height")),l=new ClipboardItem({"text/html":new Blob(['<img src="'+f+'" width="'+k+'" height="'+n+'">'],{type:"text/html"})});navigator.clipboard.write([l])["catch"](mxUtils.bind(this,function(a){this.handleError(a)}))}catch(J){this.handleError(J)}}),
+mxSettings.settings.search),this.editor.chromeless&&!this.editor.editable||!(mxSettings.settings.isNew||8>=parseInt(mxSettings.settings.version||0))||(this.toggleScratchpad(),mxSettings.save())));this.addListener("formatWidthChanged",function(){mxSettings.setFormatWidth(this.formatWidth);mxSettings.save()})}};EditorUi.prototype.copyImage=function(a,b,d,e){try{null!=navigator.clipboard&&this.spinner.spin(document.body,mxResources.get("exporting"))&&this.editor.exportToCanvas(mxUtils.bind(this,function(a,
+c){try{this.spinner.stop();var e=this.createImageDataUri(a,b,"png");if("png"==d)var f=this.base64ToBlob(e.substring(e.indexOf(",")+1),"image/png"),g=new ClipboardItem({"image/png":f});else var l=parseInt(c.getAttribute("width")),k=parseInt(c.getAttribute("height")),g=new ClipboardItem({"text/html":new Blob(['<img src="'+e+'" width="'+l+'" height="'+k+'">'],{type:"text/html"})});navigator.clipboard.write([g])["catch"](mxUtils.bind(this,function(a){this.handleError(a)}))}catch(J){this.handleError(J)}}),
null,null,null,mxUtils.bind(this,function(){}),null,null,null!=e?e:"png"==d?1:4,"png"!=d,null,null,null,10,null,null,!1,null,0<a.length?a:null)}catch(l){this.handleError(l)}};EditorUi.prototype.copyCells=function(a,b){var c=this.editor.graph;if(c.isSelectionEmpty())a.innerHTML="";else{var d=mxUtils.sortCells(c.model.getTopmostCells(c.getSelectionCells())),e=mxUtils.getXml(c.encodeCells(d));mxUtils.setTextContent(a,encodeURIComponent(e));b?(c.removeCells(d,!1),c.lastPasteXml=null):(c.lastPasteXml=
e,c.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.copyXml=function(){var a=null;if(Editor.enableNativeCipboard){var b=this.editor.graph;b.isSelectionEmpty()||(a=mxUtils.sortCells(b.getExportableCells(b.model.getTopmostCells(b.getSelectionCells()))),b=mxUtils.getXml(b.encodeCells(a)),navigator.clipboard.writeText(b))}return a};EditorUi.prototype.pasteXml=function(a,b,d,e){var c=this.editor.graph,f=null;c.lastPasteXml==a?c.pasteCounter++:(c.lastPasteXml=a,
c.pasteCounter=0);var g=c.pasteCounter*c.gridSize;if(d||this.isCompatibleString(a))f=this.importXml(a,g,g),c.setSelectionCells(f);else if(b&&1==c.getSelectionCount()){g=c.getStartEditingCell(c.getSelectionCell(),e);if(/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a)&&"image"==c.getCurrentCellStyle(g)[mxConstants.STYLE_SHAPE])c.setCellStyles(mxConstants.STYLE_IMAGE,a,[g]);else{c.model.beginUpdate();try{c.labelChanged(g,a),Graph.isLink(a)&&c.setLinkForCell(g,a)}finally{c.model.endUpdate()}}c.setSelectionCell(g)}else f=
@@ -3775,7 +3776,7 @@ l.diagramContainer.style.top="47px";var O=l.menus.get("viewZoom");if(null!=O){th
F.style.textDecoration="none";F.style.textDecoration="none";F.style.right="0px";F.style.bottom="0px";F.style.overflow="hidden";F.style.visibility="hidden";F.style.textAlign="center";F.style.color="#000";F.style.fontSize="12px";F.style.color="#707070";F.style.width="59px";F.style.cursor="pointer";F.style.borderTop="1px solid lightgray";F.style.borderLeft="1px solid lightgray";F.style.height=parseInt(l.tabContainerHeight)-1+"px";F.style.lineHeight=parseInt(l.tabContainerHeight)+1+"px";L.appendChild(F);
O=mxUtils.bind(this,function(){F.innerHTML=Math.round(100*l.editor.graph.view.scale)+"%"});l.editor.graph.view.addListener(mxEvent.EVENT_SCALE,O);l.editor.addListener("resetGraphView",O);l.editor.addListener("pageSelected",O);var v=l.setGraphEnabled;l.setGraphEnabled=function(){v.apply(this,arguments);null!=this.tabContainer&&(F.style.visibility=this.tabContainer.style.visibility,this.diagramContainer.style.bottom="hidden"!=this.tabContainer.style.visibility?this.tabContainerHeight+"px":"0px")}}L.appendChild(l.tabContainer);
L.appendChild(m);L.appendChild(l.diagramContainer);k.appendChild(L);l.updateTabContainer();var K=null;g();mxEvent.addListener(window,"resize",function(){g();null!=l.sidebarWindow&&l.sidebarWindow.window.fit();null!=l.formatWindow&&l.formatWindow.window.fit();null!=l.actions.outlineWindow&&l.actions.outlineWindow.window.fit();null!=l.actions.layersWindow&&l.actions.layersWindow.window.fit();null!=l.menus.tagsWindow&&l.menus.tagsWindow.window.fit();null!=l.menus.findWindow&&l.menus.findWindow.window.fit()})}}};
-(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var b=EditorUi.initTheme;EditorUi.initTheme=function(){b.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();DrawioComment=function(a,b,e,d,k,m,q){this.file=a;this.id=b;this.content=e;this.modifiedDate=d;this.createdDate=k;this.isResolved=m;this.user=q;this.replies=[]};DrawioComment.prototype.addReplyDirect=function(a){null!=a&&this.replies.push(a)};DrawioComment.prototype.addReply=function(a,b,e,d,k){b()};DrawioComment.prototype.editComment=function(a,b,e){b()};DrawioComment.prototype.deleteComment=function(a,b){a()};DrawioUser=function(a,b,e,d,k){this.id=a;this.email=b;this.displayName=e;this.pictureUrl=d;this.locale=k};mxResources.parse('# *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*\n# https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE\nabout=About \naboutDrawio=About draw.io\naccessDenied=Access Denied\naction=Action\nactualSize=Actual Size\nadd=Add\naddAccount=Add account\naddedFile=Added {1}\naddImages=Add Images\naddImageUrl=Add Image URL\naddLayer=Add Layer\naddProperty=Add Property\naddress=Address\naddToExistingDrawing=Add to Existing Drawing\naddWaypoint=Add Waypoint\nadjustTo=Adjust to\nadvanced=Advanced\nalign=Align\nalignment=Alignment\nallChangesLost=All changes will be lost!\nallPages=All Pages\nallProjects=All Projects\nallSpaces=All Spaces\nallTags=All Tags\nanchor=Anchor\nandroid=Android\nangle=Angle\narc=Arc\nareYouSure=Are you sure?\nensureDataSaved=Please ensure your data is saved before closing.\nallChangesSaved=All changes saved\nallChangesSavedInDrive=All changes saved in Drive\nallowPopups=Allow pop-ups to avoid this dialog.\nallowRelativeUrl=Allow relative URL\nalreadyConnected=Nodes already connected\napply=Apply\narchiMate21=ArchiMate 2.1\narrange=Arrange\narrow=Arrow\narrows=Arrows\nasNew=As New\natlas=Atlas\nauthor=Author\nauthorizationRequired=Authorization required\nauthorizeThisAppIn=Authorize this app in {1}:\nauthorize=Authorize\nauthorizing=Authorizing\nautomatic=Automatic\nautosave=Autosave\nautosize=Autosize\nattachments=Attachments\naws=AWS\naws3d=AWS 3D\nazure=Azure\nback=Back\nbackground=Background\nbackgroundColor=Background Color\nbackgroundImage=Background Image\nbasic=Basic\nblankDrawing=Blank Drawing\nblankDiagram=Blank Diagram\nblock=Block\nblockquote=Blockquote\nblog=Blog\nbold=Bold\nbootstrap=Bootstrap\nborder=Border\nborderColor=Border Color\nborderWidth=Border Width\nbottom=Bottom\nbottomAlign=Bottom Align\nbottomLeft=Bottom Left\nbottomRight=Bottom Right\nbpmn=BPMN\nbrowser=Browser\nbulletedList=Bulleted List\nbusiness=Business\nbusy=Operation in progress\ncabinets=Cabinets\ncancel=Cancel\ncenter=Center\ncannotLoad=Load attempts failed. Please try again later.\ncannotLogin=Log in attempts failed. Please try again later.\ncannotOpenFile=Cannot open file\nchange=Change\nchangeOrientation=Change Orientation\nchangeUser=Change user\nchangeStorage=Change storage\nchangesNotSaved=Changes have not been saved\nclassDiagram=Class Diagram\nuserJoined={1} has joined\nuserLeft={1} has left\nchatWindowTitle=Chat\nchooseAnOption=Choose an option\nchromeApp=Chrome App\ncollaborativeEditingNotice=Important Notice for Collaborative Editing\ncompare=Compare\ncompressed=Compressed\ncommitMessage=Commit Message\nconfigLinkWarn=This link configures draw.io. Only click OK if you trust whoever gave you it!\nconfigLinkConfirm=Click OK to configure and restart draw.io.\ncsv=CSV\ndark=Dark\ndiagramXmlDesc=XML File\ndiagramHtmlDesc=HTML File\ndiagramPngDesc=Editable Bitmap Image\ndiagramSvgDesc=Editable Vector Image\ndidYouMeanToExportToPdf=Did you mean to export to PDF?\ndraftFound=A draft for \'{1}\' has been found. Load it into the editor or discard it to continue.\nselectDraft=Select a draft to continue editing:\ndragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?\ndropboxCharsNotAllowed=The following characters are not allowed: / : ? * " |\ncheck=Check\nchecksum=Checksum\ncircle=Circle\ncisco=Cisco\nclassic=Classic\nclearDefaultStyle=Clear Default Style\nclearWaypoints=Clear Waypoints\nclipart=Clipart\nclose=Close\nclosingFile=Closing file\ncollaborator=Collaborator\ncollaborators=Collaborators\ncollapse=Collapse\ncollapseExpand=Collapse/Expand\ncollapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size\ncollapsible=Collapsible\ncomic=Comic\ncomment=Comment\ncommentsNotes=Comments/Notes\ncompress=Compress\nconfiguration=Configuration\nconnect=Connect\nconnecting=Connecting\nconnectWithDrive=Connect with Google Drive\nconnection=Connection\nconnectionArrows=Connection Arrows\nconnectionPoints=Connection Points\nconstrainProportions=Constrain Proportions\ncontainsValidationErrors=Contains validation errors\ncopiedToClipboard=Copied to clipboard\ncopy=Copy\ncopyConnect=Copy on connect\ncopyCreated=A copy of the file was created.\ncopyOf=Copy of {1}\ncopyOfDrawing=Copy of Drawing\ncopySize=Copy Size\ncopyStyle=Copy Style\ncreate=Create\ncreateNewDiagram=Create New Diagram\ncreateRevision=Create Revision\ncreateShape=Create Shape\ncrop=Crop\ncurved=Curved\ncustom=Custom\ncurrent=Current\ncurrentPage=Current page\ncut=Cut\ndashed=Dashed\ndecideLater=Decide later\ndefault=Default\ndelete=Delete\ndeleteColumn=Delete Column\ndeleteLibrary401=Insufficient permissions to delete this library\ndeleteLibrary404=Selected library could not be found\ndeleteLibrary500=Error deleting library\ndeleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?\ndeleteRow=Delete Row\ndescription=Description\ndevice=Device\ndiagram=Diagram\ndiagramContent=Diagram Content\ndiagramLocked=Diagram has been locked to prevent further data loss.\ndiagramLockedBySince=The diagram is locked by {1} since {2} ago\ndiagramName=Diagram Name\ndiagramIsPublic=Diagram is public\ndiagramIsNotPublic=Diagram is not public\ndiamond=Diamond\ndiamondThin=Diamond (thin)\ndidYouKnow=Did you know...\ndirection=Direction\ndiscard=Discard\ndiscardChangesAndReconnect=Discard Changes and Reconnect\ngoogleDriveMissingClickHere=Google Drive missing? Click here!\ndiscardChanges=Discard Changes\ndisconnected=Disconnected\ndistribute=Distribute\ndone=Done\ndoNotShowAgain=Do not show again\ndotted=Dotted\ndoubleClickOrientation=Doubleclick to change orientation\ndoubleClickTooltip=Doubleclick to insert text\ndoubleClickChangeProperty=Doubleclick to change property name\ndownload=Download\ndownloadDesktop=Get Desktop\ndownloadAs=Download as\nclickHereToSave=Click here to save.\ndpi=DPI\ndraftDiscarded=Draft discarded\ndraftSaved=Draft saved\ndragElementsHere=Drag elements here\ndragImagesHere=Drag images or URLs here\ndragUrlsHere=Drag URLs here\ndraw.io=draw.io\ndrawing=Drawing{1}\ndrawingEmpty=Drawing is empty\ndrawingTooLarge=Drawing is too large\ndrawioForWork=Draw.io for GSuite\ndropbox=Dropbox\nduplicate=Duplicate\nduplicateIt=Duplicate {1}\ndivider=Divider\ndx=Dx\ndy=Dy\neast=East\nedit=Edit\neditData=Edit Data\neditDiagram=Edit Diagram\neditGeometry=Edit Geometry\neditImage=Edit Image\neditImageUrl=Edit Image URL\neditLink=Edit Link\neditShape=Edit Shape\neditStyle=Edit Style\neditText=Edit Text\neditTooltip=Edit Tooltip\nglass=Glass\ngoogleImages=Google Images\nimageSearch=Image Search\neip=EIP\nembed=Embed\nembedImages=Embed Images\nmainEmbedNotice=Paste this into the page\nelectrical=Electrical\nellipse=Ellipse\nembedNotice=Paste this once at the end of the page\nenterGroup=Enter Group\nenterName=Enter Name\nenterPropertyName=Enter Property Name\nenterValue=Enter Value\nentityRelation=Entity Relation\nentityRelationshipDiagram=Entity Relationship Diagram\nerror=Error\nerrorDeletingFile=Error deleting file\nerrorLoadingFile=Error loading file\nerrorRenamingFile=Error renaming file\nerrorRenamingFileNotFound=Error renaming file. File was not found.\nerrorRenamingFileForbidden=Error renaming file. Insufficient access rights.\nerrorSavingDraft=Error saving draft\nerrorSavingFile=Error saving file\nerrorSavingFileUnknown=Error authorizing with Google\'s servers. Please refresh the page to re-attempt.\nerrorSavingFileForbidden=Error saving file. Insufficient access rights.\nerrorSavingFileNameConflict=Could not save diagram. Current page already contains file named \'{1}\'.\nerrorSavingFileNotFound=Error saving file. File was not found.\nerrorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.\nerrorSavingFileSessionTimeout=Your session has ended. Please <a target=\'_blank\' href=\'{1}\'>{2}</a> and return to this tab to try to save again.\nerrorSendingFeedback=Error sending feedback.\nerrorUpdatingPreview=Error updating preview.\nexit=Exit\nexitGroup=Exit Group\nexpand=Expand\nexport=Export\nexporting=Exporting\nexportAs=Export as\nexportOptionsDisabled=Export options disabled\nexportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.\nexternalChanges=External Changes\nextras=Extras\nfacebook=Facebook\nfailedToSaveTryReconnect=Failed to save, trying to reconnect\nfeatureRequest=Feature Request\nfeedback=Feedback\nfeedbackSent=Feedback successfully sent.\nfloorplans=Floorplans\nfile=File\nfileChangedOverwriteDialog=The file has been modified. Do you want to save the file and overwrite those changes?\nfileChangedSyncDialog=The file has been modified. Do you want to synchronize those changes?\nfileChangedSync=The file has been modified. Click here to synchronize.\noverwrite=Overwrite\nsynchronize=Synchronize\nfilename=Filename\nfileExists=File already exists\nfileMovedToTrash=File was moved to trash\nfileNearlyFullSeeFaq=File nearly full, please see FAQ\nfileNotFound=File not found\nrepositoryNotFound=Repository not found\nfileNotFoundOrDenied=The file was not found. It does not exist or you do not have access.\nfileNotLoaded=File not loaded\nfileNotSaved=File not saved\nfileOpenLocation=How would you like to open these file(s)?\nfiletypeHtml=.html causes file to save as HTML with redirect to cloud URL\nfiletypePng=.png causes file to save as PNG with embedded data\nfiletypeSvg=.svg causes file to save as SVG with embedded data\nfileWillBeSavedInAppFolder={1} will be saved in the app folder.\nfill=Fill\nfillColor=Fill Color\nfilterCards=Filter Cards\nfind=Find\nfit=Fit\nfitContainer=Resize Container\nfitIntoContainer=Fit into Container\nfitPage=Fit Page\nfitPageWidth=Fit Page Width\nfitTo=Fit to\nfitToSheetsAcross=sheet(s) across\nfitToBy=by\nfitToSheetsDown=sheet(s) down\nfitTwoPages=Two Pages\nfitWindow=Fit Window\nflip=Flip\nflipH=Flip Horizontal\nflipV=Flip Vertical\nflowchart=Flowchart\nfolder=Folder\nfont=Font\nfontColor=Font Color\nfontFamily=Font Family\nfontSize=Font Size\nforbidden=You are not authorized to access this file\nformat=Format\nformatPanel=Format Panel\nformatted=Formatted\nformattedText=Formatted Text\nformatPng=PNG\nformatGif=GIF\nformatJpg=JPEG\nformatPdf=PDF\nformatSql=SQL\nformatSvg=SVG\nformatHtmlEmbedded=HTML\nformatSvgEmbedded=SVG (with XML)\nformatVsdx=VSDX\nformatVssx=VSSX\nformatXmlPlain=XML (Plain)\nformatXml=XML\nforum=Discussion/Help Forums\nfreehand=Freehand\nfromTemplate=From Template\nfromTemplateUrl=From Template URL\nfromText=From Text\nfromUrl=From URL\nfromThisPage=From this page\nfullscreen=Fullscreen\ngap=Gap\ngcp=GCP\ngeneral=General\ngithub=GitHub\ngitlab=GitLab\ngliffy=Gliffy\nglobal=Global\ngoogleDocs=Google Docs\ngoogleDrive=Google Drive\ngoogleGadget=Google Gadget\ngooglePlus=Google+\ngoogleSharingNotAvailable=Sharing is only available via Google Drive. Please click Open below and share from the more actions menu:\ngoogleSlides=Google Slides\ngoogleSites=Google Sites\ngoogleSheets=Google Sheets\ngradient=Gradient\ngradientColor=Color\ngrid=Grid\ngridColor=Grid Color\ngridSize=Grid Size\ngroup=Group\nguides=Guides\nhateApp=I hate draw.io\nheading=Heading\nheight=Height\nhelp=Help\nhelpTranslate=Help us translate this application\nhide=Hide\nhideIt=Hide {1}\nhidden=Hidden\nhome=Home\nhorizontal=Horizontal\nhorizontalFlow=Horizontal Flow\nhorizontalTree=Horizontal Tree\nhowTranslate=How good is the translation in your language?\nhtml=HTML\nhtmlText=HTML Text\nid=ID\niframe=IFrame\nignore=Ignore\nimage=Image\nimageUrl=Image URL\nimages=Images\nimagePreviewError=This image couldn\'t be loaded for preview. Please check the URL.\nimageTooBig=Image too big\nimgur=Imgur\nimport=Import\nimportFrom=Import from\nincludeCopyOfMyDiagram=Include a copy of my diagram\nincreaseIndent=Increase Indent\ndecreaseIndent=Decrease Indent\ninsert=Insert\ninsertColumnBefore=Insert Column Left\ninsertColumnAfter=Insert Column Right\ninsertEllipse=Insert Ellipse\ninsertImage=Insert Image\ninsertHorizontalRule=Insert Horizontal Rule\ninsertLink=Insert Link\ninsertPage=Insert Page\ninsertRectangle=Insert Rectangle\ninsertRhombus=Insert Rhombus\ninsertRowBefore=Insert Row Above\ninsertRowAfter=Insert Row After\ninsertText=Insert Text\ninserting=Inserting\ninstallApp=Install App\ninvalidFilename=Diagram names must not contain the following characters: / | : ; { } < > & + ? = "\ninvalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>.\ninvalidInput=Invalid input\ninvalidName=Invalid name\ninvalidOrMissingFile=Invalid or missing file\ninvalidPublicUrl=Invalid public URL\nisometric=Isometric\nios=iOS\nitalic=Italic\nkennedy=Kennedy\nkeyboardShortcuts=Keyboard Shortcuts\nlayers=Layers\nlandscape=Landscape\nlanguage=Language\nleanMapping=Lean Mapping\nlastChange=Last change {1} ago\nlessThanAMinute=less than a minute\nlicensingError=Licensing Error\nlicenseHasExpired=The license for {1} has expired on {2}. Click here.\nlicenseRequired=This feature requires draw.io to be licensed.\nlicenseWillExpire=The license for {1} will expire on {2}. Click here.\nlineJumps=Line jumps\nlinkAccountRequired=If the diagram is not public a Google account is required to view the link.\nlinkText=Link Text\nlist=List\nminute=minute\nminutes=minutes\nhours=hours\ndays=days\nmonths=months\nyears=years\nrestartForChangeRequired=Changes will take effect after a restart of the application.\nlaneColor=Lanecolor\nlastModified=Last modified\nlayout=Layout\nleft=Left\nleftAlign=Left Align\nleftToRight=Left to right\nlibraryTooltip=Drag and drop shapes here or click + to insert. Double click to edit.\nlightbox=Lightbox\nline=Line\nlineend=Line end\nlineheight=Line Height\nlinestart=Line start\nlinewidth=Linewidth\nlink=Link\nlinks=Links\nloading=Loading\nlockUnlock=Lock/Unlock\nloggedOut=Logged Out\nlogIn=log in\nloveIt=I love {1}\nlucidchart=Lucidchart\nmaps=Maps\nmathematicalTypesetting=Mathematical Typesetting\nmakeCopy=Make a Copy\nmanual=Manual\nmerge=Merge\nmermaid=Mermaid\nmicrosoftOffice=Microsoft Office\nmicrosoftExcel=Microsoft Excel\nmicrosoftPowerPoint=Microsoft PowerPoint\nmicrosoftWord=Microsoft Word\nmiddle=Middle\nminimal=Minimal\nmisc=Misc\nmockups=Mockups\nmodificationDate=Modification date\nmodifiedBy=Modified by\nmore=More\nmoreResults=More Results\nmoreShapes=More Shapes\nmove=Move\nmoveToFolder=Move to Folder\nmoving=Moving\nmoveSelectionTo=Move selection to {1}\nname=Name\nnavigation=Navigation\nnetwork=Network\nnetworking=Networking\nnew=New\nnewLibrary=New Library\nnextPage=Next Page\nno=No\nnoPickFolder=No, pick folder\nnoAttachments=No attachments found\nnoColor=No Color\nnoFiles=No Files\nnoFileSelected=No file selected\nnoLibraries=No libraries found\nnoMoreResults=No more results\nnone=None\nnoOtherViewers=No other viewers\nnoPlugins=No plugins\nnoPreview=No preview\nnoResponse=No response from server\nnoResultsFor=No results for \'{1}\'\nnoRevisions=No revisions\nnoSearchResults=No search results found\nnoPageContentOrNotSaved=No anchors found on this page or it hasn\'t been saved yet\nnormal=Normal\nnorth=North\nnotADiagramFile=Not a diagram file\nnotALibraryFile=Not a library file\nnotAvailable=Not available\nnotAUtf8File=Not a UTF-8 file\nnotConnected=Not connected\nnote=Note\nnotion=Notion\nnotSatisfiedWithImport=Not satisfied with the import?\nnotUsingService=Not using {1}?\nnumberedList=Numbered list\noffline=Offline\nok=OK\noneDrive=OneDrive\nonline=Online\nopacity=Opacity\nopen=Open\nopenArrow=Open Arrow\nopenExistingDiagram=Open Existing Diagram\nopenFile=Open File\nopenFrom=Open from\nopenLibrary=Open Library\nopenLibraryFrom=Open Library from\nopenLink=Open Link\nopenInNewWindow=Open in New Window\nopenInThisWindow=Open in This Window\nopenIt=Open {1}\nopenRecent=Open Recent\nopenSupported=Supported formats are files saved from this software (.xml), .vsdx and .gliffy\noptions=Options\norganic=Organic\norgChart=Org Chart\northogonal=Orthogonal\notherViewer=other viewer\notherViewers=other viewers\noutline=Outline\noval=Oval\npage=Page\npageContent=Page Content\npageNotFound=Page not found\npageWithNumber=Page-{1}\npages=Pages\npageView=Page View\npageSetup=Page Setup\npageScale=Page Scale\npan=Pan\npanTooltip=Space+Drag to pan\npaperSize=Paper Size\npattern=Pattern\nparallels=Parallels\npaste=Paste\npasteHere=Paste here\npasteSize=Paste Size\npasteStyle=Paste Style\nperimeter=Perimeter\npermissionAnyone=Anyone can edit\npermissionAuthor=Owner and admins can edit\npickFolder=Pick a folder\npickLibraryDialogTitle=Select Library\npublicDiagramUrl=Public URL of the diagram\nplaceholders=Placeholders\nplantUml=PlantUML\nplugins=Plugins\npluginUrl=Plugin URL\npluginWarning=The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n\nplusTooltip=Click to connect and clone (ctrl+click to clone, shift+click to connect). Drag to connect (ctrl+drag to clone).\nportrait=Portrait\nposition=Position\nposterPrint=Poster Print\npreferences=Preferences\npreview=Preview\npreviousPage=Previous Page\nprint=Print\nprintAllPages=Print All Pages\nprocEng=Proc. Eng.\nproject=Project\npriority=Priority\nproperties=Properties\npublish=Publish\nquickStart=Quick Start Video\nrack=Rack\nradialTree=Radial Tree\nreadOnly=Read-only\nreconnecting=Reconnecting\nrecentlyUpdated=Recently Updated\nrecentlyViewed=Recently Viewed\nrectangle=Rectangle\nredirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now.\nrealtimeTimeout=It looks like you\'ve made a few changes while offline. We\'re sorry, these changes cannot be saved.\nredo=Redo\nrefresh=Refresh\nregularExpression=Regular Expression\nrelative=Relative\nrelativeUrlNotAllowed=Relative URL not allowed\nrememberMe=Remember me\nrememberThisSetting=Remember this setting\nremoveFormat=Clear Formatting\nremoveFromGroup=Remove from Group\nremoveIt=Remove {1}\nremoveWaypoint=Remove Waypoint\nrename=Rename\nrenamed=Renamed\nrenameIt=Rename {1}\nrenaming=Renaming\nreplace=Replace\nreplaceIt={1} already exists. Do you want to replace it?\nreplaceExistingDrawing=Replace existing drawing\nrequired=required\nreset=Reset\nresetView=Reset View\nresize=Resize\nresizeLargeImages=Do you want to resize large images to make the application run faster?\nretina=Retina\nresponsive=Responsive\nrestore=Restore\nrestoring=Restoring\nretryingIn=Retrying in {1} second(s)\nretryingLoad=Load failed. Retrying...\nretryingLogin=Login time out. Retrying...\nreverse=Reverse\nrevision=Revision\nrevisionHistory=Revision History\nrhombus=Rhombus\nright=Right\nrightAlign=Right Align\nrightToLeft=Right to left\nrotate=Rotate\nrotateTooltip=Click and drag to rotate, click to turn shape only by 90 degrees\nrotation=Rotation\nrounded=Rounded\nsave=Save\nsaveAndExit=Save & Exit\nsaveAs=Save as\nsaveAsXmlFile=Save as XML file?\nsaved=Saved\nsaveDiagramFirst=Please save the diagram first\nsaveDiagramsTo=Save diagrams to\nsaveLibrary403=Insufficient permissions to edit this library\nsaveLibrary500=There was an error while saving the library\nsaveLibraryReadOnly=Could not save library while read-only mode is active\nsaving=Saving\nscratchpad=Scratchpad\nscrollbars=Scrollbars\nsearch=Search\nsearchShapes=Search Shapes\nselectAll=Select All\nselectionOnly=Selection Only\nselectCard=Select Card\nselectEdges=Select Edges\nselectFile=Select File\nselectFolder=Select Folder\nselectFont=Select Font\nselectNone=Select None\nselectTemplate=Select Template\nselectVertices=Select Vertices\nsendMessage=Send\nsendYourFeedback=Send your feedback\nserviceUnavailableOrBlocked=Service unavailable or blocked\nsessionExpired=Your session has expired. Please refresh the browser window.\nsessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. \nsetAsDefaultStyle=Set as Default Style\nshadow=Shadow\nshape=Shape\nshapes=Shapes\nshare=Share\nshareLink=Link for shared editing\nsharingAvailable=Sharing available for Google Drive and OneDrive files.\nsharp=Sharp\nshow=Show\nshowStartScreen=Show Start Screen\nsidebarTooltip=Click to expand. Drag and drop shapes into the diagram. Shift+click to change selection. Alt+click to insert and connect.\nsigns=Signs\nsignOut=Sign out\nsimple=Simple\nsimpleArrow=Simple Arrow\nsimpleViewer=Simple Viewer\nsize=Size\nsketch=Sketch\nsolid=Solid\nsourceSpacing=Source Spacing\nsouth=South\nsoftware=Software\nspace=Space\nspacing=Spacing\nspecialLink=Special Link\nstandard=Standard\nstartDrawing=Start drawing\nstopDrawing=Stop drawing\nstarting=Starting\nstraight=Straight\nstrikethrough=Strikethrough\nstrokeColor=Line Color\nstyle=Style\nsubscript=Subscript\nsummary=Summary\nsuperscript=Superscript\nsupport=Support\nswimlaneDiagram=Swimlane Diagram\nsysml=SysML\ntags=Tags\ntable=Table\ntables=Tables\ntakeOver=Take Over\ntargetSpacing=Target Spacing\ntemplate=Template\ntemplates=Templates\ntext=Text\ntextAlignment=Text Alignment\ntextOpacity=Text Opacity\ntheme=Theme\ntimeout=Timeout\ntitle=Title\nto=to\ntoBack=To Back\ntoFront=To Front\ntooLargeUseDownload=Too large, use download instead.\ntoolbar=Toolbar\ntooltips=Tooltips\ntop=Top\ntopAlign=Top Align\ntopLeft=Top Left\ntopRight=Top Right\ntransparent=Transparent\ntransparentBackground=Transparent Background\ntrello=Trello\ntryAgain=Try again\ntryOpeningViaThisPage=Try opening via this page\nturn=Rotate shape only by 90°\ntype=Type\ntwitter=Twitter\numl=UML\nunderline=Underline\nundo=Undo\nungroup=Ungroup\nunsavedChanges=Unsaved changes\nunsavedChangesClickHereToSave=Unsaved changes. Click here to save.\nuntitled=Untitled\nuntitledDiagram=Untitled Diagram\nuntitledLayer=Untitled Layer\nuntitledLibrary=Untitled Library\nunknownError=Unknown error\nupdateFile=Update {1}\nupdatingDocument=Updating Document. Please wait...\nupdatingPreview=Updating Preview. Please wait...\nupdatingSelection=Updating Selection. Please wait...\nupload=Upload\nurl=URL\nuseOffline=Use Offline\nuseRootFolder=Use root folder?\nuserManual=User Manual\nvertical=Vertical\nverticalFlow=Vertical Flow\nverticalTree=Vertical Tree\nview=View\nviewerSettings=Viewer Settings\nviewUrl=Link to view: {1}\nvoiceAssistant=Voice Assistant (beta)\nwarning=Warning\nwaypoints=Waypoints\nwest=West\nwidth=Width\nwiki=Wiki\nwordWrap=Word Wrap\nwritingDirection=Writing Direction\nyes=Yes\nyourEmailAddress=Your email address\nzoom=Zoom\nzoomIn=Zoom In\nzoomOut=Zoom Out\nbasic=Basic\nbusinessprocess=Business Processes\ncharts=Charts\nengineering=Engineering\nflowcharts=Flowcharts\ngmdl=Material Design\nmindmaps=Mindmaps\nmockups=Mockups\nnetworkdiagrams=Network Diagrams\nnothingIsSelected=Nothing is selected\nother=Other\nsoftwaredesign=Software Design\nvenndiagrams=Venn Diagrams\nwebEmailOrOther=Web, email or any other internet address\nwebLink=Web Link\nwireframes=Wireframes\nproperty=Property\nvalue=Value\nshowMore=Show More\nshowLess=Show Less\nmyDiagrams=My Diagrams\nallDiagrams=All Diagrams\nrecentlyUsed=Recently used\nlistView=List view\ngridView=Grid view\nresultsFor=Results for \'{1}\'\noneDriveCharsNotAllowed=The following characters are not allowed: ~ " # % * : < > ? / { | }\noneDriveInvalidDeviceName=The specified device name is invalid\nofficeNotLoggedOD=You are not logged in to OneDrive. Please open draw.io task pane and login first.\nofficeSelectSingleDiag=Please select a single draw.io diagram only without other contents.\nofficeSelectDiag=Please select a draw.io diagram.\nofficeCannotFindDiagram=Cannot find a draw.io diagram in the selection\nnoDiagrams=No diagrams found\nauthFailed=Authentication failed\nofficeFailedAuthMsg=Unable to successfully authenticate user or authorize application.\nconvertingDiagramFailed=Converting diagram failed\nofficeCopyImgErrMsg=Due to some limitations in the host application, the image could not be inserted. Please manually copy the image then paste it to the document.\ninsertingImageFailed=Inserting image failed\nofficeCopyImgInst=Instructions: Right-click the image below. Select "Copy image" from the context menu. Then, in the document, right-click and select "Paste" from the context menu.\nfolderEmpty=Folder is empty\nrecent=Recent\nsharedWithMe=Shared With Me\nsharepointSites=Sharepoint Sites\nerrorFetchingFolder=Error fetching folder items\nerrorAuthOD=Error authenticating to OneDrive\nofficeMainHeader=Adds draw.io diagrams to your document.\nofficeStepsHeader=This add-in performs the following steps:\nofficeStep1=Connects to Microsoft OneDrive, Google Drive or your device.\nofficeStep2=Select a draw.io diagram.\nofficeStep3=Insert the diagram into the document.\nofficeAuthPopupInfo=Please complete the authentication in the pop-up window.\nofficeSelDiag=Select draw.io Diagram:\nfiles=Files\nshared=Shared\nsharepoint=Sharepoint\nofficeManualUpdateInst=Instructions: Copy draw.io diagram from the document. Then, in the box below, right-click and select "Paste" from the context menu.\nofficeClickToEdit=Click icon to start editing:\npasteDiagram=Paste draw.io diagram here\nconnectOD=Connect to OneDrive\nselectChildren=Select Children\nselectSiblings=Select Siblings\nselectParent=Select Parent\nselectDescendants=Select Descendants\nlastSaved=Last saved {1} ago\nresolve=Resolve\nreopen=Re-open\nshowResolved=Show Resolved\nreply=Reply\nobjectNotFound=Object not found\nreOpened=Re-opened\nmarkedAsResolved=Marked as resolved\nnoCommentsFound=No comments found\ncomments=Comments\ntimeAgo={1} ago\nconfluenceCloud=Confluence Cloud\nlibraries=Libraries\nconfAnchor=Confluence Page Anchor\nconfTimeout=The connection has timed out\nconfSrvTakeTooLong=The server at {1} is taking too long to respond.\nconfCannotInsertNew=Cannot insert draw.io diagram to a new Confluence page\nconfSaveTry=Please save the page and try again.\nconfCannotGetID=Unable to determine page ID\nconfContactAdmin=Please contact your Confluence administrator.\nreadErr=Read Error\neditingErr=Editing Error\nconfExtEditNotPossible=This diagram cannot be edited externally. Please try editing it while editing the page\nconfEditedExt=Diagram/Page edited externally\ndiagNotFound=Diagram Not Found\nconfEditedExtRefresh=Diagram/Page is edited externally. Please refresh the page.\nconfCannotEditDraftDelOrExt=Cannot edit diagrams in a draft page, diagram is deleted from the page, or diagram is edited externally. Please check the page.\nretBack=Return back\nconfDiagNotPublished=The diagram does not belong to a published page\ncreatedByDraw=Created by draw.io\nfilenameShort=Filename too short\ninvalidChars=Invalid characters\nalreadyExst={1} already exists\ndraftReadErr=Draft Read Error\ndiagCantLoad=Diagram cannot be loaded\ndraftWriteErr=Draft Write Error\ndraftCantCreate=Draft could not be created\nconfDuplName=Duplicate diagram name detected. Please pick another name.\nconfSessionExpired=Looks like your session expired. Log in again to keep working.\nlogin=Login\ndrawPrev=draw.io preview\ndrawDiag=draw.io diagram\ninvalidCallFnNotFound=Invalid Call: {1} not found\ninvalidCallErrOccured=Invalid Call: An error occurred, {1}\nanonymous=Anonymous\nconfGotoPage=Go to containing page\nshowComments=Show Comments\nconfError=Error: {1}\ngliffyImport=Gliffy Import\ngliffyImportInst1=Click the "Start Import" button to import all Gliffy diagrams to draw.io.\ngliffyImportInst2=Please note that the import procedure will take some time and the browser window must remain open until the import is completed.\nstartImport=Start Import\ndrawConfig=draw.io Configuration\ncustomLib=Custom Libraries\ncustomTemp=Custom Templates\npageIdsExp=Page IDs Export\ndrawReindex=draw.io re-indexing (beta)\nworking=Working\ndrawConfigNotFoundInst=draw.io Configuration Space (DRAWIOCONFIG) does not exist. This space is needed to store draw.io configuration files and custom libraries/templates.\ncreateConfSp=Create Config Space\nunexpErrRefresh=Unexpected error, please refresh the page and try again.\nconfigJSONInst=Write draw.io JSON configuration in the editor below then click save. If you need help, please refer to\nthisPage=this page\ncurCustLib=Current Custom Libraries\nlibName=Library Name\naction=Action\ndrawConfID=draw.io Config ID\naddLibInst=Click the "Add Library" button to upload a new library.\naddLib=Add Library\ncustomTempInst1=Custom templates are draw.io diagrams saved in children pages of\ncustomTempInst2=For more details, please refer to\ntempsPage=Templates page\npageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.\npageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.\nstartExp=Start Export\nrefreshDrawIndex=Refresh draw.io Diagrams Index\nreindexInst1=Click the "Start Indexing" button to refresh draw.io diagrams index.\nreindexInst2=Please note that the indexing procedure will take some time and the browser window must remain open until the indexing is completed.\nstartIndexing=Start Indexing\nconfAPageFoundFetch=Page "{1}" found. Fetching\nconfAAllDiagDone=All {1} diagrams processed. Process finished.\nconfAStartedProcessing=Started processing page "{1}"\nconfAAllDiagInPageDone=All {1} diagrams in page "{2}" processed successfully.\nconfAPartialDiagDone={1} out of {2} {3} diagrams in page "{4}" processed successfully.\nconfAUpdatePageFailed=Updating page "{1}" failed.\nconfANoDiagFoundInPage=No {1} diagrams found in page "{2}".\nconfAFetchPageFailed=Fetching the page failed.\nconfANoDiagFound=No {1} diagrams found. Process finished.\nconfASearchFailed=Searching for {1} diagrams failed. Please try again later.\nconfAGliffyDiagFound={2} diagram "{1}" found. Importing\nconfAGliffyDiagImported={2} diagram "{1}" imported successfully.\nconfASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.\nconfAImportedFromByDraw=Imported from "{1}" by draw.io\nconfAImportGliffyFailed=Importing {2} diagram "{1}" failed.\nconfAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.\nconfACheckBrokenDiagLnk=Checking for broken diagrams links.\nconfADelDiagLinkOf=Deleting diagram link of "{1}"\nconfADupLnk=(duplicate link)\nconfADelDiagLnkFailed=Deleting diagram link of "{1}" failed.\nconfAUnexpErrProcessPage=Unexpected error during processing the page with id: {1}\nconfADiagFoundIndex=Diagram "{1}" found. Indexing\nconfADiagIndexSucc=Diagram "{1}" indexed successfully.\nconfAIndexDiagFailed=Indexing diagram "{1}" failed.\nconfASkipDiagOtherPage=Skipped "{1}" as it belongs to another page!\nconfADiagUptoDate=Diagram "{1}" is up to date.\nconfACheckPagesWDraw=Checking pages having draw.io diagrams.\nconfAErrOccured=An error occurred!\nsavedSucc=Saved successfully\nconfASaveFailedErr=Saving Failed (Unexpected Error)\ncharacter=Character\nconfAConfPageDesc=This page contains draw.io configuration file (configuration.json) as attachment\nconfALibPageDesc=This page contains draw.io custom libraries as attachments\nconfATempPageDesc=This page contains draw.io custom templates as attachments\nworking=Working\nconfAConfSpaceDesc=This space is used to store draw.io configuration files and custom libraries/templates\nconfANoCustLib=No Custom Libraries\ndelFailed=Delete failed!\nshowID=Show ID\nconfAIncorrectLibFileType=Incorrect file type. Libraries should be XML files.\nuploading=Uploading\nconfALibExist=This library already exists\nconfAUploadSucc=Uploaded successfully\nconfAUploadFailErr=Upload Failed (Unexpected Error)\nhiResPreview=High Res Preview\nofficeNotLoggedGD=You are not logged in to Google Drive. Please open draw.io task pane and login first.\nofficePopupInfo=Please complete the process in the pop-up window.\npickODFile=Pick OneDrive File\npickGDriveFile=Pick Google Drive File\npickDeviceFile=Pick Device File\nvsdNoConfig="vsdurl" is not configured\nruler=Ruler\nunits=Units\npoints=Points\ninches=Inches\nmillimeters=Millimeters\nconfEditDraftDelOrExt=This diagram is in a draft page, is deleted from the page, or is edited externally. It will be saved as a new attachment version and may not be reflected in the page.\nconfDiagEditedExt=Diagram is edited in another session. It will be saved as a new attachment version but the page will show other session\'s modifications.\nmacroNotFound=Macro Not Found\nconfAInvalidPageIdsFormat=Incorrect Page IDs file format\nconfACollectingCurPages=Collecting current pages\nconfABuildingPagesMap=Building pages mapping\nconfAProcessDrawDiag=Started processing imported draw.io diagrams\nconfAProcessDrawDiagDone=Finished processing imported draw.io diagrams\nconfAProcessImpPages=Started processing imported pages\nconfAErrPrcsDiagInPage=Error processing draw.io diagrams in page "{1}"\nconfAPrcsDiagInPage=Processing draw.io diagrams in page "{1}"\nconfAImpDiagram=Importing diagram "{1}"\nconfAImpDiagramFailed=Importing diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \nconfAImpDiagramError=Error importing diagram "{1}". Cannot fetch or save the diagram. Cannot fix this diagram links.\nconfAUpdateDgrmCCFailed=Updating link to diagram "{1}" failed.\nconfImpDiagramSuccess=Updating diagram "{1}" done successfully.\nconfANoLnksInDrgm=No links to update in: {1}\nconfAUpdateLnkToPg=Updated link to page: "{1}" in diagram: "{2}"\nconfAUpdateLBLnkToPg=Updated lightbox link to page: "{1}" in diagram: "{2}"\nconfAUpdateLnkBase=Updated base URL from: "{1}" to: "{2}" in diagram: "{3}"\nconfAPageIdsImpDone=Page IDs Import finished\nconfAPrcsMacrosInPage=Processing draw.io macros in page "{1}"\nconfAErrFetchPage=Error fetching page "{1}"\nconfAFixingMacro=Fixing macro of diagram "{1}"\nconfAErrReadingExpFile=Error reading export file\nconfAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished\nconfAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \npageIdsExpTrg=Export target\nconfALucidDiagImgImported={2} diagram "{1}" image extracted successfully\nconfASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed\nconfGetInfoFailed=Fetching file info from {1} failed.\nconfCheckCacheFailed=Cannot get cached file info.\nconfReadFileErr=Cannot read "{1}" file from {2}.\nconfSaveCacheFailed=Unexpected error. Cannot save cached file\norgChartType=Org Chart Type\nlinear=Linear\nhanger2=Hanger 2\nhanger4=Hanger 4\nfishbone1=Fishbone 1\nfishbone2=Fishbone 2\n1ColumnLeft=Single Column Left\n1ColumnRight=Single Column Right\nsmart=Smart\nparentChildSpacing=Parent Child Spacing\nsiblingSpacing=Sibling Spacing\nconfNoPermErr=Sorry, you don\'t have enough permissions to view this embedded diagram from page {1}\ncopyAsImage=Copy as Image\nlucidImport=Lucidchart Import\nlucidImportInst1=Click the "Start Import" button to import all Lucidchart diagrams.\ninstallFirst=Please install {1} first\ndrawioChromeExt=draw.io Chrome Extension\nloginFirstThen=Please login to {1} first, then {2}\nerrFetchDocList=Error: Couldn\'t fetch documents list\nbuiltinPlugins=Built-in Plugins\nextPlugins=External Plugins\nbackupFound=Backup file found\nchromeOnly=This feature only works in Google Chrome\nmsgDeleted=This message has been deleted\nconfAErrFetchDrawList=Error fetching diagrams list. Some diagrams are skipped.\nconfAErrCheckDrawDiag=Cannot check diagram {1}\nconfAErrFetchPageList=Error fetching pages list\nconfADiagImportIncom={1} diagram "{2}" is imported partially and may have missing shapes\ninvalidSel=Invalid selection\ndiagNameEmptyErr=Diagram name cannot be empty\nopenDiagram=Open Diagram\nnewDiagram=New diagram\neditable=Editable\nconfAReimportStarted=Re-import {1} diagrams started...\nspaceFilter=Filter by spaces\ncurViewState=Current Viewer State\npageLayers=Page and Layers\ncustomize=Customize\nfirstPage=First Page (All Layers)\ncurEditorState=Current Editor State\nnoAnchorsFound=No anchors found \nattachment=Attachment\ncurDiagram=Current Diagram\nrecentDiags=Recent Diagrams\ncsvImport=CSV Import\nchooseFile=Choose a file...\nchoose=Choose\ngdriveFname=Google Drive filename\nwidthOfViewer=Width of the viewer (px)\nheightOfViewer=Height of the viewer (px)\nautoSetViewerSize=Automatically set the size of the viewer\nthumbnail=Thumbnail\nprevInDraw=Preview in draw.io\nonedriveFname=OneDrive filename\ndiagFname=Diagram filename\ndiagUrl=Diagram URL\nshowDiag=Show Diagram\ndiagPreview=Diagram Preview\ncsvFileUrl=CSV File URL\ngenerate=Generate\nselectDiag2Insert=Please select a diagram to insert it.\nerrShowingDiag=Unexpected error. Cannot show diagram\nnoRecentDiags=No recent diagrams found\nfetchingRecentFailed=Failed to fetch recent diagrams\nuseSrch2FindDiags=Use the search box to find draw.io diagrams\ncantReadChckPerms=Cannot read the specified diagram. Please check you have read permission on that file.\ncantFetchChckPerms=Cannot fetch diagram info. Please check you have read permission on that file.\nsearchFailed=Searching failed. Please try again later.\nplsTypeStr=Please type a search string.\nunsupportedFileChckUrl=Unsupported file. Please check the specified URL\ndiagNotFoundChckUrl=Diagram not found or cannot be accessed. Please check the specified URL\ncsvNotFoundChckUrl=CSV file not found or cannot be accessed. Please check the specified URL\ncantReadUpload=Cannot read the uploaded diagram\nselect=Select\nerrCantGetIdType=Unexpected Error: Cannot get content id or type.\nerrGAuthWinBlocked=Error: Google Authentication window blocked\nauthDrawAccess=Authorize draw.io to access {1}\nconnTimeout=The connection has timed out\nerrAuthSrvc=Error authenticating to {1}\nplsSelectFile=Please select a file\nmustBgtZ={1} must be greater than zero\ncantLoadPrev=Cannot load file preview.\nerrAccessFile=Error: Access Denied. You do not have permission to access "{1}".\nnoPrevAvail=No preview is available.\npersonalAccNotSup=Personal accounts are not supported.\nerrSavingTryLater=Error occured during saving, please try again later.\nplsEnterFld=Please enter {1}\ninvalidDiagUrl=Invalid Diagram URL\nunsupportedVsdx=Unsupported vsdx file\nunsupportedImg=Unsupported image file\nunsupportedFormat=Unsupported file format\nplsSelectSingleFile=Please select a single file only\nattCorrupt=Attachment file "\'{1}" is corrupted\nloadAttFailed=Failed to load attachment "{1}"\nembedDrawDiag=Embed draw.io Diagram\naddDiagram=Add Diagram\nembedDiagram=Embed Diagram\neditOwningPg=Edit owning page\ndeepIndexing=Deep Indexing (Index diagrams that aren\'t used in any page also)\nconfADeepIndexStarted=Deep Indexing Started\nconfADeepIndexDone=Deep Indexing Done\nofficeNoDiagramsSelected=No diagrams found in the selection\nofficeNoDiagramsInDoc=No diagrams found in the document\nofficeNotSupported=This feature is not supported in this host application\nsomeImagesFailed={1} out of {2} failed due to the following errors\nimportingNoUsedDiagrams=Importing {1} Diagrams not used in pages\nimportingDrafts=Importing {1} Diagrams in drafts\nprocessingDrafts=Processing drafts\nupdatingDrafts=Updating drafts\nupdateDrafts=Update drafts\nnotifications=Notifications\ndrawioImp=draw.io Import\nconfALibsImp=Importing draw.io Libraries\nconfALibsImpFailed=Importing {1} library failed\ncontributors=Contributors\ndrawDiagrams=draw.io Diagrams\nerrFileNotFoundOrNoPer=Error: Access Denied. File not found or you do not have permission to access "{1}" on {2}.\nconfACheckPagesWEmbed=Checking pages having embedded draw.io diagrams.\nconfADelBrokenEmbedDiagLnk=Removing broken embedded diagram links\nreplaceWith=Replace with\nreplaceAll=Replace All\nconfASkipDiagModified=Skipped "{1}" as it was modified after initial import\nreplFind=Replace/Find\nmatchesRepl={1} matches replaced\n');Graph.prototype.defaultThemes["default-style2"]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="edgeLabel" extend="text"><add as="labelBackgroundColor" value="#ffffff"/><add as="fontSize" value="11"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add></mxStylesheet>').documentElement;
+(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var b=EditorUi.initTheme;EditorUi.initTheme=function(){b.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();DrawioComment=function(a,b,e,d,k,m,q){this.file=a;this.id=b;this.content=e;this.modifiedDate=d;this.createdDate=k;this.isResolved=m;this.user=q;this.replies=[]};DrawioComment.prototype.addReplyDirect=function(a){null!=a&&this.replies.push(a)};DrawioComment.prototype.addReply=function(a,b,e,d,k){b()};DrawioComment.prototype.editComment=function(a,b,e){b()};DrawioComment.prototype.deleteComment=function(a,b){a()};DrawioUser=function(a,b,e,d,k){this.id=a;this.email=b;this.displayName=e;this.pictureUrl=d;this.locale=k};mxResources.parse('# *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*\n# https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE\nabout=About \naboutDrawio=About draw.io\naccessDenied=Access Denied\naction=Action\nactualSize=Actual Size\nadd=Add\naddAccount=Add account\naddedFile=Added {1}\naddImages=Add Images\naddImageUrl=Add Image URL\naddLayer=Add Layer\naddProperty=Add Property\naddress=Address\naddToExistingDrawing=Add to Existing Drawing\naddWaypoint=Add Waypoint\nadjustTo=Adjust to\nadvanced=Advanced\nalign=Align\nalignment=Alignment\nallChangesLost=All changes will be lost!\nallPages=All Pages\nallProjects=All Projects\nallSpaces=All Spaces\nallTags=All Tags\nanchor=Anchor\nandroid=Android\nangle=Angle\narc=Arc\nareYouSure=Are you sure?\nensureDataSaved=Please ensure your data is saved before closing.\nallChangesSaved=All changes saved\nallChangesSavedInDrive=All changes saved in Drive\nallowPopups=Allow pop-ups to avoid this dialog.\nallowRelativeUrl=Allow relative URL\nalreadyConnected=Nodes already connected\napply=Apply\narchiMate21=ArchiMate 2.1\narrange=Arrange\narrow=Arrow\narrows=Arrows\nasNew=As New\natlas=Atlas\nauthor=Author\nauthorizationRequired=Authorization required\nauthorizeThisAppIn=Authorize this app in {1}:\nauthorize=Authorize\nauthorizing=Authorizing\nautomatic=Automatic\nautosave=Autosave\nautosize=Autosize\nattachments=Attachments\naws=AWS\naws3d=AWS 3D\nazure=Azure\nback=Back\nbackground=Background\nbackgroundColor=Background Color\nbackgroundImage=Background Image\nbasic=Basic\nblankDrawing=Blank Drawing\nblankDiagram=Blank Diagram\nblock=Block\nblockquote=Blockquote\nblog=Blog\nbold=Bold\nbootstrap=Bootstrap\nborder=Border\nborderColor=Border Color\nborderWidth=Border Width\nbottom=Bottom\nbottomAlign=Bottom Align\nbottomLeft=Bottom Left\nbottomRight=Bottom Right\nbpmn=BPMN\nbrowser=Browser\nbulletedList=Bulleted List\nbusiness=Business\nbusy=Operation in progress\ncabinets=Cabinets\ncancel=Cancel\ncenter=Center\ncannotLoad=Load attempts failed. Please try again later.\ncannotLogin=Log in attempts failed. Please try again later.\ncannotOpenFile=Cannot open file\nchange=Change\nchangeOrientation=Change Orientation\nchangeUser=Change user\nchangeStorage=Change storage\nchangesNotSaved=Changes have not been saved\nclassDiagram=Class Diagram\nuserJoined={1} has joined\nuserLeft={1} has left\nchatWindowTitle=Chat\nchooseAnOption=Choose an option\nchromeApp=Chrome App\ncollaborativeEditingNotice=Important Notice for Collaborative Editing\ncompare=Compare\ncompressed=Compressed\ncommitMessage=Commit Message\nconfigLinkWarn=This link configures draw.io. Only click OK if you trust whoever gave you it!\nconfigLinkConfirm=Click OK to configure and restart draw.io.\ncsv=CSV\ndark=Dark\ndiagramXmlDesc=XML File\ndiagramHtmlDesc=HTML File\ndiagramPngDesc=Editable Bitmap Image\ndiagramSvgDesc=Editable Vector Image\ndidYouMeanToExportToPdf=Did you mean to export to PDF?\ndraftFound=A draft for \'{1}\' has been found. Load it into the editor or discard it to continue.\ndraftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.\nselectDraft=Select a draft to continue editing:\ndragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?\ndropboxCharsNotAllowed=The following characters are not allowed: / : ? * " |\ncheck=Check\nchecksum=Checksum\ncircle=Circle\ncisco=Cisco\nclassic=Classic\nclearDefaultStyle=Clear Default Style\nclearWaypoints=Clear Waypoints\nclipart=Clipart\nclose=Close\nclosingFile=Closing file\ncollaborator=Collaborator\ncollaborators=Collaborators\ncollapse=Collapse\ncollapseExpand=Collapse/Expand\ncollapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size\ncollapsible=Collapsible\ncomic=Comic\ncomment=Comment\ncommentsNotes=Comments/Notes\ncompress=Compress\nconfiguration=Configuration\nconnect=Connect\nconnecting=Connecting\nconnectWithDrive=Connect with Google Drive\nconnection=Connection\nconnectionArrows=Connection Arrows\nconnectionPoints=Connection Points\nconstrainProportions=Constrain Proportions\ncontainsValidationErrors=Contains validation errors\ncopiedToClipboard=Copied to clipboard\ncopy=Copy\ncopyConnect=Copy on connect\ncopyCreated=A copy of the file was created.\ncopyOf=Copy of {1}\ncopyOfDrawing=Copy of Drawing\ncopySize=Copy Size\ncopyStyle=Copy Style\ncreate=Create\ncreateNewDiagram=Create New Diagram\ncreateRevision=Create Revision\ncreateShape=Create Shape\ncrop=Crop\ncurved=Curved\ncustom=Custom\ncurrent=Current\ncurrentPage=Current page\ncut=Cut\ndashed=Dashed\ndecideLater=Decide later\ndefault=Default\ndelete=Delete\ndeleteColumn=Delete Column\ndeleteLibrary401=Insufficient permissions to delete this library\ndeleteLibrary404=Selected library could not be found\ndeleteLibrary500=Error deleting library\ndeleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?\ndeleteRow=Delete Row\ndescription=Description\ndevice=Device\ndiagram=Diagram\ndiagramContent=Diagram Content\ndiagramLocked=Diagram has been locked to prevent further data loss.\ndiagramLockedBySince=The diagram is locked by {1} since {2} ago\ndiagramName=Diagram Name\ndiagramIsPublic=Diagram is public\ndiagramIsNotPublic=Diagram is not public\ndiamond=Diamond\ndiamondThin=Diamond (thin)\ndidYouKnow=Did you know...\ndirection=Direction\ndiscard=Discard\ndiscardChangesAndReconnect=Discard Changes and Reconnect\ngoogleDriveMissingClickHere=Google Drive missing? Click here!\ndiscardChanges=Discard Changes\ndisconnected=Disconnected\ndistribute=Distribute\ndone=Done\ndoNotShowAgain=Do not show again\ndotted=Dotted\ndoubleClickOrientation=Doubleclick to change orientation\ndoubleClickTooltip=Doubleclick to insert text\ndoubleClickChangeProperty=Doubleclick to change property name\ndownload=Download\ndownloadDesktop=Get Desktop\ndownloadAs=Download as\nclickHereToSave=Click here to save.\ndpi=DPI\ndraftDiscarded=Draft discarded\ndraftSaved=Draft saved\ndragElementsHere=Drag elements here\ndragImagesHere=Drag images or URLs here\ndragUrlsHere=Drag URLs here\ndraw.io=draw.io\ndrawing=Drawing{1}\ndrawingEmpty=Drawing is empty\ndrawingTooLarge=Drawing is too large\ndrawioForWork=Draw.io for GSuite\ndropbox=Dropbox\nduplicate=Duplicate\nduplicateIt=Duplicate {1}\ndivider=Divider\ndx=Dx\ndy=Dy\neast=East\nedit=Edit\neditData=Edit Data\neditDiagram=Edit Diagram\neditGeometry=Edit Geometry\neditImage=Edit Image\neditImageUrl=Edit Image URL\neditLink=Edit Link\neditShape=Edit Shape\neditStyle=Edit Style\neditText=Edit Text\neditTooltip=Edit Tooltip\nglass=Glass\ngoogleImages=Google Images\nimageSearch=Image Search\neip=EIP\nembed=Embed\nembedImages=Embed Images\nmainEmbedNotice=Paste this into the page\nelectrical=Electrical\nellipse=Ellipse\nembedNotice=Paste this once at the end of the page\nenterGroup=Enter Group\nenterName=Enter Name\nenterPropertyName=Enter Property Name\nenterValue=Enter Value\nentityRelation=Entity Relation\nentityRelationshipDiagram=Entity Relationship Diagram\nerror=Error\nerrorDeletingFile=Error deleting file\nerrorLoadingFile=Error loading file\nerrorRenamingFile=Error renaming file\nerrorRenamingFileNotFound=Error renaming file. File was not found.\nerrorRenamingFileForbidden=Error renaming file. Insufficient access rights.\nerrorSavingDraft=Error saving draft\nerrorSavingFile=Error saving file\nerrorSavingFileUnknown=Error authorizing with Google\'s servers. Please refresh the page to re-attempt.\nerrorSavingFileForbidden=Error saving file. Insufficient access rights.\nerrorSavingFileNameConflict=Could not save diagram. Current page already contains file named \'{1}\'.\nerrorSavingFileNotFound=Error saving file. File was not found.\nerrorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.\nerrorSavingFileSessionTimeout=Your session has ended. Please <a target=\'_blank\' href=\'{1}\'>{2}</a> and return to this tab to try to save again.\nerrorSendingFeedback=Error sending feedback.\nerrorUpdatingPreview=Error updating preview.\nexit=Exit\nexitGroup=Exit Group\nexpand=Expand\nexport=Export\nexporting=Exporting\nexportAs=Export as\nexportOptionsDisabled=Export options disabled\nexportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.\nexternalChanges=External Changes\nextras=Extras\nfacebook=Facebook\nfailedToSaveTryReconnect=Failed to save, trying to reconnect\nfeatureRequest=Feature Request\nfeedback=Feedback\nfeedbackSent=Feedback successfully sent.\nfloorplans=Floorplans\nfile=File\nfileChangedOverwriteDialog=The file has been modified. Do you want to save the file and overwrite those changes?\nfileChangedSyncDialog=The file has been modified. Do you want to synchronize those changes?\nfileChangedSync=The file has been modified. Click here to synchronize.\noverwrite=Overwrite\nsynchronize=Synchronize\nfilename=Filename\nfileExists=File already exists\nfileMovedToTrash=File was moved to trash\nfileNearlyFullSeeFaq=File nearly full, please see FAQ\nfileNotFound=File not found\nrepositoryNotFound=Repository not found\nfileNotFoundOrDenied=The file was not found. It does not exist or you do not have access.\nfileNotLoaded=File not loaded\nfileNotSaved=File not saved\nfileOpenLocation=How would you like to open these file(s)?\nfiletypeHtml=.html causes file to save as HTML with redirect to cloud URL\nfiletypePng=.png causes file to save as PNG with embedded data\nfiletypeSvg=.svg causes file to save as SVG with embedded data\nfileWillBeSavedInAppFolder={1} will be saved in the app folder.\nfill=Fill\nfillColor=Fill Color\nfilterCards=Filter Cards\nfind=Find\nfit=Fit\nfitContainer=Resize Container\nfitIntoContainer=Fit into Container\nfitPage=Fit Page\nfitPageWidth=Fit Page Width\nfitTo=Fit to\nfitToSheetsAcross=sheet(s) across\nfitToBy=by\nfitToSheetsDown=sheet(s) down\nfitTwoPages=Two Pages\nfitWindow=Fit Window\nflip=Flip\nflipH=Flip Horizontal\nflipV=Flip Vertical\nflowchart=Flowchart\nfolder=Folder\nfont=Font\nfontColor=Font Color\nfontFamily=Font Family\nfontSize=Font Size\nforbidden=You are not authorized to access this file\nformat=Format\nformatPanel=Format Panel\nformatted=Formatted\nformattedText=Formatted Text\nformatPng=PNG\nformatGif=GIF\nformatJpg=JPEG\nformatPdf=PDF\nformatSql=SQL\nformatSvg=SVG\nformatHtmlEmbedded=HTML\nformatSvgEmbedded=SVG (with XML)\nformatVsdx=VSDX\nformatVssx=VSSX\nformatXmlPlain=XML (Plain)\nformatXml=XML\nforum=Discussion/Help Forums\nfreehand=Freehand\nfromTemplate=From Template\nfromTemplateUrl=From Template URL\nfromText=From Text\nfromUrl=From URL\nfromThisPage=From this page\nfullscreen=Fullscreen\ngap=Gap\ngcp=GCP\ngeneral=General\ngithub=GitHub\ngitlab=GitLab\ngliffy=Gliffy\nglobal=Global\ngoogleDocs=Google Docs\ngoogleDrive=Google Drive\ngoogleGadget=Google Gadget\ngooglePlus=Google+\ngoogleSharingNotAvailable=Sharing is only available via Google Drive. Please click Open below and share from the more actions menu:\ngoogleSlides=Google Slides\ngoogleSites=Google Sites\ngoogleSheets=Google Sheets\ngradient=Gradient\ngradientColor=Color\ngrid=Grid\ngridColor=Grid Color\ngridSize=Grid Size\ngroup=Group\nguides=Guides\nhateApp=I hate draw.io\nheading=Heading\nheight=Height\nhelp=Help\nhelpTranslate=Help us translate this application\nhide=Hide\nhideIt=Hide {1}\nhidden=Hidden\nhome=Home\nhorizontal=Horizontal\nhorizontalFlow=Horizontal Flow\nhorizontalTree=Horizontal Tree\nhowTranslate=How good is the translation in your language?\nhtml=HTML\nhtmlText=HTML Text\nid=ID\niframe=IFrame\nignore=Ignore\nimage=Image\nimageUrl=Image URL\nimages=Images\nimagePreviewError=This image couldn\'t be loaded for preview. Please check the URL.\nimageTooBig=Image too big\nimgur=Imgur\nimport=Import\nimportFrom=Import from\nincludeCopyOfMyDiagram=Include a copy of my diagram\nincreaseIndent=Increase Indent\ndecreaseIndent=Decrease Indent\ninsert=Insert\ninsertColumnBefore=Insert Column Left\ninsertColumnAfter=Insert Column Right\ninsertEllipse=Insert Ellipse\ninsertImage=Insert Image\ninsertHorizontalRule=Insert Horizontal Rule\ninsertLink=Insert Link\ninsertPage=Insert Page\ninsertRectangle=Insert Rectangle\ninsertRhombus=Insert Rhombus\ninsertRowBefore=Insert Row Above\ninsertRowAfter=Insert Row After\ninsertText=Insert Text\ninserting=Inserting\ninstallApp=Install App\ninvalidFilename=Diagram names must not contain the following characters: / | : ; { } < > & + ? = "\ninvalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>.\ninvalidInput=Invalid input\ninvalidName=Invalid name\ninvalidOrMissingFile=Invalid or missing file\ninvalidPublicUrl=Invalid public URL\nisometric=Isometric\nios=iOS\nitalic=Italic\nkennedy=Kennedy\nkeyboardShortcuts=Keyboard Shortcuts\nlayers=Layers\nlandscape=Landscape\nlanguage=Language\nleanMapping=Lean Mapping\nlastChange=Last change {1} ago\nlessThanAMinute=less than a minute\nlicensingError=Licensing Error\nlicenseHasExpired=The license for {1} has expired on {2}. Click here.\nlicenseRequired=This feature requires draw.io to be licensed.\nlicenseWillExpire=The license for {1} will expire on {2}. Click here.\nlineJumps=Line jumps\nlinkAccountRequired=If the diagram is not public a Google account is required to view the link.\nlinkText=Link Text\nlist=List\nminute=minute\nminutes=minutes\nhours=hours\ndays=days\nmonths=months\nyears=years\nrestartForChangeRequired=Changes will take effect after a restart of the application.\nlaneColor=Lanecolor\nlastModified=Last modified\nlayout=Layout\nleft=Left\nleftAlign=Left Align\nleftToRight=Left to right\nlibraryTooltip=Drag and drop shapes here or click + to insert. Double click to edit.\nlightbox=Lightbox\nline=Line\nlineend=Line end\nlineheight=Line Height\nlinestart=Line start\nlinewidth=Linewidth\nlink=Link\nlinks=Links\nloading=Loading\nlockUnlock=Lock/Unlock\nloggedOut=Logged Out\nlogIn=log in\nloveIt=I love {1}\nlucidchart=Lucidchart\nmaps=Maps\nmathematicalTypesetting=Mathematical Typesetting\nmakeCopy=Make a Copy\nmanual=Manual\nmerge=Merge\nmermaid=Mermaid\nmicrosoftOffice=Microsoft Office\nmicrosoftExcel=Microsoft Excel\nmicrosoftPowerPoint=Microsoft PowerPoint\nmicrosoftWord=Microsoft Word\nmiddle=Middle\nminimal=Minimal\nmisc=Misc\nmockups=Mockups\nmodificationDate=Modification date\nmodifiedBy=Modified by\nmore=More\nmoreResults=More Results\nmoreShapes=More Shapes\nmove=Move\nmoveToFolder=Move to Folder\nmoving=Moving\nmoveSelectionTo=Move selection to {1}\nname=Name\nnavigation=Navigation\nnetwork=Network\nnetworking=Networking\nnew=New\nnewLibrary=New Library\nnextPage=Next Page\nno=No\nnoPickFolder=No, pick folder\nnoAttachments=No attachments found\nnoColor=No Color\nnoFiles=No Files\nnoFileSelected=No file selected\nnoLibraries=No libraries found\nnoMoreResults=No more results\nnone=None\nnoOtherViewers=No other viewers\nnoPlugins=No plugins\nnoPreview=No preview\nnoResponse=No response from server\nnoResultsFor=No results for \'{1}\'\nnoRevisions=No revisions\nnoSearchResults=No search results found\nnoPageContentOrNotSaved=No anchors found on this page or it hasn\'t been saved yet\nnormal=Normal\nnorth=North\nnotADiagramFile=Not a diagram file\nnotALibraryFile=Not a library file\nnotAvailable=Not available\nnotAUtf8File=Not a UTF-8 file\nnotConnected=Not connected\nnote=Note\nnotion=Notion\nnotSatisfiedWithImport=Not satisfied with the import?\nnotUsingService=Not using {1}?\nnumberedList=Numbered list\noffline=Offline\nok=OK\noneDrive=OneDrive\nonline=Online\nopacity=Opacity\nopen=Open\nopenArrow=Open Arrow\nopenExistingDiagram=Open Existing Diagram\nopenFile=Open File\nopenFrom=Open from\nopenLibrary=Open Library\nopenLibraryFrom=Open Library from\nopenLink=Open Link\nopenInNewWindow=Open in New Window\nopenInThisWindow=Open in This Window\nopenIt=Open {1}\nopenRecent=Open Recent\nopenSupported=Supported formats are files saved from this software (.xml), .vsdx and .gliffy\noptions=Options\norganic=Organic\norgChart=Org Chart\northogonal=Orthogonal\notherViewer=other viewer\notherViewers=other viewers\noutline=Outline\noval=Oval\npage=Page\npageContent=Page Content\npageNotFound=Page not found\npageWithNumber=Page-{1}\npages=Pages\npageView=Page View\npageSetup=Page Setup\npageScale=Page Scale\npan=Pan\npanTooltip=Space+Drag to pan\npaperSize=Paper Size\npattern=Pattern\nparallels=Parallels\npaste=Paste\npasteHere=Paste here\npasteSize=Paste Size\npasteStyle=Paste Style\nperimeter=Perimeter\npermissionAnyone=Anyone can edit\npermissionAuthor=Owner and admins can edit\npickFolder=Pick a folder\npickLibraryDialogTitle=Select Library\npublicDiagramUrl=Public URL of the diagram\nplaceholders=Placeholders\nplantUml=PlantUML\nplugins=Plugins\npluginUrl=Plugin URL\npluginWarning=The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n\nplusTooltip=Click to connect and clone (ctrl+click to clone, shift+click to connect). Drag to connect (ctrl+drag to clone).\nportrait=Portrait\nposition=Position\nposterPrint=Poster Print\npreferences=Preferences\npreview=Preview\npreviousPage=Previous Page\nprint=Print\nprintAllPages=Print All Pages\nprocEng=Proc. Eng.\nproject=Project\npriority=Priority\nproperties=Properties\npublish=Publish\nquickStart=Quick Start Video\nrack=Rack\nradialTree=Radial Tree\nreadOnly=Read-only\nreconnecting=Reconnecting\nrecentlyUpdated=Recently Updated\nrecentlyViewed=Recently Viewed\nrectangle=Rectangle\nredirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now.\nrealtimeTimeout=It looks like you\'ve made a few changes while offline. We\'re sorry, these changes cannot be saved.\nredo=Redo\nrefresh=Refresh\nregularExpression=Regular Expression\nrelative=Relative\nrelativeUrlNotAllowed=Relative URL not allowed\nrememberMe=Remember me\nrememberThisSetting=Remember this setting\nremoveFormat=Clear Formatting\nremoveFromGroup=Remove from Group\nremoveIt=Remove {1}\nremoveWaypoint=Remove Waypoint\nrename=Rename\nrenamed=Renamed\nrenameIt=Rename {1}\nrenaming=Renaming\nreplace=Replace\nreplaceIt={1} already exists. Do you want to replace it?\nreplaceExistingDrawing=Replace existing drawing\nrequired=required\nreset=Reset\nresetView=Reset View\nresize=Resize\nresizeLargeImages=Do you want to resize large images to make the application run faster?\nretina=Retina\nresponsive=Responsive\nrestore=Restore\nrestoring=Restoring\nretryingIn=Retrying in {1} second(s)\nretryingLoad=Load failed. Retrying...\nretryingLogin=Login time out. Retrying...\nreverse=Reverse\nrevision=Revision\nrevisionHistory=Revision History\nrhombus=Rhombus\nright=Right\nrightAlign=Right Align\nrightToLeft=Right to left\nrotate=Rotate\nrotateTooltip=Click and drag to rotate, click to turn shape only by 90 degrees\nrotation=Rotation\nrounded=Rounded\nsave=Save\nsaveAndExit=Save & Exit\nsaveAs=Save as\nsaveAsXmlFile=Save as XML file?\nsaved=Saved\nsaveDiagramFirst=Please save the diagram first\nsaveDiagramsTo=Save diagrams to\nsaveLibrary403=Insufficient permissions to edit this library\nsaveLibrary500=There was an error while saving the library\nsaveLibraryReadOnly=Could not save library while read-only mode is active\nsaving=Saving\nscratchpad=Scratchpad\nscrollbars=Scrollbars\nsearch=Search\nsearchShapes=Search Shapes\nselectAll=Select All\nselectionOnly=Selection Only\nselectCard=Select Card\nselectEdges=Select Edges\nselectFile=Select File\nselectFolder=Select Folder\nselectFont=Select Font\nselectNone=Select None\nselectTemplate=Select Template\nselectVertices=Select Vertices\nsendMessage=Send\nsendYourFeedback=Send your feedback\nserviceUnavailableOrBlocked=Service unavailable or blocked\nsessionExpired=Your session has expired. Please refresh the browser window.\nsessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. \nsetAsDefaultStyle=Set as Default Style\nshadow=Shadow\nshape=Shape\nshapes=Shapes\nshare=Share\nshareLink=Link for shared editing\nsharingAvailable=Sharing available for Google Drive and OneDrive files.\nsharp=Sharp\nshow=Show\nshowStartScreen=Show Start Screen\nsidebarTooltip=Click to expand. Drag and drop shapes into the diagram. Shift+click to change selection. Alt+click to insert and connect.\nsigns=Signs\nsignOut=Sign out\nsimple=Simple\nsimpleArrow=Simple Arrow\nsimpleViewer=Simple Viewer\nsize=Size\nsketch=Sketch\nsolid=Solid\nsourceSpacing=Source Spacing\nsouth=South\nsoftware=Software\nspace=Space\nspacing=Spacing\nspecialLink=Special Link\nstandard=Standard\nstartDrawing=Start drawing\nstopDrawing=Stop drawing\nstarting=Starting\nstraight=Straight\nstrikethrough=Strikethrough\nstrokeColor=Line Color\nstyle=Style\nsubscript=Subscript\nsummary=Summary\nsuperscript=Superscript\nsupport=Support\nswimlaneDiagram=Swimlane Diagram\nsysml=SysML\ntags=Tags\ntable=Table\ntables=Tables\ntakeOver=Take Over\ntargetSpacing=Target Spacing\ntemplate=Template\ntemplates=Templates\ntext=Text\ntextAlignment=Text Alignment\ntextOpacity=Text Opacity\ntheme=Theme\ntimeout=Timeout\ntitle=Title\nto=to\ntoBack=To Back\ntoFront=To Front\ntooLargeUseDownload=Too large, use download instead.\ntoolbar=Toolbar\ntooltips=Tooltips\ntop=Top\ntopAlign=Top Align\ntopLeft=Top Left\ntopRight=Top Right\ntransparent=Transparent\ntransparentBackground=Transparent Background\ntrello=Trello\ntryAgain=Try again\ntryOpeningViaThisPage=Try opening via this page\nturn=Rotate shape only by 90°\ntype=Type\ntwitter=Twitter\numl=UML\nunderline=Underline\nundo=Undo\nungroup=Ungroup\nunsavedChanges=Unsaved changes\nunsavedChangesClickHereToSave=Unsaved changes. Click here to save.\nuntitled=Untitled\nuntitledDiagram=Untitled Diagram\nuntitledLayer=Untitled Layer\nuntitledLibrary=Untitled Library\nunknownError=Unknown error\nupdateFile=Update {1}\nupdatingDocument=Updating Document. Please wait...\nupdatingPreview=Updating Preview. Please wait...\nupdatingSelection=Updating Selection. Please wait...\nupload=Upload\nurl=URL\nuseOffline=Use Offline\nuseRootFolder=Use root folder?\nuserManual=User Manual\nvertical=Vertical\nverticalFlow=Vertical Flow\nverticalTree=Vertical Tree\nview=View\nviewerSettings=Viewer Settings\nviewUrl=Link to view: {1}\nvoiceAssistant=Voice Assistant (beta)\nwarning=Warning\nwaypoints=Waypoints\nwest=West\nwidth=Width\nwiki=Wiki\nwordWrap=Word Wrap\nwritingDirection=Writing Direction\nyes=Yes\nyourEmailAddress=Your email address\nzoom=Zoom\nzoomIn=Zoom In\nzoomOut=Zoom Out\nbasic=Basic\nbusinessprocess=Business Processes\ncharts=Charts\nengineering=Engineering\nflowcharts=Flowcharts\ngmdl=Material Design\nmindmaps=Mindmaps\nmockups=Mockups\nnetworkdiagrams=Network Diagrams\nnothingIsSelected=Nothing is selected\nother=Other\nsoftwaredesign=Software Design\nvenndiagrams=Venn Diagrams\nwebEmailOrOther=Web, email or any other internet address\nwebLink=Web Link\nwireframes=Wireframes\nproperty=Property\nvalue=Value\nshowMore=Show More\nshowLess=Show Less\nmyDiagrams=My Diagrams\nallDiagrams=All Diagrams\nrecentlyUsed=Recently used\nlistView=List view\ngridView=Grid view\nresultsFor=Results for \'{1}\'\noneDriveCharsNotAllowed=The following characters are not allowed: ~ " # % * : < > ? / { | }\noneDriveInvalidDeviceName=The specified device name is invalid\nofficeNotLoggedOD=You are not logged in to OneDrive. Please open draw.io task pane and login first.\nofficeSelectSingleDiag=Please select a single draw.io diagram only without other contents.\nofficeSelectDiag=Please select a draw.io diagram.\nofficeCannotFindDiagram=Cannot find a draw.io diagram in the selection\nnoDiagrams=No diagrams found\nauthFailed=Authentication failed\nofficeFailedAuthMsg=Unable to successfully authenticate user or authorize application.\nconvertingDiagramFailed=Converting diagram failed\nofficeCopyImgErrMsg=Due to some limitations in the host application, the image could not be inserted. Please manually copy the image then paste it to the document.\ninsertingImageFailed=Inserting image failed\nofficeCopyImgInst=Instructions: Right-click the image below. Select "Copy image" from the context menu. Then, in the document, right-click and select "Paste" from the context menu.\nfolderEmpty=Folder is empty\nrecent=Recent\nsharedWithMe=Shared With Me\nsharepointSites=Sharepoint Sites\nerrorFetchingFolder=Error fetching folder items\nerrorAuthOD=Error authenticating to OneDrive\nofficeMainHeader=Adds draw.io diagrams to your document.\nofficeStepsHeader=This add-in performs the following steps:\nofficeStep1=Connects to Microsoft OneDrive, Google Drive or your device.\nofficeStep2=Select a draw.io diagram.\nofficeStep3=Insert the diagram into the document.\nofficeAuthPopupInfo=Please complete the authentication in the pop-up window.\nofficeSelDiag=Select draw.io Diagram:\nfiles=Files\nshared=Shared\nsharepoint=Sharepoint\nofficeManualUpdateInst=Instructions: Copy draw.io diagram from the document. Then, in the box below, right-click and select "Paste" from the context menu.\nofficeClickToEdit=Click icon to start editing:\npasteDiagram=Paste draw.io diagram here\nconnectOD=Connect to OneDrive\nselectChildren=Select Children\nselectSiblings=Select Siblings\nselectParent=Select Parent\nselectDescendants=Select Descendants\nlastSaved=Last saved {1} ago\nresolve=Resolve\nreopen=Re-open\nshowResolved=Show Resolved\nreply=Reply\nobjectNotFound=Object not found\nreOpened=Re-opened\nmarkedAsResolved=Marked as resolved\nnoCommentsFound=No comments found\ncomments=Comments\ntimeAgo={1} ago\nconfluenceCloud=Confluence Cloud\nlibraries=Libraries\nconfAnchor=Confluence Page Anchor\nconfTimeout=The connection has timed out\nconfSrvTakeTooLong=The server at {1} is taking too long to respond.\nconfCannotInsertNew=Cannot insert draw.io diagram to a new Confluence page\nconfSaveTry=Please save the page and try again.\nconfCannotGetID=Unable to determine page ID\nconfContactAdmin=Please contact your Confluence administrator.\nreadErr=Read Error\neditingErr=Editing Error\nconfExtEditNotPossible=This diagram cannot be edited externally. Please try editing it while editing the page\nconfEditedExt=Diagram/Page edited externally\ndiagNotFound=Diagram Not Found\nconfEditedExtRefresh=Diagram/Page is edited externally. Please refresh the page.\nconfCannotEditDraftDelOrExt=Cannot edit diagrams in a draft page, diagram is deleted from the page, or diagram is edited externally. Please check the page.\nretBack=Return back\nconfDiagNotPublished=The diagram does not belong to a published page\ncreatedByDraw=Created by draw.io\nfilenameShort=Filename too short\ninvalidChars=Invalid characters\nalreadyExst={1} already exists\ndraftReadErr=Draft Read Error\ndiagCantLoad=Diagram cannot be loaded\ndraftWriteErr=Draft Write Error\ndraftCantCreate=Draft could not be created\nconfDuplName=Duplicate diagram name detected. Please pick another name.\nconfSessionExpired=Looks like your session expired. Log in again to keep working.\nlogin=Login\ndrawPrev=draw.io preview\ndrawDiag=draw.io diagram\ninvalidCallFnNotFound=Invalid Call: {1} not found\ninvalidCallErrOccured=Invalid Call: An error occurred, {1}\nanonymous=Anonymous\nconfGotoPage=Go to containing page\nshowComments=Show Comments\nconfError=Error: {1}\ngliffyImport=Gliffy Import\ngliffyImportInst1=Click the "Start Import" button to import all Gliffy diagrams to draw.io.\ngliffyImportInst2=Please note that the import procedure will take some time and the browser window must remain open until the import is completed.\nstartImport=Start Import\ndrawConfig=draw.io Configuration\ncustomLib=Custom Libraries\ncustomTemp=Custom Templates\npageIdsExp=Page IDs Export\ndrawReindex=draw.io re-indexing (beta)\nworking=Working\ndrawConfigNotFoundInst=draw.io Configuration Space (DRAWIOCONFIG) does not exist. This space is needed to store draw.io configuration files and custom libraries/templates.\ncreateConfSp=Create Config Space\nunexpErrRefresh=Unexpected error, please refresh the page and try again.\nconfigJSONInst=Write draw.io JSON configuration in the editor below then click save. If you need help, please refer to\nthisPage=this page\ncurCustLib=Current Custom Libraries\nlibName=Library Name\naction=Action\ndrawConfID=draw.io Config ID\naddLibInst=Click the "Add Library" button to upload a new library.\naddLib=Add Library\ncustomTempInst1=Custom templates are draw.io diagrams saved in children pages of\ncustomTempInst2=For more details, please refer to\ntempsPage=Templates page\npageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.\npageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.\nstartExp=Start Export\nrefreshDrawIndex=Refresh draw.io Diagrams Index\nreindexInst1=Click the "Start Indexing" button to refresh draw.io diagrams index.\nreindexInst2=Please note that the indexing procedure will take some time and the browser window must remain open until the indexing is completed.\nstartIndexing=Start Indexing\nconfAPageFoundFetch=Page "{1}" found. Fetching\nconfAAllDiagDone=All {1} diagrams processed. Process finished.\nconfAStartedProcessing=Started processing page "{1}"\nconfAAllDiagInPageDone=All {1} diagrams in page "{2}" processed successfully.\nconfAPartialDiagDone={1} out of {2} {3} diagrams in page "{4}" processed successfully.\nconfAUpdatePageFailed=Updating page "{1}" failed.\nconfANoDiagFoundInPage=No {1} diagrams found in page "{2}".\nconfAFetchPageFailed=Fetching the page failed.\nconfANoDiagFound=No {1} diagrams found. Process finished.\nconfASearchFailed=Searching for {1} diagrams failed. Please try again later.\nconfAGliffyDiagFound={2} diagram "{1}" found. Importing\nconfAGliffyDiagImported={2} diagram "{1}" imported successfully.\nconfASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.\nconfAImportedFromByDraw=Imported from "{1}" by draw.io\nconfAImportGliffyFailed=Importing {2} diagram "{1}" failed.\nconfAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.\nconfACheckBrokenDiagLnk=Checking for broken diagrams links.\nconfADelDiagLinkOf=Deleting diagram link of "{1}"\nconfADupLnk=(duplicate link)\nconfADelDiagLnkFailed=Deleting diagram link of "{1}" failed.\nconfAUnexpErrProcessPage=Unexpected error during processing the page with id: {1}\nconfADiagFoundIndex=Diagram "{1}" found. Indexing\nconfADiagIndexSucc=Diagram "{1}" indexed successfully.\nconfAIndexDiagFailed=Indexing diagram "{1}" failed.\nconfASkipDiagOtherPage=Skipped "{1}" as it belongs to another page!\nconfADiagUptoDate=Diagram "{1}" is up to date.\nconfACheckPagesWDraw=Checking pages having draw.io diagrams.\nconfAErrOccured=An error occurred!\nsavedSucc=Saved successfully\nconfASaveFailedErr=Saving Failed (Unexpected Error)\ncharacter=Character\nconfAConfPageDesc=This page contains draw.io configuration file (configuration.json) as attachment\nconfALibPageDesc=This page contains draw.io custom libraries as attachments\nconfATempPageDesc=This page contains draw.io custom templates as attachments\nworking=Working\nconfAConfSpaceDesc=This space is used to store draw.io configuration files and custom libraries/templates\nconfANoCustLib=No Custom Libraries\ndelFailed=Delete failed!\nshowID=Show ID\nconfAIncorrectLibFileType=Incorrect file type. Libraries should be XML files.\nuploading=Uploading\nconfALibExist=This library already exists\nconfAUploadSucc=Uploaded successfully\nconfAUploadFailErr=Upload Failed (Unexpected Error)\nhiResPreview=High Res Preview\nofficeNotLoggedGD=You are not logged in to Google Drive. Please open draw.io task pane and login first.\nofficePopupInfo=Please complete the process in the pop-up window.\npickODFile=Pick OneDrive File\npickGDriveFile=Pick Google Drive File\npickDeviceFile=Pick Device File\nvsdNoConfig="vsdurl" is not configured\nruler=Ruler\nunits=Units\npoints=Points\ninches=Inches\nmillimeters=Millimeters\nconfEditDraftDelOrExt=This diagram is in a draft page, is deleted from the page, or is edited externally. It will be saved as a new attachment version and may not be reflected in the page.\nconfDiagEditedExt=Diagram is edited in another session. It will be saved as a new attachment version but the page will show other session\'s modifications.\nmacroNotFound=Macro Not Found\nconfAInvalidPageIdsFormat=Incorrect Page IDs file format\nconfACollectingCurPages=Collecting current pages\nconfABuildingPagesMap=Building pages mapping\nconfAProcessDrawDiag=Started processing imported draw.io diagrams\nconfAProcessDrawDiagDone=Finished processing imported draw.io diagrams\nconfAProcessImpPages=Started processing imported pages\nconfAErrPrcsDiagInPage=Error processing draw.io diagrams in page "{1}"\nconfAPrcsDiagInPage=Processing draw.io diagrams in page "{1}"\nconfAImpDiagram=Importing diagram "{1}"\nconfAImpDiagramFailed=Importing diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \nconfAImpDiagramError=Error importing diagram "{1}". Cannot fetch or save the diagram. Cannot fix this diagram links.\nconfAUpdateDgrmCCFailed=Updating link to diagram "{1}" failed.\nconfImpDiagramSuccess=Updating diagram "{1}" done successfully.\nconfANoLnksInDrgm=No links to update in: {1}\nconfAUpdateLnkToPg=Updated link to page: "{1}" in diagram: "{2}"\nconfAUpdateLBLnkToPg=Updated lightbox link to page: "{1}" in diagram: "{2}"\nconfAUpdateLnkBase=Updated base URL from: "{1}" to: "{2}" in diagram: "{3}"\nconfAPageIdsImpDone=Page IDs Import finished\nconfAPrcsMacrosInPage=Processing draw.io macros in page "{1}"\nconfAErrFetchPage=Error fetching page "{1}"\nconfAFixingMacro=Fixing macro of diagram "{1}"\nconfAErrReadingExpFile=Error reading export file\nconfAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished\nconfAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \npageIdsExpTrg=Export target\nconfALucidDiagImgImported={2} diagram "{1}" image extracted successfully\nconfASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed\nconfGetInfoFailed=Fetching file info from {1} failed.\nconfCheckCacheFailed=Cannot get cached file info.\nconfReadFileErr=Cannot read "{1}" file from {2}.\nconfSaveCacheFailed=Unexpected error. Cannot save cached file\norgChartType=Org Chart Type\nlinear=Linear\nhanger2=Hanger 2\nhanger4=Hanger 4\nfishbone1=Fishbone 1\nfishbone2=Fishbone 2\n1ColumnLeft=Single Column Left\n1ColumnRight=Single Column Right\nsmart=Smart\nparentChildSpacing=Parent Child Spacing\nsiblingSpacing=Sibling Spacing\nconfNoPermErr=Sorry, you don\'t have enough permissions to view this embedded diagram from page {1}\ncopyAsImage=Copy as Image\nlucidImport=Lucidchart Import\nlucidImportInst1=Click the "Start Import" button to import all Lucidchart diagrams.\ninstallFirst=Please install {1} first\ndrawioChromeExt=draw.io Chrome Extension\nloginFirstThen=Please login to {1} first, then {2}\nerrFetchDocList=Error: Couldn\'t fetch documents list\nbuiltinPlugins=Built-in Plugins\nextPlugins=External Plugins\nbackupFound=Backup file found\nchromeOnly=This feature only works in Google Chrome\nmsgDeleted=This message has been deleted\nconfAErrFetchDrawList=Error fetching diagrams list. Some diagrams are skipped.\nconfAErrCheckDrawDiag=Cannot check diagram {1}\nconfAErrFetchPageList=Error fetching pages list\nconfADiagImportIncom={1} diagram "{2}" is imported partially and may have missing shapes\ninvalidSel=Invalid selection\ndiagNameEmptyErr=Diagram name cannot be empty\nopenDiagram=Open Diagram\nnewDiagram=New diagram\neditable=Editable\nconfAReimportStarted=Re-import {1} diagrams started...\nspaceFilter=Filter by spaces\ncurViewState=Current Viewer State\npageLayers=Page and Layers\ncustomize=Customize\nfirstPage=First Page (All Layers)\ncurEditorState=Current Editor State\nnoAnchorsFound=No anchors found \nattachment=Attachment\ncurDiagram=Current Diagram\nrecentDiags=Recent Diagrams\ncsvImport=CSV Import\nchooseFile=Choose a file...\nchoose=Choose\ngdriveFname=Google Drive filename\nwidthOfViewer=Width of the viewer (px)\nheightOfViewer=Height of the viewer (px)\nautoSetViewerSize=Automatically set the size of the viewer\nthumbnail=Thumbnail\nprevInDraw=Preview in draw.io\nonedriveFname=OneDrive filename\ndiagFname=Diagram filename\ndiagUrl=Diagram URL\nshowDiag=Show Diagram\ndiagPreview=Diagram Preview\ncsvFileUrl=CSV File URL\ngenerate=Generate\nselectDiag2Insert=Please select a diagram to insert it.\nerrShowingDiag=Unexpected error. Cannot show diagram\nnoRecentDiags=No recent diagrams found\nfetchingRecentFailed=Failed to fetch recent diagrams\nuseSrch2FindDiags=Use the search box to find draw.io diagrams\ncantReadChckPerms=Cannot read the specified diagram. Please check you have read permission on that file.\ncantFetchChckPerms=Cannot fetch diagram info. Please check you have read permission on that file.\nsearchFailed=Searching failed. Please try again later.\nplsTypeStr=Please type a search string.\nunsupportedFileChckUrl=Unsupported file. Please check the specified URL\ndiagNotFoundChckUrl=Diagram not found or cannot be accessed. Please check the specified URL\ncsvNotFoundChckUrl=CSV file not found or cannot be accessed. Please check the specified URL\ncantReadUpload=Cannot read the uploaded diagram\nselect=Select\nerrCantGetIdType=Unexpected Error: Cannot get content id or type.\nerrGAuthWinBlocked=Error: Google Authentication window blocked\nauthDrawAccess=Authorize draw.io to access {1}\nconnTimeout=The connection has timed out\nerrAuthSrvc=Error authenticating to {1}\nplsSelectFile=Please select a file\nmustBgtZ={1} must be greater than zero\ncantLoadPrev=Cannot load file preview.\nerrAccessFile=Error: Access Denied. You do not have permission to access "{1}".\nnoPrevAvail=No preview is available.\npersonalAccNotSup=Personal accounts are not supported.\nerrSavingTryLater=Error occured during saving, please try again later.\nplsEnterFld=Please enter {1}\ninvalidDiagUrl=Invalid Diagram URL\nunsupportedVsdx=Unsupported vsdx file\nunsupportedImg=Unsupported image file\nunsupportedFormat=Unsupported file format\nplsSelectSingleFile=Please select a single file only\nattCorrupt=Attachment file "\'{1}" is corrupted\nloadAttFailed=Failed to load attachment "{1}"\nembedDrawDiag=Embed draw.io Diagram\naddDiagram=Add Diagram\nembedDiagram=Embed Diagram\neditOwningPg=Edit owning page\ndeepIndexing=Deep Indexing (Index diagrams that aren\'t used in any page also)\nconfADeepIndexStarted=Deep Indexing Started\nconfADeepIndexDone=Deep Indexing Done\nofficeNoDiagramsSelected=No diagrams found in the selection\nofficeNoDiagramsInDoc=No diagrams found in the document\nofficeNotSupported=This feature is not supported in this host application\nsomeImagesFailed={1} out of {2} failed due to the following errors\nimportingNoUsedDiagrams=Importing {1} Diagrams not used in pages\nimportingDrafts=Importing {1} Diagrams in drafts\nprocessingDrafts=Processing drafts\nupdatingDrafts=Updating drafts\nupdateDrafts=Update drafts\nnotifications=Notifications\ndrawioImp=draw.io Import\nconfALibsImp=Importing draw.io Libraries\nconfALibsImpFailed=Importing {1} library failed\ncontributors=Contributors\ndrawDiagrams=draw.io Diagrams\nerrFileNotFoundOrNoPer=Error: Access Denied. File not found or you do not have permission to access "{1}" on {2}.\nconfACheckPagesWEmbed=Checking pages having embedded draw.io diagrams.\nconfADelBrokenEmbedDiagLnk=Removing broken embedded diagram links\nreplaceWith=Replace with\nreplaceAll=Replace All\nconfASkipDiagModified=Skipped "{1}" as it was modified after initial import\nreplFind=Replace/Find\nmatchesRepl={1} matches replaced\n');Graph.prototype.defaultThemes["default-style2"]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="edgeLabel" extend="text"><add as="labelBackgroundColor" value="#ffffff"/><add as="fontSize" value="11"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add></mxStylesheet>').documentElement;
Graph.prototype.defaultThemes.darkTheme=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#2a2a2a"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="edgeLabel" extend="text"><add as="labelBackgroundColor" value="#2a2a2a"/><add as="fontSize" value="11"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#2a2a2a"/></add></mxStylesheet>').documentElement;GraphViewer=function(a,b,e){this.init(a,b,e)};mxUtils.extend(GraphViewer,mxEventSource);GraphViewer.prototype.editBlankUrl="https://app.diagrams.net/";GraphViewer.prototype.imageBaseUrl="https://app.diagrams.net/";GraphViewer.prototype.toolbarHeight="BackCompat"==document.compatMode?28:30;GraphViewer.prototype.lightboxChrome=!0;GraphViewer.prototype.lightboxZIndex=999;GraphViewer.prototype.toolbarZIndex=999;GraphViewer.prototype.autoFit=!1;GraphViewer.prototype.autoCrop=!1;
GraphViewer.prototype.center=!1;GraphViewer.prototype.allowZoomIn=!1;GraphViewer.prototype.allowZoomOut=!0;GraphViewer.prototype.showTitleAsTooltip=!1;GraphViewer.prototype.checkVisibleState=!0;GraphViewer.prototype.minHeight=28;GraphViewer.prototype.minWidth=100;GraphViewer.prototype.responsive=!1;
GraphViewer.prototype.init=function(a,b,e){this.graphConfig=null!=e?e:{};this.autoFit=null!=this.graphConfig["auto-fit"]?this.graphConfig["auto-fit"]:this.autoFit;this.autoCrop=null!=this.graphConfig["auto-crop"]?this.graphConfig["auto-crop"]:this.autoCrop;this.allowZoomOut=null!=this.graphConfig["allow-zoom-out"]?this.graphConfig["allow-zoom-out"]:this.allowZoomOut;this.allowZoomIn=null!=this.graphConfig["allow-zoom-in"]?this.graphConfig["allow-zoom-in"]:this.allowZoomIn;this.center=null!=this.graphConfig.center?
diff --git a/src/main/webapp/js/viewer.min.js b/src/main/webapp/js/viewer.min.js
index bab0aabc..ac3e817a 100644
--- a/src/main/webapp/js/viewer.min.js
+++ b/src/main/webapp/js/viewer.min.js
@@ -204,7 +204,7 @@ function setCurrentXml(a,b){null!=window.parent&&null!=window.parent.openFile&&w
(function(){if("undefined"!==typeof JSON&&isLocalStorage)try{var a=localStorage.getItem(".drawio-config"),b=!0;null!=a&&(b=JSON.parse(a).showStartScreen);0==b&&(urlParams.splash="0")}catch(d){}a=urlParams["export"];null!=a&&(a=decodeURIComponent(a),"http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)&&(a="http://"+a),EXPORT_URL=a);a=urlParams.gitlab;null!=a&&(a=decodeURIComponent(a),"http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)&&(a="http://"+a),DRAWIO_GITLAB_URL=a);a=urlParams["gitlab-id"];
null!=a&&(DRAWIO_GITLAB_ID=a);window.DRAWIO_LOG_URL=window.DRAWIO_LOG_URL||"";a=window.location.host;if("test.draw.io"!=a){var c="diagrams.net",b=a.length-c.length,c=a.lastIndexOf(c,b);-1!==c&&c===b?window.DRAWIO_LOG_URL="https://log.diagrams.net":(c="draw.io",b=a.length-c.length,c=a.lastIndexOf(c,b),-1!==c&&c===b&&(window.DRAWIO_LOG_URL="https://log.draw.io"))}})();
if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==urlParams.local||"1"==urlParams.lockdown)urlParams.picker="0",urlParams.gapi="0",urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0";"trello"==urlParams.mode&&(urlParams.tr="1");"embed.diagrams.net"==window.location.hostname&&(urlParams.embed="1");(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.open&&(window.location.hash=urlParams.open);window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
-window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"mxgraph";window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"14.4.8",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
+window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"mxgraph";window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"14.5.0",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:/Apple Computer, Inc/.test(navigator.vendor),
IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform),IS_GC:/Google Inc/.test(navigator.vendor),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:"undefined"!==typeof InstallTrigger,IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||
0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:"MICROSOFT INTERNET EXPLORER"!=navigator.appName.toUpperCase(),NO_FO:!document.createElementNS||"[object SVGForeignObjectElement]"!=document.createElementNS("http://www.w3.org/2000/svg","foreignObject")||0<=navigator.userAgent.indexOf("Opera/"),IS_WIN:0<navigator.appVersion.indexOf("Win"),IS_MAC:0<navigator.appVersion.indexOf("Mac"),
@@ -2891,9 +2891,9 @@ function(){b.toggleFormatPanel()}),null,null,Editor.ctrlKey+"+Shift+P");m.setTog
this.outlineWindow.window.setVisible(!0),b.fireEvent(new mxEventObject("outline"))):this.outlineWindow.window.setVisible(!this.outlineWindow.window.isVisible())}),null,null,Editor.ctrlKey+"+Shift+O");m.setToggleAction(!0);m.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.outlineWindow&&this.outlineWindow.window.isVisible()}))};
Actions.prototype.addAction=function(a,b,e,d,k){var m;"..."==a.substring(a.length-3)?(a=a.substring(0,a.length-3),m=mxResources.get(a)+"..."):m=mxResources.get(a);return this.put(a,new Action(m,b,e,d,k))};Actions.prototype.put=function(a,b){return this.actions[a]=b};Actions.prototype.get=function(a){return this.actions[a]};function Action(a,b,e,d,k){mxEventSource.call(this);this.label=a;this.funct=this.createFunction(b);this.enabled=null!=e?e:!0;this.iconCls=d;this.shortcut=k;this.visible=!0}
mxUtils.extend(Action,mxEventSource);Action.prototype.createFunction=function(a){return a};Action.prototype.setEnabled=function(a){this.enabled!=a&&(this.enabled=a,this.fireEvent(new mxEventObject("stateChanged")))};Action.prototype.isEnabled=function(){return this.enabled};Action.prototype.setToggleAction=function(a){this.toggleAction=a};Action.prototype.setSelectedCallback=function(a){this.selectedCallback=a};Action.prototype.isSelected=function(){return this.selectedCallback()};DrawioFile=function(a,b){mxEventSource.call(this);this.ui=a;this.shadowData=this.data=b||"";this.shadowPages=null;this.created=(new Date).getTime();this.stats={opened:0,merged:0,fileMerged:0,fileReloaded:0,conflicts:0,timeouts:0,saved:0,closed:0,destroyed:0,joined:0,checksumErrors:0,bytesSent:0,bytesReceived:0,msgSent:0,msgReceived:0,cacheHits:0,cacheMiss:0,cacheFail:0}};DrawioFile.SYNC=urlParams.sync||"auto";DrawioFile.LAST_WRITE_WINS=!0;mxUtils.extend(DrawioFile,mxEventSource);
-DrawioFile.prototype.allChangesSavedKey="allChangesSaved";DrawioFile.prototype.savingSpinnerKey="saving";DrawioFile.prototype.savingStatusKey="saving";DrawioFile.prototype.autosaveDelay=1500;DrawioFile.prototype.maxAutosaveDelay=3E4;DrawioFile.prototype.autosaveThread=null;DrawioFile.prototype.lastAutosave=null;DrawioFile.prototype.lastSaved=null;DrawioFile.prototype.lastChanged=null;DrawioFile.prototype.opened=null;DrawioFile.prototype.modified=!1;DrawioFile.prototype.shadowModified=!1;
-DrawioFile.prototype.data=null;DrawioFile.prototype.shadowData=null;DrawioFile.prototype.shadowPages=null;DrawioFile.prototype.changeListenerEnabled=!0;DrawioFile.prototype.lastAutosaveRevision=null;DrawioFile.prototype.maxAutosaveRevisionDelay=3E5;DrawioFile.prototype.inConflictState=!1;DrawioFile.prototype.invalidChecksum=!1;DrawioFile.prototype.errorReportsEnabled=!1;DrawioFile.prototype.ageStart=null;DrawioFile.prototype.getSize=function(){return null!=this.data?this.data.length:0};
-DrawioFile.prototype.synchronizeFile=function(a,b){this.savingFile?null!=b&&b({message:mxResources.get("busy")}):null!=this.sync?this.sync.fileChanged(a,b):this.updateFile(a,b)};
+DrawioFile.prototype.allChangesSavedKey="allChangesSaved";DrawioFile.prototype.savingSpinnerKey="saving";DrawioFile.prototype.savingStatusKey="saving";DrawioFile.prototype.autosaveDelay=1500;DrawioFile.prototype.maxAutosaveDelay=3E4;DrawioFile.prototype.optimisticSyncDelay=300;DrawioFile.prototype.autosaveThread=null;DrawioFile.prototype.lastAutosave=null;DrawioFile.prototype.lastSaved=null;DrawioFile.prototype.lastChanged=null;DrawioFile.prototype.opened=null;DrawioFile.prototype.modified=!1;
+DrawioFile.prototype.shadowModified=!1;DrawioFile.prototype.data=null;DrawioFile.prototype.shadowData=null;DrawioFile.prototype.shadowPages=null;DrawioFile.prototype.changeListenerEnabled=!0;DrawioFile.prototype.lastAutosaveRevision=null;DrawioFile.prototype.maxAutosaveRevisionDelay=3E5;DrawioFile.prototype.inConflictState=!1;DrawioFile.prototype.invalidChecksum=!1;DrawioFile.prototype.errorReportsEnabled=!1;DrawioFile.prototype.ageStart=null;
+DrawioFile.prototype.getSize=function(){return null!=this.data?this.data.length:0};DrawioFile.prototype.synchronizeFile=function(a,b){this.savingFile?null!=b&&b({message:mxResources.get("busy")}):null!=this.sync?this.sync.fileChanged(a,b):this.updateFile(a,b)};
DrawioFile.prototype.updateFile=function(a,b,e,d){null!=e&&e()||(this.ui.getCurrentFile()!=this||this.invalidChecksum?null!=b&&b():this.getLatestVersion(mxUtils.bind(this,function(k){try{null!=e&&e()||(this.ui.getCurrentFile()!=this||this.invalidChecksum?null!=b&&b():null!=k?this.mergeFile(k,a,b,d):this.reloadFile(a,b))}catch(m){null!=b&&b(m)}}),b))};
DrawioFile.prototype.mergeFile=function(a,b,e,d){var k=!0;try{this.stats.fileMerged++;var m=null!=this.shadowPages?this.shadowPages:this.ui.getPagesForNode(mxUtils.parseXml(this.shadowData).documentElement),q=this.ui.getPagesForNode(mxUtils.parseXml(a.data).documentElement);if(null!=q&&0<q.length){this.shadowPages=q;this.backupPatch=this.isModified()?this.ui.diffPages(m,this.ui.pages):null;var u=[this.ui.diffPages(null!=d?d:m,this.shadowPages)];if(!this.ignorePatches(u)){var c=this.ui.patchPages(m,
u[0]);d={};var f=this.ui.getHashValueForPages(c,d),m={},g=this.ui.getHashValueForPages(this.shadowPages,m);"1"==urlParams.test&&EditorUi.debug("File.mergeFile",[this],"backup",this.backupPatch,"patches",u,"checksum",g==f,f);if(null!=f&&f!=g){var n=this.compressReportData(this.getAnonymizedXmlForPages(q)),l=this.compressReportData(this.getAnonymizedXmlForPages(c)),p=this.ui.hashValue(a.getCurrentEtag()),t=this.ui.hashValue(this.getCurrentEtag());this.checksumError(e,u,"Shadow Details: "+JSON.stringify(d)+
@@ -2948,9 +2948,10 @@ DrawioFile.prototype.handleConflictError=function(a,b){var e=mxUtils.bind(this,f
mxResources.get("updatingDocument"))&&this.synchronizeFile(mxUtils.bind(this,function(){this.ui.spinner.stop();this.ui.spinner.spin(document.body,mxResources.get(this.savingSpinnerKey))&&this.save(!0,e,d,null,null,this.constructor!=GitHubFile&&this.constructor!=GitLabFile||null==a?null:a.commitMessage)}),d)});"none"==DrawioFile.SYNC?this.showCopyDialog(e,d,k):this.invalidChecksum?this.showRefreshDialog(e,d,this.getErrorMessage(a)):b?this.showConflictDialog(k,m):this.addConflictStatus(mxUtils.bind(this,
function(){this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get("updatingDocument")));this.synchronizeFile(e,d)}),this.getErrorMessage(a))};DrawioFile.prototype.getErrorMessage=function(a){var b=null!=a?null!=a.error?a.error.message:a.message:null;null==b&&null!=a&&a.code==App.ERROR_TIMEOUT&&(b=mxResources.get("timeout"));return b};DrawioFile.prototype.isOverdue=function(){return null!=this.ageStart&&Date.now()-this.ageStart.getTime()>=this.ui.warnInterval};
DrawioFile.prototype.fileChanged=function(){this.lastChanged=new Date;this.setModified(!0);this.isAutosave()?(null!=this.savingStatusKey&&this.addAllSavedStatus(mxUtils.htmlEntities(mxResources.get(this.savingStatusKey))+"..."),this.ui.scheduleSanityCheck(),null==this.ageStart&&(this.ageStart=new Date),this.autosave(this.autosaveDelay,this.maxAutosaveDelay,mxUtils.bind(this,function(a){this.ui.stopSanityCheck();null==this.autosaveThread?(this.handleFileSuccess(!0),this.ageStart=null):this.isModified()&&
-(this.ui.scheduleSanityCheck(),this.ageStart=this.lastChanged)}),mxUtils.bind(this,function(a){this.handleFileError(a)}))):(this.ageStart=null,this.isAutosaveOptional()&&this.ui.editor.autosave||this.inConflictState||this.addUnsavedStatus())};DrawioFile.prototype.createSecret=function(a){var b=Editor.guid(32);null!=this.sync?this.sync.createToken(b,mxUtils.bind(this,function(e){a(b,e)}),mxUtils.bind(this,function(){a(b)})):a(b)};
-DrawioFile.prototype.fileSaved=function(a,b,e,d,k){this.lastSaved=new Date;this.ageStart=null;try{this.stats.saved++,this.invalidChecksum=this.inConflictState=!1,null==this.sync?(this.shadowData=a,this.shadowPages=null,null!=e&&e()):this.sync.fileSaved(this.ui.getPagesForNode(mxUtils.parseXml(a).documentElement),b,e,d,k)}catch(u){this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=d&&d(u);try{if(this.errorReportsEnabled)this.sendErrorReport("Error in fileSaved",null,u);else{var m=
-this.getCurrentUser(),q=null!=m?m.id:"unknown";EditorUi.logError("Error in fileSaved",null,this.getMode()+"."+this.getId(),q,u)}}catch(c){}}};
+(this.ui.scheduleSanityCheck(),this.ageStart=this.lastChanged)}),mxUtils.bind(this,function(a){this.handleFileError(a)}))):(this.ageStart=null,this.isAutosaveOptional()&&this.ui.editor.autosave||this.inConflictState||this.addUnsavedStatus())};DrawioFile.prototype.isOptimisticSync=function(){return!1};DrawioFile.prototype.createSecret=function(a){var b=Editor.guid(32);null==this.sync||this.isOptimisticSync()?a(b):this.sync.createToken(b,mxUtils.bind(this,function(e){a(b,e)}),mxUtils.bind(this,function(){a(b)}))};
+DrawioFile.prototype.fileSaving=function(){null!=this.sync&&this.isOptimisticSync()&&this.sync.fileSaving();"1"==urlParams.test&&EditorUi.debug("DrawioFile.fileSaving",[this])};
+DrawioFile.prototype.fileSaved=function(a,b,e,d,k){this.lastSaved=new Date;this.ageStart=null;try{this.stats.saved++,this.invalidChecksum=this.inConflictState=!1,null==this.sync||this.isOptimisticSync()?(this.shadowData=a,this.shadowPages=null,null!=e&&e()):this.sync.fileSaved(this.ui.getPagesForNode(mxUtils.parseXml(a).documentElement),b,e,d,k)}catch(u){this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=d&&d(u);try{if(this.errorReportsEnabled)this.sendErrorReport("Error in fileSaved",
+null,u);else{var m=this.getCurrentUser(),q=null!=m?m.id:"unknown";EditorUi.logError("Error in fileSaved",null,this.getMode()+"."+this.getId(),q,u)}}catch(c){}}"1"==urlParams.test&&EditorUi.debug("DrawioFile.fileSaved",[this])};
DrawioFile.prototype.autosave=function(a,b,e,d){null==this.lastAutosave&&(this.lastAutosave=Date.now());a=Date.now()-this.lastAutosave<b?a:0;this.clearAutosave();var k=window.setTimeout(mxUtils.bind(this,function(){this.lastAutosave=null;this.autosaveThread==k&&(this.autosaveThread=null);if(this.isModified()&&this.isAutosaveNow()){var a=this.isAutosaveRevision();a&&(this.lastAutosaveRevision=(new Date).getTime());this.save(a,mxUtils.bind(this,function(a){this.autosaveCompleted();null!=e&&e(a)}),mxUtils.bind(this,
function(a){null!=d&&d(a)}))}else this.isModified()||this.ui.editor.setStatus(""),null!=e&&e(null)}),a);this.autosaveThread=k};DrawioFile.prototype.isAutosaveNow=function(){return!0};DrawioFile.prototype.autosaveCompleted=function(){};DrawioFile.prototype.clearAutosave=function(){null!=this.autosaveThread&&(window.clearTimeout(this.autosaveThread),this.autosaveThread=null)};
DrawioFile.prototype.isAutosaveRevision=function(){var a=(new Date).getTime();return null==this.lastAutosaveRevision||a-this.lastAutosaveRevision>this.maxAutosaveRevisionDelay};DrawioFile.prototype.descriptorChanged=function(){this.fireEvent(new mxEventObject("descriptorChanged"))};DrawioFile.prototype.contentChanged=function(){this.fireEvent(new mxEventObject("contentChanged"))};
@@ -3201,7 +3202,7 @@ this.container=e};var L=ChangePageSetup.prototype.execute;ChangePageSetup.protot
(this.page.viewState.shadowVisible=this.shadowVisible)):(L.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))};Editor.prototype.useCanvasForExport=!1;try{var O=document.createElement("canvas"),F=new Image;
F.onload=function(){try{O.getContext("2d").drawImage(F,0,0);var a=O.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=a&&6<a.length}catch(K){}};F.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(v){}})();
(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,e,d){d.ui=a.ui;return e};a.afterDecode=function(a,e,d){d.previousColor=d.color;d.previousImage=d.image;d.previousFormat=d.format;null!=d.foldingEnabled&&(d.foldingEnabled=!d.foldingEnabled);null!=d.mathEnabled&&(d.mathEnabled=!d.mathEnabled);null!=d.shadowVisible&&(d.shadowVisible=!d.shadowVisible);return d};mxCodecRegistry.register(a)})();
-(function(){var a=new mxObjectCodec(new ChangeGridColor,["ui"]);a.beforeDecode=function(a,e,d){d.ui=a.ui;return e};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="14.4.9";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=
+(function(){var a=new mxObjectCodec(new ChangeGridColor,["ui"]);a.beforeDecode=function(a,e,d){d.ui=a.ui;return e};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="14.5.0";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=
window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl="1"==urlParams.dev?"/cache":window.REALTIME_URL;null==EditorUi.cacheUrl&&"undefined"!==typeof DrawioFile&&(DrawioFile.SYNC="none");Editor.cacheTimeout=1E4;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;
EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.diagrams.net/doc/faq/scratchpad";EditorUi.defaultMermaidConfig={theme:"neutral",arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!1},sequence:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1},
gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:4,axisFormat:"%Y-%m-%d"}};EditorUi.logError=function(a,b,d,e,l,p,t){p=null!=p?p:0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE";if(EditorUi.enableLogging&&"1"!=urlParams.dev)try{if(a!=EditorUi.lastErrorMessage&&(null==a||null==b||-1==a.indexOf("Script error")&&
@@ -3464,8 +3465,8 @@ EditorUi.prototype.isSettingsEnabled=function(){return"undefined"!==typeof windo
"keys",[],"values",[],"cells",[]));this.menus.customFonts=mxSettings.getCustomFonts();this.addListener("customFontsChanged",mxUtils.bind(this,function(a,b){if("1"!=urlParams["ext-fonts"])mxSettings.setCustomFonts(this.menus.customFonts);else{var c=b.getProperty("customFonts");this.menus.customFonts=c;mxSettings.setCustomFonts(c)}mxSettings.save()}));this.editor.graph.connectionHandler.setCreateTarget(mxSettings.isCreateTarget());this.fireEvent(new mxEventObject("copyConnectChanged"));this.addListener("copyConnectChanged",
mxUtils.bind(this,function(a,b){mxSettings.setCreateTarget(this.editor.graph.connectionHandler.isCreateTarget());mxSettings.save()}));this.editor.graph.pageFormat=mxSettings.getPageFormat();this.addListener("pageFormatChanged",mxUtils.bind(this,function(a,b){mxSettings.setPageFormat(this.editor.graph.pageFormat);mxSettings.save()}));this.editor.graph.view.gridColor=mxSettings.getGridColor("dark"==uiTheme);this.addListener("gridColorChanged",mxUtils.bind(this,function(a,b){mxSettings.setGridColor(this.editor.graph.view.gridColor,
"dark"==uiTheme);mxSettings.save()}));if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)this.editor.addListener("autosaveChanged",mxUtils.bind(this,function(a,b){mxSettings.setAutosave(this.editor.autosave);mxSettings.save()})),this.editor.autosave=mxSettings.getAutosave();null!=this.sidebar&&(null!=urlParams["search-shapes"]&&null!=this.sidebar.searchShapes?(this.sidebar.searchShapes(decodeURIComponent(urlParams["search-shapes"])),this.sidebar.showEntries("search")):(this.sidebar.showPalette("search",
-mxSettings.settings.search),this.editor.chromeless&&!this.editor.editable||!(mxSettings.settings.isNew||8>=parseInt(mxSettings.settings.version||0))||(this.toggleScratchpad(),mxSettings.save())));this.addListener("formatWidthChanged",function(){mxSettings.setFormatWidth(this.formatWidth);mxSettings.save()})}};EditorUi.prototype.copyImage=function(a,b,d,e){try{null!=navigator.clipboard&&this.spinner.spin(document.body,mxResources.get("exporting"))&&this.editor.exportToCanvas(mxUtils.bind(this,function(c,
-e){try{this.spinner.stop();var f=this.createImageDataUri(c,0<a.length?b:null,"png");if("png"==d)var g=this.base64ToBlob(f.substring(f.indexOf(",")+1),"image/png"),l=new ClipboardItem({"image/png":g});else var k=parseInt(e.getAttribute("width")),n=parseInt(e.getAttribute("height")),l=new ClipboardItem({"text/html":new Blob(['<img src="'+f+'" width="'+k+'" height="'+n+'">'],{type:"text/html"})});navigator.clipboard.write([l])["catch"](mxUtils.bind(this,function(a){this.handleError(a)}))}catch(J){this.handleError(J)}}),
+mxSettings.settings.search),this.editor.chromeless&&!this.editor.editable||!(mxSettings.settings.isNew||8>=parseInt(mxSettings.settings.version||0))||(this.toggleScratchpad(),mxSettings.save())));this.addListener("formatWidthChanged",function(){mxSettings.setFormatWidth(this.formatWidth);mxSettings.save()})}};EditorUi.prototype.copyImage=function(a,b,d,e){try{null!=navigator.clipboard&&this.spinner.spin(document.body,mxResources.get("exporting"))&&this.editor.exportToCanvas(mxUtils.bind(this,function(a,
+c){try{this.spinner.stop();var e=this.createImageDataUri(a,b,"png");if("png"==d)var f=this.base64ToBlob(e.substring(e.indexOf(",")+1),"image/png"),g=new ClipboardItem({"image/png":f});else var l=parseInt(c.getAttribute("width")),k=parseInt(c.getAttribute("height")),g=new ClipboardItem({"text/html":new Blob(['<img src="'+e+'" width="'+l+'" height="'+k+'">'],{type:"text/html"})});navigator.clipboard.write([g])["catch"](mxUtils.bind(this,function(a){this.handleError(a)}))}catch(J){this.handleError(J)}}),
null,null,null,mxUtils.bind(this,function(){}),null,null,null!=e?e:"png"==d?1:4,"png"!=d,null,null,null,10,null,null,!1,null,0<a.length?a:null)}catch(l){this.handleError(l)}};EditorUi.prototype.copyCells=function(a,b){var c=this.editor.graph;if(c.isSelectionEmpty())a.innerHTML="";else{var d=mxUtils.sortCells(c.model.getTopmostCells(c.getSelectionCells())),e=mxUtils.getXml(c.encodeCells(d));mxUtils.setTextContent(a,encodeURIComponent(e));b?(c.removeCells(d,!1),c.lastPasteXml=null):(c.lastPasteXml=
e,c.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.copyXml=function(){var a=null;if(Editor.enableNativeCipboard){var b=this.editor.graph;b.isSelectionEmpty()||(a=mxUtils.sortCells(b.getExportableCells(b.model.getTopmostCells(b.getSelectionCells()))),b=mxUtils.getXml(b.encodeCells(a)),navigator.clipboard.writeText(b))}return a};EditorUi.prototype.pasteXml=function(a,b,d,e){var c=this.editor.graph,f=null;c.lastPasteXml==a?c.pasteCounter++:(c.lastPasteXml=a,
c.pasteCounter=0);var g=c.pasteCounter*c.gridSize;if(d||this.isCompatibleString(a))f=this.importXml(a,g,g),c.setSelectionCells(f);else if(b&&1==c.getSelectionCount()){g=c.getStartEditingCell(c.getSelectionCell(),e);if(/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a)&&"image"==c.getCurrentCellStyle(g)[mxConstants.STYLE_SHAPE])c.setCellStyles(mxConstants.STYLE_IMAGE,a,[g]);else{c.model.beginUpdate();try{c.labelChanged(g,a),Graph.isLink(a)&&c.setLinkForCell(g,a)}finally{c.model.endUpdate()}}c.setSelectionCell(g)}else f=
@@ -3775,7 +3776,7 @@ l.diagramContainer.style.top="47px";var O=l.menus.get("viewZoom");if(null!=O){th
F.style.textDecoration="none";F.style.textDecoration="none";F.style.right="0px";F.style.bottom="0px";F.style.overflow="hidden";F.style.visibility="hidden";F.style.textAlign="center";F.style.color="#000";F.style.fontSize="12px";F.style.color="#707070";F.style.width="59px";F.style.cursor="pointer";F.style.borderTop="1px solid lightgray";F.style.borderLeft="1px solid lightgray";F.style.height=parseInt(l.tabContainerHeight)-1+"px";F.style.lineHeight=parseInt(l.tabContainerHeight)+1+"px";L.appendChild(F);
O=mxUtils.bind(this,function(){F.innerHTML=Math.round(100*l.editor.graph.view.scale)+"%"});l.editor.graph.view.addListener(mxEvent.EVENT_SCALE,O);l.editor.addListener("resetGraphView",O);l.editor.addListener("pageSelected",O);var v=l.setGraphEnabled;l.setGraphEnabled=function(){v.apply(this,arguments);null!=this.tabContainer&&(F.style.visibility=this.tabContainer.style.visibility,this.diagramContainer.style.bottom="hidden"!=this.tabContainer.style.visibility?this.tabContainerHeight+"px":"0px")}}L.appendChild(l.tabContainer);
L.appendChild(m);L.appendChild(l.diagramContainer);k.appendChild(L);l.updateTabContainer();var K=null;g();mxEvent.addListener(window,"resize",function(){g();null!=l.sidebarWindow&&l.sidebarWindow.window.fit();null!=l.formatWindow&&l.formatWindow.window.fit();null!=l.actions.outlineWindow&&l.actions.outlineWindow.window.fit();null!=l.actions.layersWindow&&l.actions.layersWindow.window.fit();null!=l.menus.tagsWindow&&l.menus.tagsWindow.window.fit();null!=l.menus.findWindow&&l.menus.findWindow.window.fit()})}}};
-(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var b=EditorUi.initTheme;EditorUi.initTheme=function(){b.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();DrawioComment=function(a,b,e,d,k,m,q){this.file=a;this.id=b;this.content=e;this.modifiedDate=d;this.createdDate=k;this.isResolved=m;this.user=q;this.replies=[]};DrawioComment.prototype.addReplyDirect=function(a){null!=a&&this.replies.push(a)};DrawioComment.prototype.addReply=function(a,b,e,d,k){b()};DrawioComment.prototype.editComment=function(a,b,e){b()};DrawioComment.prototype.deleteComment=function(a,b){a()};DrawioUser=function(a,b,e,d,k){this.id=a;this.email=b;this.displayName=e;this.pictureUrl=d;this.locale=k};mxResources.parse('# *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*\n# https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE\nabout=About \naboutDrawio=About draw.io\naccessDenied=Access Denied\naction=Action\nactualSize=Actual Size\nadd=Add\naddAccount=Add account\naddedFile=Added {1}\naddImages=Add Images\naddImageUrl=Add Image URL\naddLayer=Add Layer\naddProperty=Add Property\naddress=Address\naddToExistingDrawing=Add to Existing Drawing\naddWaypoint=Add Waypoint\nadjustTo=Adjust to\nadvanced=Advanced\nalign=Align\nalignment=Alignment\nallChangesLost=All changes will be lost!\nallPages=All Pages\nallProjects=All Projects\nallSpaces=All Spaces\nallTags=All Tags\nanchor=Anchor\nandroid=Android\nangle=Angle\narc=Arc\nareYouSure=Are you sure?\nensureDataSaved=Please ensure your data is saved before closing.\nallChangesSaved=All changes saved\nallChangesSavedInDrive=All changes saved in Drive\nallowPopups=Allow pop-ups to avoid this dialog.\nallowRelativeUrl=Allow relative URL\nalreadyConnected=Nodes already connected\napply=Apply\narchiMate21=ArchiMate 2.1\narrange=Arrange\narrow=Arrow\narrows=Arrows\nasNew=As New\natlas=Atlas\nauthor=Author\nauthorizationRequired=Authorization required\nauthorizeThisAppIn=Authorize this app in {1}:\nauthorize=Authorize\nauthorizing=Authorizing\nautomatic=Automatic\nautosave=Autosave\nautosize=Autosize\nattachments=Attachments\naws=AWS\naws3d=AWS 3D\nazure=Azure\nback=Back\nbackground=Background\nbackgroundColor=Background Color\nbackgroundImage=Background Image\nbasic=Basic\nblankDrawing=Blank Drawing\nblankDiagram=Blank Diagram\nblock=Block\nblockquote=Blockquote\nblog=Blog\nbold=Bold\nbootstrap=Bootstrap\nborder=Border\nborderColor=Border Color\nborderWidth=Border Width\nbottom=Bottom\nbottomAlign=Bottom Align\nbottomLeft=Bottom Left\nbottomRight=Bottom Right\nbpmn=BPMN\nbrowser=Browser\nbulletedList=Bulleted List\nbusiness=Business\nbusy=Operation in progress\ncabinets=Cabinets\ncancel=Cancel\ncenter=Center\ncannotLoad=Load attempts failed. Please try again later.\ncannotLogin=Log in attempts failed. Please try again later.\ncannotOpenFile=Cannot open file\nchange=Change\nchangeOrientation=Change Orientation\nchangeUser=Change user\nchangeStorage=Change storage\nchangesNotSaved=Changes have not been saved\nclassDiagram=Class Diagram\nuserJoined={1} has joined\nuserLeft={1} has left\nchatWindowTitle=Chat\nchooseAnOption=Choose an option\nchromeApp=Chrome App\ncollaborativeEditingNotice=Important Notice for Collaborative Editing\ncompare=Compare\ncompressed=Compressed\ncommitMessage=Commit Message\nconfigLinkWarn=This link configures draw.io. Only click OK if you trust whoever gave you it!\nconfigLinkConfirm=Click OK to configure and restart draw.io.\ncsv=CSV\ndark=Dark\ndiagramXmlDesc=XML File\ndiagramHtmlDesc=HTML File\ndiagramPngDesc=Editable Bitmap Image\ndiagramSvgDesc=Editable Vector Image\ndidYouMeanToExportToPdf=Did you mean to export to PDF?\ndraftFound=A draft for \'{1}\' has been found. Load it into the editor or discard it to continue.\nselectDraft=Select a draft to continue editing:\ndragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?\ndropboxCharsNotAllowed=The following characters are not allowed: / : ? * " |\ncheck=Check\nchecksum=Checksum\ncircle=Circle\ncisco=Cisco\nclassic=Classic\nclearDefaultStyle=Clear Default Style\nclearWaypoints=Clear Waypoints\nclipart=Clipart\nclose=Close\nclosingFile=Closing file\ncollaborator=Collaborator\ncollaborators=Collaborators\ncollapse=Collapse\ncollapseExpand=Collapse/Expand\ncollapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size\ncollapsible=Collapsible\ncomic=Comic\ncomment=Comment\ncommentsNotes=Comments/Notes\ncompress=Compress\nconfiguration=Configuration\nconnect=Connect\nconnecting=Connecting\nconnectWithDrive=Connect with Google Drive\nconnection=Connection\nconnectionArrows=Connection Arrows\nconnectionPoints=Connection Points\nconstrainProportions=Constrain Proportions\ncontainsValidationErrors=Contains validation errors\ncopiedToClipboard=Copied to clipboard\ncopy=Copy\ncopyConnect=Copy on connect\ncopyCreated=A copy of the file was created.\ncopyOf=Copy of {1}\ncopyOfDrawing=Copy of Drawing\ncopySize=Copy Size\ncopyStyle=Copy Style\ncreate=Create\ncreateNewDiagram=Create New Diagram\ncreateRevision=Create Revision\ncreateShape=Create Shape\ncrop=Crop\ncurved=Curved\ncustom=Custom\ncurrent=Current\ncurrentPage=Current page\ncut=Cut\ndashed=Dashed\ndecideLater=Decide later\ndefault=Default\ndelete=Delete\ndeleteColumn=Delete Column\ndeleteLibrary401=Insufficient permissions to delete this library\ndeleteLibrary404=Selected library could not be found\ndeleteLibrary500=Error deleting library\ndeleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?\ndeleteRow=Delete Row\ndescription=Description\ndevice=Device\ndiagram=Diagram\ndiagramContent=Diagram Content\ndiagramLocked=Diagram has been locked to prevent further data loss.\ndiagramLockedBySince=The diagram is locked by {1} since {2} ago\ndiagramName=Diagram Name\ndiagramIsPublic=Diagram is public\ndiagramIsNotPublic=Diagram is not public\ndiamond=Diamond\ndiamondThin=Diamond (thin)\ndidYouKnow=Did you know...\ndirection=Direction\ndiscard=Discard\ndiscardChangesAndReconnect=Discard Changes and Reconnect\ngoogleDriveMissingClickHere=Google Drive missing? Click here!\ndiscardChanges=Discard Changes\ndisconnected=Disconnected\ndistribute=Distribute\ndone=Done\ndoNotShowAgain=Do not show again\ndotted=Dotted\ndoubleClickOrientation=Doubleclick to change orientation\ndoubleClickTooltip=Doubleclick to insert text\ndoubleClickChangeProperty=Doubleclick to change property name\ndownload=Download\ndownloadDesktop=Get Desktop\ndownloadAs=Download as\nclickHereToSave=Click here to save.\ndpi=DPI\ndraftDiscarded=Draft discarded\ndraftSaved=Draft saved\ndragElementsHere=Drag elements here\ndragImagesHere=Drag images or URLs here\ndragUrlsHere=Drag URLs here\ndraw.io=draw.io\ndrawing=Drawing{1}\ndrawingEmpty=Drawing is empty\ndrawingTooLarge=Drawing is too large\ndrawioForWork=Draw.io for GSuite\ndropbox=Dropbox\nduplicate=Duplicate\nduplicateIt=Duplicate {1}\ndivider=Divider\ndx=Dx\ndy=Dy\neast=East\nedit=Edit\neditData=Edit Data\neditDiagram=Edit Diagram\neditGeometry=Edit Geometry\neditImage=Edit Image\neditImageUrl=Edit Image URL\neditLink=Edit Link\neditShape=Edit Shape\neditStyle=Edit Style\neditText=Edit Text\neditTooltip=Edit Tooltip\nglass=Glass\ngoogleImages=Google Images\nimageSearch=Image Search\neip=EIP\nembed=Embed\nembedImages=Embed Images\nmainEmbedNotice=Paste this into the page\nelectrical=Electrical\nellipse=Ellipse\nembedNotice=Paste this once at the end of the page\nenterGroup=Enter Group\nenterName=Enter Name\nenterPropertyName=Enter Property Name\nenterValue=Enter Value\nentityRelation=Entity Relation\nentityRelationshipDiagram=Entity Relationship Diagram\nerror=Error\nerrorDeletingFile=Error deleting file\nerrorLoadingFile=Error loading file\nerrorRenamingFile=Error renaming file\nerrorRenamingFileNotFound=Error renaming file. File was not found.\nerrorRenamingFileForbidden=Error renaming file. Insufficient access rights.\nerrorSavingDraft=Error saving draft\nerrorSavingFile=Error saving file\nerrorSavingFileUnknown=Error authorizing with Google\'s servers. Please refresh the page to re-attempt.\nerrorSavingFileForbidden=Error saving file. Insufficient access rights.\nerrorSavingFileNameConflict=Could not save diagram. Current page already contains file named \'{1}\'.\nerrorSavingFileNotFound=Error saving file. File was not found.\nerrorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.\nerrorSavingFileSessionTimeout=Your session has ended. Please <a target=\'_blank\' href=\'{1}\'>{2}</a> and return to this tab to try to save again.\nerrorSendingFeedback=Error sending feedback.\nerrorUpdatingPreview=Error updating preview.\nexit=Exit\nexitGroup=Exit Group\nexpand=Expand\nexport=Export\nexporting=Exporting\nexportAs=Export as\nexportOptionsDisabled=Export options disabled\nexportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.\nexternalChanges=External Changes\nextras=Extras\nfacebook=Facebook\nfailedToSaveTryReconnect=Failed to save, trying to reconnect\nfeatureRequest=Feature Request\nfeedback=Feedback\nfeedbackSent=Feedback successfully sent.\nfloorplans=Floorplans\nfile=File\nfileChangedOverwriteDialog=The file has been modified. Do you want to save the file and overwrite those changes?\nfileChangedSyncDialog=The file has been modified. Do you want to synchronize those changes?\nfileChangedSync=The file has been modified. Click here to synchronize.\noverwrite=Overwrite\nsynchronize=Synchronize\nfilename=Filename\nfileExists=File already exists\nfileMovedToTrash=File was moved to trash\nfileNearlyFullSeeFaq=File nearly full, please see FAQ\nfileNotFound=File not found\nrepositoryNotFound=Repository not found\nfileNotFoundOrDenied=The file was not found. It does not exist or you do not have access.\nfileNotLoaded=File not loaded\nfileNotSaved=File not saved\nfileOpenLocation=How would you like to open these file(s)?\nfiletypeHtml=.html causes file to save as HTML with redirect to cloud URL\nfiletypePng=.png causes file to save as PNG with embedded data\nfiletypeSvg=.svg causes file to save as SVG with embedded data\nfileWillBeSavedInAppFolder={1} will be saved in the app folder.\nfill=Fill\nfillColor=Fill Color\nfilterCards=Filter Cards\nfind=Find\nfit=Fit\nfitContainer=Resize Container\nfitIntoContainer=Fit into Container\nfitPage=Fit Page\nfitPageWidth=Fit Page Width\nfitTo=Fit to\nfitToSheetsAcross=sheet(s) across\nfitToBy=by\nfitToSheetsDown=sheet(s) down\nfitTwoPages=Two Pages\nfitWindow=Fit Window\nflip=Flip\nflipH=Flip Horizontal\nflipV=Flip Vertical\nflowchart=Flowchart\nfolder=Folder\nfont=Font\nfontColor=Font Color\nfontFamily=Font Family\nfontSize=Font Size\nforbidden=You are not authorized to access this file\nformat=Format\nformatPanel=Format Panel\nformatted=Formatted\nformattedText=Formatted Text\nformatPng=PNG\nformatGif=GIF\nformatJpg=JPEG\nformatPdf=PDF\nformatSql=SQL\nformatSvg=SVG\nformatHtmlEmbedded=HTML\nformatSvgEmbedded=SVG (with XML)\nformatVsdx=VSDX\nformatVssx=VSSX\nformatXmlPlain=XML (Plain)\nformatXml=XML\nforum=Discussion/Help Forums\nfreehand=Freehand\nfromTemplate=From Template\nfromTemplateUrl=From Template URL\nfromText=From Text\nfromUrl=From URL\nfromThisPage=From this page\nfullscreen=Fullscreen\ngap=Gap\ngcp=GCP\ngeneral=General\ngithub=GitHub\ngitlab=GitLab\ngliffy=Gliffy\nglobal=Global\ngoogleDocs=Google Docs\ngoogleDrive=Google Drive\ngoogleGadget=Google Gadget\ngooglePlus=Google+\ngoogleSharingNotAvailable=Sharing is only available via Google Drive. Please click Open below and share from the more actions menu:\ngoogleSlides=Google Slides\ngoogleSites=Google Sites\ngoogleSheets=Google Sheets\ngradient=Gradient\ngradientColor=Color\ngrid=Grid\ngridColor=Grid Color\ngridSize=Grid Size\ngroup=Group\nguides=Guides\nhateApp=I hate draw.io\nheading=Heading\nheight=Height\nhelp=Help\nhelpTranslate=Help us translate this application\nhide=Hide\nhideIt=Hide {1}\nhidden=Hidden\nhome=Home\nhorizontal=Horizontal\nhorizontalFlow=Horizontal Flow\nhorizontalTree=Horizontal Tree\nhowTranslate=How good is the translation in your language?\nhtml=HTML\nhtmlText=HTML Text\nid=ID\niframe=IFrame\nignore=Ignore\nimage=Image\nimageUrl=Image URL\nimages=Images\nimagePreviewError=This image couldn\'t be loaded for preview. Please check the URL.\nimageTooBig=Image too big\nimgur=Imgur\nimport=Import\nimportFrom=Import from\nincludeCopyOfMyDiagram=Include a copy of my diagram\nincreaseIndent=Increase Indent\ndecreaseIndent=Decrease Indent\ninsert=Insert\ninsertColumnBefore=Insert Column Left\ninsertColumnAfter=Insert Column Right\ninsertEllipse=Insert Ellipse\ninsertImage=Insert Image\ninsertHorizontalRule=Insert Horizontal Rule\ninsertLink=Insert Link\ninsertPage=Insert Page\ninsertRectangle=Insert Rectangle\ninsertRhombus=Insert Rhombus\ninsertRowBefore=Insert Row Above\ninsertRowAfter=Insert Row After\ninsertText=Insert Text\ninserting=Inserting\ninstallApp=Install App\ninvalidFilename=Diagram names must not contain the following characters: / | : ; { } < > & + ? = "\ninvalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>.\ninvalidInput=Invalid input\ninvalidName=Invalid name\ninvalidOrMissingFile=Invalid or missing file\ninvalidPublicUrl=Invalid public URL\nisometric=Isometric\nios=iOS\nitalic=Italic\nkennedy=Kennedy\nkeyboardShortcuts=Keyboard Shortcuts\nlayers=Layers\nlandscape=Landscape\nlanguage=Language\nleanMapping=Lean Mapping\nlastChange=Last change {1} ago\nlessThanAMinute=less than a minute\nlicensingError=Licensing Error\nlicenseHasExpired=The license for {1} has expired on {2}. Click here.\nlicenseRequired=This feature requires draw.io to be licensed.\nlicenseWillExpire=The license for {1} will expire on {2}. Click here.\nlineJumps=Line jumps\nlinkAccountRequired=If the diagram is not public a Google account is required to view the link.\nlinkText=Link Text\nlist=List\nminute=minute\nminutes=minutes\nhours=hours\ndays=days\nmonths=months\nyears=years\nrestartForChangeRequired=Changes will take effect after a restart of the application.\nlaneColor=Lanecolor\nlastModified=Last modified\nlayout=Layout\nleft=Left\nleftAlign=Left Align\nleftToRight=Left to right\nlibraryTooltip=Drag and drop shapes here or click + to insert. Double click to edit.\nlightbox=Lightbox\nline=Line\nlineend=Line end\nlineheight=Line Height\nlinestart=Line start\nlinewidth=Linewidth\nlink=Link\nlinks=Links\nloading=Loading\nlockUnlock=Lock/Unlock\nloggedOut=Logged Out\nlogIn=log in\nloveIt=I love {1}\nlucidchart=Lucidchart\nmaps=Maps\nmathematicalTypesetting=Mathematical Typesetting\nmakeCopy=Make a Copy\nmanual=Manual\nmerge=Merge\nmermaid=Mermaid\nmicrosoftOffice=Microsoft Office\nmicrosoftExcel=Microsoft Excel\nmicrosoftPowerPoint=Microsoft PowerPoint\nmicrosoftWord=Microsoft Word\nmiddle=Middle\nminimal=Minimal\nmisc=Misc\nmockups=Mockups\nmodificationDate=Modification date\nmodifiedBy=Modified by\nmore=More\nmoreResults=More Results\nmoreShapes=More Shapes\nmove=Move\nmoveToFolder=Move to Folder\nmoving=Moving\nmoveSelectionTo=Move selection to {1}\nname=Name\nnavigation=Navigation\nnetwork=Network\nnetworking=Networking\nnew=New\nnewLibrary=New Library\nnextPage=Next Page\nno=No\nnoPickFolder=No, pick folder\nnoAttachments=No attachments found\nnoColor=No Color\nnoFiles=No Files\nnoFileSelected=No file selected\nnoLibraries=No libraries found\nnoMoreResults=No more results\nnone=None\nnoOtherViewers=No other viewers\nnoPlugins=No plugins\nnoPreview=No preview\nnoResponse=No response from server\nnoResultsFor=No results for \'{1}\'\nnoRevisions=No revisions\nnoSearchResults=No search results found\nnoPageContentOrNotSaved=No anchors found on this page or it hasn\'t been saved yet\nnormal=Normal\nnorth=North\nnotADiagramFile=Not a diagram file\nnotALibraryFile=Not a library file\nnotAvailable=Not available\nnotAUtf8File=Not a UTF-8 file\nnotConnected=Not connected\nnote=Note\nnotion=Notion\nnotSatisfiedWithImport=Not satisfied with the import?\nnotUsingService=Not using {1}?\nnumberedList=Numbered list\noffline=Offline\nok=OK\noneDrive=OneDrive\nonline=Online\nopacity=Opacity\nopen=Open\nopenArrow=Open Arrow\nopenExistingDiagram=Open Existing Diagram\nopenFile=Open File\nopenFrom=Open from\nopenLibrary=Open Library\nopenLibraryFrom=Open Library from\nopenLink=Open Link\nopenInNewWindow=Open in New Window\nopenInThisWindow=Open in This Window\nopenIt=Open {1}\nopenRecent=Open Recent\nopenSupported=Supported formats are files saved from this software (.xml), .vsdx and .gliffy\noptions=Options\norganic=Organic\norgChart=Org Chart\northogonal=Orthogonal\notherViewer=other viewer\notherViewers=other viewers\noutline=Outline\noval=Oval\npage=Page\npageContent=Page Content\npageNotFound=Page not found\npageWithNumber=Page-{1}\npages=Pages\npageView=Page View\npageSetup=Page Setup\npageScale=Page Scale\npan=Pan\npanTooltip=Space+Drag to pan\npaperSize=Paper Size\npattern=Pattern\nparallels=Parallels\npaste=Paste\npasteHere=Paste here\npasteSize=Paste Size\npasteStyle=Paste Style\nperimeter=Perimeter\npermissionAnyone=Anyone can edit\npermissionAuthor=Owner and admins can edit\npickFolder=Pick a folder\npickLibraryDialogTitle=Select Library\npublicDiagramUrl=Public URL of the diagram\nplaceholders=Placeholders\nplantUml=PlantUML\nplugins=Plugins\npluginUrl=Plugin URL\npluginWarning=The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n\nplusTooltip=Click to connect and clone (ctrl+click to clone, shift+click to connect). Drag to connect (ctrl+drag to clone).\nportrait=Portrait\nposition=Position\nposterPrint=Poster Print\npreferences=Preferences\npreview=Preview\npreviousPage=Previous Page\nprint=Print\nprintAllPages=Print All Pages\nprocEng=Proc. Eng.\nproject=Project\npriority=Priority\nproperties=Properties\npublish=Publish\nquickStart=Quick Start Video\nrack=Rack\nradialTree=Radial Tree\nreadOnly=Read-only\nreconnecting=Reconnecting\nrecentlyUpdated=Recently Updated\nrecentlyViewed=Recently Viewed\nrectangle=Rectangle\nredirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now.\nrealtimeTimeout=It looks like you\'ve made a few changes while offline. We\'re sorry, these changes cannot be saved.\nredo=Redo\nrefresh=Refresh\nregularExpression=Regular Expression\nrelative=Relative\nrelativeUrlNotAllowed=Relative URL not allowed\nrememberMe=Remember me\nrememberThisSetting=Remember this setting\nremoveFormat=Clear Formatting\nremoveFromGroup=Remove from Group\nremoveIt=Remove {1}\nremoveWaypoint=Remove Waypoint\nrename=Rename\nrenamed=Renamed\nrenameIt=Rename {1}\nrenaming=Renaming\nreplace=Replace\nreplaceIt={1} already exists. Do you want to replace it?\nreplaceExistingDrawing=Replace existing drawing\nrequired=required\nreset=Reset\nresetView=Reset View\nresize=Resize\nresizeLargeImages=Do you want to resize large images to make the application run faster?\nretina=Retina\nresponsive=Responsive\nrestore=Restore\nrestoring=Restoring\nretryingIn=Retrying in {1} second(s)\nretryingLoad=Load failed. Retrying...\nretryingLogin=Login time out. Retrying...\nreverse=Reverse\nrevision=Revision\nrevisionHistory=Revision History\nrhombus=Rhombus\nright=Right\nrightAlign=Right Align\nrightToLeft=Right to left\nrotate=Rotate\nrotateTooltip=Click and drag to rotate, click to turn shape only by 90 degrees\nrotation=Rotation\nrounded=Rounded\nsave=Save\nsaveAndExit=Save & Exit\nsaveAs=Save as\nsaveAsXmlFile=Save as XML file?\nsaved=Saved\nsaveDiagramFirst=Please save the diagram first\nsaveDiagramsTo=Save diagrams to\nsaveLibrary403=Insufficient permissions to edit this library\nsaveLibrary500=There was an error while saving the library\nsaveLibraryReadOnly=Could not save library while read-only mode is active\nsaving=Saving\nscratchpad=Scratchpad\nscrollbars=Scrollbars\nsearch=Search\nsearchShapes=Search Shapes\nselectAll=Select All\nselectionOnly=Selection Only\nselectCard=Select Card\nselectEdges=Select Edges\nselectFile=Select File\nselectFolder=Select Folder\nselectFont=Select Font\nselectNone=Select None\nselectTemplate=Select Template\nselectVertices=Select Vertices\nsendMessage=Send\nsendYourFeedback=Send your feedback\nserviceUnavailableOrBlocked=Service unavailable or blocked\nsessionExpired=Your session has expired. Please refresh the browser window.\nsessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. \nsetAsDefaultStyle=Set as Default Style\nshadow=Shadow\nshape=Shape\nshapes=Shapes\nshare=Share\nshareLink=Link for shared editing\nsharingAvailable=Sharing available for Google Drive and OneDrive files.\nsharp=Sharp\nshow=Show\nshowStartScreen=Show Start Screen\nsidebarTooltip=Click to expand. Drag and drop shapes into the diagram. Shift+click to change selection. Alt+click to insert and connect.\nsigns=Signs\nsignOut=Sign out\nsimple=Simple\nsimpleArrow=Simple Arrow\nsimpleViewer=Simple Viewer\nsize=Size\nsketch=Sketch\nsolid=Solid\nsourceSpacing=Source Spacing\nsouth=South\nsoftware=Software\nspace=Space\nspacing=Spacing\nspecialLink=Special Link\nstandard=Standard\nstartDrawing=Start drawing\nstopDrawing=Stop drawing\nstarting=Starting\nstraight=Straight\nstrikethrough=Strikethrough\nstrokeColor=Line Color\nstyle=Style\nsubscript=Subscript\nsummary=Summary\nsuperscript=Superscript\nsupport=Support\nswimlaneDiagram=Swimlane Diagram\nsysml=SysML\ntags=Tags\ntable=Table\ntables=Tables\ntakeOver=Take Over\ntargetSpacing=Target Spacing\ntemplate=Template\ntemplates=Templates\ntext=Text\ntextAlignment=Text Alignment\ntextOpacity=Text Opacity\ntheme=Theme\ntimeout=Timeout\ntitle=Title\nto=to\ntoBack=To Back\ntoFront=To Front\ntooLargeUseDownload=Too large, use download instead.\ntoolbar=Toolbar\ntooltips=Tooltips\ntop=Top\ntopAlign=Top Align\ntopLeft=Top Left\ntopRight=Top Right\ntransparent=Transparent\ntransparentBackground=Transparent Background\ntrello=Trello\ntryAgain=Try again\ntryOpeningViaThisPage=Try opening via this page\nturn=Rotate shape only by 90°\ntype=Type\ntwitter=Twitter\numl=UML\nunderline=Underline\nundo=Undo\nungroup=Ungroup\nunsavedChanges=Unsaved changes\nunsavedChangesClickHereToSave=Unsaved changes. Click here to save.\nuntitled=Untitled\nuntitledDiagram=Untitled Diagram\nuntitledLayer=Untitled Layer\nuntitledLibrary=Untitled Library\nunknownError=Unknown error\nupdateFile=Update {1}\nupdatingDocument=Updating Document. Please wait...\nupdatingPreview=Updating Preview. Please wait...\nupdatingSelection=Updating Selection. Please wait...\nupload=Upload\nurl=URL\nuseOffline=Use Offline\nuseRootFolder=Use root folder?\nuserManual=User Manual\nvertical=Vertical\nverticalFlow=Vertical Flow\nverticalTree=Vertical Tree\nview=View\nviewerSettings=Viewer Settings\nviewUrl=Link to view: {1}\nvoiceAssistant=Voice Assistant (beta)\nwarning=Warning\nwaypoints=Waypoints\nwest=West\nwidth=Width\nwiki=Wiki\nwordWrap=Word Wrap\nwritingDirection=Writing Direction\nyes=Yes\nyourEmailAddress=Your email address\nzoom=Zoom\nzoomIn=Zoom In\nzoomOut=Zoom Out\nbasic=Basic\nbusinessprocess=Business Processes\ncharts=Charts\nengineering=Engineering\nflowcharts=Flowcharts\ngmdl=Material Design\nmindmaps=Mindmaps\nmockups=Mockups\nnetworkdiagrams=Network Diagrams\nnothingIsSelected=Nothing is selected\nother=Other\nsoftwaredesign=Software Design\nvenndiagrams=Venn Diagrams\nwebEmailOrOther=Web, email or any other internet address\nwebLink=Web Link\nwireframes=Wireframes\nproperty=Property\nvalue=Value\nshowMore=Show More\nshowLess=Show Less\nmyDiagrams=My Diagrams\nallDiagrams=All Diagrams\nrecentlyUsed=Recently used\nlistView=List view\ngridView=Grid view\nresultsFor=Results for \'{1}\'\noneDriveCharsNotAllowed=The following characters are not allowed: ~ " # % * : < > ? / { | }\noneDriveInvalidDeviceName=The specified device name is invalid\nofficeNotLoggedOD=You are not logged in to OneDrive. Please open draw.io task pane and login first.\nofficeSelectSingleDiag=Please select a single draw.io diagram only without other contents.\nofficeSelectDiag=Please select a draw.io diagram.\nofficeCannotFindDiagram=Cannot find a draw.io diagram in the selection\nnoDiagrams=No diagrams found\nauthFailed=Authentication failed\nofficeFailedAuthMsg=Unable to successfully authenticate user or authorize application.\nconvertingDiagramFailed=Converting diagram failed\nofficeCopyImgErrMsg=Due to some limitations in the host application, the image could not be inserted. Please manually copy the image then paste it to the document.\ninsertingImageFailed=Inserting image failed\nofficeCopyImgInst=Instructions: Right-click the image below. Select "Copy image" from the context menu. Then, in the document, right-click and select "Paste" from the context menu.\nfolderEmpty=Folder is empty\nrecent=Recent\nsharedWithMe=Shared With Me\nsharepointSites=Sharepoint Sites\nerrorFetchingFolder=Error fetching folder items\nerrorAuthOD=Error authenticating to OneDrive\nofficeMainHeader=Adds draw.io diagrams to your document.\nofficeStepsHeader=This add-in performs the following steps:\nofficeStep1=Connects to Microsoft OneDrive, Google Drive or your device.\nofficeStep2=Select a draw.io diagram.\nofficeStep3=Insert the diagram into the document.\nofficeAuthPopupInfo=Please complete the authentication in the pop-up window.\nofficeSelDiag=Select draw.io Diagram:\nfiles=Files\nshared=Shared\nsharepoint=Sharepoint\nofficeManualUpdateInst=Instructions: Copy draw.io diagram from the document. Then, in the box below, right-click and select "Paste" from the context menu.\nofficeClickToEdit=Click icon to start editing:\npasteDiagram=Paste draw.io diagram here\nconnectOD=Connect to OneDrive\nselectChildren=Select Children\nselectSiblings=Select Siblings\nselectParent=Select Parent\nselectDescendants=Select Descendants\nlastSaved=Last saved {1} ago\nresolve=Resolve\nreopen=Re-open\nshowResolved=Show Resolved\nreply=Reply\nobjectNotFound=Object not found\nreOpened=Re-opened\nmarkedAsResolved=Marked as resolved\nnoCommentsFound=No comments found\ncomments=Comments\ntimeAgo={1} ago\nconfluenceCloud=Confluence Cloud\nlibraries=Libraries\nconfAnchor=Confluence Page Anchor\nconfTimeout=The connection has timed out\nconfSrvTakeTooLong=The server at {1} is taking too long to respond.\nconfCannotInsertNew=Cannot insert draw.io diagram to a new Confluence page\nconfSaveTry=Please save the page and try again.\nconfCannotGetID=Unable to determine page ID\nconfContactAdmin=Please contact your Confluence administrator.\nreadErr=Read Error\neditingErr=Editing Error\nconfExtEditNotPossible=This diagram cannot be edited externally. Please try editing it while editing the page\nconfEditedExt=Diagram/Page edited externally\ndiagNotFound=Diagram Not Found\nconfEditedExtRefresh=Diagram/Page is edited externally. Please refresh the page.\nconfCannotEditDraftDelOrExt=Cannot edit diagrams in a draft page, diagram is deleted from the page, or diagram is edited externally. Please check the page.\nretBack=Return back\nconfDiagNotPublished=The diagram does not belong to a published page\ncreatedByDraw=Created by draw.io\nfilenameShort=Filename too short\ninvalidChars=Invalid characters\nalreadyExst={1} already exists\ndraftReadErr=Draft Read Error\ndiagCantLoad=Diagram cannot be loaded\ndraftWriteErr=Draft Write Error\ndraftCantCreate=Draft could not be created\nconfDuplName=Duplicate diagram name detected. Please pick another name.\nconfSessionExpired=Looks like your session expired. Log in again to keep working.\nlogin=Login\ndrawPrev=draw.io preview\ndrawDiag=draw.io diagram\ninvalidCallFnNotFound=Invalid Call: {1} not found\ninvalidCallErrOccured=Invalid Call: An error occurred, {1}\nanonymous=Anonymous\nconfGotoPage=Go to containing page\nshowComments=Show Comments\nconfError=Error: {1}\ngliffyImport=Gliffy Import\ngliffyImportInst1=Click the "Start Import" button to import all Gliffy diagrams to draw.io.\ngliffyImportInst2=Please note that the import procedure will take some time and the browser window must remain open until the import is completed.\nstartImport=Start Import\ndrawConfig=draw.io Configuration\ncustomLib=Custom Libraries\ncustomTemp=Custom Templates\npageIdsExp=Page IDs Export\ndrawReindex=draw.io re-indexing (beta)\nworking=Working\ndrawConfigNotFoundInst=draw.io Configuration Space (DRAWIOCONFIG) does not exist. This space is needed to store draw.io configuration files and custom libraries/templates.\ncreateConfSp=Create Config Space\nunexpErrRefresh=Unexpected error, please refresh the page and try again.\nconfigJSONInst=Write draw.io JSON configuration in the editor below then click save. If you need help, please refer to\nthisPage=this page\ncurCustLib=Current Custom Libraries\nlibName=Library Name\naction=Action\ndrawConfID=draw.io Config ID\naddLibInst=Click the "Add Library" button to upload a new library.\naddLib=Add Library\ncustomTempInst1=Custom templates are draw.io diagrams saved in children pages of\ncustomTempInst2=For more details, please refer to\ntempsPage=Templates page\npageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.\npageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.\nstartExp=Start Export\nrefreshDrawIndex=Refresh draw.io Diagrams Index\nreindexInst1=Click the "Start Indexing" button to refresh draw.io diagrams index.\nreindexInst2=Please note that the indexing procedure will take some time and the browser window must remain open until the indexing is completed.\nstartIndexing=Start Indexing\nconfAPageFoundFetch=Page "{1}" found. Fetching\nconfAAllDiagDone=All {1} diagrams processed. Process finished.\nconfAStartedProcessing=Started processing page "{1}"\nconfAAllDiagInPageDone=All {1} diagrams in page "{2}" processed successfully.\nconfAPartialDiagDone={1} out of {2} {3} diagrams in page "{4}" processed successfully.\nconfAUpdatePageFailed=Updating page "{1}" failed.\nconfANoDiagFoundInPage=No {1} diagrams found in page "{2}".\nconfAFetchPageFailed=Fetching the page failed.\nconfANoDiagFound=No {1} diagrams found. Process finished.\nconfASearchFailed=Searching for {1} diagrams failed. Please try again later.\nconfAGliffyDiagFound={2} diagram "{1}" found. Importing\nconfAGliffyDiagImported={2} diagram "{1}" imported successfully.\nconfASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.\nconfAImportedFromByDraw=Imported from "{1}" by draw.io\nconfAImportGliffyFailed=Importing {2} diagram "{1}" failed.\nconfAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.\nconfACheckBrokenDiagLnk=Checking for broken diagrams links.\nconfADelDiagLinkOf=Deleting diagram link of "{1}"\nconfADupLnk=(duplicate link)\nconfADelDiagLnkFailed=Deleting diagram link of "{1}" failed.\nconfAUnexpErrProcessPage=Unexpected error during processing the page with id: {1}\nconfADiagFoundIndex=Diagram "{1}" found. Indexing\nconfADiagIndexSucc=Diagram "{1}" indexed successfully.\nconfAIndexDiagFailed=Indexing diagram "{1}" failed.\nconfASkipDiagOtherPage=Skipped "{1}" as it belongs to another page!\nconfADiagUptoDate=Diagram "{1}" is up to date.\nconfACheckPagesWDraw=Checking pages having draw.io diagrams.\nconfAErrOccured=An error occurred!\nsavedSucc=Saved successfully\nconfASaveFailedErr=Saving Failed (Unexpected Error)\ncharacter=Character\nconfAConfPageDesc=This page contains draw.io configuration file (configuration.json) as attachment\nconfALibPageDesc=This page contains draw.io custom libraries as attachments\nconfATempPageDesc=This page contains draw.io custom templates as attachments\nworking=Working\nconfAConfSpaceDesc=This space is used to store draw.io configuration files and custom libraries/templates\nconfANoCustLib=No Custom Libraries\ndelFailed=Delete failed!\nshowID=Show ID\nconfAIncorrectLibFileType=Incorrect file type. Libraries should be XML files.\nuploading=Uploading\nconfALibExist=This library already exists\nconfAUploadSucc=Uploaded successfully\nconfAUploadFailErr=Upload Failed (Unexpected Error)\nhiResPreview=High Res Preview\nofficeNotLoggedGD=You are not logged in to Google Drive. Please open draw.io task pane and login first.\nofficePopupInfo=Please complete the process in the pop-up window.\npickODFile=Pick OneDrive File\npickGDriveFile=Pick Google Drive File\npickDeviceFile=Pick Device File\nvsdNoConfig="vsdurl" is not configured\nruler=Ruler\nunits=Units\npoints=Points\ninches=Inches\nmillimeters=Millimeters\nconfEditDraftDelOrExt=This diagram is in a draft page, is deleted from the page, or is edited externally. It will be saved as a new attachment version and may not be reflected in the page.\nconfDiagEditedExt=Diagram is edited in another session. It will be saved as a new attachment version but the page will show other session\'s modifications.\nmacroNotFound=Macro Not Found\nconfAInvalidPageIdsFormat=Incorrect Page IDs file format\nconfACollectingCurPages=Collecting current pages\nconfABuildingPagesMap=Building pages mapping\nconfAProcessDrawDiag=Started processing imported draw.io diagrams\nconfAProcessDrawDiagDone=Finished processing imported draw.io diagrams\nconfAProcessImpPages=Started processing imported pages\nconfAErrPrcsDiagInPage=Error processing draw.io diagrams in page "{1}"\nconfAPrcsDiagInPage=Processing draw.io diagrams in page "{1}"\nconfAImpDiagram=Importing diagram "{1}"\nconfAImpDiagramFailed=Importing diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \nconfAImpDiagramError=Error importing diagram "{1}". Cannot fetch or save the diagram. Cannot fix this diagram links.\nconfAUpdateDgrmCCFailed=Updating link to diagram "{1}" failed.\nconfImpDiagramSuccess=Updating diagram "{1}" done successfully.\nconfANoLnksInDrgm=No links to update in: {1}\nconfAUpdateLnkToPg=Updated link to page: "{1}" in diagram: "{2}"\nconfAUpdateLBLnkToPg=Updated lightbox link to page: "{1}" in diagram: "{2}"\nconfAUpdateLnkBase=Updated base URL from: "{1}" to: "{2}" in diagram: "{3}"\nconfAPageIdsImpDone=Page IDs Import finished\nconfAPrcsMacrosInPage=Processing draw.io macros in page "{1}"\nconfAErrFetchPage=Error fetching page "{1}"\nconfAFixingMacro=Fixing macro of diagram "{1}"\nconfAErrReadingExpFile=Error reading export file\nconfAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished\nconfAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \npageIdsExpTrg=Export target\nconfALucidDiagImgImported={2} diagram "{1}" image extracted successfully\nconfASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed\nconfGetInfoFailed=Fetching file info from {1} failed.\nconfCheckCacheFailed=Cannot get cached file info.\nconfReadFileErr=Cannot read "{1}" file from {2}.\nconfSaveCacheFailed=Unexpected error. Cannot save cached file\norgChartType=Org Chart Type\nlinear=Linear\nhanger2=Hanger 2\nhanger4=Hanger 4\nfishbone1=Fishbone 1\nfishbone2=Fishbone 2\n1ColumnLeft=Single Column Left\n1ColumnRight=Single Column Right\nsmart=Smart\nparentChildSpacing=Parent Child Spacing\nsiblingSpacing=Sibling Spacing\nconfNoPermErr=Sorry, you don\'t have enough permissions to view this embedded diagram from page {1}\ncopyAsImage=Copy as Image\nlucidImport=Lucidchart Import\nlucidImportInst1=Click the "Start Import" button to import all Lucidchart diagrams.\ninstallFirst=Please install {1} first\ndrawioChromeExt=draw.io Chrome Extension\nloginFirstThen=Please login to {1} first, then {2}\nerrFetchDocList=Error: Couldn\'t fetch documents list\nbuiltinPlugins=Built-in Plugins\nextPlugins=External Plugins\nbackupFound=Backup file found\nchromeOnly=This feature only works in Google Chrome\nmsgDeleted=This message has been deleted\nconfAErrFetchDrawList=Error fetching diagrams list. Some diagrams are skipped.\nconfAErrCheckDrawDiag=Cannot check diagram {1}\nconfAErrFetchPageList=Error fetching pages list\nconfADiagImportIncom={1} diagram "{2}" is imported partially and may have missing shapes\ninvalidSel=Invalid selection\ndiagNameEmptyErr=Diagram name cannot be empty\nopenDiagram=Open Diagram\nnewDiagram=New diagram\neditable=Editable\nconfAReimportStarted=Re-import {1} diagrams started...\nspaceFilter=Filter by spaces\ncurViewState=Current Viewer State\npageLayers=Page and Layers\ncustomize=Customize\nfirstPage=First Page (All Layers)\ncurEditorState=Current Editor State\nnoAnchorsFound=No anchors found \nattachment=Attachment\ncurDiagram=Current Diagram\nrecentDiags=Recent Diagrams\ncsvImport=CSV Import\nchooseFile=Choose a file...\nchoose=Choose\ngdriveFname=Google Drive filename\nwidthOfViewer=Width of the viewer (px)\nheightOfViewer=Height of the viewer (px)\nautoSetViewerSize=Automatically set the size of the viewer\nthumbnail=Thumbnail\nprevInDraw=Preview in draw.io\nonedriveFname=OneDrive filename\ndiagFname=Diagram filename\ndiagUrl=Diagram URL\nshowDiag=Show Diagram\ndiagPreview=Diagram Preview\ncsvFileUrl=CSV File URL\ngenerate=Generate\nselectDiag2Insert=Please select a diagram to insert it.\nerrShowingDiag=Unexpected error. Cannot show diagram\nnoRecentDiags=No recent diagrams found\nfetchingRecentFailed=Failed to fetch recent diagrams\nuseSrch2FindDiags=Use the search box to find draw.io diagrams\ncantReadChckPerms=Cannot read the specified diagram. Please check you have read permission on that file.\ncantFetchChckPerms=Cannot fetch diagram info. Please check you have read permission on that file.\nsearchFailed=Searching failed. Please try again later.\nplsTypeStr=Please type a search string.\nunsupportedFileChckUrl=Unsupported file. Please check the specified URL\ndiagNotFoundChckUrl=Diagram not found or cannot be accessed. Please check the specified URL\ncsvNotFoundChckUrl=CSV file not found or cannot be accessed. Please check the specified URL\ncantReadUpload=Cannot read the uploaded diagram\nselect=Select\nerrCantGetIdType=Unexpected Error: Cannot get content id or type.\nerrGAuthWinBlocked=Error: Google Authentication window blocked\nauthDrawAccess=Authorize draw.io to access {1}\nconnTimeout=The connection has timed out\nerrAuthSrvc=Error authenticating to {1}\nplsSelectFile=Please select a file\nmustBgtZ={1} must be greater than zero\ncantLoadPrev=Cannot load file preview.\nerrAccessFile=Error: Access Denied. You do not have permission to access "{1}".\nnoPrevAvail=No preview is available.\npersonalAccNotSup=Personal accounts are not supported.\nerrSavingTryLater=Error occured during saving, please try again later.\nplsEnterFld=Please enter {1}\ninvalidDiagUrl=Invalid Diagram URL\nunsupportedVsdx=Unsupported vsdx file\nunsupportedImg=Unsupported image file\nunsupportedFormat=Unsupported file format\nplsSelectSingleFile=Please select a single file only\nattCorrupt=Attachment file "\'{1}" is corrupted\nloadAttFailed=Failed to load attachment "{1}"\nembedDrawDiag=Embed draw.io Diagram\naddDiagram=Add Diagram\nembedDiagram=Embed Diagram\neditOwningPg=Edit owning page\ndeepIndexing=Deep Indexing (Index diagrams that aren\'t used in any page also)\nconfADeepIndexStarted=Deep Indexing Started\nconfADeepIndexDone=Deep Indexing Done\nofficeNoDiagramsSelected=No diagrams found in the selection\nofficeNoDiagramsInDoc=No diagrams found in the document\nofficeNotSupported=This feature is not supported in this host application\nsomeImagesFailed={1} out of {2} failed due to the following errors\nimportingNoUsedDiagrams=Importing {1} Diagrams not used in pages\nimportingDrafts=Importing {1} Diagrams in drafts\nprocessingDrafts=Processing drafts\nupdatingDrafts=Updating drafts\nupdateDrafts=Update drafts\nnotifications=Notifications\ndrawioImp=draw.io Import\nconfALibsImp=Importing draw.io Libraries\nconfALibsImpFailed=Importing {1} library failed\ncontributors=Contributors\ndrawDiagrams=draw.io Diagrams\nerrFileNotFoundOrNoPer=Error: Access Denied. File not found or you do not have permission to access "{1}" on {2}.\nconfACheckPagesWEmbed=Checking pages having embedded draw.io diagrams.\nconfADelBrokenEmbedDiagLnk=Removing broken embedded diagram links\nreplaceWith=Replace with\nreplaceAll=Replace All\nconfASkipDiagModified=Skipped "{1}" as it was modified after initial import\nreplFind=Replace/Find\nmatchesRepl={1} matches replaced\n');Graph.prototype.defaultThemes["default-style2"]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="edgeLabel" extend="text"><add as="labelBackgroundColor" value="#ffffff"/><add as="fontSize" value="11"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add></mxStylesheet>').documentElement;
+(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var b=EditorUi.initTheme;EditorUi.initTheme=function(){b.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();DrawioComment=function(a,b,e,d,k,m,q){this.file=a;this.id=b;this.content=e;this.modifiedDate=d;this.createdDate=k;this.isResolved=m;this.user=q;this.replies=[]};DrawioComment.prototype.addReplyDirect=function(a){null!=a&&this.replies.push(a)};DrawioComment.prototype.addReply=function(a,b,e,d,k){b()};DrawioComment.prototype.editComment=function(a,b,e){b()};DrawioComment.prototype.deleteComment=function(a,b){a()};DrawioUser=function(a,b,e,d,k){this.id=a;this.email=b;this.displayName=e;this.pictureUrl=d;this.locale=k};mxResources.parse('# *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*\n# https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE\nabout=About \naboutDrawio=About draw.io\naccessDenied=Access Denied\naction=Action\nactualSize=Actual Size\nadd=Add\naddAccount=Add account\naddedFile=Added {1}\naddImages=Add Images\naddImageUrl=Add Image URL\naddLayer=Add Layer\naddProperty=Add Property\naddress=Address\naddToExistingDrawing=Add to Existing Drawing\naddWaypoint=Add Waypoint\nadjustTo=Adjust to\nadvanced=Advanced\nalign=Align\nalignment=Alignment\nallChangesLost=All changes will be lost!\nallPages=All Pages\nallProjects=All Projects\nallSpaces=All Spaces\nallTags=All Tags\nanchor=Anchor\nandroid=Android\nangle=Angle\narc=Arc\nareYouSure=Are you sure?\nensureDataSaved=Please ensure your data is saved before closing.\nallChangesSaved=All changes saved\nallChangesSavedInDrive=All changes saved in Drive\nallowPopups=Allow pop-ups to avoid this dialog.\nallowRelativeUrl=Allow relative URL\nalreadyConnected=Nodes already connected\napply=Apply\narchiMate21=ArchiMate 2.1\narrange=Arrange\narrow=Arrow\narrows=Arrows\nasNew=As New\natlas=Atlas\nauthor=Author\nauthorizationRequired=Authorization required\nauthorizeThisAppIn=Authorize this app in {1}:\nauthorize=Authorize\nauthorizing=Authorizing\nautomatic=Automatic\nautosave=Autosave\nautosize=Autosize\nattachments=Attachments\naws=AWS\naws3d=AWS 3D\nazure=Azure\nback=Back\nbackground=Background\nbackgroundColor=Background Color\nbackgroundImage=Background Image\nbasic=Basic\nblankDrawing=Blank Drawing\nblankDiagram=Blank Diagram\nblock=Block\nblockquote=Blockquote\nblog=Blog\nbold=Bold\nbootstrap=Bootstrap\nborder=Border\nborderColor=Border Color\nborderWidth=Border Width\nbottom=Bottom\nbottomAlign=Bottom Align\nbottomLeft=Bottom Left\nbottomRight=Bottom Right\nbpmn=BPMN\nbrowser=Browser\nbulletedList=Bulleted List\nbusiness=Business\nbusy=Operation in progress\ncabinets=Cabinets\ncancel=Cancel\ncenter=Center\ncannotLoad=Load attempts failed. Please try again later.\ncannotLogin=Log in attempts failed. Please try again later.\ncannotOpenFile=Cannot open file\nchange=Change\nchangeOrientation=Change Orientation\nchangeUser=Change user\nchangeStorage=Change storage\nchangesNotSaved=Changes have not been saved\nclassDiagram=Class Diagram\nuserJoined={1} has joined\nuserLeft={1} has left\nchatWindowTitle=Chat\nchooseAnOption=Choose an option\nchromeApp=Chrome App\ncollaborativeEditingNotice=Important Notice for Collaborative Editing\ncompare=Compare\ncompressed=Compressed\ncommitMessage=Commit Message\nconfigLinkWarn=This link configures draw.io. Only click OK if you trust whoever gave you it!\nconfigLinkConfirm=Click OK to configure and restart draw.io.\ncsv=CSV\ndark=Dark\ndiagramXmlDesc=XML File\ndiagramHtmlDesc=HTML File\ndiagramPngDesc=Editable Bitmap Image\ndiagramSvgDesc=Editable Vector Image\ndidYouMeanToExportToPdf=Did you mean to export to PDF?\ndraftFound=A draft for \'{1}\' has been found. Load it into the editor or discard it to continue.\ndraftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.\nselectDraft=Select a draft to continue editing:\ndragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?\ndropboxCharsNotAllowed=The following characters are not allowed: / : ? * " |\ncheck=Check\nchecksum=Checksum\ncircle=Circle\ncisco=Cisco\nclassic=Classic\nclearDefaultStyle=Clear Default Style\nclearWaypoints=Clear Waypoints\nclipart=Clipart\nclose=Close\nclosingFile=Closing file\ncollaborator=Collaborator\ncollaborators=Collaborators\ncollapse=Collapse\ncollapseExpand=Collapse/Expand\ncollapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size\ncollapsible=Collapsible\ncomic=Comic\ncomment=Comment\ncommentsNotes=Comments/Notes\ncompress=Compress\nconfiguration=Configuration\nconnect=Connect\nconnecting=Connecting\nconnectWithDrive=Connect with Google Drive\nconnection=Connection\nconnectionArrows=Connection Arrows\nconnectionPoints=Connection Points\nconstrainProportions=Constrain Proportions\ncontainsValidationErrors=Contains validation errors\ncopiedToClipboard=Copied to clipboard\ncopy=Copy\ncopyConnect=Copy on connect\ncopyCreated=A copy of the file was created.\ncopyOf=Copy of {1}\ncopyOfDrawing=Copy of Drawing\ncopySize=Copy Size\ncopyStyle=Copy Style\ncreate=Create\ncreateNewDiagram=Create New Diagram\ncreateRevision=Create Revision\ncreateShape=Create Shape\ncrop=Crop\ncurved=Curved\ncustom=Custom\ncurrent=Current\ncurrentPage=Current page\ncut=Cut\ndashed=Dashed\ndecideLater=Decide later\ndefault=Default\ndelete=Delete\ndeleteColumn=Delete Column\ndeleteLibrary401=Insufficient permissions to delete this library\ndeleteLibrary404=Selected library could not be found\ndeleteLibrary500=Error deleting library\ndeleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?\ndeleteRow=Delete Row\ndescription=Description\ndevice=Device\ndiagram=Diagram\ndiagramContent=Diagram Content\ndiagramLocked=Diagram has been locked to prevent further data loss.\ndiagramLockedBySince=The diagram is locked by {1} since {2} ago\ndiagramName=Diagram Name\ndiagramIsPublic=Diagram is public\ndiagramIsNotPublic=Diagram is not public\ndiamond=Diamond\ndiamondThin=Diamond (thin)\ndidYouKnow=Did you know...\ndirection=Direction\ndiscard=Discard\ndiscardChangesAndReconnect=Discard Changes and Reconnect\ngoogleDriveMissingClickHere=Google Drive missing? Click here!\ndiscardChanges=Discard Changes\ndisconnected=Disconnected\ndistribute=Distribute\ndone=Done\ndoNotShowAgain=Do not show again\ndotted=Dotted\ndoubleClickOrientation=Doubleclick to change orientation\ndoubleClickTooltip=Doubleclick to insert text\ndoubleClickChangeProperty=Doubleclick to change property name\ndownload=Download\ndownloadDesktop=Get Desktop\ndownloadAs=Download as\nclickHereToSave=Click here to save.\ndpi=DPI\ndraftDiscarded=Draft discarded\ndraftSaved=Draft saved\ndragElementsHere=Drag elements here\ndragImagesHere=Drag images or URLs here\ndragUrlsHere=Drag URLs here\ndraw.io=draw.io\ndrawing=Drawing{1}\ndrawingEmpty=Drawing is empty\ndrawingTooLarge=Drawing is too large\ndrawioForWork=Draw.io for GSuite\ndropbox=Dropbox\nduplicate=Duplicate\nduplicateIt=Duplicate {1}\ndivider=Divider\ndx=Dx\ndy=Dy\neast=East\nedit=Edit\neditData=Edit Data\neditDiagram=Edit Diagram\neditGeometry=Edit Geometry\neditImage=Edit Image\neditImageUrl=Edit Image URL\neditLink=Edit Link\neditShape=Edit Shape\neditStyle=Edit Style\neditText=Edit Text\neditTooltip=Edit Tooltip\nglass=Glass\ngoogleImages=Google Images\nimageSearch=Image Search\neip=EIP\nembed=Embed\nembedImages=Embed Images\nmainEmbedNotice=Paste this into the page\nelectrical=Electrical\nellipse=Ellipse\nembedNotice=Paste this once at the end of the page\nenterGroup=Enter Group\nenterName=Enter Name\nenterPropertyName=Enter Property Name\nenterValue=Enter Value\nentityRelation=Entity Relation\nentityRelationshipDiagram=Entity Relationship Diagram\nerror=Error\nerrorDeletingFile=Error deleting file\nerrorLoadingFile=Error loading file\nerrorRenamingFile=Error renaming file\nerrorRenamingFileNotFound=Error renaming file. File was not found.\nerrorRenamingFileForbidden=Error renaming file. Insufficient access rights.\nerrorSavingDraft=Error saving draft\nerrorSavingFile=Error saving file\nerrorSavingFileUnknown=Error authorizing with Google\'s servers. Please refresh the page to re-attempt.\nerrorSavingFileForbidden=Error saving file. Insufficient access rights.\nerrorSavingFileNameConflict=Could not save diagram. Current page already contains file named \'{1}\'.\nerrorSavingFileNotFound=Error saving file. File was not found.\nerrorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.\nerrorSavingFileSessionTimeout=Your session has ended. Please <a target=\'_blank\' href=\'{1}\'>{2}</a> and return to this tab to try to save again.\nerrorSendingFeedback=Error sending feedback.\nerrorUpdatingPreview=Error updating preview.\nexit=Exit\nexitGroup=Exit Group\nexpand=Expand\nexport=Export\nexporting=Exporting\nexportAs=Export as\nexportOptionsDisabled=Export options disabled\nexportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.\nexternalChanges=External Changes\nextras=Extras\nfacebook=Facebook\nfailedToSaveTryReconnect=Failed to save, trying to reconnect\nfeatureRequest=Feature Request\nfeedback=Feedback\nfeedbackSent=Feedback successfully sent.\nfloorplans=Floorplans\nfile=File\nfileChangedOverwriteDialog=The file has been modified. Do you want to save the file and overwrite those changes?\nfileChangedSyncDialog=The file has been modified. Do you want to synchronize those changes?\nfileChangedSync=The file has been modified. Click here to synchronize.\noverwrite=Overwrite\nsynchronize=Synchronize\nfilename=Filename\nfileExists=File already exists\nfileMovedToTrash=File was moved to trash\nfileNearlyFullSeeFaq=File nearly full, please see FAQ\nfileNotFound=File not found\nrepositoryNotFound=Repository not found\nfileNotFoundOrDenied=The file was not found. It does not exist or you do not have access.\nfileNotLoaded=File not loaded\nfileNotSaved=File not saved\nfileOpenLocation=How would you like to open these file(s)?\nfiletypeHtml=.html causes file to save as HTML with redirect to cloud URL\nfiletypePng=.png causes file to save as PNG with embedded data\nfiletypeSvg=.svg causes file to save as SVG with embedded data\nfileWillBeSavedInAppFolder={1} will be saved in the app folder.\nfill=Fill\nfillColor=Fill Color\nfilterCards=Filter Cards\nfind=Find\nfit=Fit\nfitContainer=Resize Container\nfitIntoContainer=Fit into Container\nfitPage=Fit Page\nfitPageWidth=Fit Page Width\nfitTo=Fit to\nfitToSheetsAcross=sheet(s) across\nfitToBy=by\nfitToSheetsDown=sheet(s) down\nfitTwoPages=Two Pages\nfitWindow=Fit Window\nflip=Flip\nflipH=Flip Horizontal\nflipV=Flip Vertical\nflowchart=Flowchart\nfolder=Folder\nfont=Font\nfontColor=Font Color\nfontFamily=Font Family\nfontSize=Font Size\nforbidden=You are not authorized to access this file\nformat=Format\nformatPanel=Format Panel\nformatted=Formatted\nformattedText=Formatted Text\nformatPng=PNG\nformatGif=GIF\nformatJpg=JPEG\nformatPdf=PDF\nformatSql=SQL\nformatSvg=SVG\nformatHtmlEmbedded=HTML\nformatSvgEmbedded=SVG (with XML)\nformatVsdx=VSDX\nformatVssx=VSSX\nformatXmlPlain=XML (Plain)\nformatXml=XML\nforum=Discussion/Help Forums\nfreehand=Freehand\nfromTemplate=From Template\nfromTemplateUrl=From Template URL\nfromText=From Text\nfromUrl=From URL\nfromThisPage=From this page\nfullscreen=Fullscreen\ngap=Gap\ngcp=GCP\ngeneral=General\ngithub=GitHub\ngitlab=GitLab\ngliffy=Gliffy\nglobal=Global\ngoogleDocs=Google Docs\ngoogleDrive=Google Drive\ngoogleGadget=Google Gadget\ngooglePlus=Google+\ngoogleSharingNotAvailable=Sharing is only available via Google Drive. Please click Open below and share from the more actions menu:\ngoogleSlides=Google Slides\ngoogleSites=Google Sites\ngoogleSheets=Google Sheets\ngradient=Gradient\ngradientColor=Color\ngrid=Grid\ngridColor=Grid Color\ngridSize=Grid Size\ngroup=Group\nguides=Guides\nhateApp=I hate draw.io\nheading=Heading\nheight=Height\nhelp=Help\nhelpTranslate=Help us translate this application\nhide=Hide\nhideIt=Hide {1}\nhidden=Hidden\nhome=Home\nhorizontal=Horizontal\nhorizontalFlow=Horizontal Flow\nhorizontalTree=Horizontal Tree\nhowTranslate=How good is the translation in your language?\nhtml=HTML\nhtmlText=HTML Text\nid=ID\niframe=IFrame\nignore=Ignore\nimage=Image\nimageUrl=Image URL\nimages=Images\nimagePreviewError=This image couldn\'t be loaded for preview. Please check the URL.\nimageTooBig=Image too big\nimgur=Imgur\nimport=Import\nimportFrom=Import from\nincludeCopyOfMyDiagram=Include a copy of my diagram\nincreaseIndent=Increase Indent\ndecreaseIndent=Decrease Indent\ninsert=Insert\ninsertColumnBefore=Insert Column Left\ninsertColumnAfter=Insert Column Right\ninsertEllipse=Insert Ellipse\ninsertImage=Insert Image\ninsertHorizontalRule=Insert Horizontal Rule\ninsertLink=Insert Link\ninsertPage=Insert Page\ninsertRectangle=Insert Rectangle\ninsertRhombus=Insert Rhombus\ninsertRowBefore=Insert Row Above\ninsertRowAfter=Insert Row After\ninsertText=Insert Text\ninserting=Inserting\ninstallApp=Install App\ninvalidFilename=Diagram names must not contain the following characters: / | : ; { } < > & + ? = "\ninvalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>.\ninvalidInput=Invalid input\ninvalidName=Invalid name\ninvalidOrMissingFile=Invalid or missing file\ninvalidPublicUrl=Invalid public URL\nisometric=Isometric\nios=iOS\nitalic=Italic\nkennedy=Kennedy\nkeyboardShortcuts=Keyboard Shortcuts\nlayers=Layers\nlandscape=Landscape\nlanguage=Language\nleanMapping=Lean Mapping\nlastChange=Last change {1} ago\nlessThanAMinute=less than a minute\nlicensingError=Licensing Error\nlicenseHasExpired=The license for {1} has expired on {2}. Click here.\nlicenseRequired=This feature requires draw.io to be licensed.\nlicenseWillExpire=The license for {1} will expire on {2}. Click here.\nlineJumps=Line jumps\nlinkAccountRequired=If the diagram is not public a Google account is required to view the link.\nlinkText=Link Text\nlist=List\nminute=minute\nminutes=minutes\nhours=hours\ndays=days\nmonths=months\nyears=years\nrestartForChangeRequired=Changes will take effect after a restart of the application.\nlaneColor=Lanecolor\nlastModified=Last modified\nlayout=Layout\nleft=Left\nleftAlign=Left Align\nleftToRight=Left to right\nlibraryTooltip=Drag and drop shapes here or click + to insert. Double click to edit.\nlightbox=Lightbox\nline=Line\nlineend=Line end\nlineheight=Line Height\nlinestart=Line start\nlinewidth=Linewidth\nlink=Link\nlinks=Links\nloading=Loading\nlockUnlock=Lock/Unlock\nloggedOut=Logged Out\nlogIn=log in\nloveIt=I love {1}\nlucidchart=Lucidchart\nmaps=Maps\nmathematicalTypesetting=Mathematical Typesetting\nmakeCopy=Make a Copy\nmanual=Manual\nmerge=Merge\nmermaid=Mermaid\nmicrosoftOffice=Microsoft Office\nmicrosoftExcel=Microsoft Excel\nmicrosoftPowerPoint=Microsoft PowerPoint\nmicrosoftWord=Microsoft Word\nmiddle=Middle\nminimal=Minimal\nmisc=Misc\nmockups=Mockups\nmodificationDate=Modification date\nmodifiedBy=Modified by\nmore=More\nmoreResults=More Results\nmoreShapes=More Shapes\nmove=Move\nmoveToFolder=Move to Folder\nmoving=Moving\nmoveSelectionTo=Move selection to {1}\nname=Name\nnavigation=Navigation\nnetwork=Network\nnetworking=Networking\nnew=New\nnewLibrary=New Library\nnextPage=Next Page\nno=No\nnoPickFolder=No, pick folder\nnoAttachments=No attachments found\nnoColor=No Color\nnoFiles=No Files\nnoFileSelected=No file selected\nnoLibraries=No libraries found\nnoMoreResults=No more results\nnone=None\nnoOtherViewers=No other viewers\nnoPlugins=No plugins\nnoPreview=No preview\nnoResponse=No response from server\nnoResultsFor=No results for \'{1}\'\nnoRevisions=No revisions\nnoSearchResults=No search results found\nnoPageContentOrNotSaved=No anchors found on this page or it hasn\'t been saved yet\nnormal=Normal\nnorth=North\nnotADiagramFile=Not a diagram file\nnotALibraryFile=Not a library file\nnotAvailable=Not available\nnotAUtf8File=Not a UTF-8 file\nnotConnected=Not connected\nnote=Note\nnotion=Notion\nnotSatisfiedWithImport=Not satisfied with the import?\nnotUsingService=Not using {1}?\nnumberedList=Numbered list\noffline=Offline\nok=OK\noneDrive=OneDrive\nonline=Online\nopacity=Opacity\nopen=Open\nopenArrow=Open Arrow\nopenExistingDiagram=Open Existing Diagram\nopenFile=Open File\nopenFrom=Open from\nopenLibrary=Open Library\nopenLibraryFrom=Open Library from\nopenLink=Open Link\nopenInNewWindow=Open in New Window\nopenInThisWindow=Open in This Window\nopenIt=Open {1}\nopenRecent=Open Recent\nopenSupported=Supported formats are files saved from this software (.xml), .vsdx and .gliffy\noptions=Options\norganic=Organic\norgChart=Org Chart\northogonal=Orthogonal\notherViewer=other viewer\notherViewers=other viewers\noutline=Outline\noval=Oval\npage=Page\npageContent=Page Content\npageNotFound=Page not found\npageWithNumber=Page-{1}\npages=Pages\npageView=Page View\npageSetup=Page Setup\npageScale=Page Scale\npan=Pan\npanTooltip=Space+Drag to pan\npaperSize=Paper Size\npattern=Pattern\nparallels=Parallels\npaste=Paste\npasteHere=Paste here\npasteSize=Paste Size\npasteStyle=Paste Style\nperimeter=Perimeter\npermissionAnyone=Anyone can edit\npermissionAuthor=Owner and admins can edit\npickFolder=Pick a folder\npickLibraryDialogTitle=Select Library\npublicDiagramUrl=Public URL of the diagram\nplaceholders=Placeholders\nplantUml=PlantUML\nplugins=Plugins\npluginUrl=Plugin URL\npluginWarning=The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n\nplusTooltip=Click to connect and clone (ctrl+click to clone, shift+click to connect). Drag to connect (ctrl+drag to clone).\nportrait=Portrait\nposition=Position\nposterPrint=Poster Print\npreferences=Preferences\npreview=Preview\npreviousPage=Previous Page\nprint=Print\nprintAllPages=Print All Pages\nprocEng=Proc. Eng.\nproject=Project\npriority=Priority\nproperties=Properties\npublish=Publish\nquickStart=Quick Start Video\nrack=Rack\nradialTree=Radial Tree\nreadOnly=Read-only\nreconnecting=Reconnecting\nrecentlyUpdated=Recently Updated\nrecentlyViewed=Recently Viewed\nrectangle=Rectangle\nredirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now.\nrealtimeTimeout=It looks like you\'ve made a few changes while offline. We\'re sorry, these changes cannot be saved.\nredo=Redo\nrefresh=Refresh\nregularExpression=Regular Expression\nrelative=Relative\nrelativeUrlNotAllowed=Relative URL not allowed\nrememberMe=Remember me\nrememberThisSetting=Remember this setting\nremoveFormat=Clear Formatting\nremoveFromGroup=Remove from Group\nremoveIt=Remove {1}\nremoveWaypoint=Remove Waypoint\nrename=Rename\nrenamed=Renamed\nrenameIt=Rename {1}\nrenaming=Renaming\nreplace=Replace\nreplaceIt={1} already exists. Do you want to replace it?\nreplaceExistingDrawing=Replace existing drawing\nrequired=required\nreset=Reset\nresetView=Reset View\nresize=Resize\nresizeLargeImages=Do you want to resize large images to make the application run faster?\nretina=Retina\nresponsive=Responsive\nrestore=Restore\nrestoring=Restoring\nretryingIn=Retrying in {1} second(s)\nretryingLoad=Load failed. Retrying...\nretryingLogin=Login time out. Retrying...\nreverse=Reverse\nrevision=Revision\nrevisionHistory=Revision History\nrhombus=Rhombus\nright=Right\nrightAlign=Right Align\nrightToLeft=Right to left\nrotate=Rotate\nrotateTooltip=Click and drag to rotate, click to turn shape only by 90 degrees\nrotation=Rotation\nrounded=Rounded\nsave=Save\nsaveAndExit=Save & Exit\nsaveAs=Save as\nsaveAsXmlFile=Save as XML file?\nsaved=Saved\nsaveDiagramFirst=Please save the diagram first\nsaveDiagramsTo=Save diagrams to\nsaveLibrary403=Insufficient permissions to edit this library\nsaveLibrary500=There was an error while saving the library\nsaveLibraryReadOnly=Could not save library while read-only mode is active\nsaving=Saving\nscratchpad=Scratchpad\nscrollbars=Scrollbars\nsearch=Search\nsearchShapes=Search Shapes\nselectAll=Select All\nselectionOnly=Selection Only\nselectCard=Select Card\nselectEdges=Select Edges\nselectFile=Select File\nselectFolder=Select Folder\nselectFont=Select Font\nselectNone=Select None\nselectTemplate=Select Template\nselectVertices=Select Vertices\nsendMessage=Send\nsendYourFeedback=Send your feedback\nserviceUnavailableOrBlocked=Service unavailable or blocked\nsessionExpired=Your session has expired. Please refresh the browser window.\nsessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. \nsetAsDefaultStyle=Set as Default Style\nshadow=Shadow\nshape=Shape\nshapes=Shapes\nshare=Share\nshareLink=Link for shared editing\nsharingAvailable=Sharing available for Google Drive and OneDrive files.\nsharp=Sharp\nshow=Show\nshowStartScreen=Show Start Screen\nsidebarTooltip=Click to expand. Drag and drop shapes into the diagram. Shift+click to change selection. Alt+click to insert and connect.\nsigns=Signs\nsignOut=Sign out\nsimple=Simple\nsimpleArrow=Simple Arrow\nsimpleViewer=Simple Viewer\nsize=Size\nsketch=Sketch\nsolid=Solid\nsourceSpacing=Source Spacing\nsouth=South\nsoftware=Software\nspace=Space\nspacing=Spacing\nspecialLink=Special Link\nstandard=Standard\nstartDrawing=Start drawing\nstopDrawing=Stop drawing\nstarting=Starting\nstraight=Straight\nstrikethrough=Strikethrough\nstrokeColor=Line Color\nstyle=Style\nsubscript=Subscript\nsummary=Summary\nsuperscript=Superscript\nsupport=Support\nswimlaneDiagram=Swimlane Diagram\nsysml=SysML\ntags=Tags\ntable=Table\ntables=Tables\ntakeOver=Take Over\ntargetSpacing=Target Spacing\ntemplate=Template\ntemplates=Templates\ntext=Text\ntextAlignment=Text Alignment\ntextOpacity=Text Opacity\ntheme=Theme\ntimeout=Timeout\ntitle=Title\nto=to\ntoBack=To Back\ntoFront=To Front\ntooLargeUseDownload=Too large, use download instead.\ntoolbar=Toolbar\ntooltips=Tooltips\ntop=Top\ntopAlign=Top Align\ntopLeft=Top Left\ntopRight=Top Right\ntransparent=Transparent\ntransparentBackground=Transparent Background\ntrello=Trello\ntryAgain=Try again\ntryOpeningViaThisPage=Try opening via this page\nturn=Rotate shape only by 90°\ntype=Type\ntwitter=Twitter\numl=UML\nunderline=Underline\nundo=Undo\nungroup=Ungroup\nunsavedChanges=Unsaved changes\nunsavedChangesClickHereToSave=Unsaved changes. Click here to save.\nuntitled=Untitled\nuntitledDiagram=Untitled Diagram\nuntitledLayer=Untitled Layer\nuntitledLibrary=Untitled Library\nunknownError=Unknown error\nupdateFile=Update {1}\nupdatingDocument=Updating Document. Please wait...\nupdatingPreview=Updating Preview. Please wait...\nupdatingSelection=Updating Selection. Please wait...\nupload=Upload\nurl=URL\nuseOffline=Use Offline\nuseRootFolder=Use root folder?\nuserManual=User Manual\nvertical=Vertical\nverticalFlow=Vertical Flow\nverticalTree=Vertical Tree\nview=View\nviewerSettings=Viewer Settings\nviewUrl=Link to view: {1}\nvoiceAssistant=Voice Assistant (beta)\nwarning=Warning\nwaypoints=Waypoints\nwest=West\nwidth=Width\nwiki=Wiki\nwordWrap=Word Wrap\nwritingDirection=Writing Direction\nyes=Yes\nyourEmailAddress=Your email address\nzoom=Zoom\nzoomIn=Zoom In\nzoomOut=Zoom Out\nbasic=Basic\nbusinessprocess=Business Processes\ncharts=Charts\nengineering=Engineering\nflowcharts=Flowcharts\ngmdl=Material Design\nmindmaps=Mindmaps\nmockups=Mockups\nnetworkdiagrams=Network Diagrams\nnothingIsSelected=Nothing is selected\nother=Other\nsoftwaredesign=Software Design\nvenndiagrams=Venn Diagrams\nwebEmailOrOther=Web, email or any other internet address\nwebLink=Web Link\nwireframes=Wireframes\nproperty=Property\nvalue=Value\nshowMore=Show More\nshowLess=Show Less\nmyDiagrams=My Diagrams\nallDiagrams=All Diagrams\nrecentlyUsed=Recently used\nlistView=List view\ngridView=Grid view\nresultsFor=Results for \'{1}\'\noneDriveCharsNotAllowed=The following characters are not allowed: ~ " # % * : < > ? / { | }\noneDriveInvalidDeviceName=The specified device name is invalid\nofficeNotLoggedOD=You are not logged in to OneDrive. Please open draw.io task pane and login first.\nofficeSelectSingleDiag=Please select a single draw.io diagram only without other contents.\nofficeSelectDiag=Please select a draw.io diagram.\nofficeCannotFindDiagram=Cannot find a draw.io diagram in the selection\nnoDiagrams=No diagrams found\nauthFailed=Authentication failed\nofficeFailedAuthMsg=Unable to successfully authenticate user or authorize application.\nconvertingDiagramFailed=Converting diagram failed\nofficeCopyImgErrMsg=Due to some limitations in the host application, the image could not be inserted. Please manually copy the image then paste it to the document.\ninsertingImageFailed=Inserting image failed\nofficeCopyImgInst=Instructions: Right-click the image below. Select "Copy image" from the context menu. Then, in the document, right-click and select "Paste" from the context menu.\nfolderEmpty=Folder is empty\nrecent=Recent\nsharedWithMe=Shared With Me\nsharepointSites=Sharepoint Sites\nerrorFetchingFolder=Error fetching folder items\nerrorAuthOD=Error authenticating to OneDrive\nofficeMainHeader=Adds draw.io diagrams to your document.\nofficeStepsHeader=This add-in performs the following steps:\nofficeStep1=Connects to Microsoft OneDrive, Google Drive or your device.\nofficeStep2=Select a draw.io diagram.\nofficeStep3=Insert the diagram into the document.\nofficeAuthPopupInfo=Please complete the authentication in the pop-up window.\nofficeSelDiag=Select draw.io Diagram:\nfiles=Files\nshared=Shared\nsharepoint=Sharepoint\nofficeManualUpdateInst=Instructions: Copy draw.io diagram from the document. Then, in the box below, right-click and select "Paste" from the context menu.\nofficeClickToEdit=Click icon to start editing:\npasteDiagram=Paste draw.io diagram here\nconnectOD=Connect to OneDrive\nselectChildren=Select Children\nselectSiblings=Select Siblings\nselectParent=Select Parent\nselectDescendants=Select Descendants\nlastSaved=Last saved {1} ago\nresolve=Resolve\nreopen=Re-open\nshowResolved=Show Resolved\nreply=Reply\nobjectNotFound=Object not found\nreOpened=Re-opened\nmarkedAsResolved=Marked as resolved\nnoCommentsFound=No comments found\ncomments=Comments\ntimeAgo={1} ago\nconfluenceCloud=Confluence Cloud\nlibraries=Libraries\nconfAnchor=Confluence Page Anchor\nconfTimeout=The connection has timed out\nconfSrvTakeTooLong=The server at {1} is taking too long to respond.\nconfCannotInsertNew=Cannot insert draw.io diagram to a new Confluence page\nconfSaveTry=Please save the page and try again.\nconfCannotGetID=Unable to determine page ID\nconfContactAdmin=Please contact your Confluence administrator.\nreadErr=Read Error\neditingErr=Editing Error\nconfExtEditNotPossible=This diagram cannot be edited externally. Please try editing it while editing the page\nconfEditedExt=Diagram/Page edited externally\ndiagNotFound=Diagram Not Found\nconfEditedExtRefresh=Diagram/Page is edited externally. Please refresh the page.\nconfCannotEditDraftDelOrExt=Cannot edit diagrams in a draft page, diagram is deleted from the page, or diagram is edited externally. Please check the page.\nretBack=Return back\nconfDiagNotPublished=The diagram does not belong to a published page\ncreatedByDraw=Created by draw.io\nfilenameShort=Filename too short\ninvalidChars=Invalid characters\nalreadyExst={1} already exists\ndraftReadErr=Draft Read Error\ndiagCantLoad=Diagram cannot be loaded\ndraftWriteErr=Draft Write Error\ndraftCantCreate=Draft could not be created\nconfDuplName=Duplicate diagram name detected. Please pick another name.\nconfSessionExpired=Looks like your session expired. Log in again to keep working.\nlogin=Login\ndrawPrev=draw.io preview\ndrawDiag=draw.io diagram\ninvalidCallFnNotFound=Invalid Call: {1} not found\ninvalidCallErrOccured=Invalid Call: An error occurred, {1}\nanonymous=Anonymous\nconfGotoPage=Go to containing page\nshowComments=Show Comments\nconfError=Error: {1}\ngliffyImport=Gliffy Import\ngliffyImportInst1=Click the "Start Import" button to import all Gliffy diagrams to draw.io.\ngliffyImportInst2=Please note that the import procedure will take some time and the browser window must remain open until the import is completed.\nstartImport=Start Import\ndrawConfig=draw.io Configuration\ncustomLib=Custom Libraries\ncustomTemp=Custom Templates\npageIdsExp=Page IDs Export\ndrawReindex=draw.io re-indexing (beta)\nworking=Working\ndrawConfigNotFoundInst=draw.io Configuration Space (DRAWIOCONFIG) does not exist. This space is needed to store draw.io configuration files and custom libraries/templates.\ncreateConfSp=Create Config Space\nunexpErrRefresh=Unexpected error, please refresh the page and try again.\nconfigJSONInst=Write draw.io JSON configuration in the editor below then click save. If you need help, please refer to\nthisPage=this page\ncurCustLib=Current Custom Libraries\nlibName=Library Name\naction=Action\ndrawConfID=draw.io Config ID\naddLibInst=Click the "Add Library" button to upload a new library.\naddLib=Add Library\ncustomTempInst1=Custom templates are draw.io diagrams saved in children pages of\ncustomTempInst2=For more details, please refer to\ntempsPage=Templates page\npageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.\npageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.\nstartExp=Start Export\nrefreshDrawIndex=Refresh draw.io Diagrams Index\nreindexInst1=Click the "Start Indexing" button to refresh draw.io diagrams index.\nreindexInst2=Please note that the indexing procedure will take some time and the browser window must remain open until the indexing is completed.\nstartIndexing=Start Indexing\nconfAPageFoundFetch=Page "{1}" found. Fetching\nconfAAllDiagDone=All {1} diagrams processed. Process finished.\nconfAStartedProcessing=Started processing page "{1}"\nconfAAllDiagInPageDone=All {1} diagrams in page "{2}" processed successfully.\nconfAPartialDiagDone={1} out of {2} {3} diagrams in page "{4}" processed successfully.\nconfAUpdatePageFailed=Updating page "{1}" failed.\nconfANoDiagFoundInPage=No {1} diagrams found in page "{2}".\nconfAFetchPageFailed=Fetching the page failed.\nconfANoDiagFound=No {1} diagrams found. Process finished.\nconfASearchFailed=Searching for {1} diagrams failed. Please try again later.\nconfAGliffyDiagFound={2} diagram "{1}" found. Importing\nconfAGliffyDiagImported={2} diagram "{1}" imported successfully.\nconfASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.\nconfAImportedFromByDraw=Imported from "{1}" by draw.io\nconfAImportGliffyFailed=Importing {2} diagram "{1}" failed.\nconfAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.\nconfACheckBrokenDiagLnk=Checking for broken diagrams links.\nconfADelDiagLinkOf=Deleting diagram link of "{1}"\nconfADupLnk=(duplicate link)\nconfADelDiagLnkFailed=Deleting diagram link of "{1}" failed.\nconfAUnexpErrProcessPage=Unexpected error during processing the page with id: {1}\nconfADiagFoundIndex=Diagram "{1}" found. Indexing\nconfADiagIndexSucc=Diagram "{1}" indexed successfully.\nconfAIndexDiagFailed=Indexing diagram "{1}" failed.\nconfASkipDiagOtherPage=Skipped "{1}" as it belongs to another page!\nconfADiagUptoDate=Diagram "{1}" is up to date.\nconfACheckPagesWDraw=Checking pages having draw.io diagrams.\nconfAErrOccured=An error occurred!\nsavedSucc=Saved successfully\nconfASaveFailedErr=Saving Failed (Unexpected Error)\ncharacter=Character\nconfAConfPageDesc=This page contains draw.io configuration file (configuration.json) as attachment\nconfALibPageDesc=This page contains draw.io custom libraries as attachments\nconfATempPageDesc=This page contains draw.io custom templates as attachments\nworking=Working\nconfAConfSpaceDesc=This space is used to store draw.io configuration files and custom libraries/templates\nconfANoCustLib=No Custom Libraries\ndelFailed=Delete failed!\nshowID=Show ID\nconfAIncorrectLibFileType=Incorrect file type. Libraries should be XML files.\nuploading=Uploading\nconfALibExist=This library already exists\nconfAUploadSucc=Uploaded successfully\nconfAUploadFailErr=Upload Failed (Unexpected Error)\nhiResPreview=High Res Preview\nofficeNotLoggedGD=You are not logged in to Google Drive. Please open draw.io task pane and login first.\nofficePopupInfo=Please complete the process in the pop-up window.\npickODFile=Pick OneDrive File\npickGDriveFile=Pick Google Drive File\npickDeviceFile=Pick Device File\nvsdNoConfig="vsdurl" is not configured\nruler=Ruler\nunits=Units\npoints=Points\ninches=Inches\nmillimeters=Millimeters\nconfEditDraftDelOrExt=This diagram is in a draft page, is deleted from the page, or is edited externally. It will be saved as a new attachment version and may not be reflected in the page.\nconfDiagEditedExt=Diagram is edited in another session. It will be saved as a new attachment version but the page will show other session\'s modifications.\nmacroNotFound=Macro Not Found\nconfAInvalidPageIdsFormat=Incorrect Page IDs file format\nconfACollectingCurPages=Collecting current pages\nconfABuildingPagesMap=Building pages mapping\nconfAProcessDrawDiag=Started processing imported draw.io diagrams\nconfAProcessDrawDiagDone=Finished processing imported draw.io diagrams\nconfAProcessImpPages=Started processing imported pages\nconfAErrPrcsDiagInPage=Error processing draw.io diagrams in page "{1}"\nconfAPrcsDiagInPage=Processing draw.io diagrams in page "{1}"\nconfAImpDiagram=Importing diagram "{1}"\nconfAImpDiagramFailed=Importing diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \nconfAImpDiagramError=Error importing diagram "{1}". Cannot fetch or save the diagram. Cannot fix this diagram links.\nconfAUpdateDgrmCCFailed=Updating link to diagram "{1}" failed.\nconfImpDiagramSuccess=Updating diagram "{1}" done successfully.\nconfANoLnksInDrgm=No links to update in: {1}\nconfAUpdateLnkToPg=Updated link to page: "{1}" in diagram: "{2}"\nconfAUpdateLBLnkToPg=Updated lightbox link to page: "{1}" in diagram: "{2}"\nconfAUpdateLnkBase=Updated base URL from: "{1}" to: "{2}" in diagram: "{3}"\nconfAPageIdsImpDone=Page IDs Import finished\nconfAPrcsMacrosInPage=Processing draw.io macros in page "{1}"\nconfAErrFetchPage=Error fetching page "{1}"\nconfAFixingMacro=Fixing macro of diagram "{1}"\nconfAErrReadingExpFile=Error reading export file\nconfAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished\nconfAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \npageIdsExpTrg=Export target\nconfALucidDiagImgImported={2} diagram "{1}" image extracted successfully\nconfASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed\nconfGetInfoFailed=Fetching file info from {1} failed.\nconfCheckCacheFailed=Cannot get cached file info.\nconfReadFileErr=Cannot read "{1}" file from {2}.\nconfSaveCacheFailed=Unexpected error. Cannot save cached file\norgChartType=Org Chart Type\nlinear=Linear\nhanger2=Hanger 2\nhanger4=Hanger 4\nfishbone1=Fishbone 1\nfishbone2=Fishbone 2\n1ColumnLeft=Single Column Left\n1ColumnRight=Single Column Right\nsmart=Smart\nparentChildSpacing=Parent Child Spacing\nsiblingSpacing=Sibling Spacing\nconfNoPermErr=Sorry, you don\'t have enough permissions to view this embedded diagram from page {1}\ncopyAsImage=Copy as Image\nlucidImport=Lucidchart Import\nlucidImportInst1=Click the "Start Import" button to import all Lucidchart diagrams.\ninstallFirst=Please install {1} first\ndrawioChromeExt=draw.io Chrome Extension\nloginFirstThen=Please login to {1} first, then {2}\nerrFetchDocList=Error: Couldn\'t fetch documents list\nbuiltinPlugins=Built-in Plugins\nextPlugins=External Plugins\nbackupFound=Backup file found\nchromeOnly=This feature only works in Google Chrome\nmsgDeleted=This message has been deleted\nconfAErrFetchDrawList=Error fetching diagrams list. Some diagrams are skipped.\nconfAErrCheckDrawDiag=Cannot check diagram {1}\nconfAErrFetchPageList=Error fetching pages list\nconfADiagImportIncom={1} diagram "{2}" is imported partially and may have missing shapes\ninvalidSel=Invalid selection\ndiagNameEmptyErr=Diagram name cannot be empty\nopenDiagram=Open Diagram\nnewDiagram=New diagram\neditable=Editable\nconfAReimportStarted=Re-import {1} diagrams started...\nspaceFilter=Filter by spaces\ncurViewState=Current Viewer State\npageLayers=Page and Layers\ncustomize=Customize\nfirstPage=First Page (All Layers)\ncurEditorState=Current Editor State\nnoAnchorsFound=No anchors found \nattachment=Attachment\ncurDiagram=Current Diagram\nrecentDiags=Recent Diagrams\ncsvImport=CSV Import\nchooseFile=Choose a file...\nchoose=Choose\ngdriveFname=Google Drive filename\nwidthOfViewer=Width of the viewer (px)\nheightOfViewer=Height of the viewer (px)\nautoSetViewerSize=Automatically set the size of the viewer\nthumbnail=Thumbnail\nprevInDraw=Preview in draw.io\nonedriveFname=OneDrive filename\ndiagFname=Diagram filename\ndiagUrl=Diagram URL\nshowDiag=Show Diagram\ndiagPreview=Diagram Preview\ncsvFileUrl=CSV File URL\ngenerate=Generate\nselectDiag2Insert=Please select a diagram to insert it.\nerrShowingDiag=Unexpected error. Cannot show diagram\nnoRecentDiags=No recent diagrams found\nfetchingRecentFailed=Failed to fetch recent diagrams\nuseSrch2FindDiags=Use the search box to find draw.io diagrams\ncantReadChckPerms=Cannot read the specified diagram. Please check you have read permission on that file.\ncantFetchChckPerms=Cannot fetch diagram info. Please check you have read permission on that file.\nsearchFailed=Searching failed. Please try again later.\nplsTypeStr=Please type a search string.\nunsupportedFileChckUrl=Unsupported file. Please check the specified URL\ndiagNotFoundChckUrl=Diagram not found or cannot be accessed. Please check the specified URL\ncsvNotFoundChckUrl=CSV file not found or cannot be accessed. Please check the specified URL\ncantReadUpload=Cannot read the uploaded diagram\nselect=Select\nerrCantGetIdType=Unexpected Error: Cannot get content id or type.\nerrGAuthWinBlocked=Error: Google Authentication window blocked\nauthDrawAccess=Authorize draw.io to access {1}\nconnTimeout=The connection has timed out\nerrAuthSrvc=Error authenticating to {1}\nplsSelectFile=Please select a file\nmustBgtZ={1} must be greater than zero\ncantLoadPrev=Cannot load file preview.\nerrAccessFile=Error: Access Denied. You do not have permission to access "{1}".\nnoPrevAvail=No preview is available.\npersonalAccNotSup=Personal accounts are not supported.\nerrSavingTryLater=Error occured during saving, please try again later.\nplsEnterFld=Please enter {1}\ninvalidDiagUrl=Invalid Diagram URL\nunsupportedVsdx=Unsupported vsdx file\nunsupportedImg=Unsupported image file\nunsupportedFormat=Unsupported file format\nplsSelectSingleFile=Please select a single file only\nattCorrupt=Attachment file "\'{1}" is corrupted\nloadAttFailed=Failed to load attachment "{1}"\nembedDrawDiag=Embed draw.io Diagram\naddDiagram=Add Diagram\nembedDiagram=Embed Diagram\neditOwningPg=Edit owning page\ndeepIndexing=Deep Indexing (Index diagrams that aren\'t used in any page also)\nconfADeepIndexStarted=Deep Indexing Started\nconfADeepIndexDone=Deep Indexing Done\nofficeNoDiagramsSelected=No diagrams found in the selection\nofficeNoDiagramsInDoc=No diagrams found in the document\nofficeNotSupported=This feature is not supported in this host application\nsomeImagesFailed={1} out of {2} failed due to the following errors\nimportingNoUsedDiagrams=Importing {1} Diagrams not used in pages\nimportingDrafts=Importing {1} Diagrams in drafts\nprocessingDrafts=Processing drafts\nupdatingDrafts=Updating drafts\nupdateDrafts=Update drafts\nnotifications=Notifications\ndrawioImp=draw.io Import\nconfALibsImp=Importing draw.io Libraries\nconfALibsImpFailed=Importing {1} library failed\ncontributors=Contributors\ndrawDiagrams=draw.io Diagrams\nerrFileNotFoundOrNoPer=Error: Access Denied. File not found or you do not have permission to access "{1}" on {2}.\nconfACheckPagesWEmbed=Checking pages having embedded draw.io diagrams.\nconfADelBrokenEmbedDiagLnk=Removing broken embedded diagram links\nreplaceWith=Replace with\nreplaceAll=Replace All\nconfASkipDiagModified=Skipped "{1}" as it was modified after initial import\nreplFind=Replace/Find\nmatchesRepl={1} matches replaced\n');Graph.prototype.defaultThemes["default-style2"]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="edgeLabel" extend="text"><add as="labelBackgroundColor" value="#ffffff"/><add as="fontSize" value="11"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add></mxStylesheet>').documentElement;
Graph.prototype.defaultThemes.darkTheme=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#2a2a2a"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="edgeLabel" extend="text"><add as="labelBackgroundColor" value="#2a2a2a"/><add as="fontSize" value="11"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#2a2a2a"/></add></mxStylesheet>').documentElement;GraphViewer=function(a,b,e){this.init(a,b,e)};mxUtils.extend(GraphViewer,mxEventSource);GraphViewer.prototype.editBlankUrl="https://app.diagrams.net/";GraphViewer.prototype.imageBaseUrl="https://app.diagrams.net/";GraphViewer.prototype.toolbarHeight="BackCompat"==document.compatMode?28:30;GraphViewer.prototype.lightboxChrome=!0;GraphViewer.prototype.lightboxZIndex=999;GraphViewer.prototype.toolbarZIndex=999;GraphViewer.prototype.autoFit=!1;GraphViewer.prototype.autoCrop=!1;
GraphViewer.prototype.center=!1;GraphViewer.prototype.allowZoomIn=!1;GraphViewer.prototype.allowZoomOut=!0;GraphViewer.prototype.showTitleAsTooltip=!1;GraphViewer.prototype.checkVisibleState=!0;GraphViewer.prototype.minHeight=28;GraphViewer.prototype.minWidth=100;GraphViewer.prototype.responsive=!1;
GraphViewer.prototype.init=function(a,b,e){this.graphConfig=null!=e?e:{};this.autoFit=null!=this.graphConfig["auto-fit"]?this.graphConfig["auto-fit"]:this.autoFit;this.autoCrop=null!=this.graphConfig["auto-crop"]?this.graphConfig["auto-crop"]:this.autoCrop;this.allowZoomOut=null!=this.graphConfig["allow-zoom-out"]?this.graphConfig["allow-zoom-out"]:this.allowZoomOut;this.allowZoomIn=null!=this.graphConfig["allow-zoom-in"]?this.graphConfig["allow-zoom-in"]:this.allowZoomIn;this.center=null!=this.graphConfig.center?
diff --git a/src/main/webapp/mxgraph/mxClient.js b/src/main/webapp/mxgraph/mxClient.js
index 87d91d81..5e0472a2 100644
--- a/src/main/webapp/mxgraph/mxClient.js
+++ b/src/main/webapp/mxgraph/mxClient.js
@@ -1,4 +1,4 @@
-var mxClient={VERSION:"14.4.9",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
+var mxClient={VERSION:"14.5.0",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:/Apple Computer, Inc/.test(navigator.vendor),
IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform),IS_GC:/Google Inc/.test(navigator.vendor),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:"undefined"!==typeof InstallTrigger,IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||
0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:"MICROSOFT INTERNET EXPLORER"!=navigator.appName.toUpperCase(),NO_FO:!document.createElementNS||"[object SVGForeignObjectElement]"!=document.createElementNS("http://www.w3.org/2000/svg","foreignObject")||0<=navigator.userAgent.indexOf("Opera/"),IS_WIN:0<navigator.appVersion.indexOf("Win"),IS_MAC:0<navigator.appVersion.indexOf("Mac"),
diff --git a/src/main/webapp/plugins/cConf-1-4-8.js b/src/main/webapp/plugins/cConf-1-4-8.js
index d658f708..3f71d1b4 100644
--- a/src/main/webapp/plugins/cConf-1-4-8.js
+++ b/src/main/webapp/plugins/cConf-1-4-8.js
@@ -1249,7 +1249,7 @@ Draw.loadPlugin(function(ui)
* Workaround for changing etag after save is higher autosave delay to allow
* for preflight etag update and decrease possible conflicts on file save.
*/
- EmbedFile.prototype.autosaveDelay = 2500;
+ EmbedFile.prototype.autosaveDelay = 500;
/**
* Delay for last save in ms.
@@ -1805,6 +1805,7 @@ Draw.loadPlugin(function(ui)
}
};
+ var fileJoined = false, socket = null;
//Add file opening here (or it should be for all in EditorUi?)
var origInstallMessageHandler = ui.installMessageHandler;
@@ -1840,6 +1841,13 @@ Draw.loadPlugin(function(ui)
{
descriptorChangedListener();
}
+
+ //RT Cursors
+ if (urlParams['rtCursors'] == '1' && socket != null)
+ {
+ socket.emit('join', {name: file.getChannelId()});
+ fileJoined = true;
+ }
}
});
@@ -1851,4 +1859,86 @@ Draw.loadPlugin(function(ui)
{
//Cancel set modified of the editor and use the file's one
};
+
+ //RT Cursors
+ if (urlParams['rtCursors'] == '1')
+ {
+ socket = io(App.SOCKET_IO_SRV);
+
+ var svgP1 = '<svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="684.000000pt" height="1024.000000pt" viewBox="0 0 684.000000 1024.000000" preserveAspectRatio="xMidYMid meet"><g transform="translate(0.000000,1024.000000) scale(0.100000,-0.100000)" stroke="none" fill="';
+ var svgP2 = '<path d="M0 5305 l0 -4940 568 567 c1170 1168 1637 1627 1644 1613 4 -7 242 -579 529 -1271 286 -693 523 -1262 527 -1266 4 -3 368 175 809 395 l802 402 -539 1294 c-297 712 -540 1296 -540 1298 0 2 682 3 1515 3 833 0 1515 3 1515 8 0 4 -1537 1544 -3415 3422 l-3415 3415 0 -4940z m3091 1175 l2604 -2599 -1304 -1 c-1236 0 -1303 -1 -1299 -17 3 -10 265 -641 582 -1402 318 -761 582 -1395 587 -1408 8 -22 -3 -29 -366 -210 -241 -121 -378 -184 -384 -178 -5 6 -262 622 -572 1370 -309 748 -564 1362 -566 1365 -2 2 -428 -420 -946 -938 -518 -518 -945 -942 -950 -942 -4 0 -7 1701 -7 3780 0 2224 4 3780 9 3780 5 0 1181 -1170 2612 -2600z"/></g></svg>';
+
+ var graph = ui.editor.graph;
+ var userCount = 0;
+ var userColors = [
+ '#e6194b', '#3cb44b', '#ffe119', '#4363d8', '#f58231',
+ '#911eb4', '#46f0f0', '#f032e6', '#bcf60c', '#fabebe',
+ '#008080', '#e6beff', '#9a6324', '#fffac8', '#800000',
+ '#aaffc3', '#808000', '#ffd8b1', '#000075', '#808080',
+ '#000000'
+ ];
+ var connectedUsers = {};
+
+ graph.addMouseListener(
+ {
+ startX: 0,
+ startY: 0,
+ scrollLeft: 0,
+ scrollTop: 0,
+ mouseDown: function(sender, me) {},
+ mouseMove: function(sender, me) //TODO debounce this function
+ {
+ var user = ui.getCurrentUser();
+
+ if (!fileJoined || user == null || user.email == null) return;
+
+ var tr = graph.view.translate;
+ var s = graph.view.scale;
+ socket.emit('message', {userId: user.id, username: user.displayName, x: me.graphX / s - tr.x, y: me.graphY / s - tr.y});
+ },
+ mouseUp: function(sender, me) {}
+ });
+
+ socket.on('message', function(msg)
+ {
+ var username = msg.username? msg.username : 'Anonymous';
+ var userId = msg.userId;
+ var cursor;
+
+ if (connectedUsers[userId] == null)
+ {
+ var clr = userColors[userCount];
+
+ connectedUsers[userId] = {
+ cursor: document.createElement('div'),
+ index: userCount,
+ color: clr
+ };
+
+ userCount++;
+ cursor = connectedUsers[userId].cursor;
+ cursor.style.position = 'absolute';
+ cursor.style.zIndex = 5000;
+ var svg = 'data:image/svg+xml;base64,' + btoa(svgP1 + clr + '">' + svgP2);
+ cursor.innerHTML = '<img src="' + svg + '" style="width:16px"><div style="color:' + clr + '">' +
+ username + '</div>';
+ document.body.appendChild(cursor);
+ }
+ else
+ {
+ cursor = connectedUsers[userId].cursor;
+ }
+
+ var tr = graph.view.translate;
+ var s = graph.view.scale;
+ var container = ui.diagramContainer;
+ var offset = mxUtils.getOffset(container);
+
+ msg.x = (tr.x + msg.x) * s - container.scrollLeft + offset.x;
+ msg.y = (tr.y + msg.y) * s - container.scrollTop + offset.y;
+
+ cursor.style.left = msg.x + 'px';
+ cursor.style.top = msg.y + 'px';
+ });
+ }
});
diff --git a/src/main/webapp/resources/dia.txt b/src/main/webapp/resources/dia.txt
index da9b54b2..f17466f5 100644
--- a/src/main/webapp/resources/dia.txt
+++ b/src/main/webapp/resources/dia.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
dropboxCharsNotAllowed=The following characters are not allowed: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_am.txt b/src/main/webapp/resources/dia_am.txt
index f3bccc5d..1d452e8e 100644
--- a/src/main/webapp/resources/dia_am.txt
+++ b/src/main/webapp/resources/dia_am.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
dropboxCharsNotAllowed=The following characters are not allowed: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_ar.txt b/src/main/webapp/resources/dia_ar.txt
index fbf62c96..87e93cec 100644
--- a/src/main/webapp/resources/dia_ar.txt
+++ b/src/main/webapp/resources/dia_ar.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
dropboxCharsNotAllowed=The following characters are not allowed: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_bg.txt b/src/main/webapp/resources/dia_bg.txt
index 344d4a08..10d62fe5 100644
--- a/src/main/webapp/resources/dia_bg.txt
+++ b/src/main/webapp/resources/dia_bg.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=Открита е чернова за {1}. За да продължите, я качете в редактора или я откажете.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Опцията плъзгане и пускане не се поддържа за изображения. Желаете ли да импортирате вместо това?
dropboxCharsNotAllowed=Следните знаци не са позволени: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_bn.txt b/src/main/webapp/resources/dia_bn.txt
index ded4dcfc..25828f66 100644
--- a/src/main/webapp/resources/dia_bn.txt
+++ b/src/main/webapp/resources/dia_bn.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
dropboxCharsNotAllowed=The following characters are not allowed: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_bs.txt b/src/main/webapp/resources/dia_bs.txt
index 67d921ed..ef4353c7 100644
--- a/src/main/webapp/resources/dia_bs.txt
+++ b/src/main/webapp/resources/dia_bs.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound={1} nacrt pronađen. Učitajte ga u uređivač ili ga odbacite kako biste nastavili.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Prevlačenje nije podržano kada je riječ o slikama. Želite li uvesti umjesto toga?
dropboxCharsNotAllowed=Sljedeći znakovi nisu dozvoljeni: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_ca.txt b/src/main/webapp/resources/dia_ca.txt
index 5879f487..7a718bd2 100644
--- a/src/main/webapp/resources/dia_ca.txt
+++ b/src/main/webapp/resources/dia_ca.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Imatge de mapa de bits editable
diagramSvgDesc=Imatge vectorial editable
didYouMeanToExportToPdf=Voleu exportar-ho a PDF?
draftFound=S'ha trobat un esborrany per a '{1}'. Carrega'l a l'editor o descarta'l per continuar.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Les imatges no es poden arrossegar i deixar anar. Voleu importar-les?
dropboxCharsNotAllowed=No es permeten aquests caràcters: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_cs.txt b/src/main/webapp/resources/dia_cs.txt
index 6797708c..289dcc04 100644
--- a/src/main/webapp/resources/dia_cs.txt
+++ b/src/main/webapp/resources/dia_cs.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=Byl nalezen koncept pro '{1}'. Abyste mohli pokračovat, nahrajte ho do editoru nebo jej zahoďte.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Pro obrázky není funkce Drag & Drop k dispozici. Chcete ho místo toho naimportovat?
dropboxCharsNotAllowed=Následující znaky nejsou povoleny: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_da.txt b/src/main/webapp/resources/dia_da.txt
index 9dc09769..1973530c 100644
--- a/src/main/webapp/resources/dia_da.txt
+++ b/src/main/webapp/resources/dia_da.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=Et udkast for '{1}' blev fundet. Load det i editoren eller kasser det for at fortsætte.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Drag & drop er ikke understøttet for billeder Vil du importere i stedet?
dropboxCharsNotAllowed=Følgende tegn er ikke tilladt: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_de.txt b/src/main/webapp/resources/dia_de.txt
index 64b81adf..6c4ccc70 100644
--- a/src/main/webapp/resources/dia_de.txt
+++ b/src/main/webapp/resources/dia_de.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editierbares Bitmap Bild
diagramSvgDesc=Editierbares Vektor Bild
didYouMeanToExportToPdf=Wollten Sie als PDF exportieren?
draftFound=Ein Entwurf für '{1}' wurde gefunden. Setzen Sie die Bearbeitung fort oder verwerfen Sie die Änderungen.
+draftRevisionMismatch=Es gibt eine neuere Version dieses Diagramms auf einem freigegebenen Entwurf dieser Seite. Bitte bearbeiten Sie die Seite und dann das Diagramm, um sicherzustellen, dass Sie mit der neuesten Version arbeiten.
selectDraft=Wählen Sie einen Entwurf zur Bearbeitung:
dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
dropboxCharsNotAllowed=Unzulässige Zeichen: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_el.txt b/src/main/webapp/resources/dia_el.txt
index 3b218a9d..480eca41 100644
--- a/src/main/webapp/resources/dia_el.txt
+++ b/src/main/webapp/resources/dia_el.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=Έχει βρεθει ένα σχέδιο για το '{1}' . Φορτώστε το στον επεξεργαστή ή απορρίψτε το για να συνεχίσετε.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Το Drag & Drop δεν υποστηρίζεται για τις εικόνες. Θα θέλατε να τις εισάγετε παρόλα αυτά;
dropboxCharsNotAllowed=Οι παρακάτω χαρακτήρες δεν υποστηρίζονται: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_eo.txt b/src/main/webapp/resources/dia_eo.txt
index ee8e258b..b8b53a78 100644
--- a/src/main/webapp/resources/dia_eo.txt
+++ b/src/main/webapp/resources/dia_eo.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
dropboxCharsNotAllowed=The following characters are not allowed: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_es.txt b/src/main/webapp/resources/dia_es.txt
index 6c72ab2f..d5d9ed86 100644
--- a/src/main/webapp/resources/dia_es.txt
+++ b/src/main/webapp/resources/dia_es.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Imagen Bitmap Editable
diagramSvgDesc=Imagen por Vectores Editable
didYouMeanToExportToPdf=Intentó exportar a PDF?
draftFound=Se encontró un borrador para '{1}'. Cárguelo en el editor o descártelo para continuar.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Seleccione un borrador para continuar editando:
dragAndDropNotSupported=La opción de arrastrar y soltar no está soportada para las imágenes. ¿En lugar de eso, le gustaría importar?
dropboxCharsNotAllowed=Los siguientes caracteres no están permitidos: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_et.txt b/src/main/webapp/resources/dia_et.txt
index 7d137939..4cfd097e 100644
--- a/src/main/webapp/resources/dia_et.txt
+++ b/src/main/webapp/resources/dia_et.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Kas soovisid PDFi eksportida?
draftFound=Mustand {1} jaoks on leitud. Lae see töötluskeskkonda või tühista jätkamiseks.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Piltidele puudub pukseerimise tugi. Kas sooviksid selle asemel importida?
dropboxCharsNotAllowed=Järgnevad tähemärgid pole lubatud: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_eu.txt b/src/main/webapp/resources/dia_eu.txt
index 235e960a..a0fd6784 100644
--- a/src/main/webapp/resources/dia_eu.txt
+++ b/src/main/webapp/resources/dia_eu.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Edita daitekeen bitmap irudia
diagramSvgDesc=Edita daitekeen bektore irudia
didYouMeanToExportToPdf=PDF-era esportatzea nahi?
draftFound={1}'-ren zirriborro bat aurkitu da. Kargatu editorean edo baztertu segitzeko.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Aukeratu zirriborro bat editatzen jarraitzeko:
dragAndDropNotSupported=Arrastatu eta jaregitea ez da onartzen irudientzat. Nahi al duzu inportatzea hala ere?
dropboxCharsNotAllowed=Honako karaktereak ez dira onartzen: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_fa.txt b/src/main/webapp/resources/dia_fa.txt
index b1388e0a..1b1a24c4 100644
--- a/src/main/webapp/resources/dia_fa.txt
+++ b/src/main/webapp/resources/dia_fa.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=‫پیش نویس '{1}' یافت شد. آن را به داخل ویرایشگر بارگذاری کنید و یا آن را برای ادامه دادن حذف کنید.‬
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=‫حرکت و کشیدن و انداختن برای تصاویر امکانپذیر نیست. آیا می خواهید بجای آن تصاویر را وارد کنید؟‬
dropboxCharsNotAllowed=‫کاراکترهای زیر مجاز نمی باشند: \ / : ? * " |‬
diff --git a/src/main/webapp/resources/dia_fi.txt b/src/main/webapp/resources/dia_fi.txt
index 1a9c8465..22d458c3 100644
--- a/src/main/webapp/resources/dia_fi.txt
+++ b/src/main/webapp/resources/dia_fi.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Muokattava bittikarttakuva
diagramSvgDesc=Muokattava vektorikuva
didYouMeanToExportToPdf=Tarkoititko PDF-muotoon viemistä?
draftFound=Luonnos tiedostolle '{1}' on löytynyt. Lataa se muokattavaksi tai hylkää se jatkaaksesi.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Valitse luonnos jatkaaksesi muokkausta:
dragAndDropNotSupported=Vedä ja pudota -toiminto ei tue kuvia. Haluatko tuoda kuvat?
dropboxCharsNotAllowed=Seuraavat merkit eivät ole sallittuja: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_fil.txt b/src/main/webapp/resources/dia_fil.txt
index c1f40f9d..ec6ad6da 100644
--- a/src/main/webapp/resources/dia_fil.txt
+++ b/src/main/webapp/resources/dia_fil.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=Isang draft para sa '{1}' ang nahanap. Ikarga ito sa loob ng editor o isantabi ito para magpatuloy
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Ang paghila at paglagay ay hindi suportado para sa mga imahe. Gusto mo bang mag angkat na lang?
dropboxCharsNotAllowed=Ang mga sumusunod na simbolo ay hindi pinahihintulutan: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_fr.txt b/src/main/webapp/resources/dia_fr.txt
index 5c4cda0e..893e050f 100644
--- a/src/main/webapp/resources/dia_fr.txt
+++ b/src/main/webapp/resources/dia_fr.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Image bitmap éditable
diagramSvgDesc=Image vectorielle éditable
didYouMeanToExportToPdf=Vouliez vous exporter en PDF ?
draftFound=Un brouillon pour '{1}' a été trouvé. Pour poursuivre, souhaitez-vous l'afficher dans l'éditeur ou l'ignorer ?
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Le glisser-déposer n'est pas supporté pour les images. Voulez-vous importer à la place?
dropboxCharsNotAllowed=Les caractères suivants ne sont pas autorisés : \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_gl.txt b/src/main/webapp/resources/dia_gl.txt
index 7a4b4b73..3f44a1ab 100644
--- a/src/main/webapp/resources/dia_gl.txt
+++ b/src/main/webapp/resources/dia_gl.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Imaxe Bitmap editábel
diagramSvgDesc=Imaxe Vectorial editábel
didYouMeanToExportToPdf=Referíaste a exportar a PDF?
draftFound=Atopouse un borrador para '{1}'. Carrégao no editor ou descártao para continuares.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Escolle un borrador para seguires editando:
dragAndDropNotSupported=Arrastrar-soltar non está implementado para imaxes. Prefires importalas?
dropboxCharsNotAllowed=Os seguintes caracteres non están permitidos: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_gu.txt b/src/main/webapp/resources/dia_gu.txt
index b129e589..0d211c07 100644
--- a/src/main/webapp/resources/dia_gu.txt
+++ b/src/main/webapp/resources/dia_gu.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
dropboxCharsNotAllowed=The following characters are not allowed: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_he.txt b/src/main/webapp/resources/dia_he.txt
index 746c00df..17e19973 100644
--- a/src/main/webapp/resources/dia_he.txt
+++ b/src/main/webapp/resources/dia_he.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=‫נמצאה טיוטה עבור '{1}'. טען אותה אל העורך או מחק אותה כדי להמשיך.‬
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=‫גרירה אינה נתמכת עבור תמונות. תרצה לייבא תמונה במקום?‬
dropboxCharsNotAllowed=‫התווים הבאים אינם מותרים לשימוש: / \ : ? * " |‬
diff --git a/src/main/webapp/resources/dia_hi.txt b/src/main/webapp/resources/dia_hi.txt
index 42367a92..1f10fa29 100644
--- a/src/main/webapp/resources/dia_hi.txt
+++ b/src/main/webapp/resources/dia_hi.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
dropboxCharsNotAllowed=The following characters are not allowed: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_hr.txt b/src/main/webapp/resources/dia_hr.txt
index 8f4a38d0..dc06a91c 100644
--- a/src/main/webapp/resources/dia_hr.txt
+++ b/src/main/webapp/resources/dia_hr.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
dropboxCharsNotAllowed=The following characters are not allowed: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_hu.txt b/src/main/webapp/resources/dia_hu.txt
index f313d9d3..43512649 100644
--- a/src/main/webapp/resources/dia_hu.txt
+++ b/src/main/webapp/resources/dia_hu.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=Vázlat találva a '{1}'-hoz. Töltse a szerkesztőbe, vagy dobja el a folytatásért.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Fogd és vidd nincs támogatva képekhez. Szeretné-e importálni?
dropboxCharsNotAllowed=A következő betűk nem engedélyezettek: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_i18n.txt b/src/main/webapp/resources/dia_i18n.txt
index 7eb560c6..55c9d70b 100644
--- a/src/main/webapp/resources/dia_i18n.txt
+++ b/src/main/webapp/resources/dia_i18n.txt
@@ -109,6 +109,7 @@ diagramPngDesc=diagramPngDesc
diagramSvgDesc=diagramSvgDesc
didYouMeanToExportToPdf=didYouMeanToExportToPdf
draftFound=draftFound
+draftRevisionMismatch=draftRevisionMismatch
selectDraft=selectDraft
dragAndDropNotSupported=dragAndDropNotSupported
dropboxCharsNotAllowed=dropboxCharsNotAllowed
diff --git a/src/main/webapp/resources/dia_id.txt b/src/main/webapp/resources/dia_id.txt
index 1d2bc66a..c01e08f2 100644
--- a/src/main/webapp/resources/dia_id.txt
+++ b/src/main/webapp/resources/dia_id.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=Draf untuk '{1}' ditemukan. Muat ke editor atau buang untuk melanjutkan.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Tidak mendukung seret dan jatuhkan untuk gambar. Anda ingin mengimpor?
dropboxCharsNotAllowed=Karakter berikut tidak diizinkan: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_it.txt b/src/main/webapp/resources/dia_it.txt
index 104031a1..ca6fa04f 100644
--- a/src/main/webapp/resources/dia_it.txt
+++ b/src/main/webapp/resources/dia_it.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=È stata trovata una bozza per '{1}'. Caricala nell'editor o scartala per continuare.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Drag and drop delle immagini non supportato. Vuoi importare?
dropboxCharsNotAllowed=I seguenti caratteri non sono permessi: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_ja.txt b/src/main/webapp/resources/dia_ja.txt
index ff7a5f2b..204bcf3a 100644
--- a/src/main/webapp/resources/dia_ja.txt
+++ b/src/main/webapp/resources/dia_ja.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=ドラフト{1}が見つかりました。読み込む、または廃棄する。
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=画像のドラッグアンドドロップには対応していません。その代わりに画像読み込みを選択しますか?
dropboxCharsNotAllowed=次の文字は使用できません: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_kn.txt b/src/main/webapp/resources/dia_kn.txt
index 5fa2643f..2d557e98 100644
--- a/src/main/webapp/resources/dia_kn.txt
+++ b/src/main/webapp/resources/dia_kn.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
dropboxCharsNotAllowed=The following characters are not allowed: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_ko.txt b/src/main/webapp/resources/dia_ko.txt
index 4760d877..4ed4db99 100644
--- a/src/main/webapp/resources/dia_ko.txt
+++ b/src/main/webapp/resources/dia_ko.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound={1}'의 임시저장이 확인되었습니다. 편집하시려면 불러오기를 클릭하시고, 계속하시려면 취소를 클릭해 주시기 바랍니다.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=이미지 드래그하여 붙여넣기는 지원되지 않습니다. 이미지를 불러오시겠습니까?
dropboxCharsNotAllowed=다음 문자는 사용할 수 없습니다. \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_lt.txt b/src/main/webapp/resources/dia_lt.txt
index 420077fe..9a1fd014 100644
--- a/src/main/webapp/resources/dia_lt.txt
+++ b/src/main/webapp/resources/dia_lt.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=Rastas '{1}' juodraštis. Įkelkite jį į redaktorių arba išmeskite, kad galėtumėte tęsti.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Pasirinkite juodraštį, kad galėtumėte tęsti redagavimą:
dragAndDropNotSupported=Vaizdų vilkimas nepalaikomas. Ar norėtumėte importuoti?
dropboxCharsNotAllowed=Šie simboliai neleidžiami: \ /:? * “|
diff --git a/src/main/webapp/resources/dia_lv.txt b/src/main/webapp/resources/dia_lv.txt
index 2bbc8ac0..072d4a03 100644
--- a/src/main/webapp/resources/dia_lv.txt
+++ b/src/main/webapp/resources/dia_lv.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
dropboxCharsNotAllowed=The following characters are not allowed: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_ml.txt b/src/main/webapp/resources/dia_ml.txt
index 54b0efa2..8699b7dc 100644
--- a/src/main/webapp/resources/dia_ml.txt
+++ b/src/main/webapp/resources/dia_ml.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
dropboxCharsNotAllowed=The following characters are not allowed: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_mr.txt b/src/main/webapp/resources/dia_mr.txt
index 0e786004..0685416f 100644
--- a/src/main/webapp/resources/dia_mr.txt
+++ b/src/main/webapp/resources/dia_mr.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
dropboxCharsNotAllowed=The following characters are not allowed: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_ms.txt b/src/main/webapp/resources/dia_ms.txt
index 33563021..21ed62cc 100644
--- a/src/main/webapp/resources/dia_ms.txt
+++ b/src/main/webapp/resources/dia_ms.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=Draf bagi '{1}' telah dijumpai. Muat ia ke dalam editor atau buang untuk meneruskan.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Seret dan lepas tidak disokong untuk imej. Adakah anda mahu mengimport?
dropboxCharsNotAllowed=Aksara-aksara berikut tidak dibenarkan: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_my.txt b/src/main/webapp/resources/dia_my.txt
index da9b54b2..f17466f5 100644
--- a/src/main/webapp/resources/dia_my.txt
+++ b/src/main/webapp/resources/dia_my.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
dropboxCharsNotAllowed=The following characters are not allowed: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_nl.txt b/src/main/webapp/resources/dia_nl.txt
index 5d5fe262..f314c369 100644
--- a/src/main/webapp/resources/dia_nl.txt
+++ b/src/main/webapp/resources/dia_nl.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Bewerkbaar bitmap-bestand
diagramSvgDesc=Bewerkbaar vector-bestand
didYouMeanToExportToPdf=Wil je exporteren naar PDF?
draftFound=Een concept van '{1}' is gevonden. Laad het in de editor of negeer het om door te gaan.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Selecteer een concept om door te gaan met bewerken:
dragAndDropNotSupported=Slepen en plaatsen is niet beschikbaar voor afbeeldingen. Wilt u in plaats daarvan importeren?
dropboxCharsNotAllowed=De volgende tekens zijn niet toegestaan: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_no.txt b/src/main/webapp/resources/dia_no.txt
index 7bbb8636..a414597f 100644
--- a/src/main/webapp/resources/dia_no.txt
+++ b/src/main/webapp/resources/dia_no.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=Et utkast av '{1}' er funnet. Last det ned i editoren eller forkast det for å fortsette.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Dra og slipp funksjon er ikke tilgjengelig for bilder. Vil du importere i stedet for?
dropboxCharsNotAllowed=Følgende tegn er ikke tillatt: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_pl.txt b/src/main/webapp/resources/dia_pl.txt
index a7f3a51c..f6ee81df 100644
--- a/src/main/webapp/resources/dia_pl.txt
+++ b/src/main/webapp/resources/dia_pl.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=Znaleziono wersję roboczą {1}. Załaduj ją do edytora lub odrzuć, by kontynuować.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Przeciągnij i upuść dla obrazów nie jest wspierane. Czy chcesz zamiast tego użyć importowania?
dropboxCharsNotAllowed=Następujące znaki są niedozwolone: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_pt-br.txt b/src/main/webapp/resources/dia_pt-br.txt
index 32f64b65..e8dedf72 100644
--- a/src/main/webapp/resources/dia_pt-br.txt
+++ b/src/main/webapp/resources/dia_pt-br.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=Foi encontrado um rascunho para '{1}'. Carregue no editor ou descarte para continuar.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Arraste e solte não suportados para imagens. Gostaria de importar?
dropboxCharsNotAllowed=Os seguintes caracteres não são permitidos: \/:?*"|
diff --git a/src/main/webapp/resources/dia_pt.txt b/src/main/webapp/resources/dia_pt.txt
index b0d443b2..06825dc9 100644
--- a/src/main/webapp/resources/dia_pt.txt
+++ b/src/main/webapp/resources/dia_pt.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=Encontrado um projeto. Carregar no editor ou rejeitar para continuar.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Arrastar e largar não suportado para imagens. Deseja importar?
dropboxCharsNotAllowed=Os seguintes caracteres não são permitidos: \/:?*"|
diff --git a/src/main/webapp/resources/dia_ro.txt b/src/main/webapp/resources/dia_ro.txt
index a98e6515..5396dfff 100644
--- a/src/main/webapp/resources/dia_ro.txt
+++ b/src/main/webapp/resources/dia_ro.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=O schiță pentru '{1}' a fost găsită. Încarc-o în editor sau înlătureaz-o pentru a continua.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported= „Drag and Drop” nu este suportat pentru imagini. Doriți să importați in schimb?
dropboxCharsNotAllowed=Următoarele caractere nu sunt permise: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_ru.txt b/src/main/webapp/resources/dia_ru.txt
index 85f25c4a..388d1f20 100644
--- a/src/main/webapp/resources/dia_ru.txt
+++ b/src/main/webapp/resources/dia_ru.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=Был обнаружен черновик '{1}'. Загрузите его в редактор или откажитесь, чтобы продолжить.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Перетаскивание изображений не поддерживается. Импортировать изображение?
dropboxCharsNotAllowed=Следующие символы не допускаются: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_si.txt b/src/main/webapp/resources/dia_si.txt
index da9b54b2..f17466f5 100644
--- a/src/main/webapp/resources/dia_si.txt
+++ b/src/main/webapp/resources/dia_si.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
dropboxCharsNotAllowed=The following characters are not allowed: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_sk.txt b/src/main/webapp/resources/dia_sk.txt
index 7a63bd19..5270727e 100644
--- a/src/main/webapp/resources/dia_sk.txt
+++ b/src/main/webapp/resources/dia_sk.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
dropboxCharsNotAllowed=The following characters are not allowed: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_sl.txt b/src/main/webapp/resources/dia_sl.txt
index 7b1babf8..11347c4c 100644
--- a/src/main/webapp/resources/dia_sl.txt
+++ b/src/main/webapp/resources/dia_sl.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
dropboxCharsNotAllowed=The following characters are not allowed: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_sr.txt b/src/main/webapp/resources/dia_sr.txt
index 382070d0..c3513cee 100644
--- a/src/main/webapp/resources/dia_sr.txt
+++ b/src/main/webapp/resources/dia_sr.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=Pronađen nacrt
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Prevlačenje nije podržano
dropboxCharsNotAllowed=Sledeći znaci nisu dozvoljeni: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_sv.txt b/src/main/webapp/resources/dia_sv.txt
index 9fb908b9..5d7c324b 100644
--- a/src/main/webapp/resources/dia_sv.txt
+++ b/src/main/webapp/resources/dia_sv.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=Ett utkast för '{1}' har lokaliserats. Ladda utkastet till behandlaren eller ta bort det för att fortsätta.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Dra-och-släpp tillåts ej för bilder. Vill du istället importera?
dropboxCharsNotAllowed=Följande tecken får inte användas: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_sw.txt b/src/main/webapp/resources/dia_sw.txt
index 28e83788..5cafec7f 100644
--- a/src/main/webapp/resources/dia_sw.txt
+++ b/src/main/webapp/resources/dia_sw.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
dropboxCharsNotAllowed=The following characters are not allowed: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_ta.txt b/src/main/webapp/resources/dia_ta.txt
index 26bcffeb..59a61151 100644
--- a/src/main/webapp/resources/dia_ta.txt
+++ b/src/main/webapp/resources/dia_ta.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
dropboxCharsNotAllowed=The following characters are not allowed: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_te.txt b/src/main/webapp/resources/dia_te.txt
index 5609e775..686ecce7 100644
--- a/src/main/webapp/resources/dia_te.txt
+++ b/src/main/webapp/resources/dia_te.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
dropboxCharsNotAllowed=The following characters are not allowed: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_th.txt b/src/main/webapp/resources/dia_th.txt
index 4d69dd23..cf1c507e 100644
--- a/src/main/webapp/resources/dia_th.txt
+++ b/src/main/webapp/resources/dia_th.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=พบฉบับร่างของ '{1}' แล้ว โหลดไปยังตัวแก้ไขหรือยกเลิกเพื่อดำเนินการต่อ
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=รูปภาพไม่รองรับการลากและวาง คุณต้องการนำเข้าแทนหรือไม่
dropboxCharsNotAllowed=ไม่อนุญาตให้ใช้อักขระต่อไปนี้: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_tr.txt b/src/main/webapp/resources/dia_tr.txt
index db8bc9a4..5e7d4931 100644
--- a/src/main/webapp/resources/dia_tr.txt
+++ b/src/main/webapp/resources/dia_tr.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Düzenlenebilir Bitmap resmi
diagramSvgDesc=Düzenlenebilir Vektör resmi
didYouMeanToExportToPdf=PDF olarak dışa aktarmak mı istediniz?
draftFound=Taslak (1) için bulundu. Editöre yükleyiniz veya devam etmek için iptal ediniz.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Düzenlemeye devam etmek için bir taslak seçiniz:
dragAndDropNotSupported=Desteklenmeyen resimleri sürükle ve at. Veya bu resimleri geri çağırmak ister misiniz ?
dropboxCharsNotAllowed=Bu karakterler desteklenmemektedir : \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_uk.txt b/src/main/webapp/resources/dia_uk.txt
index cde5c2bd..7112a4e1 100644
--- a/src/main/webapp/resources/dia_uk.txt
+++ b/src/main/webapp/resources/dia_uk.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Зображення Bitmap
diagramSvgDesc=Векторне зображення
didYouMeanToExportToPdf=Можливо ви мали на увазі експорт в PDF?
draftFound=Знайдено чернетку '{1}'. Завантажте її в редактор або відмовтеся, щоб продовжити.
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Вибрати чернетку для редагування:
dragAndDropNotSupported=Перетягування зображень не підтримується. Чи бажаєте натомість привнести його?
dropboxCharsNotAllowed=Перелічені знаки не підтримувані: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_vi.txt b/src/main/webapp/resources/dia_vi.txt
index 029858dc..52ecb56d 100644
--- a/src/main/webapp/resources/dia_vi.txt
+++ b/src/main/webapp/resources/dia_vi.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=Tìm thấy một bản nháp cho '{1}'. Tải lại bản nháp này hoặc loại bỏ bản nháp để tiếp tục
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=Kéo và thả không hỗ trợ cho hình ảnh. Thay vào đó, bạn có muốn nhập hình ảnh vào không?
dropboxCharsNotAllowed=Những kí tự sau không được chấp nhận: \ / : ? * " |
diff --git a/src/main/webapp/resources/dia_zh-tw.txt b/src/main/webapp/resources/dia_zh-tw.txt
index 7a02840d..a094ce26 100644
--- a/src/main/webapp/resources/dia_zh-tw.txt
+++ b/src/main/webapp/resources/dia_zh-tw.txt
@@ -109,6 +109,7 @@ diagramPngDesc=Editable Bitmap Image
diagramSvgDesc=Editable Vector Image
didYouMeanToExportToPdf=Did you mean to export to PDF?
draftFound=發現現有的「{1}」的草圖。要載入它進行編輯或是丟棄以繼續?
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=Select a draft to continue editing:
dragAndDropNotSupported=不支援圖片拖放。是否使用匯入選項?
dropboxCharsNotAllowed=不得使用以下字元:\ / : ? * " |
diff --git a/src/main/webapp/resources/dia_zh.txt b/src/main/webapp/resources/dia_zh.txt
index e0321150..b3858ed7 100644
--- a/src/main/webapp/resources/dia_zh.txt
+++ b/src/main/webapp/resources/dia_zh.txt
@@ -109,6 +109,7 @@ diagramPngDesc=可编辑位图文件
diagramSvgDesc=可编辑矢量图文件
didYouMeanToExportToPdf=是否要导出到 PDF?
draftFound={1} 的草稿已经找到。将其加载到编辑器或将其丢弃以继续。
+draftRevisionMismatch=There is a newer version of this diagram on a shared draft of this page. Please edit the page and then the diagram to ensure you are working with the latest version.
selectDraft=选择一个草稿继续编辑:
dragAndDropNotSupported=暂不支持图片拖放功能。是否要使用导入?
dropboxCharsNotAllowed=系统不允许使用下列字符:\ / : ? * " |
diff --git a/src/main/webapp/service-worker.js b/src/main/webapp/service-worker.js
index 9f6a10dd..7dbf6e8c 100644
--- a/src/main/webapp/service-worker.js
+++ b/src/main/webapp/service-worker.js
@@ -6,11 +6,11 @@ if (workbox)
workbox.precaching.precacheAndRoute([
{
"url": "js/app.min.js",
- "revision": "613f32d1af5404bd2d10a368c9d92ab9"
+ "revision": "8b06e9a76adaba70459fa504b109d591"
},
{
"url": "js/extensions.min.js",
- "revision": "330950838ae73ae958c21dc9e5936134"
+ "revision": "c23afeced7706cd34d91fb543b1dbae9"
},
{
"url": "js/stencils.min.js",
@@ -58,7 +58,7 @@ if (workbox)
},
{
"url": "js/viewer-static.min.js",
- "revision": "8307502a5269297cb73ebd4b42acdd25"
+ "revision": "e0c4f222b16dd71611af0d7f7d090cb9"
},
{
"url": "connect/jira/editor-1-3-3.html",
@@ -102,11 +102,11 @@ if (workbox)
},
{
"url": "plugins/cConf-1-4-8.js",
- "revision": "5bae94315bd183ef6434ff863c55e0ed"
+ "revision": "679977b35afbddb2aa4a0a2d1c7946d0"
},
{
"url": "connect/confluence/connectUtils-1-4-8.js",
- "revision": "9c6e8b9c86f5ce569083f2fe8f7a7830"
+ "revision": "e96b73539f6b1e8e1817c3980b9e949a"
},
{
"url": "connect/new_common/cac.js",
@@ -178,231 +178,231 @@ if (workbox)
},
{
"url": "resources/dia.txt",
- "revision": "45b035c56b39456bcef8f89f267d7ad3"
+ "revision": "4d59f7b35d7ef94a8c29e95a1f74e816"
},
{
"url": "resources/dia_am.txt",
- "revision": "250a0d986771ee10febbe0f4ba75d78f"
+ "revision": "778bf17a8dcdfa24b42b7e88b9b12167"
},
{
"url": "resources/dia_ar.txt",
- "revision": "c785a2e40cb708ea9ffc1f6d7cec1ac2"
+ "revision": "3e4540e98bad46866d7207e18208eb2c"
},
{
"url": "resources/dia_bg.txt",
- "revision": "106467485518aa1e07562b547f4e9be7"
+ "revision": "057a0a3a26406b08dec83195072097cc"
},
{
"url": "resources/dia_bn.txt",
- "revision": "099b81588d49786b20df0c4c8c0ef0d0"
+ "revision": "039854799ae52c79b65cb075e7518a6a"
},
{
"url": "resources/dia_bs.txt",
- "revision": "9a907eda9c2460cc3a30b9db3afbf0f3"
+ "revision": "f6a0060958d2df9c067937be66cc7f04"
},
{
"url": "resources/dia_ca.txt",
- "revision": "f8733ee030948a617766830f1800ceca"
+ "revision": "32f3910c809950e6373282b4aae4962f"
},
{
"url": "resources/dia_cs.txt",
- "revision": "0ec42b68cffcf9f3cc4defd3122927f7"
+ "revision": "0bdb4a84350560d28106ef77b5efa0fc"
},
{
"url": "resources/dia_da.txt",
- "revision": "c5382c12964e5a092d665eb49d3e83e8"
+ "revision": "9968375dac7262948238b6dfc12cc0b8"
},
{
"url": "resources/dia_de.txt",
- "revision": "e0c55e55d515c5ba30d8751181ff617d"
+ "revision": "abcfc52a70007d9d8c979e57bf1db6a5"
},
{
"url": "resources/dia_el.txt",
- "revision": "a947399711a3aa6d2e3e364ab542c8e2"
+ "revision": "138bc67f1d7eba7ce401605c7829bc39"
},
{
"url": "resources/dia_eo.txt",
- "revision": "931ddd7d9ef9bd5581ac959322af05f5"
+ "revision": "1e01e811e0c9d8e035bd8d9a348576d5"
},
{
"url": "resources/dia_es.txt",
- "revision": "f8464573c73cfb814e13126b211f587d"
+ "revision": "f3df2142a43fd56fcccf17d889b4f30f"
},
{
"url": "resources/dia_et.txt",
- "revision": "2885343a211d1620afb4ccb5e5e5dc82"
+ "revision": "50b1338a4abf464407245e91535811c4"
},
{
"url": "resources/dia_eu.txt",
- "revision": "efc3464a064bac61990aee4feb12b258"
+ "revision": "941cb30bed694e6f04f48e670f88f1a2"
},
{
"url": "resources/dia_fa.txt",
- "revision": "f2463a51ed28bfb766914abc2008f30c"
+ "revision": "0e6efda9ee5eeb62058ca465ab17d87c"
},
{
"url": "resources/dia_fi.txt",
- "revision": "bef8118357ef0624179c65d37bcbc297"
+ "revision": "81f8896b839865ad793496da8484bdb0"
},
{
"url": "resources/dia_fil.txt",
- "revision": "15f865548bd04612c483b762e370fa2a"
+ "revision": "5288756eaae47ca508ea05fc4eb9e791"
},
{
"url": "resources/dia_fr.txt",
- "revision": "9b87ec170a8a1221dbe86db9a9c989e7"
+ "revision": "a66a8658eb01837ff96933aca69c4a02"
},
{
"url": "resources/dia_gl.txt",
- "revision": "84fcb55f251a9e1dbf2cf7068952f2b7"
+ "revision": "e016b6f864b663e6bbaf2101e870c646"
},
{
"url": "resources/dia_gu.txt",
- "revision": "5507fbb36648ff04625b8034654bb5f4"
+ "revision": "25dbd0206cec86a57f97ddcd6e57cd13"
},
{
"url": "resources/dia_he.txt",
- "revision": "9ee9bdbf10d12ec8e15f7db15c9230b4"
+ "revision": "70b2416b6452fb2af2bb68b3e2c49d95"
},
{
"url": "resources/dia_hi.txt",
- "revision": "8ea5e2788ad9e2f01bd592e38d7cf5c5"
+ "revision": "a36b567c35328bded17ce394b5205c1f"
},
{
"url": "resources/dia_hr.txt",
- "revision": "ac8665f18eb2bb1f920125c52bb22c3e"
+ "revision": "52f1e46c684386215c015a7b07ae3117"
},
{
"url": "resources/dia_hu.txt",
- "revision": "4a3c04e3f25bc519e95958dd9cb4f6ce"
+ "revision": "1e2fccc70b362cd2cba7a3ed5c2a7bcb"
},
{
"url": "resources/dia_id.txt",
- "revision": "78771f1c30a7c435e4fe46f22d3a8668"
+ "revision": "17c67b6929c6b0a188ff6ab06806dbc9"
},
{
"url": "resources/dia_it.txt",
- "revision": "54a2b77cc84d988089057c5a4303b4e4"
+ "revision": "e6403a2d0ff806717923ae97acb9eac0"
},
{
"url": "resources/dia_ja.txt",
- "revision": "055bcc106130bcaa7b49542568e4b457"
+ "revision": "f190b88637cbd736e0fb0f7a3f2b43c9"
},
{
"url": "resources/dia_kn.txt",
- "revision": "189350d48ddd75ee038cd695146bbc07"
+ "revision": "0c9d15b9630b2e087acc32e3a127cfda"
},
{
"url": "resources/dia_ko.txt",
- "revision": "573c888e783ae87fddecfc7e8343ec82"
+ "revision": "f3fda47162650384add57b045401bbd8"
},
{
"url": "resources/dia_lt.txt",
- "revision": "f85a9d1119056a5869ae32be50fcf083"
+ "revision": "a407efba8b9b9c7ca858dfaba64eedfa"
},
{
"url": "resources/dia_lv.txt",
- "revision": "e5138a552aefc8b5134f3e1f4d2cdf5e"
+ "revision": "7103e0c2616ebb93226fd67d49cd3e0b"
},
{
"url": "resources/dia_ml.txt",
- "revision": "ffc7e6aa0357f1ddfa758c707468ef9e"
+ "revision": "29250b274ad48f8c5c6c708fb0cb2a89"
},
{
"url": "resources/dia_mr.txt",
- "revision": "325e3cabc8c8806ed28a0184294454cd"
+ "revision": "9ea146d7ba33524bd67e21c7f11052e7"
},
{
"url": "resources/dia_ms.txt",
- "revision": "9b04c99850d9495dbf9da1a5deba922d"
+ "revision": "2a54623652440e93a4e74f33af3e4a25"
},
{
"url": "resources/dia_my.txt",
- "revision": "45b035c56b39456bcef8f89f267d7ad3"
+ "revision": "4d59f7b35d7ef94a8c29e95a1f74e816"
},
{
"url": "resources/dia_nl.txt",
- "revision": "225d317d641a24aeacdc18b8b889c067"
+ "revision": "c93de6c04451b0f260cfec64240452c4"
},
{
"url": "resources/dia_no.txt",
- "revision": "6fd6737d1f0b820b01500da8768f0087"
+ "revision": "b7a0b02a59f7f36198d7a5a93e36040c"
},
{
"url": "resources/dia_pl.txt",
- "revision": "aa7b5260f9b30807325f697c8e200c8a"
+ "revision": "27eb079c058d4f73ace38947e19b1aea"
},
{
"url": "resources/dia_pt-br.txt",
- "revision": "b504c0fc8d70dfb9a554d3a559bd09ad"
+ "revision": "7f07c4be9e6874ca32e7ac6d6022cd64"
},
{
"url": "resources/dia_pt.txt",
- "revision": "fc1032fba1ee931b4e2c97eeebeb1b91"
+ "revision": "8d493d1f818162d847b9167d33e8c13b"
},
{
"url": "resources/dia_ro.txt",
- "revision": "ad5ffaf255c9a531f9bf2cbbcf27b96c"
+ "revision": "cac8614c9c753a8b31a33c54955c5b31"
},
{
"url": "resources/dia_ru.txt",
- "revision": "444f8767a0e9e85f57d4ddf06e1f95bf"
+ "revision": "775a84a39ef1454fbba4c471dbcae7a6"
},
{
"url": "resources/dia_si.txt",
- "revision": "45b035c56b39456bcef8f89f267d7ad3"
+ "revision": "4d59f7b35d7ef94a8c29e95a1f74e816"
},
{
"url": "resources/dia_sk.txt",
- "revision": "486b917129eb602f0124d2d72daf8583"
+ "revision": "6cda9aba40212eddb877369cab08411e"
},
{
"url": "resources/dia_sl.txt",
- "revision": "e3924200d9f870efb669ebd4683723ce"
+ "revision": "599fc9ac7e63cccc8b859ab1d8e3df07"
},
{
"url": "resources/dia_sr.txt",
- "revision": "27e35ee68fd92a2c70da25694f4e453a"
+ "revision": "3d63060db04613931b1b0382842ef2e9"
},
{
"url": "resources/dia_sv.txt",
- "revision": "0d0613826d29e59352a8cddb284be526"
+ "revision": "11bf7450046bd598d70666bc0d7e20d8"
},
{
"url": "resources/dia_sw.txt",
- "revision": "b6946af7db0d9568f825b4b74d406a61"
+ "revision": "ad33695aa7e8c6c321682a4b85f50caa"
},
{
"url": "resources/dia_ta.txt",
- "revision": "5831e4c536e9cfebf289d91600a4c3b8"
+ "revision": "b6e615164d3bf3afb9bde50398f85f48"
},
{
"url": "resources/dia_te.txt",
- "revision": "cd91df602f3098a2ae9a1269262e3533"
+ "revision": "dbe04633dfa6c9301bc63ea1702a7733"
},
{
"url": "resources/dia_th.txt",
- "revision": "9056c135714e843eccb3d831ddab8d8b"
+ "revision": "8ac425364fc6e5fd8dc74b1a7f760147"
},
{
"url": "resources/dia_tr.txt",
- "revision": "c144c80d60a289e0e3824721ac25af81"
+ "revision": "f7d08e1a2fd1804993cabff20a2e5a36"
},
{
"url": "resources/dia_uk.txt",
- "revision": "75425aec80431fe76b61f648463d4fb1"
+ "revision": "95db5308f5137c0c89f4f938e4c979d1"
},
{
"url": "resources/dia_vi.txt",
- "revision": "fc3634d9e671222a00756dbd8443aa66"
+ "revision": "dd1527ab8b802a7e139cad22b453ea9a"
},
{
"url": "resources/dia_zh-tw.txt",
- "revision": "b015bbab77e801135cde7852f607b17a"
+ "revision": "51225e37a7cc3aefe979df5c41899f8f"
},
{
"url": "resources/dia_zh.txt",
- "revision": "9c954103f3fc416ed07eb69161a99d01"
+ "revision": "a69d685cb661136b6ca72610a532f9b8"
},
{
"url": "favicon.ico",