Merge branch 'master' into alixander/readme-update

This commit is contained in:
Alexander Wang 2022-11-14 15:16:03 -08:00
commit aaf18366e5
121 changed files with 3042 additions and 484 deletions

View file

@ -42,27 +42,61 @@
## Quickstart (CLI) ## Quickstart (CLI)
To install:
```sh
# With --dryrun the install script will print the commands it will use
# to install without actually installing so you know what it's going to do.
curl -fsSL https://d2lang.com/install.sh | sh -s -- --dryrun
# If things look good, install for real.
curl -fsSL https://d2lang.com/install.sh | sh -s --
```
The most convenient way to use D2 is to just run it as a CLI executable to The most convenient way to use D2 is to just run it as a CLI executable to
produce SVGs from `.d2` files. produce SVGs from `.d2` files.
```sh ```sh
go install oss.terrastruct.com/d2
echo 'x -> y -> z' > in.d2 echo 'x -> y -> z' > in.d2
d2 --watch in.d2 out.svg d2 --watch in.d2 out.svg
``` ```
A browser window will open with `out.svg` and live-reload on changes to `in.d2`. A browser window will open with `out.svg` and live-reload on changes to `in.d2`.
### MacOS ### Installing from source
Homebrew package coming soon. ```sh
go install oss.terrastruct.com/d2
```
### Linux/Windows ### Install
We have precompiled binaries on the [releases](https://github.com/terrastruct/d2/releases) We have precompiled binaries on the [releases](https://github.com/terrastruct/d2/releases)
page. D2 will be added to OS-respective package managers soon. page for macOS and Linux. For both amd64 and arm64. We will release package manager
distributions like .rpm, .deb soon. We also want to get D2 on Homebrew for macOS
and release a docker image
For now, if you don't want to install from source, just use our install script:
Pass `--tala` if you want to install our improved but closed source layout engine
tala. See the docs on [layout engine](#layout-engine) below.
```sh
# With --dryrun the install script will print the commands it will use
# to install without actually installing so you know what it's going to do.
curl -fsSL https://d2lang.com/install.sh | sh -s -- --dryrun
# If things look good, install for real.
curl -fsSL https://d2lang.com/install.sh | sh -s --
```
To uninstall:
```sh
curl -fsSL https://d2lang.com/install.sh | sh -s -- --uninstall --dryrun
# If things look good, install for real.
curl -fsSL https://d2lang.com/install.sh | sh -s -- --uninstall
```
> warn: Our binary releases aren't fully portable like normal Go binaries due to the C
> dependency on v8go for executing dagre.
## Quickstart (library) ## Quickstart (library)
@ -156,6 +190,14 @@ D2 intends to integrate with a variety of layout engines, e.g. `dot`, as well as
single-purpose layout types like sequence diagrams. You can choose whichever layout engine single-purpose layout types like sequence diagrams. You can choose whichever layout engine
you like and works best for the diagram you're making. you like and works best for the diagram you're making.
You can just pass `--tala` to the install script to install tala as well:
```
curl -fsSL https://d2lang.com/install.sh | sh -s -- --tala --dryrun
# If things look good, install for real.
curl -fsSL https://d2lang.com/install.sh | sh -s -- --tala
```
## Comparison ## Comparison
For a comparison against other popular text-to-diagram tools, see For a comparison against other popular text-to-diagram tools, see

49
ci/release/README.md Normal file
View file

@ -0,0 +1,49 @@
# release
## _install.sh
The template for the install script in the root of the repository.
### gen_install.sh
Generates the install.sh script in the root of the repository by prepending the libraries
it depends on from ../sub/lib.
## release.sh
- ./release.sh is the top level script to generate a new release.
Run with --help for usage.
## build.sh
- ./build.sh builds the release archives for each platform into ./build/<VERSION>/*.tar.gz
Run with --help for usage.
> note: Remember for production releases you need to set the $TSTRUCT_OS_ARCH_BUILDER
> variables as we must compile d2 directly on each release target to include dagre.
> See https://github.com/terrastruct/d2/issues/31
Use `--host-only` to build only the release for the host's OS-ARCH pair.
### build_docker.sh
Helper script called by build.sh to build D2 on each linux runner inside Docker.
The Dockerfile is in ./builders/Dockerfile
### _build.sh
Called by build.sh (with --local or macOS) or build_docker.sh (on linux) to create the
release archive.
Do not invoke directly. If you want to produce a build for a single platform run build.sh
as so:
```sh
# To only build the linux-amd64 release.
./build.sh --run=linux-amd64
```
```sh
# To only build the linux-amd64 release locally.
./build.sh --local --run=linux-amd64
```

22
ci/release/_build.sh Executable file
View file

@ -0,0 +1,22 @@
#!/bin/sh
set -eu
cd -- "$(dirname "$0")/../.."
. ./ci/sub/lib.sh
sh_c mkdir -p "$HW_BUILD_DIR"
sh_c rsync --recursive --perms --delete \
--human-readable --copy-links ./ci/release/template/ "$HW_BUILD_DIR/"
VERSION=$VERSION sh_c eval "'$HW_BUILD_DIR/README.md.sh'" \> "'$HW_BUILD_DIR/README.md'"
sh_c rm -f "$HW_BUILD_DIR/README.md.sh"
sh_c find "$HW_BUILD_DIR" -exec touch {} \\\;
export GOOS=$(goos "$OS")
export GOARCH="$ARCH"
sh_c mkdir -p "$HW_BUILD_DIR/bin"
sh_c go build -ldflags "'-X oss.terrastruct.com/d2/lib/version.Version=$VERSION'" \
-o "$HW_BUILD_DIR/bin/d2" ./cmd/d2
ARCHIVE=$PWD/$ARCHIVE
cd "$(dirname "$HW_BUILD_DIR")"
sh_c tar -czf "$ARCHIVE" "$(basename "$HW_BUILD_DIR")"
cd ->/dev/null

401
ci/release/_install.sh Executable file
View file

@ -0,0 +1,401 @@
#!/bin/sh
set -eu
cd -- "$(dirname "$0")/../sub/lib"
. ./log.sh
. ./flag.sh
. ./release.sh
cd - >/dev/null
help() {
arg0="$0"
if [ "$0" = sh ]; then
arg0="curl -fsSL https://d2lang.com/install.sh | sh -s --"
fi
cat <<EOF
usage: $arg0 [--dry-run] [--version vX.X.X] [--edge] [--method detect] [--prefix /usr/local]
[--tala latest] [--force] [--uninstall]
install.sh automates the installation of D2 onto your system. It currently only supports
the installation of standalone releases from GitHub. If you pass --edge, it will clone the
source, build a release and install from it.
Flags:
--dry-run
Pass to have install.sh show the install method and flags that will be used to install
without executing them. Very useful to understand what changes it will make to your system.
--version vX.X.X
Pass to have install.sh install the given version instead of the latest version.
--edge
Pass to build and install D2 from source. This will still use --method if set to detect
to install the release archive for your OS, whether it's apt, yum, brew or standalone
if an unsupported package manager is used. To install from source like a dev would,
use go install oss.terrastruct.com/d2
note: currently unimplemented.
--method [detect | standalone]
Pass to control the method by which to install. Right now we only support standalone
releases from GitHub but later we'll add support for brew, rpm, deb and more.
note: currently unimplemented.
- detect is currently unimplemented but would use your OS's package manager
automatically.
- standalone installs a standalone release archive into the unix hierarchy path
specified by --prefix which defaults to /usr/local
Ensure /usr/local/bin is in your \$PATH to use it.
--prefix /usr/local
Controls the unix hierarchy path into which standalone releases are installed.
Defaults to /usr/local. You may also want to use ~/.local to avoid needing sudo.
Remember that whatever you use, you must have the bin directory of your prefix
path in \$PATH to execute the d2 binary. For example, if my prefix directory is
/usr/local then my \$PATH must contain /usr/local/bin.
--tala [latest]
Install Terrastruct's closed source TALA for improved layouts.
See https://github.com/terrastruct/TALA
It optionally takes an argument of the TALA version to install.
Installation obeys all other flags, just like the installation of d2. For example,
the d2plugin-tala binary will be installed into /usr/local/bin/d2plugin-tala
--force:
Force installation over the existing version even if they match. It will attempt a
uninstall first before installing the new version. The installed release tree
will be deleted from /usr/local/lib/d2/d2-<VERSION> but the release archive in
~/.cache/d2/release will remain.
--uninstall:
Uninstall the installed version of d2. The --method and --prefix flags must be the same
as for installation. i.e if you used --method standalone you must again use --method
standalone for uninstallation. With detect, the install script will try to use the OS
package manager to uninstall instead.
All downloaded archives are cached into ~/.cache/d2/release. use \$XDG_CACHE_HOME to change
path of the cached assets. Release archives are unarchived into /usr/local/lib/d2/d2-<VERSION>
note: Deleting the unarchived releases will cause --uninstall to stop working.
You can rerun install.sh to update your version of D2. install.sh will avoid reinstalling
if the installed version is the latest unless --force is passed.
EOF
}
main() {
METHOD=standalone
while :; do
flag_parse "$@"
case "$FLAG" in
h|help)
help
return 0
;;
dry-run)
flag_noarg && shift "$FLAGSHIFT"
DRY_RUN=1
;;
version)
flag_nonemptyarg && shift "$FLAGSHIFT"
VERSION=$FLAGARG
;;
tala)
shift "$FLAGSHIFT"
TALA=${FLAGARG:-latest}
;;
edge)
flag_noarg && shift "$FLAGSHIFT"
EDGE=1
echoerr "$FLAGRAW is currently unimplemented"
return 1
;;
method)
flag_nonemptyarg && shift "$FLAGSHIFT"
METHOD=$FLAGARG
echoerr "$FLAGRAW is currently unimplemented"
return 1
;;
prefix)
flag_nonemptyarg && shift "$FLAGSHIFT"
export PREFIX=$FLAGARG
;;
force)
flag_noarg && shift "$FLAGSHIFT"
FORCE=1
;;
uninstall)
flag_noarg && shift "$FLAGSHIFT"
UNINSTALL=1
;;
'')
shift "$FLAGSHIFT"
break
;;
*)
flag_errusage "unrecognized flag $FLAGRAW"
;;
esac
done
if [ $# -gt 0 ]; then
flag_errusage "no arguments are accepted"
fi
REPO=${REPO:-terrastruct/d2}
OS=$(os)
ARCH=$(arch)
if [ -z "${PREFIX-}" -a "$OS" = macos -a "$ARCH" = arm64 ]; then
# M1 Mac's do not allow modifications to /usr/local even with sudo.
PREFIX=$HOME/.local
fi
PREFIX=${PREFIX:-/usr/local}
CACHE_DIR=$(cache_dir)
mkdir -p "$CACHE_DIR"
INSTALL_DIR=$PREFIX/lib/d2
if [ -n "${UNINSTALL-}" ]; then
uninstall
return 0
fi
VERSION=${VERSION:-latest}
if [ "$VERSION" = latest ]; then
header "fetching latest release info"
fetch_release_info
fi
install
}
install() {
install_d2
if [ -n "${TALA-}" ]; then
# Run in subshell to avoid overwriting VERSION.
TALA_VERSION="$( install_tala && echo "$VERSION" )"
fi
COLOR=2 header success
log "d2-$VERSION-$OS-$ARCH has been successfully installed into $PREFIX"
if [ -n "${TALA-}" ]; then
log "tala-$TALA_VERSION-$OS-$ARCH has been successfully installed into $PREFIX"
fi
if ! echo "$PATH" | grep -qF "$PREFIX/bin"; then
logcat >&2 <<EOF
Extend your \$PATH to use d2:
export PATH=$PREFIX/bin:\$PATH
Then run:
${TALA+D2_LAYOUT=tala }d2 --help
EOF
else
log " Run ${TALA+D2_LAYOUT=tala }d2 --help for usage."
fi
if ! manpath | grep -qF "$PREFIX/share/man"; then
logcat >&2 <<EOF
Extend your \$MANPATH to view d2's manpages:
export MANPATH=$PREFIX/share/man\${MANPATH+:\$MANPATH}
Then run:
man d2
EOF
if [ -n "${TALA-}" ]; then
log " man d2plugin-tala"
fi
else
log " Run man d2 for detailed docs."
if [ -n "${TALA-}" ]; then
log " Run man d2plugin-tala for detailed docs."
fi
fi
log "Rerun the install script with --uninstall to uninstall"
}
install_d2() {
if command -v d2 >/dev/null; then
INSTALLED_VERSION="$(d2 version)"
if [ ! "${FORCE-}" -a "$VERSION" = "$INSTALLED_VERSION" ]; then
log "skipping installation as version $VERSION is already installed."
return 0
fi
log "uninstalling $INSTALLED_VERSION to install $VERSION"
if ! uninstall_d2; then
warn "failed to uninstall $INSTALLED_VERSION"
fi
fi
header "installing d2-$VERSION"
install_standalone_d2
}
install_standalone_d2() {
ARCHIVE="d2-$VERSION-$OS-$ARCH.tar.gz"
log "installing standalone release $ARCHIVE from github"
fetch_release_info
asset_line=$(sh_c 'cat "$RELEASE_INFO" | grep -n "$ARCHIVE" | cut -d: -f1 | head -n1')
asset_url=$(sh_c 'sed -n $((asset_line-3))p "$RELEASE_INFO" | sed "s/^.*: \"\(.*\)\",$/\1/g"')
fetch_gh "$asset_url" "$CACHE_DIR/$ARCHIVE" 'application/octet-stream'
sh_c="sh_c"
if ! is_prefix_writable; then
sh_c="sudo_sh_c"
fi
"$sh_c" tar -C "$INSTALL_DIR" -xzf "$CACHE_DIR/$ARCHIVE"
"$sh_c" sh -c "'cd \"$INSTALL_DIR/d2-$VERSION\" && make install PREFIX=\"$PREFIX\"'"
}
install_tala() {
REPO="${REPO_TALA:-terrastruct/TALA}"
VERSION=$TALA
RELEASE_INFO=
fetch_release_info
header "installing tala-$VERSION"
install_standalone_tala
}
install_standalone_tala() {
ARCHIVE="tala-$VERSION-$OS-$ARCH.tar.gz"
log "installing standalone release $ARCHIVE from github"
asset_line=$(sh_c 'cat "$RELEASE_INFO" | grep -n "$ARCHIVE" | cut -d: -f1 | head -n1')
asset_url=$(sh_c 'sed -n $((asset_line-3))p "$RELEASE_INFO" | sed "s/^.*: \"\(.*\)\",$/\1/g"')
fetch_gh "$asset_url" "$CACHE_DIR/$ARCHIVE" 'application/octet-stream'
sh_c="sh_c"
if ! is_prefix_writable; then
sh_c="sudo_sh_c"
fi
"$sh_c" tar -C "$INSTALL_DIR" -xzf "$CACHE_DIR/$ARCHIVE"
"$sh_c" sh -c "'cd \"$INSTALL_DIR/tala-$VERSION\" && make install PREFIX=\"$PREFIX\"'"
}
uninstall() {
if ! command -v d2 >/dev/null; then
warn "no version of d2 installed"
return 0
fi
INSTALLED_VERSION="$(d2 --version)"
if ! uninstall_d2; then
echoerr "failed to uninstall $INSTALLED_VERSION"
return 1
fi
if [ "${TALA-}" ]; then
if ! command -v d2plugin-tala >/dev/null; then
warn "no version of tala installed"
return 0
fi
INSTALLED_VERSION="$(d2plugin-tala --version)"
if ! uninstall_tala; then
echoerr "failed to uninstall tala $INSTALLED_VERSION"
return 1
fi
fi
return 0
}
uninstall_d2() {
header "uninstalling d2-$INSTALLED_VERSION"
uninstall_standalone_d2
}
uninstall_standalone_d2() {
log "uninstalling standalone release of d2-$INSTALLED_VERSION"
if [ ! -e "$INSTALL_DIR/d2-$INSTALLED_VERSION" ]; then
warn "missing standalone install release directory $INSTALL_DIR/d2-$INSTALLED_VERSION"
warn "d2 have been installed via some other installation method."
return 1
fi
sh_c="sh_c"
if ! is_prefix_writable; then
sh_c="sudo_sh_c"
fi
"$sh_c" sh -c "'cd \"$INSTALL_DIR/d2-$INSTALLED_VERSION\" && make uninstall PREFIX=\"$PREFIX\"'"
"$sh_c" rm -rf "$INSTALL_DIR/d2-$INSTALLED_VERSION"
}
uninstall_tala() {
header "uninstalling tala-$INSTALLED_VERSION"
uninstall_standalone_tala
}
uninstall_standalone_tala() {
log "uninstalling standalone release tala-$INSTALLED_VERSION"
if [ ! -e "$INSTALL_DIR/tala-$INSTALLED_VERSION" ]; then
warn "missing standalone install release directory $INSTALL_DIR/tala-$INSTALLED_VERSION"
warn "tala have been installed via some other installation method."
return 1
fi
sh_c="sh_c"
if ! is_prefix_writable; then
sh_c="sudo_sh_c"
fi
"$sh_c" sh -c "'cd \"$INSTALL_DIR/tala-$INSTALLED_VERSION\" && make uninstall PREFIX=\"$PREFIX\"'"
"$sh_c" rm -rf "$INSTALL_DIR/tala-$INSTALLED_VERSION"
}
is_prefix_writable() {
sh_c "mkdir -p '$INSTALL_DIR' 2>/dev/null" || true
# The reason for checking whether $INSTALL_DIR is writable is that on macOS you have
# /usr/local owned by root but you don't need root to write to its subdirectories which
# is all we want to do.
if [ ! -w "$INSTALL_DIR" ]; then
return 1
fi
}
cache_dir() {
if [ -n "${XDG_CACHE_HOME-}" ]; then
echo "$XDG_CACHE_HOME/d2/release"
elif [ -n "${HOME-}" ]; then
echo "$HOME/.cache/d2/release"
else
echo "/tmp/d2-cache/release"
fi
}
fetch_release_info() {
if [ -n "${RELEASE_INFO-}" ]; then
return 0
fi
log "fetching info on $VERSION version of $REPO"
RELEASE_INFO=$(mktemp -d)/release-info.json
if [ "$VERSION" = latest ]; then
release_info_url="https://api.github.com/repos/$REPO/releases/$VERSION"
else
release_info_url="https://api.github.com/repos/$REPO/releases/tags/$VERSION"
fi
fetch_gh "$release_info_url" "$RELEASE_INFO" \
'application/json'
VERSION=$(cat "$RELEASE_INFO" | grep -m1 tag_name | sed 's/^.*: "\(.*\)",$/\1/g')
}
curl_gh() {
sh_c curl -fL ${GITHUB_TOKEN+"-H \"Authorization: Bearer \$GITHUB_TOKEN\""} "$@"
}
fetch_gh() {
url=$1
file=$2
accept=$3
if [ -e "$file" ]; then
log "reusing $file"
return
fi
curl_gh -#o "$file.inprogress" -C- -H "'Accept: $accept'" "$url"
sh_c mv "$file.inprogress" "$file"
}
main "$@"

198
ci/release/build.sh Executable file
View file

@ -0,0 +1,198 @@
#!/bin/sh
set -eu
cd -- "$(dirname "$0")/../.."
. ./ci/sub/lib.sh
help() {
cat <<EOF
usage: $0 [--rebuild] [--local] [--dry-run] [--run=regex] [--host-only]
$0 builds D2 release archives into ./ci/release/build/<version>/d2-<VERSION>-<OS>-<ARCH>.tar.gz
The version is detected via git describe which will use the git tag for the current
commit if available.
Flags:
--rebuild
By default build.sh will avoid rebuilding finished assets if they already exist but if you
changed something and need to force rebuild, use this flag.
--local
By default build.sh uses \$TSTRUCT_MACOS_AMD64_BUILDER, \$TSTRUCT_MACOS_ARM64_BUILDER,
\$TSTRUCT_LINUX_AMD64_BUILDER and \$TSTRUCT_LINUX_ARM64_BUILDER to build the release
archives. It's required for now due to the following issue:
https://github.com/terrastruct/d2/issues/31 With --local, build.sh will cross compile
locally. warning: This is only for testing purposes, do not use in production!
--host-only
Use to build the release archive for the host OS-ARCH only. All logging is done to stderr
so in a script you can read from stdout to get the path to the release archive.
--run=regex
Use to run only the OS-ARCH jobs that match the given regex. e.g. --run=linux only runs
the linux jobs. --run=linux-amd64 only runs the linux-amd64 job.
--version vX.X.X
Use to overwrite the version detected from git.
EOF
}
main() {
while :; do
flag_parse "$@"
case "$FLAG" in
h|help)
help
return 0
;;
rebuild)
flag_noarg && shift "$FLAGSHIFT"
REBUILD=1
;;
local)
flag_noarg && shift "$FLAGSHIFT"
LOCAL=1
;;
dry-run)
flag_noarg && shift "$FLAGSHIFT"
DRY_RUN=1
;;
run)
flag_reqarg && shift "$FLAGSHIFT"
JOBFILTER="$FLAGARG"
;;
host-only)
flag_noarg && shift "$FLAGSHIFT"
HOST_ONLY=1
LOCAL=1
;;
version)
flag_nonemptyarg && shift "$FLAGSHIFT"
VERSION=$FLAGARG
;;
'')
shift "$FLAGSHIFT"
break
;;
*)
flag_errusage "unrecognized flag $FLAGRAW"
;;
esac
done
if [ $# -gt 0 ]; then
flag_errusage "no arguments are accepted"
fi
VERSION=${VERSION:-$(git_describe_ref)}
BUILD_DIR=ci/release/build/$VERSION
if [ -n "${HOST_ONLY-}" ]; then
runjob $(os)-$(arch) "OS=$(os) ARCH=$(arch) build" &
waitjobs
return 0
fi
runjob linux-amd64 'OS=linux ARCH=amd64 build' &
runjob linux-arm64 'OS=linux ARCH=arm64 build' &
runjob macos-amd64 'OS=macos ARCH=amd64 build' &
runjob macos-arm64 'OS=macos ARCH=arm64 build' &
waitjobs
}
build() {
HW_BUILD_DIR="$BUILD_DIR/$OS-$ARCH/d2-$VERSION"
ARCHIVE="$BUILD_DIR/d2-$VERSION-$OS-$ARCH.tar.gz"
if [ -e "$ARCHIVE" -a -z "${REBUILD-}" ]; then
log "skipping as already built at $ARCHIVE"
return 0
fi
if [ -n "${LOCAL-}" ]; then
build_local
return 0
fi
case $OS in
macos)
case $ARCH in
amd64)
RHOST=$TSTRUCT_MACOS_AMD64_BUILDER build_rhost_macos
;;
arm64)
RHOST=$TSTRUCT_MACOS_ARM64_BUILDER build_rhost_macos
;;
*)
warn "no builder for OS=$OS ARCH=$ARCH, building locally..."
build_local
;;
esac
;;
linux)
case $ARCH in
amd64)
RHOST=$TSTRUCT_LINUX_AMD64_BUILDER build_rhost_linux
;;
arm64)
RHOST=$TSTRUCT_LINUX_ARM64_BUILDER build_rhost_linux
;;
*)
warn "no builder for OS=$OS ARCH=$ARCH, building locally..."
build_local
;;
esac
;;
*)
warn "no builder for OS=$OS, building locally..."
build_local
;;
esac
}
build_local() {
export DRY_RUN \
HW_BUILD_DIR \
VERSION \
OS \
ARCH \
ARCHIVE
sh_c ./ci/release/_build.sh
}
build_rhost_macos() {
sh_c ssh "$RHOST" mkdir -p src
sh_c rsync --archive --human-readable --delete ./ "$RHOST:src/d2/"
sh_c ssh -tttt "$RHOST" "DRY_RUN=${DRY_RUN-} \
HW_BUILD_DIR=$HW_BUILD_DIR \
VERSION=$VERSION \
OS=$OS \
ARCH=$ARCH \
ARCHIVE=$ARCHIVE \
TERM=$TERM \
PATH=\\\"/usr/local/bin:/usr/local/sbin:/opt/homebrew/bin:/opt/homebrew/sbin\\\${PATH+:\\\$PATH}\\\" \
./src/d2/ci/release/_build.sh"
sh_c mkdir -p "$HW_BUILD_DIR"
sh_c rsync --archive --human-readable "$RHOST:src/d2/$ARCHIVE" "$ARCHIVE"
}
build_rhost_linux() {
sh_c ssh "$RHOST" mkdir -p src
sh_c rsync --archive --human-readable --delete ./ "$RHOST:src/d2/"
sh_c ssh -tttt "$RHOST" "DRY_RUN=${DRY_RUN-} \
HW_BUILD_DIR=$HW_BUILD_DIR \
VERSION=$VERSION \
OS=$OS \
ARCH=$ARCH \
ARCHIVE=$ARCHIVE \
TERM=$TERM \
./src/d2/ci/release/build_docker.sh"
sh_c mkdir -p "$HW_BUILD_DIR"
sh_c rsync --archive --human-readable "$RHOST:src/d2/$ARCHIVE" "$ARCHIVE"
}
ssh() {
command ssh -o='StrictHostKeyChecking=accept-new' "$@"
}
main "$@"

1
ci/release/build/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
*

17
ci/release/build_docker.sh Executable file
View file

@ -0,0 +1,17 @@
#!/bin/sh
set -eu
cd -- "$(dirname "$0")/../.."
. ./ci/sub/lib.sh
tag="$(sh_c docker build \
--build-arg GOVERSION="1.19.3.linux-$ARCH" \
-qf ./ci/release/builders/Dockerfile ./ci/release/builders)"
docker_run \
-e DRY_RUN \
-e HW_BUILD_DIR \
-e VERSION \
-e OS \
-e ARCH \
-e ARCHIVE \
-e TERM \
"$tag" ./src/d2/ci/release/_build.sh

View file

@ -0,0 +1,12 @@
FROM debian:10
RUN apt-get update
RUN apt-get install -y curl
ARG GOVERSION=
RUN curl -fsSL "https://go.dev/dl/go$GOVERSION.tar.gz" >/tmp/go.tar.gz
RUN tar -C /usr/local -xzf /tmp/go.tar.gz
ENV PATH="/usr/local/go/bin:$PATH"
RUN apt-get install -y build-essential
RUN apt-get install -y rsync

View file

@ -0,0 +1,16 @@
FROM centos:7
ARG GOVERSION=
RUN curl -fsSL "https://go.dev/dl/go$GOVERSION.tar.gz" >/tmp/go.tar.gz
RUN tar -C /usr/local -xzf /tmp/go.tar.gz
ENV PATH="/usr/local/go/bin:$PATH"
RUN yum install -y rsync wget
RUN yum groupinstall -y 'Development Tools'
RUN curl -fsSL https://ftp.gnu.org/gnu/gcc/gcc-5.2.0/gcc-5.2.0.tar.gz >/tmp/gcc.tar.gz
RUN tar -C /usr/local -xzf /tmp/gcc.tar.gz
RUN cd /usr/local/gcc-5.2.0 && ./contrib/download_prerequisites && mkdir -p build \
&& cd build && ../configure --disable-multilib && make && make install

242
ci/release/builders/aws_ensure.sh Executable file
View file

@ -0,0 +1,242 @@
#!/bin/sh
set -eu
cd -- "$(dirname "$0")/../../.."
. ./ci/sub/lib.sh
help() {
cat <<EOF
usage: $0 [--dry-run] [--skip-create]
$0 creates and ensures the d2 builders in AWS.
EOF
}
main() {
while :; do
flag_parse "$@"
case "$FLAG" in
h|help)
help
return 0
;;
dry-run)
flag_noarg && shift "$FLAGSHIFT"
DRY_RUN=1
;;
skip-create)
flag_noarg && shift "$FLAGSHIFT"
SKIP_CREATE=1
;;
'')
shift "$FLAGSHIFT"
break
;;
*)
flag_errusage "unrecognized flag $FLAGRAW"
;;
esac
done
if [ $# -gt 0 ]; then
flag_errusage "no arguments are accepted"
fi
if [ -z "${SKIP_CREATE-}" ]; then
create_rhosts
fi
init_rhosts
}
create_rhosts() {
KEY_NAME=$(aws ec2 describe-key-pairs | jq -r .KeyPairs[0].KeyName)
VPC_ID=$(aws ec2 describe-vpcs | jq -r .Vpcs[0].VpcId)
header security-group
SG_ID=$(aws ec2 describe-security-groups --group-names ssh 2>/dev/null \
| jq -r .SecurityGroups[0].GroupId)
if [ -z "$SG_ID" ]; then
SG_ID=$(sh_c aws ec2 create-security-group \
--group-name ssh \
--description ssh \
--vpc-id "$VPC_ID" | jq -r .GroupId)
fi
header security-group-ingress
SG_RULES_COUNT=$(aws ec2 describe-security-groups --group-names ssh \
| jq -r '.SecurityGroups[0].IpPermissions | length')
if [ "$SG_RULES_COUNT" -eq 0 ]; then
sh_c aws ec2 authorize-security-group-ingress \
--group-id "$SG_ID" \
--protocol tcp \
--port 22 \
--cidr 0.0.0.0/0 >/dev/null
fi
header linux-amd64
state=$(aws ec2 describe-instances --filters \
'Name=instance-state-name,Values=pending,running,stopping,stopped' 'Name=tag:Name,Values=d2-builder-linux-amd64' \
| jq -r '.Reservations[].Instances[].State.Name')
if [ -z "$state" ]; then
sh_c aws ec2 run-instances \
--image-id=ami-0d593311db5abb72b \
--count=1 \
--instance-type=t2.small \
--security-groups=ssh \
"--key-name=$KEY_NAME" \
--tag-specifications '"ResourceType=instance,Tags=[{Key=Name,Value=d2-builder-linux-amd64}]"' \
'"ResourceType=volume,Tags=[{Key=Name,Value=d2-builder-linux-amd64}]"' >/dev/null
fi
while true; do
dnsname=$(sh_c aws ec2 describe-instances \
--filters 'Name=instance-state-name,Values=pending,running,stopping,stopped' 'Name=tag:Name,Values=d2-builder-linux-amd64' \
| jq -r '.Reservations[].Instances[].PublicDnsName')
if [ -n "$dnsname" ]; then
log "TSTRUCT_LINUX_AMD64_BUILDER=ec2-user@$dnsname"
export TSTRUCT_LINUX_AMD64_BUILDER=ec2-user@$dnsname
break
fi
sleep 5
done
header linux-arm64
state=$(aws ec2 describe-instances --filters \
'Name=instance-state-name,Values=pending,running,stopping,stopped' 'Name=tag:Name,Values=d2-builder-linux-arm64' \
| jq -r '.Reservations[].Instances[].State.Name')
if [ -z "$state" ]; then
sh_c aws ec2 run-instances \
--image-id=ami-0efabcf945ffd8831 \
--count=1 \
--instance-type=t4g.small \
--security-groups=ssh \
"--key-name=$KEY_NAME" \
--tag-specifications '"ResourceType=instance,Tags=[{Key=Name,Value=d2-builder-linux-arm64}]"' \
'"ResourceType=volume,Tags=[{Key=Name,Value=d2-builder-linux-arm64}]"' >/dev/null
fi
while true; do
dnsname=$(sh_c aws ec2 describe-instances \
--filters 'Name=instance-state-name,Values=pending,running,stopping,stopped' 'Name=tag:Name,Values=d2-builder-linux-arm64' \
| jq -r '.Reservations[].Instances[].PublicDnsName')
if [ -n "$dnsname" ]; then
log "TSTRUCT_LINUX_ARM64_BUILDER=ec2-user@$dnsname"
export TSTRUCT_LINUX_ARM64_BUILDER=ec2-user@$dnsname
break
fi
sleep 5
done
header "macos-amd64-host"
MACOS_AMD64_HOST_ID=$(aws ec2 describe-hosts --filter 'Name=state,Values=pending,available' 'Name=tag:Name,Values=d2-builder-macos-amd64' | jq -r '.Hosts[].HostId')
if [ -z "$MACOS_AMD64_HOST_ID" ]; then
MACOS_AMD64_HOST_ID=$(sh_c aws ec2 allocate-hosts --instance-type mac1.metal --quantity 1 --availability-zone us-west-2a \
--tag-specifications '"ResourceType=dedicated-host,Tags=[{Key=Name,Value=d2-builder-macos-amd64}]"' \
| jq -r .HostIds[0])
fi
header "macos-arm64-host"
MACOS_ARM64_HOST_ID=$(aws ec2 describe-hosts --filter 'Name=state,Values=pending,available' 'Name=tag:Name,Values=d2-builder-macos-arm64' | jq -r '.Hosts[].HostId')
if [ -z "$MACOS_ARM64_HOST_ID" ]; then
MACOS_ARM64_HOST_ID=$(sh_c aws ec2 allocate-hosts --instance-type mac2.metal --quantity 1 --availability-zone us-west-2a \
--tag-specifications '"ResourceType=dedicated-host,Tags=[{Key=Name,Value=d2-builder-macos-amd64}]"' \
| jq -r .HostIds[0])
fi
header macos-amd64
state=$(aws ec2 describe-instances --filters \
'Name=instance-state-name,Values=pending,running,stopping,stopped' 'Name=tag:Name,Values=d2-builder-macos-amd64' \
| jq -r '.Reservations[].Instances[].State.Name')
if [ -z "$state" ]; then
sh_c aws ec2 run-instances \
--image-id=ami-0dd2ded7568750663 \
--count=1 \
--instance-type=mac1.metal \
--security-groups=ssh \
"--key-name=$KEY_NAME" \
--placement "Tenancy=host,HostId=$MACOS_AMD64_HOST_ID" \
--tag-specifications '"ResourceType=instance,Tags=[{Key=Name,Value=d2-builder-macos-amd64}]"' \
'"ResourceType=volume,Tags=[{Key=Name,Value=d2-builder-macos-amd64}]"' >/dev/null
fi
while true; do
dnsname=$(sh_c aws ec2 describe-instances \
--filters 'Name=instance-state-name,Values=pending,running,stopping,stopped' 'Name=tag:Name,Values=d2-builder-macos-amd64' \
| jq -r '.Reservations[].Instances[].PublicDnsName')
if [ -n "$dnsname" ]; then
log "TSTRUCT_MACOS_AMD64_BUILDER=ec2-user@$dnsname"
export TSTRUCT_MACOS_AMD64_BUILDER=ec2-user@$dnsname
break
fi
sleep 5
done
header macos-arm64
state=$(aws ec2 describe-instances --filters \
'Name=instance-state-name,Values=pending,running,stopping,stopped' 'Name=tag:Name,Values=d2-builder-macos-arm64' \
| jq -r '.Reservations[].Instances[].State.Name')
if [ -z "$state" ]; then
sh_c aws ec2 run-instances \
--image-id=ami-0af0516ff2c43dbbe \
--count=1 \
--instance-type=mac2.metal \
--security-groups=ssh \
"--key-name=$KEY_NAME" \
--placement "Tenancy=host,HostId=$MACOS_ARM64_HOST_ID" \
--tag-specifications '"ResourceType=instance,Tags=[{Key=Name,Value=d2-builder-macos-arm64}]"' \
'"ResourceType=volume,Tags=[{Key=Name,Value=d2-builder-macos-arm64}]"' >/dev/null
fi
while true; do
dnsname=$(sh_c aws ec2 describe-instances \
--filters 'Name=instance-state-name,Values=pending,running,stopping,stopped' 'Name=tag:Name,Values=d2-builder-macos-arm64' \
| jq -r '.Reservations[].Instances[].PublicDnsName')
if [ -n "$dnsname" ]; then
log "TSTRUCT_MACOS_ARM64_BUILDER=ec2-user@$dnsname"
export TSTRUCT_MACOS_ARM64_BUILDER=ec2-user@$dnsname
break
fi
sleep 5
done
}
init_rhosts() {
header linux-amd64
RHOST=$TSTRUCT_LINUX_AMD64_BUILDER init_rhost_linux
header linux-arm64
RHOST=$TSTRUCT_LINUX_ARM64_BUILDER init_rhost_linux
header macos-amd64
RHOST=$TSTRUCT_MACOS_AMD64_BUILDER init_rhost_macos
header macos-arm64
RHOST=$TSTRUCT_MACOS_ARM64_BUILDER init_rhost_macos
COLOR=2 header summary
log "export TSTRUCT_LINUX_AMD64_BUILDER=$TSTRUCT_LINUX_AMD64_BUILDER"
log "export TSTRUCT_LINUX_ARM64_BUILDER=$TSTRUCT_LINUX_ARM64_BUILDER"
log "export TSTRUCT_MACOS_AMD64_BUILDER=$TSTRUCT_MACOS_AMD64_BUILDER"
log "export TSTRUCT_MACOS_ARM64_BUILDER=$TSTRUCT_MACOS_ARM64_BUILDER"
}
init_rhost_linux() {
while true; do
if sh_c ssh "$RHOST" :; then
break
fi
sleep 5
done
sh_c ssh "$RHOST" 'sudo yum upgrade -y'
sh_c ssh "$RHOST" 'sudo yum install -y docker'
sh_c ssh "$RHOST" 'sudo systemctl start docker'
sh_c ssh "$RHOST" 'sudo systemctl enable docker'
sh_c ssh "$RHOST" 'sudo usermod -a -G docker ec2-user'
sh_c ssh "$RHOST" 'sudo reboot' || true
}
init_rhost_macos() {
while true; do
if sh_c ssh "$RHOST" :; then
break
fi
sleep 5
done
sh_c ssh "$RHOST" '": | /bin/bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\""'
sh_c ssh "$RHOST" 'PATH="/usr/local/bin:/opt/homebrew/bin:\$PATH" brew update'
sh_c ssh "$RHOST" 'PATH="/usr/local/bin:/opt/homebrew/bin:\$PATH" brew upgrade'
sh_c ssh "$RHOST" 'PATH="/usr/local/bin:/opt/homebrew/bin:\$PATH" brew install go'
}
main "$@"

View file

@ -0,0 +1,43 @@
#!/bin/sh
set -eu
cd -- "$(dirname "$0")/../../.."
. ./ci/sub/lib.sh
help() {
cat <<EOF
usage: $0 [--dry-run] [...args]
$0 runs ssh-copy-id on each builder.
args are passed to ssh-copy-id directly.
EOF
}
main() {
while :; do
flag_parse "$@"
case "$FLAG" in
h|help)
help
return 0
;;
dry-run)
flag_noarg && shift "$FLAGSHIFT"
DRY_RUN=1
;;
'')
shift "$FLAGSHIFT"
break
;;
*)
flag_errusage "unrecognized flag $FLAGRAW"
;;
esac
done
sh_c ssh-copy-id "$@" "\$TSTRUCT_LINUX_AMD64_BUILDER"
sh_c ssh-copy-id "$@" "\$TSTRUCT_LINUX_ARM64_BUILDER"
sh_c ssh-copy-id "$@" "\$TSTRUCT_MACOS_AMD64_BUILDER"
sh_c ssh-copy-id "$@" "\$TSTRUCT_MACOS_ARM64_BUILDER"
}
main "$@"

View file

@ -0,0 +1,13 @@
For v0.0.99 we focused on X, Y and Z. Enjoy!
#### Features 💸
- Now you can easily do x, y and z #9999
#### Improvements 🔧
- Improves something or the other #9999
#### Bugfixes 🔴
- Fixes something or the other #9999

View file

@ -0,0 +1,13 @@
For v0.0.99 we focused on X, Y and Z. Enjoy!
#### Features 💸
- Now you can easily do x, y and z #9999
#### Improvements 🔧
- Improves something or the other #9999
#### Bugfixes 🔴
- Fixes something or the other #9999

39
ci/release/gen_install.sh Executable file
View file

@ -0,0 +1,39 @@
#!/bin/sh
set -eu
cd -- "$(dirname "$0")/../.."
. ./ci/sub/lib.sh
sh_c chmod +w ./install.sh
sh_c cat >./install.sh <<EOF
#!/bin/sh
set -eu
# *************
# DO NOT EDIT
#
# install.sh was bundled together from
#
# - ./ci/sub/lib/rand.sh
# - ./ci/sub/lib/log.sh
# - ./ci/sub/lib/flag.sh
# - ./ci/sub/lib/release.sh
# - ./ci/release/_install.sh
#
# The last of which implements the installation logic.
#
# Generated by ./ci/release/gen_install.sh.
# *************
EOF
# sed removes the sourcing dependency lines as we're bundled everything into a single
# script.
sh_c cat \
./ci/sub/lib/rand.sh \
./ci/sub/lib/log.sh \
./ci/sub/lib/flag.sh \
./ci/sub/lib/release.sh \
\| sed "-e'/^\. /d'" \>\> ./install.sh
sh_c cat ./ci/release/_install.sh \
\| sed -n "'/cd -- \"\$(dirname/,/cd -/!p'" \>\> install.sh
sh_c chmod -w install.sh

5
ci/release/release.sh Executable file
View file

@ -0,0 +1,5 @@
#!/bin/sh
set -eu
cd -- "$(dirname "$0")/../.."
./ci/sub/release/release.sh "$@"

View file

@ -0,0 +1 @@
../../../LICENSE.txt

View file

@ -0,0 +1,12 @@
.POSIX:
.SILENT:
PREFIX = $(DESTDIR)/usr/local
.PHONY: install
install:
PREFIX='$(PREFIX)' ./scripts/install.sh
.PHONY: uninstall
uninstall:
PREFIX='$(PREFIX)' ./scripts/uninstall.sh

View file

@ -0,0 +1,28 @@
#!/bin/sh
set -eu
cat <<EOF
# d2
For docs, more installation options and the source code see https://oss.terrastruct.com/d2
version: $VERSION
## Install
\`\`\`sh
make install DRY_RUN=1
# If it looks right, run:
make install
\`\`\`
Pass \`PREFIX=whatever\` to change the installation prefix.
## Uninstall
\`\`\`sh
make uninstall DRY_RUN=1
# If it looks right, run:
make uninstall
\`\`\`
EOF

View file

@ -0,0 +1,62 @@
.Dd $Mdocdate$
.Dt d2 1
.Os
.Sh NAME
.Nm d2
.Nd compiles and renders d2 diagrams into svgs.
.Sh SYNOPSIS
.Nm d2
.Op Fl -watch Ar false
.Op Fl -theme Em 0
.Ar file.d2
.Op Ar file.svg
.Nm d2
.Op Fl -watch Ar false
.Op Fl -theme Em 0
.Ar file.d2
.Op Ar ...
.Nm d2
.Ar layout Op Ar name
.Sh DESCRIPTION
.Nm
compiles and renders
.Ar file.d2
to
.Ar file.svg
.Ns .
.Pp
Pass - to have
.Nm
read from stdin or write to stdout.
.Pp
See more docs, the source code and license at
.Lk https://oss.terrastruct.com/d2
.Sh OPTIONS
.Bl -tag -width Fl
.It Fl w , -watch Ar false
Watch for changes to input and live reload. Use
.Ev $PORT and Ev $HOST to specify the listening address.
.Ev $D2_PORT and $D2_HOST are also accepted and take priority. Default is localhost:0
.It Fl t , -theme Ar 0
Set the diagram theme to the passed integer. For a list of available options, see
.Lk https://oss.terrastruct.com/d2
.It Fl b , -bundle Ar true
Bundle all assets and layers into the output svg.
.It Fl d , -debug
Print debug logs.
.It Fl h , -help
Print usage information and exit.
.It Fl v , -version
Print version information and exit.
.El
.Sh SUBCOMMANDS
.Bl -tag -width Fl
.It Ar layout
Lists available layout engine options with short help.
.It Ar layout Op Ar name
Display long help for a particular layout engine.
.El
.Sh SEE ALSO
.Xr d2plugin-tala 1
.Sh AUTHORS
Terrastruct Inc.

View file

@ -0,0 +1,18 @@
#!/bin/sh
set -eu
cd -- "$(dirname "$0")/.."
. ./scripts/lib.sh
main() {
if [ ! -e "${PREFIX-}" ]; then
echoerr "\$PREFIX must be set to a unix prefix directory in which to install d2 like /usr/local"
return 1
fi
sh_c mkdir -p "$PREFIX/bin"
sh_c mkdir -p "$PREFIX/share/man/man1"
sh_c install ./bin/d2 "$PREFIX/bin/d2"
sh_c install ./man/d2.1 "$PREFIX/share/man/man1"
}
main "$@"

View file

@ -0,0 +1,137 @@
#!/bin/sh
rand() {
seed="$1"
range="$2"
seed_file="$(mktemp)"
_echo "$seed" | md5sum > "$seed_file"
shuf -i "$range" -n 1 --random-source="$seed_file"
}
pick() {
seed="$1"
shift
i="$(rand "$seed" "1-$#")"
eval "_echo \"\$$i\""
}
tput() {
if [ -n "$TERM" ]; then
command tput "$@"
fi
}
setaf() {
tput setaf "$1"
shift
printf '%s' "$*"
tput sgr0
}
_echo() {
printf '%s\n' "$*"
}
get_rand_color() {
# 1-6 are regular and 9-14 are bright.
# 1,2 and 9,10 are red and green but we use those for success and failure.
pick "$*" 3 4 5 6 11 12 13 14
}
echop() {
prefix="$1"
shift
if [ "$#" -gt 0 ]; then
printfp "$prefix" "%s\n" "$*"
else
printfp "$prefix"
printf '\n'
fi
}
printfp() {(
prefix="$1"
shift
if [ -z "${COLOR:-}" ]; then
COLOR="$(get_rand_color "$prefix")"
fi
printf '%s' "$(setaf "$COLOR" "$prefix")"
if [ $# -gt 0 ]; then
printf ': '
printf "$@"
fi
)}
catp() {
prefix="$1"
shift
printfp "$prefix"
printf ': '
read -r line
_echo "$line"
indent=$(repeat ' ' 2)
sed "s/^/$indent/"
}
repeat() {
char="$1"
times="$2"
seq -s "$char" "$times" | tr -d '[:digit:]'
}
strlen() {
printf %s "$1" | wc -c
}
echoerr() {
COLOR=1 echop err "$*" >&2
}
caterr() {
COLOR=1 catp err "$@" >&2
}
printferr() {
COLOR=1 printfp err "$@" >&2
}
logp() {
echop "$@" >&2
}
logfp() {
printfp "$@" >&2
}
logpcat() {
catp "$@" >&2
}
log() {
COLOR=5 logp log "$@"
}
logf() {
COLOR=5 logfp log "$@"
}
logcat() {
COLOR=5 catp log "$@" >&2
}
sh_c() {
COLOR=3 logp exec "$*"
if [ -z "${DRY_RUN-}" ]; then
"$@"
fi
}
header() {
logp "/* $1 */"
}

View file

@ -0,0 +1,16 @@
#!/bin/sh
set -eu
cd -- "$(dirname "$0")/.."
. ./scripts/lib.sh
main() {
if [ ! -e "${PREFIX-}" ]; then
echoerr "\$PREFIX must be set to a unix prefix directory from which to uninstall d2 like /usr/local"
return 1
fi
sh_c rm -f "$PREFIX/bin/d2"
sh_c rm -f "$PREFIX/share/man/man1/d2.1"
}
main "$@"

2
ci/sub

@ -1 +1 @@
Subproject commit 7ff8380897435e73d53e329a7cd39dc38c7ad227 Subproject commit 374e1af41579710c2728ef4f657bebea79bbaa60

View file

@ -27,7 +27,7 @@ Subcommands:
%[1]s layout - Lists available layout engine options with short help %[1]s layout - Lists available layout engine options with short help
%[1]s layout [layout name] - Display long help for a particular layout engine %[1]s layout [layout name] - Display long help for a particular layout engine
See more docs at https://oss.terrastruct.com/d2 See more docs and the source code at https://oss.terrastruct.com/d2
`, ms.Name, ms.FlagHelp()) `, ms.Name, ms.FlagHelp())
} }

View file

@ -19,7 +19,7 @@ type elkPlugin struct{}
func (p elkPlugin) Info(context.Context) (*PluginInfo, error) { func (p elkPlugin) Info(context.Context) (*PluginInfo, error) {
return &PluginInfo{ return &PluginInfo{
Name: "ELK", Name: "elk",
ShortHelp: "Eclipse Layout Kernel (ELK) with the Layered algorithm.", ShortHelp: "Eclipse Layout Kernel (ELK) with the Layered algorithm.",
LongHelp: `ELK is a layout engine offered by Eclipse. LongHelp: `ELK is a layout engine offered by Eclipse.
Originally written in Java, it has been ported to Javascript and cross-compiled into D2. Originally written in Java, it has been ported to Javascript and cross-compiled into D2.

View file

@ -97,8 +97,8 @@ func visibilityToken(visibility string) string {
} }
func drawClass(writer io.Writer, targetShape d2target.Shape) { func drawClass(writer io.Writer, targetShape d2target.Shape) {
fmt.Fprintf(writer, `<rect class="shape" x="%d" y="%d" width="%d" height="%d" />`, fmt.Fprintf(writer, `<rect class="shape" x="%d" y="%d" width="%d" height="%d" style="%s"/>`,
targetShape.Pos.X, targetShape.Pos.Y, targetShape.Width, targetShape.Height) targetShape.Pos.X, targetShape.Pos.Y, targetShape.Width, targetShape.Height, shapeStyle(targetShape))
box := geo.NewBox( box := geo.NewBox(
geo.NewPoint(float64(targetShape.Pos.X), float64(targetShape.Pos.Y)), geo.NewPoint(float64(targetShape.Pos.X), float64(targetShape.Pos.Y)),

View file

@ -37,6 +37,9 @@ const (
var multipleOffset = geo.NewVector(10, -10) var multipleOffset = geo.NewVector(10, -10)
//go:embed style.css
var styleCSS string
//go:embed github-markdown.css //go:embed github-markdown.css
var mdCSS string var mdCSS string
@ -446,12 +449,12 @@ func drawConnection(writer io.Writer, connection d2target.Connection, markers ma
} }
} }
func renderOval(tl *geo.Point, width, height float64) string { func renderOval(tl *geo.Point, width, height float64, style string) string {
rx := width / 2 rx := width / 2
ry := height / 2 ry := height / 2
cx := tl.X + rx cx := tl.X + rx
cy := tl.Y + ry cy := tl.Y + ry
return fmt.Sprintf(`<ellipse class="shape" cx="%f" cy="%f" rx="%f" ry="%f" />`, cx, cy, rx, ry) return fmt.Sprintf(`<ellipse class="shape" cx="%f" cy="%f" rx="%f" ry="%f" style="%s" />`, cx, cy, rx, ry, style)
} }
func defineShadowFilter(writer io.Writer) { func defineShadowFilter(writer io.Writer) {
@ -487,7 +490,7 @@ func drawShape(writer io.Writer, targetShape d2target.Shape) error {
} }
} }
fmt.Fprintf(writer, `<g class="shape" style="%s" %s>`, style, shadowAttr) fmt.Fprintf(writer, `<g class="shape" %s>`, shadowAttr)
var multipleTL *geo.Point var multipleTL *geo.Point
if targetShape.Multiple { if targetShape.Multiple {
@ -497,20 +500,22 @@ func drawShape(writer io.Writer, targetShape d2target.Shape) error {
switch targetShape.Type { switch targetShape.Type {
case d2target.ShapeClass: case d2target.ShapeClass:
drawClass(writer, targetShape) drawClass(writer, targetShape)
fmt.Fprintf(writer, `</g>`)
return nil return nil
case d2target.ShapeSQLTable: case d2target.ShapeSQLTable:
drawTable(writer, targetShape) drawTable(writer, targetShape)
fmt.Fprintf(writer, `</g>`)
return nil return nil
case d2target.ShapeOval: case d2target.ShapeOval:
if targetShape.Multiple { if targetShape.Multiple {
fmt.Fprint(writer, renderOval(multipleTL, width, height)) fmt.Fprint(writer, renderOval(multipleTL, width, height, style))
} }
fmt.Fprint(writer, renderOval(tl, width, height)) fmt.Fprint(writer, renderOval(tl, width, height, style))
case d2target.ShapeImage: case d2target.ShapeImage:
fmt.Fprintf(writer, `<image href="%s" x="%d" y="%d" width="%d" height="%d"/>`, fmt.Fprintf(writer, `<image href="%s" x="%d" y="%d" width="%d" height="%d" style="%s" />`,
targetShape.Icon.String(), targetShape.Icon.String(),
targetShape.Pos.X, targetShape.Pos.Y, targetShape.Width, targetShape.Height) targetShape.Pos.X, targetShape.Pos.Y, targetShape.Width, targetShape.Height, style)
// TODO should standardize "" to rectangle // TODO should standardize "" to rectangle
case d2target.ShapeRectangle, "": case d2target.ShapeRectangle, "":
@ -550,23 +555,23 @@ func drawShape(writer io.Writer, targetShape d2target.Shape) error {
strings.Join(rightPolygonPoints, ""), darkerColor) strings.Join(rightPolygonPoints, ""), darkerColor)
} }
if targetShape.Multiple { if targetShape.Multiple {
fmt.Fprintf(writer, `<rect x="%d" y="%d" width="%d" height="%d"/>`, fmt.Fprintf(writer, `<rect x="%d" y="%d" width="%d" height="%d" style="%s" />`,
targetShape.Pos.X+10, targetShape.Pos.Y-10, targetShape.Width, targetShape.Height) targetShape.Pos.X+10, targetShape.Pos.Y-10, targetShape.Width, targetShape.Height, style)
} }
fmt.Fprintf(writer, `<rect x="%d" y="%d" width="%d" height="%d"/>`, fmt.Fprintf(writer, `<rect x="%d" y="%d" width="%d" height="%d" style="%s" />`,
targetShape.Pos.X, targetShape.Pos.Y, targetShape.Width, targetShape.Height) targetShape.Pos.X, targetShape.Pos.Y, targetShape.Width, targetShape.Height, style)
case d2target.ShapeText, d2target.ShapeCode: case d2target.ShapeText, d2target.ShapeCode:
default: default:
if targetShape.Multiple { if targetShape.Multiple {
multiplePathData := shape.NewShape(shapeType, geo.NewBox(multipleTL, width, height)).GetSVGPathData() multiplePathData := shape.NewShape(shapeType, geo.NewBox(multipleTL, width, height)).GetSVGPathData()
for _, pathData := range multiplePathData { for _, pathData := range multiplePathData {
fmt.Fprintf(writer, `<path d="%s"/>`, pathData) fmt.Fprintf(writer, `<path d="%s" style="%s"/>`, pathData, style)
} }
} }
for _, pathData := range s.GetSVGPathData() { for _, pathData := range s.GetSVGPathData() {
fmt.Fprintf(writer, `<path d="%s"/>`, pathData) fmt.Fprintf(writer, `<path d="%s" style="%s"/>`, pathData, style)
} }
} }
@ -837,18 +842,11 @@ func Render(diagram *d2target.Diagram) ([]byte, error) {
buf := &bytes.Buffer{} buf := &bytes.Buffer{}
_, _ = setViewbox(buf, diagram) _, _ = setViewbox(buf, diagram)
buf.WriteString(`<style type="text/css"> buf.WriteString(fmt.Sprintf(`<style type="text/css">
<![CDATA[ <![CDATA[
.shape { %s
shape-rendering: geometricPrecision;
stroke-linejoin: round;
}
.connection {
stroke-linecap: round;
stroke-linejoin: round;
}
]]> ]]>
</style>`) </style>`, styleCSS))
hasMarkdown := false hasMarkdown := false
for _, s := range diagram.Shapes { for _, s := range diagram.Shapes {

View file

@ -0,0 +1,8 @@
.shape {
shape-rendering: geometricPrecision;
stroke-linejoin: round;
}
.connection {
stroke-linecap: round;
stroke-linejoin: round;
}

View file

@ -98,8 +98,8 @@ func constraintAbbr(constraint string) string {
} }
func drawTable(writer io.Writer, targetShape d2target.Shape) { func drawTable(writer io.Writer, targetShape d2target.Shape) {
fmt.Fprintf(writer, `<rect class="shape" x="%d" y="%d" width="%d" height="%d" />`, fmt.Fprintf(writer, `<rect class="shape" x="%d" y="%d" width="%d" height="%d" style="%s"/>`,
targetShape.Pos.X, targetShape.Pos.Y, targetShape.Width, targetShape.Height) targetShape.Pos.X, targetShape.Pos.Y, targetShape.Width, targetShape.Height, shapeStyle(targetShape))
box := geo.NewBox( box := geo.NewBox(
geo.NewPoint(float64(targetShape.Pos.X), float64(targetShape.Pos.Y)), geo.NewPoint(float64(targetShape.Pos.X), float64(targetShape.Pos.Y)),

View file

@ -2,6 +2,7 @@ package e2etests
import ( import (
"context" "context"
"encoding/xml"
"fmt" "fmt"
"io/ioutil" "io/ioutil"
"os" "os"
@ -127,6 +128,11 @@ func run(t *testing.T, tc testCase) {
t.Fatal(err) t.Fatal(err)
} }
var xmlParsed interface{}
if err := xml.Unmarshal(svgBytes, &xmlParsed); err != nil {
t.Fatalf("invalid SVG: %v", err)
}
err = diff.Testdata(filepath.Join(dataPath, "board"), diagram) err = diff.Testdata(filepath.Join(dataPath, "board"), diagram)
if err != nil { if err != nil {
ioutil.WriteFile(pathGotSVG, svgBytes, 0600) ioutil.WriteFile(pathGotSVG, svgBytes, 0600)

View file

@ -816,6 +816,20 @@ a line of text and an
| |
a -> md -> b a -> md -> b
`,
},
{
name: "class",
script: `manager: BatchManager {
shape: class
-num: int
-timeout: int
-pid
+getStatus(): Enum
+getJobs(): "Job[]"
+setTimeout(seconds int)
}
`, `,
}, },
} }

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="486" height="552" viewBox="-100 -100 486 552"><style type="text/css"> width="486" height="552" viewBox="-100 -100 486 552"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="87" y="0" width="113" height="126"/></g><text class="text-bold" x="143.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="0" y="226" width="113" height="126"/></g><text class="text-bold" x="56.500000" y="292.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="173" y="226" width="113" height="126"/></g><text class="text-bold" x="229.500000" y="292.000000" style="text-anchor:middle;font-size:16px;fill:black">c</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 93.558654 127.588117 C 64.154867 166.000000 56.500000 186.000000 56.500000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 192.441346 127.588117 C 221.845133 166.000000 229.500000 186.000000 229.500000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </style><g class="shape" ><rect x="87" y="0" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="143.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="0" y="226" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="56.500000" y="292.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><g class="shape" ><rect x="173" y="226" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="229.500000" y="292.000000" style="text-anchor:middle;font-size:16px;fill:black">c</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 93.558654 127.588117 C 64.154867 166.000000 56.500000 186.000000 56.500000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 192.441346 127.588117 C 221.845133 166.000000 229.500000 186.000000 229.500000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text-bold { .text-bold {
font-family: "font-bold"; font-family: "font-bold";
} }

Before

Width:  |  Height:  |  Size: 325 KiB

After

Width:  |  Height:  |  Size: 325 KiB

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="526" height="472" viewBox="-88 -88 526 472"><style type="text/css"> width="526" height="472" viewBox="-88 -88 526 472"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="12" y="33" width="113" height="126"/></g><text class="text-bold" x="68.500000" y="99.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="225" y="12" width="113" height="126"/></g><text class="text-bold" x="281.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="225" y="158" width="113" height="126"/></g><text class="text-bold" x="281.500000" y="224.000000" style="text-anchor:middle;font-size:16px;fill:black">c</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 75.000000 L 221.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 127.000000 117.000000 L 165.000000 117.000000 S 175.000000 117.000000 175.000000 127.000000 L 175.000000 211.000000 S 175.000000 221.000000 185.000000 221.000000 L 221.000000 221.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </style><g class="shape" ><rect x="12" y="33" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="68.500000" y="99.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="225" y="12" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="281.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><g class="shape" ><rect x="225" y="158" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="281.500000" y="224.000000" style="text-anchor:middle;font-size:16px;fill:black">c</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 75.000000 L 221.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 127.000000 117.000000 L 165.000000 117.000000 S 175.000000 117.000000 175.000000 127.000000 L 175.000000 211.000000 S 175.000000 221.000000 185.000000 221.000000 L 221.000000 221.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text-bold { .text-bold {
font-family: "font-bold"; font-family: "font-bold";
} }

Before

Width:  |  Height:  |  Size: 325 KiB

After

Width:  |  Height:  |  Size: 325 KiB

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="313" height="552" viewBox="-100 -100 313 552"><style type="text/css"> width="313" height="552" viewBox="-100 -100 313 552"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="0" y="0" width="113" height="126"/></g><text class="text-bold" x="56.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="0" y="226" width="113" height="126"/></g><text class="text-bold" x="56.500000" y="292.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 56.500000 128.000000 C 56.500000 166.000000 56.500000 186.000000 56.500000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </style><g class="shape" ><rect x="0" y="0" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="56.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="0" y="226" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="56.500000" y="292.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 56.500000 128.000000 C 56.500000 166.000000 56.500000 186.000000 56.500000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text-bold { .text-bold {
font-family: "font-bold"; font-family: "font-bold";
} }

Before

Width:  |  Height:  |  Size: 324 KiB

After

Width:  |  Height:  |  Size: 324 KiB

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="526" height="326" viewBox="-88 -88 526 326"><style type="text/css"> width="526" height="326" viewBox="-88 -88 526 326"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="12" y="12" width="113" height="126"/></g><text class="text-bold" x="68.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="225" y="12" width="113" height="126"/></g><text class="text-bold" x="281.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 75.000000 L 221.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </style><g class="shape" ><rect x="12" y="12" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="68.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="225" y="12" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="281.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 75.000000 L 221.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text-bold { .text-bold {
font-family: "font-bold"; font-family: "font-bold";
} }

Before

Width:  |  Height:  |  Size: 324 KiB

After

Width:  |  Height:  |  Size: 324 KiB

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="414" height="752" viewBox="-100 -100 414 752"><style type="text/css"> width="414" height="752" viewBox="-100 -100 414 752"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="1" y="0" width="213" height="226"/></g><text class="text-bold" x="107.500000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:black">a</text><g class="shape" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="0" y="326" width="214" height="226"/></g><text class="text-bold" x="107.000000" y="359.000000" style="text-anchor:middle;font-size:28px;fill:black">c</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="51" y="50" width="113" height="126"/></g><text class="text-bold" x="107.500000" y="116.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="50" y="376" width="114" height="126"/></g><text class="text-bold" x="107.000000" y="442.000000" style="text-anchor:middle;font-size:16px;fill:black">d</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 107.000000 178.000000 C 107.000000 216.000000 107.000000 236.000000 107.000000 251.000000 C 107.000000 266.000000 107.000000 336.000000 107.000000 372.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </style><g class="shape" ><rect x="1" y="0" width="213" height="226" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="107.500000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:black">a</text><g class="shape" ><rect x="0" y="326" width="214" height="226" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="107.000000" y="359.000000" style="text-anchor:middle;font-size:28px;fill:black">c</text><g class="shape" ><rect x="51" y="50" width="113" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="107.500000" y="116.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><g class="shape" ><rect x="50" y="376" width="114" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="107.000000" y="442.000000" style="text-anchor:middle;font-size:16px;fill:black">d</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 107.000000 178.000000 C 107.000000 216.000000 107.000000 236.000000 107.000000 251.000000 C 107.000000 266.000000 107.000000 336.000000 107.000000 372.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text-bold { .text-bold {
font-family: "font-bold"; font-family: "font-bold";
} }

Before

Width:  |  Height:  |  Size: 325 KiB

After

Width:  |  Height:  |  Size: 325 KiB

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="837" height="476" viewBox="-88 -88 837 476"><style type="text/css"> width="837" height="476" viewBox="-88 -88 837 476"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="12" y="12" width="263" height="276"/></g><text class="text-bold" x="143.500000" y="45.000000" style="text-anchor:middle;font-size:28px;fill:black">a</text><g class="shape" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="385" y="12" width="264" height="276"/></g><text class="text-bold" x="517.000000" y="45.000000" style="text-anchor:middle;font-size:28px;fill:black">c</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="87" y="87" width="113" height="126"/></g><text class="text-bold" x="143.500000" y="153.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="460" y="87" width="114" height="126"/></g><text class="text-bold" x="517.000000" y="153.000000" style="text-anchor:middle;font-size:16px;fill:black">d</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 202.000000 150.000000 L 456.000000 150.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </style><g class="shape" ><rect x="12" y="12" width="263" height="276" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="143.500000" y="45.000000" style="text-anchor:middle;font-size:28px;fill:black">a</text><g class="shape" ><rect x="385" y="12" width="264" height="276" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="517.000000" y="45.000000" style="text-anchor:middle;font-size:28px;fill:black">c</text><g class="shape" ><rect x="87" y="87" width="113" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="143.500000" y="153.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><g class="shape" ><rect x="460" y="87" width="114" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="517.000000" y="153.000000" style="text-anchor:middle;font-size:16px;fill:black">d</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 202.000000 150.000000 L 456.000000 150.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text-bold { .text-bold {
font-family: "font-bold"; font-family: "font-bold";
} }

Before

Width:  |  Height:  |  Size: 325 KiB

After

Width:  |  Height:  |  Size: 325 KiB

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="313" height="552" viewBox="-100 -100 313 552"><style type="text/css"> width="313" height="552" viewBox="-100 -100 313 552"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="0" y="0" width="113" height="126"/></g><text class="text-bold" x="56.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="0" y="226" width="113" height="126"/></g><text class="text-bold" x="56.500000" y="292.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><mask id="mask-1985426896" maskUnits="userSpaceOnUse" x="40.000000" y="112.000000" width="33.000000" height="128.000000"> </style><g class="shape" ><rect x="0" y="0" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="56.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="0" y="226" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="56.500000" y="292.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><mask id="mask-1985426896" maskUnits="userSpaceOnUse" x="40.000000" y="112.000000" width="33.000000" height="128.000000">
<rect x="40.000000" y="112.000000" width="33.000000" height="128.000000" fill="white"></rect> <rect x="40.000000" y="112.000000" width="33.000000" height="128.000000" fill="white"></rect>
<rect x="40.000000" y="166.000000" width="33" height="21" fill="black"></rect> <rect x="40.000000" y="166.000000" width="33" height="21" fill="black"></rect>
</mask><path d="M 56.500000 128.000000 C 56.500000 166.000000 56.500000 186.000000 56.500000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#mask-1985426896)" /><text class="text-italic" x="56.500000" y="182.000000" style="text-anchor:middle;font-size:16px;fill:black">hello</text><style type="text/css"><![CDATA[ </mask><path d="M 56.500000 128.000000 C 56.500000 166.000000 56.500000 186.000000 56.500000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#mask-1985426896)" /><text class="text-italic" x="56.500000" y="182.000000" style="text-anchor:middle;font-size:16px;fill:black">hello</text><style type="text/css"><![CDATA[

Before

Width:  |  Height:  |  Size: 468 KiB

After

Width:  |  Height:  |  Size: 468 KiB

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="659" height="326" viewBox="-88 -88 659 326"><style type="text/css"> width="659" height="326" viewBox="-88 -88 659 326"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="12" y="12" width="113" height="126"/></g><text class="text-bold" x="68.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="358" y="12" width="113" height="126"/></g><text class="text-bold" x="414.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><mask id="mask-1985426896" maskUnits="userSpaceOnUse" x="113.000000" y="61.000000" width="257.000000" height="28.000000"> </style><g class="shape" ><rect x="12" y="12" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="68.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="358" y="12" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="414.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><mask id="mask-1985426896" maskUnits="userSpaceOnUse" x="113.000000" y="61.000000" width="257.000000" height="28.000000">
<rect x="113.000000" y="61.000000" width="257.000000" height="28.000000" fill="white"></rect> <rect x="113.000000" y="61.000000" width="257.000000" height="28.000000" fill="white"></rect>
<rect x="225.000000" y="65.000000" width="33" height="21" fill="black"></rect> <rect x="225.000000" y="65.000000" width="33" height="21" fill="black"></rect>
</mask><path d="M 127.000000 75.000000 L 354.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#mask-1985426896)" /><text class="text-italic" x="241.500000" y="81.000000" style="text-anchor:middle;font-size:16px;fill:black">hello</text><style type="text/css"><![CDATA[ </mask><path d="M 127.000000 75.000000 L 354.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#mask-1985426896)" /><text class="text-italic" x="241.500000" y="81.000000" style="text-anchor:middle;font-size:16px;fill:black">hello</text><style type="text/css"><![CDATA[

Before

Width:  |  Height:  |  Size: 468 KiB

After

Width:  |  Height:  |  Size: 468 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 333 KiB

After

Width:  |  Height:  |  Size: 333 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 332 KiB

After

Width:  |  Height:  |  Size: 332 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 336 KiB

After

Width:  |  Height:  |  Size: 338 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 336 KiB

After

Width:  |  Height:  |  Size: 337 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 334 KiB

After

Width:  |  Height:  |  Size: 334 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 333 KiB

After

Width:  |  Height:  |  Size: 334 KiB

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="480" height="778" viewBox="-100 -100 480 778"><style type="text/css"> width="480" height="778" viewBox="-100 -100 480 778"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#EDF0FD;stroke:#b2350d;opacity:1.000000;stroke-width:7;" ><path d="M 87 108.5231 L 87 0 L 200 0 L 200 108.5231 C 181.1667 85.2206 162.3333 85.2206 143.5 108.5231 C 124.6667 131.8256 105.8333 131.8256 87 108.5231 Z"/></g><text class="text-bold" x="143.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">c</text><g class="shape" style="fill:#F7F8FE;stroke:#0db254;opacity:1.000000;stroke-width:8;" ><rect x="0" y="452" width="113" height="126"/></g><text class="text-bold" x="56.500000" y="518.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><g class="shape" style="fill:#F7F8FE;stroke:#2bc3d8;opacity:1.000000;stroke-width:8;" ><rect x="87" y="226" width="113" height="126"/></g><text class="text-bold" x="143.500000" y="292.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#a1a4af;opacity:1.000000;stroke-width:6;" ><ellipse class="shape" cx="230.000000" cy="515.000000" rx="50.000000" ry="50.000000" /></g><marker id="mk-3196466557" markerWidth="30.000000" markerHeight="30.000000" refX="9.000000" refY="15.000000" viewBox="0.000000 0.000000 30.000000 30.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="6" points="0.000000,15.000000 30.000000,0.000000 22.500000,15.000000 30.000000,30.000000" /> </marker><marker id="mk-1326875639" markerWidth="30.000000" markerHeight="36.000000" refX="21.000000" refY="18.000000" viewBox="0.000000 0.000000 30.000000 36.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="6" points="0.000000,0.000000 30.000000,18.000000 0.000000,36.000000" /> </marker><path d="M 120.792733 364.471312 C 112.692478 392.000000 104.950000 412.000000 91.375504 440.280200" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:6;stroke-dasharray:24.000000,22.141176;" marker-start="url(#mk-3196466557)" marker-end="url(#mk-1326875639)" /><marker id="mk-2307423140" markerWidth="35.000000" markerHeight="42.000000" refX="24.500000" refY="21.000000" viewBox="0.000000 0.000000 35.000000 42.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#20222a" stroke-width="7" points="0.000000,0.000000 35.000000,21.000000 0.000000,42.000000" /> </marker><path d="M 88.201123 121.096153 C 47.800000 164.000000 36.500000 198.600000 36.500000 232.500000 C 36.500000 266.400000 38.300000 412.000000 42.931282 437.729342" class="connection" style="fill:none;stroke:#20222a;opacity:1.000000;stroke-width:7;" marker-end="url(#mk-2307423140)" /><marker id="mk-2920934274" markerWidth="72.600000" markerHeight="54.000000" refX="11.850000" refY="27.000000" viewBox="0.000000 0.000000 72.600000 54.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="white" stroke="#0D32B2" stroke-width="6" points="8.250000,27.000000 39.600000,6.750000 72.600000,27.000000 39.600000,47.250000" /> </marker><marker id="mk-4034884378" markerWidth="66.000000" markerHeight="42.000000" refX="57.000000" refY="21.000000" viewBox="0.000000 0.000000 66.000000 42.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="6" points="0.000000,21.000000 33.000000,0.000000 66.000000,21.000000 33.000000,42.000000" /> </marker><path d="M 165.207267 364.471312 C 173.307522 392.000000 182.800000 415.600000 203.793018 459.188555" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:6;" marker-start="url(#mk-2920934274)" marker-end="url(#mk-4034884378)" /><path d="M 143.000000 116.000000 C 143.000000 162.600000 143.000000 186.000000 143.000000 218.500000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:7;" /><marker id="mk-2510427236" markerWidth="10.000000" markerHeight="12.000000" refX="3.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="10.000000,0.000000 0.000000,6.000000 10.000000,12.000000" /> </marker><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 239.061130 460.094579 C 247.200000 414.800000 249.500000 379.400000 249.500000 345.500000 C 249.500000 311.600000 233.400000 159.000000 173.469570 95.719422" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-start="url(#mk-2510427236)" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </style><g class="shape" ><path d="M 87 108.5231 L 87 0 L 200 0 L 200 108.5231 C 181.1667 85.2206 162.3333 85.2206 143.5 108.5231 C 124.6667 131.8256 105.8333 131.8256 87 108.5231 Z" style="fill:#EDF0FD;stroke:#b2350d;opacity:1.000000;stroke-width:7;"/></g><text class="text-bold" x="143.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">c</text><g class="shape" ><rect x="0" y="452" width="113" height="126" style="fill:#F7F8FE;stroke:#0db254;opacity:1.000000;stroke-width:8;" /></g><text class="text-bold" x="56.500000" y="518.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><g class="shape" ><rect x="87" y="226" width="113" height="126" style="fill:#F7F8FE;stroke:#2bc3d8;opacity:1.000000;stroke-width:8;" /></g><text class="text-bold" x="143.500000" y="292.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><ellipse class="shape" cx="230.000000" cy="515.000000" rx="50.000000" ry="50.000000" style="fill:#F7F8FE;stroke:#a1a4af;opacity:1.000000;stroke-width:6;" /></g><marker id="mk-3196466557" markerWidth="30.000000" markerHeight="30.000000" refX="9.000000" refY="15.000000" viewBox="0.000000 0.000000 30.000000 30.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="6" points="0.000000,15.000000 30.000000,0.000000 22.500000,15.000000 30.000000,30.000000" /> </marker><marker id="mk-1326875639" markerWidth="30.000000" markerHeight="36.000000" refX="21.000000" refY="18.000000" viewBox="0.000000 0.000000 30.000000 36.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="6" points="0.000000,0.000000 30.000000,18.000000 0.000000,36.000000" /> </marker><path d="M 120.792733 364.471312 C 112.692478 392.000000 104.950000 412.000000 91.375504 440.280200" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:6;stroke-dasharray:24.000000,22.141176;" marker-start="url(#mk-3196466557)" marker-end="url(#mk-1326875639)" /><marker id="mk-2307423140" markerWidth="35.000000" markerHeight="42.000000" refX="24.500000" refY="21.000000" viewBox="0.000000 0.000000 35.000000 42.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#20222a" stroke-width="7" points="0.000000,0.000000 35.000000,21.000000 0.000000,42.000000" /> </marker><path d="M 88.201123 121.096153 C 47.800000 164.000000 36.500000 198.600000 36.500000 232.500000 C 36.500000 266.400000 38.300000 412.000000 42.931282 437.729342" class="connection" style="fill:none;stroke:#20222a;opacity:1.000000;stroke-width:7;" marker-end="url(#mk-2307423140)" /><marker id="mk-2920934274" markerWidth="72.600000" markerHeight="54.000000" refX="11.850000" refY="27.000000" viewBox="0.000000 0.000000 72.600000 54.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="white" stroke="#0D32B2" stroke-width="6" points="8.250000,27.000000 39.600000,6.750000 72.600000,27.000000 39.600000,47.250000" /> </marker><marker id="mk-4034884378" markerWidth="66.000000" markerHeight="42.000000" refX="57.000000" refY="21.000000" viewBox="0.000000 0.000000 66.000000 42.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="6" points="0.000000,21.000000 33.000000,0.000000 66.000000,21.000000 33.000000,42.000000" /> </marker><path d="M 165.207267 364.471312 C 173.307522 392.000000 182.800000 415.600000 203.793018 459.188555" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:6;" marker-start="url(#mk-2920934274)" marker-end="url(#mk-4034884378)" /><path d="M 143.000000 116.000000 C 143.000000 162.600000 143.000000 186.000000 143.000000 218.500000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:7;" /><marker id="mk-2510427236" markerWidth="10.000000" markerHeight="12.000000" refX="3.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="10.000000,0.000000 0.000000,6.000000 10.000000,12.000000" /> </marker><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 239.061130 460.094579 C 247.200000 414.800000 249.500000 379.400000 249.500000 345.500000 C 249.500000 311.600000 233.400000 159.000000 173.469570 95.719422" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-start="url(#mk-2510427236)" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text-bold { .text-bold {
font-family: "font-bold"; font-family: "font-bold";
} }

Before

Width:  |  Height:  |  Size: 328 KiB

After

Width:  |  Height:  |  Size: 328 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 328 KiB

After

Width:  |  Height:  |  Size: 328 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 330 KiB

After

Width:  |  Height:  |  Size: 330 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 331 KiB

After

Width:  |  Height:  |  Size: 331 KiB

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="634" height="652" viewBox="-100 -100 634 652"><style type="text/css"> width="634" height="652" viewBox="-100 -100 634 652"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="0" y="0" width="251" height="452"/></g><text class="text-bold" x="125.500000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:black">aaa</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><path d="M 301 74 C 301 50 360.85 50 367.5 50 C 374.15 50 434 50 434 74 V 152 C 434 176 374.15 176 367.5 176 C 360.85 176 301 176 301 152 V 74 Z"/><path d="M 301 74 C 301 98 360.85 98 367.5 98 C 374.15 98 434 98 434 74"/></g><text class="text-bold" x="367.500000" y="128.000000" style="text-anchor:middle;font-size:16px;fill:black">ddd</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><path d="M 301 384.5231 L 301 276 L 431 276 L 431 384.5231 C 409.3333 361.2206 387.6667 361.2206 366 384.5231 C 344.3333 407.8256 322.6667 407.8256 301 384.5231 Z"/></g><text class="text-bold" x="366.000000" y="342.000000" style="text-anchor:middle;font-size:16px;fill:black">eee</text><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><path d="M 50 276 V 357 H 116 V 402 L 146 357 H 182 V 276 H 50 Z"/></g><text class="text-bold" x="116.000000" y="319.500000" style="text-anchor:middle;font-size:16px;fill:black">bbb</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="72" y="50" width="128" height="126"/></g><text class="text-bold" x="136.000000" y="116.000000" style="text-anchor:middle;font-size:16px;fill:black">ccc</text><mask id="mask-3626742025" maskUnits="userSpaceOnUse" x="105.000000" y="174.000000" width="23.000000" height="104.000000"> </style><g class="shape" ><rect x="0" y="0" width="251" height="452" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="125.500000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:black">aaa</text><g class="shape" ><path d="M 301 74 C 301 50 360.85 50 367.5 50 C 374.15 50 434 50 434 74 V 152 C 434 176 374.15 176 367.5 176 C 360.85 176 301 176 301 152 V 74 Z" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;"/><path d="M 301 74 C 301 98 360.85 98 367.5 98 C 374.15 98 434 98 434 74" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;"/></g><text class="text-bold" x="367.500000" y="128.000000" style="text-anchor:middle;font-size:16px;fill:black">ddd</text><g class="shape" ><path d="M 301 384.5231 L 301 276 L 431 276 L 431 384.5231 C 409.3333 361.2206 387.6667 361.2206 366 384.5231 C 344.3333 407.8256 322.6667 407.8256 301 384.5231 Z" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;"/></g><text class="text-bold" x="366.000000" y="342.000000" style="text-anchor:middle;font-size:16px;fill:black">eee</text><g class="shape" ><path d="M 50 276 V 357 H 116 V 402 L 146 357 H 182 V 276 H 50 Z" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;"/></g><text class="text-bold" x="116.000000" y="319.500000" style="text-anchor:middle;font-size:16px;fill:black">bbb</text><g class="shape" ><rect x="72" y="50" width="128" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="136.000000" y="116.000000" style="text-anchor:middle;font-size:16px;fill:black">ccc</text><mask id="mask-3626742025" maskUnits="userSpaceOnUse" x="105.000000" y="174.000000" width="23.000000" height="104.000000">
<rect x="105.000000" y="174.000000" width="23.000000" height="104.000000" fill="white"></rect> <rect x="105.000000" y="174.000000" width="23.000000" height="104.000000" fill="white"></rect>
<rect x="105.000000" y="215.000000" width="23" height="21" fill="black"></rect> <rect x="105.000000" y="215.000000" width="23" height="21" fill="black"></rect>
</mask><path d="M 124.500993 177.969391 C 117.769912 216.000000 116.000000 236.000000 116.000000 274.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" mask="url(#mask-3626742025)" /><text class="text-italic" x="116.500000" y="231.000000" style="text-anchor:middle;font-size:16px;fill:black">111</text><marker id="mk-2510427236" markerWidth="10.000000" markerHeight="12.000000" refX="3.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="10.000000,0.000000 0.000000,6.000000 10.000000,12.000000" /> </marker><mask id="mask-2957989372" maskUnits="userSpaceOnUse" x="145.000000" y="162.000000" width="168.000000" height="153.000000"> </mask><path d="M 124.500993 177.969391 C 117.769912 216.000000 116.000000 236.000000 116.000000 274.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" mask="url(#mask-3626742025)" /><text class="text-italic" x="116.500000" y="231.000000" style="text-anchor:middle;font-size:16px;fill:black">111</text><marker id="mk-2510427236" markerWidth="10.000000" markerHeight="12.000000" refX="3.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="10.000000,0.000000 0.000000,6.000000 10.000000,12.000000" /> </marker><mask id="mask-2957989372" maskUnits="userSpaceOnUse" x="145.000000" y="162.000000" width="168.000000" height="153.000000">

Before

Width:  |  Height:  |  Size: 469 KiB

After

Width:  |  Height:  |  Size: 469 KiB

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="888" height="622" viewBox="-88 -88 888 622"><style type="text/css"> width="888" height="622" viewBox="-88 -88 888 622"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="375" y="12" width="325" height="422"/></g><text class="text-bold" x="537.500000" y="45.000000" style="text-anchor:middle;font-size:28px;fill:black">aaa</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><path d="M 12 111 C 12 87 71.85 87 78.5 87 C 85.15 87 145 87 145 111 V 189 C 145 213 85.15 213 78.5 213 C 71.85 213 12 213 12 189 V 111 Z"/><path d="M 12 111 C 12 135 71.85 135 78.5 135 C 85.15 135 145 135 145 111"/></g><text class="text-bold" x="78.500000" y="165.000000" style="text-anchor:middle;font-size:16px;fill:black">ddd</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><path d="M 15 341.5231 L 15 233 L 145 233 L 145 341.5231 C 123.3333 318.2206 101.6667 318.2206 80 341.5231 C 58.3333 364.8256 36.6667 364.8256 15 341.5231 Z"/></g><text class="text-bold" x="80.000000" y="299.000000" style="text-anchor:middle;font-size:16px;fill:black">eee</text><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><path d="M 450 87 V 168 H 516 V 213 L 546 168 H 582 V 87 H 450 Z"/></g><text class="text-bold" x="516.000000" y="130.500000" style="text-anchor:middle;font-size:16px;fill:black">bbb</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="452" y="233" width="128" height="126"/></g><text class="text-bold" x="516.000000" y="299.000000" style="text-anchor:middle;font-size:16px;fill:black">ccc</text><mask id="mask-3626742025" maskUnits="userSpaceOnUse" x="578.000000" y="286.000000" width="124.000000" height="21.000000"> </style><g class="shape" ><rect x="375" y="12" width="325" height="422" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="537.500000" y="45.000000" style="text-anchor:middle;font-size:28px;fill:black">aaa</text><g class="shape" ><path d="M 12 111 C 12 87 71.85 87 78.5 87 C 85.15 87 145 87 145 111 V 189 C 145 213 85.15 213 78.5 213 C 71.85 213 12 213 12 189 V 111 Z" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;"/><path d="M 12 111 C 12 135 71.85 135 78.5 135 C 85.15 135 145 135 145 111" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;"/></g><text class="text-bold" x="78.500000" y="165.000000" style="text-anchor:middle;font-size:16px;fill:black">ddd</text><g class="shape" ><path d="M 15 341.5231 L 15 233 L 145 233 L 145 341.5231 C 123.3333 318.2206 101.6667 318.2206 80 341.5231 C 58.3333 364.8256 36.6667 364.8256 15 341.5231 Z" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;"/></g><text class="text-bold" x="80.000000" y="299.000000" style="text-anchor:middle;font-size:16px;fill:black">eee</text><g class="shape" ><path d="M 450 87 V 168 H 516 V 213 L 546 168 H 582 V 87 H 450 Z" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;"/></g><text class="text-bold" x="516.000000" y="130.500000" style="text-anchor:middle;font-size:16px;fill:black">bbb</text><g class="shape" ><rect x="452" y="233" width="128" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="516.000000" y="299.000000" style="text-anchor:middle;font-size:16px;fill:black">ccc</text><mask id="mask-3626742025" maskUnits="userSpaceOnUse" x="578.000000" y="286.000000" width="124.000000" height="21.000000">
<rect x="578.000000" y="286.000000" width="124.000000" height="21.000000" fill="white"></rect> <rect x="578.000000" y="286.000000" width="124.000000" height="21.000000" fill="white"></rect>
<rect x="629.000000" y="286.000000" width="23" height="21" fill="black"></rect> <rect x="629.000000" y="286.000000" width="23" height="21" fill="black"></rect>
</mask><path d="M 582.000000 296.000000 L 698.000000 296.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" mask="url(#mask-3626742025)" /><text class="text-italic" x="640.500000" y="302.000000" style="text-anchor:middle;font-size:16px;fill:black">111</text><marker id="mk-2510427236" markerWidth="10.000000" markerHeight="12.000000" refX="3.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="10.000000,0.000000 0.000000,6.000000 10.000000,12.000000" /> </marker><mask id="mask-2957989372" maskUnits="userSpaceOnUse" x="133.000000" y="282.000000" width="331.000000" height="28.000000"> </mask><path d="M 582.000000 296.000000 L 698.000000 296.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" mask="url(#mask-3626742025)" /><text class="text-italic" x="640.500000" y="302.000000" style="text-anchor:middle;font-size:16px;fill:black">111</text><marker id="mk-2510427236" markerWidth="10.000000" markerHeight="12.000000" refX="3.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="10.000000,0.000000 0.000000,6.000000 10.000000,12.000000" /> </marker><mask id="mask-2957989372" maskUnits="userSpaceOnUse" x="133.000000" y="282.000000" width="331.000000" height="28.000000">

Before

Width:  |  Height:  |  Size: 469 KiB

After

Width:  |  Height:  |  Size: 469 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="1317" height="1854" viewBox="-100 -100 1317 1854"><style type="text/css"> width="1317" height="1854" viewBox="-100 -100 1317 1854"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,10 +790,10 @@ width="1317" height="1854" viewBox="-100 -100 1317 1854"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="0" y="0" width="1117" height="1654"/></g><text class="text-bold" x="558.500000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:black">aa</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="40" y="50" width="776" height="1554"/></g><text class="text-bold" x="428.000000" y="79.000000" style="text-anchor:middle;font-size:24px;fill:black">bb</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="915" y="652" width="114" height="126"/></g><text class="text-bold" x="972.000000" y="718.000000" style="text-anchor:middle;font-size:16px;fill:black">ll</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><path d="M 902 450 C 902 426 960.95 426 967.5 426 C 974.05 426 1033 426 1033 450 V 528 C 1033 552 974.05 552 967.5 552 C 960.95 552 902 552 902 528 V 450 Z"/><path d="M 902 450 C 902 474 960.95 474 967.5 474 C 974.05 474 1033 474 1033 450"/></g><text class="text-bold" x="967.500000" y="504.000000" style="text-anchor:middle;font-size:16px;fill:black">mm</text><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="867.000000" y="1429.000000" width="18" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>nn</p> </style><g class="shape" ><rect x="0" y="0" width="1117" height="1654" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="558.500000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:black">aa</text><g class="shape" ><rect x="40" y="50" width="776" height="1554" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="428.000000" y="79.000000" style="text-anchor:middle;font-size:24px;fill:black">bb</text><g class="shape" ><rect x="915" y="652" width="114" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="972.000000" y="718.000000" style="text-anchor:middle;font-size:16px;fill:black">ll</text><g class="shape" ><path d="M 902 450 C 902 426 960.95 426 967.5 426 C 974.05 426 1033 426 1033 450 V 528 C 1033 552 974.05 552 967.5 552 C 960.95 552 902 552 902 528 V 450 Z" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;"/><path d="M 902 450 C 902 474 960.95 474 967.5 474 C 974.05 474 1033 474 1033 450" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;"/></g><text class="text-bold" x="967.500000" y="504.000000" style="text-anchor:middle;font-size:16px;fill:black">mm</text><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="867.000000" y="1429.000000" width="18" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>nn</p>
</div></foreignObject></g><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="945" y="1378" width="123" height="126"/></g><text class="text-bold" x="1006.500000" y="1444.000000" style="text-anchor:middle;font-size:16px;fill:black">oo</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="80" y="878" width="510" height="676"/></g><text class="text-bold" x="335.000000" y="903.000000" style="text-anchor:middle;font-size:20px;fill:black">cc</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><path d="M 106 100 L 256 100 L 256 145.2 L 473 145.2 L 473 326 L 106 326 Z"/></g><text class="text-bold" x="289.500000" y="125.000000" style="text-anchor:middle;font-size:20px;fill:black">ii</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><ellipse class="shape" cx="704.000000" cy="1441.000000" rx="63.000000" ry="63.000000" /></g><text class="text-bold" x="704.000000" y="1444.000000" style="text-anchor:middle;font-size:16px;fill:black">kk</text><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="120" y="928" width="355" height="226"/></g><text class="text-bold" x="297.500000" y="949.000000" style="text-anchor:middle;font-size:16px;fill:black">dd</text><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="409.000000" y="1254.000000" width="17" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>gg</p> </div></foreignObject></g><g class="shape" ><rect x="945" y="1378" width="123" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="1006.500000" y="1444.000000" style="text-anchor:middle;font-size:16px;fill:black">oo</text><g class="shape" ><rect x="80" y="878" width="510" height="676" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="335.000000" y="903.000000" style="text-anchor:middle;font-size:20px;fill:black">cc</text><g class="shape" ><path d="M 106 100 L 256 100 L 256 145.2 L 473 145.2 L 473 326 L 106 326 Z" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;"/></g><text class="text-bold" x="289.500000" y="125.000000" style="text-anchor:middle;font-size:20px;fill:black">ii</text><g class="shape" ><ellipse class="shape" cx="704.000000" cy="1441.000000" rx="63.000000" ry="63.000000" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="704.000000" y="1444.000000" style="text-anchor:middle;font-size:16px;fill:black">kk</text><g class="shape" ><rect x="120" y="928" width="355" height="226" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="297.500000" y="949.000000" style="text-anchor:middle;font-size:16px;fill:black">dd</text><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="409.000000" y="1254.000000" width="17" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>gg</p>
</div></foreignObject></g><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="356" y="1378" width="123" height="126"/></g><text class="text-bold" x="417.500000" y="1444.000000" style="text-anchor:middle;font-size:16px;fill:black">hh</text><g class="shape" style="fill:#CFD2DD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><path d="M 300.5 276 C 300.0519 276 299.7532 275.8362 299.4545 275.5085 L 243.4481 214.2289 C 242.8507 213.5735 242.8507 212.5904 243.4481 211.935 L 299.4545 150.4915 C 300.0519 149.8361 300.948 149.8361 301.5454 150.4915 L 357.5519 211.9349 C 358.1493 212.5903 358.1493 213.5734 357.5519 214.2288 L 301.5455 275.5085 C 301.2468 275.8362 300.9481 276 300.5 276 Z"/></g><text class="text-bold" x="300.500000" y="216.000000" style="text-anchor:middle;font-size:16px;fill:black">jj</text><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="232.000000" y="1029.000000" width="16" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>ee</p> </div></foreignObject></g><g class="shape" ><rect x="356" y="1378" width="123" height="126" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="417.500000" y="1444.000000" style="text-anchor:middle;font-size:16px;fill:black">hh</text><g class="shape" ><path d="M 300.5 276 C 300.0519 276 299.7532 275.8362 299.4545 275.5085 L 243.4481 214.2289 C 242.8507 213.5735 242.8507 212.5904 243.4481 211.935 L 299.4545 150.4915 C 300.0519 149.8361 300.948 149.8361 301.5454 150.4915 L 357.5519 211.9349 C 358.1493 212.5903 358.1493 213.5734 357.5519 214.2288 L 301.5455 275.5085 C 301.2468 275.8362 300.9481 276 300.5 276 Z" style="fill:#CFD2DD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;"/></g><text class="text-bold" x="300.500000" y="216.000000" style="text-anchor:middle;font-size:16px;fill:black">jj</text><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="232.000000" y="1029.000000" width="16" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>ee</p>
</div></foreignObject></g><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="308" y="978" width="117" height="126"/></g><text class="text-bold" x="366.500000" y="1044.000000" style="text-anchor:middle;font-size:16px;fill:black">ff</text><mask id="mask-3834907066" maskUnits="userSpaceOnUse" x="238.000000" y="1051.000000" width="173.000000" height="214.000000"> </div></foreignObject></g><g class="shape" ><rect x="308" y="978" width="117" height="126" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="366.500000" y="1044.000000" style="text-anchor:middle;font-size:16px;fill:black">ff</text><mask id="mask-3834907066" maskUnits="userSpaceOnUse" x="238.000000" y="1051.000000" width="173.000000" height="214.000000">
<rect x="238.000000" y="1051.000000" width="173.000000" height="214.000000" fill="white"></rect> <rect x="238.000000" y="1051.000000" width="173.000000" height="214.000000" fill="white"></rect>
<rect x="261.000000" y="1193.000000" width="15" height="21" fill="black"></rect> <rect x="261.000000" y="1193.000000" width="15" height="21" fill="black"></rect>
</mask><path d="M 240.000000 1055.000000 C 240.000000 1133.800000 273.800000 1215.800000 407.111761 1262.340792" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" mask="url(#mask-3834907066)" /><text class="text-italic" x="268.500000" y="1209.000000" style="text-anchor:middle;font-size:16px;fill:black">11</text><mask id="mask-1342911600" maskUnits="userSpaceOnUse" x="409.000000" y="1276.000000" width="17.000000" height="104.000000"> </mask><path d="M 240.000000 1055.000000 C 240.000000 1133.800000 273.800000 1215.800000 407.111761 1262.340792" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" mask="url(#mask-3834907066)" /><text class="text-italic" x="268.500000" y="1209.000000" style="text-anchor:middle;font-size:16px;fill:black">11</text><mask id="mask-1342911600" maskUnits="userSpaceOnUse" x="409.000000" y="1276.000000" width="17.000000" height="104.000000">

Before

Width:  |  Height:  |  Size: 813 KiB

After

Width:  |  Height:  |  Size: 813 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="1856" height="1097" viewBox="-88 -88 1856 1097"><style type="text/css"> width="1856" height="1097" viewBox="-88 -88 1856 1097"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,10 +790,10 @@ width="1856" height="1097" viewBox="-88 -88 1856 1097"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="12" y="12" width="1656" height="897"/></g><text class="text-bold" x="840.000000" y="45.000000" style="text-anchor:middle;font-size:28px;fill:black">aa</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="434" y="132" width="1134" height="702"/></g><text class="text-bold" x="1001.000000" y="161.000000" style="text-anchor:middle;font-size:24px;fill:black">bb</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="238" y="356" width="114" height="126"/></g><text class="text-bold" x="295.000000" y="422.000000" style="text-anchor:middle;font-size:16px;fill:black">ll</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><path d="M 87 495 C 87 471 145.95 471 152.5 471 C 159.05 471 218 471 218 495 V 573 C 218 597 159.05 597 152.5 597 C 145.95 597 87 597 87 573 V 495 Z"/><path d="M 87 495 C 87 519 145.95 519 152.5 519 C 159.05 519 218 519 218 495"/></g><text class="text-bold" x="152.500000" y="549.000000" style="text-anchor:middle;font-size:16px;fill:black">mm</text><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="144.000000" y="427.000000" width="18" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>nn</p> </style><g class="shape" ><rect x="12" y="12" width="1656" height="897" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="840.000000" y="45.000000" style="text-anchor:middle;font-size:28px;fill:black">aa</text><g class="shape" ><rect x="434" y="132" width="1134" height="702" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="1001.000000" y="161.000000" style="text-anchor:middle;font-size:24px;fill:black">bb</text><g class="shape" ><rect x="238" y="356" width="114" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="295.000000" y="422.000000" style="text-anchor:middle;font-size:16px;fill:black">ll</text><g class="shape" ><path d="M 87 495 C 87 471 145.95 471 152.5 471 C 159.05 471 218 471 218 495 V 573 C 218 597 159.05 597 152.5 597 C 145.95 597 87 597 87 573 V 495 Z" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;"/><path d="M 87 495 C 87 519 145.95 519 152.5 519 C 159.05 519 218 519 218 495" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;"/></g><text class="text-bold" x="152.500000" y="549.000000" style="text-anchor:middle;font-size:16px;fill:black">mm</text><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="144.000000" y="427.000000" width="18" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>nn</p>
</div></foreignObject></g><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="91" y="617" width="123" height="126"/></g><text class="text-bold" x="152.500000" y="683.000000" style="text-anchor:middle;font-size:16px;fill:black">oo</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="819" y="278" width="674" height="481"/></g><text class="text-bold" x="1156.000000" y="303.000000" style="text-anchor:middle;font-size:20px;fill:black">cc</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><path d="M 509 364 L 641.5 364 L 641.5 419 L 774 419 L 774 640 L 509 640 Z"/></g><text class="text-bold" x="641.500000" y="389.000000" style="text-anchor:middle;font-size:20px;fill:black">ii</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><ellipse class="shape" cx="642.000000" cy="270.000000" rx="63.000000" ry="63.000000" /></g><text class="text-bold" x="642.000000" y="273.000000" style="text-anchor:middle;font-size:16px;fill:black">kk</text><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="894" y="364" width="267" height="320"/></g><text class="text-bold" x="1027.500000" y="385.000000" style="text-anchor:middle;font-size:16px;fill:black">dd</text><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="1221.000000" y="581.000000" width="17" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>gg</p> </div></foreignObject></g><g class="shape" ><rect x="91" y="617" width="123" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="152.500000" y="683.000000" style="text-anchor:middle;font-size:16px;fill:black">oo</text><g class="shape" ><rect x="819" y="278" width="674" height="481" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="1156.000000" y="303.000000" style="text-anchor:middle;font-size:20px;fill:black">cc</text><g class="shape" ><path d="M 509 364 L 641.5 364 L 641.5 419 L 774 419 L 774 640 L 509 640 Z" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;"/></g><text class="text-bold" x="641.500000" y="389.000000" style="text-anchor:middle;font-size:20px;fill:black">ii</text><g class="shape" ><ellipse class="shape" cx="642.000000" cy="270.000000" rx="63.000000" ry="63.000000" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="642.000000" y="273.000000" style="text-anchor:middle;font-size:16px;fill:black">kk</text><g class="shape" ><rect x="894" y="364" width="267" height="320" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="1027.500000" y="385.000000" style="text-anchor:middle;font-size:16px;fill:black">dd</text><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="1221.000000" y="581.000000" width="17" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>gg</p>
</div></foreignObject></g><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="1295" y="530" width="123" height="126"/></g><text class="text-bold" x="1356.500000" y="596.000000" style="text-anchor:middle;font-size:16px;fill:black">hh</text><g class="shape" style="fill:#CFD2DD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><path d="M 641.5 565 C 641.0519 565 640.7532 564.8362 640.4545 564.5085 L 584.4481 503.2289 C 583.8507 502.5735 583.8507 501.5904 584.4481 500.935 L 640.4545 439.4915 C 641.0519 438.8361 641.948 438.8361 642.5454 439.4915 L 698.5519 500.9349 C 699.1493 501.5903 699.1493 502.5734 698.5519 503.2288 L 642.5455 564.5085 C 642.2468 564.8362 641.9481 565 641.5 565 Z"/></g><text class="text-bold" x="641.500000" y="505.000000" style="text-anchor:middle;font-size:16px;fill:black">jj</text><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="1070.000000" y="585.000000" width="16" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>ee</p> </div></foreignObject></g><g class="shape" ><rect x="1295" y="530" width="123" height="126" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="1356.500000" y="596.000000" style="text-anchor:middle;font-size:16px;fill:black">hh</text><g class="shape" ><path d="M 641.5 565 C 641.0519 565 640.7532 564.8362 640.4545 564.5085 L 584.4481 503.2289 C 583.8507 502.5735 583.8507 501.5904 584.4481 500.935 L 640.4545 439.4915 C 641.0519 438.8361 641.948 438.8361 642.5454 439.4915 L 698.5519 500.9349 C 699.1493 501.5903 699.1493 502.5734 698.5519 503.2288 L 642.5455 564.5085 C 642.2468 564.8362 641.9481 565 641.5 565 Z" style="fill:#CFD2DD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;"/></g><text class="text-bold" x="641.500000" y="505.000000" style="text-anchor:middle;font-size:16px;fill:black">jj</text><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="1070.000000" y="585.000000" width="16" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>ee</p>
</div></foreignObject></g><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="969" y="439" width="117" height="126"/></g><text class="text-bold" x="1027.500000" y="505.000000" style="text-anchor:middle;font-size:16px;fill:black">ff</text><mask id="mask-3834907066" maskUnits="userSpaceOnUse" x="1084.000000" y="587.000000" width="139.000000" height="21.000000"> </div></foreignObject></g><g class="shape" ><rect x="969" y="439" width="117" height="126" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="1027.500000" y="505.000000" style="text-anchor:middle;font-size:16px;fill:black">ff</text><mask id="mask-3834907066" maskUnits="userSpaceOnUse" x="1084.000000" y="587.000000" width="139.000000" height="21.000000">
<rect x="1084.000000" y="587.000000" width="139.000000" height="21.000000" fill="white"></rect> <rect x="1084.000000" y="587.000000" width="139.000000" height="21.000000" fill="white"></rect>
<rect x="1146.000000" y="587.000000" width="15" height="21" fill="black"></rect> <rect x="1146.000000" y="587.000000" width="15" height="21" fill="black"></rect>
</mask><path d="M 1088.000000 597.000000 L 1219.000000 597.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" mask="url(#mask-3834907066)" /><text class="text-italic" x="1153.500000" y="603.000000" style="text-anchor:middle;font-size:16px;fill:black">11</text><mask id="mask-1342911600" maskUnits="userSpaceOnUse" x="1236.000000" y="583.000000" width="61.000000" height="21.000000"> </mask><path d="M 1088.000000 597.000000 L 1219.000000 597.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" mask="url(#mask-3834907066)" /><text class="text-italic" x="1153.500000" y="603.000000" style="text-anchor:middle;font-size:16px;fill:black">11</text><mask id="mask-1342911600" maskUnits="userSpaceOnUse" x="1236.000000" y="583.000000" width="61.000000" height="21.000000">

Before

Width:  |  Height:  |  Size: 814 KiB

After

Width:  |  Height:  |  Size: 814 KiB

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="694" height="626" viewBox="-100 -100 694 626"><style type="text/css"> width="694" height="626" viewBox="-100 -100 694 626"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="0" y="0" width="494" height="426"/></g><text class="text-bold" x="247.000000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:black">a</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="40" y="50" width="414" height="326"/></g><text class="text-bold" x="247.000000" y="79.000000" style="text-anchor:middle;font-size:24px;fill:black">b</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="80" y="100" width="334" height="226"/></g><text class="text-bold" x="247.000000" y="125.000000" style="text-anchor:middle;font-size:20px;fill:black">c</text><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="130" y="150" width="114" height="126"/></g><text class="text-bold" x="187.000000" y="216.000000" style="text-anchor:middle;font-size:16px;fill:black">d</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 245.640452 172.103153 C 270.666667 154.649446 279.000000 150.000000 281.500000 150.000000 C 284.000000 150.000000 287.333333 162.600000 289.833333 181.500000 C 292.333333 200.400000 292.333333 225.600000 289.833333 244.500000 C 287.333333 263.400000 270.666667 271.350554 247.280904 255.040926" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 245.760942 181.359493 C 292.000000 156.461538 307.000000 150.000000 311.500000 150.000000 C 316.000000 150.000000 322.000000 162.600000 326.500000 181.500000 C 331.000000 200.400000 331.000000 225.600000 326.500000 244.500000 C 322.000000 263.400000 292.000000 269.538462 247.521884 245.588707" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 245.666473 237.972160 C 243.933333 237.996288 243.733333 237.999072 240.000388 238.051039" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </style><g class="shape" ><rect x="0" y="0" width="494" height="426" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="247.000000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:black">a</text><g class="shape" ><rect x="40" y="50" width="414" height="326" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="247.000000" y="79.000000" style="text-anchor:middle;font-size:24px;fill:black">b</text><g class="shape" ><rect x="80" y="100" width="334" height="226" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="247.000000" y="125.000000" style="text-anchor:middle;font-size:20px;fill:black">c</text><g class="shape" ><rect x="130" y="150" width="114" height="126" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="187.000000" y="216.000000" style="text-anchor:middle;font-size:16px;fill:black">d</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 245.640452 172.103153 C 270.666667 154.649446 279.000000 150.000000 281.500000 150.000000 C 284.000000 150.000000 287.333333 162.600000 289.833333 181.500000 C 292.333333 200.400000 292.333333 225.600000 289.833333 244.500000 C 287.333333 263.400000 270.666667 271.350554 247.280904 255.040926" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 245.760942 181.359493 C 292.000000 156.461538 307.000000 150.000000 311.500000 150.000000 C 316.000000 150.000000 322.000000 162.600000 326.500000 181.500000 C 331.000000 200.400000 331.000000 225.600000 326.500000 244.500000 C 322.000000 263.400000 292.000000 269.538462 247.521884 245.588707" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 245.666473 237.972160 C 243.933333 237.996288 243.733333 237.999072 240.000388 238.051039" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text-bold { .text-bold {
font-family: "font-bold"; font-family: "font-bold";
} }

Before

Width:  |  Height:  |  Size: 326 KiB

After

Width:  |  Height:  |  Size: 326 KiB

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="789" height="786" viewBox="-88 -88 789 786"><style type="text/css"> width="789" height="786" viewBox="-88 -88 789 786"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="12" y="12" width="589" height="586"/></g><text class="text-bold" x="306.500000" y="45.000000" style="text-anchor:middle;font-size:28px;fill:black">a</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="87" y="87" width="439" height="436"/></g><text class="text-bold" x="306.500000" y="116.000000" style="text-anchor:middle;font-size:24px;fill:black">b</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="162" y="162" width="264" height="276"/></g><text class="text-bold" x="294.000000" y="187.000000" style="text-anchor:middle;font-size:20px;fill:black">c</text><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="237" y="237" width="114" height="126"/></g><text class="text-bold" x="294.000000" y="303.000000" style="text-anchor:middle;font-size:16px;fill:black">d</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 528.000000 162.000000 L 597.000000 162.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 89.000000 237.000000 L 158.000000 237.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 353.000000 300.000000 L 431.000000 300.000000 S 441.000000 300.000000 441.000000 310.000000 L 441.000000 438.000000 S 441.000000 448.000000 431.000000 448.000000 L 91.000000 448.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </style><g class="shape" ><rect x="12" y="12" width="589" height="586" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="306.500000" y="45.000000" style="text-anchor:middle;font-size:28px;fill:black">a</text><g class="shape" ><rect x="87" y="87" width="439" height="436" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="306.500000" y="116.000000" style="text-anchor:middle;font-size:24px;fill:black">b</text><g class="shape" ><rect x="162" y="162" width="264" height="276" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="294.000000" y="187.000000" style="text-anchor:middle;font-size:20px;fill:black">c</text><g class="shape" ><rect x="237" y="237" width="114" height="126" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="294.000000" y="303.000000" style="text-anchor:middle;font-size:16px;fill:black">d</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 528.000000 162.000000 L 597.000000 162.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 89.000000 237.000000 L 158.000000 237.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 353.000000 300.000000 L 431.000000 300.000000 S 441.000000 300.000000 441.000000 310.000000 L 441.000000 438.000000 S 441.000000 448.000000 431.000000 448.000000 L 91.000000 448.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text-bold { .text-bold {
font-family: "font-bold"; font-family: "font-bold";
} }

Before

Width:  |  Height:  |  Size: 325 KiB

After

Width:  |  Height:  |  Size: 325 KiB

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="313" height="778" viewBox="-100 -100 313 778"><style type="text/css"> width="313" height="778" viewBox="-100 -100 313 778"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="0" y="0" width="113" height="126"/></g><text class="text-bold" x="56.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="0" y="226" width="113" height="126"/></g><text class="text-bold" x="56.500000" y="292.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="0" y="452" width="113" height="126"/></g><text class="text-bold" x="56.500000" y="518.000000" style="text-anchor:middle;font-size:16px;fill:black">c</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 45.000993 127.969391 C 38.269912 166.000000 38.300000 186.000000 44.791388 222.063267" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 45.000993 353.969391 C 38.269912 392.000000 38.300000 412.000000 44.791388 448.063267" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 67.999007 450.030609 C 74.730088 412.000000 74.700000 392.000000 68.208612 355.936733" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 67.999007 224.030609 C 74.730088 186.000000 74.700000 166.000000 68.208612 129.936733" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </style><g class="shape" ><rect x="0" y="0" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="56.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="0" y="226" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="56.500000" y="292.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><g class="shape" ><rect x="0" y="452" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="56.500000" y="518.000000" style="text-anchor:middle;font-size:16px;fill:black">c</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 45.000993 127.969391 C 38.269912 166.000000 38.300000 186.000000 44.791388 222.063267" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 45.000993 353.969391 C 38.269912 392.000000 38.300000 412.000000 44.791388 448.063267" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 67.999007 450.030609 C 74.730088 412.000000 74.700000 392.000000 68.208612 355.936733" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 67.999007 224.030609 C 74.730088 186.000000 74.700000 166.000000 68.208612 129.936733" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text-bold { .text-bold {
font-family: "font-bold"; font-family: "font-bold";
} }

Before

Width:  |  Height:  |  Size: 325 KiB

After

Width:  |  Height:  |  Size: 325 KiB

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="739" height="326" viewBox="-88 -88 739 326"><style type="text/css"> width="739" height="326" viewBox="-88 -88 739 326"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="12" y="12" width="113" height="126"/></g><text class="text-bold" x="68.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="225" y="12" width="113" height="126"/></g><text class="text-bold" x="281.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="438" y="12" width="113" height="126"/></g><text class="text-bold" x="494.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">c</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 54.000000 L 221.000000 54.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 340.000000 54.000000 L 434.000000 54.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 436.000000 96.000000 L 342.000000 96.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 223.000000 96.000000 L 129.000000 96.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </style><g class="shape" ><rect x="12" y="12" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="68.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="225" y="12" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="281.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><g class="shape" ><rect x="438" y="12" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="494.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">c</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 54.000000 L 221.000000 54.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 340.000000 54.000000 L 434.000000 54.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 436.000000 96.000000 L 342.000000 96.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 223.000000 96.000000 L 129.000000 96.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text-bold { .text-bold {
font-family: "font-bold"; font-family: "font-bold";
} }

Before

Width:  |  Height:  |  Size: 325 KiB

After

Width:  |  Height:  |  Size: 325 KiB

View file

@ -0,0 +1,75 @@
{
"name": "",
"shapes": [
{
"id": "manager",
"type": "class",
"pos": {
"x": 0,
"y": 0
},
"width": 339,
"height": 368,
"level": 1,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#FFFFFF",
"stroke": "#0A0F25",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"fields": [
{
"name": "num",
"type": "int",
"visibility": "private"
},
{
"name": "timeout",
"type": "int",
"visibility": "private"
},
{
"name": "pid",
"type": "",
"visibility": "private"
}
],
"methods": [
{
"name": "getStatus()",
"return": "Enum",
"visibility": "public"
},
{
"name": "getJobs()",
"return": "Job[]",
"visibility": "public"
},
{
"name": "setTimeout(seconds int)",
"return": "void",
"visibility": "public"
}
],
"columns": null,
"label": "BatchManager",
"fontSize": 20,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 150,
"labelHeight": 36
}
],
"connections": []
}

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 327 KiB

View file

@ -0,0 +1,75 @@
{
"name": "",
"shapes": [
{
"id": "manager",
"type": "class",
"pos": {
"x": 12,
"y": 12
},
"width": 339,
"height": 368,
"level": 1,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#FFFFFF",
"stroke": "#0A0F25",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"fields": [
{
"name": "num",
"type": "int",
"visibility": "private"
},
{
"name": "timeout",
"type": "int",
"visibility": "private"
},
{
"name": "pid",
"type": "",
"visibility": "private"
}
],
"methods": [
{
"name": "getStatus()",
"return": "Enum",
"visibility": "public"
},
{
"name": "getJobs()",
"return": "Job[]",
"visibility": "public"
},
{
"name": "setTimeout(seconds int)",
"return": "void",
"visibility": "public"
}
],
"columns": null,
"label": "BatchManager",
"fontSize": 20,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 150,
"labelHeight": 36
}
],
"connections": []
}

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 327 KiB

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="955" height="818" viewBox="-100 -100 955 818"><style type="text/css"> width="955" height="818" viewBox="-100 -100 955 818"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#FFFFFF;stroke:#0A0F25;opacity:1.000000;stroke-width:2;" ></g><g transform="translate(0.000000 226.000000)" style="opacity:1.000000"><rect class="shape" width="755" height="166" style="stroke: #0A0F25;fill:#ffffff" /><g transform="translate(6 6)"><text class="text-mono" x="0" y="1.000000em" xml:space="preserve"><tspan fill="#999988" font-style="italic">//&#160;RegisterHash&#160;registers&#160;a&#160;function&#160;that&#160;returns&#160;a&#160;new&#160;instance&#160;of&#160;the&#160;given </style><g class="shape" ></g><g transform="translate(0.000000 226.000000)" style="opacity:1.000000"><rect class="shape" width="755" height="166" style="stroke: #0A0F25;fill:#ffffff" /><g transform="translate(6 6)"><text class="text-mono" x="0" y="1.000000em" xml:space="preserve"><tspan fill="#999988" font-style="italic">//&#160;RegisterHash&#160;registers&#160;a&#160;function&#160;that&#160;returns&#160;a&#160;new&#160;instance&#160;of&#160;the&#160;given
</tspan></text><text class="text-mono" x="0" y="2.000000em" xml:space="preserve"><tspan fill="#999988" font-style="italic"></tspan><tspan fill="#999988" font-style="italic">//&#160;hash&#160;function.&#160;This&#160;is&#160;intended&#160;to&#160;be&#160;called&#160;from&#160;the&#160;init&#160;function&#160;in </tspan></text><text class="text-mono" x="0" y="2.000000em" xml:space="preserve"><tspan fill="#999988" font-style="italic"></tspan><tspan fill="#999988" font-style="italic">//&#160;hash&#160;function.&#160;This&#160;is&#160;intended&#160;to&#160;be&#160;called&#160;from&#160;the&#160;init&#160;function&#160;in
</tspan></text><text class="text-mono" x="0" y="3.000000em" xml:space="preserve"><tspan fill="#999988" font-style="italic"></tspan><tspan fill="#999988" font-style="italic">//&#160;packages&#160;that&#160;implement&#160;hash&#160;functions. </tspan></text><text class="text-mono" x="0" y="3.000000em" xml:space="preserve"><tspan fill="#999988" font-style="italic"></tspan><tspan fill="#999988" font-style="italic">//&#160;packages&#160;that&#160;implement&#160;hash&#160;functions.
</tspan></text><text class="text-mono" x="0" y="4.000000em" xml:space="preserve"><tspan fill="#999988" font-style="italic"></tspan><tspan fill="#000000" font-weight="bold">func</tspan>&#160;<tspan fill="#990000" font-weight="bold">RegisterHash</tspan>(h&#160;Hash,&#160;f&#160;<tspan fill="#000000" font-weight="bold">func</tspan>()&#160;hash.Hash)&#160;{ </tspan></text><text class="text-mono" x="0" y="4.000000em" xml:space="preserve"><tspan fill="#999988" font-style="italic"></tspan><tspan fill="#000000" font-weight="bold">func</tspan>&#160;<tspan fill="#990000" font-weight="bold">RegisterHash</tspan>(h&#160;Hash,&#160;f&#160;<tspan fill="#000000" font-weight="bold">func</tspan>()&#160;hash.Hash)&#160;{
@ -21,7 +22,7 @@ width="955" height="818" viewBox="-100 -100 955 818"><style type="text/css">
</text><text class="text-mono" x="0" y="6.000000em" xml:space="preserve">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<tspan fill="#0086b3">panic</tspan>(<tspan fill="#dd1144">&quot;crypto:&#160;RegisterHash&#160;of&#160;unknown&#160;hash&#160;function&quot;</tspan>) </text><text class="text-mono" x="0" y="6.000000em" xml:space="preserve">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<tspan fill="#0086b3">panic</tspan>(<tspan fill="#dd1144">&quot;crypto:&#160;RegisterHash&#160;of&#160;unknown&#160;hash&#160;function&quot;</tspan>)
</text><text class="text-mono" x="0" y="7.000000em" xml:space="preserve">&#160;&#160;&#160;&#160;} </text><text class="text-mono" x="0" y="7.000000em" xml:space="preserve">&#160;&#160;&#160;&#160;}
</text><text class="text-mono" x="0" y="8.000000em" xml:space="preserve">&#160;&#160;&#160;&#160;hashes[h]&#160;=&#160;f </text><text class="text-mono" x="0" y="8.000000em" xml:space="preserve">&#160;&#160;&#160;&#160;hashes[h]&#160;=&#160;f
</text><text class="text-mono" x="0" y="9.000000em" xml:space="preserve">}</text></g></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="321" y="0" width="113" height="126"/></g><text class="text-bold" x="377.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">x</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="321" y="492" width="114" height="126"/></g><text class="text-bold" x="378.000000" y="558.000000" style="text-anchor:middle;font-size:16px;fill:black">y</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 377.500000 128.000000 C 377.500000 166.000000 377.500000 186.000000 377.500000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 377.500000 394.000000 C 377.500000 432.000000 377.500000 452.000000 377.500000 488.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </text><text class="text-mono" x="0" y="9.000000em" xml:space="preserve">}</text></g></g><g class="shape" ><rect x="321" y="0" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="377.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">x</text><g class="shape" ><rect x="321" y="492" width="114" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="378.000000" y="558.000000" style="text-anchor:middle;font-size:16px;fill:black">y</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 377.500000 128.000000 C 377.500000 166.000000 377.500000 186.000000 377.500000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 377.500000 394.000000 C 377.500000 432.000000 377.500000 452.000000 377.500000 488.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text-bold { .text-bold {
font-family: "font-bold"; font-family: "font-bold";
} }

Before

Width:  |  Height:  |  Size: 507 KiB

After

Width:  |  Height:  |  Size: 507 KiB

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="1382" height="366" viewBox="-88 -88 1382 366"><style type="text/css"> width="1382" height="366" viewBox="-88 -88 1382 366"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#FFFFFF;stroke:#0A0F25;opacity:1.000000;stroke-width:2;" ></g><g transform="translate(225.000000 12.000000)" style="opacity:1.000000"><rect class="shape" width="755" height="166" style="stroke: #0A0F25;fill:#ffffff" /><g transform="translate(6 6)"><text class="text-mono" x="0" y="1.000000em" xml:space="preserve"><tspan fill="#999988" font-style="italic">//&#160;RegisterHash&#160;registers&#160;a&#160;function&#160;that&#160;returns&#160;a&#160;new&#160;instance&#160;of&#160;the&#160;given </style><g class="shape" ></g><g transform="translate(225.000000 12.000000)" style="opacity:1.000000"><rect class="shape" width="755" height="166" style="stroke: #0A0F25;fill:#ffffff" /><g transform="translate(6 6)"><text class="text-mono" x="0" y="1.000000em" xml:space="preserve"><tspan fill="#999988" font-style="italic">//&#160;RegisterHash&#160;registers&#160;a&#160;function&#160;that&#160;returns&#160;a&#160;new&#160;instance&#160;of&#160;the&#160;given
</tspan></text><text class="text-mono" x="0" y="2.000000em" xml:space="preserve"><tspan fill="#999988" font-style="italic"></tspan><tspan fill="#999988" font-style="italic">//&#160;hash&#160;function.&#160;This&#160;is&#160;intended&#160;to&#160;be&#160;called&#160;from&#160;the&#160;init&#160;function&#160;in </tspan></text><text class="text-mono" x="0" y="2.000000em" xml:space="preserve"><tspan fill="#999988" font-style="italic"></tspan><tspan fill="#999988" font-style="italic">//&#160;hash&#160;function.&#160;This&#160;is&#160;intended&#160;to&#160;be&#160;called&#160;from&#160;the&#160;init&#160;function&#160;in
</tspan></text><text class="text-mono" x="0" y="3.000000em" xml:space="preserve"><tspan fill="#999988" font-style="italic"></tspan><tspan fill="#999988" font-style="italic">//&#160;packages&#160;that&#160;implement&#160;hash&#160;functions. </tspan></text><text class="text-mono" x="0" y="3.000000em" xml:space="preserve"><tspan fill="#999988" font-style="italic"></tspan><tspan fill="#999988" font-style="italic">//&#160;packages&#160;that&#160;implement&#160;hash&#160;functions.
</tspan></text><text class="text-mono" x="0" y="4.000000em" xml:space="preserve"><tspan fill="#999988" font-style="italic"></tspan><tspan fill="#000000" font-weight="bold">func</tspan>&#160;<tspan fill="#990000" font-weight="bold">RegisterHash</tspan>(h&#160;Hash,&#160;f&#160;<tspan fill="#000000" font-weight="bold">func</tspan>()&#160;hash.Hash)&#160;{ </tspan></text><text class="text-mono" x="0" y="4.000000em" xml:space="preserve"><tspan fill="#999988" font-style="italic"></tspan><tspan fill="#000000" font-weight="bold">func</tspan>&#160;<tspan fill="#990000" font-weight="bold">RegisterHash</tspan>(h&#160;Hash,&#160;f&#160;<tspan fill="#000000" font-weight="bold">func</tspan>()&#160;hash.Hash)&#160;{
@ -21,7 +22,7 @@ width="1382" height="366" viewBox="-88 -88 1382 366"><style type="text/css">
</text><text class="text-mono" x="0" y="6.000000em" xml:space="preserve">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<tspan fill="#0086b3">panic</tspan>(<tspan fill="#dd1144">&quot;crypto:&#160;RegisterHash&#160;of&#160;unknown&#160;hash&#160;function&quot;</tspan>) </text><text class="text-mono" x="0" y="6.000000em" xml:space="preserve">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<tspan fill="#0086b3">panic</tspan>(<tspan fill="#dd1144">&quot;crypto:&#160;RegisterHash&#160;of&#160;unknown&#160;hash&#160;function&quot;</tspan>)
</text><text class="text-mono" x="0" y="7.000000em" xml:space="preserve">&#160;&#160;&#160;&#160;} </text><text class="text-mono" x="0" y="7.000000em" xml:space="preserve">&#160;&#160;&#160;&#160;}
</text><text class="text-mono" x="0" y="8.000000em" xml:space="preserve">&#160;&#160;&#160;&#160;hashes[h]&#160;=&#160;f </text><text class="text-mono" x="0" y="8.000000em" xml:space="preserve">&#160;&#160;&#160;&#160;hashes[h]&#160;=&#160;f
</text><text class="text-mono" x="0" y="9.000000em" xml:space="preserve">}</text></g></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="12" y="32" width="113" height="126"/></g><text class="text-bold" x="68.500000" y="98.000000" style="text-anchor:middle;font-size:16px;fill:black">x</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="1080" y="32" width="114" height="126"/></g><text class="text-bold" x="1137.000000" y="98.000000" style="text-anchor:middle;font-size:16px;fill:black">y</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 95.000000 L 221.000000 95.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 982.000000 95.000000 L 1076.000000 95.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </text><text class="text-mono" x="0" y="9.000000em" xml:space="preserve">}</text></g></g><g class="shape" ><rect x="12" y="32" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="68.500000" y="98.000000" style="text-anchor:middle;font-size:16px;fill:black">x</text><g class="shape" ><rect x="1080" y="32" width="114" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="1137.000000" y="98.000000" style="text-anchor:middle;font-size:16px;fill:black">y</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 95.000000 L 221.000000 95.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 982.000000 95.000000 L 1076.000000 95.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text-bold { .text-bold {
font-family: "font-bold"; font-family: "font-bold";
} }

Before

Width:  |  Height:  |  Size: 507 KiB

After

Width:  |  Height:  |  Size: 507 KiB

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="494" height="1178" viewBox="-100 -100 494 1178"><style type="text/css"> width="494" height="1178" viewBox="-100 -100 494 1178"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="41" y="0" width="213" height="226"/></g><text class="text-bold" x="147.500000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:black">a</text><g class="shape" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="40" y="326" width="214" height="226"/></g><text class="text-bold" x="147.000000" y="359.000000" style="text-anchor:middle;font-size:28px;fill:black">c</text><g class="shape" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="0" y="652" width="294" height="326"/></g><text class="text-bold" x="147.000000" y="685.000000" style="text-anchor:middle;font-size:28px;fill:black">f</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="91" y="50" width="113" height="126"/></g><text class="text-bold" x="147.500000" y="116.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="90" y="376" width="114" height="126"/></g><text class="text-bold" x="147.000000" y="442.000000" style="text-anchor:middle;font-size:16px;fill:black">d</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="40" y="702" width="214" height="226"/></g><text class="text-bold" x="147.000000" y="731.000000" style="text-anchor:middle;font-size:24px;fill:black">h</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="90" y="752" width="114" height="126"/></g><text class="text-bold" x="147.000000" y="818.000000" style="text-anchor:middle;font-size:16px;fill:black">g</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 147.000000 178.000000 C 147.000000 216.000000 147.000000 236.000000 147.000000 251.000000 C 147.000000 266.000000 147.000000 336.000000 147.000000 372.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 147.000000 504.000000 C 147.000000 542.000000 147.000000 562.000000 147.000000 577.000000 C 147.000000 592.000000 147.000000 612.000000 147.000000 627.000000 C 147.000000 642.000000 147.000000 712.000000 147.000000 748.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </style><g class="shape" ><rect x="41" y="0" width="213" height="226" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="147.500000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:black">a</text><g class="shape" ><rect x="40" y="326" width="214" height="226" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="147.000000" y="359.000000" style="text-anchor:middle;font-size:28px;fill:black">c</text><g class="shape" ><rect x="0" y="652" width="294" height="326" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="147.000000" y="685.000000" style="text-anchor:middle;font-size:28px;fill:black">f</text><g class="shape" ><rect x="91" y="50" width="113" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="147.500000" y="116.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><g class="shape" ><rect x="90" y="376" width="114" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="147.000000" y="442.000000" style="text-anchor:middle;font-size:16px;fill:black">d</text><g class="shape" ><rect x="40" y="702" width="214" height="226" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="147.000000" y="731.000000" style="text-anchor:middle;font-size:24px;fill:black">h</text><g class="shape" ><rect x="90" y="752" width="114" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="147.000000" y="818.000000" style="text-anchor:middle;font-size:16px;fill:black">g</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 147.000000 178.000000 C 147.000000 216.000000 147.000000 236.000000 147.000000 251.000000 C 147.000000 266.000000 147.000000 336.000000 147.000000 372.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 147.000000 504.000000 C 147.000000 542.000000 147.000000 562.000000 147.000000 577.000000 C 147.000000 592.000000 147.000000 612.000000 147.000000 627.000000 C 147.000000 642.000000 147.000000 712.000000 147.000000 748.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text-bold { .text-bold {
font-family: "font-bold"; font-family: "font-bold";
} }

Before

Width:  |  Height:  |  Size: 326 KiB

After

Width:  |  Height:  |  Size: 326 KiB

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="1366" height="626" viewBox="-88 -88 1366 626"><style type="text/css"> width="1366" height="626" viewBox="-88 -88 1366 626"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="12" y="87" width="263" height="276"/></g><text class="text-bold" x="143.500000" y="120.000000" style="text-anchor:middle;font-size:28px;fill:black">a</text><g class="shape" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="385" y="87" width="264" height="276"/></g><text class="text-bold" x="517.000000" y="120.000000" style="text-anchor:middle;font-size:28px;fill:black">c</text><g class="shape" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="759" y="12" width="419" height="426"/></g><text class="text-bold" x="968.500000" y="45.000000" style="text-anchor:middle;font-size:28px;fill:black">f</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="87" y="162" width="113" height="126"/></g><text class="text-bold" x="143.500000" y="228.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="460" y="162" width="114" height="126"/></g><text class="text-bold" x="517.000000" y="228.000000" style="text-anchor:middle;font-size:16px;fill:black">d</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="839" y="87" width="264" height="276"/></g><text class="text-bold" x="971.000000" y="116.000000" style="text-anchor:middle;font-size:24px;fill:black">h</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="914" y="162" width="114" height="126"/></g><text class="text-bold" x="971.000000" y="228.000000" style="text-anchor:middle;font-size:16px;fill:black">g</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 202.000000 225.000000 L 456.000000 225.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 576.000000 225.000000 L 910.000000 225.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </style><g class="shape" ><rect x="12" y="87" width="263" height="276" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="143.500000" y="120.000000" style="text-anchor:middle;font-size:28px;fill:black">a</text><g class="shape" ><rect x="385" y="87" width="264" height="276" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="517.000000" y="120.000000" style="text-anchor:middle;font-size:28px;fill:black">c</text><g class="shape" ><rect x="759" y="12" width="419" height="426" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="968.500000" y="45.000000" style="text-anchor:middle;font-size:28px;fill:black">f</text><g class="shape" ><rect x="87" y="162" width="113" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="143.500000" y="228.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><g class="shape" ><rect x="460" y="162" width="114" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="517.000000" y="228.000000" style="text-anchor:middle;font-size:16px;fill:black">d</text><g class="shape" ><rect x="839" y="87" width="264" height="276" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="971.000000" y="116.000000" style="text-anchor:middle;font-size:24px;fill:black">h</text><g class="shape" ><rect x="914" y="162" width="114" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="971.000000" y="228.000000" style="text-anchor:middle;font-size:16px;fill:black">g</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 202.000000 225.000000 L 456.000000 225.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 576.000000 225.000000 L 910.000000 225.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text-bold { .text-bold {
font-family: "font-bold"; font-family: "font-bold";
} }

Before

Width:  |  Height:  |  Size: 326 KiB

After

Width:  |  Height:  |  Size: 326 KiB

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="786" height="1530" viewBox="-100 -100 786 1530"><style type="text/css"> width="786" height="1530" viewBox="-100 -100 786 1530"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="416" y="0" width="113" height="126"/></g><text class="text-bold" x="472.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="333" y="226" width="253" height="878"/></g><text class="text-bold" x="459.500000" y="259.000000" style="text-anchor:middle;font-size:28px;fill:black">g</text><g class="shape" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="0" y="502" width="293" height="326"/></g><text class="text-bold" x="146.500000" y="535.000000" style="text-anchor:middle;font-size:28px;fill:black">d</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="404" y="1204" width="111" height="126"/></g><text class="text-bold" x="459.500000" y="1270.000000" style="text-anchor:middle;font-size:16px;fill:black">f</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="416" y="276" width="113" height="126"/></g><text class="text-bold" x="472.500000" y="342.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="40" y="552" width="213" height="226"/></g><text class="text-bold" x="146.500000" y="581.000000" style="text-anchor:middle;font-size:24px;fill:black">h</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="383" y="928" width="113" height="126"/></g><text class="text-bold" x="439.500000" y="994.000000" style="text-anchor:middle;font-size:16px;fill:black">e</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="90" y="602" width="113" height="126"/></g><text class="text-bold" x="146.500000" y="668.000000" style="text-anchor:middle;font-size:16px;fill:black">c</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 472.750000 128.000000 C 472.750000 166.000000 472.750000 236.000000 472.750000 272.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 434.660405 403.723672 C 412.134956 442.000000 406.250000 462.000000 406.250000 477.000000 C 406.250000 492.000000 365.650000 569.600000 206.920003 638.409063" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 148.471500 828.336433 C 380.900000 868.000000 439.500000 888.000000 439.500000 924.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 439.500000 1056.000000 C 439.500000 1094.000000 441.300000 1164.000000 447.791388 1200.063267" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 508.941346 1202.411883 C 538.345133 1164.000000 546.000000 1144.000000 546.000000 1108.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 330.619728 598.681599 C 268.500000 621.200000 316.500000 603.800000 256.260544 625.636803" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </style><g class="shape" ><rect x="416" y="0" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="472.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="333" y="226" width="253" height="878" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="459.500000" y="259.000000" style="text-anchor:middle;font-size:28px;fill:black">g</text><g class="shape" ><rect x="0" y="502" width="293" height="326" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="146.500000" y="535.000000" style="text-anchor:middle;font-size:28px;fill:black">d</text><g class="shape" ><rect x="404" y="1204" width="111" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="459.500000" y="1270.000000" style="text-anchor:middle;font-size:16px;fill:black">f</text><g class="shape" ><rect x="416" y="276" width="113" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="472.500000" y="342.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><g class="shape" ><rect x="40" y="552" width="213" height="226" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="146.500000" y="581.000000" style="text-anchor:middle;font-size:24px;fill:black">h</text><g class="shape" ><rect x="383" y="928" width="113" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="439.500000" y="994.000000" style="text-anchor:middle;font-size:16px;fill:black">e</text><g class="shape" ><rect x="90" y="602" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="146.500000" y="668.000000" style="text-anchor:middle;font-size:16px;fill:black">c</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 472.750000 128.000000 C 472.750000 166.000000 472.750000 236.000000 472.750000 272.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 434.660405 403.723672 C 412.134956 442.000000 406.250000 462.000000 406.250000 477.000000 C 406.250000 492.000000 365.650000 569.600000 206.920003 638.409063" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 148.471500 828.336433 C 380.900000 868.000000 439.500000 888.000000 439.500000 924.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 439.500000 1056.000000 C 439.500000 1094.000000 441.300000 1164.000000 447.791388 1200.063267" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 508.941346 1202.411883 C 538.345133 1164.000000 546.000000 1144.000000 546.000000 1108.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 330.619728 598.681599 C 268.500000 621.200000 316.500000 603.800000 256.260544 625.636803" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text-bold { .text-bold {
font-family: "font-bold"; font-family: "font-bold";
} }

Before

Width:  |  Height:  |  Size: 327 KiB

After

Width:  |  Height:  |  Size: 327 KiB

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="1269" height="782" viewBox="-88 -88 1269 782"><style type="text/css"> width="1269" height="782" viewBox="-88 -88 1269 782"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="12" y="162" width="113" height="126"/></g><text class="text-bold" x="68.500000" y="228.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="240" y="87" width="263" height="422"/></g><text class="text-bold" x="371.500000" y="120.000000" style="text-anchor:middle;font-size:28px;fill:black">g</text><g class="shape" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="613" y="12" width="418" height="426"/></g><text class="text-bold" x="822.000000" y="45.000000" style="text-anchor:middle;font-size:28px;fill:black">d</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="613" y="458" width="111" height="126"/></g><text class="text-bold" x="668.500000" y="524.000000" style="text-anchor:middle;font-size:16px;fill:black">f</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="315" y="162" width="113" height="126"/></g><text class="text-bold" x="371.500000" y="228.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="693" y="87" width="263" height="276"/></g><text class="text-bold" x="824.500000" y="116.000000" style="text-anchor:middle;font-size:24px;fill:black">h</text><g class="shape" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="315" y="308" width="113" height="126"/></g><text class="text-bold" x="371.500000" y="374.000000" style="text-anchor:middle;font-size:16px;fill:black">e</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="768" y="162" width="113" height="126"/></g><text class="text-bold" x="824.500000" y="228.000000" style="text-anchor:middle;font-size:16px;fill:black">c</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 225.000000 L 311.000000 225.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 430.000000 225.000000 L 764.000000 225.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 1033.000000 87.000000 L 1071.000000 87.000000 S 1081.000000 87.000000 1081.000000 97.000000 L 1081.000000 584.000000 S 1081.000000 594.000000 1071.000000 594.000000 L 185.000000 594.000000 S 175.000000 594.000000 175.000000 584.000000 L 175.000000 381.000000 S 175.000000 371.000000 185.000000 371.000000 L 311.000000 371.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 430.000000 371.000000 L 548.000000 371.000000 S 558.000000 371.000000 558.000000 381.000000 L 558.000000 490.000000 S 558.000000 500.000000 568.000000 500.000000 L 609.000000 500.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 611.000000 542.000000 L 195.000000 542.000000 S 185.000000 542.000000 185.000000 532.000000 L 185.000000 391.000000 S 185.000000 381.000000 195.000000 381.000000 L 236.000000 381.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 505.000000 235.000000 L 689.000000 235.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </style><g class="shape" ><rect x="12" y="162" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="68.500000" y="228.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="240" y="87" width="263" height="422" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="371.500000" y="120.000000" style="text-anchor:middle;font-size:28px;fill:black">g</text><g class="shape" ><rect x="613" y="12" width="418" height="426" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="822.000000" y="45.000000" style="text-anchor:middle;font-size:28px;fill:black">d</text><g class="shape" ><rect x="613" y="458" width="111" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="668.500000" y="524.000000" style="text-anchor:middle;font-size:16px;fill:black">f</text><g class="shape" ><rect x="315" y="162" width="113" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="371.500000" y="228.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><g class="shape" ><rect x="693" y="87" width="263" height="276" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="824.500000" y="116.000000" style="text-anchor:middle;font-size:24px;fill:black">h</text><g class="shape" ><rect x="315" y="308" width="113" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="371.500000" y="374.000000" style="text-anchor:middle;font-size:16px;fill:black">e</text><g class="shape" ><rect x="768" y="162" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="824.500000" y="228.000000" style="text-anchor:middle;font-size:16px;fill:black">c</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 225.000000 L 311.000000 225.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 430.000000 225.000000 L 764.000000 225.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 1033.000000 87.000000 L 1071.000000 87.000000 S 1081.000000 87.000000 1081.000000 97.000000 L 1081.000000 584.000000 S 1081.000000 594.000000 1071.000000 594.000000 L 185.000000 594.000000 S 175.000000 594.000000 175.000000 584.000000 L 175.000000 381.000000 S 175.000000 371.000000 185.000000 371.000000 L 311.000000 371.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 430.000000 371.000000 L 548.000000 371.000000 S 558.000000 371.000000 558.000000 381.000000 L 558.000000 490.000000 S 558.000000 500.000000 568.000000 500.000000 L 609.000000 500.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 611.000000 542.000000 L 195.000000 542.000000 S 185.000000 542.000000 185.000000 532.000000 L 185.000000 391.000000 S 185.000000 381.000000 195.000000 381.000000 L 236.000000 381.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 505.000000 235.000000 L 689.000000 235.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text-bold { .text-bold {
font-family: "font-bold"; font-family: "font-bold";
} }

Before

Width:  |  Height:  |  Size: 327 KiB

After

Width:  |  Height:  |  Size: 327 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 334 KiB

After

Width:  |  Height:  |  Size: 334 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 334 KiB

After

Width:  |  Height:  |  Size: 334 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 333 KiB

After

Width:  |  Height:  |  Size: 333 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 333 KiB

After

Width:  |  Height:  |  Size: 333 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="3251" height="5500" viewBox="-100 -100 3251 5500"><style type="text/css"> width="3251" height="5500" viewBox="-100 -100 3251 5500"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,7 +790,7 @@ width="3251" height="5500" viewBox="-100 -100 3251 5500"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="226.000000" width="3051" height="4848"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><h1>Markdown: Syntax</h1> </style><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="226.000000" width="3051" height="4848"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><h1>Markdown: Syntax</h1>
<ul> <ul>
<li><a href="#overview">Overview</a> <li><a href="#overview">Overview</a>
<ul> <ul>
@ -1046,7 +1047,7 @@ title for the link, surrounded in quotes. For example:</p>
<h3>Code</h3> <h3>Code</h3>
<p>Unlike a pre-formatted code block, a code span indicates code within a <p>Unlike a pre-formatted code block, a code span indicates code within a
normal paragraph. For example:</p> normal paragraph. For example:</p>
</div></foreignObject></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="1469" y="0" width="113" height="126"/></g><text class="text-bold" x="1525.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="1469" y="5174" width="113" height="126"/></g><text class="text-bold" x="1525.500000" y="5240.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 1525.500000 128.000000 C 1525.500000 166.000000 1525.500000 186.000000 1525.500000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 1525.500000 5076.000000 C 1525.500000 5114.000000 1525.500000 5134.000000 1525.500000 5170.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </div></foreignObject></g><g class="shape" ><rect x="1469" y="0" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="1525.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="1469" y="5174" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="1525.500000" y="5240.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 1525.500000 128.000000 C 1525.500000 166.000000 1525.500000 186.000000 1525.500000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 1525.500000 5076.000000 C 1525.500000 5114.000000 1525.500000 5134.000000 1525.500000 5170.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";
} }

Before

Width:  |  Height:  |  Size: 994 KiB

After

Width:  |  Height:  |  Size: 994 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="3677" height="5048" viewBox="-88 -88 3677 5048"><style type="text/css"> width="3677" height="5048" viewBox="-88 -88 3677 5048"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,7 +790,7 @@ width="3677" height="5048" viewBox="-88 -88 3677 5048"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="225.000000" y="12.000000" width="3051" height="4848"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><h1>Markdown: Syntax</h1> </style><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="225.000000" y="12.000000" width="3051" height="4848"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><h1>Markdown: Syntax</h1>
<ul> <ul>
<li><a href="#overview">Overview</a> <li><a href="#overview">Overview</a>
<ul> <ul>
@ -1046,7 +1047,7 @@ title for the link, surrounded in quotes. For example:</p>
<h3>Code</h3> <h3>Code</h3>
<p>Unlike a pre-formatted code block, a code span indicates code within a <p>Unlike a pre-formatted code block, a code span indicates code within a
normal paragraph. For example:</p> normal paragraph. For example:</p>
</div></foreignObject></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="12" y="2373" width="113" height="126"/></g><text class="text-bold" x="68.500000" y="2439.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="3376" y="2373" width="113" height="126"/></g><text class="text-bold" x="3432.500000" y="2439.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 2436.000000 L 221.000000 2436.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 3278.000000 2436.000000 L 3372.000000 2436.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </div></foreignObject></g><g class="shape" ><rect x="12" y="2373" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="68.500000" y="2439.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="3376" y="2373" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="3432.500000" y="2439.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 2436.000000 L 221.000000 2436.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 3278.000000 2436.000000 L 3372.000000 2436.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";
} }

Before

Width:  |  Height:  |  Size: 994 KiB

After

Width:  |  Height:  |  Size: 993 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="938" height="786" viewBox="-100 -100 938 786"><style type="text/css"> width="938" height="786" viewBox="-100 -100 938 786"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,11 +790,11 @@ width="938" height="786" viewBox="-100 -100 938 786"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="226.000000" width="738" height="134"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p><strong>Note:</strong> This document is itself written using Markdown; you </style><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="226.000000" width="738" height="134"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p><strong>Note:</strong> This document is itself written using Markdown; you
can <a href="/projects/markdown/syntax.text">see the source for it by adding '.text' to the URL</a>.</p> can <a href="/projects/markdown/syntax.text">see the source for it by adding '.text' to the URL</a>.</p>
<hr /> <hr />
<h2>Overview</h2> <h2>Overview</h2>
</div></foreignObject></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="313" y="0" width="113" height="126"/></g><text class="text-bold" x="369.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="313" y="460" width="113" height="126"/></g><text class="text-bold" x="369.500000" y="526.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 369.000000 128.000000 C 369.000000 166.000000 369.000000 186.000000 369.000000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 369.000000 362.000000 C 369.000000 400.000000 369.000000 420.000000 369.000000 456.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </div></foreignObject></g><g class="shape" ><rect x="313" y="0" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="369.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="313" y="460" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="369.500000" y="526.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 369.000000 128.000000 C 369.000000 166.000000 369.000000 186.000000 369.000000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 369.000000 362.000000 C 369.000000 400.000000 369.000000 420.000000 369.000000 456.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";
} }

Before

Width:  |  Height:  |  Size: 660 KiB

After

Width:  |  Height:  |  Size: 660 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="1364" height="334" viewBox="-88 -88 1364 334"><style type="text/css"> width="1364" height="334" viewBox="-88 -88 1364 334"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,11 +790,11 @@ width="1364" height="334" viewBox="-88 -88 1364 334"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="225.000000" y="12.000000" width="738" height="134"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p><strong>Note:</strong> This document is itself written using Markdown; you </style><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="225.000000" y="12.000000" width="738" height="134"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p><strong>Note:</strong> This document is itself written using Markdown; you
can <a href="/projects/markdown/syntax.text">see the source for it by adding '.text' to the URL</a>.</p> can <a href="/projects/markdown/syntax.text">see the source for it by adding '.text' to the URL</a>.</p>
<hr /> <hr />
<h2>Overview</h2> <h2>Overview</h2>
</div></foreignObject></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="12" y="16" width="113" height="126"/></g><text class="text-bold" x="68.500000" y="82.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="1063" y="16" width="113" height="126"/></g><text class="text-bold" x="1119.500000" y="82.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 79.000000 L 221.000000 79.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 965.000000 79.000000 L 1059.000000 79.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </div></foreignObject></g><g class="shape" ><rect x="12" y="16" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="68.500000" y="82.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="1063" y="16" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="1119.500000" y="82.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 79.000000 L 221.000000 79.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 965.000000 79.000000 L 1059.000000 79.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";
} }

Before

Width:  |  Height:  |  Size: 660 KiB

After

Width:  |  Height:  |  Size: 660 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 488 KiB

After

Width:  |  Height:  |  Size: 489 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 485 KiB

After

Width:  |  Height:  |  Size: 485 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 338 KiB

After

Width:  |  Height:  |  Size: 338 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 337 KiB

After

Width:  |  Height:  |  Size: 337 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="579" height="752" viewBox="-100 -100 579 752"><style type="text/css"> width="579" height="752" viewBox="-100 -100 579 752"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,7 +790,7 @@ width="579" height="752" viewBox="-100 -100 579 752"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="226.000000" width="379" height="100"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><ul> </style><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="226.000000" width="379" height="100"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><ul>
<li><a href="#overview">Overview</a> <li><a href="#overview">Overview</a>
<ul> <ul>
<li><a href="#philosophy">Philosophy</a></li> <li><a href="#philosophy">Philosophy</a></li>
@ -801,7 +802,7 @@ width="579" height="752" viewBox="-100 -100 579 752"><style type="text/css">
</ul> </ul>
</li> </li>
</ul> </ul>
</div></foreignObject></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="133" y="0" width="113" height="126"/></g><text class="text-bold" x="189.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="133" y="426" width="113" height="126"/></g><text class="text-bold" x="189.500000" y="492.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 189.500000 128.000000 C 189.500000 166.000000 189.500000 186.000000 189.500000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 189.500000 328.000000 C 189.500000 366.000000 189.500000 386.000000 189.500000 422.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </div></foreignObject></g><g class="shape" ><rect x="133" y="0" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="189.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="133" y="426" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="189.500000" y="492.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 189.500000 128.000000 C 189.500000 166.000000 189.500000 186.000000 189.500000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 189.500000 328.000000 C 189.500000 366.000000 189.500000 386.000000 189.500000 422.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";
} }

Before

Width:  |  Height:  |  Size: 660 KiB

After

Width:  |  Height:  |  Size: 660 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="1005" height="326" viewBox="-88 -88 1005 326"><style type="text/css"> width="1005" height="326" viewBox="-88 -88 1005 326"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,7 +790,7 @@ width="1005" height="326" viewBox="-88 -88 1005 326"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="225.000000" y="25.000000" width="379" height="100"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><ul> </style><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="225.000000" y="25.000000" width="379" height="100"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><ul>
<li><a href="#overview">Overview</a> <li><a href="#overview">Overview</a>
<ul> <ul>
<li><a href="#philosophy">Philosophy</a></li> <li><a href="#philosophy">Philosophy</a></li>
@ -801,7 +802,7 @@ width="1005" height="326" viewBox="-88 -88 1005 326"><style type="text/css">
</ul> </ul>
</li> </li>
</ul> </ul>
</div></foreignObject></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="12" y="12" width="113" height="126"/></g><text class="text-bold" x="68.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="704" y="12" width="113" height="126"/></g><text class="text-bold" x="760.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 75.000000 L 221.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 606.000000 75.000000 L 700.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </div></foreignObject></g><g class="shape" ><rect x="12" y="12" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="68.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="704" y="12" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="760.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 75.000000 L 221.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 606.000000 75.000000 L 700.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";
} }

Before

Width:  |  Height:  |  Size: 660 KiB

After

Width:  |  Height:  |  Size: 660 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="445" height="728" viewBox="-100 -100 445 728"><style type="text/css"> width="445" height="728" viewBox="-100 -100 445 728"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,7 +790,7 @@ width="445" height="728" viewBox="-100 -100 445 728"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="226.000000" width="245" height="76"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><ul> </style><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="226.000000" width="245" height="76"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><ul>
<li><a href="#overview">Overview</a> ok <em>this is all measured</em> <li><a href="#overview">Overview</a> ok <em>this is all measured</em>
<ul> <ul>
<li><a href="#philosophy">Philosophy</a></li> <li><a href="#philosophy">Philosophy</a></li>
@ -797,7 +798,7 @@ width="445" height="728" viewBox="-100 -100 445 728"><style type="text/css">
</ul> </ul>
</li> </li>
</ul> </ul>
</div></foreignObject></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="66" y="0" width="113" height="126"/></g><text class="text-bold" x="122.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="66" y="402" width="113" height="126"/></g><text class="text-bold" x="122.500000" y="468.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 122.500000 128.000000 C 122.500000 166.000000 122.500000 186.000000 122.500000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 122.500000 304.000000 C 122.500000 342.000000 122.500000 362.000000 122.500000 398.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </div></foreignObject></g><g class="shape" ><rect x="66" y="0" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="122.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="66" y="402" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="122.500000" y="468.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 122.500000 128.000000 C 122.500000 166.000000 122.500000 186.000000 122.500000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 122.500000 304.000000 C 122.500000 342.000000 122.500000 362.000000 122.500000 398.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";
} }

Before

Width:  |  Height:  |  Size: 803 KiB

After

Width:  |  Height:  |  Size: 803 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="871" height="326" viewBox="-88 -88 871 326"><style type="text/css"> width="871" height="326" viewBox="-88 -88 871 326"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,7 +790,7 @@ width="871" height="326" viewBox="-88 -88 871 326"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="225.000000" y="37.000000" width="245" height="76"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><ul> </style><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="225.000000" y="37.000000" width="245" height="76"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><ul>
<li><a href="#overview">Overview</a> ok <em>this is all measured</em> <li><a href="#overview">Overview</a> ok <em>this is all measured</em>
<ul> <ul>
<li><a href="#philosophy">Philosophy</a></li> <li><a href="#philosophy">Philosophy</a></li>
@ -797,7 +798,7 @@ width="871" height="326" viewBox="-88 -88 871 326"><style type="text/css">
</ul> </ul>
</li> </li>
</ul> </ul>
</div></foreignObject></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="12" y="12" width="113" height="126"/></g><text class="text-bold" x="68.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="570" y="12" width="113" height="126"/></g><text class="text-bold" x="626.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 75.000000 L 221.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 472.000000 75.000000 L 566.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </div></foreignObject></g><g class="shape" ><rect x="12" y="12" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="68.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="570" y="12" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="626.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 75.000000 L 221.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 472.000000 75.000000 L 566.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";
} }

Before

Width:  |  Height:  |  Size: 803 KiB

After

Width:  |  Height:  |  Size: 803 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="547" height="1164" viewBox="-100 -100 547 1164"><style type="text/css"> width="547" height="1164" viewBox="-100 -100 547 1164"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,7 +790,7 @@ width="547" height="1164" viewBox="-100 -100 547 1164"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="226.000000" width="347" height="512"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><ul> </style><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="226.000000" width="347" height="512"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><ul>
<li><a href="#overview">Overview</a> <li><a href="#overview">Overview</a>
<ul> <ul>
<li><a href="#philosophy">Philosophy</a></li> <li><a href="#philosophy">Philosophy</a></li>
@ -822,7 +823,7 @@ width="547" height="1164" viewBox="-100 -100 547 1164"><style type="text/css">
</ul> </ul>
</li> </li>
</ul> </ul>
</div></foreignObject></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="117" y="0" width="113" height="126"/></g><text class="text-bold" x="173.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="117" y="838" width="113" height="126"/></g><text class="text-bold" x="173.500000" y="904.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 173.500000 128.000000 C 173.500000 166.000000 173.500000 186.000000 173.500000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 173.500000 740.000000 C 173.500000 778.000000 173.500000 798.000000 173.500000 834.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </div></foreignObject></g><g class="shape" ><rect x="117" y="0" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="173.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="117" y="838" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="173.500000" y="904.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 173.500000 128.000000 C 173.500000 166.000000 173.500000 186.000000 173.500000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 173.500000 740.000000 C 173.500000 778.000000 173.500000 798.000000 173.500000 834.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";
} }

Before

Width:  |  Height:  |  Size: 661 KiB

After

Width:  |  Height:  |  Size: 661 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="973" height="712" viewBox="-88 -88 973 712"><style type="text/css"> width="973" height="712" viewBox="-88 -88 973 712"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,7 +790,7 @@ width="973" height="712" viewBox="-88 -88 973 712"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="225.000000" y="12.000000" width="347" height="512"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><ul> </style><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="225.000000" y="12.000000" width="347" height="512"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><ul>
<li><a href="#overview">Overview</a> <li><a href="#overview">Overview</a>
<ul> <ul>
<li><a href="#philosophy">Philosophy</a></li> <li><a href="#philosophy">Philosophy</a></li>
@ -822,7 +823,7 @@ width="973" height="712" viewBox="-88 -88 973 712"><style type="text/css">
</ul> </ul>
</li> </li>
</ul> </ul>
</div></foreignObject></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="12" y="205" width="113" height="126"/></g><text class="text-bold" x="68.500000" y="271.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="672" y="205" width="113" height="126"/></g><text class="text-bold" x="728.500000" y="271.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 268.000000 L 221.000000 268.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 574.000000 268.000000 L 668.000000 268.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </div></foreignObject></g><g class="shape" ><rect x="12" y="205" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="68.500000" y="271.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="672" y="205" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="728.500000" y="271.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 268.000000 L 221.000000 268.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 574.000000 268.000000 L 668.000000 268.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";
} }

Before

Width:  |  Height:  |  Size: 661 KiB

After

Width:  |  Height:  |  Size: 661 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="1120" height="1028" viewBox="-100 -100 1120 1028"><style type="text/css"> width="1120" height="1028" viewBox="-100 -100 1120 1028"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,7 +790,7 @@ width="1120" height="1028" viewBox="-100 -100 1120 1028"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="226.000000" width="920" height="376"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>List items may consist of multiple paragraphs. Each subsequent </style><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="226.000000" width="920" height="376"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>List items may consist of multiple paragraphs. Each subsequent
paragraph in a list item must be indented by either 4 spaces paragraph in a list item must be indented by either 4 spaces
or one tab:</p> or one tab:</p>
<ol> <ol>
@ -820,7 +821,7 @@ sit amet, consectetuer adipiscing elit.</p>
<p>Another item in the same list.</p> <p>Another item in the same list.</p>
</li> </li>
</ul> </ul>
</div></foreignObject></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="404" y="0" width="113" height="126"/></g><text class="text-bold" x="460.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="404" y="702" width="113" height="126"/></g><text class="text-bold" x="460.500000" y="768.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 460.000000 128.000000 C 460.000000 166.000000 460.000000 186.000000 460.000000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 460.000000 604.000000 C 460.000000 642.000000 460.000000 662.000000 460.000000 698.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </div></foreignObject></g><g class="shape" ><rect x="404" y="0" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="460.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="404" y="702" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="460.500000" y="768.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 460.000000 128.000000 C 460.000000 166.000000 460.000000 186.000000 460.000000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 460.000000 604.000000 C 460.000000 642.000000 460.000000 662.000000 460.000000 698.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";
} }

Before

Width:  |  Height:  |  Size: 842 KiB

After

Width:  |  Height:  |  Size: 842 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="1546" height="576" viewBox="-88 -88 1546 576"><style type="text/css"> width="1546" height="576" viewBox="-88 -88 1546 576"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,7 +790,7 @@ width="1546" height="576" viewBox="-88 -88 1546 576"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="225.000000" y="12.000000" width="920" height="376"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>List items may consist of multiple paragraphs. Each subsequent </style><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="225.000000" y="12.000000" width="920" height="376"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>List items may consist of multiple paragraphs. Each subsequent
paragraph in a list item must be indented by either 4 spaces paragraph in a list item must be indented by either 4 spaces
or one tab:</p> or one tab:</p>
<ol> <ol>
@ -820,7 +821,7 @@ sit amet, consectetuer adipiscing elit.</p>
<p>Another item in the same list.</p> <p>Another item in the same list.</p>
</li> </li>
</ul> </ul>
</div></foreignObject></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="12" y="137" width="113" height="126"/></g><text class="text-bold" x="68.500000" y="203.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="1245" y="137" width="113" height="126"/></g><text class="text-bold" x="1301.500000" y="203.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 200.000000 L 221.000000 200.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 1147.000000 200.000000 L 1241.000000 200.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </div></foreignObject></g><g class="shape" ><rect x="12" y="137" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="68.500000" y="203.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="1245" y="137" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="1301.500000" y="203.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 200.000000 L 221.000000 200.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 1147.000000 200.000000 L 1241.000000 200.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";
} }

Before

Width:  |  Height:  |  Size: 842 KiB

After

Width:  |  Height:  |  Size: 842 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="466" height="702" viewBox="-100 -100 466 702"><style type="text/css"> width="466" height="702" viewBox="-100 -100 466 702"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,8 +790,8 @@ width="466" height="702" viewBox="-100 -100 466 702"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="226.000000" width="266" height="50"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><h1>Markdown: Syntax</h1> </style><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="226.000000" width="266" height="50"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><h1>Markdown: Syntax</h1>
</div></foreignObject></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="77" y="0" width="113" height="126"/></g><text class="text-bold" x="133.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="77" y="376" width="113" height="126"/></g><text class="text-bold" x="133.500000" y="442.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 133.000000 128.000000 C 133.000000 166.000000 133.000000 186.000000 133.000000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 133.000000 278.000000 C 133.000000 316.000000 133.000000 336.000000 133.000000 372.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </div></foreignObject></g><g class="shape" ><rect x="77" y="0" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="133.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="77" y="376" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="133.500000" y="442.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 133.000000 128.000000 C 133.000000 166.000000 133.000000 186.000000 133.000000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 133.000000 278.000000 C 133.000000 316.000000 133.000000 336.000000 133.000000 372.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";
} }

Before

Width:  |  Height:  |  Size: 660 KiB

After

Width:  |  Height:  |  Size: 660 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="892" height="326" viewBox="-88 -88 892 326"><style type="text/css"> width="892" height="326" viewBox="-88 -88 892 326"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,8 +790,8 @@ width="892" height="326" viewBox="-88 -88 892 326"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="225.000000" y="50.000000" width="266" height="50"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><h1>Markdown: Syntax</h1> </style><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="225.000000" y="50.000000" width="266" height="50"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><h1>Markdown: Syntax</h1>
</div></foreignObject></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="12" y="12" width="113" height="126"/></g><text class="text-bold" x="68.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="591" y="12" width="113" height="126"/></g><text class="text-bold" x="647.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 75.000000 L 221.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 493.000000 75.000000 L 587.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </div></foreignObject></g><g class="shape" ><rect x="12" y="12" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="68.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="591" y="12" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="647.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 75.000000 L 221.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 493.000000 75.000000 L 587.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";
} }

Before

Width:  |  Height:  |  Size: 660 KiB

After

Width:  |  Height:  |  Size: 660 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="731" height="838" viewBox="-100 -100 731 838"><style type="text/css"> width="731" height="838" viewBox="-100 -100 731 838"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,14 +790,14 @@ width="731" height="838" viewBox="-100 -100 731 838"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="226.000000" width="531" height="186"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><h1>Every frustum longs to be a cone</h1> </style><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="226.000000" width="531" height="186"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><h1>Every frustum longs to be a cone</h1>
<ul> <ul>
<li>A continuing flow of paper is sufficient to continue the flow of paper</li> <li>A continuing flow of paper is sufficient to continue the flow of paper</li>
<li>Please remain calm, it's no use both of us being hysterical at the same time</li> <li>Please remain calm, it's no use both of us being hysterical at the same time</li>
<li>Visits always give pleasure: if not on arrival, then on the departure</li> <li>Visits always give pleasure: if not on arrival, then on the departure</li>
</ul> </ul>
<p><em>Festivity Level 1</em>: Your guests are chatting amiably with each other.</p> <p><em>Festivity Level 1</em>: Your guests are chatting amiably with each other.</p>
</div></foreignObject></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="209" y="0" width="113" height="126"/></g><text class="text-bold" x="265.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">x</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="209" y="512" width="114" height="126"/></g><text class="text-bold" x="266.000000" y="578.000000" style="text-anchor:middle;font-size:16px;fill:black">y</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 265.500000 128.000000 C 265.500000 166.000000 265.500000 186.000000 265.500000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 265.500000 414.000000 C 265.500000 452.000000 265.500000 472.000000 265.500000 508.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </div></foreignObject></g><g class="shape" ><rect x="209" y="0" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="265.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">x</text><g class="shape" ><rect x="209" y="512" width="114" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="266.000000" y="578.000000" style="text-anchor:middle;font-size:16px;fill:black">y</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 265.500000 128.000000 C 265.500000 166.000000 265.500000 186.000000 265.500000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 265.500000 414.000000 C 265.500000 452.000000 265.500000 472.000000 265.500000 508.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";
} }

Before

Width:  |  Height:  |  Size: 803 KiB

After

Width:  |  Height:  |  Size: 803 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="1158" height="386" viewBox="-88 -88 1158 386"><style type="text/css"> width="1158" height="386" viewBox="-88 -88 1158 386"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,14 +790,14 @@ width="1158" height="386" viewBox="-88 -88 1158 386"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="225.000000" y="12.000000" width="531" height="186"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><h1>Every frustum longs to be a cone</h1> </style><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="225.000000" y="12.000000" width="531" height="186"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><h1>Every frustum longs to be a cone</h1>
<ul> <ul>
<li>A continuing flow of paper is sufficient to continue the flow of paper</li> <li>A continuing flow of paper is sufficient to continue the flow of paper</li>
<li>Please remain calm, it's no use both of us being hysterical at the same time</li> <li>Please remain calm, it's no use both of us being hysterical at the same time</li>
<li>Visits always give pleasure: if not on arrival, then on the departure</li> <li>Visits always give pleasure: if not on arrival, then on the departure</li>
</ul> </ul>
<p><em>Festivity Level 1</em>: Your guests are chatting amiably with each other.</p> <p><em>Festivity Level 1</em>: Your guests are chatting amiably with each other.</p>
</div></foreignObject></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="12" y="42" width="113" height="126"/></g><text class="text-bold" x="68.500000" y="108.000000" style="text-anchor:middle;font-size:16px;fill:black">x</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="856" y="42" width="114" height="126"/></g><text class="text-bold" x="913.000000" y="108.000000" style="text-anchor:middle;font-size:16px;fill:black">y</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 105.000000 L 221.000000 105.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 758.000000 105.000000 L 852.000000 105.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </div></foreignObject></g><g class="shape" ><rect x="12" y="42" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="68.500000" y="108.000000" style="text-anchor:middle;font-size:16px;fill:black">x</text><g class="shape" ><rect x="856" y="42" width="114" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="913.000000" y="108.000000" style="text-anchor:middle;font-size:16px;fill:black">y</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 105.000000 L 221.000000 105.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 758.000000 105.000000 L 852.000000 105.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";
} }

Before

Width:  |  Height:  |  Size: 803 KiB

After

Width:  |  Height:  |  Size: 803 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="396" height="763" viewBox="-100 -100 396 763"><style type="text/css"> width="396" height="763" viewBox="-100 -100 396 763"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,12 +790,12 @@ width="396" height="763" viewBox="-100 -100 396 763"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="226.000000" width="196" height="111"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><pre><code>{ </style><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="226.000000" width="196" height="111"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><pre><code>{
fenced: &quot;block&quot;, fenced: &quot;block&quot;,
of: &quot;json&quot;, of: &quot;json&quot;,
} }
</code></pre> </code></pre>
</div></foreignObject></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="42" y="0" width="113" height="126"/></g><text class="text-bold" x="98.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="42" y="437" width="113" height="126"/></g><text class="text-bold" x="98.500000" y="503.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 98.000000 128.000000 C 98.000000 166.000000 98.000000 186.000000 98.000000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 98.000000 339.000000 C 98.000000 377.000000 98.000000 397.000000 98.000000 433.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </div></foreignObject></g><g class="shape" ><rect x="42" y="0" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="98.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="42" y="437" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="98.500000" y="503.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 98.000000 128.000000 C 98.000000 166.000000 98.000000 186.000000 98.000000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 98.000000 339.000000 C 98.000000 377.000000 98.000000 397.000000 98.000000 433.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";
} }

Before

Width:  |  Height:  |  Size: 841 KiB

After

Width:  |  Height:  |  Size: 841 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="822" height="326" viewBox="-88 -88 822 326"><style type="text/css"> width="822" height="326" viewBox="-88 -88 822 326"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,12 +790,12 @@ width="822" height="326" viewBox="-88 -88 822 326"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="225.000000" y="20.000000" width="196" height="111"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><pre><code>{ </style><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="225.000000" y="20.000000" width="196" height="111"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><pre><code>{
fenced: &quot;block&quot;, fenced: &quot;block&quot;,
of: &quot;json&quot;, of: &quot;json&quot;,
} }
</code></pre> </code></pre>
</div></foreignObject></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="12" y="12" width="113" height="126"/></g><text class="text-bold" x="68.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="521" y="12" width="113" height="126"/></g><text class="text-bold" x="577.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 75.000000 L 221.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 423.000000 75.000000 L 517.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </div></foreignObject></g><g class="shape" ><rect x="12" y="12" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="68.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="521" y="12" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="577.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 75.000000 L 221.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 423.000000 75.000000 L 517.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";
} }

Before

Width:  |  Height:  |  Size: 841 KiB

After

Width:  |  Height:  |  Size: 841 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="412" height="803" viewBox="-100 -100 412 803"><style type="text/css"> width="412" height="803" viewBox="-100 -100 412 803"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,13 +790,13 @@ width="412" height="803" viewBox="-100 -100 412 803"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="226.000000" width="212" height="151"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>a line of text and an</p> </style><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="226.000000" width="212" height="151"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>a line of text and an</p>
<pre><code>{ <pre><code>{
indented: &quot;block&quot;, indented: &quot;block&quot;,
of: &quot;json&quot;, of: &quot;json&quot;,
} }
</code></pre> </code></pre>
</div></foreignObject></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="50" y="0" width="113" height="126"/></g><text class="text-bold" x="106.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="50" y="477" width="113" height="126"/></g><text class="text-bold" x="106.500000" y="543.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 106.000000 128.000000 C 106.000000 166.000000 106.000000 186.000000 106.000000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 106.000000 379.000000 C 106.000000 417.000000 106.000000 437.000000 106.000000 473.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </div></foreignObject></g><g class="shape" ><rect x="50" y="0" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="106.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="50" y="477" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="106.500000" y="543.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 106.000000 128.000000 C 106.000000 166.000000 106.000000 186.000000 106.000000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 106.000000 379.000000 C 106.000000 417.000000 106.000000 437.000000 106.000000 473.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";
} }

Before

Width:  |  Height:  |  Size: 841 KiB

After

Width:  |  Height:  |  Size: 841 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="838" height="351" viewBox="-88 -88 838 351"><style type="text/css"> width="838" height="351" viewBox="-88 -88 838 351"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,13 +790,13 @@ width="838" height="351" viewBox="-88 -88 838 351"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="225.000000" y="12.000000" width="212" height="151"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>a line of text and an</p> </style><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="225.000000" y="12.000000" width="212" height="151"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>a line of text and an</p>
<pre><code>{ <pre><code>{
indented: &quot;block&quot;, indented: &quot;block&quot;,
of: &quot;json&quot;, of: &quot;json&quot;,
} }
</code></pre> </code></pre>
</div></foreignObject></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="12" y="25" width="113" height="126"/></g><text class="text-bold" x="68.500000" y="91.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="537" y="25" width="113" height="126"/></g><text class="text-bold" x="593.500000" y="91.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 87.500000 L 221.000000 87.500000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 439.000000 87.500000 L 533.000000 87.500000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </div></foreignObject></g><g class="shape" ><rect x="12" y="25" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="68.500000" y="91.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="537" y="25" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="593.500000" y="91.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 87.500000 L 221.000000 87.500000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 439.000000 87.500000 L 533.000000 87.500000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";
} }

Before

Width:  |  Height:  |  Size: 841 KiB

After

Width:  |  Height:  |  Size: 841 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="313" height="676" viewBox="-100 -100 313 676"><style type="text/css"> width="313" height="676" viewBox="-100 -100 313 676"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,8 +790,8 @@ width="313" height="676" viewBox="-100 -100 313 676"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="34.000000" y="226.000000" width="46" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p><code>code</code></p> </style><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="34.000000" y="226.000000" width="46" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p><code>code</code></p>
</div></foreignObject></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="0" y="0" width="113" height="126"/></g><text class="text-bold" x="56.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="0" y="350" width="113" height="126"/></g><text class="text-bold" x="56.500000" y="416.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 56.500000 128.000000 C 56.500000 166.000000 56.500000 186.000000 56.500000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 56.500000 252.000000 C 56.500000 290.000000 56.500000 310.000000 56.500000 346.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </div></foreignObject></g><g class="shape" ><rect x="0" y="0" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="56.500000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="0" y="350" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="56.500000" y="416.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 56.500000 128.000000 C 56.500000 166.000000 56.500000 186.000000 56.500000 222.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 56.500000 252.000000 C 56.500000 290.000000 56.500000 310.000000 56.500000 346.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";
} }

Before

Width:  |  Height:  |  Size: 841 KiB

After

Width:  |  Height:  |  Size: 841 KiB

View file

@ -5,13 +5,14 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="672" height="326" viewBox="-88 -88 672 326"><style type="text/css"> width="672" height="326" viewBox="-88 -88 672 326"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><style type="text/css">.md em, </style><style type="text/css">.md em,
.md dfn { .md dfn {
@ -789,8 +790,8 @@ width="672" height="326" viewBox="-88 -88 672 326"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
</style><g class="shape" style="fill:#FFFFFF;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="225.000000" y="63.000000" width="46" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p><code>code</code></p> </style><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="225.000000" y="63.000000" width="46" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p><code>code</code></p>
</div></foreignObject></g><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="12" y="12" width="113" height="126"/></g><text class="text-bold" x="68.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="371" y="12" width="113" height="126"/></g><text class="text-bold" x="427.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 75.000000 L 221.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 273.000000 75.000000 L 367.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[ </div></foreignObject></g><g class="shape" ><rect x="12" y="12" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="68.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">a</text><g class="shape" ><rect x="371" y="12" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="427.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black">b</text><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 127.000000 75.000000 L 221.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><path d="M 273.000000 75.000000 L 367.000000 75.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" /><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";
} }

Before

Width:  |  Height:  |  Size: 841 KiB

After

Width:  |  Height:  |  Size: 841 KiB

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="402" height="358" viewBox="-100 -100 402 358"><style type="text/css"> width="402" height="358" viewBox="-100 -100 402 358"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="0" y="0" width="202" height="158"/></g><text class="text-bold" x="101.000000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black"><tspan x="101.000000" dy="0.000000">this</tspan><tspan x="101.000000" dy="19.333333">goes</tspan><tspan x="101.000000" dy="19.333333">multiple lines</tspan></text><style type="text/css"><![CDATA[ </style><g class="shape" ><rect x="0" y="0" width="202" height="158" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="101.000000" y="66.000000" style="text-anchor:middle;font-size:16px;fill:black"><tspan x="101.000000" dy="0.000000">this</tspan><tspan x="101.000000" dy="19.333333">goes</tspan><tspan x="101.000000" dy="19.333333">multiple lines</tspan></text><style type="text/css"><![CDATA[
.text-bold { .text-bold {
font-family: "font-bold"; font-family: "font-bold";
} }

Before

Width:  |  Height:  |  Size: 324 KiB

After

Width:  |  Height:  |  Size: 324 KiB

View file

@ -5,15 +5,16 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="402" height="358" viewBox="-88 -88 402 358"><style type="text/css"> width="402" height="358" viewBox="-88 -88 402 358"><style type="text/css">
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
stroke-linejoin: round; stroke-linejoin: round;
} }
.connection { .connection {
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
} }
]]> ]]>
</style><g class="shape" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" ><rect x="12" y="12" width="202" height="158"/></g><text class="text-bold" x="113.000000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black"><tspan x="113.000000" dy="0.000000">this</tspan><tspan x="113.000000" dy="19.333333">goes</tspan><tspan x="113.000000" dy="19.333333">multiple lines</tspan></text><style type="text/css"><![CDATA[ </style><g class="shape" ><rect x="12" y="12" width="202" height="158" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="113.000000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:black"><tspan x="113.000000" dy="0.000000">this</tspan><tspan x="113.000000" dy="19.333333">goes</tspan><tspan x="113.000000" dy="19.333333">multiple lines</tspan></text><style type="text/css"><![CDATA[
.text-bold { .text-bold {
font-family: "font-bold"; font-family: "font-bold";
} }

Before

Width:  |  Height:  |  Size: 324 KiB

After

Width:  |  Height:  |  Size: 324 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 334 KiB

After

Width:  |  Height:  |  Size: 334 KiB

Some files were not shown because too many files have changed in this diff Show more