From dce9e45eef53f0ba4dfa870f40c6200a5612a398 Mon Sep 17 00:00:00 2001 From: Christopher Cerne Date: Mon, 29 Mar 2021 23:18:30 -0400 Subject: [PATCH] Added state transition diagram --- images/states.png | Bin 0 -> 15724 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/states.png diff --git a/images/states.png b/images/states.png new file mode 100644 index 0000000000000000000000000000000000000000..068ef1ffa853e4ff81983469c634fe0a138f9db6 GIT binary patch literal 15724 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 literal 0 HcmV?d00001