Add setters/getters for BleedBox and TrimBox.

Since BleedBox and TrimBox are supported according to PDF
specification, hence added setters and getters to get the
value if exists.

Bug:894655
Change-Id: I3c2600450f07665241a4724457a7cbc4282941ed
Reviewed-on: https://pdfium-review.googlesource.com/c/43977
Commit-Queue: Shirleen Lou <xlou@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/constants/page_object.h b/constants/page_object.h
index b7f927b..8a41b8c 100644
--- a/constants/page_object.h
+++ b/constants/page_object.h
@@ -16,6 +16,8 @@
 constexpr char kResources[] = "Resources";
 constexpr char kMediaBox[] = "MediaBox";
 constexpr char kCropBox[] = "CropBox";
+constexpr char kBleedBox[] = "BleedBox";
+constexpr char kTrimBox[] = "TrimBox";
 constexpr char kArtBox[] = "ArtBox";
 constexpr char kContents[] = "Contents";
 constexpr char kRotate[] = "Rotate";
diff --git a/fpdfsdk/fpdf_transformpage.cpp b/fpdfsdk/fpdf_transformpage.cpp
index 7595086..8e8c9d5 100644
--- a/fpdfsdk/fpdf_transformpage.cpp
+++ b/fpdfsdk/fpdf_transformpage.cpp
@@ -80,6 +80,24 @@
                  CFX_FloatRect(left, bottom, right, top));
 }
 
+FPDF_EXPORT void FPDF_CALLCONV FPDFPage_SetBleedBox(FPDF_PAGE page,
+                                                    float left,
+                                                    float bottom,
+                                                    float right,
+                                                    float top) {
+  SetBoundingBox(CPDFPageFromFPDFPage(page), pdfium::page_object::kBleedBox,
+                 CFX_FloatRect(left, bottom, right, top));
+}
+
+FPDF_EXPORT void FPDF_CALLCONV FPDFPage_SetTrimBox(FPDF_PAGE page,
+                                                   float left,
+                                                   float bottom,
+                                                   float right,
+                                                   float top) {
+  SetBoundingBox(CPDFPageFromFPDFPage(page), pdfium::page_object::kTrimBox,
+                 CFX_FloatRect(left, bottom, right, top));
+}
+
 FPDF_EXPORT void FPDF_CALLCONV FPDFPage_SetArtBox(FPDF_PAGE page,
                                                   float left,
                                                   float bottom,
@@ -109,6 +127,26 @@
                         top);
 }
 
+FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_GetBleedBox(FPDF_PAGE page,
+                                                         float* left,
+                                                         float* bottom,
+                                                         float* right,
+                                                         float* top) {
+  return GetBoundingBox(CPDFPageFromFPDFPage(page),
+                        pdfium::page_object::kBleedBox, left, bottom, right,
+                        top);
+}
+
+FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_GetTrimBox(FPDF_PAGE page,
+                                                        float* left,
+                                                        float* bottom,
+                                                        float* right,
+                                                        float* top) {
+  return GetBoundingBox(CPDFPageFromFPDFPage(page),
+                        pdfium::page_object::kTrimBox, left, bottom, right,
+                        top);
+}
+
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_GetArtBox(FPDF_PAGE page,
                                                        float* left,
                                                        float* bottom,
diff --git a/fpdfsdk/fpdf_transformpage_embeddertest.cpp b/fpdfsdk/fpdf_transformpage_embeddertest.cpp
index 3904b0c..8fa3370 100644
--- a/fpdfsdk/fpdf_transformpage_embeddertest.cpp
+++ b/fpdfsdk/fpdf_transformpage_embeddertest.cpp
@@ -15,38 +15,45 @@
     FPDF_PAGE page = LoadPage(1);
     ASSERT_TRUE(page);
 
-    float mediabox_left;
-    float mediabox_bottom;
-    float mediabox_right;
-    float mediabox_top;
-    EXPECT_TRUE(FPDFPage_GetMediaBox(page, &mediabox_left, &mediabox_bottom,
-                                     &mediabox_right, &mediabox_top));
-    EXPECT_EQ(-50, mediabox_left);
-    EXPECT_EQ(-50, mediabox_bottom);
-    EXPECT_EQ(200, mediabox_right);
-    EXPECT_EQ(200, mediabox_top);
+    FS_RECTF mediabox;
+    EXPECT_TRUE(FPDFPage_GetMediaBox(page, &mediabox.left, &mediabox.bottom,
+                                     &mediabox.right, &mediabox.top));
+    EXPECT_EQ(-50, mediabox.left);
+    EXPECT_EQ(-50, mediabox.bottom);
+    EXPECT_EQ(200, mediabox.right);
+    EXPECT_EQ(200, mediabox.top);
 
-    float cropbox_left;
-    float cropbox_bottom;
-    float cropbox_right;
-    float cropbox_top;
-    EXPECT_TRUE(FPDFPage_GetCropBox(page, &cropbox_left, &cropbox_bottom,
-                                    &cropbox_right, &cropbox_top));
-    EXPECT_EQ(50, cropbox_left);
-    EXPECT_EQ(50, cropbox_bottom);
-    EXPECT_EQ(150, cropbox_right);
-    EXPECT_EQ(150, cropbox_top);
+    FS_RECTF cropbox;
+    EXPECT_TRUE(FPDFPage_GetCropBox(page, &cropbox.left, &cropbox.bottom,
+                                    &cropbox.right, &cropbox.top));
+    EXPECT_EQ(50, cropbox.left);
+    EXPECT_EQ(50, cropbox.bottom);
+    EXPECT_EQ(150, cropbox.right);
+    EXPECT_EQ(150, cropbox.top);
 
-    float artbox_left;
-    float artbox_bottom;
-    float artbox_right;
-    float artbox_top;
-    EXPECT_TRUE(FPDFPage_GetArtBox(page, &artbox_left, &artbox_bottom,
-                                   &artbox_right, &artbox_top));
-    EXPECT_EQ(50, artbox_left);
-    EXPECT_EQ(60, artbox_bottom);
-    EXPECT_EQ(135, artbox_right);
-    EXPECT_EQ(140, artbox_top);
+    FS_RECTF bleedbox;
+    EXPECT_TRUE(FPDFPage_GetBleedBox(page, &bleedbox.left, &bleedbox.bottom,
+                                     &bleedbox.right, &bleedbox.top));
+    EXPECT_EQ(0, bleedbox.left);
+    EXPECT_EQ(10, bleedbox.bottom);
+    EXPECT_EQ(150, bleedbox.right);
+    EXPECT_EQ(145, bleedbox.top);
+
+    FS_RECTF trimbox;
+    EXPECT_TRUE(FPDFPage_GetTrimBox(page, &trimbox.left, &trimbox.bottom,
+                                    &trimbox.right, &trimbox.top));
+    EXPECT_EQ(25, trimbox.left);
+    EXPECT_EQ(30, trimbox.bottom);
+    EXPECT_EQ(140, trimbox.right);
+    EXPECT_EQ(145, trimbox.top);
+
+    FS_RECTF artbox;
+    EXPECT_TRUE(FPDFPage_GetArtBox(page, &artbox.left, &artbox.bottom,
+                                   &artbox.right, &artbox.top));
+    EXPECT_EQ(50, artbox.left);
+    EXPECT_EQ(60, artbox.bottom);
+    EXPECT_EQ(135, artbox.right);
+    EXPECT_EQ(140, artbox.top);
 
     UnloadPage(page);
   }
@@ -55,48 +62,55 @@
     FPDF_PAGE page = LoadPage(3);
     ASSERT_TRUE(page);
 
-    float mediabox_left;
-    float mediabox_bottom;
-    float mediabox_right;
-    float mediabox_top;
-    EXPECT_TRUE(FPDFPage_GetMediaBox(page, &mediabox_left, &mediabox_bottom,
-                                     &mediabox_right, &mediabox_top));
-    EXPECT_EQ(0, mediabox_left);
-    EXPECT_EQ(0, mediabox_bottom);
-    EXPECT_EQ(200, mediabox_right);
-    EXPECT_EQ(200, mediabox_top);
+    FS_RECTF mediabox;
+    EXPECT_TRUE(FPDFPage_GetMediaBox(page, &mediabox.left, &mediabox.bottom,
+                                     &mediabox.right, &mediabox.top));
+    EXPECT_EQ(0, mediabox.left);
+    EXPECT_EQ(0, mediabox.bottom);
+    EXPECT_EQ(200, mediabox.right);
+    EXPECT_EQ(200, mediabox.top);
 
-    float cropbox_left;
-    float cropbox_bottom;
-    float cropbox_right;
-    float cropbox_top;
-    EXPECT_TRUE(FPDFPage_GetCropBox(page, &cropbox_left, &cropbox_bottom,
-                                    &cropbox_right, &cropbox_top));
-    EXPECT_EQ(150, cropbox_left);
-    EXPECT_EQ(150, cropbox_bottom);
-    EXPECT_EQ(60, cropbox_right);
-    EXPECT_EQ(60, cropbox_top);
+    FS_RECTF cropbox;
+    EXPECT_TRUE(FPDFPage_GetCropBox(page, &cropbox.left, &cropbox.bottom,
+                                    &cropbox.right, &cropbox.top));
+    EXPECT_EQ(150, cropbox.left);
+    EXPECT_EQ(150, cropbox.bottom);
+    EXPECT_EQ(60, cropbox.right);
+    EXPECT_EQ(60, cropbox.top);
 
-    EXPECT_FALSE(FPDFPage_GetCropBox(page, nullptr, &cropbox_bottom,
-                                     &cropbox_right, &cropbox_top));
-    EXPECT_FALSE(FPDFPage_GetCropBox(page, &cropbox_left, nullptr,
-                                     &cropbox_right, &cropbox_top));
-    EXPECT_FALSE(FPDFPage_GetCropBox(page, &cropbox_left, &cropbox_bottom,
-                                     nullptr, &cropbox_top));
-    EXPECT_FALSE(FPDFPage_GetCropBox(page, &cropbox_left, &cropbox_bottom,
-                                     &cropbox_right, nullptr));
+    EXPECT_FALSE(FPDFPage_GetCropBox(page, nullptr, &cropbox.bottom,
+                                     &cropbox.right, &cropbox.top));
+    EXPECT_FALSE(FPDFPage_GetCropBox(page, &cropbox.left, nullptr,
+                                     &cropbox.right, &cropbox.top));
+    EXPECT_FALSE(FPDFPage_GetCropBox(page, &cropbox.left, &cropbox.bottom,
+                                     nullptr, &cropbox.top));
+    EXPECT_FALSE(FPDFPage_GetCropBox(page, &cropbox.left, &cropbox.bottom,
+                                     &cropbox.right, nullptr));
     EXPECT_FALSE(FPDFPage_GetCropBox(page, nullptr, nullptr, nullptr, nullptr));
 
-    float artbox_left;
-    float artbox_bottom;
-    float artbox_right;
-    float artbox_top;
-    EXPECT_TRUE(FPDFPage_GetArtBox(page, &artbox_left, &artbox_bottom,
-                                   &artbox_right, &artbox_top));
-    EXPECT_EQ(140, artbox_left);
-    EXPECT_EQ(145, artbox_bottom);
-    EXPECT_EQ(65, artbox_right);
-    EXPECT_EQ(70, artbox_top);
+    FS_RECTF bleedbox;
+    EXPECT_TRUE(FPDFPage_GetBleedBox(page, &bleedbox.left, &bleedbox.bottom,
+                                     &bleedbox.right, &bleedbox.top));
+    EXPECT_EQ(160, bleedbox.left);
+    EXPECT_EQ(165, bleedbox.bottom);
+    EXPECT_EQ(0, bleedbox.right);
+    EXPECT_EQ(10, bleedbox.top);
+
+    FS_RECTF trimbox;
+    EXPECT_TRUE(FPDFPage_GetTrimBox(page, &trimbox.left, &trimbox.bottom,
+                                    &trimbox.right, &trimbox.top));
+    EXPECT_EQ(155, trimbox.left);
+    EXPECT_EQ(165, trimbox.bottom);
+    EXPECT_EQ(25, trimbox.right);
+    EXPECT_EQ(30, trimbox.top);
+
+    FS_RECTF artbox;
+    EXPECT_TRUE(FPDFPage_GetArtBox(page, &artbox.left, &artbox.bottom,
+                                   &artbox.right, &artbox.top));
+    EXPECT_EQ(140, artbox.left);
+    EXPECT_EQ(145, artbox.bottom);
+    EXPECT_EQ(65, artbox.right);
+    EXPECT_EQ(70, artbox.top);
 
     UnloadPage(page);
   }
@@ -109,15 +123,67 @@
   FPDF_PAGE page = LoadPage(0);
   ASSERT_TRUE(page);
 
-  float left = -1.0f;
-  float bottom = -2.0f;
-  float right = 3.0f;
-  float top = 0.0f;
-  EXPECT_FALSE(FPDFPage_GetCropBox(page, &left, &bottom, &right, &top));
-  EXPECT_EQ(-1.0f, left);
-  EXPECT_EQ(-2.0f, bottom);
-  EXPECT_EQ(3.0f, right);
-  EXPECT_EQ(0.0f, top);
+  FS_RECTF cropbox = {-1.0f, 0.0f, 3.0f, -2.0f};
+  EXPECT_FALSE(FPDFPage_GetCropBox(page, &cropbox.left, &cropbox.bottom,
+                                   &cropbox.right, &cropbox.top));
+  EXPECT_EQ(-1.0f, cropbox.left);
+  EXPECT_EQ(-2.0f, cropbox.bottom);
+  EXPECT_EQ(3.0f, cropbox.right);
+  EXPECT_EQ(0.0f, cropbox.top);
+
+  UnloadPage(page);
+}
+
+TEST_F(FPDFTransformEmbedderTest, NoBleedBox) {
+  ASSERT_TRUE(OpenDocument("hello_world.pdf"));
+  ASSERT_EQ(1, FPDF_GetPageCount(document()));
+
+  FPDF_PAGE page = LoadPage(0);
+  ASSERT_TRUE(page);
+
+  FS_RECTF bleedbox = {-1.0f, 10.f, 3.0f, -1.0f};
+  EXPECT_FALSE(FPDFPage_GetBleedBox(page, &bleedbox.left, &bleedbox.bottom,
+                                    &bleedbox.right, &bleedbox.top));
+  EXPECT_EQ(-1.0f, bleedbox.left);
+  EXPECT_EQ(-1.0f, bleedbox.bottom);
+  EXPECT_EQ(3.0f, bleedbox.right);
+  EXPECT_EQ(10.0f, bleedbox.top);
+
+  UnloadPage(page);
+}
+
+TEST_F(FPDFTransformEmbedderTest, NoTrimBox) {
+  ASSERT_TRUE(OpenDocument("hello_world.pdf"));
+  ASSERT_EQ(1, FPDF_GetPageCount(document()));
+
+  FPDF_PAGE page = LoadPage(0);
+  ASSERT_TRUE(page);
+
+  FS_RECTF trimbox = {-11.0f, 0.0f, 3.0f, -10.0f};
+  EXPECT_FALSE(FPDFPage_GetTrimBox(page, &trimbox.left, &trimbox.bottom,
+                                   &trimbox.right, &trimbox.top));
+  EXPECT_EQ(-11.0f, trimbox.left);
+  EXPECT_EQ(-10.0f, trimbox.bottom);
+  EXPECT_EQ(3.0f, trimbox.right);
+  EXPECT_EQ(0.0f, trimbox.top);
+
+  UnloadPage(page);
+}
+
+TEST_F(FPDFTransformEmbedderTest, NoArtBox) {
+  ASSERT_TRUE(OpenDocument("hello_world.pdf"));
+  ASSERT_EQ(1, FPDF_GetPageCount(document()));
+
+  FPDF_PAGE page = LoadPage(0);
+  ASSERT_TRUE(page);
+
+  FS_RECTF artbox = {-1.0f, 0.0f, 3.0f, -1.0f};
+  EXPECT_FALSE(FPDFPage_GetArtBox(page, &artbox.left, &artbox.bottom,
+                                  &artbox.right, &artbox.top));
+  EXPECT_EQ(-1.0f, artbox.left);
+  EXPECT_EQ(-1.0f, artbox.bottom);
+  EXPECT_EQ(3.0f, artbox.right);
+  EXPECT_EQ(0.0f, artbox.top);
 
   UnloadPage(page);
 }
@@ -142,23 +208,3 @@
   FPDF_DestroyClipPath(clip);
   UnloadPage(page);
 }
-
-TEST_F(FPDFTransformEmbedderTest, NoArtBox) {
-  ASSERT_TRUE(OpenDocument("hello_world.pdf"));
-  ASSERT_EQ(1, FPDF_GetPageCount(document()));
-
-  FPDF_PAGE page = LoadPage(0);
-  ASSERT_TRUE(page);
-
-  float left = -1.0f;
-  float bottom = -1.0f;
-  float right = 3.0f;
-  float top = 0.0f;
-  EXPECT_FALSE(FPDFPage_GetArtBox(page, &left, &bottom, &right, &top));
-  EXPECT_EQ(-1.0f, left);
-  EXPECT_EQ(-1.0f, bottom);
-  EXPECT_EQ(3.0f, right);
-  EXPECT_EQ(0.0f, top);
-
-  UnloadPage(page);
-}
diff --git a/fpdfsdk/fpdf_view_c_api_test.c b/fpdfsdk/fpdf_view_c_api_test.c
index 3aa40ca..3ec51e7 100644
--- a/fpdfsdk/fpdf_view_c_api_test.c
+++ b/fpdfsdk/fpdf_view_c_api_test.c
@@ -333,12 +333,16 @@
     // fpdf_transformpage.h
     CHK(FPDFPageObj_TransformClipPath);
     CHK(FPDFPage_GetArtBox);
+    CHK(FPDFPage_GetBleedBox);
     CHK(FPDFPage_GetCropBox);
     CHK(FPDFPage_GetMediaBox);
+    CHK(FPDFPage_GetTrimBox);
     CHK(FPDFPage_InsertClipPath);
     CHK(FPDFPage_SetArtBox);
+    CHK(FPDFPage_SetBleedBox);
     CHK(FPDFPage_SetCropBox);
     CHK(FPDFPage_SetMediaBox);
+    CHK(FPDFPage_SetTrimBox);
     CHK(FPDFPage_TransFormWithClip);
     CHK(FPDF_CreateClipPath);
     CHK(FPDF_DestroyClipPath);
diff --git a/public/fpdf_transformpage.h b/public/fpdf_transformpage.h
index c1abe76..899e5c6 100644
--- a/public/fpdf_transformpage.h
+++ b/public/fpdf_transformpage.h
@@ -45,6 +45,36 @@
                                                    float top);
 
 /**
+ * Set "BleedBox" entry to the page dictionary.
+ *
+ * page   - Handle to a page.
+ * left   - The left of the rectangle.
+ * bottom - The bottom of the rectangle.
+ * right  - The right of the rectangle.
+ * top    - The top of the rectangle.
+ */
+FPDF_EXPORT void FPDF_CALLCONV FPDFPage_SetBleedBox(FPDF_PAGE page,
+                                                    float left,
+                                                    float bottom,
+                                                    float right,
+                                                    float top);
+
+/**
+ * Set "TrimBox" entry to the page dictionary.
+ *
+ * page   - Handle to a page.
+ * left   - The left of the rectangle.
+ * bottom - The bottom of the rectangle.
+ * right  - The right of the rectangle.
+ * top    - The top of the rectangle.
+ */
+FPDF_EXPORT void FPDF_CALLCONV FPDFPage_SetTrimBox(FPDF_PAGE page,
+                                                   float left,
+                                                   float bottom,
+                                                   float right,
+                                                   float top);
+
+/**
  * Set "ArtBox" entry to the page dictionary.
  *
  * page   - Handle to a page.
@@ -96,6 +126,42 @@
                                                         float* top);
 
 /**
+ * Get "BleedBox" entry from the page dictionary.
+ *
+ * page   - Handle to a page.
+ * left   - Pointer to a float value receiving the left of the rectangle.
+ * bottom - Pointer to a float value receiving the bottom of the rectangle.
+ * right  - Pointer to a float value receiving the right of the rectangle.
+ * top    - Pointer to a float value receiving the top of the rectangle.
+ *
+ * On success, return true and write to the out parameters. Otherwise return
+ * false and leave the out parameters unmodified.
+ */
+FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_GetBleedBox(FPDF_PAGE page,
+                                                         float* left,
+                                                         float* bottom,
+                                                         float* right,
+                                                         float* top);
+
+/**
+ * Get "TrimBox" entry from the page dictionary.
+ *
+ * page   - Handle to a page.
+ * left   - Pointer to a float value receiving the left of the rectangle.
+ * bottom - Pointer to a float value receiving the bottom of the rectangle.
+ * right  - Pointer to a float value receiving the right of the rectangle.
+ * top    - Pointer to a float value receiving the top of the rectangle.
+ *
+ * On success, return true and write to the out parameters. Otherwise return
+ * false and leave the out parameters unmodified.
+ */
+FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_GetTrimBox(FPDF_PAGE page,
+                                                        float* left,
+                                                        float* bottom,
+                                                        float* right,
+                                                        float* top);
+
+/**
  * Get "ArtBox" entry from the page dictionary.
  *
  * page   - Handle to a page.
diff --git a/testing/resources/cropped_text.in b/testing/resources/cropped_text.in
index d3812dc..d6e2d60 100644
--- a/testing/resources/cropped_text.in
+++ b/testing/resources/cropped_text.in
@@ -41,6 +41,8 @@
   /Parent 2 0 R
   /MediaBox [ 0 0 200 200 ]
   /CropBox [ 50 50 150 150 ]
+  /BleedBox [ 50 60 140 145 ]
+  /TrimBox [ 55 60 140 145 ]
   /ArtBox [ 55 65 140 145 ]
   /Resources <<
     /Font <<
@@ -56,6 +58,8 @@
   /Parent 2 0 R
   /MediaBox [ -50 -50 200 200 ]
   /CropBox [ 50 50 150 150 ]
+  /BleedBox [ 0 10 150 145 ]
+  /TrimBox [ 25 30 140 145 ]
   /ArtBox [ 50 60 135 140 ]
   /Resources <<
     /Font <<
@@ -71,6 +75,8 @@
   /Parent 2 0 R
   /MediaBox [ 0 0 200 200 ]
   /CropBox [ 60 60 150 150 ]
+  /BleedBox [ 10 20 150 145 ]
+  /TrimBox [ 35 30 140 145 ]
   /ArtBox [ 65 75 140 148 ]
   /Resources <<
     /Font <<
@@ -86,6 +92,8 @@
   /Parent 2 0 R
   /MediaBox [ 0 0 200 200 ]
   /CropBox [ 150 150 60 60 ]
+  /BleedBox [ 160 165 0 10 ]
+  /TrimBox [ 155 165 25 30 ]
   /ArtBox [ 140 145 65 70 ]
   /Resources <<
     /Font <<
diff --git a/testing/resources/cropped_text.pdf b/testing/resources/cropped_text.pdf
index 676d44b..3a93dbb 100644
--- a/testing/resources/cropped_text.pdf
+++ b/testing/resources/cropped_text.pdf
@@ -42,6 +42,8 @@
   /Parent 2 0 R
   /MediaBox [ 0 0 200 200 ]
   /CropBox [ 50 50 150 150 ]
+  /BleedBox [ 50 60 140 145 ]
+  /TrimBox [ 55 60 140 145 ]
   /ArtBox [ 55 65 140 145 ]
   /Resources <<
     /Font <<
@@ -57,6 +59,8 @@
   /Parent 2 0 R
   /MediaBox [ -50 -50 200 200 ]
   /CropBox [ 50 50 150 150 ]
+  /BleedBox [ 0 10 150 145 ]
+  /TrimBox [ 25 30 140 145 ]
   /ArtBox [ 50 60 135 140 ]
   /Resources <<
     /Font <<
@@ -72,6 +76,8 @@
   /Parent 2 0 R
   /MediaBox [ 0 0 200 200 ]
   /CropBox [ 60 60 150 150 ]
+  /BleedBox [ 10 20 150 145 ]
+  /TrimBox [ 35 30 140 145 ]
   /ArtBox [ 65 75 140 148 ]
   /Resources <<
     /Font <<
@@ -87,6 +93,8 @@
   /Parent 2 0 R
   /MediaBox [ 0 0 200 200 ]
   /CropBox [ 150 150 60 60 ]
+  /BleedBox [ 160 165 0 10 ]
+  /TrimBox [ 155 165 25 30 ]
   /ArtBox [ 140 145 65 70 ]
   /Resources <<
     /Font <<
@@ -106,13 +114,13 @@
 0000000229 00000 n 
 0000000305 00000 n 
 0000000439 00000 n 
-0000000666 00000 n 
-0000000897 00000 n 
-0000001124 00000 n 
+0000000725 00000 n 
+0000001014 00000 n 
+0000001300 00000 n 
 trailer <<
   /Root 1 0 R
   /Size 10
 >>
 startxref
-1351
+1585
 %%EOF