diff --git a/pushdown-opt.pdf b/pushdown-opt.pdf new file mode 100644 index 0000000000000000000000000000000000000000..73af5b4f42435429dd4da173462d4884d8323cca GIT binary patch literal 12265 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