diff --git a/docs/SkPaint_Reference.bmh b/docs/SkPaint_Reference.bmh
index 9d27cec..099fe65 100644
--- a/docs/SkPaint_Reference.bmh
+++ b/docs/SkPaint_Reference.bmh
@@ -571,6 +571,7 @@
     class PaintDumper : public SkWriteBuffer {
     public:
         bool isCrossProcess() const override { return false; };
+        void writePad32(const void* buffer, size_t bytes) override {}
         void writeByteArray(const void* data, size_t size) override {}
         void writeBool(bool value) override {}
         void writeScalar(SkScalar value) override {}
diff --git a/docs/usingBookmaker.bmh b/docs/usingBookmaker.bmh
index 411fd7f..4d44d73 100644
--- a/docs/usingBookmaker.bmh
+++ b/docs/usingBookmaker.bmh
@@ -4,6 +4,7 @@
 CL
 Go
 Visual_Studio
+Completed InProgress
 ##
 
 #Topic Bookmaker
diff --git a/site/user/api/SkPaint_Reference.md b/site/user/api/SkPaint_Reference.md
index 77bb832..e7b2b49 100644
--- a/site/user/api/SkPaint_Reference.md
+++ b/site/user/api/SkPaint_Reference.md
@@ -615,7 +615,7 @@
 
 ### Example
 
-<div><fiddle-embed name="de31563f11e447dccc988108e9173d28">
+<div><fiddle-embed name="ef700e9d42d1826d35e92eeae120e7fa">
 
 #### Example Output
 
diff --git a/site/user/api/catalog.htm b/site/user/api/catalog.htm
index b38545d..4cb0f9f 100644
--- a/site/user/api/catalog.htm
+++ b/site/user/api/catalog.htm
@@ -1352,8 +1352,8 @@
         "stdout": "paint1 == paint2\\npaint1 != paint2\\n"
     },
         "SkPaint_flatten": {
-    "code": "void draw(SkCanvas* canvas) {\n    class PaintDumper : public SkWriteBuffer {\n    public:\n        bool isCrossProcess() const override { return false; };\n        void writeByteArray(const void* data, size_t size) override {}\n        void writeBool(bool value) override {}\n        void writeScalar(SkScalar value) override {}\n        void writeScalarArray(const SkScalar* value, uint32_t count) override {}\n        void writeInt(int32_t value) override {}\n        void writeIntArray(const int32_t* value, uint32_t count) override {}\n        void writeUInt(uint32_t value) override {}\n        void writeString(const char* value) override {}\n        void writeFlattenable(const SkFlattenable* flattenable) override {}\n        void writeColorArray(const SkColor* color, uint32_t count) override {}\n        void writeColor4f(const SkColor4f& color) override {}\n        void writeColor4fArray(const SkColor4f* color, uint32_t count) override {}\n        void writePoint(const SkPoint& point) override {}\n        void writePointArray(const SkPoint* point, uint32_t count) override {}\n        void writeMatrix(const SkMatrix& matrix) override {}\n        void writeIRect(const SkIRect& rect) override {}\n        void writeRect(const SkRect& rect) override {}\n        void writeRegion(const SkRegion& region) override {}\n        void writePath(const SkPath& path) override {}\n        size_t writeStream(SkStream* stream, size_t length) override { return 0; }\n        void writeImage(const SkImage*) override {}\n        void writeTypeface(SkTypeface* typeface) override {}\n        void writePaint(const SkPaint& paint) override {}\n        void writeColor(SkColor color) override {\n            SkDebugf(\"color = 0x%08x\\n\", color);\n        }\n    } dumper;\n    SkPaint paint;\n    paint.setColor(SK_ColorRED);\n    paint.flatten(dumper);\n}",
-    "hash": "de31563f11e447dccc988108e9173d28",
+    "code": "void draw(SkCanvas* canvas) {\n    class PaintDumper : public SkWriteBuffer {\n    public:\n        bool isCrossProcess() const override { return false; };\n        void writePad32(const void* buffer, size_t bytes) override {}\n        void writeByteArray(const void* data, size_t size) override {}\n        void writeBool(bool value) override {}\n        void writeScalar(SkScalar value) override {}\n        void writeScalarArray(const SkScalar* value, uint32_t count) override {}\n        void writeInt(int32_t value) override {}\n        void writeIntArray(const int32_t* value, uint32_t count) override {}\n        void writeUInt(uint32_t value) override {}\n        void writeString(const char* value) override {}\n        void writeFlattenable(const SkFlattenable* flattenable) override {}\n        void writeColorArray(const SkColor* color, uint32_t count) override {}\n        void writeColor4f(const SkColor4f& color) override {}\n        void writeColor4fArray(const SkColor4f* color, uint32_t count) override {}\n        void writePoint(const SkPoint& point) override {}\n        void writePointArray(const SkPoint* point, uint32_t count) override {}\n        void writeMatrix(const SkMatrix& matrix) override {}\n        void writeIRect(const SkIRect& rect) override {}\n        void writeRect(const SkRect& rect) override {}\n        void writeRegion(const SkRegion& region) override {}\n        void writePath(const SkPath& path) override {}\n        size_t writeStream(SkStream* stream, size_t length) override { return 0; }\n        void writeImage(const SkImage*) override {}\n        void writeTypeface(SkTypeface* typeface) override {}\n        void writePaint(const SkPaint& paint) override {}\n        void writeColor(SkColor color) override {\n            SkDebugf(\"color = 0x%08x\\n\", color);\n        }\n    } dumper;\n    SkPaint paint;\n    paint.setColor(SK_ColorRED);\n    paint.flatten(dumper);\n}",
+    "hash": "ef700e9d42d1826d35e92eeae120e7fa",
     "file": "SkPaint_Reference",
     "name": "SkPaint::flatten()",
         "stdout": "color = 0xffff0000\\n"
diff --git a/site/user/api/usingBookmaker.md b/site/user/api/usingBookmaker.md
index f1f2eca..b3e0e39 100644
--- a/site/user/api/usingBookmaker.md
+++ b/site/user/api/usingBookmaker.md
@@ -127,7 +127,8 @@
 
 to write the updated <a href="undocumented#SkXXX.h">SkXXX.h</a> to the current directory.
 
-Once adding the file is complete, add the file to status.json in the section. You may add it to the section during
+Once adding the file is complete, add the file to status.json in the
+<a href="usingBookmaker#Completed">Completed</a> section. You may add it to the <a href="usingBookmaker#InProgress">InProgress</a> section during
 development, or leave status.json unchanged.
 
 If the new file has been added to status.json, you can run
