Clean and regen docs (#401)

diff --git a/docs/dyn/slides_v1.presentations.html b/docs/dyn/slides_v1.presentations.html
index 9bd4d5e..5f9bb60 100644
--- a/docs/dyn/slides_v1.presentations.html
+++ b/docs/dyn/slides_v1.presentations.html
@@ -156,6 +156,7 @@
               #
               # - `True`: insert below the cell.
               # - `False`: insert above the cell.
+          "tableObjectId": "A String", # The table to insert rows into.
           "number": 42, # The number of rows to be inserted. Maximum 20 per request.
           "cellLocation": { # A location of a single table cell within a table. # The reference table cell location from which rows will be inserted.
               #
@@ -165,7 +166,6 @@
             "rowIndex": 42, # The 0-based row index.
             "columnIndex": 42, # The 0-based column index.
           },
-          "tableObjectId": "A String", # The table to insert rows into.
         },
         "createVideo": { # Creates a video. # Creates a video.
           "source": "A String", # The video source.
@@ -322,10 +322,10 @@
             },
             "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
               "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                  # presentation with this ID. A page with this ID may not exist.
               "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                   # in the presentation. There may not be a slide at this index.
+              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                  # presentation with this ID. A page with this ID may not exist.
               "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                   # addressed by its position.
             },
@@ -356,17 +356,17 @@
               "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
                   # the right of the original bounding rectangle left edge, relative to the
                   # object's original width.
-              "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                  # below the original bounding rectangle top edge, relative to the object's
-                  # original height.
-              "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                  # above the original bounding rectangle bottom edge, relative to the object's
-                  # original height.
               "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
                   # Rotation angle is applied after the offset.
               "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
                   # to the left of the original bounding rectangle right edge, relative to the
                   # object's original width.
+              "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                  # above the original bounding rectangle bottom edge, relative to the object's
+                  # original height.
+              "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                  # below the original bounding rectangle top edge, relative to the object's
+                  # original height.
             },
             "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
                 # is read-only.
@@ -485,10 +485,8 @@
             #
             # NOTE: Replacing shapes with a chart requires at least one of the
             # spreadsheets.readonly, spreadsheets, drive.readonly, or drive OAuth scopes.
-          "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the chart.
           "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet.
-          "linkingMode": "A String", # The mode with which the chart is linked to the source spreadsheet. When
-              # not specified, the chart will be an image that is not linked.
+          "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the chart.
           "containsText": { # A criteria that matches a specific string of text in a shape or table. # The criteria that the shapes must match in order to be replaced. The
               # request will replace all of the shapes that contain the given text.
             "text": "A String", # The text to search for in the shape or table.
@@ -497,6 +495,16 @@
                 # - `True`: the search is case sensitive.
                 # - `False`: the search is case insensitive.
           },
+          "pageObjectIds": [ # If non-empty, limits the matches to page elements only on the given pages.
+              #
+              # Returns a 400 bad request error if given the page object ID of a
+              # notes page or a
+              # notes master, or if a
+              # page with that object ID doesn't exist in the presentation.
+            "A String",
+          ],
+          "linkingMode": "A String", # The mode with which the chart is linked to the source spreadsheet. When
+              # not specified, the chart will be an image that is not linked.
         },
         "createImage": { # Creates an image. # Creates an image.
           "url": "A String", # The image URL.
@@ -624,176 +632,80 @@
             #
             # The nesting level of each paragraph will be visually preserved by adding
             # indent to the start of the corresponding paragraph.
-          "textRange": { # Specifies a contiguous range of an indexed collection, such as characters in # The range of text to delete bullets from, based on TextElement indexes.
-              # text.
-            "endIndex": 42, # The optional zero-based index of the end of the collection.
-                # Required for `SPECIFIC_RANGE` delete mode.
-            "startIndex": 42, # The optional zero-based index of the beginning of the collection.
-                # Required for `SPECIFIC_RANGE` and `FROM_START_INDEX` ranges.
-            "type": "A String", # The type of range.
-          },
-          "objectId": "A String", # The object ID of the shape or table containing the text to delete bullets
-              # from.
           "cellLocation": { # A location of a single table cell within a table. # The optional table cell location if the text to be modified is in a table
               # cell. If present, the object_id must refer to a table.
             "rowIndex": 42, # The 0-based row index.
             "columnIndex": 42, # The 0-based column index.
           },
+          "objectId": "A String", # The object ID of the shape or table containing the text to delete bullets
+              # from.
+          "textRange": { # Specifies a contiguous range of an indexed collection, such as characters in # The range of text to delete bullets from, based on TextElement indexes.
+              # text.
+            "endIndex": 42, # The optional zero-based index of the end of the collection.
+                # Required for `FIXED_RANGE` ranges.
+            "startIndex": 42, # The optional zero-based index of the beginning of the collection.
+                # Required for `FIXED_RANGE` and `FROM_START_INDEX` ranges.
+            "type": "A String", # The type of range.
+          },
         },
-        "updateTextStyle": { # Update the styling of text in a Shape or # Updates the styling of text within a Shape or Table.
-            # Table.
+        "updateLineProperties": { # Updates the properties of a Line. # Updates the properties of a Line.
           "fields": "A String", # The fields that should be updated.
               #
-              # At least one field must be specified. The root `style` is implied and
-              # should not be specified. A single `"*"` can be used as short-hand for
-              # listing every field.
+              # At least one field must be specified. The root `lineProperties` is
+              # implied and should not be specified. A single `"*"` can be used as
+              # short-hand for listing every field.
               #
-              # For example, to update the text style to bold, set `fields` to `"bold"`.
+              # For example to update the line solid fill color, set `fields` to
+              # `"lineFill.solidFill.color"`.
               #
               # To reset a property to its default value, include its field name in the
               # field mask but leave the field itself unset.
-          "style": { # Represents the styling that can be applied to a TextRun. # The style(s) to set on the text.
+          "lineProperties": { # The properties of the Line. # The line properties to update.
               #
-              # If the value for a particular style matches that of the parent, that style
-              # will be set to inherit.
-              #
-              # Certain text style changes may cause other changes meant to mirror the
-              # behavior of the Slides editor. See the documentation of
-              # TextStyle for more information.
-              #
-              # If this text is contained in a shape with a parent placeholder, then these text styles may be
-              # inherited from the parent. Which text styles are inherited depend on the
-              # nesting level of lists:
-              #
-              # * A text run in a paragraph that is not in a list will inherit its text style
-              #   from the the newline character in the paragraph at the 0 nesting level of
-              #   the list inside the parent placeholder.
-              # * A text run in a paragraph that is in a list will inherit its text style
-              #   from the newline character in the paragraph at its corresponding nesting
-              #   level of the list inside the parent placeholder.
-              #
-              # Inherited text styles are represented as unset fields in this message. If
-              # text is contained in a shape without a parent placeholder, unsetting these
-              # fields will revert the style to a value matching the defaults in the Slides
-              # editor.
-            "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                # transparent, depending on if the `opaque_color` field in it is set.
-              "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                  # a transparent color.
-                "themeColor": "A String", # An opaque theme color.
-                "rgbColor": { # An RGB color. # An opaque RGB color.
-                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                },
-              },
-            },
-            "bold": True or False, # Whether or not the text is rendered as bold.
-            "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                #
-                # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                # rendered in a smaller font size, computed based on the `font_size` field.
-                # The `font_size` itself is not affected by changes in this field.
-            "strikethrough": True or False, # Whether or not the text is struck through.
-            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                # read-only.
-                #
-                # This field is an extension of `font_family` meant to support explicit font
-                # weights without breaking backwards compatibility. As such, when reading the
-                # style of a range of text, the value of `weighted_font_family.font_family`
-                # will always be equal to that of `font_family`.
-              "fontFamily": "A String", # The font family of the text.
-                  #
-                  # The font family can be any font from the Font menu in Slides or from
-                  # [Google Fonts] (https://fonts.google.com/). If the font name is
-                  # unrecognized, the text is rendered in `Arial`.
-              "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                  # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                  # only the numerical values described in the "Cascading Style Sheets Level
-                  # 2 Revision 1 (CSS 2.1) Specification",
-                  # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                  # non-numerical values in the specification are disallowed. Weights greater
-                  # than or equal to 700 are considered bold, and weights less than 700 are
-                  # not bold. The default value is `400` ("normal").
-            },
-            "smallCaps": True or False, # Whether or not the text is in small capital letters.
-            "fontFamily": "A String", # The font family of the text.
-                #
-                # The font family can be any font from the Font menu in Slides or from
-                # [Google Fonts] (https://fonts.google.com/). If the font name is
-                # unrecognized, the text is rendered in `Arial`.
-                #
-                # Some fonts can affect the weight of the text. If an update request
-                # specifies values for both `font_family` and `bold`, the explicitly-set
-                # `bold` value is used.
-            "italic": True or False, # Whether or not the text is italicized.
-            "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                # are not inherited from parent text.
-                #
-                # Changing the link in an update request causes some other changes to the
-                # text style of the range:
-                #
-                # * When setting a link, the text foreground color will be set to
-                #   ThemeColorType.HYPERLINK and the text will
-                #   be underlined. If these fields are modified in the same
-                #   request, those values will be used instead of the link defaults.
-                # * Setting a link on a text range that overlaps with an existing link will
-                #   also update the existing link to point to the new URL.
-                # * Links are not settable on newline characters. As a result, setting a link
-                #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                #   will separate the newline character(s) into their own text runs. The
-                #   link will be applied separately to the runs before and after the newline.
-                # * Removing a link will update the text style of the range to match the
-                #   style of the preceding text (or the default text styles if the preceding
-                #   text is another link) unless different styles are being set in the same
-                #   request.
-              "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                  # presentation with this ID. A page with this ID may not exist.
-              "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                  # in the presentation. There may not be a slide at this index.
-              "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                  # addressed by its position.
-            },
-            "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                # transparent, depending on if the `opaque_color` field in it is set.
-              "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                  # a transparent color.
-                "themeColor": "A String", # An opaque theme color.
-                "rgbColor": { # An RGB color. # An opaque RGB color.
-                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                },
-              },
-            },
-            "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                # points.
+              # When unset, these fields default to values that match the appearance of
+              # new lines created in the Slides editor.
+            "dashStyle": "A String", # The dash style of the line.
+            "weight": { # A magnitude in a single direction in the specified units. # The thickness of the line.
               "magnitude": 3.14, # The magnitude.
               "unit": "A String", # The units for magnitude.
             },
-            "underline": True or False, # Whether or not the text is underlined.
+            "endArrow": "A String", # The style of the arrow at the end of the line.
+            "link": { # A hypertext link. # The hyperlink destination of the line. If unset, there is no link.
+              "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+              "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                  # in the presentation. There may not be a slide at this index.
+              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                  # presentation with this ID. A page with this ID may not exist.
+              "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                  # addressed by its position.
+            },
+            "lineFill": { # The fill of the line. # The fill of the line. The default line fill matches the defaults for new
+                # lines created in the Slides editor.
+              "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                  # specified color value.
+                  #
+                  # If any field is unset, its value may be inherited from a parent placeholder
+                  # if it exists.
+                "color": { # A themeable solid color value. # The color value of the solid fill.
+                  "themeColor": "A String", # An opaque theme color.
+                  "rgbColor": { # An RGB color. # An opaque RGB color.
+                    "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                    "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                    "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                  },
+                },
+                "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                    # That is, the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color.
+              },
+            },
+            "startArrow": "A String", # The style of the arrow at the beginning of the line.
           },
-          "textRange": { # Specifies a contiguous range of an indexed collection, such as characters in # The range of text to style.
-              #
-              # The range may be extended to include adjacent newlines.
-              #
-              # If the range fully contains a paragraph belonging to a list, the
-              # paragraph's bullet is also updated with the matching text style.
-              # text.
-            "endIndex": 42, # The optional zero-based index of the end of the collection.
-                # Required for `SPECIFIC_RANGE` delete mode.
-            "startIndex": 42, # The optional zero-based index of the beginning of the collection.
-                # Required for `SPECIFIC_RANGE` and `FROM_START_INDEX` ranges.
-            "type": "A String", # The type of range.
-          },
-          "objectId": "A String", # The object ID of the shape or table with the text to be styled.
-          "cellLocation": { # A location of a single table cell within a table. # The location of the cell in the table containing the text to style. If
-              # `object_id` refers to a table, `cell_location` must have a value.
-              # Otherwise, it must not.
-            "rowIndex": 42, # The 0-based row index.
-            "columnIndex": 42, # The 0-based column index.
-          },
+          "objectId": "A String", # The object ID of the line the update is applied to.
         },
         "deleteText": { # Deletes text from a shape or a table cell. # Deletes text from a shape or a table cell.
           "textRange": { # Specifies a contiguous range of an indexed collection, such as characters in # The range of text to delete, based on TextElement indexes.
@@ -812,9 +724,9 @@
               # include both code units.
               # text.
             "endIndex": 42, # The optional zero-based index of the end of the collection.
-                # Required for `SPECIFIC_RANGE` delete mode.
+                # Required for `FIXED_RANGE` ranges.
             "startIndex": 42, # The optional zero-based index of the beginning of the collection.
-                # Required for `SPECIFIC_RANGE` and `FROM_START_INDEX` ranges.
+                # Required for `FIXED_RANGE` and `FROM_START_INDEX` ranges.
             "type": "A String", # The type of range.
           },
           "objectId": "A String", # The object ID of the shape or table from which the text will be deleted.
@@ -916,77 +828,207 @@
               # field mask but leave the field itself unset.
           "objectId": "A String", # The object ID of the page the update is applied to.
         },
-        "updateLineProperties": { # Updates the properties of a Line. # Updates the properties of a Line.
+        "updateTextStyle": { # Update the styling of text in a Shape or # Updates the styling of text within a Shape or Table.
+            # Table.
           "fields": "A String", # The fields that should be updated.
               #
-              # At least one field must be specified. The root `lineProperties` is
-              # implied and should not be specified. A single `"*"` can be used as
-              # short-hand for listing every field.
+              # At least one field must be specified. The root `style` is implied and
+              # should not be specified. A single `"*"` can be used as short-hand for
+              # listing every field.
               #
-              # For example to update the line solid fill color, set `fields` to
-              # `"lineFill.solidFill.color"`.
+              # For example, to update the text style to bold, set `fields` to `"bold"`.
               #
               # To reset a property to its default value, include its field name in the
               # field mask but leave the field itself unset.
-          "lineProperties": { # The properties of the Line. # The line properties to update.
+          "style": { # Represents the styling that can be applied to a TextRun. # The style(s) to set on the text.
               #
-              # When unset, these fields default to values that match the appearance of
-              # new lines created in the Slides editor.
-            "dashStyle": "A String", # The dash style of the line.
-            "weight": { # A magnitude in a single direction in the specified units. # The thickness of the line.
-              "magnitude": 3.14, # The magnitude.
-              "unit": "A String", # The units for magnitude.
+              # If the value for a particular style matches that of the parent, that style
+              # will be set to inherit.
+              #
+              # Certain text style changes may cause other changes meant to mirror the
+              # behavior of the Slides editor. See the documentation of
+              # TextStyle for more information.
+              #
+              # If this text is contained in a shape with a parent placeholder, then these text styles may be
+              # inherited from the parent. Which text styles are inherited depend on the
+              # nesting level of lists:
+              #
+              # * A text run in a paragraph that is not in a list will inherit its text style
+              #   from the the newline character in the paragraph at the 0 nesting level of
+              #   the list inside the parent placeholder.
+              # * A text run in a paragraph that is in a list will inherit its text style
+              #   from the newline character in the paragraph at its corresponding nesting
+              #   level of the list inside the parent placeholder.
+              #
+              # Inherited text styles are represented as unset fields in this message. If
+              # text is contained in a shape without a parent placeholder, unsetting these
+              # fields will revert the style to a value matching the defaults in the Slides
+              # editor.
+            "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                # transparent, depending on if the `opaque_color` field in it is set.
+              "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                  # a transparent color.
+                "themeColor": "A String", # An opaque theme color.
+                "rgbColor": { # An RGB color. # An opaque RGB color.
+                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                },
+              },
             },
-            "endArrow": "A String", # The style of the arrow at the end of the line.
-            "link": { # A hypertext link. # The hyperlink destination of the line. If unset, there is no link.
+            "bold": True or False, # Whether or not the text is rendered as bold.
+            "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                #
+                # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                # rendered in a smaller font size, computed based on the `font_size` field.
+                # The `font_size` itself is not affected by changes in this field.
+            "strikethrough": True or False, # Whether or not the text is struck through.
+            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                #
+                # This field is an extension of `font_family` meant to support explicit font
+                # weights without breaking backwards compatibility. As such, when reading the
+                # style of a range of text, the value of `weighted_font_family#font_family`
+                # will always be equal to that of `font_family`. However, when writing, if
+                # both fields are included in the field mask (either explicitly or through
+                # the wildcard `"*"`), their values are reconciled as follows:
+                #
+                # * If `font_family` is set and `weighted_font_family` is not, the value of
+                #   `font_family` is applied with weight `400` ("normal").
+                # * If both fields are set, the value of `font_family` must match that of
+                #   `weighted_font_family#font_family`. If so, the font family and weight of
+                #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                #   returned.
+                # * If `weighted_font_family` is set and `font_family` is not, the font
+                #   family and weight of `weighted_font_family` is applied.
+                # * If neither field is set, the font family and weight of the text inherit
+                #   from the parent. Note that these properties cannot inherit separately
+                #   from each other.
+                #
+                # If an update request specifies values for both `weighted_font_family` and
+                # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                #
+                # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                #
+                # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                # is returned.
+              "fontFamily": "A String", # The font family of the text.
+                  #
+                  # The font family can be any font from the Font menu in Slides or from
+                  # [Google Fonts] (https://fonts.google.com/). If the font name is
+                  # unrecognized, the text is rendered in `Arial`.
+              "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                  # multiple of `100` between `100` and `900`, inclusive. This range
+                  # corresponds to the numerical values described in the CSS 2.1
+                  # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                  # with non-numerical values disallowed. Weights greater than or equal to
+                  # `700` are considered bold, and weights less than `700`are not bold. The
+                  # default value is `400` ("normal").
+            },
+            "smallCaps": True or False, # Whether or not the text is in small capital letters.
+            "fontFamily": "A String", # The font family of the text.
+                #
+                # The font family can be any font from the Font menu in Slides or from
+                # [Google Fonts] (https://fonts.google.com/). If the font name is
+                # unrecognized, the text is rendered in `Arial`.
+                #
+                # Some fonts can affect the weight of the text. If an update request
+                # specifies values for both `font_family` and `bold`, the explicitly-set
+                # `bold` value is used.
+            "italic": True or False, # Whether or not the text is italicized.
+            "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                # are not inherited from parent text.
+                #
+                # Changing the link in an update request causes some other changes to the
+                # text style of the range:
+                #
+                # * When setting a link, the text foreground color will be set to
+                #   ThemeColorType.HYPERLINK and the text will
+                #   be underlined. If these fields are modified in the same
+                #   request, those values will be used instead of the link defaults.
+                # * Setting a link on a text range that overlaps with an existing link will
+                #   also update the existing link to point to the new URL.
+                # * Links are not settable on newline characters. As a result, setting a link
+                #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                #   will separate the newline character(s) into their own text runs. The
+                #   link will be applied separately to the runs before and after the newline.
+                # * Removing a link will update the text style of the range to match the
+                #   style of the preceding text (or the default text styles if the preceding
+                #   text is another link) unless different styles are being set in the same
+                #   request.
               "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                  # presentation with this ID. A page with this ID may not exist.
               "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                   # in the presentation. There may not be a slide at this index.
+              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                  # presentation with this ID. A page with this ID may not exist.
               "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                   # addressed by its position.
             },
-            "lineFill": { # The fill of the line. # The fill of the line. The default line fill matches the defaults for new
-                # lines created in the Slides editor.
-              "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                  # specified color value.
-                  #
-                  # If any field is unset, its value may be inherited from a parent placeholder
-                  # if it exists.
-                "color": { # A themeable solid color value. # The color value of the solid fill.
-                  "themeColor": "A String", # An opaque theme color.
-                  "rgbColor": { # An RGB color. # An opaque RGB color.
-                    "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                    "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                    "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                  },
+            "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                # transparent, depending on if the `opaque_color` field in it is set.
+              "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                  # a transparent color.
+                "themeColor": "A String", # An opaque theme color.
+                "rgbColor": { # An RGB color. # An opaque RGB color.
+                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
                 },
-                "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                    # That is, the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color.
               },
             },
-            "startArrow": "A String", # The style of the arrow at the beginning of the line.
+            "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                # points.
+              "magnitude": 3.14, # The magnitude.
+              "unit": "A String", # The units for magnitude.
+            },
+            "underline": True or False, # Whether or not the text is underlined.
           },
-          "objectId": "A String", # The object ID of the line the update is applied to.
+          "textRange": { # Specifies a contiguous range of an indexed collection, such as characters in # The range of text to style.
+              #
+              # The range may be extended to include adjacent newlines.
+              #
+              # If the range fully contains a paragraph belonging to a list, the
+              # paragraph's bullet is also updated with the matching text style.
+              # text.
+            "endIndex": 42, # The optional zero-based index of the end of the collection.
+                # Required for `FIXED_RANGE` ranges.
+            "startIndex": 42, # The optional zero-based index of the beginning of the collection.
+                # Required for `FIXED_RANGE` and `FROM_START_INDEX` ranges.
+            "type": "A String", # The type of range.
+          },
+          "objectId": "A String", # The object ID of the shape or table with the text to be styled.
+          "cellLocation": { # A location of a single table cell within a table. # The location of the cell in the table containing the text to style. If
+              # `object_id` refers to a table, `cell_location` must have a value.
+              # Otherwise, it must not.
+            "rowIndex": 42, # The 0-based row index.
+            "columnIndex": 42, # The 0-based column index.
+          },
         },
         "updateTableCellProperties": { # Update the properties of a TableCell. # Updates the properties of a TableCell.
-          "fields": "A String", # The fields that should be updated.
+          "tableRange": { # A table range represents a reference to a subset of a table. # The table range representing the subset of the table to which the updates
+              # are applied. If a table range is not specified, the updates will apply to
+              # the entire table.
               #
-              # At least one field must be specified. The root `tableCellProperties` is
-              # implied and should not be specified. A single `"*"` can be used as
-              # short-hand for listing every field.
+              # It's important to note that the cells specified by a table range do not
+              # necessarily form a rectangle. For example, let's say we have a 3 x 3 table
+              # where all the cells of the last row are merged together. The table looks
+              # like this:
               #
-              # For example to update the table cell background solid fill color, set
-              # `fields` to `"tableCellBackgroundFill.solidFill.color"`.
               #
-              # To reset a property to its default value, include its field name in the
-              # field mask but leave the field itself unset.
+              #   [             ]
+              #
+              # A table range with location = (0, 0), row span = 3 and column span = 2
+              # specifies the following cells:
+              #
+              #    x     x
+              #   [      x      ]
+            "rowSpan": 42, # The row span of the table range.
+            "columnSpan": 42, # The column span of the table range.
+            "location": { # A location of a single table cell within a table. # The starting location of the table range.
+              "rowIndex": 42, # The 0-based row index.
+              "columnIndex": 42, # The 0-based column index.
+            },
+          },
           "tableCellProperties": { # The properties of the TableCell. # The table cell properties to update.
             "tableCellBackgroundFill": { # The table cell background fill. # The background fill of the table cell. The default fill matches the fill
                 # for newly created table cells in the Slides editor.
@@ -1020,38 +1062,19 @@
             },
           },
           "objectId": "A String", # The object ID of the table.
-          "tableRange": { # A table range represents a reference to a subset of a table. # The table range representing the subset of the table to which the updates
-              # are applied. If a table range is not specified, the updates will apply to
-              # the entire table.
+          "fields": "A String", # The fields that should be updated.
               #
-              # It's important to note that the cells specified by a table range do not
-              # necessarily form a rectangle. For example, let's say we have a 3 x 3 table
-              # where all the cells of the last row are merged together. The table looks
-              # like this:
+              # At least one field must be specified. The root `tableCellProperties` is
+              # implied and should not be specified. A single `"*"` can be used as
+              # short-hand for listing every field.
               #
+              # For example to update the table cell background solid fill color, set
+              # `fields` to `"tableCellBackgroundFill.solidFill.color"`.
               #
-              #   [             ]
-              #
-              # A table range with location = (0, 0), row span = 3 and column span = 2
-              # specifies the following cells:
-              #
-              #    x     x
-              #   [      x      ]
-            "rowSpan": 42, # The row span of the table range.
-            "columnSpan": 42, # The column span of the table range.
-            "location": { # A location of a single table cell within a table. # The starting location of the table range.
-              "rowIndex": 42, # The 0-based row index.
-              "columnIndex": 42, # The 0-based column index.
-            },
-          },
+              # To reset a property to its default value, include its field name in the
+              # field mask but leave the field itself unset.
         },
         "replaceAllShapesWithImage": { # Replaces all shapes that match the given criteria with the provided image. # Replaces all shapes matching some criteria with an image.
-          "imageUrl": "A String", # The image URL.
-              #
-              # The image is fetched once at insertion time and a copy is stored for
-              # display inside the presentation. Images must be less than 50MB in size,
-              # cannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF
-              # format.
           "containsText": { # A criteria that matches a specific string of text in a shape or table. # If set, this request will replace all of the shapes that contain the
               # given text.
             "text": "A String", # The text to search for in the shape or table.
@@ -1060,6 +1083,20 @@
                 # - `True`: the search is case sensitive.
                 # - `False`: the search is case insensitive.
           },
+          "pageObjectIds": [ # If non-empty, limits the matches to page elements only on the given pages.
+              #
+              # Returns a 400 bad request error if given the page object ID of a
+              # notes page or a
+              # notes master, or if a
+              # page with that object ID doesn't exist in the presentation.
+            "A String",
+          ],
+          "imageUrl": "A String", # The image URL.
+              #
+              # The image is fetched once at insertion time and a copy is stored for
+              # display inside the presentation. Images must be less than 50MB in size,
+              # cannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF
+              # format.
           "replaceMethod": "A String", # The replace method.
         },
         "updateSlidesPosition": { # Updates the position of slides in the presentation. # Updates the position of a set of slides in the presentation.
@@ -1127,8 +1164,8 @@
               # Inherited paragraph styles are represented as unset fields in this message.
             "spacingMode": "A String", # The spacing mode for the paragraph.
             "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                # LEFT_TO_RIGHT
-                # since text direction is not inherited.
+                # LEFT_TO_RIGHT since
+                # text direction is not inherited.
             "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
                 # inherited from the parent.
               "magnitude": 3.14, # The magnitude.
@@ -1163,9 +1200,9 @@
           "textRange": { # Specifies a contiguous range of an indexed collection, such as characters in # The range of text containing the paragraph(s) to style.
               # text.
             "endIndex": 42, # The optional zero-based index of the end of the collection.
-                # Required for `SPECIFIC_RANGE` delete mode.
+                # Required for `FIXED_RANGE` ranges.
             "startIndex": 42, # The optional zero-based index of the beginning of the collection.
-                # Required for `SPECIFIC_RANGE` and `FROM_START_INDEX` ranges.
+                # Required for `FIXED_RANGE` and `FROM_START_INDEX` ranges.
             "type": "A String", # The type of range.
           },
           "objectId": "A String", # The object ID of the shape or table with the text to be styled.
@@ -1191,14 +1228,21 @@
                 # - `True`: the search is case sensitive.
                 # - `False`: the search is case insensitive.
           },
+          "pageObjectIds": [ # If non-empty, limits the matches to page elements only on the given pages.
+              #
+              # Returns a 400 bad request error if given the page object ID of a
+              # notes master,
+              # or if a page with that object ID doesn't exist in the presentation.
+            "A String",
+          ],
           "replaceText": "A String", # The text that will replace the matched text.
         },
         "createSheetsChart": { # Creates an embedded Google Sheets chart. # Creates an embedded Google Sheets chart.
             #
             # NOTE: Chart creation requires at least one of the spreadsheets.readonly,
             # spreadsheets, drive.readonly, or drive OAuth scopes.
-          "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the chart.
           "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet.
+          "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the chart.
           "linkingMode": "A String", # The mode with which the chart is linked to the source spreadsheet. When
               # not specified, the chart will be an image that is not linked.
           "elementProperties": { # Common properties for a page element. # The element properties for the chart.
@@ -1254,6 +1298,36 @@
               # If empty, a unique identifier will be generated.
         },
         "createSlide": { # Creates a new slide. # Creates a new slide.
+          "placeholderIdMappings": [ # An optional list of object ID mappings from the placeholder(s) on the layout to the placeholder(s)
+              # that will be created on the new slide from that specified layout. Can only
+              # be used when `slide_layout_reference` is specified.
+            { # The user-specified ID mapping for a placeholder that will be created on a
+                # slide from a specified layout.
+              "layoutPlaceholder": { # The placeholder information that uniquely identifies a placeholder shape. # The placeholder on a layout that will be applied to a slide. Only type and index are needed. For example, a
+                  # predefined `TITLE_AND_BODY` layout may usually have a TITLE placeholder
+                  # with index 0 and a BODY placeholder with index 0.
+                "parentObjectId": "A String", # The object ID of this shape's parent placeholder.
+                    # If unset, the parent placeholder shape does not exist, so the shape does
+                    # not inherit properties from any other shape.
+                "index": 42, # The index of the placeholder. If the same placeholder types are present in
+                    # the same page, they would have different index values.
+                "type": "A String", # The type of the placeholder.
+              },
+              "objectId": "A String", # A user-supplied object ID for the placeholder identified above that to be
+                  # created onto a slide.
+                  #
+                  # If you specify an ID, it must be unique among all pages and page elements
+                  # in the presentation. The ID must start with an alphanumeric character or an
+                  # underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
+                  # may include those as well as a hyphen or colon (matches regex
+                  # `[a-zA-Z0-9_-:]`).
+                  # The length of the ID must not be less than 5 or greater than 50.
+                  #
+                  # If you don't specify an ID, a unique one is generated.
+              "layoutPlaceholderObjectId": "A String", # The object ID of the placeholder on a layout that will be applied
+                  # to a slide.
+            },
+          ],
           "slideLayoutReference": { # Slide layout reference. This may reference either: # Layout reference of the slide to be inserted, based on the *current
               # master*, which is one of the following:
               #
@@ -1272,36 +1346,6 @@
             "predefinedLayout": "A String", # Predefined layout.
             "layoutId": "A String", # Layout ID: the object ID of one of the layouts in the presentation.
           },
-          "placeholderIdMappings": [ # An optional list of object ID mappings from the placeholder(s) on the layout to the placeholder(s)
-              # that will be created on the new slide from that specified layout. Can only
-              # be used when `slide_layout_reference` is specified.
-            { # The user-specified ID mapping for a placeholder that will be created on a
-                # slide from a specified layout.
-              "layoutPlaceholder": { # The placeholder information that uniquely identifies a placeholder shape. # The placeholder on a layout that will be applied to a slide. Only type and index are needed. For example, a
-                  # predefined `TITLE_AND_BODY` layout may usually have a TITLE placeholder
-                  # with index 0 and a BODY placeholder with index 0.
-                "parentObjectId": "A String", # The object ID of this shape's parent placeholder.
-                    # If unset, the parent placeholder shape does not exist, so the shape does
-                    # not inherit properties from any other shape.
-                "index": 42, # The index of the placeholder. If the same placeholder types are the present
-                    # in the same page, they would have different index values.
-                "type": "A String", # The type of the placeholder.
-              },
-              "layoutPlaceholderObjectId": "A String", # The object ID of the placeholder on a layout that will be applied
-                  # to a slide.
-              "objectId": "A String", # A user-supplied object ID for the placeholder identified above that to be
-                  # created onto a slide.
-                  #
-                  # If you specify an ID, it must be unique among all pages and page elements
-                  # in the presentation. The ID must start with an alphanumeric character or an
-                  # underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
-                  # may include those as well as a hyphen or colon (matches regex
-                  # `[a-zA-Z0-9_-:]`).
-                  # The length of the ID must not be less than 5 or greater than 50.
-                  #
-                  # If you don't specify an ID, a unique one is generated.
-            },
-          ],
           "objectId": "A String", # A user-supplied object ID.
               #
               # If you specify an ID, it must be unique among all pages and page elements
@@ -1437,10 +1481,10 @@
             "link": { # A hypertext link. # The hyperlink destination of the shape. If unset, there is no link. Links
                 # are not inherited from parent placeholders.
               "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                  # presentation with this ID. A page with this ID may not exist.
               "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                   # in the presentation. There may not be a slide at this index.
+              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                  # presentation with this ID. A page with this ID may not exist.
               "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                   # addressed by its position.
             },
@@ -1543,30 +1587,23 @@
               # The length of the ID must not be less than 5 or greater than 50.
               # If empty, a unique identifier will be generated.
         },
-        "updatePageElementTransform": { # Updates the transform of a page element. # Updates the transform of a page element.
-          "applyMode": "A String", # The apply mode of the transform update.
-          "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # The input transform matrix used to update the page element.
-              # to transform source coordinates (x,y) into destination coordinates (x', y')
-              # according to:
+        "insertTableColumns": { # Inserts columns into a table. # Inserts columns into a table.
+            #
+            # Other columns in the table will be resized to fit the new column.
+          "number": 42, # The number of columns to be inserted. Maximum 20 per request.
+          "insertRight": True or False, # Whether to insert new columns to the right of the reference cell location.
               #
-              #       x'  x  =   shear_y  scale_y  translate_y
-              #       1  [ 1 ]
+              # - `True`: insert to the right.
+              # - `False`: insert to the left.
+          "cellLocation": { # A location of a single table cell within a table. # The reference table cell location from which columns will be inserted.
               #
-              # After transformation,
-              #
-              #      x' = scale_x * x + shear_x * y + translate_x;
-              #      y' = scale_y * y + shear_y * x + translate_y;
-              #
-              # This message is therefore composed of these six matrix elements.
-            "translateX": 3.14, # The X coordinate translation element.
-            "translateY": 3.14, # The Y coordinate translation element.
-            "scaleX": 3.14, # The X coordinate scaling element.
-            "scaleY": 3.14, # The Y coordinate scaling element.
-            "shearY": 3.14, # The Y coordinate shearing element.
-            "shearX": 3.14, # The X coordinate shearing element.
-            "unit": "A String", # The units for translate elements.
+              # A new column will be inserted to the left (or right) of the column where
+              # the reference cell is. If the reference cell is a merged cell, a new
+              # column will be inserted to the left (or right) of the merged cell.
+            "rowIndex": 42, # The 0-based row index.
+            "columnIndex": 42, # The 0-based column index.
           },
-          "objectId": "A String", # The object ID of the page element to update.
+          "tableObjectId": "A String", # The table to insert columns into.
         },
         "createParagraphBullets": { # Creates bullets for all of the paragraphs that overlap with the given # Creates bullets for paragraphs.
             # text index range.
@@ -1584,9 +1621,9 @@
           "textRange": { # Specifies a contiguous range of an indexed collection, such as characters in # The range of text to apply the bullet presets to, based on TextElement indexes.
               # text.
             "endIndex": 42, # The optional zero-based index of the end of the collection.
-                # Required for `SPECIFIC_RANGE` delete mode.
+                # Required for `FIXED_RANGE` ranges.
             "startIndex": 42, # The optional zero-based index of the beginning of the collection.
-                # Required for `SPECIFIC_RANGE` and `FROM_START_INDEX` ranges.
+                # Required for `FIXED_RANGE` and `FROM_START_INDEX` ranges.
             "type": "A String", # The type of range.
           },
           "objectId": "A String", # The object ID of the shape or table containing the text to add bullets to.
@@ -1666,28 +1703,34 @@
           },
           "tableObjectId": "A String", # The table to delete columns from.
         },
-        "insertTableColumns": { # Inserts columns into a table. # Inserts columns into a table.
-            #
-            # Other columns in the table will be resized to fit the new column.
-          "number": 42, # The number of columns to be inserted. Maximum 20 per request.
-          "insertRight": True or False, # Whether to insert new columns to the right of the reference cell location.
+        "updatePageElementTransform": { # Updates the transform of a page element. # Updates the transform of a page element.
+          "applyMode": "A String", # The apply mode of the transform update.
+          "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # The input transform matrix used to update the page element.
+              # to transform source coordinates (x,y) into destination coordinates (x', y')
+              # according to:
               #
-              # - `True`: insert to the right.
-              # - `False`: insert to the left.
-          "cellLocation": { # A location of a single table cell within a table. # The reference table cell location from which columns will be inserted.
+              #       x'  x  =   shear_y  scale_y  translate_y
+              #       1  [ 1 ]
               #
-              # A new column will be inserted to the left (or right) of the column where
-              # the reference cell is. If the reference cell is a merged cell, a new
-              # column will be inserted to the left (or right) of the merged cell.
-            "rowIndex": 42, # The 0-based row index.
-            "columnIndex": 42, # The 0-based column index.
+              # After transformation,
+              #
+              #      x' = scale_x * x + shear_x * y + translate_x;
+              #      y' = scale_y * y + shear_y * x + translate_y;
+              #
+              # This message is therefore composed of these six matrix elements.
+            "translateX": 3.14, # The X coordinate translation element.
+            "translateY": 3.14, # The Y coordinate translation element.
+            "scaleX": 3.14, # The X coordinate scaling element.
+            "scaleY": 3.14, # The Y coordinate scaling element.
+            "shearY": 3.14, # The Y coordinate shearing element.
+            "shearX": 3.14, # The X coordinate shearing element.
+            "unit": "A String", # The units for translate elements.
           },
-          "tableObjectId": "A String", # The table to insert columns into.
+          "objectId": "A String", # The object ID of the page element to update.
         },
       },
     ],
-    "writeControl": { # Provides control over how write requests are executed. # Provides control over how write requests are executed, such as
-        # conditionally updating the presentation.
+    "writeControl": { # Provides control over how write requests are executed. # Provides control over how write requests are executed.
       "requiredRevisionId": "A String", # The revision ID of the presentation required for the write request. If
           # specified and the `required_revision_id` doesn't exactly match the
           # presentation's current `revision_id`, the request will not be processed and
@@ -1760,2057 +1803,6 @@
 
 { # A Google Slides presentation.
     "presentationId": "A String", # The ID of the presentation.
-    "masters": [ # The slide masters in the presentation. A slide master contains all common
-        # page elements and the common properties for a set of layouts. They serve
-        # three purposes:
-        # 
-        # - Placeholder shapes on a master contain the default text styles and shape
-        #   properties of all placeholder shapes on pages that use that master.
-        # - The master page properties define the common page properties inherited by
-        #   its layouts.
-        # - Any other shapes on the master slide will appear on all slides using that
-        #   master, regardless of their layout.
-      { # A page in a presentation.
-        "layoutProperties": { # The properties of Page are only # Layout specific properties. Only set if page_type = LAYOUT.
-            # relevant for pages with page_type LAYOUT.
-          "displayName": "A String", # The human readable name of the layout in the presentation's locale.
-          "name": "A String", # The name of the layout.
-          "masterObjectId": "A String", # The object ID of the master that this layout is based on.
-        },
-        "pageElements": [ # The page elements rendered on the page.
-          { # A visual element rendered on a page.
-            "wordArt": { # A PageElement kind representing # A word art page element.
-                # word art.
-              "renderedText": "A String", # The text rendered as word art.
-            },
-            "description": "A String", # The description of the page element. Combined with title to display alt
-                # text.
-            "objectId": "A String", # The object ID for this page element. Object IDs used by
-                # google.apps.slides.v1.Page and
-                # google.apps.slides.v1.PageElement share the same namespace.
-            "title": "A String", # The title of the page element. Combined with description to display alt
-                # text.
-            "image": { # A PageElement kind representing an # An image page element.
-                # image.
-              "contentUrl": "A String", # An URL to an image with a default lifetime of 30 minutes.
-                  # This URL is tagged with the account of the requester. Anyone with the URL
-                  # effectively accesses the image as the original requester. Access to the
-                  # image may be lost if the presentation's sharing settings change.
-              "imageProperties": { # The properties of the Image. # The properties of the image.
-                "outline": { # The outline of a PageElement. # The outline of the image. If not set, the the image has no outline.
-                    #
-                    # If these fields are unset, they may be inherited from a parent placeholder
-                    # if it exists. If there is no parent, the fields will default to the value
-                    # used for new page elements created in the Slides editor, which may depend on
-                    # the page element kind.
-                  "outlineFill": { # The fill of the outline. # The fill of the outline.
-                    "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                        # specified color value.
-                        #
-                        # If any field is unset, its value may be inherited from a parent placeholder
-                        # if it exists.
-                      "color": { # A themeable solid color value. # The color value of the solid fill.
-                        "themeColor": "A String", # An opaque theme color.
-                        "rgbColor": { # An RGB color. # An opaque RGB color.
-                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                        },
-                      },
-                      "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                          # That is, the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color.
-                    },
-                  },
-                  "propertyState": "A String", # The outline property state.
-                      #
-                      # Updating the the outline on a page element will implicitly update this
-                      # field to`RENDERED`, unless another value is specified in the same request.
-                      # To have no outline on a page element, set this field to `NOT_RENDERED`. In
-                      # this case, any other outline fields set in the same request will be
-                      # ignored.
-                  "dashStyle": "A String", # The dash style of the outline.
-                  "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
-                    "magnitude": 3.14, # The magnitude.
-                    "unit": "A String", # The units for magnitude.
-                  },
-                },
-                "brightness": 3.14, # The brightness effect of the image. The value should be in the interval
-                    # [-1.0, 1.0], where 0 means no effect. This property is read-only.
-                "recolor": { # A recolor effect applied on an image. # The recolor effect of the image. If not set, the image is not recolored.
-                    # This property is read-only.
-                  "recolorStops": [ # The recolor effect is represented by a gradient, which is a list of color
-                      # stops.
-                      #
-                      # The colors in the gradient will replace the corresponding colors at
-                      # the same position in the color palette and apply to the image. This
-                      # property is read-only.
-                    { # A color and position in a gradient band.
-                      "color": { # A themeable solid color value. # The color of the gradient stop.
-                        "themeColor": "A String", # An opaque theme color.
-                        "rgbColor": { # An RGB color. # An opaque RGB color.
-                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                        },
-                      },
-                      "alpha": 3.14, # The alpha value of this color in the gradient band. Defaults to 1.0,
-                          # fully opaque.
-                      "position": 3.14, # The relative position of the color stop in the gradient band measured
-                          # in percentage. The value should be in the interval [0.0, 1.0].
-                    },
-                  ],
-                  "name": "A String", # The name of the recolor effect.
-                      #
-                      # The name is determined from the `recolor_stops` by matching the gradient
-                      # against the colors in the page's current color scheme. This property is
-                      # read-only.
-                },
-                "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
-                  "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                      # presentation with this ID. A page with this ID may not exist.
-                  "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                      # in the presentation. There may not be a slide at this index.
-                  "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                      # addressed by its position.
-                },
-                "transparency": 3.14, # The transparency effect of the image. The value should be in the interval
-                    # [0.0, 1.0], where 0 means no effect and 1 means completely transparent.
-                    # This property is read-only.
-                "cropProperties": { # The crop properties of an object enclosed in a container. For example, an # The crop properties of the image. If not set, the image is not cropped.
-                    # This property is read-only.
-                    # Image.
-                    #
-                    # The crop properties is represented by the offsets of four edges which define
-                    # a crop rectangle. The offsets are measured in percentage from the
-                    # corresponding edges of the object's original bounding rectangle towards
-                    # inside, relative to the object's original dimensions.
-                    #
-                    # - If the offset is in the interval (0, 1), the corresponding edge of crop
-                    # rectangle is positioned inside of the object's original bounding rectangle.
-                    # - If the offset is negative or greater than 1, the corresponding edge of crop
-                    # rectangle is positioned outside of the object's original bounding rectangle.
-                    # - If the left edge of the crop rectangle is on the right side of its right
-                    # edge, the object will be flipped horizontally.
-                    # - If the top edge of the crop rectangle is below its bottom edge, the object
-                    # will be flipped vertically.
-                    # - If all offsets and rotation angle is 0, the object is not cropped.
-                    #
-                    # After cropping, the content in the crop rectangle will be stretched to fit
-                    # its container.
-                  "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
-                      # the right of the original bounding rectangle left edge, relative to the
-                      # object's original width.
-                  "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                      # below the original bounding rectangle top edge, relative to the object's
-                      # original height.
-                  "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                      # above the original bounding rectangle bottom edge, relative to the object's
-                      # original height.
-                  "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
-                      # Rotation angle is applied after the offset.
-                  "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
-                      # to the left of the original bounding rectangle right edge, relative to the
-                      # object's original width.
-                },
-                "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
-                    # is read-only.
-                    #
-                    # If these fields are unset, they may be inherited from a parent placeholder
-                    # if it exists. If there is no parent, the fields will default to the value
-                    # used for new page elements created in the Slides editor, which may depend on
-                    # the page element kind.
-                  "color": { # A themeable solid color value. # The shadow color value.
-                    "themeColor": "A String", # An opaque theme color.
-                    "rgbColor": { # An RGB color. # An opaque RGB color.
-                      "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                      "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                      "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                    },
-                  },
-                  "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # Transform that encodes the translate, scale, and skew of the shadow,
-                      # relative to the alignment position.
-                      # to transform source coordinates (x,y) into destination coordinates (x', y')
-                      # according to:
-                      #
-                      #       x'  x  =   shear_y  scale_y  translate_y
-                      #       1  [ 1 ]
-                      #
-                      # After transformation,
-                      #
-                      #      x' = scale_x * x + shear_x * y + translate_x;
-                      #      y' = scale_y * y + shear_y * x + translate_y;
-                      #
-                      # This message is therefore composed of these six matrix elements.
-                    "translateX": 3.14, # The X coordinate translation element.
-                    "translateY": 3.14, # The Y coordinate translation element.
-                    "scaleX": 3.14, # The X coordinate scaling element.
-                    "scaleY": 3.14, # The Y coordinate scaling element.
-                    "shearY": 3.14, # The Y coordinate shearing element.
-                    "shearX": 3.14, # The X coordinate shearing element.
-                    "unit": "A String", # The units for translate elements.
-                  },
-                  "propertyState": "A String", # The shadow property state.
-                      #
-                      # Updating the the shadow on a page element will implicitly update this field
-                      # to `RENDERED`, unless another value is specified in the same request. To
-                      # have no shadow on a page element, set this field to `NOT_RENDERED`. In this
-                      # case, any other shadow fields set in the same request will be ignored.
-                  "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the
-                      # shadow becomes.
-                    "magnitude": 3.14, # The magnitude.
-                    "unit": "A String", # The units for magnitude.
-                  },
-                  "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0.
-                  "type": "A String", # The type of the shadow.
-                  "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate,
-                      # scale and skew of the shadow.
-                  "rotateWithShape": True or False, # Whether the shadow should rotate with the shape.
-                },
-                "contrast": 3.14, # The contrast effect of the image. The value should be in the interval
-                    # [-1.0, 1.0], where 0 means no effect. This property is read-only.
-              },
-            },
-            "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # The transform of the page element.
-                # to transform source coordinates (x,y) into destination coordinates (x', y')
-                # according to:
-                #
-                #       x'  x  =   shear_y  scale_y  translate_y
-                #       1  [ 1 ]
-                #
-                # After transformation,
-                #
-                #      x' = scale_x * x + shear_x * y + translate_x;
-                #      y' = scale_y * y + shear_y * x + translate_y;
-                #
-                # This message is therefore composed of these six matrix elements.
-              "translateX": 3.14, # The X coordinate translation element.
-              "translateY": 3.14, # The Y coordinate translation element.
-              "scaleX": 3.14, # The X coordinate scaling element.
-              "scaleY": 3.14, # The Y coordinate scaling element.
-              "shearY": 3.14, # The Y coordinate shearing element.
-              "shearX": 3.14, # The X coordinate shearing element.
-              "unit": "A String", # The units for translate elements.
-            },
-            "shape": { # A PageElement kind representing a # A generic shape.
-                # generic shape that does not have a more specific classification.
-              "text": { # The general text content. The text must reside in a compatible shape (e.g. # The text content of the shape.
-                  # text box or rectangle) or a table cell in a page.
-                "lists": { # The bulleted lists contained in this text, keyed by list ID.
-                  "a_key": { # A List describes the look and feel of bullets belonging to paragraphs
-                      # associated with a list. A paragraph that is part of a list has an implicit
-                      # reference to that list's ID.
-                    "nestingLevel": { # A map of nesting levels to the properties of bullets at the associated
-                        # level. A list has at most nine levels of nesting, so the possible values
-                        # for the keys of this map are 0 through 8, inclusive.
-                      "a_key": { # Contains properties describing the look and feel of a list bullet at a given
-                          # level of nesting.
-                        "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The style of a bullet at this level of nesting.
-                            #
-                            # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                            # inherited from the parent. Which text styles are inherited depend on the
-                            # nesting level of lists:
-                            #
-                            # * A text run in a paragraph that is not in a list will inherit its text style
-                            #   from the the newline character in the paragraph at the 0 nesting level of
-                            #   the list inside the parent placeholder.
-                            # * A text run in a paragraph that is in a list will inherit its text style
-                            #   from the newline character in the paragraph at its corresponding nesting
-                            #   level of the list inside the parent placeholder.
-                            #
-                            # Inherited text styles are represented as unset fields in this message. If
-                            # text is contained in a shape without a parent placeholder, unsetting these
-                            # fields will revert the style to a value matching the defaults in the Slides
-                            # editor.
-                          "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                              # transparent, depending on if the `opaque_color` field in it is set.
-                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                # a transparent color.
-                              "themeColor": "A String", # An opaque theme color.
-                              "rgbColor": { # An RGB color. # An opaque RGB color.
-                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                              },
-                            },
-                          },
-                          "bold": True or False, # Whether or not the text is rendered as bold.
-                          "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                              #
-                              # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                              # rendered in a smaller font size, computed based on the `font_size` field.
-                              # The `font_size` itself is not affected by changes in this field.
-                          "strikethrough": True or False, # Whether or not the text is struck through.
-                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                              # read-only.
-                              #
-                              # This field is an extension of `font_family` meant to support explicit font
-                              # weights without breaking backwards compatibility. As such, when reading the
-                              # style of a range of text, the value of `weighted_font_family.font_family`
-                              # will always be equal to that of `font_family`.
-                            "fontFamily": "A String", # The font family of the text.
-                                #
-                                # The font family can be any font from the Font menu in Slides or from
-                                # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                # unrecognized, the text is rendered in `Arial`.
-                            "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                # only the numerical values described in the "Cascading Style Sheets Level
-                                # 2 Revision 1 (CSS 2.1) Specification",
-                                # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                # non-numerical values in the specification are disallowed. Weights greater
-                                # than or equal to 700 are considered bold, and weights less than 700 are
-                                # not bold. The default value is `400` ("normal").
-                          },
-                          "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                          "fontFamily": "A String", # The font family of the text.
-                              #
-                              # The font family can be any font from the Font menu in Slides or from
-                              # [Google Fonts] (https://fonts.google.com/). If the font name is
-                              # unrecognized, the text is rendered in `Arial`.
-                              #
-                              # Some fonts can affect the weight of the text. If an update request
-                              # specifies values for both `font_family` and `bold`, the explicitly-set
-                              # `bold` value is used.
-                          "italic": True or False, # Whether or not the text is italicized.
-                          "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                              # are not inherited from parent text.
-                              #
-                              # Changing the link in an update request causes some other changes to the
-                              # text style of the range:
-                              #
-                              # * When setting a link, the text foreground color will be set to
-                              #   ThemeColorType.HYPERLINK and the text will
-                              #   be underlined. If these fields are modified in the same
-                              #   request, those values will be used instead of the link defaults.
-                              # * Setting a link on a text range that overlaps with an existing link will
-                              #   also update the existing link to point to the new URL.
-                              # * Links are not settable on newline characters. As a result, setting a link
-                              #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                              #   will separate the newline character(s) into their own text runs. The
-                              #   link will be applied separately to the runs before and after the newline.
-                              # * Removing a link will update the text style of the range to match the
-                              #   style of the preceding text (or the default text styles if the preceding
-                              #   text is another link) unless different styles are being set in the same
-                              #   request.
-                            "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                # presentation with this ID. A page with this ID may not exist.
-                            "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                                # in the presentation. There may not be a slide at this index.
-                            "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                                # addressed by its position.
-                          },
-                          "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                              # transparent, depending on if the `opaque_color` field in it is set.
-                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                # a transparent color.
-                              "themeColor": "A String", # An opaque theme color.
-                              "rgbColor": { # An RGB color. # An opaque RGB color.
-                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                              },
-                            },
-                          },
-                          "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                              # points.
-                            "magnitude": 3.14, # The magnitude.
-                            "unit": "A String", # The units for magnitude.
-                          },
-                          "underline": True or False, # Whether or not the text is underlined.
-                        },
-                      },
-                    },
-                    "listId": "A String", # The ID of the list.
-                  },
-                },
-                "textElements": [ # The text contents broken down into its component parts, including styling
-                    # information. This property is read-only.
-                  { # A TextElement describes the content of a range of indices in the text content
-                      # of a Shape or TableCell.
-                    "autoText": { # A TextElement kind that represents auto text. # A TextElement representing a spot in the text that is dynamically
-                        # replaced with content that can change over time.
-                      "content": "A String", # The rendered content of this auto text, if available.
-                      "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this auto text.
-                          #
-                          # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                          # inherited from the parent. Which text styles are inherited depend on the
-                          # nesting level of lists:
-                          #
-                          # * A text run in a paragraph that is not in a list will inherit its text style
-                          #   from the the newline character in the paragraph at the 0 nesting level of
-                          #   the list inside the parent placeholder.
-                          # * A text run in a paragraph that is in a list will inherit its text style
-                          #   from the newline character in the paragraph at its corresponding nesting
-                          #   level of the list inside the parent placeholder.
-                          #
-                          # Inherited text styles are represented as unset fields in this message. If
-                          # text is contained in a shape without a parent placeholder, unsetting these
-                          # fields will revert the style to a value matching the defaults in the Slides
-                          # editor.
-                        "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                            # transparent, depending on if the `opaque_color` field in it is set.
-                          "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                              # a transparent color.
-                            "themeColor": "A String", # An opaque theme color.
-                            "rgbColor": { # An RGB color. # An opaque RGB color.
-                              "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                              "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                              "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                            },
-                          },
-                        },
-                        "bold": True or False, # Whether or not the text is rendered as bold.
-                        "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                            #
-                            # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                            # rendered in a smaller font size, computed based on the `font_size` field.
-                            # The `font_size` itself is not affected by changes in this field.
-                        "strikethrough": True or False, # Whether or not the text is struck through.
-                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                            # read-only.
-                            #
-                            # This field is an extension of `font_family` meant to support explicit font
-                            # weights without breaking backwards compatibility. As such, when reading the
-                            # style of a range of text, the value of `weighted_font_family.font_family`
-                            # will always be equal to that of `font_family`.
-                          "fontFamily": "A String", # The font family of the text.
-                              #
-                              # The font family can be any font from the Font menu in Slides or from
-                              # [Google Fonts] (https://fonts.google.com/). If the font name is
-                              # unrecognized, the text is rendered in `Arial`.
-                          "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                              # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                              # only the numerical values described in the "Cascading Style Sheets Level
-                              # 2 Revision 1 (CSS 2.1) Specification",
-                              # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                              # non-numerical values in the specification are disallowed. Weights greater
-                              # than or equal to 700 are considered bold, and weights less than 700 are
-                              # not bold. The default value is `400` ("normal").
-                        },
-                        "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                        "fontFamily": "A String", # The font family of the text.
-                            #
-                            # The font family can be any font from the Font menu in Slides or from
-                            # [Google Fonts] (https://fonts.google.com/). If the font name is
-                            # unrecognized, the text is rendered in `Arial`.
-                            #
-                            # Some fonts can affect the weight of the text. If an update request
-                            # specifies values for both `font_family` and `bold`, the explicitly-set
-                            # `bold` value is used.
-                        "italic": True or False, # Whether or not the text is italicized.
-                        "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                            # are not inherited from parent text.
-                            #
-                            # Changing the link in an update request causes some other changes to the
-                            # text style of the range:
-                            #
-                            # * When setting a link, the text foreground color will be set to
-                            #   ThemeColorType.HYPERLINK and the text will
-                            #   be underlined. If these fields are modified in the same
-                            #   request, those values will be used instead of the link defaults.
-                            # * Setting a link on a text range that overlaps with an existing link will
-                            #   also update the existing link to point to the new URL.
-                            # * Links are not settable on newline characters. As a result, setting a link
-                            #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                            #   will separate the newline character(s) into their own text runs. The
-                            #   link will be applied separately to the runs before and after the newline.
-                            # * Removing a link will update the text style of the range to match the
-                            #   style of the preceding text (or the default text styles if the preceding
-                            #   text is another link) unless different styles are being set in the same
-                            #   request.
-                          "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                              # presentation with this ID. A page with this ID may not exist.
-                          "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                              # in the presentation. There may not be a slide at this index.
-                          "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                              # addressed by its position.
-                        },
-                        "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                            # transparent, depending on if the `opaque_color` field in it is set.
-                          "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                              # a transparent color.
-                            "themeColor": "A String", # An opaque theme color.
-                            "rgbColor": { # An RGB color. # An opaque RGB color.
-                              "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                              "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                              "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                            },
-                          },
-                        },
-                        "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                            # points.
-                          "magnitude": 3.14, # The magnitude.
-                          "unit": "A String", # The units for magnitude.
-                        },
-                        "underline": True or False, # Whether or not the text is underlined.
-                      },
-                      "type": "A String", # The type of this auto text.
-                    },
-                    "endIndex": 42, # The zero-based end index of this text element, exclusive, in Unicode code
-                        # units.
-                    "startIndex": 42, # The zero-based start index of this text element, in Unicode code units.
-                    "paragraphMarker": { # A TextElement kind that represents the beginning of a new paragraph. # A marker representing the beginning of a new paragraph.
-                        #
-                        # The `start_index` and `end_index` of this TextElement represent the
-                        # range of the paragraph. Other TextElements with an index range contained
-                        # inside this paragraph's range are considered to be part of this
-                        # paragraph. The range of indices of two separate paragraphs will never
-                        # overlap.
-                      "style": { # Styles that apply to a whole paragraph. # The paragraph's style
-                          #
-                          # If this text is contained in a shape with a parent placeholder, then these paragraph styles may be
-                          # inherited from the parent. Which paragraph styles are inherited depend on the
-                          # nesting level of lists:
-                          #
-                          # * A paragraph not in a list will inherit its paragraph style from the
-                          #   paragraph at the 0 nesting level of the list inside the parent placeholder.
-                          # * A paragraph in a list will inherit its paragraph style from the paragraph
-                          #   at its corresponding nesting level of the list inside the parent
-                          #   placeholder.
-                          #
-                          # Inherited paragraph styles are represented as unset fields in this message.
-                        "spacingMode": "A String", # The spacing mode for the paragraph.
-                        "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                            # LEFT_TO_RIGHT
-                            # since text direction is not inherited.
-                        "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
-                            # inherited from the parent.
-                          "magnitude": 3.14, # The magnitude.
-                          "unit": "A String", # The units for magnitude.
-                        },
-                        "lineSpacing": 3.14, # The amount of space between lines, as a percentage of normal, where normal
-                            # is represented as 100.0. If unset, the value is inherited from the parent.
-                        "indentStart": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
-                            # the start of the text, based on the current text direction. If unset, the
-                            # value is inherited from the parent.
-                          "magnitude": 3.14, # The magnitude.
-                          "unit": "A String", # The units for magnitude.
-                        },
-                        "spaceAbove": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
-                            # inherited from the parent.
-                          "magnitude": 3.14, # The magnitude.
-                          "unit": "A String", # The units for magnitude.
-                        },
-                        "indentEnd": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
-                            # the end of the text, based on the current text direction. If unset, the
-                            # value is inherited from the parent.
-                          "magnitude": 3.14, # The magnitude.
-                          "unit": "A String", # The units for magnitude.
-                        },
-                        "indentFirstLine": { # A magnitude in a single direction in the specified units. # The amount of indentation for the start of the first line of the paragraph.
-                            # If unset, the value is inherited from the parent.
-                          "magnitude": 3.14, # The magnitude.
-                          "unit": "A String", # The units for magnitude.
-                        },
-                        "alignment": "A String", # The text alignment for this paragraph.
-                      },
-                      "bullet": { # Describes the bullet of a paragraph. # The bullet for this paragraph. If not present, the paragraph does not
-                          # belong to a list.
-                        "nestingLevel": 42, # The nesting level of this paragraph in the list.
-                        "listId": "A String", # The ID of the list this paragraph belongs to.
-                        "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The paragraph specific text style applied to this bullet.
-                            #
-                            # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                            # inherited from the parent. Which text styles are inherited depend on the
-                            # nesting level of lists:
-                            #
-                            # * A text run in a paragraph that is not in a list will inherit its text style
-                            #   from the the newline character in the paragraph at the 0 nesting level of
-                            #   the list inside the parent placeholder.
-                            # * A text run in a paragraph that is in a list will inherit its text style
-                            #   from the newline character in the paragraph at its corresponding nesting
-                            #   level of the list inside the parent placeholder.
-                            #
-                            # Inherited text styles are represented as unset fields in this message. If
-                            # text is contained in a shape without a parent placeholder, unsetting these
-                            # fields will revert the style to a value matching the defaults in the Slides
-                            # editor.
-                          "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                              # transparent, depending on if the `opaque_color` field in it is set.
-                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                # a transparent color.
-                              "themeColor": "A String", # An opaque theme color.
-                              "rgbColor": { # An RGB color. # An opaque RGB color.
-                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                              },
-                            },
-                          },
-                          "bold": True or False, # Whether or not the text is rendered as bold.
-                          "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                              #
-                              # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                              # rendered in a smaller font size, computed based on the `font_size` field.
-                              # The `font_size` itself is not affected by changes in this field.
-                          "strikethrough": True or False, # Whether or not the text is struck through.
-                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                              # read-only.
-                              #
-                              # This field is an extension of `font_family` meant to support explicit font
-                              # weights without breaking backwards compatibility. As such, when reading the
-                              # style of a range of text, the value of `weighted_font_family.font_family`
-                              # will always be equal to that of `font_family`.
-                            "fontFamily": "A String", # The font family of the text.
-                                #
-                                # The font family can be any font from the Font menu in Slides or from
-                                # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                # unrecognized, the text is rendered in `Arial`.
-                            "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                # only the numerical values described in the "Cascading Style Sheets Level
-                                # 2 Revision 1 (CSS 2.1) Specification",
-                                # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                # non-numerical values in the specification are disallowed. Weights greater
-                                # than or equal to 700 are considered bold, and weights less than 700 are
-                                # not bold. The default value is `400` ("normal").
-                          },
-                          "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                          "fontFamily": "A String", # The font family of the text.
-                              #
-                              # The font family can be any font from the Font menu in Slides or from
-                              # [Google Fonts] (https://fonts.google.com/). If the font name is
-                              # unrecognized, the text is rendered in `Arial`.
-                              #
-                              # Some fonts can affect the weight of the text. If an update request
-                              # specifies values for both `font_family` and `bold`, the explicitly-set
-                              # `bold` value is used.
-                          "italic": True or False, # Whether or not the text is italicized.
-                          "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                              # are not inherited from parent text.
-                              #
-                              # Changing the link in an update request causes some other changes to the
-                              # text style of the range:
-                              #
-                              # * When setting a link, the text foreground color will be set to
-                              #   ThemeColorType.HYPERLINK and the text will
-                              #   be underlined. If these fields are modified in the same
-                              #   request, those values will be used instead of the link defaults.
-                              # * Setting a link on a text range that overlaps with an existing link will
-                              #   also update the existing link to point to the new URL.
-                              # * Links are not settable on newline characters. As a result, setting a link
-                              #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                              #   will separate the newline character(s) into their own text runs. The
-                              #   link will be applied separately to the runs before and after the newline.
-                              # * Removing a link will update the text style of the range to match the
-                              #   style of the preceding text (or the default text styles if the preceding
-                              #   text is another link) unless different styles are being set in the same
-                              #   request.
-                            "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                # presentation with this ID. A page with this ID may not exist.
-                            "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                                # in the presentation. There may not be a slide at this index.
-                            "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                                # addressed by its position.
-                          },
-                          "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                              # transparent, depending on if the `opaque_color` field in it is set.
-                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                # a transparent color.
-                              "themeColor": "A String", # An opaque theme color.
-                              "rgbColor": { # An RGB color. # An opaque RGB color.
-                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                              },
-                            },
-                          },
-                          "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                              # points.
-                            "magnitude": 3.14, # The magnitude.
-                            "unit": "A String", # The units for magnitude.
-                          },
-                          "underline": True or False, # Whether or not the text is underlined.
-                        },
-                        "glyph": "A String", # The rendered bullet glyph for this paragraph.
-                      },
-                    },
-                    "textRun": { # A TextElement kind that represents a run of text that all has the same # A TextElement representing a run of text where all of the characters
-                        # in the run have the same TextStyle.
-                        #
-                        # The `start_index` and `end_index` of TextRuns will always be fully
-                        # contained in the index range of a single `paragraph_marker` TextElement.
-                        # In other words, a TextRun will never span multiple paragraphs.
-                        # styling.
-                      "content": "A String", # The text of this run.
-                      "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this run.
-                          #
-                          # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                          # inherited from the parent. Which text styles are inherited depend on the
-                          # nesting level of lists:
-                          #
-                          # * A text run in a paragraph that is not in a list will inherit its text style
-                          #   from the the newline character in the paragraph at the 0 nesting level of
-                          #   the list inside the parent placeholder.
-                          # * A text run in a paragraph that is in a list will inherit its text style
-                          #   from the newline character in the paragraph at its corresponding nesting
-                          #   level of the list inside the parent placeholder.
-                          #
-                          # Inherited text styles are represented as unset fields in this message. If
-                          # text is contained in a shape without a parent placeholder, unsetting these
-                          # fields will revert the style to a value matching the defaults in the Slides
-                          # editor.
-                        "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                            # transparent, depending on if the `opaque_color` field in it is set.
-                          "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                              # a transparent color.
-                            "themeColor": "A String", # An opaque theme color.
-                            "rgbColor": { # An RGB color. # An opaque RGB color.
-                              "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                              "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                              "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                            },
-                          },
-                        },
-                        "bold": True or False, # Whether or not the text is rendered as bold.
-                        "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                            #
-                            # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                            # rendered in a smaller font size, computed based on the `font_size` field.
-                            # The `font_size` itself is not affected by changes in this field.
-                        "strikethrough": True or False, # Whether or not the text is struck through.
-                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                            # read-only.
-                            #
-                            # This field is an extension of `font_family` meant to support explicit font
-                            # weights without breaking backwards compatibility. As such, when reading the
-                            # style of a range of text, the value of `weighted_font_family.font_family`
-                            # will always be equal to that of `font_family`.
-                          "fontFamily": "A String", # The font family of the text.
-                              #
-                              # The font family can be any font from the Font menu in Slides or from
-                              # [Google Fonts] (https://fonts.google.com/). If the font name is
-                              # unrecognized, the text is rendered in `Arial`.
-                          "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                              # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                              # only the numerical values described in the "Cascading Style Sheets Level
-                              # 2 Revision 1 (CSS 2.1) Specification",
-                              # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                              # non-numerical values in the specification are disallowed. Weights greater
-                              # than or equal to 700 are considered bold, and weights less than 700 are
-                              # not bold. The default value is `400` ("normal").
-                        },
-                        "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                        "fontFamily": "A String", # The font family of the text.
-                            #
-                            # The font family can be any font from the Font menu in Slides or from
-                            # [Google Fonts] (https://fonts.google.com/). If the font name is
-                            # unrecognized, the text is rendered in `Arial`.
-                            #
-                            # Some fonts can affect the weight of the text. If an update request
-                            # specifies values for both `font_family` and `bold`, the explicitly-set
-                            # `bold` value is used.
-                        "italic": True or False, # Whether or not the text is italicized.
-                        "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                            # are not inherited from parent text.
-                            #
-                            # Changing the link in an update request causes some other changes to the
-                            # text style of the range:
-                            #
-                            # * When setting a link, the text foreground color will be set to
-                            #   ThemeColorType.HYPERLINK and the text will
-                            #   be underlined. If these fields are modified in the same
-                            #   request, those values will be used instead of the link defaults.
-                            # * Setting a link on a text range that overlaps with an existing link will
-                            #   also update the existing link to point to the new URL.
-                            # * Links are not settable on newline characters. As a result, setting a link
-                            #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                            #   will separate the newline character(s) into their own text runs. The
-                            #   link will be applied separately to the runs before and after the newline.
-                            # * Removing a link will update the text style of the range to match the
-                            #   style of the preceding text (or the default text styles if the preceding
-                            #   text is another link) unless different styles are being set in the same
-                            #   request.
-                          "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                              # presentation with this ID. A page with this ID may not exist.
-                          "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                              # in the presentation. There may not be a slide at this index.
-                          "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                              # addressed by its position.
-                        },
-                        "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                            # transparent, depending on if the `opaque_color` field in it is set.
-                          "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                              # a transparent color.
-                            "themeColor": "A String", # An opaque theme color.
-                            "rgbColor": { # An RGB color. # An opaque RGB color.
-                              "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                              "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                              "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                            },
-                          },
-                        },
-                        "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                            # points.
-                          "magnitude": 3.14, # The magnitude.
-                          "unit": "A String", # The units for magnitude.
-                        },
-                        "underline": True or False, # Whether or not the text is underlined.
-                      },
-                    },
-                  },
-                ],
-              },
-              "shapeProperties": { # The properties of a Shape. # The properties of the shape.
-                  #
-                  # If the shape is a placeholder shape as determined by the
-                  # placeholder field, then these
-                  # properties may be inherited from a parent placeholder shape.
-                  # Determining the rendered value of the property depends on the corresponding
-                  # property_state field value.
-                "shadow": { # The shadow properties of a page element. # The shadow properties of the shape. If unset, the shadow is inherited from
-                    # a parent placeholder if it exists. If the shape has no parent, then the
-                    # default shadow matches the defaults for new shapes created in the Slides
-                    # editor. This property is read-only.
-                    #
-                    # If these fields are unset, they may be inherited from a parent placeholder
-                    # if it exists. If there is no parent, the fields will default to the value
-                    # used for new page elements created in the Slides editor, which may depend on
-                    # the page element kind.
-                  "color": { # A themeable solid color value. # The shadow color value.
-                    "themeColor": "A String", # An opaque theme color.
-                    "rgbColor": { # An RGB color. # An opaque RGB color.
-                      "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                      "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                      "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                    },
-                  },
-                  "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # Transform that encodes the translate, scale, and skew of the shadow,
-                      # relative to the alignment position.
-                      # to transform source coordinates (x,y) into destination coordinates (x', y')
-                      # according to:
-                      #
-                      #       x'  x  =   shear_y  scale_y  translate_y
-                      #       1  [ 1 ]
-                      #
-                      # After transformation,
-                      #
-                      #      x' = scale_x * x + shear_x * y + translate_x;
-                      #      y' = scale_y * y + shear_y * x + translate_y;
-                      #
-                      # This message is therefore composed of these six matrix elements.
-                    "translateX": 3.14, # The X coordinate translation element.
-                    "translateY": 3.14, # The Y coordinate translation element.
-                    "scaleX": 3.14, # The X coordinate scaling element.
-                    "scaleY": 3.14, # The Y coordinate scaling element.
-                    "shearY": 3.14, # The Y coordinate shearing element.
-                    "shearX": 3.14, # The X coordinate shearing element.
-                    "unit": "A String", # The units for translate elements.
-                  },
-                  "propertyState": "A String", # The shadow property state.
-                      #
-                      # Updating the the shadow on a page element will implicitly update this field
-                      # to `RENDERED`, unless another value is specified in the same request. To
-                      # have no shadow on a page element, set this field to `NOT_RENDERED`. In this
-                      # case, any other shadow fields set in the same request will be ignored.
-                  "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the
-                      # shadow becomes.
-                    "magnitude": 3.14, # The magnitude.
-                    "unit": "A String", # The units for magnitude.
-                  },
-                  "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0.
-                  "type": "A String", # The type of the shadow.
-                  "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate,
-                      # scale and skew of the shadow.
-                  "rotateWithShape": True or False, # Whether the shadow should rotate with the shape.
-                },
-                "shapeBackgroundFill": { # The shape background fill. # The background fill of the shape. If unset, the background fill is
-                    # inherited from a parent placeholder if it exists. If the shape has no
-                    # parent, then the default background fill depends on the shape type,
-                    # matching the defaults for new shapes created in the Slides editor.
-                  "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                      # specified color value.
-                      #
-                      # If any field is unset, its value may be inherited from a parent placeholder
-                      # if it exists.
-                    "color": { # A themeable solid color value. # The color value of the solid fill.
-                      "themeColor": "A String", # An opaque theme color.
-                      "rgbColor": { # An RGB color. # An opaque RGB color.
-                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                      },
-                    },
-                    "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                        # That is, the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color.
-                  },
-                  "propertyState": "A String", # The background fill property state.
-                      #
-                      # Updating the the fill on a shape will implicitly update this field to
-                      # `RENDERED`, unless another value is specified in the same request. To
-                      # have no fill on a shape, set this field to `NOT_RENDERED`. In this case,
-                      # any other fill fields set in the same request will be ignored.
-                },
-                "link": { # A hypertext link. # The hyperlink destination of the shape. If unset, there is no link. Links
-                    # are not inherited from parent placeholders.
-                  "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                      # presentation with this ID. A page with this ID may not exist.
-                  "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                      # in the presentation. There may not be a slide at this index.
-                  "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                      # addressed by its position.
-                },
-                "outline": { # The outline of a PageElement. # The outline of the shape. If unset, the outline is inherited from a
-                    # parent placeholder if it exists. If the shape has no parent, then the
-                    # default outline depends on the shape type, matching the defaults for
-                    # new shapes created in the Slides editor.
-                    #
-                    # If these fields are unset, they may be inherited from a parent placeholder
-                    # if it exists. If there is no parent, the fields will default to the value
-                    # used for new page elements created in the Slides editor, which may depend on
-                    # the page element kind.
-                  "outlineFill": { # The fill of the outline. # The fill of the outline.
-                    "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                        # specified color value.
-                        #
-                        # If any field is unset, its value may be inherited from a parent placeholder
-                        # if it exists.
-                      "color": { # A themeable solid color value. # The color value of the solid fill.
-                        "themeColor": "A String", # An opaque theme color.
-                        "rgbColor": { # An RGB color. # An opaque RGB color.
-                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                        },
-                      },
-                      "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                          # That is, the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color.
-                    },
-                  },
-                  "propertyState": "A String", # The outline property state.
-                      #
-                      # Updating the the outline on a page element will implicitly update this
-                      # field to`RENDERED`, unless another value is specified in the same request.
-                      # To have no outline on a page element, set this field to `NOT_RENDERED`. In
-                      # this case, any other outline fields set in the same request will be
-                      # ignored.
-                  "dashStyle": "A String", # The dash style of the outline.
-                  "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
-                    "magnitude": 3.14, # The magnitude.
-                    "unit": "A String", # The units for magnitude.
-                  },
-                },
-              },
-              "placeholder": { # The placeholder information that uniquely identifies a placeholder shape. # Placeholders are shapes that are inherit from corresponding placeholders on
-                  # layouts and masters.
-                  #
-                  # If set, the shape is a placeholder shape and any inherited properties
-                  # can be resolved by looking at the parent placeholder identified by the
-                  # Placeholder.parent_object_id field.
-                "parentObjectId": "A String", # The object ID of this shape's parent placeholder.
-                    # If unset, the parent placeholder shape does not exist, so the shape does
-                    # not inherit properties from any other shape.
-                "index": 42, # The index of the placeholder. If the same placeholder types are the present
-                    # in the same page, they would have different index values.
-                "type": "A String", # The type of the placeholder.
-              },
-              "shapeType": "A String", # The type of the shape.
-            },
-            "sheetsChart": { # A PageElement kind representing # A linked chart embedded from Google Sheets. Unlinked charts are
-                # represented as images.
-                # a linked chart embedded from Google Sheets.
-              "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
-                  # embedded.
-              "contentUrl": "A String", # The URL of an image of the embedded chart, with a default lifetime of 30
-                  # minutes. This URL is tagged with the account of the requester. Anyone with
-                  # the URL effectively accesses the image as the original requester. Access to
-                  # the image may be lost if the presentation's sharing settings change.
-              "sheetsChartProperties": { # The properties of the SheetsChart. # The properties of the Sheets chart.
-                "chartImageProperties": { # The properties of the Image. # The properties of the embedded chart image.
-                  "outline": { # The outline of a PageElement. # The outline of the image. If not set, the the image has no outline.
-                      #
-                      # If these fields are unset, they may be inherited from a parent placeholder
-                      # if it exists. If there is no parent, the fields will default to the value
-                      # used for new page elements created in the Slides editor, which may depend on
-                      # the page element kind.
-                    "outlineFill": { # The fill of the outline. # The fill of the outline.
-                      "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                          # specified color value.
-                          #
-                          # If any field is unset, its value may be inherited from a parent placeholder
-                          # if it exists.
-                        "color": { # A themeable solid color value. # The color value of the solid fill.
-                          "themeColor": "A String", # An opaque theme color.
-                          "rgbColor": { # An RGB color. # An opaque RGB color.
-                            "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                            "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                            "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                          },
-                        },
-                        "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                            # That is, the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color.
-                      },
-                    },
-                    "propertyState": "A String", # The outline property state.
-                        #
-                        # Updating the the outline on a page element will implicitly update this
-                        # field to`RENDERED`, unless another value is specified in the same request.
-                        # To have no outline on a page element, set this field to `NOT_RENDERED`. In
-                        # this case, any other outline fields set in the same request will be
-                        # ignored.
-                    "dashStyle": "A String", # The dash style of the outline.
-                    "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
-                      "magnitude": 3.14, # The magnitude.
-                      "unit": "A String", # The units for magnitude.
-                    },
-                  },
-                  "brightness": 3.14, # The brightness effect of the image. The value should be in the interval
-                      # [-1.0, 1.0], where 0 means no effect. This property is read-only.
-                  "recolor": { # A recolor effect applied on an image. # The recolor effect of the image. If not set, the image is not recolored.
-                      # This property is read-only.
-                    "recolorStops": [ # The recolor effect is represented by a gradient, which is a list of color
-                        # stops.
-                        #
-                        # The colors in the gradient will replace the corresponding colors at
-                        # the same position in the color palette and apply to the image. This
-                        # property is read-only.
-                      { # A color and position in a gradient band.
-                        "color": { # A themeable solid color value. # The color of the gradient stop.
-                          "themeColor": "A String", # An opaque theme color.
-                          "rgbColor": { # An RGB color. # An opaque RGB color.
-                            "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                            "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                            "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                          },
-                        },
-                        "alpha": 3.14, # The alpha value of this color in the gradient band. Defaults to 1.0,
-                            # fully opaque.
-                        "position": 3.14, # The relative position of the color stop in the gradient band measured
-                            # in percentage. The value should be in the interval [0.0, 1.0].
-                      },
-                    ],
-                    "name": "A String", # The name of the recolor effect.
-                        #
-                        # The name is determined from the `recolor_stops` by matching the gradient
-                        # against the colors in the page's current color scheme. This property is
-                        # read-only.
-                  },
-                  "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
-                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
-                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                        # in the presentation. There may not be a slide at this index.
-                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                        # addressed by its position.
-                  },
-                  "transparency": 3.14, # The transparency effect of the image. The value should be in the interval
-                      # [0.0, 1.0], where 0 means no effect and 1 means completely transparent.
-                      # This property is read-only.
-                  "cropProperties": { # The crop properties of an object enclosed in a container. For example, an # The crop properties of the image. If not set, the image is not cropped.
-                      # This property is read-only.
-                      # Image.
-                      #
-                      # The crop properties is represented by the offsets of four edges which define
-                      # a crop rectangle. The offsets are measured in percentage from the
-                      # corresponding edges of the object's original bounding rectangle towards
-                      # inside, relative to the object's original dimensions.
-                      #
-                      # - If the offset is in the interval (0, 1), the corresponding edge of crop
-                      # rectangle is positioned inside of the object's original bounding rectangle.
-                      # - If the offset is negative or greater than 1, the corresponding edge of crop
-                      # rectangle is positioned outside of the object's original bounding rectangle.
-                      # - If the left edge of the crop rectangle is on the right side of its right
-                      # edge, the object will be flipped horizontally.
-                      # - If the top edge of the crop rectangle is below its bottom edge, the object
-                      # will be flipped vertically.
-                      # - If all offsets and rotation angle is 0, the object is not cropped.
-                      #
-                      # After cropping, the content in the crop rectangle will be stretched to fit
-                      # its container.
-                    "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
-                        # the right of the original bounding rectangle left edge, relative to the
-                        # object's original width.
-                    "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                        # below the original bounding rectangle top edge, relative to the object's
-                        # original height.
-                    "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                        # above the original bounding rectangle bottom edge, relative to the object's
-                        # original height.
-                    "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
-                        # Rotation angle is applied after the offset.
-                    "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
-                        # to the left of the original bounding rectangle right edge, relative to the
-                        # object's original width.
-                  },
-                  "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
-                      # is read-only.
-                      #
-                      # If these fields are unset, they may be inherited from a parent placeholder
-                      # if it exists. If there is no parent, the fields will default to the value
-                      # used for new page elements created in the Slides editor, which may depend on
-                      # the page element kind.
-                    "color": { # A themeable solid color value. # The shadow color value.
-                      "themeColor": "A String", # An opaque theme color.
-                      "rgbColor": { # An RGB color. # An opaque RGB color.
-                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                      },
-                    },
-                    "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # Transform that encodes the translate, scale, and skew of the shadow,
-                        # relative to the alignment position.
-                        # to transform source coordinates (x,y) into destination coordinates (x', y')
-                        # according to:
-                        #
-                        #       x'  x  =   shear_y  scale_y  translate_y
-                        #       1  [ 1 ]
-                        #
-                        # After transformation,
-                        #
-                        #      x' = scale_x * x + shear_x * y + translate_x;
-                        #      y' = scale_y * y + shear_y * x + translate_y;
-                        #
-                        # This message is therefore composed of these six matrix elements.
-                      "translateX": 3.14, # The X coordinate translation element.
-                      "translateY": 3.14, # The Y coordinate translation element.
-                      "scaleX": 3.14, # The X coordinate scaling element.
-                      "scaleY": 3.14, # The Y coordinate scaling element.
-                      "shearY": 3.14, # The Y coordinate shearing element.
-                      "shearX": 3.14, # The X coordinate shearing element.
-                      "unit": "A String", # The units for translate elements.
-                    },
-                    "propertyState": "A String", # The shadow property state.
-                        #
-                        # Updating the the shadow on a page element will implicitly update this field
-                        # to `RENDERED`, unless another value is specified in the same request. To
-                        # have no shadow on a page element, set this field to `NOT_RENDERED`. In this
-                        # case, any other shadow fields set in the same request will be ignored.
-                    "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the
-                        # shadow becomes.
-                      "magnitude": 3.14, # The magnitude.
-                      "unit": "A String", # The units for magnitude.
-                    },
-                    "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0.
-                    "type": "A String", # The type of the shadow.
-                    "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate,
-                        # scale and skew of the shadow.
-                    "rotateWithShape": True or False, # Whether the shadow should rotate with the shape.
-                  },
-                  "contrast": 3.14, # The contrast effect of the image. The value should be in the interval
-                      # [-1.0, 1.0], where 0 means no effect. This property is read-only.
-                },
-              },
-              "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
-            },
-            "video": { # A PageElement kind representing a # A video page element.
-                # video.
-              "url": "A String", # An URL to a video. The URL is valid as long as the source video
-                  # exists and sharing settings do not change.
-              "source": "A String", # The video source.
-              "id": "A String", # The video source's unique identifier for this video.
-              "videoProperties": { # The properties of the Video. # The properties of the video.
-                "outline": { # The outline of a PageElement. # The outline of the video. The default outline matches the defaults for new
-                    # videos created in the Slides editor.
-                    #
-                    # If these fields are unset, they may be inherited from a parent placeholder
-                    # if it exists. If there is no parent, the fields will default to the value
-                    # used for new page elements created in the Slides editor, which may depend on
-                    # the page element kind.
-                  "outlineFill": { # The fill of the outline. # The fill of the outline.
-                    "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                        # specified color value.
-                        #
-                        # If any field is unset, its value may be inherited from a parent placeholder
-                        # if it exists.
-                      "color": { # A themeable solid color value. # The color value of the solid fill.
-                        "themeColor": "A String", # An opaque theme color.
-                        "rgbColor": { # An RGB color. # An opaque RGB color.
-                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                        },
-                      },
-                      "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                          # That is, the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color.
-                    },
-                  },
-                  "propertyState": "A String", # The outline property state.
-                      #
-                      # Updating the the outline on a page element will implicitly update this
-                      # field to`RENDERED`, unless another value is specified in the same request.
-                      # To have no outline on a page element, set this field to `NOT_RENDERED`. In
-                      # this case, any other outline fields set in the same request will be
-                      # ignored.
-                  "dashStyle": "A String", # The dash style of the outline.
-                  "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
-                    "magnitude": 3.14, # The magnitude.
-                    "unit": "A String", # The units for magnitude.
-                  },
-                },
-              },
-            },
-            "elementGroup": { # A PageElement kind representing a # A collection of page elements joined as a single unit.
-                # joined collection of PageElements.
-              "children": [ # The collection of elements in the group. The minimum size of a group is 2.
-                # Object with schema name: PageElement
-              ],
-            },
-            "table": { # A PageElement kind representing a # A table page element.
-                # table.
-              "tableColumns": [ # Properties of each column.
-                { # Properties of each column in a table.
-                  "columnWidth": { # A magnitude in a single direction in the specified units. # Width of a column.
-                    "magnitude": 3.14, # The magnitude.
-                    "unit": "A String", # The units for magnitude.
-                  },
-                },
-              ],
-              "tableRows": [ # Properties and contents of each row.
-                  #
-                  # Cells that span multiple rows are contained in only one of these rows and
-                  # have a row_span greater
-                  # than 1.
-                { # Properties and contents of each row in a table.
-                  "tableCells": [ # Properties and contents of each cell.
-                      #
-                      # Cells that span multiple columns are represented only once with a
-                      # column_span greater
-                      # than 1. As a result, the length of this collection does not always match
-                      # the number of columns of the entire table.
-                    { # Properties and contents of each table cell.
-                      "text": { # The general text content. The text must reside in a compatible shape (e.g. # The text content of the cell.
-                          # text box or rectangle) or a table cell in a page.
-                        "lists": { # The bulleted lists contained in this text, keyed by list ID.
-                          "a_key": { # A List describes the look and feel of bullets belonging to paragraphs
-                              # associated with a list. A paragraph that is part of a list has an implicit
-                              # reference to that list's ID.
-                            "nestingLevel": { # A map of nesting levels to the properties of bullets at the associated
-                                # level. A list has at most nine levels of nesting, so the possible values
-                                # for the keys of this map are 0 through 8, inclusive.
-                              "a_key": { # Contains properties describing the look and feel of a list bullet at a given
-                                  # level of nesting.
-                                "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The style of a bullet at this level of nesting.
-                                    #
-                                    # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                                    # inherited from the parent. Which text styles are inherited depend on the
-                                    # nesting level of lists:
-                                    #
-                                    # * A text run in a paragraph that is not in a list will inherit its text style
-                                    #   from the the newline character in the paragraph at the 0 nesting level of
-                                    #   the list inside the parent placeholder.
-                                    # * A text run in a paragraph that is in a list will inherit its text style
-                                    #   from the newline character in the paragraph at its corresponding nesting
-                                    #   level of the list inside the parent placeholder.
-                                    #
-                                    # Inherited text styles are represented as unset fields in this message. If
-                                    # text is contained in a shape without a parent placeholder, unsetting these
-                                    # fields will revert the style to a value matching the defaults in the Slides
-                                    # editor.
-                                  "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                                      # transparent, depending on if the `opaque_color` field in it is set.
-                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                        # a transparent color.
-                                      "themeColor": "A String", # An opaque theme color.
-                                      "rgbColor": { # An RGB color. # An opaque RGB color.
-                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                      },
-                                    },
-                                  },
-                                  "bold": True or False, # Whether or not the text is rendered as bold.
-                                  "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                                      #
-                                      # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                                      # rendered in a smaller font size, computed based on the `font_size` field.
-                                      # The `font_size` itself is not affected by changes in this field.
-                                  "strikethrough": True or False, # Whether or not the text is struck through.
-                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                      # read-only.
-                                      #
-                                      # This field is an extension of `font_family` meant to support explicit font
-                                      # weights without breaking backwards compatibility. As such, when reading the
-                                      # style of a range of text, the value of `weighted_font_family.font_family`
-                                      # will always be equal to that of `font_family`.
-                                    "fontFamily": "A String", # The font family of the text.
-                                        #
-                                        # The font family can be any font from the Font menu in Slides or from
-                                        # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                        # unrecognized, the text is rendered in `Arial`.
-                                    "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                        # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                        # only the numerical values described in the "Cascading Style Sheets Level
-                                        # 2 Revision 1 (CSS 2.1) Specification",
-                                        # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                        # non-numerical values in the specification are disallowed. Weights greater
-                                        # than or equal to 700 are considered bold, and weights less than 700 are
-                                        # not bold. The default value is `400` ("normal").
-                                  },
-                                  "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                                  "fontFamily": "A String", # The font family of the text.
-                                      #
-                                      # The font family can be any font from the Font menu in Slides or from
-                                      # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                      # unrecognized, the text is rendered in `Arial`.
-                                      #
-                                      # Some fonts can affect the weight of the text. If an update request
-                                      # specifies values for both `font_family` and `bold`, the explicitly-set
-                                      # `bold` value is used.
-                                  "italic": True or False, # Whether or not the text is italicized.
-                                  "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                                      # are not inherited from parent text.
-                                      #
-                                      # Changing the link in an update request causes some other changes to the
-                                      # text style of the range:
-                                      #
-                                      # * When setting a link, the text foreground color will be set to
-                                      #   ThemeColorType.HYPERLINK and the text will
-                                      #   be underlined. If these fields are modified in the same
-                                      #   request, those values will be used instead of the link defaults.
-                                      # * Setting a link on a text range that overlaps with an existing link will
-                                      #   also update the existing link to point to the new URL.
-                                      # * Links are not settable on newline characters. As a result, setting a link
-                                      #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                                      #   will separate the newline character(s) into their own text runs. The
-                                      #   link will be applied separately to the runs before and after the newline.
-                                      # * Removing a link will update the text style of the range to match the
-                                      #   style of the preceding text (or the default text styles if the preceding
-                                      #   text is another link) unless different styles are being set in the same
-                                      #   request.
-                                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                        # presentation with this ID. A page with this ID may not exist.
-                                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                                        # in the presentation. There may not be a slide at this index.
-                                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                                        # addressed by its position.
-                                  },
-                                  "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                                      # transparent, depending on if the `opaque_color` field in it is set.
-                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                        # a transparent color.
-                                      "themeColor": "A String", # An opaque theme color.
-                                      "rgbColor": { # An RGB color. # An opaque RGB color.
-                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                      },
-                                    },
-                                  },
-                                  "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                                      # points.
-                                    "magnitude": 3.14, # The magnitude.
-                                    "unit": "A String", # The units for magnitude.
-                                  },
-                                  "underline": True or False, # Whether or not the text is underlined.
-                                },
-                              },
-                            },
-                            "listId": "A String", # The ID of the list.
-                          },
-                        },
-                        "textElements": [ # The text contents broken down into its component parts, including styling
-                            # information. This property is read-only.
-                          { # A TextElement describes the content of a range of indices in the text content
-                              # of a Shape or TableCell.
-                            "autoText": { # A TextElement kind that represents auto text. # A TextElement representing a spot in the text that is dynamically
-                                # replaced with content that can change over time.
-                              "content": "A String", # The rendered content of this auto text, if available.
-                              "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this auto text.
-                                  #
-                                  # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                                  # inherited from the parent. Which text styles are inherited depend on the
-                                  # nesting level of lists:
-                                  #
-                                  # * A text run in a paragraph that is not in a list will inherit its text style
-                                  #   from the the newline character in the paragraph at the 0 nesting level of
-                                  #   the list inside the parent placeholder.
-                                  # * A text run in a paragraph that is in a list will inherit its text style
-                                  #   from the newline character in the paragraph at its corresponding nesting
-                                  #   level of the list inside the parent placeholder.
-                                  #
-                                  # Inherited text styles are represented as unset fields in this message. If
-                                  # text is contained in a shape without a parent placeholder, unsetting these
-                                  # fields will revert the style to a value matching the defaults in the Slides
-                                  # editor.
-                                "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                                    # transparent, depending on if the `opaque_color` field in it is set.
-                                  "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                      # a transparent color.
-                                    "themeColor": "A String", # An opaque theme color.
-                                    "rgbColor": { # An RGB color. # An opaque RGB color.
-                                      "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                      "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                      "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                    },
-                                  },
-                                },
-                                "bold": True or False, # Whether or not the text is rendered as bold.
-                                "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                                    #
-                                    # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                                    # rendered in a smaller font size, computed based on the `font_size` field.
-                                    # The `font_size` itself is not affected by changes in this field.
-                                "strikethrough": True or False, # Whether or not the text is struck through.
-                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                    # read-only.
-                                    #
-                                    # This field is an extension of `font_family` meant to support explicit font
-                                    # weights without breaking backwards compatibility. As such, when reading the
-                                    # style of a range of text, the value of `weighted_font_family.font_family`
-                                    # will always be equal to that of `font_family`.
-                                  "fontFamily": "A String", # The font family of the text.
-                                      #
-                                      # The font family can be any font from the Font menu in Slides or from
-                                      # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                      # unrecognized, the text is rendered in `Arial`.
-                                  "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                      # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                      # only the numerical values described in the "Cascading Style Sheets Level
-                                      # 2 Revision 1 (CSS 2.1) Specification",
-                                      # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                      # non-numerical values in the specification are disallowed. Weights greater
-                                      # than or equal to 700 are considered bold, and weights less than 700 are
-                                      # not bold. The default value is `400` ("normal").
-                                },
-                                "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                                "fontFamily": "A String", # The font family of the text.
-                                    #
-                                    # The font family can be any font from the Font menu in Slides or from
-                                    # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                    # unrecognized, the text is rendered in `Arial`.
-                                    #
-                                    # Some fonts can affect the weight of the text. If an update request
-                                    # specifies values for both `font_family` and `bold`, the explicitly-set
-                                    # `bold` value is used.
-                                "italic": True or False, # Whether or not the text is italicized.
-                                "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                                    # are not inherited from parent text.
-                                    #
-                                    # Changing the link in an update request causes some other changes to the
-                                    # text style of the range:
-                                    #
-                                    # * When setting a link, the text foreground color will be set to
-                                    #   ThemeColorType.HYPERLINK and the text will
-                                    #   be underlined. If these fields are modified in the same
-                                    #   request, those values will be used instead of the link defaults.
-                                    # * Setting a link on a text range that overlaps with an existing link will
-                                    #   also update the existing link to point to the new URL.
-                                    # * Links are not settable on newline characters. As a result, setting a link
-                                    #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                                    #   will separate the newline character(s) into their own text runs. The
-                                    #   link will be applied separately to the runs before and after the newline.
-                                    # * Removing a link will update the text style of the range to match the
-                                    #   style of the preceding text (or the default text styles if the preceding
-                                    #   text is another link) unless different styles are being set in the same
-                                    #   request.
-                                  "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                      # presentation with this ID. A page with this ID may not exist.
-                                  "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                                      # in the presentation. There may not be a slide at this index.
-                                  "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                                      # addressed by its position.
-                                },
-                                "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                                    # transparent, depending on if the `opaque_color` field in it is set.
-                                  "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                      # a transparent color.
-                                    "themeColor": "A String", # An opaque theme color.
-                                    "rgbColor": { # An RGB color. # An opaque RGB color.
-                                      "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                      "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                      "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                    },
-                                  },
-                                },
-                                "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                                    # points.
-                                  "magnitude": 3.14, # The magnitude.
-                                  "unit": "A String", # The units for magnitude.
-                                },
-                                "underline": True or False, # Whether or not the text is underlined.
-                              },
-                              "type": "A String", # The type of this auto text.
-                            },
-                            "endIndex": 42, # The zero-based end index of this text element, exclusive, in Unicode code
-                                # units.
-                            "startIndex": 42, # The zero-based start index of this text element, in Unicode code units.
-                            "paragraphMarker": { # A TextElement kind that represents the beginning of a new paragraph. # A marker representing the beginning of a new paragraph.
-                                #
-                                # The `start_index` and `end_index` of this TextElement represent the
-                                # range of the paragraph. Other TextElements with an index range contained
-                                # inside this paragraph's range are considered to be part of this
-                                # paragraph. The range of indices of two separate paragraphs will never
-                                # overlap.
-                              "style": { # Styles that apply to a whole paragraph. # The paragraph's style
-                                  #
-                                  # If this text is contained in a shape with a parent placeholder, then these paragraph styles may be
-                                  # inherited from the parent. Which paragraph styles are inherited depend on the
-                                  # nesting level of lists:
-                                  #
-                                  # * A paragraph not in a list will inherit its paragraph style from the
-                                  #   paragraph at the 0 nesting level of the list inside the parent placeholder.
-                                  # * A paragraph in a list will inherit its paragraph style from the paragraph
-                                  #   at its corresponding nesting level of the list inside the parent
-                                  #   placeholder.
-                                  #
-                                  # Inherited paragraph styles are represented as unset fields in this message.
-                                "spacingMode": "A String", # The spacing mode for the paragraph.
-                                "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                                    # LEFT_TO_RIGHT
-                                    # since text direction is not inherited.
-                                "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
-                                    # inherited from the parent.
-                                  "magnitude": 3.14, # The magnitude.
-                                  "unit": "A String", # The units for magnitude.
-                                },
-                                "lineSpacing": 3.14, # The amount of space between lines, as a percentage of normal, where normal
-                                    # is represented as 100.0. If unset, the value is inherited from the parent.
-                                "indentStart": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
-                                    # the start of the text, based on the current text direction. If unset, the
-                                    # value is inherited from the parent.
-                                  "magnitude": 3.14, # The magnitude.
-                                  "unit": "A String", # The units for magnitude.
-                                },
-                                "spaceAbove": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
-                                    # inherited from the parent.
-                                  "magnitude": 3.14, # The magnitude.
-                                  "unit": "A String", # The units for magnitude.
-                                },
-                                "indentEnd": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
-                                    # the end of the text, based on the current text direction. If unset, the
-                                    # value is inherited from the parent.
-                                  "magnitude": 3.14, # The magnitude.
-                                  "unit": "A String", # The units for magnitude.
-                                },
-                                "indentFirstLine": { # A magnitude in a single direction in the specified units. # The amount of indentation for the start of the first line of the paragraph.
-                                    # If unset, the value is inherited from the parent.
-                                  "magnitude": 3.14, # The magnitude.
-                                  "unit": "A String", # The units for magnitude.
-                                },
-                                "alignment": "A String", # The text alignment for this paragraph.
-                              },
-                              "bullet": { # Describes the bullet of a paragraph. # The bullet for this paragraph. If not present, the paragraph does not
-                                  # belong to a list.
-                                "nestingLevel": 42, # The nesting level of this paragraph in the list.
-                                "listId": "A String", # The ID of the list this paragraph belongs to.
-                                "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The paragraph specific text style applied to this bullet.
-                                    #
-                                    # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                                    # inherited from the parent. Which text styles are inherited depend on the
-                                    # nesting level of lists:
-                                    #
-                                    # * A text run in a paragraph that is not in a list will inherit its text style
-                                    #   from the the newline character in the paragraph at the 0 nesting level of
-                                    #   the list inside the parent placeholder.
-                                    # * A text run in a paragraph that is in a list will inherit its text style
-                                    #   from the newline character in the paragraph at its corresponding nesting
-                                    #   level of the list inside the parent placeholder.
-                                    #
-                                    # Inherited text styles are represented as unset fields in this message. If
-                                    # text is contained in a shape without a parent placeholder, unsetting these
-                                    # fields will revert the style to a value matching the defaults in the Slides
-                                    # editor.
-                                  "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                                      # transparent, depending on if the `opaque_color` field in it is set.
-                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                        # a transparent color.
-                                      "themeColor": "A String", # An opaque theme color.
-                                      "rgbColor": { # An RGB color. # An opaque RGB color.
-                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                      },
-                                    },
-                                  },
-                                  "bold": True or False, # Whether or not the text is rendered as bold.
-                                  "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                                      #
-                                      # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                                      # rendered in a smaller font size, computed based on the `font_size` field.
-                                      # The `font_size` itself is not affected by changes in this field.
-                                  "strikethrough": True or False, # Whether or not the text is struck through.
-                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                      # read-only.
-                                      #
-                                      # This field is an extension of `font_family` meant to support explicit font
-                                      # weights without breaking backwards compatibility. As such, when reading the
-                                      # style of a range of text, the value of `weighted_font_family.font_family`
-                                      # will always be equal to that of `font_family`.
-                                    "fontFamily": "A String", # The font family of the text.
-                                        #
-                                        # The font family can be any font from the Font menu in Slides or from
-                                        # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                        # unrecognized, the text is rendered in `Arial`.
-                                    "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                        # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                        # only the numerical values described in the "Cascading Style Sheets Level
-                                        # 2 Revision 1 (CSS 2.1) Specification",
-                                        # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                        # non-numerical values in the specification are disallowed. Weights greater
-                                        # than or equal to 700 are considered bold, and weights less than 700 are
-                                        # not bold. The default value is `400` ("normal").
-                                  },
-                                  "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                                  "fontFamily": "A String", # The font family of the text.
-                                      #
-                                      # The font family can be any font from the Font menu in Slides or from
-                                      # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                      # unrecognized, the text is rendered in `Arial`.
-                                      #
-                                      # Some fonts can affect the weight of the text. If an update request
-                                      # specifies values for both `font_family` and `bold`, the explicitly-set
-                                      # `bold` value is used.
-                                  "italic": True or False, # Whether or not the text is italicized.
-                                  "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                                      # are not inherited from parent text.
-                                      #
-                                      # Changing the link in an update request causes some other changes to the
-                                      # text style of the range:
-                                      #
-                                      # * When setting a link, the text foreground color will be set to
-                                      #   ThemeColorType.HYPERLINK and the text will
-                                      #   be underlined. If these fields are modified in the same
-                                      #   request, those values will be used instead of the link defaults.
-                                      # * Setting a link on a text range that overlaps with an existing link will
-                                      #   also update the existing link to point to the new URL.
-                                      # * Links are not settable on newline characters. As a result, setting a link
-                                      #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                                      #   will separate the newline character(s) into their own text runs. The
-                                      #   link will be applied separately to the runs before and after the newline.
-                                      # * Removing a link will update the text style of the range to match the
-                                      #   style of the preceding text (or the default text styles if the preceding
-                                      #   text is another link) unless different styles are being set in the same
-                                      #   request.
-                                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                        # presentation with this ID. A page with this ID may not exist.
-                                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                                        # in the presentation. There may not be a slide at this index.
-                                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                                        # addressed by its position.
-                                  },
-                                  "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                                      # transparent, depending on if the `opaque_color` field in it is set.
-                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                        # a transparent color.
-                                      "themeColor": "A String", # An opaque theme color.
-                                      "rgbColor": { # An RGB color. # An opaque RGB color.
-                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                      },
-                                    },
-                                  },
-                                  "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                                      # points.
-                                    "magnitude": 3.14, # The magnitude.
-                                    "unit": "A String", # The units for magnitude.
-                                  },
-                                  "underline": True or False, # Whether or not the text is underlined.
-                                },
-                                "glyph": "A String", # The rendered bullet glyph for this paragraph.
-                              },
-                            },
-                            "textRun": { # A TextElement kind that represents a run of text that all has the same # A TextElement representing a run of text where all of the characters
-                                # in the run have the same TextStyle.
-                                #
-                                # The `start_index` and `end_index` of TextRuns will always be fully
-                                # contained in the index range of a single `paragraph_marker` TextElement.
-                                # In other words, a TextRun will never span multiple paragraphs.
-                                # styling.
-                              "content": "A String", # The text of this run.
-                              "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this run.
-                                  #
-                                  # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                                  # inherited from the parent. Which text styles are inherited depend on the
-                                  # nesting level of lists:
-                                  #
-                                  # * A text run in a paragraph that is not in a list will inherit its text style
-                                  #   from the the newline character in the paragraph at the 0 nesting level of
-                                  #   the list inside the parent placeholder.
-                                  # * A text run in a paragraph that is in a list will inherit its text style
-                                  #   from the newline character in the paragraph at its corresponding nesting
-                                  #   level of the list inside the parent placeholder.
-                                  #
-                                  # Inherited text styles are represented as unset fields in this message. If
-                                  # text is contained in a shape without a parent placeholder, unsetting these
-                                  # fields will revert the style to a value matching the defaults in the Slides
-                                  # editor.
-                                "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                                    # transparent, depending on if the `opaque_color` field in it is set.
-                                  "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                      # a transparent color.
-                                    "themeColor": "A String", # An opaque theme color.
-                                    "rgbColor": { # An RGB color. # An opaque RGB color.
-                                      "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                      "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                      "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                    },
-                                  },
-                                },
-                                "bold": True or False, # Whether or not the text is rendered as bold.
-                                "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                                    #
-                                    # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                                    # rendered in a smaller font size, computed based on the `font_size` field.
-                                    # The `font_size` itself is not affected by changes in this field.
-                                "strikethrough": True or False, # Whether or not the text is struck through.
-                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                    # read-only.
-                                    #
-                                    # This field is an extension of `font_family` meant to support explicit font
-                                    # weights without breaking backwards compatibility. As such, when reading the
-                                    # style of a range of text, the value of `weighted_font_family.font_family`
-                                    # will always be equal to that of `font_family`.
-                                  "fontFamily": "A String", # The font family of the text.
-                                      #
-                                      # The font family can be any font from the Font menu in Slides or from
-                                      # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                      # unrecognized, the text is rendered in `Arial`.
-                                  "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                      # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                      # only the numerical values described in the "Cascading Style Sheets Level
-                                      # 2 Revision 1 (CSS 2.1) Specification",
-                                      # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                      # non-numerical values in the specification are disallowed. Weights greater
-                                      # than or equal to 700 are considered bold, and weights less than 700 are
-                                      # not bold. The default value is `400` ("normal").
-                                },
-                                "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                                "fontFamily": "A String", # The font family of the text.
-                                    #
-                                    # The font family can be any font from the Font menu in Slides or from
-                                    # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                    # unrecognized, the text is rendered in `Arial`.
-                                    #
-                                    # Some fonts can affect the weight of the text. If an update request
-                                    # specifies values for both `font_family` and `bold`, the explicitly-set
-                                    # `bold` value is used.
-                                "italic": True or False, # Whether or not the text is italicized.
-                                "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                                    # are not inherited from parent text.
-                                    #
-                                    # Changing the link in an update request causes some other changes to the
-                                    # text style of the range:
-                                    #
-                                    # * When setting a link, the text foreground color will be set to
-                                    #   ThemeColorType.HYPERLINK and the text will
-                                    #   be underlined. If these fields are modified in the same
-                                    #   request, those values will be used instead of the link defaults.
-                                    # * Setting a link on a text range that overlaps with an existing link will
-                                    #   also update the existing link to point to the new URL.
-                                    # * Links are not settable on newline characters. As a result, setting a link
-                                    #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                                    #   will separate the newline character(s) into their own text runs. The
-                                    #   link will be applied separately to the runs before and after the newline.
-                                    # * Removing a link will update the text style of the range to match the
-                                    #   style of the preceding text (or the default text styles if the preceding
-                                    #   text is another link) unless different styles are being set in the same
-                                    #   request.
-                                  "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                      # presentation with this ID. A page with this ID may not exist.
-                                  "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                                      # in the presentation. There may not be a slide at this index.
-                                  "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                                      # addressed by its position.
-                                },
-                                "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                                    # transparent, depending on if the `opaque_color` field in it is set.
-                                  "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                      # a transparent color.
-                                    "themeColor": "A String", # An opaque theme color.
-                                    "rgbColor": { # An RGB color. # An opaque RGB color.
-                                      "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                      "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                      "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                    },
-                                  },
-                                },
-                                "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                                    # points.
-                                  "magnitude": 3.14, # The magnitude.
-                                  "unit": "A String", # The units for magnitude.
-                                },
-                                "underline": True or False, # Whether or not the text is underlined.
-                              },
-                            },
-                          },
-                        ],
-                      },
-                      "tableCellProperties": { # The properties of the TableCell. # The properties of the table cell.
-                        "tableCellBackgroundFill": { # The table cell background fill. # The background fill of the table cell. The default fill matches the fill
-                            # for newly created table cells in the Slides editor.
-                          "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                              # specified color value.
-                              #
-                              # If any field is unset, its value may be inherited from a parent placeholder
-                              # if it exists.
-                            "color": { # A themeable solid color value. # The color value of the solid fill.
-                              "themeColor": "A String", # An opaque theme color.
-                              "rgbColor": { # An RGB color. # An opaque RGB color.
-                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                              },
-                            },
-                            "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                                # That is, the final pixel color is defined by the equation:
-                                #
-                                #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                                #
-                                # This means that a value of 1.0 corresponds to a solid color, whereas
-                                # a value of 0.0 corresponds to a completely transparent color.
-                          },
-                          "propertyState": "A String", # The background fill property state.
-                              #
-                              # Updating the the fill on a table cell will implicitly update this field
-                              # to `RENDERED`, unless another value is specified in the same request. To
-                              # have no fill on a table cell, set this field to `NOT_RENDERED`. In this
-                              # case, any other fill fields set in the same request will be ignored.
-                        },
-                      },
-                      "rowSpan": 42, # Row span of the cell.
-                      "columnSpan": 42, # Column span of the cell.
-                      "location": { # A location of a single table cell within a table. # The location of the cell within the table.
-                        "rowIndex": 42, # The 0-based row index.
-                        "columnIndex": 42, # The 0-based column index.
-                      },
-                    },
-                  ],
-                  "rowHeight": { # A magnitude in a single direction in the specified units. # Height of a row.
-                    "magnitude": 3.14, # The magnitude.
-                    "unit": "A String", # The units for magnitude.
-                  },
-                },
-              ],
-              "rows": 42, # Number of rows in the table.
-              "columns": 42, # Number of columns in the table.
-            },
-            "line": { # A PageElement kind representing a # A line page element.
-                # line, curved connector, or bent connector.
-              "lineProperties": { # The properties of the Line. # The properties of the line.
-                  #
-                  # When unset, these fields default to values that match the appearance of
-                  # new lines created in the Slides editor.
-                "dashStyle": "A String", # The dash style of the line.
-                "weight": { # A magnitude in a single direction in the specified units. # The thickness of the line.
-                  "magnitude": 3.14, # The magnitude.
-                  "unit": "A String", # The units for magnitude.
-                },
-                "endArrow": "A String", # The style of the arrow at the end of the line.
-                "link": { # A hypertext link. # The hyperlink destination of the line. If unset, there is no link.
-                  "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                      # presentation with this ID. A page with this ID may not exist.
-                  "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                      # in the presentation. There may not be a slide at this index.
-                  "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                      # addressed by its position.
-                },
-                "lineFill": { # The fill of the line. # The fill of the line. The default line fill matches the defaults for new
-                    # lines created in the Slides editor.
-                  "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                      # specified color value.
-                      #
-                      # If any field is unset, its value may be inherited from a parent placeholder
-                      # if it exists.
-                    "color": { # A themeable solid color value. # The color value of the solid fill.
-                      "themeColor": "A String", # An opaque theme color.
-                      "rgbColor": { # An RGB color. # An opaque RGB color.
-                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                      },
-                    },
-                    "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                        # That is, the final pixel color is defined by the equation:
-                        #
-                        #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                        #
-                        # This means that a value of 1.0 corresponds to a solid color, whereas
-                        # a value of 0.0 corresponds to a completely transparent color.
-                  },
-                },
-                "startArrow": "A String", # The style of the arrow at the beginning of the line.
-              },
-              "lineType": "A String", # The type of the line.
-            },
-            "size": { # A width and height. # The size of the page element.
-              "width": { # A magnitude in a single direction in the specified units. # The width of the object.
-                "magnitude": 3.14, # The magnitude.
-                "unit": "A String", # The units for magnitude.
-              },
-              "height": { # A magnitude in a single direction in the specified units. # The height of the object.
-                "magnitude": 3.14, # The magnitude.
-                "unit": "A String", # The units for magnitude.
-              },
-            },
-          },
-        ],
-        "notesProperties": { # The properties of Page that are only # Notes specific properties. Only set if page_type = NOTES.
-            # relevant for pages with page_type NOTES.
-          "speakerNotesObjectId": "A String", # The object ID of the shape on this notes page that contains the speaker
-              # notes for the corresponding slide.
-              # The actual shape may not always exist on the notes page. Inserting text
-              # using this object ID will automatically create the shape. In this case, the
-              # actual shape may have different object ID. The `GetPresentation` or
-              # `GetPage` action will always return the latest object ID.
-        },
-        "objectId": "A String", # The object ID for this page. Object IDs used by
-            # Page and
-            # PageElement share the same namespace.
-        "revisionId": "A String", # The revision ID of the presentation containing this page. Can be used in
-            # update requests to assert that the presentation revision hasn't changed
-            # since the last read operation. Only populated if the user has edit access
-            # to the presentation.
-            #
-            # The format of the revision ID may change over time, so it should be treated
-            # opaquely. A returned revision ID is only guaranteed to be valid for 24
-            # hours after it has been returned and cannot be shared across
-            # users. Callers can assume that if two revision IDs are equal then the
-            # presentation has not changed.
-        "pageProperties": { # The properties of the Page. # The properties of the page.
-            #
-            # The page will inherit properties from the parent page. Depending on the page
-            # type the hierarchy is defined in either
-            # SlideProperties or
-            # LayoutProperties.
-          "pageBackgroundFill": { # The page background fill. # The background fill of the page. If unset, the background fill is inherited
-              # from a parent page if it exists. If the page has no parent, then the
-              # background fill defaults to the corresponding fill in the Slides editor.
-            "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                # specified color value.
-                #
-                # If any field is unset, its value may be inherited from a parent placeholder
-                # if it exists.
-              "color": { # A themeable solid color value. # The color value of the solid fill.
-                "themeColor": "A String", # An opaque theme color.
-                "rgbColor": { # An RGB color. # An opaque RGB color.
-                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                },
-              },
-              "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                  # That is, the final pixel color is defined by the equation:
-                  #
-                  #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                  #
-                  # This means that a value of 1.0 corresponds to a solid color, whereas
-                  # a value of 0.0 corresponds to a completely transparent color.
-            },
-            "propertyState": "A String", # The background fill property state.
-                #
-                # Updating the the fill on a page will implicitly update this field to
-                # `RENDERED`, unless another value is specified in the same request. To
-                # have no fill on a page, set this field to `NOT_RENDERED`. In this case,
-                # any other fill fields set in the same request will be ignored.
-            "stretchedPictureFill": { # The stretched picture fill. The page or page element is filled entirely with # Stretched picture fill.
-                # the specified picture. The picture is stretched to fit its container.
-              "contentUrl": "A String", # Reading the content_url:
-                  #
-                  # An URL to a picture with a default lifetime of 30 minutes.
-                  # This URL is tagged with the account of the requester. Anyone with the URL
-                  # effectively accesses the picture as the original requester. Access to the
-                  # picture may be lost if the presentation's sharing settings change.
-                  #
-                  # Writing the content_url:
-                  #
-                  # The picture is fetched once at insertion time and a copy is stored for
-                  # display inside the presentation. Pictures must be less than 50MB in size,
-                  # cannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF
-                  # format.
-              "size": { # A width and height. # The original size of the picture fill. This field is read-only.
-                "width": { # A magnitude in a single direction in the specified units. # The width of the object.
-                  "magnitude": 3.14, # The magnitude.
-                  "unit": "A String", # The units for magnitude.
-                },
-                "height": { # A magnitude in a single direction in the specified units. # The height of the object.
-                  "magnitude": 3.14, # The magnitude.
-                  "unit": "A String", # The units for magnitude.
-                },
-              },
-            },
-          },
-          "colorScheme": { # The palette of predefined colors for a page. # The color scheme of the page. If unset, the color scheme is inherited from
-              # a parent page. If the page has no parent, the color scheme uses a default
-              # Slides color scheme. This field is read-only.
-            "colors": [ # The ThemeColorType and corresponding concrete color pairs.
-              { # A pair mapping a theme color type to the concrete color it represents.
-                "color": { # An RGB color. # The concrete color corresponding to the theme color type above.
-                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                },
-                "type": "A String", # The type of the theme color.
-              },
-            ],
-          },
-        },
-        "pageType": "A String", # The type of the page.
-        "slideProperties": { # The properties of Page that are only # Slide specific properties. Only set if page_type = SLIDE.
-            # relevant for pages with page_type SLIDE.
-          "notesPage": # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual
-              # appearance of a notes page when printing or exporting slides with speaker
-              # notes. A notes page inherits properties from the
-              # notes master.
-              # The placeholder shape with type BODY on the notes page contains the speaker
-              # notes for this slide. The ID of this shape is identified by the
-              # speakerNotesObjectId field.
-              # The notes page is read-only except for the text content and styles of the
-              # speaker notes shape.
-          "masterObjectId": "A String", # The object ID of the master that this slide is based on.
-          "layoutObjectId": "A String", # The object ID of the layout that this slide is based on.
-        },
-      },
-    ],
-    "pageSize": { # A width and height. # The size of pages in the presentation.
-      "width": { # A magnitude in a single direction in the specified units. # The width of the object.
-        "magnitude": 3.14, # The magnitude.
-        "unit": "A String", # The units for magnitude.
-      },
-      "height": { # A magnitude in a single direction in the specified units. # The height of the object.
-        "magnitude": 3.14, # The magnitude.
-        "unit": "A String", # The units for magnitude.
-      },
-    },
-    "title": "A String", # The title of the presentation.
-    "locale": "A String", # The locale of the presentation, as an IETF BCP 47 language tag.
-    "revisionId": "A String", # The revision ID of the presentation. Can be used in update requests
-        # to assert that the presentation revision hasn't changed since the last
-        # read operation. Only populated if the user has edit access to the
-        # presentation.
-        # 
-        # The format of the revision ID may change over time, so it should be treated
-        # opaquely. A returned revision ID is only guaranteed to be valid for 24
-        # hours after it has been returned and cannot be shared across users. Callers
-        # can assume that if two revision IDs are equal then the presentation has not
-        # changed.
     "notesMaster": { # A page in a presentation. # The notes master in the presentation. It serves three purposes:
         # 
         # - Placeholder shapes on a notes master contain the default text styles and
@@ -3923,10 +1915,10 @@
               },
               "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
                 "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                    # presentation with this ID. A page with this ID may not exist.
                 "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                     # in the presentation. There may not be a slide at this index.
+                "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                    # presentation with this ID. A page with this ID may not exist.
                 "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                     # addressed by its position.
               },
@@ -3957,17 +1949,17 @@
                 "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
                     # the right of the original bounding rectangle left edge, relative to the
                     # object's original width.
-                "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                    # below the original bounding rectangle top edge, relative to the object's
-                    # original height.
-                "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                    # above the original bounding rectangle bottom edge, relative to the object's
-                    # original height.
                 "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
                     # Rotation angle is applied after the offset.
                 "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
                     # to the left of the original bounding rectangle right edge, relative to the
                     # object's original width.
+                "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                    # above the original bounding rectangle bottom edge, relative to the object's
+                    # original height.
+                "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                    # below the original bounding rectangle top edge, relative to the object's
+                    # original height.
               },
               "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
                   # is read-only.
@@ -4097,26 +2089,47 @@
                             # rendered in a smaller font size, computed based on the `font_size` field.
                             # The `font_size` itself is not affected by changes in this field.
                         "strikethrough": True or False, # Whether or not the text is struck through.
-                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                            # read-only.
+                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                             #
                             # This field is an extension of `font_family` meant to support explicit font
                             # weights without breaking backwards compatibility. As such, when reading the
-                            # style of a range of text, the value of `weighted_font_family.font_family`
-                            # will always be equal to that of `font_family`.
+                            # style of a range of text, the value of `weighted_font_family#font_family`
+                            # will always be equal to that of `font_family`. However, when writing, if
+                            # both fields are included in the field mask (either explicitly or through
+                            # the wildcard `"*"`), their values are reconciled as follows:
+                            #
+                            # * If `font_family` is set and `weighted_font_family` is not, the value of
+                            #   `font_family` is applied with weight `400` ("normal").
+                            # * If both fields are set, the value of `font_family` must match that of
+                            #   `weighted_font_family#font_family`. If so, the font family and weight of
+                            #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                            #   returned.
+                            # * If `weighted_font_family` is set and `font_family` is not, the font
+                            #   family and weight of `weighted_font_family` is applied.
+                            # * If neither field is set, the font family and weight of the text inherit
+                            #   from the parent. Note that these properties cannot inherit separately
+                            #   from each other.
+                            #
+                            # If an update request specifies values for both `weighted_font_family` and
+                            # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                            #
+                            # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                            #
+                            # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                            # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                            # is returned.
                           "fontFamily": "A String", # The font family of the text.
                               #
                               # The font family can be any font from the Font menu in Slides or from
                               # [Google Fonts] (https://fonts.google.com/). If the font name is
                               # unrecognized, the text is rendered in `Arial`.
                           "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                              # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                              # only the numerical values described in the "Cascading Style Sheets Level
-                              # 2 Revision 1 (CSS 2.1) Specification",
-                              # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                              # non-numerical values in the specification are disallowed. Weights greater
-                              # than or equal to 700 are considered bold, and weights less than 700 are
-                              # not bold. The default value is `400` ("normal").
+                              # multiple of `100` between `100` and `900`, inclusive. This range
+                              # corresponds to the numerical values described in the CSS 2.1
+                              # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                              # with non-numerical values disallowed. Weights greater than or equal to
+                              # `700` are considered bold, and weights less than `700`are not bold. The
+                              # default value is `400` ("normal").
                         },
                         "smallCaps": True or False, # Whether or not the text is in small capital letters.
                         "fontFamily": "A String", # The font family of the text.
@@ -4150,10 +2163,10 @@
                             #   text is another link) unless different styles are being set in the same
                             #   request.
                           "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                              # presentation with this ID. A page with this ID may not exist.
                           "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                               # in the presentation. There may not be a slide at this index.
+                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                              # presentation with this ID. A page with this ID may not exist.
                           "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                               # addressed by its position.
                         },
@@ -4224,26 +2237,47 @@
                           # rendered in a smaller font size, computed based on the `font_size` field.
                           # The `font_size` itself is not affected by changes in this field.
                       "strikethrough": True or False, # Whether or not the text is struck through.
-                      "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                          # read-only.
+                      "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                           #
                           # This field is an extension of `font_family` meant to support explicit font
                           # weights without breaking backwards compatibility. As such, when reading the
-                          # style of a range of text, the value of `weighted_font_family.font_family`
-                          # will always be equal to that of `font_family`.
+                          # style of a range of text, the value of `weighted_font_family#font_family`
+                          # will always be equal to that of `font_family`. However, when writing, if
+                          # both fields are included in the field mask (either explicitly or through
+                          # the wildcard `"*"`), their values are reconciled as follows:
+                          #
+                          # * If `font_family` is set and `weighted_font_family` is not, the value of
+                          #   `font_family` is applied with weight `400` ("normal").
+                          # * If both fields are set, the value of `font_family` must match that of
+                          #   `weighted_font_family#font_family`. If so, the font family and weight of
+                          #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                          #   returned.
+                          # * If `weighted_font_family` is set and `font_family` is not, the font
+                          #   family and weight of `weighted_font_family` is applied.
+                          # * If neither field is set, the font family and weight of the text inherit
+                          #   from the parent. Note that these properties cannot inherit separately
+                          #   from each other.
+                          #
+                          # If an update request specifies values for both `weighted_font_family` and
+                          # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                          #
+                          # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                          #
+                          # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                          # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                          # is returned.
                         "fontFamily": "A String", # The font family of the text.
                             #
                             # The font family can be any font from the Font menu in Slides or from
                             # [Google Fonts] (https://fonts.google.com/). If the font name is
                             # unrecognized, the text is rendered in `Arial`.
                         "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                            # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                            # only the numerical values described in the "Cascading Style Sheets Level
-                            # 2 Revision 1 (CSS 2.1) Specification",
-                            # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                            # non-numerical values in the specification are disallowed. Weights greater
-                            # than or equal to 700 are considered bold, and weights less than 700 are
-                            # not bold. The default value is `400` ("normal").
+                            # multiple of `100` between `100` and `900`, inclusive. This range
+                            # corresponds to the numerical values described in the CSS 2.1
+                            # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                            # with non-numerical values disallowed. Weights greater than or equal to
+                            # `700` are considered bold, and weights less than `700`are not bold. The
+                            # default value is `400` ("normal").
                       },
                       "smallCaps": True or False, # Whether or not the text is in small capital letters.
                       "fontFamily": "A String", # The font family of the text.
@@ -4277,10 +2311,10 @@
                           #   text is another link) unless different styles are being set in the same
                           #   request.
                         "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                        "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                            # presentation with this ID. A page with this ID may not exist.
                         "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                             # in the presentation. There may not be a slide at this index.
+                        "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                            # presentation with this ID. A page with this ID may not exist.
                         "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                             # addressed by its position.
                       },
@@ -4330,8 +2364,8 @@
                         # Inherited paragraph styles are represented as unset fields in this message.
                       "spacingMode": "A String", # The spacing mode for the paragraph.
                       "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                          # LEFT_TO_RIGHT
-                          # since text direction is not inherited.
+                          # LEFT_TO_RIGHT since
+                          # text direction is not inherited.
                       "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
                           # inherited from the parent.
                         "magnitude": 3.14, # The magnitude.
@@ -4403,26 +2437,47 @@
                             # rendered in a smaller font size, computed based on the `font_size` field.
                             # The `font_size` itself is not affected by changes in this field.
                         "strikethrough": True or False, # Whether or not the text is struck through.
-                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                            # read-only.
+                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                             #
                             # This field is an extension of `font_family` meant to support explicit font
                             # weights without breaking backwards compatibility. As such, when reading the
-                            # style of a range of text, the value of `weighted_font_family.font_family`
-                            # will always be equal to that of `font_family`.
+                            # style of a range of text, the value of `weighted_font_family#font_family`
+                            # will always be equal to that of `font_family`. However, when writing, if
+                            # both fields are included in the field mask (either explicitly or through
+                            # the wildcard `"*"`), their values are reconciled as follows:
+                            #
+                            # * If `font_family` is set and `weighted_font_family` is not, the value of
+                            #   `font_family` is applied with weight `400` ("normal").
+                            # * If both fields are set, the value of `font_family` must match that of
+                            #   `weighted_font_family#font_family`. If so, the font family and weight of
+                            #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                            #   returned.
+                            # * If `weighted_font_family` is set and `font_family` is not, the font
+                            #   family and weight of `weighted_font_family` is applied.
+                            # * If neither field is set, the font family and weight of the text inherit
+                            #   from the parent. Note that these properties cannot inherit separately
+                            #   from each other.
+                            #
+                            # If an update request specifies values for both `weighted_font_family` and
+                            # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                            #
+                            # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                            #
+                            # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                            # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                            # is returned.
                           "fontFamily": "A String", # The font family of the text.
                               #
                               # The font family can be any font from the Font menu in Slides or from
                               # [Google Fonts] (https://fonts.google.com/). If the font name is
                               # unrecognized, the text is rendered in `Arial`.
                           "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                              # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                              # only the numerical values described in the "Cascading Style Sheets Level
-                              # 2 Revision 1 (CSS 2.1) Specification",
-                              # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                              # non-numerical values in the specification are disallowed. Weights greater
-                              # than or equal to 700 are considered bold, and weights less than 700 are
-                              # not bold. The default value is `400` ("normal").
+                              # multiple of `100` between `100` and `900`, inclusive. This range
+                              # corresponds to the numerical values described in the CSS 2.1
+                              # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                              # with non-numerical values disallowed. Weights greater than or equal to
+                              # `700` are considered bold, and weights less than `700`are not bold. The
+                              # default value is `400` ("normal").
                         },
                         "smallCaps": True or False, # Whether or not the text is in small capital letters.
                         "fontFamily": "A String", # The font family of the text.
@@ -4456,10 +2511,10 @@
                             #   text is another link) unless different styles are being set in the same
                             #   request.
                           "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                              # presentation with this ID. A page with this ID may not exist.
                           "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                               # in the presentation. There may not be a slide at this index.
+                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                              # presentation with this ID. A page with this ID may not exist.
                           "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                               # addressed by its position.
                         },
@@ -4529,26 +2584,47 @@
                           # rendered in a smaller font size, computed based on the `font_size` field.
                           # The `font_size` itself is not affected by changes in this field.
                       "strikethrough": True or False, # Whether or not the text is struck through.
-                      "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                          # read-only.
+                      "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                           #
                           # This field is an extension of `font_family` meant to support explicit font
                           # weights without breaking backwards compatibility. As such, when reading the
-                          # style of a range of text, the value of `weighted_font_family.font_family`
-                          # will always be equal to that of `font_family`.
+                          # style of a range of text, the value of `weighted_font_family#font_family`
+                          # will always be equal to that of `font_family`. However, when writing, if
+                          # both fields are included in the field mask (either explicitly or through
+                          # the wildcard `"*"`), their values are reconciled as follows:
+                          #
+                          # * If `font_family` is set and `weighted_font_family` is not, the value of
+                          #   `font_family` is applied with weight `400` ("normal").
+                          # * If both fields are set, the value of `font_family` must match that of
+                          #   `weighted_font_family#font_family`. If so, the font family and weight of
+                          #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                          #   returned.
+                          # * If `weighted_font_family` is set and `font_family` is not, the font
+                          #   family and weight of `weighted_font_family` is applied.
+                          # * If neither field is set, the font family and weight of the text inherit
+                          #   from the parent. Note that these properties cannot inherit separately
+                          #   from each other.
+                          #
+                          # If an update request specifies values for both `weighted_font_family` and
+                          # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                          #
+                          # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                          #
+                          # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                          # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                          # is returned.
                         "fontFamily": "A String", # The font family of the text.
                             #
                             # The font family can be any font from the Font menu in Slides or from
                             # [Google Fonts] (https://fonts.google.com/). If the font name is
                             # unrecognized, the text is rendered in `Arial`.
                         "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                            # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                            # only the numerical values described in the "Cascading Style Sheets Level
-                            # 2 Revision 1 (CSS 2.1) Specification",
-                            # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                            # non-numerical values in the specification are disallowed. Weights greater
-                            # than or equal to 700 are considered bold, and weights less than 700 are
-                            # not bold. The default value is `400` ("normal").
+                            # multiple of `100` between `100` and `900`, inclusive. This range
+                            # corresponds to the numerical values described in the CSS 2.1
+                            # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                            # with non-numerical values disallowed. Weights greater than or equal to
+                            # `700` are considered bold, and weights less than `700`are not bold. The
+                            # default value is `400` ("normal").
                       },
                       "smallCaps": True or False, # Whether or not the text is in small capital letters.
                       "fontFamily": "A String", # The font family of the text.
@@ -4582,10 +2658,10 @@
                           #   text is another link) unless different styles are being set in the same
                           #   request.
                         "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                        "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                            # presentation with this ID. A page with this ID may not exist.
                         "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                             # in the presentation. There may not be a slide at this index.
+                        "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                            # presentation with this ID. A page with this ID may not exist.
                         "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                             # addressed by its position.
                       },
@@ -4710,10 +2786,10 @@
               "link": { # A hypertext link. # The hyperlink destination of the shape. If unset, there is no link. Links
                   # are not inherited from parent placeholders.
                 "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                    # presentation with this ID. A page with this ID may not exist.
                 "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                     # in the presentation. There may not be a slide at this index.
+                "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                    # presentation with this ID. A page with this ID may not exist.
                 "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                     # addressed by its position.
               },
@@ -4772,8 +2848,8 @@
               "parentObjectId": "A String", # The object ID of this shape's parent placeholder.
                   # If unset, the parent placeholder shape does not exist, so the shape does
                   # not inherit properties from any other shape.
-              "index": 42, # The index of the placeholder. If the same placeholder types are the present
-                  # in the same page, they would have different index values.
+              "index": 42, # The index of the placeholder. If the same placeholder types are present in
+                  # the same page, they would have different index values.
               "type": "A String", # The type of the placeholder.
             },
             "shapeType": "A String", # The type of the shape.
@@ -4781,12 +2857,11 @@
           "sheetsChart": { # A PageElement kind representing # A linked chart embedded from Google Sheets. Unlinked charts are
               # represented as images.
               # a linked chart embedded from Google Sheets.
-            "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
-                # embedded.
             "contentUrl": "A String", # The URL of an image of the embedded chart, with a default lifetime of 30
                 # minutes. This URL is tagged with the account of the requester. Anyone with
                 # the URL effectively accesses the image as the original requester. Access to
                 # the image may be lost if the presentation's sharing settings change.
+            "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
             "sheetsChartProperties": { # The properties of the SheetsChart. # The properties of the Sheets chart.
               "chartImageProperties": { # The properties of the Image. # The properties of the embedded chart image.
                 "outline": { # The outline of a PageElement. # The outline of the image. If not set, the the image has no outline.
@@ -4864,10 +2939,10 @@
                 },
                 "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                      # presentation with this ID. A page with this ID may not exist.
                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                       # in the presentation. There may not be a slide at this index.
+                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                      # presentation with this ID. A page with this ID may not exist.
                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                       # addressed by its position.
                 },
@@ -4898,17 +2973,17 @@
                   "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
                       # the right of the original bounding rectangle left edge, relative to the
                       # object's original width.
-                  "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                      # below the original bounding rectangle top edge, relative to the object's
-                      # original height.
-                  "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                      # above the original bounding rectangle bottom edge, relative to the object's
-                      # original height.
                   "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
                       # Rotation angle is applied after the offset.
                   "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
                       # to the left of the original bounding rectangle right edge, relative to the
                       # object's original width.
+                  "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                      # above the original bounding rectangle bottom edge, relative to the object's
+                      # original height.
+                  "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                      # below the original bounding rectangle top edge, relative to the object's
+                      # original height.
                 },
                 "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
                     # is read-only.
@@ -4968,14 +3043,13 @@
                     # [-1.0, 1.0], where 0 means no effect. This property is read-only.
               },
             },
-            "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
+            "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
+                # embedded.
           },
           "video": { # A PageElement kind representing a # A video page element.
               # video.
             "url": "A String", # An URL to a video. The URL is valid as long as the source video
                 # exists and sharing settings do not change.
-            "source": "A String", # The video source.
-            "id": "A String", # The video source's unique identifier for this video.
             "videoProperties": { # The properties of the Video. # The properties of the video.
               "outline": { # The outline of a PageElement. # The outline of the video. The default outline matches the defaults for new
                   # videos created in the Slides editor.
@@ -5021,6 +3095,8 @@
                 },
               },
             },
+            "id": "A String", # The video source's unique identifier for this video.
+            "source": "A String", # The video source.
           },
           "elementGroup": { # A PageElement kind representing a # A collection of page elements joined as a single unit.
               # joined collection of PageElements.
@@ -5098,26 +3174,47 @@
                                     # rendered in a smaller font size, computed based on the `font_size` field.
                                     # The `font_size` itself is not affected by changes in this field.
                                 "strikethrough": True or False, # Whether or not the text is struck through.
-                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                    # read-only.
+                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                     #
                                     # This field is an extension of `font_family` meant to support explicit font
                                     # weights without breaking backwards compatibility. As such, when reading the
-                                    # style of a range of text, the value of `weighted_font_family.font_family`
-                                    # will always be equal to that of `font_family`.
+                                    # style of a range of text, the value of `weighted_font_family#font_family`
+                                    # will always be equal to that of `font_family`. However, when writing, if
+                                    # both fields are included in the field mask (either explicitly or through
+                                    # the wildcard `"*"`), their values are reconciled as follows:
+                                    #
+                                    # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                    #   `font_family` is applied with weight `400` ("normal").
+                                    # * If both fields are set, the value of `font_family` must match that of
+                                    #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                    #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                    #   returned.
+                                    # * If `weighted_font_family` is set and `font_family` is not, the font
+                                    #   family and weight of `weighted_font_family` is applied.
+                                    # * If neither field is set, the font family and weight of the text inherit
+                                    #   from the parent. Note that these properties cannot inherit separately
+                                    #   from each other.
+                                    #
+                                    # If an update request specifies values for both `weighted_font_family` and
+                                    # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                    #
+                                    # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                    #
+                                    # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                    # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                    # is returned.
                                   "fontFamily": "A String", # The font family of the text.
                                       #
                                       # The font family can be any font from the Font menu in Slides or from
                                       # [Google Fonts] (https://fonts.google.com/). If the font name is
                                       # unrecognized, the text is rendered in `Arial`.
                                   "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                      # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                      # only the numerical values described in the "Cascading Style Sheets Level
-                                      # 2 Revision 1 (CSS 2.1) Specification",
-                                      # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                      # non-numerical values in the specification are disallowed. Weights greater
-                                      # than or equal to 700 are considered bold, and weights less than 700 are
-                                      # not bold. The default value is `400` ("normal").
+                                      # multiple of `100` between `100` and `900`, inclusive. This range
+                                      # corresponds to the numerical values described in the CSS 2.1
+                                      # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                      # with non-numerical values disallowed. Weights greater than or equal to
+                                      # `700` are considered bold, and weights less than `700`are not bold. The
+                                      # default value is `400` ("normal").
                                 },
                                 "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                 "fontFamily": "A String", # The font family of the text.
@@ -5151,10 +3248,10 @@
                                     #   text is another link) unless different styles are being set in the same
                                     #   request.
                                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                      # presentation with this ID. A page with this ID may not exist.
                                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                       # in the presentation. There may not be a slide at this index.
+                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                      # presentation with this ID. A page with this ID may not exist.
                                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                       # addressed by its position.
                                 },
@@ -5225,26 +3322,47 @@
                                   # rendered in a smaller font size, computed based on the `font_size` field.
                                   # The `font_size` itself is not affected by changes in this field.
                               "strikethrough": True or False, # Whether or not the text is struck through.
-                              "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                  # read-only.
+                              "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                   #
                                   # This field is an extension of `font_family` meant to support explicit font
                                   # weights without breaking backwards compatibility. As such, when reading the
-                                  # style of a range of text, the value of `weighted_font_family.font_family`
-                                  # will always be equal to that of `font_family`.
+                                  # style of a range of text, the value of `weighted_font_family#font_family`
+                                  # will always be equal to that of `font_family`. However, when writing, if
+                                  # both fields are included in the field mask (either explicitly or through
+                                  # the wildcard `"*"`), their values are reconciled as follows:
+                                  #
+                                  # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                  #   `font_family` is applied with weight `400` ("normal").
+                                  # * If both fields are set, the value of `font_family` must match that of
+                                  #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                  #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                  #   returned.
+                                  # * If `weighted_font_family` is set and `font_family` is not, the font
+                                  #   family and weight of `weighted_font_family` is applied.
+                                  # * If neither field is set, the font family and weight of the text inherit
+                                  #   from the parent. Note that these properties cannot inherit separately
+                                  #   from each other.
+                                  #
+                                  # If an update request specifies values for both `weighted_font_family` and
+                                  # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                  #
+                                  # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                  #
+                                  # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                  # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                  # is returned.
                                 "fontFamily": "A String", # The font family of the text.
                                     #
                                     # The font family can be any font from the Font menu in Slides or from
                                     # [Google Fonts] (https://fonts.google.com/). If the font name is
                                     # unrecognized, the text is rendered in `Arial`.
                                 "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                    # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                    # only the numerical values described in the "Cascading Style Sheets Level
-                                    # 2 Revision 1 (CSS 2.1) Specification",
-                                    # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                    # non-numerical values in the specification are disallowed. Weights greater
-                                    # than or equal to 700 are considered bold, and weights less than 700 are
-                                    # not bold. The default value is `400` ("normal").
+                                    # multiple of `100` between `100` and `900`, inclusive. This range
+                                    # corresponds to the numerical values described in the CSS 2.1
+                                    # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                    # with non-numerical values disallowed. Weights greater than or equal to
+                                    # `700` are considered bold, and weights less than `700`are not bold. The
+                                    # default value is `400` ("normal").
                               },
                               "smallCaps": True or False, # Whether or not the text is in small capital letters.
                               "fontFamily": "A String", # The font family of the text.
@@ -5278,10 +3396,10 @@
                                   #   text is another link) unless different styles are being set in the same
                                   #   request.
                                 "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                    # presentation with this ID. A page with this ID may not exist.
                                 "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                     # in the presentation. There may not be a slide at this index.
+                                "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                    # presentation with this ID. A page with this ID may not exist.
                                 "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                     # addressed by its position.
                               },
@@ -5331,8 +3449,8 @@
                                 # Inherited paragraph styles are represented as unset fields in this message.
                               "spacingMode": "A String", # The spacing mode for the paragraph.
                               "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                                  # LEFT_TO_RIGHT
-                                  # since text direction is not inherited.
+                                  # LEFT_TO_RIGHT since
+                                  # text direction is not inherited.
                               "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
                                   # inherited from the parent.
                                 "magnitude": 3.14, # The magnitude.
@@ -5404,26 +3522,47 @@
                                     # rendered in a smaller font size, computed based on the `font_size` field.
                                     # The `font_size` itself is not affected by changes in this field.
                                 "strikethrough": True or False, # Whether or not the text is struck through.
-                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                    # read-only.
+                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                     #
                                     # This field is an extension of `font_family` meant to support explicit font
                                     # weights without breaking backwards compatibility. As such, when reading the
-                                    # style of a range of text, the value of `weighted_font_family.font_family`
-                                    # will always be equal to that of `font_family`.
+                                    # style of a range of text, the value of `weighted_font_family#font_family`
+                                    # will always be equal to that of `font_family`. However, when writing, if
+                                    # both fields are included in the field mask (either explicitly or through
+                                    # the wildcard `"*"`), their values are reconciled as follows:
+                                    #
+                                    # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                    #   `font_family` is applied with weight `400` ("normal").
+                                    # * If both fields are set, the value of `font_family` must match that of
+                                    #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                    #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                    #   returned.
+                                    # * If `weighted_font_family` is set and `font_family` is not, the font
+                                    #   family and weight of `weighted_font_family` is applied.
+                                    # * If neither field is set, the font family and weight of the text inherit
+                                    #   from the parent. Note that these properties cannot inherit separately
+                                    #   from each other.
+                                    #
+                                    # If an update request specifies values for both `weighted_font_family` and
+                                    # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                    #
+                                    # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                    #
+                                    # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                    # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                    # is returned.
                                   "fontFamily": "A String", # The font family of the text.
                                       #
                                       # The font family can be any font from the Font menu in Slides or from
                                       # [Google Fonts] (https://fonts.google.com/). If the font name is
                                       # unrecognized, the text is rendered in `Arial`.
                                   "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                      # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                      # only the numerical values described in the "Cascading Style Sheets Level
-                                      # 2 Revision 1 (CSS 2.1) Specification",
-                                      # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                      # non-numerical values in the specification are disallowed. Weights greater
-                                      # than or equal to 700 are considered bold, and weights less than 700 are
-                                      # not bold. The default value is `400` ("normal").
+                                      # multiple of `100` between `100` and `900`, inclusive. This range
+                                      # corresponds to the numerical values described in the CSS 2.1
+                                      # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                      # with non-numerical values disallowed. Weights greater than or equal to
+                                      # `700` are considered bold, and weights less than `700`are not bold. The
+                                      # default value is `400` ("normal").
                                 },
                                 "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                 "fontFamily": "A String", # The font family of the text.
@@ -5457,10 +3596,10 @@
                                     #   text is another link) unless different styles are being set in the same
                                     #   request.
                                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                      # presentation with this ID. A page with this ID may not exist.
                                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                       # in the presentation. There may not be a slide at this index.
+                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                      # presentation with this ID. A page with this ID may not exist.
                                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                       # addressed by its position.
                                 },
@@ -5530,26 +3669,47 @@
                                   # rendered in a smaller font size, computed based on the `font_size` field.
                                   # The `font_size` itself is not affected by changes in this field.
                               "strikethrough": True or False, # Whether or not the text is struck through.
-                              "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                  # read-only.
+                              "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                   #
                                   # This field is an extension of `font_family` meant to support explicit font
                                   # weights without breaking backwards compatibility. As such, when reading the
-                                  # style of a range of text, the value of `weighted_font_family.font_family`
-                                  # will always be equal to that of `font_family`.
+                                  # style of a range of text, the value of `weighted_font_family#font_family`
+                                  # will always be equal to that of `font_family`. However, when writing, if
+                                  # both fields are included in the field mask (either explicitly or through
+                                  # the wildcard `"*"`), their values are reconciled as follows:
+                                  #
+                                  # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                  #   `font_family` is applied with weight `400` ("normal").
+                                  # * If both fields are set, the value of `font_family` must match that of
+                                  #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                  #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                  #   returned.
+                                  # * If `weighted_font_family` is set and `font_family` is not, the font
+                                  #   family and weight of `weighted_font_family` is applied.
+                                  # * If neither field is set, the font family and weight of the text inherit
+                                  #   from the parent. Note that these properties cannot inherit separately
+                                  #   from each other.
+                                  #
+                                  # If an update request specifies values for both `weighted_font_family` and
+                                  # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                  #
+                                  # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                  #
+                                  # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                  # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                  # is returned.
                                 "fontFamily": "A String", # The font family of the text.
                                     #
                                     # The font family can be any font from the Font menu in Slides or from
                                     # [Google Fonts] (https://fonts.google.com/). If the font name is
                                     # unrecognized, the text is rendered in `Arial`.
                                 "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                    # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                    # only the numerical values described in the "Cascading Style Sheets Level
-                                    # 2 Revision 1 (CSS 2.1) Specification",
-                                    # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                    # non-numerical values in the specification are disallowed. Weights greater
-                                    # than or equal to 700 are considered bold, and weights less than 700 are
-                                    # not bold. The default value is `400` ("normal").
+                                    # multiple of `100` between `100` and `900`, inclusive. This range
+                                    # corresponds to the numerical values described in the CSS 2.1
+                                    # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                    # with non-numerical values disallowed. Weights greater than or equal to
+                                    # `700` are considered bold, and weights less than `700`are not bold. The
+                                    # default value is `400` ("normal").
                               },
                               "smallCaps": True or False, # Whether or not the text is in small capital letters.
                               "fontFamily": "A String", # The font family of the text.
@@ -5583,10 +3743,10 @@
                                   #   text is another link) unless different styles are being set in the same
                                   #   request.
                                 "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                    # presentation with this ID. A page with this ID may not exist.
                                 "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                     # in the presentation. There may not be a slide at this index.
+                                "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                    # presentation with this ID. A page with this ID may not exist.
                                 "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                     # addressed by its position.
                               },
@@ -5676,10 +3836,10 @@
               "endArrow": "A String", # The style of the arrow at the end of the line.
               "link": { # A hypertext link. # The hyperlink destination of the line. If unset, there is no link.
                 "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                    # presentation with this ID. A page with this ID may not exist.
                 "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                     # in the presentation. There may not be a slide at this index.
+                "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                    # presentation with this ID. A page with this ID may not exist.
                 "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                     # addressed by its position.
               },
@@ -5742,9 +3902,11 @@
           #
           # The format of the revision ID may change over time, so it should be treated
           # opaquely. A returned revision ID is only guaranteed to be valid for 24
-          # hours after it has been returned and cannot be shared across
-          # users. Callers can assume that if two revision IDs are equal then the
-          # presentation has not changed.
+          # hours after it has been returned and cannot be shared across users. If the
+          # revision ID is unchanged between calls, then the presentation has not
+          # changed. Conversely, a changed ID (for the same presentation and user)
+          # usually means the presentation has been updated; however, a changed ID can
+          # also be due to internal factors such as ID format changes.
       "pageProperties": { # The properties of the Page. # The properties of the page.
           #
           # The page will inherit properties from the parent page. Depending on the page
@@ -5839,8 +4001,40 @@
         "layoutObjectId": "A String", # The object ID of the layout that this slide is based on.
       },
     },
-    "slides": [ # The slides in the presentation.
-        # A slide inherits properties from a slide layout.
+    "pageSize": { # A width and height. # The size of pages in the presentation.
+      "width": { # A magnitude in a single direction in the specified units. # The width of the object.
+        "magnitude": 3.14, # The magnitude.
+        "unit": "A String", # The units for magnitude.
+      },
+      "height": { # A magnitude in a single direction in the specified units. # The height of the object.
+        "magnitude": 3.14, # The magnitude.
+        "unit": "A String", # The units for magnitude.
+      },
+    },
+    "title": "A String", # The title of the presentation.
+    "locale": "A String", # The locale of the presentation, as an IETF BCP 47 language tag.
+    "revisionId": "A String", # The revision ID of the presentation. Can be used in update requests
+        # to assert that the presentation revision hasn't changed since the last
+        # read operation. Only populated if the user has edit access to the
+        # presentation.
+        # 
+        # The format of the revision ID may change over time, so it should be treated
+        # opaquely. A returned revision ID is only guaranteed to be valid for 24
+        # hours after it has been returned and cannot be shared across users. If the
+        # revision ID is unchanged between calls, then the presentation has not
+        # changed. Conversely, a changed ID (for the same presentation and user)
+        # usually means the presentation has been updated; however, a changed ID can
+        # also be due to internal factors such as ID format changes.
+    "masters": [ # The slide masters in the presentation. A slide master contains all common
+        # page elements and the common properties for a set of layouts. They serve
+        # three purposes:
+        # 
+        # - Placeholder shapes on a master contain the default text styles and shape
+        #   properties of all placeholder shapes on pages that use that master.
+        # - The master page properties define the common page properties inherited by
+        #   its layouts.
+        # - Any other shapes on the master slide will appear on all slides using that
+        #   master, regardless of their layout.
       { # A page in a presentation.
         "layoutProperties": { # The properties of Page are only # Layout specific properties. Only set if page_type = LAYOUT.
             # relevant for pages with page_type LAYOUT.
@@ -5943,10 +4137,10 @@
                 },
                 "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                      # presentation with this ID. A page with this ID may not exist.
                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                       # in the presentation. There may not be a slide at this index.
+                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                      # presentation with this ID. A page with this ID may not exist.
                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                       # addressed by its position.
                 },
@@ -5977,17 +4171,17 @@
                   "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
                       # the right of the original bounding rectangle left edge, relative to the
                       # object's original width.
-                  "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                      # below the original bounding rectangle top edge, relative to the object's
-                      # original height.
-                  "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                      # above the original bounding rectangle bottom edge, relative to the object's
-                      # original height.
                   "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
                       # Rotation angle is applied after the offset.
                   "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
                       # to the left of the original bounding rectangle right edge, relative to the
                       # object's original width.
+                  "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                      # above the original bounding rectangle bottom edge, relative to the object's
+                      # original height.
+                  "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                      # below the original bounding rectangle top edge, relative to the object's
+                      # original height.
                 },
                 "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
                     # is read-only.
@@ -6117,26 +4311,47 @@
                               # rendered in a smaller font size, computed based on the `font_size` field.
                               # The `font_size` itself is not affected by changes in this field.
                           "strikethrough": True or False, # Whether or not the text is struck through.
-                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                              # read-only.
+                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                               #
                               # This field is an extension of `font_family` meant to support explicit font
                               # weights without breaking backwards compatibility. As such, when reading the
-                              # style of a range of text, the value of `weighted_font_family.font_family`
-                              # will always be equal to that of `font_family`.
+                              # style of a range of text, the value of `weighted_font_family#font_family`
+                              # will always be equal to that of `font_family`. However, when writing, if
+                              # both fields are included in the field mask (either explicitly or through
+                              # the wildcard `"*"`), their values are reconciled as follows:
+                              #
+                              # * If `font_family` is set and `weighted_font_family` is not, the value of
+                              #   `font_family` is applied with weight `400` ("normal").
+                              # * If both fields are set, the value of `font_family` must match that of
+                              #   `weighted_font_family#font_family`. If so, the font family and weight of
+                              #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                              #   returned.
+                              # * If `weighted_font_family` is set and `font_family` is not, the font
+                              #   family and weight of `weighted_font_family` is applied.
+                              # * If neither field is set, the font family and weight of the text inherit
+                              #   from the parent. Note that these properties cannot inherit separately
+                              #   from each other.
+                              #
+                              # If an update request specifies values for both `weighted_font_family` and
+                              # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                              #
+                              # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                              #
+                              # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                              # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                              # is returned.
                             "fontFamily": "A String", # The font family of the text.
                                 #
                                 # The font family can be any font from the Font menu in Slides or from
                                 # [Google Fonts] (https://fonts.google.com/). If the font name is
                                 # unrecognized, the text is rendered in `Arial`.
                             "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                # only the numerical values described in the "Cascading Style Sheets Level
-                                # 2 Revision 1 (CSS 2.1) Specification",
-                                # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                # non-numerical values in the specification are disallowed. Weights greater
-                                # than or equal to 700 are considered bold, and weights less than 700 are
-                                # not bold. The default value is `400` ("normal").
+                                # multiple of `100` between `100` and `900`, inclusive. This range
+                                # corresponds to the numerical values described in the CSS 2.1
+                                # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                # with non-numerical values disallowed. Weights greater than or equal to
+                                # `700` are considered bold, and weights less than `700`are not bold. The
+                                # default value is `400` ("normal").
                           },
                           "smallCaps": True or False, # Whether or not the text is in small capital letters.
                           "fontFamily": "A String", # The font family of the text.
@@ -6170,10 +4385,10 @@
                               #   text is another link) unless different styles are being set in the same
                               #   request.
                             "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                # presentation with this ID. A page with this ID may not exist.
                             "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                 # in the presentation. There may not be a slide at this index.
+                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                # presentation with this ID. A page with this ID may not exist.
                             "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                 # addressed by its position.
                           },
@@ -6244,26 +4459,47 @@
                             # rendered in a smaller font size, computed based on the `font_size` field.
                             # The `font_size` itself is not affected by changes in this field.
                         "strikethrough": True or False, # Whether or not the text is struck through.
-                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                            # read-only.
+                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                             #
                             # This field is an extension of `font_family` meant to support explicit font
                             # weights without breaking backwards compatibility. As such, when reading the
-                            # style of a range of text, the value of `weighted_font_family.font_family`
-                            # will always be equal to that of `font_family`.
+                            # style of a range of text, the value of `weighted_font_family#font_family`
+                            # will always be equal to that of `font_family`. However, when writing, if
+                            # both fields are included in the field mask (either explicitly or through
+                            # the wildcard `"*"`), their values are reconciled as follows:
+                            #
+                            # * If `font_family` is set and `weighted_font_family` is not, the value of
+                            #   `font_family` is applied with weight `400` ("normal").
+                            # * If both fields are set, the value of `font_family` must match that of
+                            #   `weighted_font_family#font_family`. If so, the font family and weight of
+                            #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                            #   returned.
+                            # * If `weighted_font_family` is set and `font_family` is not, the font
+                            #   family and weight of `weighted_font_family` is applied.
+                            # * If neither field is set, the font family and weight of the text inherit
+                            #   from the parent. Note that these properties cannot inherit separately
+                            #   from each other.
+                            #
+                            # If an update request specifies values for both `weighted_font_family` and
+                            # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                            #
+                            # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                            #
+                            # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                            # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                            # is returned.
                           "fontFamily": "A String", # The font family of the text.
                               #
                               # The font family can be any font from the Font menu in Slides or from
                               # [Google Fonts] (https://fonts.google.com/). If the font name is
                               # unrecognized, the text is rendered in `Arial`.
                           "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                              # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                              # only the numerical values described in the "Cascading Style Sheets Level
-                              # 2 Revision 1 (CSS 2.1) Specification",
-                              # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                              # non-numerical values in the specification are disallowed. Weights greater
-                              # than or equal to 700 are considered bold, and weights less than 700 are
-                              # not bold. The default value is `400` ("normal").
+                              # multiple of `100` between `100` and `900`, inclusive. This range
+                              # corresponds to the numerical values described in the CSS 2.1
+                              # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                              # with non-numerical values disallowed. Weights greater than or equal to
+                              # `700` are considered bold, and weights less than `700`are not bold. The
+                              # default value is `400` ("normal").
                         },
                         "smallCaps": True or False, # Whether or not the text is in small capital letters.
                         "fontFamily": "A String", # The font family of the text.
@@ -6297,10 +4533,10 @@
                             #   text is another link) unless different styles are being set in the same
                             #   request.
                           "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                              # presentation with this ID. A page with this ID may not exist.
                           "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                               # in the presentation. There may not be a slide at this index.
+                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                              # presentation with this ID. A page with this ID may not exist.
                           "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                               # addressed by its position.
                         },
@@ -6350,8 +4586,8 @@
                           # Inherited paragraph styles are represented as unset fields in this message.
                         "spacingMode": "A String", # The spacing mode for the paragraph.
                         "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                            # LEFT_TO_RIGHT
-                            # since text direction is not inherited.
+                            # LEFT_TO_RIGHT since
+                            # text direction is not inherited.
                         "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
                             # inherited from the parent.
                           "magnitude": 3.14, # The magnitude.
@@ -6423,26 +4659,47 @@
                               # rendered in a smaller font size, computed based on the `font_size` field.
                               # The `font_size` itself is not affected by changes in this field.
                           "strikethrough": True or False, # Whether or not the text is struck through.
-                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                              # read-only.
+                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                               #
                               # This field is an extension of `font_family` meant to support explicit font
                               # weights without breaking backwards compatibility. As such, when reading the
-                              # style of a range of text, the value of `weighted_font_family.font_family`
-                              # will always be equal to that of `font_family`.
+                              # style of a range of text, the value of `weighted_font_family#font_family`
+                              # will always be equal to that of `font_family`. However, when writing, if
+                              # both fields are included in the field mask (either explicitly or through
+                              # the wildcard `"*"`), their values are reconciled as follows:
+                              #
+                              # * If `font_family` is set and `weighted_font_family` is not, the value of
+                              #   `font_family` is applied with weight `400` ("normal").
+                              # * If both fields are set, the value of `font_family` must match that of
+                              #   `weighted_font_family#font_family`. If so, the font family and weight of
+                              #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                              #   returned.
+                              # * If `weighted_font_family` is set and `font_family` is not, the font
+                              #   family and weight of `weighted_font_family` is applied.
+                              # * If neither field is set, the font family and weight of the text inherit
+                              #   from the parent. Note that these properties cannot inherit separately
+                              #   from each other.
+                              #
+                              # If an update request specifies values for both `weighted_font_family` and
+                              # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                              #
+                              # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                              #
+                              # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                              # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                              # is returned.
                             "fontFamily": "A String", # The font family of the text.
                                 #
                                 # The font family can be any font from the Font menu in Slides or from
                                 # [Google Fonts] (https://fonts.google.com/). If the font name is
                                 # unrecognized, the text is rendered in `Arial`.
                             "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                # only the numerical values described in the "Cascading Style Sheets Level
-                                # 2 Revision 1 (CSS 2.1) Specification",
-                                # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                # non-numerical values in the specification are disallowed. Weights greater
-                                # than or equal to 700 are considered bold, and weights less than 700 are
-                                # not bold. The default value is `400` ("normal").
+                                # multiple of `100` between `100` and `900`, inclusive. This range
+                                # corresponds to the numerical values described in the CSS 2.1
+                                # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                # with non-numerical values disallowed. Weights greater than or equal to
+                                # `700` are considered bold, and weights less than `700`are not bold. The
+                                # default value is `400` ("normal").
                           },
                           "smallCaps": True or False, # Whether or not the text is in small capital letters.
                           "fontFamily": "A String", # The font family of the text.
@@ -6476,10 +4733,10 @@
                               #   text is another link) unless different styles are being set in the same
                               #   request.
                             "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                # presentation with this ID. A page with this ID may not exist.
                             "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                 # in the presentation. There may not be a slide at this index.
+                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                # presentation with this ID. A page with this ID may not exist.
                             "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                 # addressed by its position.
                           },
@@ -6549,26 +4806,47 @@
                             # rendered in a smaller font size, computed based on the `font_size` field.
                             # The `font_size` itself is not affected by changes in this field.
                         "strikethrough": True or False, # Whether or not the text is struck through.
-                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                            # read-only.
+                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                             #
                             # This field is an extension of `font_family` meant to support explicit font
                             # weights without breaking backwards compatibility. As such, when reading the
-                            # style of a range of text, the value of `weighted_font_family.font_family`
-                            # will always be equal to that of `font_family`.
+                            # style of a range of text, the value of `weighted_font_family#font_family`
+                            # will always be equal to that of `font_family`. However, when writing, if
+                            # both fields are included in the field mask (either explicitly or through
+                            # the wildcard `"*"`), their values are reconciled as follows:
+                            #
+                            # * If `font_family` is set and `weighted_font_family` is not, the value of
+                            #   `font_family` is applied with weight `400` ("normal").
+                            # * If both fields are set, the value of `font_family` must match that of
+                            #   `weighted_font_family#font_family`. If so, the font family and weight of
+                            #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                            #   returned.
+                            # * If `weighted_font_family` is set and `font_family` is not, the font
+                            #   family and weight of `weighted_font_family` is applied.
+                            # * If neither field is set, the font family and weight of the text inherit
+                            #   from the parent. Note that these properties cannot inherit separately
+                            #   from each other.
+                            #
+                            # If an update request specifies values for both `weighted_font_family` and
+                            # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                            #
+                            # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                            #
+                            # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                            # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                            # is returned.
                           "fontFamily": "A String", # The font family of the text.
                               #
                               # The font family can be any font from the Font menu in Slides or from
                               # [Google Fonts] (https://fonts.google.com/). If the font name is
                               # unrecognized, the text is rendered in `Arial`.
                           "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                              # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                              # only the numerical values described in the "Cascading Style Sheets Level
-                              # 2 Revision 1 (CSS 2.1) Specification",
-                              # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                              # non-numerical values in the specification are disallowed. Weights greater
-                              # than or equal to 700 are considered bold, and weights less than 700 are
-                              # not bold. The default value is `400` ("normal").
+                              # multiple of `100` between `100` and `900`, inclusive. This range
+                              # corresponds to the numerical values described in the CSS 2.1
+                              # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                              # with non-numerical values disallowed. Weights greater than or equal to
+                              # `700` are considered bold, and weights less than `700`are not bold. The
+                              # default value is `400` ("normal").
                         },
                         "smallCaps": True or False, # Whether or not the text is in small capital letters.
                         "fontFamily": "A String", # The font family of the text.
@@ -6602,10 +4880,10 @@
                             #   text is another link) unless different styles are being set in the same
                             #   request.
                           "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                              # presentation with this ID. A page with this ID may not exist.
                           "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                               # in the presentation. There may not be a slide at this index.
+                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                              # presentation with this ID. A page with this ID may not exist.
                           "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                               # addressed by its position.
                         },
@@ -6730,10 +5008,10 @@
                 "link": { # A hypertext link. # The hyperlink destination of the shape. If unset, there is no link. Links
                     # are not inherited from parent placeholders.
                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                      # presentation with this ID. A page with this ID may not exist.
                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                       # in the presentation. There may not be a slide at this index.
+                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                      # presentation with this ID. A page with this ID may not exist.
                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                       # addressed by its position.
                 },
@@ -6792,8 +5070,8 @@
                 "parentObjectId": "A String", # The object ID of this shape's parent placeholder.
                     # If unset, the parent placeholder shape does not exist, so the shape does
                     # not inherit properties from any other shape.
-                "index": 42, # The index of the placeholder. If the same placeholder types are the present
-                    # in the same page, they would have different index values.
+                "index": 42, # The index of the placeholder. If the same placeholder types are present in
+                    # the same page, they would have different index values.
                 "type": "A String", # The type of the placeholder.
               },
               "shapeType": "A String", # The type of the shape.
@@ -6801,12 +5079,11 @@
             "sheetsChart": { # A PageElement kind representing # A linked chart embedded from Google Sheets. Unlinked charts are
                 # represented as images.
                 # a linked chart embedded from Google Sheets.
-              "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
-                  # embedded.
               "contentUrl": "A String", # The URL of an image of the embedded chart, with a default lifetime of 30
                   # minutes. This URL is tagged with the account of the requester. Anyone with
                   # the URL effectively accesses the image as the original requester. Access to
                   # the image may be lost if the presentation's sharing settings change.
+              "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
               "sheetsChartProperties": { # The properties of the SheetsChart. # The properties of the Sheets chart.
                 "chartImageProperties": { # The properties of the Image. # The properties of the embedded chart image.
                   "outline": { # The outline of a PageElement. # The outline of the image. If not set, the the image has no outline.
@@ -6884,10 +5161,10 @@
                   },
                   "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                         # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                         # addressed by its position.
                   },
@@ -6918,17 +5195,17 @@
                     "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
                         # the right of the original bounding rectangle left edge, relative to the
                         # object's original width.
-                    "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                        # below the original bounding rectangle top edge, relative to the object's
-                        # original height.
-                    "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                        # above the original bounding rectangle bottom edge, relative to the object's
-                        # original height.
                     "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
                         # Rotation angle is applied after the offset.
                     "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
                         # to the left of the original bounding rectangle right edge, relative to the
                         # object's original width.
+                    "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                        # above the original bounding rectangle bottom edge, relative to the object's
+                        # original height.
+                    "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                        # below the original bounding rectangle top edge, relative to the object's
+                        # original height.
                   },
                   "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
                       # is read-only.
@@ -6988,14 +5265,13 @@
                       # [-1.0, 1.0], where 0 means no effect. This property is read-only.
                 },
               },
-              "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
+              "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
+                  # embedded.
             },
             "video": { # A PageElement kind representing a # A video page element.
                 # video.
               "url": "A String", # An URL to a video. The URL is valid as long as the source video
                   # exists and sharing settings do not change.
-              "source": "A String", # The video source.
-              "id": "A String", # The video source's unique identifier for this video.
               "videoProperties": { # The properties of the Video. # The properties of the video.
                 "outline": { # The outline of a PageElement. # The outline of the video. The default outline matches the defaults for new
                     # videos created in the Slides editor.
@@ -7041,6 +5317,8 @@
                   },
                 },
               },
+              "id": "A String", # The video source's unique identifier for this video.
+              "source": "A String", # The video source.
             },
             "elementGroup": { # A PageElement kind representing a # A collection of page elements joined as a single unit.
                 # joined collection of PageElements.
@@ -7118,26 +5396,47 @@
                                       # rendered in a smaller font size, computed based on the `font_size` field.
                                       # The `font_size` itself is not affected by changes in this field.
                                   "strikethrough": True or False, # Whether or not the text is struck through.
-                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                      # read-only.
+                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                       #
                                       # This field is an extension of `font_family` meant to support explicit font
                                       # weights without breaking backwards compatibility. As such, when reading the
-                                      # style of a range of text, the value of `weighted_font_family.font_family`
-                                      # will always be equal to that of `font_family`.
+                                      # style of a range of text, the value of `weighted_font_family#font_family`
+                                      # will always be equal to that of `font_family`. However, when writing, if
+                                      # both fields are included in the field mask (either explicitly or through
+                                      # the wildcard `"*"`), their values are reconciled as follows:
+                                      #
+                                      # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                      #   `font_family` is applied with weight `400` ("normal").
+                                      # * If both fields are set, the value of `font_family` must match that of
+                                      #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                      #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                      #   returned.
+                                      # * If `weighted_font_family` is set and `font_family` is not, the font
+                                      #   family and weight of `weighted_font_family` is applied.
+                                      # * If neither field is set, the font family and weight of the text inherit
+                                      #   from the parent. Note that these properties cannot inherit separately
+                                      #   from each other.
+                                      #
+                                      # If an update request specifies values for both `weighted_font_family` and
+                                      # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                      #
+                                      # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                      #
+                                      # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                      # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                      # is returned.
                                     "fontFamily": "A String", # The font family of the text.
                                         #
                                         # The font family can be any font from the Font menu in Slides or from
                                         # [Google Fonts] (https://fonts.google.com/). If the font name is
                                         # unrecognized, the text is rendered in `Arial`.
                                     "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                        # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                        # only the numerical values described in the "Cascading Style Sheets Level
-                                        # 2 Revision 1 (CSS 2.1) Specification",
-                                        # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                        # non-numerical values in the specification are disallowed. Weights greater
-                                        # than or equal to 700 are considered bold, and weights less than 700 are
-                                        # not bold. The default value is `400` ("normal").
+                                        # multiple of `100` between `100` and `900`, inclusive. This range
+                                        # corresponds to the numerical values described in the CSS 2.1
+                                        # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                        # with non-numerical values disallowed. Weights greater than or equal to
+                                        # `700` are considered bold, and weights less than `700`are not bold. The
+                                        # default value is `400` ("normal").
                                   },
                                   "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                   "fontFamily": "A String", # The font family of the text.
@@ -7171,10 +5470,10 @@
                                       #   text is another link) unless different styles are being set in the same
                                       #   request.
                                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                        # presentation with this ID. A page with this ID may not exist.
                                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                         # in the presentation. There may not be a slide at this index.
+                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                        # presentation with this ID. A page with this ID may not exist.
                                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                         # addressed by its position.
                                   },
@@ -7245,26 +5544,47 @@
                                     # rendered in a smaller font size, computed based on the `font_size` field.
                                     # The `font_size` itself is not affected by changes in this field.
                                 "strikethrough": True or False, # Whether or not the text is struck through.
-                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                    # read-only.
+                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                     #
                                     # This field is an extension of `font_family` meant to support explicit font
                                     # weights without breaking backwards compatibility. As such, when reading the
-                                    # style of a range of text, the value of `weighted_font_family.font_family`
-                                    # will always be equal to that of `font_family`.
+                                    # style of a range of text, the value of `weighted_font_family#font_family`
+                                    # will always be equal to that of `font_family`. However, when writing, if
+                                    # both fields are included in the field mask (either explicitly or through
+                                    # the wildcard `"*"`), their values are reconciled as follows:
+                                    #
+                                    # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                    #   `font_family` is applied with weight `400` ("normal").
+                                    # * If both fields are set, the value of `font_family` must match that of
+                                    #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                    #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                    #   returned.
+                                    # * If `weighted_font_family` is set and `font_family` is not, the font
+                                    #   family and weight of `weighted_font_family` is applied.
+                                    # * If neither field is set, the font family and weight of the text inherit
+                                    #   from the parent. Note that these properties cannot inherit separately
+                                    #   from each other.
+                                    #
+                                    # If an update request specifies values for both `weighted_font_family` and
+                                    # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                    #
+                                    # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                    #
+                                    # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                    # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                    # is returned.
                                   "fontFamily": "A String", # The font family of the text.
                                       #
                                       # The font family can be any font from the Font menu in Slides or from
                                       # [Google Fonts] (https://fonts.google.com/). If the font name is
                                       # unrecognized, the text is rendered in `Arial`.
                                   "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                      # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                      # only the numerical values described in the "Cascading Style Sheets Level
-                                      # 2 Revision 1 (CSS 2.1) Specification",
-                                      # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                      # non-numerical values in the specification are disallowed. Weights greater
-                                      # than or equal to 700 are considered bold, and weights less than 700 are
-                                      # not bold. The default value is `400` ("normal").
+                                      # multiple of `100` between `100` and `900`, inclusive. This range
+                                      # corresponds to the numerical values described in the CSS 2.1
+                                      # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                      # with non-numerical values disallowed. Weights greater than or equal to
+                                      # `700` are considered bold, and weights less than `700`are not bold. The
+                                      # default value is `400` ("normal").
                                 },
                                 "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                 "fontFamily": "A String", # The font family of the text.
@@ -7298,10 +5618,10 @@
                                     #   text is another link) unless different styles are being set in the same
                                     #   request.
                                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                      # presentation with this ID. A page with this ID may not exist.
                                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                       # in the presentation. There may not be a slide at this index.
+                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                      # presentation with this ID. A page with this ID may not exist.
                                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                       # addressed by its position.
                                 },
@@ -7351,8 +5671,8 @@
                                   # Inherited paragraph styles are represented as unset fields in this message.
                                 "spacingMode": "A String", # The spacing mode for the paragraph.
                                 "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                                    # LEFT_TO_RIGHT
-                                    # since text direction is not inherited.
+                                    # LEFT_TO_RIGHT since
+                                    # text direction is not inherited.
                                 "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
                                     # inherited from the parent.
                                   "magnitude": 3.14, # The magnitude.
@@ -7424,26 +5744,47 @@
                                       # rendered in a smaller font size, computed based on the `font_size` field.
                                       # The `font_size` itself is not affected by changes in this field.
                                   "strikethrough": True or False, # Whether or not the text is struck through.
-                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                      # read-only.
+                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                       #
                                       # This field is an extension of `font_family` meant to support explicit font
                                       # weights without breaking backwards compatibility. As such, when reading the
-                                      # style of a range of text, the value of `weighted_font_family.font_family`
-                                      # will always be equal to that of `font_family`.
+                                      # style of a range of text, the value of `weighted_font_family#font_family`
+                                      # will always be equal to that of `font_family`. However, when writing, if
+                                      # both fields are included in the field mask (either explicitly or through
+                                      # the wildcard `"*"`), their values are reconciled as follows:
+                                      #
+                                      # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                      #   `font_family` is applied with weight `400` ("normal").
+                                      # * If both fields are set, the value of `font_family` must match that of
+                                      #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                      #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                      #   returned.
+                                      # * If `weighted_font_family` is set and `font_family` is not, the font
+                                      #   family and weight of `weighted_font_family` is applied.
+                                      # * If neither field is set, the font family and weight of the text inherit
+                                      #   from the parent. Note that these properties cannot inherit separately
+                                      #   from each other.
+                                      #
+                                      # If an update request specifies values for both `weighted_font_family` and
+                                      # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                      #
+                                      # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                      #
+                                      # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                      # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                      # is returned.
                                     "fontFamily": "A String", # The font family of the text.
                                         #
                                         # The font family can be any font from the Font menu in Slides or from
                                         # [Google Fonts] (https://fonts.google.com/). If the font name is
                                         # unrecognized, the text is rendered in `Arial`.
                                     "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                        # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                        # only the numerical values described in the "Cascading Style Sheets Level
-                                        # 2 Revision 1 (CSS 2.1) Specification",
-                                        # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                        # non-numerical values in the specification are disallowed. Weights greater
-                                        # than or equal to 700 are considered bold, and weights less than 700 are
-                                        # not bold. The default value is `400` ("normal").
+                                        # multiple of `100` between `100` and `900`, inclusive. This range
+                                        # corresponds to the numerical values described in the CSS 2.1
+                                        # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                        # with non-numerical values disallowed. Weights greater than or equal to
+                                        # `700` are considered bold, and weights less than `700`are not bold. The
+                                        # default value is `400` ("normal").
                                   },
                                   "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                   "fontFamily": "A String", # The font family of the text.
@@ -7477,10 +5818,10 @@
                                       #   text is another link) unless different styles are being set in the same
                                       #   request.
                                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                        # presentation with this ID. A page with this ID may not exist.
                                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                         # in the presentation. There may not be a slide at this index.
+                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                        # presentation with this ID. A page with this ID may not exist.
                                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                         # addressed by its position.
                                   },
@@ -7550,26 +5891,47 @@
                                     # rendered in a smaller font size, computed based on the `font_size` field.
                                     # The `font_size` itself is not affected by changes in this field.
                                 "strikethrough": True or False, # Whether or not the text is struck through.
-                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                    # read-only.
+                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                     #
                                     # This field is an extension of `font_family` meant to support explicit font
                                     # weights without breaking backwards compatibility. As such, when reading the
-                                    # style of a range of text, the value of `weighted_font_family.font_family`
-                                    # will always be equal to that of `font_family`.
+                                    # style of a range of text, the value of `weighted_font_family#font_family`
+                                    # will always be equal to that of `font_family`. However, when writing, if
+                                    # both fields are included in the field mask (either explicitly or through
+                                    # the wildcard `"*"`), their values are reconciled as follows:
+                                    #
+                                    # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                    #   `font_family` is applied with weight `400` ("normal").
+                                    # * If both fields are set, the value of `font_family` must match that of
+                                    #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                    #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                    #   returned.
+                                    # * If `weighted_font_family` is set and `font_family` is not, the font
+                                    #   family and weight of `weighted_font_family` is applied.
+                                    # * If neither field is set, the font family and weight of the text inherit
+                                    #   from the parent. Note that these properties cannot inherit separately
+                                    #   from each other.
+                                    #
+                                    # If an update request specifies values for both `weighted_font_family` and
+                                    # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                    #
+                                    # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                    #
+                                    # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                    # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                    # is returned.
                                   "fontFamily": "A String", # The font family of the text.
                                       #
                                       # The font family can be any font from the Font menu in Slides or from
                                       # [Google Fonts] (https://fonts.google.com/). If the font name is
                                       # unrecognized, the text is rendered in `Arial`.
                                   "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                      # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                      # only the numerical values described in the "Cascading Style Sheets Level
-                                      # 2 Revision 1 (CSS 2.1) Specification",
-                                      # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                      # non-numerical values in the specification are disallowed. Weights greater
-                                      # than or equal to 700 are considered bold, and weights less than 700 are
-                                      # not bold. The default value is `400` ("normal").
+                                      # multiple of `100` between `100` and `900`, inclusive. This range
+                                      # corresponds to the numerical values described in the CSS 2.1
+                                      # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                      # with non-numerical values disallowed. Weights greater than or equal to
+                                      # `700` are considered bold, and weights less than `700`are not bold. The
+                                      # default value is `400` ("normal").
                                 },
                                 "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                 "fontFamily": "A String", # The font family of the text.
@@ -7603,10 +5965,10 @@
                                     #   text is another link) unless different styles are being set in the same
                                     #   request.
                                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                      # presentation with this ID. A page with this ID may not exist.
                                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                       # in the presentation. There may not be a slide at this index.
+                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                      # presentation with this ID. A page with this ID may not exist.
                                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                       # addressed by its position.
                                 },
@@ -7696,10 +6058,10 @@
                 "endArrow": "A String", # The style of the arrow at the end of the line.
                 "link": { # A hypertext link. # The hyperlink destination of the line. If unset, there is no link.
                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                      # presentation with this ID. A page with this ID may not exist.
                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                       # in the presentation. There may not be a slide at this index.
+                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                      # presentation with this ID. A page with this ID may not exist.
                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                       # addressed by its position.
                 },
@@ -7762,9 +6124,2202 @@
             #
             # The format of the revision ID may change over time, so it should be treated
             # opaquely. A returned revision ID is only guaranteed to be valid for 24
-            # hours after it has been returned and cannot be shared across
-            # users. Callers can assume that if two revision IDs are equal then the
-            # presentation has not changed.
+            # hours after it has been returned and cannot be shared across users. If the
+            # revision ID is unchanged between calls, then the presentation has not
+            # changed. Conversely, a changed ID (for the same presentation and user)
+            # usually means the presentation has been updated; however, a changed ID can
+            # also be due to internal factors such as ID format changes.
+        "pageProperties": { # The properties of the Page. # The properties of the page.
+            #
+            # The page will inherit properties from the parent page. Depending on the page
+            # type the hierarchy is defined in either
+            # SlideProperties or
+            # LayoutProperties.
+          "pageBackgroundFill": { # The page background fill. # The background fill of the page. If unset, the background fill is inherited
+              # from a parent page if it exists. If the page has no parent, then the
+              # background fill defaults to the corresponding fill in the Slides editor.
+            "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                # specified color value.
+                #
+                # If any field is unset, its value may be inherited from a parent placeholder
+                # if it exists.
+              "color": { # A themeable solid color value. # The color value of the solid fill.
+                "themeColor": "A String", # An opaque theme color.
+                "rgbColor": { # An RGB color. # An opaque RGB color.
+                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                },
+              },
+              "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                  # That is, the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color.
+            },
+            "propertyState": "A String", # The background fill property state.
+                #
+                # Updating the the fill on a page will implicitly update this field to
+                # `RENDERED`, unless another value is specified in the same request. To
+                # have no fill on a page, set this field to `NOT_RENDERED`. In this case,
+                # any other fill fields set in the same request will be ignored.
+            "stretchedPictureFill": { # The stretched picture fill. The page or page element is filled entirely with # Stretched picture fill.
+                # the specified picture. The picture is stretched to fit its container.
+              "contentUrl": "A String", # Reading the content_url:
+                  #
+                  # An URL to a picture with a default lifetime of 30 minutes.
+                  # This URL is tagged with the account of the requester. Anyone with the URL
+                  # effectively accesses the picture as the original requester. Access to the
+                  # picture may be lost if the presentation's sharing settings change.
+                  #
+                  # Writing the content_url:
+                  #
+                  # The picture is fetched once at insertion time and a copy is stored for
+                  # display inside the presentation. Pictures must be less than 50MB in size,
+                  # cannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF
+                  # format.
+              "size": { # A width and height. # The original size of the picture fill. This field is read-only.
+                "width": { # A magnitude in a single direction in the specified units. # The width of the object.
+                  "magnitude": 3.14, # The magnitude.
+                  "unit": "A String", # The units for magnitude.
+                },
+                "height": { # A magnitude in a single direction in the specified units. # The height of the object.
+                  "magnitude": 3.14, # The magnitude.
+                  "unit": "A String", # The units for magnitude.
+                },
+              },
+            },
+          },
+          "colorScheme": { # The palette of predefined colors for a page. # The color scheme of the page. If unset, the color scheme is inherited from
+              # a parent page. If the page has no parent, the color scheme uses a default
+              # Slides color scheme. This field is read-only.
+            "colors": [ # The ThemeColorType and corresponding concrete color pairs.
+              { # A pair mapping a theme color type to the concrete color it represents.
+                "color": { # An RGB color. # The concrete color corresponding to the theme color type above.
+                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                },
+                "type": "A String", # The type of the theme color.
+              },
+            ],
+          },
+        },
+        "pageType": "A String", # The type of the page.
+        "slideProperties": { # The properties of Page that are only # Slide specific properties. Only set if page_type = SLIDE.
+            # relevant for pages with page_type SLIDE.
+          "notesPage": # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual
+              # appearance of a notes page when printing or exporting slides with speaker
+              # notes. A notes page inherits properties from the
+              # notes master.
+              # The placeholder shape with type BODY on the notes page contains the speaker
+              # notes for this slide. The ID of this shape is identified by the
+              # speakerNotesObjectId field.
+              # The notes page is read-only except for the text content and styles of the
+              # speaker notes shape.
+          "masterObjectId": "A String", # The object ID of the master that this slide is based on.
+          "layoutObjectId": "A String", # The object ID of the layout that this slide is based on.
+        },
+      },
+    ],
+    "slides": [ # The slides in the presentation.
+        # A slide inherits properties from a slide layout.
+      { # A page in a presentation.
+        "layoutProperties": { # The properties of Page are only # Layout specific properties. Only set if page_type = LAYOUT.
+            # relevant for pages with page_type LAYOUT.
+          "displayName": "A String", # The human readable name of the layout in the presentation's locale.
+          "name": "A String", # The name of the layout.
+          "masterObjectId": "A String", # The object ID of the master that this layout is based on.
+        },
+        "pageElements": [ # The page elements rendered on the page.
+          { # A visual element rendered on a page.
+            "wordArt": { # A PageElement kind representing # A word art page element.
+                # word art.
+              "renderedText": "A String", # The text rendered as word art.
+            },
+            "description": "A String", # The description of the page element. Combined with title to display alt
+                # text.
+            "objectId": "A String", # The object ID for this page element. Object IDs used by
+                # google.apps.slides.v1.Page and
+                # google.apps.slides.v1.PageElement share the same namespace.
+            "title": "A String", # The title of the page element. Combined with description to display alt
+                # text.
+            "image": { # A PageElement kind representing an # An image page element.
+                # image.
+              "contentUrl": "A String", # An URL to an image with a default lifetime of 30 minutes.
+                  # This URL is tagged with the account of the requester. Anyone with the URL
+                  # effectively accesses the image as the original requester. Access to the
+                  # image may be lost if the presentation's sharing settings change.
+              "imageProperties": { # The properties of the Image. # The properties of the image.
+                "outline": { # The outline of a PageElement. # The outline of the image. If not set, the the image has no outline.
+                    #
+                    # If these fields are unset, they may be inherited from a parent placeholder
+                    # if it exists. If there is no parent, the fields will default to the value
+                    # used for new page elements created in the Slides editor, which may depend on
+                    # the page element kind.
+                  "outlineFill": { # The fill of the outline. # The fill of the outline.
+                    "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                        # specified color value.
+                        #
+                        # If any field is unset, its value may be inherited from a parent placeholder
+                        # if it exists.
+                      "color": { # A themeable solid color value. # The color value of the solid fill.
+                        "themeColor": "A String", # An opaque theme color.
+                        "rgbColor": { # An RGB color. # An opaque RGB color.
+                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                        },
+                      },
+                      "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                          # That is, the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color.
+                    },
+                  },
+                  "propertyState": "A String", # The outline property state.
+                      #
+                      # Updating the the outline on a page element will implicitly update this
+                      # field to`RENDERED`, unless another value is specified in the same request.
+                      # To have no outline on a page element, set this field to `NOT_RENDERED`. In
+                      # this case, any other outline fields set in the same request will be
+                      # ignored.
+                  "dashStyle": "A String", # The dash style of the outline.
+                  "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
+                    "magnitude": 3.14, # The magnitude.
+                    "unit": "A String", # The units for magnitude.
+                  },
+                },
+                "brightness": 3.14, # The brightness effect of the image. The value should be in the interval
+                    # [-1.0, 1.0], where 0 means no effect. This property is read-only.
+                "recolor": { # A recolor effect applied on an image. # The recolor effect of the image. If not set, the image is not recolored.
+                    # This property is read-only.
+                  "recolorStops": [ # The recolor effect is represented by a gradient, which is a list of color
+                      # stops.
+                      #
+                      # The colors in the gradient will replace the corresponding colors at
+                      # the same position in the color palette and apply to the image. This
+                      # property is read-only.
+                    { # A color and position in a gradient band.
+                      "color": { # A themeable solid color value. # The color of the gradient stop.
+                        "themeColor": "A String", # An opaque theme color.
+                        "rgbColor": { # An RGB color. # An opaque RGB color.
+                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                        },
+                      },
+                      "alpha": 3.14, # The alpha value of this color in the gradient band. Defaults to 1.0,
+                          # fully opaque.
+                      "position": 3.14, # The relative position of the color stop in the gradient band measured
+                          # in percentage. The value should be in the interval [0.0, 1.0].
+                    },
+                  ],
+                  "name": "A String", # The name of the recolor effect.
+                      #
+                      # The name is determined from the `recolor_stops` by matching the gradient
+                      # against the colors in the page's current color scheme. This property is
+                      # read-only.
+                },
+                "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
+                  "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                  "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                      # in the presentation. There may not be a slide at this index.
+                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                      # presentation with this ID. A page with this ID may not exist.
+                  "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                      # addressed by its position.
+                },
+                "transparency": 3.14, # The transparency effect of the image. The value should be in the interval
+                    # [0.0, 1.0], where 0 means no effect and 1 means completely transparent.
+                    # This property is read-only.
+                "cropProperties": { # The crop properties of an object enclosed in a container. For example, an # The crop properties of the image. If not set, the image is not cropped.
+                    # This property is read-only.
+                    # Image.
+                    #
+                    # The crop properties is represented by the offsets of four edges which define
+                    # a crop rectangle. The offsets are measured in percentage from the
+                    # corresponding edges of the object's original bounding rectangle towards
+                    # inside, relative to the object's original dimensions.
+                    #
+                    # - If the offset is in the interval (0, 1), the corresponding edge of crop
+                    # rectangle is positioned inside of the object's original bounding rectangle.
+                    # - If the offset is negative or greater than 1, the corresponding edge of crop
+                    # rectangle is positioned outside of the object's original bounding rectangle.
+                    # - If the left edge of the crop rectangle is on the right side of its right
+                    # edge, the object will be flipped horizontally.
+                    # - If the top edge of the crop rectangle is below its bottom edge, the object
+                    # will be flipped vertically.
+                    # - If all offsets and rotation angle is 0, the object is not cropped.
+                    #
+                    # After cropping, the content in the crop rectangle will be stretched to fit
+                    # its container.
+                  "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
+                      # the right of the original bounding rectangle left edge, relative to the
+                      # object's original width.
+                  "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
+                      # Rotation angle is applied after the offset.
+                  "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
+                      # to the left of the original bounding rectangle right edge, relative to the
+                      # object's original width.
+                  "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                      # above the original bounding rectangle bottom edge, relative to the object's
+                      # original height.
+                  "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                      # below the original bounding rectangle top edge, relative to the object's
+                      # original height.
+                },
+                "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
+                    # is read-only.
+                    #
+                    # If these fields are unset, they may be inherited from a parent placeholder
+                    # if it exists. If there is no parent, the fields will default to the value
+                    # used for new page elements created in the Slides editor, which may depend on
+                    # the page element kind.
+                  "color": { # A themeable solid color value. # The shadow color value.
+                    "themeColor": "A String", # An opaque theme color.
+                    "rgbColor": { # An RGB color. # An opaque RGB color.
+                      "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                      "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                      "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                    },
+                  },
+                  "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # Transform that encodes the translate, scale, and skew of the shadow,
+                      # relative to the alignment position.
+                      # to transform source coordinates (x,y) into destination coordinates (x', y')
+                      # according to:
+                      #
+                      #       x'  x  =   shear_y  scale_y  translate_y
+                      #       1  [ 1 ]
+                      #
+                      # After transformation,
+                      #
+                      #      x' = scale_x * x + shear_x * y + translate_x;
+                      #      y' = scale_y * y + shear_y * x + translate_y;
+                      #
+                      # This message is therefore composed of these six matrix elements.
+                    "translateX": 3.14, # The X coordinate translation element.
+                    "translateY": 3.14, # The Y coordinate translation element.
+                    "scaleX": 3.14, # The X coordinate scaling element.
+                    "scaleY": 3.14, # The Y coordinate scaling element.
+                    "shearY": 3.14, # The Y coordinate shearing element.
+                    "shearX": 3.14, # The X coordinate shearing element.
+                    "unit": "A String", # The units for translate elements.
+                  },
+                  "propertyState": "A String", # The shadow property state.
+                      #
+                      # Updating the the shadow on a page element will implicitly update this field
+                      # to `RENDERED`, unless another value is specified in the same request. To
+                      # have no shadow on a page element, set this field to `NOT_RENDERED`. In this
+                      # case, any other shadow fields set in the same request will be ignored.
+                  "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the
+                      # shadow becomes.
+                    "magnitude": 3.14, # The magnitude.
+                    "unit": "A String", # The units for magnitude.
+                  },
+                  "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0.
+                  "type": "A String", # The type of the shadow.
+                  "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate,
+                      # scale and skew of the shadow.
+                  "rotateWithShape": True or False, # Whether the shadow should rotate with the shape.
+                },
+                "contrast": 3.14, # The contrast effect of the image. The value should be in the interval
+                    # [-1.0, 1.0], where 0 means no effect. This property is read-only.
+              },
+            },
+            "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # The transform of the page element.
+                # to transform source coordinates (x,y) into destination coordinates (x', y')
+                # according to:
+                #
+                #       x'  x  =   shear_y  scale_y  translate_y
+                #       1  [ 1 ]
+                #
+                # After transformation,
+                #
+                #      x' = scale_x * x + shear_x * y + translate_x;
+                #      y' = scale_y * y + shear_y * x + translate_y;
+                #
+                # This message is therefore composed of these six matrix elements.
+              "translateX": 3.14, # The X coordinate translation element.
+              "translateY": 3.14, # The Y coordinate translation element.
+              "scaleX": 3.14, # The X coordinate scaling element.
+              "scaleY": 3.14, # The Y coordinate scaling element.
+              "shearY": 3.14, # The Y coordinate shearing element.
+              "shearX": 3.14, # The X coordinate shearing element.
+              "unit": "A String", # The units for translate elements.
+            },
+            "shape": { # A PageElement kind representing a # A generic shape.
+                # generic shape that does not have a more specific classification.
+              "text": { # The general text content. The text must reside in a compatible shape (e.g. # The text content of the shape.
+                  # text box or rectangle) or a table cell in a page.
+                "lists": { # The bulleted lists contained in this text, keyed by list ID.
+                  "a_key": { # A List describes the look and feel of bullets belonging to paragraphs
+                      # associated with a list. A paragraph that is part of a list has an implicit
+                      # reference to that list's ID.
+                    "nestingLevel": { # A map of nesting levels to the properties of bullets at the associated
+                        # level. A list has at most nine levels of nesting, so the possible values
+                        # for the keys of this map are 0 through 8, inclusive.
+                      "a_key": { # Contains properties describing the look and feel of a list bullet at a given
+                          # level of nesting.
+                        "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The style of a bullet at this level of nesting.
+                            #
+                            # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                            # inherited from the parent. Which text styles are inherited depend on the
+                            # nesting level of lists:
+                            #
+                            # * A text run in a paragraph that is not in a list will inherit its text style
+                            #   from the the newline character in the paragraph at the 0 nesting level of
+                            #   the list inside the parent placeholder.
+                            # * A text run in a paragraph that is in a list will inherit its text style
+                            #   from the newline character in the paragraph at its corresponding nesting
+                            #   level of the list inside the parent placeholder.
+                            #
+                            # Inherited text styles are represented as unset fields in this message. If
+                            # text is contained in a shape without a parent placeholder, unsetting these
+                            # fields will revert the style to a value matching the defaults in the Slides
+                            # editor.
+                          "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                              # transparent, depending on if the `opaque_color` field in it is set.
+                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                # a transparent color.
+                              "themeColor": "A String", # An opaque theme color.
+                              "rgbColor": { # An RGB color. # An opaque RGB color.
+                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                              },
+                            },
+                          },
+                          "bold": True or False, # Whether or not the text is rendered as bold.
+                          "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                              #
+                              # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                              # rendered in a smaller font size, computed based on the `font_size` field.
+                              # The `font_size` itself is not affected by changes in this field.
+                          "strikethrough": True or False, # Whether or not the text is struck through.
+                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                              #
+                              # This field is an extension of `font_family` meant to support explicit font
+                              # weights without breaking backwards compatibility. As such, when reading the
+                              # style of a range of text, the value of `weighted_font_family#font_family`
+                              # will always be equal to that of `font_family`. However, when writing, if
+                              # both fields are included in the field mask (either explicitly or through
+                              # the wildcard `"*"`), their values are reconciled as follows:
+                              #
+                              # * If `font_family` is set and `weighted_font_family` is not, the value of
+                              #   `font_family` is applied with weight `400` ("normal").
+                              # * If both fields are set, the value of `font_family` must match that of
+                              #   `weighted_font_family#font_family`. If so, the font family and weight of
+                              #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                              #   returned.
+                              # * If `weighted_font_family` is set and `font_family` is not, the font
+                              #   family and weight of `weighted_font_family` is applied.
+                              # * If neither field is set, the font family and weight of the text inherit
+                              #   from the parent. Note that these properties cannot inherit separately
+                              #   from each other.
+                              #
+                              # If an update request specifies values for both `weighted_font_family` and
+                              # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                              #
+                              # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                              #
+                              # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                              # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                              # is returned.
+                            "fontFamily": "A String", # The font family of the text.
+                                #
+                                # The font family can be any font from the Font menu in Slides or from
+                                # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                # unrecognized, the text is rendered in `Arial`.
+                            "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                                # multiple of `100` between `100` and `900`, inclusive. This range
+                                # corresponds to the numerical values described in the CSS 2.1
+                                # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                # with non-numerical values disallowed. Weights greater than or equal to
+                                # `700` are considered bold, and weights less than `700`are not bold. The
+                                # default value is `400` ("normal").
+                          },
+                          "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                          "fontFamily": "A String", # The font family of the text.
+                              #
+                              # The font family can be any font from the Font menu in Slides or from
+                              # [Google Fonts] (https://fonts.google.com/). If the font name is
+                              # unrecognized, the text is rendered in `Arial`.
+                              #
+                              # Some fonts can affect the weight of the text. If an update request
+                              # specifies values for both `font_family` and `bold`, the explicitly-set
+                              # `bold` value is used.
+                          "italic": True or False, # Whether or not the text is italicized.
+                          "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                              # are not inherited from parent text.
+                              #
+                              # Changing the link in an update request causes some other changes to the
+                              # text style of the range:
+                              #
+                              # * When setting a link, the text foreground color will be set to
+                              #   ThemeColorType.HYPERLINK and the text will
+                              #   be underlined. If these fields are modified in the same
+                              #   request, those values will be used instead of the link defaults.
+                              # * Setting a link on a text range that overlaps with an existing link will
+                              #   also update the existing link to point to the new URL.
+                              # * Links are not settable on newline characters. As a result, setting a link
+                              #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                              #   will separate the newline character(s) into their own text runs. The
+                              #   link will be applied separately to the runs before and after the newline.
+                              # * Removing a link will update the text style of the range to match the
+                              #   style of the preceding text (or the default text styles if the preceding
+                              #   text is another link) unless different styles are being set in the same
+                              #   request.
+                            "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                            "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                                # in the presentation. There may not be a slide at this index.
+                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                # presentation with this ID. A page with this ID may not exist.
+                            "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                                # addressed by its position.
+                          },
+                          "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                              # transparent, depending on if the `opaque_color` field in it is set.
+                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                # a transparent color.
+                              "themeColor": "A String", # An opaque theme color.
+                              "rgbColor": { # An RGB color. # An opaque RGB color.
+                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                              },
+                            },
+                          },
+                          "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                              # points.
+                            "magnitude": 3.14, # The magnitude.
+                            "unit": "A String", # The units for magnitude.
+                          },
+                          "underline": True or False, # Whether or not the text is underlined.
+                        },
+                      },
+                    },
+                    "listId": "A String", # The ID of the list.
+                  },
+                },
+                "textElements": [ # The text contents broken down into its component parts, including styling
+                    # information. This property is read-only.
+                  { # A TextElement describes the content of a range of indices in the text content
+                      # of a Shape or TableCell.
+                    "autoText": { # A TextElement kind that represents auto text. # A TextElement representing a spot in the text that is dynamically
+                        # replaced with content that can change over time.
+                      "content": "A String", # The rendered content of this auto text, if available.
+                      "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this auto text.
+                          #
+                          # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                          # inherited from the parent. Which text styles are inherited depend on the
+                          # nesting level of lists:
+                          #
+                          # * A text run in a paragraph that is not in a list will inherit its text style
+                          #   from the the newline character in the paragraph at the 0 nesting level of
+                          #   the list inside the parent placeholder.
+                          # * A text run in a paragraph that is in a list will inherit its text style
+                          #   from the newline character in the paragraph at its corresponding nesting
+                          #   level of the list inside the parent placeholder.
+                          #
+                          # Inherited text styles are represented as unset fields in this message. If
+                          # text is contained in a shape without a parent placeholder, unsetting these
+                          # fields will revert the style to a value matching the defaults in the Slides
+                          # editor.
+                        "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                            # transparent, depending on if the `opaque_color` field in it is set.
+                          "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                              # a transparent color.
+                            "themeColor": "A String", # An opaque theme color.
+                            "rgbColor": { # An RGB color. # An opaque RGB color.
+                              "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                              "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                              "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                            },
+                          },
+                        },
+                        "bold": True or False, # Whether or not the text is rendered as bold.
+                        "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                            #
+                            # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                            # rendered in a smaller font size, computed based on the `font_size` field.
+                            # The `font_size` itself is not affected by changes in this field.
+                        "strikethrough": True or False, # Whether or not the text is struck through.
+                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                            #
+                            # This field is an extension of `font_family` meant to support explicit font
+                            # weights without breaking backwards compatibility. As such, when reading the
+                            # style of a range of text, the value of `weighted_font_family#font_family`
+                            # will always be equal to that of `font_family`. However, when writing, if
+                            # both fields are included in the field mask (either explicitly or through
+                            # the wildcard `"*"`), their values are reconciled as follows:
+                            #
+                            # * If `font_family` is set and `weighted_font_family` is not, the value of
+                            #   `font_family` is applied with weight `400` ("normal").
+                            # * If both fields are set, the value of `font_family` must match that of
+                            #   `weighted_font_family#font_family`. If so, the font family and weight of
+                            #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                            #   returned.
+                            # * If `weighted_font_family` is set and `font_family` is not, the font
+                            #   family and weight of `weighted_font_family` is applied.
+                            # * If neither field is set, the font family and weight of the text inherit
+                            #   from the parent. Note that these properties cannot inherit separately
+                            #   from each other.
+                            #
+                            # If an update request specifies values for both `weighted_font_family` and
+                            # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                            #
+                            # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                            #
+                            # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                            # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                            # is returned.
+                          "fontFamily": "A String", # The font family of the text.
+                              #
+                              # The font family can be any font from the Font menu in Slides or from
+                              # [Google Fonts] (https://fonts.google.com/). If the font name is
+                              # unrecognized, the text is rendered in `Arial`.
+                          "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                              # multiple of `100` between `100` and `900`, inclusive. This range
+                              # corresponds to the numerical values described in the CSS 2.1
+                              # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                              # with non-numerical values disallowed. Weights greater than or equal to
+                              # `700` are considered bold, and weights less than `700`are not bold. The
+                              # default value is `400` ("normal").
+                        },
+                        "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                        "fontFamily": "A String", # The font family of the text.
+                            #
+                            # The font family can be any font from the Font menu in Slides or from
+                            # [Google Fonts] (https://fonts.google.com/). If the font name is
+                            # unrecognized, the text is rendered in `Arial`.
+                            #
+                            # Some fonts can affect the weight of the text. If an update request
+                            # specifies values for both `font_family` and `bold`, the explicitly-set
+                            # `bold` value is used.
+                        "italic": True or False, # Whether or not the text is italicized.
+                        "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                            # are not inherited from parent text.
+                            #
+                            # Changing the link in an update request causes some other changes to the
+                            # text style of the range:
+                            #
+                            # * When setting a link, the text foreground color will be set to
+                            #   ThemeColorType.HYPERLINK and the text will
+                            #   be underlined. If these fields are modified in the same
+                            #   request, those values will be used instead of the link defaults.
+                            # * Setting a link on a text range that overlaps with an existing link will
+                            #   also update the existing link to point to the new URL.
+                            # * Links are not settable on newline characters. As a result, setting a link
+                            #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                            #   will separate the newline character(s) into their own text runs. The
+                            #   link will be applied separately to the runs before and after the newline.
+                            # * Removing a link will update the text style of the range to match the
+                            #   style of the preceding text (or the default text styles if the preceding
+                            #   text is another link) unless different styles are being set in the same
+                            #   request.
+                          "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                          "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                              # in the presentation. There may not be a slide at this index.
+                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                              # presentation with this ID. A page with this ID may not exist.
+                          "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                              # addressed by its position.
+                        },
+                        "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                            # transparent, depending on if the `opaque_color` field in it is set.
+                          "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                              # a transparent color.
+                            "themeColor": "A String", # An opaque theme color.
+                            "rgbColor": { # An RGB color. # An opaque RGB color.
+                              "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                              "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                              "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                            },
+                          },
+                        },
+                        "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                            # points.
+                          "magnitude": 3.14, # The magnitude.
+                          "unit": "A String", # The units for magnitude.
+                        },
+                        "underline": True or False, # Whether or not the text is underlined.
+                      },
+                      "type": "A String", # The type of this auto text.
+                    },
+                    "endIndex": 42, # The zero-based end index of this text element, exclusive, in Unicode code
+                        # units.
+                    "startIndex": 42, # The zero-based start index of this text element, in Unicode code units.
+                    "paragraphMarker": { # A TextElement kind that represents the beginning of a new paragraph. # A marker representing the beginning of a new paragraph.
+                        #
+                        # The `start_index` and `end_index` of this TextElement represent the
+                        # range of the paragraph. Other TextElements with an index range contained
+                        # inside this paragraph's range are considered to be part of this
+                        # paragraph. The range of indices of two separate paragraphs will never
+                        # overlap.
+                      "style": { # Styles that apply to a whole paragraph. # The paragraph's style
+                          #
+                          # If this text is contained in a shape with a parent placeholder, then these paragraph styles may be
+                          # inherited from the parent. Which paragraph styles are inherited depend on the
+                          # nesting level of lists:
+                          #
+                          # * A paragraph not in a list will inherit its paragraph style from the
+                          #   paragraph at the 0 nesting level of the list inside the parent placeholder.
+                          # * A paragraph in a list will inherit its paragraph style from the paragraph
+                          #   at its corresponding nesting level of the list inside the parent
+                          #   placeholder.
+                          #
+                          # Inherited paragraph styles are represented as unset fields in this message.
+                        "spacingMode": "A String", # The spacing mode for the paragraph.
+                        "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
+                            # LEFT_TO_RIGHT since
+                            # text direction is not inherited.
+                        "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
+                            # inherited from the parent.
+                          "magnitude": 3.14, # The magnitude.
+                          "unit": "A String", # The units for magnitude.
+                        },
+                        "lineSpacing": 3.14, # The amount of space between lines, as a percentage of normal, where normal
+                            # is represented as 100.0. If unset, the value is inherited from the parent.
+                        "indentStart": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
+                            # the start of the text, based on the current text direction. If unset, the
+                            # value is inherited from the parent.
+                          "magnitude": 3.14, # The magnitude.
+                          "unit": "A String", # The units for magnitude.
+                        },
+                        "spaceAbove": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
+                            # inherited from the parent.
+                          "magnitude": 3.14, # The magnitude.
+                          "unit": "A String", # The units for magnitude.
+                        },
+                        "indentEnd": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
+                            # the end of the text, based on the current text direction. If unset, the
+                            # value is inherited from the parent.
+                          "magnitude": 3.14, # The magnitude.
+                          "unit": "A String", # The units for magnitude.
+                        },
+                        "indentFirstLine": { # A magnitude in a single direction in the specified units. # The amount of indentation for the start of the first line of the paragraph.
+                            # If unset, the value is inherited from the parent.
+                          "magnitude": 3.14, # The magnitude.
+                          "unit": "A String", # The units for magnitude.
+                        },
+                        "alignment": "A String", # The text alignment for this paragraph.
+                      },
+                      "bullet": { # Describes the bullet of a paragraph. # The bullet for this paragraph. If not present, the paragraph does not
+                          # belong to a list.
+                        "nestingLevel": 42, # The nesting level of this paragraph in the list.
+                        "listId": "A String", # The ID of the list this paragraph belongs to.
+                        "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The paragraph specific text style applied to this bullet.
+                            #
+                            # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                            # inherited from the parent. Which text styles are inherited depend on the
+                            # nesting level of lists:
+                            #
+                            # * A text run in a paragraph that is not in a list will inherit its text style
+                            #   from the the newline character in the paragraph at the 0 nesting level of
+                            #   the list inside the parent placeholder.
+                            # * A text run in a paragraph that is in a list will inherit its text style
+                            #   from the newline character in the paragraph at its corresponding nesting
+                            #   level of the list inside the parent placeholder.
+                            #
+                            # Inherited text styles are represented as unset fields in this message. If
+                            # text is contained in a shape without a parent placeholder, unsetting these
+                            # fields will revert the style to a value matching the defaults in the Slides
+                            # editor.
+                          "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                              # transparent, depending on if the `opaque_color` field in it is set.
+                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                # a transparent color.
+                              "themeColor": "A String", # An opaque theme color.
+                              "rgbColor": { # An RGB color. # An opaque RGB color.
+                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                              },
+                            },
+                          },
+                          "bold": True or False, # Whether or not the text is rendered as bold.
+                          "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                              #
+                              # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                              # rendered in a smaller font size, computed based on the `font_size` field.
+                              # The `font_size` itself is not affected by changes in this field.
+                          "strikethrough": True or False, # Whether or not the text is struck through.
+                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                              #
+                              # This field is an extension of `font_family` meant to support explicit font
+                              # weights without breaking backwards compatibility. As such, when reading the
+                              # style of a range of text, the value of `weighted_font_family#font_family`
+                              # will always be equal to that of `font_family`. However, when writing, if
+                              # both fields are included in the field mask (either explicitly or through
+                              # the wildcard `"*"`), their values are reconciled as follows:
+                              #
+                              # * If `font_family` is set and `weighted_font_family` is not, the value of
+                              #   `font_family` is applied with weight `400` ("normal").
+                              # * If both fields are set, the value of `font_family` must match that of
+                              #   `weighted_font_family#font_family`. If so, the font family and weight of
+                              #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                              #   returned.
+                              # * If `weighted_font_family` is set and `font_family` is not, the font
+                              #   family and weight of `weighted_font_family` is applied.
+                              # * If neither field is set, the font family and weight of the text inherit
+                              #   from the parent. Note that these properties cannot inherit separately
+                              #   from each other.
+                              #
+                              # If an update request specifies values for both `weighted_font_family` and
+                              # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                              #
+                              # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                              #
+                              # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                              # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                              # is returned.
+                            "fontFamily": "A String", # The font family of the text.
+                                #
+                                # The font family can be any font from the Font menu in Slides or from
+                                # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                # unrecognized, the text is rendered in `Arial`.
+                            "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                                # multiple of `100` between `100` and `900`, inclusive. This range
+                                # corresponds to the numerical values described in the CSS 2.1
+                                # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                # with non-numerical values disallowed. Weights greater than or equal to
+                                # `700` are considered bold, and weights less than `700`are not bold. The
+                                # default value is `400` ("normal").
+                          },
+                          "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                          "fontFamily": "A String", # The font family of the text.
+                              #
+                              # The font family can be any font from the Font menu in Slides or from
+                              # [Google Fonts] (https://fonts.google.com/). If the font name is
+                              # unrecognized, the text is rendered in `Arial`.
+                              #
+                              # Some fonts can affect the weight of the text. If an update request
+                              # specifies values for both `font_family` and `bold`, the explicitly-set
+                              # `bold` value is used.
+                          "italic": True or False, # Whether or not the text is italicized.
+                          "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                              # are not inherited from parent text.
+                              #
+                              # Changing the link in an update request causes some other changes to the
+                              # text style of the range:
+                              #
+                              # * When setting a link, the text foreground color will be set to
+                              #   ThemeColorType.HYPERLINK and the text will
+                              #   be underlined. If these fields are modified in the same
+                              #   request, those values will be used instead of the link defaults.
+                              # * Setting a link on a text range that overlaps with an existing link will
+                              #   also update the existing link to point to the new URL.
+                              # * Links are not settable on newline characters. As a result, setting a link
+                              #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                              #   will separate the newline character(s) into their own text runs. The
+                              #   link will be applied separately to the runs before and after the newline.
+                              # * Removing a link will update the text style of the range to match the
+                              #   style of the preceding text (or the default text styles if the preceding
+                              #   text is another link) unless different styles are being set in the same
+                              #   request.
+                            "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                            "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                                # in the presentation. There may not be a slide at this index.
+                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                # presentation with this ID. A page with this ID may not exist.
+                            "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                                # addressed by its position.
+                          },
+                          "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                              # transparent, depending on if the `opaque_color` field in it is set.
+                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                # a transparent color.
+                              "themeColor": "A String", # An opaque theme color.
+                              "rgbColor": { # An RGB color. # An opaque RGB color.
+                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                              },
+                            },
+                          },
+                          "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                              # points.
+                            "magnitude": 3.14, # The magnitude.
+                            "unit": "A String", # The units for magnitude.
+                          },
+                          "underline": True or False, # Whether or not the text is underlined.
+                        },
+                        "glyph": "A String", # The rendered bullet glyph for this paragraph.
+                      },
+                    },
+                    "textRun": { # A TextElement kind that represents a run of text that all has the same # A TextElement representing a run of text where all of the characters
+                        # in the run have the same TextStyle.
+                        #
+                        # The `start_index` and `end_index` of TextRuns will always be fully
+                        # contained in the index range of a single `paragraph_marker` TextElement.
+                        # In other words, a TextRun will never span multiple paragraphs.
+                        # styling.
+                      "content": "A String", # The text of this run.
+                      "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this run.
+                          #
+                          # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                          # inherited from the parent. Which text styles are inherited depend on the
+                          # nesting level of lists:
+                          #
+                          # * A text run in a paragraph that is not in a list will inherit its text style
+                          #   from the the newline character in the paragraph at the 0 nesting level of
+                          #   the list inside the parent placeholder.
+                          # * A text run in a paragraph that is in a list will inherit its text style
+                          #   from the newline character in the paragraph at its corresponding nesting
+                          #   level of the list inside the parent placeholder.
+                          #
+                          # Inherited text styles are represented as unset fields in this message. If
+                          # text is contained in a shape without a parent placeholder, unsetting these
+                          # fields will revert the style to a value matching the defaults in the Slides
+                          # editor.
+                        "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                            # transparent, depending on if the `opaque_color` field in it is set.
+                          "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                              # a transparent color.
+                            "themeColor": "A String", # An opaque theme color.
+                            "rgbColor": { # An RGB color. # An opaque RGB color.
+                              "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                              "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                              "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                            },
+                          },
+                        },
+                        "bold": True or False, # Whether or not the text is rendered as bold.
+                        "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                            #
+                            # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                            # rendered in a smaller font size, computed based on the `font_size` field.
+                            # The `font_size` itself is not affected by changes in this field.
+                        "strikethrough": True or False, # Whether or not the text is struck through.
+                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                            #
+                            # This field is an extension of `font_family` meant to support explicit font
+                            # weights without breaking backwards compatibility. As such, when reading the
+                            # style of a range of text, the value of `weighted_font_family#font_family`
+                            # will always be equal to that of `font_family`. However, when writing, if
+                            # both fields are included in the field mask (either explicitly or through
+                            # the wildcard `"*"`), their values are reconciled as follows:
+                            #
+                            # * If `font_family` is set and `weighted_font_family` is not, the value of
+                            #   `font_family` is applied with weight `400` ("normal").
+                            # * If both fields are set, the value of `font_family` must match that of
+                            #   `weighted_font_family#font_family`. If so, the font family and weight of
+                            #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                            #   returned.
+                            # * If `weighted_font_family` is set and `font_family` is not, the font
+                            #   family and weight of `weighted_font_family` is applied.
+                            # * If neither field is set, the font family and weight of the text inherit
+                            #   from the parent. Note that these properties cannot inherit separately
+                            #   from each other.
+                            #
+                            # If an update request specifies values for both `weighted_font_family` and
+                            # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                            #
+                            # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                            #
+                            # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                            # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                            # is returned.
+                          "fontFamily": "A String", # The font family of the text.
+                              #
+                              # The font family can be any font from the Font menu in Slides or from
+                              # [Google Fonts] (https://fonts.google.com/). If the font name is
+                              # unrecognized, the text is rendered in `Arial`.
+                          "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                              # multiple of `100` between `100` and `900`, inclusive. This range
+                              # corresponds to the numerical values described in the CSS 2.1
+                              # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                              # with non-numerical values disallowed. Weights greater than or equal to
+                              # `700` are considered bold, and weights less than `700`are not bold. The
+                              # default value is `400` ("normal").
+                        },
+                        "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                        "fontFamily": "A String", # The font family of the text.
+                            #
+                            # The font family can be any font from the Font menu in Slides or from
+                            # [Google Fonts] (https://fonts.google.com/). If the font name is
+                            # unrecognized, the text is rendered in `Arial`.
+                            #
+                            # Some fonts can affect the weight of the text. If an update request
+                            # specifies values for both `font_family` and `bold`, the explicitly-set
+                            # `bold` value is used.
+                        "italic": True or False, # Whether or not the text is italicized.
+                        "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                            # are not inherited from parent text.
+                            #
+                            # Changing the link in an update request causes some other changes to the
+                            # text style of the range:
+                            #
+                            # * When setting a link, the text foreground color will be set to
+                            #   ThemeColorType.HYPERLINK and the text will
+                            #   be underlined. If these fields are modified in the same
+                            #   request, those values will be used instead of the link defaults.
+                            # * Setting a link on a text range that overlaps with an existing link will
+                            #   also update the existing link to point to the new URL.
+                            # * Links are not settable on newline characters. As a result, setting a link
+                            #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                            #   will separate the newline character(s) into their own text runs. The
+                            #   link will be applied separately to the runs before and after the newline.
+                            # * Removing a link will update the text style of the range to match the
+                            #   style of the preceding text (or the default text styles if the preceding
+                            #   text is another link) unless different styles are being set in the same
+                            #   request.
+                          "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                          "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                              # in the presentation. There may not be a slide at this index.
+                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                              # presentation with this ID. A page with this ID may not exist.
+                          "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                              # addressed by its position.
+                        },
+                        "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                            # transparent, depending on if the `opaque_color` field in it is set.
+                          "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                              # a transparent color.
+                            "themeColor": "A String", # An opaque theme color.
+                            "rgbColor": { # An RGB color. # An opaque RGB color.
+                              "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                              "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                              "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                            },
+                          },
+                        },
+                        "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                            # points.
+                          "magnitude": 3.14, # The magnitude.
+                          "unit": "A String", # The units for magnitude.
+                        },
+                        "underline": True or False, # Whether or not the text is underlined.
+                      },
+                    },
+                  },
+                ],
+              },
+              "shapeProperties": { # The properties of a Shape. # The properties of the shape.
+                  #
+                  # If the shape is a placeholder shape as determined by the
+                  # placeholder field, then these
+                  # properties may be inherited from a parent placeholder shape.
+                  # Determining the rendered value of the property depends on the corresponding
+                  # property_state field value.
+                "shadow": { # The shadow properties of a page element. # The shadow properties of the shape. If unset, the shadow is inherited from
+                    # a parent placeholder if it exists. If the shape has no parent, then the
+                    # default shadow matches the defaults for new shapes created in the Slides
+                    # editor. This property is read-only.
+                    #
+                    # If these fields are unset, they may be inherited from a parent placeholder
+                    # if it exists. If there is no parent, the fields will default to the value
+                    # used for new page elements created in the Slides editor, which may depend on
+                    # the page element kind.
+                  "color": { # A themeable solid color value. # The shadow color value.
+                    "themeColor": "A String", # An opaque theme color.
+                    "rgbColor": { # An RGB color. # An opaque RGB color.
+                      "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                      "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                      "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                    },
+                  },
+                  "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # Transform that encodes the translate, scale, and skew of the shadow,
+                      # relative to the alignment position.
+                      # to transform source coordinates (x,y) into destination coordinates (x', y')
+                      # according to:
+                      #
+                      #       x'  x  =   shear_y  scale_y  translate_y
+                      #       1  [ 1 ]
+                      #
+                      # After transformation,
+                      #
+                      #      x' = scale_x * x + shear_x * y + translate_x;
+                      #      y' = scale_y * y + shear_y * x + translate_y;
+                      #
+                      # This message is therefore composed of these six matrix elements.
+                    "translateX": 3.14, # The X coordinate translation element.
+                    "translateY": 3.14, # The Y coordinate translation element.
+                    "scaleX": 3.14, # The X coordinate scaling element.
+                    "scaleY": 3.14, # The Y coordinate scaling element.
+                    "shearY": 3.14, # The Y coordinate shearing element.
+                    "shearX": 3.14, # The X coordinate shearing element.
+                    "unit": "A String", # The units for translate elements.
+                  },
+                  "propertyState": "A String", # The shadow property state.
+                      #
+                      # Updating the the shadow on a page element will implicitly update this field
+                      # to `RENDERED`, unless another value is specified in the same request. To
+                      # have no shadow on a page element, set this field to `NOT_RENDERED`. In this
+                      # case, any other shadow fields set in the same request will be ignored.
+                  "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the
+                      # shadow becomes.
+                    "magnitude": 3.14, # The magnitude.
+                    "unit": "A String", # The units for magnitude.
+                  },
+                  "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0.
+                  "type": "A String", # The type of the shadow.
+                  "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate,
+                      # scale and skew of the shadow.
+                  "rotateWithShape": True or False, # Whether the shadow should rotate with the shape.
+                },
+                "shapeBackgroundFill": { # The shape background fill. # The background fill of the shape. If unset, the background fill is
+                    # inherited from a parent placeholder if it exists. If the shape has no
+                    # parent, then the default background fill depends on the shape type,
+                    # matching the defaults for new shapes created in the Slides editor.
+                  "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                      # specified color value.
+                      #
+                      # If any field is unset, its value may be inherited from a parent placeholder
+                      # if it exists.
+                    "color": { # A themeable solid color value. # The color value of the solid fill.
+                      "themeColor": "A String", # An opaque theme color.
+                      "rgbColor": { # An RGB color. # An opaque RGB color.
+                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                      },
+                    },
+                    "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                        # That is, the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color.
+                  },
+                  "propertyState": "A String", # The background fill property state.
+                      #
+                      # Updating the the fill on a shape will implicitly update this field to
+                      # `RENDERED`, unless another value is specified in the same request. To
+                      # have no fill on a shape, set this field to `NOT_RENDERED`. In this case,
+                      # any other fill fields set in the same request will be ignored.
+                },
+                "link": { # A hypertext link. # The hyperlink destination of the shape. If unset, there is no link. Links
+                    # are not inherited from parent placeholders.
+                  "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                  "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                      # in the presentation. There may not be a slide at this index.
+                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                      # presentation with this ID. A page with this ID may not exist.
+                  "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                      # addressed by its position.
+                },
+                "outline": { # The outline of a PageElement. # The outline of the shape. If unset, the outline is inherited from a
+                    # parent placeholder if it exists. If the shape has no parent, then the
+                    # default outline depends on the shape type, matching the defaults for
+                    # new shapes created in the Slides editor.
+                    #
+                    # If these fields are unset, they may be inherited from a parent placeholder
+                    # if it exists. If there is no parent, the fields will default to the value
+                    # used for new page elements created in the Slides editor, which may depend on
+                    # the page element kind.
+                  "outlineFill": { # The fill of the outline. # The fill of the outline.
+                    "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                        # specified color value.
+                        #
+                        # If any field is unset, its value may be inherited from a parent placeholder
+                        # if it exists.
+                      "color": { # A themeable solid color value. # The color value of the solid fill.
+                        "themeColor": "A String", # An opaque theme color.
+                        "rgbColor": { # An RGB color. # An opaque RGB color.
+                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                        },
+                      },
+                      "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                          # That is, the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color.
+                    },
+                  },
+                  "propertyState": "A String", # The outline property state.
+                      #
+                      # Updating the the outline on a page element will implicitly update this
+                      # field to`RENDERED`, unless another value is specified in the same request.
+                      # To have no outline on a page element, set this field to `NOT_RENDERED`. In
+                      # this case, any other outline fields set in the same request will be
+                      # ignored.
+                  "dashStyle": "A String", # The dash style of the outline.
+                  "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
+                    "magnitude": 3.14, # The magnitude.
+                    "unit": "A String", # The units for magnitude.
+                  },
+                },
+              },
+              "placeholder": { # The placeholder information that uniquely identifies a placeholder shape. # Placeholders are shapes that are inherit from corresponding placeholders on
+                  # layouts and masters.
+                  #
+                  # If set, the shape is a placeholder shape and any inherited properties
+                  # can be resolved by looking at the parent placeholder identified by the
+                  # Placeholder.parent_object_id field.
+                "parentObjectId": "A String", # The object ID of this shape's parent placeholder.
+                    # If unset, the parent placeholder shape does not exist, so the shape does
+                    # not inherit properties from any other shape.
+                "index": 42, # The index of the placeholder. If the same placeholder types are present in
+                    # the same page, they would have different index values.
+                "type": "A String", # The type of the placeholder.
+              },
+              "shapeType": "A String", # The type of the shape.
+            },
+            "sheetsChart": { # A PageElement kind representing # A linked chart embedded from Google Sheets. Unlinked charts are
+                # represented as images.
+                # a linked chart embedded from Google Sheets.
+              "contentUrl": "A String", # The URL of an image of the embedded chart, with a default lifetime of 30
+                  # minutes. This URL is tagged with the account of the requester. Anyone with
+                  # the URL effectively accesses the image as the original requester. Access to
+                  # the image may be lost if the presentation's sharing settings change.
+              "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
+              "sheetsChartProperties": { # The properties of the SheetsChart. # The properties of the Sheets chart.
+                "chartImageProperties": { # The properties of the Image. # The properties of the embedded chart image.
+                  "outline": { # The outline of a PageElement. # The outline of the image. If not set, the the image has no outline.
+                      #
+                      # If these fields are unset, they may be inherited from a parent placeholder
+                      # if it exists. If there is no parent, the fields will default to the value
+                      # used for new page elements created in the Slides editor, which may depend on
+                      # the page element kind.
+                    "outlineFill": { # The fill of the outline. # The fill of the outline.
+                      "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                          # specified color value.
+                          #
+                          # If any field is unset, its value may be inherited from a parent placeholder
+                          # if it exists.
+                        "color": { # A themeable solid color value. # The color value of the solid fill.
+                          "themeColor": "A String", # An opaque theme color.
+                          "rgbColor": { # An RGB color. # An opaque RGB color.
+                            "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                            "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                            "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                          },
+                        },
+                        "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                            # That is, the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color.
+                      },
+                    },
+                    "propertyState": "A String", # The outline property state.
+                        #
+                        # Updating the the outline on a page element will implicitly update this
+                        # field to`RENDERED`, unless another value is specified in the same request.
+                        # To have no outline on a page element, set this field to `NOT_RENDERED`. In
+                        # this case, any other outline fields set in the same request will be
+                        # ignored.
+                    "dashStyle": "A String", # The dash style of the outline.
+                    "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
+                      "magnitude": 3.14, # The magnitude.
+                      "unit": "A String", # The units for magnitude.
+                    },
+                  },
+                  "brightness": 3.14, # The brightness effect of the image. The value should be in the interval
+                      # [-1.0, 1.0], where 0 means no effect. This property is read-only.
+                  "recolor": { # A recolor effect applied on an image. # The recolor effect of the image. If not set, the image is not recolored.
+                      # This property is read-only.
+                    "recolorStops": [ # The recolor effect is represented by a gradient, which is a list of color
+                        # stops.
+                        #
+                        # The colors in the gradient will replace the corresponding colors at
+                        # the same position in the color palette and apply to the image. This
+                        # property is read-only.
+                      { # A color and position in a gradient band.
+                        "color": { # A themeable solid color value. # The color of the gradient stop.
+                          "themeColor": "A String", # An opaque theme color.
+                          "rgbColor": { # An RGB color. # An opaque RGB color.
+                            "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                            "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                            "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                          },
+                        },
+                        "alpha": 3.14, # The alpha value of this color in the gradient band. Defaults to 1.0,
+                            # fully opaque.
+                        "position": 3.14, # The relative position of the color stop in the gradient band measured
+                            # in percentage. The value should be in the interval [0.0, 1.0].
+                      },
+                    ],
+                    "name": "A String", # The name of the recolor effect.
+                        #
+                        # The name is determined from the `recolor_stops` by matching the gradient
+                        # against the colors in the page's current color scheme. This property is
+                        # read-only.
+                  },
+                  "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
+                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                        # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
+                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                        # addressed by its position.
+                  },
+                  "transparency": 3.14, # The transparency effect of the image. The value should be in the interval
+                      # [0.0, 1.0], where 0 means no effect and 1 means completely transparent.
+                      # This property is read-only.
+                  "cropProperties": { # The crop properties of an object enclosed in a container. For example, an # The crop properties of the image. If not set, the image is not cropped.
+                      # This property is read-only.
+                      # Image.
+                      #
+                      # The crop properties is represented by the offsets of four edges which define
+                      # a crop rectangle. The offsets are measured in percentage from the
+                      # corresponding edges of the object's original bounding rectangle towards
+                      # inside, relative to the object's original dimensions.
+                      #
+                      # - If the offset is in the interval (0, 1), the corresponding edge of crop
+                      # rectangle is positioned inside of the object's original bounding rectangle.
+                      # - If the offset is negative or greater than 1, the corresponding edge of crop
+                      # rectangle is positioned outside of the object's original bounding rectangle.
+                      # - If the left edge of the crop rectangle is on the right side of its right
+                      # edge, the object will be flipped horizontally.
+                      # - If the top edge of the crop rectangle is below its bottom edge, the object
+                      # will be flipped vertically.
+                      # - If all offsets and rotation angle is 0, the object is not cropped.
+                      #
+                      # After cropping, the content in the crop rectangle will be stretched to fit
+                      # its container.
+                    "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
+                        # the right of the original bounding rectangle left edge, relative to the
+                        # object's original width.
+                    "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
+                        # Rotation angle is applied after the offset.
+                    "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
+                        # to the left of the original bounding rectangle right edge, relative to the
+                        # object's original width.
+                    "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                        # above the original bounding rectangle bottom edge, relative to the object's
+                        # original height.
+                    "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                        # below the original bounding rectangle top edge, relative to the object's
+                        # original height.
+                  },
+                  "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
+                      # is read-only.
+                      #
+                      # If these fields are unset, they may be inherited from a parent placeholder
+                      # if it exists. If there is no parent, the fields will default to the value
+                      # used for new page elements created in the Slides editor, which may depend on
+                      # the page element kind.
+                    "color": { # A themeable solid color value. # The shadow color value.
+                      "themeColor": "A String", # An opaque theme color.
+                      "rgbColor": { # An RGB color. # An opaque RGB color.
+                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                      },
+                    },
+                    "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # Transform that encodes the translate, scale, and skew of the shadow,
+                        # relative to the alignment position.
+                        # to transform source coordinates (x,y) into destination coordinates (x', y')
+                        # according to:
+                        #
+                        #       x'  x  =   shear_y  scale_y  translate_y
+                        #       1  [ 1 ]
+                        #
+                        # After transformation,
+                        #
+                        #      x' = scale_x * x + shear_x * y + translate_x;
+                        #      y' = scale_y * y + shear_y * x + translate_y;
+                        #
+                        # This message is therefore composed of these six matrix elements.
+                      "translateX": 3.14, # The X coordinate translation element.
+                      "translateY": 3.14, # The Y coordinate translation element.
+                      "scaleX": 3.14, # The X coordinate scaling element.
+                      "scaleY": 3.14, # The Y coordinate scaling element.
+                      "shearY": 3.14, # The Y coordinate shearing element.
+                      "shearX": 3.14, # The X coordinate shearing element.
+                      "unit": "A String", # The units for translate elements.
+                    },
+                    "propertyState": "A String", # The shadow property state.
+                        #
+                        # Updating the the shadow on a page element will implicitly update this field
+                        # to `RENDERED`, unless another value is specified in the same request. To
+                        # have no shadow on a page element, set this field to `NOT_RENDERED`. In this
+                        # case, any other shadow fields set in the same request will be ignored.
+                    "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the
+                        # shadow becomes.
+                      "magnitude": 3.14, # The magnitude.
+                      "unit": "A String", # The units for magnitude.
+                    },
+                    "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0.
+                    "type": "A String", # The type of the shadow.
+                    "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate,
+                        # scale and skew of the shadow.
+                    "rotateWithShape": True or False, # Whether the shadow should rotate with the shape.
+                  },
+                  "contrast": 3.14, # The contrast effect of the image. The value should be in the interval
+                      # [-1.0, 1.0], where 0 means no effect. This property is read-only.
+                },
+              },
+              "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
+                  # embedded.
+            },
+            "video": { # A PageElement kind representing a # A video page element.
+                # video.
+              "url": "A String", # An URL to a video. The URL is valid as long as the source video
+                  # exists and sharing settings do not change.
+              "videoProperties": { # The properties of the Video. # The properties of the video.
+                "outline": { # The outline of a PageElement. # The outline of the video. The default outline matches the defaults for new
+                    # videos created in the Slides editor.
+                    #
+                    # If these fields are unset, they may be inherited from a parent placeholder
+                    # if it exists. If there is no parent, the fields will default to the value
+                    # used for new page elements created in the Slides editor, which may depend on
+                    # the page element kind.
+                  "outlineFill": { # The fill of the outline. # The fill of the outline.
+                    "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                        # specified color value.
+                        #
+                        # If any field is unset, its value may be inherited from a parent placeholder
+                        # if it exists.
+                      "color": { # A themeable solid color value. # The color value of the solid fill.
+                        "themeColor": "A String", # An opaque theme color.
+                        "rgbColor": { # An RGB color. # An opaque RGB color.
+                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                        },
+                      },
+                      "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                          # That is, the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color.
+                    },
+                  },
+                  "propertyState": "A String", # The outline property state.
+                      #
+                      # Updating the the outline on a page element will implicitly update this
+                      # field to`RENDERED`, unless another value is specified in the same request.
+                      # To have no outline on a page element, set this field to `NOT_RENDERED`. In
+                      # this case, any other outline fields set in the same request will be
+                      # ignored.
+                  "dashStyle": "A String", # The dash style of the outline.
+                  "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
+                    "magnitude": 3.14, # The magnitude.
+                    "unit": "A String", # The units for magnitude.
+                  },
+                },
+              },
+              "id": "A String", # The video source's unique identifier for this video.
+              "source": "A String", # The video source.
+            },
+            "elementGroup": { # A PageElement kind representing a # A collection of page elements joined as a single unit.
+                # joined collection of PageElements.
+              "children": [ # The collection of elements in the group. The minimum size of a group is 2.
+                # Object with schema name: PageElement
+              ],
+            },
+            "table": { # A PageElement kind representing a # A table page element.
+                # table.
+              "tableColumns": [ # Properties of each column.
+                { # Properties of each column in a table.
+                  "columnWidth": { # A magnitude in a single direction in the specified units. # Width of a column.
+                    "magnitude": 3.14, # The magnitude.
+                    "unit": "A String", # The units for magnitude.
+                  },
+                },
+              ],
+              "tableRows": [ # Properties and contents of each row.
+                  #
+                  # Cells that span multiple rows are contained in only one of these rows and
+                  # have a row_span greater
+                  # than 1.
+                { # Properties and contents of each row in a table.
+                  "tableCells": [ # Properties and contents of each cell.
+                      #
+                      # Cells that span multiple columns are represented only once with a
+                      # column_span greater
+                      # than 1. As a result, the length of this collection does not always match
+                      # the number of columns of the entire table.
+                    { # Properties and contents of each table cell.
+                      "text": { # The general text content. The text must reside in a compatible shape (e.g. # The text content of the cell.
+                          # text box or rectangle) or a table cell in a page.
+                        "lists": { # The bulleted lists contained in this text, keyed by list ID.
+                          "a_key": { # A List describes the look and feel of bullets belonging to paragraphs
+                              # associated with a list. A paragraph that is part of a list has an implicit
+                              # reference to that list's ID.
+                            "nestingLevel": { # A map of nesting levels to the properties of bullets at the associated
+                                # level. A list has at most nine levels of nesting, so the possible values
+                                # for the keys of this map are 0 through 8, inclusive.
+                              "a_key": { # Contains properties describing the look and feel of a list bullet at a given
+                                  # level of nesting.
+                                "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The style of a bullet at this level of nesting.
+                                    #
+                                    # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                                    # inherited from the parent. Which text styles are inherited depend on the
+                                    # nesting level of lists:
+                                    #
+                                    # * A text run in a paragraph that is not in a list will inherit its text style
+                                    #   from the the newline character in the paragraph at the 0 nesting level of
+                                    #   the list inside the parent placeholder.
+                                    # * A text run in a paragraph that is in a list will inherit its text style
+                                    #   from the newline character in the paragraph at its corresponding nesting
+                                    #   level of the list inside the parent placeholder.
+                                    #
+                                    # Inherited text styles are represented as unset fields in this message. If
+                                    # text is contained in a shape without a parent placeholder, unsetting these
+                                    # fields will revert the style to a value matching the defaults in the Slides
+                                    # editor.
+                                  "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                                      # transparent, depending on if the `opaque_color` field in it is set.
+                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                        # a transparent color.
+                                      "themeColor": "A String", # An opaque theme color.
+                                      "rgbColor": { # An RGB color. # An opaque RGB color.
+                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                      },
+                                    },
+                                  },
+                                  "bold": True or False, # Whether or not the text is rendered as bold.
+                                  "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                                      #
+                                      # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                                      # rendered in a smaller font size, computed based on the `font_size` field.
+                                      # The `font_size` itself is not affected by changes in this field.
+                                  "strikethrough": True or False, # Whether or not the text is struck through.
+                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                                      #
+                                      # This field is an extension of `font_family` meant to support explicit font
+                                      # weights without breaking backwards compatibility. As such, when reading the
+                                      # style of a range of text, the value of `weighted_font_family#font_family`
+                                      # will always be equal to that of `font_family`. However, when writing, if
+                                      # both fields are included in the field mask (either explicitly or through
+                                      # the wildcard `"*"`), their values are reconciled as follows:
+                                      #
+                                      # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                      #   `font_family` is applied with weight `400` ("normal").
+                                      # * If both fields are set, the value of `font_family` must match that of
+                                      #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                      #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                      #   returned.
+                                      # * If `weighted_font_family` is set and `font_family` is not, the font
+                                      #   family and weight of `weighted_font_family` is applied.
+                                      # * If neither field is set, the font family and weight of the text inherit
+                                      #   from the parent. Note that these properties cannot inherit separately
+                                      #   from each other.
+                                      #
+                                      # If an update request specifies values for both `weighted_font_family` and
+                                      # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                      #
+                                      # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                      #
+                                      # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                      # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                      # is returned.
+                                    "fontFamily": "A String", # The font family of the text.
+                                        #
+                                        # The font family can be any font from the Font menu in Slides or from
+                                        # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                        # unrecognized, the text is rendered in `Arial`.
+                                    "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                                        # multiple of `100` between `100` and `900`, inclusive. This range
+                                        # corresponds to the numerical values described in the CSS 2.1
+                                        # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                        # with non-numerical values disallowed. Weights greater than or equal to
+                                        # `700` are considered bold, and weights less than `700`are not bold. The
+                                        # default value is `400` ("normal").
+                                  },
+                                  "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                                  "fontFamily": "A String", # The font family of the text.
+                                      #
+                                      # The font family can be any font from the Font menu in Slides or from
+                                      # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                      # unrecognized, the text is rendered in `Arial`.
+                                      #
+                                      # Some fonts can affect the weight of the text. If an update request
+                                      # specifies values for both `font_family` and `bold`, the explicitly-set
+                                      # `bold` value is used.
+                                  "italic": True or False, # Whether or not the text is italicized.
+                                  "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                                      # are not inherited from parent text.
+                                      #
+                                      # Changing the link in an update request causes some other changes to the
+                                      # text style of the range:
+                                      #
+                                      # * When setting a link, the text foreground color will be set to
+                                      #   ThemeColorType.HYPERLINK and the text will
+                                      #   be underlined. If these fields are modified in the same
+                                      #   request, those values will be used instead of the link defaults.
+                                      # * Setting a link on a text range that overlaps with an existing link will
+                                      #   also update the existing link to point to the new URL.
+                                      # * Links are not settable on newline characters. As a result, setting a link
+                                      #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                                      #   will separate the newline character(s) into their own text runs. The
+                                      #   link will be applied separately to the runs before and after the newline.
+                                      # * Removing a link will update the text style of the range to match the
+                                      #   style of the preceding text (or the default text styles if the preceding
+                                      #   text is another link) unless different styles are being set in the same
+                                      #   request.
+                                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                                        # in the presentation. There may not be a slide at this index.
+                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                        # presentation with this ID. A page with this ID may not exist.
+                                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                                        # addressed by its position.
+                                  },
+                                  "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                                      # transparent, depending on if the `opaque_color` field in it is set.
+                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                        # a transparent color.
+                                      "themeColor": "A String", # An opaque theme color.
+                                      "rgbColor": { # An RGB color. # An opaque RGB color.
+                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                      },
+                                    },
+                                  },
+                                  "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                                      # points.
+                                    "magnitude": 3.14, # The magnitude.
+                                    "unit": "A String", # The units for magnitude.
+                                  },
+                                  "underline": True or False, # Whether or not the text is underlined.
+                                },
+                              },
+                            },
+                            "listId": "A String", # The ID of the list.
+                          },
+                        },
+                        "textElements": [ # The text contents broken down into its component parts, including styling
+                            # information. This property is read-only.
+                          { # A TextElement describes the content of a range of indices in the text content
+                              # of a Shape or TableCell.
+                            "autoText": { # A TextElement kind that represents auto text. # A TextElement representing a spot in the text that is dynamically
+                                # replaced with content that can change over time.
+                              "content": "A String", # The rendered content of this auto text, if available.
+                              "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this auto text.
+                                  #
+                                  # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                                  # inherited from the parent. Which text styles are inherited depend on the
+                                  # nesting level of lists:
+                                  #
+                                  # * A text run in a paragraph that is not in a list will inherit its text style
+                                  #   from the the newline character in the paragraph at the 0 nesting level of
+                                  #   the list inside the parent placeholder.
+                                  # * A text run in a paragraph that is in a list will inherit its text style
+                                  #   from the newline character in the paragraph at its corresponding nesting
+                                  #   level of the list inside the parent placeholder.
+                                  #
+                                  # Inherited text styles are represented as unset fields in this message. If
+                                  # text is contained in a shape without a parent placeholder, unsetting these
+                                  # fields will revert the style to a value matching the defaults in the Slides
+                                  # editor.
+                                "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                                    # transparent, depending on if the `opaque_color` field in it is set.
+                                  "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                      # a transparent color.
+                                    "themeColor": "A String", # An opaque theme color.
+                                    "rgbColor": { # An RGB color. # An opaque RGB color.
+                                      "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                      "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                      "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                    },
+                                  },
+                                },
+                                "bold": True or False, # Whether or not the text is rendered as bold.
+                                "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                                    #
+                                    # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                                    # rendered in a smaller font size, computed based on the `font_size` field.
+                                    # The `font_size` itself is not affected by changes in this field.
+                                "strikethrough": True or False, # Whether or not the text is struck through.
+                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                                    #
+                                    # This field is an extension of `font_family` meant to support explicit font
+                                    # weights without breaking backwards compatibility. As such, when reading the
+                                    # style of a range of text, the value of `weighted_font_family#font_family`
+                                    # will always be equal to that of `font_family`. However, when writing, if
+                                    # both fields are included in the field mask (either explicitly or through
+                                    # the wildcard `"*"`), their values are reconciled as follows:
+                                    #
+                                    # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                    #   `font_family` is applied with weight `400` ("normal").
+                                    # * If both fields are set, the value of `font_family` must match that of
+                                    #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                    #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                    #   returned.
+                                    # * If `weighted_font_family` is set and `font_family` is not, the font
+                                    #   family and weight of `weighted_font_family` is applied.
+                                    # * If neither field is set, the font family and weight of the text inherit
+                                    #   from the parent. Note that these properties cannot inherit separately
+                                    #   from each other.
+                                    #
+                                    # If an update request specifies values for both `weighted_font_family` and
+                                    # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                    #
+                                    # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                    #
+                                    # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                    # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                    # is returned.
+                                  "fontFamily": "A String", # The font family of the text.
+                                      #
+                                      # The font family can be any font from the Font menu in Slides or from
+                                      # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                      # unrecognized, the text is rendered in `Arial`.
+                                  "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                                      # multiple of `100` between `100` and `900`, inclusive. This range
+                                      # corresponds to the numerical values described in the CSS 2.1
+                                      # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                      # with non-numerical values disallowed. Weights greater than or equal to
+                                      # `700` are considered bold, and weights less than `700`are not bold. The
+                                      # default value is `400` ("normal").
+                                },
+                                "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                                "fontFamily": "A String", # The font family of the text.
+                                    #
+                                    # The font family can be any font from the Font menu in Slides or from
+                                    # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                    # unrecognized, the text is rendered in `Arial`.
+                                    #
+                                    # Some fonts can affect the weight of the text. If an update request
+                                    # specifies values for both `font_family` and `bold`, the explicitly-set
+                                    # `bold` value is used.
+                                "italic": True or False, # Whether or not the text is italicized.
+                                "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                                    # are not inherited from parent text.
+                                    #
+                                    # Changing the link in an update request causes some other changes to the
+                                    # text style of the range:
+                                    #
+                                    # * When setting a link, the text foreground color will be set to
+                                    #   ThemeColorType.HYPERLINK and the text will
+                                    #   be underlined. If these fields are modified in the same
+                                    #   request, those values will be used instead of the link defaults.
+                                    # * Setting a link on a text range that overlaps with an existing link will
+                                    #   also update the existing link to point to the new URL.
+                                    # * Links are not settable on newline characters. As a result, setting a link
+                                    #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                                    #   will separate the newline character(s) into their own text runs. The
+                                    #   link will be applied separately to the runs before and after the newline.
+                                    # * Removing a link will update the text style of the range to match the
+                                    #   style of the preceding text (or the default text styles if the preceding
+                                    #   text is another link) unless different styles are being set in the same
+                                    #   request.
+                                  "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                                  "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                                      # in the presentation. There may not be a slide at this index.
+                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                      # presentation with this ID. A page with this ID may not exist.
+                                  "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                                      # addressed by its position.
+                                },
+                                "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                                    # transparent, depending on if the `opaque_color` field in it is set.
+                                  "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                      # a transparent color.
+                                    "themeColor": "A String", # An opaque theme color.
+                                    "rgbColor": { # An RGB color. # An opaque RGB color.
+                                      "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                      "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                      "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                    },
+                                  },
+                                },
+                                "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                                    # points.
+                                  "magnitude": 3.14, # The magnitude.
+                                  "unit": "A String", # The units for magnitude.
+                                },
+                                "underline": True or False, # Whether or not the text is underlined.
+                              },
+                              "type": "A String", # The type of this auto text.
+                            },
+                            "endIndex": 42, # The zero-based end index of this text element, exclusive, in Unicode code
+                                # units.
+                            "startIndex": 42, # The zero-based start index of this text element, in Unicode code units.
+                            "paragraphMarker": { # A TextElement kind that represents the beginning of a new paragraph. # A marker representing the beginning of a new paragraph.
+                                #
+                                # The `start_index` and `end_index` of this TextElement represent the
+                                # range of the paragraph. Other TextElements with an index range contained
+                                # inside this paragraph's range are considered to be part of this
+                                # paragraph. The range of indices of two separate paragraphs will never
+                                # overlap.
+                              "style": { # Styles that apply to a whole paragraph. # The paragraph's style
+                                  #
+                                  # If this text is contained in a shape with a parent placeholder, then these paragraph styles may be
+                                  # inherited from the parent. Which paragraph styles are inherited depend on the
+                                  # nesting level of lists:
+                                  #
+                                  # * A paragraph not in a list will inherit its paragraph style from the
+                                  #   paragraph at the 0 nesting level of the list inside the parent placeholder.
+                                  # * A paragraph in a list will inherit its paragraph style from the paragraph
+                                  #   at its corresponding nesting level of the list inside the parent
+                                  #   placeholder.
+                                  #
+                                  # Inherited paragraph styles are represented as unset fields in this message.
+                                "spacingMode": "A String", # The spacing mode for the paragraph.
+                                "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
+                                    # LEFT_TO_RIGHT since
+                                    # text direction is not inherited.
+                                "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
+                                    # inherited from the parent.
+                                  "magnitude": 3.14, # The magnitude.
+                                  "unit": "A String", # The units for magnitude.
+                                },
+                                "lineSpacing": 3.14, # The amount of space between lines, as a percentage of normal, where normal
+                                    # is represented as 100.0. If unset, the value is inherited from the parent.
+                                "indentStart": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
+                                    # the start of the text, based on the current text direction. If unset, the
+                                    # value is inherited from the parent.
+                                  "magnitude": 3.14, # The magnitude.
+                                  "unit": "A String", # The units for magnitude.
+                                },
+                                "spaceAbove": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
+                                    # inherited from the parent.
+                                  "magnitude": 3.14, # The magnitude.
+                                  "unit": "A String", # The units for magnitude.
+                                },
+                                "indentEnd": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
+                                    # the end of the text, based on the current text direction. If unset, the
+                                    # value is inherited from the parent.
+                                  "magnitude": 3.14, # The magnitude.
+                                  "unit": "A String", # The units for magnitude.
+                                },
+                                "indentFirstLine": { # A magnitude in a single direction in the specified units. # The amount of indentation for the start of the first line of the paragraph.
+                                    # If unset, the value is inherited from the parent.
+                                  "magnitude": 3.14, # The magnitude.
+                                  "unit": "A String", # The units for magnitude.
+                                },
+                                "alignment": "A String", # The text alignment for this paragraph.
+                              },
+                              "bullet": { # Describes the bullet of a paragraph. # The bullet for this paragraph. If not present, the paragraph does not
+                                  # belong to a list.
+                                "nestingLevel": 42, # The nesting level of this paragraph in the list.
+                                "listId": "A String", # The ID of the list this paragraph belongs to.
+                                "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The paragraph specific text style applied to this bullet.
+                                    #
+                                    # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                                    # inherited from the parent. Which text styles are inherited depend on the
+                                    # nesting level of lists:
+                                    #
+                                    # * A text run in a paragraph that is not in a list will inherit its text style
+                                    #   from the the newline character in the paragraph at the 0 nesting level of
+                                    #   the list inside the parent placeholder.
+                                    # * A text run in a paragraph that is in a list will inherit its text style
+                                    #   from the newline character in the paragraph at its corresponding nesting
+                                    #   level of the list inside the parent placeholder.
+                                    #
+                                    # Inherited text styles are represented as unset fields in this message. If
+                                    # text is contained in a shape without a parent placeholder, unsetting these
+                                    # fields will revert the style to a value matching the defaults in the Slides
+                                    # editor.
+                                  "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                                      # transparent, depending on if the `opaque_color` field in it is set.
+                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                        # a transparent color.
+                                      "themeColor": "A String", # An opaque theme color.
+                                      "rgbColor": { # An RGB color. # An opaque RGB color.
+                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                      },
+                                    },
+                                  },
+                                  "bold": True or False, # Whether or not the text is rendered as bold.
+                                  "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                                      #
+                                      # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                                      # rendered in a smaller font size, computed based on the `font_size` field.
+                                      # The `font_size` itself is not affected by changes in this field.
+                                  "strikethrough": True or False, # Whether or not the text is struck through.
+                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                                      #
+                                      # This field is an extension of `font_family` meant to support explicit font
+                                      # weights without breaking backwards compatibility. As such, when reading the
+                                      # style of a range of text, the value of `weighted_font_family#font_family`
+                                      # will always be equal to that of `font_family`. However, when writing, if
+                                      # both fields are included in the field mask (either explicitly or through
+                                      # the wildcard `"*"`), their values are reconciled as follows:
+                                      #
+                                      # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                      #   `font_family` is applied with weight `400` ("normal").
+                                      # * If both fields are set, the value of `font_family` must match that of
+                                      #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                      #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                      #   returned.
+                                      # * If `weighted_font_family` is set and `font_family` is not, the font
+                                      #   family and weight of `weighted_font_family` is applied.
+                                      # * If neither field is set, the font family and weight of the text inherit
+                                      #   from the parent. Note that these properties cannot inherit separately
+                                      #   from each other.
+                                      #
+                                      # If an update request specifies values for both `weighted_font_family` and
+                                      # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                      #
+                                      # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                      #
+                                      # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                      # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                      # is returned.
+                                    "fontFamily": "A String", # The font family of the text.
+                                        #
+                                        # The font family can be any font from the Font menu in Slides or from
+                                        # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                        # unrecognized, the text is rendered in `Arial`.
+                                    "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                                        # multiple of `100` between `100` and `900`, inclusive. This range
+                                        # corresponds to the numerical values described in the CSS 2.1
+                                        # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                        # with non-numerical values disallowed. Weights greater than or equal to
+                                        # `700` are considered bold, and weights less than `700`are not bold. The
+                                        # default value is `400` ("normal").
+                                  },
+                                  "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                                  "fontFamily": "A String", # The font family of the text.
+                                      #
+                                      # The font family can be any font from the Font menu in Slides or from
+                                      # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                      # unrecognized, the text is rendered in `Arial`.
+                                      #
+                                      # Some fonts can affect the weight of the text. If an update request
+                                      # specifies values for both `font_family` and `bold`, the explicitly-set
+                                      # `bold` value is used.
+                                  "italic": True or False, # Whether or not the text is italicized.
+                                  "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                                      # are not inherited from parent text.
+                                      #
+                                      # Changing the link in an update request causes some other changes to the
+                                      # text style of the range:
+                                      #
+                                      # * When setting a link, the text foreground color will be set to
+                                      #   ThemeColorType.HYPERLINK and the text will
+                                      #   be underlined. If these fields are modified in the same
+                                      #   request, those values will be used instead of the link defaults.
+                                      # * Setting a link on a text range that overlaps with an existing link will
+                                      #   also update the existing link to point to the new URL.
+                                      # * Links are not settable on newline characters. As a result, setting a link
+                                      #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                                      #   will separate the newline character(s) into their own text runs. The
+                                      #   link will be applied separately to the runs before and after the newline.
+                                      # * Removing a link will update the text style of the range to match the
+                                      #   style of the preceding text (or the default text styles if the preceding
+                                      #   text is another link) unless different styles are being set in the same
+                                      #   request.
+                                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                                        # in the presentation. There may not be a slide at this index.
+                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                        # presentation with this ID. A page with this ID may not exist.
+                                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                                        # addressed by its position.
+                                  },
+                                  "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                                      # transparent, depending on if the `opaque_color` field in it is set.
+                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                        # a transparent color.
+                                      "themeColor": "A String", # An opaque theme color.
+                                      "rgbColor": { # An RGB color. # An opaque RGB color.
+                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                      },
+                                    },
+                                  },
+                                  "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                                      # points.
+                                    "magnitude": 3.14, # The magnitude.
+                                    "unit": "A String", # The units for magnitude.
+                                  },
+                                  "underline": True or False, # Whether or not the text is underlined.
+                                },
+                                "glyph": "A String", # The rendered bullet glyph for this paragraph.
+                              },
+                            },
+                            "textRun": { # A TextElement kind that represents a run of text that all has the same # A TextElement representing a run of text where all of the characters
+                                # in the run have the same TextStyle.
+                                #
+                                # The `start_index` and `end_index` of TextRuns will always be fully
+                                # contained in the index range of a single `paragraph_marker` TextElement.
+                                # In other words, a TextRun will never span multiple paragraphs.
+                                # styling.
+                              "content": "A String", # The text of this run.
+                              "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this run.
+                                  #
+                                  # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                                  # inherited from the parent. Which text styles are inherited depend on the
+                                  # nesting level of lists:
+                                  #
+                                  # * A text run in a paragraph that is not in a list will inherit its text style
+                                  #   from the the newline character in the paragraph at the 0 nesting level of
+                                  #   the list inside the parent placeholder.
+                                  # * A text run in a paragraph that is in a list will inherit its text style
+                                  #   from the newline character in the paragraph at its corresponding nesting
+                                  #   level of the list inside the parent placeholder.
+                                  #
+                                  # Inherited text styles are represented as unset fields in this message. If
+                                  # text is contained in a shape without a parent placeholder, unsetting these
+                                  # fields will revert the style to a value matching the defaults in the Slides
+                                  # editor.
+                                "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                                    # transparent, depending on if the `opaque_color` field in it is set.
+                                  "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                      # a transparent color.
+                                    "themeColor": "A String", # An opaque theme color.
+                                    "rgbColor": { # An RGB color. # An opaque RGB color.
+                                      "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                      "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                      "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                    },
+                                  },
+                                },
+                                "bold": True or False, # Whether or not the text is rendered as bold.
+                                "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                                    #
+                                    # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                                    # rendered in a smaller font size, computed based on the `font_size` field.
+                                    # The `font_size` itself is not affected by changes in this field.
+                                "strikethrough": True or False, # Whether or not the text is struck through.
+                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                                    #
+                                    # This field is an extension of `font_family` meant to support explicit font
+                                    # weights without breaking backwards compatibility. As such, when reading the
+                                    # style of a range of text, the value of `weighted_font_family#font_family`
+                                    # will always be equal to that of `font_family`. However, when writing, if
+                                    # both fields are included in the field mask (either explicitly or through
+                                    # the wildcard `"*"`), their values are reconciled as follows:
+                                    #
+                                    # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                    #   `font_family` is applied with weight `400` ("normal").
+                                    # * If both fields are set, the value of `font_family` must match that of
+                                    #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                    #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                    #   returned.
+                                    # * If `weighted_font_family` is set and `font_family` is not, the font
+                                    #   family and weight of `weighted_font_family` is applied.
+                                    # * If neither field is set, the font family and weight of the text inherit
+                                    #   from the parent. Note that these properties cannot inherit separately
+                                    #   from each other.
+                                    #
+                                    # If an update request specifies values for both `weighted_font_family` and
+                                    # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                    #
+                                    # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                    #
+                                    # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                    # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                    # is returned.
+                                  "fontFamily": "A String", # The font family of the text.
+                                      #
+                                      # The font family can be any font from the Font menu in Slides or from
+                                      # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                      # unrecognized, the text is rendered in `Arial`.
+                                  "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                                      # multiple of `100` between `100` and `900`, inclusive. This range
+                                      # corresponds to the numerical values described in the CSS 2.1
+                                      # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                      # with non-numerical values disallowed. Weights greater than or equal to
+                                      # `700` are considered bold, and weights less than `700`are not bold. The
+                                      # default value is `400` ("normal").
+                                },
+                                "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                                "fontFamily": "A String", # The font family of the text.
+                                    #
+                                    # The font family can be any font from the Font menu in Slides or from
+                                    # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                    # unrecognized, the text is rendered in `Arial`.
+                                    #
+                                    # Some fonts can affect the weight of the text. If an update request
+                                    # specifies values for both `font_family` and `bold`, the explicitly-set
+                                    # `bold` value is used.
+                                "italic": True or False, # Whether or not the text is italicized.
+                                "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                                    # are not inherited from parent text.
+                                    #
+                                    # Changing the link in an update request causes some other changes to the
+                                    # text style of the range:
+                                    #
+                                    # * When setting a link, the text foreground color will be set to
+                                    #   ThemeColorType.HYPERLINK and the text will
+                                    #   be underlined. If these fields are modified in the same
+                                    #   request, those values will be used instead of the link defaults.
+                                    # * Setting a link on a text range that overlaps with an existing link will
+                                    #   also update the existing link to point to the new URL.
+                                    # * Links are not settable on newline characters. As a result, setting a link
+                                    #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                                    #   will separate the newline character(s) into their own text runs. The
+                                    #   link will be applied separately to the runs before and after the newline.
+                                    # * Removing a link will update the text style of the range to match the
+                                    #   style of the preceding text (or the default text styles if the preceding
+                                    #   text is another link) unless different styles are being set in the same
+                                    #   request.
+                                  "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                                  "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                                      # in the presentation. There may not be a slide at this index.
+                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                      # presentation with this ID. A page with this ID may not exist.
+                                  "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                                      # addressed by its position.
+                                },
+                                "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                                    # transparent, depending on if the `opaque_color` field in it is set.
+                                  "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                      # a transparent color.
+                                    "themeColor": "A String", # An opaque theme color.
+                                    "rgbColor": { # An RGB color. # An opaque RGB color.
+                                      "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                      "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                      "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                    },
+                                  },
+                                },
+                                "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                                    # points.
+                                  "magnitude": 3.14, # The magnitude.
+                                  "unit": "A String", # The units for magnitude.
+                                },
+                                "underline": True or False, # Whether or not the text is underlined.
+                              },
+                            },
+                          },
+                        ],
+                      },
+                      "tableCellProperties": { # The properties of the TableCell. # The properties of the table cell.
+                        "tableCellBackgroundFill": { # The table cell background fill. # The background fill of the table cell. The default fill matches the fill
+                            # for newly created table cells in the Slides editor.
+                          "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                              # specified color value.
+                              #
+                              # If any field is unset, its value may be inherited from a parent placeholder
+                              # if it exists.
+                            "color": { # A themeable solid color value. # The color value of the solid fill.
+                              "themeColor": "A String", # An opaque theme color.
+                              "rgbColor": { # An RGB color. # An opaque RGB color.
+                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                              },
+                            },
+                            "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                                # That is, the final pixel color is defined by the equation:
+                                #
+                                #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                                #
+                                # This means that a value of 1.0 corresponds to a solid color, whereas
+                                # a value of 0.0 corresponds to a completely transparent color.
+                          },
+                          "propertyState": "A String", # The background fill property state.
+                              #
+                              # Updating the the fill on a table cell will implicitly update this field
+                              # to `RENDERED`, unless another value is specified in the same request. To
+                              # have no fill on a table cell, set this field to `NOT_RENDERED`. In this
+                              # case, any other fill fields set in the same request will be ignored.
+                        },
+                      },
+                      "rowSpan": 42, # Row span of the cell.
+                      "columnSpan": 42, # Column span of the cell.
+                      "location": { # A location of a single table cell within a table. # The location of the cell within the table.
+                        "rowIndex": 42, # The 0-based row index.
+                        "columnIndex": 42, # The 0-based column index.
+                      },
+                    },
+                  ],
+                  "rowHeight": { # A magnitude in a single direction in the specified units. # Height of a row.
+                    "magnitude": 3.14, # The magnitude.
+                    "unit": "A String", # The units for magnitude.
+                  },
+                },
+              ],
+              "rows": 42, # Number of rows in the table.
+              "columns": 42, # Number of columns in the table.
+            },
+            "line": { # A PageElement kind representing a # A line page element.
+                # line, curved connector, or bent connector.
+              "lineProperties": { # The properties of the Line. # The properties of the line.
+                  #
+                  # When unset, these fields default to values that match the appearance of
+                  # new lines created in the Slides editor.
+                "dashStyle": "A String", # The dash style of the line.
+                "weight": { # A magnitude in a single direction in the specified units. # The thickness of the line.
+                  "magnitude": 3.14, # The magnitude.
+                  "unit": "A String", # The units for magnitude.
+                },
+                "endArrow": "A String", # The style of the arrow at the end of the line.
+                "link": { # A hypertext link. # The hyperlink destination of the line. If unset, there is no link.
+                  "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                  "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                      # in the presentation. There may not be a slide at this index.
+                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                      # presentation with this ID. A page with this ID may not exist.
+                  "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                      # addressed by its position.
+                },
+                "lineFill": { # The fill of the line. # The fill of the line. The default line fill matches the defaults for new
+                    # lines created in the Slides editor.
+                  "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                      # specified color value.
+                      #
+                      # If any field is unset, its value may be inherited from a parent placeholder
+                      # if it exists.
+                    "color": { # A themeable solid color value. # The color value of the solid fill.
+                      "themeColor": "A String", # An opaque theme color.
+                      "rgbColor": { # An RGB color. # An opaque RGB color.
+                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                      },
+                    },
+                    "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                        # That is, the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color.
+                  },
+                },
+                "startArrow": "A String", # The style of the arrow at the beginning of the line.
+              },
+              "lineType": "A String", # The type of the line.
+            },
+            "size": { # A width and height. # The size of the page element.
+              "width": { # A magnitude in a single direction in the specified units. # The width of the object.
+                "magnitude": 3.14, # The magnitude.
+                "unit": "A String", # The units for magnitude.
+              },
+              "height": { # A magnitude in a single direction in the specified units. # The height of the object.
+                "magnitude": 3.14, # The magnitude.
+                "unit": "A String", # The units for magnitude.
+              },
+            },
+          },
+        ],
+        "notesProperties": { # The properties of Page that are only # Notes specific properties. Only set if page_type = NOTES.
+            # relevant for pages with page_type NOTES.
+          "speakerNotesObjectId": "A String", # The object ID of the shape on this notes page that contains the speaker
+              # notes for the corresponding slide.
+              # The actual shape may not always exist on the notes page. Inserting text
+              # using this object ID will automatically create the shape. In this case, the
+              # actual shape may have different object ID. The `GetPresentation` or
+              # `GetPage` action will always return the latest object ID.
+        },
+        "objectId": "A String", # The object ID for this page. Object IDs used by
+            # Page and
+            # PageElement share the same namespace.
+        "revisionId": "A String", # The revision ID of the presentation containing this page. Can be used in
+            # update requests to assert that the presentation revision hasn't changed
+            # since the last read operation. Only populated if the user has edit access
+            # to the presentation.
+            #
+            # The format of the revision ID may change over time, so it should be treated
+            # opaquely. A returned revision ID is only guaranteed to be valid for 24
+            # hours after it has been returned and cannot be shared across users. If the
+            # revision ID is unchanged between calls, then the presentation has not
+            # changed. Conversely, a changed ID (for the same presentation and user)
+            # usually means the presentation has been updated; however, a changed ID can
+            # also be due to internal factors such as ID format changes.
         "pageProperties": { # The properties of the Page. # The properties of the page.
             #
             # The page will inherit properties from the parent page. Depending on the page
@@ -7965,10 +8520,10 @@
                 },
                 "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                      # presentation with this ID. A page with this ID may not exist.
                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                       # in the presentation. There may not be a slide at this index.
+                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                      # presentation with this ID. A page with this ID may not exist.
                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                       # addressed by its position.
                 },
@@ -7999,17 +8554,17 @@
                   "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
                       # the right of the original bounding rectangle left edge, relative to the
                       # object's original width.
-                  "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                      # below the original bounding rectangle top edge, relative to the object's
-                      # original height.
-                  "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                      # above the original bounding rectangle bottom edge, relative to the object's
-                      # original height.
                   "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
                       # Rotation angle is applied after the offset.
                   "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
                       # to the left of the original bounding rectangle right edge, relative to the
                       # object's original width.
+                  "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                      # above the original bounding rectangle bottom edge, relative to the object's
+                      # original height.
+                  "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                      # below the original bounding rectangle top edge, relative to the object's
+                      # original height.
                 },
                 "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
                     # is read-only.
@@ -8139,26 +8694,47 @@
                               # rendered in a smaller font size, computed based on the `font_size` field.
                               # The `font_size` itself is not affected by changes in this field.
                           "strikethrough": True or False, # Whether or not the text is struck through.
-                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                              # read-only.
+                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                               #
                               # This field is an extension of `font_family` meant to support explicit font
                               # weights without breaking backwards compatibility. As such, when reading the
-                              # style of a range of text, the value of `weighted_font_family.font_family`
-                              # will always be equal to that of `font_family`.
+                              # style of a range of text, the value of `weighted_font_family#font_family`
+                              # will always be equal to that of `font_family`. However, when writing, if
+                              # both fields are included in the field mask (either explicitly or through
+                              # the wildcard `"*"`), their values are reconciled as follows:
+                              #
+                              # * If `font_family` is set and `weighted_font_family` is not, the value of
+                              #   `font_family` is applied with weight `400` ("normal").
+                              # * If both fields are set, the value of `font_family` must match that of
+                              #   `weighted_font_family#font_family`. If so, the font family and weight of
+                              #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                              #   returned.
+                              # * If `weighted_font_family` is set and `font_family` is not, the font
+                              #   family and weight of `weighted_font_family` is applied.
+                              # * If neither field is set, the font family and weight of the text inherit
+                              #   from the parent. Note that these properties cannot inherit separately
+                              #   from each other.
+                              #
+                              # If an update request specifies values for both `weighted_font_family` and
+                              # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                              #
+                              # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                              #
+                              # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                              # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                              # is returned.
                             "fontFamily": "A String", # The font family of the text.
                                 #
                                 # The font family can be any font from the Font menu in Slides or from
                                 # [Google Fonts] (https://fonts.google.com/). If the font name is
                                 # unrecognized, the text is rendered in `Arial`.
                             "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                # only the numerical values described in the "Cascading Style Sheets Level
-                                # 2 Revision 1 (CSS 2.1) Specification",
-                                # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                # non-numerical values in the specification are disallowed. Weights greater
-                                # than or equal to 700 are considered bold, and weights less than 700 are
-                                # not bold. The default value is `400` ("normal").
+                                # multiple of `100` between `100` and `900`, inclusive. This range
+                                # corresponds to the numerical values described in the CSS 2.1
+                                # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                # with non-numerical values disallowed. Weights greater than or equal to
+                                # `700` are considered bold, and weights less than `700`are not bold. The
+                                # default value is `400` ("normal").
                           },
                           "smallCaps": True or False, # Whether or not the text is in small capital letters.
                           "fontFamily": "A String", # The font family of the text.
@@ -8192,10 +8768,10 @@
                               #   text is another link) unless different styles are being set in the same
                               #   request.
                             "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                # presentation with this ID. A page with this ID may not exist.
                             "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                 # in the presentation. There may not be a slide at this index.
+                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                # presentation with this ID. A page with this ID may not exist.
                             "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                 # addressed by its position.
                           },
@@ -8266,26 +8842,47 @@
                             # rendered in a smaller font size, computed based on the `font_size` field.
                             # The `font_size` itself is not affected by changes in this field.
                         "strikethrough": True or False, # Whether or not the text is struck through.
-                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                            # read-only.
+                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                             #
                             # This field is an extension of `font_family` meant to support explicit font
                             # weights without breaking backwards compatibility. As such, when reading the
-                            # style of a range of text, the value of `weighted_font_family.font_family`
-                            # will always be equal to that of `font_family`.
+                            # style of a range of text, the value of `weighted_font_family#font_family`
+                            # will always be equal to that of `font_family`. However, when writing, if
+                            # both fields are included in the field mask (either explicitly or through
+                            # the wildcard `"*"`), their values are reconciled as follows:
+                            #
+                            # * If `font_family` is set and `weighted_font_family` is not, the value of
+                            #   `font_family` is applied with weight `400` ("normal").
+                            # * If both fields are set, the value of `font_family` must match that of
+                            #   `weighted_font_family#font_family`. If so, the font family and weight of
+                            #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                            #   returned.
+                            # * If `weighted_font_family` is set and `font_family` is not, the font
+                            #   family and weight of `weighted_font_family` is applied.
+                            # * If neither field is set, the font family and weight of the text inherit
+                            #   from the parent. Note that these properties cannot inherit separately
+                            #   from each other.
+                            #
+                            # If an update request specifies values for both `weighted_font_family` and
+                            # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                            #
+                            # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                            #
+                            # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                            # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                            # is returned.
                           "fontFamily": "A String", # The font family of the text.
                               #
                               # The font family can be any font from the Font menu in Slides or from
                               # [Google Fonts] (https://fonts.google.com/). If the font name is
                               # unrecognized, the text is rendered in `Arial`.
                           "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                              # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                              # only the numerical values described in the "Cascading Style Sheets Level
-                              # 2 Revision 1 (CSS 2.1) Specification",
-                              # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                              # non-numerical values in the specification are disallowed. Weights greater
-                              # than or equal to 700 are considered bold, and weights less than 700 are
-                              # not bold. The default value is `400` ("normal").
+                              # multiple of `100` between `100` and `900`, inclusive. This range
+                              # corresponds to the numerical values described in the CSS 2.1
+                              # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                              # with non-numerical values disallowed. Weights greater than or equal to
+                              # `700` are considered bold, and weights less than `700`are not bold. The
+                              # default value is `400` ("normal").
                         },
                         "smallCaps": True or False, # Whether or not the text is in small capital letters.
                         "fontFamily": "A String", # The font family of the text.
@@ -8319,10 +8916,10 @@
                             #   text is another link) unless different styles are being set in the same
                             #   request.
                           "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                              # presentation with this ID. A page with this ID may not exist.
                           "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                               # in the presentation. There may not be a slide at this index.
+                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                              # presentation with this ID. A page with this ID may not exist.
                           "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                               # addressed by its position.
                         },
@@ -8372,8 +8969,8 @@
                           # Inherited paragraph styles are represented as unset fields in this message.
                         "spacingMode": "A String", # The spacing mode for the paragraph.
                         "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                            # LEFT_TO_RIGHT
-                            # since text direction is not inherited.
+                            # LEFT_TO_RIGHT since
+                            # text direction is not inherited.
                         "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
                             # inherited from the parent.
                           "magnitude": 3.14, # The magnitude.
@@ -8445,26 +9042,47 @@
                               # rendered in a smaller font size, computed based on the `font_size` field.
                               # The `font_size` itself is not affected by changes in this field.
                           "strikethrough": True or False, # Whether or not the text is struck through.
-                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                              # read-only.
+                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                               #
                               # This field is an extension of `font_family` meant to support explicit font
                               # weights without breaking backwards compatibility. As such, when reading the
-                              # style of a range of text, the value of `weighted_font_family.font_family`
-                              # will always be equal to that of `font_family`.
+                              # style of a range of text, the value of `weighted_font_family#font_family`
+                              # will always be equal to that of `font_family`. However, when writing, if
+                              # both fields are included in the field mask (either explicitly or through
+                              # the wildcard `"*"`), their values are reconciled as follows:
+                              #
+                              # * If `font_family` is set and `weighted_font_family` is not, the value of
+                              #   `font_family` is applied with weight `400` ("normal").
+                              # * If both fields are set, the value of `font_family` must match that of
+                              #   `weighted_font_family#font_family`. If so, the font family and weight of
+                              #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                              #   returned.
+                              # * If `weighted_font_family` is set and `font_family` is not, the font
+                              #   family and weight of `weighted_font_family` is applied.
+                              # * If neither field is set, the font family and weight of the text inherit
+                              #   from the parent. Note that these properties cannot inherit separately
+                              #   from each other.
+                              #
+                              # If an update request specifies values for both `weighted_font_family` and
+                              # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                              #
+                              # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                              #
+                              # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                              # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                              # is returned.
                             "fontFamily": "A String", # The font family of the text.
                                 #
                                 # The font family can be any font from the Font menu in Slides or from
                                 # [Google Fonts] (https://fonts.google.com/). If the font name is
                                 # unrecognized, the text is rendered in `Arial`.
                             "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                # only the numerical values described in the "Cascading Style Sheets Level
-                                # 2 Revision 1 (CSS 2.1) Specification",
-                                # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                # non-numerical values in the specification are disallowed. Weights greater
-                                # than or equal to 700 are considered bold, and weights less than 700 are
-                                # not bold. The default value is `400` ("normal").
+                                # multiple of `100` between `100` and `900`, inclusive. This range
+                                # corresponds to the numerical values described in the CSS 2.1
+                                # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                # with non-numerical values disallowed. Weights greater than or equal to
+                                # `700` are considered bold, and weights less than `700`are not bold. The
+                                # default value is `400` ("normal").
                           },
                           "smallCaps": True or False, # Whether or not the text is in small capital letters.
                           "fontFamily": "A String", # The font family of the text.
@@ -8498,10 +9116,10 @@
                               #   text is another link) unless different styles are being set in the same
                               #   request.
                             "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                # presentation with this ID. A page with this ID may not exist.
                             "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                 # in the presentation. There may not be a slide at this index.
+                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                # presentation with this ID. A page with this ID may not exist.
                             "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                 # addressed by its position.
                           },
@@ -8571,26 +9189,47 @@
                             # rendered in a smaller font size, computed based on the `font_size` field.
                             # The `font_size` itself is not affected by changes in this field.
                         "strikethrough": True or False, # Whether or not the text is struck through.
-                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                            # read-only.
+                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                             #
                             # This field is an extension of `font_family` meant to support explicit font
                             # weights without breaking backwards compatibility. As such, when reading the
-                            # style of a range of text, the value of `weighted_font_family.font_family`
-                            # will always be equal to that of `font_family`.
+                            # style of a range of text, the value of `weighted_font_family#font_family`
+                            # will always be equal to that of `font_family`. However, when writing, if
+                            # both fields are included in the field mask (either explicitly or through
+                            # the wildcard `"*"`), their values are reconciled as follows:
+                            #
+                            # * If `font_family` is set and `weighted_font_family` is not, the value of
+                            #   `font_family` is applied with weight `400` ("normal").
+                            # * If both fields are set, the value of `font_family` must match that of
+                            #   `weighted_font_family#font_family`. If so, the font family and weight of
+                            #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                            #   returned.
+                            # * If `weighted_font_family` is set and `font_family` is not, the font
+                            #   family and weight of `weighted_font_family` is applied.
+                            # * If neither field is set, the font family and weight of the text inherit
+                            #   from the parent. Note that these properties cannot inherit separately
+                            #   from each other.
+                            #
+                            # If an update request specifies values for both `weighted_font_family` and
+                            # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                            #
+                            # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                            #
+                            # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                            # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                            # is returned.
                           "fontFamily": "A String", # The font family of the text.
                               #
                               # The font family can be any font from the Font menu in Slides or from
                               # [Google Fonts] (https://fonts.google.com/). If the font name is
                               # unrecognized, the text is rendered in `Arial`.
                           "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                              # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                              # only the numerical values described in the "Cascading Style Sheets Level
-                              # 2 Revision 1 (CSS 2.1) Specification",
-                              # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                              # non-numerical values in the specification are disallowed. Weights greater
-                              # than or equal to 700 are considered bold, and weights less than 700 are
-                              # not bold. The default value is `400` ("normal").
+                              # multiple of `100` between `100` and `900`, inclusive. This range
+                              # corresponds to the numerical values described in the CSS 2.1
+                              # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                              # with non-numerical values disallowed. Weights greater than or equal to
+                              # `700` are considered bold, and weights less than `700`are not bold. The
+                              # default value is `400` ("normal").
                         },
                         "smallCaps": True or False, # Whether or not the text is in small capital letters.
                         "fontFamily": "A String", # The font family of the text.
@@ -8624,10 +9263,10 @@
                             #   text is another link) unless different styles are being set in the same
                             #   request.
                           "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                              # presentation with this ID. A page with this ID may not exist.
                           "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                               # in the presentation. There may not be a slide at this index.
+                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                              # presentation with this ID. A page with this ID may not exist.
                           "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                               # addressed by its position.
                         },
@@ -8752,10 +9391,10 @@
                 "link": { # A hypertext link. # The hyperlink destination of the shape. If unset, there is no link. Links
                     # are not inherited from parent placeholders.
                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                      # presentation with this ID. A page with this ID may not exist.
                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                       # in the presentation. There may not be a slide at this index.
+                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                      # presentation with this ID. A page with this ID may not exist.
                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                       # addressed by its position.
                 },
@@ -8814,8 +9453,8 @@
                 "parentObjectId": "A String", # The object ID of this shape's parent placeholder.
                     # If unset, the parent placeholder shape does not exist, so the shape does
                     # not inherit properties from any other shape.
-                "index": 42, # The index of the placeholder. If the same placeholder types are the present
-                    # in the same page, they would have different index values.
+                "index": 42, # The index of the placeholder. If the same placeholder types are present in
+                    # the same page, they would have different index values.
                 "type": "A String", # The type of the placeholder.
               },
               "shapeType": "A String", # The type of the shape.
@@ -8823,12 +9462,11 @@
             "sheetsChart": { # A PageElement kind representing # A linked chart embedded from Google Sheets. Unlinked charts are
                 # represented as images.
                 # a linked chart embedded from Google Sheets.
-              "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
-                  # embedded.
               "contentUrl": "A String", # The URL of an image of the embedded chart, with a default lifetime of 30
                   # minutes. This URL is tagged with the account of the requester. Anyone with
                   # the URL effectively accesses the image as the original requester. Access to
                   # the image may be lost if the presentation's sharing settings change.
+              "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
               "sheetsChartProperties": { # The properties of the SheetsChart. # The properties of the Sheets chart.
                 "chartImageProperties": { # The properties of the Image. # The properties of the embedded chart image.
                   "outline": { # The outline of a PageElement. # The outline of the image. If not set, the the image has no outline.
@@ -8906,10 +9544,10 @@
                   },
                   "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                         # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                         # addressed by its position.
                   },
@@ -8940,17 +9578,17 @@
                     "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
                         # the right of the original bounding rectangle left edge, relative to the
                         # object's original width.
-                    "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                        # below the original bounding rectangle top edge, relative to the object's
-                        # original height.
-                    "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                        # above the original bounding rectangle bottom edge, relative to the object's
-                        # original height.
                     "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
                         # Rotation angle is applied after the offset.
                     "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
                         # to the left of the original bounding rectangle right edge, relative to the
                         # object's original width.
+                    "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                        # above the original bounding rectangle bottom edge, relative to the object's
+                        # original height.
+                    "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                        # below the original bounding rectangle top edge, relative to the object's
+                        # original height.
                   },
                   "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
                       # is read-only.
@@ -9010,14 +9648,13 @@
                       # [-1.0, 1.0], where 0 means no effect. This property is read-only.
                 },
               },
-              "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
+              "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
+                  # embedded.
             },
             "video": { # A PageElement kind representing a # A video page element.
                 # video.
               "url": "A String", # An URL to a video. The URL is valid as long as the source video
                   # exists and sharing settings do not change.
-              "source": "A String", # The video source.
-              "id": "A String", # The video source's unique identifier for this video.
               "videoProperties": { # The properties of the Video. # The properties of the video.
                 "outline": { # The outline of a PageElement. # The outline of the video. The default outline matches the defaults for new
                     # videos created in the Slides editor.
@@ -9063,6 +9700,8 @@
                   },
                 },
               },
+              "id": "A String", # The video source's unique identifier for this video.
+              "source": "A String", # The video source.
             },
             "elementGroup": { # A PageElement kind representing a # A collection of page elements joined as a single unit.
                 # joined collection of PageElements.
@@ -9140,26 +9779,47 @@
                                       # rendered in a smaller font size, computed based on the `font_size` field.
                                       # The `font_size` itself is not affected by changes in this field.
                                   "strikethrough": True or False, # Whether or not the text is struck through.
-                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                      # read-only.
+                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                       #
                                       # This field is an extension of `font_family` meant to support explicit font
                                       # weights without breaking backwards compatibility. As such, when reading the
-                                      # style of a range of text, the value of `weighted_font_family.font_family`
-                                      # will always be equal to that of `font_family`.
+                                      # style of a range of text, the value of `weighted_font_family#font_family`
+                                      # will always be equal to that of `font_family`. However, when writing, if
+                                      # both fields are included in the field mask (either explicitly or through
+                                      # the wildcard `"*"`), their values are reconciled as follows:
+                                      #
+                                      # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                      #   `font_family` is applied with weight `400` ("normal").
+                                      # * If both fields are set, the value of `font_family` must match that of
+                                      #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                      #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                      #   returned.
+                                      # * If `weighted_font_family` is set and `font_family` is not, the font
+                                      #   family and weight of `weighted_font_family` is applied.
+                                      # * If neither field is set, the font family and weight of the text inherit
+                                      #   from the parent. Note that these properties cannot inherit separately
+                                      #   from each other.
+                                      #
+                                      # If an update request specifies values for both `weighted_font_family` and
+                                      # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                      #
+                                      # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                      #
+                                      # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                      # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                      # is returned.
                                     "fontFamily": "A String", # The font family of the text.
                                         #
                                         # The font family can be any font from the Font menu in Slides or from
                                         # [Google Fonts] (https://fonts.google.com/). If the font name is
                                         # unrecognized, the text is rendered in `Arial`.
                                     "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                        # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                        # only the numerical values described in the "Cascading Style Sheets Level
-                                        # 2 Revision 1 (CSS 2.1) Specification",
-                                        # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                        # non-numerical values in the specification are disallowed. Weights greater
-                                        # than or equal to 700 are considered bold, and weights less than 700 are
-                                        # not bold. The default value is `400` ("normal").
+                                        # multiple of `100` between `100` and `900`, inclusive. This range
+                                        # corresponds to the numerical values described in the CSS 2.1
+                                        # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                        # with non-numerical values disallowed. Weights greater than or equal to
+                                        # `700` are considered bold, and weights less than `700`are not bold. The
+                                        # default value is `400` ("normal").
                                   },
                                   "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                   "fontFamily": "A String", # The font family of the text.
@@ -9193,10 +9853,10 @@
                                       #   text is another link) unless different styles are being set in the same
                                       #   request.
                                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                        # presentation with this ID. A page with this ID may not exist.
                                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                         # in the presentation. There may not be a slide at this index.
+                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                        # presentation with this ID. A page with this ID may not exist.
                                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                         # addressed by its position.
                                   },
@@ -9267,26 +9927,47 @@
                                     # rendered in a smaller font size, computed based on the `font_size` field.
                                     # The `font_size` itself is not affected by changes in this field.
                                 "strikethrough": True or False, # Whether or not the text is struck through.
-                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                    # read-only.
+                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                     #
                                     # This field is an extension of `font_family` meant to support explicit font
                                     # weights without breaking backwards compatibility. As such, when reading the
-                                    # style of a range of text, the value of `weighted_font_family.font_family`
-                                    # will always be equal to that of `font_family`.
+                                    # style of a range of text, the value of `weighted_font_family#font_family`
+                                    # will always be equal to that of `font_family`. However, when writing, if
+                                    # both fields are included in the field mask (either explicitly or through
+                                    # the wildcard `"*"`), their values are reconciled as follows:
+                                    #
+                                    # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                    #   `font_family` is applied with weight `400` ("normal").
+                                    # * If both fields are set, the value of `font_family` must match that of
+                                    #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                    #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                    #   returned.
+                                    # * If `weighted_font_family` is set and `font_family` is not, the font
+                                    #   family and weight of `weighted_font_family` is applied.
+                                    # * If neither field is set, the font family and weight of the text inherit
+                                    #   from the parent. Note that these properties cannot inherit separately
+                                    #   from each other.
+                                    #
+                                    # If an update request specifies values for both `weighted_font_family` and
+                                    # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                    #
+                                    # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                    #
+                                    # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                    # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                    # is returned.
                                   "fontFamily": "A String", # The font family of the text.
                                       #
                                       # The font family can be any font from the Font menu in Slides or from
                                       # [Google Fonts] (https://fonts.google.com/). If the font name is
                                       # unrecognized, the text is rendered in `Arial`.
                                   "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                      # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                      # only the numerical values described in the "Cascading Style Sheets Level
-                                      # 2 Revision 1 (CSS 2.1) Specification",
-                                      # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                      # non-numerical values in the specification are disallowed. Weights greater
-                                      # than or equal to 700 are considered bold, and weights less than 700 are
-                                      # not bold. The default value is `400` ("normal").
+                                      # multiple of `100` between `100` and `900`, inclusive. This range
+                                      # corresponds to the numerical values described in the CSS 2.1
+                                      # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                      # with non-numerical values disallowed. Weights greater than or equal to
+                                      # `700` are considered bold, and weights less than `700`are not bold. The
+                                      # default value is `400` ("normal").
                                 },
                                 "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                 "fontFamily": "A String", # The font family of the text.
@@ -9320,10 +10001,10 @@
                                     #   text is another link) unless different styles are being set in the same
                                     #   request.
                                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                      # presentation with this ID. A page with this ID may not exist.
                                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                       # in the presentation. There may not be a slide at this index.
+                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                      # presentation with this ID. A page with this ID may not exist.
                                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                       # addressed by its position.
                                 },
@@ -9373,8 +10054,8 @@
                                   # Inherited paragraph styles are represented as unset fields in this message.
                                 "spacingMode": "A String", # The spacing mode for the paragraph.
                                 "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                                    # LEFT_TO_RIGHT
-                                    # since text direction is not inherited.
+                                    # LEFT_TO_RIGHT since
+                                    # text direction is not inherited.
                                 "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
                                     # inherited from the parent.
                                   "magnitude": 3.14, # The magnitude.
@@ -9446,26 +10127,47 @@
                                       # rendered in a smaller font size, computed based on the `font_size` field.
                                       # The `font_size` itself is not affected by changes in this field.
                                   "strikethrough": True or False, # Whether or not the text is struck through.
-                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                      # read-only.
+                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                       #
                                       # This field is an extension of `font_family` meant to support explicit font
                                       # weights without breaking backwards compatibility. As such, when reading the
-                                      # style of a range of text, the value of `weighted_font_family.font_family`
-                                      # will always be equal to that of `font_family`.
+                                      # style of a range of text, the value of `weighted_font_family#font_family`
+                                      # will always be equal to that of `font_family`. However, when writing, if
+                                      # both fields are included in the field mask (either explicitly or through
+                                      # the wildcard `"*"`), their values are reconciled as follows:
+                                      #
+                                      # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                      #   `font_family` is applied with weight `400` ("normal").
+                                      # * If both fields are set, the value of `font_family` must match that of
+                                      #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                      #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                      #   returned.
+                                      # * If `weighted_font_family` is set and `font_family` is not, the font
+                                      #   family and weight of `weighted_font_family` is applied.
+                                      # * If neither field is set, the font family and weight of the text inherit
+                                      #   from the parent. Note that these properties cannot inherit separately
+                                      #   from each other.
+                                      #
+                                      # If an update request specifies values for both `weighted_font_family` and
+                                      # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                      #
+                                      # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                      #
+                                      # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                      # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                      # is returned.
                                     "fontFamily": "A String", # The font family of the text.
                                         #
                                         # The font family can be any font from the Font menu in Slides or from
                                         # [Google Fonts] (https://fonts.google.com/). If the font name is
                                         # unrecognized, the text is rendered in `Arial`.
                                     "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                        # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                        # only the numerical values described in the "Cascading Style Sheets Level
-                                        # 2 Revision 1 (CSS 2.1) Specification",
-                                        # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                        # non-numerical values in the specification are disallowed. Weights greater
-                                        # than or equal to 700 are considered bold, and weights less than 700 are
-                                        # not bold. The default value is `400` ("normal").
+                                        # multiple of `100` between `100` and `900`, inclusive. This range
+                                        # corresponds to the numerical values described in the CSS 2.1
+                                        # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                        # with non-numerical values disallowed. Weights greater than or equal to
+                                        # `700` are considered bold, and weights less than `700`are not bold. The
+                                        # default value is `400` ("normal").
                                   },
                                   "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                   "fontFamily": "A String", # The font family of the text.
@@ -9499,10 +10201,10 @@
                                       #   text is another link) unless different styles are being set in the same
                                       #   request.
                                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                        # presentation with this ID. A page with this ID may not exist.
                                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                         # in the presentation. There may not be a slide at this index.
+                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                        # presentation with this ID. A page with this ID may not exist.
                                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                         # addressed by its position.
                                   },
@@ -9572,26 +10274,47 @@
                                     # rendered in a smaller font size, computed based on the `font_size` field.
                                     # The `font_size` itself is not affected by changes in this field.
                                 "strikethrough": True or False, # Whether or not the text is struck through.
-                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                    # read-only.
+                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                     #
                                     # This field is an extension of `font_family` meant to support explicit font
                                     # weights without breaking backwards compatibility. As such, when reading the
-                                    # style of a range of text, the value of `weighted_font_family.font_family`
-                                    # will always be equal to that of `font_family`.
+                                    # style of a range of text, the value of `weighted_font_family#font_family`
+                                    # will always be equal to that of `font_family`. However, when writing, if
+                                    # both fields are included in the field mask (either explicitly or through
+                                    # the wildcard `"*"`), their values are reconciled as follows:
+                                    #
+                                    # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                    #   `font_family` is applied with weight `400` ("normal").
+                                    # * If both fields are set, the value of `font_family` must match that of
+                                    #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                    #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                    #   returned.
+                                    # * If `weighted_font_family` is set and `font_family` is not, the font
+                                    #   family and weight of `weighted_font_family` is applied.
+                                    # * If neither field is set, the font family and weight of the text inherit
+                                    #   from the parent. Note that these properties cannot inherit separately
+                                    #   from each other.
+                                    #
+                                    # If an update request specifies values for both `weighted_font_family` and
+                                    # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                    #
+                                    # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                    #
+                                    # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                    # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                    # is returned.
                                   "fontFamily": "A String", # The font family of the text.
                                       #
                                       # The font family can be any font from the Font menu in Slides or from
                                       # [Google Fonts] (https://fonts.google.com/). If the font name is
                                       # unrecognized, the text is rendered in `Arial`.
                                   "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                      # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                      # only the numerical values described in the "Cascading Style Sheets Level
-                                      # 2 Revision 1 (CSS 2.1) Specification",
-                                      # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                      # non-numerical values in the specification are disallowed. Weights greater
-                                      # than or equal to 700 are considered bold, and weights less than 700 are
-                                      # not bold. The default value is `400` ("normal").
+                                      # multiple of `100` between `100` and `900`, inclusive. This range
+                                      # corresponds to the numerical values described in the CSS 2.1
+                                      # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                      # with non-numerical values disallowed. Weights greater than or equal to
+                                      # `700` are considered bold, and weights less than `700`are not bold. The
+                                      # default value is `400` ("normal").
                                 },
                                 "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                 "fontFamily": "A String", # The font family of the text.
@@ -9625,10 +10348,10 @@
                                     #   text is another link) unless different styles are being set in the same
                                     #   request.
                                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                      # presentation with this ID. A page with this ID may not exist.
                                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                       # in the presentation. There may not be a slide at this index.
+                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                      # presentation with this ID. A page with this ID may not exist.
                                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                       # addressed by its position.
                                 },
@@ -9718,10 +10441,10 @@
                 "endArrow": "A String", # The style of the arrow at the end of the line.
                 "link": { # A hypertext link. # The hyperlink destination of the line. If unset, there is no link.
                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                      # presentation with this ID. A page with this ID may not exist.
                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                       # in the presentation. There may not be a slide at this index.
+                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                      # presentation with this ID. A page with this ID may not exist.
                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                       # addressed by its position.
                 },
@@ -9784,9 +10507,11 @@
             #
             # The format of the revision ID may change over time, so it should be treated
             # opaquely. A returned revision ID is only guaranteed to be valid for 24
-            # hours after it has been returned and cannot be shared across
-            # users. Callers can assume that if two revision IDs are equal then the
-            # presentation has not changed.
+            # hours after it has been returned and cannot be shared across users. If the
+            # revision ID is unchanged between calls, then the presentation has not
+            # changed. Conversely, a changed ID (for the same presentation and user)
+            # usually means the presentation has been updated; however, a changed ID can
+            # also be due to internal factors such as ID format changes.
         "pageProperties": { # The properties of the Page. # The properties of the page.
             #
             # The page will inherit properties from the parent page. Depending on the page
@@ -9894,2057 +10619,6 @@
 
     { # A Google Slides presentation.
       "presentationId": "A String", # The ID of the presentation.
-      "masters": [ # The slide masters in the presentation. A slide master contains all common
-          # page elements and the common properties for a set of layouts. They serve
-          # three purposes:
-          #
-          # - Placeholder shapes on a master contain the default text styles and shape
-          #   properties of all placeholder shapes on pages that use that master.
-          # - The master page properties define the common page properties inherited by
-          #   its layouts.
-          # - Any other shapes on the master slide will appear on all slides using that
-          #   master, regardless of their layout.
-        { # A page in a presentation.
-          "layoutProperties": { # The properties of Page are only # Layout specific properties. Only set if page_type = LAYOUT.
-              # relevant for pages with page_type LAYOUT.
-            "displayName": "A String", # The human readable name of the layout in the presentation's locale.
-            "name": "A String", # The name of the layout.
-            "masterObjectId": "A String", # The object ID of the master that this layout is based on.
-          },
-          "pageElements": [ # The page elements rendered on the page.
-            { # A visual element rendered on a page.
-              "wordArt": { # A PageElement kind representing # A word art page element.
-                  # word art.
-                "renderedText": "A String", # The text rendered as word art.
-              },
-              "description": "A String", # The description of the page element. Combined with title to display alt
-                  # text.
-              "objectId": "A String", # The object ID for this page element. Object IDs used by
-                  # google.apps.slides.v1.Page and
-                  # google.apps.slides.v1.PageElement share the same namespace.
-              "title": "A String", # The title of the page element. Combined with description to display alt
-                  # text.
-              "image": { # A PageElement kind representing an # An image page element.
-                  # image.
-                "contentUrl": "A String", # An URL to an image with a default lifetime of 30 minutes.
-                    # This URL is tagged with the account of the requester. Anyone with the URL
-                    # effectively accesses the image as the original requester. Access to the
-                    # image may be lost if the presentation's sharing settings change.
-                "imageProperties": { # The properties of the Image. # The properties of the image.
-                  "outline": { # The outline of a PageElement. # The outline of the image. If not set, the the image has no outline.
-                      #
-                      # If these fields are unset, they may be inherited from a parent placeholder
-                      # if it exists. If there is no parent, the fields will default to the value
-                      # used for new page elements created in the Slides editor, which may depend on
-                      # the page element kind.
-                    "outlineFill": { # The fill of the outline. # The fill of the outline.
-                      "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                          # specified color value.
-                          #
-                          # If any field is unset, its value may be inherited from a parent placeholder
-                          # if it exists.
-                        "color": { # A themeable solid color value. # The color value of the solid fill.
-                          "themeColor": "A String", # An opaque theme color.
-                          "rgbColor": { # An RGB color. # An opaque RGB color.
-                            "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                            "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                            "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                          },
-                        },
-                        "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                            # That is, the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color.
-                      },
-                    },
-                    "propertyState": "A String", # The outline property state.
-                        #
-                        # Updating the the outline on a page element will implicitly update this
-                        # field to`RENDERED`, unless another value is specified in the same request.
-                        # To have no outline on a page element, set this field to `NOT_RENDERED`. In
-                        # this case, any other outline fields set in the same request will be
-                        # ignored.
-                    "dashStyle": "A String", # The dash style of the outline.
-                    "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
-                      "magnitude": 3.14, # The magnitude.
-                      "unit": "A String", # The units for magnitude.
-                    },
-                  },
-                  "brightness": 3.14, # The brightness effect of the image. The value should be in the interval
-                      # [-1.0, 1.0], where 0 means no effect. This property is read-only.
-                  "recolor": { # A recolor effect applied on an image. # The recolor effect of the image. If not set, the image is not recolored.
-                      # This property is read-only.
-                    "recolorStops": [ # The recolor effect is represented by a gradient, which is a list of color
-                        # stops.
-                        #
-                        # The colors in the gradient will replace the corresponding colors at
-                        # the same position in the color palette and apply to the image. This
-                        # property is read-only.
-                      { # A color and position in a gradient band.
-                        "color": { # A themeable solid color value. # The color of the gradient stop.
-                          "themeColor": "A String", # An opaque theme color.
-                          "rgbColor": { # An RGB color. # An opaque RGB color.
-                            "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                            "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                            "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                          },
-                        },
-                        "alpha": 3.14, # The alpha value of this color in the gradient band. Defaults to 1.0,
-                            # fully opaque.
-                        "position": 3.14, # The relative position of the color stop in the gradient band measured
-                            # in percentage. The value should be in the interval [0.0, 1.0].
-                      },
-                    ],
-                    "name": "A String", # The name of the recolor effect.
-                        #
-                        # The name is determined from the `recolor_stops` by matching the gradient
-                        # against the colors in the page's current color scheme. This property is
-                        # read-only.
-                  },
-                  "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
-                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
-                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                        # in the presentation. There may not be a slide at this index.
-                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                        # addressed by its position.
-                  },
-                  "transparency": 3.14, # The transparency effect of the image. The value should be in the interval
-                      # [0.0, 1.0], where 0 means no effect and 1 means completely transparent.
-                      # This property is read-only.
-                  "cropProperties": { # The crop properties of an object enclosed in a container. For example, an # The crop properties of the image. If not set, the image is not cropped.
-                      # This property is read-only.
-                      # Image.
-                      #
-                      # The crop properties is represented by the offsets of four edges which define
-                      # a crop rectangle. The offsets are measured in percentage from the
-                      # corresponding edges of the object's original bounding rectangle towards
-                      # inside, relative to the object's original dimensions.
-                      #
-                      # - If the offset is in the interval (0, 1), the corresponding edge of crop
-                      # rectangle is positioned inside of the object's original bounding rectangle.
-                      # - If the offset is negative or greater than 1, the corresponding edge of crop
-                      # rectangle is positioned outside of the object's original bounding rectangle.
-                      # - If the left edge of the crop rectangle is on the right side of its right
-                      # edge, the object will be flipped horizontally.
-                      # - If the top edge of the crop rectangle is below its bottom edge, the object
-                      # will be flipped vertically.
-                      # - If all offsets and rotation angle is 0, the object is not cropped.
-                      #
-                      # After cropping, the content in the crop rectangle will be stretched to fit
-                      # its container.
-                    "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
-                        # the right of the original bounding rectangle left edge, relative to the
-                        # object's original width.
-                    "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                        # below the original bounding rectangle top edge, relative to the object's
-                        # original height.
-                    "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                        # above the original bounding rectangle bottom edge, relative to the object's
-                        # original height.
-                    "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
-                        # Rotation angle is applied after the offset.
-                    "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
-                        # to the left of the original bounding rectangle right edge, relative to the
-                        # object's original width.
-                  },
-                  "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
-                      # is read-only.
-                      #
-                      # If these fields are unset, they may be inherited from a parent placeholder
-                      # if it exists. If there is no parent, the fields will default to the value
-                      # used for new page elements created in the Slides editor, which may depend on
-                      # the page element kind.
-                    "color": { # A themeable solid color value. # The shadow color value.
-                      "themeColor": "A String", # An opaque theme color.
-                      "rgbColor": { # An RGB color. # An opaque RGB color.
-                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                      },
-                    },
-                    "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # Transform that encodes the translate, scale, and skew of the shadow,
-                        # relative to the alignment position.
-                        # to transform source coordinates (x,y) into destination coordinates (x', y')
-                        # according to:
-                        #
-                        #       x'  x  =   shear_y  scale_y  translate_y
-                        #       1  [ 1 ]
-                        #
-                        # After transformation,
-                        #
-                        #      x' = scale_x * x + shear_x * y + translate_x;
-                        #      y' = scale_y * y + shear_y * x + translate_y;
-                        #
-                        # This message is therefore composed of these six matrix elements.
-                      "translateX": 3.14, # The X coordinate translation element.
-                      "translateY": 3.14, # The Y coordinate translation element.
-                      "scaleX": 3.14, # The X coordinate scaling element.
-                      "scaleY": 3.14, # The Y coordinate scaling element.
-                      "shearY": 3.14, # The Y coordinate shearing element.
-                      "shearX": 3.14, # The X coordinate shearing element.
-                      "unit": "A String", # The units for translate elements.
-                    },
-                    "propertyState": "A String", # The shadow property state.
-                        #
-                        # Updating the the shadow on a page element will implicitly update this field
-                        # to `RENDERED`, unless another value is specified in the same request. To
-                        # have no shadow on a page element, set this field to `NOT_RENDERED`. In this
-                        # case, any other shadow fields set in the same request will be ignored.
-                    "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the
-                        # shadow becomes.
-                      "magnitude": 3.14, # The magnitude.
-                      "unit": "A String", # The units for magnitude.
-                    },
-                    "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0.
-                    "type": "A String", # The type of the shadow.
-                    "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate,
-                        # scale and skew of the shadow.
-                    "rotateWithShape": True or False, # Whether the shadow should rotate with the shape.
-                  },
-                  "contrast": 3.14, # The contrast effect of the image. The value should be in the interval
-                      # [-1.0, 1.0], where 0 means no effect. This property is read-only.
-                },
-              },
-              "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # The transform of the page element.
-                  # to transform source coordinates (x,y) into destination coordinates (x', y')
-                  # according to:
-                  #
-                  #       x'  x  =   shear_y  scale_y  translate_y
-                  #       1  [ 1 ]
-                  #
-                  # After transformation,
-                  #
-                  #      x' = scale_x * x + shear_x * y + translate_x;
-                  #      y' = scale_y * y + shear_y * x + translate_y;
-                  #
-                  # This message is therefore composed of these six matrix elements.
-                "translateX": 3.14, # The X coordinate translation element.
-                "translateY": 3.14, # The Y coordinate translation element.
-                "scaleX": 3.14, # The X coordinate scaling element.
-                "scaleY": 3.14, # The Y coordinate scaling element.
-                "shearY": 3.14, # The Y coordinate shearing element.
-                "shearX": 3.14, # The X coordinate shearing element.
-                "unit": "A String", # The units for translate elements.
-              },
-              "shape": { # A PageElement kind representing a # A generic shape.
-                  # generic shape that does not have a more specific classification.
-                "text": { # The general text content. The text must reside in a compatible shape (e.g. # The text content of the shape.
-                    # text box or rectangle) or a table cell in a page.
-                  "lists": { # The bulleted lists contained in this text, keyed by list ID.
-                    "a_key": { # A List describes the look and feel of bullets belonging to paragraphs
-                        # associated with a list. A paragraph that is part of a list has an implicit
-                        # reference to that list's ID.
-                      "nestingLevel": { # A map of nesting levels to the properties of bullets at the associated
-                          # level. A list has at most nine levels of nesting, so the possible values
-                          # for the keys of this map are 0 through 8, inclusive.
-                        "a_key": { # Contains properties describing the look and feel of a list bullet at a given
-                            # level of nesting.
-                          "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The style of a bullet at this level of nesting.
-                              #
-                              # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                              # inherited from the parent. Which text styles are inherited depend on the
-                              # nesting level of lists:
-                              #
-                              # * A text run in a paragraph that is not in a list will inherit its text style
-                              #   from the the newline character in the paragraph at the 0 nesting level of
-                              #   the list inside the parent placeholder.
-                              # * A text run in a paragraph that is in a list will inherit its text style
-                              #   from the newline character in the paragraph at its corresponding nesting
-                              #   level of the list inside the parent placeholder.
-                              #
-                              # Inherited text styles are represented as unset fields in this message. If
-                              # text is contained in a shape without a parent placeholder, unsetting these
-                              # fields will revert the style to a value matching the defaults in the Slides
-                              # editor.
-                            "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                                # transparent, depending on if the `opaque_color` field in it is set.
-                              "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                  # a transparent color.
-                                "themeColor": "A String", # An opaque theme color.
-                                "rgbColor": { # An RGB color. # An opaque RGB color.
-                                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                },
-                              },
-                            },
-                            "bold": True or False, # Whether or not the text is rendered as bold.
-                            "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                                #
-                                # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                                # rendered in a smaller font size, computed based on the `font_size` field.
-                                # The `font_size` itself is not affected by changes in this field.
-                            "strikethrough": True or False, # Whether or not the text is struck through.
-                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                # read-only.
-                                #
-                                # This field is an extension of `font_family` meant to support explicit font
-                                # weights without breaking backwards compatibility. As such, when reading the
-                                # style of a range of text, the value of `weighted_font_family.font_family`
-                                # will always be equal to that of `font_family`.
-                              "fontFamily": "A String", # The font family of the text.
-                                  #
-                                  # The font family can be any font from the Font menu in Slides or from
-                                  # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                  # unrecognized, the text is rendered in `Arial`.
-                              "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                  # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                  # only the numerical values described in the "Cascading Style Sheets Level
-                                  # 2 Revision 1 (CSS 2.1) Specification",
-                                  # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                  # non-numerical values in the specification are disallowed. Weights greater
-                                  # than or equal to 700 are considered bold, and weights less than 700 are
-                                  # not bold. The default value is `400` ("normal").
-                            },
-                            "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                            "fontFamily": "A String", # The font family of the text.
-                                #
-                                # The font family can be any font from the Font menu in Slides or from
-                                # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                # unrecognized, the text is rendered in `Arial`.
-                                #
-                                # Some fonts can affect the weight of the text. If an update request
-                                # specifies values for both `font_family` and `bold`, the explicitly-set
-                                # `bold` value is used.
-                            "italic": True or False, # Whether or not the text is italicized.
-                            "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                                # are not inherited from parent text.
-                                #
-                                # Changing the link in an update request causes some other changes to the
-                                # text style of the range:
-                                #
-                                # * When setting a link, the text foreground color will be set to
-                                #   ThemeColorType.HYPERLINK and the text will
-                                #   be underlined. If these fields are modified in the same
-                                #   request, those values will be used instead of the link defaults.
-                                # * Setting a link on a text range that overlaps with an existing link will
-                                #   also update the existing link to point to the new URL.
-                                # * Links are not settable on newline characters. As a result, setting a link
-                                #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                                #   will separate the newline character(s) into their own text runs. The
-                                #   link will be applied separately to the runs before and after the newline.
-                                # * Removing a link will update the text style of the range to match the
-                                #   style of the preceding text (or the default text styles if the preceding
-                                #   text is another link) unless different styles are being set in the same
-                                #   request.
-                              "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                  # presentation with this ID. A page with this ID may not exist.
-                              "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                                  # in the presentation. There may not be a slide at this index.
-                              "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                                  # addressed by its position.
-                            },
-                            "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                                # transparent, depending on if the `opaque_color` field in it is set.
-                              "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                  # a transparent color.
-                                "themeColor": "A String", # An opaque theme color.
-                                "rgbColor": { # An RGB color. # An opaque RGB color.
-                                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                },
-                              },
-                            },
-                            "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                                # points.
-                              "magnitude": 3.14, # The magnitude.
-                              "unit": "A String", # The units for magnitude.
-                            },
-                            "underline": True or False, # Whether or not the text is underlined.
-                          },
-                        },
-                      },
-                      "listId": "A String", # The ID of the list.
-                    },
-                  },
-                  "textElements": [ # The text contents broken down into its component parts, including styling
-                      # information. This property is read-only.
-                    { # A TextElement describes the content of a range of indices in the text content
-                        # of a Shape or TableCell.
-                      "autoText": { # A TextElement kind that represents auto text. # A TextElement representing a spot in the text that is dynamically
-                          # replaced with content that can change over time.
-                        "content": "A String", # The rendered content of this auto text, if available.
-                        "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this auto text.
-                            #
-                            # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                            # inherited from the parent. Which text styles are inherited depend on the
-                            # nesting level of lists:
-                            #
-                            # * A text run in a paragraph that is not in a list will inherit its text style
-                            #   from the the newline character in the paragraph at the 0 nesting level of
-                            #   the list inside the parent placeholder.
-                            # * A text run in a paragraph that is in a list will inherit its text style
-                            #   from the newline character in the paragraph at its corresponding nesting
-                            #   level of the list inside the parent placeholder.
-                            #
-                            # Inherited text styles are represented as unset fields in this message. If
-                            # text is contained in a shape without a parent placeholder, unsetting these
-                            # fields will revert the style to a value matching the defaults in the Slides
-                            # editor.
-                          "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                              # transparent, depending on if the `opaque_color` field in it is set.
-                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                # a transparent color.
-                              "themeColor": "A String", # An opaque theme color.
-                              "rgbColor": { # An RGB color. # An opaque RGB color.
-                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                              },
-                            },
-                          },
-                          "bold": True or False, # Whether or not the text is rendered as bold.
-                          "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                              #
-                              # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                              # rendered in a smaller font size, computed based on the `font_size` field.
-                              # The `font_size` itself is not affected by changes in this field.
-                          "strikethrough": True or False, # Whether or not the text is struck through.
-                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                              # read-only.
-                              #
-                              # This field is an extension of `font_family` meant to support explicit font
-                              # weights without breaking backwards compatibility. As such, when reading the
-                              # style of a range of text, the value of `weighted_font_family.font_family`
-                              # will always be equal to that of `font_family`.
-                            "fontFamily": "A String", # The font family of the text.
-                                #
-                                # The font family can be any font from the Font menu in Slides or from
-                                # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                # unrecognized, the text is rendered in `Arial`.
-                            "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                # only the numerical values described in the "Cascading Style Sheets Level
-                                # 2 Revision 1 (CSS 2.1) Specification",
-                                # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                # non-numerical values in the specification are disallowed. Weights greater
-                                # than or equal to 700 are considered bold, and weights less than 700 are
-                                # not bold. The default value is `400` ("normal").
-                          },
-                          "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                          "fontFamily": "A String", # The font family of the text.
-                              #
-                              # The font family can be any font from the Font menu in Slides or from
-                              # [Google Fonts] (https://fonts.google.com/). If the font name is
-                              # unrecognized, the text is rendered in `Arial`.
-                              #
-                              # Some fonts can affect the weight of the text. If an update request
-                              # specifies values for both `font_family` and `bold`, the explicitly-set
-                              # `bold` value is used.
-                          "italic": True or False, # Whether or not the text is italicized.
-                          "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                              # are not inherited from parent text.
-                              #
-                              # Changing the link in an update request causes some other changes to the
-                              # text style of the range:
-                              #
-                              # * When setting a link, the text foreground color will be set to
-                              #   ThemeColorType.HYPERLINK and the text will
-                              #   be underlined. If these fields are modified in the same
-                              #   request, those values will be used instead of the link defaults.
-                              # * Setting a link on a text range that overlaps with an existing link will
-                              #   also update the existing link to point to the new URL.
-                              # * Links are not settable on newline characters. As a result, setting a link
-                              #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                              #   will separate the newline character(s) into their own text runs. The
-                              #   link will be applied separately to the runs before and after the newline.
-                              # * Removing a link will update the text style of the range to match the
-                              #   style of the preceding text (or the default text styles if the preceding
-                              #   text is another link) unless different styles are being set in the same
-                              #   request.
-                            "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                # presentation with this ID. A page with this ID may not exist.
-                            "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                                # in the presentation. There may not be a slide at this index.
-                            "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                                # addressed by its position.
-                          },
-                          "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                              # transparent, depending on if the `opaque_color` field in it is set.
-                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                # a transparent color.
-                              "themeColor": "A String", # An opaque theme color.
-                              "rgbColor": { # An RGB color. # An opaque RGB color.
-                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                              },
-                            },
-                          },
-                          "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                              # points.
-                            "magnitude": 3.14, # The magnitude.
-                            "unit": "A String", # The units for magnitude.
-                          },
-                          "underline": True or False, # Whether or not the text is underlined.
-                        },
-                        "type": "A String", # The type of this auto text.
-                      },
-                      "endIndex": 42, # The zero-based end index of this text element, exclusive, in Unicode code
-                          # units.
-                      "startIndex": 42, # The zero-based start index of this text element, in Unicode code units.
-                      "paragraphMarker": { # A TextElement kind that represents the beginning of a new paragraph. # A marker representing the beginning of a new paragraph.
-                          #
-                          # The `start_index` and `end_index` of this TextElement represent the
-                          # range of the paragraph. Other TextElements with an index range contained
-                          # inside this paragraph's range are considered to be part of this
-                          # paragraph. The range of indices of two separate paragraphs will never
-                          # overlap.
-                        "style": { # Styles that apply to a whole paragraph. # The paragraph's style
-                            #
-                            # If this text is contained in a shape with a parent placeholder, then these paragraph styles may be
-                            # inherited from the parent. Which paragraph styles are inherited depend on the
-                            # nesting level of lists:
-                            #
-                            # * A paragraph not in a list will inherit its paragraph style from the
-                            #   paragraph at the 0 nesting level of the list inside the parent placeholder.
-                            # * A paragraph in a list will inherit its paragraph style from the paragraph
-                            #   at its corresponding nesting level of the list inside the parent
-                            #   placeholder.
-                            #
-                            # Inherited paragraph styles are represented as unset fields in this message.
-                          "spacingMode": "A String", # The spacing mode for the paragraph.
-                          "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                              # LEFT_TO_RIGHT
-                              # since text direction is not inherited.
-                          "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
-                              # inherited from the parent.
-                            "magnitude": 3.14, # The magnitude.
-                            "unit": "A String", # The units for magnitude.
-                          },
-                          "lineSpacing": 3.14, # The amount of space between lines, as a percentage of normal, where normal
-                              # is represented as 100.0. If unset, the value is inherited from the parent.
-                          "indentStart": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
-                              # the start of the text, based on the current text direction. If unset, the
-                              # value is inherited from the parent.
-                            "magnitude": 3.14, # The magnitude.
-                            "unit": "A String", # The units for magnitude.
-                          },
-                          "spaceAbove": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
-                              # inherited from the parent.
-                            "magnitude": 3.14, # The magnitude.
-                            "unit": "A String", # The units for magnitude.
-                          },
-                          "indentEnd": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
-                              # the end of the text, based on the current text direction. If unset, the
-                              # value is inherited from the parent.
-                            "magnitude": 3.14, # The magnitude.
-                            "unit": "A String", # The units for magnitude.
-                          },
-                          "indentFirstLine": { # A magnitude in a single direction in the specified units. # The amount of indentation for the start of the first line of the paragraph.
-                              # If unset, the value is inherited from the parent.
-                            "magnitude": 3.14, # The magnitude.
-                            "unit": "A String", # The units for magnitude.
-                          },
-                          "alignment": "A String", # The text alignment for this paragraph.
-                        },
-                        "bullet": { # Describes the bullet of a paragraph. # The bullet for this paragraph. If not present, the paragraph does not
-                            # belong to a list.
-                          "nestingLevel": 42, # The nesting level of this paragraph in the list.
-                          "listId": "A String", # The ID of the list this paragraph belongs to.
-                          "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The paragraph specific text style applied to this bullet.
-                              #
-                              # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                              # inherited from the parent. Which text styles are inherited depend on the
-                              # nesting level of lists:
-                              #
-                              # * A text run in a paragraph that is not in a list will inherit its text style
-                              #   from the the newline character in the paragraph at the 0 nesting level of
-                              #   the list inside the parent placeholder.
-                              # * A text run in a paragraph that is in a list will inherit its text style
-                              #   from the newline character in the paragraph at its corresponding nesting
-                              #   level of the list inside the parent placeholder.
-                              #
-                              # Inherited text styles are represented as unset fields in this message. If
-                              # text is contained in a shape without a parent placeholder, unsetting these
-                              # fields will revert the style to a value matching the defaults in the Slides
-                              # editor.
-                            "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                                # transparent, depending on if the `opaque_color` field in it is set.
-                              "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                  # a transparent color.
-                                "themeColor": "A String", # An opaque theme color.
-                                "rgbColor": { # An RGB color. # An opaque RGB color.
-                                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                },
-                              },
-                            },
-                            "bold": True or False, # Whether or not the text is rendered as bold.
-                            "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                                #
-                                # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                                # rendered in a smaller font size, computed based on the `font_size` field.
-                                # The `font_size` itself is not affected by changes in this field.
-                            "strikethrough": True or False, # Whether or not the text is struck through.
-                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                # read-only.
-                                #
-                                # This field is an extension of `font_family` meant to support explicit font
-                                # weights without breaking backwards compatibility. As such, when reading the
-                                # style of a range of text, the value of `weighted_font_family.font_family`
-                                # will always be equal to that of `font_family`.
-                              "fontFamily": "A String", # The font family of the text.
-                                  #
-                                  # The font family can be any font from the Font menu in Slides or from
-                                  # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                  # unrecognized, the text is rendered in `Arial`.
-                              "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                  # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                  # only the numerical values described in the "Cascading Style Sheets Level
-                                  # 2 Revision 1 (CSS 2.1) Specification",
-                                  # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                  # non-numerical values in the specification are disallowed. Weights greater
-                                  # than or equal to 700 are considered bold, and weights less than 700 are
-                                  # not bold. The default value is `400` ("normal").
-                            },
-                            "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                            "fontFamily": "A String", # The font family of the text.
-                                #
-                                # The font family can be any font from the Font menu in Slides or from
-                                # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                # unrecognized, the text is rendered in `Arial`.
-                                #
-                                # Some fonts can affect the weight of the text. If an update request
-                                # specifies values for both `font_family` and `bold`, the explicitly-set
-                                # `bold` value is used.
-                            "italic": True or False, # Whether or not the text is italicized.
-                            "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                                # are not inherited from parent text.
-                                #
-                                # Changing the link in an update request causes some other changes to the
-                                # text style of the range:
-                                #
-                                # * When setting a link, the text foreground color will be set to
-                                #   ThemeColorType.HYPERLINK and the text will
-                                #   be underlined. If these fields are modified in the same
-                                #   request, those values will be used instead of the link defaults.
-                                # * Setting a link on a text range that overlaps with an existing link will
-                                #   also update the existing link to point to the new URL.
-                                # * Links are not settable on newline characters. As a result, setting a link
-                                #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                                #   will separate the newline character(s) into their own text runs. The
-                                #   link will be applied separately to the runs before and after the newline.
-                                # * Removing a link will update the text style of the range to match the
-                                #   style of the preceding text (or the default text styles if the preceding
-                                #   text is another link) unless different styles are being set in the same
-                                #   request.
-                              "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                  # presentation with this ID. A page with this ID may not exist.
-                              "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                                  # in the presentation. There may not be a slide at this index.
-                              "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                                  # addressed by its position.
-                            },
-                            "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                                # transparent, depending on if the `opaque_color` field in it is set.
-                              "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                  # a transparent color.
-                                "themeColor": "A String", # An opaque theme color.
-                                "rgbColor": { # An RGB color. # An opaque RGB color.
-                                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                },
-                              },
-                            },
-                            "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                                # points.
-                              "magnitude": 3.14, # The magnitude.
-                              "unit": "A String", # The units for magnitude.
-                            },
-                            "underline": True or False, # Whether or not the text is underlined.
-                          },
-                          "glyph": "A String", # The rendered bullet glyph for this paragraph.
-                        },
-                      },
-                      "textRun": { # A TextElement kind that represents a run of text that all has the same # A TextElement representing a run of text where all of the characters
-                          # in the run have the same TextStyle.
-                          #
-                          # The `start_index` and `end_index` of TextRuns will always be fully
-                          # contained in the index range of a single `paragraph_marker` TextElement.
-                          # In other words, a TextRun will never span multiple paragraphs.
-                          # styling.
-                        "content": "A String", # The text of this run.
-                        "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this run.
-                            #
-                            # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                            # inherited from the parent. Which text styles are inherited depend on the
-                            # nesting level of lists:
-                            #
-                            # * A text run in a paragraph that is not in a list will inherit its text style
-                            #   from the the newline character in the paragraph at the 0 nesting level of
-                            #   the list inside the parent placeholder.
-                            # * A text run in a paragraph that is in a list will inherit its text style
-                            #   from the newline character in the paragraph at its corresponding nesting
-                            #   level of the list inside the parent placeholder.
-                            #
-                            # Inherited text styles are represented as unset fields in this message. If
-                            # text is contained in a shape without a parent placeholder, unsetting these
-                            # fields will revert the style to a value matching the defaults in the Slides
-                            # editor.
-                          "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                              # transparent, depending on if the `opaque_color` field in it is set.
-                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                # a transparent color.
-                              "themeColor": "A String", # An opaque theme color.
-                              "rgbColor": { # An RGB color. # An opaque RGB color.
-                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                              },
-                            },
-                          },
-                          "bold": True or False, # Whether or not the text is rendered as bold.
-                          "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                              #
-                              # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                              # rendered in a smaller font size, computed based on the `font_size` field.
-                              # The `font_size` itself is not affected by changes in this field.
-                          "strikethrough": True or False, # Whether or not the text is struck through.
-                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                              # read-only.
-                              #
-                              # This field is an extension of `font_family` meant to support explicit font
-                              # weights without breaking backwards compatibility. As such, when reading the
-                              # style of a range of text, the value of `weighted_font_family.font_family`
-                              # will always be equal to that of `font_family`.
-                            "fontFamily": "A String", # The font family of the text.
-                                #
-                                # The font family can be any font from the Font menu in Slides or from
-                                # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                # unrecognized, the text is rendered in `Arial`.
-                            "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                # only the numerical values described in the "Cascading Style Sheets Level
-                                # 2 Revision 1 (CSS 2.1) Specification",
-                                # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                # non-numerical values in the specification are disallowed. Weights greater
-                                # than or equal to 700 are considered bold, and weights less than 700 are
-                                # not bold. The default value is `400` ("normal").
-                          },
-                          "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                          "fontFamily": "A String", # The font family of the text.
-                              #
-                              # The font family can be any font from the Font menu in Slides or from
-                              # [Google Fonts] (https://fonts.google.com/). If the font name is
-                              # unrecognized, the text is rendered in `Arial`.
-                              #
-                              # Some fonts can affect the weight of the text. If an update request
-                              # specifies values for both `font_family` and `bold`, the explicitly-set
-                              # `bold` value is used.
-                          "italic": True or False, # Whether or not the text is italicized.
-                          "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                              # are not inherited from parent text.
-                              #
-                              # Changing the link in an update request causes some other changes to the
-                              # text style of the range:
-                              #
-                              # * When setting a link, the text foreground color will be set to
-                              #   ThemeColorType.HYPERLINK and the text will
-                              #   be underlined. If these fields are modified in the same
-                              #   request, those values will be used instead of the link defaults.
-                              # * Setting a link on a text range that overlaps with an existing link will
-                              #   also update the existing link to point to the new URL.
-                              # * Links are not settable on newline characters. As a result, setting a link
-                              #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                              #   will separate the newline character(s) into their own text runs. The
-                              #   link will be applied separately to the runs before and after the newline.
-                              # * Removing a link will update the text style of the range to match the
-                              #   style of the preceding text (or the default text styles if the preceding
-                              #   text is another link) unless different styles are being set in the same
-                              #   request.
-                            "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                # presentation with this ID. A page with this ID may not exist.
-                            "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                                # in the presentation. There may not be a slide at this index.
-                            "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                                # addressed by its position.
-                          },
-                          "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                              # transparent, depending on if the `opaque_color` field in it is set.
-                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                # a transparent color.
-                              "themeColor": "A String", # An opaque theme color.
-                              "rgbColor": { # An RGB color. # An opaque RGB color.
-                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                              },
-                            },
-                          },
-                          "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                              # points.
-                            "magnitude": 3.14, # The magnitude.
-                            "unit": "A String", # The units for magnitude.
-                          },
-                          "underline": True or False, # Whether or not the text is underlined.
-                        },
-                      },
-                    },
-                  ],
-                },
-                "shapeProperties": { # The properties of a Shape. # The properties of the shape.
-                    #
-                    # If the shape is a placeholder shape as determined by the
-                    # placeholder field, then these
-                    # properties may be inherited from a parent placeholder shape.
-                    # Determining the rendered value of the property depends on the corresponding
-                    # property_state field value.
-                  "shadow": { # The shadow properties of a page element. # The shadow properties of the shape. If unset, the shadow is inherited from
-                      # a parent placeholder if it exists. If the shape has no parent, then the
-                      # default shadow matches the defaults for new shapes created in the Slides
-                      # editor. This property is read-only.
-                      #
-                      # If these fields are unset, they may be inherited from a parent placeholder
-                      # if it exists. If there is no parent, the fields will default to the value
-                      # used for new page elements created in the Slides editor, which may depend on
-                      # the page element kind.
-                    "color": { # A themeable solid color value. # The shadow color value.
-                      "themeColor": "A String", # An opaque theme color.
-                      "rgbColor": { # An RGB color. # An opaque RGB color.
-                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                      },
-                    },
-                    "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # Transform that encodes the translate, scale, and skew of the shadow,
-                        # relative to the alignment position.
-                        # to transform source coordinates (x,y) into destination coordinates (x', y')
-                        # according to:
-                        #
-                        #       x'  x  =   shear_y  scale_y  translate_y
-                        #       1  [ 1 ]
-                        #
-                        # After transformation,
-                        #
-                        #      x' = scale_x * x + shear_x * y + translate_x;
-                        #      y' = scale_y * y + shear_y * x + translate_y;
-                        #
-                        # This message is therefore composed of these six matrix elements.
-                      "translateX": 3.14, # The X coordinate translation element.
-                      "translateY": 3.14, # The Y coordinate translation element.
-                      "scaleX": 3.14, # The X coordinate scaling element.
-                      "scaleY": 3.14, # The Y coordinate scaling element.
-                      "shearY": 3.14, # The Y coordinate shearing element.
-                      "shearX": 3.14, # The X coordinate shearing element.
-                      "unit": "A String", # The units for translate elements.
-                    },
-                    "propertyState": "A String", # The shadow property state.
-                        #
-                        # Updating the the shadow on a page element will implicitly update this field
-                        # to `RENDERED`, unless another value is specified in the same request. To
-                        # have no shadow on a page element, set this field to `NOT_RENDERED`. In this
-                        # case, any other shadow fields set in the same request will be ignored.
-                    "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the
-                        # shadow becomes.
-                      "magnitude": 3.14, # The magnitude.
-                      "unit": "A String", # The units for magnitude.
-                    },
-                    "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0.
-                    "type": "A String", # The type of the shadow.
-                    "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate,
-                        # scale and skew of the shadow.
-                    "rotateWithShape": True or False, # Whether the shadow should rotate with the shape.
-                  },
-                  "shapeBackgroundFill": { # The shape background fill. # The background fill of the shape. If unset, the background fill is
-                      # inherited from a parent placeholder if it exists. If the shape has no
-                      # parent, then the default background fill depends on the shape type,
-                      # matching the defaults for new shapes created in the Slides editor.
-                    "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                        # specified color value.
-                        #
-                        # If any field is unset, its value may be inherited from a parent placeholder
-                        # if it exists.
-                      "color": { # A themeable solid color value. # The color value of the solid fill.
-                        "themeColor": "A String", # An opaque theme color.
-                        "rgbColor": { # An RGB color. # An opaque RGB color.
-                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                        },
-                      },
-                      "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                          # That is, the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color.
-                    },
-                    "propertyState": "A String", # The background fill property state.
-                        #
-                        # Updating the the fill on a shape will implicitly update this field to
-                        # `RENDERED`, unless another value is specified in the same request. To
-                        # have no fill on a shape, set this field to `NOT_RENDERED`. In this case,
-                        # any other fill fields set in the same request will be ignored.
-                  },
-                  "link": { # A hypertext link. # The hyperlink destination of the shape. If unset, there is no link. Links
-                      # are not inherited from parent placeholders.
-                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
-                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                        # in the presentation. There may not be a slide at this index.
-                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                        # addressed by its position.
-                  },
-                  "outline": { # The outline of a PageElement. # The outline of the shape. If unset, the outline is inherited from a
-                      # parent placeholder if it exists. If the shape has no parent, then the
-                      # default outline depends on the shape type, matching the defaults for
-                      # new shapes created in the Slides editor.
-                      #
-                      # If these fields are unset, they may be inherited from a parent placeholder
-                      # if it exists. If there is no parent, the fields will default to the value
-                      # used for new page elements created in the Slides editor, which may depend on
-                      # the page element kind.
-                    "outlineFill": { # The fill of the outline. # The fill of the outline.
-                      "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                          # specified color value.
-                          #
-                          # If any field is unset, its value may be inherited from a parent placeholder
-                          # if it exists.
-                        "color": { # A themeable solid color value. # The color value of the solid fill.
-                          "themeColor": "A String", # An opaque theme color.
-                          "rgbColor": { # An RGB color. # An opaque RGB color.
-                            "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                            "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                            "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                          },
-                        },
-                        "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                            # That is, the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color.
-                      },
-                    },
-                    "propertyState": "A String", # The outline property state.
-                        #
-                        # Updating the the outline on a page element will implicitly update this
-                        # field to`RENDERED`, unless another value is specified in the same request.
-                        # To have no outline on a page element, set this field to `NOT_RENDERED`. In
-                        # this case, any other outline fields set in the same request will be
-                        # ignored.
-                    "dashStyle": "A String", # The dash style of the outline.
-                    "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
-                      "magnitude": 3.14, # The magnitude.
-                      "unit": "A String", # The units for magnitude.
-                    },
-                  },
-                },
-                "placeholder": { # The placeholder information that uniquely identifies a placeholder shape. # Placeholders are shapes that are inherit from corresponding placeholders on
-                    # layouts and masters.
-                    #
-                    # If set, the shape is a placeholder shape and any inherited properties
-                    # can be resolved by looking at the parent placeholder identified by the
-                    # Placeholder.parent_object_id field.
-                  "parentObjectId": "A String", # The object ID of this shape's parent placeholder.
-                      # If unset, the parent placeholder shape does not exist, so the shape does
-                      # not inherit properties from any other shape.
-                  "index": 42, # The index of the placeholder. If the same placeholder types are the present
-                      # in the same page, they would have different index values.
-                  "type": "A String", # The type of the placeholder.
-                },
-                "shapeType": "A String", # The type of the shape.
-              },
-              "sheetsChart": { # A PageElement kind representing # A linked chart embedded from Google Sheets. Unlinked charts are
-                  # represented as images.
-                  # a linked chart embedded from Google Sheets.
-                "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
-                    # embedded.
-                "contentUrl": "A String", # The URL of an image of the embedded chart, with a default lifetime of 30
-                    # minutes. This URL is tagged with the account of the requester. Anyone with
-                    # the URL effectively accesses the image as the original requester. Access to
-                    # the image may be lost if the presentation's sharing settings change.
-                "sheetsChartProperties": { # The properties of the SheetsChart. # The properties of the Sheets chart.
-                  "chartImageProperties": { # The properties of the Image. # The properties of the embedded chart image.
-                    "outline": { # The outline of a PageElement. # The outline of the image. If not set, the the image has no outline.
-                        #
-                        # If these fields are unset, they may be inherited from a parent placeholder
-                        # if it exists. If there is no parent, the fields will default to the value
-                        # used for new page elements created in the Slides editor, which may depend on
-                        # the page element kind.
-                      "outlineFill": { # The fill of the outline. # The fill of the outline.
-                        "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                            # specified color value.
-                            #
-                            # If any field is unset, its value may be inherited from a parent placeholder
-                            # if it exists.
-                          "color": { # A themeable solid color value. # The color value of the solid fill.
-                            "themeColor": "A String", # An opaque theme color.
-                            "rgbColor": { # An RGB color. # An opaque RGB color.
-                              "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                              "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                              "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                            },
-                          },
-                          "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                              # That is, the final pixel color is defined by the equation:
-                              #
-                              #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                              #
-                              # This means that a value of 1.0 corresponds to a solid color, whereas
-                              # a value of 0.0 corresponds to a completely transparent color.
-                        },
-                      },
-                      "propertyState": "A String", # The outline property state.
-                          #
-                          # Updating the the outline on a page element will implicitly update this
-                          # field to`RENDERED`, unless another value is specified in the same request.
-                          # To have no outline on a page element, set this field to `NOT_RENDERED`. In
-                          # this case, any other outline fields set in the same request will be
-                          # ignored.
-                      "dashStyle": "A String", # The dash style of the outline.
-                      "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
-                        "magnitude": 3.14, # The magnitude.
-                        "unit": "A String", # The units for magnitude.
-                      },
-                    },
-                    "brightness": 3.14, # The brightness effect of the image. The value should be in the interval
-                        # [-1.0, 1.0], where 0 means no effect. This property is read-only.
-                    "recolor": { # A recolor effect applied on an image. # The recolor effect of the image. If not set, the image is not recolored.
-                        # This property is read-only.
-                      "recolorStops": [ # The recolor effect is represented by a gradient, which is a list of color
-                          # stops.
-                          #
-                          # The colors in the gradient will replace the corresponding colors at
-                          # the same position in the color palette and apply to the image. This
-                          # property is read-only.
-                        { # A color and position in a gradient band.
-                          "color": { # A themeable solid color value. # The color of the gradient stop.
-                            "themeColor": "A String", # An opaque theme color.
-                            "rgbColor": { # An RGB color. # An opaque RGB color.
-                              "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                              "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                              "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                            },
-                          },
-                          "alpha": 3.14, # The alpha value of this color in the gradient band. Defaults to 1.0,
-                              # fully opaque.
-                          "position": 3.14, # The relative position of the color stop in the gradient band measured
-                              # in percentage. The value should be in the interval [0.0, 1.0].
-                        },
-                      ],
-                      "name": "A String", # The name of the recolor effect.
-                          #
-                          # The name is determined from the `recolor_stops` by matching the gradient
-                          # against the colors in the page's current color scheme. This property is
-                          # read-only.
-                    },
-                    "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
-                      "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                          # presentation with this ID. A page with this ID may not exist.
-                      "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                          # in the presentation. There may not be a slide at this index.
-                      "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                          # addressed by its position.
-                    },
-                    "transparency": 3.14, # The transparency effect of the image. The value should be in the interval
-                        # [0.0, 1.0], where 0 means no effect and 1 means completely transparent.
-                        # This property is read-only.
-                    "cropProperties": { # The crop properties of an object enclosed in a container. For example, an # The crop properties of the image. If not set, the image is not cropped.
-                        # This property is read-only.
-                        # Image.
-                        #
-                        # The crop properties is represented by the offsets of four edges which define
-                        # a crop rectangle. The offsets are measured in percentage from the
-                        # corresponding edges of the object's original bounding rectangle towards
-                        # inside, relative to the object's original dimensions.
-                        #
-                        # - If the offset is in the interval (0, 1), the corresponding edge of crop
-                        # rectangle is positioned inside of the object's original bounding rectangle.
-                        # - If the offset is negative or greater than 1, the corresponding edge of crop
-                        # rectangle is positioned outside of the object's original bounding rectangle.
-                        # - If the left edge of the crop rectangle is on the right side of its right
-                        # edge, the object will be flipped horizontally.
-                        # - If the top edge of the crop rectangle is below its bottom edge, the object
-                        # will be flipped vertically.
-                        # - If all offsets and rotation angle is 0, the object is not cropped.
-                        #
-                        # After cropping, the content in the crop rectangle will be stretched to fit
-                        # its container.
-                      "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
-                          # the right of the original bounding rectangle left edge, relative to the
-                          # object's original width.
-                      "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                          # below the original bounding rectangle top edge, relative to the object's
-                          # original height.
-                      "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                          # above the original bounding rectangle bottom edge, relative to the object's
-                          # original height.
-                      "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
-                          # Rotation angle is applied after the offset.
-                      "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
-                          # to the left of the original bounding rectangle right edge, relative to the
-                          # object's original width.
-                    },
-                    "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
-                        # is read-only.
-                        #
-                        # If these fields are unset, they may be inherited from a parent placeholder
-                        # if it exists. If there is no parent, the fields will default to the value
-                        # used for new page elements created in the Slides editor, which may depend on
-                        # the page element kind.
-                      "color": { # A themeable solid color value. # The shadow color value.
-                        "themeColor": "A String", # An opaque theme color.
-                        "rgbColor": { # An RGB color. # An opaque RGB color.
-                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                        },
-                      },
-                      "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # Transform that encodes the translate, scale, and skew of the shadow,
-                          # relative to the alignment position.
-                          # to transform source coordinates (x,y) into destination coordinates (x', y')
-                          # according to:
-                          #
-                          #       x'  x  =   shear_y  scale_y  translate_y
-                          #       1  [ 1 ]
-                          #
-                          # After transformation,
-                          #
-                          #      x' = scale_x * x + shear_x * y + translate_x;
-                          #      y' = scale_y * y + shear_y * x + translate_y;
-                          #
-                          # This message is therefore composed of these six matrix elements.
-                        "translateX": 3.14, # The X coordinate translation element.
-                        "translateY": 3.14, # The Y coordinate translation element.
-                        "scaleX": 3.14, # The X coordinate scaling element.
-                        "scaleY": 3.14, # The Y coordinate scaling element.
-                        "shearY": 3.14, # The Y coordinate shearing element.
-                        "shearX": 3.14, # The X coordinate shearing element.
-                        "unit": "A String", # The units for translate elements.
-                      },
-                      "propertyState": "A String", # The shadow property state.
-                          #
-                          # Updating the the shadow on a page element will implicitly update this field
-                          # to `RENDERED`, unless another value is specified in the same request. To
-                          # have no shadow on a page element, set this field to `NOT_RENDERED`. In this
-                          # case, any other shadow fields set in the same request will be ignored.
-                      "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the
-                          # shadow becomes.
-                        "magnitude": 3.14, # The magnitude.
-                        "unit": "A String", # The units for magnitude.
-                      },
-                      "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0.
-                      "type": "A String", # The type of the shadow.
-                      "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate,
-                          # scale and skew of the shadow.
-                      "rotateWithShape": True or False, # Whether the shadow should rotate with the shape.
-                    },
-                    "contrast": 3.14, # The contrast effect of the image. The value should be in the interval
-                        # [-1.0, 1.0], where 0 means no effect. This property is read-only.
-                  },
-                },
-                "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
-              },
-              "video": { # A PageElement kind representing a # A video page element.
-                  # video.
-                "url": "A String", # An URL to a video. The URL is valid as long as the source video
-                    # exists and sharing settings do not change.
-                "source": "A String", # The video source.
-                "id": "A String", # The video source's unique identifier for this video.
-                "videoProperties": { # The properties of the Video. # The properties of the video.
-                  "outline": { # The outline of a PageElement. # The outline of the video. The default outline matches the defaults for new
-                      # videos created in the Slides editor.
-                      #
-                      # If these fields are unset, they may be inherited from a parent placeholder
-                      # if it exists. If there is no parent, the fields will default to the value
-                      # used for new page elements created in the Slides editor, which may depend on
-                      # the page element kind.
-                    "outlineFill": { # The fill of the outline. # The fill of the outline.
-                      "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                          # specified color value.
-                          #
-                          # If any field is unset, its value may be inherited from a parent placeholder
-                          # if it exists.
-                        "color": { # A themeable solid color value. # The color value of the solid fill.
-                          "themeColor": "A String", # An opaque theme color.
-                          "rgbColor": { # An RGB color. # An opaque RGB color.
-                            "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                            "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                            "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                          },
-                        },
-                        "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                            # That is, the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color.
-                      },
-                    },
-                    "propertyState": "A String", # The outline property state.
-                        #
-                        # Updating the the outline on a page element will implicitly update this
-                        # field to`RENDERED`, unless another value is specified in the same request.
-                        # To have no outline on a page element, set this field to `NOT_RENDERED`. In
-                        # this case, any other outline fields set in the same request will be
-                        # ignored.
-                    "dashStyle": "A String", # The dash style of the outline.
-                    "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
-                      "magnitude": 3.14, # The magnitude.
-                      "unit": "A String", # The units for magnitude.
-                    },
-                  },
-                },
-              },
-              "elementGroup": { # A PageElement kind representing a # A collection of page elements joined as a single unit.
-                  # joined collection of PageElements.
-                "children": [ # The collection of elements in the group. The minimum size of a group is 2.
-                  # Object with schema name: PageElement
-                ],
-              },
-              "table": { # A PageElement kind representing a # A table page element.
-                  # table.
-                "tableColumns": [ # Properties of each column.
-                  { # Properties of each column in a table.
-                    "columnWidth": { # A magnitude in a single direction in the specified units. # Width of a column.
-                      "magnitude": 3.14, # The magnitude.
-                      "unit": "A String", # The units for magnitude.
-                    },
-                  },
-                ],
-                "tableRows": [ # Properties and contents of each row.
-                    #
-                    # Cells that span multiple rows are contained in only one of these rows and
-                    # have a row_span greater
-                    # than 1.
-                  { # Properties and contents of each row in a table.
-                    "tableCells": [ # Properties and contents of each cell.
-                        #
-                        # Cells that span multiple columns are represented only once with a
-                        # column_span greater
-                        # than 1. As a result, the length of this collection does not always match
-                        # the number of columns of the entire table.
-                      { # Properties and contents of each table cell.
-                        "text": { # The general text content. The text must reside in a compatible shape (e.g. # The text content of the cell.
-                            # text box or rectangle) or a table cell in a page.
-                          "lists": { # The bulleted lists contained in this text, keyed by list ID.
-                            "a_key": { # A List describes the look and feel of bullets belonging to paragraphs
-                                # associated with a list. A paragraph that is part of a list has an implicit
-                                # reference to that list's ID.
-                              "nestingLevel": { # A map of nesting levels to the properties of bullets at the associated
-                                  # level. A list has at most nine levels of nesting, so the possible values
-                                  # for the keys of this map are 0 through 8, inclusive.
-                                "a_key": { # Contains properties describing the look and feel of a list bullet at a given
-                                    # level of nesting.
-                                  "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The style of a bullet at this level of nesting.
-                                      #
-                                      # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                                      # inherited from the parent. Which text styles are inherited depend on the
-                                      # nesting level of lists:
-                                      #
-                                      # * A text run in a paragraph that is not in a list will inherit its text style
-                                      #   from the the newline character in the paragraph at the 0 nesting level of
-                                      #   the list inside the parent placeholder.
-                                      # * A text run in a paragraph that is in a list will inherit its text style
-                                      #   from the newline character in the paragraph at its corresponding nesting
-                                      #   level of the list inside the parent placeholder.
-                                      #
-                                      # Inherited text styles are represented as unset fields in this message. If
-                                      # text is contained in a shape without a parent placeholder, unsetting these
-                                      # fields will revert the style to a value matching the defaults in the Slides
-                                      # editor.
-                                    "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                                        # transparent, depending on if the `opaque_color` field in it is set.
-                                      "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                          # a transparent color.
-                                        "themeColor": "A String", # An opaque theme color.
-                                        "rgbColor": { # An RGB color. # An opaque RGB color.
-                                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                        },
-                                      },
-                                    },
-                                    "bold": True or False, # Whether or not the text is rendered as bold.
-                                    "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                                        #
-                                        # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                                        # rendered in a smaller font size, computed based on the `font_size` field.
-                                        # The `font_size` itself is not affected by changes in this field.
-                                    "strikethrough": True or False, # Whether or not the text is struck through.
-                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                        # read-only.
-                                        #
-                                        # This field is an extension of `font_family` meant to support explicit font
-                                        # weights without breaking backwards compatibility. As such, when reading the
-                                        # style of a range of text, the value of `weighted_font_family.font_family`
-                                        # will always be equal to that of `font_family`.
-                                      "fontFamily": "A String", # The font family of the text.
-                                          #
-                                          # The font family can be any font from the Font menu in Slides or from
-                                          # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                          # unrecognized, the text is rendered in `Arial`.
-                                      "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                          # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                          # only the numerical values described in the "Cascading Style Sheets Level
-                                          # 2 Revision 1 (CSS 2.1) Specification",
-                                          # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                          # non-numerical values in the specification are disallowed. Weights greater
-                                          # than or equal to 700 are considered bold, and weights less than 700 are
-                                          # not bold. The default value is `400` ("normal").
-                                    },
-                                    "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                                    "fontFamily": "A String", # The font family of the text.
-                                        #
-                                        # The font family can be any font from the Font menu in Slides or from
-                                        # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                        # unrecognized, the text is rendered in `Arial`.
-                                        #
-                                        # Some fonts can affect the weight of the text. If an update request
-                                        # specifies values for both `font_family` and `bold`, the explicitly-set
-                                        # `bold` value is used.
-                                    "italic": True or False, # Whether or not the text is italicized.
-                                    "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                                        # are not inherited from parent text.
-                                        #
-                                        # Changing the link in an update request causes some other changes to the
-                                        # text style of the range:
-                                        #
-                                        # * When setting a link, the text foreground color will be set to
-                                        #   ThemeColorType.HYPERLINK and the text will
-                                        #   be underlined. If these fields are modified in the same
-                                        #   request, those values will be used instead of the link defaults.
-                                        # * Setting a link on a text range that overlaps with an existing link will
-                                        #   also update the existing link to point to the new URL.
-                                        # * Links are not settable on newline characters. As a result, setting a link
-                                        #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                                        #   will separate the newline character(s) into their own text runs. The
-                                        #   link will be applied separately to the runs before and after the newline.
-                                        # * Removing a link will update the text style of the range to match the
-                                        #   style of the preceding text (or the default text styles if the preceding
-                                        #   text is another link) unless different styles are being set in the same
-                                        #   request.
-                                      "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                          # presentation with this ID. A page with this ID may not exist.
-                                      "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                                          # in the presentation. There may not be a slide at this index.
-                                      "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                                          # addressed by its position.
-                                    },
-                                    "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                                        # transparent, depending on if the `opaque_color` field in it is set.
-                                      "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                          # a transparent color.
-                                        "themeColor": "A String", # An opaque theme color.
-                                        "rgbColor": { # An RGB color. # An opaque RGB color.
-                                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                        },
-                                      },
-                                    },
-                                    "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                                        # points.
-                                      "magnitude": 3.14, # The magnitude.
-                                      "unit": "A String", # The units for magnitude.
-                                    },
-                                    "underline": True or False, # Whether or not the text is underlined.
-                                  },
-                                },
-                              },
-                              "listId": "A String", # The ID of the list.
-                            },
-                          },
-                          "textElements": [ # The text contents broken down into its component parts, including styling
-                              # information. This property is read-only.
-                            { # A TextElement describes the content of a range of indices in the text content
-                                # of a Shape or TableCell.
-                              "autoText": { # A TextElement kind that represents auto text. # A TextElement representing a spot in the text that is dynamically
-                                  # replaced with content that can change over time.
-                                "content": "A String", # The rendered content of this auto text, if available.
-                                "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this auto text.
-                                    #
-                                    # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                                    # inherited from the parent. Which text styles are inherited depend on the
-                                    # nesting level of lists:
-                                    #
-                                    # * A text run in a paragraph that is not in a list will inherit its text style
-                                    #   from the the newline character in the paragraph at the 0 nesting level of
-                                    #   the list inside the parent placeholder.
-                                    # * A text run in a paragraph that is in a list will inherit its text style
-                                    #   from the newline character in the paragraph at its corresponding nesting
-                                    #   level of the list inside the parent placeholder.
-                                    #
-                                    # Inherited text styles are represented as unset fields in this message. If
-                                    # text is contained in a shape without a parent placeholder, unsetting these
-                                    # fields will revert the style to a value matching the defaults in the Slides
-                                    # editor.
-                                  "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                                      # transparent, depending on if the `opaque_color` field in it is set.
-                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                        # a transparent color.
-                                      "themeColor": "A String", # An opaque theme color.
-                                      "rgbColor": { # An RGB color. # An opaque RGB color.
-                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                      },
-                                    },
-                                  },
-                                  "bold": True or False, # Whether or not the text is rendered as bold.
-                                  "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                                      #
-                                      # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                                      # rendered in a smaller font size, computed based on the `font_size` field.
-                                      # The `font_size` itself is not affected by changes in this field.
-                                  "strikethrough": True or False, # Whether or not the text is struck through.
-                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                      # read-only.
-                                      #
-                                      # This field is an extension of `font_family` meant to support explicit font
-                                      # weights without breaking backwards compatibility. As such, when reading the
-                                      # style of a range of text, the value of `weighted_font_family.font_family`
-                                      # will always be equal to that of `font_family`.
-                                    "fontFamily": "A String", # The font family of the text.
-                                        #
-                                        # The font family can be any font from the Font menu in Slides or from
-                                        # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                        # unrecognized, the text is rendered in `Arial`.
-                                    "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                        # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                        # only the numerical values described in the "Cascading Style Sheets Level
-                                        # 2 Revision 1 (CSS 2.1) Specification",
-                                        # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                        # non-numerical values in the specification are disallowed. Weights greater
-                                        # than or equal to 700 are considered bold, and weights less than 700 are
-                                        # not bold. The default value is `400` ("normal").
-                                  },
-                                  "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                                  "fontFamily": "A String", # The font family of the text.
-                                      #
-                                      # The font family can be any font from the Font menu in Slides or from
-                                      # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                      # unrecognized, the text is rendered in `Arial`.
-                                      #
-                                      # Some fonts can affect the weight of the text. If an update request
-                                      # specifies values for both `font_family` and `bold`, the explicitly-set
-                                      # `bold` value is used.
-                                  "italic": True or False, # Whether or not the text is italicized.
-                                  "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                                      # are not inherited from parent text.
-                                      #
-                                      # Changing the link in an update request causes some other changes to the
-                                      # text style of the range:
-                                      #
-                                      # * When setting a link, the text foreground color will be set to
-                                      #   ThemeColorType.HYPERLINK and the text will
-                                      #   be underlined. If these fields are modified in the same
-                                      #   request, those values will be used instead of the link defaults.
-                                      # * Setting a link on a text range that overlaps with an existing link will
-                                      #   also update the existing link to point to the new URL.
-                                      # * Links are not settable on newline characters. As a result, setting a link
-                                      #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                                      #   will separate the newline character(s) into their own text runs. The
-                                      #   link will be applied separately to the runs before and after the newline.
-                                      # * Removing a link will update the text style of the range to match the
-                                      #   style of the preceding text (or the default text styles if the preceding
-                                      #   text is another link) unless different styles are being set in the same
-                                      #   request.
-                                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                        # presentation with this ID. A page with this ID may not exist.
-                                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                                        # in the presentation. There may not be a slide at this index.
-                                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                                        # addressed by its position.
-                                  },
-                                  "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                                      # transparent, depending on if the `opaque_color` field in it is set.
-                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                        # a transparent color.
-                                      "themeColor": "A String", # An opaque theme color.
-                                      "rgbColor": { # An RGB color. # An opaque RGB color.
-                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                      },
-                                    },
-                                  },
-                                  "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                                      # points.
-                                    "magnitude": 3.14, # The magnitude.
-                                    "unit": "A String", # The units for magnitude.
-                                  },
-                                  "underline": True or False, # Whether or not the text is underlined.
-                                },
-                                "type": "A String", # The type of this auto text.
-                              },
-                              "endIndex": 42, # The zero-based end index of this text element, exclusive, in Unicode code
-                                  # units.
-                              "startIndex": 42, # The zero-based start index of this text element, in Unicode code units.
-                              "paragraphMarker": { # A TextElement kind that represents the beginning of a new paragraph. # A marker representing the beginning of a new paragraph.
-                                  #
-                                  # The `start_index` and `end_index` of this TextElement represent the
-                                  # range of the paragraph. Other TextElements with an index range contained
-                                  # inside this paragraph's range are considered to be part of this
-                                  # paragraph. The range of indices of two separate paragraphs will never
-                                  # overlap.
-                                "style": { # Styles that apply to a whole paragraph. # The paragraph's style
-                                    #
-                                    # If this text is contained in a shape with a parent placeholder, then these paragraph styles may be
-                                    # inherited from the parent. Which paragraph styles are inherited depend on the
-                                    # nesting level of lists:
-                                    #
-                                    # * A paragraph not in a list will inherit its paragraph style from the
-                                    #   paragraph at the 0 nesting level of the list inside the parent placeholder.
-                                    # * A paragraph in a list will inherit its paragraph style from the paragraph
-                                    #   at its corresponding nesting level of the list inside the parent
-                                    #   placeholder.
-                                    #
-                                    # Inherited paragraph styles are represented as unset fields in this message.
-                                  "spacingMode": "A String", # The spacing mode for the paragraph.
-                                  "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                                      # LEFT_TO_RIGHT
-                                      # since text direction is not inherited.
-                                  "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
-                                      # inherited from the parent.
-                                    "magnitude": 3.14, # The magnitude.
-                                    "unit": "A String", # The units for magnitude.
-                                  },
-                                  "lineSpacing": 3.14, # The amount of space between lines, as a percentage of normal, where normal
-                                      # is represented as 100.0. If unset, the value is inherited from the parent.
-                                  "indentStart": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
-                                      # the start of the text, based on the current text direction. If unset, the
-                                      # value is inherited from the parent.
-                                    "magnitude": 3.14, # The magnitude.
-                                    "unit": "A String", # The units for magnitude.
-                                  },
-                                  "spaceAbove": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
-                                      # inherited from the parent.
-                                    "magnitude": 3.14, # The magnitude.
-                                    "unit": "A String", # The units for magnitude.
-                                  },
-                                  "indentEnd": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
-                                      # the end of the text, based on the current text direction. If unset, the
-                                      # value is inherited from the parent.
-                                    "magnitude": 3.14, # The magnitude.
-                                    "unit": "A String", # The units for magnitude.
-                                  },
-                                  "indentFirstLine": { # A magnitude in a single direction in the specified units. # The amount of indentation for the start of the first line of the paragraph.
-                                      # If unset, the value is inherited from the parent.
-                                    "magnitude": 3.14, # The magnitude.
-                                    "unit": "A String", # The units for magnitude.
-                                  },
-                                  "alignment": "A String", # The text alignment for this paragraph.
-                                },
-                                "bullet": { # Describes the bullet of a paragraph. # The bullet for this paragraph. If not present, the paragraph does not
-                                    # belong to a list.
-                                  "nestingLevel": 42, # The nesting level of this paragraph in the list.
-                                  "listId": "A String", # The ID of the list this paragraph belongs to.
-                                  "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The paragraph specific text style applied to this bullet.
-                                      #
-                                      # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                                      # inherited from the parent. Which text styles are inherited depend on the
-                                      # nesting level of lists:
-                                      #
-                                      # * A text run in a paragraph that is not in a list will inherit its text style
-                                      #   from the the newline character in the paragraph at the 0 nesting level of
-                                      #   the list inside the parent placeholder.
-                                      # * A text run in a paragraph that is in a list will inherit its text style
-                                      #   from the newline character in the paragraph at its corresponding nesting
-                                      #   level of the list inside the parent placeholder.
-                                      #
-                                      # Inherited text styles are represented as unset fields in this message. If
-                                      # text is contained in a shape without a parent placeholder, unsetting these
-                                      # fields will revert the style to a value matching the defaults in the Slides
-                                      # editor.
-                                    "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                                        # transparent, depending on if the `opaque_color` field in it is set.
-                                      "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                          # a transparent color.
-                                        "themeColor": "A String", # An opaque theme color.
-                                        "rgbColor": { # An RGB color. # An opaque RGB color.
-                                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                        },
-                                      },
-                                    },
-                                    "bold": True or False, # Whether or not the text is rendered as bold.
-                                    "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                                        #
-                                        # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                                        # rendered in a smaller font size, computed based on the `font_size` field.
-                                        # The `font_size` itself is not affected by changes in this field.
-                                    "strikethrough": True or False, # Whether or not the text is struck through.
-                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                        # read-only.
-                                        #
-                                        # This field is an extension of `font_family` meant to support explicit font
-                                        # weights without breaking backwards compatibility. As such, when reading the
-                                        # style of a range of text, the value of `weighted_font_family.font_family`
-                                        # will always be equal to that of `font_family`.
-                                      "fontFamily": "A String", # The font family of the text.
-                                          #
-                                          # The font family can be any font from the Font menu in Slides or from
-                                          # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                          # unrecognized, the text is rendered in `Arial`.
-                                      "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                          # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                          # only the numerical values described in the "Cascading Style Sheets Level
-                                          # 2 Revision 1 (CSS 2.1) Specification",
-                                          # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                          # non-numerical values in the specification are disallowed. Weights greater
-                                          # than or equal to 700 are considered bold, and weights less than 700 are
-                                          # not bold. The default value is `400` ("normal").
-                                    },
-                                    "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                                    "fontFamily": "A String", # The font family of the text.
-                                        #
-                                        # The font family can be any font from the Font menu in Slides or from
-                                        # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                        # unrecognized, the text is rendered in `Arial`.
-                                        #
-                                        # Some fonts can affect the weight of the text. If an update request
-                                        # specifies values for both `font_family` and `bold`, the explicitly-set
-                                        # `bold` value is used.
-                                    "italic": True or False, # Whether or not the text is italicized.
-                                    "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                                        # are not inherited from parent text.
-                                        #
-                                        # Changing the link in an update request causes some other changes to the
-                                        # text style of the range:
-                                        #
-                                        # * When setting a link, the text foreground color will be set to
-                                        #   ThemeColorType.HYPERLINK and the text will
-                                        #   be underlined. If these fields are modified in the same
-                                        #   request, those values will be used instead of the link defaults.
-                                        # * Setting a link on a text range that overlaps with an existing link will
-                                        #   also update the existing link to point to the new URL.
-                                        # * Links are not settable on newline characters. As a result, setting a link
-                                        #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                                        #   will separate the newline character(s) into their own text runs. The
-                                        #   link will be applied separately to the runs before and after the newline.
-                                        # * Removing a link will update the text style of the range to match the
-                                        #   style of the preceding text (or the default text styles if the preceding
-                                        #   text is another link) unless different styles are being set in the same
-                                        #   request.
-                                      "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                          # presentation with this ID. A page with this ID may not exist.
-                                      "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                                          # in the presentation. There may not be a slide at this index.
-                                      "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                                          # addressed by its position.
-                                    },
-                                    "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                                        # transparent, depending on if the `opaque_color` field in it is set.
-                                      "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                          # a transparent color.
-                                        "themeColor": "A String", # An opaque theme color.
-                                        "rgbColor": { # An RGB color. # An opaque RGB color.
-                                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                        },
-                                      },
-                                    },
-                                    "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                                        # points.
-                                      "magnitude": 3.14, # The magnitude.
-                                      "unit": "A String", # The units for magnitude.
-                                    },
-                                    "underline": True or False, # Whether or not the text is underlined.
-                                  },
-                                  "glyph": "A String", # The rendered bullet glyph for this paragraph.
-                                },
-                              },
-                              "textRun": { # A TextElement kind that represents a run of text that all has the same # A TextElement representing a run of text where all of the characters
-                                  # in the run have the same TextStyle.
-                                  #
-                                  # The `start_index` and `end_index` of TextRuns will always be fully
-                                  # contained in the index range of a single `paragraph_marker` TextElement.
-                                  # In other words, a TextRun will never span multiple paragraphs.
-                                  # styling.
-                                "content": "A String", # The text of this run.
-                                "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this run.
-                                    #
-                                    # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                                    # inherited from the parent. Which text styles are inherited depend on the
-                                    # nesting level of lists:
-                                    #
-                                    # * A text run in a paragraph that is not in a list will inherit its text style
-                                    #   from the the newline character in the paragraph at the 0 nesting level of
-                                    #   the list inside the parent placeholder.
-                                    # * A text run in a paragraph that is in a list will inherit its text style
-                                    #   from the newline character in the paragraph at its corresponding nesting
-                                    #   level of the list inside the parent placeholder.
-                                    #
-                                    # Inherited text styles are represented as unset fields in this message. If
-                                    # text is contained in a shape without a parent placeholder, unsetting these
-                                    # fields will revert the style to a value matching the defaults in the Slides
-                                    # editor.
-                                  "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                                      # transparent, depending on if the `opaque_color` field in it is set.
-                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                        # a transparent color.
-                                      "themeColor": "A String", # An opaque theme color.
-                                      "rgbColor": { # An RGB color. # An opaque RGB color.
-                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                      },
-                                    },
-                                  },
-                                  "bold": True or False, # Whether or not the text is rendered as bold.
-                                  "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                                      #
-                                      # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                                      # rendered in a smaller font size, computed based on the `font_size` field.
-                                      # The `font_size` itself is not affected by changes in this field.
-                                  "strikethrough": True or False, # Whether or not the text is struck through.
-                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                      # read-only.
-                                      #
-                                      # This field is an extension of `font_family` meant to support explicit font
-                                      # weights without breaking backwards compatibility. As such, when reading the
-                                      # style of a range of text, the value of `weighted_font_family.font_family`
-                                      # will always be equal to that of `font_family`.
-                                    "fontFamily": "A String", # The font family of the text.
-                                        #
-                                        # The font family can be any font from the Font menu in Slides or from
-                                        # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                        # unrecognized, the text is rendered in `Arial`.
-                                    "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                        # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                        # only the numerical values described in the "Cascading Style Sheets Level
-                                        # 2 Revision 1 (CSS 2.1) Specification",
-                                        # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                        # non-numerical values in the specification are disallowed. Weights greater
-                                        # than or equal to 700 are considered bold, and weights less than 700 are
-                                        # not bold. The default value is `400` ("normal").
-                                  },
-                                  "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                                  "fontFamily": "A String", # The font family of the text.
-                                      #
-                                      # The font family can be any font from the Font menu in Slides or from
-                                      # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                      # unrecognized, the text is rendered in `Arial`.
-                                      #
-                                      # Some fonts can affect the weight of the text. If an update request
-                                      # specifies values for both `font_family` and `bold`, the explicitly-set
-                                      # `bold` value is used.
-                                  "italic": True or False, # Whether or not the text is italicized.
-                                  "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                                      # are not inherited from parent text.
-                                      #
-                                      # Changing the link in an update request causes some other changes to the
-                                      # text style of the range:
-                                      #
-                                      # * When setting a link, the text foreground color will be set to
-                                      #   ThemeColorType.HYPERLINK and the text will
-                                      #   be underlined. If these fields are modified in the same
-                                      #   request, those values will be used instead of the link defaults.
-                                      # * Setting a link on a text range that overlaps with an existing link will
-                                      #   also update the existing link to point to the new URL.
-                                      # * Links are not settable on newline characters. As a result, setting a link
-                                      #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                                      #   will separate the newline character(s) into their own text runs. The
-                                      #   link will be applied separately to the runs before and after the newline.
-                                      # * Removing a link will update the text style of the range to match the
-                                      #   style of the preceding text (or the default text styles if the preceding
-                                      #   text is another link) unless different styles are being set in the same
-                                      #   request.
-                                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                        # presentation with this ID. A page with this ID may not exist.
-                                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                                        # in the presentation. There may not be a slide at this index.
-                                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                                        # addressed by its position.
-                                  },
-                                  "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                                      # transparent, depending on if the `opaque_color` field in it is set.
-                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                        # a transparent color.
-                                      "themeColor": "A String", # An opaque theme color.
-                                      "rgbColor": { # An RGB color. # An opaque RGB color.
-                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                      },
-                                    },
-                                  },
-                                  "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                                      # points.
-                                    "magnitude": 3.14, # The magnitude.
-                                    "unit": "A String", # The units for magnitude.
-                                  },
-                                  "underline": True or False, # Whether or not the text is underlined.
-                                },
-                              },
-                            },
-                          ],
-                        },
-                        "tableCellProperties": { # The properties of the TableCell. # The properties of the table cell.
-                          "tableCellBackgroundFill": { # The table cell background fill. # The background fill of the table cell. The default fill matches the fill
-                              # for newly created table cells in the Slides editor.
-                            "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                                # specified color value.
-                                #
-                                # If any field is unset, its value may be inherited from a parent placeholder
-                                # if it exists.
-                              "color": { # A themeable solid color value. # The color value of the solid fill.
-                                "themeColor": "A String", # An opaque theme color.
-                                "rgbColor": { # An RGB color. # An opaque RGB color.
-                                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                },
-                              },
-                              "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                                  # That is, the final pixel color is defined by the equation:
-                                  #
-                                  #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                                  #
-                                  # This means that a value of 1.0 corresponds to a solid color, whereas
-                                  # a value of 0.0 corresponds to a completely transparent color.
-                            },
-                            "propertyState": "A String", # The background fill property state.
-                                #
-                                # Updating the the fill on a table cell will implicitly update this field
-                                # to `RENDERED`, unless another value is specified in the same request. To
-                                # have no fill on a table cell, set this field to `NOT_RENDERED`. In this
-                                # case, any other fill fields set in the same request will be ignored.
-                          },
-                        },
-                        "rowSpan": 42, # Row span of the cell.
-                        "columnSpan": 42, # Column span of the cell.
-                        "location": { # A location of a single table cell within a table. # The location of the cell within the table.
-                          "rowIndex": 42, # The 0-based row index.
-                          "columnIndex": 42, # The 0-based column index.
-                        },
-                      },
-                    ],
-                    "rowHeight": { # A magnitude in a single direction in the specified units. # Height of a row.
-                      "magnitude": 3.14, # The magnitude.
-                      "unit": "A String", # The units for magnitude.
-                    },
-                  },
-                ],
-                "rows": 42, # Number of rows in the table.
-                "columns": 42, # Number of columns in the table.
-              },
-              "line": { # A PageElement kind representing a # A line page element.
-                  # line, curved connector, or bent connector.
-                "lineProperties": { # The properties of the Line. # The properties of the line.
-                    #
-                    # When unset, these fields default to values that match the appearance of
-                    # new lines created in the Slides editor.
-                  "dashStyle": "A String", # The dash style of the line.
-                  "weight": { # A magnitude in a single direction in the specified units. # The thickness of the line.
-                    "magnitude": 3.14, # The magnitude.
-                    "unit": "A String", # The units for magnitude.
-                  },
-                  "endArrow": "A String", # The style of the arrow at the end of the line.
-                  "link": { # A hypertext link. # The hyperlink destination of the line. If unset, there is no link.
-                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
-                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                        # in the presentation. There may not be a slide at this index.
-                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                        # addressed by its position.
-                  },
-                  "lineFill": { # The fill of the line. # The fill of the line. The default line fill matches the defaults for new
-                      # lines created in the Slides editor.
-                    "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                        # specified color value.
-                        #
-                        # If any field is unset, its value may be inherited from a parent placeholder
-                        # if it exists.
-                      "color": { # A themeable solid color value. # The color value of the solid fill.
-                        "themeColor": "A String", # An opaque theme color.
-                        "rgbColor": { # An RGB color. # An opaque RGB color.
-                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                        },
-                      },
-                      "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                          # That is, the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color.
-                    },
-                  },
-                  "startArrow": "A String", # The style of the arrow at the beginning of the line.
-                },
-                "lineType": "A String", # The type of the line.
-              },
-              "size": { # A width and height. # The size of the page element.
-                "width": { # A magnitude in a single direction in the specified units. # The width of the object.
-                  "magnitude": 3.14, # The magnitude.
-                  "unit": "A String", # The units for magnitude.
-                },
-                "height": { # A magnitude in a single direction in the specified units. # The height of the object.
-                  "magnitude": 3.14, # The magnitude.
-                  "unit": "A String", # The units for magnitude.
-                },
-              },
-            },
-          ],
-          "notesProperties": { # The properties of Page that are only # Notes specific properties. Only set if page_type = NOTES.
-              # relevant for pages with page_type NOTES.
-            "speakerNotesObjectId": "A String", # The object ID of the shape on this notes page that contains the speaker
-                # notes for the corresponding slide.
-                # The actual shape may not always exist on the notes page. Inserting text
-                # using this object ID will automatically create the shape. In this case, the
-                # actual shape may have different object ID. The `GetPresentation` or
-                # `GetPage` action will always return the latest object ID.
-          },
-          "objectId": "A String", # The object ID for this page. Object IDs used by
-              # Page and
-              # PageElement share the same namespace.
-          "revisionId": "A String", # The revision ID of the presentation containing this page. Can be used in
-              # update requests to assert that the presentation revision hasn't changed
-              # since the last read operation. Only populated if the user has edit access
-              # to the presentation.
-              #
-              # The format of the revision ID may change over time, so it should be treated
-              # opaquely. A returned revision ID is only guaranteed to be valid for 24
-              # hours after it has been returned and cannot be shared across
-              # users. Callers can assume that if two revision IDs are equal then the
-              # presentation has not changed.
-          "pageProperties": { # The properties of the Page. # The properties of the page.
-              #
-              # The page will inherit properties from the parent page. Depending on the page
-              # type the hierarchy is defined in either
-              # SlideProperties or
-              # LayoutProperties.
-            "pageBackgroundFill": { # The page background fill. # The background fill of the page. If unset, the background fill is inherited
-                # from a parent page if it exists. If the page has no parent, then the
-                # background fill defaults to the corresponding fill in the Slides editor.
-              "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                  # specified color value.
-                  #
-                  # If any field is unset, its value may be inherited from a parent placeholder
-                  # if it exists.
-                "color": { # A themeable solid color value. # The color value of the solid fill.
-                  "themeColor": "A String", # An opaque theme color.
-                  "rgbColor": { # An RGB color. # An opaque RGB color.
-                    "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                    "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                    "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                  },
-                },
-                "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                    # That is, the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color.
-              },
-              "propertyState": "A String", # The background fill property state.
-                  #
-                  # Updating the the fill on a page will implicitly update this field to
-                  # `RENDERED`, unless another value is specified in the same request. To
-                  # have no fill on a page, set this field to `NOT_RENDERED`. In this case,
-                  # any other fill fields set in the same request will be ignored.
-              "stretchedPictureFill": { # The stretched picture fill. The page or page element is filled entirely with # Stretched picture fill.
-                  # the specified picture. The picture is stretched to fit its container.
-                "contentUrl": "A String", # Reading the content_url:
-                    #
-                    # An URL to a picture with a default lifetime of 30 minutes.
-                    # This URL is tagged with the account of the requester. Anyone with the URL
-                    # effectively accesses the picture as the original requester. Access to the
-                    # picture may be lost if the presentation's sharing settings change.
-                    #
-                    # Writing the content_url:
-                    #
-                    # The picture is fetched once at insertion time and a copy is stored for
-                    # display inside the presentation. Pictures must be less than 50MB in size,
-                    # cannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF
-                    # format.
-                "size": { # A width and height. # The original size of the picture fill. This field is read-only.
-                  "width": { # A magnitude in a single direction in the specified units. # The width of the object.
-                    "magnitude": 3.14, # The magnitude.
-                    "unit": "A String", # The units for magnitude.
-                  },
-                  "height": { # A magnitude in a single direction in the specified units. # The height of the object.
-                    "magnitude": 3.14, # The magnitude.
-                    "unit": "A String", # The units for magnitude.
-                  },
-                },
-              },
-            },
-            "colorScheme": { # The palette of predefined colors for a page. # The color scheme of the page. If unset, the color scheme is inherited from
-                # a parent page. If the page has no parent, the color scheme uses a default
-                # Slides color scheme. This field is read-only.
-              "colors": [ # The ThemeColorType and corresponding concrete color pairs.
-                { # A pair mapping a theme color type to the concrete color it represents.
-                  "color": { # An RGB color. # The concrete color corresponding to the theme color type above.
-                    "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                    "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                    "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                  },
-                  "type": "A String", # The type of the theme color.
-                },
-              ],
-            },
-          },
-          "pageType": "A String", # The type of the page.
-          "slideProperties": { # The properties of Page that are only # Slide specific properties. Only set if page_type = SLIDE.
-              # relevant for pages with page_type SLIDE.
-            "notesPage": # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual
-                # appearance of a notes page when printing or exporting slides with speaker
-                # notes. A notes page inherits properties from the
-                # notes master.
-                # The placeholder shape with type BODY on the notes page contains the speaker
-                # notes for this slide. The ID of this shape is identified by the
-                # speakerNotesObjectId field.
-                # The notes page is read-only except for the text content and styles of the
-                # speaker notes shape.
-            "masterObjectId": "A String", # The object ID of the master that this slide is based on.
-            "layoutObjectId": "A String", # The object ID of the layout that this slide is based on.
-          },
-        },
-      ],
-      "pageSize": { # A width and height. # The size of pages in the presentation.
-        "width": { # A magnitude in a single direction in the specified units. # The width of the object.
-          "magnitude": 3.14, # The magnitude.
-          "unit": "A String", # The units for magnitude.
-        },
-        "height": { # A magnitude in a single direction in the specified units. # The height of the object.
-          "magnitude": 3.14, # The magnitude.
-          "unit": "A String", # The units for magnitude.
-        },
-      },
-      "title": "A String", # The title of the presentation.
-      "locale": "A String", # The locale of the presentation, as an IETF BCP 47 language tag.
-      "revisionId": "A String", # The revision ID of the presentation. Can be used in update requests
-          # to assert that the presentation revision hasn't changed since the last
-          # read operation. Only populated if the user has edit access to the
-          # presentation.
-          #
-          # The format of the revision ID may change over time, so it should be treated
-          # opaquely. A returned revision ID is only guaranteed to be valid for 24
-          # hours after it has been returned and cannot be shared across users. Callers
-          # can assume that if two revision IDs are equal then the presentation has not
-          # changed.
       "notesMaster": { # A page in a presentation. # The notes master in the presentation. It serves three purposes:
           #
           # - Placeholder shapes on a notes master contain the default text styles and
@@ -12057,10 +10731,10 @@
                 },
                 "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                      # presentation with this ID. A page with this ID may not exist.
                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                       # in the presentation. There may not be a slide at this index.
+                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                      # presentation with this ID. A page with this ID may not exist.
                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                       # addressed by its position.
                 },
@@ -12091,17 +10765,17 @@
                   "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
                       # the right of the original bounding rectangle left edge, relative to the
                       # object's original width.
-                  "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                      # below the original bounding rectangle top edge, relative to the object's
-                      # original height.
-                  "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                      # above the original bounding rectangle bottom edge, relative to the object's
-                      # original height.
                   "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
                       # Rotation angle is applied after the offset.
                   "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
                       # to the left of the original bounding rectangle right edge, relative to the
                       # object's original width.
+                  "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                      # above the original bounding rectangle bottom edge, relative to the object's
+                      # original height.
+                  "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                      # below the original bounding rectangle top edge, relative to the object's
+                      # original height.
                 },
                 "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
                     # is read-only.
@@ -12231,26 +10905,47 @@
                               # rendered in a smaller font size, computed based on the `font_size` field.
                               # The `font_size` itself is not affected by changes in this field.
                           "strikethrough": True or False, # Whether or not the text is struck through.
-                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                              # read-only.
+                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                               #
                               # This field is an extension of `font_family` meant to support explicit font
                               # weights without breaking backwards compatibility. As such, when reading the
-                              # style of a range of text, the value of `weighted_font_family.font_family`
-                              # will always be equal to that of `font_family`.
+                              # style of a range of text, the value of `weighted_font_family#font_family`
+                              # will always be equal to that of `font_family`. However, when writing, if
+                              # both fields are included in the field mask (either explicitly or through
+                              # the wildcard `"*"`), their values are reconciled as follows:
+                              #
+                              # * If `font_family` is set and `weighted_font_family` is not, the value of
+                              #   `font_family` is applied with weight `400` ("normal").
+                              # * If both fields are set, the value of `font_family` must match that of
+                              #   `weighted_font_family#font_family`. If so, the font family and weight of
+                              #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                              #   returned.
+                              # * If `weighted_font_family` is set and `font_family` is not, the font
+                              #   family and weight of `weighted_font_family` is applied.
+                              # * If neither field is set, the font family and weight of the text inherit
+                              #   from the parent. Note that these properties cannot inherit separately
+                              #   from each other.
+                              #
+                              # If an update request specifies values for both `weighted_font_family` and
+                              # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                              #
+                              # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                              #
+                              # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                              # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                              # is returned.
                             "fontFamily": "A String", # The font family of the text.
                                 #
                                 # The font family can be any font from the Font menu in Slides or from
                                 # [Google Fonts] (https://fonts.google.com/). If the font name is
                                 # unrecognized, the text is rendered in `Arial`.
                             "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                # only the numerical values described in the "Cascading Style Sheets Level
-                                # 2 Revision 1 (CSS 2.1) Specification",
-                                # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                # non-numerical values in the specification are disallowed. Weights greater
-                                # than or equal to 700 are considered bold, and weights less than 700 are
-                                # not bold. The default value is `400` ("normal").
+                                # multiple of `100` between `100` and `900`, inclusive. This range
+                                # corresponds to the numerical values described in the CSS 2.1
+                                # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                # with non-numerical values disallowed. Weights greater than or equal to
+                                # `700` are considered bold, and weights less than `700`are not bold. The
+                                # default value is `400` ("normal").
                           },
                           "smallCaps": True or False, # Whether or not the text is in small capital letters.
                           "fontFamily": "A String", # The font family of the text.
@@ -12284,10 +10979,10 @@
                               #   text is another link) unless different styles are being set in the same
                               #   request.
                             "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                # presentation with this ID. A page with this ID may not exist.
                             "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                 # in the presentation. There may not be a slide at this index.
+                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                # presentation with this ID. A page with this ID may not exist.
                             "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                 # addressed by its position.
                           },
@@ -12358,26 +11053,47 @@
                             # rendered in a smaller font size, computed based on the `font_size` field.
                             # The `font_size` itself is not affected by changes in this field.
                         "strikethrough": True or False, # Whether or not the text is struck through.
-                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                            # read-only.
+                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                             #
                             # This field is an extension of `font_family` meant to support explicit font
                             # weights without breaking backwards compatibility. As such, when reading the
-                            # style of a range of text, the value of `weighted_font_family.font_family`
-                            # will always be equal to that of `font_family`.
+                            # style of a range of text, the value of `weighted_font_family#font_family`
+                            # will always be equal to that of `font_family`. However, when writing, if
+                            # both fields are included in the field mask (either explicitly or through
+                            # the wildcard `"*"`), their values are reconciled as follows:
+                            #
+                            # * If `font_family` is set and `weighted_font_family` is not, the value of
+                            #   `font_family` is applied with weight `400` ("normal").
+                            # * If both fields are set, the value of `font_family` must match that of
+                            #   `weighted_font_family#font_family`. If so, the font family and weight of
+                            #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                            #   returned.
+                            # * If `weighted_font_family` is set and `font_family` is not, the font
+                            #   family and weight of `weighted_font_family` is applied.
+                            # * If neither field is set, the font family and weight of the text inherit
+                            #   from the parent. Note that these properties cannot inherit separately
+                            #   from each other.
+                            #
+                            # If an update request specifies values for both `weighted_font_family` and
+                            # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                            #
+                            # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                            #
+                            # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                            # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                            # is returned.
                           "fontFamily": "A String", # The font family of the text.
                               #
                               # The font family can be any font from the Font menu in Slides or from
                               # [Google Fonts] (https://fonts.google.com/). If the font name is
                               # unrecognized, the text is rendered in `Arial`.
                           "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                              # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                              # only the numerical values described in the "Cascading Style Sheets Level
-                              # 2 Revision 1 (CSS 2.1) Specification",
-                              # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                              # non-numerical values in the specification are disallowed. Weights greater
-                              # than or equal to 700 are considered bold, and weights less than 700 are
-                              # not bold. The default value is `400` ("normal").
+                              # multiple of `100` between `100` and `900`, inclusive. This range
+                              # corresponds to the numerical values described in the CSS 2.1
+                              # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                              # with non-numerical values disallowed. Weights greater than or equal to
+                              # `700` are considered bold, and weights less than `700`are not bold. The
+                              # default value is `400` ("normal").
                         },
                         "smallCaps": True or False, # Whether or not the text is in small capital letters.
                         "fontFamily": "A String", # The font family of the text.
@@ -12411,10 +11127,10 @@
                             #   text is another link) unless different styles are being set in the same
                             #   request.
                           "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                              # presentation with this ID. A page with this ID may not exist.
                           "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                               # in the presentation. There may not be a slide at this index.
+                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                              # presentation with this ID. A page with this ID may not exist.
                           "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                               # addressed by its position.
                         },
@@ -12464,8 +11180,8 @@
                           # Inherited paragraph styles are represented as unset fields in this message.
                         "spacingMode": "A String", # The spacing mode for the paragraph.
                         "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                            # LEFT_TO_RIGHT
-                            # since text direction is not inherited.
+                            # LEFT_TO_RIGHT since
+                            # text direction is not inherited.
                         "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
                             # inherited from the parent.
                           "magnitude": 3.14, # The magnitude.
@@ -12537,26 +11253,47 @@
                               # rendered in a smaller font size, computed based on the `font_size` field.
                               # The `font_size` itself is not affected by changes in this field.
                           "strikethrough": True or False, # Whether or not the text is struck through.
-                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                              # read-only.
+                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                               #
                               # This field is an extension of `font_family` meant to support explicit font
                               # weights without breaking backwards compatibility. As such, when reading the
-                              # style of a range of text, the value of `weighted_font_family.font_family`
-                              # will always be equal to that of `font_family`.
+                              # style of a range of text, the value of `weighted_font_family#font_family`
+                              # will always be equal to that of `font_family`. However, when writing, if
+                              # both fields are included in the field mask (either explicitly or through
+                              # the wildcard `"*"`), their values are reconciled as follows:
+                              #
+                              # * If `font_family` is set and `weighted_font_family` is not, the value of
+                              #   `font_family` is applied with weight `400` ("normal").
+                              # * If both fields are set, the value of `font_family` must match that of
+                              #   `weighted_font_family#font_family`. If so, the font family and weight of
+                              #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                              #   returned.
+                              # * If `weighted_font_family` is set and `font_family` is not, the font
+                              #   family and weight of `weighted_font_family` is applied.
+                              # * If neither field is set, the font family and weight of the text inherit
+                              #   from the parent. Note that these properties cannot inherit separately
+                              #   from each other.
+                              #
+                              # If an update request specifies values for both `weighted_font_family` and
+                              # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                              #
+                              # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                              #
+                              # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                              # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                              # is returned.
                             "fontFamily": "A String", # The font family of the text.
                                 #
                                 # The font family can be any font from the Font menu in Slides or from
                                 # [Google Fonts] (https://fonts.google.com/). If the font name is
                                 # unrecognized, the text is rendered in `Arial`.
                             "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                # only the numerical values described in the "Cascading Style Sheets Level
-                                # 2 Revision 1 (CSS 2.1) Specification",
-                                # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                # non-numerical values in the specification are disallowed. Weights greater
-                                # than or equal to 700 are considered bold, and weights less than 700 are
-                                # not bold. The default value is `400` ("normal").
+                                # multiple of `100` between `100` and `900`, inclusive. This range
+                                # corresponds to the numerical values described in the CSS 2.1
+                                # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                # with non-numerical values disallowed. Weights greater than or equal to
+                                # `700` are considered bold, and weights less than `700`are not bold. The
+                                # default value is `400` ("normal").
                           },
                           "smallCaps": True or False, # Whether or not the text is in small capital letters.
                           "fontFamily": "A String", # The font family of the text.
@@ -12590,10 +11327,10 @@
                               #   text is another link) unless different styles are being set in the same
                               #   request.
                             "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                # presentation with this ID. A page with this ID may not exist.
                             "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                 # in the presentation. There may not be a slide at this index.
+                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                # presentation with this ID. A page with this ID may not exist.
                             "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                 # addressed by its position.
                           },
@@ -12663,26 +11400,47 @@
                             # rendered in a smaller font size, computed based on the `font_size` field.
                             # The `font_size` itself is not affected by changes in this field.
                         "strikethrough": True or False, # Whether or not the text is struck through.
-                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                            # read-only.
+                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                             #
                             # This field is an extension of `font_family` meant to support explicit font
                             # weights without breaking backwards compatibility. As such, when reading the
-                            # style of a range of text, the value of `weighted_font_family.font_family`
-                            # will always be equal to that of `font_family`.
+                            # style of a range of text, the value of `weighted_font_family#font_family`
+                            # will always be equal to that of `font_family`. However, when writing, if
+                            # both fields are included in the field mask (either explicitly or through
+                            # the wildcard `"*"`), their values are reconciled as follows:
+                            #
+                            # * If `font_family` is set and `weighted_font_family` is not, the value of
+                            #   `font_family` is applied with weight `400` ("normal").
+                            # * If both fields are set, the value of `font_family` must match that of
+                            #   `weighted_font_family#font_family`. If so, the font family and weight of
+                            #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                            #   returned.
+                            # * If `weighted_font_family` is set and `font_family` is not, the font
+                            #   family and weight of `weighted_font_family` is applied.
+                            # * If neither field is set, the font family and weight of the text inherit
+                            #   from the parent. Note that these properties cannot inherit separately
+                            #   from each other.
+                            #
+                            # If an update request specifies values for both `weighted_font_family` and
+                            # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                            #
+                            # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                            #
+                            # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                            # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                            # is returned.
                           "fontFamily": "A String", # The font family of the text.
                               #
                               # The font family can be any font from the Font menu in Slides or from
                               # [Google Fonts] (https://fonts.google.com/). If the font name is
                               # unrecognized, the text is rendered in `Arial`.
                           "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                              # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                              # only the numerical values described in the "Cascading Style Sheets Level
-                              # 2 Revision 1 (CSS 2.1) Specification",
-                              # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                              # non-numerical values in the specification are disallowed. Weights greater
-                              # than or equal to 700 are considered bold, and weights less than 700 are
-                              # not bold. The default value is `400` ("normal").
+                              # multiple of `100` between `100` and `900`, inclusive. This range
+                              # corresponds to the numerical values described in the CSS 2.1
+                              # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                              # with non-numerical values disallowed. Weights greater than or equal to
+                              # `700` are considered bold, and weights less than `700`are not bold. The
+                              # default value is `400` ("normal").
                         },
                         "smallCaps": True or False, # Whether or not the text is in small capital letters.
                         "fontFamily": "A String", # The font family of the text.
@@ -12716,10 +11474,10 @@
                             #   text is another link) unless different styles are being set in the same
                             #   request.
                           "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                              # presentation with this ID. A page with this ID may not exist.
                           "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                               # in the presentation. There may not be a slide at this index.
+                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                              # presentation with this ID. A page with this ID may not exist.
                           "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                               # addressed by its position.
                         },
@@ -12844,10 +11602,10 @@
                 "link": { # A hypertext link. # The hyperlink destination of the shape. If unset, there is no link. Links
                     # are not inherited from parent placeholders.
                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                      # presentation with this ID. A page with this ID may not exist.
                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                       # in the presentation. There may not be a slide at this index.
+                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                      # presentation with this ID. A page with this ID may not exist.
                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                       # addressed by its position.
                 },
@@ -12906,8 +11664,8 @@
                 "parentObjectId": "A String", # The object ID of this shape's parent placeholder.
                     # If unset, the parent placeholder shape does not exist, so the shape does
                     # not inherit properties from any other shape.
-                "index": 42, # The index of the placeholder. If the same placeholder types are the present
-                    # in the same page, they would have different index values.
+                "index": 42, # The index of the placeholder. If the same placeholder types are present in
+                    # the same page, they would have different index values.
                 "type": "A String", # The type of the placeholder.
               },
               "shapeType": "A String", # The type of the shape.
@@ -12915,12 +11673,11 @@
             "sheetsChart": { # A PageElement kind representing # A linked chart embedded from Google Sheets. Unlinked charts are
                 # represented as images.
                 # a linked chart embedded from Google Sheets.
-              "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
-                  # embedded.
               "contentUrl": "A String", # The URL of an image of the embedded chart, with a default lifetime of 30
                   # minutes. This URL is tagged with the account of the requester. Anyone with
                   # the URL effectively accesses the image as the original requester. Access to
                   # the image may be lost if the presentation's sharing settings change.
+              "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
               "sheetsChartProperties": { # The properties of the SheetsChart. # The properties of the Sheets chart.
                 "chartImageProperties": { # The properties of the Image. # The properties of the embedded chart image.
                   "outline": { # The outline of a PageElement. # The outline of the image. If not set, the the image has no outline.
@@ -12998,10 +11755,10 @@
                   },
                   "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                         # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                         # addressed by its position.
                   },
@@ -13032,17 +11789,17 @@
                     "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
                         # the right of the original bounding rectangle left edge, relative to the
                         # object's original width.
-                    "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                        # below the original bounding rectangle top edge, relative to the object's
-                        # original height.
-                    "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                        # above the original bounding rectangle bottom edge, relative to the object's
-                        # original height.
                     "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
                         # Rotation angle is applied after the offset.
                     "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
                         # to the left of the original bounding rectangle right edge, relative to the
                         # object's original width.
+                    "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                        # above the original bounding rectangle bottom edge, relative to the object's
+                        # original height.
+                    "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                        # below the original bounding rectangle top edge, relative to the object's
+                        # original height.
                   },
                   "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
                       # is read-only.
@@ -13102,14 +11859,13 @@
                       # [-1.0, 1.0], where 0 means no effect. This property is read-only.
                 },
               },
-              "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
+              "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
+                  # embedded.
             },
             "video": { # A PageElement kind representing a # A video page element.
                 # video.
               "url": "A String", # An URL to a video. The URL is valid as long as the source video
                   # exists and sharing settings do not change.
-              "source": "A String", # The video source.
-              "id": "A String", # The video source's unique identifier for this video.
               "videoProperties": { # The properties of the Video. # The properties of the video.
                 "outline": { # The outline of a PageElement. # The outline of the video. The default outline matches the defaults for new
                     # videos created in the Slides editor.
@@ -13155,6 +11911,8 @@
                   },
                 },
               },
+              "id": "A String", # The video source's unique identifier for this video.
+              "source": "A String", # The video source.
             },
             "elementGroup": { # A PageElement kind representing a # A collection of page elements joined as a single unit.
                 # joined collection of PageElements.
@@ -13232,26 +11990,47 @@
                                       # rendered in a smaller font size, computed based on the `font_size` field.
                                       # The `font_size` itself is not affected by changes in this field.
                                   "strikethrough": True or False, # Whether or not the text is struck through.
-                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                      # read-only.
+                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                       #
                                       # This field is an extension of `font_family` meant to support explicit font
                                       # weights without breaking backwards compatibility. As such, when reading the
-                                      # style of a range of text, the value of `weighted_font_family.font_family`
-                                      # will always be equal to that of `font_family`.
+                                      # style of a range of text, the value of `weighted_font_family#font_family`
+                                      # will always be equal to that of `font_family`. However, when writing, if
+                                      # both fields are included in the field mask (either explicitly or through
+                                      # the wildcard `"*"`), their values are reconciled as follows:
+                                      #
+                                      # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                      #   `font_family` is applied with weight `400` ("normal").
+                                      # * If both fields are set, the value of `font_family` must match that of
+                                      #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                      #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                      #   returned.
+                                      # * If `weighted_font_family` is set and `font_family` is not, the font
+                                      #   family and weight of `weighted_font_family` is applied.
+                                      # * If neither field is set, the font family and weight of the text inherit
+                                      #   from the parent. Note that these properties cannot inherit separately
+                                      #   from each other.
+                                      #
+                                      # If an update request specifies values for both `weighted_font_family` and
+                                      # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                      #
+                                      # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                      #
+                                      # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                      # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                      # is returned.
                                     "fontFamily": "A String", # The font family of the text.
                                         #
                                         # The font family can be any font from the Font menu in Slides or from
                                         # [Google Fonts] (https://fonts.google.com/). If the font name is
                                         # unrecognized, the text is rendered in `Arial`.
                                     "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                        # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                        # only the numerical values described in the "Cascading Style Sheets Level
-                                        # 2 Revision 1 (CSS 2.1) Specification",
-                                        # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                        # non-numerical values in the specification are disallowed. Weights greater
-                                        # than or equal to 700 are considered bold, and weights less than 700 are
-                                        # not bold. The default value is `400` ("normal").
+                                        # multiple of `100` between `100` and `900`, inclusive. This range
+                                        # corresponds to the numerical values described in the CSS 2.1
+                                        # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                        # with non-numerical values disallowed. Weights greater than or equal to
+                                        # `700` are considered bold, and weights less than `700`are not bold. The
+                                        # default value is `400` ("normal").
                                   },
                                   "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                   "fontFamily": "A String", # The font family of the text.
@@ -13285,10 +12064,10 @@
                                       #   text is another link) unless different styles are being set in the same
                                       #   request.
                                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                        # presentation with this ID. A page with this ID may not exist.
                                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                         # in the presentation. There may not be a slide at this index.
+                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                        # presentation with this ID. A page with this ID may not exist.
                                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                         # addressed by its position.
                                   },
@@ -13359,26 +12138,47 @@
                                     # rendered in a smaller font size, computed based on the `font_size` field.
                                     # The `font_size` itself is not affected by changes in this field.
                                 "strikethrough": True or False, # Whether or not the text is struck through.
-                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                    # read-only.
+                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                     #
                                     # This field is an extension of `font_family` meant to support explicit font
                                     # weights without breaking backwards compatibility. As such, when reading the
-                                    # style of a range of text, the value of `weighted_font_family.font_family`
-                                    # will always be equal to that of `font_family`.
+                                    # style of a range of text, the value of `weighted_font_family#font_family`
+                                    # will always be equal to that of `font_family`. However, when writing, if
+                                    # both fields are included in the field mask (either explicitly or through
+                                    # the wildcard `"*"`), their values are reconciled as follows:
+                                    #
+                                    # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                    #   `font_family` is applied with weight `400` ("normal").
+                                    # * If both fields are set, the value of `font_family` must match that of
+                                    #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                    #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                    #   returned.
+                                    # * If `weighted_font_family` is set and `font_family` is not, the font
+                                    #   family and weight of `weighted_font_family` is applied.
+                                    # * If neither field is set, the font family and weight of the text inherit
+                                    #   from the parent. Note that these properties cannot inherit separately
+                                    #   from each other.
+                                    #
+                                    # If an update request specifies values for both `weighted_font_family` and
+                                    # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                    #
+                                    # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                    #
+                                    # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                    # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                    # is returned.
                                   "fontFamily": "A String", # The font family of the text.
                                       #
                                       # The font family can be any font from the Font menu in Slides or from
                                       # [Google Fonts] (https://fonts.google.com/). If the font name is
                                       # unrecognized, the text is rendered in `Arial`.
                                   "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                      # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                      # only the numerical values described in the "Cascading Style Sheets Level
-                                      # 2 Revision 1 (CSS 2.1) Specification",
-                                      # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                      # non-numerical values in the specification are disallowed. Weights greater
-                                      # than or equal to 700 are considered bold, and weights less than 700 are
-                                      # not bold. The default value is `400` ("normal").
+                                      # multiple of `100` between `100` and `900`, inclusive. This range
+                                      # corresponds to the numerical values described in the CSS 2.1
+                                      # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                      # with non-numerical values disallowed. Weights greater than or equal to
+                                      # `700` are considered bold, and weights less than `700`are not bold. The
+                                      # default value is `400` ("normal").
                                 },
                                 "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                 "fontFamily": "A String", # The font family of the text.
@@ -13412,10 +12212,10 @@
                                     #   text is another link) unless different styles are being set in the same
                                     #   request.
                                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                      # presentation with this ID. A page with this ID may not exist.
                                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                       # in the presentation. There may not be a slide at this index.
+                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                      # presentation with this ID. A page with this ID may not exist.
                                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                       # addressed by its position.
                                 },
@@ -13465,8 +12265,8 @@
                                   # Inherited paragraph styles are represented as unset fields in this message.
                                 "spacingMode": "A String", # The spacing mode for the paragraph.
                                 "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                                    # LEFT_TO_RIGHT
-                                    # since text direction is not inherited.
+                                    # LEFT_TO_RIGHT since
+                                    # text direction is not inherited.
                                 "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
                                     # inherited from the parent.
                                   "magnitude": 3.14, # The magnitude.
@@ -13538,26 +12338,47 @@
                                       # rendered in a smaller font size, computed based on the `font_size` field.
                                       # The `font_size` itself is not affected by changes in this field.
                                   "strikethrough": True or False, # Whether or not the text is struck through.
-                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                      # read-only.
+                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                       #
                                       # This field is an extension of `font_family` meant to support explicit font
                                       # weights without breaking backwards compatibility. As such, when reading the
-                                      # style of a range of text, the value of `weighted_font_family.font_family`
-                                      # will always be equal to that of `font_family`.
+                                      # style of a range of text, the value of `weighted_font_family#font_family`
+                                      # will always be equal to that of `font_family`. However, when writing, if
+                                      # both fields are included in the field mask (either explicitly or through
+                                      # the wildcard `"*"`), their values are reconciled as follows:
+                                      #
+                                      # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                      #   `font_family` is applied with weight `400` ("normal").
+                                      # * If both fields are set, the value of `font_family` must match that of
+                                      #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                      #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                      #   returned.
+                                      # * If `weighted_font_family` is set and `font_family` is not, the font
+                                      #   family and weight of `weighted_font_family` is applied.
+                                      # * If neither field is set, the font family and weight of the text inherit
+                                      #   from the parent. Note that these properties cannot inherit separately
+                                      #   from each other.
+                                      #
+                                      # If an update request specifies values for both `weighted_font_family` and
+                                      # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                      #
+                                      # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                      #
+                                      # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                      # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                      # is returned.
                                     "fontFamily": "A String", # The font family of the text.
                                         #
                                         # The font family can be any font from the Font menu in Slides or from
                                         # [Google Fonts] (https://fonts.google.com/). If the font name is
                                         # unrecognized, the text is rendered in `Arial`.
                                     "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                        # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                        # only the numerical values described in the "Cascading Style Sheets Level
-                                        # 2 Revision 1 (CSS 2.1) Specification",
-                                        # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                        # non-numerical values in the specification are disallowed. Weights greater
-                                        # than or equal to 700 are considered bold, and weights less than 700 are
-                                        # not bold. The default value is `400` ("normal").
+                                        # multiple of `100` between `100` and `900`, inclusive. This range
+                                        # corresponds to the numerical values described in the CSS 2.1
+                                        # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                        # with non-numerical values disallowed. Weights greater than or equal to
+                                        # `700` are considered bold, and weights less than `700`are not bold. The
+                                        # default value is `400` ("normal").
                                   },
                                   "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                   "fontFamily": "A String", # The font family of the text.
@@ -13591,10 +12412,10 @@
                                       #   text is another link) unless different styles are being set in the same
                                       #   request.
                                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                        # presentation with this ID. A page with this ID may not exist.
                                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                         # in the presentation. There may not be a slide at this index.
+                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                        # presentation with this ID. A page with this ID may not exist.
                                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                         # addressed by its position.
                                   },
@@ -13664,26 +12485,47 @@
                                     # rendered in a smaller font size, computed based on the `font_size` field.
                                     # The `font_size` itself is not affected by changes in this field.
                                 "strikethrough": True or False, # Whether or not the text is struck through.
-                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                    # read-only.
+                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                     #
                                     # This field is an extension of `font_family` meant to support explicit font
                                     # weights without breaking backwards compatibility. As such, when reading the
-                                    # style of a range of text, the value of `weighted_font_family.font_family`
-                                    # will always be equal to that of `font_family`.
+                                    # style of a range of text, the value of `weighted_font_family#font_family`
+                                    # will always be equal to that of `font_family`. However, when writing, if
+                                    # both fields are included in the field mask (either explicitly or through
+                                    # the wildcard `"*"`), their values are reconciled as follows:
+                                    #
+                                    # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                    #   `font_family` is applied with weight `400` ("normal").
+                                    # * If both fields are set, the value of `font_family` must match that of
+                                    #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                    #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                    #   returned.
+                                    # * If `weighted_font_family` is set and `font_family` is not, the font
+                                    #   family and weight of `weighted_font_family` is applied.
+                                    # * If neither field is set, the font family and weight of the text inherit
+                                    #   from the parent. Note that these properties cannot inherit separately
+                                    #   from each other.
+                                    #
+                                    # If an update request specifies values for both `weighted_font_family` and
+                                    # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                    #
+                                    # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                    #
+                                    # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                    # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                    # is returned.
                                   "fontFamily": "A String", # The font family of the text.
                                       #
                                       # The font family can be any font from the Font menu in Slides or from
                                       # [Google Fonts] (https://fonts.google.com/). If the font name is
                                       # unrecognized, the text is rendered in `Arial`.
                                   "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                      # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                      # only the numerical values described in the "Cascading Style Sheets Level
-                                      # 2 Revision 1 (CSS 2.1) Specification",
-                                      # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                      # non-numerical values in the specification are disallowed. Weights greater
-                                      # than or equal to 700 are considered bold, and weights less than 700 are
-                                      # not bold. The default value is `400` ("normal").
+                                      # multiple of `100` between `100` and `900`, inclusive. This range
+                                      # corresponds to the numerical values described in the CSS 2.1
+                                      # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                      # with non-numerical values disallowed. Weights greater than or equal to
+                                      # `700` are considered bold, and weights less than `700`are not bold. The
+                                      # default value is `400` ("normal").
                                 },
                                 "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                 "fontFamily": "A String", # The font family of the text.
@@ -13717,10 +12559,10 @@
                                     #   text is another link) unless different styles are being set in the same
                                     #   request.
                                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                      # presentation with this ID. A page with this ID may not exist.
                                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                       # in the presentation. There may not be a slide at this index.
+                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                      # presentation with this ID. A page with this ID may not exist.
                                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                       # addressed by its position.
                                 },
@@ -13810,10 +12652,10 @@
                 "endArrow": "A String", # The style of the arrow at the end of the line.
                 "link": { # A hypertext link. # The hyperlink destination of the line. If unset, there is no link.
                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                      # presentation with this ID. A page with this ID may not exist.
                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                       # in the presentation. There may not be a slide at this index.
+                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                      # presentation with this ID. A page with this ID may not exist.
                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                       # addressed by its position.
                 },
@@ -13876,9 +12718,11 @@
             #
             # The format of the revision ID may change over time, so it should be treated
             # opaquely. A returned revision ID is only guaranteed to be valid for 24
-            # hours after it has been returned and cannot be shared across
-            # users. Callers can assume that if two revision IDs are equal then the
-            # presentation has not changed.
+            # hours after it has been returned and cannot be shared across users. If the
+            # revision ID is unchanged between calls, then the presentation has not
+            # changed. Conversely, a changed ID (for the same presentation and user)
+            # usually means the presentation has been updated; however, a changed ID can
+            # also be due to internal factors such as ID format changes.
         "pageProperties": { # The properties of the Page. # The properties of the page.
             #
             # The page will inherit properties from the parent page. Depending on the page
@@ -13973,8 +12817,40 @@
           "layoutObjectId": "A String", # The object ID of the layout that this slide is based on.
         },
       },
-      "slides": [ # The slides in the presentation.
-          # A slide inherits properties from a slide layout.
+      "pageSize": { # A width and height. # The size of pages in the presentation.
+        "width": { # A magnitude in a single direction in the specified units. # The width of the object.
+          "magnitude": 3.14, # The magnitude.
+          "unit": "A String", # The units for magnitude.
+        },
+        "height": { # A magnitude in a single direction in the specified units. # The height of the object.
+          "magnitude": 3.14, # The magnitude.
+          "unit": "A String", # The units for magnitude.
+        },
+      },
+      "title": "A String", # The title of the presentation.
+      "locale": "A String", # The locale of the presentation, as an IETF BCP 47 language tag.
+      "revisionId": "A String", # The revision ID of the presentation. Can be used in update requests
+          # to assert that the presentation revision hasn't changed since the last
+          # read operation. Only populated if the user has edit access to the
+          # presentation.
+          #
+          # The format of the revision ID may change over time, so it should be treated
+          # opaquely. A returned revision ID is only guaranteed to be valid for 24
+          # hours after it has been returned and cannot be shared across users. If the
+          # revision ID is unchanged between calls, then the presentation has not
+          # changed. Conversely, a changed ID (for the same presentation and user)
+          # usually means the presentation has been updated; however, a changed ID can
+          # also be due to internal factors such as ID format changes.
+      "masters": [ # The slide masters in the presentation. A slide master contains all common
+          # page elements and the common properties for a set of layouts. They serve
+          # three purposes:
+          #
+          # - Placeholder shapes on a master contain the default text styles and shape
+          #   properties of all placeholder shapes on pages that use that master.
+          # - The master page properties define the common page properties inherited by
+          #   its layouts.
+          # - Any other shapes on the master slide will appear on all slides using that
+          #   master, regardless of their layout.
         { # A page in a presentation.
           "layoutProperties": { # The properties of Page are only # Layout specific properties. Only set if page_type = LAYOUT.
               # relevant for pages with page_type LAYOUT.
@@ -14077,10 +12953,10 @@
                   },
                   "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                         # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                         # addressed by its position.
                   },
@@ -14111,17 +12987,17 @@
                     "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
                         # the right of the original bounding rectangle left edge, relative to the
                         # object's original width.
-                    "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                        # below the original bounding rectangle top edge, relative to the object's
-                        # original height.
-                    "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                        # above the original bounding rectangle bottom edge, relative to the object's
-                        # original height.
                     "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
                         # Rotation angle is applied after the offset.
                     "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
                         # to the left of the original bounding rectangle right edge, relative to the
                         # object's original width.
+                    "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                        # above the original bounding rectangle bottom edge, relative to the object's
+                        # original height.
+                    "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                        # below the original bounding rectangle top edge, relative to the object's
+                        # original height.
                   },
                   "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
                       # is read-only.
@@ -14251,26 +13127,47 @@
                                 # rendered in a smaller font size, computed based on the `font_size` field.
                                 # The `font_size` itself is not affected by changes in this field.
                             "strikethrough": True or False, # Whether or not the text is struck through.
-                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                # read-only.
+                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                 #
                                 # This field is an extension of `font_family` meant to support explicit font
                                 # weights without breaking backwards compatibility. As such, when reading the
-                                # style of a range of text, the value of `weighted_font_family.font_family`
-                                # will always be equal to that of `font_family`.
+                                # style of a range of text, the value of `weighted_font_family#font_family`
+                                # will always be equal to that of `font_family`. However, when writing, if
+                                # both fields are included in the field mask (either explicitly or through
+                                # the wildcard `"*"`), their values are reconciled as follows:
+                                #
+                                # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                #   `font_family` is applied with weight `400` ("normal").
+                                # * If both fields are set, the value of `font_family` must match that of
+                                #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                #   returned.
+                                # * If `weighted_font_family` is set and `font_family` is not, the font
+                                #   family and weight of `weighted_font_family` is applied.
+                                # * If neither field is set, the font family and weight of the text inherit
+                                #   from the parent. Note that these properties cannot inherit separately
+                                #   from each other.
+                                #
+                                # If an update request specifies values for both `weighted_font_family` and
+                                # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                #
+                                # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                #
+                                # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                # is returned.
                               "fontFamily": "A String", # The font family of the text.
                                   #
                                   # The font family can be any font from the Font menu in Slides or from
                                   # [Google Fonts] (https://fonts.google.com/). If the font name is
                                   # unrecognized, the text is rendered in `Arial`.
                               "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                  # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                  # only the numerical values described in the "Cascading Style Sheets Level
-                                  # 2 Revision 1 (CSS 2.1) Specification",
-                                  # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                  # non-numerical values in the specification are disallowed. Weights greater
-                                  # than or equal to 700 are considered bold, and weights less than 700 are
-                                  # not bold. The default value is `400` ("normal").
+                                  # multiple of `100` between `100` and `900`, inclusive. This range
+                                  # corresponds to the numerical values described in the CSS 2.1
+                                  # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                  # with non-numerical values disallowed. Weights greater than or equal to
+                                  # `700` are considered bold, and weights less than `700`are not bold. The
+                                  # default value is `400` ("normal").
                             },
                             "smallCaps": True or False, # Whether or not the text is in small capital letters.
                             "fontFamily": "A String", # The font family of the text.
@@ -14304,10 +13201,10 @@
                                 #   text is another link) unless different styles are being set in the same
                                 #   request.
                               "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                  # presentation with this ID. A page with this ID may not exist.
                               "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                   # in the presentation. There may not be a slide at this index.
+                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                  # presentation with this ID. A page with this ID may not exist.
                               "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                   # addressed by its position.
                             },
@@ -14378,26 +13275,47 @@
                               # rendered in a smaller font size, computed based on the `font_size` field.
                               # The `font_size` itself is not affected by changes in this field.
                           "strikethrough": True or False, # Whether or not the text is struck through.
-                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                              # read-only.
+                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                               #
                               # This field is an extension of `font_family` meant to support explicit font
                               # weights without breaking backwards compatibility. As such, when reading the
-                              # style of a range of text, the value of `weighted_font_family.font_family`
-                              # will always be equal to that of `font_family`.
+                              # style of a range of text, the value of `weighted_font_family#font_family`
+                              # will always be equal to that of `font_family`. However, when writing, if
+                              # both fields are included in the field mask (either explicitly or through
+                              # the wildcard `"*"`), their values are reconciled as follows:
+                              #
+                              # * If `font_family` is set and `weighted_font_family` is not, the value of
+                              #   `font_family` is applied with weight `400` ("normal").
+                              # * If both fields are set, the value of `font_family` must match that of
+                              #   `weighted_font_family#font_family`. If so, the font family and weight of
+                              #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                              #   returned.
+                              # * If `weighted_font_family` is set and `font_family` is not, the font
+                              #   family and weight of `weighted_font_family` is applied.
+                              # * If neither field is set, the font family and weight of the text inherit
+                              #   from the parent. Note that these properties cannot inherit separately
+                              #   from each other.
+                              #
+                              # If an update request specifies values for both `weighted_font_family` and
+                              # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                              #
+                              # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                              #
+                              # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                              # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                              # is returned.
                             "fontFamily": "A String", # The font family of the text.
                                 #
                                 # The font family can be any font from the Font menu in Slides or from
                                 # [Google Fonts] (https://fonts.google.com/). If the font name is
                                 # unrecognized, the text is rendered in `Arial`.
                             "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                # only the numerical values described in the "Cascading Style Sheets Level
-                                # 2 Revision 1 (CSS 2.1) Specification",
-                                # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                # non-numerical values in the specification are disallowed. Weights greater
-                                # than or equal to 700 are considered bold, and weights less than 700 are
-                                # not bold. The default value is `400` ("normal").
+                                # multiple of `100` between `100` and `900`, inclusive. This range
+                                # corresponds to the numerical values described in the CSS 2.1
+                                # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                # with non-numerical values disallowed. Weights greater than or equal to
+                                # `700` are considered bold, and weights less than `700`are not bold. The
+                                # default value is `400` ("normal").
                           },
                           "smallCaps": True or False, # Whether or not the text is in small capital letters.
                           "fontFamily": "A String", # The font family of the text.
@@ -14431,10 +13349,10 @@
                               #   text is another link) unless different styles are being set in the same
                               #   request.
                             "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                # presentation with this ID. A page with this ID may not exist.
                             "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                 # in the presentation. There may not be a slide at this index.
+                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                # presentation with this ID. A page with this ID may not exist.
                             "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                 # addressed by its position.
                           },
@@ -14484,8 +13402,8 @@
                             # Inherited paragraph styles are represented as unset fields in this message.
                           "spacingMode": "A String", # The spacing mode for the paragraph.
                           "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                              # LEFT_TO_RIGHT
-                              # since text direction is not inherited.
+                              # LEFT_TO_RIGHT since
+                              # text direction is not inherited.
                           "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
                               # inherited from the parent.
                             "magnitude": 3.14, # The magnitude.
@@ -14557,26 +13475,47 @@
                                 # rendered in a smaller font size, computed based on the `font_size` field.
                                 # The `font_size` itself is not affected by changes in this field.
                             "strikethrough": True or False, # Whether or not the text is struck through.
-                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                # read-only.
+                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                 #
                                 # This field is an extension of `font_family` meant to support explicit font
                                 # weights without breaking backwards compatibility. As such, when reading the
-                                # style of a range of text, the value of `weighted_font_family.font_family`
-                                # will always be equal to that of `font_family`.
+                                # style of a range of text, the value of `weighted_font_family#font_family`
+                                # will always be equal to that of `font_family`. However, when writing, if
+                                # both fields are included in the field mask (either explicitly or through
+                                # the wildcard `"*"`), their values are reconciled as follows:
+                                #
+                                # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                #   `font_family` is applied with weight `400` ("normal").
+                                # * If both fields are set, the value of `font_family` must match that of
+                                #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                #   returned.
+                                # * If `weighted_font_family` is set and `font_family` is not, the font
+                                #   family and weight of `weighted_font_family` is applied.
+                                # * If neither field is set, the font family and weight of the text inherit
+                                #   from the parent. Note that these properties cannot inherit separately
+                                #   from each other.
+                                #
+                                # If an update request specifies values for both `weighted_font_family` and
+                                # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                #
+                                # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                #
+                                # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                # is returned.
                               "fontFamily": "A String", # The font family of the text.
                                   #
                                   # The font family can be any font from the Font menu in Slides or from
                                   # [Google Fonts] (https://fonts.google.com/). If the font name is
                                   # unrecognized, the text is rendered in `Arial`.
                               "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                  # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                  # only the numerical values described in the "Cascading Style Sheets Level
-                                  # 2 Revision 1 (CSS 2.1) Specification",
-                                  # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                  # non-numerical values in the specification are disallowed. Weights greater
-                                  # than or equal to 700 are considered bold, and weights less than 700 are
-                                  # not bold. The default value is `400` ("normal").
+                                  # multiple of `100` between `100` and `900`, inclusive. This range
+                                  # corresponds to the numerical values described in the CSS 2.1
+                                  # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                  # with non-numerical values disallowed. Weights greater than or equal to
+                                  # `700` are considered bold, and weights less than `700`are not bold. The
+                                  # default value is `400` ("normal").
                             },
                             "smallCaps": True or False, # Whether or not the text is in small capital letters.
                             "fontFamily": "A String", # The font family of the text.
@@ -14610,10 +13549,10 @@
                                 #   text is another link) unless different styles are being set in the same
                                 #   request.
                               "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                  # presentation with this ID. A page with this ID may not exist.
                               "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                   # in the presentation. There may not be a slide at this index.
+                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                  # presentation with this ID. A page with this ID may not exist.
                               "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                   # addressed by its position.
                             },
@@ -14683,26 +13622,47 @@
                               # rendered in a smaller font size, computed based on the `font_size` field.
                               # The `font_size` itself is not affected by changes in this field.
                           "strikethrough": True or False, # Whether or not the text is struck through.
-                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                              # read-only.
+                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                               #
                               # This field is an extension of `font_family` meant to support explicit font
                               # weights without breaking backwards compatibility. As such, when reading the
-                              # style of a range of text, the value of `weighted_font_family.font_family`
-                              # will always be equal to that of `font_family`.
+                              # style of a range of text, the value of `weighted_font_family#font_family`
+                              # will always be equal to that of `font_family`. However, when writing, if
+                              # both fields are included in the field mask (either explicitly or through
+                              # the wildcard `"*"`), their values are reconciled as follows:
+                              #
+                              # * If `font_family` is set and `weighted_font_family` is not, the value of
+                              #   `font_family` is applied with weight `400` ("normal").
+                              # * If both fields are set, the value of `font_family` must match that of
+                              #   `weighted_font_family#font_family`. If so, the font family and weight of
+                              #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                              #   returned.
+                              # * If `weighted_font_family` is set and `font_family` is not, the font
+                              #   family and weight of `weighted_font_family` is applied.
+                              # * If neither field is set, the font family and weight of the text inherit
+                              #   from the parent. Note that these properties cannot inherit separately
+                              #   from each other.
+                              #
+                              # If an update request specifies values for both `weighted_font_family` and
+                              # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                              #
+                              # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                              #
+                              # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                              # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                              # is returned.
                             "fontFamily": "A String", # The font family of the text.
                                 #
                                 # The font family can be any font from the Font menu in Slides or from
                                 # [Google Fonts] (https://fonts.google.com/). If the font name is
                                 # unrecognized, the text is rendered in `Arial`.
                             "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                # only the numerical values described in the "Cascading Style Sheets Level
-                                # 2 Revision 1 (CSS 2.1) Specification",
-                                # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                # non-numerical values in the specification are disallowed. Weights greater
-                                # than or equal to 700 are considered bold, and weights less than 700 are
-                                # not bold. The default value is `400` ("normal").
+                                # multiple of `100` between `100` and `900`, inclusive. This range
+                                # corresponds to the numerical values described in the CSS 2.1
+                                # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                # with non-numerical values disallowed. Weights greater than or equal to
+                                # `700` are considered bold, and weights less than `700`are not bold. The
+                                # default value is `400` ("normal").
                           },
                           "smallCaps": True or False, # Whether or not the text is in small capital letters.
                           "fontFamily": "A String", # The font family of the text.
@@ -14736,10 +13696,10 @@
                               #   text is another link) unless different styles are being set in the same
                               #   request.
                             "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                # presentation with this ID. A page with this ID may not exist.
                             "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                 # in the presentation. There may not be a slide at this index.
+                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                # presentation with this ID. A page with this ID may not exist.
                             "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                 # addressed by its position.
                           },
@@ -14864,10 +13824,10 @@
                   "link": { # A hypertext link. # The hyperlink destination of the shape. If unset, there is no link. Links
                       # are not inherited from parent placeholders.
                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                         # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                         # addressed by its position.
                   },
@@ -14926,8 +13886,8 @@
                   "parentObjectId": "A String", # The object ID of this shape's parent placeholder.
                       # If unset, the parent placeholder shape does not exist, so the shape does
                       # not inherit properties from any other shape.
-                  "index": 42, # The index of the placeholder. If the same placeholder types are the present
-                      # in the same page, they would have different index values.
+                  "index": 42, # The index of the placeholder. If the same placeholder types are present in
+                      # the same page, they would have different index values.
                   "type": "A String", # The type of the placeholder.
                 },
                 "shapeType": "A String", # The type of the shape.
@@ -14935,12 +13895,11 @@
               "sheetsChart": { # A PageElement kind representing # A linked chart embedded from Google Sheets. Unlinked charts are
                   # represented as images.
                   # a linked chart embedded from Google Sheets.
-                "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
-                    # embedded.
                 "contentUrl": "A String", # The URL of an image of the embedded chart, with a default lifetime of 30
                     # minutes. This URL is tagged with the account of the requester. Anyone with
                     # the URL effectively accesses the image as the original requester. Access to
                     # the image may be lost if the presentation's sharing settings change.
+                "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
                 "sheetsChartProperties": { # The properties of the SheetsChart. # The properties of the Sheets chart.
                   "chartImageProperties": { # The properties of the Image. # The properties of the embedded chart image.
                     "outline": { # The outline of a PageElement. # The outline of the image. If not set, the the image has no outline.
@@ -15018,10 +13977,10 @@
                     },
                     "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
                       "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                          # presentation with this ID. A page with this ID may not exist.
                       "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                           # in the presentation. There may not be a slide at this index.
+                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                          # presentation with this ID. A page with this ID may not exist.
                       "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                           # addressed by its position.
                     },
@@ -15052,17 +14011,17 @@
                       "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
                           # the right of the original bounding rectangle left edge, relative to the
                           # object's original width.
-                      "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                          # below the original bounding rectangle top edge, relative to the object's
-                          # original height.
-                      "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                          # above the original bounding rectangle bottom edge, relative to the object's
-                          # original height.
                       "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
                           # Rotation angle is applied after the offset.
                       "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
                           # to the left of the original bounding rectangle right edge, relative to the
                           # object's original width.
+                      "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                          # above the original bounding rectangle bottom edge, relative to the object's
+                          # original height.
+                      "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                          # below the original bounding rectangle top edge, relative to the object's
+                          # original height.
                     },
                     "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
                         # is read-only.
@@ -15122,14 +14081,13 @@
                         # [-1.0, 1.0], where 0 means no effect. This property is read-only.
                   },
                 },
-                "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
+                "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
+                    # embedded.
               },
               "video": { # A PageElement kind representing a # A video page element.
                   # video.
                 "url": "A String", # An URL to a video. The URL is valid as long as the source video
                     # exists and sharing settings do not change.
-                "source": "A String", # The video source.
-                "id": "A String", # The video source's unique identifier for this video.
                 "videoProperties": { # The properties of the Video. # The properties of the video.
                   "outline": { # The outline of a PageElement. # The outline of the video. The default outline matches the defaults for new
                       # videos created in the Slides editor.
@@ -15175,6 +14133,8 @@
                     },
                   },
                 },
+                "id": "A String", # The video source's unique identifier for this video.
+                "source": "A String", # The video source.
               },
               "elementGroup": { # A PageElement kind representing a # A collection of page elements joined as a single unit.
                   # joined collection of PageElements.
@@ -15252,26 +14212,47 @@
                                         # rendered in a smaller font size, computed based on the `font_size` field.
                                         # The `font_size` itself is not affected by changes in this field.
                                     "strikethrough": True or False, # Whether or not the text is struck through.
-                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                        # read-only.
+                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                         #
                                         # This field is an extension of `font_family` meant to support explicit font
                                         # weights without breaking backwards compatibility. As such, when reading the
-                                        # style of a range of text, the value of `weighted_font_family.font_family`
-                                        # will always be equal to that of `font_family`.
+                                        # style of a range of text, the value of `weighted_font_family#font_family`
+                                        # will always be equal to that of `font_family`. However, when writing, if
+                                        # both fields are included in the field mask (either explicitly or through
+                                        # the wildcard `"*"`), their values are reconciled as follows:
+                                        #
+                                        # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                        #   `font_family` is applied with weight `400` ("normal").
+                                        # * If both fields are set, the value of `font_family` must match that of
+                                        #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                        #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                        #   returned.
+                                        # * If `weighted_font_family` is set and `font_family` is not, the font
+                                        #   family and weight of `weighted_font_family` is applied.
+                                        # * If neither field is set, the font family and weight of the text inherit
+                                        #   from the parent. Note that these properties cannot inherit separately
+                                        #   from each other.
+                                        #
+                                        # If an update request specifies values for both `weighted_font_family` and
+                                        # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                        #
+                                        # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                        #
+                                        # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                        # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                        # is returned.
                                       "fontFamily": "A String", # The font family of the text.
                                           #
                                           # The font family can be any font from the Font menu in Slides or from
                                           # [Google Fonts] (https://fonts.google.com/). If the font name is
                                           # unrecognized, the text is rendered in `Arial`.
                                       "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                          # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                          # only the numerical values described in the "Cascading Style Sheets Level
-                                          # 2 Revision 1 (CSS 2.1) Specification",
-                                          # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                          # non-numerical values in the specification are disallowed. Weights greater
-                                          # than or equal to 700 are considered bold, and weights less than 700 are
-                                          # not bold. The default value is `400` ("normal").
+                                          # multiple of `100` between `100` and `900`, inclusive. This range
+                                          # corresponds to the numerical values described in the CSS 2.1
+                                          # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                          # with non-numerical values disallowed. Weights greater than or equal to
+                                          # `700` are considered bold, and weights less than `700`are not bold. The
+                                          # default value is `400` ("normal").
                                     },
                                     "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                     "fontFamily": "A String", # The font family of the text.
@@ -15305,10 +14286,10 @@
                                         #   text is another link) unless different styles are being set in the same
                                         #   request.
                                       "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                          # presentation with this ID. A page with this ID may not exist.
                                       "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                           # in the presentation. There may not be a slide at this index.
+                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                          # presentation with this ID. A page with this ID may not exist.
                                       "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                           # addressed by its position.
                                     },
@@ -15379,26 +14360,47 @@
                                       # rendered in a smaller font size, computed based on the `font_size` field.
                                       # The `font_size` itself is not affected by changes in this field.
                                   "strikethrough": True or False, # Whether or not the text is struck through.
-                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                      # read-only.
+                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                       #
                                       # This field is an extension of `font_family` meant to support explicit font
                                       # weights without breaking backwards compatibility. As such, when reading the
-                                      # style of a range of text, the value of `weighted_font_family.font_family`
-                                      # will always be equal to that of `font_family`.
+                                      # style of a range of text, the value of `weighted_font_family#font_family`
+                                      # will always be equal to that of `font_family`. However, when writing, if
+                                      # both fields are included in the field mask (either explicitly or through
+                                      # the wildcard `"*"`), their values are reconciled as follows:
+                                      #
+                                      # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                      #   `font_family` is applied with weight `400` ("normal").
+                                      # * If both fields are set, the value of `font_family` must match that of
+                                      #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                      #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                      #   returned.
+                                      # * If `weighted_font_family` is set and `font_family` is not, the font
+                                      #   family and weight of `weighted_font_family` is applied.
+                                      # * If neither field is set, the font family and weight of the text inherit
+                                      #   from the parent. Note that these properties cannot inherit separately
+                                      #   from each other.
+                                      #
+                                      # If an update request specifies values for both `weighted_font_family` and
+                                      # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                      #
+                                      # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                      #
+                                      # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                      # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                      # is returned.
                                     "fontFamily": "A String", # The font family of the text.
                                         #
                                         # The font family can be any font from the Font menu in Slides or from
                                         # [Google Fonts] (https://fonts.google.com/). If the font name is
                                         # unrecognized, the text is rendered in `Arial`.
                                     "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                        # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                        # only the numerical values described in the "Cascading Style Sheets Level
-                                        # 2 Revision 1 (CSS 2.1) Specification",
-                                        # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                        # non-numerical values in the specification are disallowed. Weights greater
-                                        # than or equal to 700 are considered bold, and weights less than 700 are
-                                        # not bold. The default value is `400` ("normal").
+                                        # multiple of `100` between `100` and `900`, inclusive. This range
+                                        # corresponds to the numerical values described in the CSS 2.1
+                                        # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                        # with non-numerical values disallowed. Weights greater than or equal to
+                                        # `700` are considered bold, and weights less than `700`are not bold. The
+                                        # default value is `400` ("normal").
                                   },
                                   "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                   "fontFamily": "A String", # The font family of the text.
@@ -15432,10 +14434,10 @@
                                       #   text is another link) unless different styles are being set in the same
                                       #   request.
                                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                        # presentation with this ID. A page with this ID may not exist.
                                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                         # in the presentation. There may not be a slide at this index.
+                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                        # presentation with this ID. A page with this ID may not exist.
                                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                         # addressed by its position.
                                   },
@@ -15485,8 +14487,8 @@
                                     # Inherited paragraph styles are represented as unset fields in this message.
                                   "spacingMode": "A String", # The spacing mode for the paragraph.
                                   "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                                      # LEFT_TO_RIGHT
-                                      # since text direction is not inherited.
+                                      # LEFT_TO_RIGHT since
+                                      # text direction is not inherited.
                                   "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
                                       # inherited from the parent.
                                     "magnitude": 3.14, # The magnitude.
@@ -15558,26 +14560,47 @@
                                         # rendered in a smaller font size, computed based on the `font_size` field.
                                         # The `font_size` itself is not affected by changes in this field.
                                     "strikethrough": True or False, # Whether or not the text is struck through.
-                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                        # read-only.
+                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                         #
                                         # This field is an extension of `font_family` meant to support explicit font
                                         # weights without breaking backwards compatibility. As such, when reading the
-                                        # style of a range of text, the value of `weighted_font_family.font_family`
-                                        # will always be equal to that of `font_family`.
+                                        # style of a range of text, the value of `weighted_font_family#font_family`
+                                        # will always be equal to that of `font_family`. However, when writing, if
+                                        # both fields are included in the field mask (either explicitly or through
+                                        # the wildcard `"*"`), their values are reconciled as follows:
+                                        #
+                                        # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                        #   `font_family` is applied with weight `400` ("normal").
+                                        # * If both fields are set, the value of `font_family` must match that of
+                                        #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                        #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                        #   returned.
+                                        # * If `weighted_font_family` is set and `font_family` is not, the font
+                                        #   family and weight of `weighted_font_family` is applied.
+                                        # * If neither field is set, the font family and weight of the text inherit
+                                        #   from the parent. Note that these properties cannot inherit separately
+                                        #   from each other.
+                                        #
+                                        # If an update request specifies values for both `weighted_font_family` and
+                                        # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                        #
+                                        # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                        #
+                                        # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                        # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                        # is returned.
                                       "fontFamily": "A String", # The font family of the text.
                                           #
                                           # The font family can be any font from the Font menu in Slides or from
                                           # [Google Fonts] (https://fonts.google.com/). If the font name is
                                           # unrecognized, the text is rendered in `Arial`.
                                       "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                          # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                          # only the numerical values described in the "Cascading Style Sheets Level
-                                          # 2 Revision 1 (CSS 2.1) Specification",
-                                          # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                          # non-numerical values in the specification are disallowed. Weights greater
-                                          # than or equal to 700 are considered bold, and weights less than 700 are
-                                          # not bold. The default value is `400` ("normal").
+                                          # multiple of `100` between `100` and `900`, inclusive. This range
+                                          # corresponds to the numerical values described in the CSS 2.1
+                                          # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                          # with non-numerical values disallowed. Weights greater than or equal to
+                                          # `700` are considered bold, and weights less than `700`are not bold. The
+                                          # default value is `400` ("normal").
                                     },
                                     "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                     "fontFamily": "A String", # The font family of the text.
@@ -15611,10 +14634,10 @@
                                         #   text is another link) unless different styles are being set in the same
                                         #   request.
                                       "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                          # presentation with this ID. A page with this ID may not exist.
                                       "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                           # in the presentation. There may not be a slide at this index.
+                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                          # presentation with this ID. A page with this ID may not exist.
                                       "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                           # addressed by its position.
                                     },
@@ -15684,26 +14707,47 @@
                                       # rendered in a smaller font size, computed based on the `font_size` field.
                                       # The `font_size` itself is not affected by changes in this field.
                                   "strikethrough": True or False, # Whether or not the text is struck through.
-                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                      # read-only.
+                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                       #
                                       # This field is an extension of `font_family` meant to support explicit font
                                       # weights without breaking backwards compatibility. As such, when reading the
-                                      # style of a range of text, the value of `weighted_font_family.font_family`
-                                      # will always be equal to that of `font_family`.
+                                      # style of a range of text, the value of `weighted_font_family#font_family`
+                                      # will always be equal to that of `font_family`. However, when writing, if
+                                      # both fields are included in the field mask (either explicitly or through
+                                      # the wildcard `"*"`), their values are reconciled as follows:
+                                      #
+                                      # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                      #   `font_family` is applied with weight `400` ("normal").
+                                      # * If both fields are set, the value of `font_family` must match that of
+                                      #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                      #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                      #   returned.
+                                      # * If `weighted_font_family` is set and `font_family` is not, the font
+                                      #   family and weight of `weighted_font_family` is applied.
+                                      # * If neither field is set, the font family and weight of the text inherit
+                                      #   from the parent. Note that these properties cannot inherit separately
+                                      #   from each other.
+                                      #
+                                      # If an update request specifies values for both `weighted_font_family` and
+                                      # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                      #
+                                      # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                      #
+                                      # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                      # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                      # is returned.
                                     "fontFamily": "A String", # The font family of the text.
                                         #
                                         # The font family can be any font from the Font menu in Slides or from
                                         # [Google Fonts] (https://fonts.google.com/). If the font name is
                                         # unrecognized, the text is rendered in `Arial`.
                                     "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                        # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                        # only the numerical values described in the "Cascading Style Sheets Level
-                                        # 2 Revision 1 (CSS 2.1) Specification",
-                                        # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                        # non-numerical values in the specification are disallowed. Weights greater
-                                        # than or equal to 700 are considered bold, and weights less than 700 are
-                                        # not bold. The default value is `400` ("normal").
+                                        # multiple of `100` between `100` and `900`, inclusive. This range
+                                        # corresponds to the numerical values described in the CSS 2.1
+                                        # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                        # with non-numerical values disallowed. Weights greater than or equal to
+                                        # `700` are considered bold, and weights less than `700`are not bold. The
+                                        # default value is `400` ("normal").
                                   },
                                   "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                   "fontFamily": "A String", # The font family of the text.
@@ -15737,10 +14781,10 @@
                                       #   text is another link) unless different styles are being set in the same
                                       #   request.
                                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                        # presentation with this ID. A page with this ID may not exist.
                                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                         # in the presentation. There may not be a slide at this index.
+                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                        # presentation with this ID. A page with this ID may not exist.
                                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                         # addressed by its position.
                                   },
@@ -15830,10 +14874,10 @@
                   "endArrow": "A String", # The style of the arrow at the end of the line.
                   "link": { # A hypertext link. # The hyperlink destination of the line. If unset, there is no link.
                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                         # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                         # addressed by its position.
                   },
@@ -15896,9 +14940,2202 @@
               #
               # The format of the revision ID may change over time, so it should be treated
               # opaquely. A returned revision ID is only guaranteed to be valid for 24
-              # hours after it has been returned and cannot be shared across
-              # users. Callers can assume that if two revision IDs are equal then the
-              # presentation has not changed.
+              # hours after it has been returned and cannot be shared across users. If the
+              # revision ID is unchanged between calls, then the presentation has not
+              # changed. Conversely, a changed ID (for the same presentation and user)
+              # usually means the presentation has been updated; however, a changed ID can
+              # also be due to internal factors such as ID format changes.
+          "pageProperties": { # The properties of the Page. # The properties of the page.
+              #
+              # The page will inherit properties from the parent page. Depending on the page
+              # type the hierarchy is defined in either
+              # SlideProperties or
+              # LayoutProperties.
+            "pageBackgroundFill": { # The page background fill. # The background fill of the page. If unset, the background fill is inherited
+                # from a parent page if it exists. If the page has no parent, then the
+                # background fill defaults to the corresponding fill in the Slides editor.
+              "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                  # specified color value.
+                  #
+                  # If any field is unset, its value may be inherited from a parent placeholder
+                  # if it exists.
+                "color": { # A themeable solid color value. # The color value of the solid fill.
+                  "themeColor": "A String", # An opaque theme color.
+                  "rgbColor": { # An RGB color. # An opaque RGB color.
+                    "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                    "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                    "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                  },
+                },
+                "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                    # That is, the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color.
+              },
+              "propertyState": "A String", # The background fill property state.
+                  #
+                  # Updating the the fill on a page will implicitly update this field to
+                  # `RENDERED`, unless another value is specified in the same request. To
+                  # have no fill on a page, set this field to `NOT_RENDERED`. In this case,
+                  # any other fill fields set in the same request will be ignored.
+              "stretchedPictureFill": { # The stretched picture fill. The page or page element is filled entirely with # Stretched picture fill.
+                  # the specified picture. The picture is stretched to fit its container.
+                "contentUrl": "A String", # Reading the content_url:
+                    #
+                    # An URL to a picture with a default lifetime of 30 minutes.
+                    # This URL is tagged with the account of the requester. Anyone with the URL
+                    # effectively accesses the picture as the original requester. Access to the
+                    # picture may be lost if the presentation's sharing settings change.
+                    #
+                    # Writing the content_url:
+                    #
+                    # The picture is fetched once at insertion time and a copy is stored for
+                    # display inside the presentation. Pictures must be less than 50MB in size,
+                    # cannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF
+                    # format.
+                "size": { # A width and height. # The original size of the picture fill. This field is read-only.
+                  "width": { # A magnitude in a single direction in the specified units. # The width of the object.
+                    "magnitude": 3.14, # The magnitude.
+                    "unit": "A String", # The units for magnitude.
+                  },
+                  "height": { # A magnitude in a single direction in the specified units. # The height of the object.
+                    "magnitude": 3.14, # The magnitude.
+                    "unit": "A String", # The units for magnitude.
+                  },
+                },
+              },
+            },
+            "colorScheme": { # The palette of predefined colors for a page. # The color scheme of the page. If unset, the color scheme is inherited from
+                # a parent page. If the page has no parent, the color scheme uses a default
+                # Slides color scheme. This field is read-only.
+              "colors": [ # The ThemeColorType and corresponding concrete color pairs.
+                { # A pair mapping a theme color type to the concrete color it represents.
+                  "color": { # An RGB color. # The concrete color corresponding to the theme color type above.
+                    "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                    "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                    "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                  },
+                  "type": "A String", # The type of the theme color.
+                },
+              ],
+            },
+          },
+          "pageType": "A String", # The type of the page.
+          "slideProperties": { # The properties of Page that are only # Slide specific properties. Only set if page_type = SLIDE.
+              # relevant for pages with page_type SLIDE.
+            "notesPage": # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual
+                # appearance of a notes page when printing or exporting slides with speaker
+                # notes. A notes page inherits properties from the
+                # notes master.
+                # The placeholder shape with type BODY on the notes page contains the speaker
+                # notes for this slide. The ID of this shape is identified by the
+                # speakerNotesObjectId field.
+                # The notes page is read-only except for the text content and styles of the
+                # speaker notes shape.
+            "masterObjectId": "A String", # The object ID of the master that this slide is based on.
+            "layoutObjectId": "A String", # The object ID of the layout that this slide is based on.
+          },
+        },
+      ],
+      "slides": [ # The slides in the presentation.
+          # A slide inherits properties from a slide layout.
+        { # A page in a presentation.
+          "layoutProperties": { # The properties of Page are only # Layout specific properties. Only set if page_type = LAYOUT.
+              # relevant for pages with page_type LAYOUT.
+            "displayName": "A String", # The human readable name of the layout in the presentation's locale.
+            "name": "A String", # The name of the layout.
+            "masterObjectId": "A String", # The object ID of the master that this layout is based on.
+          },
+          "pageElements": [ # The page elements rendered on the page.
+            { # A visual element rendered on a page.
+              "wordArt": { # A PageElement kind representing # A word art page element.
+                  # word art.
+                "renderedText": "A String", # The text rendered as word art.
+              },
+              "description": "A String", # The description of the page element. Combined with title to display alt
+                  # text.
+              "objectId": "A String", # The object ID for this page element. Object IDs used by
+                  # google.apps.slides.v1.Page and
+                  # google.apps.slides.v1.PageElement share the same namespace.
+              "title": "A String", # The title of the page element. Combined with description to display alt
+                  # text.
+              "image": { # A PageElement kind representing an # An image page element.
+                  # image.
+                "contentUrl": "A String", # An URL to an image with a default lifetime of 30 minutes.
+                    # This URL is tagged with the account of the requester. Anyone with the URL
+                    # effectively accesses the image as the original requester. Access to the
+                    # image may be lost if the presentation's sharing settings change.
+                "imageProperties": { # The properties of the Image. # The properties of the image.
+                  "outline": { # The outline of a PageElement. # The outline of the image. If not set, the the image has no outline.
+                      #
+                      # If these fields are unset, they may be inherited from a parent placeholder
+                      # if it exists. If there is no parent, the fields will default to the value
+                      # used for new page elements created in the Slides editor, which may depend on
+                      # the page element kind.
+                    "outlineFill": { # The fill of the outline. # The fill of the outline.
+                      "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                          # specified color value.
+                          #
+                          # If any field is unset, its value may be inherited from a parent placeholder
+                          # if it exists.
+                        "color": { # A themeable solid color value. # The color value of the solid fill.
+                          "themeColor": "A String", # An opaque theme color.
+                          "rgbColor": { # An RGB color. # An opaque RGB color.
+                            "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                            "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                            "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                          },
+                        },
+                        "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                            # That is, the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color.
+                      },
+                    },
+                    "propertyState": "A String", # The outline property state.
+                        #
+                        # Updating the the outline on a page element will implicitly update this
+                        # field to`RENDERED`, unless another value is specified in the same request.
+                        # To have no outline on a page element, set this field to `NOT_RENDERED`. In
+                        # this case, any other outline fields set in the same request will be
+                        # ignored.
+                    "dashStyle": "A String", # The dash style of the outline.
+                    "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
+                      "magnitude": 3.14, # The magnitude.
+                      "unit": "A String", # The units for magnitude.
+                    },
+                  },
+                  "brightness": 3.14, # The brightness effect of the image. The value should be in the interval
+                      # [-1.0, 1.0], where 0 means no effect. This property is read-only.
+                  "recolor": { # A recolor effect applied on an image. # The recolor effect of the image. If not set, the image is not recolored.
+                      # This property is read-only.
+                    "recolorStops": [ # The recolor effect is represented by a gradient, which is a list of color
+                        # stops.
+                        #
+                        # The colors in the gradient will replace the corresponding colors at
+                        # the same position in the color palette and apply to the image. This
+                        # property is read-only.
+                      { # A color and position in a gradient band.
+                        "color": { # A themeable solid color value. # The color of the gradient stop.
+                          "themeColor": "A String", # An opaque theme color.
+                          "rgbColor": { # An RGB color. # An opaque RGB color.
+                            "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                            "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                            "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                          },
+                        },
+                        "alpha": 3.14, # The alpha value of this color in the gradient band. Defaults to 1.0,
+                            # fully opaque.
+                        "position": 3.14, # The relative position of the color stop in the gradient band measured
+                            # in percentage. The value should be in the interval [0.0, 1.0].
+                      },
+                    ],
+                    "name": "A String", # The name of the recolor effect.
+                        #
+                        # The name is determined from the `recolor_stops` by matching the gradient
+                        # against the colors in the page's current color scheme. This property is
+                        # read-only.
+                  },
+                  "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
+                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                        # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
+                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                        # addressed by its position.
+                  },
+                  "transparency": 3.14, # The transparency effect of the image. The value should be in the interval
+                      # [0.0, 1.0], where 0 means no effect and 1 means completely transparent.
+                      # This property is read-only.
+                  "cropProperties": { # The crop properties of an object enclosed in a container. For example, an # The crop properties of the image. If not set, the image is not cropped.
+                      # This property is read-only.
+                      # Image.
+                      #
+                      # The crop properties is represented by the offsets of four edges which define
+                      # a crop rectangle. The offsets are measured in percentage from the
+                      # corresponding edges of the object's original bounding rectangle towards
+                      # inside, relative to the object's original dimensions.
+                      #
+                      # - If the offset is in the interval (0, 1), the corresponding edge of crop
+                      # rectangle is positioned inside of the object's original bounding rectangle.
+                      # - If the offset is negative or greater than 1, the corresponding edge of crop
+                      # rectangle is positioned outside of the object's original bounding rectangle.
+                      # - If the left edge of the crop rectangle is on the right side of its right
+                      # edge, the object will be flipped horizontally.
+                      # - If the top edge of the crop rectangle is below its bottom edge, the object
+                      # will be flipped vertically.
+                      # - If all offsets and rotation angle is 0, the object is not cropped.
+                      #
+                      # After cropping, the content in the crop rectangle will be stretched to fit
+                      # its container.
+                    "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
+                        # the right of the original bounding rectangle left edge, relative to the
+                        # object's original width.
+                    "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
+                        # Rotation angle is applied after the offset.
+                    "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
+                        # to the left of the original bounding rectangle right edge, relative to the
+                        # object's original width.
+                    "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                        # above the original bounding rectangle bottom edge, relative to the object's
+                        # original height.
+                    "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                        # below the original bounding rectangle top edge, relative to the object's
+                        # original height.
+                  },
+                  "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
+                      # is read-only.
+                      #
+                      # If these fields are unset, they may be inherited from a parent placeholder
+                      # if it exists. If there is no parent, the fields will default to the value
+                      # used for new page elements created in the Slides editor, which may depend on
+                      # the page element kind.
+                    "color": { # A themeable solid color value. # The shadow color value.
+                      "themeColor": "A String", # An opaque theme color.
+                      "rgbColor": { # An RGB color. # An opaque RGB color.
+                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                      },
+                    },
+                    "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # Transform that encodes the translate, scale, and skew of the shadow,
+                        # relative to the alignment position.
+                        # to transform source coordinates (x,y) into destination coordinates (x', y')
+                        # according to:
+                        #
+                        #       x'  x  =   shear_y  scale_y  translate_y
+                        #       1  [ 1 ]
+                        #
+                        # After transformation,
+                        #
+                        #      x' = scale_x * x + shear_x * y + translate_x;
+                        #      y' = scale_y * y + shear_y * x + translate_y;
+                        #
+                        # This message is therefore composed of these six matrix elements.
+                      "translateX": 3.14, # The X coordinate translation element.
+                      "translateY": 3.14, # The Y coordinate translation element.
+                      "scaleX": 3.14, # The X coordinate scaling element.
+                      "scaleY": 3.14, # The Y coordinate scaling element.
+                      "shearY": 3.14, # The Y coordinate shearing element.
+                      "shearX": 3.14, # The X coordinate shearing element.
+                      "unit": "A String", # The units for translate elements.
+                    },
+                    "propertyState": "A String", # The shadow property state.
+                        #
+                        # Updating the the shadow on a page element will implicitly update this field
+                        # to `RENDERED`, unless another value is specified in the same request. To
+                        # have no shadow on a page element, set this field to `NOT_RENDERED`. In this
+                        # case, any other shadow fields set in the same request will be ignored.
+                    "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the
+                        # shadow becomes.
+                      "magnitude": 3.14, # The magnitude.
+                      "unit": "A String", # The units for magnitude.
+                    },
+                    "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0.
+                    "type": "A String", # The type of the shadow.
+                    "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate,
+                        # scale and skew of the shadow.
+                    "rotateWithShape": True or False, # Whether the shadow should rotate with the shape.
+                  },
+                  "contrast": 3.14, # The contrast effect of the image. The value should be in the interval
+                      # [-1.0, 1.0], where 0 means no effect. This property is read-only.
+                },
+              },
+              "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # The transform of the page element.
+                  # to transform source coordinates (x,y) into destination coordinates (x', y')
+                  # according to:
+                  #
+                  #       x'  x  =   shear_y  scale_y  translate_y
+                  #       1  [ 1 ]
+                  #
+                  # After transformation,
+                  #
+                  #      x' = scale_x * x + shear_x * y + translate_x;
+                  #      y' = scale_y * y + shear_y * x + translate_y;
+                  #
+                  # This message is therefore composed of these six matrix elements.
+                "translateX": 3.14, # The X coordinate translation element.
+                "translateY": 3.14, # The Y coordinate translation element.
+                "scaleX": 3.14, # The X coordinate scaling element.
+                "scaleY": 3.14, # The Y coordinate scaling element.
+                "shearY": 3.14, # The Y coordinate shearing element.
+                "shearX": 3.14, # The X coordinate shearing element.
+                "unit": "A String", # The units for translate elements.
+              },
+              "shape": { # A PageElement kind representing a # A generic shape.
+                  # generic shape that does not have a more specific classification.
+                "text": { # The general text content. The text must reside in a compatible shape (e.g. # The text content of the shape.
+                    # text box or rectangle) or a table cell in a page.
+                  "lists": { # The bulleted lists contained in this text, keyed by list ID.
+                    "a_key": { # A List describes the look and feel of bullets belonging to paragraphs
+                        # associated with a list. A paragraph that is part of a list has an implicit
+                        # reference to that list's ID.
+                      "nestingLevel": { # A map of nesting levels to the properties of bullets at the associated
+                          # level. A list has at most nine levels of nesting, so the possible values
+                          # for the keys of this map are 0 through 8, inclusive.
+                        "a_key": { # Contains properties describing the look and feel of a list bullet at a given
+                            # level of nesting.
+                          "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The style of a bullet at this level of nesting.
+                              #
+                              # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                              # inherited from the parent. Which text styles are inherited depend on the
+                              # nesting level of lists:
+                              #
+                              # * A text run in a paragraph that is not in a list will inherit its text style
+                              #   from the the newline character in the paragraph at the 0 nesting level of
+                              #   the list inside the parent placeholder.
+                              # * A text run in a paragraph that is in a list will inherit its text style
+                              #   from the newline character in the paragraph at its corresponding nesting
+                              #   level of the list inside the parent placeholder.
+                              #
+                              # Inherited text styles are represented as unset fields in this message. If
+                              # text is contained in a shape without a parent placeholder, unsetting these
+                              # fields will revert the style to a value matching the defaults in the Slides
+                              # editor.
+                            "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                                # transparent, depending on if the `opaque_color` field in it is set.
+                              "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                  # a transparent color.
+                                "themeColor": "A String", # An opaque theme color.
+                                "rgbColor": { # An RGB color. # An opaque RGB color.
+                                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                },
+                              },
+                            },
+                            "bold": True or False, # Whether or not the text is rendered as bold.
+                            "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                                #
+                                # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                                # rendered in a smaller font size, computed based on the `font_size` field.
+                                # The `font_size` itself is not affected by changes in this field.
+                            "strikethrough": True or False, # Whether or not the text is struck through.
+                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                                #
+                                # This field is an extension of `font_family` meant to support explicit font
+                                # weights without breaking backwards compatibility. As such, when reading the
+                                # style of a range of text, the value of `weighted_font_family#font_family`
+                                # will always be equal to that of `font_family`. However, when writing, if
+                                # both fields are included in the field mask (either explicitly or through
+                                # the wildcard `"*"`), their values are reconciled as follows:
+                                #
+                                # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                #   `font_family` is applied with weight `400` ("normal").
+                                # * If both fields are set, the value of `font_family` must match that of
+                                #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                #   returned.
+                                # * If `weighted_font_family` is set and `font_family` is not, the font
+                                #   family and weight of `weighted_font_family` is applied.
+                                # * If neither field is set, the font family and weight of the text inherit
+                                #   from the parent. Note that these properties cannot inherit separately
+                                #   from each other.
+                                #
+                                # If an update request specifies values for both `weighted_font_family` and
+                                # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                #
+                                # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                #
+                                # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                # is returned.
+                              "fontFamily": "A String", # The font family of the text.
+                                  #
+                                  # The font family can be any font from the Font menu in Slides or from
+                                  # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                  # unrecognized, the text is rendered in `Arial`.
+                              "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                                  # multiple of `100` between `100` and `900`, inclusive. This range
+                                  # corresponds to the numerical values described in the CSS 2.1
+                                  # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                  # with non-numerical values disallowed. Weights greater than or equal to
+                                  # `700` are considered bold, and weights less than `700`are not bold. The
+                                  # default value is `400` ("normal").
+                            },
+                            "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                            "fontFamily": "A String", # The font family of the text.
+                                #
+                                # The font family can be any font from the Font menu in Slides or from
+                                # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                # unrecognized, the text is rendered in `Arial`.
+                                #
+                                # Some fonts can affect the weight of the text. If an update request
+                                # specifies values for both `font_family` and `bold`, the explicitly-set
+                                # `bold` value is used.
+                            "italic": True or False, # Whether or not the text is italicized.
+                            "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                                # are not inherited from parent text.
+                                #
+                                # Changing the link in an update request causes some other changes to the
+                                # text style of the range:
+                                #
+                                # * When setting a link, the text foreground color will be set to
+                                #   ThemeColorType.HYPERLINK and the text will
+                                #   be underlined. If these fields are modified in the same
+                                #   request, those values will be used instead of the link defaults.
+                                # * Setting a link on a text range that overlaps with an existing link will
+                                #   also update the existing link to point to the new URL.
+                                # * Links are not settable on newline characters. As a result, setting a link
+                                #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                                #   will separate the newline character(s) into their own text runs. The
+                                #   link will be applied separately to the runs before and after the newline.
+                                # * Removing a link will update the text style of the range to match the
+                                #   style of the preceding text (or the default text styles if the preceding
+                                #   text is another link) unless different styles are being set in the same
+                                #   request.
+                              "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                              "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                                  # in the presentation. There may not be a slide at this index.
+                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                  # presentation with this ID. A page with this ID may not exist.
+                              "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                                  # addressed by its position.
+                            },
+                            "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                                # transparent, depending on if the `opaque_color` field in it is set.
+                              "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                  # a transparent color.
+                                "themeColor": "A String", # An opaque theme color.
+                                "rgbColor": { # An RGB color. # An opaque RGB color.
+                                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                },
+                              },
+                            },
+                            "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                                # points.
+                              "magnitude": 3.14, # The magnitude.
+                              "unit": "A String", # The units for magnitude.
+                            },
+                            "underline": True or False, # Whether or not the text is underlined.
+                          },
+                        },
+                      },
+                      "listId": "A String", # The ID of the list.
+                    },
+                  },
+                  "textElements": [ # The text contents broken down into its component parts, including styling
+                      # information. This property is read-only.
+                    { # A TextElement describes the content of a range of indices in the text content
+                        # of a Shape or TableCell.
+                      "autoText": { # A TextElement kind that represents auto text. # A TextElement representing a spot in the text that is dynamically
+                          # replaced with content that can change over time.
+                        "content": "A String", # The rendered content of this auto text, if available.
+                        "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this auto text.
+                            #
+                            # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                            # inherited from the parent. Which text styles are inherited depend on the
+                            # nesting level of lists:
+                            #
+                            # * A text run in a paragraph that is not in a list will inherit its text style
+                            #   from the the newline character in the paragraph at the 0 nesting level of
+                            #   the list inside the parent placeholder.
+                            # * A text run in a paragraph that is in a list will inherit its text style
+                            #   from the newline character in the paragraph at its corresponding nesting
+                            #   level of the list inside the parent placeholder.
+                            #
+                            # Inherited text styles are represented as unset fields in this message. If
+                            # text is contained in a shape without a parent placeholder, unsetting these
+                            # fields will revert the style to a value matching the defaults in the Slides
+                            # editor.
+                          "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                              # transparent, depending on if the `opaque_color` field in it is set.
+                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                # a transparent color.
+                              "themeColor": "A String", # An opaque theme color.
+                              "rgbColor": { # An RGB color. # An opaque RGB color.
+                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                              },
+                            },
+                          },
+                          "bold": True or False, # Whether or not the text is rendered as bold.
+                          "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                              #
+                              # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                              # rendered in a smaller font size, computed based on the `font_size` field.
+                              # The `font_size` itself is not affected by changes in this field.
+                          "strikethrough": True or False, # Whether or not the text is struck through.
+                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                              #
+                              # This field is an extension of `font_family` meant to support explicit font
+                              # weights without breaking backwards compatibility. As such, when reading the
+                              # style of a range of text, the value of `weighted_font_family#font_family`
+                              # will always be equal to that of `font_family`. However, when writing, if
+                              # both fields are included in the field mask (either explicitly or through
+                              # the wildcard `"*"`), their values are reconciled as follows:
+                              #
+                              # * If `font_family` is set and `weighted_font_family` is not, the value of
+                              #   `font_family` is applied with weight `400` ("normal").
+                              # * If both fields are set, the value of `font_family` must match that of
+                              #   `weighted_font_family#font_family`. If so, the font family and weight of
+                              #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                              #   returned.
+                              # * If `weighted_font_family` is set and `font_family` is not, the font
+                              #   family and weight of `weighted_font_family` is applied.
+                              # * If neither field is set, the font family and weight of the text inherit
+                              #   from the parent. Note that these properties cannot inherit separately
+                              #   from each other.
+                              #
+                              # If an update request specifies values for both `weighted_font_family` and
+                              # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                              #
+                              # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                              #
+                              # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                              # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                              # is returned.
+                            "fontFamily": "A String", # The font family of the text.
+                                #
+                                # The font family can be any font from the Font menu in Slides or from
+                                # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                # unrecognized, the text is rendered in `Arial`.
+                            "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                                # multiple of `100` between `100` and `900`, inclusive. This range
+                                # corresponds to the numerical values described in the CSS 2.1
+                                # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                # with non-numerical values disallowed. Weights greater than or equal to
+                                # `700` are considered bold, and weights less than `700`are not bold. The
+                                # default value is `400` ("normal").
+                          },
+                          "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                          "fontFamily": "A String", # The font family of the text.
+                              #
+                              # The font family can be any font from the Font menu in Slides or from
+                              # [Google Fonts] (https://fonts.google.com/). If the font name is
+                              # unrecognized, the text is rendered in `Arial`.
+                              #
+                              # Some fonts can affect the weight of the text. If an update request
+                              # specifies values for both `font_family` and `bold`, the explicitly-set
+                              # `bold` value is used.
+                          "italic": True or False, # Whether or not the text is italicized.
+                          "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                              # are not inherited from parent text.
+                              #
+                              # Changing the link in an update request causes some other changes to the
+                              # text style of the range:
+                              #
+                              # * When setting a link, the text foreground color will be set to
+                              #   ThemeColorType.HYPERLINK and the text will
+                              #   be underlined. If these fields are modified in the same
+                              #   request, those values will be used instead of the link defaults.
+                              # * Setting a link on a text range that overlaps with an existing link will
+                              #   also update the existing link to point to the new URL.
+                              # * Links are not settable on newline characters. As a result, setting a link
+                              #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                              #   will separate the newline character(s) into their own text runs. The
+                              #   link will be applied separately to the runs before and after the newline.
+                              # * Removing a link will update the text style of the range to match the
+                              #   style of the preceding text (or the default text styles if the preceding
+                              #   text is another link) unless different styles are being set in the same
+                              #   request.
+                            "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                            "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                                # in the presentation. There may not be a slide at this index.
+                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                # presentation with this ID. A page with this ID may not exist.
+                            "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                                # addressed by its position.
+                          },
+                          "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                              # transparent, depending on if the `opaque_color` field in it is set.
+                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                # a transparent color.
+                              "themeColor": "A String", # An opaque theme color.
+                              "rgbColor": { # An RGB color. # An opaque RGB color.
+                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                              },
+                            },
+                          },
+                          "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                              # points.
+                            "magnitude": 3.14, # The magnitude.
+                            "unit": "A String", # The units for magnitude.
+                          },
+                          "underline": True or False, # Whether or not the text is underlined.
+                        },
+                        "type": "A String", # The type of this auto text.
+                      },
+                      "endIndex": 42, # The zero-based end index of this text element, exclusive, in Unicode code
+                          # units.
+                      "startIndex": 42, # The zero-based start index of this text element, in Unicode code units.
+                      "paragraphMarker": { # A TextElement kind that represents the beginning of a new paragraph. # A marker representing the beginning of a new paragraph.
+                          #
+                          # The `start_index` and `end_index` of this TextElement represent the
+                          # range of the paragraph. Other TextElements with an index range contained
+                          # inside this paragraph's range are considered to be part of this
+                          # paragraph. The range of indices of two separate paragraphs will never
+                          # overlap.
+                        "style": { # Styles that apply to a whole paragraph. # The paragraph's style
+                            #
+                            # If this text is contained in a shape with a parent placeholder, then these paragraph styles may be
+                            # inherited from the parent. Which paragraph styles are inherited depend on the
+                            # nesting level of lists:
+                            #
+                            # * A paragraph not in a list will inherit its paragraph style from the
+                            #   paragraph at the 0 nesting level of the list inside the parent placeholder.
+                            # * A paragraph in a list will inherit its paragraph style from the paragraph
+                            #   at its corresponding nesting level of the list inside the parent
+                            #   placeholder.
+                            #
+                            # Inherited paragraph styles are represented as unset fields in this message.
+                          "spacingMode": "A String", # The spacing mode for the paragraph.
+                          "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
+                              # LEFT_TO_RIGHT since
+                              # text direction is not inherited.
+                          "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
+                              # inherited from the parent.
+                            "magnitude": 3.14, # The magnitude.
+                            "unit": "A String", # The units for magnitude.
+                          },
+                          "lineSpacing": 3.14, # The amount of space between lines, as a percentage of normal, where normal
+                              # is represented as 100.0. If unset, the value is inherited from the parent.
+                          "indentStart": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
+                              # the start of the text, based on the current text direction. If unset, the
+                              # value is inherited from the parent.
+                            "magnitude": 3.14, # The magnitude.
+                            "unit": "A String", # The units for magnitude.
+                          },
+                          "spaceAbove": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
+                              # inherited from the parent.
+                            "magnitude": 3.14, # The magnitude.
+                            "unit": "A String", # The units for magnitude.
+                          },
+                          "indentEnd": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
+                              # the end of the text, based on the current text direction. If unset, the
+                              # value is inherited from the parent.
+                            "magnitude": 3.14, # The magnitude.
+                            "unit": "A String", # The units for magnitude.
+                          },
+                          "indentFirstLine": { # A magnitude in a single direction in the specified units. # The amount of indentation for the start of the first line of the paragraph.
+                              # If unset, the value is inherited from the parent.
+                            "magnitude": 3.14, # The magnitude.
+                            "unit": "A String", # The units for magnitude.
+                          },
+                          "alignment": "A String", # The text alignment for this paragraph.
+                        },
+                        "bullet": { # Describes the bullet of a paragraph. # The bullet for this paragraph. If not present, the paragraph does not
+                            # belong to a list.
+                          "nestingLevel": 42, # The nesting level of this paragraph in the list.
+                          "listId": "A String", # The ID of the list this paragraph belongs to.
+                          "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The paragraph specific text style applied to this bullet.
+                              #
+                              # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                              # inherited from the parent. Which text styles are inherited depend on the
+                              # nesting level of lists:
+                              #
+                              # * A text run in a paragraph that is not in a list will inherit its text style
+                              #   from the the newline character in the paragraph at the 0 nesting level of
+                              #   the list inside the parent placeholder.
+                              # * A text run in a paragraph that is in a list will inherit its text style
+                              #   from the newline character in the paragraph at its corresponding nesting
+                              #   level of the list inside the parent placeholder.
+                              #
+                              # Inherited text styles are represented as unset fields in this message. If
+                              # text is contained in a shape without a parent placeholder, unsetting these
+                              # fields will revert the style to a value matching the defaults in the Slides
+                              # editor.
+                            "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                                # transparent, depending on if the `opaque_color` field in it is set.
+                              "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                  # a transparent color.
+                                "themeColor": "A String", # An opaque theme color.
+                                "rgbColor": { # An RGB color. # An opaque RGB color.
+                                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                },
+                              },
+                            },
+                            "bold": True or False, # Whether or not the text is rendered as bold.
+                            "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                                #
+                                # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                                # rendered in a smaller font size, computed based on the `font_size` field.
+                                # The `font_size` itself is not affected by changes in this field.
+                            "strikethrough": True or False, # Whether or not the text is struck through.
+                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                                #
+                                # This field is an extension of `font_family` meant to support explicit font
+                                # weights without breaking backwards compatibility. As such, when reading the
+                                # style of a range of text, the value of `weighted_font_family#font_family`
+                                # will always be equal to that of `font_family`. However, when writing, if
+                                # both fields are included in the field mask (either explicitly or through
+                                # the wildcard `"*"`), their values are reconciled as follows:
+                                #
+                                # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                #   `font_family` is applied with weight `400` ("normal").
+                                # * If both fields are set, the value of `font_family` must match that of
+                                #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                #   returned.
+                                # * If `weighted_font_family` is set and `font_family` is not, the font
+                                #   family and weight of `weighted_font_family` is applied.
+                                # * If neither field is set, the font family and weight of the text inherit
+                                #   from the parent. Note that these properties cannot inherit separately
+                                #   from each other.
+                                #
+                                # If an update request specifies values for both `weighted_font_family` and
+                                # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                #
+                                # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                #
+                                # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                # is returned.
+                              "fontFamily": "A String", # The font family of the text.
+                                  #
+                                  # The font family can be any font from the Font menu in Slides or from
+                                  # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                  # unrecognized, the text is rendered in `Arial`.
+                              "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                                  # multiple of `100` between `100` and `900`, inclusive. This range
+                                  # corresponds to the numerical values described in the CSS 2.1
+                                  # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                  # with non-numerical values disallowed. Weights greater than or equal to
+                                  # `700` are considered bold, and weights less than `700`are not bold. The
+                                  # default value is `400` ("normal").
+                            },
+                            "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                            "fontFamily": "A String", # The font family of the text.
+                                #
+                                # The font family can be any font from the Font menu in Slides or from
+                                # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                # unrecognized, the text is rendered in `Arial`.
+                                #
+                                # Some fonts can affect the weight of the text. If an update request
+                                # specifies values for both `font_family` and `bold`, the explicitly-set
+                                # `bold` value is used.
+                            "italic": True or False, # Whether or not the text is italicized.
+                            "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                                # are not inherited from parent text.
+                                #
+                                # Changing the link in an update request causes some other changes to the
+                                # text style of the range:
+                                #
+                                # * When setting a link, the text foreground color will be set to
+                                #   ThemeColorType.HYPERLINK and the text will
+                                #   be underlined. If these fields are modified in the same
+                                #   request, those values will be used instead of the link defaults.
+                                # * Setting a link on a text range that overlaps with an existing link will
+                                #   also update the existing link to point to the new URL.
+                                # * Links are not settable on newline characters. As a result, setting a link
+                                #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                                #   will separate the newline character(s) into their own text runs. The
+                                #   link will be applied separately to the runs before and after the newline.
+                                # * Removing a link will update the text style of the range to match the
+                                #   style of the preceding text (or the default text styles if the preceding
+                                #   text is another link) unless different styles are being set in the same
+                                #   request.
+                              "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                              "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                                  # in the presentation. There may not be a slide at this index.
+                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                  # presentation with this ID. A page with this ID may not exist.
+                              "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                                  # addressed by its position.
+                            },
+                            "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                                # transparent, depending on if the `opaque_color` field in it is set.
+                              "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                  # a transparent color.
+                                "themeColor": "A String", # An opaque theme color.
+                                "rgbColor": { # An RGB color. # An opaque RGB color.
+                                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                },
+                              },
+                            },
+                            "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                                # points.
+                              "magnitude": 3.14, # The magnitude.
+                              "unit": "A String", # The units for magnitude.
+                            },
+                            "underline": True or False, # Whether or not the text is underlined.
+                          },
+                          "glyph": "A String", # The rendered bullet glyph for this paragraph.
+                        },
+                      },
+                      "textRun": { # A TextElement kind that represents a run of text that all has the same # A TextElement representing a run of text where all of the characters
+                          # in the run have the same TextStyle.
+                          #
+                          # The `start_index` and `end_index` of TextRuns will always be fully
+                          # contained in the index range of a single `paragraph_marker` TextElement.
+                          # In other words, a TextRun will never span multiple paragraphs.
+                          # styling.
+                        "content": "A String", # The text of this run.
+                        "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this run.
+                            #
+                            # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                            # inherited from the parent. Which text styles are inherited depend on the
+                            # nesting level of lists:
+                            #
+                            # * A text run in a paragraph that is not in a list will inherit its text style
+                            #   from the the newline character in the paragraph at the 0 nesting level of
+                            #   the list inside the parent placeholder.
+                            # * A text run in a paragraph that is in a list will inherit its text style
+                            #   from the newline character in the paragraph at its corresponding nesting
+                            #   level of the list inside the parent placeholder.
+                            #
+                            # Inherited text styles are represented as unset fields in this message. If
+                            # text is contained in a shape without a parent placeholder, unsetting these
+                            # fields will revert the style to a value matching the defaults in the Slides
+                            # editor.
+                          "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                              # transparent, depending on if the `opaque_color` field in it is set.
+                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                # a transparent color.
+                              "themeColor": "A String", # An opaque theme color.
+                              "rgbColor": { # An RGB color. # An opaque RGB color.
+                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                              },
+                            },
+                          },
+                          "bold": True or False, # Whether or not the text is rendered as bold.
+                          "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                              #
+                              # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                              # rendered in a smaller font size, computed based on the `font_size` field.
+                              # The `font_size` itself is not affected by changes in this field.
+                          "strikethrough": True or False, # Whether or not the text is struck through.
+                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                              #
+                              # This field is an extension of `font_family` meant to support explicit font
+                              # weights without breaking backwards compatibility. As such, when reading the
+                              # style of a range of text, the value of `weighted_font_family#font_family`
+                              # will always be equal to that of `font_family`. However, when writing, if
+                              # both fields are included in the field mask (either explicitly or through
+                              # the wildcard `"*"`), their values are reconciled as follows:
+                              #
+                              # * If `font_family` is set and `weighted_font_family` is not, the value of
+                              #   `font_family` is applied with weight `400` ("normal").
+                              # * If both fields are set, the value of `font_family` must match that of
+                              #   `weighted_font_family#font_family`. If so, the font family and weight of
+                              #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                              #   returned.
+                              # * If `weighted_font_family` is set and `font_family` is not, the font
+                              #   family and weight of `weighted_font_family` is applied.
+                              # * If neither field is set, the font family and weight of the text inherit
+                              #   from the parent. Note that these properties cannot inherit separately
+                              #   from each other.
+                              #
+                              # If an update request specifies values for both `weighted_font_family` and
+                              # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                              #
+                              # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                              #
+                              # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                              # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                              # is returned.
+                            "fontFamily": "A String", # The font family of the text.
+                                #
+                                # The font family can be any font from the Font menu in Slides or from
+                                # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                # unrecognized, the text is rendered in `Arial`.
+                            "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                                # multiple of `100` between `100` and `900`, inclusive. This range
+                                # corresponds to the numerical values described in the CSS 2.1
+                                # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                # with non-numerical values disallowed. Weights greater than or equal to
+                                # `700` are considered bold, and weights less than `700`are not bold. The
+                                # default value is `400` ("normal").
+                          },
+                          "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                          "fontFamily": "A String", # The font family of the text.
+                              #
+                              # The font family can be any font from the Font menu in Slides or from
+                              # [Google Fonts] (https://fonts.google.com/). If the font name is
+                              # unrecognized, the text is rendered in `Arial`.
+                              #
+                              # Some fonts can affect the weight of the text. If an update request
+                              # specifies values for both `font_family` and `bold`, the explicitly-set
+                              # `bold` value is used.
+                          "italic": True or False, # Whether or not the text is italicized.
+                          "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                              # are not inherited from parent text.
+                              #
+                              # Changing the link in an update request causes some other changes to the
+                              # text style of the range:
+                              #
+                              # * When setting a link, the text foreground color will be set to
+                              #   ThemeColorType.HYPERLINK and the text will
+                              #   be underlined. If these fields are modified in the same
+                              #   request, those values will be used instead of the link defaults.
+                              # * Setting a link on a text range that overlaps with an existing link will
+                              #   also update the existing link to point to the new URL.
+                              # * Links are not settable on newline characters. As a result, setting a link
+                              #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                              #   will separate the newline character(s) into their own text runs. The
+                              #   link will be applied separately to the runs before and after the newline.
+                              # * Removing a link will update the text style of the range to match the
+                              #   style of the preceding text (or the default text styles if the preceding
+                              #   text is another link) unless different styles are being set in the same
+                              #   request.
+                            "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                            "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                                # in the presentation. There may not be a slide at this index.
+                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                # presentation with this ID. A page with this ID may not exist.
+                            "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                                # addressed by its position.
+                          },
+                          "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                              # transparent, depending on if the `opaque_color` field in it is set.
+                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                # a transparent color.
+                              "themeColor": "A String", # An opaque theme color.
+                              "rgbColor": { # An RGB color. # An opaque RGB color.
+                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                              },
+                            },
+                          },
+                          "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                              # points.
+                            "magnitude": 3.14, # The magnitude.
+                            "unit": "A String", # The units for magnitude.
+                          },
+                          "underline": True or False, # Whether or not the text is underlined.
+                        },
+                      },
+                    },
+                  ],
+                },
+                "shapeProperties": { # The properties of a Shape. # The properties of the shape.
+                    #
+                    # If the shape is a placeholder shape as determined by the
+                    # placeholder field, then these
+                    # properties may be inherited from a parent placeholder shape.
+                    # Determining the rendered value of the property depends on the corresponding
+                    # property_state field value.
+                  "shadow": { # The shadow properties of a page element. # The shadow properties of the shape. If unset, the shadow is inherited from
+                      # a parent placeholder if it exists. If the shape has no parent, then the
+                      # default shadow matches the defaults for new shapes created in the Slides
+                      # editor. This property is read-only.
+                      #
+                      # If these fields are unset, they may be inherited from a parent placeholder
+                      # if it exists. If there is no parent, the fields will default to the value
+                      # used for new page elements created in the Slides editor, which may depend on
+                      # the page element kind.
+                    "color": { # A themeable solid color value. # The shadow color value.
+                      "themeColor": "A String", # An opaque theme color.
+                      "rgbColor": { # An RGB color. # An opaque RGB color.
+                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                      },
+                    },
+                    "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # Transform that encodes the translate, scale, and skew of the shadow,
+                        # relative to the alignment position.
+                        # to transform source coordinates (x,y) into destination coordinates (x', y')
+                        # according to:
+                        #
+                        #       x'  x  =   shear_y  scale_y  translate_y
+                        #       1  [ 1 ]
+                        #
+                        # After transformation,
+                        #
+                        #      x' = scale_x * x + shear_x * y + translate_x;
+                        #      y' = scale_y * y + shear_y * x + translate_y;
+                        #
+                        # This message is therefore composed of these six matrix elements.
+                      "translateX": 3.14, # The X coordinate translation element.
+                      "translateY": 3.14, # The Y coordinate translation element.
+                      "scaleX": 3.14, # The X coordinate scaling element.
+                      "scaleY": 3.14, # The Y coordinate scaling element.
+                      "shearY": 3.14, # The Y coordinate shearing element.
+                      "shearX": 3.14, # The X coordinate shearing element.
+                      "unit": "A String", # The units for translate elements.
+                    },
+                    "propertyState": "A String", # The shadow property state.
+                        #
+                        # Updating the the shadow on a page element will implicitly update this field
+                        # to `RENDERED`, unless another value is specified in the same request. To
+                        # have no shadow on a page element, set this field to `NOT_RENDERED`. In this
+                        # case, any other shadow fields set in the same request will be ignored.
+                    "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the
+                        # shadow becomes.
+                      "magnitude": 3.14, # The magnitude.
+                      "unit": "A String", # The units for magnitude.
+                    },
+                    "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0.
+                    "type": "A String", # The type of the shadow.
+                    "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate,
+                        # scale and skew of the shadow.
+                    "rotateWithShape": True or False, # Whether the shadow should rotate with the shape.
+                  },
+                  "shapeBackgroundFill": { # The shape background fill. # The background fill of the shape. If unset, the background fill is
+                      # inherited from a parent placeholder if it exists. If the shape has no
+                      # parent, then the default background fill depends on the shape type,
+                      # matching the defaults for new shapes created in the Slides editor.
+                    "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                        # specified color value.
+                        #
+                        # If any field is unset, its value may be inherited from a parent placeholder
+                        # if it exists.
+                      "color": { # A themeable solid color value. # The color value of the solid fill.
+                        "themeColor": "A String", # An opaque theme color.
+                        "rgbColor": { # An RGB color. # An opaque RGB color.
+                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                        },
+                      },
+                      "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                          # That is, the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color.
+                    },
+                    "propertyState": "A String", # The background fill property state.
+                        #
+                        # Updating the the fill on a shape will implicitly update this field to
+                        # `RENDERED`, unless another value is specified in the same request. To
+                        # have no fill on a shape, set this field to `NOT_RENDERED`. In this case,
+                        # any other fill fields set in the same request will be ignored.
+                  },
+                  "link": { # A hypertext link. # The hyperlink destination of the shape. If unset, there is no link. Links
+                      # are not inherited from parent placeholders.
+                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                        # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
+                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                        # addressed by its position.
+                  },
+                  "outline": { # The outline of a PageElement. # The outline of the shape. If unset, the outline is inherited from a
+                      # parent placeholder if it exists. If the shape has no parent, then the
+                      # default outline depends on the shape type, matching the defaults for
+                      # new shapes created in the Slides editor.
+                      #
+                      # If these fields are unset, they may be inherited from a parent placeholder
+                      # if it exists. If there is no parent, the fields will default to the value
+                      # used for new page elements created in the Slides editor, which may depend on
+                      # the page element kind.
+                    "outlineFill": { # The fill of the outline. # The fill of the outline.
+                      "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                          # specified color value.
+                          #
+                          # If any field is unset, its value may be inherited from a parent placeholder
+                          # if it exists.
+                        "color": { # A themeable solid color value. # The color value of the solid fill.
+                          "themeColor": "A String", # An opaque theme color.
+                          "rgbColor": { # An RGB color. # An opaque RGB color.
+                            "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                            "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                            "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                          },
+                        },
+                        "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                            # That is, the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color.
+                      },
+                    },
+                    "propertyState": "A String", # The outline property state.
+                        #
+                        # Updating the the outline on a page element will implicitly update this
+                        # field to`RENDERED`, unless another value is specified in the same request.
+                        # To have no outline on a page element, set this field to `NOT_RENDERED`. In
+                        # this case, any other outline fields set in the same request will be
+                        # ignored.
+                    "dashStyle": "A String", # The dash style of the outline.
+                    "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
+                      "magnitude": 3.14, # The magnitude.
+                      "unit": "A String", # The units for magnitude.
+                    },
+                  },
+                },
+                "placeholder": { # The placeholder information that uniquely identifies a placeholder shape. # Placeholders are shapes that are inherit from corresponding placeholders on
+                    # layouts and masters.
+                    #
+                    # If set, the shape is a placeholder shape and any inherited properties
+                    # can be resolved by looking at the parent placeholder identified by the
+                    # Placeholder.parent_object_id field.
+                  "parentObjectId": "A String", # The object ID of this shape's parent placeholder.
+                      # If unset, the parent placeholder shape does not exist, so the shape does
+                      # not inherit properties from any other shape.
+                  "index": 42, # The index of the placeholder. If the same placeholder types are present in
+                      # the same page, they would have different index values.
+                  "type": "A String", # The type of the placeholder.
+                },
+                "shapeType": "A String", # The type of the shape.
+              },
+              "sheetsChart": { # A PageElement kind representing # A linked chart embedded from Google Sheets. Unlinked charts are
+                  # represented as images.
+                  # a linked chart embedded from Google Sheets.
+                "contentUrl": "A String", # The URL of an image of the embedded chart, with a default lifetime of 30
+                    # minutes. This URL is tagged with the account of the requester. Anyone with
+                    # the URL effectively accesses the image as the original requester. Access to
+                    # the image may be lost if the presentation's sharing settings change.
+                "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
+                "sheetsChartProperties": { # The properties of the SheetsChart. # The properties of the Sheets chart.
+                  "chartImageProperties": { # The properties of the Image. # The properties of the embedded chart image.
+                    "outline": { # The outline of a PageElement. # The outline of the image. If not set, the the image has no outline.
+                        #
+                        # If these fields are unset, they may be inherited from a parent placeholder
+                        # if it exists. If there is no parent, the fields will default to the value
+                        # used for new page elements created in the Slides editor, which may depend on
+                        # the page element kind.
+                      "outlineFill": { # The fill of the outline. # The fill of the outline.
+                        "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                            # specified color value.
+                            #
+                            # If any field is unset, its value may be inherited from a parent placeholder
+                            # if it exists.
+                          "color": { # A themeable solid color value. # The color value of the solid fill.
+                            "themeColor": "A String", # An opaque theme color.
+                            "rgbColor": { # An RGB color. # An opaque RGB color.
+                              "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                              "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                              "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                            },
+                          },
+                          "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                              # That is, the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color.
+                        },
+                      },
+                      "propertyState": "A String", # The outline property state.
+                          #
+                          # Updating the the outline on a page element will implicitly update this
+                          # field to`RENDERED`, unless another value is specified in the same request.
+                          # To have no outline on a page element, set this field to `NOT_RENDERED`. In
+                          # this case, any other outline fields set in the same request will be
+                          # ignored.
+                      "dashStyle": "A String", # The dash style of the outline.
+                      "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
+                        "magnitude": 3.14, # The magnitude.
+                        "unit": "A String", # The units for magnitude.
+                      },
+                    },
+                    "brightness": 3.14, # The brightness effect of the image. The value should be in the interval
+                        # [-1.0, 1.0], where 0 means no effect. This property is read-only.
+                    "recolor": { # A recolor effect applied on an image. # The recolor effect of the image. If not set, the image is not recolored.
+                        # This property is read-only.
+                      "recolorStops": [ # The recolor effect is represented by a gradient, which is a list of color
+                          # stops.
+                          #
+                          # The colors in the gradient will replace the corresponding colors at
+                          # the same position in the color palette and apply to the image. This
+                          # property is read-only.
+                        { # A color and position in a gradient band.
+                          "color": { # A themeable solid color value. # The color of the gradient stop.
+                            "themeColor": "A String", # An opaque theme color.
+                            "rgbColor": { # An RGB color. # An opaque RGB color.
+                              "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                              "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                              "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                            },
+                          },
+                          "alpha": 3.14, # The alpha value of this color in the gradient band. Defaults to 1.0,
+                              # fully opaque.
+                          "position": 3.14, # The relative position of the color stop in the gradient band measured
+                              # in percentage. The value should be in the interval [0.0, 1.0].
+                        },
+                      ],
+                      "name": "A String", # The name of the recolor effect.
+                          #
+                          # The name is determined from the `recolor_stops` by matching the gradient
+                          # against the colors in the page's current color scheme. This property is
+                          # read-only.
+                    },
+                    "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
+                      "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                      "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                          # in the presentation. There may not be a slide at this index.
+                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                          # presentation with this ID. A page with this ID may not exist.
+                      "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                          # addressed by its position.
+                    },
+                    "transparency": 3.14, # The transparency effect of the image. The value should be in the interval
+                        # [0.0, 1.0], where 0 means no effect and 1 means completely transparent.
+                        # This property is read-only.
+                    "cropProperties": { # The crop properties of an object enclosed in a container. For example, an # The crop properties of the image. If not set, the image is not cropped.
+                        # This property is read-only.
+                        # Image.
+                        #
+                        # The crop properties is represented by the offsets of four edges which define
+                        # a crop rectangle. The offsets are measured in percentage from the
+                        # corresponding edges of the object's original bounding rectangle towards
+                        # inside, relative to the object's original dimensions.
+                        #
+                        # - If the offset is in the interval (0, 1), the corresponding edge of crop
+                        # rectangle is positioned inside of the object's original bounding rectangle.
+                        # - If the offset is negative or greater than 1, the corresponding edge of crop
+                        # rectangle is positioned outside of the object's original bounding rectangle.
+                        # - If the left edge of the crop rectangle is on the right side of its right
+                        # edge, the object will be flipped horizontally.
+                        # - If the top edge of the crop rectangle is below its bottom edge, the object
+                        # will be flipped vertically.
+                        # - If all offsets and rotation angle is 0, the object is not cropped.
+                        #
+                        # After cropping, the content in the crop rectangle will be stretched to fit
+                        # its container.
+                      "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
+                          # the right of the original bounding rectangle left edge, relative to the
+                          # object's original width.
+                      "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
+                          # Rotation angle is applied after the offset.
+                      "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
+                          # to the left of the original bounding rectangle right edge, relative to the
+                          # object's original width.
+                      "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                          # above the original bounding rectangle bottom edge, relative to the object's
+                          # original height.
+                      "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                          # below the original bounding rectangle top edge, relative to the object's
+                          # original height.
+                    },
+                    "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
+                        # is read-only.
+                        #
+                        # If these fields are unset, they may be inherited from a parent placeholder
+                        # if it exists. If there is no parent, the fields will default to the value
+                        # used for new page elements created in the Slides editor, which may depend on
+                        # the page element kind.
+                      "color": { # A themeable solid color value. # The shadow color value.
+                        "themeColor": "A String", # An opaque theme color.
+                        "rgbColor": { # An RGB color. # An opaque RGB color.
+                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                        },
+                      },
+                      "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # Transform that encodes the translate, scale, and skew of the shadow,
+                          # relative to the alignment position.
+                          # to transform source coordinates (x,y) into destination coordinates (x', y')
+                          # according to:
+                          #
+                          #       x'  x  =   shear_y  scale_y  translate_y
+                          #       1  [ 1 ]
+                          #
+                          # After transformation,
+                          #
+                          #      x' = scale_x * x + shear_x * y + translate_x;
+                          #      y' = scale_y * y + shear_y * x + translate_y;
+                          #
+                          # This message is therefore composed of these six matrix elements.
+                        "translateX": 3.14, # The X coordinate translation element.
+                        "translateY": 3.14, # The Y coordinate translation element.
+                        "scaleX": 3.14, # The X coordinate scaling element.
+                        "scaleY": 3.14, # The Y coordinate scaling element.
+                        "shearY": 3.14, # The Y coordinate shearing element.
+                        "shearX": 3.14, # The X coordinate shearing element.
+                        "unit": "A String", # The units for translate elements.
+                      },
+                      "propertyState": "A String", # The shadow property state.
+                          #
+                          # Updating the the shadow on a page element will implicitly update this field
+                          # to `RENDERED`, unless another value is specified in the same request. To
+                          # have no shadow on a page element, set this field to `NOT_RENDERED`. In this
+                          # case, any other shadow fields set in the same request will be ignored.
+                      "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the
+                          # shadow becomes.
+                        "magnitude": 3.14, # The magnitude.
+                        "unit": "A String", # The units for magnitude.
+                      },
+                      "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0.
+                      "type": "A String", # The type of the shadow.
+                      "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate,
+                          # scale and skew of the shadow.
+                      "rotateWithShape": True or False, # Whether the shadow should rotate with the shape.
+                    },
+                    "contrast": 3.14, # The contrast effect of the image. The value should be in the interval
+                        # [-1.0, 1.0], where 0 means no effect. This property is read-only.
+                  },
+                },
+                "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
+                    # embedded.
+              },
+              "video": { # A PageElement kind representing a # A video page element.
+                  # video.
+                "url": "A String", # An URL to a video. The URL is valid as long as the source video
+                    # exists and sharing settings do not change.
+                "videoProperties": { # The properties of the Video. # The properties of the video.
+                  "outline": { # The outline of a PageElement. # The outline of the video. The default outline matches the defaults for new
+                      # videos created in the Slides editor.
+                      #
+                      # If these fields are unset, they may be inherited from a parent placeholder
+                      # if it exists. If there is no parent, the fields will default to the value
+                      # used for new page elements created in the Slides editor, which may depend on
+                      # the page element kind.
+                    "outlineFill": { # The fill of the outline. # The fill of the outline.
+                      "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                          # specified color value.
+                          #
+                          # If any field is unset, its value may be inherited from a parent placeholder
+                          # if it exists.
+                        "color": { # A themeable solid color value. # The color value of the solid fill.
+                          "themeColor": "A String", # An opaque theme color.
+                          "rgbColor": { # An RGB color. # An opaque RGB color.
+                            "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                            "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                            "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                          },
+                        },
+                        "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                            # That is, the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color.
+                      },
+                    },
+                    "propertyState": "A String", # The outline property state.
+                        #
+                        # Updating the the outline on a page element will implicitly update this
+                        # field to`RENDERED`, unless another value is specified in the same request.
+                        # To have no outline on a page element, set this field to `NOT_RENDERED`. In
+                        # this case, any other outline fields set in the same request will be
+                        # ignored.
+                    "dashStyle": "A String", # The dash style of the outline.
+                    "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
+                      "magnitude": 3.14, # The magnitude.
+                      "unit": "A String", # The units for magnitude.
+                    },
+                  },
+                },
+                "id": "A String", # The video source's unique identifier for this video.
+                "source": "A String", # The video source.
+              },
+              "elementGroup": { # A PageElement kind representing a # A collection of page elements joined as a single unit.
+                  # joined collection of PageElements.
+                "children": [ # The collection of elements in the group. The minimum size of a group is 2.
+                  # Object with schema name: PageElement
+                ],
+              },
+              "table": { # A PageElement kind representing a # A table page element.
+                  # table.
+                "tableColumns": [ # Properties of each column.
+                  { # Properties of each column in a table.
+                    "columnWidth": { # A magnitude in a single direction in the specified units. # Width of a column.
+                      "magnitude": 3.14, # The magnitude.
+                      "unit": "A String", # The units for magnitude.
+                    },
+                  },
+                ],
+                "tableRows": [ # Properties and contents of each row.
+                    #
+                    # Cells that span multiple rows are contained in only one of these rows and
+                    # have a row_span greater
+                    # than 1.
+                  { # Properties and contents of each row in a table.
+                    "tableCells": [ # Properties and contents of each cell.
+                        #
+                        # Cells that span multiple columns are represented only once with a
+                        # column_span greater
+                        # than 1. As a result, the length of this collection does not always match
+                        # the number of columns of the entire table.
+                      { # Properties and contents of each table cell.
+                        "text": { # The general text content. The text must reside in a compatible shape (e.g. # The text content of the cell.
+                            # text box or rectangle) or a table cell in a page.
+                          "lists": { # The bulleted lists contained in this text, keyed by list ID.
+                            "a_key": { # A List describes the look and feel of bullets belonging to paragraphs
+                                # associated with a list. A paragraph that is part of a list has an implicit
+                                # reference to that list's ID.
+                              "nestingLevel": { # A map of nesting levels to the properties of bullets at the associated
+                                  # level. A list has at most nine levels of nesting, so the possible values
+                                  # for the keys of this map are 0 through 8, inclusive.
+                                "a_key": { # Contains properties describing the look and feel of a list bullet at a given
+                                    # level of nesting.
+                                  "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The style of a bullet at this level of nesting.
+                                      #
+                                      # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                                      # inherited from the parent. Which text styles are inherited depend on the
+                                      # nesting level of lists:
+                                      #
+                                      # * A text run in a paragraph that is not in a list will inherit its text style
+                                      #   from the the newline character in the paragraph at the 0 nesting level of
+                                      #   the list inside the parent placeholder.
+                                      # * A text run in a paragraph that is in a list will inherit its text style
+                                      #   from the newline character in the paragraph at its corresponding nesting
+                                      #   level of the list inside the parent placeholder.
+                                      #
+                                      # Inherited text styles are represented as unset fields in this message. If
+                                      # text is contained in a shape without a parent placeholder, unsetting these
+                                      # fields will revert the style to a value matching the defaults in the Slides
+                                      # editor.
+                                    "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                                        # transparent, depending on if the `opaque_color` field in it is set.
+                                      "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                          # a transparent color.
+                                        "themeColor": "A String", # An opaque theme color.
+                                        "rgbColor": { # An RGB color. # An opaque RGB color.
+                                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                        },
+                                      },
+                                    },
+                                    "bold": True or False, # Whether or not the text is rendered as bold.
+                                    "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                                        #
+                                        # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                                        # rendered in a smaller font size, computed based on the `font_size` field.
+                                        # The `font_size` itself is not affected by changes in this field.
+                                    "strikethrough": True or False, # Whether or not the text is struck through.
+                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                                        #
+                                        # This field is an extension of `font_family` meant to support explicit font
+                                        # weights without breaking backwards compatibility. As such, when reading the
+                                        # style of a range of text, the value of `weighted_font_family#font_family`
+                                        # will always be equal to that of `font_family`. However, when writing, if
+                                        # both fields are included in the field mask (either explicitly or through
+                                        # the wildcard `"*"`), their values are reconciled as follows:
+                                        #
+                                        # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                        #   `font_family` is applied with weight `400` ("normal").
+                                        # * If both fields are set, the value of `font_family` must match that of
+                                        #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                        #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                        #   returned.
+                                        # * If `weighted_font_family` is set and `font_family` is not, the font
+                                        #   family and weight of `weighted_font_family` is applied.
+                                        # * If neither field is set, the font family and weight of the text inherit
+                                        #   from the parent. Note that these properties cannot inherit separately
+                                        #   from each other.
+                                        #
+                                        # If an update request specifies values for both `weighted_font_family` and
+                                        # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                        #
+                                        # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                        #
+                                        # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                        # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                        # is returned.
+                                      "fontFamily": "A String", # The font family of the text.
+                                          #
+                                          # The font family can be any font from the Font menu in Slides or from
+                                          # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                          # unrecognized, the text is rendered in `Arial`.
+                                      "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                                          # multiple of `100` between `100` and `900`, inclusive. This range
+                                          # corresponds to the numerical values described in the CSS 2.1
+                                          # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                          # with non-numerical values disallowed. Weights greater than or equal to
+                                          # `700` are considered bold, and weights less than `700`are not bold. The
+                                          # default value is `400` ("normal").
+                                    },
+                                    "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                                    "fontFamily": "A String", # The font family of the text.
+                                        #
+                                        # The font family can be any font from the Font menu in Slides or from
+                                        # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                        # unrecognized, the text is rendered in `Arial`.
+                                        #
+                                        # Some fonts can affect the weight of the text. If an update request
+                                        # specifies values for both `font_family` and `bold`, the explicitly-set
+                                        # `bold` value is used.
+                                    "italic": True or False, # Whether or not the text is italicized.
+                                    "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                                        # are not inherited from parent text.
+                                        #
+                                        # Changing the link in an update request causes some other changes to the
+                                        # text style of the range:
+                                        #
+                                        # * When setting a link, the text foreground color will be set to
+                                        #   ThemeColorType.HYPERLINK and the text will
+                                        #   be underlined. If these fields are modified in the same
+                                        #   request, those values will be used instead of the link defaults.
+                                        # * Setting a link on a text range that overlaps with an existing link will
+                                        #   also update the existing link to point to the new URL.
+                                        # * Links are not settable on newline characters. As a result, setting a link
+                                        #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                                        #   will separate the newline character(s) into their own text runs. The
+                                        #   link will be applied separately to the runs before and after the newline.
+                                        # * Removing a link will update the text style of the range to match the
+                                        #   style of the preceding text (or the default text styles if the preceding
+                                        #   text is another link) unless different styles are being set in the same
+                                        #   request.
+                                      "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                                      "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                                          # in the presentation. There may not be a slide at this index.
+                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                          # presentation with this ID. A page with this ID may not exist.
+                                      "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                                          # addressed by its position.
+                                    },
+                                    "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                                        # transparent, depending on if the `opaque_color` field in it is set.
+                                      "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                          # a transparent color.
+                                        "themeColor": "A String", # An opaque theme color.
+                                        "rgbColor": { # An RGB color. # An opaque RGB color.
+                                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                        },
+                                      },
+                                    },
+                                    "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                                        # points.
+                                      "magnitude": 3.14, # The magnitude.
+                                      "unit": "A String", # The units for magnitude.
+                                    },
+                                    "underline": True or False, # Whether or not the text is underlined.
+                                  },
+                                },
+                              },
+                              "listId": "A String", # The ID of the list.
+                            },
+                          },
+                          "textElements": [ # The text contents broken down into its component parts, including styling
+                              # information. This property is read-only.
+                            { # A TextElement describes the content of a range of indices in the text content
+                                # of a Shape or TableCell.
+                              "autoText": { # A TextElement kind that represents auto text. # A TextElement representing a spot in the text that is dynamically
+                                  # replaced with content that can change over time.
+                                "content": "A String", # The rendered content of this auto text, if available.
+                                "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this auto text.
+                                    #
+                                    # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                                    # inherited from the parent. Which text styles are inherited depend on the
+                                    # nesting level of lists:
+                                    #
+                                    # * A text run in a paragraph that is not in a list will inherit its text style
+                                    #   from the the newline character in the paragraph at the 0 nesting level of
+                                    #   the list inside the parent placeholder.
+                                    # * A text run in a paragraph that is in a list will inherit its text style
+                                    #   from the newline character in the paragraph at its corresponding nesting
+                                    #   level of the list inside the parent placeholder.
+                                    #
+                                    # Inherited text styles are represented as unset fields in this message. If
+                                    # text is contained in a shape without a parent placeholder, unsetting these
+                                    # fields will revert the style to a value matching the defaults in the Slides
+                                    # editor.
+                                  "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                                      # transparent, depending on if the `opaque_color` field in it is set.
+                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                        # a transparent color.
+                                      "themeColor": "A String", # An opaque theme color.
+                                      "rgbColor": { # An RGB color. # An opaque RGB color.
+                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                      },
+                                    },
+                                  },
+                                  "bold": True or False, # Whether or not the text is rendered as bold.
+                                  "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                                      #
+                                      # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                                      # rendered in a smaller font size, computed based on the `font_size` field.
+                                      # The `font_size` itself is not affected by changes in this field.
+                                  "strikethrough": True or False, # Whether or not the text is struck through.
+                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                                      #
+                                      # This field is an extension of `font_family` meant to support explicit font
+                                      # weights without breaking backwards compatibility. As such, when reading the
+                                      # style of a range of text, the value of `weighted_font_family#font_family`
+                                      # will always be equal to that of `font_family`. However, when writing, if
+                                      # both fields are included in the field mask (either explicitly or through
+                                      # the wildcard `"*"`), their values are reconciled as follows:
+                                      #
+                                      # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                      #   `font_family` is applied with weight `400` ("normal").
+                                      # * If both fields are set, the value of `font_family` must match that of
+                                      #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                      #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                      #   returned.
+                                      # * If `weighted_font_family` is set and `font_family` is not, the font
+                                      #   family and weight of `weighted_font_family` is applied.
+                                      # * If neither field is set, the font family and weight of the text inherit
+                                      #   from the parent. Note that these properties cannot inherit separately
+                                      #   from each other.
+                                      #
+                                      # If an update request specifies values for both `weighted_font_family` and
+                                      # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                      #
+                                      # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                      #
+                                      # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                      # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                      # is returned.
+                                    "fontFamily": "A String", # The font family of the text.
+                                        #
+                                        # The font family can be any font from the Font menu in Slides or from
+                                        # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                        # unrecognized, the text is rendered in `Arial`.
+                                    "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                                        # multiple of `100` between `100` and `900`, inclusive. This range
+                                        # corresponds to the numerical values described in the CSS 2.1
+                                        # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                        # with non-numerical values disallowed. Weights greater than or equal to
+                                        # `700` are considered bold, and weights less than `700`are not bold. The
+                                        # default value is `400` ("normal").
+                                  },
+                                  "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                                  "fontFamily": "A String", # The font family of the text.
+                                      #
+                                      # The font family can be any font from the Font menu in Slides or from
+                                      # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                      # unrecognized, the text is rendered in `Arial`.
+                                      #
+                                      # Some fonts can affect the weight of the text. If an update request
+                                      # specifies values for both `font_family` and `bold`, the explicitly-set
+                                      # `bold` value is used.
+                                  "italic": True or False, # Whether or not the text is italicized.
+                                  "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                                      # are not inherited from parent text.
+                                      #
+                                      # Changing the link in an update request causes some other changes to the
+                                      # text style of the range:
+                                      #
+                                      # * When setting a link, the text foreground color will be set to
+                                      #   ThemeColorType.HYPERLINK and the text will
+                                      #   be underlined. If these fields are modified in the same
+                                      #   request, those values will be used instead of the link defaults.
+                                      # * Setting a link on a text range that overlaps with an existing link will
+                                      #   also update the existing link to point to the new URL.
+                                      # * Links are not settable on newline characters. As a result, setting a link
+                                      #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                                      #   will separate the newline character(s) into their own text runs. The
+                                      #   link will be applied separately to the runs before and after the newline.
+                                      # * Removing a link will update the text style of the range to match the
+                                      #   style of the preceding text (or the default text styles if the preceding
+                                      #   text is another link) unless different styles are being set in the same
+                                      #   request.
+                                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                                        # in the presentation. There may not be a slide at this index.
+                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                        # presentation with this ID. A page with this ID may not exist.
+                                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                                        # addressed by its position.
+                                  },
+                                  "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                                      # transparent, depending on if the `opaque_color` field in it is set.
+                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                        # a transparent color.
+                                      "themeColor": "A String", # An opaque theme color.
+                                      "rgbColor": { # An RGB color. # An opaque RGB color.
+                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                      },
+                                    },
+                                  },
+                                  "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                                      # points.
+                                    "magnitude": 3.14, # The magnitude.
+                                    "unit": "A String", # The units for magnitude.
+                                  },
+                                  "underline": True or False, # Whether or not the text is underlined.
+                                },
+                                "type": "A String", # The type of this auto text.
+                              },
+                              "endIndex": 42, # The zero-based end index of this text element, exclusive, in Unicode code
+                                  # units.
+                              "startIndex": 42, # The zero-based start index of this text element, in Unicode code units.
+                              "paragraphMarker": { # A TextElement kind that represents the beginning of a new paragraph. # A marker representing the beginning of a new paragraph.
+                                  #
+                                  # The `start_index` and `end_index` of this TextElement represent the
+                                  # range of the paragraph. Other TextElements with an index range contained
+                                  # inside this paragraph's range are considered to be part of this
+                                  # paragraph. The range of indices of two separate paragraphs will never
+                                  # overlap.
+                                "style": { # Styles that apply to a whole paragraph. # The paragraph's style
+                                    #
+                                    # If this text is contained in a shape with a parent placeholder, then these paragraph styles may be
+                                    # inherited from the parent. Which paragraph styles are inherited depend on the
+                                    # nesting level of lists:
+                                    #
+                                    # * A paragraph not in a list will inherit its paragraph style from the
+                                    #   paragraph at the 0 nesting level of the list inside the parent placeholder.
+                                    # * A paragraph in a list will inherit its paragraph style from the paragraph
+                                    #   at its corresponding nesting level of the list inside the parent
+                                    #   placeholder.
+                                    #
+                                    # Inherited paragraph styles are represented as unset fields in this message.
+                                  "spacingMode": "A String", # The spacing mode for the paragraph.
+                                  "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
+                                      # LEFT_TO_RIGHT since
+                                      # text direction is not inherited.
+                                  "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
+                                      # inherited from the parent.
+                                    "magnitude": 3.14, # The magnitude.
+                                    "unit": "A String", # The units for magnitude.
+                                  },
+                                  "lineSpacing": 3.14, # The amount of space between lines, as a percentage of normal, where normal
+                                      # is represented as 100.0. If unset, the value is inherited from the parent.
+                                  "indentStart": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
+                                      # the start of the text, based on the current text direction. If unset, the
+                                      # value is inherited from the parent.
+                                    "magnitude": 3.14, # The magnitude.
+                                    "unit": "A String", # The units for magnitude.
+                                  },
+                                  "spaceAbove": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
+                                      # inherited from the parent.
+                                    "magnitude": 3.14, # The magnitude.
+                                    "unit": "A String", # The units for magnitude.
+                                  },
+                                  "indentEnd": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
+                                      # the end of the text, based on the current text direction. If unset, the
+                                      # value is inherited from the parent.
+                                    "magnitude": 3.14, # The magnitude.
+                                    "unit": "A String", # The units for magnitude.
+                                  },
+                                  "indentFirstLine": { # A magnitude in a single direction in the specified units. # The amount of indentation for the start of the first line of the paragraph.
+                                      # If unset, the value is inherited from the parent.
+                                    "magnitude": 3.14, # The magnitude.
+                                    "unit": "A String", # The units for magnitude.
+                                  },
+                                  "alignment": "A String", # The text alignment for this paragraph.
+                                },
+                                "bullet": { # Describes the bullet of a paragraph. # The bullet for this paragraph. If not present, the paragraph does not
+                                    # belong to a list.
+                                  "nestingLevel": 42, # The nesting level of this paragraph in the list.
+                                  "listId": "A String", # The ID of the list this paragraph belongs to.
+                                  "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The paragraph specific text style applied to this bullet.
+                                      #
+                                      # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                                      # inherited from the parent. Which text styles are inherited depend on the
+                                      # nesting level of lists:
+                                      #
+                                      # * A text run in a paragraph that is not in a list will inherit its text style
+                                      #   from the the newline character in the paragraph at the 0 nesting level of
+                                      #   the list inside the parent placeholder.
+                                      # * A text run in a paragraph that is in a list will inherit its text style
+                                      #   from the newline character in the paragraph at its corresponding nesting
+                                      #   level of the list inside the parent placeholder.
+                                      #
+                                      # Inherited text styles are represented as unset fields in this message. If
+                                      # text is contained in a shape without a parent placeholder, unsetting these
+                                      # fields will revert the style to a value matching the defaults in the Slides
+                                      # editor.
+                                    "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                                        # transparent, depending on if the `opaque_color` field in it is set.
+                                      "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                          # a transparent color.
+                                        "themeColor": "A String", # An opaque theme color.
+                                        "rgbColor": { # An RGB color. # An opaque RGB color.
+                                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                        },
+                                      },
+                                    },
+                                    "bold": True or False, # Whether or not the text is rendered as bold.
+                                    "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                                        #
+                                        # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                                        # rendered in a smaller font size, computed based on the `font_size` field.
+                                        # The `font_size` itself is not affected by changes in this field.
+                                    "strikethrough": True or False, # Whether or not the text is struck through.
+                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                                        #
+                                        # This field is an extension of `font_family` meant to support explicit font
+                                        # weights without breaking backwards compatibility. As such, when reading the
+                                        # style of a range of text, the value of `weighted_font_family#font_family`
+                                        # will always be equal to that of `font_family`. However, when writing, if
+                                        # both fields are included in the field mask (either explicitly or through
+                                        # the wildcard `"*"`), their values are reconciled as follows:
+                                        #
+                                        # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                        #   `font_family` is applied with weight `400` ("normal").
+                                        # * If both fields are set, the value of `font_family` must match that of
+                                        #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                        #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                        #   returned.
+                                        # * If `weighted_font_family` is set and `font_family` is not, the font
+                                        #   family and weight of `weighted_font_family` is applied.
+                                        # * If neither field is set, the font family and weight of the text inherit
+                                        #   from the parent. Note that these properties cannot inherit separately
+                                        #   from each other.
+                                        #
+                                        # If an update request specifies values for both `weighted_font_family` and
+                                        # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                        #
+                                        # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                        #
+                                        # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                        # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                        # is returned.
+                                      "fontFamily": "A String", # The font family of the text.
+                                          #
+                                          # The font family can be any font from the Font menu in Slides or from
+                                          # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                          # unrecognized, the text is rendered in `Arial`.
+                                      "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                                          # multiple of `100` between `100` and `900`, inclusive. This range
+                                          # corresponds to the numerical values described in the CSS 2.1
+                                          # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                          # with non-numerical values disallowed. Weights greater than or equal to
+                                          # `700` are considered bold, and weights less than `700`are not bold. The
+                                          # default value is `400` ("normal").
+                                    },
+                                    "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                                    "fontFamily": "A String", # The font family of the text.
+                                        #
+                                        # The font family can be any font from the Font menu in Slides or from
+                                        # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                        # unrecognized, the text is rendered in `Arial`.
+                                        #
+                                        # Some fonts can affect the weight of the text. If an update request
+                                        # specifies values for both `font_family` and `bold`, the explicitly-set
+                                        # `bold` value is used.
+                                    "italic": True or False, # Whether or not the text is italicized.
+                                    "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                                        # are not inherited from parent text.
+                                        #
+                                        # Changing the link in an update request causes some other changes to the
+                                        # text style of the range:
+                                        #
+                                        # * When setting a link, the text foreground color will be set to
+                                        #   ThemeColorType.HYPERLINK and the text will
+                                        #   be underlined. If these fields are modified in the same
+                                        #   request, those values will be used instead of the link defaults.
+                                        # * Setting a link on a text range that overlaps with an existing link will
+                                        #   also update the existing link to point to the new URL.
+                                        # * Links are not settable on newline characters. As a result, setting a link
+                                        #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                                        #   will separate the newline character(s) into their own text runs. The
+                                        #   link will be applied separately to the runs before and after the newline.
+                                        # * Removing a link will update the text style of the range to match the
+                                        #   style of the preceding text (or the default text styles if the preceding
+                                        #   text is another link) unless different styles are being set in the same
+                                        #   request.
+                                      "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                                      "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                                          # in the presentation. There may not be a slide at this index.
+                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                          # presentation with this ID. A page with this ID may not exist.
+                                      "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                                          # addressed by its position.
+                                    },
+                                    "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                                        # transparent, depending on if the `opaque_color` field in it is set.
+                                      "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                          # a transparent color.
+                                        "themeColor": "A String", # An opaque theme color.
+                                        "rgbColor": { # An RGB color. # An opaque RGB color.
+                                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                        },
+                                      },
+                                    },
+                                    "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                                        # points.
+                                      "magnitude": 3.14, # The magnitude.
+                                      "unit": "A String", # The units for magnitude.
+                                    },
+                                    "underline": True or False, # Whether or not the text is underlined.
+                                  },
+                                  "glyph": "A String", # The rendered bullet glyph for this paragraph.
+                                },
+                              },
+                              "textRun": { # A TextElement kind that represents a run of text that all has the same # A TextElement representing a run of text where all of the characters
+                                  # in the run have the same TextStyle.
+                                  #
+                                  # The `start_index` and `end_index` of TextRuns will always be fully
+                                  # contained in the index range of a single `paragraph_marker` TextElement.
+                                  # In other words, a TextRun will never span multiple paragraphs.
+                                  # styling.
+                                "content": "A String", # The text of this run.
+                                "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this run.
+                                    #
+                                    # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                                    # inherited from the parent. Which text styles are inherited depend on the
+                                    # nesting level of lists:
+                                    #
+                                    # * A text run in a paragraph that is not in a list will inherit its text style
+                                    #   from the the newline character in the paragraph at the 0 nesting level of
+                                    #   the list inside the parent placeholder.
+                                    # * A text run in a paragraph that is in a list will inherit its text style
+                                    #   from the newline character in the paragraph at its corresponding nesting
+                                    #   level of the list inside the parent placeholder.
+                                    #
+                                    # Inherited text styles are represented as unset fields in this message. If
+                                    # text is contained in a shape without a parent placeholder, unsetting these
+                                    # fields will revert the style to a value matching the defaults in the Slides
+                                    # editor.
+                                  "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                                      # transparent, depending on if the `opaque_color` field in it is set.
+                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                        # a transparent color.
+                                      "themeColor": "A String", # An opaque theme color.
+                                      "rgbColor": { # An RGB color. # An opaque RGB color.
+                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                      },
+                                    },
+                                  },
+                                  "bold": True or False, # Whether or not the text is rendered as bold.
+                                  "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                                      #
+                                      # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                                      # rendered in a smaller font size, computed based on the `font_size` field.
+                                      # The `font_size` itself is not affected by changes in this field.
+                                  "strikethrough": True or False, # Whether or not the text is struck through.
+                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                                      #
+                                      # This field is an extension of `font_family` meant to support explicit font
+                                      # weights without breaking backwards compatibility. As such, when reading the
+                                      # style of a range of text, the value of `weighted_font_family#font_family`
+                                      # will always be equal to that of `font_family`. However, when writing, if
+                                      # both fields are included in the field mask (either explicitly or through
+                                      # the wildcard `"*"`), their values are reconciled as follows:
+                                      #
+                                      # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                      #   `font_family` is applied with weight `400` ("normal").
+                                      # * If both fields are set, the value of `font_family` must match that of
+                                      #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                      #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                      #   returned.
+                                      # * If `weighted_font_family` is set and `font_family` is not, the font
+                                      #   family and weight of `weighted_font_family` is applied.
+                                      # * If neither field is set, the font family and weight of the text inherit
+                                      #   from the parent. Note that these properties cannot inherit separately
+                                      #   from each other.
+                                      #
+                                      # If an update request specifies values for both `weighted_font_family` and
+                                      # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                      #
+                                      # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                      #
+                                      # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                      # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                      # is returned.
+                                    "fontFamily": "A String", # The font family of the text.
+                                        #
+                                        # The font family can be any font from the Font menu in Slides or from
+                                        # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                        # unrecognized, the text is rendered in `Arial`.
+                                    "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                                        # multiple of `100` between `100` and `900`, inclusive. This range
+                                        # corresponds to the numerical values described in the CSS 2.1
+                                        # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                        # with non-numerical values disallowed. Weights greater than or equal to
+                                        # `700` are considered bold, and weights less than `700`are not bold. The
+                                        # default value is `400` ("normal").
+                                  },
+                                  "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                                  "fontFamily": "A String", # The font family of the text.
+                                      #
+                                      # The font family can be any font from the Font menu in Slides or from
+                                      # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                      # unrecognized, the text is rendered in `Arial`.
+                                      #
+                                      # Some fonts can affect the weight of the text. If an update request
+                                      # specifies values for both `font_family` and `bold`, the explicitly-set
+                                      # `bold` value is used.
+                                  "italic": True or False, # Whether or not the text is italicized.
+                                  "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                                      # are not inherited from parent text.
+                                      #
+                                      # Changing the link in an update request causes some other changes to the
+                                      # text style of the range:
+                                      #
+                                      # * When setting a link, the text foreground color will be set to
+                                      #   ThemeColorType.HYPERLINK and the text will
+                                      #   be underlined. If these fields are modified in the same
+                                      #   request, those values will be used instead of the link defaults.
+                                      # * Setting a link on a text range that overlaps with an existing link will
+                                      #   also update the existing link to point to the new URL.
+                                      # * Links are not settable on newline characters. As a result, setting a link
+                                      #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                                      #   will separate the newline character(s) into their own text runs. The
+                                      #   link will be applied separately to the runs before and after the newline.
+                                      # * Removing a link will update the text style of the range to match the
+                                      #   style of the preceding text (or the default text styles if the preceding
+                                      #   text is another link) unless different styles are being set in the same
+                                      #   request.
+                                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                                        # in the presentation. There may not be a slide at this index.
+                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                        # presentation with this ID. A page with this ID may not exist.
+                                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                                        # addressed by its position.
+                                  },
+                                  "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                                      # transparent, depending on if the `opaque_color` field in it is set.
+                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                        # a transparent color.
+                                      "themeColor": "A String", # An opaque theme color.
+                                      "rgbColor": { # An RGB color. # An opaque RGB color.
+                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                      },
+                                    },
+                                  },
+                                  "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                                      # points.
+                                    "magnitude": 3.14, # The magnitude.
+                                    "unit": "A String", # The units for magnitude.
+                                  },
+                                  "underline": True or False, # Whether or not the text is underlined.
+                                },
+                              },
+                            },
+                          ],
+                        },
+                        "tableCellProperties": { # The properties of the TableCell. # The properties of the table cell.
+                          "tableCellBackgroundFill": { # The table cell background fill. # The background fill of the table cell. The default fill matches the fill
+                              # for newly created table cells in the Slides editor.
+                            "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                                # specified color value.
+                                #
+                                # If any field is unset, its value may be inherited from a parent placeholder
+                                # if it exists.
+                              "color": { # A themeable solid color value. # The color value of the solid fill.
+                                "themeColor": "A String", # An opaque theme color.
+                                "rgbColor": { # An RGB color. # An opaque RGB color.
+                                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                },
+                              },
+                              "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                                  # That is, the final pixel color is defined by the equation:
+                                  #
+                                  #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                                  #
+                                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                                  # a value of 0.0 corresponds to a completely transparent color.
+                            },
+                            "propertyState": "A String", # The background fill property state.
+                                #
+                                # Updating the the fill on a table cell will implicitly update this field
+                                # to `RENDERED`, unless another value is specified in the same request. To
+                                # have no fill on a table cell, set this field to `NOT_RENDERED`. In this
+                                # case, any other fill fields set in the same request will be ignored.
+                          },
+                        },
+                        "rowSpan": 42, # Row span of the cell.
+                        "columnSpan": 42, # Column span of the cell.
+                        "location": { # A location of a single table cell within a table. # The location of the cell within the table.
+                          "rowIndex": 42, # The 0-based row index.
+                          "columnIndex": 42, # The 0-based column index.
+                        },
+                      },
+                    ],
+                    "rowHeight": { # A magnitude in a single direction in the specified units. # Height of a row.
+                      "magnitude": 3.14, # The magnitude.
+                      "unit": "A String", # The units for magnitude.
+                    },
+                  },
+                ],
+                "rows": 42, # Number of rows in the table.
+                "columns": 42, # Number of columns in the table.
+              },
+              "line": { # A PageElement kind representing a # A line page element.
+                  # line, curved connector, or bent connector.
+                "lineProperties": { # The properties of the Line. # The properties of the line.
+                    #
+                    # When unset, these fields default to values that match the appearance of
+                    # new lines created in the Slides editor.
+                  "dashStyle": "A String", # The dash style of the line.
+                  "weight": { # A magnitude in a single direction in the specified units. # The thickness of the line.
+                    "magnitude": 3.14, # The magnitude.
+                    "unit": "A String", # The units for magnitude.
+                  },
+                  "endArrow": "A String", # The style of the arrow at the end of the line.
+                  "link": { # A hypertext link. # The hyperlink destination of the line. If unset, there is no link.
+                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                        # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
+                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                        # addressed by its position.
+                  },
+                  "lineFill": { # The fill of the line. # The fill of the line. The default line fill matches the defaults for new
+                      # lines created in the Slides editor.
+                    "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                        # specified color value.
+                        #
+                        # If any field is unset, its value may be inherited from a parent placeholder
+                        # if it exists.
+                      "color": { # A themeable solid color value. # The color value of the solid fill.
+                        "themeColor": "A String", # An opaque theme color.
+                        "rgbColor": { # An RGB color. # An opaque RGB color.
+                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                        },
+                      },
+                      "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                          # That is, the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color.
+                    },
+                  },
+                  "startArrow": "A String", # The style of the arrow at the beginning of the line.
+                },
+                "lineType": "A String", # The type of the line.
+              },
+              "size": { # A width and height. # The size of the page element.
+                "width": { # A magnitude in a single direction in the specified units. # The width of the object.
+                  "magnitude": 3.14, # The magnitude.
+                  "unit": "A String", # The units for magnitude.
+                },
+                "height": { # A magnitude in a single direction in the specified units. # The height of the object.
+                  "magnitude": 3.14, # The magnitude.
+                  "unit": "A String", # The units for magnitude.
+                },
+              },
+            },
+          ],
+          "notesProperties": { # The properties of Page that are only # Notes specific properties. Only set if page_type = NOTES.
+              # relevant for pages with page_type NOTES.
+            "speakerNotesObjectId": "A String", # The object ID of the shape on this notes page that contains the speaker
+                # notes for the corresponding slide.
+                # The actual shape may not always exist on the notes page. Inserting text
+                # using this object ID will automatically create the shape. In this case, the
+                # actual shape may have different object ID. The `GetPresentation` or
+                # `GetPage` action will always return the latest object ID.
+          },
+          "objectId": "A String", # The object ID for this page. Object IDs used by
+              # Page and
+              # PageElement share the same namespace.
+          "revisionId": "A String", # The revision ID of the presentation containing this page. Can be used in
+              # update requests to assert that the presentation revision hasn't changed
+              # since the last read operation. Only populated if the user has edit access
+              # to the presentation.
+              #
+              # The format of the revision ID may change over time, so it should be treated
+              # opaquely. A returned revision ID is only guaranteed to be valid for 24
+              # hours after it has been returned and cannot be shared across users. If the
+              # revision ID is unchanged between calls, then the presentation has not
+              # changed. Conversely, a changed ID (for the same presentation and user)
+              # usually means the presentation has been updated; however, a changed ID can
+              # also be due to internal factors such as ID format changes.
           "pageProperties": { # The properties of the Page. # The properties of the page.
               #
               # The page will inherit properties from the parent page. Depending on the page
@@ -16099,10 +17336,10 @@
                   },
                   "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                         # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                         # addressed by its position.
                   },
@@ -16133,17 +17370,17 @@
                     "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
                         # the right of the original bounding rectangle left edge, relative to the
                         # object's original width.
-                    "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                        # below the original bounding rectangle top edge, relative to the object's
-                        # original height.
-                    "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                        # above the original bounding rectangle bottom edge, relative to the object's
-                        # original height.
                     "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
                         # Rotation angle is applied after the offset.
                     "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
                         # to the left of the original bounding rectangle right edge, relative to the
                         # object's original width.
+                    "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                        # above the original bounding rectangle bottom edge, relative to the object's
+                        # original height.
+                    "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                        # below the original bounding rectangle top edge, relative to the object's
+                        # original height.
                   },
                   "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
                       # is read-only.
@@ -16273,26 +17510,47 @@
                                 # rendered in a smaller font size, computed based on the `font_size` field.
                                 # The `font_size` itself is not affected by changes in this field.
                             "strikethrough": True or False, # Whether or not the text is struck through.
-                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                # read-only.
+                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                 #
                                 # This field is an extension of `font_family` meant to support explicit font
                                 # weights without breaking backwards compatibility. As such, when reading the
-                                # style of a range of text, the value of `weighted_font_family.font_family`
-                                # will always be equal to that of `font_family`.
+                                # style of a range of text, the value of `weighted_font_family#font_family`
+                                # will always be equal to that of `font_family`. However, when writing, if
+                                # both fields are included in the field mask (either explicitly or through
+                                # the wildcard `"*"`), their values are reconciled as follows:
+                                #
+                                # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                #   `font_family` is applied with weight `400` ("normal").
+                                # * If both fields are set, the value of `font_family` must match that of
+                                #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                #   returned.
+                                # * If `weighted_font_family` is set and `font_family` is not, the font
+                                #   family and weight of `weighted_font_family` is applied.
+                                # * If neither field is set, the font family and weight of the text inherit
+                                #   from the parent. Note that these properties cannot inherit separately
+                                #   from each other.
+                                #
+                                # If an update request specifies values for both `weighted_font_family` and
+                                # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                #
+                                # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                #
+                                # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                # is returned.
                               "fontFamily": "A String", # The font family of the text.
                                   #
                                   # The font family can be any font from the Font menu in Slides or from
                                   # [Google Fonts] (https://fonts.google.com/). If the font name is
                                   # unrecognized, the text is rendered in `Arial`.
                               "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                  # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                  # only the numerical values described in the "Cascading Style Sheets Level
-                                  # 2 Revision 1 (CSS 2.1) Specification",
-                                  # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                  # non-numerical values in the specification are disallowed. Weights greater
-                                  # than or equal to 700 are considered bold, and weights less than 700 are
-                                  # not bold. The default value is `400` ("normal").
+                                  # multiple of `100` between `100` and `900`, inclusive. This range
+                                  # corresponds to the numerical values described in the CSS 2.1
+                                  # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                  # with non-numerical values disallowed. Weights greater than or equal to
+                                  # `700` are considered bold, and weights less than `700`are not bold. The
+                                  # default value is `400` ("normal").
                             },
                             "smallCaps": True or False, # Whether or not the text is in small capital letters.
                             "fontFamily": "A String", # The font family of the text.
@@ -16326,10 +17584,10 @@
                                 #   text is another link) unless different styles are being set in the same
                                 #   request.
                               "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                  # presentation with this ID. A page with this ID may not exist.
                               "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                   # in the presentation. There may not be a slide at this index.
+                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                  # presentation with this ID. A page with this ID may not exist.
                               "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                   # addressed by its position.
                             },
@@ -16400,26 +17658,47 @@
                               # rendered in a smaller font size, computed based on the `font_size` field.
                               # The `font_size` itself is not affected by changes in this field.
                           "strikethrough": True or False, # Whether or not the text is struck through.
-                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                              # read-only.
+                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                               #
                               # This field is an extension of `font_family` meant to support explicit font
                               # weights without breaking backwards compatibility. As such, when reading the
-                              # style of a range of text, the value of `weighted_font_family.font_family`
-                              # will always be equal to that of `font_family`.
+                              # style of a range of text, the value of `weighted_font_family#font_family`
+                              # will always be equal to that of `font_family`. However, when writing, if
+                              # both fields are included in the field mask (either explicitly or through
+                              # the wildcard `"*"`), their values are reconciled as follows:
+                              #
+                              # * If `font_family` is set and `weighted_font_family` is not, the value of
+                              #   `font_family` is applied with weight `400` ("normal").
+                              # * If both fields are set, the value of `font_family` must match that of
+                              #   `weighted_font_family#font_family`. If so, the font family and weight of
+                              #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                              #   returned.
+                              # * If `weighted_font_family` is set and `font_family` is not, the font
+                              #   family and weight of `weighted_font_family` is applied.
+                              # * If neither field is set, the font family and weight of the text inherit
+                              #   from the parent. Note that these properties cannot inherit separately
+                              #   from each other.
+                              #
+                              # If an update request specifies values for both `weighted_font_family` and
+                              # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                              #
+                              # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                              #
+                              # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                              # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                              # is returned.
                             "fontFamily": "A String", # The font family of the text.
                                 #
                                 # The font family can be any font from the Font menu in Slides or from
                                 # [Google Fonts] (https://fonts.google.com/). If the font name is
                                 # unrecognized, the text is rendered in `Arial`.
                             "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                # only the numerical values described in the "Cascading Style Sheets Level
-                                # 2 Revision 1 (CSS 2.1) Specification",
-                                # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                # non-numerical values in the specification are disallowed. Weights greater
-                                # than or equal to 700 are considered bold, and weights less than 700 are
-                                # not bold. The default value is `400` ("normal").
+                                # multiple of `100` between `100` and `900`, inclusive. This range
+                                # corresponds to the numerical values described in the CSS 2.1
+                                # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                # with non-numerical values disallowed. Weights greater than or equal to
+                                # `700` are considered bold, and weights less than `700`are not bold. The
+                                # default value is `400` ("normal").
                           },
                           "smallCaps": True or False, # Whether or not the text is in small capital letters.
                           "fontFamily": "A String", # The font family of the text.
@@ -16453,10 +17732,10 @@
                               #   text is another link) unless different styles are being set in the same
                               #   request.
                             "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                # presentation with this ID. A page with this ID may not exist.
                             "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                 # in the presentation. There may not be a slide at this index.
+                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                # presentation with this ID. A page with this ID may not exist.
                             "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                 # addressed by its position.
                           },
@@ -16506,8 +17785,8 @@
                             # Inherited paragraph styles are represented as unset fields in this message.
                           "spacingMode": "A String", # The spacing mode for the paragraph.
                           "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                              # LEFT_TO_RIGHT
-                              # since text direction is not inherited.
+                              # LEFT_TO_RIGHT since
+                              # text direction is not inherited.
                           "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
                               # inherited from the parent.
                             "magnitude": 3.14, # The magnitude.
@@ -16579,26 +17858,47 @@
                                 # rendered in a smaller font size, computed based on the `font_size` field.
                                 # The `font_size` itself is not affected by changes in this field.
                             "strikethrough": True or False, # Whether or not the text is struck through.
-                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                # read-only.
+                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                 #
                                 # This field is an extension of `font_family` meant to support explicit font
                                 # weights without breaking backwards compatibility. As such, when reading the
-                                # style of a range of text, the value of `weighted_font_family.font_family`
-                                # will always be equal to that of `font_family`.
+                                # style of a range of text, the value of `weighted_font_family#font_family`
+                                # will always be equal to that of `font_family`. However, when writing, if
+                                # both fields are included in the field mask (either explicitly or through
+                                # the wildcard `"*"`), their values are reconciled as follows:
+                                #
+                                # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                #   `font_family` is applied with weight `400` ("normal").
+                                # * If both fields are set, the value of `font_family` must match that of
+                                #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                #   returned.
+                                # * If `weighted_font_family` is set and `font_family` is not, the font
+                                #   family and weight of `weighted_font_family` is applied.
+                                # * If neither field is set, the font family and weight of the text inherit
+                                #   from the parent. Note that these properties cannot inherit separately
+                                #   from each other.
+                                #
+                                # If an update request specifies values for both `weighted_font_family` and
+                                # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                #
+                                # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                #
+                                # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                # is returned.
                               "fontFamily": "A String", # The font family of the text.
                                   #
                                   # The font family can be any font from the Font menu in Slides or from
                                   # [Google Fonts] (https://fonts.google.com/). If the font name is
                                   # unrecognized, the text is rendered in `Arial`.
                               "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                  # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                  # only the numerical values described in the "Cascading Style Sheets Level
-                                  # 2 Revision 1 (CSS 2.1) Specification",
-                                  # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                  # non-numerical values in the specification are disallowed. Weights greater
-                                  # than or equal to 700 are considered bold, and weights less than 700 are
-                                  # not bold. The default value is `400` ("normal").
+                                  # multiple of `100` between `100` and `900`, inclusive. This range
+                                  # corresponds to the numerical values described in the CSS 2.1
+                                  # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                  # with non-numerical values disallowed. Weights greater than or equal to
+                                  # `700` are considered bold, and weights less than `700`are not bold. The
+                                  # default value is `400` ("normal").
                             },
                             "smallCaps": True or False, # Whether or not the text is in small capital letters.
                             "fontFamily": "A String", # The font family of the text.
@@ -16632,10 +17932,10 @@
                                 #   text is another link) unless different styles are being set in the same
                                 #   request.
                               "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                  # presentation with this ID. A page with this ID may not exist.
                               "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                   # in the presentation. There may not be a slide at this index.
+                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                  # presentation with this ID. A page with this ID may not exist.
                               "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                   # addressed by its position.
                             },
@@ -16705,26 +18005,47 @@
                               # rendered in a smaller font size, computed based on the `font_size` field.
                               # The `font_size` itself is not affected by changes in this field.
                           "strikethrough": True or False, # Whether or not the text is struck through.
-                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                              # read-only.
+                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                               #
                               # This field is an extension of `font_family` meant to support explicit font
                               # weights without breaking backwards compatibility. As such, when reading the
-                              # style of a range of text, the value of `weighted_font_family.font_family`
-                              # will always be equal to that of `font_family`.
+                              # style of a range of text, the value of `weighted_font_family#font_family`
+                              # will always be equal to that of `font_family`. However, when writing, if
+                              # both fields are included in the field mask (either explicitly or through
+                              # the wildcard `"*"`), their values are reconciled as follows:
+                              #
+                              # * If `font_family` is set and `weighted_font_family` is not, the value of
+                              #   `font_family` is applied with weight `400` ("normal").
+                              # * If both fields are set, the value of `font_family` must match that of
+                              #   `weighted_font_family#font_family`. If so, the font family and weight of
+                              #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                              #   returned.
+                              # * If `weighted_font_family` is set and `font_family` is not, the font
+                              #   family and weight of `weighted_font_family` is applied.
+                              # * If neither field is set, the font family and weight of the text inherit
+                              #   from the parent. Note that these properties cannot inherit separately
+                              #   from each other.
+                              #
+                              # If an update request specifies values for both `weighted_font_family` and
+                              # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                              #
+                              # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                              #
+                              # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                              # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                              # is returned.
                             "fontFamily": "A String", # The font family of the text.
                                 #
                                 # The font family can be any font from the Font menu in Slides or from
                                 # [Google Fonts] (https://fonts.google.com/). If the font name is
                                 # unrecognized, the text is rendered in `Arial`.
                             "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                # only the numerical values described in the "Cascading Style Sheets Level
-                                # 2 Revision 1 (CSS 2.1) Specification",
-                                # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                # non-numerical values in the specification are disallowed. Weights greater
-                                # than or equal to 700 are considered bold, and weights less than 700 are
-                                # not bold. The default value is `400` ("normal").
+                                # multiple of `100` between `100` and `900`, inclusive. This range
+                                # corresponds to the numerical values described in the CSS 2.1
+                                # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                # with non-numerical values disallowed. Weights greater than or equal to
+                                # `700` are considered bold, and weights less than `700`are not bold. The
+                                # default value is `400` ("normal").
                           },
                           "smallCaps": True or False, # Whether or not the text is in small capital letters.
                           "fontFamily": "A String", # The font family of the text.
@@ -16758,10 +18079,10 @@
                               #   text is another link) unless different styles are being set in the same
                               #   request.
                             "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                # presentation with this ID. A page with this ID may not exist.
                             "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                 # in the presentation. There may not be a slide at this index.
+                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                # presentation with this ID. A page with this ID may not exist.
                             "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                 # addressed by its position.
                           },
@@ -16886,10 +18207,10 @@
                   "link": { # A hypertext link. # The hyperlink destination of the shape. If unset, there is no link. Links
                       # are not inherited from parent placeholders.
                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                         # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                         # addressed by its position.
                   },
@@ -16948,8 +18269,8 @@
                   "parentObjectId": "A String", # The object ID of this shape's parent placeholder.
                       # If unset, the parent placeholder shape does not exist, so the shape does
                       # not inherit properties from any other shape.
-                  "index": 42, # The index of the placeholder. If the same placeholder types are the present
-                      # in the same page, they would have different index values.
+                  "index": 42, # The index of the placeholder. If the same placeholder types are present in
+                      # the same page, they would have different index values.
                   "type": "A String", # The type of the placeholder.
                 },
                 "shapeType": "A String", # The type of the shape.
@@ -16957,12 +18278,11 @@
               "sheetsChart": { # A PageElement kind representing # A linked chart embedded from Google Sheets. Unlinked charts are
                   # represented as images.
                   # a linked chart embedded from Google Sheets.
-                "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
-                    # embedded.
                 "contentUrl": "A String", # The URL of an image of the embedded chart, with a default lifetime of 30
                     # minutes. This URL is tagged with the account of the requester. Anyone with
                     # the URL effectively accesses the image as the original requester. Access to
                     # the image may be lost if the presentation's sharing settings change.
+                "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
                 "sheetsChartProperties": { # The properties of the SheetsChart. # The properties of the Sheets chart.
                   "chartImageProperties": { # The properties of the Image. # The properties of the embedded chart image.
                     "outline": { # The outline of a PageElement. # The outline of the image. If not set, the the image has no outline.
@@ -17040,10 +18360,10 @@
                     },
                     "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
                       "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                          # presentation with this ID. A page with this ID may not exist.
                       "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                           # in the presentation. There may not be a slide at this index.
+                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                          # presentation with this ID. A page with this ID may not exist.
                       "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                           # addressed by its position.
                     },
@@ -17074,17 +18394,17 @@
                       "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
                           # the right of the original bounding rectangle left edge, relative to the
                           # object's original width.
-                      "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                          # below the original bounding rectangle top edge, relative to the object's
-                          # original height.
-                      "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                          # above the original bounding rectangle bottom edge, relative to the object's
-                          # original height.
                       "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
                           # Rotation angle is applied after the offset.
                       "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
                           # to the left of the original bounding rectangle right edge, relative to the
                           # object's original width.
+                      "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                          # above the original bounding rectangle bottom edge, relative to the object's
+                          # original height.
+                      "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                          # below the original bounding rectangle top edge, relative to the object's
+                          # original height.
                     },
                     "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
                         # is read-only.
@@ -17144,14 +18464,13 @@
                         # [-1.0, 1.0], where 0 means no effect. This property is read-only.
                   },
                 },
-                "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
+                "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
+                    # embedded.
               },
               "video": { # A PageElement kind representing a # A video page element.
                   # video.
                 "url": "A String", # An URL to a video. The URL is valid as long as the source video
                     # exists and sharing settings do not change.
-                "source": "A String", # The video source.
-                "id": "A String", # The video source's unique identifier for this video.
                 "videoProperties": { # The properties of the Video. # The properties of the video.
                   "outline": { # The outline of a PageElement. # The outline of the video. The default outline matches the defaults for new
                       # videos created in the Slides editor.
@@ -17197,6 +18516,8 @@
                     },
                   },
                 },
+                "id": "A String", # The video source's unique identifier for this video.
+                "source": "A String", # The video source.
               },
               "elementGroup": { # A PageElement kind representing a # A collection of page elements joined as a single unit.
                   # joined collection of PageElements.
@@ -17274,26 +18595,47 @@
                                         # rendered in a smaller font size, computed based on the `font_size` field.
                                         # The `font_size` itself is not affected by changes in this field.
                                     "strikethrough": True or False, # Whether or not the text is struck through.
-                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                        # read-only.
+                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                         #
                                         # This field is an extension of `font_family` meant to support explicit font
                                         # weights without breaking backwards compatibility. As such, when reading the
-                                        # style of a range of text, the value of `weighted_font_family.font_family`
-                                        # will always be equal to that of `font_family`.
+                                        # style of a range of text, the value of `weighted_font_family#font_family`
+                                        # will always be equal to that of `font_family`. However, when writing, if
+                                        # both fields are included in the field mask (either explicitly or through
+                                        # the wildcard `"*"`), their values are reconciled as follows:
+                                        #
+                                        # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                        #   `font_family` is applied with weight `400` ("normal").
+                                        # * If both fields are set, the value of `font_family` must match that of
+                                        #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                        #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                        #   returned.
+                                        # * If `weighted_font_family` is set and `font_family` is not, the font
+                                        #   family and weight of `weighted_font_family` is applied.
+                                        # * If neither field is set, the font family and weight of the text inherit
+                                        #   from the parent. Note that these properties cannot inherit separately
+                                        #   from each other.
+                                        #
+                                        # If an update request specifies values for both `weighted_font_family` and
+                                        # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                        #
+                                        # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                        #
+                                        # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                        # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                        # is returned.
                                       "fontFamily": "A String", # The font family of the text.
                                           #
                                           # The font family can be any font from the Font menu in Slides or from
                                           # [Google Fonts] (https://fonts.google.com/). If the font name is
                                           # unrecognized, the text is rendered in `Arial`.
                                       "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                          # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                          # only the numerical values described in the "Cascading Style Sheets Level
-                                          # 2 Revision 1 (CSS 2.1) Specification",
-                                          # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                          # non-numerical values in the specification are disallowed. Weights greater
-                                          # than or equal to 700 are considered bold, and weights less than 700 are
-                                          # not bold. The default value is `400` ("normal").
+                                          # multiple of `100` between `100` and `900`, inclusive. This range
+                                          # corresponds to the numerical values described in the CSS 2.1
+                                          # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                          # with non-numerical values disallowed. Weights greater than or equal to
+                                          # `700` are considered bold, and weights less than `700`are not bold. The
+                                          # default value is `400` ("normal").
                                     },
                                     "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                     "fontFamily": "A String", # The font family of the text.
@@ -17327,10 +18669,10 @@
                                         #   text is another link) unless different styles are being set in the same
                                         #   request.
                                       "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                          # presentation with this ID. A page with this ID may not exist.
                                       "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                           # in the presentation. There may not be a slide at this index.
+                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                          # presentation with this ID. A page with this ID may not exist.
                                       "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                           # addressed by its position.
                                     },
@@ -17401,26 +18743,47 @@
                                       # rendered in a smaller font size, computed based on the `font_size` field.
                                       # The `font_size` itself is not affected by changes in this field.
                                   "strikethrough": True or False, # Whether or not the text is struck through.
-                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                      # read-only.
+                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                       #
                                       # This field is an extension of `font_family` meant to support explicit font
                                       # weights without breaking backwards compatibility. As such, when reading the
-                                      # style of a range of text, the value of `weighted_font_family.font_family`
-                                      # will always be equal to that of `font_family`.
+                                      # style of a range of text, the value of `weighted_font_family#font_family`
+                                      # will always be equal to that of `font_family`. However, when writing, if
+                                      # both fields are included in the field mask (either explicitly or through
+                                      # the wildcard `"*"`), their values are reconciled as follows:
+                                      #
+                                      # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                      #   `font_family` is applied with weight `400` ("normal").
+                                      # * If both fields are set, the value of `font_family` must match that of
+                                      #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                      #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                      #   returned.
+                                      # * If `weighted_font_family` is set and `font_family` is not, the font
+                                      #   family and weight of `weighted_font_family` is applied.
+                                      # * If neither field is set, the font family and weight of the text inherit
+                                      #   from the parent. Note that these properties cannot inherit separately
+                                      #   from each other.
+                                      #
+                                      # If an update request specifies values for both `weighted_font_family` and
+                                      # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                      #
+                                      # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                      #
+                                      # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                      # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                      # is returned.
                                     "fontFamily": "A String", # The font family of the text.
                                         #
                                         # The font family can be any font from the Font menu in Slides or from
                                         # [Google Fonts] (https://fonts.google.com/). If the font name is
                                         # unrecognized, the text is rendered in `Arial`.
                                     "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                        # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                        # only the numerical values described in the "Cascading Style Sheets Level
-                                        # 2 Revision 1 (CSS 2.1) Specification",
-                                        # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                        # non-numerical values in the specification are disallowed. Weights greater
-                                        # than or equal to 700 are considered bold, and weights less than 700 are
-                                        # not bold. The default value is `400` ("normal").
+                                        # multiple of `100` between `100` and `900`, inclusive. This range
+                                        # corresponds to the numerical values described in the CSS 2.1
+                                        # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                        # with non-numerical values disallowed. Weights greater than or equal to
+                                        # `700` are considered bold, and weights less than `700`are not bold. The
+                                        # default value is `400` ("normal").
                                   },
                                   "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                   "fontFamily": "A String", # The font family of the text.
@@ -17454,10 +18817,10 @@
                                       #   text is another link) unless different styles are being set in the same
                                       #   request.
                                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                        # presentation with this ID. A page with this ID may not exist.
                                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                         # in the presentation. There may not be a slide at this index.
+                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                        # presentation with this ID. A page with this ID may not exist.
                                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                         # addressed by its position.
                                   },
@@ -17507,8 +18870,8 @@
                                     # Inherited paragraph styles are represented as unset fields in this message.
                                   "spacingMode": "A String", # The spacing mode for the paragraph.
                                   "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                                      # LEFT_TO_RIGHT
-                                      # since text direction is not inherited.
+                                      # LEFT_TO_RIGHT since
+                                      # text direction is not inherited.
                                   "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
                                       # inherited from the parent.
                                     "magnitude": 3.14, # The magnitude.
@@ -17580,26 +18943,47 @@
                                         # rendered in a smaller font size, computed based on the `font_size` field.
                                         # The `font_size` itself is not affected by changes in this field.
                                     "strikethrough": True or False, # Whether or not the text is struck through.
-                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                        # read-only.
+                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                         #
                                         # This field is an extension of `font_family` meant to support explicit font
                                         # weights without breaking backwards compatibility. As such, when reading the
-                                        # style of a range of text, the value of `weighted_font_family.font_family`
-                                        # will always be equal to that of `font_family`.
+                                        # style of a range of text, the value of `weighted_font_family#font_family`
+                                        # will always be equal to that of `font_family`. However, when writing, if
+                                        # both fields are included in the field mask (either explicitly or through
+                                        # the wildcard `"*"`), their values are reconciled as follows:
+                                        #
+                                        # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                        #   `font_family` is applied with weight `400` ("normal").
+                                        # * If both fields are set, the value of `font_family` must match that of
+                                        #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                        #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                        #   returned.
+                                        # * If `weighted_font_family` is set and `font_family` is not, the font
+                                        #   family and weight of `weighted_font_family` is applied.
+                                        # * If neither field is set, the font family and weight of the text inherit
+                                        #   from the parent. Note that these properties cannot inherit separately
+                                        #   from each other.
+                                        #
+                                        # If an update request specifies values for both `weighted_font_family` and
+                                        # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                        #
+                                        # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                        #
+                                        # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                        # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                        # is returned.
                                       "fontFamily": "A String", # The font family of the text.
                                           #
                                           # The font family can be any font from the Font menu in Slides or from
                                           # [Google Fonts] (https://fonts.google.com/). If the font name is
                                           # unrecognized, the text is rendered in `Arial`.
                                       "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                          # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                          # only the numerical values described in the "Cascading Style Sheets Level
-                                          # 2 Revision 1 (CSS 2.1) Specification",
-                                          # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                          # non-numerical values in the specification are disallowed. Weights greater
-                                          # than or equal to 700 are considered bold, and weights less than 700 are
-                                          # not bold. The default value is `400` ("normal").
+                                          # multiple of `100` between `100` and `900`, inclusive. This range
+                                          # corresponds to the numerical values described in the CSS 2.1
+                                          # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                          # with non-numerical values disallowed. Weights greater than or equal to
+                                          # `700` are considered bold, and weights less than `700`are not bold. The
+                                          # default value is `400` ("normal").
                                     },
                                     "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                     "fontFamily": "A String", # The font family of the text.
@@ -17633,10 +19017,10 @@
                                         #   text is another link) unless different styles are being set in the same
                                         #   request.
                                       "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                          # presentation with this ID. A page with this ID may not exist.
                                       "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                           # in the presentation. There may not be a slide at this index.
+                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                          # presentation with this ID. A page with this ID may not exist.
                                       "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                           # addressed by its position.
                                     },
@@ -17706,26 +19090,47 @@
                                       # rendered in a smaller font size, computed based on the `font_size` field.
                                       # The `font_size` itself is not affected by changes in this field.
                                   "strikethrough": True or False, # Whether or not the text is struck through.
-                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                      # read-only.
+                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                       #
                                       # This field is an extension of `font_family` meant to support explicit font
                                       # weights without breaking backwards compatibility. As such, when reading the
-                                      # style of a range of text, the value of `weighted_font_family.font_family`
-                                      # will always be equal to that of `font_family`.
+                                      # style of a range of text, the value of `weighted_font_family#font_family`
+                                      # will always be equal to that of `font_family`. However, when writing, if
+                                      # both fields are included in the field mask (either explicitly or through
+                                      # the wildcard `"*"`), their values are reconciled as follows:
+                                      #
+                                      # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                      #   `font_family` is applied with weight `400` ("normal").
+                                      # * If both fields are set, the value of `font_family` must match that of
+                                      #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                      #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                      #   returned.
+                                      # * If `weighted_font_family` is set and `font_family` is not, the font
+                                      #   family and weight of `weighted_font_family` is applied.
+                                      # * If neither field is set, the font family and weight of the text inherit
+                                      #   from the parent. Note that these properties cannot inherit separately
+                                      #   from each other.
+                                      #
+                                      # If an update request specifies values for both `weighted_font_family` and
+                                      # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                      #
+                                      # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                      #
+                                      # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                      # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                      # is returned.
                                     "fontFamily": "A String", # The font family of the text.
                                         #
                                         # The font family can be any font from the Font menu in Slides or from
                                         # [Google Fonts] (https://fonts.google.com/). If the font name is
                                         # unrecognized, the text is rendered in `Arial`.
                                     "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                        # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                        # only the numerical values described in the "Cascading Style Sheets Level
-                                        # 2 Revision 1 (CSS 2.1) Specification",
-                                        # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                        # non-numerical values in the specification are disallowed. Weights greater
-                                        # than or equal to 700 are considered bold, and weights less than 700 are
-                                        # not bold. The default value is `400` ("normal").
+                                        # multiple of `100` between `100` and `900`, inclusive. This range
+                                        # corresponds to the numerical values described in the CSS 2.1
+                                        # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                        # with non-numerical values disallowed. Weights greater than or equal to
+                                        # `700` are considered bold, and weights less than `700`are not bold. The
+                                        # default value is `400` ("normal").
                                   },
                                   "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                   "fontFamily": "A String", # The font family of the text.
@@ -17759,10 +19164,10 @@
                                       #   text is another link) unless different styles are being set in the same
                                       #   request.
                                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                        # presentation with this ID. A page with this ID may not exist.
                                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                         # in the presentation. There may not be a slide at this index.
+                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                        # presentation with this ID. A page with this ID may not exist.
                                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                         # addressed by its position.
                                   },
@@ -17852,10 +19257,10 @@
                   "endArrow": "A String", # The style of the arrow at the end of the line.
                   "link": { # A hypertext link. # The hyperlink destination of the line. If unset, there is no link.
                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                         # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                         # addressed by its position.
                   },
@@ -17918,9 +19323,11 @@
               #
               # The format of the revision ID may change over time, so it should be treated
               # opaquely. A returned revision ID is only guaranteed to be valid for 24
-              # hours after it has been returned and cannot be shared across
-              # users. Callers can assume that if two revision IDs are equal then the
-              # presentation has not changed.
+              # hours after it has been returned and cannot be shared across users. If the
+              # revision ID is unchanged between calls, then the presentation has not
+              # changed. Conversely, a changed ID (for the same presentation and user)
+              # usually means the presentation has been updated; however, a changed ID can
+              # also be due to internal factors such as ID format changes.
           "pageProperties": { # The properties of the Page. # The properties of the page.
               #
               # The page will inherit properties from the parent page. Depending on the page
@@ -18035,2057 +19442,6 @@
 
     { # A Google Slides presentation.
       "presentationId": "A String", # The ID of the presentation.
-      "masters": [ # The slide masters in the presentation. A slide master contains all common
-          # page elements and the common properties for a set of layouts. They serve
-          # three purposes:
-          #
-          # - Placeholder shapes on a master contain the default text styles and shape
-          #   properties of all placeholder shapes on pages that use that master.
-          # - The master page properties define the common page properties inherited by
-          #   its layouts.
-          # - Any other shapes on the master slide will appear on all slides using that
-          #   master, regardless of their layout.
-        { # A page in a presentation.
-          "layoutProperties": { # The properties of Page are only # Layout specific properties. Only set if page_type = LAYOUT.
-              # relevant for pages with page_type LAYOUT.
-            "displayName": "A String", # The human readable name of the layout in the presentation's locale.
-            "name": "A String", # The name of the layout.
-            "masterObjectId": "A String", # The object ID of the master that this layout is based on.
-          },
-          "pageElements": [ # The page elements rendered on the page.
-            { # A visual element rendered on a page.
-              "wordArt": { # A PageElement kind representing # A word art page element.
-                  # word art.
-                "renderedText": "A String", # The text rendered as word art.
-              },
-              "description": "A String", # The description of the page element. Combined with title to display alt
-                  # text.
-              "objectId": "A String", # The object ID for this page element. Object IDs used by
-                  # google.apps.slides.v1.Page and
-                  # google.apps.slides.v1.PageElement share the same namespace.
-              "title": "A String", # The title of the page element. Combined with description to display alt
-                  # text.
-              "image": { # A PageElement kind representing an # An image page element.
-                  # image.
-                "contentUrl": "A String", # An URL to an image with a default lifetime of 30 minutes.
-                    # This URL is tagged with the account of the requester. Anyone with the URL
-                    # effectively accesses the image as the original requester. Access to the
-                    # image may be lost if the presentation's sharing settings change.
-                "imageProperties": { # The properties of the Image. # The properties of the image.
-                  "outline": { # The outline of a PageElement. # The outline of the image. If not set, the the image has no outline.
-                      #
-                      # If these fields are unset, they may be inherited from a parent placeholder
-                      # if it exists. If there is no parent, the fields will default to the value
-                      # used for new page elements created in the Slides editor, which may depend on
-                      # the page element kind.
-                    "outlineFill": { # The fill of the outline. # The fill of the outline.
-                      "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                          # specified color value.
-                          #
-                          # If any field is unset, its value may be inherited from a parent placeholder
-                          # if it exists.
-                        "color": { # A themeable solid color value. # The color value of the solid fill.
-                          "themeColor": "A String", # An opaque theme color.
-                          "rgbColor": { # An RGB color. # An opaque RGB color.
-                            "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                            "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                            "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                          },
-                        },
-                        "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                            # That is, the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color.
-                      },
-                    },
-                    "propertyState": "A String", # The outline property state.
-                        #
-                        # Updating the the outline on a page element will implicitly update this
-                        # field to`RENDERED`, unless another value is specified in the same request.
-                        # To have no outline on a page element, set this field to `NOT_RENDERED`. In
-                        # this case, any other outline fields set in the same request will be
-                        # ignored.
-                    "dashStyle": "A String", # The dash style of the outline.
-                    "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
-                      "magnitude": 3.14, # The magnitude.
-                      "unit": "A String", # The units for magnitude.
-                    },
-                  },
-                  "brightness": 3.14, # The brightness effect of the image. The value should be in the interval
-                      # [-1.0, 1.0], where 0 means no effect. This property is read-only.
-                  "recolor": { # A recolor effect applied on an image. # The recolor effect of the image. If not set, the image is not recolored.
-                      # This property is read-only.
-                    "recolorStops": [ # The recolor effect is represented by a gradient, which is a list of color
-                        # stops.
-                        #
-                        # The colors in the gradient will replace the corresponding colors at
-                        # the same position in the color palette and apply to the image. This
-                        # property is read-only.
-                      { # A color and position in a gradient band.
-                        "color": { # A themeable solid color value. # The color of the gradient stop.
-                          "themeColor": "A String", # An opaque theme color.
-                          "rgbColor": { # An RGB color. # An opaque RGB color.
-                            "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                            "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                            "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                          },
-                        },
-                        "alpha": 3.14, # The alpha value of this color in the gradient band. Defaults to 1.0,
-                            # fully opaque.
-                        "position": 3.14, # The relative position of the color stop in the gradient band measured
-                            # in percentage. The value should be in the interval [0.0, 1.0].
-                      },
-                    ],
-                    "name": "A String", # The name of the recolor effect.
-                        #
-                        # The name is determined from the `recolor_stops` by matching the gradient
-                        # against the colors in the page's current color scheme. This property is
-                        # read-only.
-                  },
-                  "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
-                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
-                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                        # in the presentation. There may not be a slide at this index.
-                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                        # addressed by its position.
-                  },
-                  "transparency": 3.14, # The transparency effect of the image. The value should be in the interval
-                      # [0.0, 1.0], where 0 means no effect and 1 means completely transparent.
-                      # This property is read-only.
-                  "cropProperties": { # The crop properties of an object enclosed in a container. For example, an # The crop properties of the image. If not set, the image is not cropped.
-                      # This property is read-only.
-                      # Image.
-                      #
-                      # The crop properties is represented by the offsets of four edges which define
-                      # a crop rectangle. The offsets are measured in percentage from the
-                      # corresponding edges of the object's original bounding rectangle towards
-                      # inside, relative to the object's original dimensions.
-                      #
-                      # - If the offset is in the interval (0, 1), the corresponding edge of crop
-                      # rectangle is positioned inside of the object's original bounding rectangle.
-                      # - If the offset is negative or greater than 1, the corresponding edge of crop
-                      # rectangle is positioned outside of the object's original bounding rectangle.
-                      # - If the left edge of the crop rectangle is on the right side of its right
-                      # edge, the object will be flipped horizontally.
-                      # - If the top edge of the crop rectangle is below its bottom edge, the object
-                      # will be flipped vertically.
-                      # - If all offsets and rotation angle is 0, the object is not cropped.
-                      #
-                      # After cropping, the content in the crop rectangle will be stretched to fit
-                      # its container.
-                    "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
-                        # the right of the original bounding rectangle left edge, relative to the
-                        # object's original width.
-                    "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                        # below the original bounding rectangle top edge, relative to the object's
-                        # original height.
-                    "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                        # above the original bounding rectangle bottom edge, relative to the object's
-                        # original height.
-                    "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
-                        # Rotation angle is applied after the offset.
-                    "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
-                        # to the left of the original bounding rectangle right edge, relative to the
-                        # object's original width.
-                  },
-                  "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
-                      # is read-only.
-                      #
-                      # If these fields are unset, they may be inherited from a parent placeholder
-                      # if it exists. If there is no parent, the fields will default to the value
-                      # used for new page elements created in the Slides editor, which may depend on
-                      # the page element kind.
-                    "color": { # A themeable solid color value. # The shadow color value.
-                      "themeColor": "A String", # An opaque theme color.
-                      "rgbColor": { # An RGB color. # An opaque RGB color.
-                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                      },
-                    },
-                    "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # Transform that encodes the translate, scale, and skew of the shadow,
-                        # relative to the alignment position.
-                        # to transform source coordinates (x,y) into destination coordinates (x', y')
-                        # according to:
-                        #
-                        #       x'  x  =   shear_y  scale_y  translate_y
-                        #       1  [ 1 ]
-                        #
-                        # After transformation,
-                        #
-                        #      x' = scale_x * x + shear_x * y + translate_x;
-                        #      y' = scale_y * y + shear_y * x + translate_y;
-                        #
-                        # This message is therefore composed of these six matrix elements.
-                      "translateX": 3.14, # The X coordinate translation element.
-                      "translateY": 3.14, # The Y coordinate translation element.
-                      "scaleX": 3.14, # The X coordinate scaling element.
-                      "scaleY": 3.14, # The Y coordinate scaling element.
-                      "shearY": 3.14, # The Y coordinate shearing element.
-                      "shearX": 3.14, # The X coordinate shearing element.
-                      "unit": "A String", # The units for translate elements.
-                    },
-                    "propertyState": "A String", # The shadow property state.
-                        #
-                        # Updating the the shadow on a page element will implicitly update this field
-                        # to `RENDERED`, unless another value is specified in the same request. To
-                        # have no shadow on a page element, set this field to `NOT_RENDERED`. In this
-                        # case, any other shadow fields set in the same request will be ignored.
-                    "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the
-                        # shadow becomes.
-                      "magnitude": 3.14, # The magnitude.
-                      "unit": "A String", # The units for magnitude.
-                    },
-                    "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0.
-                    "type": "A String", # The type of the shadow.
-                    "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate,
-                        # scale and skew of the shadow.
-                    "rotateWithShape": True or False, # Whether the shadow should rotate with the shape.
-                  },
-                  "contrast": 3.14, # The contrast effect of the image. The value should be in the interval
-                      # [-1.0, 1.0], where 0 means no effect. This property is read-only.
-                },
-              },
-              "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # The transform of the page element.
-                  # to transform source coordinates (x,y) into destination coordinates (x', y')
-                  # according to:
-                  #
-                  #       x'  x  =   shear_y  scale_y  translate_y
-                  #       1  [ 1 ]
-                  #
-                  # After transformation,
-                  #
-                  #      x' = scale_x * x + shear_x * y + translate_x;
-                  #      y' = scale_y * y + shear_y * x + translate_y;
-                  #
-                  # This message is therefore composed of these six matrix elements.
-                "translateX": 3.14, # The X coordinate translation element.
-                "translateY": 3.14, # The Y coordinate translation element.
-                "scaleX": 3.14, # The X coordinate scaling element.
-                "scaleY": 3.14, # The Y coordinate scaling element.
-                "shearY": 3.14, # The Y coordinate shearing element.
-                "shearX": 3.14, # The X coordinate shearing element.
-                "unit": "A String", # The units for translate elements.
-              },
-              "shape": { # A PageElement kind representing a # A generic shape.
-                  # generic shape that does not have a more specific classification.
-                "text": { # The general text content. The text must reside in a compatible shape (e.g. # The text content of the shape.
-                    # text box or rectangle) or a table cell in a page.
-                  "lists": { # The bulleted lists contained in this text, keyed by list ID.
-                    "a_key": { # A List describes the look and feel of bullets belonging to paragraphs
-                        # associated with a list. A paragraph that is part of a list has an implicit
-                        # reference to that list's ID.
-                      "nestingLevel": { # A map of nesting levels to the properties of bullets at the associated
-                          # level. A list has at most nine levels of nesting, so the possible values
-                          # for the keys of this map are 0 through 8, inclusive.
-                        "a_key": { # Contains properties describing the look and feel of a list bullet at a given
-                            # level of nesting.
-                          "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The style of a bullet at this level of nesting.
-                              #
-                              # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                              # inherited from the parent. Which text styles are inherited depend on the
-                              # nesting level of lists:
-                              #
-                              # * A text run in a paragraph that is not in a list will inherit its text style
-                              #   from the the newline character in the paragraph at the 0 nesting level of
-                              #   the list inside the parent placeholder.
-                              # * A text run in a paragraph that is in a list will inherit its text style
-                              #   from the newline character in the paragraph at its corresponding nesting
-                              #   level of the list inside the parent placeholder.
-                              #
-                              # Inherited text styles are represented as unset fields in this message. If
-                              # text is contained in a shape without a parent placeholder, unsetting these
-                              # fields will revert the style to a value matching the defaults in the Slides
-                              # editor.
-                            "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                                # transparent, depending on if the `opaque_color` field in it is set.
-                              "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                  # a transparent color.
-                                "themeColor": "A String", # An opaque theme color.
-                                "rgbColor": { # An RGB color. # An opaque RGB color.
-                                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                },
-                              },
-                            },
-                            "bold": True or False, # Whether or not the text is rendered as bold.
-                            "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                                #
-                                # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                                # rendered in a smaller font size, computed based on the `font_size` field.
-                                # The `font_size` itself is not affected by changes in this field.
-                            "strikethrough": True or False, # Whether or not the text is struck through.
-                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                # read-only.
-                                #
-                                # This field is an extension of `font_family` meant to support explicit font
-                                # weights without breaking backwards compatibility. As such, when reading the
-                                # style of a range of text, the value of `weighted_font_family.font_family`
-                                # will always be equal to that of `font_family`.
-                              "fontFamily": "A String", # The font family of the text.
-                                  #
-                                  # The font family can be any font from the Font menu in Slides or from
-                                  # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                  # unrecognized, the text is rendered in `Arial`.
-                              "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                  # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                  # only the numerical values described in the "Cascading Style Sheets Level
-                                  # 2 Revision 1 (CSS 2.1) Specification",
-                                  # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                  # non-numerical values in the specification are disallowed. Weights greater
-                                  # than or equal to 700 are considered bold, and weights less than 700 are
-                                  # not bold. The default value is `400` ("normal").
-                            },
-                            "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                            "fontFamily": "A String", # The font family of the text.
-                                #
-                                # The font family can be any font from the Font menu in Slides or from
-                                # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                # unrecognized, the text is rendered in `Arial`.
-                                #
-                                # Some fonts can affect the weight of the text. If an update request
-                                # specifies values for both `font_family` and `bold`, the explicitly-set
-                                # `bold` value is used.
-                            "italic": True or False, # Whether or not the text is italicized.
-                            "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                                # are not inherited from parent text.
-                                #
-                                # Changing the link in an update request causes some other changes to the
-                                # text style of the range:
-                                #
-                                # * When setting a link, the text foreground color will be set to
-                                #   ThemeColorType.HYPERLINK and the text will
-                                #   be underlined. If these fields are modified in the same
-                                #   request, those values will be used instead of the link defaults.
-                                # * Setting a link on a text range that overlaps with an existing link will
-                                #   also update the existing link to point to the new URL.
-                                # * Links are not settable on newline characters. As a result, setting a link
-                                #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                                #   will separate the newline character(s) into their own text runs. The
-                                #   link will be applied separately to the runs before and after the newline.
-                                # * Removing a link will update the text style of the range to match the
-                                #   style of the preceding text (or the default text styles if the preceding
-                                #   text is another link) unless different styles are being set in the same
-                                #   request.
-                              "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                  # presentation with this ID. A page with this ID may not exist.
-                              "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                                  # in the presentation. There may not be a slide at this index.
-                              "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                                  # addressed by its position.
-                            },
-                            "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                                # transparent, depending on if the `opaque_color` field in it is set.
-                              "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                  # a transparent color.
-                                "themeColor": "A String", # An opaque theme color.
-                                "rgbColor": { # An RGB color. # An opaque RGB color.
-                                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                },
-                              },
-                            },
-                            "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                                # points.
-                              "magnitude": 3.14, # The magnitude.
-                              "unit": "A String", # The units for magnitude.
-                            },
-                            "underline": True or False, # Whether or not the text is underlined.
-                          },
-                        },
-                      },
-                      "listId": "A String", # The ID of the list.
-                    },
-                  },
-                  "textElements": [ # The text contents broken down into its component parts, including styling
-                      # information. This property is read-only.
-                    { # A TextElement describes the content of a range of indices in the text content
-                        # of a Shape or TableCell.
-                      "autoText": { # A TextElement kind that represents auto text. # A TextElement representing a spot in the text that is dynamically
-                          # replaced with content that can change over time.
-                        "content": "A String", # The rendered content of this auto text, if available.
-                        "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this auto text.
-                            #
-                            # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                            # inherited from the parent. Which text styles are inherited depend on the
-                            # nesting level of lists:
-                            #
-                            # * A text run in a paragraph that is not in a list will inherit its text style
-                            #   from the the newline character in the paragraph at the 0 nesting level of
-                            #   the list inside the parent placeholder.
-                            # * A text run in a paragraph that is in a list will inherit its text style
-                            #   from the newline character in the paragraph at its corresponding nesting
-                            #   level of the list inside the parent placeholder.
-                            #
-                            # Inherited text styles are represented as unset fields in this message. If
-                            # text is contained in a shape without a parent placeholder, unsetting these
-                            # fields will revert the style to a value matching the defaults in the Slides
-                            # editor.
-                          "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                              # transparent, depending on if the `opaque_color` field in it is set.
-                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                # a transparent color.
-                              "themeColor": "A String", # An opaque theme color.
-                              "rgbColor": { # An RGB color. # An opaque RGB color.
-                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                              },
-                            },
-                          },
-                          "bold": True or False, # Whether or not the text is rendered as bold.
-                          "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                              #
-                              # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                              # rendered in a smaller font size, computed based on the `font_size` field.
-                              # The `font_size` itself is not affected by changes in this field.
-                          "strikethrough": True or False, # Whether or not the text is struck through.
-                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                              # read-only.
-                              #
-                              # This field is an extension of `font_family` meant to support explicit font
-                              # weights without breaking backwards compatibility. As such, when reading the
-                              # style of a range of text, the value of `weighted_font_family.font_family`
-                              # will always be equal to that of `font_family`.
-                            "fontFamily": "A String", # The font family of the text.
-                                #
-                                # The font family can be any font from the Font menu in Slides or from
-                                # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                # unrecognized, the text is rendered in `Arial`.
-                            "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                # only the numerical values described in the "Cascading Style Sheets Level
-                                # 2 Revision 1 (CSS 2.1) Specification",
-                                # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                # non-numerical values in the specification are disallowed. Weights greater
-                                # than or equal to 700 are considered bold, and weights less than 700 are
-                                # not bold. The default value is `400` ("normal").
-                          },
-                          "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                          "fontFamily": "A String", # The font family of the text.
-                              #
-                              # The font family can be any font from the Font menu in Slides or from
-                              # [Google Fonts] (https://fonts.google.com/). If the font name is
-                              # unrecognized, the text is rendered in `Arial`.
-                              #
-                              # Some fonts can affect the weight of the text. If an update request
-                              # specifies values for both `font_family` and `bold`, the explicitly-set
-                              # `bold` value is used.
-                          "italic": True or False, # Whether or not the text is italicized.
-                          "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                              # are not inherited from parent text.
-                              #
-                              # Changing the link in an update request causes some other changes to the
-                              # text style of the range:
-                              #
-                              # * When setting a link, the text foreground color will be set to
-                              #   ThemeColorType.HYPERLINK and the text will
-                              #   be underlined. If these fields are modified in the same
-                              #   request, those values will be used instead of the link defaults.
-                              # * Setting a link on a text range that overlaps with an existing link will
-                              #   also update the existing link to point to the new URL.
-                              # * Links are not settable on newline characters. As a result, setting a link
-                              #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                              #   will separate the newline character(s) into their own text runs. The
-                              #   link will be applied separately to the runs before and after the newline.
-                              # * Removing a link will update the text style of the range to match the
-                              #   style of the preceding text (or the default text styles if the preceding
-                              #   text is another link) unless different styles are being set in the same
-                              #   request.
-                            "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                # presentation with this ID. A page with this ID may not exist.
-                            "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                                # in the presentation. There may not be a slide at this index.
-                            "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                                # addressed by its position.
-                          },
-                          "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                              # transparent, depending on if the `opaque_color` field in it is set.
-                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                # a transparent color.
-                              "themeColor": "A String", # An opaque theme color.
-                              "rgbColor": { # An RGB color. # An opaque RGB color.
-                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                              },
-                            },
-                          },
-                          "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                              # points.
-                            "magnitude": 3.14, # The magnitude.
-                            "unit": "A String", # The units for magnitude.
-                          },
-                          "underline": True or False, # Whether or not the text is underlined.
-                        },
-                        "type": "A String", # The type of this auto text.
-                      },
-                      "endIndex": 42, # The zero-based end index of this text element, exclusive, in Unicode code
-                          # units.
-                      "startIndex": 42, # The zero-based start index of this text element, in Unicode code units.
-                      "paragraphMarker": { # A TextElement kind that represents the beginning of a new paragraph. # A marker representing the beginning of a new paragraph.
-                          #
-                          # The `start_index` and `end_index` of this TextElement represent the
-                          # range of the paragraph. Other TextElements with an index range contained
-                          # inside this paragraph's range are considered to be part of this
-                          # paragraph. The range of indices of two separate paragraphs will never
-                          # overlap.
-                        "style": { # Styles that apply to a whole paragraph. # The paragraph's style
-                            #
-                            # If this text is contained in a shape with a parent placeholder, then these paragraph styles may be
-                            # inherited from the parent. Which paragraph styles are inherited depend on the
-                            # nesting level of lists:
-                            #
-                            # * A paragraph not in a list will inherit its paragraph style from the
-                            #   paragraph at the 0 nesting level of the list inside the parent placeholder.
-                            # * A paragraph in a list will inherit its paragraph style from the paragraph
-                            #   at its corresponding nesting level of the list inside the parent
-                            #   placeholder.
-                            #
-                            # Inherited paragraph styles are represented as unset fields in this message.
-                          "spacingMode": "A String", # The spacing mode for the paragraph.
-                          "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                              # LEFT_TO_RIGHT
-                              # since text direction is not inherited.
-                          "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
-                              # inherited from the parent.
-                            "magnitude": 3.14, # The magnitude.
-                            "unit": "A String", # The units for magnitude.
-                          },
-                          "lineSpacing": 3.14, # The amount of space between lines, as a percentage of normal, where normal
-                              # is represented as 100.0. If unset, the value is inherited from the parent.
-                          "indentStart": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
-                              # the start of the text, based on the current text direction. If unset, the
-                              # value is inherited from the parent.
-                            "magnitude": 3.14, # The magnitude.
-                            "unit": "A String", # The units for magnitude.
-                          },
-                          "spaceAbove": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
-                              # inherited from the parent.
-                            "magnitude": 3.14, # The magnitude.
-                            "unit": "A String", # The units for magnitude.
-                          },
-                          "indentEnd": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
-                              # the end of the text, based on the current text direction. If unset, the
-                              # value is inherited from the parent.
-                            "magnitude": 3.14, # The magnitude.
-                            "unit": "A String", # The units for magnitude.
-                          },
-                          "indentFirstLine": { # A magnitude in a single direction in the specified units. # The amount of indentation for the start of the first line of the paragraph.
-                              # If unset, the value is inherited from the parent.
-                            "magnitude": 3.14, # The magnitude.
-                            "unit": "A String", # The units for magnitude.
-                          },
-                          "alignment": "A String", # The text alignment for this paragraph.
-                        },
-                        "bullet": { # Describes the bullet of a paragraph. # The bullet for this paragraph. If not present, the paragraph does not
-                            # belong to a list.
-                          "nestingLevel": 42, # The nesting level of this paragraph in the list.
-                          "listId": "A String", # The ID of the list this paragraph belongs to.
-                          "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The paragraph specific text style applied to this bullet.
-                              #
-                              # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                              # inherited from the parent. Which text styles are inherited depend on the
-                              # nesting level of lists:
-                              #
-                              # * A text run in a paragraph that is not in a list will inherit its text style
-                              #   from the the newline character in the paragraph at the 0 nesting level of
-                              #   the list inside the parent placeholder.
-                              # * A text run in a paragraph that is in a list will inherit its text style
-                              #   from the newline character in the paragraph at its corresponding nesting
-                              #   level of the list inside the parent placeholder.
-                              #
-                              # Inherited text styles are represented as unset fields in this message. If
-                              # text is contained in a shape without a parent placeholder, unsetting these
-                              # fields will revert the style to a value matching the defaults in the Slides
-                              # editor.
-                            "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                                # transparent, depending on if the `opaque_color` field in it is set.
-                              "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                  # a transparent color.
-                                "themeColor": "A String", # An opaque theme color.
-                                "rgbColor": { # An RGB color. # An opaque RGB color.
-                                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                },
-                              },
-                            },
-                            "bold": True or False, # Whether or not the text is rendered as bold.
-                            "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                                #
-                                # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                                # rendered in a smaller font size, computed based on the `font_size` field.
-                                # The `font_size` itself is not affected by changes in this field.
-                            "strikethrough": True or False, # Whether or not the text is struck through.
-                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                # read-only.
-                                #
-                                # This field is an extension of `font_family` meant to support explicit font
-                                # weights without breaking backwards compatibility. As such, when reading the
-                                # style of a range of text, the value of `weighted_font_family.font_family`
-                                # will always be equal to that of `font_family`.
-                              "fontFamily": "A String", # The font family of the text.
-                                  #
-                                  # The font family can be any font from the Font menu in Slides or from
-                                  # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                  # unrecognized, the text is rendered in `Arial`.
-                              "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                  # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                  # only the numerical values described in the "Cascading Style Sheets Level
-                                  # 2 Revision 1 (CSS 2.1) Specification",
-                                  # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                  # non-numerical values in the specification are disallowed. Weights greater
-                                  # than or equal to 700 are considered bold, and weights less than 700 are
-                                  # not bold. The default value is `400` ("normal").
-                            },
-                            "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                            "fontFamily": "A String", # The font family of the text.
-                                #
-                                # The font family can be any font from the Font menu in Slides or from
-                                # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                # unrecognized, the text is rendered in `Arial`.
-                                #
-                                # Some fonts can affect the weight of the text. If an update request
-                                # specifies values for both `font_family` and `bold`, the explicitly-set
-                                # `bold` value is used.
-                            "italic": True or False, # Whether or not the text is italicized.
-                            "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                                # are not inherited from parent text.
-                                #
-                                # Changing the link in an update request causes some other changes to the
-                                # text style of the range:
-                                #
-                                # * When setting a link, the text foreground color will be set to
-                                #   ThemeColorType.HYPERLINK and the text will
-                                #   be underlined. If these fields are modified in the same
-                                #   request, those values will be used instead of the link defaults.
-                                # * Setting a link on a text range that overlaps with an existing link will
-                                #   also update the existing link to point to the new URL.
-                                # * Links are not settable on newline characters. As a result, setting a link
-                                #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                                #   will separate the newline character(s) into their own text runs. The
-                                #   link will be applied separately to the runs before and after the newline.
-                                # * Removing a link will update the text style of the range to match the
-                                #   style of the preceding text (or the default text styles if the preceding
-                                #   text is another link) unless different styles are being set in the same
-                                #   request.
-                              "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                  # presentation with this ID. A page with this ID may not exist.
-                              "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                                  # in the presentation. There may not be a slide at this index.
-                              "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                                  # addressed by its position.
-                            },
-                            "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                                # transparent, depending on if the `opaque_color` field in it is set.
-                              "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                  # a transparent color.
-                                "themeColor": "A String", # An opaque theme color.
-                                "rgbColor": { # An RGB color. # An opaque RGB color.
-                                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                },
-                              },
-                            },
-                            "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                                # points.
-                              "magnitude": 3.14, # The magnitude.
-                              "unit": "A String", # The units for magnitude.
-                            },
-                            "underline": True or False, # Whether or not the text is underlined.
-                          },
-                          "glyph": "A String", # The rendered bullet glyph for this paragraph.
-                        },
-                      },
-                      "textRun": { # A TextElement kind that represents a run of text that all has the same # A TextElement representing a run of text where all of the characters
-                          # in the run have the same TextStyle.
-                          #
-                          # The `start_index` and `end_index` of TextRuns will always be fully
-                          # contained in the index range of a single `paragraph_marker` TextElement.
-                          # In other words, a TextRun will never span multiple paragraphs.
-                          # styling.
-                        "content": "A String", # The text of this run.
-                        "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this run.
-                            #
-                            # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                            # inherited from the parent. Which text styles are inherited depend on the
-                            # nesting level of lists:
-                            #
-                            # * A text run in a paragraph that is not in a list will inherit its text style
-                            #   from the the newline character in the paragraph at the 0 nesting level of
-                            #   the list inside the parent placeholder.
-                            # * A text run in a paragraph that is in a list will inherit its text style
-                            #   from the newline character in the paragraph at its corresponding nesting
-                            #   level of the list inside the parent placeholder.
-                            #
-                            # Inherited text styles are represented as unset fields in this message. If
-                            # text is contained in a shape without a parent placeholder, unsetting these
-                            # fields will revert the style to a value matching the defaults in the Slides
-                            # editor.
-                          "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                              # transparent, depending on if the `opaque_color` field in it is set.
-                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                # a transparent color.
-                              "themeColor": "A String", # An opaque theme color.
-                              "rgbColor": { # An RGB color. # An opaque RGB color.
-                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                              },
-                            },
-                          },
-                          "bold": True or False, # Whether or not the text is rendered as bold.
-                          "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                              #
-                              # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                              # rendered in a smaller font size, computed based on the `font_size` field.
-                              # The `font_size` itself is not affected by changes in this field.
-                          "strikethrough": True or False, # Whether or not the text is struck through.
-                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                              # read-only.
-                              #
-                              # This field is an extension of `font_family` meant to support explicit font
-                              # weights without breaking backwards compatibility. As such, when reading the
-                              # style of a range of text, the value of `weighted_font_family.font_family`
-                              # will always be equal to that of `font_family`.
-                            "fontFamily": "A String", # The font family of the text.
-                                #
-                                # The font family can be any font from the Font menu in Slides or from
-                                # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                # unrecognized, the text is rendered in `Arial`.
-                            "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                # only the numerical values described in the "Cascading Style Sheets Level
-                                # 2 Revision 1 (CSS 2.1) Specification",
-                                # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                # non-numerical values in the specification are disallowed. Weights greater
-                                # than or equal to 700 are considered bold, and weights less than 700 are
-                                # not bold. The default value is `400` ("normal").
-                          },
-                          "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                          "fontFamily": "A String", # The font family of the text.
-                              #
-                              # The font family can be any font from the Font menu in Slides or from
-                              # [Google Fonts] (https://fonts.google.com/). If the font name is
-                              # unrecognized, the text is rendered in `Arial`.
-                              #
-                              # Some fonts can affect the weight of the text. If an update request
-                              # specifies values for both `font_family` and `bold`, the explicitly-set
-                              # `bold` value is used.
-                          "italic": True or False, # Whether or not the text is italicized.
-                          "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                              # are not inherited from parent text.
-                              #
-                              # Changing the link in an update request causes some other changes to the
-                              # text style of the range:
-                              #
-                              # * When setting a link, the text foreground color will be set to
-                              #   ThemeColorType.HYPERLINK and the text will
-                              #   be underlined. If these fields are modified in the same
-                              #   request, those values will be used instead of the link defaults.
-                              # * Setting a link on a text range that overlaps with an existing link will
-                              #   also update the existing link to point to the new URL.
-                              # * Links are not settable on newline characters. As a result, setting a link
-                              #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                              #   will separate the newline character(s) into their own text runs. The
-                              #   link will be applied separately to the runs before and after the newline.
-                              # * Removing a link will update the text style of the range to match the
-                              #   style of the preceding text (or the default text styles if the preceding
-                              #   text is another link) unless different styles are being set in the same
-                              #   request.
-                            "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                # presentation with this ID. A page with this ID may not exist.
-                            "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                                # in the presentation. There may not be a slide at this index.
-                            "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                                # addressed by its position.
-                          },
-                          "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                              # transparent, depending on if the `opaque_color` field in it is set.
-                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                # a transparent color.
-                              "themeColor": "A String", # An opaque theme color.
-                              "rgbColor": { # An RGB color. # An opaque RGB color.
-                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                              },
-                            },
-                          },
-                          "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                              # points.
-                            "magnitude": 3.14, # The magnitude.
-                            "unit": "A String", # The units for magnitude.
-                          },
-                          "underline": True or False, # Whether or not the text is underlined.
-                        },
-                      },
-                    },
-                  ],
-                },
-                "shapeProperties": { # The properties of a Shape. # The properties of the shape.
-                    #
-                    # If the shape is a placeholder shape as determined by the
-                    # placeholder field, then these
-                    # properties may be inherited from a parent placeholder shape.
-                    # Determining the rendered value of the property depends on the corresponding
-                    # property_state field value.
-                  "shadow": { # The shadow properties of a page element. # The shadow properties of the shape. If unset, the shadow is inherited from
-                      # a parent placeholder if it exists. If the shape has no parent, then the
-                      # default shadow matches the defaults for new shapes created in the Slides
-                      # editor. This property is read-only.
-                      #
-                      # If these fields are unset, they may be inherited from a parent placeholder
-                      # if it exists. If there is no parent, the fields will default to the value
-                      # used for new page elements created in the Slides editor, which may depend on
-                      # the page element kind.
-                    "color": { # A themeable solid color value. # The shadow color value.
-                      "themeColor": "A String", # An opaque theme color.
-                      "rgbColor": { # An RGB color. # An opaque RGB color.
-                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                      },
-                    },
-                    "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # Transform that encodes the translate, scale, and skew of the shadow,
-                        # relative to the alignment position.
-                        # to transform source coordinates (x,y) into destination coordinates (x', y')
-                        # according to:
-                        #
-                        #       x'  x  =   shear_y  scale_y  translate_y
-                        #       1  [ 1 ]
-                        #
-                        # After transformation,
-                        #
-                        #      x' = scale_x * x + shear_x * y + translate_x;
-                        #      y' = scale_y * y + shear_y * x + translate_y;
-                        #
-                        # This message is therefore composed of these six matrix elements.
-                      "translateX": 3.14, # The X coordinate translation element.
-                      "translateY": 3.14, # The Y coordinate translation element.
-                      "scaleX": 3.14, # The X coordinate scaling element.
-                      "scaleY": 3.14, # The Y coordinate scaling element.
-                      "shearY": 3.14, # The Y coordinate shearing element.
-                      "shearX": 3.14, # The X coordinate shearing element.
-                      "unit": "A String", # The units for translate elements.
-                    },
-                    "propertyState": "A String", # The shadow property state.
-                        #
-                        # Updating the the shadow on a page element will implicitly update this field
-                        # to `RENDERED`, unless another value is specified in the same request. To
-                        # have no shadow on a page element, set this field to `NOT_RENDERED`. In this
-                        # case, any other shadow fields set in the same request will be ignored.
-                    "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the
-                        # shadow becomes.
-                      "magnitude": 3.14, # The magnitude.
-                      "unit": "A String", # The units for magnitude.
-                    },
-                    "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0.
-                    "type": "A String", # The type of the shadow.
-                    "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate,
-                        # scale and skew of the shadow.
-                    "rotateWithShape": True or False, # Whether the shadow should rotate with the shape.
-                  },
-                  "shapeBackgroundFill": { # The shape background fill. # The background fill of the shape. If unset, the background fill is
-                      # inherited from a parent placeholder if it exists. If the shape has no
-                      # parent, then the default background fill depends on the shape type,
-                      # matching the defaults for new shapes created in the Slides editor.
-                    "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                        # specified color value.
-                        #
-                        # If any field is unset, its value may be inherited from a parent placeholder
-                        # if it exists.
-                      "color": { # A themeable solid color value. # The color value of the solid fill.
-                        "themeColor": "A String", # An opaque theme color.
-                        "rgbColor": { # An RGB color. # An opaque RGB color.
-                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                        },
-                      },
-                      "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                          # That is, the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color.
-                    },
-                    "propertyState": "A String", # The background fill property state.
-                        #
-                        # Updating the the fill on a shape will implicitly update this field to
-                        # `RENDERED`, unless another value is specified in the same request. To
-                        # have no fill on a shape, set this field to `NOT_RENDERED`. In this case,
-                        # any other fill fields set in the same request will be ignored.
-                  },
-                  "link": { # A hypertext link. # The hyperlink destination of the shape. If unset, there is no link. Links
-                      # are not inherited from parent placeholders.
-                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
-                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                        # in the presentation. There may not be a slide at this index.
-                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                        # addressed by its position.
-                  },
-                  "outline": { # The outline of a PageElement. # The outline of the shape. If unset, the outline is inherited from a
-                      # parent placeholder if it exists. If the shape has no parent, then the
-                      # default outline depends on the shape type, matching the defaults for
-                      # new shapes created in the Slides editor.
-                      #
-                      # If these fields are unset, they may be inherited from a parent placeholder
-                      # if it exists. If there is no parent, the fields will default to the value
-                      # used for new page elements created in the Slides editor, which may depend on
-                      # the page element kind.
-                    "outlineFill": { # The fill of the outline. # The fill of the outline.
-                      "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                          # specified color value.
-                          #
-                          # If any field is unset, its value may be inherited from a parent placeholder
-                          # if it exists.
-                        "color": { # A themeable solid color value. # The color value of the solid fill.
-                          "themeColor": "A String", # An opaque theme color.
-                          "rgbColor": { # An RGB color. # An opaque RGB color.
-                            "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                            "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                            "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                          },
-                        },
-                        "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                            # That is, the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color.
-                      },
-                    },
-                    "propertyState": "A String", # The outline property state.
-                        #
-                        # Updating the the outline on a page element will implicitly update this
-                        # field to`RENDERED`, unless another value is specified in the same request.
-                        # To have no outline on a page element, set this field to `NOT_RENDERED`. In
-                        # this case, any other outline fields set in the same request will be
-                        # ignored.
-                    "dashStyle": "A String", # The dash style of the outline.
-                    "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
-                      "magnitude": 3.14, # The magnitude.
-                      "unit": "A String", # The units for magnitude.
-                    },
-                  },
-                },
-                "placeholder": { # The placeholder information that uniquely identifies a placeholder shape. # Placeholders are shapes that are inherit from corresponding placeholders on
-                    # layouts and masters.
-                    #
-                    # If set, the shape is a placeholder shape and any inherited properties
-                    # can be resolved by looking at the parent placeholder identified by the
-                    # Placeholder.parent_object_id field.
-                  "parentObjectId": "A String", # The object ID of this shape's parent placeholder.
-                      # If unset, the parent placeholder shape does not exist, so the shape does
-                      # not inherit properties from any other shape.
-                  "index": 42, # The index of the placeholder. If the same placeholder types are the present
-                      # in the same page, they would have different index values.
-                  "type": "A String", # The type of the placeholder.
-                },
-                "shapeType": "A String", # The type of the shape.
-              },
-              "sheetsChart": { # A PageElement kind representing # A linked chart embedded from Google Sheets. Unlinked charts are
-                  # represented as images.
-                  # a linked chart embedded from Google Sheets.
-                "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
-                    # embedded.
-                "contentUrl": "A String", # The URL of an image of the embedded chart, with a default lifetime of 30
-                    # minutes. This URL is tagged with the account of the requester. Anyone with
-                    # the URL effectively accesses the image as the original requester. Access to
-                    # the image may be lost if the presentation's sharing settings change.
-                "sheetsChartProperties": { # The properties of the SheetsChart. # The properties of the Sheets chart.
-                  "chartImageProperties": { # The properties of the Image. # The properties of the embedded chart image.
-                    "outline": { # The outline of a PageElement. # The outline of the image. If not set, the the image has no outline.
-                        #
-                        # If these fields are unset, they may be inherited from a parent placeholder
-                        # if it exists. If there is no parent, the fields will default to the value
-                        # used for new page elements created in the Slides editor, which may depend on
-                        # the page element kind.
-                      "outlineFill": { # The fill of the outline. # The fill of the outline.
-                        "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                            # specified color value.
-                            #
-                            # If any field is unset, its value may be inherited from a parent placeholder
-                            # if it exists.
-                          "color": { # A themeable solid color value. # The color value of the solid fill.
-                            "themeColor": "A String", # An opaque theme color.
-                            "rgbColor": { # An RGB color. # An opaque RGB color.
-                              "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                              "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                              "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                            },
-                          },
-                          "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                              # That is, the final pixel color is defined by the equation:
-                              #
-                              #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                              #
-                              # This means that a value of 1.0 corresponds to a solid color, whereas
-                              # a value of 0.0 corresponds to a completely transparent color.
-                        },
-                      },
-                      "propertyState": "A String", # The outline property state.
-                          #
-                          # Updating the the outline on a page element will implicitly update this
-                          # field to`RENDERED`, unless another value is specified in the same request.
-                          # To have no outline on a page element, set this field to `NOT_RENDERED`. In
-                          # this case, any other outline fields set in the same request will be
-                          # ignored.
-                      "dashStyle": "A String", # The dash style of the outline.
-                      "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
-                        "magnitude": 3.14, # The magnitude.
-                        "unit": "A String", # The units for magnitude.
-                      },
-                    },
-                    "brightness": 3.14, # The brightness effect of the image. The value should be in the interval
-                        # [-1.0, 1.0], where 0 means no effect. This property is read-only.
-                    "recolor": { # A recolor effect applied on an image. # The recolor effect of the image. If not set, the image is not recolored.
-                        # This property is read-only.
-                      "recolorStops": [ # The recolor effect is represented by a gradient, which is a list of color
-                          # stops.
-                          #
-                          # The colors in the gradient will replace the corresponding colors at
-                          # the same position in the color palette and apply to the image. This
-                          # property is read-only.
-                        { # A color and position in a gradient band.
-                          "color": { # A themeable solid color value. # The color of the gradient stop.
-                            "themeColor": "A String", # An opaque theme color.
-                            "rgbColor": { # An RGB color. # An opaque RGB color.
-                              "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                              "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                              "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                            },
-                          },
-                          "alpha": 3.14, # The alpha value of this color in the gradient band. Defaults to 1.0,
-                              # fully opaque.
-                          "position": 3.14, # The relative position of the color stop in the gradient band measured
-                              # in percentage. The value should be in the interval [0.0, 1.0].
-                        },
-                      ],
-                      "name": "A String", # The name of the recolor effect.
-                          #
-                          # The name is determined from the `recolor_stops` by matching the gradient
-                          # against the colors in the page's current color scheme. This property is
-                          # read-only.
-                    },
-                    "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
-                      "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                          # presentation with this ID. A page with this ID may not exist.
-                      "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                          # in the presentation. There may not be a slide at this index.
-                      "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                          # addressed by its position.
-                    },
-                    "transparency": 3.14, # The transparency effect of the image. The value should be in the interval
-                        # [0.0, 1.0], where 0 means no effect and 1 means completely transparent.
-                        # This property is read-only.
-                    "cropProperties": { # The crop properties of an object enclosed in a container. For example, an # The crop properties of the image. If not set, the image is not cropped.
-                        # This property is read-only.
-                        # Image.
-                        #
-                        # The crop properties is represented by the offsets of four edges which define
-                        # a crop rectangle. The offsets are measured in percentage from the
-                        # corresponding edges of the object's original bounding rectangle towards
-                        # inside, relative to the object's original dimensions.
-                        #
-                        # - If the offset is in the interval (0, 1), the corresponding edge of crop
-                        # rectangle is positioned inside of the object's original bounding rectangle.
-                        # - If the offset is negative or greater than 1, the corresponding edge of crop
-                        # rectangle is positioned outside of the object's original bounding rectangle.
-                        # - If the left edge of the crop rectangle is on the right side of its right
-                        # edge, the object will be flipped horizontally.
-                        # - If the top edge of the crop rectangle is below its bottom edge, the object
-                        # will be flipped vertically.
-                        # - If all offsets and rotation angle is 0, the object is not cropped.
-                        #
-                        # After cropping, the content in the crop rectangle will be stretched to fit
-                        # its container.
-                      "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
-                          # the right of the original bounding rectangle left edge, relative to the
-                          # object's original width.
-                      "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                          # below the original bounding rectangle top edge, relative to the object's
-                          # original height.
-                      "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                          # above the original bounding rectangle bottom edge, relative to the object's
-                          # original height.
-                      "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
-                          # Rotation angle is applied after the offset.
-                      "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
-                          # to the left of the original bounding rectangle right edge, relative to the
-                          # object's original width.
-                    },
-                    "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
-                        # is read-only.
-                        #
-                        # If these fields are unset, they may be inherited from a parent placeholder
-                        # if it exists. If there is no parent, the fields will default to the value
-                        # used for new page elements created in the Slides editor, which may depend on
-                        # the page element kind.
-                      "color": { # A themeable solid color value. # The shadow color value.
-                        "themeColor": "A String", # An opaque theme color.
-                        "rgbColor": { # An RGB color. # An opaque RGB color.
-                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                        },
-                      },
-                      "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # Transform that encodes the translate, scale, and skew of the shadow,
-                          # relative to the alignment position.
-                          # to transform source coordinates (x,y) into destination coordinates (x', y')
-                          # according to:
-                          #
-                          #       x'  x  =   shear_y  scale_y  translate_y
-                          #       1  [ 1 ]
-                          #
-                          # After transformation,
-                          #
-                          #      x' = scale_x * x + shear_x * y + translate_x;
-                          #      y' = scale_y * y + shear_y * x + translate_y;
-                          #
-                          # This message is therefore composed of these six matrix elements.
-                        "translateX": 3.14, # The X coordinate translation element.
-                        "translateY": 3.14, # The Y coordinate translation element.
-                        "scaleX": 3.14, # The X coordinate scaling element.
-                        "scaleY": 3.14, # The Y coordinate scaling element.
-                        "shearY": 3.14, # The Y coordinate shearing element.
-                        "shearX": 3.14, # The X coordinate shearing element.
-                        "unit": "A String", # The units for translate elements.
-                      },
-                      "propertyState": "A String", # The shadow property state.
-                          #
-                          # Updating the the shadow on a page element will implicitly update this field
-                          # to `RENDERED`, unless another value is specified in the same request. To
-                          # have no shadow on a page element, set this field to `NOT_RENDERED`. In this
-                          # case, any other shadow fields set in the same request will be ignored.
-                      "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the
-                          # shadow becomes.
-                        "magnitude": 3.14, # The magnitude.
-                        "unit": "A String", # The units for magnitude.
-                      },
-                      "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0.
-                      "type": "A String", # The type of the shadow.
-                      "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate,
-                          # scale and skew of the shadow.
-                      "rotateWithShape": True or False, # Whether the shadow should rotate with the shape.
-                    },
-                    "contrast": 3.14, # The contrast effect of the image. The value should be in the interval
-                        # [-1.0, 1.0], where 0 means no effect. This property is read-only.
-                  },
-                },
-                "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
-              },
-              "video": { # A PageElement kind representing a # A video page element.
-                  # video.
-                "url": "A String", # An URL to a video. The URL is valid as long as the source video
-                    # exists and sharing settings do not change.
-                "source": "A String", # The video source.
-                "id": "A String", # The video source's unique identifier for this video.
-                "videoProperties": { # The properties of the Video. # The properties of the video.
-                  "outline": { # The outline of a PageElement. # The outline of the video. The default outline matches the defaults for new
-                      # videos created in the Slides editor.
-                      #
-                      # If these fields are unset, they may be inherited from a parent placeholder
-                      # if it exists. If there is no parent, the fields will default to the value
-                      # used for new page elements created in the Slides editor, which may depend on
-                      # the page element kind.
-                    "outlineFill": { # The fill of the outline. # The fill of the outline.
-                      "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                          # specified color value.
-                          #
-                          # If any field is unset, its value may be inherited from a parent placeholder
-                          # if it exists.
-                        "color": { # A themeable solid color value. # The color value of the solid fill.
-                          "themeColor": "A String", # An opaque theme color.
-                          "rgbColor": { # An RGB color. # An opaque RGB color.
-                            "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                            "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                            "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                          },
-                        },
-                        "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                            # That is, the final pixel color is defined by the equation:
-                            #
-                            #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                            #
-                            # This means that a value of 1.0 corresponds to a solid color, whereas
-                            # a value of 0.0 corresponds to a completely transparent color.
-                      },
-                    },
-                    "propertyState": "A String", # The outline property state.
-                        #
-                        # Updating the the outline on a page element will implicitly update this
-                        # field to`RENDERED`, unless another value is specified in the same request.
-                        # To have no outline on a page element, set this field to `NOT_RENDERED`. In
-                        # this case, any other outline fields set in the same request will be
-                        # ignored.
-                    "dashStyle": "A String", # The dash style of the outline.
-                    "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
-                      "magnitude": 3.14, # The magnitude.
-                      "unit": "A String", # The units for magnitude.
-                    },
-                  },
-                },
-              },
-              "elementGroup": { # A PageElement kind representing a # A collection of page elements joined as a single unit.
-                  # joined collection of PageElements.
-                "children": [ # The collection of elements in the group. The minimum size of a group is 2.
-                  # Object with schema name: PageElement
-                ],
-              },
-              "table": { # A PageElement kind representing a # A table page element.
-                  # table.
-                "tableColumns": [ # Properties of each column.
-                  { # Properties of each column in a table.
-                    "columnWidth": { # A magnitude in a single direction in the specified units. # Width of a column.
-                      "magnitude": 3.14, # The magnitude.
-                      "unit": "A String", # The units for magnitude.
-                    },
-                  },
-                ],
-                "tableRows": [ # Properties and contents of each row.
-                    #
-                    # Cells that span multiple rows are contained in only one of these rows and
-                    # have a row_span greater
-                    # than 1.
-                  { # Properties and contents of each row in a table.
-                    "tableCells": [ # Properties and contents of each cell.
-                        #
-                        # Cells that span multiple columns are represented only once with a
-                        # column_span greater
-                        # than 1. As a result, the length of this collection does not always match
-                        # the number of columns of the entire table.
-                      { # Properties and contents of each table cell.
-                        "text": { # The general text content. The text must reside in a compatible shape (e.g. # The text content of the cell.
-                            # text box or rectangle) or a table cell in a page.
-                          "lists": { # The bulleted lists contained in this text, keyed by list ID.
-                            "a_key": { # A List describes the look and feel of bullets belonging to paragraphs
-                                # associated with a list. A paragraph that is part of a list has an implicit
-                                # reference to that list's ID.
-                              "nestingLevel": { # A map of nesting levels to the properties of bullets at the associated
-                                  # level. A list has at most nine levels of nesting, so the possible values
-                                  # for the keys of this map are 0 through 8, inclusive.
-                                "a_key": { # Contains properties describing the look and feel of a list bullet at a given
-                                    # level of nesting.
-                                  "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The style of a bullet at this level of nesting.
-                                      #
-                                      # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                                      # inherited from the parent. Which text styles are inherited depend on the
-                                      # nesting level of lists:
-                                      #
-                                      # * A text run in a paragraph that is not in a list will inherit its text style
-                                      #   from the the newline character in the paragraph at the 0 nesting level of
-                                      #   the list inside the parent placeholder.
-                                      # * A text run in a paragraph that is in a list will inherit its text style
-                                      #   from the newline character in the paragraph at its corresponding nesting
-                                      #   level of the list inside the parent placeholder.
-                                      #
-                                      # Inherited text styles are represented as unset fields in this message. If
-                                      # text is contained in a shape without a parent placeholder, unsetting these
-                                      # fields will revert the style to a value matching the defaults in the Slides
-                                      # editor.
-                                    "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                                        # transparent, depending on if the `opaque_color` field in it is set.
-                                      "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                          # a transparent color.
-                                        "themeColor": "A String", # An opaque theme color.
-                                        "rgbColor": { # An RGB color. # An opaque RGB color.
-                                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                        },
-                                      },
-                                    },
-                                    "bold": True or False, # Whether or not the text is rendered as bold.
-                                    "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                                        #
-                                        # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                                        # rendered in a smaller font size, computed based on the `font_size` field.
-                                        # The `font_size` itself is not affected by changes in this field.
-                                    "strikethrough": True or False, # Whether or not the text is struck through.
-                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                        # read-only.
-                                        #
-                                        # This field is an extension of `font_family` meant to support explicit font
-                                        # weights without breaking backwards compatibility. As such, when reading the
-                                        # style of a range of text, the value of `weighted_font_family.font_family`
-                                        # will always be equal to that of `font_family`.
-                                      "fontFamily": "A String", # The font family of the text.
-                                          #
-                                          # The font family can be any font from the Font menu in Slides or from
-                                          # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                          # unrecognized, the text is rendered in `Arial`.
-                                      "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                          # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                          # only the numerical values described in the "Cascading Style Sheets Level
-                                          # 2 Revision 1 (CSS 2.1) Specification",
-                                          # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                          # non-numerical values in the specification are disallowed. Weights greater
-                                          # than or equal to 700 are considered bold, and weights less than 700 are
-                                          # not bold. The default value is `400` ("normal").
-                                    },
-                                    "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                                    "fontFamily": "A String", # The font family of the text.
-                                        #
-                                        # The font family can be any font from the Font menu in Slides or from
-                                        # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                        # unrecognized, the text is rendered in `Arial`.
-                                        #
-                                        # Some fonts can affect the weight of the text. If an update request
-                                        # specifies values for both `font_family` and `bold`, the explicitly-set
-                                        # `bold` value is used.
-                                    "italic": True or False, # Whether or not the text is italicized.
-                                    "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                                        # are not inherited from parent text.
-                                        #
-                                        # Changing the link in an update request causes some other changes to the
-                                        # text style of the range:
-                                        #
-                                        # * When setting a link, the text foreground color will be set to
-                                        #   ThemeColorType.HYPERLINK and the text will
-                                        #   be underlined. If these fields are modified in the same
-                                        #   request, those values will be used instead of the link defaults.
-                                        # * Setting a link on a text range that overlaps with an existing link will
-                                        #   also update the existing link to point to the new URL.
-                                        # * Links are not settable on newline characters. As a result, setting a link
-                                        #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                                        #   will separate the newline character(s) into their own text runs. The
-                                        #   link will be applied separately to the runs before and after the newline.
-                                        # * Removing a link will update the text style of the range to match the
-                                        #   style of the preceding text (or the default text styles if the preceding
-                                        #   text is another link) unless different styles are being set in the same
-                                        #   request.
-                                      "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                          # presentation with this ID. A page with this ID may not exist.
-                                      "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                                          # in the presentation. There may not be a slide at this index.
-                                      "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                                          # addressed by its position.
-                                    },
-                                    "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                                        # transparent, depending on if the `opaque_color` field in it is set.
-                                      "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                          # a transparent color.
-                                        "themeColor": "A String", # An opaque theme color.
-                                        "rgbColor": { # An RGB color. # An opaque RGB color.
-                                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                        },
-                                      },
-                                    },
-                                    "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                                        # points.
-                                      "magnitude": 3.14, # The magnitude.
-                                      "unit": "A String", # The units for magnitude.
-                                    },
-                                    "underline": True or False, # Whether or not the text is underlined.
-                                  },
-                                },
-                              },
-                              "listId": "A String", # The ID of the list.
-                            },
-                          },
-                          "textElements": [ # The text contents broken down into its component parts, including styling
-                              # information. This property is read-only.
-                            { # A TextElement describes the content of a range of indices in the text content
-                                # of a Shape or TableCell.
-                              "autoText": { # A TextElement kind that represents auto text. # A TextElement representing a spot in the text that is dynamically
-                                  # replaced with content that can change over time.
-                                "content": "A String", # The rendered content of this auto text, if available.
-                                "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this auto text.
-                                    #
-                                    # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                                    # inherited from the parent. Which text styles are inherited depend on the
-                                    # nesting level of lists:
-                                    #
-                                    # * A text run in a paragraph that is not in a list will inherit its text style
-                                    #   from the the newline character in the paragraph at the 0 nesting level of
-                                    #   the list inside the parent placeholder.
-                                    # * A text run in a paragraph that is in a list will inherit its text style
-                                    #   from the newline character in the paragraph at its corresponding nesting
-                                    #   level of the list inside the parent placeholder.
-                                    #
-                                    # Inherited text styles are represented as unset fields in this message. If
-                                    # text is contained in a shape without a parent placeholder, unsetting these
-                                    # fields will revert the style to a value matching the defaults in the Slides
-                                    # editor.
-                                  "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                                      # transparent, depending on if the `opaque_color` field in it is set.
-                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                        # a transparent color.
-                                      "themeColor": "A String", # An opaque theme color.
-                                      "rgbColor": { # An RGB color. # An opaque RGB color.
-                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                      },
-                                    },
-                                  },
-                                  "bold": True or False, # Whether or not the text is rendered as bold.
-                                  "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                                      #
-                                      # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                                      # rendered in a smaller font size, computed based on the `font_size` field.
-                                      # The `font_size` itself is not affected by changes in this field.
-                                  "strikethrough": True or False, # Whether or not the text is struck through.
-                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                      # read-only.
-                                      #
-                                      # This field is an extension of `font_family` meant to support explicit font
-                                      # weights without breaking backwards compatibility. As such, when reading the
-                                      # style of a range of text, the value of `weighted_font_family.font_family`
-                                      # will always be equal to that of `font_family`.
-                                    "fontFamily": "A String", # The font family of the text.
-                                        #
-                                        # The font family can be any font from the Font menu in Slides or from
-                                        # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                        # unrecognized, the text is rendered in `Arial`.
-                                    "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                        # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                        # only the numerical values described in the "Cascading Style Sheets Level
-                                        # 2 Revision 1 (CSS 2.1) Specification",
-                                        # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                        # non-numerical values in the specification are disallowed. Weights greater
-                                        # than or equal to 700 are considered bold, and weights less than 700 are
-                                        # not bold. The default value is `400` ("normal").
-                                  },
-                                  "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                                  "fontFamily": "A String", # The font family of the text.
-                                      #
-                                      # The font family can be any font from the Font menu in Slides or from
-                                      # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                      # unrecognized, the text is rendered in `Arial`.
-                                      #
-                                      # Some fonts can affect the weight of the text. If an update request
-                                      # specifies values for both `font_family` and `bold`, the explicitly-set
-                                      # `bold` value is used.
-                                  "italic": True or False, # Whether or not the text is italicized.
-                                  "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                                      # are not inherited from parent text.
-                                      #
-                                      # Changing the link in an update request causes some other changes to the
-                                      # text style of the range:
-                                      #
-                                      # * When setting a link, the text foreground color will be set to
-                                      #   ThemeColorType.HYPERLINK and the text will
-                                      #   be underlined. If these fields are modified in the same
-                                      #   request, those values will be used instead of the link defaults.
-                                      # * Setting a link on a text range that overlaps with an existing link will
-                                      #   also update the existing link to point to the new URL.
-                                      # * Links are not settable on newline characters. As a result, setting a link
-                                      #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                                      #   will separate the newline character(s) into their own text runs. The
-                                      #   link will be applied separately to the runs before and after the newline.
-                                      # * Removing a link will update the text style of the range to match the
-                                      #   style of the preceding text (or the default text styles if the preceding
-                                      #   text is another link) unless different styles are being set in the same
-                                      #   request.
-                                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                        # presentation with this ID. A page with this ID may not exist.
-                                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                                        # in the presentation. There may not be a slide at this index.
-                                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                                        # addressed by its position.
-                                  },
-                                  "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                                      # transparent, depending on if the `opaque_color` field in it is set.
-                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                        # a transparent color.
-                                      "themeColor": "A String", # An opaque theme color.
-                                      "rgbColor": { # An RGB color. # An opaque RGB color.
-                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                      },
-                                    },
-                                  },
-                                  "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                                      # points.
-                                    "magnitude": 3.14, # The magnitude.
-                                    "unit": "A String", # The units for magnitude.
-                                  },
-                                  "underline": True or False, # Whether or not the text is underlined.
-                                },
-                                "type": "A String", # The type of this auto text.
-                              },
-                              "endIndex": 42, # The zero-based end index of this text element, exclusive, in Unicode code
-                                  # units.
-                              "startIndex": 42, # The zero-based start index of this text element, in Unicode code units.
-                              "paragraphMarker": { # A TextElement kind that represents the beginning of a new paragraph. # A marker representing the beginning of a new paragraph.
-                                  #
-                                  # The `start_index` and `end_index` of this TextElement represent the
-                                  # range of the paragraph. Other TextElements with an index range contained
-                                  # inside this paragraph's range are considered to be part of this
-                                  # paragraph. The range of indices of two separate paragraphs will never
-                                  # overlap.
-                                "style": { # Styles that apply to a whole paragraph. # The paragraph's style
-                                    #
-                                    # If this text is contained in a shape with a parent placeholder, then these paragraph styles may be
-                                    # inherited from the parent. Which paragraph styles are inherited depend on the
-                                    # nesting level of lists:
-                                    #
-                                    # * A paragraph not in a list will inherit its paragraph style from the
-                                    #   paragraph at the 0 nesting level of the list inside the parent placeholder.
-                                    # * A paragraph in a list will inherit its paragraph style from the paragraph
-                                    #   at its corresponding nesting level of the list inside the parent
-                                    #   placeholder.
-                                    #
-                                    # Inherited paragraph styles are represented as unset fields in this message.
-                                  "spacingMode": "A String", # The spacing mode for the paragraph.
-                                  "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                                      # LEFT_TO_RIGHT
-                                      # since text direction is not inherited.
-                                  "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
-                                      # inherited from the parent.
-                                    "magnitude": 3.14, # The magnitude.
-                                    "unit": "A String", # The units for magnitude.
-                                  },
-                                  "lineSpacing": 3.14, # The amount of space between lines, as a percentage of normal, where normal
-                                      # is represented as 100.0. If unset, the value is inherited from the parent.
-                                  "indentStart": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
-                                      # the start of the text, based on the current text direction. If unset, the
-                                      # value is inherited from the parent.
-                                    "magnitude": 3.14, # The magnitude.
-                                    "unit": "A String", # The units for magnitude.
-                                  },
-                                  "spaceAbove": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
-                                      # inherited from the parent.
-                                    "magnitude": 3.14, # The magnitude.
-                                    "unit": "A String", # The units for magnitude.
-                                  },
-                                  "indentEnd": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
-                                      # the end of the text, based on the current text direction. If unset, the
-                                      # value is inherited from the parent.
-                                    "magnitude": 3.14, # The magnitude.
-                                    "unit": "A String", # The units for magnitude.
-                                  },
-                                  "indentFirstLine": { # A magnitude in a single direction in the specified units. # The amount of indentation for the start of the first line of the paragraph.
-                                      # If unset, the value is inherited from the parent.
-                                    "magnitude": 3.14, # The magnitude.
-                                    "unit": "A String", # The units for magnitude.
-                                  },
-                                  "alignment": "A String", # The text alignment for this paragraph.
-                                },
-                                "bullet": { # Describes the bullet of a paragraph. # The bullet for this paragraph. If not present, the paragraph does not
-                                    # belong to a list.
-                                  "nestingLevel": 42, # The nesting level of this paragraph in the list.
-                                  "listId": "A String", # The ID of the list this paragraph belongs to.
-                                  "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The paragraph specific text style applied to this bullet.
-                                      #
-                                      # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                                      # inherited from the parent. Which text styles are inherited depend on the
-                                      # nesting level of lists:
-                                      #
-                                      # * A text run in a paragraph that is not in a list will inherit its text style
-                                      #   from the the newline character in the paragraph at the 0 nesting level of
-                                      #   the list inside the parent placeholder.
-                                      # * A text run in a paragraph that is in a list will inherit its text style
-                                      #   from the newline character in the paragraph at its corresponding nesting
-                                      #   level of the list inside the parent placeholder.
-                                      #
-                                      # Inherited text styles are represented as unset fields in this message. If
-                                      # text is contained in a shape without a parent placeholder, unsetting these
-                                      # fields will revert the style to a value matching the defaults in the Slides
-                                      # editor.
-                                    "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                                        # transparent, depending on if the `opaque_color` field in it is set.
-                                      "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                          # a transparent color.
-                                        "themeColor": "A String", # An opaque theme color.
-                                        "rgbColor": { # An RGB color. # An opaque RGB color.
-                                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                        },
-                                      },
-                                    },
-                                    "bold": True or False, # Whether or not the text is rendered as bold.
-                                    "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                                        #
-                                        # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                                        # rendered in a smaller font size, computed based on the `font_size` field.
-                                        # The `font_size` itself is not affected by changes in this field.
-                                    "strikethrough": True or False, # Whether or not the text is struck through.
-                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                        # read-only.
-                                        #
-                                        # This field is an extension of `font_family` meant to support explicit font
-                                        # weights without breaking backwards compatibility. As such, when reading the
-                                        # style of a range of text, the value of `weighted_font_family.font_family`
-                                        # will always be equal to that of `font_family`.
-                                      "fontFamily": "A String", # The font family of the text.
-                                          #
-                                          # The font family can be any font from the Font menu in Slides or from
-                                          # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                          # unrecognized, the text is rendered in `Arial`.
-                                      "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                          # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                          # only the numerical values described in the "Cascading Style Sheets Level
-                                          # 2 Revision 1 (CSS 2.1) Specification",
-                                          # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                          # non-numerical values in the specification are disallowed. Weights greater
-                                          # than or equal to 700 are considered bold, and weights less than 700 are
-                                          # not bold. The default value is `400` ("normal").
-                                    },
-                                    "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                                    "fontFamily": "A String", # The font family of the text.
-                                        #
-                                        # The font family can be any font from the Font menu in Slides or from
-                                        # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                        # unrecognized, the text is rendered in `Arial`.
-                                        #
-                                        # Some fonts can affect the weight of the text. If an update request
-                                        # specifies values for both `font_family` and `bold`, the explicitly-set
-                                        # `bold` value is used.
-                                    "italic": True or False, # Whether or not the text is italicized.
-                                    "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                                        # are not inherited from parent text.
-                                        #
-                                        # Changing the link in an update request causes some other changes to the
-                                        # text style of the range:
-                                        #
-                                        # * When setting a link, the text foreground color will be set to
-                                        #   ThemeColorType.HYPERLINK and the text will
-                                        #   be underlined. If these fields are modified in the same
-                                        #   request, those values will be used instead of the link defaults.
-                                        # * Setting a link on a text range that overlaps with an existing link will
-                                        #   also update the existing link to point to the new URL.
-                                        # * Links are not settable on newline characters. As a result, setting a link
-                                        #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                                        #   will separate the newline character(s) into their own text runs. The
-                                        #   link will be applied separately to the runs before and after the newline.
-                                        # * Removing a link will update the text style of the range to match the
-                                        #   style of the preceding text (or the default text styles if the preceding
-                                        #   text is another link) unless different styles are being set in the same
-                                        #   request.
-                                      "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                          # presentation with this ID. A page with this ID may not exist.
-                                      "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                                          # in the presentation. There may not be a slide at this index.
-                                      "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                                          # addressed by its position.
-                                    },
-                                    "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                                        # transparent, depending on if the `opaque_color` field in it is set.
-                                      "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                          # a transparent color.
-                                        "themeColor": "A String", # An opaque theme color.
-                                        "rgbColor": { # An RGB color. # An opaque RGB color.
-                                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                        },
-                                      },
-                                    },
-                                    "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                                        # points.
-                                      "magnitude": 3.14, # The magnitude.
-                                      "unit": "A String", # The units for magnitude.
-                                    },
-                                    "underline": True or False, # Whether or not the text is underlined.
-                                  },
-                                  "glyph": "A String", # The rendered bullet glyph for this paragraph.
-                                },
-                              },
-                              "textRun": { # A TextElement kind that represents a run of text that all has the same # A TextElement representing a run of text where all of the characters
-                                  # in the run have the same TextStyle.
-                                  #
-                                  # The `start_index` and `end_index` of TextRuns will always be fully
-                                  # contained in the index range of a single `paragraph_marker` TextElement.
-                                  # In other words, a TextRun will never span multiple paragraphs.
-                                  # styling.
-                                "content": "A String", # The text of this run.
-                                "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this run.
-                                    #
-                                    # If this text is contained in a shape with a parent placeholder, then these text styles may be
-                                    # inherited from the parent. Which text styles are inherited depend on the
-                                    # nesting level of lists:
-                                    #
-                                    # * A text run in a paragraph that is not in a list will inherit its text style
-                                    #   from the the newline character in the paragraph at the 0 nesting level of
-                                    #   the list inside the parent placeholder.
-                                    # * A text run in a paragraph that is in a list will inherit its text style
-                                    #   from the newline character in the paragraph at its corresponding nesting
-                                    #   level of the list inside the parent placeholder.
-                                    #
-                                    # Inherited text styles are represented as unset fields in this message. If
-                                    # text is contained in a shape without a parent placeholder, unsetting these
-                                    # fields will revert the style to a value matching the defaults in the Slides
-                                    # editor.
-                                  "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
-                                      # transparent, depending on if the `opaque_color` field in it is set.
-                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                        # a transparent color.
-                                      "themeColor": "A String", # An opaque theme color.
-                                      "rgbColor": { # An RGB color. # An opaque RGB color.
-                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                      },
-                                    },
-                                  },
-                                  "bold": True or False, # Whether or not the text is rendered as bold.
-                                  "baselineOffset": "A String", # The text's vertical offset from its normal position.
-                                      #
-                                      # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
-                                      # rendered in a smaller font size, computed based on the `font_size` field.
-                                      # The `font_size` itself is not affected by changes in this field.
-                                  "strikethrough": True or False, # Whether or not the text is struck through.
-                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                      # read-only.
-                                      #
-                                      # This field is an extension of `font_family` meant to support explicit font
-                                      # weights without breaking backwards compatibility. As such, when reading the
-                                      # style of a range of text, the value of `weighted_font_family.font_family`
-                                      # will always be equal to that of `font_family`.
-                                    "fontFamily": "A String", # The font family of the text.
-                                        #
-                                        # The font family can be any font from the Font menu in Slides or from
-                                        # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                        # unrecognized, the text is rendered in `Arial`.
-                                    "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                        # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                        # only the numerical values described in the "Cascading Style Sheets Level
-                                        # 2 Revision 1 (CSS 2.1) Specification",
-                                        # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                        # non-numerical values in the specification are disallowed. Weights greater
-                                        # than or equal to 700 are considered bold, and weights less than 700 are
-                                        # not bold. The default value is `400` ("normal").
-                                  },
-                                  "smallCaps": True or False, # Whether or not the text is in small capital letters.
-                                  "fontFamily": "A String", # The font family of the text.
-                                      #
-                                      # The font family can be any font from the Font menu in Slides or from
-                                      # [Google Fonts] (https://fonts.google.com/). If the font name is
-                                      # unrecognized, the text is rendered in `Arial`.
-                                      #
-                                      # Some fonts can affect the weight of the text. If an update request
-                                      # specifies values for both `font_family` and `bold`, the explicitly-set
-                                      # `bold` value is used.
-                                  "italic": True or False, # Whether or not the text is italicized.
-                                  "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
-                                      # are not inherited from parent text.
-                                      #
-                                      # Changing the link in an update request causes some other changes to the
-                                      # text style of the range:
-                                      #
-                                      # * When setting a link, the text foreground color will be set to
-                                      #   ThemeColorType.HYPERLINK and the text will
-                                      #   be underlined. If these fields are modified in the same
-                                      #   request, those values will be used instead of the link defaults.
-                                      # * Setting a link on a text range that overlaps with an existing link will
-                                      #   also update the existing link to point to the new URL.
-                                      # * Links are not settable on newline characters. As a result, setting a link
-                                      #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
-                                      #   will separate the newline character(s) into their own text runs. The
-                                      #   link will be applied separately to the runs before and after the newline.
-                                      # * Removing a link will update the text style of the range to match the
-                                      #   style of the preceding text (or the default text styles if the preceding
-                                      #   text is another link) unless different styles are being set in the same
-                                      #   request.
-                                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                        # presentation with this ID. A page with this ID may not exist.
-                                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                                        # in the presentation. There may not be a slide at this index.
-                                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                                        # addressed by its position.
-                                  },
-                                  "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
-                                      # transparent, depending on if the `opaque_color` field in it is set.
-                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
-                                        # a transparent color.
-                                      "themeColor": "A String", # An opaque theme color.
-                                      "rgbColor": { # An RGB color. # An opaque RGB color.
-                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                      },
-                                    },
-                                  },
-                                  "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
-                                      # points.
-                                    "magnitude": 3.14, # The magnitude.
-                                    "unit": "A String", # The units for magnitude.
-                                  },
-                                  "underline": True or False, # Whether or not the text is underlined.
-                                },
-                              },
-                            },
-                          ],
-                        },
-                        "tableCellProperties": { # The properties of the TableCell. # The properties of the table cell.
-                          "tableCellBackgroundFill": { # The table cell background fill. # The background fill of the table cell. The default fill matches the fill
-                              # for newly created table cells in the Slides editor.
-                            "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                                # specified color value.
-                                #
-                                # If any field is unset, its value may be inherited from a parent placeholder
-                                # if it exists.
-                              "color": { # A themeable solid color value. # The color value of the solid fill.
-                                "themeColor": "A String", # An opaque theme color.
-                                "rgbColor": { # An RGB color. # An opaque RGB color.
-                                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                                },
-                              },
-                              "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                                  # That is, the final pixel color is defined by the equation:
-                                  #
-                                  #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                                  #
-                                  # This means that a value of 1.0 corresponds to a solid color, whereas
-                                  # a value of 0.0 corresponds to a completely transparent color.
-                            },
-                            "propertyState": "A String", # The background fill property state.
-                                #
-                                # Updating the the fill on a table cell will implicitly update this field
-                                # to `RENDERED`, unless another value is specified in the same request. To
-                                # have no fill on a table cell, set this field to `NOT_RENDERED`. In this
-                                # case, any other fill fields set in the same request will be ignored.
-                          },
-                        },
-                        "rowSpan": 42, # Row span of the cell.
-                        "columnSpan": 42, # Column span of the cell.
-                        "location": { # A location of a single table cell within a table. # The location of the cell within the table.
-                          "rowIndex": 42, # The 0-based row index.
-                          "columnIndex": 42, # The 0-based column index.
-                        },
-                      },
-                    ],
-                    "rowHeight": { # A magnitude in a single direction in the specified units. # Height of a row.
-                      "magnitude": 3.14, # The magnitude.
-                      "unit": "A String", # The units for magnitude.
-                    },
-                  },
-                ],
-                "rows": 42, # Number of rows in the table.
-                "columns": 42, # Number of columns in the table.
-              },
-              "line": { # A PageElement kind representing a # A line page element.
-                  # line, curved connector, or bent connector.
-                "lineProperties": { # The properties of the Line. # The properties of the line.
-                    #
-                    # When unset, these fields default to values that match the appearance of
-                    # new lines created in the Slides editor.
-                  "dashStyle": "A String", # The dash style of the line.
-                  "weight": { # A magnitude in a single direction in the specified units. # The thickness of the line.
-                    "magnitude": 3.14, # The magnitude.
-                    "unit": "A String", # The units for magnitude.
-                  },
-                  "endArrow": "A String", # The style of the arrow at the end of the line.
-                  "link": { # A hypertext link. # The hyperlink destination of the line. If unset, there is no link.
-                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
-                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
-                        # in the presentation. There may not be a slide at this index.
-                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
-                        # addressed by its position.
-                  },
-                  "lineFill": { # The fill of the line. # The fill of the line. The default line fill matches the defaults for new
-                      # lines created in the Slides editor.
-                    "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                        # specified color value.
-                        #
-                        # If any field is unset, its value may be inherited from a parent placeholder
-                        # if it exists.
-                      "color": { # A themeable solid color value. # The color value of the solid fill.
-                        "themeColor": "A String", # An opaque theme color.
-                        "rgbColor": { # An RGB color. # An opaque RGB color.
-                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                        },
-                      },
-                      "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                          # That is, the final pixel color is defined by the equation:
-                          #
-                          #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                          #
-                          # This means that a value of 1.0 corresponds to a solid color, whereas
-                          # a value of 0.0 corresponds to a completely transparent color.
-                    },
-                  },
-                  "startArrow": "A String", # The style of the arrow at the beginning of the line.
-                },
-                "lineType": "A String", # The type of the line.
-              },
-              "size": { # A width and height. # The size of the page element.
-                "width": { # A magnitude in a single direction in the specified units. # The width of the object.
-                  "magnitude": 3.14, # The magnitude.
-                  "unit": "A String", # The units for magnitude.
-                },
-                "height": { # A magnitude in a single direction in the specified units. # The height of the object.
-                  "magnitude": 3.14, # The magnitude.
-                  "unit": "A String", # The units for magnitude.
-                },
-              },
-            },
-          ],
-          "notesProperties": { # The properties of Page that are only # Notes specific properties. Only set if page_type = NOTES.
-              # relevant for pages with page_type NOTES.
-            "speakerNotesObjectId": "A String", # The object ID of the shape on this notes page that contains the speaker
-                # notes for the corresponding slide.
-                # The actual shape may not always exist on the notes page. Inserting text
-                # using this object ID will automatically create the shape. In this case, the
-                # actual shape may have different object ID. The `GetPresentation` or
-                # `GetPage` action will always return the latest object ID.
-          },
-          "objectId": "A String", # The object ID for this page. Object IDs used by
-              # Page and
-              # PageElement share the same namespace.
-          "revisionId": "A String", # The revision ID of the presentation containing this page. Can be used in
-              # update requests to assert that the presentation revision hasn't changed
-              # since the last read operation. Only populated if the user has edit access
-              # to the presentation.
-              #
-              # The format of the revision ID may change over time, so it should be treated
-              # opaquely. A returned revision ID is only guaranteed to be valid for 24
-              # hours after it has been returned and cannot be shared across
-              # users. Callers can assume that if two revision IDs are equal then the
-              # presentation has not changed.
-          "pageProperties": { # The properties of the Page. # The properties of the page.
-              #
-              # The page will inherit properties from the parent page. Depending on the page
-              # type the hierarchy is defined in either
-              # SlideProperties or
-              # LayoutProperties.
-            "pageBackgroundFill": { # The page background fill. # The background fill of the page. If unset, the background fill is inherited
-                # from a parent page if it exists. If the page has no parent, then the
-                # background fill defaults to the corresponding fill in the Slides editor.
-              "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
-                  # specified color value.
-                  #
-                  # If any field is unset, its value may be inherited from a parent placeholder
-                  # if it exists.
-                "color": { # A themeable solid color value. # The color value of the solid fill.
-                  "themeColor": "A String", # An opaque theme color.
-                  "rgbColor": { # An RGB color. # An opaque RGB color.
-                    "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                    "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                    "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                  },
-                },
-                "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
-                    # That is, the final pixel color is defined by the equation:
-                    #
-                    #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
-                    #
-                    # This means that a value of 1.0 corresponds to a solid color, whereas
-                    # a value of 0.0 corresponds to a completely transparent color.
-              },
-              "propertyState": "A String", # The background fill property state.
-                  #
-                  # Updating the the fill on a page will implicitly update this field to
-                  # `RENDERED`, unless another value is specified in the same request. To
-                  # have no fill on a page, set this field to `NOT_RENDERED`. In this case,
-                  # any other fill fields set in the same request will be ignored.
-              "stretchedPictureFill": { # The stretched picture fill. The page or page element is filled entirely with # Stretched picture fill.
-                  # the specified picture. The picture is stretched to fit its container.
-                "contentUrl": "A String", # Reading the content_url:
-                    #
-                    # An URL to a picture with a default lifetime of 30 minutes.
-                    # This URL is tagged with the account of the requester. Anyone with the URL
-                    # effectively accesses the picture as the original requester. Access to the
-                    # picture may be lost if the presentation's sharing settings change.
-                    #
-                    # Writing the content_url:
-                    #
-                    # The picture is fetched once at insertion time and a copy is stored for
-                    # display inside the presentation. Pictures must be less than 50MB in size,
-                    # cannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF
-                    # format.
-                "size": { # A width and height. # The original size of the picture fill. This field is read-only.
-                  "width": { # A magnitude in a single direction in the specified units. # The width of the object.
-                    "magnitude": 3.14, # The magnitude.
-                    "unit": "A String", # The units for magnitude.
-                  },
-                  "height": { # A magnitude in a single direction in the specified units. # The height of the object.
-                    "magnitude": 3.14, # The magnitude.
-                    "unit": "A String", # The units for magnitude.
-                  },
-                },
-              },
-            },
-            "colorScheme": { # The palette of predefined colors for a page. # The color scheme of the page. If unset, the color scheme is inherited from
-                # a parent page. If the page has no parent, the color scheme uses a default
-                # Slides color scheme. This field is read-only.
-              "colors": [ # The ThemeColorType and corresponding concrete color pairs.
-                { # A pair mapping a theme color type to the concrete color it represents.
-                  "color": { # An RGB color. # The concrete color corresponding to the theme color type above.
-                    "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
-                    "green": 3.14, # The green component of the color, from 0.0 to 1.0.
-                    "red": 3.14, # The red component of the color, from 0.0 to 1.0.
-                  },
-                  "type": "A String", # The type of the theme color.
-                },
-              ],
-            },
-          },
-          "pageType": "A String", # The type of the page.
-          "slideProperties": { # The properties of Page that are only # Slide specific properties. Only set if page_type = SLIDE.
-              # relevant for pages with page_type SLIDE.
-            "notesPage": # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual
-                # appearance of a notes page when printing or exporting slides with speaker
-                # notes. A notes page inherits properties from the
-                # notes master.
-                # The placeholder shape with type BODY on the notes page contains the speaker
-                # notes for this slide. The ID of this shape is identified by the
-                # speakerNotesObjectId field.
-                # The notes page is read-only except for the text content and styles of the
-                # speaker notes shape.
-            "masterObjectId": "A String", # The object ID of the master that this slide is based on.
-            "layoutObjectId": "A String", # The object ID of the layout that this slide is based on.
-          },
-        },
-      ],
-      "pageSize": { # A width and height. # The size of pages in the presentation.
-        "width": { # A magnitude in a single direction in the specified units. # The width of the object.
-          "magnitude": 3.14, # The magnitude.
-          "unit": "A String", # The units for magnitude.
-        },
-        "height": { # A magnitude in a single direction in the specified units. # The height of the object.
-          "magnitude": 3.14, # The magnitude.
-          "unit": "A String", # The units for magnitude.
-        },
-      },
-      "title": "A String", # The title of the presentation.
-      "locale": "A String", # The locale of the presentation, as an IETF BCP 47 language tag.
-      "revisionId": "A String", # The revision ID of the presentation. Can be used in update requests
-          # to assert that the presentation revision hasn't changed since the last
-          # read operation. Only populated if the user has edit access to the
-          # presentation.
-          #
-          # The format of the revision ID may change over time, so it should be treated
-          # opaquely. A returned revision ID is only guaranteed to be valid for 24
-          # hours after it has been returned and cannot be shared across users. Callers
-          # can assume that if two revision IDs are equal then the presentation has not
-          # changed.
       "notesMaster": { # A page in a presentation. # The notes master in the presentation. It serves three purposes:
           #
           # - Placeholder shapes on a notes master contain the default text styles and
@@ -20198,10 +19554,10 @@
                 },
                 "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                      # presentation with this ID. A page with this ID may not exist.
                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                       # in the presentation. There may not be a slide at this index.
+                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                      # presentation with this ID. A page with this ID may not exist.
                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                       # addressed by its position.
                 },
@@ -20232,17 +19588,17 @@
                   "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
                       # the right of the original bounding rectangle left edge, relative to the
                       # object's original width.
-                  "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                      # below the original bounding rectangle top edge, relative to the object's
-                      # original height.
-                  "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                      # above the original bounding rectangle bottom edge, relative to the object's
-                      # original height.
                   "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
                       # Rotation angle is applied after the offset.
                   "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
                       # to the left of the original bounding rectangle right edge, relative to the
                       # object's original width.
+                  "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                      # above the original bounding rectangle bottom edge, relative to the object's
+                      # original height.
+                  "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                      # below the original bounding rectangle top edge, relative to the object's
+                      # original height.
                 },
                 "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
                     # is read-only.
@@ -20372,26 +19728,47 @@
                               # rendered in a smaller font size, computed based on the `font_size` field.
                               # The `font_size` itself is not affected by changes in this field.
                           "strikethrough": True or False, # Whether or not the text is struck through.
-                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                              # read-only.
+                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                               #
                               # This field is an extension of `font_family` meant to support explicit font
                               # weights without breaking backwards compatibility. As such, when reading the
-                              # style of a range of text, the value of `weighted_font_family.font_family`
-                              # will always be equal to that of `font_family`.
+                              # style of a range of text, the value of `weighted_font_family#font_family`
+                              # will always be equal to that of `font_family`. However, when writing, if
+                              # both fields are included in the field mask (either explicitly or through
+                              # the wildcard `"*"`), their values are reconciled as follows:
+                              #
+                              # * If `font_family` is set and `weighted_font_family` is not, the value of
+                              #   `font_family` is applied with weight `400` ("normal").
+                              # * If both fields are set, the value of `font_family` must match that of
+                              #   `weighted_font_family#font_family`. If so, the font family and weight of
+                              #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                              #   returned.
+                              # * If `weighted_font_family` is set and `font_family` is not, the font
+                              #   family and weight of `weighted_font_family` is applied.
+                              # * If neither field is set, the font family and weight of the text inherit
+                              #   from the parent. Note that these properties cannot inherit separately
+                              #   from each other.
+                              #
+                              # If an update request specifies values for both `weighted_font_family` and
+                              # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                              #
+                              # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                              #
+                              # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                              # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                              # is returned.
                             "fontFamily": "A String", # The font family of the text.
                                 #
                                 # The font family can be any font from the Font menu in Slides or from
                                 # [Google Fonts] (https://fonts.google.com/). If the font name is
                                 # unrecognized, the text is rendered in `Arial`.
                             "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                # only the numerical values described in the "Cascading Style Sheets Level
-                                # 2 Revision 1 (CSS 2.1) Specification",
-                                # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                # non-numerical values in the specification are disallowed. Weights greater
-                                # than or equal to 700 are considered bold, and weights less than 700 are
-                                # not bold. The default value is `400` ("normal").
+                                # multiple of `100` between `100` and `900`, inclusive. This range
+                                # corresponds to the numerical values described in the CSS 2.1
+                                # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                # with non-numerical values disallowed. Weights greater than or equal to
+                                # `700` are considered bold, and weights less than `700`are not bold. The
+                                # default value is `400` ("normal").
                           },
                           "smallCaps": True or False, # Whether or not the text is in small capital letters.
                           "fontFamily": "A String", # The font family of the text.
@@ -20425,10 +19802,10 @@
                               #   text is another link) unless different styles are being set in the same
                               #   request.
                             "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                # presentation with this ID. A page with this ID may not exist.
                             "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                 # in the presentation. There may not be a slide at this index.
+                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                # presentation with this ID. A page with this ID may not exist.
                             "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                 # addressed by its position.
                           },
@@ -20499,26 +19876,47 @@
                             # rendered in a smaller font size, computed based on the `font_size` field.
                             # The `font_size` itself is not affected by changes in this field.
                         "strikethrough": True or False, # Whether or not the text is struck through.
-                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                            # read-only.
+                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                             #
                             # This field is an extension of `font_family` meant to support explicit font
                             # weights without breaking backwards compatibility. As such, when reading the
-                            # style of a range of text, the value of `weighted_font_family.font_family`
-                            # will always be equal to that of `font_family`.
+                            # style of a range of text, the value of `weighted_font_family#font_family`
+                            # will always be equal to that of `font_family`. However, when writing, if
+                            # both fields are included in the field mask (either explicitly or through
+                            # the wildcard `"*"`), their values are reconciled as follows:
+                            #
+                            # * If `font_family` is set and `weighted_font_family` is not, the value of
+                            #   `font_family` is applied with weight `400` ("normal").
+                            # * If both fields are set, the value of `font_family` must match that of
+                            #   `weighted_font_family#font_family`. If so, the font family and weight of
+                            #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                            #   returned.
+                            # * If `weighted_font_family` is set and `font_family` is not, the font
+                            #   family and weight of `weighted_font_family` is applied.
+                            # * If neither field is set, the font family and weight of the text inherit
+                            #   from the parent. Note that these properties cannot inherit separately
+                            #   from each other.
+                            #
+                            # If an update request specifies values for both `weighted_font_family` and
+                            # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                            #
+                            # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                            #
+                            # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                            # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                            # is returned.
                           "fontFamily": "A String", # The font family of the text.
                               #
                               # The font family can be any font from the Font menu in Slides or from
                               # [Google Fonts] (https://fonts.google.com/). If the font name is
                               # unrecognized, the text is rendered in `Arial`.
                           "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                              # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                              # only the numerical values described in the "Cascading Style Sheets Level
-                              # 2 Revision 1 (CSS 2.1) Specification",
-                              # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                              # non-numerical values in the specification are disallowed. Weights greater
-                              # than or equal to 700 are considered bold, and weights less than 700 are
-                              # not bold. The default value is `400` ("normal").
+                              # multiple of `100` between `100` and `900`, inclusive. This range
+                              # corresponds to the numerical values described in the CSS 2.1
+                              # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                              # with non-numerical values disallowed. Weights greater than or equal to
+                              # `700` are considered bold, and weights less than `700`are not bold. The
+                              # default value is `400` ("normal").
                         },
                         "smallCaps": True or False, # Whether or not the text is in small capital letters.
                         "fontFamily": "A String", # The font family of the text.
@@ -20552,10 +19950,10 @@
                             #   text is another link) unless different styles are being set in the same
                             #   request.
                           "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                              # presentation with this ID. A page with this ID may not exist.
                           "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                               # in the presentation. There may not be a slide at this index.
+                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                              # presentation with this ID. A page with this ID may not exist.
                           "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                               # addressed by its position.
                         },
@@ -20605,8 +20003,8 @@
                           # Inherited paragraph styles are represented as unset fields in this message.
                         "spacingMode": "A String", # The spacing mode for the paragraph.
                         "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                            # LEFT_TO_RIGHT
-                            # since text direction is not inherited.
+                            # LEFT_TO_RIGHT since
+                            # text direction is not inherited.
                         "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
                             # inherited from the parent.
                           "magnitude": 3.14, # The magnitude.
@@ -20678,26 +20076,47 @@
                               # rendered in a smaller font size, computed based on the `font_size` field.
                               # The `font_size` itself is not affected by changes in this field.
                           "strikethrough": True or False, # Whether or not the text is struck through.
-                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                              # read-only.
+                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                               #
                               # This field is an extension of `font_family` meant to support explicit font
                               # weights without breaking backwards compatibility. As such, when reading the
-                              # style of a range of text, the value of `weighted_font_family.font_family`
-                              # will always be equal to that of `font_family`.
+                              # style of a range of text, the value of `weighted_font_family#font_family`
+                              # will always be equal to that of `font_family`. However, when writing, if
+                              # both fields are included in the field mask (either explicitly or through
+                              # the wildcard `"*"`), their values are reconciled as follows:
+                              #
+                              # * If `font_family` is set and `weighted_font_family` is not, the value of
+                              #   `font_family` is applied with weight `400` ("normal").
+                              # * If both fields are set, the value of `font_family` must match that of
+                              #   `weighted_font_family#font_family`. If so, the font family and weight of
+                              #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                              #   returned.
+                              # * If `weighted_font_family` is set and `font_family` is not, the font
+                              #   family and weight of `weighted_font_family` is applied.
+                              # * If neither field is set, the font family and weight of the text inherit
+                              #   from the parent. Note that these properties cannot inherit separately
+                              #   from each other.
+                              #
+                              # If an update request specifies values for both `weighted_font_family` and
+                              # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                              #
+                              # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                              #
+                              # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                              # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                              # is returned.
                             "fontFamily": "A String", # The font family of the text.
                                 #
                                 # The font family can be any font from the Font menu in Slides or from
                                 # [Google Fonts] (https://fonts.google.com/). If the font name is
                                 # unrecognized, the text is rendered in `Arial`.
                             "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                # only the numerical values described in the "Cascading Style Sheets Level
-                                # 2 Revision 1 (CSS 2.1) Specification",
-                                # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                # non-numerical values in the specification are disallowed. Weights greater
-                                # than or equal to 700 are considered bold, and weights less than 700 are
-                                # not bold. The default value is `400` ("normal").
+                                # multiple of `100` between `100` and `900`, inclusive. This range
+                                # corresponds to the numerical values described in the CSS 2.1
+                                # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                # with non-numerical values disallowed. Weights greater than or equal to
+                                # `700` are considered bold, and weights less than `700`are not bold. The
+                                # default value is `400` ("normal").
                           },
                           "smallCaps": True or False, # Whether or not the text is in small capital letters.
                           "fontFamily": "A String", # The font family of the text.
@@ -20731,10 +20150,10 @@
                               #   text is another link) unless different styles are being set in the same
                               #   request.
                             "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                # presentation with this ID. A page with this ID may not exist.
                             "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                 # in the presentation. There may not be a slide at this index.
+                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                # presentation with this ID. A page with this ID may not exist.
                             "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                 # addressed by its position.
                           },
@@ -20804,26 +20223,47 @@
                             # rendered in a smaller font size, computed based on the `font_size` field.
                             # The `font_size` itself is not affected by changes in this field.
                         "strikethrough": True or False, # Whether or not the text is struck through.
-                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                            # read-only.
+                        "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                             #
                             # This field is an extension of `font_family` meant to support explicit font
                             # weights without breaking backwards compatibility. As such, when reading the
-                            # style of a range of text, the value of `weighted_font_family.font_family`
-                            # will always be equal to that of `font_family`.
+                            # style of a range of text, the value of `weighted_font_family#font_family`
+                            # will always be equal to that of `font_family`. However, when writing, if
+                            # both fields are included in the field mask (either explicitly or through
+                            # the wildcard `"*"`), their values are reconciled as follows:
+                            #
+                            # * If `font_family` is set and `weighted_font_family` is not, the value of
+                            #   `font_family` is applied with weight `400` ("normal").
+                            # * If both fields are set, the value of `font_family` must match that of
+                            #   `weighted_font_family#font_family`. If so, the font family and weight of
+                            #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                            #   returned.
+                            # * If `weighted_font_family` is set and `font_family` is not, the font
+                            #   family and weight of `weighted_font_family` is applied.
+                            # * If neither field is set, the font family and weight of the text inherit
+                            #   from the parent. Note that these properties cannot inherit separately
+                            #   from each other.
+                            #
+                            # If an update request specifies values for both `weighted_font_family` and
+                            # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                            #
+                            # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                            #
+                            # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                            # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                            # is returned.
                           "fontFamily": "A String", # The font family of the text.
                               #
                               # The font family can be any font from the Font menu in Slides or from
                               # [Google Fonts] (https://fonts.google.com/). If the font name is
                               # unrecognized, the text is rendered in `Arial`.
                           "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                              # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                              # only the numerical values described in the "Cascading Style Sheets Level
-                              # 2 Revision 1 (CSS 2.1) Specification",
-                              # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                              # non-numerical values in the specification are disallowed. Weights greater
-                              # than or equal to 700 are considered bold, and weights less than 700 are
-                              # not bold. The default value is `400` ("normal").
+                              # multiple of `100` between `100` and `900`, inclusive. This range
+                              # corresponds to the numerical values described in the CSS 2.1
+                              # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                              # with non-numerical values disallowed. Weights greater than or equal to
+                              # `700` are considered bold, and weights less than `700`are not bold. The
+                              # default value is `400` ("normal").
                         },
                         "smallCaps": True or False, # Whether or not the text is in small capital letters.
                         "fontFamily": "A String", # The font family of the text.
@@ -20857,10 +20297,10 @@
                             #   text is another link) unless different styles are being set in the same
                             #   request.
                           "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                              # presentation with this ID. A page with this ID may not exist.
                           "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                               # in the presentation. There may not be a slide at this index.
+                          "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                              # presentation with this ID. A page with this ID may not exist.
                           "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                               # addressed by its position.
                         },
@@ -20985,10 +20425,10 @@
                 "link": { # A hypertext link. # The hyperlink destination of the shape. If unset, there is no link. Links
                     # are not inherited from parent placeholders.
                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                      # presentation with this ID. A page with this ID may not exist.
                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                       # in the presentation. There may not be a slide at this index.
+                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                      # presentation with this ID. A page with this ID may not exist.
                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                       # addressed by its position.
                 },
@@ -21047,8 +20487,8 @@
                 "parentObjectId": "A String", # The object ID of this shape's parent placeholder.
                     # If unset, the parent placeholder shape does not exist, so the shape does
                     # not inherit properties from any other shape.
-                "index": 42, # The index of the placeholder. If the same placeholder types are the present
-                    # in the same page, they would have different index values.
+                "index": 42, # The index of the placeholder. If the same placeholder types are present in
+                    # the same page, they would have different index values.
                 "type": "A String", # The type of the placeholder.
               },
               "shapeType": "A String", # The type of the shape.
@@ -21056,12 +20496,11 @@
             "sheetsChart": { # A PageElement kind representing # A linked chart embedded from Google Sheets. Unlinked charts are
                 # represented as images.
                 # a linked chart embedded from Google Sheets.
-              "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
-                  # embedded.
               "contentUrl": "A String", # The URL of an image of the embedded chart, with a default lifetime of 30
                   # minutes. This URL is tagged with the account of the requester. Anyone with
                   # the URL effectively accesses the image as the original requester. Access to
                   # the image may be lost if the presentation's sharing settings change.
+              "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
               "sheetsChartProperties": { # The properties of the SheetsChart. # The properties of the Sheets chart.
                 "chartImageProperties": { # The properties of the Image. # The properties of the embedded chart image.
                   "outline": { # The outline of a PageElement. # The outline of the image. If not set, the the image has no outline.
@@ -21139,10 +20578,10 @@
                   },
                   "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                         # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                         # addressed by its position.
                   },
@@ -21173,17 +20612,17 @@
                     "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
                         # the right of the original bounding rectangle left edge, relative to the
                         # object's original width.
-                    "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                        # below the original bounding rectangle top edge, relative to the object's
-                        # original height.
-                    "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                        # above the original bounding rectangle bottom edge, relative to the object's
-                        # original height.
                     "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
                         # Rotation angle is applied after the offset.
                     "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
                         # to the left of the original bounding rectangle right edge, relative to the
                         # object's original width.
+                    "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                        # above the original bounding rectangle bottom edge, relative to the object's
+                        # original height.
+                    "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                        # below the original bounding rectangle top edge, relative to the object's
+                        # original height.
                   },
                   "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
                       # is read-only.
@@ -21243,14 +20682,13 @@
                       # [-1.0, 1.0], where 0 means no effect. This property is read-only.
                 },
               },
-              "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
+              "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
+                  # embedded.
             },
             "video": { # A PageElement kind representing a # A video page element.
                 # video.
               "url": "A String", # An URL to a video. The URL is valid as long as the source video
                   # exists and sharing settings do not change.
-              "source": "A String", # The video source.
-              "id": "A String", # The video source's unique identifier for this video.
               "videoProperties": { # The properties of the Video. # The properties of the video.
                 "outline": { # The outline of a PageElement. # The outline of the video. The default outline matches the defaults for new
                     # videos created in the Slides editor.
@@ -21296,6 +20734,8 @@
                   },
                 },
               },
+              "id": "A String", # The video source's unique identifier for this video.
+              "source": "A String", # The video source.
             },
             "elementGroup": { # A PageElement kind representing a # A collection of page elements joined as a single unit.
                 # joined collection of PageElements.
@@ -21373,26 +20813,47 @@
                                       # rendered in a smaller font size, computed based on the `font_size` field.
                                       # The `font_size` itself is not affected by changes in this field.
                                   "strikethrough": True or False, # Whether or not the text is struck through.
-                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                      # read-only.
+                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                       #
                                       # This field is an extension of `font_family` meant to support explicit font
                                       # weights without breaking backwards compatibility. As such, when reading the
-                                      # style of a range of text, the value of `weighted_font_family.font_family`
-                                      # will always be equal to that of `font_family`.
+                                      # style of a range of text, the value of `weighted_font_family#font_family`
+                                      # will always be equal to that of `font_family`. However, when writing, if
+                                      # both fields are included in the field mask (either explicitly or through
+                                      # the wildcard `"*"`), their values are reconciled as follows:
+                                      #
+                                      # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                      #   `font_family` is applied with weight `400` ("normal").
+                                      # * If both fields are set, the value of `font_family` must match that of
+                                      #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                      #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                      #   returned.
+                                      # * If `weighted_font_family` is set and `font_family` is not, the font
+                                      #   family and weight of `weighted_font_family` is applied.
+                                      # * If neither field is set, the font family and weight of the text inherit
+                                      #   from the parent. Note that these properties cannot inherit separately
+                                      #   from each other.
+                                      #
+                                      # If an update request specifies values for both `weighted_font_family` and
+                                      # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                      #
+                                      # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                      #
+                                      # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                      # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                      # is returned.
                                     "fontFamily": "A String", # The font family of the text.
                                         #
                                         # The font family can be any font from the Font menu in Slides or from
                                         # [Google Fonts] (https://fonts.google.com/). If the font name is
                                         # unrecognized, the text is rendered in `Arial`.
                                     "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                        # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                        # only the numerical values described in the "Cascading Style Sheets Level
-                                        # 2 Revision 1 (CSS 2.1) Specification",
-                                        # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                        # non-numerical values in the specification are disallowed. Weights greater
-                                        # than or equal to 700 are considered bold, and weights less than 700 are
-                                        # not bold. The default value is `400` ("normal").
+                                        # multiple of `100` between `100` and `900`, inclusive. This range
+                                        # corresponds to the numerical values described in the CSS 2.1
+                                        # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                        # with non-numerical values disallowed. Weights greater than or equal to
+                                        # `700` are considered bold, and weights less than `700`are not bold. The
+                                        # default value is `400` ("normal").
                                   },
                                   "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                   "fontFamily": "A String", # The font family of the text.
@@ -21426,10 +20887,10 @@
                                       #   text is another link) unless different styles are being set in the same
                                       #   request.
                                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                        # presentation with this ID. A page with this ID may not exist.
                                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                         # in the presentation. There may not be a slide at this index.
+                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                        # presentation with this ID. A page with this ID may not exist.
                                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                         # addressed by its position.
                                   },
@@ -21500,26 +20961,47 @@
                                     # rendered in a smaller font size, computed based on the `font_size` field.
                                     # The `font_size` itself is not affected by changes in this field.
                                 "strikethrough": True or False, # Whether or not the text is struck through.
-                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                    # read-only.
+                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                     #
                                     # This field is an extension of `font_family` meant to support explicit font
                                     # weights without breaking backwards compatibility. As such, when reading the
-                                    # style of a range of text, the value of `weighted_font_family.font_family`
-                                    # will always be equal to that of `font_family`.
+                                    # style of a range of text, the value of `weighted_font_family#font_family`
+                                    # will always be equal to that of `font_family`. However, when writing, if
+                                    # both fields are included in the field mask (either explicitly or through
+                                    # the wildcard `"*"`), their values are reconciled as follows:
+                                    #
+                                    # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                    #   `font_family` is applied with weight `400` ("normal").
+                                    # * If both fields are set, the value of `font_family` must match that of
+                                    #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                    #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                    #   returned.
+                                    # * If `weighted_font_family` is set and `font_family` is not, the font
+                                    #   family and weight of `weighted_font_family` is applied.
+                                    # * If neither field is set, the font family and weight of the text inherit
+                                    #   from the parent. Note that these properties cannot inherit separately
+                                    #   from each other.
+                                    #
+                                    # If an update request specifies values for both `weighted_font_family` and
+                                    # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                    #
+                                    # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                    #
+                                    # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                    # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                    # is returned.
                                   "fontFamily": "A String", # The font family of the text.
                                       #
                                       # The font family can be any font from the Font menu in Slides or from
                                       # [Google Fonts] (https://fonts.google.com/). If the font name is
                                       # unrecognized, the text is rendered in `Arial`.
                                   "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                      # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                      # only the numerical values described in the "Cascading Style Sheets Level
-                                      # 2 Revision 1 (CSS 2.1) Specification",
-                                      # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                      # non-numerical values in the specification are disallowed. Weights greater
-                                      # than or equal to 700 are considered bold, and weights less than 700 are
-                                      # not bold. The default value is `400` ("normal").
+                                      # multiple of `100` between `100` and `900`, inclusive. This range
+                                      # corresponds to the numerical values described in the CSS 2.1
+                                      # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                      # with non-numerical values disallowed. Weights greater than or equal to
+                                      # `700` are considered bold, and weights less than `700`are not bold. The
+                                      # default value is `400` ("normal").
                                 },
                                 "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                 "fontFamily": "A String", # The font family of the text.
@@ -21553,10 +21035,10 @@
                                     #   text is another link) unless different styles are being set in the same
                                     #   request.
                                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                      # presentation with this ID. A page with this ID may not exist.
                                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                       # in the presentation. There may not be a slide at this index.
+                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                      # presentation with this ID. A page with this ID may not exist.
                                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                       # addressed by its position.
                                 },
@@ -21606,8 +21088,8 @@
                                   # Inherited paragraph styles are represented as unset fields in this message.
                                 "spacingMode": "A String", # The spacing mode for the paragraph.
                                 "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                                    # LEFT_TO_RIGHT
-                                    # since text direction is not inherited.
+                                    # LEFT_TO_RIGHT since
+                                    # text direction is not inherited.
                                 "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
                                     # inherited from the parent.
                                   "magnitude": 3.14, # The magnitude.
@@ -21679,26 +21161,47 @@
                                       # rendered in a smaller font size, computed based on the `font_size` field.
                                       # The `font_size` itself is not affected by changes in this field.
                                   "strikethrough": True or False, # Whether or not the text is struck through.
-                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                      # read-only.
+                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                       #
                                       # This field is an extension of `font_family` meant to support explicit font
                                       # weights without breaking backwards compatibility. As such, when reading the
-                                      # style of a range of text, the value of `weighted_font_family.font_family`
-                                      # will always be equal to that of `font_family`.
+                                      # style of a range of text, the value of `weighted_font_family#font_family`
+                                      # will always be equal to that of `font_family`. However, when writing, if
+                                      # both fields are included in the field mask (either explicitly or through
+                                      # the wildcard `"*"`), their values are reconciled as follows:
+                                      #
+                                      # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                      #   `font_family` is applied with weight `400` ("normal").
+                                      # * If both fields are set, the value of `font_family` must match that of
+                                      #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                      #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                      #   returned.
+                                      # * If `weighted_font_family` is set and `font_family` is not, the font
+                                      #   family and weight of `weighted_font_family` is applied.
+                                      # * If neither field is set, the font family and weight of the text inherit
+                                      #   from the parent. Note that these properties cannot inherit separately
+                                      #   from each other.
+                                      #
+                                      # If an update request specifies values for both `weighted_font_family` and
+                                      # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                      #
+                                      # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                      #
+                                      # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                      # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                      # is returned.
                                     "fontFamily": "A String", # The font family of the text.
                                         #
                                         # The font family can be any font from the Font menu in Slides or from
                                         # [Google Fonts] (https://fonts.google.com/). If the font name is
                                         # unrecognized, the text is rendered in `Arial`.
                                     "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                        # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                        # only the numerical values described in the "Cascading Style Sheets Level
-                                        # 2 Revision 1 (CSS 2.1) Specification",
-                                        # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                        # non-numerical values in the specification are disallowed. Weights greater
-                                        # than or equal to 700 are considered bold, and weights less than 700 are
-                                        # not bold. The default value is `400` ("normal").
+                                        # multiple of `100` between `100` and `900`, inclusive. This range
+                                        # corresponds to the numerical values described in the CSS 2.1
+                                        # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                        # with non-numerical values disallowed. Weights greater than or equal to
+                                        # `700` are considered bold, and weights less than `700`are not bold. The
+                                        # default value is `400` ("normal").
                                   },
                                   "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                   "fontFamily": "A String", # The font family of the text.
@@ -21732,10 +21235,10 @@
                                       #   text is another link) unless different styles are being set in the same
                                       #   request.
                                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                        # presentation with this ID. A page with this ID may not exist.
                                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                         # in the presentation. There may not be a slide at this index.
+                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                        # presentation with this ID. A page with this ID may not exist.
                                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                         # addressed by its position.
                                   },
@@ -21805,26 +21308,47 @@
                                     # rendered in a smaller font size, computed based on the `font_size` field.
                                     # The `font_size` itself is not affected by changes in this field.
                                 "strikethrough": True or False, # Whether or not the text is struck through.
-                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                    # read-only.
+                                "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                     #
                                     # This field is an extension of `font_family` meant to support explicit font
                                     # weights without breaking backwards compatibility. As such, when reading the
-                                    # style of a range of text, the value of `weighted_font_family.font_family`
-                                    # will always be equal to that of `font_family`.
+                                    # style of a range of text, the value of `weighted_font_family#font_family`
+                                    # will always be equal to that of `font_family`. However, when writing, if
+                                    # both fields are included in the field mask (either explicitly or through
+                                    # the wildcard `"*"`), their values are reconciled as follows:
+                                    #
+                                    # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                    #   `font_family` is applied with weight `400` ("normal").
+                                    # * If both fields are set, the value of `font_family` must match that of
+                                    #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                    #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                    #   returned.
+                                    # * If `weighted_font_family` is set and `font_family` is not, the font
+                                    #   family and weight of `weighted_font_family` is applied.
+                                    # * If neither field is set, the font family and weight of the text inherit
+                                    #   from the parent. Note that these properties cannot inherit separately
+                                    #   from each other.
+                                    #
+                                    # If an update request specifies values for both `weighted_font_family` and
+                                    # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                    #
+                                    # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                    #
+                                    # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                    # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                    # is returned.
                                   "fontFamily": "A String", # The font family of the text.
                                       #
                                       # The font family can be any font from the Font menu in Slides or from
                                       # [Google Fonts] (https://fonts.google.com/). If the font name is
                                       # unrecognized, the text is rendered in `Arial`.
                                   "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                      # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                      # only the numerical values described in the "Cascading Style Sheets Level
-                                      # 2 Revision 1 (CSS 2.1) Specification",
-                                      # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                      # non-numerical values in the specification are disallowed. Weights greater
-                                      # than or equal to 700 are considered bold, and weights less than 700 are
-                                      # not bold. The default value is `400` ("normal").
+                                      # multiple of `100` between `100` and `900`, inclusive. This range
+                                      # corresponds to the numerical values described in the CSS 2.1
+                                      # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                      # with non-numerical values disallowed. Weights greater than or equal to
+                                      # `700` are considered bold, and weights less than `700`are not bold. The
+                                      # default value is `400` ("normal").
                                 },
                                 "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                 "fontFamily": "A String", # The font family of the text.
@@ -21858,10 +21382,10 @@
                                     #   text is another link) unless different styles are being set in the same
                                     #   request.
                                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                      # presentation with this ID. A page with this ID may not exist.
                                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                       # in the presentation. There may not be a slide at this index.
+                                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                      # presentation with this ID. A page with this ID may not exist.
                                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                       # addressed by its position.
                                 },
@@ -21951,10 +21475,10 @@
                 "endArrow": "A String", # The style of the arrow at the end of the line.
                 "link": { # A hypertext link. # The hyperlink destination of the line. If unset, there is no link.
                   "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                      # presentation with this ID. A page with this ID may not exist.
                   "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                       # in the presentation. There may not be a slide at this index.
+                  "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                      # presentation with this ID. A page with this ID may not exist.
                   "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                       # addressed by its position.
                 },
@@ -22017,9 +21541,11 @@
             #
             # The format of the revision ID may change over time, so it should be treated
             # opaquely. A returned revision ID is only guaranteed to be valid for 24
-            # hours after it has been returned and cannot be shared across
-            # users. Callers can assume that if two revision IDs are equal then the
-            # presentation has not changed.
+            # hours after it has been returned and cannot be shared across users. If the
+            # revision ID is unchanged between calls, then the presentation has not
+            # changed. Conversely, a changed ID (for the same presentation and user)
+            # usually means the presentation has been updated; however, a changed ID can
+            # also be due to internal factors such as ID format changes.
         "pageProperties": { # The properties of the Page. # The properties of the page.
             #
             # The page will inherit properties from the parent page. Depending on the page
@@ -22114,8 +21640,40 @@
           "layoutObjectId": "A String", # The object ID of the layout that this slide is based on.
         },
       },
-      "slides": [ # The slides in the presentation.
-          # A slide inherits properties from a slide layout.
+      "pageSize": { # A width and height. # The size of pages in the presentation.
+        "width": { # A magnitude in a single direction in the specified units. # The width of the object.
+          "magnitude": 3.14, # The magnitude.
+          "unit": "A String", # The units for magnitude.
+        },
+        "height": { # A magnitude in a single direction in the specified units. # The height of the object.
+          "magnitude": 3.14, # The magnitude.
+          "unit": "A String", # The units for magnitude.
+        },
+      },
+      "title": "A String", # The title of the presentation.
+      "locale": "A String", # The locale of the presentation, as an IETF BCP 47 language tag.
+      "revisionId": "A String", # The revision ID of the presentation. Can be used in update requests
+          # to assert that the presentation revision hasn't changed since the last
+          # read operation. Only populated if the user has edit access to the
+          # presentation.
+          #
+          # The format of the revision ID may change over time, so it should be treated
+          # opaquely. A returned revision ID is only guaranteed to be valid for 24
+          # hours after it has been returned and cannot be shared across users. If the
+          # revision ID is unchanged between calls, then the presentation has not
+          # changed. Conversely, a changed ID (for the same presentation and user)
+          # usually means the presentation has been updated; however, a changed ID can
+          # also be due to internal factors such as ID format changes.
+      "masters": [ # The slide masters in the presentation. A slide master contains all common
+          # page elements and the common properties for a set of layouts. They serve
+          # three purposes:
+          #
+          # - Placeholder shapes on a master contain the default text styles and shape
+          #   properties of all placeholder shapes on pages that use that master.
+          # - The master page properties define the common page properties inherited by
+          #   its layouts.
+          # - Any other shapes on the master slide will appear on all slides using that
+          #   master, regardless of their layout.
         { # A page in a presentation.
           "layoutProperties": { # The properties of Page are only # Layout specific properties. Only set if page_type = LAYOUT.
               # relevant for pages with page_type LAYOUT.
@@ -22218,10 +21776,10 @@
                   },
                   "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                         # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                         # addressed by its position.
                   },
@@ -22252,17 +21810,17 @@
                     "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
                         # the right of the original bounding rectangle left edge, relative to the
                         # object's original width.
-                    "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                        # below the original bounding rectangle top edge, relative to the object's
-                        # original height.
-                    "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                        # above the original bounding rectangle bottom edge, relative to the object's
-                        # original height.
                     "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
                         # Rotation angle is applied after the offset.
                     "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
                         # to the left of the original bounding rectangle right edge, relative to the
                         # object's original width.
+                    "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                        # above the original bounding rectangle bottom edge, relative to the object's
+                        # original height.
+                    "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                        # below the original bounding rectangle top edge, relative to the object's
+                        # original height.
                   },
                   "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
                       # is read-only.
@@ -22392,26 +21950,47 @@
                                 # rendered in a smaller font size, computed based on the `font_size` field.
                                 # The `font_size` itself is not affected by changes in this field.
                             "strikethrough": True or False, # Whether or not the text is struck through.
-                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                # read-only.
+                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                 #
                                 # This field is an extension of `font_family` meant to support explicit font
                                 # weights without breaking backwards compatibility. As such, when reading the
-                                # style of a range of text, the value of `weighted_font_family.font_family`
-                                # will always be equal to that of `font_family`.
+                                # style of a range of text, the value of `weighted_font_family#font_family`
+                                # will always be equal to that of `font_family`. However, when writing, if
+                                # both fields are included in the field mask (either explicitly or through
+                                # the wildcard `"*"`), their values are reconciled as follows:
+                                #
+                                # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                #   `font_family` is applied with weight `400` ("normal").
+                                # * If both fields are set, the value of `font_family` must match that of
+                                #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                #   returned.
+                                # * If `weighted_font_family` is set and `font_family` is not, the font
+                                #   family and weight of `weighted_font_family` is applied.
+                                # * If neither field is set, the font family and weight of the text inherit
+                                #   from the parent. Note that these properties cannot inherit separately
+                                #   from each other.
+                                #
+                                # If an update request specifies values for both `weighted_font_family` and
+                                # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                #
+                                # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                #
+                                # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                # is returned.
                               "fontFamily": "A String", # The font family of the text.
                                   #
                                   # The font family can be any font from the Font menu in Slides or from
                                   # [Google Fonts] (https://fonts.google.com/). If the font name is
                                   # unrecognized, the text is rendered in `Arial`.
                               "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                  # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                  # only the numerical values described in the "Cascading Style Sheets Level
-                                  # 2 Revision 1 (CSS 2.1) Specification",
-                                  # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                  # non-numerical values in the specification are disallowed. Weights greater
-                                  # than or equal to 700 are considered bold, and weights less than 700 are
-                                  # not bold. The default value is `400` ("normal").
+                                  # multiple of `100` between `100` and `900`, inclusive. This range
+                                  # corresponds to the numerical values described in the CSS 2.1
+                                  # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                  # with non-numerical values disallowed. Weights greater than or equal to
+                                  # `700` are considered bold, and weights less than `700`are not bold. The
+                                  # default value is `400` ("normal").
                             },
                             "smallCaps": True or False, # Whether or not the text is in small capital letters.
                             "fontFamily": "A String", # The font family of the text.
@@ -22445,10 +22024,10 @@
                                 #   text is another link) unless different styles are being set in the same
                                 #   request.
                               "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                  # presentation with this ID. A page with this ID may not exist.
                               "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                   # in the presentation. There may not be a slide at this index.
+                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                  # presentation with this ID. A page with this ID may not exist.
                               "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                   # addressed by its position.
                             },
@@ -22519,26 +22098,47 @@
                               # rendered in a smaller font size, computed based on the `font_size` field.
                               # The `font_size` itself is not affected by changes in this field.
                           "strikethrough": True or False, # Whether or not the text is struck through.
-                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                              # read-only.
+                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                               #
                               # This field is an extension of `font_family` meant to support explicit font
                               # weights without breaking backwards compatibility. As such, when reading the
-                              # style of a range of text, the value of `weighted_font_family.font_family`
-                              # will always be equal to that of `font_family`.
+                              # style of a range of text, the value of `weighted_font_family#font_family`
+                              # will always be equal to that of `font_family`. However, when writing, if
+                              # both fields are included in the field mask (either explicitly or through
+                              # the wildcard `"*"`), their values are reconciled as follows:
+                              #
+                              # * If `font_family` is set and `weighted_font_family` is not, the value of
+                              #   `font_family` is applied with weight `400` ("normal").
+                              # * If both fields are set, the value of `font_family` must match that of
+                              #   `weighted_font_family#font_family`. If so, the font family and weight of
+                              #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                              #   returned.
+                              # * If `weighted_font_family` is set and `font_family` is not, the font
+                              #   family and weight of `weighted_font_family` is applied.
+                              # * If neither field is set, the font family and weight of the text inherit
+                              #   from the parent. Note that these properties cannot inherit separately
+                              #   from each other.
+                              #
+                              # If an update request specifies values for both `weighted_font_family` and
+                              # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                              #
+                              # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                              #
+                              # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                              # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                              # is returned.
                             "fontFamily": "A String", # The font family of the text.
                                 #
                                 # The font family can be any font from the Font menu in Slides or from
                                 # [Google Fonts] (https://fonts.google.com/). If the font name is
                                 # unrecognized, the text is rendered in `Arial`.
                             "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                # only the numerical values described in the "Cascading Style Sheets Level
-                                # 2 Revision 1 (CSS 2.1) Specification",
-                                # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                # non-numerical values in the specification are disallowed. Weights greater
-                                # than or equal to 700 are considered bold, and weights less than 700 are
-                                # not bold. The default value is `400` ("normal").
+                                # multiple of `100` between `100` and `900`, inclusive. This range
+                                # corresponds to the numerical values described in the CSS 2.1
+                                # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                # with non-numerical values disallowed. Weights greater than or equal to
+                                # `700` are considered bold, and weights less than `700`are not bold. The
+                                # default value is `400` ("normal").
                           },
                           "smallCaps": True or False, # Whether or not the text is in small capital letters.
                           "fontFamily": "A String", # The font family of the text.
@@ -22572,10 +22172,10 @@
                               #   text is another link) unless different styles are being set in the same
                               #   request.
                             "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                # presentation with this ID. A page with this ID may not exist.
                             "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                 # in the presentation. There may not be a slide at this index.
+                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                # presentation with this ID. A page with this ID may not exist.
                             "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                 # addressed by its position.
                           },
@@ -22625,8 +22225,8 @@
                             # Inherited paragraph styles are represented as unset fields in this message.
                           "spacingMode": "A String", # The spacing mode for the paragraph.
                           "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                              # LEFT_TO_RIGHT
-                              # since text direction is not inherited.
+                              # LEFT_TO_RIGHT since
+                              # text direction is not inherited.
                           "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
                               # inherited from the parent.
                             "magnitude": 3.14, # The magnitude.
@@ -22698,26 +22298,47 @@
                                 # rendered in a smaller font size, computed based on the `font_size` field.
                                 # The `font_size` itself is not affected by changes in this field.
                             "strikethrough": True or False, # Whether or not the text is struck through.
-                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                # read-only.
+                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                 #
                                 # This field is an extension of `font_family` meant to support explicit font
                                 # weights without breaking backwards compatibility. As such, when reading the
-                                # style of a range of text, the value of `weighted_font_family.font_family`
-                                # will always be equal to that of `font_family`.
+                                # style of a range of text, the value of `weighted_font_family#font_family`
+                                # will always be equal to that of `font_family`. However, when writing, if
+                                # both fields are included in the field mask (either explicitly or through
+                                # the wildcard `"*"`), their values are reconciled as follows:
+                                #
+                                # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                #   `font_family` is applied with weight `400` ("normal").
+                                # * If both fields are set, the value of `font_family` must match that of
+                                #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                #   returned.
+                                # * If `weighted_font_family` is set and `font_family` is not, the font
+                                #   family and weight of `weighted_font_family` is applied.
+                                # * If neither field is set, the font family and weight of the text inherit
+                                #   from the parent. Note that these properties cannot inherit separately
+                                #   from each other.
+                                #
+                                # If an update request specifies values for both `weighted_font_family` and
+                                # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                #
+                                # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                #
+                                # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                # is returned.
                               "fontFamily": "A String", # The font family of the text.
                                   #
                                   # The font family can be any font from the Font menu in Slides or from
                                   # [Google Fonts] (https://fonts.google.com/). If the font name is
                                   # unrecognized, the text is rendered in `Arial`.
                               "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                  # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                  # only the numerical values described in the "Cascading Style Sheets Level
-                                  # 2 Revision 1 (CSS 2.1) Specification",
-                                  # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                  # non-numerical values in the specification are disallowed. Weights greater
-                                  # than or equal to 700 are considered bold, and weights less than 700 are
-                                  # not bold. The default value is `400` ("normal").
+                                  # multiple of `100` between `100` and `900`, inclusive. This range
+                                  # corresponds to the numerical values described in the CSS 2.1
+                                  # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                  # with non-numerical values disallowed. Weights greater than or equal to
+                                  # `700` are considered bold, and weights less than `700`are not bold. The
+                                  # default value is `400` ("normal").
                             },
                             "smallCaps": True or False, # Whether or not the text is in small capital letters.
                             "fontFamily": "A String", # The font family of the text.
@@ -22751,10 +22372,10 @@
                                 #   text is another link) unless different styles are being set in the same
                                 #   request.
                               "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                  # presentation with this ID. A page with this ID may not exist.
                               "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                   # in the presentation. There may not be a slide at this index.
+                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                  # presentation with this ID. A page with this ID may not exist.
                               "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                   # addressed by its position.
                             },
@@ -22824,26 +22445,47 @@
                               # rendered in a smaller font size, computed based on the `font_size` field.
                               # The `font_size` itself is not affected by changes in this field.
                           "strikethrough": True or False, # Whether or not the text is struck through.
-                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                              # read-only.
+                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                               #
                               # This field is an extension of `font_family` meant to support explicit font
                               # weights without breaking backwards compatibility. As such, when reading the
-                              # style of a range of text, the value of `weighted_font_family.font_family`
-                              # will always be equal to that of `font_family`.
+                              # style of a range of text, the value of `weighted_font_family#font_family`
+                              # will always be equal to that of `font_family`. However, when writing, if
+                              # both fields are included in the field mask (either explicitly or through
+                              # the wildcard `"*"`), their values are reconciled as follows:
+                              #
+                              # * If `font_family` is set and `weighted_font_family` is not, the value of
+                              #   `font_family` is applied with weight `400` ("normal").
+                              # * If both fields are set, the value of `font_family` must match that of
+                              #   `weighted_font_family#font_family`. If so, the font family and weight of
+                              #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                              #   returned.
+                              # * If `weighted_font_family` is set and `font_family` is not, the font
+                              #   family and weight of `weighted_font_family` is applied.
+                              # * If neither field is set, the font family and weight of the text inherit
+                              #   from the parent. Note that these properties cannot inherit separately
+                              #   from each other.
+                              #
+                              # If an update request specifies values for both `weighted_font_family` and
+                              # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                              #
+                              # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                              #
+                              # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                              # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                              # is returned.
                             "fontFamily": "A String", # The font family of the text.
                                 #
                                 # The font family can be any font from the Font menu in Slides or from
                                 # [Google Fonts] (https://fonts.google.com/). If the font name is
                                 # unrecognized, the text is rendered in `Arial`.
                             "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                # only the numerical values described in the "Cascading Style Sheets Level
-                                # 2 Revision 1 (CSS 2.1) Specification",
-                                # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                # non-numerical values in the specification are disallowed. Weights greater
-                                # than or equal to 700 are considered bold, and weights less than 700 are
-                                # not bold. The default value is `400` ("normal").
+                                # multiple of `100` between `100` and `900`, inclusive. This range
+                                # corresponds to the numerical values described in the CSS 2.1
+                                # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                # with non-numerical values disallowed. Weights greater than or equal to
+                                # `700` are considered bold, and weights less than `700`are not bold. The
+                                # default value is `400` ("normal").
                           },
                           "smallCaps": True or False, # Whether or not the text is in small capital letters.
                           "fontFamily": "A String", # The font family of the text.
@@ -22877,10 +22519,10 @@
                               #   text is another link) unless different styles are being set in the same
                               #   request.
                             "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                # presentation with this ID. A page with this ID may not exist.
                             "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                 # in the presentation. There may not be a slide at this index.
+                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                # presentation with this ID. A page with this ID may not exist.
                             "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                 # addressed by its position.
                           },
@@ -23005,10 +22647,10 @@
                   "link": { # A hypertext link. # The hyperlink destination of the shape. If unset, there is no link. Links
                       # are not inherited from parent placeholders.
                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                         # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                         # addressed by its position.
                   },
@@ -23067,8 +22709,8 @@
                   "parentObjectId": "A String", # The object ID of this shape's parent placeholder.
                       # If unset, the parent placeholder shape does not exist, so the shape does
                       # not inherit properties from any other shape.
-                  "index": 42, # The index of the placeholder. If the same placeholder types are the present
-                      # in the same page, they would have different index values.
+                  "index": 42, # The index of the placeholder. If the same placeholder types are present in
+                      # the same page, they would have different index values.
                   "type": "A String", # The type of the placeholder.
                 },
                 "shapeType": "A String", # The type of the shape.
@@ -23076,12 +22718,11 @@
               "sheetsChart": { # A PageElement kind representing # A linked chart embedded from Google Sheets. Unlinked charts are
                   # represented as images.
                   # a linked chart embedded from Google Sheets.
-                "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
-                    # embedded.
                 "contentUrl": "A String", # The URL of an image of the embedded chart, with a default lifetime of 30
                     # minutes. This URL is tagged with the account of the requester. Anyone with
                     # the URL effectively accesses the image as the original requester. Access to
                     # the image may be lost if the presentation's sharing settings change.
+                "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
                 "sheetsChartProperties": { # The properties of the SheetsChart. # The properties of the Sheets chart.
                   "chartImageProperties": { # The properties of the Image. # The properties of the embedded chart image.
                     "outline": { # The outline of a PageElement. # The outline of the image. If not set, the the image has no outline.
@@ -23159,10 +22800,10 @@
                     },
                     "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
                       "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                          # presentation with this ID. A page with this ID may not exist.
                       "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                           # in the presentation. There may not be a slide at this index.
+                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                          # presentation with this ID. A page with this ID may not exist.
                       "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                           # addressed by its position.
                     },
@@ -23193,17 +22834,17 @@
                       "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
                           # the right of the original bounding rectangle left edge, relative to the
                           # object's original width.
-                      "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                          # below the original bounding rectangle top edge, relative to the object's
-                          # original height.
-                      "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                          # above the original bounding rectangle bottom edge, relative to the object's
-                          # original height.
                       "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
                           # Rotation angle is applied after the offset.
                       "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
                           # to the left of the original bounding rectangle right edge, relative to the
                           # object's original width.
+                      "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                          # above the original bounding rectangle bottom edge, relative to the object's
+                          # original height.
+                      "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                          # below the original bounding rectangle top edge, relative to the object's
+                          # original height.
                     },
                     "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
                         # is read-only.
@@ -23263,14 +22904,13 @@
                         # [-1.0, 1.0], where 0 means no effect. This property is read-only.
                   },
                 },
-                "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
+                "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
+                    # embedded.
               },
               "video": { # A PageElement kind representing a # A video page element.
                   # video.
                 "url": "A String", # An URL to a video. The URL is valid as long as the source video
                     # exists and sharing settings do not change.
-                "source": "A String", # The video source.
-                "id": "A String", # The video source's unique identifier for this video.
                 "videoProperties": { # The properties of the Video. # The properties of the video.
                   "outline": { # The outline of a PageElement. # The outline of the video. The default outline matches the defaults for new
                       # videos created in the Slides editor.
@@ -23316,6 +22956,8 @@
                     },
                   },
                 },
+                "id": "A String", # The video source's unique identifier for this video.
+                "source": "A String", # The video source.
               },
               "elementGroup": { # A PageElement kind representing a # A collection of page elements joined as a single unit.
                   # joined collection of PageElements.
@@ -23393,26 +23035,47 @@
                                         # rendered in a smaller font size, computed based on the `font_size` field.
                                         # The `font_size` itself is not affected by changes in this field.
                                     "strikethrough": True or False, # Whether or not the text is struck through.
-                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                        # read-only.
+                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                         #
                                         # This field is an extension of `font_family` meant to support explicit font
                                         # weights without breaking backwards compatibility. As such, when reading the
-                                        # style of a range of text, the value of `weighted_font_family.font_family`
-                                        # will always be equal to that of `font_family`.
+                                        # style of a range of text, the value of `weighted_font_family#font_family`
+                                        # will always be equal to that of `font_family`. However, when writing, if
+                                        # both fields are included in the field mask (either explicitly or through
+                                        # the wildcard `"*"`), their values are reconciled as follows:
+                                        #
+                                        # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                        #   `font_family` is applied with weight `400` ("normal").
+                                        # * If both fields are set, the value of `font_family` must match that of
+                                        #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                        #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                        #   returned.
+                                        # * If `weighted_font_family` is set and `font_family` is not, the font
+                                        #   family and weight of `weighted_font_family` is applied.
+                                        # * If neither field is set, the font family and weight of the text inherit
+                                        #   from the parent. Note that these properties cannot inherit separately
+                                        #   from each other.
+                                        #
+                                        # If an update request specifies values for both `weighted_font_family` and
+                                        # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                        #
+                                        # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                        #
+                                        # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                        # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                        # is returned.
                                       "fontFamily": "A String", # The font family of the text.
                                           #
                                           # The font family can be any font from the Font menu in Slides or from
                                           # [Google Fonts] (https://fonts.google.com/). If the font name is
                                           # unrecognized, the text is rendered in `Arial`.
                                       "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                          # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                          # only the numerical values described in the "Cascading Style Sheets Level
-                                          # 2 Revision 1 (CSS 2.1) Specification",
-                                          # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                          # non-numerical values in the specification are disallowed. Weights greater
-                                          # than or equal to 700 are considered bold, and weights less than 700 are
-                                          # not bold. The default value is `400` ("normal").
+                                          # multiple of `100` between `100` and `900`, inclusive. This range
+                                          # corresponds to the numerical values described in the CSS 2.1
+                                          # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                          # with non-numerical values disallowed. Weights greater than or equal to
+                                          # `700` are considered bold, and weights less than `700`are not bold. The
+                                          # default value is `400` ("normal").
                                     },
                                     "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                     "fontFamily": "A String", # The font family of the text.
@@ -23446,10 +23109,10 @@
                                         #   text is another link) unless different styles are being set in the same
                                         #   request.
                                       "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                          # presentation with this ID. A page with this ID may not exist.
                                       "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                           # in the presentation. There may not be a slide at this index.
+                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                          # presentation with this ID. A page with this ID may not exist.
                                       "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                           # addressed by its position.
                                     },
@@ -23520,26 +23183,47 @@
                                       # rendered in a smaller font size, computed based on the `font_size` field.
                                       # The `font_size` itself is not affected by changes in this field.
                                   "strikethrough": True or False, # Whether or not the text is struck through.
-                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                      # read-only.
+                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                       #
                                       # This field is an extension of `font_family` meant to support explicit font
                                       # weights without breaking backwards compatibility. As such, when reading the
-                                      # style of a range of text, the value of `weighted_font_family.font_family`
-                                      # will always be equal to that of `font_family`.
+                                      # style of a range of text, the value of `weighted_font_family#font_family`
+                                      # will always be equal to that of `font_family`. However, when writing, if
+                                      # both fields are included in the field mask (either explicitly or through
+                                      # the wildcard `"*"`), their values are reconciled as follows:
+                                      #
+                                      # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                      #   `font_family` is applied with weight `400` ("normal").
+                                      # * If both fields are set, the value of `font_family` must match that of
+                                      #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                      #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                      #   returned.
+                                      # * If `weighted_font_family` is set and `font_family` is not, the font
+                                      #   family and weight of `weighted_font_family` is applied.
+                                      # * If neither field is set, the font family and weight of the text inherit
+                                      #   from the parent. Note that these properties cannot inherit separately
+                                      #   from each other.
+                                      #
+                                      # If an update request specifies values for both `weighted_font_family` and
+                                      # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                      #
+                                      # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                      #
+                                      # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                      # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                      # is returned.
                                     "fontFamily": "A String", # The font family of the text.
                                         #
                                         # The font family can be any font from the Font menu in Slides or from
                                         # [Google Fonts] (https://fonts.google.com/). If the font name is
                                         # unrecognized, the text is rendered in `Arial`.
                                     "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                        # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                        # only the numerical values described in the "Cascading Style Sheets Level
-                                        # 2 Revision 1 (CSS 2.1) Specification",
-                                        # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                        # non-numerical values in the specification are disallowed. Weights greater
-                                        # than or equal to 700 are considered bold, and weights less than 700 are
-                                        # not bold. The default value is `400` ("normal").
+                                        # multiple of `100` between `100` and `900`, inclusive. This range
+                                        # corresponds to the numerical values described in the CSS 2.1
+                                        # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                        # with non-numerical values disallowed. Weights greater than or equal to
+                                        # `700` are considered bold, and weights less than `700`are not bold. The
+                                        # default value is `400` ("normal").
                                   },
                                   "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                   "fontFamily": "A String", # The font family of the text.
@@ -23573,10 +23257,10 @@
                                       #   text is another link) unless different styles are being set in the same
                                       #   request.
                                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                        # presentation with this ID. A page with this ID may not exist.
                                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                         # in the presentation. There may not be a slide at this index.
+                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                        # presentation with this ID. A page with this ID may not exist.
                                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                         # addressed by its position.
                                   },
@@ -23626,8 +23310,8 @@
                                     # Inherited paragraph styles are represented as unset fields in this message.
                                   "spacingMode": "A String", # The spacing mode for the paragraph.
                                   "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                                      # LEFT_TO_RIGHT
-                                      # since text direction is not inherited.
+                                      # LEFT_TO_RIGHT since
+                                      # text direction is not inherited.
                                   "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
                                       # inherited from the parent.
                                     "magnitude": 3.14, # The magnitude.
@@ -23699,26 +23383,47 @@
                                         # rendered in a smaller font size, computed based on the `font_size` field.
                                         # The `font_size` itself is not affected by changes in this field.
                                     "strikethrough": True or False, # Whether or not the text is struck through.
-                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                        # read-only.
+                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                         #
                                         # This field is an extension of `font_family` meant to support explicit font
                                         # weights without breaking backwards compatibility. As such, when reading the
-                                        # style of a range of text, the value of `weighted_font_family.font_family`
-                                        # will always be equal to that of `font_family`.
+                                        # style of a range of text, the value of `weighted_font_family#font_family`
+                                        # will always be equal to that of `font_family`. However, when writing, if
+                                        # both fields are included in the field mask (either explicitly or through
+                                        # the wildcard `"*"`), their values are reconciled as follows:
+                                        #
+                                        # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                        #   `font_family` is applied with weight `400` ("normal").
+                                        # * If both fields are set, the value of `font_family` must match that of
+                                        #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                        #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                        #   returned.
+                                        # * If `weighted_font_family` is set and `font_family` is not, the font
+                                        #   family and weight of `weighted_font_family` is applied.
+                                        # * If neither field is set, the font family and weight of the text inherit
+                                        #   from the parent. Note that these properties cannot inherit separately
+                                        #   from each other.
+                                        #
+                                        # If an update request specifies values for both `weighted_font_family` and
+                                        # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                        #
+                                        # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                        #
+                                        # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                        # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                        # is returned.
                                       "fontFamily": "A String", # The font family of the text.
                                           #
                                           # The font family can be any font from the Font menu in Slides or from
                                           # [Google Fonts] (https://fonts.google.com/). If the font name is
                                           # unrecognized, the text is rendered in `Arial`.
                                       "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                          # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                          # only the numerical values described in the "Cascading Style Sheets Level
-                                          # 2 Revision 1 (CSS 2.1) Specification",
-                                          # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                          # non-numerical values in the specification are disallowed. Weights greater
-                                          # than or equal to 700 are considered bold, and weights less than 700 are
-                                          # not bold. The default value is `400` ("normal").
+                                          # multiple of `100` between `100` and `900`, inclusive. This range
+                                          # corresponds to the numerical values described in the CSS 2.1
+                                          # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                          # with non-numerical values disallowed. Weights greater than or equal to
+                                          # `700` are considered bold, and weights less than `700`are not bold. The
+                                          # default value is `400` ("normal").
                                     },
                                     "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                     "fontFamily": "A String", # The font family of the text.
@@ -23752,10 +23457,10 @@
                                         #   text is another link) unless different styles are being set in the same
                                         #   request.
                                       "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                          # presentation with this ID. A page with this ID may not exist.
                                       "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                           # in the presentation. There may not be a slide at this index.
+                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                          # presentation with this ID. A page with this ID may not exist.
                                       "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                           # addressed by its position.
                                     },
@@ -23825,26 +23530,47 @@
                                       # rendered in a smaller font size, computed based on the `font_size` field.
                                       # The `font_size` itself is not affected by changes in this field.
                                   "strikethrough": True or False, # Whether or not the text is struck through.
-                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                      # read-only.
+                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                       #
                                       # This field is an extension of `font_family` meant to support explicit font
                                       # weights without breaking backwards compatibility. As such, when reading the
-                                      # style of a range of text, the value of `weighted_font_family.font_family`
-                                      # will always be equal to that of `font_family`.
+                                      # style of a range of text, the value of `weighted_font_family#font_family`
+                                      # will always be equal to that of `font_family`. However, when writing, if
+                                      # both fields are included in the field mask (either explicitly or through
+                                      # the wildcard `"*"`), their values are reconciled as follows:
+                                      #
+                                      # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                      #   `font_family` is applied with weight `400` ("normal").
+                                      # * If both fields are set, the value of `font_family` must match that of
+                                      #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                      #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                      #   returned.
+                                      # * If `weighted_font_family` is set and `font_family` is not, the font
+                                      #   family and weight of `weighted_font_family` is applied.
+                                      # * If neither field is set, the font family and weight of the text inherit
+                                      #   from the parent. Note that these properties cannot inherit separately
+                                      #   from each other.
+                                      #
+                                      # If an update request specifies values for both `weighted_font_family` and
+                                      # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                      #
+                                      # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                      #
+                                      # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                      # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                      # is returned.
                                     "fontFamily": "A String", # The font family of the text.
                                         #
                                         # The font family can be any font from the Font menu in Slides or from
                                         # [Google Fonts] (https://fonts.google.com/). If the font name is
                                         # unrecognized, the text is rendered in `Arial`.
                                     "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                        # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                        # only the numerical values described in the "Cascading Style Sheets Level
-                                        # 2 Revision 1 (CSS 2.1) Specification",
-                                        # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                        # non-numerical values in the specification are disallowed. Weights greater
-                                        # than or equal to 700 are considered bold, and weights less than 700 are
-                                        # not bold. The default value is `400` ("normal").
+                                        # multiple of `100` between `100` and `900`, inclusive. This range
+                                        # corresponds to the numerical values described in the CSS 2.1
+                                        # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                        # with non-numerical values disallowed. Weights greater than or equal to
+                                        # `700` are considered bold, and weights less than `700`are not bold. The
+                                        # default value is `400` ("normal").
                                   },
                                   "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                   "fontFamily": "A String", # The font family of the text.
@@ -23878,10 +23604,10 @@
                                       #   text is another link) unless different styles are being set in the same
                                       #   request.
                                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                        # presentation with this ID. A page with this ID may not exist.
                                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                         # in the presentation. There may not be a slide at this index.
+                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                        # presentation with this ID. A page with this ID may not exist.
                                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                         # addressed by its position.
                                   },
@@ -23971,10 +23697,10 @@
                   "endArrow": "A String", # The style of the arrow at the end of the line.
                   "link": { # A hypertext link. # The hyperlink destination of the line. If unset, there is no link.
                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                         # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                         # addressed by its position.
                   },
@@ -24037,9 +23763,2202 @@
               #
               # The format of the revision ID may change over time, so it should be treated
               # opaquely. A returned revision ID is only guaranteed to be valid for 24
-              # hours after it has been returned and cannot be shared across
-              # users. Callers can assume that if two revision IDs are equal then the
-              # presentation has not changed.
+              # hours after it has been returned and cannot be shared across users. If the
+              # revision ID is unchanged between calls, then the presentation has not
+              # changed. Conversely, a changed ID (for the same presentation and user)
+              # usually means the presentation has been updated; however, a changed ID can
+              # also be due to internal factors such as ID format changes.
+          "pageProperties": { # The properties of the Page. # The properties of the page.
+              #
+              # The page will inherit properties from the parent page. Depending on the page
+              # type the hierarchy is defined in either
+              # SlideProperties or
+              # LayoutProperties.
+            "pageBackgroundFill": { # The page background fill. # The background fill of the page. If unset, the background fill is inherited
+                # from a parent page if it exists. If the page has no parent, then the
+                # background fill defaults to the corresponding fill in the Slides editor.
+              "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                  # specified color value.
+                  #
+                  # If any field is unset, its value may be inherited from a parent placeholder
+                  # if it exists.
+                "color": { # A themeable solid color value. # The color value of the solid fill.
+                  "themeColor": "A String", # An opaque theme color.
+                  "rgbColor": { # An RGB color. # An opaque RGB color.
+                    "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                    "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                    "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                  },
+                },
+                "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                    # That is, the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color.
+              },
+              "propertyState": "A String", # The background fill property state.
+                  #
+                  # Updating the the fill on a page will implicitly update this field to
+                  # `RENDERED`, unless another value is specified in the same request. To
+                  # have no fill on a page, set this field to `NOT_RENDERED`. In this case,
+                  # any other fill fields set in the same request will be ignored.
+              "stretchedPictureFill": { # The stretched picture fill. The page or page element is filled entirely with # Stretched picture fill.
+                  # the specified picture. The picture is stretched to fit its container.
+                "contentUrl": "A String", # Reading the content_url:
+                    #
+                    # An URL to a picture with a default lifetime of 30 minutes.
+                    # This URL is tagged with the account of the requester. Anyone with the URL
+                    # effectively accesses the picture as the original requester. Access to the
+                    # picture may be lost if the presentation's sharing settings change.
+                    #
+                    # Writing the content_url:
+                    #
+                    # The picture is fetched once at insertion time and a copy is stored for
+                    # display inside the presentation. Pictures must be less than 50MB in size,
+                    # cannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF
+                    # format.
+                "size": { # A width and height. # The original size of the picture fill. This field is read-only.
+                  "width": { # A magnitude in a single direction in the specified units. # The width of the object.
+                    "magnitude": 3.14, # The magnitude.
+                    "unit": "A String", # The units for magnitude.
+                  },
+                  "height": { # A magnitude in a single direction in the specified units. # The height of the object.
+                    "magnitude": 3.14, # The magnitude.
+                    "unit": "A String", # The units for magnitude.
+                  },
+                },
+              },
+            },
+            "colorScheme": { # The palette of predefined colors for a page. # The color scheme of the page. If unset, the color scheme is inherited from
+                # a parent page. If the page has no parent, the color scheme uses a default
+                # Slides color scheme. This field is read-only.
+              "colors": [ # The ThemeColorType and corresponding concrete color pairs.
+                { # A pair mapping a theme color type to the concrete color it represents.
+                  "color": { # An RGB color. # The concrete color corresponding to the theme color type above.
+                    "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                    "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                    "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                  },
+                  "type": "A String", # The type of the theme color.
+                },
+              ],
+            },
+          },
+          "pageType": "A String", # The type of the page.
+          "slideProperties": { # The properties of Page that are only # Slide specific properties. Only set if page_type = SLIDE.
+              # relevant for pages with page_type SLIDE.
+            "notesPage": # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual
+                # appearance of a notes page when printing or exporting slides with speaker
+                # notes. A notes page inherits properties from the
+                # notes master.
+                # The placeholder shape with type BODY on the notes page contains the speaker
+                # notes for this slide. The ID of this shape is identified by the
+                # speakerNotesObjectId field.
+                # The notes page is read-only except for the text content and styles of the
+                # speaker notes shape.
+            "masterObjectId": "A String", # The object ID of the master that this slide is based on.
+            "layoutObjectId": "A String", # The object ID of the layout that this slide is based on.
+          },
+        },
+      ],
+      "slides": [ # The slides in the presentation.
+          # A slide inherits properties from a slide layout.
+        { # A page in a presentation.
+          "layoutProperties": { # The properties of Page are only # Layout specific properties. Only set if page_type = LAYOUT.
+              # relevant for pages with page_type LAYOUT.
+            "displayName": "A String", # The human readable name of the layout in the presentation's locale.
+            "name": "A String", # The name of the layout.
+            "masterObjectId": "A String", # The object ID of the master that this layout is based on.
+          },
+          "pageElements": [ # The page elements rendered on the page.
+            { # A visual element rendered on a page.
+              "wordArt": { # A PageElement kind representing # A word art page element.
+                  # word art.
+                "renderedText": "A String", # The text rendered as word art.
+              },
+              "description": "A String", # The description of the page element. Combined with title to display alt
+                  # text.
+              "objectId": "A String", # The object ID for this page element. Object IDs used by
+                  # google.apps.slides.v1.Page and
+                  # google.apps.slides.v1.PageElement share the same namespace.
+              "title": "A String", # The title of the page element. Combined with description to display alt
+                  # text.
+              "image": { # A PageElement kind representing an # An image page element.
+                  # image.
+                "contentUrl": "A String", # An URL to an image with a default lifetime of 30 minutes.
+                    # This URL is tagged with the account of the requester. Anyone with the URL
+                    # effectively accesses the image as the original requester. Access to the
+                    # image may be lost if the presentation's sharing settings change.
+                "imageProperties": { # The properties of the Image. # The properties of the image.
+                  "outline": { # The outline of a PageElement. # The outline of the image. If not set, the the image has no outline.
+                      #
+                      # If these fields are unset, they may be inherited from a parent placeholder
+                      # if it exists. If there is no parent, the fields will default to the value
+                      # used for new page elements created in the Slides editor, which may depend on
+                      # the page element kind.
+                    "outlineFill": { # The fill of the outline. # The fill of the outline.
+                      "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                          # specified color value.
+                          #
+                          # If any field is unset, its value may be inherited from a parent placeholder
+                          # if it exists.
+                        "color": { # A themeable solid color value. # The color value of the solid fill.
+                          "themeColor": "A String", # An opaque theme color.
+                          "rgbColor": { # An RGB color. # An opaque RGB color.
+                            "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                            "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                            "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                          },
+                        },
+                        "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                            # That is, the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color.
+                      },
+                    },
+                    "propertyState": "A String", # The outline property state.
+                        #
+                        # Updating the the outline on a page element will implicitly update this
+                        # field to`RENDERED`, unless another value is specified in the same request.
+                        # To have no outline on a page element, set this field to `NOT_RENDERED`. In
+                        # this case, any other outline fields set in the same request will be
+                        # ignored.
+                    "dashStyle": "A String", # The dash style of the outline.
+                    "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
+                      "magnitude": 3.14, # The magnitude.
+                      "unit": "A String", # The units for magnitude.
+                    },
+                  },
+                  "brightness": 3.14, # The brightness effect of the image. The value should be in the interval
+                      # [-1.0, 1.0], where 0 means no effect. This property is read-only.
+                  "recolor": { # A recolor effect applied on an image. # The recolor effect of the image. If not set, the image is not recolored.
+                      # This property is read-only.
+                    "recolorStops": [ # The recolor effect is represented by a gradient, which is a list of color
+                        # stops.
+                        #
+                        # The colors in the gradient will replace the corresponding colors at
+                        # the same position in the color palette and apply to the image. This
+                        # property is read-only.
+                      { # A color and position in a gradient band.
+                        "color": { # A themeable solid color value. # The color of the gradient stop.
+                          "themeColor": "A String", # An opaque theme color.
+                          "rgbColor": { # An RGB color. # An opaque RGB color.
+                            "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                            "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                            "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                          },
+                        },
+                        "alpha": 3.14, # The alpha value of this color in the gradient band. Defaults to 1.0,
+                            # fully opaque.
+                        "position": 3.14, # The relative position of the color stop in the gradient band measured
+                            # in percentage. The value should be in the interval [0.0, 1.0].
+                      },
+                    ],
+                    "name": "A String", # The name of the recolor effect.
+                        #
+                        # The name is determined from the `recolor_stops` by matching the gradient
+                        # against the colors in the page's current color scheme. This property is
+                        # read-only.
+                  },
+                  "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
+                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                        # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
+                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                        # addressed by its position.
+                  },
+                  "transparency": 3.14, # The transparency effect of the image. The value should be in the interval
+                      # [0.0, 1.0], where 0 means no effect and 1 means completely transparent.
+                      # This property is read-only.
+                  "cropProperties": { # The crop properties of an object enclosed in a container. For example, an # The crop properties of the image. If not set, the image is not cropped.
+                      # This property is read-only.
+                      # Image.
+                      #
+                      # The crop properties is represented by the offsets of four edges which define
+                      # a crop rectangle. The offsets are measured in percentage from the
+                      # corresponding edges of the object's original bounding rectangle towards
+                      # inside, relative to the object's original dimensions.
+                      #
+                      # - If the offset is in the interval (0, 1), the corresponding edge of crop
+                      # rectangle is positioned inside of the object's original bounding rectangle.
+                      # - If the offset is negative or greater than 1, the corresponding edge of crop
+                      # rectangle is positioned outside of the object's original bounding rectangle.
+                      # - If the left edge of the crop rectangle is on the right side of its right
+                      # edge, the object will be flipped horizontally.
+                      # - If the top edge of the crop rectangle is below its bottom edge, the object
+                      # will be flipped vertically.
+                      # - If all offsets and rotation angle is 0, the object is not cropped.
+                      #
+                      # After cropping, the content in the crop rectangle will be stretched to fit
+                      # its container.
+                    "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
+                        # the right of the original bounding rectangle left edge, relative to the
+                        # object's original width.
+                    "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
+                        # Rotation angle is applied after the offset.
+                    "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
+                        # to the left of the original bounding rectangle right edge, relative to the
+                        # object's original width.
+                    "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                        # above the original bounding rectangle bottom edge, relative to the object's
+                        # original height.
+                    "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                        # below the original bounding rectangle top edge, relative to the object's
+                        # original height.
+                  },
+                  "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
+                      # is read-only.
+                      #
+                      # If these fields are unset, they may be inherited from a parent placeholder
+                      # if it exists. If there is no parent, the fields will default to the value
+                      # used for new page elements created in the Slides editor, which may depend on
+                      # the page element kind.
+                    "color": { # A themeable solid color value. # The shadow color value.
+                      "themeColor": "A String", # An opaque theme color.
+                      "rgbColor": { # An RGB color. # An opaque RGB color.
+                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                      },
+                    },
+                    "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # Transform that encodes the translate, scale, and skew of the shadow,
+                        # relative to the alignment position.
+                        # to transform source coordinates (x,y) into destination coordinates (x', y')
+                        # according to:
+                        #
+                        #       x'  x  =   shear_y  scale_y  translate_y
+                        #       1  [ 1 ]
+                        #
+                        # After transformation,
+                        #
+                        #      x' = scale_x * x + shear_x * y + translate_x;
+                        #      y' = scale_y * y + shear_y * x + translate_y;
+                        #
+                        # This message is therefore composed of these six matrix elements.
+                      "translateX": 3.14, # The X coordinate translation element.
+                      "translateY": 3.14, # The Y coordinate translation element.
+                      "scaleX": 3.14, # The X coordinate scaling element.
+                      "scaleY": 3.14, # The Y coordinate scaling element.
+                      "shearY": 3.14, # The Y coordinate shearing element.
+                      "shearX": 3.14, # The X coordinate shearing element.
+                      "unit": "A String", # The units for translate elements.
+                    },
+                    "propertyState": "A String", # The shadow property state.
+                        #
+                        # Updating the the shadow on a page element will implicitly update this field
+                        # to `RENDERED`, unless another value is specified in the same request. To
+                        # have no shadow on a page element, set this field to `NOT_RENDERED`. In this
+                        # case, any other shadow fields set in the same request will be ignored.
+                    "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the
+                        # shadow becomes.
+                      "magnitude": 3.14, # The magnitude.
+                      "unit": "A String", # The units for magnitude.
+                    },
+                    "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0.
+                    "type": "A String", # The type of the shadow.
+                    "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate,
+                        # scale and skew of the shadow.
+                    "rotateWithShape": True or False, # Whether the shadow should rotate with the shape.
+                  },
+                  "contrast": 3.14, # The contrast effect of the image. The value should be in the interval
+                      # [-1.0, 1.0], where 0 means no effect. This property is read-only.
+                },
+              },
+              "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # The transform of the page element.
+                  # to transform source coordinates (x,y) into destination coordinates (x', y')
+                  # according to:
+                  #
+                  #       x'  x  =   shear_y  scale_y  translate_y
+                  #       1  [ 1 ]
+                  #
+                  # After transformation,
+                  #
+                  #      x' = scale_x * x + shear_x * y + translate_x;
+                  #      y' = scale_y * y + shear_y * x + translate_y;
+                  #
+                  # This message is therefore composed of these six matrix elements.
+                "translateX": 3.14, # The X coordinate translation element.
+                "translateY": 3.14, # The Y coordinate translation element.
+                "scaleX": 3.14, # The X coordinate scaling element.
+                "scaleY": 3.14, # The Y coordinate scaling element.
+                "shearY": 3.14, # The Y coordinate shearing element.
+                "shearX": 3.14, # The X coordinate shearing element.
+                "unit": "A String", # The units for translate elements.
+              },
+              "shape": { # A PageElement kind representing a # A generic shape.
+                  # generic shape that does not have a more specific classification.
+                "text": { # The general text content. The text must reside in a compatible shape (e.g. # The text content of the shape.
+                    # text box or rectangle) or a table cell in a page.
+                  "lists": { # The bulleted lists contained in this text, keyed by list ID.
+                    "a_key": { # A List describes the look and feel of bullets belonging to paragraphs
+                        # associated with a list. A paragraph that is part of a list has an implicit
+                        # reference to that list's ID.
+                      "nestingLevel": { # A map of nesting levels to the properties of bullets at the associated
+                          # level. A list has at most nine levels of nesting, so the possible values
+                          # for the keys of this map are 0 through 8, inclusive.
+                        "a_key": { # Contains properties describing the look and feel of a list bullet at a given
+                            # level of nesting.
+                          "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The style of a bullet at this level of nesting.
+                              #
+                              # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                              # inherited from the parent. Which text styles are inherited depend on the
+                              # nesting level of lists:
+                              #
+                              # * A text run in a paragraph that is not in a list will inherit its text style
+                              #   from the the newline character in the paragraph at the 0 nesting level of
+                              #   the list inside the parent placeholder.
+                              # * A text run in a paragraph that is in a list will inherit its text style
+                              #   from the newline character in the paragraph at its corresponding nesting
+                              #   level of the list inside the parent placeholder.
+                              #
+                              # Inherited text styles are represented as unset fields in this message. If
+                              # text is contained in a shape without a parent placeholder, unsetting these
+                              # fields will revert the style to a value matching the defaults in the Slides
+                              # editor.
+                            "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                                # transparent, depending on if the `opaque_color` field in it is set.
+                              "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                  # a transparent color.
+                                "themeColor": "A String", # An opaque theme color.
+                                "rgbColor": { # An RGB color. # An opaque RGB color.
+                                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                },
+                              },
+                            },
+                            "bold": True or False, # Whether or not the text is rendered as bold.
+                            "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                                #
+                                # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                                # rendered in a smaller font size, computed based on the `font_size` field.
+                                # The `font_size` itself is not affected by changes in this field.
+                            "strikethrough": True or False, # Whether or not the text is struck through.
+                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                                #
+                                # This field is an extension of `font_family` meant to support explicit font
+                                # weights without breaking backwards compatibility. As such, when reading the
+                                # style of a range of text, the value of `weighted_font_family#font_family`
+                                # will always be equal to that of `font_family`. However, when writing, if
+                                # both fields are included in the field mask (either explicitly or through
+                                # the wildcard `"*"`), their values are reconciled as follows:
+                                #
+                                # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                #   `font_family` is applied with weight `400` ("normal").
+                                # * If both fields are set, the value of `font_family` must match that of
+                                #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                #   returned.
+                                # * If `weighted_font_family` is set and `font_family` is not, the font
+                                #   family and weight of `weighted_font_family` is applied.
+                                # * If neither field is set, the font family and weight of the text inherit
+                                #   from the parent. Note that these properties cannot inherit separately
+                                #   from each other.
+                                #
+                                # If an update request specifies values for both `weighted_font_family` and
+                                # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                #
+                                # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                #
+                                # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                # is returned.
+                              "fontFamily": "A String", # The font family of the text.
+                                  #
+                                  # The font family can be any font from the Font menu in Slides or from
+                                  # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                  # unrecognized, the text is rendered in `Arial`.
+                              "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                                  # multiple of `100` between `100` and `900`, inclusive. This range
+                                  # corresponds to the numerical values described in the CSS 2.1
+                                  # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                  # with non-numerical values disallowed. Weights greater than or equal to
+                                  # `700` are considered bold, and weights less than `700`are not bold. The
+                                  # default value is `400` ("normal").
+                            },
+                            "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                            "fontFamily": "A String", # The font family of the text.
+                                #
+                                # The font family can be any font from the Font menu in Slides or from
+                                # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                # unrecognized, the text is rendered in `Arial`.
+                                #
+                                # Some fonts can affect the weight of the text. If an update request
+                                # specifies values for both `font_family` and `bold`, the explicitly-set
+                                # `bold` value is used.
+                            "italic": True or False, # Whether or not the text is italicized.
+                            "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                                # are not inherited from parent text.
+                                #
+                                # Changing the link in an update request causes some other changes to the
+                                # text style of the range:
+                                #
+                                # * When setting a link, the text foreground color will be set to
+                                #   ThemeColorType.HYPERLINK and the text will
+                                #   be underlined. If these fields are modified in the same
+                                #   request, those values will be used instead of the link defaults.
+                                # * Setting a link on a text range that overlaps with an existing link will
+                                #   also update the existing link to point to the new URL.
+                                # * Links are not settable on newline characters. As a result, setting a link
+                                #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                                #   will separate the newline character(s) into their own text runs. The
+                                #   link will be applied separately to the runs before and after the newline.
+                                # * Removing a link will update the text style of the range to match the
+                                #   style of the preceding text (or the default text styles if the preceding
+                                #   text is another link) unless different styles are being set in the same
+                                #   request.
+                              "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                              "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                                  # in the presentation. There may not be a slide at this index.
+                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                  # presentation with this ID. A page with this ID may not exist.
+                              "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                                  # addressed by its position.
+                            },
+                            "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                                # transparent, depending on if the `opaque_color` field in it is set.
+                              "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                  # a transparent color.
+                                "themeColor": "A String", # An opaque theme color.
+                                "rgbColor": { # An RGB color. # An opaque RGB color.
+                                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                },
+                              },
+                            },
+                            "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                                # points.
+                              "magnitude": 3.14, # The magnitude.
+                              "unit": "A String", # The units for magnitude.
+                            },
+                            "underline": True or False, # Whether or not the text is underlined.
+                          },
+                        },
+                      },
+                      "listId": "A String", # The ID of the list.
+                    },
+                  },
+                  "textElements": [ # The text contents broken down into its component parts, including styling
+                      # information. This property is read-only.
+                    { # A TextElement describes the content of a range of indices in the text content
+                        # of a Shape or TableCell.
+                      "autoText": { # A TextElement kind that represents auto text. # A TextElement representing a spot in the text that is dynamically
+                          # replaced with content that can change over time.
+                        "content": "A String", # The rendered content of this auto text, if available.
+                        "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this auto text.
+                            #
+                            # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                            # inherited from the parent. Which text styles are inherited depend on the
+                            # nesting level of lists:
+                            #
+                            # * A text run in a paragraph that is not in a list will inherit its text style
+                            #   from the the newline character in the paragraph at the 0 nesting level of
+                            #   the list inside the parent placeholder.
+                            # * A text run in a paragraph that is in a list will inherit its text style
+                            #   from the newline character in the paragraph at its corresponding nesting
+                            #   level of the list inside the parent placeholder.
+                            #
+                            # Inherited text styles are represented as unset fields in this message. If
+                            # text is contained in a shape without a parent placeholder, unsetting these
+                            # fields will revert the style to a value matching the defaults in the Slides
+                            # editor.
+                          "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                              # transparent, depending on if the `opaque_color` field in it is set.
+                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                # a transparent color.
+                              "themeColor": "A String", # An opaque theme color.
+                              "rgbColor": { # An RGB color. # An opaque RGB color.
+                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                              },
+                            },
+                          },
+                          "bold": True or False, # Whether or not the text is rendered as bold.
+                          "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                              #
+                              # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                              # rendered in a smaller font size, computed based on the `font_size` field.
+                              # The `font_size` itself is not affected by changes in this field.
+                          "strikethrough": True or False, # Whether or not the text is struck through.
+                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                              #
+                              # This field is an extension of `font_family` meant to support explicit font
+                              # weights without breaking backwards compatibility. As such, when reading the
+                              # style of a range of text, the value of `weighted_font_family#font_family`
+                              # will always be equal to that of `font_family`. However, when writing, if
+                              # both fields are included in the field mask (either explicitly or through
+                              # the wildcard `"*"`), their values are reconciled as follows:
+                              #
+                              # * If `font_family` is set and `weighted_font_family` is not, the value of
+                              #   `font_family` is applied with weight `400` ("normal").
+                              # * If both fields are set, the value of `font_family` must match that of
+                              #   `weighted_font_family#font_family`. If so, the font family and weight of
+                              #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                              #   returned.
+                              # * If `weighted_font_family` is set and `font_family` is not, the font
+                              #   family and weight of `weighted_font_family` is applied.
+                              # * If neither field is set, the font family and weight of the text inherit
+                              #   from the parent. Note that these properties cannot inherit separately
+                              #   from each other.
+                              #
+                              # If an update request specifies values for both `weighted_font_family` and
+                              # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                              #
+                              # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                              #
+                              # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                              # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                              # is returned.
+                            "fontFamily": "A String", # The font family of the text.
+                                #
+                                # The font family can be any font from the Font menu in Slides or from
+                                # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                # unrecognized, the text is rendered in `Arial`.
+                            "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                                # multiple of `100` between `100` and `900`, inclusive. This range
+                                # corresponds to the numerical values described in the CSS 2.1
+                                # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                # with non-numerical values disallowed. Weights greater than or equal to
+                                # `700` are considered bold, and weights less than `700`are not bold. The
+                                # default value is `400` ("normal").
+                          },
+                          "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                          "fontFamily": "A String", # The font family of the text.
+                              #
+                              # The font family can be any font from the Font menu in Slides or from
+                              # [Google Fonts] (https://fonts.google.com/). If the font name is
+                              # unrecognized, the text is rendered in `Arial`.
+                              #
+                              # Some fonts can affect the weight of the text. If an update request
+                              # specifies values for both `font_family` and `bold`, the explicitly-set
+                              # `bold` value is used.
+                          "italic": True or False, # Whether or not the text is italicized.
+                          "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                              # are not inherited from parent text.
+                              #
+                              # Changing the link in an update request causes some other changes to the
+                              # text style of the range:
+                              #
+                              # * When setting a link, the text foreground color will be set to
+                              #   ThemeColorType.HYPERLINK and the text will
+                              #   be underlined. If these fields are modified in the same
+                              #   request, those values will be used instead of the link defaults.
+                              # * Setting a link on a text range that overlaps with an existing link will
+                              #   also update the existing link to point to the new URL.
+                              # * Links are not settable on newline characters. As a result, setting a link
+                              #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                              #   will separate the newline character(s) into their own text runs. The
+                              #   link will be applied separately to the runs before and after the newline.
+                              # * Removing a link will update the text style of the range to match the
+                              #   style of the preceding text (or the default text styles if the preceding
+                              #   text is another link) unless different styles are being set in the same
+                              #   request.
+                            "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                            "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                                # in the presentation. There may not be a slide at this index.
+                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                # presentation with this ID. A page with this ID may not exist.
+                            "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                                # addressed by its position.
+                          },
+                          "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                              # transparent, depending on if the `opaque_color` field in it is set.
+                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                # a transparent color.
+                              "themeColor": "A String", # An opaque theme color.
+                              "rgbColor": { # An RGB color. # An opaque RGB color.
+                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                              },
+                            },
+                          },
+                          "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                              # points.
+                            "magnitude": 3.14, # The magnitude.
+                            "unit": "A String", # The units for magnitude.
+                          },
+                          "underline": True or False, # Whether or not the text is underlined.
+                        },
+                        "type": "A String", # The type of this auto text.
+                      },
+                      "endIndex": 42, # The zero-based end index of this text element, exclusive, in Unicode code
+                          # units.
+                      "startIndex": 42, # The zero-based start index of this text element, in Unicode code units.
+                      "paragraphMarker": { # A TextElement kind that represents the beginning of a new paragraph. # A marker representing the beginning of a new paragraph.
+                          #
+                          # The `start_index` and `end_index` of this TextElement represent the
+                          # range of the paragraph. Other TextElements with an index range contained
+                          # inside this paragraph's range are considered to be part of this
+                          # paragraph. The range of indices of two separate paragraphs will never
+                          # overlap.
+                        "style": { # Styles that apply to a whole paragraph. # The paragraph's style
+                            #
+                            # If this text is contained in a shape with a parent placeholder, then these paragraph styles may be
+                            # inherited from the parent. Which paragraph styles are inherited depend on the
+                            # nesting level of lists:
+                            #
+                            # * A paragraph not in a list will inherit its paragraph style from the
+                            #   paragraph at the 0 nesting level of the list inside the parent placeholder.
+                            # * A paragraph in a list will inherit its paragraph style from the paragraph
+                            #   at its corresponding nesting level of the list inside the parent
+                            #   placeholder.
+                            #
+                            # Inherited paragraph styles are represented as unset fields in this message.
+                          "spacingMode": "A String", # The spacing mode for the paragraph.
+                          "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
+                              # LEFT_TO_RIGHT since
+                              # text direction is not inherited.
+                          "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
+                              # inherited from the parent.
+                            "magnitude": 3.14, # The magnitude.
+                            "unit": "A String", # The units for magnitude.
+                          },
+                          "lineSpacing": 3.14, # The amount of space between lines, as a percentage of normal, where normal
+                              # is represented as 100.0. If unset, the value is inherited from the parent.
+                          "indentStart": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
+                              # the start of the text, based on the current text direction. If unset, the
+                              # value is inherited from the parent.
+                            "magnitude": 3.14, # The magnitude.
+                            "unit": "A String", # The units for magnitude.
+                          },
+                          "spaceAbove": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
+                              # inherited from the parent.
+                            "magnitude": 3.14, # The magnitude.
+                            "unit": "A String", # The units for magnitude.
+                          },
+                          "indentEnd": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
+                              # the end of the text, based on the current text direction. If unset, the
+                              # value is inherited from the parent.
+                            "magnitude": 3.14, # The magnitude.
+                            "unit": "A String", # The units for magnitude.
+                          },
+                          "indentFirstLine": { # A magnitude in a single direction in the specified units. # The amount of indentation for the start of the first line of the paragraph.
+                              # If unset, the value is inherited from the parent.
+                            "magnitude": 3.14, # The magnitude.
+                            "unit": "A String", # The units for magnitude.
+                          },
+                          "alignment": "A String", # The text alignment for this paragraph.
+                        },
+                        "bullet": { # Describes the bullet of a paragraph. # The bullet for this paragraph. If not present, the paragraph does not
+                            # belong to a list.
+                          "nestingLevel": 42, # The nesting level of this paragraph in the list.
+                          "listId": "A String", # The ID of the list this paragraph belongs to.
+                          "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The paragraph specific text style applied to this bullet.
+                              #
+                              # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                              # inherited from the parent. Which text styles are inherited depend on the
+                              # nesting level of lists:
+                              #
+                              # * A text run in a paragraph that is not in a list will inherit its text style
+                              #   from the the newline character in the paragraph at the 0 nesting level of
+                              #   the list inside the parent placeholder.
+                              # * A text run in a paragraph that is in a list will inherit its text style
+                              #   from the newline character in the paragraph at its corresponding nesting
+                              #   level of the list inside the parent placeholder.
+                              #
+                              # Inherited text styles are represented as unset fields in this message. If
+                              # text is contained in a shape without a parent placeholder, unsetting these
+                              # fields will revert the style to a value matching the defaults in the Slides
+                              # editor.
+                            "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                                # transparent, depending on if the `opaque_color` field in it is set.
+                              "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                  # a transparent color.
+                                "themeColor": "A String", # An opaque theme color.
+                                "rgbColor": { # An RGB color. # An opaque RGB color.
+                                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                },
+                              },
+                            },
+                            "bold": True or False, # Whether or not the text is rendered as bold.
+                            "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                                #
+                                # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                                # rendered in a smaller font size, computed based on the `font_size` field.
+                                # The `font_size` itself is not affected by changes in this field.
+                            "strikethrough": True or False, # Whether or not the text is struck through.
+                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                                #
+                                # This field is an extension of `font_family` meant to support explicit font
+                                # weights without breaking backwards compatibility. As such, when reading the
+                                # style of a range of text, the value of `weighted_font_family#font_family`
+                                # will always be equal to that of `font_family`. However, when writing, if
+                                # both fields are included in the field mask (either explicitly or through
+                                # the wildcard `"*"`), their values are reconciled as follows:
+                                #
+                                # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                #   `font_family` is applied with weight `400` ("normal").
+                                # * If both fields are set, the value of `font_family` must match that of
+                                #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                #   returned.
+                                # * If `weighted_font_family` is set and `font_family` is not, the font
+                                #   family and weight of `weighted_font_family` is applied.
+                                # * If neither field is set, the font family and weight of the text inherit
+                                #   from the parent. Note that these properties cannot inherit separately
+                                #   from each other.
+                                #
+                                # If an update request specifies values for both `weighted_font_family` and
+                                # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                #
+                                # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                #
+                                # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                # is returned.
+                              "fontFamily": "A String", # The font family of the text.
+                                  #
+                                  # The font family can be any font from the Font menu in Slides or from
+                                  # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                  # unrecognized, the text is rendered in `Arial`.
+                              "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                                  # multiple of `100` between `100` and `900`, inclusive. This range
+                                  # corresponds to the numerical values described in the CSS 2.1
+                                  # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                  # with non-numerical values disallowed. Weights greater than or equal to
+                                  # `700` are considered bold, and weights less than `700`are not bold. The
+                                  # default value is `400` ("normal").
+                            },
+                            "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                            "fontFamily": "A String", # The font family of the text.
+                                #
+                                # The font family can be any font from the Font menu in Slides or from
+                                # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                # unrecognized, the text is rendered in `Arial`.
+                                #
+                                # Some fonts can affect the weight of the text. If an update request
+                                # specifies values for both `font_family` and `bold`, the explicitly-set
+                                # `bold` value is used.
+                            "italic": True or False, # Whether or not the text is italicized.
+                            "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                                # are not inherited from parent text.
+                                #
+                                # Changing the link in an update request causes some other changes to the
+                                # text style of the range:
+                                #
+                                # * When setting a link, the text foreground color will be set to
+                                #   ThemeColorType.HYPERLINK and the text will
+                                #   be underlined. If these fields are modified in the same
+                                #   request, those values will be used instead of the link defaults.
+                                # * Setting a link on a text range that overlaps with an existing link will
+                                #   also update the existing link to point to the new URL.
+                                # * Links are not settable on newline characters. As a result, setting a link
+                                #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                                #   will separate the newline character(s) into their own text runs. The
+                                #   link will be applied separately to the runs before and after the newline.
+                                # * Removing a link will update the text style of the range to match the
+                                #   style of the preceding text (or the default text styles if the preceding
+                                #   text is another link) unless different styles are being set in the same
+                                #   request.
+                              "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                              "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                                  # in the presentation. There may not be a slide at this index.
+                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                  # presentation with this ID. A page with this ID may not exist.
+                              "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                                  # addressed by its position.
+                            },
+                            "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                                # transparent, depending on if the `opaque_color` field in it is set.
+                              "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                  # a transparent color.
+                                "themeColor": "A String", # An opaque theme color.
+                                "rgbColor": { # An RGB color. # An opaque RGB color.
+                                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                },
+                              },
+                            },
+                            "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                                # points.
+                              "magnitude": 3.14, # The magnitude.
+                              "unit": "A String", # The units for magnitude.
+                            },
+                            "underline": True or False, # Whether or not the text is underlined.
+                          },
+                          "glyph": "A String", # The rendered bullet glyph for this paragraph.
+                        },
+                      },
+                      "textRun": { # A TextElement kind that represents a run of text that all has the same # A TextElement representing a run of text where all of the characters
+                          # in the run have the same TextStyle.
+                          #
+                          # The `start_index` and `end_index` of TextRuns will always be fully
+                          # contained in the index range of a single `paragraph_marker` TextElement.
+                          # In other words, a TextRun will never span multiple paragraphs.
+                          # styling.
+                        "content": "A String", # The text of this run.
+                        "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this run.
+                            #
+                            # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                            # inherited from the parent. Which text styles are inherited depend on the
+                            # nesting level of lists:
+                            #
+                            # * A text run in a paragraph that is not in a list will inherit its text style
+                            #   from the the newline character in the paragraph at the 0 nesting level of
+                            #   the list inside the parent placeholder.
+                            # * A text run in a paragraph that is in a list will inherit its text style
+                            #   from the newline character in the paragraph at its corresponding nesting
+                            #   level of the list inside the parent placeholder.
+                            #
+                            # Inherited text styles are represented as unset fields in this message. If
+                            # text is contained in a shape without a parent placeholder, unsetting these
+                            # fields will revert the style to a value matching the defaults in the Slides
+                            # editor.
+                          "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                              # transparent, depending on if the `opaque_color` field in it is set.
+                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                # a transparent color.
+                              "themeColor": "A String", # An opaque theme color.
+                              "rgbColor": { # An RGB color. # An opaque RGB color.
+                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                              },
+                            },
+                          },
+                          "bold": True or False, # Whether or not the text is rendered as bold.
+                          "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                              #
+                              # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                              # rendered in a smaller font size, computed based on the `font_size` field.
+                              # The `font_size` itself is not affected by changes in this field.
+                          "strikethrough": True or False, # Whether or not the text is struck through.
+                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                              #
+                              # This field is an extension of `font_family` meant to support explicit font
+                              # weights without breaking backwards compatibility. As such, when reading the
+                              # style of a range of text, the value of `weighted_font_family#font_family`
+                              # will always be equal to that of `font_family`. However, when writing, if
+                              # both fields are included in the field mask (either explicitly or through
+                              # the wildcard `"*"`), their values are reconciled as follows:
+                              #
+                              # * If `font_family` is set and `weighted_font_family` is not, the value of
+                              #   `font_family` is applied with weight `400` ("normal").
+                              # * If both fields are set, the value of `font_family` must match that of
+                              #   `weighted_font_family#font_family`. If so, the font family and weight of
+                              #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                              #   returned.
+                              # * If `weighted_font_family` is set and `font_family` is not, the font
+                              #   family and weight of `weighted_font_family` is applied.
+                              # * If neither field is set, the font family and weight of the text inherit
+                              #   from the parent. Note that these properties cannot inherit separately
+                              #   from each other.
+                              #
+                              # If an update request specifies values for both `weighted_font_family` and
+                              # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                              #
+                              # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                              #
+                              # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                              # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                              # is returned.
+                            "fontFamily": "A String", # The font family of the text.
+                                #
+                                # The font family can be any font from the Font menu in Slides or from
+                                # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                # unrecognized, the text is rendered in `Arial`.
+                            "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                                # multiple of `100` between `100` and `900`, inclusive. This range
+                                # corresponds to the numerical values described in the CSS 2.1
+                                # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                # with non-numerical values disallowed. Weights greater than or equal to
+                                # `700` are considered bold, and weights less than `700`are not bold. The
+                                # default value is `400` ("normal").
+                          },
+                          "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                          "fontFamily": "A String", # The font family of the text.
+                              #
+                              # The font family can be any font from the Font menu in Slides or from
+                              # [Google Fonts] (https://fonts.google.com/). If the font name is
+                              # unrecognized, the text is rendered in `Arial`.
+                              #
+                              # Some fonts can affect the weight of the text. If an update request
+                              # specifies values for both `font_family` and `bold`, the explicitly-set
+                              # `bold` value is used.
+                          "italic": True or False, # Whether or not the text is italicized.
+                          "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                              # are not inherited from parent text.
+                              #
+                              # Changing the link in an update request causes some other changes to the
+                              # text style of the range:
+                              #
+                              # * When setting a link, the text foreground color will be set to
+                              #   ThemeColorType.HYPERLINK and the text will
+                              #   be underlined. If these fields are modified in the same
+                              #   request, those values will be used instead of the link defaults.
+                              # * Setting a link on a text range that overlaps with an existing link will
+                              #   also update the existing link to point to the new URL.
+                              # * Links are not settable on newline characters. As a result, setting a link
+                              #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                              #   will separate the newline character(s) into their own text runs. The
+                              #   link will be applied separately to the runs before and after the newline.
+                              # * Removing a link will update the text style of the range to match the
+                              #   style of the preceding text (or the default text styles if the preceding
+                              #   text is another link) unless different styles are being set in the same
+                              #   request.
+                            "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                            "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                                # in the presentation. There may not be a slide at this index.
+                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                # presentation with this ID. A page with this ID may not exist.
+                            "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                                # addressed by its position.
+                          },
+                          "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                              # transparent, depending on if the `opaque_color` field in it is set.
+                            "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                # a transparent color.
+                              "themeColor": "A String", # An opaque theme color.
+                              "rgbColor": { # An RGB color. # An opaque RGB color.
+                                "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                              },
+                            },
+                          },
+                          "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                              # points.
+                            "magnitude": 3.14, # The magnitude.
+                            "unit": "A String", # The units for magnitude.
+                          },
+                          "underline": True or False, # Whether or not the text is underlined.
+                        },
+                      },
+                    },
+                  ],
+                },
+                "shapeProperties": { # The properties of a Shape. # The properties of the shape.
+                    #
+                    # If the shape is a placeholder shape as determined by the
+                    # placeholder field, then these
+                    # properties may be inherited from a parent placeholder shape.
+                    # Determining the rendered value of the property depends on the corresponding
+                    # property_state field value.
+                  "shadow": { # The shadow properties of a page element. # The shadow properties of the shape. If unset, the shadow is inherited from
+                      # a parent placeholder if it exists. If the shape has no parent, then the
+                      # default shadow matches the defaults for new shapes created in the Slides
+                      # editor. This property is read-only.
+                      #
+                      # If these fields are unset, they may be inherited from a parent placeholder
+                      # if it exists. If there is no parent, the fields will default to the value
+                      # used for new page elements created in the Slides editor, which may depend on
+                      # the page element kind.
+                    "color": { # A themeable solid color value. # The shadow color value.
+                      "themeColor": "A String", # An opaque theme color.
+                      "rgbColor": { # An RGB color. # An opaque RGB color.
+                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                      },
+                    },
+                    "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # Transform that encodes the translate, scale, and skew of the shadow,
+                        # relative to the alignment position.
+                        # to transform source coordinates (x,y) into destination coordinates (x', y')
+                        # according to:
+                        #
+                        #       x'  x  =   shear_y  scale_y  translate_y
+                        #       1  [ 1 ]
+                        #
+                        # After transformation,
+                        #
+                        #      x' = scale_x * x + shear_x * y + translate_x;
+                        #      y' = scale_y * y + shear_y * x + translate_y;
+                        #
+                        # This message is therefore composed of these six matrix elements.
+                      "translateX": 3.14, # The X coordinate translation element.
+                      "translateY": 3.14, # The Y coordinate translation element.
+                      "scaleX": 3.14, # The X coordinate scaling element.
+                      "scaleY": 3.14, # The Y coordinate scaling element.
+                      "shearY": 3.14, # The Y coordinate shearing element.
+                      "shearX": 3.14, # The X coordinate shearing element.
+                      "unit": "A String", # The units for translate elements.
+                    },
+                    "propertyState": "A String", # The shadow property state.
+                        #
+                        # Updating the the shadow on a page element will implicitly update this field
+                        # to `RENDERED`, unless another value is specified in the same request. To
+                        # have no shadow on a page element, set this field to `NOT_RENDERED`. In this
+                        # case, any other shadow fields set in the same request will be ignored.
+                    "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the
+                        # shadow becomes.
+                      "magnitude": 3.14, # The magnitude.
+                      "unit": "A String", # The units for magnitude.
+                    },
+                    "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0.
+                    "type": "A String", # The type of the shadow.
+                    "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate,
+                        # scale and skew of the shadow.
+                    "rotateWithShape": True or False, # Whether the shadow should rotate with the shape.
+                  },
+                  "shapeBackgroundFill": { # The shape background fill. # The background fill of the shape. If unset, the background fill is
+                      # inherited from a parent placeholder if it exists. If the shape has no
+                      # parent, then the default background fill depends on the shape type,
+                      # matching the defaults for new shapes created in the Slides editor.
+                    "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                        # specified color value.
+                        #
+                        # If any field is unset, its value may be inherited from a parent placeholder
+                        # if it exists.
+                      "color": { # A themeable solid color value. # The color value of the solid fill.
+                        "themeColor": "A String", # An opaque theme color.
+                        "rgbColor": { # An RGB color. # An opaque RGB color.
+                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                        },
+                      },
+                      "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                          # That is, the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color.
+                    },
+                    "propertyState": "A String", # The background fill property state.
+                        #
+                        # Updating the the fill on a shape will implicitly update this field to
+                        # `RENDERED`, unless another value is specified in the same request. To
+                        # have no fill on a shape, set this field to `NOT_RENDERED`. In this case,
+                        # any other fill fields set in the same request will be ignored.
+                  },
+                  "link": { # A hypertext link. # The hyperlink destination of the shape. If unset, there is no link. Links
+                      # are not inherited from parent placeholders.
+                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                        # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
+                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                        # addressed by its position.
+                  },
+                  "outline": { # The outline of a PageElement. # The outline of the shape. If unset, the outline is inherited from a
+                      # parent placeholder if it exists. If the shape has no parent, then the
+                      # default outline depends on the shape type, matching the defaults for
+                      # new shapes created in the Slides editor.
+                      #
+                      # If these fields are unset, they may be inherited from a parent placeholder
+                      # if it exists. If there is no parent, the fields will default to the value
+                      # used for new page elements created in the Slides editor, which may depend on
+                      # the page element kind.
+                    "outlineFill": { # The fill of the outline. # The fill of the outline.
+                      "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                          # specified color value.
+                          #
+                          # If any field is unset, its value may be inherited from a parent placeholder
+                          # if it exists.
+                        "color": { # A themeable solid color value. # The color value of the solid fill.
+                          "themeColor": "A String", # An opaque theme color.
+                          "rgbColor": { # An RGB color. # An opaque RGB color.
+                            "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                            "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                            "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                          },
+                        },
+                        "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                            # That is, the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color.
+                      },
+                    },
+                    "propertyState": "A String", # The outline property state.
+                        #
+                        # Updating the the outline on a page element will implicitly update this
+                        # field to`RENDERED`, unless another value is specified in the same request.
+                        # To have no outline on a page element, set this field to `NOT_RENDERED`. In
+                        # this case, any other outline fields set in the same request will be
+                        # ignored.
+                    "dashStyle": "A String", # The dash style of the outline.
+                    "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
+                      "magnitude": 3.14, # The magnitude.
+                      "unit": "A String", # The units for magnitude.
+                    },
+                  },
+                },
+                "placeholder": { # The placeholder information that uniquely identifies a placeholder shape. # Placeholders are shapes that are inherit from corresponding placeholders on
+                    # layouts and masters.
+                    #
+                    # If set, the shape is a placeholder shape and any inherited properties
+                    # can be resolved by looking at the parent placeholder identified by the
+                    # Placeholder.parent_object_id field.
+                  "parentObjectId": "A String", # The object ID of this shape's parent placeholder.
+                      # If unset, the parent placeholder shape does not exist, so the shape does
+                      # not inherit properties from any other shape.
+                  "index": 42, # The index of the placeholder. If the same placeholder types are present in
+                      # the same page, they would have different index values.
+                  "type": "A String", # The type of the placeholder.
+                },
+                "shapeType": "A String", # The type of the shape.
+              },
+              "sheetsChart": { # A PageElement kind representing # A linked chart embedded from Google Sheets. Unlinked charts are
+                  # represented as images.
+                  # a linked chart embedded from Google Sheets.
+                "contentUrl": "A String", # The URL of an image of the embedded chart, with a default lifetime of 30
+                    # minutes. This URL is tagged with the account of the requester. Anyone with
+                    # the URL effectively accesses the image as the original requester. Access to
+                    # the image may be lost if the presentation's sharing settings change.
+                "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
+                "sheetsChartProperties": { # The properties of the SheetsChart. # The properties of the Sheets chart.
+                  "chartImageProperties": { # The properties of the Image. # The properties of the embedded chart image.
+                    "outline": { # The outline of a PageElement. # The outline of the image. If not set, the the image has no outline.
+                        #
+                        # If these fields are unset, they may be inherited from a parent placeholder
+                        # if it exists. If there is no parent, the fields will default to the value
+                        # used for new page elements created in the Slides editor, which may depend on
+                        # the page element kind.
+                      "outlineFill": { # The fill of the outline. # The fill of the outline.
+                        "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                            # specified color value.
+                            #
+                            # If any field is unset, its value may be inherited from a parent placeholder
+                            # if it exists.
+                          "color": { # A themeable solid color value. # The color value of the solid fill.
+                            "themeColor": "A String", # An opaque theme color.
+                            "rgbColor": { # An RGB color. # An opaque RGB color.
+                              "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                              "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                              "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                            },
+                          },
+                          "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                              # That is, the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color.
+                        },
+                      },
+                      "propertyState": "A String", # The outline property state.
+                          #
+                          # Updating the the outline on a page element will implicitly update this
+                          # field to`RENDERED`, unless another value is specified in the same request.
+                          # To have no outline on a page element, set this field to `NOT_RENDERED`. In
+                          # this case, any other outline fields set in the same request will be
+                          # ignored.
+                      "dashStyle": "A String", # The dash style of the outline.
+                      "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
+                        "magnitude": 3.14, # The magnitude.
+                        "unit": "A String", # The units for magnitude.
+                      },
+                    },
+                    "brightness": 3.14, # The brightness effect of the image. The value should be in the interval
+                        # [-1.0, 1.0], where 0 means no effect. This property is read-only.
+                    "recolor": { # A recolor effect applied on an image. # The recolor effect of the image. If not set, the image is not recolored.
+                        # This property is read-only.
+                      "recolorStops": [ # The recolor effect is represented by a gradient, which is a list of color
+                          # stops.
+                          #
+                          # The colors in the gradient will replace the corresponding colors at
+                          # the same position in the color palette and apply to the image. This
+                          # property is read-only.
+                        { # A color and position in a gradient band.
+                          "color": { # A themeable solid color value. # The color of the gradient stop.
+                            "themeColor": "A String", # An opaque theme color.
+                            "rgbColor": { # An RGB color. # An opaque RGB color.
+                              "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                              "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                              "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                            },
+                          },
+                          "alpha": 3.14, # The alpha value of this color in the gradient band. Defaults to 1.0,
+                              # fully opaque.
+                          "position": 3.14, # The relative position of the color stop in the gradient band measured
+                              # in percentage. The value should be in the interval [0.0, 1.0].
+                        },
+                      ],
+                      "name": "A String", # The name of the recolor effect.
+                          #
+                          # The name is determined from the `recolor_stops` by matching the gradient
+                          # against the colors in the page's current color scheme. This property is
+                          # read-only.
+                    },
+                    "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
+                      "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                      "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                          # in the presentation. There may not be a slide at this index.
+                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                          # presentation with this ID. A page with this ID may not exist.
+                      "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                          # addressed by its position.
+                    },
+                    "transparency": 3.14, # The transparency effect of the image. The value should be in the interval
+                        # [0.0, 1.0], where 0 means no effect and 1 means completely transparent.
+                        # This property is read-only.
+                    "cropProperties": { # The crop properties of an object enclosed in a container. For example, an # The crop properties of the image. If not set, the image is not cropped.
+                        # This property is read-only.
+                        # Image.
+                        #
+                        # The crop properties is represented by the offsets of four edges which define
+                        # a crop rectangle. The offsets are measured in percentage from the
+                        # corresponding edges of the object's original bounding rectangle towards
+                        # inside, relative to the object's original dimensions.
+                        #
+                        # - If the offset is in the interval (0, 1), the corresponding edge of crop
+                        # rectangle is positioned inside of the object's original bounding rectangle.
+                        # - If the offset is negative or greater than 1, the corresponding edge of crop
+                        # rectangle is positioned outside of the object's original bounding rectangle.
+                        # - If the left edge of the crop rectangle is on the right side of its right
+                        # edge, the object will be flipped horizontally.
+                        # - If the top edge of the crop rectangle is below its bottom edge, the object
+                        # will be flipped vertically.
+                        # - If all offsets and rotation angle is 0, the object is not cropped.
+                        #
+                        # After cropping, the content in the crop rectangle will be stretched to fit
+                        # its container.
+                      "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
+                          # the right of the original bounding rectangle left edge, relative to the
+                          # object's original width.
+                      "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
+                          # Rotation angle is applied after the offset.
+                      "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
+                          # to the left of the original bounding rectangle right edge, relative to the
+                          # object's original width.
+                      "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                          # above the original bounding rectangle bottom edge, relative to the object's
+                          # original height.
+                      "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                          # below the original bounding rectangle top edge, relative to the object's
+                          # original height.
+                    },
+                    "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
+                        # is read-only.
+                        #
+                        # If these fields are unset, they may be inherited from a parent placeholder
+                        # if it exists. If there is no parent, the fields will default to the value
+                        # used for new page elements created in the Slides editor, which may depend on
+                        # the page element kind.
+                      "color": { # A themeable solid color value. # The shadow color value.
+                        "themeColor": "A String", # An opaque theme color.
+                        "rgbColor": { # An RGB color. # An opaque RGB color.
+                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                        },
+                      },
+                      "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] # Transform that encodes the translate, scale, and skew of the shadow,
+                          # relative to the alignment position.
+                          # to transform source coordinates (x,y) into destination coordinates (x', y')
+                          # according to:
+                          #
+                          #       x'  x  =   shear_y  scale_y  translate_y
+                          #       1  [ 1 ]
+                          #
+                          # After transformation,
+                          #
+                          #      x' = scale_x * x + shear_x * y + translate_x;
+                          #      y' = scale_y * y + shear_y * x + translate_y;
+                          #
+                          # This message is therefore composed of these six matrix elements.
+                        "translateX": 3.14, # The X coordinate translation element.
+                        "translateY": 3.14, # The Y coordinate translation element.
+                        "scaleX": 3.14, # The X coordinate scaling element.
+                        "scaleY": 3.14, # The Y coordinate scaling element.
+                        "shearY": 3.14, # The Y coordinate shearing element.
+                        "shearX": 3.14, # The X coordinate shearing element.
+                        "unit": "A String", # The units for translate elements.
+                      },
+                      "propertyState": "A String", # The shadow property state.
+                          #
+                          # Updating the the shadow on a page element will implicitly update this field
+                          # to `RENDERED`, unless another value is specified in the same request. To
+                          # have no shadow on a page element, set this field to `NOT_RENDERED`. In this
+                          # case, any other shadow fields set in the same request will be ignored.
+                      "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the
+                          # shadow becomes.
+                        "magnitude": 3.14, # The magnitude.
+                        "unit": "A String", # The units for magnitude.
+                      },
+                      "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0.
+                      "type": "A String", # The type of the shadow.
+                      "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate,
+                          # scale and skew of the shadow.
+                      "rotateWithShape": True or False, # Whether the shadow should rotate with the shape.
+                    },
+                    "contrast": 3.14, # The contrast effect of the image. The value should be in the interval
+                        # [-1.0, 1.0], where 0 means no effect. This property is read-only.
+                  },
+                },
+                "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
+                    # embedded.
+              },
+              "video": { # A PageElement kind representing a # A video page element.
+                  # video.
+                "url": "A String", # An URL to a video. The URL is valid as long as the source video
+                    # exists and sharing settings do not change.
+                "videoProperties": { # The properties of the Video. # The properties of the video.
+                  "outline": { # The outline of a PageElement. # The outline of the video. The default outline matches the defaults for new
+                      # videos created in the Slides editor.
+                      #
+                      # If these fields are unset, they may be inherited from a parent placeholder
+                      # if it exists. If there is no parent, the fields will default to the value
+                      # used for new page elements created in the Slides editor, which may depend on
+                      # the page element kind.
+                    "outlineFill": { # The fill of the outline. # The fill of the outline.
+                      "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                          # specified color value.
+                          #
+                          # If any field is unset, its value may be inherited from a parent placeholder
+                          # if it exists.
+                        "color": { # A themeable solid color value. # The color value of the solid fill.
+                          "themeColor": "A String", # An opaque theme color.
+                          "rgbColor": { # An RGB color. # An opaque RGB color.
+                            "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                            "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                            "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                          },
+                        },
+                        "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                            # That is, the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color.
+                      },
+                    },
+                    "propertyState": "A String", # The outline property state.
+                        #
+                        # Updating the the outline on a page element will implicitly update this
+                        # field to`RENDERED`, unless another value is specified in the same request.
+                        # To have no outline on a page element, set this field to `NOT_RENDERED`. In
+                        # this case, any other outline fields set in the same request will be
+                        # ignored.
+                    "dashStyle": "A String", # The dash style of the outline.
+                    "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline.
+                      "magnitude": 3.14, # The magnitude.
+                      "unit": "A String", # The units for magnitude.
+                    },
+                  },
+                },
+                "id": "A String", # The video source's unique identifier for this video.
+                "source": "A String", # The video source.
+              },
+              "elementGroup": { # A PageElement kind representing a # A collection of page elements joined as a single unit.
+                  # joined collection of PageElements.
+                "children": [ # The collection of elements in the group. The minimum size of a group is 2.
+                  # Object with schema name: PageElement
+                ],
+              },
+              "table": { # A PageElement kind representing a # A table page element.
+                  # table.
+                "tableColumns": [ # Properties of each column.
+                  { # Properties of each column in a table.
+                    "columnWidth": { # A magnitude in a single direction in the specified units. # Width of a column.
+                      "magnitude": 3.14, # The magnitude.
+                      "unit": "A String", # The units for magnitude.
+                    },
+                  },
+                ],
+                "tableRows": [ # Properties and contents of each row.
+                    #
+                    # Cells that span multiple rows are contained in only one of these rows and
+                    # have a row_span greater
+                    # than 1.
+                  { # Properties and contents of each row in a table.
+                    "tableCells": [ # Properties and contents of each cell.
+                        #
+                        # Cells that span multiple columns are represented only once with a
+                        # column_span greater
+                        # than 1. As a result, the length of this collection does not always match
+                        # the number of columns of the entire table.
+                      { # Properties and contents of each table cell.
+                        "text": { # The general text content. The text must reside in a compatible shape (e.g. # The text content of the cell.
+                            # text box or rectangle) or a table cell in a page.
+                          "lists": { # The bulleted lists contained in this text, keyed by list ID.
+                            "a_key": { # A List describes the look and feel of bullets belonging to paragraphs
+                                # associated with a list. A paragraph that is part of a list has an implicit
+                                # reference to that list's ID.
+                              "nestingLevel": { # A map of nesting levels to the properties of bullets at the associated
+                                  # level. A list has at most nine levels of nesting, so the possible values
+                                  # for the keys of this map are 0 through 8, inclusive.
+                                "a_key": { # Contains properties describing the look and feel of a list bullet at a given
+                                    # level of nesting.
+                                  "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The style of a bullet at this level of nesting.
+                                      #
+                                      # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                                      # inherited from the parent. Which text styles are inherited depend on the
+                                      # nesting level of lists:
+                                      #
+                                      # * A text run in a paragraph that is not in a list will inherit its text style
+                                      #   from the the newline character in the paragraph at the 0 nesting level of
+                                      #   the list inside the parent placeholder.
+                                      # * A text run in a paragraph that is in a list will inherit its text style
+                                      #   from the newline character in the paragraph at its corresponding nesting
+                                      #   level of the list inside the parent placeholder.
+                                      #
+                                      # Inherited text styles are represented as unset fields in this message. If
+                                      # text is contained in a shape without a parent placeholder, unsetting these
+                                      # fields will revert the style to a value matching the defaults in the Slides
+                                      # editor.
+                                    "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                                        # transparent, depending on if the `opaque_color` field in it is set.
+                                      "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                          # a transparent color.
+                                        "themeColor": "A String", # An opaque theme color.
+                                        "rgbColor": { # An RGB color. # An opaque RGB color.
+                                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                        },
+                                      },
+                                    },
+                                    "bold": True or False, # Whether or not the text is rendered as bold.
+                                    "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                                        #
+                                        # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                                        # rendered in a smaller font size, computed based on the `font_size` field.
+                                        # The `font_size` itself is not affected by changes in this field.
+                                    "strikethrough": True or False, # Whether or not the text is struck through.
+                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                                        #
+                                        # This field is an extension of `font_family` meant to support explicit font
+                                        # weights without breaking backwards compatibility. As such, when reading the
+                                        # style of a range of text, the value of `weighted_font_family#font_family`
+                                        # will always be equal to that of `font_family`. However, when writing, if
+                                        # both fields are included in the field mask (either explicitly or through
+                                        # the wildcard `"*"`), their values are reconciled as follows:
+                                        #
+                                        # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                        #   `font_family` is applied with weight `400` ("normal").
+                                        # * If both fields are set, the value of `font_family` must match that of
+                                        #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                        #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                        #   returned.
+                                        # * If `weighted_font_family` is set and `font_family` is not, the font
+                                        #   family and weight of `weighted_font_family` is applied.
+                                        # * If neither field is set, the font family and weight of the text inherit
+                                        #   from the parent. Note that these properties cannot inherit separately
+                                        #   from each other.
+                                        #
+                                        # If an update request specifies values for both `weighted_font_family` and
+                                        # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                        #
+                                        # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                        #
+                                        # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                        # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                        # is returned.
+                                      "fontFamily": "A String", # The font family of the text.
+                                          #
+                                          # The font family can be any font from the Font menu in Slides or from
+                                          # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                          # unrecognized, the text is rendered in `Arial`.
+                                      "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                                          # multiple of `100` between `100` and `900`, inclusive. This range
+                                          # corresponds to the numerical values described in the CSS 2.1
+                                          # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                          # with non-numerical values disallowed. Weights greater than or equal to
+                                          # `700` are considered bold, and weights less than `700`are not bold. The
+                                          # default value is `400` ("normal").
+                                    },
+                                    "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                                    "fontFamily": "A String", # The font family of the text.
+                                        #
+                                        # The font family can be any font from the Font menu in Slides or from
+                                        # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                        # unrecognized, the text is rendered in `Arial`.
+                                        #
+                                        # Some fonts can affect the weight of the text. If an update request
+                                        # specifies values for both `font_family` and `bold`, the explicitly-set
+                                        # `bold` value is used.
+                                    "italic": True or False, # Whether or not the text is italicized.
+                                    "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                                        # are not inherited from parent text.
+                                        #
+                                        # Changing the link in an update request causes some other changes to the
+                                        # text style of the range:
+                                        #
+                                        # * When setting a link, the text foreground color will be set to
+                                        #   ThemeColorType.HYPERLINK and the text will
+                                        #   be underlined. If these fields are modified in the same
+                                        #   request, those values will be used instead of the link defaults.
+                                        # * Setting a link on a text range that overlaps with an existing link will
+                                        #   also update the existing link to point to the new URL.
+                                        # * Links are not settable on newline characters. As a result, setting a link
+                                        #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                                        #   will separate the newline character(s) into their own text runs. The
+                                        #   link will be applied separately to the runs before and after the newline.
+                                        # * Removing a link will update the text style of the range to match the
+                                        #   style of the preceding text (or the default text styles if the preceding
+                                        #   text is another link) unless different styles are being set in the same
+                                        #   request.
+                                      "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                                      "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                                          # in the presentation. There may not be a slide at this index.
+                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                          # presentation with this ID. A page with this ID may not exist.
+                                      "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                                          # addressed by its position.
+                                    },
+                                    "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                                        # transparent, depending on if the `opaque_color` field in it is set.
+                                      "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                          # a transparent color.
+                                        "themeColor": "A String", # An opaque theme color.
+                                        "rgbColor": { # An RGB color. # An opaque RGB color.
+                                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                        },
+                                      },
+                                    },
+                                    "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                                        # points.
+                                      "magnitude": 3.14, # The magnitude.
+                                      "unit": "A String", # The units for magnitude.
+                                    },
+                                    "underline": True or False, # Whether or not the text is underlined.
+                                  },
+                                },
+                              },
+                              "listId": "A String", # The ID of the list.
+                            },
+                          },
+                          "textElements": [ # The text contents broken down into its component parts, including styling
+                              # information. This property is read-only.
+                            { # A TextElement describes the content of a range of indices in the text content
+                                # of a Shape or TableCell.
+                              "autoText": { # A TextElement kind that represents auto text. # A TextElement representing a spot in the text that is dynamically
+                                  # replaced with content that can change over time.
+                                "content": "A String", # The rendered content of this auto text, if available.
+                                "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this auto text.
+                                    #
+                                    # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                                    # inherited from the parent. Which text styles are inherited depend on the
+                                    # nesting level of lists:
+                                    #
+                                    # * A text run in a paragraph that is not in a list will inherit its text style
+                                    #   from the the newline character in the paragraph at the 0 nesting level of
+                                    #   the list inside the parent placeholder.
+                                    # * A text run in a paragraph that is in a list will inherit its text style
+                                    #   from the newline character in the paragraph at its corresponding nesting
+                                    #   level of the list inside the parent placeholder.
+                                    #
+                                    # Inherited text styles are represented as unset fields in this message. If
+                                    # text is contained in a shape without a parent placeholder, unsetting these
+                                    # fields will revert the style to a value matching the defaults in the Slides
+                                    # editor.
+                                  "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                                      # transparent, depending on if the `opaque_color` field in it is set.
+                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                        # a transparent color.
+                                      "themeColor": "A String", # An opaque theme color.
+                                      "rgbColor": { # An RGB color. # An opaque RGB color.
+                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                      },
+                                    },
+                                  },
+                                  "bold": True or False, # Whether or not the text is rendered as bold.
+                                  "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                                      #
+                                      # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                                      # rendered in a smaller font size, computed based on the `font_size` field.
+                                      # The `font_size` itself is not affected by changes in this field.
+                                  "strikethrough": True or False, # Whether or not the text is struck through.
+                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                                      #
+                                      # This field is an extension of `font_family` meant to support explicit font
+                                      # weights without breaking backwards compatibility. As such, when reading the
+                                      # style of a range of text, the value of `weighted_font_family#font_family`
+                                      # will always be equal to that of `font_family`. However, when writing, if
+                                      # both fields are included in the field mask (either explicitly or through
+                                      # the wildcard `"*"`), their values are reconciled as follows:
+                                      #
+                                      # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                      #   `font_family` is applied with weight `400` ("normal").
+                                      # * If both fields are set, the value of `font_family` must match that of
+                                      #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                      #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                      #   returned.
+                                      # * If `weighted_font_family` is set and `font_family` is not, the font
+                                      #   family and weight of `weighted_font_family` is applied.
+                                      # * If neither field is set, the font family and weight of the text inherit
+                                      #   from the parent. Note that these properties cannot inherit separately
+                                      #   from each other.
+                                      #
+                                      # If an update request specifies values for both `weighted_font_family` and
+                                      # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                      #
+                                      # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                      #
+                                      # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                      # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                      # is returned.
+                                    "fontFamily": "A String", # The font family of the text.
+                                        #
+                                        # The font family can be any font from the Font menu in Slides or from
+                                        # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                        # unrecognized, the text is rendered in `Arial`.
+                                    "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                                        # multiple of `100` between `100` and `900`, inclusive. This range
+                                        # corresponds to the numerical values described in the CSS 2.1
+                                        # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                        # with non-numerical values disallowed. Weights greater than or equal to
+                                        # `700` are considered bold, and weights less than `700`are not bold. The
+                                        # default value is `400` ("normal").
+                                  },
+                                  "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                                  "fontFamily": "A String", # The font family of the text.
+                                      #
+                                      # The font family can be any font from the Font menu in Slides or from
+                                      # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                      # unrecognized, the text is rendered in `Arial`.
+                                      #
+                                      # Some fonts can affect the weight of the text. If an update request
+                                      # specifies values for both `font_family` and `bold`, the explicitly-set
+                                      # `bold` value is used.
+                                  "italic": True or False, # Whether or not the text is italicized.
+                                  "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                                      # are not inherited from parent text.
+                                      #
+                                      # Changing the link in an update request causes some other changes to the
+                                      # text style of the range:
+                                      #
+                                      # * When setting a link, the text foreground color will be set to
+                                      #   ThemeColorType.HYPERLINK and the text will
+                                      #   be underlined. If these fields are modified in the same
+                                      #   request, those values will be used instead of the link defaults.
+                                      # * Setting a link on a text range that overlaps with an existing link will
+                                      #   also update the existing link to point to the new URL.
+                                      # * Links are not settable on newline characters. As a result, setting a link
+                                      #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                                      #   will separate the newline character(s) into their own text runs. The
+                                      #   link will be applied separately to the runs before and after the newline.
+                                      # * Removing a link will update the text style of the range to match the
+                                      #   style of the preceding text (or the default text styles if the preceding
+                                      #   text is another link) unless different styles are being set in the same
+                                      #   request.
+                                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                                        # in the presentation. There may not be a slide at this index.
+                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                        # presentation with this ID. A page with this ID may not exist.
+                                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                                        # addressed by its position.
+                                  },
+                                  "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                                      # transparent, depending on if the `opaque_color` field in it is set.
+                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                        # a transparent color.
+                                      "themeColor": "A String", # An opaque theme color.
+                                      "rgbColor": { # An RGB color. # An opaque RGB color.
+                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                      },
+                                    },
+                                  },
+                                  "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                                      # points.
+                                    "magnitude": 3.14, # The magnitude.
+                                    "unit": "A String", # The units for magnitude.
+                                  },
+                                  "underline": True or False, # Whether or not the text is underlined.
+                                },
+                                "type": "A String", # The type of this auto text.
+                              },
+                              "endIndex": 42, # The zero-based end index of this text element, exclusive, in Unicode code
+                                  # units.
+                              "startIndex": 42, # The zero-based start index of this text element, in Unicode code units.
+                              "paragraphMarker": { # A TextElement kind that represents the beginning of a new paragraph. # A marker representing the beginning of a new paragraph.
+                                  #
+                                  # The `start_index` and `end_index` of this TextElement represent the
+                                  # range of the paragraph. Other TextElements with an index range contained
+                                  # inside this paragraph's range are considered to be part of this
+                                  # paragraph. The range of indices of two separate paragraphs will never
+                                  # overlap.
+                                "style": { # Styles that apply to a whole paragraph. # The paragraph's style
+                                    #
+                                    # If this text is contained in a shape with a parent placeholder, then these paragraph styles may be
+                                    # inherited from the parent. Which paragraph styles are inherited depend on the
+                                    # nesting level of lists:
+                                    #
+                                    # * A paragraph not in a list will inherit its paragraph style from the
+                                    #   paragraph at the 0 nesting level of the list inside the parent placeholder.
+                                    # * A paragraph in a list will inherit its paragraph style from the paragraph
+                                    #   at its corresponding nesting level of the list inside the parent
+                                    #   placeholder.
+                                    #
+                                    # Inherited paragraph styles are represented as unset fields in this message.
+                                  "spacingMode": "A String", # The spacing mode for the paragraph.
+                                  "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
+                                      # LEFT_TO_RIGHT since
+                                      # text direction is not inherited.
+                                  "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
+                                      # inherited from the parent.
+                                    "magnitude": 3.14, # The magnitude.
+                                    "unit": "A String", # The units for magnitude.
+                                  },
+                                  "lineSpacing": 3.14, # The amount of space between lines, as a percentage of normal, where normal
+                                      # is represented as 100.0. If unset, the value is inherited from the parent.
+                                  "indentStart": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
+                                      # the start of the text, based on the current text direction. If unset, the
+                                      # value is inherited from the parent.
+                                    "magnitude": 3.14, # The magnitude.
+                                    "unit": "A String", # The units for magnitude.
+                                  },
+                                  "spaceAbove": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
+                                      # inherited from the parent.
+                                    "magnitude": 3.14, # The magnitude.
+                                    "unit": "A String", # The units for magnitude.
+                                  },
+                                  "indentEnd": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to
+                                      # the end of the text, based on the current text direction. If unset, the
+                                      # value is inherited from the parent.
+                                    "magnitude": 3.14, # The magnitude.
+                                    "unit": "A String", # The units for magnitude.
+                                  },
+                                  "indentFirstLine": { # A magnitude in a single direction in the specified units. # The amount of indentation for the start of the first line of the paragraph.
+                                      # If unset, the value is inherited from the parent.
+                                    "magnitude": 3.14, # The magnitude.
+                                    "unit": "A String", # The units for magnitude.
+                                  },
+                                  "alignment": "A String", # The text alignment for this paragraph.
+                                },
+                                "bullet": { # Describes the bullet of a paragraph. # The bullet for this paragraph. If not present, the paragraph does not
+                                    # belong to a list.
+                                  "nestingLevel": 42, # The nesting level of this paragraph in the list.
+                                  "listId": "A String", # The ID of the list this paragraph belongs to.
+                                  "bulletStyle": { # Represents the styling that can be applied to a TextRun. # The paragraph specific text style applied to this bullet.
+                                      #
+                                      # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                                      # inherited from the parent. Which text styles are inherited depend on the
+                                      # nesting level of lists:
+                                      #
+                                      # * A text run in a paragraph that is not in a list will inherit its text style
+                                      #   from the the newline character in the paragraph at the 0 nesting level of
+                                      #   the list inside the parent placeholder.
+                                      # * A text run in a paragraph that is in a list will inherit its text style
+                                      #   from the newline character in the paragraph at its corresponding nesting
+                                      #   level of the list inside the parent placeholder.
+                                      #
+                                      # Inherited text styles are represented as unset fields in this message. If
+                                      # text is contained in a shape without a parent placeholder, unsetting these
+                                      # fields will revert the style to a value matching the defaults in the Slides
+                                      # editor.
+                                    "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                                        # transparent, depending on if the `opaque_color` field in it is set.
+                                      "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                          # a transparent color.
+                                        "themeColor": "A String", # An opaque theme color.
+                                        "rgbColor": { # An RGB color. # An opaque RGB color.
+                                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                        },
+                                      },
+                                    },
+                                    "bold": True or False, # Whether or not the text is rendered as bold.
+                                    "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                                        #
+                                        # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                                        # rendered in a smaller font size, computed based on the `font_size` field.
+                                        # The `font_size` itself is not affected by changes in this field.
+                                    "strikethrough": True or False, # Whether or not the text is struck through.
+                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                                        #
+                                        # This field is an extension of `font_family` meant to support explicit font
+                                        # weights without breaking backwards compatibility. As such, when reading the
+                                        # style of a range of text, the value of `weighted_font_family#font_family`
+                                        # will always be equal to that of `font_family`. However, when writing, if
+                                        # both fields are included in the field mask (either explicitly or through
+                                        # the wildcard `"*"`), their values are reconciled as follows:
+                                        #
+                                        # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                        #   `font_family` is applied with weight `400` ("normal").
+                                        # * If both fields are set, the value of `font_family` must match that of
+                                        #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                        #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                        #   returned.
+                                        # * If `weighted_font_family` is set and `font_family` is not, the font
+                                        #   family and weight of `weighted_font_family` is applied.
+                                        # * If neither field is set, the font family and weight of the text inherit
+                                        #   from the parent. Note that these properties cannot inherit separately
+                                        #   from each other.
+                                        #
+                                        # If an update request specifies values for both `weighted_font_family` and
+                                        # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                        #
+                                        # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                        #
+                                        # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                        # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                        # is returned.
+                                      "fontFamily": "A String", # The font family of the text.
+                                          #
+                                          # The font family can be any font from the Font menu in Slides or from
+                                          # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                          # unrecognized, the text is rendered in `Arial`.
+                                      "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                                          # multiple of `100` between `100` and `900`, inclusive. This range
+                                          # corresponds to the numerical values described in the CSS 2.1
+                                          # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                          # with non-numerical values disallowed. Weights greater than or equal to
+                                          # `700` are considered bold, and weights less than `700`are not bold. The
+                                          # default value is `400` ("normal").
+                                    },
+                                    "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                                    "fontFamily": "A String", # The font family of the text.
+                                        #
+                                        # The font family can be any font from the Font menu in Slides or from
+                                        # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                        # unrecognized, the text is rendered in `Arial`.
+                                        #
+                                        # Some fonts can affect the weight of the text. If an update request
+                                        # specifies values for both `font_family` and `bold`, the explicitly-set
+                                        # `bold` value is used.
+                                    "italic": True or False, # Whether or not the text is italicized.
+                                    "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                                        # are not inherited from parent text.
+                                        #
+                                        # Changing the link in an update request causes some other changes to the
+                                        # text style of the range:
+                                        #
+                                        # * When setting a link, the text foreground color will be set to
+                                        #   ThemeColorType.HYPERLINK and the text will
+                                        #   be underlined. If these fields are modified in the same
+                                        #   request, those values will be used instead of the link defaults.
+                                        # * Setting a link on a text range that overlaps with an existing link will
+                                        #   also update the existing link to point to the new URL.
+                                        # * Links are not settable on newline characters. As a result, setting a link
+                                        #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                                        #   will separate the newline character(s) into their own text runs. The
+                                        #   link will be applied separately to the runs before and after the newline.
+                                        # * Removing a link will update the text style of the range to match the
+                                        #   style of the preceding text (or the default text styles if the preceding
+                                        #   text is another link) unless different styles are being set in the same
+                                        #   request.
+                                      "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                                      "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                                          # in the presentation. There may not be a slide at this index.
+                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                          # presentation with this ID. A page with this ID may not exist.
+                                      "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                                          # addressed by its position.
+                                    },
+                                    "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                                        # transparent, depending on if the `opaque_color` field in it is set.
+                                      "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                          # a transparent color.
+                                        "themeColor": "A String", # An opaque theme color.
+                                        "rgbColor": { # An RGB color. # An opaque RGB color.
+                                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                        },
+                                      },
+                                    },
+                                    "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                                        # points.
+                                      "magnitude": 3.14, # The magnitude.
+                                      "unit": "A String", # The units for magnitude.
+                                    },
+                                    "underline": True or False, # Whether or not the text is underlined.
+                                  },
+                                  "glyph": "A String", # The rendered bullet glyph for this paragraph.
+                                },
+                              },
+                              "textRun": { # A TextElement kind that represents a run of text that all has the same # A TextElement representing a run of text where all of the characters
+                                  # in the run have the same TextStyle.
+                                  #
+                                  # The `start_index` and `end_index` of TextRuns will always be fully
+                                  # contained in the index range of a single `paragraph_marker` TextElement.
+                                  # In other words, a TextRun will never span multiple paragraphs.
+                                  # styling.
+                                "content": "A String", # The text of this run.
+                                "style": { # Represents the styling that can be applied to a TextRun. # The styling applied to this run.
+                                    #
+                                    # If this text is contained in a shape with a parent placeholder, then these text styles may be
+                                    # inherited from the parent. Which text styles are inherited depend on the
+                                    # nesting level of lists:
+                                    #
+                                    # * A text run in a paragraph that is not in a list will inherit its text style
+                                    #   from the the newline character in the paragraph at the 0 nesting level of
+                                    #   the list inside the parent placeholder.
+                                    # * A text run in a paragraph that is in a list will inherit its text style
+                                    #   from the newline character in the paragraph at its corresponding nesting
+                                    #   level of the list inside the parent placeholder.
+                                    #
+                                    # Inherited text styles are represented as unset fields in this message. If
+                                    # text is contained in a shape without a parent placeholder, unsetting these
+                                    # fields will revert the style to a value matching the defaults in the Slides
+                                    # editor.
+                                  "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or
+                                      # transparent, depending on if the `opaque_color` field in it is set.
+                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                        # a transparent color.
+                                      "themeColor": "A String", # An opaque theme color.
+                                      "rgbColor": { # An RGB color. # An opaque RGB color.
+                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                      },
+                                    },
+                                  },
+                                  "bold": True or False, # Whether or not the text is rendered as bold.
+                                  "baselineOffset": "A String", # The text's vertical offset from its normal position.
+                                      #
+                                      # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
+                                      # rendered in a smaller font size, computed based on the `font_size` field.
+                                      # The `font_size` itself is not affected by changes in this field.
+                                  "strikethrough": True or False, # Whether or not the text is struck through.
+                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
+                                      #
+                                      # This field is an extension of `font_family` meant to support explicit font
+                                      # weights without breaking backwards compatibility. As such, when reading the
+                                      # style of a range of text, the value of `weighted_font_family#font_family`
+                                      # will always be equal to that of `font_family`. However, when writing, if
+                                      # both fields are included in the field mask (either explicitly or through
+                                      # the wildcard `"*"`), their values are reconciled as follows:
+                                      #
+                                      # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                      #   `font_family` is applied with weight `400` ("normal").
+                                      # * If both fields are set, the value of `font_family` must match that of
+                                      #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                      #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                      #   returned.
+                                      # * If `weighted_font_family` is set and `font_family` is not, the font
+                                      #   family and weight of `weighted_font_family` is applied.
+                                      # * If neither field is set, the font family and weight of the text inherit
+                                      #   from the parent. Note that these properties cannot inherit separately
+                                      #   from each other.
+                                      #
+                                      # If an update request specifies values for both `weighted_font_family` and
+                                      # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                      #
+                                      # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                      #
+                                      # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                      # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                      # is returned.
+                                    "fontFamily": "A String", # The font family of the text.
+                                        #
+                                        # The font family can be any font from the Font menu in Slides or from
+                                        # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                        # unrecognized, the text is rendered in `Arial`.
+                                    "weight": 42, # The rendered weight of the text. This field can have any value that is a
+                                        # multiple of `100` between `100` and `900`, inclusive. This range
+                                        # corresponds to the numerical values described in the CSS 2.1
+                                        # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                        # with non-numerical values disallowed. Weights greater than or equal to
+                                        # `700` are considered bold, and weights less than `700`are not bold. The
+                                        # default value is `400` ("normal").
+                                  },
+                                  "smallCaps": True or False, # Whether or not the text is in small capital letters.
+                                  "fontFamily": "A String", # The font family of the text.
+                                      #
+                                      # The font family can be any font from the Font menu in Slides or from
+                                      # [Google Fonts] (https://fonts.google.com/). If the font name is
+                                      # unrecognized, the text is rendered in `Arial`.
+                                      #
+                                      # Some fonts can affect the weight of the text. If an update request
+                                      # specifies values for both `font_family` and `bold`, the explicitly-set
+                                      # `bold` value is used.
+                                  "italic": True or False, # Whether or not the text is italicized.
+                                  "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links
+                                      # are not inherited from parent text.
+                                      #
+                                      # Changing the link in an update request causes some other changes to the
+                                      # text style of the range:
+                                      #
+                                      # * When setting a link, the text foreground color will be set to
+                                      #   ThemeColorType.HYPERLINK and the text will
+                                      #   be underlined. If these fields are modified in the same
+                                      #   request, those values will be used instead of the link defaults.
+                                      # * Setting a link on a text range that overlaps with an existing link will
+                                      #   also update the existing link to point to the new URL.
+                                      # * Links are not settable on newline characters. As a result, setting a link
+                                      #   on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
+                                      #   will separate the newline character(s) into their own text runs. The
+                                      #   link will be applied separately to the runs before and after the newline.
+                                      # * Removing a link will update the text style of the range to match the
+                                      #   style of the preceding text (or the default text styles if the preceding
+                                      #   text is another link) unless different styles are being set in the same
+                                      #   request.
+                                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                                        # in the presentation. There may not be a slide at this index.
+                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                        # presentation with this ID. A page with this ID may not exist.
+                                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                                        # addressed by its position.
+                                  },
+                                  "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or
+                                      # transparent, depending on if the `opaque_color` field in it is set.
+                                    "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents
+                                        # a transparent color.
+                                      "themeColor": "A String", # An opaque theme color.
+                                      "rgbColor": { # An RGB color. # An opaque RGB color.
+                                        "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                        "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                        "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                      },
+                                    },
+                                  },
+                                  "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in
+                                      # points.
+                                    "magnitude": 3.14, # The magnitude.
+                                    "unit": "A String", # The units for magnitude.
+                                  },
+                                  "underline": True or False, # Whether or not the text is underlined.
+                                },
+                              },
+                            },
+                          ],
+                        },
+                        "tableCellProperties": { # The properties of the TableCell. # The properties of the table cell.
+                          "tableCellBackgroundFill": { # The table cell background fill. # The background fill of the table cell. The default fill matches the fill
+                              # for newly created table cells in the Slides editor.
+                            "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                                # specified color value.
+                                #
+                                # If any field is unset, its value may be inherited from a parent placeholder
+                                # if it exists.
+                              "color": { # A themeable solid color value. # The color value of the solid fill.
+                                "themeColor": "A String", # An opaque theme color.
+                                "rgbColor": { # An RGB color. # An opaque RGB color.
+                                  "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                                  "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                                  "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                                },
+                              },
+                              "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                                  # That is, the final pixel color is defined by the equation:
+                                  #
+                                  #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                                  #
+                                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                                  # a value of 0.0 corresponds to a completely transparent color.
+                            },
+                            "propertyState": "A String", # The background fill property state.
+                                #
+                                # Updating the the fill on a table cell will implicitly update this field
+                                # to `RENDERED`, unless another value is specified in the same request. To
+                                # have no fill on a table cell, set this field to `NOT_RENDERED`. In this
+                                # case, any other fill fields set in the same request will be ignored.
+                          },
+                        },
+                        "rowSpan": 42, # Row span of the cell.
+                        "columnSpan": 42, # Column span of the cell.
+                        "location": { # A location of a single table cell within a table. # The location of the cell within the table.
+                          "rowIndex": 42, # The 0-based row index.
+                          "columnIndex": 42, # The 0-based column index.
+                        },
+                      },
+                    ],
+                    "rowHeight": { # A magnitude in a single direction in the specified units. # Height of a row.
+                      "magnitude": 3.14, # The magnitude.
+                      "unit": "A String", # The units for magnitude.
+                    },
+                  },
+                ],
+                "rows": 42, # Number of rows in the table.
+                "columns": 42, # Number of columns in the table.
+              },
+              "line": { # A PageElement kind representing a # A line page element.
+                  # line, curved connector, or bent connector.
+                "lineProperties": { # The properties of the Line. # The properties of the line.
+                    #
+                    # When unset, these fields default to values that match the appearance of
+                    # new lines created in the Slides editor.
+                  "dashStyle": "A String", # The dash style of the line.
+                  "weight": { # A magnitude in a single direction in the specified units. # The thickness of the line.
+                    "magnitude": 3.14, # The magnitude.
+                    "unit": "A String", # The units for magnitude.
+                  },
+                  "endArrow": "A String", # The style of the arrow at the end of the line.
+                  "link": { # A hypertext link. # The hyperlink destination of the line. If unset, there is no link.
+                    "url": "A String", # If set, indicates this is a link to the external web page at this URL.
+                    "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
+                        # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
+                    "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
+                        # addressed by its position.
+                  },
+                  "lineFill": { # The fill of the line. # The fill of the line. The default line fill matches the defaults for new
+                      # lines created in the Slides editor.
+                    "solidFill": { # A solid color fill. The page or page element is filled entirely with the # Solid color fill.
+                        # specified color value.
+                        #
+                        # If any field is unset, its value may be inherited from a parent placeholder
+                        # if it exists.
+                      "color": { # A themeable solid color value. # The color value of the solid fill.
+                        "themeColor": "A String", # An opaque theme color.
+                        "rgbColor": { # An RGB color. # An opaque RGB color.
+                          "blue": 3.14, # The blue component of the color, from 0.0 to 1.0.
+                          "green": 3.14, # The green component of the color, from 0.0 to 1.0.
+                          "red": 3.14, # The red component of the color, from 0.0 to 1.0.
+                        },
+                      },
+                      "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel.
+                          # That is, the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color.
+                    },
+                  },
+                  "startArrow": "A String", # The style of the arrow at the beginning of the line.
+                },
+                "lineType": "A String", # The type of the line.
+              },
+              "size": { # A width and height. # The size of the page element.
+                "width": { # A magnitude in a single direction in the specified units. # The width of the object.
+                  "magnitude": 3.14, # The magnitude.
+                  "unit": "A String", # The units for magnitude.
+                },
+                "height": { # A magnitude in a single direction in the specified units. # The height of the object.
+                  "magnitude": 3.14, # The magnitude.
+                  "unit": "A String", # The units for magnitude.
+                },
+              },
+            },
+          ],
+          "notesProperties": { # The properties of Page that are only # Notes specific properties. Only set if page_type = NOTES.
+              # relevant for pages with page_type NOTES.
+            "speakerNotesObjectId": "A String", # The object ID of the shape on this notes page that contains the speaker
+                # notes for the corresponding slide.
+                # The actual shape may not always exist on the notes page. Inserting text
+                # using this object ID will automatically create the shape. In this case, the
+                # actual shape may have different object ID. The `GetPresentation` or
+                # `GetPage` action will always return the latest object ID.
+          },
+          "objectId": "A String", # The object ID for this page. Object IDs used by
+              # Page and
+              # PageElement share the same namespace.
+          "revisionId": "A String", # The revision ID of the presentation containing this page. Can be used in
+              # update requests to assert that the presentation revision hasn't changed
+              # since the last read operation. Only populated if the user has edit access
+              # to the presentation.
+              #
+              # The format of the revision ID may change over time, so it should be treated
+              # opaquely. A returned revision ID is only guaranteed to be valid for 24
+              # hours after it has been returned and cannot be shared across users. If the
+              # revision ID is unchanged between calls, then the presentation has not
+              # changed. Conversely, a changed ID (for the same presentation and user)
+              # usually means the presentation has been updated; however, a changed ID can
+              # also be due to internal factors such as ID format changes.
           "pageProperties": { # The properties of the Page. # The properties of the page.
               #
               # The page will inherit properties from the parent page. Depending on the page
@@ -24240,10 +26159,10 @@
                   },
                   "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                         # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                         # addressed by its position.
                   },
@@ -24274,17 +26193,17 @@
                     "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
                         # the right of the original bounding rectangle left edge, relative to the
                         # object's original width.
-                    "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                        # below the original bounding rectangle top edge, relative to the object's
-                        # original height.
-                    "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                        # above the original bounding rectangle bottom edge, relative to the object's
-                        # original height.
                     "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
                         # Rotation angle is applied after the offset.
                     "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
                         # to the left of the original bounding rectangle right edge, relative to the
                         # object's original width.
+                    "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                        # above the original bounding rectangle bottom edge, relative to the object's
+                        # original height.
+                    "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                        # below the original bounding rectangle top edge, relative to the object's
+                        # original height.
                   },
                   "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
                       # is read-only.
@@ -24414,26 +26333,47 @@
                                 # rendered in a smaller font size, computed based on the `font_size` field.
                                 # The `font_size` itself is not affected by changes in this field.
                             "strikethrough": True or False, # Whether or not the text is struck through.
-                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                # read-only.
+                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                 #
                                 # This field is an extension of `font_family` meant to support explicit font
                                 # weights without breaking backwards compatibility. As such, when reading the
-                                # style of a range of text, the value of `weighted_font_family.font_family`
-                                # will always be equal to that of `font_family`.
+                                # style of a range of text, the value of `weighted_font_family#font_family`
+                                # will always be equal to that of `font_family`. However, when writing, if
+                                # both fields are included in the field mask (either explicitly or through
+                                # the wildcard `"*"`), their values are reconciled as follows:
+                                #
+                                # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                #   `font_family` is applied with weight `400` ("normal").
+                                # * If both fields are set, the value of `font_family` must match that of
+                                #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                #   returned.
+                                # * If `weighted_font_family` is set and `font_family` is not, the font
+                                #   family and weight of `weighted_font_family` is applied.
+                                # * If neither field is set, the font family and weight of the text inherit
+                                #   from the parent. Note that these properties cannot inherit separately
+                                #   from each other.
+                                #
+                                # If an update request specifies values for both `weighted_font_family` and
+                                # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                #
+                                # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                #
+                                # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                # is returned.
                               "fontFamily": "A String", # The font family of the text.
                                   #
                                   # The font family can be any font from the Font menu in Slides or from
                                   # [Google Fonts] (https://fonts.google.com/). If the font name is
                                   # unrecognized, the text is rendered in `Arial`.
                               "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                  # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                  # only the numerical values described in the "Cascading Style Sheets Level
-                                  # 2 Revision 1 (CSS 2.1) Specification",
-                                  # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                  # non-numerical values in the specification are disallowed. Weights greater
-                                  # than or equal to 700 are considered bold, and weights less than 700 are
-                                  # not bold. The default value is `400` ("normal").
+                                  # multiple of `100` between `100` and `900`, inclusive. This range
+                                  # corresponds to the numerical values described in the CSS 2.1
+                                  # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                  # with non-numerical values disallowed. Weights greater than or equal to
+                                  # `700` are considered bold, and weights less than `700`are not bold. The
+                                  # default value is `400` ("normal").
                             },
                             "smallCaps": True or False, # Whether or not the text is in small capital letters.
                             "fontFamily": "A String", # The font family of the text.
@@ -24467,10 +26407,10 @@
                                 #   text is another link) unless different styles are being set in the same
                                 #   request.
                               "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                  # presentation with this ID. A page with this ID may not exist.
                               "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                   # in the presentation. There may not be a slide at this index.
+                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                  # presentation with this ID. A page with this ID may not exist.
                               "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                   # addressed by its position.
                             },
@@ -24541,26 +26481,47 @@
                               # rendered in a smaller font size, computed based on the `font_size` field.
                               # The `font_size` itself is not affected by changes in this field.
                           "strikethrough": True or False, # Whether or not the text is struck through.
-                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                              # read-only.
+                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                               #
                               # This field is an extension of `font_family` meant to support explicit font
                               # weights without breaking backwards compatibility. As such, when reading the
-                              # style of a range of text, the value of `weighted_font_family.font_family`
-                              # will always be equal to that of `font_family`.
+                              # style of a range of text, the value of `weighted_font_family#font_family`
+                              # will always be equal to that of `font_family`. However, when writing, if
+                              # both fields are included in the field mask (either explicitly or through
+                              # the wildcard `"*"`), their values are reconciled as follows:
+                              #
+                              # * If `font_family` is set and `weighted_font_family` is not, the value of
+                              #   `font_family` is applied with weight `400` ("normal").
+                              # * If both fields are set, the value of `font_family` must match that of
+                              #   `weighted_font_family#font_family`. If so, the font family and weight of
+                              #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                              #   returned.
+                              # * If `weighted_font_family` is set and `font_family` is not, the font
+                              #   family and weight of `weighted_font_family` is applied.
+                              # * If neither field is set, the font family and weight of the text inherit
+                              #   from the parent. Note that these properties cannot inherit separately
+                              #   from each other.
+                              #
+                              # If an update request specifies values for both `weighted_font_family` and
+                              # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                              #
+                              # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                              #
+                              # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                              # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                              # is returned.
                             "fontFamily": "A String", # The font family of the text.
                                 #
                                 # The font family can be any font from the Font menu in Slides or from
                                 # [Google Fonts] (https://fonts.google.com/). If the font name is
                                 # unrecognized, the text is rendered in `Arial`.
                             "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                # only the numerical values described in the "Cascading Style Sheets Level
-                                # 2 Revision 1 (CSS 2.1) Specification",
-                                # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                # non-numerical values in the specification are disallowed. Weights greater
-                                # than or equal to 700 are considered bold, and weights less than 700 are
-                                # not bold. The default value is `400` ("normal").
+                                # multiple of `100` between `100` and `900`, inclusive. This range
+                                # corresponds to the numerical values described in the CSS 2.1
+                                # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                # with non-numerical values disallowed. Weights greater than or equal to
+                                # `700` are considered bold, and weights less than `700`are not bold. The
+                                # default value is `400` ("normal").
                           },
                           "smallCaps": True or False, # Whether or not the text is in small capital letters.
                           "fontFamily": "A String", # The font family of the text.
@@ -24594,10 +26555,10 @@
                               #   text is another link) unless different styles are being set in the same
                               #   request.
                             "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                # presentation with this ID. A page with this ID may not exist.
                             "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                 # in the presentation. There may not be a slide at this index.
+                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                # presentation with this ID. A page with this ID may not exist.
                             "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                 # addressed by its position.
                           },
@@ -24647,8 +26608,8 @@
                             # Inherited paragraph styles are represented as unset fields in this message.
                           "spacingMode": "A String", # The spacing mode for the paragraph.
                           "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                              # LEFT_TO_RIGHT
-                              # since text direction is not inherited.
+                              # LEFT_TO_RIGHT since
+                              # text direction is not inherited.
                           "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
                               # inherited from the parent.
                             "magnitude": 3.14, # The magnitude.
@@ -24720,26 +26681,47 @@
                                 # rendered in a smaller font size, computed based on the `font_size` field.
                                 # The `font_size` itself is not affected by changes in this field.
                             "strikethrough": True or False, # Whether or not the text is struck through.
-                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                # read-only.
+                            "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                 #
                                 # This field is an extension of `font_family` meant to support explicit font
                                 # weights without breaking backwards compatibility. As such, when reading the
-                                # style of a range of text, the value of `weighted_font_family.font_family`
-                                # will always be equal to that of `font_family`.
+                                # style of a range of text, the value of `weighted_font_family#font_family`
+                                # will always be equal to that of `font_family`. However, when writing, if
+                                # both fields are included in the field mask (either explicitly or through
+                                # the wildcard `"*"`), their values are reconciled as follows:
+                                #
+                                # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                #   `font_family` is applied with weight `400` ("normal").
+                                # * If both fields are set, the value of `font_family` must match that of
+                                #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                #   returned.
+                                # * If `weighted_font_family` is set and `font_family` is not, the font
+                                #   family and weight of `weighted_font_family` is applied.
+                                # * If neither field is set, the font family and weight of the text inherit
+                                #   from the parent. Note that these properties cannot inherit separately
+                                #   from each other.
+                                #
+                                # If an update request specifies values for both `weighted_font_family` and
+                                # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                #
+                                # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                #
+                                # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                # is returned.
                               "fontFamily": "A String", # The font family of the text.
                                   #
                                   # The font family can be any font from the Font menu in Slides or from
                                   # [Google Fonts] (https://fonts.google.com/). If the font name is
                                   # unrecognized, the text is rendered in `Arial`.
                               "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                  # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                  # only the numerical values described in the "Cascading Style Sheets Level
-                                  # 2 Revision 1 (CSS 2.1) Specification",
-                                  # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                  # non-numerical values in the specification are disallowed. Weights greater
-                                  # than or equal to 700 are considered bold, and weights less than 700 are
-                                  # not bold. The default value is `400` ("normal").
+                                  # multiple of `100` between `100` and `900`, inclusive. This range
+                                  # corresponds to the numerical values described in the CSS 2.1
+                                  # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                  # with non-numerical values disallowed. Weights greater than or equal to
+                                  # `700` are considered bold, and weights less than `700`are not bold. The
+                                  # default value is `400` ("normal").
                             },
                             "smallCaps": True or False, # Whether or not the text is in small capital letters.
                             "fontFamily": "A String", # The font family of the text.
@@ -24773,10 +26755,10 @@
                                 #   text is another link) unless different styles are being set in the same
                                 #   request.
                               "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                  # presentation with this ID. A page with this ID may not exist.
                               "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                   # in the presentation. There may not be a slide at this index.
+                              "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                  # presentation with this ID. A page with this ID may not exist.
                               "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                   # addressed by its position.
                             },
@@ -24846,26 +26828,47 @@
                               # rendered in a smaller font size, computed based on the `font_size` field.
                               # The `font_size` itself is not affected by changes in this field.
                           "strikethrough": True or False, # Whether or not the text is struck through.
-                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                              # read-only.
+                          "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                               #
                               # This field is an extension of `font_family` meant to support explicit font
                               # weights without breaking backwards compatibility. As such, when reading the
-                              # style of a range of text, the value of `weighted_font_family.font_family`
-                              # will always be equal to that of `font_family`.
+                              # style of a range of text, the value of `weighted_font_family#font_family`
+                              # will always be equal to that of `font_family`. However, when writing, if
+                              # both fields are included in the field mask (either explicitly or through
+                              # the wildcard `"*"`), their values are reconciled as follows:
+                              #
+                              # * If `font_family` is set and `weighted_font_family` is not, the value of
+                              #   `font_family` is applied with weight `400` ("normal").
+                              # * If both fields are set, the value of `font_family` must match that of
+                              #   `weighted_font_family#font_family`. If so, the font family and weight of
+                              #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                              #   returned.
+                              # * If `weighted_font_family` is set and `font_family` is not, the font
+                              #   family and weight of `weighted_font_family` is applied.
+                              # * If neither field is set, the font family and weight of the text inherit
+                              #   from the parent. Note that these properties cannot inherit separately
+                              #   from each other.
+                              #
+                              # If an update request specifies values for both `weighted_font_family` and
+                              # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                              #
+                              # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                              #
+                              # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                              # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                              # is returned.
                             "fontFamily": "A String", # The font family of the text.
                                 #
                                 # The font family can be any font from the Font menu in Slides or from
                                 # [Google Fonts] (https://fonts.google.com/). If the font name is
                                 # unrecognized, the text is rendered in `Arial`.
                             "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                # only the numerical values described in the "Cascading Style Sheets Level
-                                # 2 Revision 1 (CSS 2.1) Specification",
-                                # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                # non-numerical values in the specification are disallowed. Weights greater
-                                # than or equal to 700 are considered bold, and weights less than 700 are
-                                # not bold. The default value is `400` ("normal").
+                                # multiple of `100` between `100` and `900`, inclusive. This range
+                                # corresponds to the numerical values described in the CSS 2.1
+                                # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                # with non-numerical values disallowed. Weights greater than or equal to
+                                # `700` are considered bold, and weights less than `700`are not bold. The
+                                # default value is `400` ("normal").
                           },
                           "smallCaps": True or False, # Whether or not the text is in small capital letters.
                           "fontFamily": "A String", # The font family of the text.
@@ -24899,10 +26902,10 @@
                               #   text is another link) unless different styles are being set in the same
                               #   request.
                             "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                # presentation with this ID. A page with this ID may not exist.
                             "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                 # in the presentation. There may not be a slide at this index.
+                            "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                # presentation with this ID. A page with this ID may not exist.
                             "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                 # addressed by its position.
                           },
@@ -25027,10 +27030,10 @@
                   "link": { # A hypertext link. # The hyperlink destination of the shape. If unset, there is no link. Links
                       # are not inherited from parent placeholders.
                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                         # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                         # addressed by its position.
                   },
@@ -25089,8 +27092,8 @@
                   "parentObjectId": "A String", # The object ID of this shape's parent placeholder.
                       # If unset, the parent placeholder shape does not exist, so the shape does
                       # not inherit properties from any other shape.
-                  "index": 42, # The index of the placeholder. If the same placeholder types are the present
-                      # in the same page, they would have different index values.
+                  "index": 42, # The index of the placeholder. If the same placeholder types are present in
+                      # the same page, they would have different index values.
                   "type": "A String", # The type of the placeholder.
                 },
                 "shapeType": "A String", # The type of the shape.
@@ -25098,12 +27101,11 @@
               "sheetsChart": { # A PageElement kind representing # A linked chart embedded from Google Sheets. Unlinked charts are
                   # represented as images.
                   # a linked chart embedded from Google Sheets.
-                "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
-                    # embedded.
                 "contentUrl": "A String", # The URL of an image of the embedded chart, with a default lifetime of 30
                     # minutes. This URL is tagged with the account of the requester. Anyone with
                     # the URL effectively accesses the image as the original requester. Access to
                     # the image may be lost if the presentation's sharing settings change.
+                "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
                 "sheetsChartProperties": { # The properties of the SheetsChart. # The properties of the Sheets chart.
                   "chartImageProperties": { # The properties of the Image. # The properties of the embedded chart image.
                     "outline": { # The outline of a PageElement. # The outline of the image. If not set, the the image has no outline.
@@ -25181,10 +27183,10 @@
                     },
                     "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link.
                       "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                          # presentation with this ID. A page with this ID may not exist.
                       "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                           # in the presentation. There may not be a slide at this index.
+                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                          # presentation with this ID. A page with this ID may not exist.
                       "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                           # addressed by its position.
                     },
@@ -25215,17 +27217,17 @@
                       "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to
                           # the right of the original bounding rectangle left edge, relative to the
                           # object's original width.
-                      "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
-                          # below the original bounding rectangle top edge, relative to the object's
-                          # original height.
-                      "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
-                          # above the original bounding rectangle bottom edge, relative to the object's
-                          # original height.
                       "angle": 3.14, # The rotation angle of the crop window around its center, in radians.
                           # Rotation angle is applied after the offset.
                       "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located
                           # to the left of the original bounding rectangle right edge, relative to the
                           # object's original width.
+                      "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located
+                          # above the original bounding rectangle bottom edge, relative to the object's
+                          # original height.
+                      "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located
+                          # below the original bounding rectangle top edge, relative to the object's
+                          # original height.
                     },
                     "shadow": { # The shadow properties of a page element. # The shadow of the image. If not set, the image has no shadow. This property
                         # is read-only.
@@ -25285,14 +27287,13 @@
                         # [-1.0, 1.0], where 0 means no effect. This property is read-only.
                   },
                 },
-                "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart.
+                "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is
+                    # embedded.
               },
               "video": { # A PageElement kind representing a # A video page element.
                   # video.
                 "url": "A String", # An URL to a video. The URL is valid as long as the source video
                     # exists and sharing settings do not change.
-                "source": "A String", # The video source.
-                "id": "A String", # The video source's unique identifier for this video.
                 "videoProperties": { # The properties of the Video. # The properties of the video.
                   "outline": { # The outline of a PageElement. # The outline of the video. The default outline matches the defaults for new
                       # videos created in the Slides editor.
@@ -25338,6 +27339,8 @@
                     },
                   },
                 },
+                "id": "A String", # The video source's unique identifier for this video.
+                "source": "A String", # The video source.
               },
               "elementGroup": { # A PageElement kind representing a # A collection of page elements joined as a single unit.
                   # joined collection of PageElements.
@@ -25415,26 +27418,47 @@
                                         # rendered in a smaller font size, computed based on the `font_size` field.
                                         # The `font_size` itself is not affected by changes in this field.
                                     "strikethrough": True or False, # Whether or not the text is struck through.
-                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                        # read-only.
+                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                         #
                                         # This field is an extension of `font_family` meant to support explicit font
                                         # weights without breaking backwards compatibility. As such, when reading the
-                                        # style of a range of text, the value of `weighted_font_family.font_family`
-                                        # will always be equal to that of `font_family`.
+                                        # style of a range of text, the value of `weighted_font_family#font_family`
+                                        # will always be equal to that of `font_family`. However, when writing, if
+                                        # both fields are included in the field mask (either explicitly or through
+                                        # the wildcard `"*"`), their values are reconciled as follows:
+                                        #
+                                        # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                        #   `font_family` is applied with weight `400` ("normal").
+                                        # * If both fields are set, the value of `font_family` must match that of
+                                        #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                        #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                        #   returned.
+                                        # * If `weighted_font_family` is set and `font_family` is not, the font
+                                        #   family and weight of `weighted_font_family` is applied.
+                                        # * If neither field is set, the font family and weight of the text inherit
+                                        #   from the parent. Note that these properties cannot inherit separately
+                                        #   from each other.
+                                        #
+                                        # If an update request specifies values for both `weighted_font_family` and
+                                        # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                        #
+                                        # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                        #
+                                        # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                        # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                        # is returned.
                                       "fontFamily": "A String", # The font family of the text.
                                           #
                                           # The font family can be any font from the Font menu in Slides or from
                                           # [Google Fonts] (https://fonts.google.com/). If the font name is
                                           # unrecognized, the text is rendered in `Arial`.
                                       "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                          # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                          # only the numerical values described in the "Cascading Style Sheets Level
-                                          # 2 Revision 1 (CSS 2.1) Specification",
-                                          # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                          # non-numerical values in the specification are disallowed. Weights greater
-                                          # than or equal to 700 are considered bold, and weights less than 700 are
-                                          # not bold. The default value is `400` ("normal").
+                                          # multiple of `100` between `100` and `900`, inclusive. This range
+                                          # corresponds to the numerical values described in the CSS 2.1
+                                          # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                          # with non-numerical values disallowed. Weights greater than or equal to
+                                          # `700` are considered bold, and weights less than `700`are not bold. The
+                                          # default value is `400` ("normal").
                                     },
                                     "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                     "fontFamily": "A String", # The font family of the text.
@@ -25468,10 +27492,10 @@
                                         #   text is another link) unless different styles are being set in the same
                                         #   request.
                                       "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                          # presentation with this ID. A page with this ID may not exist.
                                       "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                           # in the presentation. There may not be a slide at this index.
+                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                          # presentation with this ID. A page with this ID may not exist.
                                       "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                           # addressed by its position.
                                     },
@@ -25542,26 +27566,47 @@
                                       # rendered in a smaller font size, computed based on the `font_size` field.
                                       # The `font_size` itself is not affected by changes in this field.
                                   "strikethrough": True or False, # Whether or not the text is struck through.
-                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                      # read-only.
+                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                       #
                                       # This field is an extension of `font_family` meant to support explicit font
                                       # weights without breaking backwards compatibility. As such, when reading the
-                                      # style of a range of text, the value of `weighted_font_family.font_family`
-                                      # will always be equal to that of `font_family`.
+                                      # style of a range of text, the value of `weighted_font_family#font_family`
+                                      # will always be equal to that of `font_family`. However, when writing, if
+                                      # both fields are included in the field mask (either explicitly or through
+                                      # the wildcard `"*"`), their values are reconciled as follows:
+                                      #
+                                      # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                      #   `font_family` is applied with weight `400` ("normal").
+                                      # * If both fields are set, the value of `font_family` must match that of
+                                      #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                      #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                      #   returned.
+                                      # * If `weighted_font_family` is set and `font_family` is not, the font
+                                      #   family and weight of `weighted_font_family` is applied.
+                                      # * If neither field is set, the font family and weight of the text inherit
+                                      #   from the parent. Note that these properties cannot inherit separately
+                                      #   from each other.
+                                      #
+                                      # If an update request specifies values for both `weighted_font_family` and
+                                      # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                      #
+                                      # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                      #
+                                      # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                      # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                      # is returned.
                                     "fontFamily": "A String", # The font family of the text.
                                         #
                                         # The font family can be any font from the Font menu in Slides or from
                                         # [Google Fonts] (https://fonts.google.com/). If the font name is
                                         # unrecognized, the text is rendered in `Arial`.
                                     "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                        # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                        # only the numerical values described in the "Cascading Style Sheets Level
-                                        # 2 Revision 1 (CSS 2.1) Specification",
-                                        # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                        # non-numerical values in the specification are disallowed. Weights greater
-                                        # than or equal to 700 are considered bold, and weights less than 700 are
-                                        # not bold. The default value is `400` ("normal").
+                                        # multiple of `100` between `100` and `900`, inclusive. This range
+                                        # corresponds to the numerical values described in the CSS 2.1
+                                        # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                        # with non-numerical values disallowed. Weights greater than or equal to
+                                        # `700` are considered bold, and weights less than `700`are not bold. The
+                                        # default value is `400` ("normal").
                                   },
                                   "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                   "fontFamily": "A String", # The font family of the text.
@@ -25595,10 +27640,10 @@
                                       #   text is another link) unless different styles are being set in the same
                                       #   request.
                                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                        # presentation with this ID. A page with this ID may not exist.
                                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                         # in the presentation. There may not be a slide at this index.
+                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                        # presentation with this ID. A page with this ID may not exist.
                                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                         # addressed by its position.
                                   },
@@ -25648,8 +27693,8 @@
                                     # Inherited paragraph styles are represented as unset fields in this message.
                                   "spacingMode": "A String", # The spacing mode for the paragraph.
                                   "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to
-                                      # LEFT_TO_RIGHT
-                                      # since text direction is not inherited.
+                                      # LEFT_TO_RIGHT since
+                                      # text direction is not inherited.
                                   "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is
                                       # inherited from the parent.
                                     "magnitude": 3.14, # The magnitude.
@@ -25721,26 +27766,47 @@
                                         # rendered in a smaller font size, computed based on the `font_size` field.
                                         # The `font_size` itself is not affected by changes in this field.
                                     "strikethrough": True or False, # Whether or not the text is struck through.
-                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                        # read-only.
+                                    "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                         #
                                         # This field is an extension of `font_family` meant to support explicit font
                                         # weights without breaking backwards compatibility. As such, when reading the
-                                        # style of a range of text, the value of `weighted_font_family.font_family`
-                                        # will always be equal to that of `font_family`.
+                                        # style of a range of text, the value of `weighted_font_family#font_family`
+                                        # will always be equal to that of `font_family`. However, when writing, if
+                                        # both fields are included in the field mask (either explicitly or through
+                                        # the wildcard `"*"`), their values are reconciled as follows:
+                                        #
+                                        # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                        #   `font_family` is applied with weight `400` ("normal").
+                                        # * If both fields are set, the value of `font_family` must match that of
+                                        #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                        #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                        #   returned.
+                                        # * If `weighted_font_family` is set and `font_family` is not, the font
+                                        #   family and weight of `weighted_font_family` is applied.
+                                        # * If neither field is set, the font family and weight of the text inherit
+                                        #   from the parent. Note that these properties cannot inherit separately
+                                        #   from each other.
+                                        #
+                                        # If an update request specifies values for both `weighted_font_family` and
+                                        # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                        #
+                                        # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                        #
+                                        # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                        # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                        # is returned.
                                       "fontFamily": "A String", # The font family of the text.
                                           #
                                           # The font family can be any font from the Font menu in Slides or from
                                           # [Google Fonts] (https://fonts.google.com/). If the font name is
                                           # unrecognized, the text is rendered in `Arial`.
                                       "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                          # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                          # only the numerical values described in the "Cascading Style Sheets Level
-                                          # 2 Revision 1 (CSS 2.1) Specification",
-                                          # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                          # non-numerical values in the specification are disallowed. Weights greater
-                                          # than or equal to 700 are considered bold, and weights less than 700 are
-                                          # not bold. The default value is `400` ("normal").
+                                          # multiple of `100` between `100` and `900`, inclusive. This range
+                                          # corresponds to the numerical values described in the CSS 2.1
+                                          # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                          # with non-numerical values disallowed. Weights greater than or equal to
+                                          # `700` are considered bold, and weights less than `700`are not bold. The
+                                          # default value is `400` ("normal").
                                     },
                                     "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                     "fontFamily": "A String", # The font family of the text.
@@ -25774,10 +27840,10 @@
                                         #   text is another link) unless different styles are being set in the same
                                         #   request.
                                       "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                          # presentation with this ID. A page with this ID may not exist.
                                       "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                           # in the presentation. There may not be a slide at this index.
+                                      "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                          # presentation with this ID. A page with this ID may not exist.
                                       "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                           # addressed by its position.
                                     },
@@ -25847,26 +27913,47 @@
                                       # rendered in a smaller font size, computed based on the `font_size` field.
                                       # The `font_size` itself is not affected by changes in this field.
                                   "strikethrough": True or False, # Whether or not the text is struck through.
-                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This property is
-                                      # read-only.
+                                  "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text.
                                       #
                                       # This field is an extension of `font_family` meant to support explicit font
                                       # weights without breaking backwards compatibility. As such, when reading the
-                                      # style of a range of text, the value of `weighted_font_family.font_family`
-                                      # will always be equal to that of `font_family`.
+                                      # style of a range of text, the value of `weighted_font_family#font_family`
+                                      # will always be equal to that of `font_family`. However, when writing, if
+                                      # both fields are included in the field mask (either explicitly or through
+                                      # the wildcard `"*"`), their values are reconciled as follows:
+                                      #
+                                      # * If `font_family` is set and `weighted_font_family` is not, the value of
+                                      #   `font_family` is applied with weight `400` ("normal").
+                                      # * If both fields are set, the value of `font_family` must match that of
+                                      #   `weighted_font_family#font_family`. If so, the font family and weight of
+                                      #   `weighted_font_family` is applied. Otherwise, a 400 bad request error is
+                                      #   returned.
+                                      # * If `weighted_font_family` is set and `font_family` is not, the font
+                                      #   family and weight of `weighted_font_family` is applied.
+                                      # * If neither field is set, the font family and weight of the text inherit
+                                      #   from the parent. Note that these properties cannot inherit separately
+                                      #   from each other.
+                                      #
+                                      # If an update request specifies values for both `weighted_font_family` and
+                                      # `bold`, the `weighted_font_family` is applied first, then `bold`.
+                                      #
+                                      # If `weighted_font_family#weight` is not set, it defaults to `400`.
+                                      #
+                                      # If `weighted_font_family` is set, then `weighted_font_family#font_family`
+                                      # must also be set with a non-empty value. Otherwise, a 400 bad request error
+                                      # is returned.
                                     "fontFamily": "A String", # The font family of the text.
                                         #
                                         # The font family can be any font from the Font menu in Slides or from
                                         # [Google Fonts] (https://fonts.google.com/). If the font name is
                                         # unrecognized, the text is rendered in `Arial`.
                                     "weight": 42, # The rendered weight of the text. This field can have any value that is a
-                                        # multiple of 100 between 100 and 900, inclusive. This range corresponds to
-                                        # only the numerical values described in the "Cascading Style Sheets Level
-                                        # 2 Revision 1 (CSS 2.1) Specification",
-                                        # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness). The
-                                        # non-numerical values in the specification are disallowed. Weights greater
-                                        # than or equal to 700 are considered bold, and weights less than 700 are
-                                        # not bold. The default value is `400` ("normal").
+                                        # multiple of `100` between `100` and `900`, inclusive. This range
+                                        # corresponds to the numerical values described in the CSS 2.1
+                                        # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
+                                        # with non-numerical values disallowed. Weights greater than or equal to
+                                        # `700` are considered bold, and weights less than `700`are not bold. The
+                                        # default value is `400` ("normal").
                                   },
                                   "smallCaps": True or False, # Whether or not the text is in small capital letters.
                                   "fontFamily": "A String", # The font family of the text.
@@ -25900,10 +27987,10 @@
                                       #   text is another link) unless different styles are being set in the same
                                       #   request.
                                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                                        # presentation with this ID. A page with this ID may not exist.
                                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                                         # in the presentation. There may not be a slide at this index.
+                                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                                        # presentation with this ID. A page with this ID may not exist.
                                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                                         # addressed by its position.
                                   },
@@ -25993,10 +28080,10 @@
                   "endArrow": "A String", # The style of the arrow at the end of the line.
                   "link": { # A hypertext link. # The hyperlink destination of the line. If unset, there is no link.
                     "url": "A String", # If set, indicates this is a link to the external web page at this URL.
-                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
-                        # presentation with this ID. A page with this ID may not exist.
                     "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index
                         # in the presentation. There may not be a slide at this index.
+                    "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this
+                        # presentation with this ID. A page with this ID may not exist.
                     "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation,
                         # addressed by its position.
                   },
@@ -26059,9 +28146,11 @@
               #
               # The format of the revision ID may change over time, so it should be treated
               # opaquely. A returned revision ID is only guaranteed to be valid for 24
-              # hours after it has been returned and cannot be shared across
-              # users. Callers can assume that if two revision IDs are equal then the
-              # presentation has not changed.
+              # hours after it has been returned and cannot be shared across users. If the
+              # revision ID is unchanged between calls, then the presentation has not
+              # changed. Conversely, a changed ID (for the same presentation and user)
+              # usually means the presentation has been updated; however, a changed ID can
+              # also be due to internal factors such as ID format changes.
           "pageProperties": { # The properties of the Page. # The properties of the page.
               #
               # The page will inherit properties from the parent page. Depending on the page