diff --git a/img/recommendation_flow.pdf b/img/recommendation_flow.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bc6428f5548ccfb7c0f99938aa278c25d3b9199e GIT binary patch literal 13744 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