From 9fd2f7c61f139f545355ef25e42a556268238228 Mon Sep 17 00:00:00 2001 From: meizi <2926327160@qq.com> Date: Wed, 17 Apr 2024 22:06:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E5=91=8A=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...小米便签开源代码的泛读报告.docx | Bin 0 -> 17284 bytes ...便签开源代码的质量分析报告.docx | Bin 0 -> 13637 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/小米便签开源代码的泛读报告.docx create mode 100644 doc/小米便签开源代码的质量分析报告.docx diff --git a/doc/小米便签开源代码的泛读报告.docx b/doc/小米便签开源代码的泛读报告.docx new file mode 100644 index 0000000000000000000000000000000000000000..743021a2862767f943e6d3dc90249c740462e541 GIT binary patch literal 17284 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 F{{hocj4c2F literal 0 HcmV?d00001 diff --git a/doc/小米便签开源代码的质量分析报告.docx b/doc/小米便签开源代码的质量分析报告.docx new file mode 100644 index 0000000000000000000000000000000000000000..890ee0fd864605161cee0743d92f67ddf0c096e6 GIT binary patch literal 13637 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 literal 0 HcmV?d00001