From 58b5657b3b61d4be56fbd741610ee3644244f757 Mon Sep 17 00:00:00 2001 From: Alex Spataru Date: Mon, 6 Dec 2021 19:32:57 -0600 Subject: [PATCH] Update architecture documentation --- doc/architecture/architecture.drawio | 2 +- doc/architecture/architecture.png | Bin 272975 -> 256667 bytes doc/architecture/architecture.svg | 2 +- src/JSON/Generator.cpp | 8 ++++++-- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/doc/architecture/architecture.drawio b/doc/architecture/architecture.drawio index e0823c8e..b2bb937d 100644 --- a/doc/architecture/architecture.drawio +++ b/doc/architecture/architecture.drawio @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/doc/architecture/architecture.png b/doc/architecture/architecture.png index 040591bad809e3e75b28b0ddeefe300d9cb58812..89dde91ea4d46b7632eef4460adcc1292ea53ecd 100644 GIT binary patch literal 256667 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