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 <david@draw.io>2022-05-20 18:48:37 +0300
committerDavid Benson <david@draw.io>2022-05-20 18:48:37 +0300
commit9dc0d5d1b4dc5f414c33ab9443f8a0afee59cd9b (patch)
treebe8262f496dc68db482f1a236b7f8d899b906055
parent7764b250b3fa58b249542f4ff9a1ddc1362cf88c (diff)
18.1.1 releasev18.1.1
-rw-r--r--ChangeLog7
-rw-r--r--VERSION2
-rw-r--r--etc/build/build.xml2
-rw-r--r--src/main/java/com/mxgraph/online/EmbedServlet2.java6
-rw-r--r--src/main/java/com/mxgraph/online/ExportProxyServlet.java168
-rw-r--r--src/main/webapp/WEB-INF/web.xml14
-rw-r--r--src/main/webapp/electron.js320
-rw-r--r--src/main/webapp/js/app.min.js27
-rw-r--r--src/main/webapp/js/diagramly/DrawioFileSync.js28
-rw-r--r--src/main/webapp/js/diagramly/vsdx/importer.js14
-rw-r--r--src/main/webapp/js/extensions.min.js10
-rw-r--r--src/main/webapp/js/grapheditor/Graph.js16
-rw-r--r--src/main/webapp/js/grapheditor/Init.js3
-rw-r--r--src/main/webapp/js/integrate.min.js37
-rw-r--r--src/main/webapp/js/viewer-static.min.js12
-rw-r--r--src/main/webapp/js/viewer.min.js12
-rw-r--r--src/main/webapp/mxgraph/mxClient.js4
-rw-r--r--src/main/webapp/service-worker.js2
-rw-r--r--src/main/webapp/service-worker.js.map2
19 files changed, 577 insertions, 109 deletions
diff --git a/ChangeLog b/ChangeLog
index 9bb2c271..296f0ba1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+20-MAY-2022: 18.1.1
+
+- [VSDX import] Fixes case when theme index is incorrect
+- Checks stencil name parameter in embed servlet
+- Adds DOM_PURIFY_CONFIG global variable
+- Check env var is set in ExportProxy
+
19-MAY-2022: 18.0.8
- Deletes unused ExportProxyServlet
diff --git a/VERSION b/VERSION
index fee4da9f..adeb6ee8 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-18.0.8 \ No newline at end of file
+18.1.1 \ No newline at end of file
diff --git a/etc/build/build.xml b/etc/build/build.xml
index 52b4aa0e..ab56c836 100644
--- a/etc/build/build.xml
+++ b/etc/build/build.xml
@@ -504,7 +504,7 @@
<target name="javac" description="Java compilation">
<mkdir dir="${javac.dir}"/>
- <javac includeantruntime="false" srcdir="${src.dir}" excludes="**/EmbedServlet2.java" destdir="${javac.dir}">
+ <javac includeantruntime="false" srcdir="${src.dir}" destdir="${javac.dir}">
<classpath refid="javac.class.path" />
</javac>
<copy todir="${javac.dir}" file="${src.dir}/log4j.properties" />
diff --git a/src/main/java/com/mxgraph/online/EmbedServlet2.java b/src/main/java/com/mxgraph/online/EmbedServlet2.java
index 6522e564..4b629a8a 100644
--- a/src/main/java/com/mxgraph/online/EmbedServlet2.java
+++ b/src/main/java/com/mxgraph/online/EmbedServlet2.java
@@ -24,6 +24,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
+import java.io.File;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
@@ -268,7 +269,7 @@ public class EmbedServlet2 extends HttpServlet
for (int i = 0; i < names.length; i++)
{
- if (names[i].indexOf("..") < 0 && !done.contains(names[i]))
+ if (names[i].indexOf("..") < 0 && !done.contains(names[i]) && names[i].length() > 0)
{
if (names[i].equals("*"))
{
@@ -278,6 +279,9 @@ public class EmbedServlet2 extends HttpServlet
}
else
{
+ // Makes name canonical
+ names[i] = new File("/" + names[i]).getCanonicalPath().substring(1);
+
// Checks if any JS files are associated with the library
// name and injects the JS into the page
String[] libs = libraries.get(names[i]);
diff --git a/src/main/java/com/mxgraph/online/ExportProxyServlet.java b/src/main/java/com/mxgraph/online/ExportProxyServlet.java
new file mode 100644
index 00000000..bd89d1bc
--- /dev/null
+++ b/src/main/java/com/mxgraph/online/ExportProxyServlet.java
@@ -0,0 +1,168 @@
+package com.mxgraph.online;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.Arrays;
+import java.util.Enumeration;
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * Servlet implementation ExportProxyServlet
+ */
+@SuppressWarnings("serial")
+public class ExportProxyServlet extends HttpServlet
+{
+ private final String[] supportedServices = {"EXPORT_URL", "PLANTUML_URL", "VSD_CONVERT_URL", "EMF_CONVERT_URL"};
+
+ private void doRequest(String method, HttpServletRequest request,
+ HttpServletResponse response) throws ServletException, IOException
+ {
+ try
+ {
+ int serviceId = 0;
+ String proxyPath = "";
+ String queryString = "";
+
+ try
+ {
+ if (request.getQueryString() != null)
+ {
+ queryString = "?" + request.getQueryString();
+ }
+
+ if (request.getPathInfo() != null) // /{serviceId}/*
+ {
+ String[] pathParts = request.getPathInfo().split("/");
+
+ if (pathParts.length > 1)
+ {
+ serviceId = Integer.parseInt(pathParts[1]);
+ }
+
+ if (pathParts.length > 2)
+ {
+ proxyPath = String.join("/", Arrays.copyOfRange(pathParts, 2, pathParts.length));
+ }
+
+ if (serviceId < 0 || serviceId > supportedServices.length)
+ {
+ serviceId = 0;
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ // Ignore and use 0
+ serviceId = 0;
+ }
+
+ String exportUrl = System.getenv(supportedServices[serviceId]);
+
+ if (exportUrl == null || exportUrl.isEmpty())
+ {
+ throw new Exception(supportedServices[serviceId] + " not set");
+ }
+
+ URL url = new URL(exportUrl + proxyPath + queryString);
+ HttpURLConnection con = (HttpURLConnection) url.openConnection();
+
+ con.setRequestMethod(method);
+
+ //Copy request headers to export server
+ Enumeration<String> headerNames = request.getHeaderNames();
+
+ while (headerNames.hasMoreElements())
+ {
+ String headerName = headerNames.nextElement();
+ Enumeration<String> headers = request.getHeaders(headerName);
+
+ while (headers.hasMoreElements())
+ {
+ String headerValue = headers.nextElement();
+ con.addRequestProperty(headerName, headerValue);
+ }
+ }
+
+ if ("POST".equals(method))
+ {
+ // Send post request
+ con.setDoOutput(true);
+
+ OutputStream params = con.getOutputStream();
+ Utils.copy(request.getInputStream(), params);
+ params.flush();
+ params.close();
+ }
+
+ int responseCode = con.getResponseCode();
+ //Copy response code
+ response.setStatus(responseCode);
+
+ //Copy response headers
+ Map<String, List<String>> map = con.getHeaderFields();
+
+ for (Map.Entry<String, List<String>> entry : map.entrySet())
+ {
+ String key = entry.getKey();
+
+ if (key != null)
+ {
+ for (String val : entry.getValue())
+ {
+
+ response.addHeader(entry.getKey(), val);
+ }
+ }
+ }
+
+ //Copy response
+ OutputStream out = response.getOutputStream();
+
+ //Error
+ if (responseCode >= 400)
+ {
+ Utils.copy(con.getErrorStream(), out);
+ }
+ else //Success
+ {
+ Utils.copy(con.getInputStream(), out);
+ }
+
+ out.flush();
+ out.close();
+ }
+ catch (Exception e)
+ {
+ response.setStatus(
+ HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+ e.printStackTrace();
+ }
+ }
+
+
+ /**
+ * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
+ */
+ protected void doGet(HttpServletRequest request,
+ HttpServletResponse response) throws ServletException, IOException
+ {
+ doRequest("GET", request, response);
+ }
+
+ /**
+ * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
+ */
+ protected void doPost(HttpServletRequest request,
+ HttpServletResponse response) throws ServletException, IOException
+ {
+ doRequest("POST", request, response);
+ }
+} \ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
index d7e63368..d847103e 100644
--- a/src/main/webapp/WEB-INF/web.xml
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -97,6 +97,20 @@
</servlet-mapping>
<servlet>
<description/>
+ <display-name>ExportProxyServlet</display-name>
+ <servlet-name>ExportProxyServlet</servlet-name>
+ <servlet-class>com.mxgraph.online.ExportProxyServlet</servlet-class>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>ExportProxyServlet</servlet-name>
+ <url-pattern>/export</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>ExportProxyServlet</servlet-name>
+ <url-pattern>/service/*</url-pattern>
+ </servlet-mapping>
+ <servlet>
+ <description/>
<display-name>GitlabAuthServlet</display-name>
<servlet-name>GitlabAuthServlet</servlet-name>
<servlet-class>com.mxgraph.online.GitlabAuthServlet</servlet-class>
diff --git a/src/main/webapp/electron.js b/src/main/webapp/electron.js
index b847e5ac..030dca9f 100644
--- a/src/main/webapp/electron.js
+++ b/src/main/webapp/electron.js
@@ -1530,7 +1530,7 @@ ipcMain.on('export', exportDiagram);
// Renderer Helper functions
//================================================================
-const { O_SYNC, O_CREAT, O_WRONLY, O_TRUNC } = fs.constants;
+const { O_SYNC, O_CREAT, O_WRONLY, O_TRUNC, O_RDONLY } = fs.constants;
const DRAFT_PREFEX = '.$';
const OLD_DRAFT_PREFEX = '~$';
const DRAFT_EXT = '.dtmp';
@@ -1538,6 +1538,211 @@ const BKP_PREFEX = '.$';
const OLD_BKP_PREFEX = '~$';
const BKP_EXT = '.bkp';
+/**
+ * Checks the file content type
+ * Confirm content is xml, pdf, png, jpg, svg, vsdx ...
+ */
+function checkFileContent(body, enc)
+{
+ if (body != null)
+ {
+ let head, headBinay;
+
+ if (typeof body === 'string')
+ {
+ if (enc == 'base64')
+ {
+ headBinay = Buffer.from(body.substring(0, 22), 'base64');
+ head = headBinay.toString();
+ }
+ else
+ {
+ head = body.substring(0, 16);
+ headBinay = Buffer.from(head);
+ }
+ }
+ else
+ {
+ head = new TextDecoder("utf-8").decode(body.subarray(0, 16));
+ headBinay = body;
+ }
+
+ let c1 = head[0],
+ c2 = head[1],
+ c3 = head[2],
+ c4 = head[3],
+ c5 = head[4],
+ c6 = head[5],
+ c7 = head[6],
+ c8 = head[7],
+ c9 = head[8],
+ c10 = head[9],
+ c11 = head[10],
+ c12 = head[11],
+ c13 = head[12],
+ c14 = head[13],
+ c15 = head[14],
+ c16 = head[15];
+
+ let cc1 = headBinay[0],
+ cc2 = headBinay[1],
+ cc3 = headBinay[2],
+ cc4 = headBinay[3],
+ cc5 = headBinay[4],
+ cc6 = headBinay[5],
+ cc7 = headBinay[6],
+ cc8 = headBinay[7],
+ cc9 = headBinay[8],
+ cc10 = headBinay[9],
+ cc11 = headBinay[10],
+ cc12 = headBinay[11],
+ cc13 = headBinay[12],
+ cc14 = headBinay[13],
+ cc15 = headBinay[14],
+ cc16 = headBinay[15];
+
+ if (c1 == '<')
+ {
+ // text/html
+ if (c2 == '!'
+ || ((c2 == 'h'
+ && (c3 == 't' && c4 == 'm' && c5 == 'l'
+ || c3 == 'e' && c4 == 'a' && c5 == 'd')
+ || (c2 == 'b' && c3 == 'o' && c4 == 'd'
+ && c5 == 'y')))
+ || ((c2 == 'H'
+ && (c3 == 'T' && c4 == 'M' && c5 == 'L'
+ || c3 == 'E' && c4 == 'A' && c5 == 'D')
+ || (c2 == 'B' && c3 == 'O' && c4 == 'D'
+ && c5 == 'Y'))))
+ {
+ return true;
+ }
+
+ // application/xml
+ if (c2 == '?' && c3 == 'x' && c4 == 'm' && c5 == 'l'
+ && c6 == ' ')
+ {
+ return true;
+ }
+
+ // application/svg+xml
+ if (c2 == 's' && c3 == 'v' && c4 == 'g' && c5 == ' ')
+ {
+ return true;
+ }
+ }
+
+ // big and little (identical) endian UTF-8 encodings, with BOM
+ // application/xml
+ if (cc1 == 0xef && cc2 == 0xbb && cc3 == 0xbf)
+ {
+ if (c4 == '<' && c5 == '?' && c6 == 'x')
+ {
+ return true;
+ }
+ }
+
+ // big and little endian UTF-16 encodings, with byte order mark
+ // application/xml
+ if (cc1 == 0xfe && cc2 == 0xff)
+ {
+ if (cc3 == 0 && c4 == '<' && cc5 == 0 && c6 == '?' && cc7 == 0
+ && c8 == 'x')
+ {
+ return true;
+ }
+ }
+
+ // application/xml
+ if (cc1 == 0xff && cc2 == 0xfe)
+ {
+ if (c3 == '<' && cc4 == 0 && c5 == '?' && cc6 == 0 && c7 == 'x'
+ && cc8 == 0)
+ {
+ return true;
+ }
+ }
+
+ // big and little endian UTF-32 encodings, with BOM
+ // application/xml
+ if (cc1 == 0x00 && cc2 == 0x00 && cc3 == 0xfe && cc4 == 0xff)
+ {
+ if (cc5 == 0 && cc6 == 0 && cc7 == 0 && c8 == '<' && cc9 == 0
+ && cc10 == 0 && cc11 == 0 && c12 == '?' && cc13 == 0
+ && cc14 == 0 && cc15 == 0 && c16 == 'x')
+ {
+ return true;
+ }
+ }
+
+ // application/xml
+ if (cc1 == 0xff && cc2 == 0xfe && cc3 == 0x00 && cc4 == 0x00)
+ {
+ if (c5 == '<' && cc6 == 0 && cc7 == 0 && cc8 == 0 && c9 == '?'
+ && cc10 == 0 && cc11 == 0 && cc12 == 0 && c13 == 'x'
+ && cc14 == 0 && cc15 == 0 && cc16 == 0)
+ {
+ return true;
+ }
+ }
+
+ // application/pdf (%PDF-)
+ if (cc1 == 37 && cc2 == 80 && cc3 == 68 && cc4 == 70 && cc5 == 45)
+ {
+ return true;
+ }
+
+ // image/png
+ if ((cc1 == 137 && cc2 == 80 && cc3 == 78 && cc4 == 71 && cc5 == 13
+ && cc6 == 10 && cc7 == 26 && cc8 == 10) ||
+ (cc1 == 194 && cc2 == 137 && cc3 == 80 && cc4 == 78 && cc5 == 71 && cc6 == 13 //Our embedded PNG+XML
+ && cc7 == 10 && cc8 == 26 && cc9 == 10))
+ {
+ return true;
+ }
+
+ // image/jpeg
+ if (cc1 == 0xFF && cc2 == 0xD8 && cc3 == 0xFF)
+ {
+ if (cc4 == 0xE0 || cc4 == 0xEE)
+ {
+ return true;
+ }
+
+ /**
+ * File format used by digital cameras to store images.
+ * Exif Format can be read by any application supporting
+ * JPEG. Exif Spec can be found at:
+ * http://www.pima.net/standards/it10/PIMA15740/Exif_2-1.PDF
+ */
+ if ((cc4 == 0xE1) && (c7 == 'E' && c8 == 'x' && c9 == 'i'
+ && c10 == 'f' && cc11 == 0))
+ {
+ return true;
+ }
+ }
+
+ // vsdx, vssx (also zip, jar, odt, ods, odp, docx, xlsx, pptx, apk, aar)
+ if (cc1 == 0x50 && cc2 == 0x4B && cc3 == 0x03 && cc4 == 0x04)
+ {
+ return true;
+ }
+ else if (cc1 == 0x50 && cc2 == 0x4B && cc3 == 0x03 && cc4 == 0x06)
+ {
+ return true;
+ }
+
+ // mxfile, mxlibrary, mxGraphModel
+ if (c1 == '<' && c2 == 'm' && c3 == 'x')
+ {
+ return true;
+ }
+ }
+
+ return false;
+};
+
function isConflict(origStat, stat)
{
return stat != null && origStat != null && stat.mtimeMs != origStat.mtimeMs;
@@ -1608,9 +1813,9 @@ async function getFileDrafts(fileObject)
async function saveDraft(fileObject, data)
{
- if (data == null || data.length == 0)
+ if (!checkFileContent(data))
{
- throw new Error('empty data');
+ throw new Error('Invalid file data');
}
else
{
@@ -1632,6 +1837,11 @@ async function saveDraft(fileObject, data)
async function saveFile(fileObject, data, origStat, overwrite, defEnc)
{
+ if (!checkFileContent(data))
+ {
+ throw new Error('Invalid file data');
+ }
+
var retryCount = 0;
var backupCreated = false;
var bkpPath = path.join(path.dirname(fileObject.path), BKP_PREFEX + path.basename(fileObject.path) + BKP_EXT);
@@ -1640,59 +1850,52 @@ async function saveFile(fileObject, data, origStat, overwrite, defEnc)
var writeFile = async function()
{
- if (data == null || data.length == 0)
+ let fh;
+
+ try
{
- throw new Error('empty data');
+ // O_SYNC is for sync I/O and reduce risk of file corruption
+ fh = await fsProm.open(fileObject.path, O_SYNC | O_CREAT | O_WRONLY | O_TRUNC);
+ await fsProm.writeFile(fh, data, writeEnc);
+ }
+ finally
+ {
+ await fh?.close();
}
- else
- {
- let fh;
- try
+ let stat2 = await fsProm.stat(fileObject.path);
+ // Workaround for possible writing errors is to check the written
+ // contents of the file and retry 3 times before showing an error
+ let writtenData = await fsProm.readFile(fileObject.path, writeEnc);
+
+ if (data != writtenData)
+ {
+ retryCount++;
+
+ if (retryCount < 3)
{
- // O_SYNC is for sync I/O and reduce risk of file corruption
- fh = await fsProm.open(fileObject.path, O_SYNC | O_CREAT | O_WRONLY | O_TRUNC);
- await fsProm.writeFile(fh, data, writeEnc);
+ return await writeFile();
}
- finally
+ else
{
- await fh?.close();
+ throw new Error('all saving trials failed');
}
-
- let stat2 = await fsProm.stat(fileObject.path);
- // Workaround for possible writing errors is to check the written
- // contents of the file and retry 3 times before showing an error
- let writtenData = await fsProm.readFile(fileObject.path, writeEnc);
-
- if (data != writtenData)
+ }
+ else
+ {
+ //We'll keep the backup file in case the original file is corrupted. TODO When should we delete the backup file?
+ if (backupCreated)
{
- retryCount++;
-
- if (retryCount < 3)
- {
- return await writeFile();
- }
- else
+ //fs.unlink(bkpPath, (err) => {}); //Ignore errors!
+
+ //Delete old backup file with old prefix
+ if (fs.existsSync(oldBkpPath))
{
- throw new Error('all saving trials failed');
+ fs.unlink(oldBkpPath, (err) => {}); //Ignore errors
}
}
- else
- {
- //We'll keep the backup file in case the original file is corrupted. TODO When should we delete the backup file?
- if (backupCreated)
- {
- //fs.unlink(bkpPath, (err) => {}); //Ignore errors!
- //Delete old backup file with old prefix
- if (fs.existsSync(oldBkpPath))
- {
- fs.unlink(oldBkpPath, (err) => {}); //Ignore errors
- }
- }
-
- return stat2;
- }
+ return stat2;
}
};
@@ -1758,7 +1961,14 @@ async function saveFile(fileObject, data, origStat, overwrite, defEnc)
async function writeFile(path, data, enc)
{
- return await fsProm.writeFile(path, data, enc);
+ if (!checkFileContent(data, enc))
+ {
+ throw new Error('Invalid file data');
+ }
+ else
+ {
+ return await fsProm.writeFile(path, data, enc);
+ }
};
function getAppDataFolder()
@@ -1856,7 +2066,14 @@ function dirname(path_p)
async function readFile(filename, encoding)
{
- return await fsProm.readFile(filename, encoding);
+ let data = await fsProm.readFile(filename, encoding);
+
+ if (checkFileContent(data, encoding))
+ {
+ return data;
+ }
+
+ throw new Error('Invalid file data');
}
async function fileStat(file)
@@ -1897,7 +2114,16 @@ function clipboardAction(method, data)
async function deleteFile(file)
{
- await fsProm.unlink(file);
+ // Reading the header of the file to confirm it is a file we can delete
+ let fh = await fsProm.open(file, O_RDONLY);
+ let buffer = Buffer.allocUnsafe(16);
+ await fh.read(buffer, 0, 16);
+ await fh.close();
+
+ if (checkFileContent(buffer))
+ {
+ await fsProm.unlink(file);
+ }
}
function windowAction(method)
diff --git a/src/main/webapp/js/app.min.js b/src/main/webapp/js/app.min.js
index 7717dd81..2f9cb8b3 100644
--- a/src/main/webapp/js/app.min.js
+++ b/src/main/webapp/js/app.min.js
@@ -467,8 +467,9 @@ return a}();
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";
"se.diagrams.net"==window.location.hostname&&(urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0",urlParams.plugins="0",urlParams.mode="google",urlParams.lockdown="1",window.DRAWIO_GOOGLE_APP_ID=window.DRAWIO_GOOGLE_APP_ID||"184079235871",window.DRAWIO_GOOGLE_CLIENT_ID=window.DRAWIO_GOOGLE_CLIENT_ID||"184079235871-pjf5nn0lff27lk8qf0770gmffiv9gt61.apps.googleusercontent.com");"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:"18.0.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/"),
+"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.DOM_PURIFY_CONFIG=window.DOM_PURIFY_CONFIG||{ADD_TAGS:["use"],ADD_ATTR:["target"],FORBID_TAGS:["form"],ALLOWED_URI_REGEXP:/^(?:(?:https?|mailto|tel|callto|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i};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:"18.1.1",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)||navigator.userAgent.match(/Mac/)&&navigator.maxTouchPoints&&2<navigator.maxTouchPoints,IS_WEBVIEW:/((iPhone|iPod|iPad).*AppleWebKit(?!.*Version)|; wv)/i.test(navigator.userAgent),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]"!==
@@ -1348,7 +1349,7 @@ mxGraphSelectionModel.prototype.cellAdded=function(a){null==a||this.isSelected(a
mxSelectionChange.prototype.execute=function(){var a=mxLog.enter("mxSelectionChange.execute");window.status=mxResources.get(this.selectionModel.updatingSelectionResource)||this.selectionModel.updatingSelectionResource;if(null!=this.removed)for(var b=0;b<this.removed.length;b++)this.selectionModel.cellRemoved(this.removed[b]);if(null!=this.added)for(b=0;b<this.added.length;b++)this.selectionModel.cellAdded(this.added[b]);b=this.added;this.added=this.removed;this.removed=b;window.status=mxResources.get(this.selectionModel.doneResource)||
this.selectionModel.doneResource;mxLog.leave("mxSelectionChange.execute",a);this.selectionModel.fireEvent(new mxEventObject(mxEvent.CHANGE,"added",this.added,"removed",this.removed))};
function mxCellEditor(a){this.graph=a;this.zoomHandler=mxUtils.bind(this,function(){this.graph.isEditing()&&this.resize()});this.graph.view.addListener(mxEvent.SCALE,this.zoomHandler);this.graph.view.addListener(mxEvent.SCALE_AND_TRANSLATE,this.zoomHandler);this.changeHandler=mxUtils.bind(this,function(b){null!=this.editingCell&&(b=this.graph.getView().getState(this.editingCell),null==b?this.stopEditing(!0):this.updateTextAreaStyle(b))});this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler)}
-mxCellEditor.prototype.graph=null;mxCellEditor.prototype.textarea=null;mxCellEditor.prototype.editingCell=null;mxCellEditor.prototype.trigger=null;mxCellEditor.prototype.modified=!1;mxCellEditor.prototype.autoSize=!0;mxCellEditor.prototype.selectText=!0;mxCellEditor.prototype.emptyLabelText=mxClient.IS_FF?"<br>":"";mxCellEditor.prototype.escapeCancelsEditing=!0;mxCellEditor.prototype.textNode="";mxCellEditor.prototype.zIndex=5;mxCellEditor.prototype.minResize=new mxRectangle(0,20);
+mxCellEditor.prototype.graph=null;mxCellEditor.prototype.textarea=null;mxCellEditor.prototype.editingCell=null;mxCellEditor.prototype.trigger=null;mxCellEditor.prototype.modified=!1;mxCellEditor.prototype.autoSize=!0;mxCellEditor.prototype.selectText=!0;mxCellEditor.prototype.emptyLabelText=mxClient.IS_FF?"<br>":"";mxCellEditor.prototype.escapeCancelsEditing=!0;mxCellEditor.prototype.textNode="";mxCellEditor.prototype.zIndex=1;mxCellEditor.prototype.minResize=new mxRectangle(0,20);
mxCellEditor.prototype.wordWrapPadding=mxClient.IS_IE11?0:1;mxCellEditor.prototype.blurEnabled=!1;mxCellEditor.prototype.initialValue=null;mxCellEditor.prototype.align=null;mxCellEditor.prototype.init=function(){this.textarea=document.createElement("div");this.textarea.className="mxCellEditor mxPlainTextEditor";this.textarea.contentEditable=!0;mxClient.IS_GC&&(this.textarea.style.minHeight="1em");this.textarea.style.position=this.isLegacyEditor()?"absolute":"relative";this.installListeners(this.textarea)};
mxCellEditor.prototype.applyValue=function(a,b){this.graph.labelChanged(a.cell,b,this.trigger)};mxCellEditor.prototype.setAlign=function(a){null!=this.textarea&&(this.textarea.style.textAlign=a);this.align=a;this.resize()};mxCellEditor.prototype.getInitialValue=function(a,b){a=mxUtils.htmlEntities(this.graph.getEditingValue(a.cell,b),!1);8!=document.documentMode&&9!=document.documentMode&&10!=document.documentMode&&(a=mxUtils.replaceTrailingNewlines(a,"<div><br></div>"));return a.replace(/\n/g,"<br>")};
mxCellEditor.prototype.getCurrentValue=function(a){return mxUtils.extractTextWithWhitespace(this.textarea.childNodes)};mxCellEditor.prototype.isCancelEditingKeyEvent=function(a){return this.escapeCancelsEditing||mxEvent.isShiftDown(a)||mxEvent.isControlDown(a)||mxEvent.isMetaDown(a)};
@@ -2869,7 +2870,8 @@ Graph.arrayBufferIndexOfString=function(a,c,f){var e=c.charCodeAt(0),g=1,d=-1;fo
Graph.decompress=function(a,c,f){if(null==a||0==a.length||"undefined"===typeof pako)return a;a=Graph.stringToArrayBuffer(atob(a));c=decodeURIComponent(c?pako.inflate(a,{to:"string"}):pako.inflateRaw(a,{to:"string"}));return f?c:Graph.zapGremlins(c)};
Graph.fadeNodes=function(a,c,f,e,g){g=null!=g?g:1E3;Graph.setTransitionForNodes(a,null);Graph.setOpacityForNodes(a,c);window.setTimeout(function(){Graph.setTransitionForNodes(a,"all "+g+"ms ease-in-out");Graph.setOpacityForNodes(a,f);window.setTimeout(function(){Graph.setTransitionForNodes(a,null);null!=e&&e()},g)},0)};Graph.removeKeys=function(a,c){for(var f in a)c(f)&&delete a[f]};
Graph.setTransitionForNodes=function(a,c){for(var f=0;f<a.length;f++)mxUtils.setPrefixedStyle(a[f].style,"transition",c)};Graph.setOpacityForNodes=function(a,c){for(var f=0;f<a.length;f++)a[f].style.opacity=c};Graph.removePasteFormatting=function(a){for(;null!=a;)null!=a.firstChild&&Graph.removePasteFormatting(a.firstChild),a.nodeType==mxConstants.NODETYPE_ELEMENT&&null!=a.style&&(a.style.whiteSpace="","#000000"==a.style.color&&(a.style.color="")),a=a.nextSibling};
-Graph.sanitizeHtml=function(a,c){return Graph.domPurify(a,!1)};Graph.sanitizeLink=function(a){var c=document.createElement("a");c.setAttribute("href",a);Graph.sanitizeNode(c);return c.getAttribute("href")};Graph.sanitizeNode=function(a){return Graph.domPurify(a,!0)};Graph.domPurify=function(a,c){return DOMPurify.sanitize(a,{IN_PLACE:c,ADD_ATTR:["target"],FORBID_TAGS:["form"],ALLOWED_URI_REGEXP:/^(?:(?:https?|mailto|tel|callto|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i})};
+Graph.sanitizeHtml=function(a,c){return Graph.domPurify(a,!1)};Graph.sanitizeLink=function(a){var c=document.createElement("a");c.setAttribute("href",a);Graph.sanitizeNode(c);return c.getAttribute("href")};Graph.sanitizeNode=function(a){return Graph.domPurify(a,!0)};DOMPurify.addHook("afterSanitizeAttributes",function(a){a.hasAttribute("xlink:href")&&!a.getAttribute("xlink:href").match(/^#/)&&a.remove()});
+Graph.domPurify=function(a,c){window.DOM_PURIFY_CONFIG.IN_PLACE=c;return DOMPurify.sanitize(a,window.DOM_PURIFY_CONFIG)};
Graph.clipSvgDataUri=function(a,c){if(!mxClient.IS_IE&&!mxClient.IS_IE11&&null!=a&&"data:image/svg+xml;base64,"==a.substring(0,26))try{var f=document.createElement("div");f.style.position="absolute";f.style.visibility="hidden";var e=decodeURIComponent(escape(atob(a.substring(26)))),g=e.indexOf("<svg");if(0<=g){f.innerHTML=e.substring(g);Graph.sanitizeNode(f);var d=f.getElementsByTagName("svg");if(0<d.length){if(c||null!=d[0].getAttribute("preserveAspectRatio")){document.body.appendChild(f);try{e=
c=1;var k=d[0].getAttribute("width"),n=d[0].getAttribute("height");k=null!=k&&"%"!=k.charAt(k.length-1)?parseFloat(k):NaN;n=null!=n&&"%"!=n.charAt(n.length-1)?parseFloat(n):NaN;var u=d[0].getAttribute("viewBox");if(null!=u&&!isNaN(k)&&!isNaN(n)){var m=u.split(" ");4<=u.length&&(c=parseFloat(m[2])/k,e=parseFloat(m[3])/n)}var r=d[0].getBBox();0<r.width&&0<r.height&&(f.getElementsByTagName("svg")[0].setAttribute("viewBox",r.x+" "+r.y+" "+r.width+" "+r.height),f.getElementsByTagName("svg")[0].setAttribute("width",
r.width/c),f.getElementsByTagName("svg")[0].setAttribute("height",r.height/e))}catch(x){}finally{document.body.removeChild(f)}}a=Editor.createSvgDataUri(mxUtils.getXml(d[0]))}}}catch(x){}return a};Graph.stripQuotes=function(a){null!=a&&("'"==a.charAt(0)&&(a=a.substring(1)),"'"==a.charAt(a.length-1)&&(a=a.substring(0,a.length-1)),'"'==a.charAt(0)&&(a=a.substring(1)),'"'==a.charAt(a.length-1)&&(a=a.substring(0,a.length-1)));return a};
@@ -11695,7 +11697,7 @@ E.appendChild(S);Q.appendChild(E);this.container=Q};var V=ChangePageSetup.protot
this.format);null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled);null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)}}else V.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 U=document.createElement("canvas"),X=new Image;X.onload=function(){try{U.getContext("2d").drawImage(X,0,0);var t=U.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=t&&6<t.length}catch(E){}};X.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){}})();
(function(){var b=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);b.beforeDecode=function(e,f,c){c.ui=e.ui;return f};b.afterDecode=function(e,f,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(b)})();
-(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,f,c){c.ui=e.ui;return f};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="18.0.8";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(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=
+(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,f,c){c.ui=e.ui;return f};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="18.1.1";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(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=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.nativeFileSupport=!mxClient.IS_OP&&!EditorUi.isElectronApp&&
"1"!=urlParams.extAuth&&"showSaveFilePicker"in window&&"showOpenFilePicker"in window;EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.diagrams.net/doc/faq/scratchpad";EditorUi.enableHtmlEditOption=!0;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(d,g,k,l,p,q,x){q=null!=q?q:0<=d.indexOf("NetworkError")||0<=d.indexOf("SecurityError")||0<=d.indexOf("NS_ERROR_FAILURE")||0<=d.indexOf("out of memory")?"CONFIG":"SEVERE";if(EditorUi.enableLogging&&
@@ -12186,13 +12188,14 @@ DrawioFileSync.prototype.start=function(){null==this.channelId&&(this.channelId=
DrawioFileSync.prototype.updateRealtime=function(){this.isValidState()&&(this.file.isRealtimeEnabled()&&this.file.isRealtimeSupported()&&this.isRealtimeActive()?this.file.isRealtime()||this.initRealtime():this.file.isRealtime()&&this.resetRealtime(),DrawioFileSync.ENABLE_SOCKETS&&this.file.isRealtime()&&null==this.p2pCollab&&null!=this.channelId?(this.p2pCollab=new P2PCollab(this.ui,this,this.channelId),this.p2pCollab.joinFile()):this.file.isRealtime()||null==this.p2pCollab||(this.p2pCollab.destroy(),
this.p2pCollab=null))};DrawioFileSync.prototype.initRealtime=function(){this.file.theirPages=this.ui.clonePages(this.ui.pages);this.file.ownPages=this.ui.clonePages(this.ui.pages);this.snapshot=this.file.ownPages};DrawioFileSync.prototype.resetRealtime=function(){var b=this.file.getShadowPages();null!=b&&(b=this.ui.diffPages(b,this.file.ownPages),this.file.patch([b]));this.sendLocalChanges();this.cleanup();this.file.theirPages=null;this.snapshot=this.file.ownPages=null};
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 b=mxUtils.bind(this,function(c){mxEvent.addListener(c,"click",mxUtils.bind(this,function(m){if(this.file.isRealtimeEnabled()&&this.file.isRealtimeSupported()){m=this.file.getRealtimeState();var n=this.file.getRealtimeError();this.ui.showError(mxResources.get("realtimeCollaboration"),mxUtils.htmlEntities(1==m?mxResources.get("online"):null!=n&&null!=n.message?n.message:mxResources.get("disconnected")))}else this.enabled=
-!this.enabled,this.ui.updateButtonContainer(),this.resetUpdateStatusThread(),this.updateOnlineState(),this.updateStatus(),!this.file.inConflictState&&this.enabled&&this.fileChangedNotify()}))});if(null!=this.ui.toolbarContainer&&null==this.collaboratorsElement){var e=document.createElement("a");e.className="geButton";e.style.position="absolute";e.style.display="inline-block";e.style.verticalAlign="bottom";e.style.color="#666";e.style.top="6px";e.style.right="atlas"!=uiTheme?"70px":"50px";e.style.padding=
-"2px";e.style.fontSize="8pt";e.style.verticalAlign="middle";e.style.textDecoration="none";e.style.backgroundPosition="center center";e.style.backgroundRepeat="no-repeat";e.style.backgroundSize="16px 16px";e.style.width="16px";e.style.height="16px";mxUtils.setOpacity(e,60);"dark"==uiTheme&&(e.style.filter="invert(100%)");mxEvent.addListener(e,mxClient.IS_POINTER?"pointerdown":"mousedown",mxUtils.bind(this,function(c){c.preventDefault()}));b(e);this.ui.toolbarContainer.appendChild(e);this.collaboratorsElement=
-e}if(null!=this.collaboratorsElement){b="";var f=Editor.cloudImage;this.enabled?this.file.invalidChecksum?(b=mxResources.get("error")+": "+mxResources.get("checksum"),f=Editor.syncProblemImage):this.ui.isOffline(!0)||!this.isConnected()?(b=mxResources.get("offline"),f=Editor.cloudOffImage):(b=mxResources.get("online"),this.file.isRealtimeEnabled()&&this.file.isRealtimeSupported()&&(e=this.file.getRealtimeError(),f=this.file.getRealtimeState(),b=mxResources.get("realtimeCollaboration"),1==f?f=Editor.syncImage:
-(f=Editor.syncProblemImage,b=null!=e&&null!=e.message?b+(" ("+e.message+")"):b+(" ("+mxResources.get("disconnected")+")")))):(b=mxResources.get("disconnected"),f=Editor.cloudOffImage);this.collaboratorsElement.setAttribute("title",b);this.collaboratorsElement.style.backgroundImage="url("+f+")"}}};
-DrawioFileSync.prototype.updateStatus=function(){this.isConnected()&&null!=this.lastActivity&&(Date.now()-this.lastActivity)/1E3>this.inactivityTimeoutSeconds&&this.stop();if(!(this.file.isModified()||this.file.inConflictState||null!=this.file.autosaveThread||this.file.savingFile||this.file.redirectDialogShowing))if(this.enabled&&null!=this.ui.statusContainer){var b=this.ui.timeSince(new Date(this.lastModified));null==b&&(b=mxResources.get("lessThanAMinute"));var e=this.file.isRevisionHistorySupported(),
-f=this.lastMessage;this.lastMessage=null;null!=f&&40<f.length&&(f=f.substring(0,40)+"...");b=mxResources.get("lastChange",[b]);this.ui.editor.setStatus('<div title="'+mxUtils.htmlEntities(b)+'">'+mxUtils.htmlEntities(b)+"</div>"+(this.file.isEditable()?"":'<div class="geStatusAlert">'+mxUtils.htmlEntities(mxResources.get("readOnly"))+"</div>")+(this.isConnected()?"":'<div class="geStatusAlert">'+mxUtils.htmlEntities(mxResources.get("disconnected"))+"</div>")+(null!=f?' <span title="'+mxUtils.htmlEntities(f)+
+DrawioFileSync.prototype.updateOnlineState=function(){if("1"!=urlParams.embedRT){var b=mxUtils.bind(this,function(c){mxEvent.addListener(c,"click",mxUtils.bind(this,function(m){if(this.file.isRealtimeEnabled()&&this.file.isRealtimeSupported()){m=this.file.getRealtimeState();var n=mxResources.get("disconnected");this.file.invalidChecksum?n=mxResources.get("error")+": "+mxResources.get("checksum"):this.ui.isOffline(!0)||!this.isConnected()?n=mxResources.get("offline"):1==m&&(n=mxResources.get("online"));
+this.ui.showError(mxResources.get("realtimeCollaboration"),mxUtils.htmlEntities(n))}else this.enabled=!this.enabled,this.ui.updateButtonContainer(),this.resetUpdateStatusThread(),this.updateOnlineState(),this.updateStatus(),!this.file.inConflictState&&this.enabled&&this.fileChangedNotify()}))});if(null!=this.ui.toolbarContainer&&null==this.collaboratorsElement){var e=document.createElement("a");e.className="geButton";e.style.position="absolute";e.style.display="inline-block";e.style.verticalAlign=
+"bottom";e.style.color="#666";e.style.top="6px";e.style.right="atlas"!=uiTheme?"70px":"50px";e.style.padding="2px";e.style.fontSize="8pt";e.style.verticalAlign="middle";e.style.textDecoration="none";e.style.backgroundPosition="center center";e.style.backgroundRepeat="no-repeat";e.style.backgroundSize="16px 16px";e.style.width="16px";e.style.height="16px";mxUtils.setOpacity(e,60);"dark"==uiTheme&&(e.style.filter="invert(100%)");mxEvent.addListener(e,mxClient.IS_POINTER?"pointerdown":"mousedown",mxUtils.bind(this,
+function(c){c.preventDefault()}));b(e);this.ui.toolbarContainer.appendChild(e);this.collaboratorsElement=e}if(null!=this.collaboratorsElement){this.collaboratorsElement.style.display="inline-block";var f=Editor.cloudImage;b="";this.enabled?this.file.invalidChecksum?(b=mxResources.get("error")+": "+mxResources.get("checksum"),f=Editor.syncProblemImage):this.ui.isOffline(!0)||!this.isConnected()?(b=mxResources.get("offline"),f=Editor.cloudOffImage):(b=mxResources.get("online"),this.file.isRealtimeEnabled()&&
+this.file.isRealtimeSupported()&&(e=this.file.getRealtimeError(),f=this.file.getRealtimeState(),b=mxResources.get("realtimeCollaboration"),1==f?(this.collaboratorsElement.style.display="none",f=Editor.syncImage):(f=Editor.syncProblemImage,b=null!=e&&null!=e.message?b+(" ("+e.message+")"):b+(" ("+mxResources.get("disconnected")+")")))):(b=mxResources.get("disconnected"),f=Editor.cloudOffImage);this.collaboratorsElement.setAttribute("title",b);this.collaboratorsElement.style.backgroundImage="url("+
+f+")"}}};
+DrawioFileSync.prototype.updateStatus=function(){this.isConnected()&&null!=this.lastActivity&&(Date.now()-this.lastActivity)/1E3>this.inactivityTimeoutSeconds&&this.stop();if(!(this.file.isModified()||this.file.inConflictState||null!=this.file.autosaveThread||this.file.savingFile||this.file.redirectDialogShowing))if(this.enabled&&null!=this.ui.statusContainer){var b=this.ui.timeSince(new Date(this.lastModified));null==b&&(b=mxResources.get("lessThanAMinute"));var e=this.file.isRevisionHistorySupported(),f=
+this.lastMessage;this.lastMessage=null;null!=f&&40<f.length&&(f=f.substring(0,40)+"...");b=mxResources.get("lastChange",[b]);this.ui.editor.setStatus('<div title="'+mxUtils.htmlEntities(b)+'">'+mxUtils.htmlEntities(b)+"</div>"+(this.file.isEditable()?"":'<div class="geStatusAlert">'+mxUtils.htmlEntities(mxResources.get("readOnly"))+"</div>")+(this.isConnected()?"":'<div class="geStatusAlert">'+mxUtils.htmlEntities(mxResources.get("disconnected"))+"</div>")+(null!=f?' <span title="'+mxUtils.htmlEntities(f)+
'">('+mxUtils.htmlEntities(f)+")</span>":""));f=this.ui.statusContainer.getElementsByTagName("div");0<f.length&&e&&(f[0].style.display="inline-block",e&&(f[0].style.cursor="pointer",f[0].style.textDecoration="underline",mxEvent.addListener(f[0],"click",mxUtils.bind(this,function(){this.ui.actions.get("revisionHistory").funct()}))));e=this.ui.statusContainer.getElementsByTagName("span");if(0<e.length){var c=e[0];c.style.opacity="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);window.setTimeout(mxUtils.bind(this,function(){this.updateStatus()}),1E3)}),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)};
diff --git a/src/main/webapp/js/diagramly/DrawioFileSync.js b/src/main/webapp/js/diagramly/DrawioFileSync.js
index 85c76b3f..335eeb1d 100644
--- a/src/main/webapp/js/diagramly/DrawioFileSync.js
+++ b/src/main/webapp/js/diagramly/DrawioFileSync.js
@@ -452,12 +452,22 @@ DrawioFileSync.prototype.updateOnlineState = function()
if (this.file.isRealtimeEnabled() && this.file.isRealtimeSupported())
{
var state = this.file.getRealtimeState();
- var err = this.file.getRealtimeError();
+ var status = mxResources.get('disconnected');
+
+ if (this.file.invalidChecksum)
+ {
+ status = mxResources.get('error') + ': ' + mxResources.get('checksum');
+ }
+ else if (this.ui.isOffline(true) || !this.isConnected())
+ {
+ status = mxResources.get('offline');
+ }
+ else if (state == 1)
+ {
+ status = mxResources.get('online');
+ }
- this.ui.showError(mxResources.get('realtimeCollaboration'),
- mxUtils.htmlEntities(state == 1 ? mxResources.get('online') :
- ((err != null && err.message != null) ?
- err.message : mxResources.get('disconnected'))));
+ this.ui.showError(mxResources.get('realtimeCollaboration'), mxUtils.htmlEntities(status));
}
else
{
@@ -500,7 +510,7 @@ DrawioFileSync.prototype.updateOnlineState = function()
{
elt.style.filter = 'invert(100%)';
}
-
+
// Prevents focus
mxEvent.addListener(elt, (mxClient.IS_POINTER) ? 'pointerdown' : 'mousedown',
mxUtils.bind(this, function(evt)
@@ -515,9 +525,10 @@ DrawioFileSync.prototype.updateOnlineState = function()
if (this.collaboratorsElement != null)
{
- var status = '';
+ this.collaboratorsElement.style.display = 'inline-block';
var src = Editor.cloudImage;
-
+ var status = '';
+
if (!this.enabled)
{
status = mxResources.get('disconnected');
@@ -545,6 +556,7 @@ DrawioFileSync.prototype.updateOnlineState = function()
if (state == 1)
{
+ this.collaboratorsElement.style.display = 'none';
src = Editor.syncImage;
}
else
diff --git a/src/main/webapp/js/diagramly/vsdx/importer.js b/src/main/webapp/js/diagramly/vsdx/importer.js
index 9e210259..b02a66cc 100644
--- a/src/main/webapp/js/diagramly/vsdx/importer.js
+++ b/src/main/webapp/js/diagramly/vsdx/importer.js
@@ -3472,6 +3472,17 @@ var com;
mxVsdxModel.prototype.getThemes = function () {
return this.themes;
};
+
+ mxVsdxModel.prototype.getDefaultTheme = function ()
+ {
+ if (this.defaultTheme == null && this.themes.entries != null && this.themes.entries.length > 0)
+ {
+ this.defaultTheme = this.themes.entries[0].getValue();
+ }
+
+ return this.defaultTheme;
+ };
+
mxVsdxModel.prototype.getRelationship = function (rid, path) {
var relsDoc = (function (m, k) { return m[k] ? m[k] : null; })(this.xmlDocs, path);
if (relsDoc == null || rid == null || (rid.length === 0)) {
@@ -9941,6 +9952,9 @@ var com;
if (m.entries[i].key.equals != null && m.entries[i].key.equals(k) || m.entries[i].key === k) {
return m.entries[i].value;
} return null; })(model.getThemes(), themeIndex);
+ if (theme == null) {
+ theme = model.getDefaultTheme();
+ }
var variant = page.getCellIntValue("VariationColorIndex", 0);
_this.setThemeAndVariant(theme, variant);
{
diff --git a/src/main/webapp/js/extensions.min.js b/src/main/webapp/js/extensions.min.js
index 2140201e..4f7e26c4 100644
--- a/src/main/webapp/js/extensions.min.js
+++ b/src/main/webapp/js/extensions.min.js
@@ -1236,9 +1236,9 @@ b&&1==b.nodeType&&function(c,d){return c&&c.equals?c.equals(d):c===d}(b.tagName,
"/pages/pages.xml");if(null!=b)for(b=b.firstChild;null!=b;){if(null!=b&&1==b.nodeType&&function(k,n){return k&&k.equals?k.equals(n):k===n}(b.tagName,h.mxgraph.io.vsdx.mxVsdxConstants.PAGES)){var a=b.getElementsByTagName(h.mxgraph.io.vsdx.mxVsdxConstants.PAGE);if(null!=a&&0<a.length){this.pages={};b={};for(var c=a.length,d=0;d<c;d++){var f=a.item(d);f=this.createPage(f);f.isBackground()&&function(k,n,p){null==k.entries&&(k.entries=[]);for(var x=0;x<k.entries.length;x++)if(null!=k.entries[x].key.equals&&
k.entries[x].key.equals(n)||k.entries[x].key===n){k.entries[x].value=p;return}k.entries.push({key:n,value:p,getKey:function(){return this.key},getValue:function(){return this.value}})}(b,f.getId(),f);(function(k,n,p){null==k.entries&&(k.entries=[]);for(var x=0;x<k.entries.length;x++)if(null!=k.entries[x].key.equals&&k.entries[x].key.equals(n)||k.entries[x].key===n){k.entries[x].value=p;return}k.entries.push({key:n,value:p,getKey:function(){return this.key},getValue:function(){return this.value}})})(this.pages,
f.getId(),f)}a=function(k){null==k.entries&&(k.entries=[]);return k.entries}(this.pages);for(c=0;c<a.length;c++)f=a[c].getValue(),d=f.getBackPageId(),null!=d&&(d=function(k,n){null==k.entries&&(k.entries=[]);for(var p=0;p<k.entries.length;p++)if(null!=k.entries[p].key.equals&&k.entries[p].key.equals(n)||k.entries[p].key===n)return k.entries[p].value;return null}(b,d),f.setBackPage(d))}break}b=b.nextSibling}}};g.prototype.getPages=function(){return this.pages};g.prototype.getThemes=function(){return this.themes};
-g.prototype.getRelationship=function(b,a){a=function(f,k){return f[k]?f[k]:null}(this.xmlDocs,a);if(null==a||null==b||0===b.length)return null;a=a.getElementsByTagName("Relationship");for(var c=0;c<a.length;c++){var d=a.item(c);if(function(f,k){return f&&f.equals?f.equals(k):f===k}(d.getAttribute("Id"),b))return d}return null};g.prototype.getMaster=function(b){var a=this.masters;return a[b]?a[b]:null};g.prototype.createPage=function(b){return new h.mxgraph.io.vsdx.mxVsdxPage(b,this)};g.prototype.getPropertiesManager=
-function(){return this.pm};g.prototype.setPropertiesManager=function(b){this.pm=b};g.prototype.getMasterShapes=function(){return this.masters};g.prototype.setMasterShapes=function(b){this.masters=b};g.prototype.getStylesheet=function(b){var a=this.stylesheets;return a[b]?a[b]:null};g.prototype.getXmlDoc=function(b){var a=this.xmlDocs;return a[b]?a[b]:null};g.prototype.getMedia=function(b){var a=this.media;return a[b]?a[b]:null};return g}();B.mxVsdxModel=m;m.__class="com.mxgraph.io.vsdx.mxVsdxModel"})(z.vsdx||
-(z.vsdx={}))})(y.io||(y.io={}))})(h.mxgraph||(h.mxgraph={}))})(com||(com={}));
+g.prototype.getDefaultTheme=function(){null==this.defaultTheme&&null!=this.themes.entries&&0<this.themes.entries.length&&(this.defaultTheme=this.themes.entries[0].getValue());return this.defaultTheme};g.prototype.getRelationship=function(b,a){a=function(f,k){return f[k]?f[k]:null}(this.xmlDocs,a);if(null==a||null==b||0===b.length)return null;a=a.getElementsByTagName("Relationship");for(var c=0;c<a.length;c++){var d=a.item(c);if(function(f,k){return f&&f.equals?f.equals(k):f===k}(d.getAttribute("Id"),
+b))return d}return null};g.prototype.getMaster=function(b){var a=this.masters;return a[b]?a[b]:null};g.prototype.createPage=function(b){return new h.mxgraph.io.vsdx.mxVsdxPage(b,this)};g.prototype.getPropertiesManager=function(){return this.pm};g.prototype.setPropertiesManager=function(b){this.pm=b};g.prototype.getMasterShapes=function(){return this.masters};g.prototype.setMasterShapes=function(b){this.masters=b};g.prototype.getStylesheet=function(b){var a=this.stylesheets;return a[b]?a[b]:null};
+g.prototype.getXmlDoc=function(b){var a=this.xmlDocs;return a[b]?a[b]:null};g.prototype.getMedia=function(b){var a=this.media;return a[b]?a[b]:null};return g}();B.mxVsdxModel=m;m.__class="com.mxgraph.io.vsdx.mxVsdxModel"})(z.vsdx||(z.vsdx={}))})(y.io||(y.io={}))})(h.mxgraph||(h.mxgraph={}))})(com||(com={}));
(function(h){(function(y){(function(z){(function(B){var m=function(){function g(b,a){this.pageName=this.Id=null;this.__isBackground=!1;this.model=this.pageSheet=this.pageElement=this.backPage=this.backPageId=null;this.shapes={};this.connects={};this.cellElements={};this.model=a;this.pageElement=b;this.layers=[];var c=b.getAttribute(h.mxgraph.io.vsdx.mxVsdxConstants.BACKGROUND),d;if(d=null!=c)d=h.mxgraph.io.vsdx.mxVsdxConstants.TRUE,d=c&&c.equals?c.equals(d):c===d;this.__isBackground=d?!0:!1;c=b.getAttribute(h.mxgraph.io.vsdx.mxVsdxConstants.BACK_PAGE);
null!=c&&0<c.length&&(this.backPageId=parseFloat(c));this.Id=parseFloat(b.getAttribute(h.mxgraph.io.vsdx.mxVsdxConstants.ID));this.pageName=b.getAttribute(h.mxgraph.io.vsdx.mxVsdxConstants.NAME)||"";this.pageNameU=b.getAttribute(h.mxgraph.io.vsdx.mxVsdxConstants.NAME_U)||this.pageName;c=h.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(b,"PageSheet");if(0<c.length){c=c[0];d=h.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(c,"Cell");for(var f=0;f<d.length;f++){var k=d[f],n=k.getAttribute("N");
this.cellElements[n]=k}c=h.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(c,"Section");for(d=0;d<c.length;d++)if(f=c[d],n=f.getAttribute("N"),"Layer"==n)for(n=h.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(f,"Row"),f=0;f<n.length;f++){k=h.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(n[f],"Cell");for(var p={},x=0;x<k.length;x++)p[k[x].getAttribute("N")]=k[x].getAttribute("V");this.layers[parseInt(n[f].getAttribute("IX"))]=p}}this.parseNodes(b,a,"pages")}g.prototype.parseNodes=
@@ -1481,8 +1481,8 @@ a};b.prototype.setLastMoveX=function(a){this.lastMoveX=a};b.prototype.setLastMov
n[A],J=C.getAttribute("N");C=this.getScreenNumericalValue$org_w3c_dom_Element$double(C,0);"X"==J?p=mxUtils.format(C/d):"Y"==J&&(x=mxUtils.format(1-C/c))}null!=p&&null!=x&&a.push({x:p,y:x})}0==a.length&&this.master&&this.master.masterShape&&(a=this.master.masterShape.getConnections());return a};return b}(h.mxgraph.io.vsdx.Style);m.VSDX_START_TIME=(new Date("1899-12-30T00:00:00Z")).getTime();B.Shape=m;m.__class="com.mxgraph.io.vsdx.Shape"})(z.vsdx||(z.vsdx={}))})(y.io||(y.io={}))})(h.mxgraph||(h.mxgraph=
{}))})(com||(com={}));
(function(h){(function(y){(function(z){(function(B){var m=function(g){function b(a,c,d,f,k,n){var p=this;p.masterShape=null;p.master=null;p.parentHeight=0;p=g.call(this,c,n)||this;p.htmlLabels=!0;p.rootShape=p;p.shapeName=null;p.shapeIndex=0;p.vertex=!0;p.childShapes={};var x=p.getMasterId(),A=p.getShapeMasterId();p.master=null!=x?f[x]?f[x]:null:k;null!=p.master&&(p.masterShape=null==x&&null!=A?p.master.getSubShape(A):p.master.getMasterShape());f=p.getNameU();k=f.lastIndexOf(".");-1!==k&&(f=f.substring(0,
-k));p.shapeName=f;c=c.getElementsByTagName(h.mxgraph.io.vsdx.mxVsdxConstants.SHAPES);null!=c&&0<c.length&&(c=c.item(0),p.childShapes=a.parseShapes(c,p.master,!1));c=p.calcRotation();p.rotation=100*c/100;p.rotation%=360;c=a.getCellIntValue("ThemeIndex",-100);-100===c&&(c=parseInt(p.getValue(p.getCellElement$java_lang_String("ThemeIndex"),"0")));n=function(C,J){null==C.entries&&(C.entries=[]);for(var I=0;I<C.entries.length;I++)if(null!=C.entries[I].key.equals&&C.entries[I].key.equals(J)||C.entries[I].key===
-J)return C.entries[I].value;return null}(n.getThemes(),c);a=a.getCellIntValue("VariationColorIndex",0);p.setThemeAndVariant(n,a);c=function(C){null==C.entries&&(C.entries=[]);return C.entries}(p.childShapes);for(f=0;f<c.length;f++)k=c[f].getValue(),k.setRootShape(p),null==k.theme&&k.setThemeAndVariant(n,a);p.quickStyleVals=new h.mxgraph.io.vsdx.theme.QuickStyleVals(parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleEffectsMatrix"),"0")),parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleFillColor"),
+k));p.shapeName=f;c=c.getElementsByTagName(h.mxgraph.io.vsdx.mxVsdxConstants.SHAPES);null!=c&&0<c.length&&(c=c.item(0),p.childShapes=a.parseShapes(c,p.master,!1));c=p.calcRotation();p.rotation=100*c/100;p.rotation%=360;c=a.getCellIntValue("ThemeIndex",-100);-100===c&&(c=parseInt(p.getValue(p.getCellElement$java_lang_String("ThemeIndex"),"0")));c=function(C,J){null==C.entries&&(C.entries=[]);for(var I=0;I<C.entries.length;I++)if(null!=C.entries[I].key.equals&&C.entries[I].key.equals(J)||C.entries[I].key===
+J)return C.entries[I].value;return null}(n.getThemes(),c);null==c&&(c=n.getDefaultTheme());a=a.getCellIntValue("VariationColorIndex",0);p.setThemeAndVariant(c,a);n=function(C){null==C.entries&&(C.entries=[]);return C.entries}(p.childShapes);for(f=0;f<n.length;f++)k=n[f].getValue(),k.setRootShape(p),null==k.theme&&k.setThemeAndVariant(c,a);p.quickStyleVals=new h.mxgraph.io.vsdx.theme.QuickStyleVals(parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleEffectsMatrix"),"0")),parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleFillColor"),
"1")),parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleFillMatrix"),"0")),parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleFontColor"),"1")),parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleFontMatrix"),"0")),parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleLineColor"),"1")),parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleLineMatrix"),"0")),parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleShadowColor"),
"1")),parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleType"),"0")),parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleVariation"),"0")));null!=p.masterShape?(p.masterShape.processGeomList(null),p.processGeomList(p.masterShape.getGeomList()),0===p.width&&(p.width=p.getScreenNumericalValue$org_w3c_dom_Element$double(p.getCellElement$java_lang_String(h.mxgraph.io.vsdx.mxVsdxConstants.WIDTH),0)),0===p.height&&(p.height=p.getScreenNumericalValue$org_w3c_dom_Element$double(p.getCellElement$java_lang_String(h.mxgraph.io.vsdx.mxVsdxConstants.HEIGHT),
0))):p.processGeomList(null);p.vertex=d||null!=p.childShapes&&!function(C){null==C.entries&&(C.entries=[]);return 0==C.entries.length}(p.childShapes)||null!=p.geomList&&(!p.geomList.isNoFill()||1<p.geomList.getGeoCount());p.layerMember=p.getValue(p.getCellElement$java_lang_String("LayerMember"));p.layerMember&&0==p.layerMember.indexOf("0;")&&(p.layerMember=p.layerMember.substr(2));return p}__extends(b,g);b.__static_initialize=function(){b.__static_initialized||(b.__static_initialized=!0,b.__static_initializer_0())};
diff --git a/src/main/webapp/js/grapheditor/Graph.js b/src/main/webapp/js/grapheditor/Graph.js
index 3b2bb48f..b4904125 100644
--- a/src/main/webapp/js/grapheditor/Graph.js
+++ b/src/main/webapp/js/grapheditor/Graph.js
@@ -1750,13 +1750,23 @@ Graph.sanitizeNode = function(value)
return Graph.domPurify(value, true);
};
+// Allows use tag in SVG with local references only
+DOMPurify.addHook('afterSanitizeAttributes', function(node)
+{
+ if (node.hasAttribute('xlink:href') && !node.getAttribute('xlink:href').match(/^#/))
+ {
+ node.remove();
+ }
+});
+
/**
* Sanitizes the given value.
*/
Graph.domPurify = function(value, inPlace)
{
- return DOMPurify.sanitize(value, {IN_PLACE: inPlace, ADD_ATTR: ['target'], FORBID_TAGS: ['form'],
- ALLOWED_URI_REGEXP: /^(?:(?:https?|mailto|tel|callto|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i});
+ window.DOM_PURIFY_CONFIG.IN_PLACE = inPlace;
+
+ return DOMPurify.sanitize(value, window.DOM_PURIFY_CONFIG);
};
/**
@@ -1784,7 +1794,7 @@ Graph.clipSvgDataUri = function(dataUri, ignorePreserveAspect)
{
// Strips leading XML declaration and doctypes
div.innerHTML = data.substring(idx);
-
+
// Removes all attributes starting with on
Graph.sanitizeNode(div);
diff --git a/src/main/webapp/js/grapheditor/Init.js b/src/main/webapp/js/grapheditor/Init.js
index 0272e2ef..37429a9e 100644
--- a/src/main/webapp/js/grapheditor/Init.js
+++ b/src/main/webapp/js/grapheditor/Init.js
@@ -7,6 +7,9 @@
window.urlParams = window.urlParams || {};
// Public global variables
+window.DOM_PURIFY_CONFIG = window.DOM_PURIFY_CONFIG ||
+ {ADD_TAGS: ['use'], ADD_ATTR: ['target'], FORBID_TAGS: ['form'],
+ ALLOWED_URI_REGEXP: /^(?:(?:https?|mailto|tel|callto|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i};
window.MAX_REQUEST_SIZE = window.MAX_REQUEST_SIZE || 10485760;
window.MAX_AREA = window.MAX_AREA || 15000 * 15000;
diff --git a/src/main/webapp/js/integrate.min.js b/src/main/webapp/js/integrate.min.js
index 611bf487..4e660f20 100644
--- a/src/main/webapp/js/integrate.min.js
+++ b/src/main/webapp/js/integrate.min.js
@@ -467,8 +467,9 @@ return a}();
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";
"se.diagrams.net"==window.location.hostname&&(urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0",urlParams.plugins="0",urlParams.mode="google",urlParams.lockdown="1",window.DRAWIO_GOOGLE_APP_ID=window.DRAWIO_GOOGLE_APP_ID||"184079235871",window.DRAWIO_GOOGLE_CLIENT_ID=window.DRAWIO_GOOGLE_CLIENT_ID||"184079235871-pjf5nn0lff27lk8qf0770gmffiv9gt61.apps.googleusercontent.com");"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:"18.0.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/"),
+"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.DOM_PURIFY_CONFIG=window.DOM_PURIFY_CONFIG||{ADD_TAGS:["use"],ADD_ATTR:["target"],FORBID_TAGS:["form"],ALLOWED_URI_REGEXP:/^(?:(?:https?|mailto|tel|callto|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i};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:"18.1.1",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)||navigator.userAgent.match(/Mac/)&&navigator.maxTouchPoints&&2<navigator.maxTouchPoints,IS_WEBVIEW:/((iPhone|iPod|iPad).*AppleWebKit(?!.*Version)|; wv)/i.test(navigator.userAgent),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]"!==
@@ -1348,7 +1349,7 @@ mxGraphSelectionModel.prototype.cellAdded=function(a){null==a||this.isSelected(a
mxSelectionChange.prototype.execute=function(){var a=mxLog.enter("mxSelectionChange.execute");window.status=mxResources.get(this.selectionModel.updatingSelectionResource)||this.selectionModel.updatingSelectionResource;if(null!=this.removed)for(var b=0;b<this.removed.length;b++)this.selectionModel.cellRemoved(this.removed[b]);if(null!=this.added)for(b=0;b<this.added.length;b++)this.selectionModel.cellAdded(this.added[b]);b=this.added;this.added=this.removed;this.removed=b;window.status=mxResources.get(this.selectionModel.doneResource)||
this.selectionModel.doneResource;mxLog.leave("mxSelectionChange.execute",a);this.selectionModel.fireEvent(new mxEventObject(mxEvent.CHANGE,"added",this.added,"removed",this.removed))};
function mxCellEditor(a){this.graph=a;this.zoomHandler=mxUtils.bind(this,function(){this.graph.isEditing()&&this.resize()});this.graph.view.addListener(mxEvent.SCALE,this.zoomHandler);this.graph.view.addListener(mxEvent.SCALE_AND_TRANSLATE,this.zoomHandler);this.changeHandler=mxUtils.bind(this,function(b){null!=this.editingCell&&(b=this.graph.getView().getState(this.editingCell),null==b?this.stopEditing(!0):this.updateTextAreaStyle(b))});this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler)}
-mxCellEditor.prototype.graph=null;mxCellEditor.prototype.textarea=null;mxCellEditor.prototype.editingCell=null;mxCellEditor.prototype.trigger=null;mxCellEditor.prototype.modified=!1;mxCellEditor.prototype.autoSize=!0;mxCellEditor.prototype.selectText=!0;mxCellEditor.prototype.emptyLabelText=mxClient.IS_FF?"<br>":"";mxCellEditor.prototype.escapeCancelsEditing=!0;mxCellEditor.prototype.textNode="";mxCellEditor.prototype.zIndex=5;mxCellEditor.prototype.minResize=new mxRectangle(0,20);
+mxCellEditor.prototype.graph=null;mxCellEditor.prototype.textarea=null;mxCellEditor.prototype.editingCell=null;mxCellEditor.prototype.trigger=null;mxCellEditor.prototype.modified=!1;mxCellEditor.prototype.autoSize=!0;mxCellEditor.prototype.selectText=!0;mxCellEditor.prototype.emptyLabelText=mxClient.IS_FF?"<br>":"";mxCellEditor.prototype.escapeCancelsEditing=!0;mxCellEditor.prototype.textNode="";mxCellEditor.prototype.zIndex=1;mxCellEditor.prototype.minResize=new mxRectangle(0,20);
mxCellEditor.prototype.wordWrapPadding=mxClient.IS_IE11?0:1;mxCellEditor.prototype.blurEnabled=!1;mxCellEditor.prototype.initialValue=null;mxCellEditor.prototype.align=null;mxCellEditor.prototype.init=function(){this.textarea=document.createElement("div");this.textarea.className="mxCellEditor mxPlainTextEditor";this.textarea.contentEditable=!0;mxClient.IS_GC&&(this.textarea.style.minHeight="1em");this.textarea.style.position=this.isLegacyEditor()?"absolute":"relative";this.installListeners(this.textarea)};
mxCellEditor.prototype.applyValue=function(a,b){this.graph.labelChanged(a.cell,b,this.trigger)};mxCellEditor.prototype.setAlign=function(a){null!=this.textarea&&(this.textarea.style.textAlign=a);this.align=a;this.resize()};mxCellEditor.prototype.getInitialValue=function(a,b){a=mxUtils.htmlEntities(this.graph.getEditingValue(a.cell,b),!1);8!=document.documentMode&&9!=document.documentMode&&10!=document.documentMode&&(a=mxUtils.replaceTrailingNewlines(a,"<div><br></div>"));return a.replace(/\n/g,"<br>")};
mxCellEditor.prototype.getCurrentValue=function(a){return mxUtils.extractTextWithWhitespace(this.textarea.childNodes)};mxCellEditor.prototype.isCancelEditingKeyEvent=function(a){return this.escapeCancelsEditing||mxEvent.isShiftDown(a)||mxEvent.isControlDown(a)||mxEvent.isMetaDown(a)};
@@ -2869,7 +2870,8 @@ Graph.arrayBufferIndexOfString=function(a,c,f){var e=c.charCodeAt(0),g=1,d=-1;fo
Graph.decompress=function(a,c,f){if(null==a||0==a.length||"undefined"===typeof pako)return a;a=Graph.stringToArrayBuffer(atob(a));c=decodeURIComponent(c?pako.inflate(a,{to:"string"}):pako.inflateRaw(a,{to:"string"}));return f?c:Graph.zapGremlins(c)};
Graph.fadeNodes=function(a,c,f,e,g){g=null!=g?g:1E3;Graph.setTransitionForNodes(a,null);Graph.setOpacityForNodes(a,c);window.setTimeout(function(){Graph.setTransitionForNodes(a,"all "+g+"ms ease-in-out");Graph.setOpacityForNodes(a,f);window.setTimeout(function(){Graph.setTransitionForNodes(a,null);null!=e&&e()},g)},0)};Graph.removeKeys=function(a,c){for(var f in a)c(f)&&delete a[f]};
Graph.setTransitionForNodes=function(a,c){for(var f=0;f<a.length;f++)mxUtils.setPrefixedStyle(a[f].style,"transition",c)};Graph.setOpacityForNodes=function(a,c){for(var f=0;f<a.length;f++)a[f].style.opacity=c};Graph.removePasteFormatting=function(a){for(;null!=a;)null!=a.firstChild&&Graph.removePasteFormatting(a.firstChild),a.nodeType==mxConstants.NODETYPE_ELEMENT&&null!=a.style&&(a.style.whiteSpace="","#000000"==a.style.color&&(a.style.color="")),a=a.nextSibling};
-Graph.sanitizeHtml=function(a,c){return Graph.domPurify(a,!1)};Graph.sanitizeLink=function(a){var c=document.createElement("a");c.setAttribute("href",a);Graph.sanitizeNode(c);return c.getAttribute("href")};Graph.sanitizeNode=function(a){return Graph.domPurify(a,!0)};Graph.domPurify=function(a,c){return DOMPurify.sanitize(a,{IN_PLACE:c,ADD_ATTR:["target"],FORBID_TAGS:["form"],ALLOWED_URI_REGEXP:/^(?:(?:https?|mailto|tel|callto|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i})};
+Graph.sanitizeHtml=function(a,c){return Graph.domPurify(a,!1)};Graph.sanitizeLink=function(a){var c=document.createElement("a");c.setAttribute("href",a);Graph.sanitizeNode(c);return c.getAttribute("href")};Graph.sanitizeNode=function(a){return Graph.domPurify(a,!0)};DOMPurify.addHook("afterSanitizeAttributes",function(a){a.hasAttribute("xlink:href")&&!a.getAttribute("xlink:href").match(/^#/)&&a.remove()});
+Graph.domPurify=function(a,c){window.DOM_PURIFY_CONFIG.IN_PLACE=c;return DOMPurify.sanitize(a,window.DOM_PURIFY_CONFIG)};
Graph.clipSvgDataUri=function(a,c){if(!mxClient.IS_IE&&!mxClient.IS_IE11&&null!=a&&"data:image/svg+xml;base64,"==a.substring(0,26))try{var f=document.createElement("div");f.style.position="absolute";f.style.visibility="hidden";var e=decodeURIComponent(escape(atob(a.substring(26)))),g=e.indexOf("<svg");if(0<=g){f.innerHTML=e.substring(g);Graph.sanitizeNode(f);var d=f.getElementsByTagName("svg");if(0<d.length){if(c||null!=d[0].getAttribute("preserveAspectRatio")){document.body.appendChild(f);try{e=
c=1;var k=d[0].getAttribute("width"),n=d[0].getAttribute("height");k=null!=k&&"%"!=k.charAt(k.length-1)?parseFloat(k):NaN;n=null!=n&&"%"!=n.charAt(n.length-1)?parseFloat(n):NaN;var u=d[0].getAttribute("viewBox");if(null!=u&&!isNaN(k)&&!isNaN(n)){var m=u.split(" ");4<=u.length&&(c=parseFloat(m[2])/k,e=parseFloat(m[3])/n)}var r=d[0].getBBox();0<r.width&&0<r.height&&(f.getElementsByTagName("svg")[0].setAttribute("viewBox",r.x+" "+r.y+" "+r.width+" "+r.height),f.getElementsByTagName("svg")[0].setAttribute("width",
r.width/c),f.getElementsByTagName("svg")[0].setAttribute("height",r.height/e))}catch(x){}finally{document.body.removeChild(f)}}a=Editor.createSvgDataUri(mxUtils.getXml(d[0]))}}}catch(x){}return a};Graph.stripQuotes=function(a){null!=a&&("'"==a.charAt(0)&&(a=a.substring(1)),"'"==a.charAt(a.length-1)&&(a=a.substring(0,a.length-1)),'"'==a.charAt(0)&&(a=a.substring(1)),'"'==a.charAt(a.length-1)&&(a=a.substring(0,a.length-1)));return a};
@@ -11695,7 +11697,7 @@ C.appendChild(S);O.appendChild(C);this.container=O};var V=ChangePageSetup.protot
this.format);null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled);null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)}}else V.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 U=document.createElement("canvas"),X=new Image;X.onload=function(){try{U.getContext("2d").drawImage(X,0,0);var n=U.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=n&&6<n.length}catch(C){}};X.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(n){}})();
(function(){var b=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);b.beforeDecode=function(f,l,d){d.ui=f.ui;return l};b.afterDecode=function(f,l,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(b)})();
-(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(f,l,d){d.ui=f.ui;return l};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="18.0.8";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(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=
+(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(f,l,d){d.ui=f.ui;return l};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="18.1.1";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(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=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.nativeFileSupport=!mxClient.IS_OP&&!EditorUi.isElectronApp&&
"1"!=urlParams.extAuth&&"showSaveFilePicker"in window&&"showOpenFilePicker"in window;EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.diagrams.net/doc/faq/scratchpad";EditorUi.enableHtmlEditOption=!0;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(c,e,g,k,m,p,v){p=null!=p?p:0<=c.indexOf("NetworkError")||0<=c.indexOf("SecurityError")||0<=c.indexOf("NS_ERROR_FAILURE")||0<=c.indexOf("out of memory")?"CONFIG":"SEVERE";if(EditorUi.enableLogging&&
@@ -12186,13 +12188,14 @@ DrawioFileSync.prototype.start=function(){null==this.channelId&&(this.channelId=
DrawioFileSync.prototype.updateRealtime=function(){this.isValidState()&&(this.file.isRealtimeEnabled()&&this.file.isRealtimeSupported()&&this.isRealtimeActive()?this.file.isRealtime()||this.initRealtime():this.file.isRealtime()&&this.resetRealtime(),DrawioFileSync.ENABLE_SOCKETS&&this.file.isRealtime()&&null==this.p2pCollab&&null!=this.channelId?(this.p2pCollab=new P2PCollab(this.ui,this,this.channelId),this.p2pCollab.joinFile()):this.file.isRealtime()||null==this.p2pCollab||(this.p2pCollab.destroy(),
this.p2pCollab=null))};DrawioFileSync.prototype.initRealtime=function(){this.file.theirPages=this.ui.clonePages(this.ui.pages);this.file.ownPages=this.ui.clonePages(this.ui.pages);this.snapshot=this.file.ownPages};DrawioFileSync.prototype.resetRealtime=function(){var b=this.file.getShadowPages();null!=b&&(b=this.ui.diffPages(b,this.file.ownPages),this.file.patch([b]));this.sendLocalChanges();this.cleanup();this.file.theirPages=null;this.snapshot=this.file.ownPages=null};
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 b=mxUtils.bind(this,function(d){mxEvent.addListener(d,"click",mxUtils.bind(this,function(u){if(this.file.isRealtimeEnabled()&&this.file.isRealtimeSupported()){u=this.file.getRealtimeState();var t=this.file.getRealtimeError();this.ui.showError(mxResources.get("realtimeCollaboration"),mxUtils.htmlEntities(1==u?mxResources.get("online"):null!=t&&null!=t.message?t.message:mxResources.get("disconnected")))}else this.enabled=
-!this.enabled,this.ui.updateButtonContainer(),this.resetUpdateStatusThread(),this.updateOnlineState(),this.updateStatus(),!this.file.inConflictState&&this.enabled&&this.fileChangedNotify()}))});if(null!=this.ui.toolbarContainer&&null==this.collaboratorsElement){var f=document.createElement("a");f.className="geButton";f.style.position="absolute";f.style.display="inline-block";f.style.verticalAlign="bottom";f.style.color="#666";f.style.top="6px";f.style.right="atlas"!=uiTheme?"70px":"50px";f.style.padding=
-"2px";f.style.fontSize="8pt";f.style.verticalAlign="middle";f.style.textDecoration="none";f.style.backgroundPosition="center center";f.style.backgroundRepeat="no-repeat";f.style.backgroundSize="16px 16px";f.style.width="16px";f.style.height="16px";mxUtils.setOpacity(f,60);"dark"==uiTheme&&(f.style.filter="invert(100%)");mxEvent.addListener(f,mxClient.IS_POINTER?"pointerdown":"mousedown",mxUtils.bind(this,function(d){d.preventDefault()}));b(f);this.ui.toolbarContainer.appendChild(f);this.collaboratorsElement=
-f}if(null!=this.collaboratorsElement){b="";var l=Editor.cloudImage;this.enabled?this.file.invalidChecksum?(b=mxResources.get("error")+": "+mxResources.get("checksum"),l=Editor.syncProblemImage):this.ui.isOffline(!0)||!this.isConnected()?(b=mxResources.get("offline"),l=Editor.cloudOffImage):(b=mxResources.get("online"),this.file.isRealtimeEnabled()&&this.file.isRealtimeSupported()&&(f=this.file.getRealtimeError(),l=this.file.getRealtimeState(),b=mxResources.get("realtimeCollaboration"),1==l?l=Editor.syncImage:
-(l=Editor.syncProblemImage,b=null!=f&&null!=f.message?b+(" ("+f.message+")"):b+(" ("+mxResources.get("disconnected")+")")))):(b=mxResources.get("disconnected"),l=Editor.cloudOffImage);this.collaboratorsElement.setAttribute("title",b);this.collaboratorsElement.style.backgroundImage="url("+l+")"}}};
-DrawioFileSync.prototype.updateStatus=function(){this.isConnected()&&null!=this.lastActivity&&(Date.now()-this.lastActivity)/1E3>this.inactivityTimeoutSeconds&&this.stop();if(!(this.file.isModified()||this.file.inConflictState||null!=this.file.autosaveThread||this.file.savingFile||this.file.redirectDialogShowing))if(this.enabled&&null!=this.ui.statusContainer){var b=this.ui.timeSince(new Date(this.lastModified));null==b&&(b=mxResources.get("lessThanAMinute"));var f=this.file.isRevisionHistorySupported(),
-l=this.lastMessage;this.lastMessage=null;null!=l&&40<l.length&&(l=l.substring(0,40)+"...");b=mxResources.get("lastChange",[b]);this.ui.editor.setStatus('<div title="'+mxUtils.htmlEntities(b)+'">'+mxUtils.htmlEntities(b)+"</div>"+(this.file.isEditable()?"":'<div class="geStatusAlert">'+mxUtils.htmlEntities(mxResources.get("readOnly"))+"</div>")+(this.isConnected()?"":'<div class="geStatusAlert">'+mxUtils.htmlEntities(mxResources.get("disconnected"))+"</div>")+(null!=l?' <span title="'+mxUtils.htmlEntities(l)+
+DrawioFileSync.prototype.updateOnlineState=function(){if("1"!=urlParams.embedRT){var b=mxUtils.bind(this,function(d){mxEvent.addListener(d,"click",mxUtils.bind(this,function(u){if(this.file.isRealtimeEnabled()&&this.file.isRealtimeSupported()){u=this.file.getRealtimeState();var t=mxResources.get("disconnected");this.file.invalidChecksum?t=mxResources.get("error")+": "+mxResources.get("checksum"):this.ui.isOffline(!0)||!this.isConnected()?t=mxResources.get("offline"):1==u&&(t=mxResources.get("online"));
+this.ui.showError(mxResources.get("realtimeCollaboration"),mxUtils.htmlEntities(t))}else this.enabled=!this.enabled,this.ui.updateButtonContainer(),this.resetUpdateStatusThread(),this.updateOnlineState(),this.updateStatus(),!this.file.inConflictState&&this.enabled&&this.fileChangedNotify()}))});if(null!=this.ui.toolbarContainer&&null==this.collaboratorsElement){var f=document.createElement("a");f.className="geButton";f.style.position="absolute";f.style.display="inline-block";f.style.verticalAlign=
+"bottom";f.style.color="#666";f.style.top="6px";f.style.right="atlas"!=uiTheme?"70px":"50px";f.style.padding="2px";f.style.fontSize="8pt";f.style.verticalAlign="middle";f.style.textDecoration="none";f.style.backgroundPosition="center center";f.style.backgroundRepeat="no-repeat";f.style.backgroundSize="16px 16px";f.style.width="16px";f.style.height="16px";mxUtils.setOpacity(f,60);"dark"==uiTheme&&(f.style.filter="invert(100%)");mxEvent.addListener(f,mxClient.IS_POINTER?"pointerdown":"mousedown",mxUtils.bind(this,
+function(d){d.preventDefault()}));b(f);this.ui.toolbarContainer.appendChild(f);this.collaboratorsElement=f}if(null!=this.collaboratorsElement){this.collaboratorsElement.style.display="inline-block";var l=Editor.cloudImage;b="";this.enabled?this.file.invalidChecksum?(b=mxResources.get("error")+": "+mxResources.get("checksum"),l=Editor.syncProblemImage):this.ui.isOffline(!0)||!this.isConnected()?(b=mxResources.get("offline"),l=Editor.cloudOffImage):(b=mxResources.get("online"),this.file.isRealtimeEnabled()&&
+this.file.isRealtimeSupported()&&(f=this.file.getRealtimeError(),l=this.file.getRealtimeState(),b=mxResources.get("realtimeCollaboration"),1==l?(this.collaboratorsElement.style.display="none",l=Editor.syncImage):(l=Editor.syncProblemImage,b=null!=f&&null!=f.message?b+(" ("+f.message+")"):b+(" ("+mxResources.get("disconnected")+")")))):(b=mxResources.get("disconnected"),l=Editor.cloudOffImage);this.collaboratorsElement.setAttribute("title",b);this.collaboratorsElement.style.backgroundImage="url("+
+l+")"}}};
+DrawioFileSync.prototype.updateStatus=function(){this.isConnected()&&null!=this.lastActivity&&(Date.now()-this.lastActivity)/1E3>this.inactivityTimeoutSeconds&&this.stop();if(!(this.file.isModified()||this.file.inConflictState||null!=this.file.autosaveThread||this.file.savingFile||this.file.redirectDialogShowing))if(this.enabled&&null!=this.ui.statusContainer){var b=this.ui.timeSince(new Date(this.lastModified));null==b&&(b=mxResources.get("lessThanAMinute"));var f=this.file.isRevisionHistorySupported(),l=
+this.lastMessage;this.lastMessage=null;null!=l&&40<l.length&&(l=l.substring(0,40)+"...");b=mxResources.get("lastChange",[b]);this.ui.editor.setStatus('<div title="'+mxUtils.htmlEntities(b)+'">'+mxUtils.htmlEntities(b)+"</div>"+(this.file.isEditable()?"":'<div class="geStatusAlert">'+mxUtils.htmlEntities(mxResources.get("readOnly"))+"</div>")+(this.isConnected()?"":'<div class="geStatusAlert">'+mxUtils.htmlEntities(mxResources.get("disconnected"))+"</div>")+(null!=l?' <span title="'+mxUtils.htmlEntities(l)+
'">('+mxUtils.htmlEntities(l)+")</span>":""));l=this.ui.statusContainer.getElementsByTagName("div");0<l.length&&f&&(l[0].style.display="inline-block",f&&(l[0].style.cursor="pointer",l[0].style.textDecoration="underline",mxEvent.addListener(l[0],"click",mxUtils.bind(this,function(){this.ui.actions.get("revisionHistory").funct()}))));f=this.ui.statusContainer.getElementsByTagName("span");if(0<f.length){var d=f[0];d.style.opacity="0";mxUtils.setPrefixedStyle(d.style,"transition","all 0.2s ease");window.setTimeout(mxUtils.bind(this,
function(){mxUtils.setOpacity(d,100);mxUtils.setPrefixedStyle(d.style,"transition","all 1s ease");window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(d,0);window.setTimeout(mxUtils.bind(this,function(){this.updateStatus()}),1E3)}),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)};
@@ -14168,9 +14171,9 @@ b&&1==b.nodeType&&function(c,d){return c&&c.equals?c.equals(d):c===d}(b.tagName,
"/pages/pages.xml");if(null!=b)for(b=b.firstChild;null!=b;){if(null!=b&&1==b.nodeType&&function(k,n){return k&&k.equals?k.equals(n):k===n}(b.tagName,h.mxgraph.io.vsdx.mxVsdxConstants.PAGES)){var a=b.getElementsByTagName(h.mxgraph.io.vsdx.mxVsdxConstants.PAGE);if(null!=a&&0<a.length){this.pages={};b={};for(var c=a.length,d=0;d<c;d++){var f=a.item(d);f=this.createPage(f);f.isBackground()&&function(k,n,p){null==k.entries&&(k.entries=[]);for(var x=0;x<k.entries.length;x++)if(null!=k.entries[x].key.equals&&
k.entries[x].key.equals(n)||k.entries[x].key===n){k.entries[x].value=p;return}k.entries.push({key:n,value:p,getKey:function(){return this.key},getValue:function(){return this.value}})}(b,f.getId(),f);(function(k,n,p){null==k.entries&&(k.entries=[]);for(var x=0;x<k.entries.length;x++)if(null!=k.entries[x].key.equals&&k.entries[x].key.equals(n)||k.entries[x].key===n){k.entries[x].value=p;return}k.entries.push({key:n,value:p,getKey:function(){return this.key},getValue:function(){return this.value}})})(this.pages,
f.getId(),f)}a=function(k){null==k.entries&&(k.entries=[]);return k.entries}(this.pages);for(c=0;c<a.length;c++)f=a[c].getValue(),d=f.getBackPageId(),null!=d&&(d=function(k,n){null==k.entries&&(k.entries=[]);for(var p=0;p<k.entries.length;p++)if(null!=k.entries[p].key.equals&&k.entries[p].key.equals(n)||k.entries[p].key===n)return k.entries[p].value;return null}(b,d),f.setBackPage(d))}break}b=b.nextSibling}}};g.prototype.getPages=function(){return this.pages};g.prototype.getThemes=function(){return this.themes};
-g.prototype.getRelationship=function(b,a){a=function(f,k){return f[k]?f[k]:null}(this.xmlDocs,a);if(null==a||null==b||0===b.length)return null;a=a.getElementsByTagName("Relationship");for(var c=0;c<a.length;c++){var d=a.item(c);if(function(f,k){return f&&f.equals?f.equals(k):f===k}(d.getAttribute("Id"),b))return d}return null};g.prototype.getMaster=function(b){var a=this.masters;return a[b]?a[b]:null};g.prototype.createPage=function(b){return new h.mxgraph.io.vsdx.mxVsdxPage(b,this)};g.prototype.getPropertiesManager=
-function(){return this.pm};g.prototype.setPropertiesManager=function(b){this.pm=b};g.prototype.getMasterShapes=function(){return this.masters};g.prototype.setMasterShapes=function(b){this.masters=b};g.prototype.getStylesheet=function(b){var a=this.stylesheets;return a[b]?a[b]:null};g.prototype.getXmlDoc=function(b){var a=this.xmlDocs;return a[b]?a[b]:null};g.prototype.getMedia=function(b){var a=this.media;return a[b]?a[b]:null};return g}();B.mxVsdxModel=m;m.__class="com.mxgraph.io.vsdx.mxVsdxModel"})(z.vsdx||
-(z.vsdx={}))})(y.io||(y.io={}))})(h.mxgraph||(h.mxgraph={}))})(com||(com={}));
+g.prototype.getDefaultTheme=function(){null==this.defaultTheme&&null!=this.themes.entries&&0<this.themes.entries.length&&(this.defaultTheme=this.themes.entries[0].getValue());return this.defaultTheme};g.prototype.getRelationship=function(b,a){a=function(f,k){return f[k]?f[k]:null}(this.xmlDocs,a);if(null==a||null==b||0===b.length)return null;a=a.getElementsByTagName("Relationship");for(var c=0;c<a.length;c++){var d=a.item(c);if(function(f,k){return f&&f.equals?f.equals(k):f===k}(d.getAttribute("Id"),
+b))return d}return null};g.prototype.getMaster=function(b){var a=this.masters;return a[b]?a[b]:null};g.prototype.createPage=function(b){return new h.mxgraph.io.vsdx.mxVsdxPage(b,this)};g.prototype.getPropertiesManager=function(){return this.pm};g.prototype.setPropertiesManager=function(b){this.pm=b};g.prototype.getMasterShapes=function(){return this.masters};g.prototype.setMasterShapes=function(b){this.masters=b};g.prototype.getStylesheet=function(b){var a=this.stylesheets;return a[b]?a[b]:null};
+g.prototype.getXmlDoc=function(b){var a=this.xmlDocs;return a[b]?a[b]:null};g.prototype.getMedia=function(b){var a=this.media;return a[b]?a[b]:null};return g}();B.mxVsdxModel=m;m.__class="com.mxgraph.io.vsdx.mxVsdxModel"})(z.vsdx||(z.vsdx={}))})(y.io||(y.io={}))})(h.mxgraph||(h.mxgraph={}))})(com||(com={}));
(function(h){(function(y){(function(z){(function(B){var m=function(){function g(b,a){this.pageName=this.Id=null;this.__isBackground=!1;this.model=this.pageSheet=this.pageElement=this.backPage=this.backPageId=null;this.shapes={};this.connects={};this.cellElements={};this.model=a;this.pageElement=b;this.layers=[];var c=b.getAttribute(h.mxgraph.io.vsdx.mxVsdxConstants.BACKGROUND),d;if(d=null!=c)d=h.mxgraph.io.vsdx.mxVsdxConstants.TRUE,d=c&&c.equals?c.equals(d):c===d;this.__isBackground=d?!0:!1;c=b.getAttribute(h.mxgraph.io.vsdx.mxVsdxConstants.BACK_PAGE);
null!=c&&0<c.length&&(this.backPageId=parseFloat(c));this.Id=parseFloat(b.getAttribute(h.mxgraph.io.vsdx.mxVsdxConstants.ID));this.pageName=b.getAttribute(h.mxgraph.io.vsdx.mxVsdxConstants.NAME)||"";this.pageNameU=b.getAttribute(h.mxgraph.io.vsdx.mxVsdxConstants.NAME_U)||this.pageName;c=h.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(b,"PageSheet");if(0<c.length){c=c[0];d=h.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(c,"Cell");for(var f=0;f<d.length;f++){var k=d[f],n=k.getAttribute("N");
this.cellElements[n]=k}c=h.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(c,"Section");for(d=0;d<c.length;d++)if(f=c[d],n=f.getAttribute("N"),"Layer"==n)for(n=h.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(f,"Row"),f=0;f<n.length;f++){k=h.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(n[f],"Cell");for(var p={},x=0;x<k.length;x++)p[k[x].getAttribute("N")]=k[x].getAttribute("V");this.layers[parseInt(n[f].getAttribute("IX"))]=p}}this.parseNodes(b,a,"pages")}g.prototype.parseNodes=
@@ -14413,8 +14416,8 @@ a};b.prototype.setLastMoveX=function(a){this.lastMoveX=a};b.prototype.setLastMov
n[A],J=C.getAttribute("N");C=this.getScreenNumericalValue$org_w3c_dom_Element$double(C,0);"X"==J?p=mxUtils.format(C/d):"Y"==J&&(x=mxUtils.format(1-C/c))}null!=p&&null!=x&&a.push({x:p,y:x})}0==a.length&&this.master&&this.master.masterShape&&(a=this.master.masterShape.getConnections());return a};return b}(h.mxgraph.io.vsdx.Style);m.VSDX_START_TIME=(new Date("1899-12-30T00:00:00Z")).getTime();B.Shape=m;m.__class="com.mxgraph.io.vsdx.Shape"})(z.vsdx||(z.vsdx={}))})(y.io||(y.io={}))})(h.mxgraph||(h.mxgraph=
{}))})(com||(com={}));
(function(h){(function(y){(function(z){(function(B){var m=function(g){function b(a,c,d,f,k,n){var p=this;p.masterShape=null;p.master=null;p.parentHeight=0;p=g.call(this,c,n)||this;p.htmlLabels=!0;p.rootShape=p;p.shapeName=null;p.shapeIndex=0;p.vertex=!0;p.childShapes={};var x=p.getMasterId(),A=p.getShapeMasterId();p.master=null!=x?f[x]?f[x]:null:k;null!=p.master&&(p.masterShape=null==x&&null!=A?p.master.getSubShape(A):p.master.getMasterShape());f=p.getNameU();k=f.lastIndexOf(".");-1!==k&&(f=f.substring(0,
-k));p.shapeName=f;c=c.getElementsByTagName(h.mxgraph.io.vsdx.mxVsdxConstants.SHAPES);null!=c&&0<c.length&&(c=c.item(0),p.childShapes=a.parseShapes(c,p.master,!1));c=p.calcRotation();p.rotation=100*c/100;p.rotation%=360;c=a.getCellIntValue("ThemeIndex",-100);-100===c&&(c=parseInt(p.getValue(p.getCellElement$java_lang_String("ThemeIndex"),"0")));n=function(C,J){null==C.entries&&(C.entries=[]);for(var I=0;I<C.entries.length;I++)if(null!=C.entries[I].key.equals&&C.entries[I].key.equals(J)||C.entries[I].key===
-J)return C.entries[I].value;return null}(n.getThemes(),c);a=a.getCellIntValue("VariationColorIndex",0);p.setThemeAndVariant(n,a);c=function(C){null==C.entries&&(C.entries=[]);return C.entries}(p.childShapes);for(f=0;f<c.length;f++)k=c[f].getValue(),k.setRootShape(p),null==k.theme&&k.setThemeAndVariant(n,a);p.quickStyleVals=new h.mxgraph.io.vsdx.theme.QuickStyleVals(parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleEffectsMatrix"),"0")),parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleFillColor"),
+k));p.shapeName=f;c=c.getElementsByTagName(h.mxgraph.io.vsdx.mxVsdxConstants.SHAPES);null!=c&&0<c.length&&(c=c.item(0),p.childShapes=a.parseShapes(c,p.master,!1));c=p.calcRotation();p.rotation=100*c/100;p.rotation%=360;c=a.getCellIntValue("ThemeIndex",-100);-100===c&&(c=parseInt(p.getValue(p.getCellElement$java_lang_String("ThemeIndex"),"0")));c=function(C,J){null==C.entries&&(C.entries=[]);for(var I=0;I<C.entries.length;I++)if(null!=C.entries[I].key.equals&&C.entries[I].key.equals(J)||C.entries[I].key===
+J)return C.entries[I].value;return null}(n.getThemes(),c);null==c&&(c=n.getDefaultTheme());a=a.getCellIntValue("VariationColorIndex",0);p.setThemeAndVariant(c,a);n=function(C){null==C.entries&&(C.entries=[]);return C.entries}(p.childShapes);for(f=0;f<n.length;f++)k=n[f].getValue(),k.setRootShape(p),null==k.theme&&k.setThemeAndVariant(c,a);p.quickStyleVals=new h.mxgraph.io.vsdx.theme.QuickStyleVals(parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleEffectsMatrix"),"0")),parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleFillColor"),
"1")),parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleFillMatrix"),"0")),parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleFontColor"),"1")),parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleFontMatrix"),"0")),parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleLineColor"),"1")),parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleLineMatrix"),"0")),parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleShadowColor"),
"1")),parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleType"),"0")),parseInt(p.getValue(p.getCellElement$java_lang_String("QuickStyleVariation"),"0")));null!=p.masterShape?(p.masterShape.processGeomList(null),p.processGeomList(p.masterShape.getGeomList()),0===p.width&&(p.width=p.getScreenNumericalValue$org_w3c_dom_Element$double(p.getCellElement$java_lang_String(h.mxgraph.io.vsdx.mxVsdxConstants.WIDTH),0)),0===p.height&&(p.height=p.getScreenNumericalValue$org_w3c_dom_Element$double(p.getCellElement$java_lang_String(h.mxgraph.io.vsdx.mxVsdxConstants.HEIGHT),
0))):p.processGeomList(null);p.vertex=d||null!=p.childShapes&&!function(C){null==C.entries&&(C.entries=[]);return 0==C.entries.length}(p.childShapes)||null!=p.geomList&&(!p.geomList.isNoFill()||1<p.geomList.getGeoCount());p.layerMember=p.getValue(p.getCellElement$java_lang_String("LayerMember"));p.layerMember&&0==p.layerMember.indexOf("0;")&&(p.layerMember=p.layerMember.substr(2));return p}__extends(b,g);b.__static_initialize=function(){b.__static_initialized||(b.__static_initialized=!0,b.__static_initializer_0())};
diff --git a/src/main/webapp/js/viewer-static.min.js b/src/main/webapp/js/viewer-static.min.js
index 68d77523..f6abc1b4 100644
--- a/src/main/webapp/js/viewer-static.min.js
+++ b/src/main/webapp/js/viewer-static.min.js
@@ -108,8 +108,9 @@ return a}();
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";
"se.diagrams.net"==window.location.hostname&&(urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0",urlParams.plugins="0",urlParams.mode="google",urlParams.lockdown="1",window.DRAWIO_GOOGLE_APP_ID=window.DRAWIO_GOOGLE_APP_ID||"184079235871",window.DRAWIO_GOOGLE_CLIENT_ID=window.DRAWIO_GOOGLE_CLIENT_ID||"184079235871-pjf5nn0lff27lk8qf0770gmffiv9gt61.apps.googleusercontent.com");"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:"18.0.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/"),
+"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.DOM_PURIFY_CONFIG=window.DOM_PURIFY_CONFIG||{ADD_TAGS:["use"],ADD_ATTR:["target"],FORBID_TAGS:["form"],ALLOWED_URI_REGEXP:/^(?:(?:https?|mailto|tel|callto|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i};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:"18.1.1",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)||navigator.userAgent.match(/Mac/)&&navigator.maxTouchPoints&&2<navigator.maxTouchPoints,IS_WEBVIEW:/((iPhone|iPod|iPad).*AppleWebKit(?!.*Version)|; wv)/i.test(navigator.userAgent),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]"!==
@@ -989,7 +990,7 @@ mxGraphSelectionModel.prototype.cellAdded=function(a){null==a||this.isSelected(a
mxSelectionChange.prototype.execute=function(){var a=mxLog.enter("mxSelectionChange.execute");window.status=mxResources.get(this.selectionModel.updatingSelectionResource)||this.selectionModel.updatingSelectionResource;if(null!=this.removed)for(var b=0;b<this.removed.length;b++)this.selectionModel.cellRemoved(this.removed[b]);if(null!=this.added)for(b=0;b<this.added.length;b++)this.selectionModel.cellAdded(this.added[b]);b=this.added;this.added=this.removed;this.removed=b;window.status=mxResources.get(this.selectionModel.doneResource)||
this.selectionModel.doneResource;mxLog.leave("mxSelectionChange.execute",a);this.selectionModel.fireEvent(new mxEventObject(mxEvent.CHANGE,"added",this.added,"removed",this.removed))};
function mxCellEditor(a){this.graph=a;this.zoomHandler=mxUtils.bind(this,function(){this.graph.isEditing()&&this.resize()});this.graph.view.addListener(mxEvent.SCALE,this.zoomHandler);this.graph.view.addListener(mxEvent.SCALE_AND_TRANSLATE,this.zoomHandler);this.changeHandler=mxUtils.bind(this,function(b){null!=this.editingCell&&(b=this.graph.getView().getState(this.editingCell),null==b?this.stopEditing(!0):this.updateTextAreaStyle(b))});this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler)}
-mxCellEditor.prototype.graph=null;mxCellEditor.prototype.textarea=null;mxCellEditor.prototype.editingCell=null;mxCellEditor.prototype.trigger=null;mxCellEditor.prototype.modified=!1;mxCellEditor.prototype.autoSize=!0;mxCellEditor.prototype.selectText=!0;mxCellEditor.prototype.emptyLabelText=mxClient.IS_FF?"<br>":"";mxCellEditor.prototype.escapeCancelsEditing=!0;mxCellEditor.prototype.textNode="";mxCellEditor.prototype.zIndex=5;mxCellEditor.prototype.minResize=new mxRectangle(0,20);
+mxCellEditor.prototype.graph=null;mxCellEditor.prototype.textarea=null;mxCellEditor.prototype.editingCell=null;mxCellEditor.prototype.trigger=null;mxCellEditor.prototype.modified=!1;mxCellEditor.prototype.autoSize=!0;mxCellEditor.prototype.selectText=!0;mxCellEditor.prototype.emptyLabelText=mxClient.IS_FF?"<br>":"";mxCellEditor.prototype.escapeCancelsEditing=!0;mxCellEditor.prototype.textNode="";mxCellEditor.prototype.zIndex=1;mxCellEditor.prototype.minResize=new mxRectangle(0,20);
mxCellEditor.prototype.wordWrapPadding=mxClient.IS_IE11?0:1;mxCellEditor.prototype.blurEnabled=!1;mxCellEditor.prototype.initialValue=null;mxCellEditor.prototype.align=null;mxCellEditor.prototype.init=function(){this.textarea=document.createElement("div");this.textarea.className="mxCellEditor mxPlainTextEditor";this.textarea.contentEditable=!0;mxClient.IS_GC&&(this.textarea.style.minHeight="1em");this.textarea.style.position=this.isLegacyEditor()?"absolute":"relative";this.installListeners(this.textarea)};
mxCellEditor.prototype.applyValue=function(a,b){this.graph.labelChanged(a.cell,b,this.trigger)};mxCellEditor.prototype.setAlign=function(a){null!=this.textarea&&(this.textarea.style.textAlign=a);this.align=a;this.resize()};mxCellEditor.prototype.getInitialValue=function(a,b){a=mxUtils.htmlEntities(this.graph.getEditingValue(a.cell,b),!1);8!=document.documentMode&&9!=document.documentMode&&10!=document.documentMode&&(a=mxUtils.replaceTrailingNewlines(a,"<div><br></div>"));return a.replace(/\n/g,"<br>")};
mxCellEditor.prototype.getCurrentValue=function(a){return mxUtils.extractTextWithWhitespace(this.textarea.childNodes)};mxCellEditor.prototype.isCancelEditingKeyEvent=function(a){return this.escapeCancelsEditing||mxEvent.isShiftDown(a)||mxEvent.isControlDown(a)||mxEvent.isMetaDown(a)};
@@ -2295,7 +2296,8 @@ Graph.arrayBufferIndexOfString=function(b,e,k){var n=e.charCodeAt(0),D=1,t=-1;fo
Graph.decompress=function(b,e,k){if(null==b||0==b.length||"undefined"===typeof pako)return b;b=Graph.stringToArrayBuffer(atob(b));e=decodeURIComponent(e?pako.inflate(b,{to:"string"}):pako.inflateRaw(b,{to:"string"}));return k?e:Graph.zapGremlins(e)};
Graph.fadeNodes=function(b,e,k,n,D){D=null!=D?D:1E3;Graph.setTransitionForNodes(b,null);Graph.setOpacityForNodes(b,e);window.setTimeout(function(){Graph.setTransitionForNodes(b,"all "+D+"ms ease-in-out");Graph.setOpacityForNodes(b,k);window.setTimeout(function(){Graph.setTransitionForNodes(b,null);null!=n&&n()},D)},0)};Graph.removeKeys=function(b,e){for(var k in b)e(k)&&delete b[k]};
Graph.setTransitionForNodes=function(b,e){for(var k=0;k<b.length;k++)mxUtils.setPrefixedStyle(b[k].style,"transition",e)};Graph.setOpacityForNodes=function(b,e){for(var k=0;k<b.length;k++)b[k].style.opacity=e};Graph.removePasteFormatting=function(b){for(;null!=b;)null!=b.firstChild&&Graph.removePasteFormatting(b.firstChild),b.nodeType==mxConstants.NODETYPE_ELEMENT&&null!=b.style&&(b.style.whiteSpace="","#000000"==b.style.color&&(b.style.color="")),b=b.nextSibling};
-Graph.sanitizeHtml=function(b,e){return Graph.domPurify(b,!1)};Graph.sanitizeLink=function(b){var e=document.createElement("a");e.setAttribute("href",b);Graph.sanitizeNode(e);return e.getAttribute("href")};Graph.sanitizeNode=function(b){return Graph.domPurify(b,!0)};Graph.domPurify=function(b,e){return DOMPurify.sanitize(b,{IN_PLACE:e,ADD_ATTR:["target"],FORBID_TAGS:["form"],ALLOWED_URI_REGEXP:/^(?:(?:https?|mailto|tel|callto|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i})};
+Graph.sanitizeHtml=function(b,e){return Graph.domPurify(b,!1)};Graph.sanitizeLink=function(b){var e=document.createElement("a");e.setAttribute("href",b);Graph.sanitizeNode(e);return e.getAttribute("href")};Graph.sanitizeNode=function(b){return Graph.domPurify(b,!0)};DOMPurify.addHook("afterSanitizeAttributes",function(b){b.hasAttribute("xlink:href")&&!b.getAttribute("xlink:href").match(/^#/)&&b.remove()});
+Graph.domPurify=function(b,e){window.DOM_PURIFY_CONFIG.IN_PLACE=e;return DOMPurify.sanitize(b,window.DOM_PURIFY_CONFIG)};
Graph.clipSvgDataUri=function(b,e){if(!mxClient.IS_IE&&!mxClient.IS_IE11&&null!=b&&"data:image/svg+xml;base64,"==b.substring(0,26))try{var k=document.createElement("div");k.style.position="absolute";k.style.visibility="hidden";var n=decodeURIComponent(escape(atob(b.substring(26)))),D=n.indexOf("<svg");if(0<=D){k.innerHTML=n.substring(D);Graph.sanitizeNode(k);var t=k.getElementsByTagName("svg");if(0<t.length){if(e||null!=t[0].getAttribute("preserveAspectRatio")){document.body.appendChild(k);try{n=
e=1;var E=t[0].getAttribute("width"),d=t[0].getAttribute("height");E=null!=E&&"%"!=E.charAt(E.length-1)?parseFloat(E):NaN;d=null!=d&&"%"!=d.charAt(d.length-1)?parseFloat(d):NaN;var f=t[0].getAttribute("viewBox");if(null!=f&&!isNaN(E)&&!isNaN(d)){var g=f.split(" ");4<=f.length&&(e=parseFloat(g[2])/E,n=parseFloat(g[3])/d)}var l=t[0].getBBox();0<l.width&&0<l.height&&(k.getElementsByTagName("svg")[0].setAttribute("viewBox",l.x+" "+l.y+" "+l.width+" "+l.height),k.getElementsByTagName("svg")[0].setAttribute("width",
l.width/e),k.getElementsByTagName("svg")[0].setAttribute("height",l.height/n))}catch(q){}finally{document.body.removeChild(k)}}b=Editor.createSvgDataUri(mxUtils.getXml(t[0]))}}}catch(q){}return b};Graph.stripQuotes=function(b){null!=b&&("'"==b.charAt(0)&&(b=b.substring(1)),"'"==b.charAt(b.length-1)&&(b=b.substring(0,b.length-1)),'"'==b.charAt(0)&&(b=b.substring(1)),'"'==b.charAt(b.length-1)&&(b=b.substring(0,b.length-1)));return b};
@@ -3346,7 +3348,7 @@ Ca=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),funct
this.image;null!=u&&null!=u.src&&Graph.isPageLink(u.src)&&(u={originalSrc:u.src});this.page.viewState.backgroundImage=u}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)}}else fa.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 la=document.createElement("canvas"),ra=new Image;ra.onload=function(){try{la.getContext("2d").drawImage(ra,0,0);var u=la.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=u&&6<u.length}catch(J){}};ra.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(u){}})();
(function(){var b=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);b.beforeDecode=function(e,k,n){n.ui=e.ui;return k};b.afterDecode=function(e,k,n){n.previousColor=n.color;n.previousImage=n.image;n.previousFormat=n.format;null!=n.foldingEnabled&&(n.foldingEnabled=!n.foldingEnabled);null!=n.mathEnabled&&(n.mathEnabled=!n.mathEnabled);null!=n.shadowVisible&&(n.shadowVisible=!n.shadowVisible);return n};mxCodecRegistry.register(b)})();
-(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,k,n){n.ui=e.ui;return k};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="18.0.8";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(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=
+(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,k,n){n.ui=e.ui;return k};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="18.1.1";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(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=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.nativeFileSupport=!mxClient.IS_OP&&!EditorUi.isElectronApp&&
"1"!=urlParams.extAuth&&"showSaveFilePicker"in window&&"showOpenFilePicker"in window;EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.diagrams.net/doc/faq/scratchpad";EditorUi.enableHtmlEditOption=!0;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(d,f,g,l,q,y,F){y=null!=y?y:0<=d.indexOf("NetworkError")||0<=d.indexOf("SecurityError")||0<=d.indexOf("NS_ERROR_FAILURE")||0<=d.indexOf("out of memory")?"CONFIG":"SEVERE";if(EditorUi.enableLogging&&
diff --git a/src/main/webapp/js/viewer.min.js b/src/main/webapp/js/viewer.min.js
index a9974124..d3d3fcbd 100644
--- a/src/main/webapp/js/viewer.min.js
+++ b/src/main/webapp/js/viewer.min.js
@@ -108,8 +108,9 @@ return a}();
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";
"se.diagrams.net"==window.location.hostname&&(urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0",urlParams.plugins="0",urlParams.mode="google",urlParams.lockdown="1",window.DRAWIO_GOOGLE_APP_ID=window.DRAWIO_GOOGLE_APP_ID||"184079235871",window.DRAWIO_GOOGLE_CLIENT_ID=window.DRAWIO_GOOGLE_CLIENT_ID||"184079235871-pjf5nn0lff27lk8qf0770gmffiv9gt61.apps.googleusercontent.com");"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:"18.0.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/"),
+"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.DOM_PURIFY_CONFIG=window.DOM_PURIFY_CONFIG||{ADD_TAGS:["use"],ADD_ATTR:["target"],FORBID_TAGS:["form"],ALLOWED_URI_REGEXP:/^(?:(?:https?|mailto|tel|callto|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i};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:"18.1.1",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)||navigator.userAgent.match(/Mac/)&&navigator.maxTouchPoints&&2<navigator.maxTouchPoints,IS_WEBVIEW:/((iPhone|iPod|iPad).*AppleWebKit(?!.*Version)|; wv)/i.test(navigator.userAgent),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]"!==
@@ -989,7 +990,7 @@ mxGraphSelectionModel.prototype.cellAdded=function(a){null==a||this.isSelected(a
mxSelectionChange.prototype.execute=function(){var a=mxLog.enter("mxSelectionChange.execute");window.status=mxResources.get(this.selectionModel.updatingSelectionResource)||this.selectionModel.updatingSelectionResource;if(null!=this.removed)for(var b=0;b<this.removed.length;b++)this.selectionModel.cellRemoved(this.removed[b]);if(null!=this.added)for(b=0;b<this.added.length;b++)this.selectionModel.cellAdded(this.added[b]);b=this.added;this.added=this.removed;this.removed=b;window.status=mxResources.get(this.selectionModel.doneResource)||
this.selectionModel.doneResource;mxLog.leave("mxSelectionChange.execute",a);this.selectionModel.fireEvent(new mxEventObject(mxEvent.CHANGE,"added",this.added,"removed",this.removed))};
function mxCellEditor(a){this.graph=a;this.zoomHandler=mxUtils.bind(this,function(){this.graph.isEditing()&&this.resize()});this.graph.view.addListener(mxEvent.SCALE,this.zoomHandler);this.graph.view.addListener(mxEvent.SCALE_AND_TRANSLATE,this.zoomHandler);this.changeHandler=mxUtils.bind(this,function(b){null!=this.editingCell&&(b=this.graph.getView().getState(this.editingCell),null==b?this.stopEditing(!0):this.updateTextAreaStyle(b))});this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler)}
-mxCellEditor.prototype.graph=null;mxCellEditor.prototype.textarea=null;mxCellEditor.prototype.editingCell=null;mxCellEditor.prototype.trigger=null;mxCellEditor.prototype.modified=!1;mxCellEditor.prototype.autoSize=!0;mxCellEditor.prototype.selectText=!0;mxCellEditor.prototype.emptyLabelText=mxClient.IS_FF?"<br>":"";mxCellEditor.prototype.escapeCancelsEditing=!0;mxCellEditor.prototype.textNode="";mxCellEditor.prototype.zIndex=5;mxCellEditor.prototype.minResize=new mxRectangle(0,20);
+mxCellEditor.prototype.graph=null;mxCellEditor.prototype.textarea=null;mxCellEditor.prototype.editingCell=null;mxCellEditor.prototype.trigger=null;mxCellEditor.prototype.modified=!1;mxCellEditor.prototype.autoSize=!0;mxCellEditor.prototype.selectText=!0;mxCellEditor.prototype.emptyLabelText=mxClient.IS_FF?"<br>":"";mxCellEditor.prototype.escapeCancelsEditing=!0;mxCellEditor.prototype.textNode="";mxCellEditor.prototype.zIndex=1;mxCellEditor.prototype.minResize=new mxRectangle(0,20);
mxCellEditor.prototype.wordWrapPadding=mxClient.IS_IE11?0:1;mxCellEditor.prototype.blurEnabled=!1;mxCellEditor.prototype.initialValue=null;mxCellEditor.prototype.align=null;mxCellEditor.prototype.init=function(){this.textarea=document.createElement("div");this.textarea.className="mxCellEditor mxPlainTextEditor";this.textarea.contentEditable=!0;mxClient.IS_GC&&(this.textarea.style.minHeight="1em");this.textarea.style.position=this.isLegacyEditor()?"absolute":"relative";this.installListeners(this.textarea)};
mxCellEditor.prototype.applyValue=function(a,b){this.graph.labelChanged(a.cell,b,this.trigger)};mxCellEditor.prototype.setAlign=function(a){null!=this.textarea&&(this.textarea.style.textAlign=a);this.align=a;this.resize()};mxCellEditor.prototype.getInitialValue=function(a,b){a=mxUtils.htmlEntities(this.graph.getEditingValue(a.cell,b),!1);8!=document.documentMode&&9!=document.documentMode&&10!=document.documentMode&&(a=mxUtils.replaceTrailingNewlines(a,"<div><br></div>"));return a.replace(/\n/g,"<br>")};
mxCellEditor.prototype.getCurrentValue=function(a){return mxUtils.extractTextWithWhitespace(this.textarea.childNodes)};mxCellEditor.prototype.isCancelEditingKeyEvent=function(a){return this.escapeCancelsEditing||mxEvent.isShiftDown(a)||mxEvent.isControlDown(a)||mxEvent.isMetaDown(a)};
@@ -2295,7 +2296,8 @@ Graph.arrayBufferIndexOfString=function(b,e,k){var n=e.charCodeAt(0),D=1,t=-1;fo
Graph.decompress=function(b,e,k){if(null==b||0==b.length||"undefined"===typeof pako)return b;b=Graph.stringToArrayBuffer(atob(b));e=decodeURIComponent(e?pako.inflate(b,{to:"string"}):pako.inflateRaw(b,{to:"string"}));return k?e:Graph.zapGremlins(e)};
Graph.fadeNodes=function(b,e,k,n,D){D=null!=D?D:1E3;Graph.setTransitionForNodes(b,null);Graph.setOpacityForNodes(b,e);window.setTimeout(function(){Graph.setTransitionForNodes(b,"all "+D+"ms ease-in-out");Graph.setOpacityForNodes(b,k);window.setTimeout(function(){Graph.setTransitionForNodes(b,null);null!=n&&n()},D)},0)};Graph.removeKeys=function(b,e){for(var k in b)e(k)&&delete b[k]};
Graph.setTransitionForNodes=function(b,e){for(var k=0;k<b.length;k++)mxUtils.setPrefixedStyle(b[k].style,"transition",e)};Graph.setOpacityForNodes=function(b,e){for(var k=0;k<b.length;k++)b[k].style.opacity=e};Graph.removePasteFormatting=function(b){for(;null!=b;)null!=b.firstChild&&Graph.removePasteFormatting(b.firstChild),b.nodeType==mxConstants.NODETYPE_ELEMENT&&null!=b.style&&(b.style.whiteSpace="","#000000"==b.style.color&&(b.style.color="")),b=b.nextSibling};
-Graph.sanitizeHtml=function(b,e){return Graph.domPurify(b,!1)};Graph.sanitizeLink=function(b){var e=document.createElement("a");e.setAttribute("href",b);Graph.sanitizeNode(e);return e.getAttribute("href")};Graph.sanitizeNode=function(b){return Graph.domPurify(b,!0)};Graph.domPurify=function(b,e){return DOMPurify.sanitize(b,{IN_PLACE:e,ADD_ATTR:["target"],FORBID_TAGS:["form"],ALLOWED_URI_REGEXP:/^(?:(?:https?|mailto|tel|callto|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i})};
+Graph.sanitizeHtml=function(b,e){return Graph.domPurify(b,!1)};Graph.sanitizeLink=function(b){var e=document.createElement("a");e.setAttribute("href",b);Graph.sanitizeNode(e);return e.getAttribute("href")};Graph.sanitizeNode=function(b){return Graph.domPurify(b,!0)};DOMPurify.addHook("afterSanitizeAttributes",function(b){b.hasAttribute("xlink:href")&&!b.getAttribute("xlink:href").match(/^#/)&&b.remove()});
+Graph.domPurify=function(b,e){window.DOM_PURIFY_CONFIG.IN_PLACE=e;return DOMPurify.sanitize(b,window.DOM_PURIFY_CONFIG)};
Graph.clipSvgDataUri=function(b,e){if(!mxClient.IS_IE&&!mxClient.IS_IE11&&null!=b&&"data:image/svg+xml;base64,"==b.substring(0,26))try{var k=document.createElement("div");k.style.position="absolute";k.style.visibility="hidden";var n=decodeURIComponent(escape(atob(b.substring(26)))),D=n.indexOf("<svg");if(0<=D){k.innerHTML=n.substring(D);Graph.sanitizeNode(k);var t=k.getElementsByTagName("svg");if(0<t.length){if(e||null!=t[0].getAttribute("preserveAspectRatio")){document.body.appendChild(k);try{n=
e=1;var E=t[0].getAttribute("width"),d=t[0].getAttribute("height");E=null!=E&&"%"!=E.charAt(E.length-1)?parseFloat(E):NaN;d=null!=d&&"%"!=d.charAt(d.length-1)?parseFloat(d):NaN;var f=t[0].getAttribute("viewBox");if(null!=f&&!isNaN(E)&&!isNaN(d)){var g=f.split(" ");4<=f.length&&(e=parseFloat(g[2])/E,n=parseFloat(g[3])/d)}var l=t[0].getBBox();0<l.width&&0<l.height&&(k.getElementsByTagName("svg")[0].setAttribute("viewBox",l.x+" "+l.y+" "+l.width+" "+l.height),k.getElementsByTagName("svg")[0].setAttribute("width",
l.width/e),k.getElementsByTagName("svg")[0].setAttribute("height",l.height/n))}catch(q){}finally{document.body.removeChild(k)}}b=Editor.createSvgDataUri(mxUtils.getXml(t[0]))}}}catch(q){}return b};Graph.stripQuotes=function(b){null!=b&&("'"==b.charAt(0)&&(b=b.substring(1)),"'"==b.charAt(b.length-1)&&(b=b.substring(0,b.length-1)),'"'==b.charAt(0)&&(b=b.substring(1)),'"'==b.charAt(b.length-1)&&(b=b.substring(0,b.length-1)));return b};
@@ -3346,7 +3348,7 @@ Ca=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),funct
this.image;null!=u&&null!=u.src&&Graph.isPageLink(u.src)&&(u={originalSrc:u.src});this.page.viewState.backgroundImage=u}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)}}else fa.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 la=document.createElement("canvas"),ra=new Image;ra.onload=function(){try{la.getContext("2d").drawImage(ra,0,0);var u=la.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=u&&6<u.length}catch(J){}};ra.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(u){}})();
(function(){var b=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);b.beforeDecode=function(e,k,n){n.ui=e.ui;return k};b.afterDecode=function(e,k,n){n.previousColor=n.color;n.previousImage=n.image;n.previousFormat=n.format;null!=n.foldingEnabled&&(n.foldingEnabled=!n.foldingEnabled);null!=n.mathEnabled&&(n.mathEnabled=!n.mathEnabled);null!=n.shadowVisible&&(n.shadowVisible=!n.shadowVisible);return n};mxCodecRegistry.register(b)})();
-(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,k,n){n.ui=e.ui;return k};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="18.0.8";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(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=
+(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,k,n){n.ui=e.ui;return k};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="18.1.1";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(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=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.nativeFileSupport=!mxClient.IS_OP&&!EditorUi.isElectronApp&&
"1"!=urlParams.extAuth&&"showSaveFilePicker"in window&&"showOpenFilePicker"in window;EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.diagrams.net/doc/faq/scratchpad";EditorUi.enableHtmlEditOption=!0;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(d,f,g,l,q,y,F){y=null!=y?y:0<=d.indexOf("NetworkError")||0<=d.indexOf("SecurityError")||0<=d.indexOf("NS_ERROR_FAILURE")||0<=d.indexOf("out of memory")?"CONFIG":"SEVERE";if(EditorUi.enableLogging&&
diff --git a/src/main/webapp/mxgraph/mxClient.js b/src/main/webapp/mxgraph/mxClient.js
index 37a65cd0..a6425beb 100644
--- a/src/main/webapp/mxgraph/mxClient.js
+++ b/src/main/webapp/mxgraph/mxClient.js
@@ -1,4 +1,4 @@
-var mxClient={VERSION:"18.0.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/"),
+var mxClient={VERSION:"18.1.1",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)||navigator.userAgent.match(/Mac/)&&navigator.maxTouchPoints&&2<navigator.maxTouchPoints,IS_WEBVIEW:/((iPhone|iPod|iPad).*AppleWebKit(?!.*Version)|; wv)/i.test(navigator.userAgent),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]"!==
@@ -878,7 +878,7 @@ mxGraphSelectionModel.prototype.cellAdded=function(a){null==a||this.isSelected(a
mxSelectionChange.prototype.execute=function(){var a=mxLog.enter("mxSelectionChange.execute");window.status=mxResources.get(this.selectionModel.updatingSelectionResource)||this.selectionModel.updatingSelectionResource;if(null!=this.removed)for(var b=0;b<this.removed.length;b++)this.selectionModel.cellRemoved(this.removed[b]);if(null!=this.added)for(b=0;b<this.added.length;b++)this.selectionModel.cellAdded(this.added[b]);b=this.added;this.added=this.removed;this.removed=b;window.status=mxResources.get(this.selectionModel.doneResource)||
this.selectionModel.doneResource;mxLog.leave("mxSelectionChange.execute",a);this.selectionModel.fireEvent(new mxEventObject(mxEvent.CHANGE,"added",this.added,"removed",this.removed))};
function mxCellEditor(a){this.graph=a;this.zoomHandler=mxUtils.bind(this,function(){this.graph.isEditing()&&this.resize()});this.graph.view.addListener(mxEvent.SCALE,this.zoomHandler);this.graph.view.addListener(mxEvent.SCALE_AND_TRANSLATE,this.zoomHandler);this.changeHandler=mxUtils.bind(this,function(b){null!=this.editingCell&&(b=this.graph.getView().getState(this.editingCell),null==b?this.stopEditing(!0):this.updateTextAreaStyle(b))});this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler)}
-mxCellEditor.prototype.graph=null;mxCellEditor.prototype.textarea=null;mxCellEditor.prototype.editingCell=null;mxCellEditor.prototype.trigger=null;mxCellEditor.prototype.modified=!1;mxCellEditor.prototype.autoSize=!0;mxCellEditor.prototype.selectText=!0;mxCellEditor.prototype.emptyLabelText=mxClient.IS_FF?"<br>":"";mxCellEditor.prototype.escapeCancelsEditing=!0;mxCellEditor.prototype.textNode="";mxCellEditor.prototype.zIndex=5;mxCellEditor.prototype.minResize=new mxRectangle(0,20);
+mxCellEditor.prototype.graph=null;mxCellEditor.prototype.textarea=null;mxCellEditor.prototype.editingCell=null;mxCellEditor.prototype.trigger=null;mxCellEditor.prototype.modified=!1;mxCellEditor.prototype.autoSize=!0;mxCellEditor.prototype.selectText=!0;mxCellEditor.prototype.emptyLabelText=mxClient.IS_FF?"<br>":"";mxCellEditor.prototype.escapeCancelsEditing=!0;mxCellEditor.prototype.textNode="";mxCellEditor.prototype.zIndex=1;mxCellEditor.prototype.minResize=new mxRectangle(0,20);
mxCellEditor.prototype.wordWrapPadding=mxClient.IS_IE11?0:1;mxCellEditor.prototype.blurEnabled=!1;mxCellEditor.prototype.initialValue=null;mxCellEditor.prototype.align=null;mxCellEditor.prototype.init=function(){this.textarea=document.createElement("div");this.textarea.className="mxCellEditor mxPlainTextEditor";this.textarea.contentEditable=!0;mxClient.IS_GC&&(this.textarea.style.minHeight="1em");this.textarea.style.position=this.isLegacyEditor()?"absolute":"relative";this.installListeners(this.textarea)};
mxCellEditor.prototype.applyValue=function(a,b){this.graph.labelChanged(a.cell,b,this.trigger)};mxCellEditor.prototype.setAlign=function(a){null!=this.textarea&&(this.textarea.style.textAlign=a);this.align=a;this.resize()};mxCellEditor.prototype.getInitialValue=function(a,b){a=mxUtils.htmlEntities(this.graph.getEditingValue(a.cell,b),!1);8!=document.documentMode&&9!=document.documentMode&&10!=document.documentMode&&(a=mxUtils.replaceTrailingNewlines(a,"<div><br></div>"));return a.replace(/\n/g,"<br>")};
mxCellEditor.prototype.getCurrentValue=function(a){return mxUtils.extractTextWithWhitespace(this.textarea.childNodes)};mxCellEditor.prototype.isCancelEditingKeyEvent=function(a){return this.escapeCancelsEditing||mxEvent.isShiftDown(a)||mxEvent.isControlDown(a)||mxEvent.isMetaDown(a)};
diff --git a/src/main/webapp/service-worker.js b/src/main/webapp/service-worker.js
index bb6bc0eb..7c45d10e 100644
--- a/src/main/webapp/service-worker.js
+++ b/src/main/webapp/service-worker.js
@@ -1,2 +1,2 @@
-if(!self.define){const e=e=>{"require"!==e&&(e+=".js");let i=Promise.resolve();return r[e]||(i=new Promise((async i=>{if("document"in self){const r=document.createElement("script");r.src=e,document.head.appendChild(r),r.onload=i}else importScripts(e),i()}))),i.then((()=>{if(!r[e])throw new Error(`Module ${e} didn’t register its module`);return r[e]}))},i=(i,r)=>{Promise.all(i.map(e)).then((e=>r(1===e.length?e[0]:e)))},r={require:Promise.resolve(i)};self.define=(i,a,c)=>{r[i]||(r[i]=Promise.resolve().then((()=>{let r={};const s={uri:location.origin+i.slice(1)};return Promise.all(a.map((i=>{switch(i){case"exports":return r;case"module":return s;default:return e(i)}}))).then((e=>{const i=c(...e);return r.default||(r.default=i),r}))})))}}define("./service-worker.js",["./workbox-50a29d49"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"js/app.min.js",revision:"2d3841e9541a31b42eb4058e85709e87"},{url:"js/extensions.min.js",revision:"73cc2b66f2ddc50354256dc6b065af7d"},{url:"js/stencils.min.js",revision:"98924b5296c015cef20b904ef861eeea"},{url:"js/shapes-14-6-5.min.js",revision:"f0e1d4c09054df2f3ea3793491e9fe08"},{url:"js/math-print.js",revision:"0611491c663261a732ff18224906184d"},{url:"index.html",revision:"8b5b1cf07fc74454cf354717e9d18534"},{url:"open.html",revision:"d71816b3b00e769fc6019fcdd6921662"},{url:"styles/fonts/ArchitectsDaughter-Regular.ttf",revision:"31c2153c0530e32553b31a49b3d70736"},{url:"styles/grapheditor.css",revision:"4f2c07c4585347249c95cd9158872fb2"},{url:"styles/atlas.css",revision:"e8152cda9233d3a3af017422993abfce"},{url:"styles/dark.css",revision:"3179f617dd02efd2cefeb8c06f965880"},{url:"js/dropbox/Dropbox-sdk.min.js",revision:"4b9842892aa37b156db0a8364b7a83b0"},{url:"js/onedrive/OneDrive.js",revision:"505e8280346666f7ee801bc59521fa67"},{url:"js/viewer-static.min.js",revision:"6c27011cd72d91fa2b1abbf935022844"},{url:"connect/jira/editor-1-3-3.html",revision:"a2b0e7267a08a838f3cc404eba831ec0"},{url:"connect/jira/viewerPanel-1-3-12.html",revision:"c96db1790184cb35781f791e8d1dafd9"},{url:"connect/jira/fullScreenViewer-1-3-3.html",revision:"ba7ece2dfb2833b72f97280d7092f25e"},{url:"connect/jira/viewerPanel.js",revision:"6d5a85e70c7b82ba685782ca6df2b9d5"},{url:"connect/jira/spinner.gif",revision:"7d857ab9d86123e93d74d48e958fe743"},{url:"connect/jira/editor.js",revision:"01caa325f3ad3f6565e0b4228907fb63"},{url:"connect/jira/fullscreen-viewer-init.js",revision:"e00ad51fc16b87c362d6eaf930ab1fa5"},{url:"connect/jira/fullscreen-viewer.js",revision:"4e0775a6c156a803e777870623ac7c3e"},{url:"plugins/connectJira.js",revision:"4cefa13414e0d406550f3c073923080c"},{url:"plugins/cConf-comments.js",revision:"c787357209cff2986dcca567b599e2ef"},{url:"plugins/cConf-1-4-8.js",revision:"c6552981ba1add209fe3e12ffcf79c9a"},{url:"connect/confluence/connectUtils-1-4-8.js",revision:"fab9a95f19a57bb836e42f67a1c0078b"},{url:"connect/new_common/cac.js",revision:"3d8c436c566db645fb1e6e6ba9f69bbc"},{url:"connect/gdrive_common/gac.js",revision:"38f1df3ecc4d78290493f47e62202138"},{url:"connect/onedrive_common/ac.js",revision:"d089f12446d443ca01752a5115456fcc"},{url:"connect/confluence/viewer-init.js",revision:"2bd677096ebffd3aa5cab0c347851e3f"},{url:"connect/confluence/viewer.js",revision:"a9d84488d17425d28e5d85d464e0a8f8"},{url:"connect/confluence/viewer-1-4-42.html",revision:"4c58f3a1a4c99b1c4264593b6e05100b"},{url:"connect/confluence/macroEditor-1-4-8.html",revision:"8cd74a2fb60bf2e3e86026d66107cf11"},{url:"connect/confluence/includeDiagram-1-4-8.js",revision:"352d2782274de07617d117926b68c205"},{url:"connect/confluence/includeDiagram.html",revision:"5cefef0227d058cf716d1f51f2cf202f"},{url:"connect/confluence/macro-editor.js",revision:"412bc4b87e630b697a40f247c579d398"},{url:"math/MathJax.js",revision:"b2c103388b71bb3d11cbf9aa45fe9b68"},{url:"math/config/TeX-MML-AM_SVG-full.js",revision:"d5cb8ac04050983170ae4af145bc66ff"},{url:"math/jax/output/SVG/fonts/TeX/fontdata.js",revision:"495e5a410955d1b6178870e605890ede"},{url:"math/jax/element/mml/optable/BasicLatin.js",revision:"cac9b2e71382e62270baa55fab07cc13"},{url:"math/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js",revision:"e3e5e4d5924beed29f0844550b5c8f46"},{url:"math/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js",revision:"0767cbad7275b53da128e7e5e1109f7c"},{url:"math/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js",revision:"346302a5c5ee00e01c302148c56dbfe3"},{url:"resources/dia.txt",revision:"8e34c9af7f8d502cfd1584a3906efde0"},{url:"resources/dia_am.txt",revision:"b1cae5291215a5034ac42f73b027c5d7"},{url:"resources/dia_ar.txt",revision:"6e4736c460473f556a0ac7650a1f99a3"},{url:"resources/dia_bg.txt",revision:"b6c2c2451b0e31f0925eed924289e05c"},{url:"resources/dia_bn.txt",revision:"78daf0565086adf9e1672d6f1317bda5"},{url:"resources/dia_bs.txt",revision:"06bac1fee85828b8db2837fd334adfcc"},{url:"resources/dia_ca.txt",revision:"2e034dfde79b3feb3484a26b1f6c357d"},{url:"resources/dia_cs.txt",revision:"d177d00f8f1d1b9aeac81df181136ca0"},{url:"resources/dia_da.txt",revision:"f244c674d2863b1d4a4019c5618a7fc0"},{url:"resources/dia_de.txt",revision:"73fdf0841d2c247d51a95e83aa8b0995"},{url:"resources/dia_el.txt",revision:"5284df86fb89f04e57270c1418c6becb"},{url:"resources/dia_eo.txt",revision:"72f2fc6768b1b710b4c054582588857f"},{url:"resources/dia_es.txt",revision:"4c41cd24505f6bf2d2beca8fb29dbc52"},{url:"resources/dia_et.txt",revision:"cc9e2bd4f79f4782b0a4f956f7a7d887"},{url:"resources/dia_eu.txt",revision:"a9e20c40c84023b9886fba2657d3b3a6"},{url:"resources/dia_fa.txt",revision:"48ef8e033a7e66d981a8e31eb46d7c2d"},{url:"resources/dia_fi.txt",revision:"07a230a6649d527f6fcc71190852d60f"},{url:"resources/dia_fil.txt",revision:"41d4669b6e560b4856f9ec31169d801e"},{url:"resources/dia_fr.txt",revision:"2b69ce9fcfa150e21b5f3b82baa62a83"},{url:"resources/dia_gl.txt",revision:"f696a37829215a03d74b577f0e193d39"},{url:"resources/dia_gu.txt",revision:"83cfd5e26cea2e31c14ac6be912295f3"},{url:"resources/dia_he.txt",revision:"0335866f8064454819141659ac422ca1"},{url:"resources/dia_hi.txt",revision:"92fe4218858dcbe8d30351799df0f4ca"},{url:"resources/dia_hr.txt",revision:"c7dee00a9cb74656e538646681aaa8b9"},{url:"resources/dia_hu.txt",revision:"5a28c9a4c4a52beb39da3aff77cb176a"},{url:"resources/dia_id.txt",revision:"c927e56e3b2121a9042ce9f284a126f9"},{url:"resources/dia_it.txt",revision:"ae1d326f35a964fada09f7c69948fa08"},{url:"resources/dia_ja.txt",revision:"ba6d3ca71cd2c0b78f24426495141105"},{url:"resources/dia_kn.txt",revision:"ecc38aad8980d8f546ce745b3beac484"},{url:"resources/dia_ko.txt",revision:"25cb961c38bad57e5ff76292a57652a5"},{url:"resources/dia_lt.txt",revision:"ef23c72e2256478a443874be1f61ca37"},{url:"resources/dia_lv.txt",revision:"2c35489f81edad8a8b017b77847c5e1d"},{url:"resources/dia_ml.txt",revision:"b9dd65e0ea3145fa005a9ff4042087ec"},{url:"resources/dia_mr.txt",revision:"e94f5f2050375652beb186f1836a4778"},{url:"resources/dia_ms.txt",revision:"0f87275e26a884927643a187a9468942"},{url:"resources/dia_my.txt",revision:"8e34c9af7f8d502cfd1584a3906efde0"},{url:"resources/dia_nl.txt",revision:"e275240e3c513e1b2e598ea564c38dca"},{url:"resources/dia_no.txt",revision:"d19f878a809337bed2a91da1a9dfeffd"},{url:"resources/dia_pl.txt",revision:"1bab2f1b6ddbd728e485ff64c86d0425"},{url:"resources/dia_pt-br.txt",revision:"2372f6fbd1e21c0b183b180bc94e1e63"},{url:"resources/dia_pt.txt",revision:"3e3e073a2dd715015c3d95ed227f411d"},{url:"resources/dia_ro.txt",revision:"1eab1efc5eab57335c49c0862d30d323"},{url:"resources/dia_ru.txt",revision:"b40ee1842311d03cd356d2f8fa645db7"},{url:"resources/dia_si.txt",revision:"8e34c9af7f8d502cfd1584a3906efde0"},{url:"resources/dia_sk.txt",revision:"a3e4a57e303e6bb2d60da6f8c78992fe"},{url:"resources/dia_sl.txt",revision:"d7f8c99d531f89e14c3cd2deaf576eef"},{url:"resources/dia_sr.txt",revision:"3167385790cec85acecd1c6ecaa74929"},{url:"resources/dia_sv.txt",revision:"c43570ee17b78766d6e6659363625f1d"},{url:"resources/dia_sw.txt",revision:"6326dcb2d3266cc71194a8118ffcc4f0"},{url:"resources/dia_ta.txt",revision:"f4573d8b89013b7e06f3bae1ae66d8cf"},{url:"resources/dia_te.txt",revision:"37b45cfce7ee5c8507d92b9f1dbeab3d"},{url:"resources/dia_th.txt",revision:"24338a7fa8e8a1c7a58058bf082fe614"},{url:"resources/dia_tr.txt",revision:"897b674fcf3b42e63cbf725d74c7473b"},{url:"resources/dia_uk.txt",revision:"e44438f964e9222286c18cfbf8c1fdab"},{url:"resources/dia_vi.txt",revision:"1c24f857d15d5a48926c7fd04923675d"},{url:"resources/dia_zh-tw.txt",revision:"e862d6b91264121956038107be20163d"},{url:"resources/dia_zh.txt",revision:"67598bcff64219afb6267ce6030ae007"},{url:"favicon.ico",revision:"fab2d88b37c72d83607527573de45281"},{url:"images/manifest.json",revision:"c6236bde53ed79aaaec60a1aca8ee2ef"},{url:"images/logo.png",revision:"89630b64b911ebe0daa3dfe442087cfa"},{url:"images/drawlogo.svg",revision:"4bf4d14ebcf072d8bd4c5a1c89e88fc6"},{url:"images/drawlogo48.png",revision:"8b13428373aca67b895364d025f42417"},{url:"images/drawlogo-gray.svg",revision:"0aabacbc0873816e1e09e4736ae44c7d"},{url:"images/drawlogo-text-bottom.svg",revision:"f6c438823ab31f290940bd4feb8dd9c2"},{url:"images/default-user.jpg",revision:"2c399696a87c8921f12d2f9e1990cc6e"},{url:"images/logo-flat-small.png",revision:"4b178e59ff499d6dd1894fc498b59877"},{url:"images/apple-touch-icon.png",revision:"73da7989a23ce9a4be565ec65658a239"},{url:"images/favicon-16x16.png",revision:"1a79d5461a5d2bf21f6652e0ac20d6e5"},{url:"images/favicon-32x32.png",revision:"e3b92da2febe70bad5372f6f3474b034"},{url:"images/android-chrome-196x196.png",revision:"f8c045b2d7b1c719fda64edab04c415c"},{url:"images/android-chrome-512x512.png",revision:"959b5fac2453963ff6d60fb85e4b73fd"},{url:"images/delete.png",revision:"5f2350f2fd20f1a229637aed32ed8f29"},{url:"images/droptarget.png",revision:"bbf7f563fb6784de1ce96f329519b043"},{url:"images/help.png",revision:"9266c6c3915bd33c243d80037d37bf61"},{url:"images/download.png",revision:"35418dd7bd48d87502c71b578cc6c37f"},{url:"images/logo-flat.png",revision:"038070ab43aee6e54a791211859fc67b"},{url:"images/google-drive-logo.svg",revision:"5d9f2f5bbc7dcc252730a0072bb23059"},{url:"images/onedrive-logo.svg",revision:"3645b344ec0634c1290dd58d7dc87b97"},{url:"images/dropbox-logo.svg",revision:"e6be408c77cf9c82d41ac64fa854280a"},{url:"images/github-logo.svg",revision:"a1a999b69a275eac0cb918360ac05ae1"},{url:"images/gitlab-logo.svg",revision:"0faea8c818899e58533e153c44b10517"},{url:"images/trello-logo.svg",revision:"006fd0d7d70d7e95dc691674cb12e044"},{url:"images/osa_drive-harddisk.png",revision:"b954e1ae772087c5b4c6ae797e1f9649"},{url:"images/osa_database.png",revision:"c350d9d9b95f37b6cfe798b40ede5fb0"},{url:"images/google-drive-logo-white.svg",revision:"f329d8b1be7778515a85b93fc35d9f26"},{url:"images/dropbox-logo-white.svg",revision:"4ea8299ac3bc31a16f199ee3aec223bf"},{url:"images/onedrive-logo-white.svg",revision:"b3602fa0fc947009cff3f33a581cff4d"},{url:"images/github-logo-white.svg",revision:"537b1127b3ca0f95b45782d1304fb77a"},{url:"images/gitlab-logo-white.svg",revision:"5fede9ac2f394c716b8c23e3fddc3910"},{url:"images/trello-logo-white-orange.svg",revision:"e2a0a52ba3766682f138138d10a75eb5"},{url:"images/logo-confluence.png",revision:"ed1e55d44ae5eba8f999aba2c93e8331"},{url:"images/logo-jira.png",revision:"f8d460555a0d1f87cfd901e940666629"},{url:"images/clear.gif",revision:"db13c778e4382e0b55258d0f811d5d70"},{url:"images/spin.gif",revision:"487cbb40b9ced439aa1ad914e816d773"},{url:"images/checkmark.gif",revision:"ba764ce62f2bf952df5bbc2bb4d381c5"},{url:"images/hs.png",revision:"fefa1a03d92ebad25c88dca94a0b63db"},{url:"images/aui-wait.gif",revision:"5a474bcbd8d2f2826f03d10ea44bf60e"},{url:"mxgraph/css/common.css",revision:"b5b7280ec98671bb6c3847a36bc7ea12"},{url:"mxgraph/images/expanded.gif",revision:"2b67c2c035af1e9a5cc814f0d22074cf"},{url:"mxgraph/images/collapsed.gif",revision:"73cc826da002a3d740ca4ce6ec5c1f4a"},{url:"mxgraph/images/maximize.gif",revision:"5cd13d6925493ab51e876694cc1c2ec2"},{url:"mxgraph/images/minimize.gif",revision:"8957741b9b0f86af9438775f2aadbb54"},{url:"mxgraph/images/close.gif",revision:"8b84669812ac7382984fca35de8da48b"},{url:"mxgraph/images/resize.gif",revision:"a6477612b3567a34033f9cac6184eed3"},{url:"mxgraph/images/separator.gif",revision:"7819742ff106c97da7a801c2372bbbe5"},{url:"mxgraph/images/window.gif",revision:"fd9a21dd4181f98052a202a0a01f18ab"},{url:"mxgraph/images/window-title.gif",revision:"3fb1d6c43246cdf991a11dfe826dfe99"},{url:"mxgraph/images/button.gif",revision:"00759bdc3ad218fa739f584369541809"},{url:"mxgraph/images/point.gif",revision:"83a43717b284902442620f61bc4e9fa6"}],{ignoreURLParametersMatching:[/.*/]})}));
+if(!self.define){const e=e=>{"require"!==e&&(e+=".js");let i=Promise.resolve();return r[e]||(i=new Promise((async i=>{if("document"in self){const r=document.createElement("script");r.src=e,document.head.appendChild(r),r.onload=i}else importScripts(e),i()}))),i.then((()=>{if(!r[e])throw new Error(`Module ${e} didn’t register its module`);return r[e]}))},i=(i,r)=>{Promise.all(i.map(e)).then((e=>r(1===e.length?e[0]:e)))},r={require:Promise.resolve(i)};self.define=(i,a,c)=>{r[i]||(r[i]=Promise.resolve().then((()=>{let r={};const s={uri:location.origin+i.slice(1)};return Promise.all(a.map((i=>{switch(i){case"exports":return r;case"module":return s;default:return e(i)}}))).then((e=>{const i=c(...e);return r.default||(r.default=i),r}))})))}}define("./service-worker.js",["./workbox-fa8c4ce5"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"js/app.min.js",revision:"b795669f61cd569aed250c616223a2f7"},{url:"js/extensions.min.js",revision:"b2a9feb52ee2b2eaf0228f5d19f4c3b2"},{url:"js/stencils.min.js",revision:"98924b5296c015cef20b904ef861eeea"},{url:"js/shapes-14-6-5.min.js",revision:"f0e1d4c09054df2f3ea3793491e9fe08"},{url:"js/math-print.js",revision:"0611491c663261a732ff18224906184d"},{url:"index.html",revision:"8b5b1cf07fc74454cf354717e9d18534"},{url:"open.html",revision:"d71816b3b00e769fc6019fcdd6921662"},{url:"styles/fonts/ArchitectsDaughter-Regular.ttf",revision:"31c2153c0530e32553b31a49b3d70736"},{url:"styles/grapheditor.css",revision:"4f2c07c4585347249c95cd9158872fb2"},{url:"styles/atlas.css",revision:"e8152cda9233d3a3af017422993abfce"},{url:"styles/dark.css",revision:"3179f617dd02efd2cefeb8c06f965880"},{url:"js/dropbox/Dropbox-sdk.min.js",revision:"4b9842892aa37b156db0a8364b7a83b0"},{url:"js/onedrive/OneDrive.js",revision:"505e8280346666f7ee801bc59521fa67"},{url:"js/viewer-static.min.js",revision:"a0d05d0e6a2b63daab721aef070cb617"},{url:"connect/jira/editor-1-3-3.html",revision:"a2b0e7267a08a838f3cc404eba831ec0"},{url:"connect/jira/viewerPanel-1-3-12.html",revision:"c96db1790184cb35781f791e8d1dafd9"},{url:"connect/jira/fullScreenViewer-1-3-3.html",revision:"ba7ece2dfb2833b72f97280d7092f25e"},{url:"connect/jira/viewerPanel.js",revision:"6d5a85e70c7b82ba685782ca6df2b9d5"},{url:"connect/jira/spinner.gif",revision:"7d857ab9d86123e93d74d48e958fe743"},{url:"connect/jira/editor.js",revision:"01caa325f3ad3f6565e0b4228907fb63"},{url:"connect/jira/fullscreen-viewer-init.js",revision:"e00ad51fc16b87c362d6eaf930ab1fa5"},{url:"connect/jira/fullscreen-viewer.js",revision:"4e0775a6c156a803e777870623ac7c3e"},{url:"plugins/connectJira.js",revision:"4cefa13414e0d406550f3c073923080c"},{url:"plugins/cConf-comments.js",revision:"c787357209cff2986dcca567b599e2ef"},{url:"plugins/cConf-1-4-8.js",revision:"c6552981ba1add209fe3e12ffcf79c9a"},{url:"connect/confluence/connectUtils-1-4-8.js",revision:"fab9a95f19a57bb836e42f67a1c0078b"},{url:"connect/new_common/cac.js",revision:"3d8c436c566db645fb1e6e6ba9f69bbc"},{url:"connect/gdrive_common/gac.js",revision:"38f1df3ecc4d78290493f47e62202138"},{url:"connect/onedrive_common/ac.js",revision:"d089f12446d443ca01752a5115456fcc"},{url:"connect/confluence/viewer-init.js",revision:"2bd677096ebffd3aa5cab0c347851e3f"},{url:"connect/confluence/viewer.js",revision:"a9d84488d17425d28e5d85d464e0a8f8"},{url:"connect/confluence/viewer-1-4-42.html",revision:"4c58f3a1a4c99b1c4264593b6e05100b"},{url:"connect/confluence/macroEditor-1-4-8.html",revision:"8cd74a2fb60bf2e3e86026d66107cf11"},{url:"connect/confluence/includeDiagram-1-4-8.js",revision:"352d2782274de07617d117926b68c205"},{url:"connect/confluence/includeDiagram.html",revision:"5cefef0227d058cf716d1f51f2cf202f"},{url:"connect/confluence/macro-editor.js",revision:"412bc4b87e630b697a40f247c579d398"},{url:"math/MathJax.js",revision:"b2c103388b71bb3d11cbf9aa45fe9b68"},{url:"math/config/TeX-MML-AM_SVG-full.js",revision:"d5cb8ac04050983170ae4af145bc66ff"},{url:"math/jax/output/SVG/fonts/TeX/fontdata.js",revision:"495e5a410955d1b6178870e605890ede"},{url:"math/jax/element/mml/optable/BasicLatin.js",revision:"cac9b2e71382e62270baa55fab07cc13"},{url:"math/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js",revision:"e3e5e4d5924beed29f0844550b5c8f46"},{url:"math/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js",revision:"0767cbad7275b53da128e7e5e1109f7c"},{url:"math/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js",revision:"346302a5c5ee00e01c302148c56dbfe3"},{url:"resources/dia.txt",revision:"8e34c9af7f8d502cfd1584a3906efde0"},{url:"resources/dia_am.txt",revision:"b1cae5291215a5034ac42f73b027c5d7"},{url:"resources/dia_ar.txt",revision:"6e4736c460473f556a0ac7650a1f99a3"},{url:"resources/dia_bg.txt",revision:"b6c2c2451b0e31f0925eed924289e05c"},{url:"resources/dia_bn.txt",revision:"78daf0565086adf9e1672d6f1317bda5"},{url:"resources/dia_bs.txt",revision:"06bac1fee85828b8db2837fd334adfcc"},{url:"resources/dia_ca.txt",revision:"2e034dfde79b3feb3484a26b1f6c357d"},{url:"resources/dia_cs.txt",revision:"d177d00f8f1d1b9aeac81df181136ca0"},{url:"resources/dia_da.txt",revision:"f244c674d2863b1d4a4019c5618a7fc0"},{url:"resources/dia_de.txt",revision:"73fdf0841d2c247d51a95e83aa8b0995"},{url:"resources/dia_el.txt",revision:"5284df86fb89f04e57270c1418c6becb"},{url:"resources/dia_eo.txt",revision:"72f2fc6768b1b710b4c054582588857f"},{url:"resources/dia_es.txt",revision:"4c41cd24505f6bf2d2beca8fb29dbc52"},{url:"resources/dia_et.txt",revision:"cc9e2bd4f79f4782b0a4f956f7a7d887"},{url:"resources/dia_eu.txt",revision:"a9e20c40c84023b9886fba2657d3b3a6"},{url:"resources/dia_fa.txt",revision:"48ef8e033a7e66d981a8e31eb46d7c2d"},{url:"resources/dia_fi.txt",revision:"07a230a6649d527f6fcc71190852d60f"},{url:"resources/dia_fil.txt",revision:"41d4669b6e560b4856f9ec31169d801e"},{url:"resources/dia_fr.txt",revision:"2b69ce9fcfa150e21b5f3b82baa62a83"},{url:"resources/dia_gl.txt",revision:"f696a37829215a03d74b577f0e193d39"},{url:"resources/dia_gu.txt",revision:"83cfd5e26cea2e31c14ac6be912295f3"},{url:"resources/dia_he.txt",revision:"0335866f8064454819141659ac422ca1"},{url:"resources/dia_hi.txt",revision:"92fe4218858dcbe8d30351799df0f4ca"},{url:"resources/dia_hr.txt",revision:"c7dee00a9cb74656e538646681aaa8b9"},{url:"resources/dia_hu.txt",revision:"5a28c9a4c4a52beb39da3aff77cb176a"},{url:"resources/dia_id.txt",revision:"c927e56e3b2121a9042ce9f284a126f9"},{url:"resources/dia_it.txt",revision:"ae1d326f35a964fada09f7c69948fa08"},{url:"resources/dia_ja.txt",revision:"ba6d3ca71cd2c0b78f24426495141105"},{url:"resources/dia_kn.txt",revision:"ecc38aad8980d8f546ce745b3beac484"},{url:"resources/dia_ko.txt",revision:"25cb961c38bad57e5ff76292a57652a5"},{url:"resources/dia_lt.txt",revision:"ef23c72e2256478a443874be1f61ca37"},{url:"resources/dia_lv.txt",revision:"2c35489f81edad8a8b017b77847c5e1d"},{url:"resources/dia_ml.txt",revision:"b9dd65e0ea3145fa005a9ff4042087ec"},{url:"resources/dia_mr.txt",revision:"e94f5f2050375652beb186f1836a4778"},{url:"resources/dia_ms.txt",revision:"0f87275e26a884927643a187a9468942"},{url:"resources/dia_my.txt",revision:"8e34c9af7f8d502cfd1584a3906efde0"},{url:"resources/dia_nl.txt",revision:"e275240e3c513e1b2e598ea564c38dca"},{url:"resources/dia_no.txt",revision:"d19f878a809337bed2a91da1a9dfeffd"},{url:"resources/dia_pl.txt",revision:"1bab2f1b6ddbd728e485ff64c86d0425"},{url:"resources/dia_pt-br.txt",revision:"2372f6fbd1e21c0b183b180bc94e1e63"},{url:"resources/dia_pt.txt",revision:"3e3e073a2dd715015c3d95ed227f411d"},{url:"resources/dia_ro.txt",revision:"1eab1efc5eab57335c49c0862d30d323"},{url:"resources/dia_ru.txt",revision:"b40ee1842311d03cd356d2f8fa645db7"},{url:"resources/dia_si.txt",revision:"8e34c9af7f8d502cfd1584a3906efde0"},{url:"resources/dia_sk.txt",revision:"a3e4a57e303e6bb2d60da6f8c78992fe"},{url:"resources/dia_sl.txt",revision:"d7f8c99d531f89e14c3cd2deaf576eef"},{url:"resources/dia_sr.txt",revision:"3167385790cec85acecd1c6ecaa74929"},{url:"resources/dia_sv.txt",revision:"c43570ee17b78766d6e6659363625f1d"},{url:"resources/dia_sw.txt",revision:"6326dcb2d3266cc71194a8118ffcc4f0"},{url:"resources/dia_ta.txt",revision:"f4573d8b89013b7e06f3bae1ae66d8cf"},{url:"resources/dia_te.txt",revision:"37b45cfce7ee5c8507d92b9f1dbeab3d"},{url:"resources/dia_th.txt",revision:"24338a7fa8e8a1c7a58058bf082fe614"},{url:"resources/dia_tr.txt",revision:"897b674fcf3b42e63cbf725d74c7473b"},{url:"resources/dia_uk.txt",revision:"e44438f964e9222286c18cfbf8c1fdab"},{url:"resources/dia_vi.txt",revision:"1c24f857d15d5a48926c7fd04923675d"},{url:"resources/dia_zh-tw.txt",revision:"e862d6b91264121956038107be20163d"},{url:"resources/dia_zh.txt",revision:"67598bcff64219afb6267ce6030ae007"},{url:"favicon.ico",revision:"fab2d88b37c72d83607527573de45281"},{url:"images/manifest.json",revision:"c6236bde53ed79aaaec60a1aca8ee2ef"},{url:"images/logo.png",revision:"89630b64b911ebe0daa3dfe442087cfa"},{url:"images/drawlogo.svg",revision:"4bf4d14ebcf072d8bd4c5a1c89e88fc6"},{url:"images/drawlogo48.png",revision:"8b13428373aca67b895364d025f42417"},{url:"images/drawlogo-gray.svg",revision:"0aabacbc0873816e1e09e4736ae44c7d"},{url:"images/drawlogo-text-bottom.svg",revision:"f6c438823ab31f290940bd4feb8dd9c2"},{url:"images/default-user.jpg",revision:"2c399696a87c8921f12d2f9e1990cc6e"},{url:"images/logo-flat-small.png",revision:"4b178e59ff499d6dd1894fc498b59877"},{url:"images/apple-touch-icon.png",revision:"73da7989a23ce9a4be565ec65658a239"},{url:"images/favicon-16x16.png",revision:"1a79d5461a5d2bf21f6652e0ac20d6e5"},{url:"images/favicon-32x32.png",revision:"e3b92da2febe70bad5372f6f3474b034"},{url:"images/android-chrome-196x196.png",revision:"f8c045b2d7b1c719fda64edab04c415c"},{url:"images/android-chrome-512x512.png",revision:"959b5fac2453963ff6d60fb85e4b73fd"},{url:"images/delete.png",revision:"5f2350f2fd20f1a229637aed32ed8f29"},{url:"images/droptarget.png",revision:"bbf7f563fb6784de1ce96f329519b043"},{url:"images/help.png",revision:"9266c6c3915bd33c243d80037d37bf61"},{url:"images/download.png",revision:"35418dd7bd48d87502c71b578cc6c37f"},{url:"images/logo-flat.png",revision:"038070ab43aee6e54a791211859fc67b"},{url:"images/google-drive-logo.svg",revision:"5d9f2f5bbc7dcc252730a0072bb23059"},{url:"images/onedrive-logo.svg",revision:"3645b344ec0634c1290dd58d7dc87b97"},{url:"images/dropbox-logo.svg",revision:"e6be408c77cf9c82d41ac64fa854280a"},{url:"images/github-logo.svg",revision:"a1a999b69a275eac0cb918360ac05ae1"},{url:"images/gitlab-logo.svg",revision:"0faea8c818899e58533e153c44b10517"},{url:"images/trello-logo.svg",revision:"006fd0d7d70d7e95dc691674cb12e044"},{url:"images/osa_drive-harddisk.png",revision:"b954e1ae772087c5b4c6ae797e1f9649"},{url:"images/osa_database.png",revision:"c350d9d9b95f37b6cfe798b40ede5fb0"},{url:"images/google-drive-logo-white.svg",revision:"f329d8b1be7778515a85b93fc35d9f26"},{url:"images/dropbox-logo-white.svg",revision:"4ea8299ac3bc31a16f199ee3aec223bf"},{url:"images/onedrive-logo-white.svg",revision:"b3602fa0fc947009cff3f33a581cff4d"},{url:"images/github-logo-white.svg",revision:"537b1127b3ca0f95b45782d1304fb77a"},{url:"images/gitlab-logo-white.svg",revision:"5fede9ac2f394c716b8c23e3fddc3910"},{url:"images/trello-logo-white-orange.svg",revision:"e2a0a52ba3766682f138138d10a75eb5"},{url:"images/logo-confluence.png",revision:"ed1e55d44ae5eba8f999aba2c93e8331"},{url:"images/logo-jira.png",revision:"f8d460555a0d1f87cfd901e940666629"},{url:"images/clear.gif",revision:"db13c778e4382e0b55258d0f811d5d70"},{url:"images/spin.gif",revision:"487cbb40b9ced439aa1ad914e816d773"},{url:"images/checkmark.gif",revision:"ba764ce62f2bf952df5bbc2bb4d381c5"},{url:"images/hs.png",revision:"fefa1a03d92ebad25c88dca94a0b63db"},{url:"images/aui-wait.gif",revision:"5a474bcbd8d2f2826f03d10ea44bf60e"},{url:"mxgraph/css/common.css",revision:"b5b7280ec98671bb6c3847a36bc7ea12"},{url:"mxgraph/images/expanded.gif",revision:"2b67c2c035af1e9a5cc814f0d22074cf"},{url:"mxgraph/images/collapsed.gif",revision:"73cc826da002a3d740ca4ce6ec5c1f4a"},{url:"mxgraph/images/maximize.gif",revision:"5cd13d6925493ab51e876694cc1c2ec2"},{url:"mxgraph/images/minimize.gif",revision:"8957741b9b0f86af9438775f2aadbb54"},{url:"mxgraph/images/close.gif",revision:"8b84669812ac7382984fca35de8da48b"},{url:"mxgraph/images/resize.gif",revision:"a6477612b3567a34033f9cac6184eed3"},{url:"mxgraph/images/separator.gif",revision:"7819742ff106c97da7a801c2372bbbe5"},{url:"mxgraph/images/window.gif",revision:"fd9a21dd4181f98052a202a0a01f18ab"},{url:"mxgraph/images/window-title.gif",revision:"3fb1d6c43246cdf991a11dfe826dfe99"},{url:"mxgraph/images/button.gif",revision:"00759bdc3ad218fa739f584369541809"},{url:"mxgraph/images/point.gif",revision:"83a43717b284902442620f61bc4e9fa6"}],{ignoreURLParametersMatching:[/.*/]})}));
//# sourceMappingURL=service-worker.js.map
diff --git a/src/main/webapp/service-worker.js.map b/src/main/webapp/service-worker.js.map
index 696cbb39..e822b033 100644
--- a/src/main/webapp/service-worker.js.map
+++ b/src/main/webapp/service-worker.js.map
@@ -1 +1 @@
-{"version":3,"file":"service-worker.js","sources":["../../../../../../../tmp/eb09853e43636a99d984568ec70901c7/service-worker.js"],"sourcesContent":["import {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/opt/hostedtoolcache/node/14.19.2/x64/lib/node_modules/workbox-cli/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\n\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"js/app.min.js\",\n \"revision\": \"2d3841e9541a31b42eb4058e85709e87\"\n },\n {\n \"url\": \"js/extensions.min.js\",\n \"revision\": \"73cc2b66f2ddc50354256dc6b065af7d\"\n },\n {\n \"url\": \"js/stencils.min.js\",\n \"revision\": \"98924b5296c015cef20b904ef861eeea\"\n },\n {\n \"url\": \"js/shapes-14-6-5.min.js\",\n \"revision\": \"f0e1d4c09054df2f3ea3793491e9fe08\"\n },\n {\n \"url\": \"js/math-print.js\",\n \"revision\": \"0611491c663261a732ff18224906184d\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"8b5b1cf07fc74454cf354717e9d18534\"\n },\n {\n \"url\": \"open.html\",\n \"revision\": \"d71816b3b00e769fc6019fcdd6921662\"\n },\n {\n \"url\": \"styles/fonts/ArchitectsDaughter-Regular.ttf\",\n \"revision\": \"31c2153c0530e32553b31a49b3d70736\"\n },\n {\n \"url\": \"styles/grapheditor.css\",\n \"revision\": \"4f2c07c4585347249c95cd9158872fb2\"\n },\n {\n \"url\": \"styles/atlas.css\",\n \"revision\": \"e8152cda9233d3a3af017422993abfce\"\n },\n {\n \"url\": \"styles/dark.css\",\n \"revision\": \"3179f617dd02efd2cefeb8c06f965880\"\n },\n {\n \"url\": \"js/dropbox/Dropbox-sdk.min.js\",\n \"revision\": \"4b9842892aa37b156db0a8364b7a83b0\"\n },\n {\n \"url\": \"js/onedrive/OneDrive.js\",\n \"revision\": \"505e8280346666f7ee801bc59521fa67\"\n },\n {\n \"url\": \"js/viewer-static.min.js\",\n \"revision\": \"6c27011cd72d91fa2b1abbf935022844\"\n },\n {\n \"url\": \"connect/jira/editor-1-3-3.html\",\n \"revision\": \"a2b0e7267a08a838f3cc404eba831ec0\"\n },\n {\n \"url\": \"connect/jira/viewerPanel-1-3-12.html\",\n \"revision\": \"c96db1790184cb35781f791e8d1dafd9\"\n },\n {\n \"url\": \"connect/jira/fullScreenViewer-1-3-3.html\",\n \"revision\": \"ba7ece2dfb2833b72f97280d7092f25e\"\n },\n {\n \"url\": \"connect/jira/viewerPanel.js\",\n \"revision\": \"6d5a85e70c7b82ba685782ca6df2b9d5\"\n },\n {\n \"url\": \"connect/jira/spinner.gif\",\n \"revision\": \"7d857ab9d86123e93d74d48e958fe743\"\n },\n {\n \"url\": \"connect/jira/editor.js\",\n \"revision\": \"01caa325f3ad3f6565e0b4228907fb63\"\n },\n {\n \"url\": \"connect/jira/fullscreen-viewer-init.js\",\n \"revision\": \"e00ad51fc16b87c362d6eaf930ab1fa5\"\n },\n {\n \"url\": \"connect/jira/fullscreen-viewer.js\",\n \"revision\": \"4e0775a6c156a803e777870623ac7c3e\"\n },\n {\n \"url\": \"plugins/connectJira.js\",\n \"revision\": \"4cefa13414e0d406550f3c073923080c\"\n },\n {\n \"url\": \"plugins/cConf-comments.js\",\n \"revision\": \"c787357209cff2986dcca567b599e2ef\"\n },\n {\n \"url\": \"plugins/cConf-1-4-8.js\",\n \"revision\": \"c6552981ba1add209fe3e12ffcf79c9a\"\n },\n {\n \"url\": \"connect/confluence/connectUtils-1-4-8.js\",\n \"revision\": \"fab9a95f19a57bb836e42f67a1c0078b\"\n },\n {\n \"url\": \"connect/new_common/cac.js\",\n \"revision\": \"3d8c436c566db645fb1e6e6ba9f69bbc\"\n },\n {\n \"url\": \"connect/gdrive_common/gac.js\",\n \"revision\": \"38f1df3ecc4d78290493f47e62202138\"\n },\n {\n \"url\": \"connect/onedrive_common/ac.js\",\n \"revision\": \"d089f12446d443ca01752a5115456fcc\"\n },\n {\n \"url\": \"connect/confluence/viewer-init.js\",\n \"revision\": \"2bd677096ebffd3aa5cab0c347851e3f\"\n },\n {\n \"url\": \"connect/confluence/viewer.js\",\n \"revision\": \"a9d84488d17425d28e5d85d464e0a8f8\"\n },\n {\n \"url\": \"connect/confluence/viewer-1-4-42.html\",\n \"revision\": \"4c58f3a1a4c99b1c4264593b6e05100b\"\n },\n {\n \"url\": \"connect/confluence/macroEditor-1-4-8.html\",\n \"revision\": \"8cd74a2fb60bf2e3e86026d66107cf11\"\n },\n {\n \"url\": \"connect/confluence/includeDiagram-1-4-8.js\",\n \"revision\": \"352d2782274de07617d117926b68c205\"\n },\n {\n \"url\": \"connect/confluence/includeDiagram.html\",\n \"revision\": \"5cefef0227d058cf716d1f51f2cf202f\"\n },\n {\n \"url\": \"connect/confluence/macro-editor.js\",\n \"revision\": \"412bc4b87e630b697a40f247c579d398\"\n },\n {\n \"url\": \"math/MathJax.js\",\n \"revision\": \"b2c103388b71bb3d11cbf9aa45fe9b68\"\n },\n {\n \"url\": \"math/config/TeX-MML-AM_SVG-full.js\",\n \"revision\": \"d5cb8ac04050983170ae4af145bc66ff\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/fontdata.js\",\n \"revision\": \"495e5a410955d1b6178870e605890ede\"\n },\n {\n \"url\": \"math/jax/element/mml/optable/BasicLatin.js\",\n \"revision\": \"cac9b2e71382e62270baa55fab07cc13\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js\",\n \"revision\": \"e3e5e4d5924beed29f0844550b5c8f46\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js\",\n \"revision\": \"0767cbad7275b53da128e7e5e1109f7c\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js\",\n \"revision\": \"346302a5c5ee00e01c302148c56dbfe3\"\n },\n {\n \"url\": \"resources/dia.txt\",\n \"revision\": \"8e34c9af7f8d502cfd1584a3906efde0\"\n },\n {\n \"url\": \"resources/dia_am.txt\",\n \"revision\": \"b1cae5291215a5034ac42f73b027c5d7\"\n },\n {\n \"url\": \"resources/dia_ar.txt\",\n \"revision\": \"6e4736c460473f556a0ac7650a1f99a3\"\n },\n {\n \"url\": \"resources/dia_bg.txt\",\n \"revision\": \"b6c2c2451b0e31f0925eed924289e05c\"\n },\n {\n \"url\": \"resources/dia_bn.txt\",\n \"revision\": \"78daf0565086adf9e1672d6f1317bda5\"\n },\n {\n \"url\": \"resources/dia_bs.txt\",\n \"revision\": \"06bac1fee85828b8db2837fd334adfcc\"\n },\n {\n \"url\": \"resources/dia_ca.txt\",\n \"revision\": \"2e034dfde79b3feb3484a26b1f6c357d\"\n },\n {\n \"url\": \"resources/dia_cs.txt\",\n \"revision\": \"d177d00f8f1d1b9aeac81df181136ca0\"\n },\n {\n \"url\": \"resources/dia_da.txt\",\n \"revision\": \"f244c674d2863b1d4a4019c5618a7fc0\"\n },\n {\n \"url\": \"resources/dia_de.txt\",\n \"revision\": \"73fdf0841d2c247d51a95e83aa8b0995\"\n },\n {\n \"url\": \"resources/dia_el.txt\",\n \"revision\": \"5284df86fb89f04e57270c1418c6becb\"\n },\n {\n \"url\": \"resources/dia_eo.txt\",\n \"revision\": \"72f2fc6768b1b710b4c054582588857f\"\n },\n {\n \"url\": \"resources/dia_es.txt\",\n \"revision\": \"4c41cd24505f6bf2d2beca8fb29dbc52\"\n },\n {\n \"url\": \"resources/dia_et.txt\",\n \"revision\": \"cc9e2bd4f79f4782b0a4f956f7a7d887\"\n },\n {\n \"url\": \"resources/dia_eu.txt\",\n \"revision\": \"a9e20c40c84023b9886fba2657d3b3a6\"\n },\n {\n \"url\": \"resources/dia_fa.txt\",\n \"revision\": \"48ef8e033a7e66d981a8e31eb46d7c2d\"\n },\n {\n \"url\": \"resources/dia_fi.txt\",\n \"revision\": \"07a230a6649d527f6fcc71190852d60f\"\n },\n {\n \"url\": \"resources/dia_fil.txt\",\n \"revision\": \"41d4669b6e560b4856f9ec31169d801e\"\n },\n {\n \"url\": \"resources/dia_fr.txt\",\n \"revision\": \"2b69ce9fcfa150e21b5f3b82baa62a83\"\n },\n {\n \"url\": \"resources/dia_gl.txt\",\n \"revision\": \"f696a37829215a03d74b577f0e193d39\"\n },\n {\n \"url\": \"resources/dia_gu.txt\",\n \"revision\": \"83cfd5e26cea2e31c14ac6be912295f3\"\n },\n {\n \"url\": \"resources/dia_he.txt\",\n \"revision\": \"0335866f8064454819141659ac422ca1\"\n },\n {\n \"url\": \"resources/dia_hi.txt\",\n \"revision\": \"92fe4218858dcbe8d30351799df0f4ca\"\n },\n {\n \"url\": \"resources/dia_hr.txt\",\n \"revision\": \"c7dee00a9cb74656e538646681aaa8b9\"\n },\n {\n \"url\": \"resources/dia_hu.txt\",\n \"revision\": \"5a28c9a4c4a52beb39da3aff77cb176a\"\n },\n {\n \"url\": \"resources/dia_id.txt\",\n \"revision\": \"c927e56e3b2121a9042ce9f284a126f9\"\n },\n {\n \"url\": \"resources/dia_it.txt\",\n \"revision\": \"ae1d326f35a964fada09f7c69948fa08\"\n },\n {\n \"url\": \"resources/dia_ja.txt\",\n \"revision\": \"ba6d3ca71cd2c0b78f24426495141105\"\n },\n {\n \"url\": \"resources/dia_kn.txt\",\n \"revision\": \"ecc38aad8980d8f546ce745b3beac484\"\n },\n {\n \"url\": \"resources/dia_ko.txt\",\n \"revision\": \"25cb961c38bad57e5ff76292a57652a5\"\n },\n {\n \"url\": \"resources/dia_lt.txt\",\n \"revision\": \"ef23c72e2256478a443874be1f61ca37\"\n },\n {\n \"url\": \"resources/dia_lv.txt\",\n \"revision\": \"2c35489f81edad8a8b017b77847c5e1d\"\n },\n {\n \"url\": \"resources/dia_ml.txt\",\n \"revision\": \"b9dd65e0ea3145fa005a9ff4042087ec\"\n },\n {\n \"url\": \"resources/dia_mr.txt\",\n \"revision\": \"e94f5f2050375652beb186f1836a4778\"\n },\n {\n \"url\": \"resources/dia_ms.txt\",\n \"revision\": \"0f87275e26a884927643a187a9468942\"\n },\n {\n \"url\": \"resources/dia_my.txt\",\n \"revision\": \"8e34c9af7f8d502cfd1584a3906efde0\"\n },\n {\n \"url\": \"resources/dia_nl.txt\",\n \"revision\": \"e275240e3c513e1b2e598ea564c38dca\"\n },\n {\n \"url\": \"resources/dia_no.txt\",\n \"revision\": \"d19f878a809337bed2a91da1a9dfeffd\"\n },\n {\n \"url\": \"resources/dia_pl.txt\",\n \"revision\": \"1bab2f1b6ddbd728e485ff64c86d0425\"\n },\n {\n \"url\": \"resources/dia_pt-br.txt\",\n \"revision\": \"2372f6fbd1e21c0b183b180bc94e1e63\"\n },\n {\n \"url\": \"resources/dia_pt.txt\",\n \"revision\": \"3e3e073a2dd715015c3d95ed227f411d\"\n },\n {\n \"url\": \"resources/dia_ro.txt\",\n \"revision\": \"1eab1efc5eab57335c49c0862d30d323\"\n },\n {\n \"url\": \"resources/dia_ru.txt\",\n \"revision\": \"b40ee1842311d03cd356d2f8fa645db7\"\n },\n {\n \"url\": \"resources/dia_si.txt\",\n \"revision\": \"8e34c9af7f8d502cfd1584a3906efde0\"\n },\n {\n \"url\": \"resources/dia_sk.txt\",\n \"revision\": \"a3e4a57e303e6bb2d60da6f8c78992fe\"\n },\n {\n \"url\": \"resources/dia_sl.txt\",\n \"revision\": \"d7f8c99d531f89e14c3cd2deaf576eef\"\n },\n {\n \"url\": \"resources/dia_sr.txt\",\n \"revision\": \"3167385790cec85acecd1c6ecaa74929\"\n },\n {\n \"url\": \"resources/dia_sv.txt\",\n \"revision\": \"c43570ee17b78766d6e6659363625f1d\"\n },\n {\n \"url\": \"resources/dia_sw.txt\",\n \"revision\": \"6326dcb2d3266cc71194a8118ffcc4f0\"\n },\n {\n \"url\": \"resources/dia_ta.txt\",\n \"revision\": \"f4573d8b89013b7e06f3bae1ae66d8cf\"\n },\n {\n \"url\": \"resources/dia_te.txt\",\n \"revision\": \"37b45cfce7ee5c8507d92b9f1dbeab3d\"\n },\n {\n \"url\": \"resources/dia_th.txt\",\n \"revision\": \"24338a7fa8e8a1c7a58058bf082fe614\"\n },\n {\n \"url\": \"resources/dia_tr.txt\",\n \"revision\": \"897b674fcf3b42e63cbf725d74c7473b\"\n },\n {\n \"url\": \"resources/dia_uk.txt\",\n \"revision\": \"e44438f964e9222286c18cfbf8c1fdab\"\n },\n {\n \"url\": \"resources/dia_vi.txt\",\n \"revision\": \"1c24f857d15d5a48926c7fd04923675d\"\n },\n {\n \"url\": \"resources/dia_zh-tw.txt\",\n \"revision\": \"e862d6b91264121956038107be20163d\"\n },\n {\n \"url\": \"resources/dia_zh.txt\",\n \"revision\": \"67598bcff64219afb6267ce6030ae007\"\n },\n {\n \"url\": \"favicon.ico\",\n \"revision\": \"fab2d88b37c72d83607527573de45281\"\n },\n {\n \"url\": \"images/manifest.json\",\n \"revision\": \"c6236bde53ed79aaaec60a1aca8ee2ef\"\n },\n {\n \"url\": \"images/logo.png\",\n \"revision\": \"89630b64b911ebe0daa3dfe442087cfa\"\n },\n {\n \"url\": \"images/drawlogo.svg\",\n \"revision\": \"4bf4d14ebcf072d8bd4c5a1c89e88fc6\"\n },\n {\n \"url\": \"images/drawlogo48.png\",\n \"revision\": \"8b13428373aca67b895364d025f42417\"\n },\n {\n \"url\": \"images/drawlogo-gray.svg\",\n \"revision\": \"0aabacbc0873816e1e09e4736ae44c7d\"\n },\n {\n \"url\": \"images/drawlogo-text-bottom.svg\",\n \"revision\": \"f6c438823ab31f290940bd4feb8dd9c2\"\n },\n {\n \"url\": \"images/default-user.jpg\",\n \"revision\": \"2c399696a87c8921f12d2f9e1990cc6e\"\n },\n {\n \"url\": \"images/logo-flat-small.png\",\n \"revision\": \"4b178e59ff499d6dd1894fc498b59877\"\n },\n {\n \"url\": \"images/apple-touch-icon.png\",\n \"revision\": \"73da7989a23ce9a4be565ec65658a239\"\n },\n {\n \"url\": \"images/favicon-16x16.png\",\n \"revision\": \"1a79d5461a5d2bf21f6652e0ac20d6e5\"\n },\n {\n \"url\": \"images/favicon-32x32.png\",\n \"revision\": \"e3b92da2febe70bad5372f6f3474b034\"\n },\n {\n \"url\": \"images/android-chrome-196x196.png\",\n \"revision\": \"f8c045b2d7b1c719fda64edab04c415c\"\n },\n {\n \"url\": \"images/android-chrome-512x512.png\",\n \"revision\": \"959b5fac2453963ff6d60fb85e4b73fd\"\n },\n {\n \"url\": \"images/delete.png\",\n \"revision\": \"5f2350f2fd20f1a229637aed32ed8f29\"\n },\n {\n \"url\": \"images/droptarget.png\",\n \"revision\": \"bbf7f563fb6784de1ce96f329519b043\"\n },\n {\n \"url\": \"images/help.png\",\n \"revision\": \"9266c6c3915bd33c243d80037d37bf61\"\n },\n {\n \"url\": \"images/download.png\",\n \"revision\": \"35418dd7bd48d87502c71b578cc6c37f\"\n },\n {\n \"url\": \"images/logo-flat.png\",\n \"revision\": \"038070ab43aee6e54a791211859fc67b\"\n },\n {\n \"url\": \"images/google-drive-logo.svg\",\n \"revision\": \"5d9f2f5bbc7dcc252730a0072bb23059\"\n },\n {\n \"url\": \"images/onedrive-logo.svg\",\n \"revision\": \"3645b344ec0634c1290dd58d7dc87b97\"\n },\n {\n \"url\": \"images/dropbox-logo.svg\",\n \"revision\": \"e6be408c77cf9c82d41ac64fa854280a\"\n },\n {\n \"url\": \"images/github-logo.svg\",\n \"revision\": \"a1a999b69a275eac0cb918360ac05ae1\"\n },\n {\n \"url\": \"images/gitlab-logo.svg\",\n \"revision\": \"0faea8c818899e58533e153c44b10517\"\n },\n {\n \"url\": \"images/trello-logo.svg\",\n \"revision\": \"006fd0d7d70d7e95dc691674cb12e044\"\n },\n {\n \"url\": \"images/osa_drive-harddisk.png\",\n \"revision\": \"b954e1ae772087c5b4c6ae797e1f9649\"\n },\n {\n \"url\": \"images/osa_database.png\",\n \"revision\": \"c350d9d9b95f37b6cfe798b40ede5fb0\"\n },\n {\n \"url\": \"images/google-drive-logo-white.svg\",\n \"revision\": \"f329d8b1be7778515a85b93fc35d9f26\"\n },\n {\n \"url\": \"images/dropbox-logo-white.svg\",\n \"revision\": \"4ea8299ac3bc31a16f199ee3aec223bf\"\n },\n {\n \"url\": \"images/onedrive-logo-white.svg\",\n \"revision\": \"b3602fa0fc947009cff3f33a581cff4d\"\n },\n {\n \"url\": \"images/github-logo-white.svg\",\n \"revision\": \"537b1127b3ca0f95b45782d1304fb77a\"\n },\n {\n \"url\": \"images/gitlab-logo-white.svg\",\n \"revision\": \"5fede9ac2f394c716b8c23e3fddc3910\"\n },\n {\n \"url\": \"images/trello-logo-white-orange.svg\",\n \"revision\": \"e2a0a52ba3766682f138138d10a75eb5\"\n },\n {\n \"url\": \"images/logo-confluence.png\",\n \"revision\": \"ed1e55d44ae5eba8f999aba2c93e8331\"\n },\n {\n \"url\": \"images/logo-jira.png\",\n \"revision\": \"f8d460555a0d1f87cfd901e940666629\"\n },\n {\n \"url\": \"images/clear.gif\",\n \"revision\": \"db13c778e4382e0b55258d0f811d5d70\"\n },\n {\n \"url\": \"images/spin.gif\",\n \"revision\": \"487cbb40b9ced439aa1ad914e816d773\"\n },\n {\n \"url\": \"images/checkmark.gif\",\n \"revision\": \"ba764ce62f2bf952df5bbc2bb4d381c5\"\n },\n {\n \"url\": \"images/hs.png\",\n \"revision\": \"fefa1a03d92ebad25c88dca94a0b63db\"\n },\n {\n \"url\": \"images/aui-wait.gif\",\n \"revision\": \"5a474bcbd8d2f2826f03d10ea44bf60e\"\n },\n {\n \"url\": \"mxgraph/css/common.css\",\n \"revision\": \"b5b7280ec98671bb6c3847a36bc7ea12\"\n },\n {\n \"url\": \"mxgraph/images/expanded.gif\",\n \"revision\": \"2b67c2c035af1e9a5cc814f0d22074cf\"\n },\n {\n \"url\": \"mxgraph/images/collapsed.gif\",\n \"revision\": \"73cc826da002a3d740ca4ce6ec5c1f4a\"\n },\n {\n \"url\": \"mxgraph/images/maximize.gif\",\n \"revision\": \"5cd13d6925493ab51e876694cc1c2ec2\"\n },\n {\n \"url\": \"mxgraph/images/minimize.gif\",\n \"revision\": \"8957741b9b0f86af9438775f2aadbb54\"\n },\n {\n \"url\": \"mxgraph/images/close.gif\",\n \"revision\": \"8b84669812ac7382984fca35de8da48b\"\n },\n {\n \"url\": \"mxgraph/images/resize.gif\",\n \"revision\": \"a6477612b3567a34033f9cac6184eed3\"\n },\n {\n \"url\": \"mxgraph/images/separator.gif\",\n \"revision\": \"7819742ff106c97da7a801c2372bbbe5\"\n },\n {\n \"url\": \"mxgraph/images/window.gif\",\n \"revision\": \"fd9a21dd4181f98052a202a0a01f18ab\"\n },\n {\n \"url\": \"mxgraph/images/window-title.gif\",\n \"revision\": \"3fb1d6c43246cdf991a11dfe826dfe99\"\n },\n {\n \"url\": \"mxgraph/images/button.gif\",\n \"revision\": \"00759bdc3ad218fa739f584369541809\"\n },\n {\n \"url\": \"mxgraph/images/point.gif\",\n \"revision\": \"83a43717b284902442620f61bc4e9fa6\"\n }\n], {\n \"ignoreURLParametersMatching\": [/.*/]\n});\n\n\n\n\n\n\n\n\n"],"names":["self","addEventListener","event","data","type","skipWaiting","workbox_precaching_precacheAndRoute","url","revision","ignoreURLParametersMatching"],"mappings":"szBAmBAA,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,iBAYTC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,gBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,YACPC,SAAY,oCAEd,CACED,IAAO,8CACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,iCACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,2CACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yCACPC,SAAY,oCAEd,CACED,IAAO,oCACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,2CACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,oCACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,wCACPC,SAAY,oCAEd,CACED,IAAO,4CACPC,SAAY,oCAEd,CACED,IAAO,6CACPC,SAAY,oCAEd,CACED,IAAO,yCACPC,SAAY,oCAEd,CACED,IAAO,qCACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,qCACPC,SAAY,oCAEd,CACED,IAAO,4CACPC,SAAY,oCAEd,CACED,IAAO,6CACPC,SAAY,oCAEd,CACED,IAAO,sDACPC,SAAY,oCAEd,CACED,IAAO,kEACPC,SAAY,oCAEd,CACED,IAAO,+DACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,kCACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,oCACPC,SAAY,oCAEd,CACED,IAAO,oCACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,qCACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,iCACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,sCACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,gBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,kCACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,qCAEb,CACDC,4BAA+B,CAAC"} \ No newline at end of file
+{"version":3,"file":"service-worker.js","sources":["../../../../../../../tmp/14499588587d9f95a9a7ddae8220ba15/service-worker.js"],"sourcesContent":["import {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/opt/hostedtoolcache/node/14.19.2/x64/lib/node_modules/workbox-cli/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\n\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"js/app.min.js\",\n \"revision\": \"b795669f61cd569aed250c616223a2f7\"\n },\n {\n \"url\": \"js/extensions.min.js\",\n \"revision\": \"b2a9feb52ee2b2eaf0228f5d19f4c3b2\"\n },\n {\n \"url\": \"js/stencils.min.js\",\n \"revision\": \"98924b5296c015cef20b904ef861eeea\"\n },\n {\n \"url\": \"js/shapes-14-6-5.min.js\",\n \"revision\": \"f0e1d4c09054df2f3ea3793491e9fe08\"\n },\n {\n \"url\": \"js/math-print.js\",\n \"revision\": \"0611491c663261a732ff18224906184d\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"8b5b1cf07fc74454cf354717e9d18534\"\n },\n {\n \"url\": \"open.html\",\n \"revision\": \"d71816b3b00e769fc6019fcdd6921662\"\n },\n {\n \"url\": \"styles/fonts/ArchitectsDaughter-Regular.ttf\",\n \"revision\": \"31c2153c0530e32553b31a49b3d70736\"\n },\n {\n \"url\": \"styles/grapheditor.css\",\n \"revision\": \"4f2c07c4585347249c95cd9158872fb2\"\n },\n {\n \"url\": \"styles/atlas.css\",\n \"revision\": \"e8152cda9233d3a3af017422993abfce\"\n },\n {\n \"url\": \"styles/dark.css\",\n \"revision\": \"3179f617dd02efd2cefeb8c06f965880\"\n },\n {\n \"url\": \"js/dropbox/Dropbox-sdk.min.js\",\n \"revision\": \"4b9842892aa37b156db0a8364b7a83b0\"\n },\n {\n \"url\": \"js/onedrive/OneDrive.js\",\n \"revision\": \"505e8280346666f7ee801bc59521fa67\"\n },\n {\n \"url\": \"js/viewer-static.min.js\",\n \"revision\": \"a0d05d0e6a2b63daab721aef070cb617\"\n },\n {\n \"url\": \"connect/jira/editor-1-3-3.html\",\n \"revision\": \"a2b0e7267a08a838f3cc404eba831ec0\"\n },\n {\n \"url\": \"connect/jira/viewerPanel-1-3-12.html\",\n \"revision\": \"c96db1790184cb35781f791e8d1dafd9\"\n },\n {\n \"url\": \"connect/jira/fullScreenViewer-1-3-3.html\",\n \"revision\": \"ba7ece2dfb2833b72f97280d7092f25e\"\n },\n {\n \"url\": \"connect/jira/viewerPanel.js\",\n \"revision\": \"6d5a85e70c7b82ba685782ca6df2b9d5\"\n },\n {\n \"url\": \"connect/jira/spinner.gif\",\n \"revision\": \"7d857ab9d86123e93d74d48e958fe743\"\n },\n {\n \"url\": \"connect/jira/editor.js\",\n \"revision\": \"01caa325f3ad3f6565e0b4228907fb63\"\n },\n {\n \"url\": \"connect/jira/fullscreen-viewer-init.js\",\n \"revision\": \"e00ad51fc16b87c362d6eaf930ab1fa5\"\n },\n {\n \"url\": \"connect/jira/fullscreen-viewer.js\",\n \"revision\": \"4e0775a6c156a803e777870623ac7c3e\"\n },\n {\n \"url\": \"plugins/connectJira.js\",\n \"revision\": \"4cefa13414e0d406550f3c073923080c\"\n },\n {\n \"url\": \"plugins/cConf-comments.js\",\n \"revision\": \"c787357209cff2986dcca567b599e2ef\"\n },\n {\n \"url\": \"plugins/cConf-1-4-8.js\",\n \"revision\": \"c6552981ba1add209fe3e12ffcf79c9a\"\n },\n {\n \"url\": \"connect/confluence/connectUtils-1-4-8.js\",\n \"revision\": \"fab9a95f19a57bb836e42f67a1c0078b\"\n },\n {\n \"url\": \"connect/new_common/cac.js\",\n \"revision\": \"3d8c436c566db645fb1e6e6ba9f69bbc\"\n },\n {\n \"url\": \"connect/gdrive_common/gac.js\",\n \"revision\": \"38f1df3ecc4d78290493f47e62202138\"\n },\n {\n \"url\": \"connect/onedrive_common/ac.js\",\n \"revision\": \"d089f12446d443ca01752a5115456fcc\"\n },\n {\n \"url\": \"connect/confluence/viewer-init.js\",\n \"revision\": \"2bd677096ebffd3aa5cab0c347851e3f\"\n },\n {\n \"url\": \"connect/confluence/viewer.js\",\n \"revision\": \"a9d84488d17425d28e5d85d464e0a8f8\"\n },\n {\n \"url\": \"connect/confluence/viewer-1-4-42.html\",\n \"revision\": \"4c58f3a1a4c99b1c4264593b6e05100b\"\n },\n {\n \"url\": \"connect/confluence/macroEditor-1-4-8.html\",\n \"revision\": \"8cd74a2fb60bf2e3e86026d66107cf11\"\n },\n {\n \"url\": \"connect/confluence/includeDiagram-1-4-8.js\",\n \"revision\": \"352d2782274de07617d117926b68c205\"\n },\n {\n \"url\": \"connect/confluence/includeDiagram.html\",\n \"revision\": \"5cefef0227d058cf716d1f51f2cf202f\"\n },\n {\n \"url\": \"connect/confluence/macro-editor.js\",\n \"revision\": \"412bc4b87e630b697a40f247c579d398\"\n },\n {\n \"url\": \"math/MathJax.js\",\n \"revision\": \"b2c103388b71bb3d11cbf9aa45fe9b68\"\n },\n {\n \"url\": \"math/config/TeX-MML-AM_SVG-full.js\",\n \"revision\": \"d5cb8ac04050983170ae4af145bc66ff\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/fontdata.js\",\n \"revision\": \"495e5a410955d1b6178870e605890ede\"\n },\n {\n \"url\": \"math/jax/element/mml/optable/BasicLatin.js\",\n \"revision\": \"cac9b2e71382e62270baa55fab07cc13\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js\",\n \"revision\": \"e3e5e4d5924beed29f0844550b5c8f46\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js\",\n \"revision\": \"0767cbad7275b53da128e7e5e1109f7c\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js\",\n \"revision\": \"346302a5c5ee00e01c302148c56dbfe3\"\n },\n {\n \"url\": \"resources/dia.txt\",\n \"revision\": \"8e34c9af7f8d502cfd1584a3906efde0\"\n },\n {\n \"url\": \"resources/dia_am.txt\",\n \"revision\": \"b1cae5291215a5034ac42f73b027c5d7\"\n },\n {\n \"url\": \"resources/dia_ar.txt\",\n \"revision\": \"6e4736c460473f556a0ac7650a1f99a3\"\n },\n {\n \"url\": \"resources/dia_bg.txt\",\n \"revision\": \"b6c2c2451b0e31f0925eed924289e05c\"\n },\n {\n \"url\": \"resources/dia_bn.txt\",\n \"revision\": \"78daf0565086adf9e1672d6f1317bda5\"\n },\n {\n \"url\": \"resources/dia_bs.txt\",\n \"revision\": \"06bac1fee85828b8db2837fd334adfcc\"\n },\n {\n \"url\": \"resources/dia_ca.txt\",\n \"revision\": \"2e034dfde79b3feb3484a26b1f6c357d\"\n },\n {\n \"url\": \"resources/dia_cs.txt\",\n \"revision\": \"d177d00f8f1d1b9aeac81df181136ca0\"\n },\n {\n \"url\": \"resources/dia_da.txt\",\n \"revision\": \"f244c674d2863b1d4a4019c5618a7fc0\"\n },\n {\n \"url\": \"resources/dia_de.txt\",\n \"revision\": \"73fdf0841d2c247d51a95e83aa8b0995\"\n },\n {\n \"url\": \"resources/dia_el.txt\",\n \"revision\": \"5284df86fb89f04e57270c1418c6becb\"\n },\n {\n \"url\": \"resources/dia_eo.txt\",\n \"revision\": \"72f2fc6768b1b710b4c054582588857f\"\n },\n {\n \"url\": \"resources/dia_es.txt\",\n \"revision\": \"4c41cd24505f6bf2d2beca8fb29dbc52\"\n },\n {\n \"url\": \"resources/dia_et.txt\",\n \"revision\": \"cc9e2bd4f79f4782b0a4f956f7a7d887\"\n },\n {\n \"url\": \"resources/dia_eu.txt\",\n \"revision\": \"a9e20c40c84023b9886fba2657d3b3a6\"\n },\n {\n \"url\": \"resources/dia_fa.txt\",\n \"revision\": \"48ef8e033a7e66d981a8e31eb46d7c2d\"\n },\n {\n \"url\": \"resources/dia_fi.txt\",\n \"revision\": \"07a230a6649d527f6fcc71190852d60f\"\n },\n {\n \"url\": \"resources/dia_fil.txt\",\n \"revision\": \"41d4669b6e560b4856f9ec31169d801e\"\n },\n {\n \"url\": \"resources/dia_fr.txt\",\n \"revision\": \"2b69ce9fcfa150e21b5f3b82baa62a83\"\n },\n {\n \"url\": \"resources/dia_gl.txt\",\n \"revision\": \"f696a37829215a03d74b577f0e193d39\"\n },\n {\n \"url\": \"resources/dia_gu.txt\",\n \"revision\": \"83cfd5e26cea2e31c14ac6be912295f3\"\n },\n {\n \"url\": \"resources/dia_he.txt\",\n \"revision\": \"0335866f8064454819141659ac422ca1\"\n },\n {\n \"url\": \"resources/dia_hi.txt\",\n \"revision\": \"92fe4218858dcbe8d30351799df0f4ca\"\n },\n {\n \"url\": \"resources/dia_hr.txt\",\n \"revision\": \"c7dee00a9cb74656e538646681aaa8b9\"\n },\n {\n \"url\": \"resources/dia_hu.txt\",\n \"revision\": \"5a28c9a4c4a52beb39da3aff77cb176a\"\n },\n {\n \"url\": \"resources/dia_id.txt\",\n \"revision\": \"c927e56e3b2121a9042ce9f284a126f9\"\n },\n {\n \"url\": \"resources/dia_it.txt\",\n \"revision\": \"ae1d326f35a964fada09f7c69948fa08\"\n },\n {\n \"url\": \"resources/dia_ja.txt\",\n \"revision\": \"ba6d3ca71cd2c0b78f24426495141105\"\n },\n {\n \"url\": \"resources/dia_kn.txt\",\n \"revision\": \"ecc38aad8980d8f546ce745b3beac484\"\n },\n {\n \"url\": \"resources/dia_ko.txt\",\n \"revision\": \"25cb961c38bad57e5ff76292a57652a5\"\n },\n {\n \"url\": \"resources/dia_lt.txt\",\n \"revision\": \"ef23c72e2256478a443874be1f61ca37\"\n },\n {\n \"url\": \"resources/dia_lv.txt\",\n \"revision\": \"2c35489f81edad8a8b017b77847c5e1d\"\n },\n {\n \"url\": \"resources/dia_ml.txt\",\n \"revision\": \"b9dd65e0ea3145fa005a9ff4042087ec\"\n },\n {\n \"url\": \"resources/dia_mr.txt\",\n \"revision\": \"e94f5f2050375652beb186f1836a4778\"\n },\n {\n \"url\": \"resources/dia_ms.txt\",\n \"revision\": \"0f87275e26a884927643a187a9468942\"\n },\n {\n \"url\": \"resources/dia_my.txt\",\n \"revision\": \"8e34c9af7f8d502cfd1584a3906efde0\"\n },\n {\n \"url\": \"resources/dia_nl.txt\",\n \"revision\": \"e275240e3c513e1b2e598ea564c38dca\"\n },\n {\n \"url\": \"resources/dia_no.txt\",\n \"revision\": \"d19f878a809337bed2a91da1a9dfeffd\"\n },\n {\n \"url\": \"resources/dia_pl.txt\",\n \"revision\": \"1bab2f1b6ddbd728e485ff64c86d0425\"\n },\n {\n \"url\": \"resources/dia_pt-br.txt\",\n \"revision\": \"2372f6fbd1e21c0b183b180bc94e1e63\"\n },\n {\n \"url\": \"resources/dia_pt.txt\",\n \"revision\": \"3e3e073a2dd715015c3d95ed227f411d\"\n },\n {\n \"url\": \"resources/dia_ro.txt\",\n \"revision\": \"1eab1efc5eab57335c49c0862d30d323\"\n },\n {\n \"url\": \"resources/dia_ru.txt\",\n \"revision\": \"b40ee1842311d03cd356d2f8fa645db7\"\n },\n {\n \"url\": \"resources/dia_si.txt\",\n \"revision\": \"8e34c9af7f8d502cfd1584a3906efde0\"\n },\n {\n \"url\": \"resources/dia_sk.txt\",\n \"revision\": \"a3e4a57e303e6bb2d60da6f8c78992fe\"\n },\n {\n \"url\": \"resources/dia_sl.txt\",\n \"revision\": \"d7f8c99d531f89e14c3cd2deaf576eef\"\n },\n {\n \"url\": \"resources/dia_sr.txt\",\n \"revision\": \"3167385790cec85acecd1c6ecaa74929\"\n },\n {\n \"url\": \"resources/dia_sv.txt\",\n \"revision\": \"c43570ee17b78766d6e6659363625f1d\"\n },\n {\n \"url\": \"resources/dia_sw.txt\",\n \"revision\": \"6326dcb2d3266cc71194a8118ffcc4f0\"\n },\n {\n \"url\": \"resources/dia_ta.txt\",\n \"revision\": \"f4573d8b89013b7e06f3bae1ae66d8cf\"\n },\n {\n \"url\": \"resources/dia_te.txt\",\n \"revision\": \"37b45cfce7ee5c8507d92b9f1dbeab3d\"\n },\n {\n \"url\": \"resources/dia_th.txt\",\n \"revision\": \"24338a7fa8e8a1c7a58058bf082fe614\"\n },\n {\n \"url\": \"resources/dia_tr.txt\",\n \"revision\": \"897b674fcf3b42e63cbf725d74c7473b\"\n },\n {\n \"url\": \"resources/dia_uk.txt\",\n \"revision\": \"e44438f964e9222286c18cfbf8c1fdab\"\n },\n {\n \"url\": \"resources/dia_vi.txt\",\n \"revision\": \"1c24f857d15d5a48926c7fd04923675d\"\n },\n {\n \"url\": \"resources/dia_zh-tw.txt\",\n \"revision\": \"e862d6b91264121956038107be20163d\"\n },\n {\n \"url\": \"resources/dia_zh.txt\",\n \"revision\": \"67598bcff64219afb6267ce6030ae007\"\n },\n {\n \"url\": \"favicon.ico\",\n \"revision\": \"fab2d88b37c72d83607527573de45281\"\n },\n {\n \"url\": \"images/manifest.json\",\n \"revision\": \"c6236bde53ed79aaaec60a1aca8ee2ef\"\n },\n {\n \"url\": \"images/logo.png\",\n \"revision\": \"89630b64b911ebe0daa3dfe442087cfa\"\n },\n {\n \"url\": \"images/drawlogo.svg\",\n \"revision\": \"4bf4d14ebcf072d8bd4c5a1c89e88fc6\"\n },\n {\n \"url\": \"images/drawlogo48.png\",\n \"revision\": \"8b13428373aca67b895364d025f42417\"\n },\n {\n \"url\": \"images/drawlogo-gray.svg\",\n \"revision\": \"0aabacbc0873816e1e09e4736ae44c7d\"\n },\n {\n \"url\": \"images/drawlogo-text-bottom.svg\",\n \"revision\": \"f6c438823ab31f290940bd4feb8dd9c2\"\n },\n {\n \"url\": \"images/default-user.jpg\",\n \"revision\": \"2c399696a87c8921f12d2f9e1990cc6e\"\n },\n {\n \"url\": \"images/logo-flat-small.png\",\n \"revision\": \"4b178e59ff499d6dd1894fc498b59877\"\n },\n {\n \"url\": \"images/apple-touch-icon.png\",\n \"revision\": \"73da7989a23ce9a4be565ec65658a239\"\n },\n {\n \"url\": \"images/favicon-16x16.png\",\n \"revision\": \"1a79d5461a5d2bf21f6652e0ac20d6e5\"\n },\n {\n \"url\": \"images/favicon-32x32.png\",\n \"revision\": \"e3b92da2febe70bad5372f6f3474b034\"\n },\n {\n \"url\": \"images/android-chrome-196x196.png\",\n \"revision\": \"f8c045b2d7b1c719fda64edab04c415c\"\n },\n {\n \"url\": \"images/android-chrome-512x512.png\",\n \"revision\": \"959b5fac2453963ff6d60fb85e4b73fd\"\n },\n {\n \"url\": \"images/delete.png\",\n \"revision\": \"5f2350f2fd20f1a229637aed32ed8f29\"\n },\n {\n \"url\": \"images/droptarget.png\",\n \"revision\": \"bbf7f563fb6784de1ce96f329519b043\"\n },\n {\n \"url\": \"images/help.png\",\n \"revision\": \"9266c6c3915bd33c243d80037d37bf61\"\n },\n {\n \"url\": \"images/download.png\",\n \"revision\": \"35418dd7bd48d87502c71b578cc6c37f\"\n },\n {\n \"url\": \"images/logo-flat.png\",\n \"revision\": \"038070ab43aee6e54a791211859fc67b\"\n },\n {\n \"url\": \"images/google-drive-logo.svg\",\n \"revision\": \"5d9f2f5bbc7dcc252730a0072bb23059\"\n },\n {\n \"url\": \"images/onedrive-logo.svg\",\n \"revision\": \"3645b344ec0634c1290dd58d7dc87b97\"\n },\n {\n \"url\": \"images/dropbox-logo.svg\",\n \"revision\": \"e6be408c77cf9c82d41ac64fa854280a\"\n },\n {\n \"url\": \"images/github-logo.svg\",\n \"revision\": \"a1a999b69a275eac0cb918360ac05ae1\"\n },\n {\n \"url\": \"images/gitlab-logo.svg\",\n \"revision\": \"0faea8c818899e58533e153c44b10517\"\n },\n {\n \"url\": \"images/trello-logo.svg\",\n \"revision\": \"006fd0d7d70d7e95dc691674cb12e044\"\n },\n {\n \"url\": \"images/osa_drive-harddisk.png\",\n \"revision\": \"b954e1ae772087c5b4c6ae797e1f9649\"\n },\n {\n \"url\": \"images/osa_database.png\",\n \"revision\": \"c350d9d9b95f37b6cfe798b40ede5fb0\"\n },\n {\n \"url\": \"images/google-drive-logo-white.svg\",\n \"revision\": \"f329d8b1be7778515a85b93fc35d9f26\"\n },\n {\n \"url\": \"images/dropbox-logo-white.svg\",\n \"revision\": \"4ea8299ac3bc31a16f199ee3aec223bf\"\n },\n {\n \"url\": \"images/onedrive-logo-white.svg\",\n \"revision\": \"b3602fa0fc947009cff3f33a581cff4d\"\n },\n {\n \"url\": \"images/github-logo-white.svg\",\n \"revision\": \"537b1127b3ca0f95b45782d1304fb77a\"\n },\n {\n \"url\": \"images/gitlab-logo-white.svg\",\n \"revision\": \"5fede9ac2f394c716b8c23e3fddc3910\"\n },\n {\n \"url\": \"images/trello-logo-white-orange.svg\",\n \"revision\": \"e2a0a52ba3766682f138138d10a75eb5\"\n },\n {\n \"url\": \"images/logo-confluence.png\",\n \"revision\": \"ed1e55d44ae5eba8f999aba2c93e8331\"\n },\n {\n \"url\": \"images/logo-jira.png\",\n \"revision\": \"f8d460555a0d1f87cfd901e940666629\"\n },\n {\n \"url\": \"images/clear.gif\",\n \"revision\": \"db13c778e4382e0b55258d0f811d5d70\"\n },\n {\n \"url\": \"images/spin.gif\",\n \"revision\": \"487cbb40b9ced439aa1ad914e816d773\"\n },\n {\n \"url\": \"images/checkmark.gif\",\n \"revision\": \"ba764ce62f2bf952df5bbc2bb4d381c5\"\n },\n {\n \"url\": \"images/hs.png\",\n \"revision\": \"fefa1a03d92ebad25c88dca94a0b63db\"\n },\n {\n \"url\": \"images/aui-wait.gif\",\n \"revision\": \"5a474bcbd8d2f2826f03d10ea44bf60e\"\n },\n {\n \"url\": \"mxgraph/css/common.css\",\n \"revision\": \"b5b7280ec98671bb6c3847a36bc7ea12\"\n },\n {\n \"url\": \"mxgraph/images/expanded.gif\",\n \"revision\": \"2b67c2c035af1e9a5cc814f0d22074cf\"\n },\n {\n \"url\": \"mxgraph/images/collapsed.gif\",\n \"revision\": \"73cc826da002a3d740ca4ce6ec5c1f4a\"\n },\n {\n \"url\": \"mxgraph/images/maximize.gif\",\n \"revision\": \"5cd13d6925493ab51e876694cc1c2ec2\"\n },\n {\n \"url\": \"mxgraph/images/minimize.gif\",\n \"revision\": \"8957741b9b0f86af9438775f2aadbb54\"\n },\n {\n \"url\": \"mxgraph/images/close.gif\",\n \"revision\": \"8b84669812ac7382984fca35de8da48b\"\n },\n {\n \"url\": \"mxgraph/images/resize.gif\",\n \"revision\": \"a6477612b3567a34033f9cac6184eed3\"\n },\n {\n \"url\": \"mxgraph/images/separator.gif\",\n \"revision\": \"7819742ff106c97da7a801c2372bbbe5\"\n },\n {\n \"url\": \"mxgraph/images/window.gif\",\n \"revision\": \"fd9a21dd4181f98052a202a0a01f18ab\"\n },\n {\n \"url\": \"mxgraph/images/window-title.gif\",\n \"revision\": \"3fb1d6c43246cdf991a11dfe826dfe99\"\n },\n {\n \"url\": \"mxgraph/images/button.gif\",\n \"revision\": \"00759bdc3ad218fa739f584369541809\"\n },\n {\n \"url\": \"mxgraph/images/point.gif\",\n \"revision\": \"83a43717b284902442620f61bc4e9fa6\"\n }\n], {\n \"ignoreURLParametersMatching\": [/.*/]\n});\n\n\n\n\n\n\n\n\n"],"names":["self","addEventListener","event","data","type","skipWaiting","workbox_precaching_precacheAndRoute","url","revision","ignoreURLParametersMatching"],"mappings":"szBAmBAA,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,iBAYTC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,gBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,YACPC,SAAY,oCAEd,CACED,IAAO,8CACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,iCACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,2CACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yCACPC,SAAY,oCAEd,CACED,IAAO,oCACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,2CACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,oCACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,wCACPC,SAAY,oCAEd,CACED,IAAO,4CACPC,SAAY,oCAEd,CACED,IAAO,6CACPC,SAAY,oCAEd,CACED,IAAO,yCACPC,SAAY,oCAEd,CACED,IAAO,qCACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,qCACPC,SAAY,oCAEd,CACED,IAAO,4CACPC,SAAY,oCAEd,CACED,IAAO,6CACPC,SAAY,oCAEd,CACED,IAAO,sDACPC,SAAY,oCAEd,CACED,IAAO,kEACPC,SAAY,oCAEd,CACED,IAAO,+DACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,kCACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,oCACPC,SAAY,oCAEd,CACED,IAAO,oCACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,qCACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,iCACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,sCACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,gBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,kCACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,qCAEb,CACDC,4BAA+B,CAAC"} \ No newline at end of file