From e2c55b3fa89dd9200daab0bca7c7486ed01ce776 Mon Sep 17 00:00:00 2001 From: Dingding Date: Sun, 13 Sep 2026 10:10:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20assets?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/proj-ffr.png | Bin 0 -> 13571 bytes assets/proj-nanobot.png | Bin 0 -> 12446 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/proj-ffr.png create mode 100644 assets/proj-nanobot.png diff --git a/assets/proj-ffr.png b/assets/proj-ffr.png new file mode 100644 index 0000000000000000000000000000000000000000..689d75ad06aa477357860ce1d2ef564ac9e34276 GIT binary patch literal 13571 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 JPDHLkV1oJq#HIiM literal 0 HcmV?d00001 diff --git a/assets/proj-nanobot.png b/assets/proj-nanobot.png new file mode 100644 index 0000000000000000000000000000000000000000..b04040debf7be30db7c16439b6dabd0e94aff856 GIT binary patch literal 12446 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