This commit is contained in:
huangsimin 2019-12-12 18:33:33 +08:00
commit 1bb33e4e15
12 changed files with 1056 additions and 0 deletions

8
.factorypath Normal file
View File

@ -0,0 +1,8 @@
<factorypath>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/logging/log4j/log4j-core/2.12.1/log4j-core-2.12.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/logging/log4j/log4j-api/2.12.1/log4j-api-2.12.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/slf4j/slf4j-log4j12/1.7.29/slf4j-log4j12-1.7.29.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/log4j/log4j/1.2.17/log4j-1.2.17.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/slf4j/slf4j-api/1.7.29/slf4j-api-1.7.29.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/github/vlsi/mxgraph/jgraphx/4.0.5/jgraphx-4.0.5.jar" enabled="true" runInBatchMode="false"/>
</factorypath>

2
.gitattributes vendored Normal file
View File

@ -0,0 +1,2 @@
# When shell scripts end in CRLF, bash gives a cryptic error message
*.sh text eol=lf

28
.gitignore vendored Normal file
View File

@ -0,0 +1,28 @@
#
# Standard Maven .gitignore
#
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
*.log
#
# IntelliJ
#
*.iml
.idea/*
!.idea/runConfigurations/
#
# Visual Studio Code
#
.settings/
.classpath
.project
.vscode/

4
.travis.yml Normal file
View File

@ -0,0 +1,4 @@
language: java
jdk: oraclejdk8
after_success:
- mvn coveralls:report

121
pom.xml Normal file
View File

@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.yame</groupId>
<artifactId>mxgraph</artifactId>
<version>1.0-SNAPSHOT</version>
<name>mxgraph</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.11</java.version>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.12.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.12.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.29</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.29</version>
</dependency>
<dependency>
<groupId>com.github.vlsi.mxgraph</groupId>
<artifactId>jgraphx</artifactId>
<version>4.0.5</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<release>11</release>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
<!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
</plugin>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.0.0</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>

View File

@ -0,0 +1,13 @@
package com.yame;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
}

View File

@ -0,0 +1,12 @@
package com.yame;
/**
* Graph
*/
public class Graph {
public void load() {
}
}

View File

@ -0,0 +1,22 @@
log4j.rootLogger=debug, stdout, file
# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=./out.log
log4j.appender.file.layout=org.apache.log4j.SimpleLayout
#
# log4j.appender.C=org.apache.log4j.RollingFileAppender
# log4j.appender.C.File=E:\\log.html
# log4j.appender.C.MaxFileSize=1000KB
# log4j.appender.C.MaxBackupIndex=10
# log4j.appender.C.layout=org.apache.log4j.HTMLLayout
# log4j.appender.C.encoding=gbk
#
# log4j.appender.D=org.apache.log4j.DailyRollingFileAppender
# log4j.appender.D.File=E:\\log.log
# log4j.appender.D.layout=org.apache.log4j.TTCCLayout */

View File

@ -0,0 +1,755 @@
<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="Electron" modified="2019-11-28T07:55:49.689Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/12.2.2 Chrome/78.0.3904.94 Electron/7.1.0 Safari/537.36" etag="DbiUJFiSfzca5P0bM66D" version="12.2.2" type="device" pages="2">
<diagram name="os-a" id="efa7a0a1-bf9b-a30e-e6df-94a7791c09e9">
<mxGraphModel dx="2320" dy="1460" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="826" pageHeight="1169" background="#ffffff" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="19" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;Role&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdCompany&lt;br /&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="1" vertex="1">
<mxGeometry x="310.0000000000001" y="91.64000000000044" width="160" height="120" as="geometry"/>
</mxCell>
<mxCell id="20" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;Company&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="1" vertex="1">
<mxGeometry x="310.00000000000006" y="302.4999999999998" width="160" height="125" as="geometry"/>
</mxCell>
<mxCell id="21" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;Calendar&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdCalendar&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdCompany&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;ValidUntil&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="1" vertex="1">
<mxGeometry x="40.00000000000002" y="284.99999999999983" width="160" height="160" as="geometry"/>
</mxCell>
<mxCell id="22" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;User&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdUser&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdCompany&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;LastName&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Email&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UserName&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Password&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="1" vertex="1">
<mxGeometry x="879.9999999999999" y="430" width="160.0000000000001" height="180" as="geometry"/>
</mxCell>
<object label="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;UserProjectRole&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdUserProjectRole&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdRole&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdProject&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdUser&lt;/p&gt;" oid="xxx" id="23">
<mxCell style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="1" vertex="1">
<mxGeometry x="591.0800000000005" y="101.64000000000058" width="160" height="100" as="geometry"/>
</mxCell>
</object>
<mxCell id="24" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;Client&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdClient&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdCompany&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="1" vertex="1">
<mxGeometry x="310.0000000000002" y="556.9600000000006" width="160" height="150" as="geometry"/>
</mxCell>
<mxCell id="25" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;Holiday&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdHoliday&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdCalendar&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Date&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="1" vertex="1">
<mxGeometry x="40.00000000000005" y="21.640000000000366" width="160" height="160" as="geometry"/>
</mxCell>
<mxCell id="26" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;TimeSheet&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdTimeSheet&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdProject&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdUser&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="1" vertex="1">
<mxGeometry x="1170" y="680" width="160" height="170" as="geometry"/>
</mxCell>
<mxCell id="27" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;TimeSheetHour&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdTimeSheetHour&lt;br /&gt;IdTimeSheet&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdUser&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdTimeCategory&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdTask&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Quantity&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdProjectManager&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="1" vertex="1">
<mxGeometry x="1170" y="419.99999999999994" width="160" height="200" as="geometry"/>
</mxCell>
<mxCell id="28" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;Document&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdDocument&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;ValidFrom&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;ValidUntil&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;DocumentContents&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdateAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="1" vertex="1">
<mxGeometry x="129.9999999999999" y="881.1600000000003" width="160" height="180" as="geometry"/>
</mxCell>
<mxCell id="29" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;Project&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdProject&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdClient&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;StartDate&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;EndDate&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;br /&gt;IdProjectManager&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="1" vertex="1">
<mxGeometry x="591.0800000000003" y="531.9600000000007" width="160" height="200" as="geometry"/>
</mxCell>
<mxCell id="30" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;TimeCategory&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdTimeCategory&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="1" vertex="1">
<mxGeometry x="1420.0000000000002" y="455.0000000000001" width="160" height="130" as="geometry"/>
</mxCell>
<mxCell id="31" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;TimeSheetCostCenter&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdTimeSheetCostCenter&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdTimeSheet&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdCostCenter&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="1" vertex="1">
<mxGeometry x="1170" y="912.4999999999997" width="160" height="95" as="geometry"/>
</mxCell>
<mxCell id="32" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;CostCenter&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdCostCenter&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="1" vertex="1">
<mxGeometry x="940.0000000000001" y="889.9999999999995" width="160" height="140" as="geometry"/>
</mxCell>
<mxCell id="33" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;ProjectCostCenter&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdProjectCostCenter&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdProject&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdCostCenter&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="1" vertex="1">
<mxGeometry x="630" y="914.9999999999995" width="160" height="90" as="geometry"/>
</mxCell>
<mxCell id="34" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center ; text-decoration: underline&quot;&gt;&lt;strong&gt;ProjectDocument&lt;/strong&gt;&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;margin: 0px ; margin-left: 8px&quot;&gt;IdProjectDocument&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 8px&quot;&gt;IdProject&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 8px&quot;&gt;IdDocument&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="1" vertex="1">
<mxGeometry x="360.00000000000006" y="926.1600000000003" width="160" height="90" as="geometry"/>
</mxCell>
<mxCell id="35" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;Tasks&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdTask&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Work&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdProject&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;StartDate&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;EndDate&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="1" vertex="1">
<mxGeometry x="1170" y="140.00000000000009" width="160" height="190" as="geometry"/>
</mxCell>
<mxCell id="36" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;" parent="1" source="19" target="20" edge="1">
<mxGeometry y="160" as="geometry">
<mxPoint y="160" as="sourcePoint"/>
<mxPoint x="160" y="160" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="37" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="36" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="38" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="36" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="590" y="105" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="45" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;rounded=0" parent="1" source="23" target="22" edge="1">
<mxGeometry x="519.3599999999999" y="180" as="geometry">
<mxPoint x="519.3599999999999" y="180" as="sourcePoint"/>
<mxPoint x="679.3599999999999" y="180" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="46" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="45" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="8.919999999999618" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="47" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="45" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="-550" y="-159.99999999999997" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="48" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;exitX=1;exitY=0.25;rounded=0" parent="1" source="29" target="22" edge="1">
<mxGeometry x="769.3599999999999" y="450" as="geometry">
<mxPoint x="769.3599999999999" y="450" as="sourcePoint"/>
<mxPoint x="929.3599999999999" y="450" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="49" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="48" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="8.919999999999803" y="3.039999999999177" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="50" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="48" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="-10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="51" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle" parent="1" source="23" target="29" edge="1">
<mxGeometry x="389.35999999999996" y="350" as="geometry">
<mxPoint x="389.35999999999996" y="350" as="sourcePoint"/>
<mxPoint x="549.3599999999999" y="350" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="52" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="51" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="8.91999999999958" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="53" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="51" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="18.919999999999582" y="-21.960000000000644" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="54" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;exitX=0;exitY=0.25;rounded=0" parent="1" source="26" target="22" edge="1">
<mxGeometry x="1209.36" y="170" as="geometry">
<mxPoint x="1209.36" y="170" as="sourcePoint"/>
<mxPoint x="1369.36" y="170" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="55" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="54" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="-30" y="7.499999999999728" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="56" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="54" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="20" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="57" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle" parent="1" source="27" target="26" edge="1">
<mxGeometry x="1269.36" y="180" as="geometry">
<mxPoint x="1269.36" y="180" as="sourcePoint"/>
<mxPoint x="1429.36" y="180" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="58" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="57" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="59" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="57" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="20" y="-20" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="63" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;entryX=0.75;entryY=1" parent="1" source="33" target="29" edge="1">
<mxGeometry x="479.35999999999996" y="790" as="geometry">
<mxPoint x="479.35999999999996" y="790" as="sourcePoint"/>
<mxPoint x="639.3599999999999" y="790" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="64" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="63" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="-30" y="-97.50000000000027" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="65" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="63" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="-11.080000000000421" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="66" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle" parent="1" source="33" target="32" edge="1">
<mxGeometry x="469.3599999999999" y="526.1600000000003" as="geometry">
<mxPoint x="469.3599999999999" y="526.1600000000003" as="sourcePoint"/>
<mxPoint x="980" y="1061.1600000000005" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="67" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="66" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="68" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="66" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="-10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="72" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;entryX=0.25;entryY=1;rounded=0" parent="1" source="34" target="29" edge="1">
<mxGeometry x="419.35999999999996" y="820" as="geometry">
<mxPoint x="419.35999999999996" y="820" as="sourcePoint"/>
<mxPoint x="579.3599999999999" y="820" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="73" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="72" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="10" y="-26.160000000000235" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="74" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="72" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="-11.080000000000421" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="75" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle" parent="1" source="31" target="26" edge="1">
<mxGeometry x="1079.36" y="560" as="geometry">
<mxPoint x="1079.36" y="560" as="sourcePoint"/>
<mxPoint x="1239.36" y="560" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="76" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="75" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="10.00000000000009" y="-22.499999999999915" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="77" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="75" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="20" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="78" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle" parent="1" source="27" target="30" edge="1">
<mxGeometry x="1309.36" y="540" as="geometry">
<mxPoint x="1309.36" y="540" as="sourcePoint"/>
<mxPoint x="1469.36" y="540" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="79" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="78" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="80" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="78" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="-10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="81" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle" parent="1" source="27" target="35" edge="1">
<mxGeometry x="1119.36" y="540" as="geometry">
<mxPoint x="1119.36" y="540" as="sourcePoint"/>
<mxPoint x="1279.36" y="540" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="82" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="81" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="10" y="-20" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="83" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="81" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="20" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="84" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle" parent="1" source="27" target="22" edge="1">
<mxGeometry x="1389.36" y="130" as="geometry">
<mxPoint x="1389.36" y="130" as="sourcePoint"/>
<mxPoint x="1549.36" y="130" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="85" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="84" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="-30" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="86" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="84" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="20" y="2.7284841053187846e-13" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="87" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle" parent="1" source="20" target="24" edge="1">
<mxGeometry x="519.3599999999999" y="200" as="geometry">
<mxPoint x="519.3599999999999" y="200" as="sourcePoint"/>
<mxPoint x="679.3599999999999" y="200" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="88" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="87" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="-40" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="89" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="87" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="19.99999999999981" y="-24.999999999999815" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="90" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle" parent="1" source="25" target="21" edge="1">
<mxGeometry x="620" y="340" as="geometry">
<mxPoint x="620" y="340" as="sourcePoint"/>
<mxPoint x="780" y="340" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="91" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="90" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="92" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="90" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="20" y="-24.99999999999981" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="99" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle" parent="1" source="29" target="24" edge="1">
<mxGeometry x="369.35999999999996" y="360" as="geometry">
<mxPoint x="369.35999999999996" y="360" as="sourcePoint"/>
<mxPoint x="529.3599999999999" y="360" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="100" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="99" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="-31.08000000000042" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="101" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="99" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="19.99999999999981" y="1.8947806286936006e-13" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="102" value="Use" style="endArrow=open;endSize=12;dashed=1" parent="1" source="23" target="19" edge="1">
<mxGeometry x="430" y="50" as="geometry">
<mxPoint x="430" y="50" as="sourcePoint"/>
<mxPoint x="590" y="50" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="103" value="1" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=bottom;" parent="1" source="21" target="20" edge="1">
<mxGeometry x="-0.8181818181818175" y="4.999999999999702" relative="1" as="geometry">
<mxPoint x="80" y="510" as="sourcePoint"/>
<mxPoint x="240" y="510" as="targetPoint"/>
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="107" value="" style="endArrow=none;edgeStyle=orthogonalEdgeStyle;" parent="1" source="28" target="34" edge="1">
<mxGeometry x="190" y="950" as="geometry">
<mxPoint x="190" y="950" as="sourcePoint"/>
<mxPoint x="350" y="950" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="108" value="parent" style="resizable=0;align=left;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="107" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="10" y="-10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="109" value="child" style="resizable=0;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="107" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="-10" y="23.83999999999977" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="110" value="" style="endArrow=none;edgeStyle=orthogonalEdgeStyle;" parent="1" source="32" target="31" edge="1">
<mxGeometry x="910" y="972.4999999999998" as="geometry">
<mxPoint x="910" y="972.4999999999998" as="sourcePoint"/>
<mxPoint x="1070" y="972.4999999999998" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="111" value="parent" style="resizable=0;align=left;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="110" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="112" value="child" style="resizable=0;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="110" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="-10" y="25" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="113" value="" style="endArrow=block;endFill=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;entryX=1;entryY=0.75;exitX=0;exitY=0.75;rounded=0" parent="1" source="26" target="29" edge="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="910" y="840" as="sourcePoint"/>
<mxPoint x="1070" y="840" as="targetPoint"/>
<Array as="points">
<mxPoint x="910" y="808"/>
<mxPoint x="910" y="682"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="114" value="1" style="resizable=0;align=left;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10" parent="113" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="-19.99999999999982" y="2.499999999999909" as="offset"/>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="ZEFDzWWxa7eG-YTOwoTG" name="os-b">
<mxGraphModel dx="3712" dy="2336" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="dzx6YQmkxxi6H6zbbz4T-0"/>
<mxCell id="dzx6YQmkxxi6H6zbbz4T-1" parent="dzx6YQmkxxi6H6zbbz4T-0"/>
<mxCell id="bSDDLgkOTVISDoT7am6R-0" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;Role&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdCompany&lt;br /&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="dzx6YQmkxxi6H6zbbz4T-1" vertex="1">
<mxGeometry x="300" y="98.14000000000044" width="160" height="120" as="geometry"/>
</mxCell>
<mxCell id="9OZsCzifeMDsPcw4zjhr-2" style="edgeStyle=orthogonalEdgeStyle;curved=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;startArrow=diamondThin;startFill=0;startSize=14;endArrow=open;endSize=12;" edge="1" parent="dzx6YQmkxxi6H6zbbz4T-1" source="bSDDLgkOTVISDoT7am6R-1" target="bSDDLgkOTVISDoT7am6R-2">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-1" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;Company&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="dzx6YQmkxxi6H6zbbz4T-1" vertex="1">
<mxGeometry x="300" y="308.9999999999998" width="160" height="125" as="geometry"/>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-2" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;Calendar&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdCalendar&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdCompany&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;ValidUntil&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="dzx6YQmkxxi6H6zbbz4T-1" vertex="1">
<mxGeometry x="30" y="291.49999999999983" width="160" height="160" as="geometry"/>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-3" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;User&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdUser&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdCompany&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;LastName&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Email&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UserName&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Password&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="dzx6YQmkxxi6H6zbbz4T-1" vertex="1">
<mxGeometry x="870" y="436.5" width="160.0000000000001" height="180" as="geometry"/>
</mxCell>
<object label="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;UserProjectRole&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdUserProjectRole&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdRole&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdProject&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdUser&lt;/p&gt;" oid="xxx" id="bSDDLgkOTVISDoT7am6R-4">
<mxCell style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="dzx6YQmkxxi6H6zbbz4T-1" vertex="1">
<mxGeometry x="581.0800000000004" y="108.14000000000058" width="160" height="100" as="geometry"/>
</mxCell>
</object>
<mxCell id="bSDDLgkOTVISDoT7am6R-5" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;Client&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdClient&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdCompany&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="dzx6YQmkxxi6H6zbbz4T-1" vertex="1">
<mxGeometry x="300.0000000000002" y="563.4600000000006" width="160" height="150" as="geometry"/>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-6" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;Holiday&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdHoliday&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdCalendar&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Date&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="dzx6YQmkxxi6H6zbbz4T-1" vertex="1">
<mxGeometry x="30" y="28.14000000000037" width="154" height="160" as="geometry"/>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-7" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;TimeSheet&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdTimeSheet&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdProject&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdUser&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="dzx6YQmkxxi6H6zbbz4T-1" vertex="1">
<mxGeometry x="1160" y="686.5" width="160" height="170" as="geometry"/>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-8" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;TimeSheetHour&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdTimeSheetHour&lt;br /&gt;IdTimeSheet&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdUser&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdTimeCategory&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdTask&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Quantity&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdProjectManager&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="dzx6YQmkxxi6H6zbbz4T-1" vertex="1">
<mxGeometry x="1160" y="426.49999999999994" width="160" height="200" as="geometry"/>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-9" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;Document&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdDocument&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;ValidFrom&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;ValidUntil&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;DocumentContents&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdateAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="dzx6YQmkxxi6H6zbbz4T-1" vertex="1">
<mxGeometry x="120" y="887.6600000000003" width="160" height="180" as="geometry"/>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-10" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;Project&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdProject&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdClient&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;StartDate&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;EndDate&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;br /&gt;IdProjectManager&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="dzx6YQmkxxi6H6zbbz4T-1" vertex="1">
<mxGeometry x="581.0800000000004" y="538.4600000000007" width="160" height="200" as="geometry"/>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-11" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;TimeCategory&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdTimeCategory&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="dzx6YQmkxxi6H6zbbz4T-1" vertex="1">
<mxGeometry x="1410" y="461.5000000000001" width="160" height="130" as="geometry"/>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-12" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;TimeSheetCostCenter&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdTimeSheetCostCenter&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdTimeSheet&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdCostCenter&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="dzx6YQmkxxi6H6zbbz4T-1" vertex="1">
<mxGeometry x="1160" y="918.9999999999997" width="160" height="95" as="geometry"/>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-13" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;CostCenter&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdCostCenter&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="dzx6YQmkxxi6H6zbbz4T-1" vertex="1">
<mxGeometry x="930" y="896.4999999999995" width="160" height="140" as="geometry"/>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-14" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;ProjectCostCenter&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdProjectCostCenter&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdProject&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdCostCenter&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="dzx6YQmkxxi6H6zbbz4T-1" vertex="1">
<mxGeometry x="620" y="921.4999999999995" width="160" height="90" as="geometry"/>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-15" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center ; text-decoration: underline&quot;&gt;&lt;strong&gt;ProjectDocument&lt;/strong&gt;&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;margin: 0px ; margin-left: 8px&quot;&gt;IdProjectDocument&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 8px&quot;&gt;IdProject&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 8px&quot;&gt;IdDocument&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="dzx6YQmkxxi6H6zbbz4T-1" vertex="1">
<mxGeometry x="350" y="932.6600000000003" width="160" height="90" as="geometry"/>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-16" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center; text-decoration: underline;&quot;&gt;&lt;strong&gt;Tasks&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdTask&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Name&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Description&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Work&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;IdProject&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;StartDate&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;EndDate&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;CreatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;UpdatedAt&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 8px;&quot;&gt;Enabled&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="dzx6YQmkxxi6H6zbbz4T-1" vertex="1">
<mxGeometry x="1160" y="146.50000000000009" width="160" height="190" as="geometry"/>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-17" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;" parent="dzx6YQmkxxi6H6zbbz4T-1" source="bSDDLgkOTVISDoT7am6R-0" target="bSDDLgkOTVISDoT7am6R-1" edge="1">
<mxGeometry x="-10" y="166.5" as="geometry">
<mxPoint x="-10" y="166.5" as="sourcePoint"/>
<mxPoint x="150" y="166.5" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-18" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-17" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-19" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-17" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="590" y="105" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-20" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;rounded=0" parent="dzx6YQmkxxi6H6zbbz4T-1" source="bSDDLgkOTVISDoT7am6R-4" target="bSDDLgkOTVISDoT7am6R-3" edge="1">
<mxGeometry x="509.3599999999999" y="186.5" as="geometry">
<mxPoint x="509.3599999999999" y="186.5" as="sourcePoint"/>
<mxPoint x="669.3599999999999" y="186.5" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-21" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-20" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="8.919999999999618" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-22" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-20" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="-550" y="-159.99999999999997" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-23" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;exitX=1;exitY=0.25;rounded=0" parent="dzx6YQmkxxi6H6zbbz4T-1" source="bSDDLgkOTVISDoT7am6R-10" target="bSDDLgkOTVISDoT7am6R-3" edge="1">
<mxGeometry x="759.3599999999999" y="456.5" as="geometry">
<mxPoint x="759.3599999999999" y="456.5" as="sourcePoint"/>
<mxPoint x="919.3599999999997" y="456.5" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-24" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-23" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="8.919999999999803" y="3.039999999999177" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-25" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-23" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="-10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-26" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle" parent="dzx6YQmkxxi6H6zbbz4T-1" source="bSDDLgkOTVISDoT7am6R-4" target="bSDDLgkOTVISDoT7am6R-10" edge="1">
<mxGeometry x="379.3599999999999" y="356.5" as="geometry">
<mxPoint x="379.3599999999999" y="356.5" as="sourcePoint"/>
<mxPoint x="539.3599999999999" y="356.5" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-27" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-26" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="8.91999999999958" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-28" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-26" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="18.919999999999582" y="-21.960000000000644" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-29" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;exitX=0;exitY=0.25;rounded=0" parent="dzx6YQmkxxi6H6zbbz4T-1" source="bSDDLgkOTVISDoT7am6R-7" target="bSDDLgkOTVISDoT7am6R-3" edge="1">
<mxGeometry x="1199.3599999999997" y="176.5" as="geometry">
<mxPoint x="1199.3599999999997" y="176.5" as="sourcePoint"/>
<mxPoint x="1359.3599999999997" y="176.5" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-30" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-29" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="-30" y="7.499999999999728" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-31" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-29" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="20" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-32" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle" parent="dzx6YQmkxxi6H6zbbz4T-1" source="bSDDLgkOTVISDoT7am6R-8" target="bSDDLgkOTVISDoT7am6R-7" edge="1">
<mxGeometry x="1259.3599999999997" y="186.5" as="geometry">
<mxPoint x="1259.3599999999997" y="186.5" as="sourcePoint"/>
<mxPoint x="1419.3599999999997" y="186.5" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-33" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-32" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-34" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-32" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="20" y="-20" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-35" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;entryX=0.75;entryY=1" parent="dzx6YQmkxxi6H6zbbz4T-1" source="bSDDLgkOTVISDoT7am6R-14" target="bSDDLgkOTVISDoT7am6R-10" edge="1">
<mxGeometry x="469.3599999999999" y="796.5" as="geometry">
<mxPoint x="469.3599999999999" y="796.5" as="sourcePoint"/>
<mxPoint x="629.3599999999999" y="796.5" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-36" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-35" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="-30" y="-97.50000000000027" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-37" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-35" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="-11.080000000000421" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-38" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle" parent="dzx6YQmkxxi6H6zbbz4T-1" source="bSDDLgkOTVISDoT7am6R-14" target="bSDDLgkOTVISDoT7am6R-13" edge="1">
<mxGeometry x="459.3599999999999" y="532.6600000000003" as="geometry">
<mxPoint x="459.3599999999999" y="532.6600000000003" as="sourcePoint"/>
<mxPoint x="970" y="1067.6600000000005" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-39" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-38" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-40" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-38" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="-10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-41" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;entryX=0.25;entryY=1;rounded=0" parent="dzx6YQmkxxi6H6zbbz4T-1" source="bSDDLgkOTVISDoT7am6R-15" target="bSDDLgkOTVISDoT7am6R-10" edge="1">
<mxGeometry x="409.3599999999999" y="826.5" as="geometry">
<mxPoint x="409.3599999999999" y="826.5" as="sourcePoint"/>
<mxPoint x="569.3599999999999" y="826.5" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-42" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-41" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="10" y="-26.160000000000235" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-43" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-41" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="-11.080000000000421" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-44" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle" parent="dzx6YQmkxxi6H6zbbz4T-1" source="bSDDLgkOTVISDoT7am6R-12" target="bSDDLgkOTVISDoT7am6R-7" edge="1">
<mxGeometry x="1069.3599999999997" y="566.5" as="geometry">
<mxPoint x="1069.3599999999997" y="566.5" as="sourcePoint"/>
<mxPoint x="1229.3599999999997" y="566.5" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-45" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-44" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="10.00000000000009" y="-22.499999999999915" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-46" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-44" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="20" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-47" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle" parent="dzx6YQmkxxi6H6zbbz4T-1" source="bSDDLgkOTVISDoT7am6R-8" target="bSDDLgkOTVISDoT7am6R-11" edge="1">
<mxGeometry x="1299.3599999999997" y="546.5" as="geometry">
<mxPoint x="1299.3599999999997" y="546.5" as="sourcePoint"/>
<mxPoint x="1459.3599999999997" y="546.5" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-48" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-47" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-49" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-47" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="-10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-50" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle" parent="dzx6YQmkxxi6H6zbbz4T-1" source="bSDDLgkOTVISDoT7am6R-8" target="bSDDLgkOTVISDoT7am6R-16" edge="1">
<mxGeometry x="1109.3599999999997" y="546.5" as="geometry">
<mxPoint x="1109.3599999999997" y="546.5" as="sourcePoint"/>
<mxPoint x="1269.3599999999997" y="546.5" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-51" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-50" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="10" y="-20" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-52" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-50" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="20" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-53" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle" parent="dzx6YQmkxxi6H6zbbz4T-1" source="bSDDLgkOTVISDoT7am6R-8" target="bSDDLgkOTVISDoT7am6R-3" edge="1">
<mxGeometry x="1379.3599999999997" y="136.5" as="geometry">
<mxPoint x="1379.3599999999997" y="136.5" as="sourcePoint"/>
<mxPoint x="1539.3599999999997" y="136.5" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-54" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-53" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="-30" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-55" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-53" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="20" y="2.7284841053187846e-13" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-56" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle" parent="dzx6YQmkxxi6H6zbbz4T-1" source="bSDDLgkOTVISDoT7am6R-1" target="bSDDLgkOTVISDoT7am6R-5" edge="1">
<mxGeometry x="509.3599999999999" y="206.5" as="geometry">
<mxPoint x="509.3599999999999" y="206.5" as="sourcePoint"/>
<mxPoint x="669.3599999999999" y="206.5" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-57" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-56" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="-40" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-58" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-56" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="19.99999999999981" y="-24.999999999999815" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-59" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle" parent="dzx6YQmkxxi6H6zbbz4T-1" source="bSDDLgkOTVISDoT7am6R-6" target="bSDDLgkOTVISDoT7am6R-2" edge="1">
<mxGeometry x="610" y="346.5" as="geometry">
<mxPoint x="610" y="346.5" as="sourcePoint"/>
<mxPoint x="770" y="346.5" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-60" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-59" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-61" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-59" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="20" y="-24.99999999999981" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-62" value="" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle" parent="dzx6YQmkxxi6H6zbbz4T-1" source="bSDDLgkOTVISDoT7am6R-10" target="bSDDLgkOTVISDoT7am6R-5" edge="1">
<mxGeometry x="359.3599999999999" y="366.5" as="geometry">
<mxPoint x="359.3599999999999" y="366.5" as="sourcePoint"/>
<mxPoint x="519.3599999999999" y="366.5" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-63" value="0..n" style="resizable=0;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-62" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="-31.08000000000042" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-64" value="1" style="resizable=0;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-62" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="19.99999999999981" y="1.8947806286936006e-13" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-65" value="Use" style="endArrow=open;endSize=12;dashed=1" parent="dzx6YQmkxxi6H6zbbz4T-1" source="bSDDLgkOTVISDoT7am6R-4" target="bSDDLgkOTVISDoT7am6R-0" edge="1">
<mxGeometry x="420" y="56.5" as="geometry">
<mxPoint x="420" y="56.5" as="sourcePoint"/>
<mxPoint x="580" y="56.5" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-67" value="" style="endArrow=none;edgeStyle=orthogonalEdgeStyle;" parent="dzx6YQmkxxi6H6zbbz4T-1" source="bSDDLgkOTVISDoT7am6R-9" target="bSDDLgkOTVISDoT7am6R-15" edge="1">
<mxGeometry x="180" y="956.5" as="geometry">
<mxPoint x="180" y="956.5" as="sourcePoint"/>
<mxPoint x="340" y="956.5" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-68" value="parent" style="resizable=0;align=left;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-67" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="10" y="-10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-69" value="child" style="resizable=0;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-67" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="-10" y="23.83999999999977" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-70" value="" style="endArrow=none;edgeStyle=orthogonalEdgeStyle;" parent="dzx6YQmkxxi6H6zbbz4T-1" source="bSDDLgkOTVISDoT7am6R-13" target="bSDDLgkOTVISDoT7am6R-12" edge="1">
<mxGeometry x="900" y="978.9999999999998" as="geometry">
<mxPoint x="900" y="978.9999999999998" as="sourcePoint"/>
<mxPoint x="1060" y="978.9999999999998" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-71" value="parent" style="resizable=0;align=left;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-70" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-72" value="child" style="resizable=0;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;strokeColor=#003366;shadow=1;fillColor=#D4E1F5;fontColor=#003366" parent="bSDDLgkOTVISDoT7am6R-70" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="-10" y="25" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-73" value="" style="endArrow=block;endFill=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;entryX=1;entryY=0.75;exitX=0;exitY=0.75;rounded=0" parent="dzx6YQmkxxi6H6zbbz4T-1" source="bSDDLgkOTVISDoT7am6R-7" target="bSDDLgkOTVISDoT7am6R-10" edge="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="900" y="846.5" as="sourcePoint"/>
<mxPoint x="1060" y="846.5" as="targetPoint"/>
<Array as="points">
<mxPoint x="900" y="814.5"/>
<mxPoint x="900" y="688.5"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="bSDDLgkOTVISDoT7am6R-74" value="1" style="resizable=0;align=left;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10" parent="bSDDLgkOTVISDoT7am6R-73" connectable="0" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint x="-19.99999999999982" y="2.499999999999909" as="offset"/>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -0,0 +1,22 @@
package com.yame;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
/**
* Unit test for simple App.
*/
public class AppTest
{
public static String testPath = "src/test/java/com/yame/";
/**
* Rigorous Test :-)
*/
@Test
public void shouldAnswerWithTrue()
{
assertTrue( true );
}
}

View File

@ -0,0 +1,47 @@
package com.yame;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import com.mxgraph.io.mxCodec;
import com.mxgraph.util.mxXmlUtils;
import com.mxgraph.view.mxGraph;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.log4j.*;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
/**
* GraphTest
*/
public class GraphTest {
private final Logger log = LoggerFactory.getLogger(GraphTest.class.getName());
@Test
public void TestCase1() {
mxGraph graph = new mxGraph();
Path path = Paths.get(AppTest.testPath + "1.xml");
try {
String xmlString = Files.readString( path );
Document doc = mxXmlUtils.parseXml(xmlString);
mxCodec code = new mxCodec(doc);
Object a = code.decode(doc.getParentNode());
log.debug(a.toString());
// log.debug(mxXmlUtils.getXml( a));
} catch (Exception e) {
// e.printStackTrace();
log.error("Case1", e);
}
}
}

View File

@ -0,0 +1,22 @@
log4j.rootLogger=debug, stdout, file
# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=./out.log
log4j.appender.file.layout=org.apache.log4j.SimpleLayout
#
# log4j.appender.C=org.apache.log4j.RollingFileAppender
# log4j.appender.C.File=E:\\log.html
# log4j.appender.C.MaxFileSize=1000KB
# log4j.appender.C.MaxBackupIndex=10
# log4j.appender.C.layout=org.apache.log4j.HTMLLayout
# log4j.appender.C.encoding=gbk
#
# log4j.appender.D=org.apache.log4j.DailyRollingFileAppender
# log4j.appender.D.File=E:\\log.log
# log4j.appender.D.layout=org.apache.log4j.TTCCLayout */