packages feed

gogol-docs 0.5.0 → 1.0.0

raw patch · 17 files changed

+13169/−15234 lines, 17 filesdep −basedep ~gogol-coresetup-changed

Dependencies removed: base

Dependency ranges changed: gogol-core

Files

README.md view
@@ -8,7 +8,7 @@  ## Version -`0.5.0`+`1.0.0`   ## Description
Setup.hs view
@@ -1,2 +1,3 @@-import           Distribution.Simple+import Distribution.Simple+ main = defaultMain
+ gen/Gogol/Docs.hs view
@@ -0,0 +1,923 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.Docs+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Reads and writes Google Docs documents.+--+-- /See:/ <https://developers.google.com/docs/ Google Docs API Reference>+module Gogol.Docs+  ( -- * Configuration+    docsService,++    -- * OAuth Scopes+    Documents'FullControl,+    Documents'Readonly,+    Drive'FullControl,+    Drive'File,+    Drive'Readonly,++    -- * Resources++    -- ** docs.documents.batchUpdate+    DocsDocumentsBatchUpdateResource,+    DocsDocumentsBatchUpdate (..),+    newDocsDocumentsBatchUpdate,++    -- ** docs.documents.create+    DocsDocumentsCreateResource,+    DocsDocumentsCreate (..),+    newDocsDocumentsCreate,++    -- ** docs.documents.get+    DocsDocumentsGetResource,+    DocsDocumentsGet (..),+    newDocsDocumentsGet,++    -- * Types++    -- ** Xgafv+    Xgafv (..),++    -- ** AutoText+    AutoText (..),+    newAutoText,++    -- ** AutoText_SuggestedTextStyleChanges+    AutoText_SuggestedTextStyleChanges (..),+    newAutoText_SuggestedTextStyleChanges,++    -- ** AutoText_Type+    AutoText_Type (..),++    -- ** Background+    Background (..),+    newBackground,++    -- ** BackgroundSuggestionState+    BackgroundSuggestionState (..),+    newBackgroundSuggestionState,++    -- ** BatchUpdateDocumentRequest+    BatchUpdateDocumentRequest (..),+    newBatchUpdateDocumentRequest,++    -- ** BatchUpdateDocumentResponse+    BatchUpdateDocumentResponse (..),+    newBatchUpdateDocumentResponse,++    -- ** Body+    Body (..),+    newBody,++    -- ** BookmarkLink+    BookmarkLink (..),+    newBookmarkLink,++    -- ** Bullet+    Bullet (..),+    newBullet,++    -- ** BulletSuggestionState+    BulletSuggestionState (..),+    newBulletSuggestionState,++    -- ** Color+    Color (..),+    newColor,++    -- ** ColumnBreak+    ColumnBreak (..),+    newColumnBreak,++    -- ** ColumnBreak_SuggestedTextStyleChanges+    ColumnBreak_SuggestedTextStyleChanges (..),+    newColumnBreak_SuggestedTextStyleChanges,++    -- ** CreateFooterRequest+    CreateFooterRequest (..),+    newCreateFooterRequest,++    -- ** CreateFooterRequest_Type+    CreateFooterRequest_Type (..),++    -- ** CreateFooterResponse+    CreateFooterResponse (..),+    newCreateFooterResponse,++    -- ** CreateFootnoteRequest+    CreateFootnoteRequest (..),+    newCreateFootnoteRequest,++    -- ** CreateFootnoteResponse+    CreateFootnoteResponse (..),+    newCreateFootnoteResponse,++    -- ** CreateHeaderRequest+    CreateHeaderRequest (..),+    newCreateHeaderRequest,++    -- ** CreateHeaderRequest_Type+    CreateHeaderRequest_Type (..),++    -- ** CreateHeaderResponse+    CreateHeaderResponse (..),+    newCreateHeaderResponse,++    -- ** CreateNamedRangeRequest+    CreateNamedRangeRequest (..),+    newCreateNamedRangeRequest,++    -- ** CreateNamedRangeResponse+    CreateNamedRangeResponse (..),+    newCreateNamedRangeResponse,++    -- ** CreateParagraphBulletsRequest+    CreateParagraphBulletsRequest (..),+    newCreateParagraphBulletsRequest,++    -- ** CreateParagraphBulletsRequest_BulletPreset+    CreateParagraphBulletsRequest_BulletPreset (..),++    -- ** CropProperties+    CropProperties (..),+    newCropProperties,++    -- ** CropPropertiesSuggestionState+    CropPropertiesSuggestionState (..),+    newCropPropertiesSuggestionState,++    -- ** DeleteContentRangeRequest+    DeleteContentRangeRequest (..),+    newDeleteContentRangeRequest,++    -- ** DeleteFooterRequest+    DeleteFooterRequest (..),+    newDeleteFooterRequest,++    -- ** DeleteHeaderRequest+    DeleteHeaderRequest (..),+    newDeleteHeaderRequest,++    -- ** DeleteNamedRangeRequest+    DeleteNamedRangeRequest (..),+    newDeleteNamedRangeRequest,++    -- ** DeleteParagraphBulletsRequest+    DeleteParagraphBulletsRequest (..),+    newDeleteParagraphBulletsRequest,++    -- ** DeletePositionedObjectRequest+    DeletePositionedObjectRequest (..),+    newDeletePositionedObjectRequest,++    -- ** DeleteTableColumnRequest+    DeleteTableColumnRequest (..),+    newDeleteTableColumnRequest,++    -- ** DeleteTableRowRequest+    DeleteTableRowRequest (..),+    newDeleteTableRowRequest,++    -- ** Dimension+    Dimension (..),+    newDimension,++    -- ** Dimension_Unit+    Dimension_Unit (..),++    -- ** Document+    Document (..),+    newDocument,++    -- ** Document_Footers+    Document_Footers (..),+    newDocument_Footers,++    -- ** Document_Footnotes+    Document_Footnotes (..),+    newDocument_Footnotes,++    -- ** Document_Headers+    Document_Headers (..),+    newDocument_Headers,++    -- ** Document_InlineObjects+    Document_InlineObjects (..),+    newDocument_InlineObjects,++    -- ** Document_Lists+    Document_Lists (..),+    newDocument_Lists,++    -- ** Document_NamedRanges+    Document_NamedRanges (..),+    newDocument_NamedRanges,++    -- ** Document_PositionedObjects+    Document_PositionedObjects (..),+    newDocument_PositionedObjects,++    -- ** Document_SuggestedDocumentStyleChanges+    Document_SuggestedDocumentStyleChanges (..),+    newDocument_SuggestedDocumentStyleChanges,++    -- ** Document_SuggestedNamedStylesChanges+    Document_SuggestedNamedStylesChanges (..),+    newDocument_SuggestedNamedStylesChanges,++    -- ** Document_SuggestionsViewMode+    Document_SuggestionsViewMode (..),++    -- ** DocumentStyle+    DocumentStyle (..),+    newDocumentStyle,++    -- ** DocumentStyleSuggestionState+    DocumentStyleSuggestionState (..),+    newDocumentStyleSuggestionState,++    -- ** DocumentTab+    DocumentTab (..),+    newDocumentTab,++    -- ** DocumentTab_Footers+    DocumentTab_Footers (..),+    newDocumentTab_Footers,++    -- ** DocumentTab_Footnotes+    DocumentTab_Footnotes (..),+    newDocumentTab_Footnotes,++    -- ** DocumentTab_Headers+    DocumentTab_Headers (..),+    newDocumentTab_Headers,++    -- ** DocumentTab_InlineObjects+    DocumentTab_InlineObjects (..),+    newDocumentTab_InlineObjects,++    -- ** DocumentTab_Lists+    DocumentTab_Lists (..),+    newDocumentTab_Lists,++    -- ** DocumentTab_NamedRanges+    DocumentTab_NamedRanges (..),+    newDocumentTab_NamedRanges,++    -- ** DocumentTab_PositionedObjects+    DocumentTab_PositionedObjects (..),+    newDocumentTab_PositionedObjects,++    -- ** DocumentTab_SuggestedDocumentStyleChanges+    DocumentTab_SuggestedDocumentStyleChanges (..),+    newDocumentTab_SuggestedDocumentStyleChanges,++    -- ** DocumentTab_SuggestedNamedStylesChanges+    DocumentTab_SuggestedNamedStylesChanges (..),+    newDocumentTab_SuggestedNamedStylesChanges,++    -- ** EmbeddedDrawingProperties+    EmbeddedDrawingProperties (..),+    newEmbeddedDrawingProperties,++    -- ** EmbeddedDrawingPropertiesSuggestionState+    EmbeddedDrawingPropertiesSuggestionState (..),+    newEmbeddedDrawingPropertiesSuggestionState,++    -- ** EmbeddedObject+    EmbeddedObject (..),+    newEmbeddedObject,++    -- ** EmbeddedObjectBorder+    EmbeddedObjectBorder (..),+    newEmbeddedObjectBorder,++    -- ** EmbeddedObjectBorder_DashStyle+    EmbeddedObjectBorder_DashStyle (..),++    -- ** EmbeddedObjectBorder_PropertyState+    EmbeddedObjectBorder_PropertyState (..),++    -- ** EmbeddedObjectBorderSuggestionState+    EmbeddedObjectBorderSuggestionState (..),+    newEmbeddedObjectBorderSuggestionState,++    -- ** EmbeddedObjectSuggestionState+    EmbeddedObjectSuggestionState (..),+    newEmbeddedObjectSuggestionState,++    -- ** EndOfSegmentLocation+    EndOfSegmentLocation (..),+    newEndOfSegmentLocation,++    -- ** Equation+    Equation (..),+    newEquation,++    -- ** Footer+    Footer (..),+    newFooter,++    -- ** Footnote+    Footnote (..),+    newFootnote,++    -- ** FootnoteReference+    FootnoteReference (..),+    newFootnoteReference,++    -- ** FootnoteReference_SuggestedTextStyleChanges+    FootnoteReference_SuggestedTextStyleChanges (..),+    newFootnoteReference_SuggestedTextStyleChanges,++    -- ** Header+    Header (..),+    newHeader,++    -- ** HeadingLink+    HeadingLink (..),+    newHeadingLink,++    -- ** HorizontalRule+    HorizontalRule (..),+    newHorizontalRule,++    -- ** HorizontalRule_SuggestedTextStyleChanges+    HorizontalRule_SuggestedTextStyleChanges (..),+    newHorizontalRule_SuggestedTextStyleChanges,++    -- ** ImageProperties+    ImageProperties (..),+    newImageProperties,++    -- ** ImagePropertiesSuggestionState+    ImagePropertiesSuggestionState (..),+    newImagePropertiesSuggestionState,++    -- ** InlineObject+    InlineObject (..),+    newInlineObject,++    -- ** InlineObject_SuggestedInlineObjectPropertiesChanges+    InlineObject_SuggestedInlineObjectPropertiesChanges (..),+    newInlineObject_SuggestedInlineObjectPropertiesChanges,++    -- ** InlineObjectElement+    InlineObjectElement (..),+    newInlineObjectElement,++    -- ** InlineObjectElement_SuggestedTextStyleChanges+    InlineObjectElement_SuggestedTextStyleChanges (..),+    newInlineObjectElement_SuggestedTextStyleChanges,++    -- ** InlineObjectProperties+    InlineObjectProperties (..),+    newInlineObjectProperties,++    -- ** InlineObjectPropertiesSuggestionState+    InlineObjectPropertiesSuggestionState (..),+    newInlineObjectPropertiesSuggestionState,++    -- ** InsertInlineImageRequest+    InsertInlineImageRequest (..),+    newInsertInlineImageRequest,++    -- ** InsertInlineImageResponse+    InsertInlineImageResponse (..),+    newInsertInlineImageResponse,++    -- ** InsertInlineSheetsChartResponse+    InsertInlineSheetsChartResponse (..),+    newInsertInlineSheetsChartResponse,++    -- ** InsertPageBreakRequest+    InsertPageBreakRequest (..),+    newInsertPageBreakRequest,++    -- ** InsertSectionBreakRequest+    InsertSectionBreakRequest (..),+    newInsertSectionBreakRequest,++    -- ** InsertSectionBreakRequest_SectionType+    InsertSectionBreakRequest_SectionType (..),++    -- ** InsertTableColumnRequest+    InsertTableColumnRequest (..),+    newInsertTableColumnRequest,++    -- ** InsertTableRequest+    InsertTableRequest (..),+    newInsertTableRequest,++    -- ** InsertTableRowRequest+    InsertTableRowRequest (..),+    newInsertTableRowRequest,++    -- ** InsertTextRequest+    InsertTextRequest (..),+    newInsertTextRequest,++    -- ** Link+    Link (..),+    newLink,++    -- ** LinkedContentReference+    LinkedContentReference (..),+    newLinkedContentReference,++    -- ** LinkedContentReferenceSuggestionState+    LinkedContentReferenceSuggestionState (..),+    newLinkedContentReferenceSuggestionState,++    -- ** List+    List (..),+    newList,++    -- ** List_SuggestedListPropertiesChanges+    List_SuggestedListPropertiesChanges (..),+    newList_SuggestedListPropertiesChanges,++    -- ** ListProperties+    ListProperties (..),+    newListProperties,++    -- ** ListPropertiesSuggestionState+    ListPropertiesSuggestionState (..),+    newListPropertiesSuggestionState,++    -- ** Location+    Location (..),+    newLocation,++    -- ** MergeTableCellsRequest+    MergeTableCellsRequest (..),+    newMergeTableCellsRequest,++    -- ** NamedRange+    NamedRange (..),+    newNamedRange,++    -- ** NamedRanges+    NamedRanges (..),+    newNamedRanges,++    -- ** NamedStyle+    NamedStyle (..),+    newNamedStyle,++    -- ** NamedStyle_NamedStyleType+    NamedStyle_NamedStyleType (..),++    -- ** NamedStyleSuggestionState+    NamedStyleSuggestionState (..),+    newNamedStyleSuggestionState,++    -- ** NamedStyleSuggestionState_NamedStyleType+    NamedStyleSuggestionState_NamedStyleType (..),++    -- ** NamedStyles+    NamedStyles (..),+    newNamedStyles,++    -- ** NamedStylesSuggestionState+    NamedStylesSuggestionState (..),+    newNamedStylesSuggestionState,++    -- ** NestingLevel+    NestingLevel (..),+    newNestingLevel,++    -- ** NestingLevel_BulletAlignment+    NestingLevel_BulletAlignment (..),++    -- ** NestingLevel_GlyphType+    NestingLevel_GlyphType (..),++    -- ** NestingLevelSuggestionState+    NestingLevelSuggestionState (..),+    newNestingLevelSuggestionState,++    -- ** ObjectReferences+    ObjectReferences (..),+    newObjectReferences,++    -- ** OptionalColor+    OptionalColor (..),+    newOptionalColor,++    -- ** PageBreak+    PageBreak (..),+    newPageBreak,++    -- ** PageBreak_SuggestedTextStyleChanges+    PageBreak_SuggestedTextStyleChanges (..),+    newPageBreak_SuggestedTextStyleChanges,++    -- ** Paragraph+    Paragraph (..),+    newParagraph,++    -- ** Paragraph_SuggestedBulletChanges+    Paragraph_SuggestedBulletChanges (..),+    newParagraph_SuggestedBulletChanges,++    -- ** Paragraph_SuggestedParagraphStyleChanges+    Paragraph_SuggestedParagraphStyleChanges (..),+    newParagraph_SuggestedParagraphStyleChanges,++    -- ** Paragraph_SuggestedPositionedObjectIds+    Paragraph_SuggestedPositionedObjectIds (..),+    newParagraph_SuggestedPositionedObjectIds,++    -- ** ParagraphBorder+    ParagraphBorder (..),+    newParagraphBorder,++    -- ** ParagraphBorder_DashStyle+    ParagraphBorder_DashStyle (..),++    -- ** ParagraphElement+    ParagraphElement (..),+    newParagraphElement,++    -- ** ParagraphStyle+    ParagraphStyle (..),+    newParagraphStyle,++    -- ** ParagraphStyle_Alignment+    ParagraphStyle_Alignment (..),++    -- ** ParagraphStyle_Direction+    ParagraphStyle_Direction (..),++    -- ** ParagraphStyle_NamedStyleType+    ParagraphStyle_NamedStyleType (..),++    -- ** ParagraphStyle_SpacingMode+    ParagraphStyle_SpacingMode (..),++    -- ** ParagraphStyleSuggestionState+    ParagraphStyleSuggestionState (..),+    newParagraphStyleSuggestionState,++    -- ** Person+    Person (..),+    newPerson,++    -- ** Person_SuggestedTextStyleChanges+    Person_SuggestedTextStyleChanges (..),+    newPerson_SuggestedTextStyleChanges,++    -- ** PersonProperties+    PersonProperties (..),+    newPersonProperties,++    -- ** PinTableHeaderRowsRequest+    PinTableHeaderRowsRequest (..),+    newPinTableHeaderRowsRequest,++    -- ** PositionedObject+    PositionedObject (..),+    newPositionedObject,++    -- ** PositionedObject_SuggestedPositionedObjectPropertiesChanges+    PositionedObject_SuggestedPositionedObjectPropertiesChanges (..),+    newPositionedObject_SuggestedPositionedObjectPropertiesChanges,++    -- ** PositionedObjectPositioning+    PositionedObjectPositioning (..),+    newPositionedObjectPositioning,++    -- ** PositionedObjectPositioning_Layout+    PositionedObjectPositioning_Layout (..),++    -- ** PositionedObjectPositioningSuggestionState+    PositionedObjectPositioningSuggestionState (..),+    newPositionedObjectPositioningSuggestionState,++    -- ** PositionedObjectProperties+    PositionedObjectProperties (..),+    newPositionedObjectProperties,++    -- ** PositionedObjectPropertiesSuggestionState+    PositionedObjectPropertiesSuggestionState (..),+    newPositionedObjectPropertiesSuggestionState,++    -- ** Range+    Range (..),+    newRange,++    -- ** ReplaceAllTextRequest+    ReplaceAllTextRequest (..),+    newReplaceAllTextRequest,++    -- ** ReplaceAllTextResponse+    ReplaceAllTextResponse (..),+    newReplaceAllTextResponse,++    -- ** ReplaceImageRequest+    ReplaceImageRequest (..),+    newReplaceImageRequest,++    -- ** ReplaceImageRequest_ImageReplaceMethod+    ReplaceImageRequest_ImageReplaceMethod (..),++    -- ** ReplaceNamedRangeContentRequest+    ReplaceNamedRangeContentRequest (..),+    newReplaceNamedRangeContentRequest,++    -- ** Request'+    Request' (..),+    newRequest,++    -- ** Response+    Response (..),+    newResponse,++    -- ** RgbColor+    RgbColor (..),+    newRgbColor,++    -- ** RichLink+    RichLink (..),+    newRichLink,++    -- ** RichLink_SuggestedTextStyleChanges+    RichLink_SuggestedTextStyleChanges (..),+    newRichLink_SuggestedTextStyleChanges,++    -- ** RichLinkProperties+    RichLinkProperties (..),+    newRichLinkProperties,++    -- ** SectionBreak+    SectionBreak (..),+    newSectionBreak,++    -- ** SectionColumnProperties+    SectionColumnProperties (..),+    newSectionColumnProperties,++    -- ** SectionStyle+    SectionStyle (..),+    newSectionStyle,++    -- ** SectionStyle_ColumnSeparatorStyle+    SectionStyle_ColumnSeparatorStyle (..),++    -- ** SectionStyle_ContentDirection+    SectionStyle_ContentDirection (..),++    -- ** SectionStyle_SectionType+    SectionStyle_SectionType (..),++    -- ** Shading+    Shading (..),+    newShading,++    -- ** ShadingSuggestionState+    ShadingSuggestionState (..),+    newShadingSuggestionState,++    -- ** SheetsChartReference+    SheetsChartReference (..),+    newSheetsChartReference,++    -- ** SheetsChartReferenceSuggestionState+    SheetsChartReferenceSuggestionState (..),+    newSheetsChartReferenceSuggestionState,++    -- ** Size+    Size (..),+    newSize,++    -- ** SizeSuggestionState+    SizeSuggestionState (..),+    newSizeSuggestionState,++    -- ** StructuralElement+    StructuralElement (..),+    newStructuralElement,++    -- ** SubstringMatchCriteria+    SubstringMatchCriteria (..),+    newSubstringMatchCriteria,++    -- ** SuggestedBullet+    SuggestedBullet (..),+    newSuggestedBullet,++    -- ** SuggestedDocumentStyle+    SuggestedDocumentStyle (..),+    newSuggestedDocumentStyle,++    -- ** SuggestedInlineObjectProperties+    SuggestedInlineObjectProperties (..),+    newSuggestedInlineObjectProperties,++    -- ** SuggestedListProperties+    SuggestedListProperties (..),+    newSuggestedListProperties,++    -- ** SuggestedNamedStyles+    SuggestedNamedStyles (..),+    newSuggestedNamedStyles,++    -- ** SuggestedParagraphStyle+    SuggestedParagraphStyle (..),+    newSuggestedParagraphStyle,++    -- ** SuggestedPositionedObjectProperties+    SuggestedPositionedObjectProperties (..),+    newSuggestedPositionedObjectProperties,++    -- ** SuggestedTableCellStyle+    SuggestedTableCellStyle (..),+    newSuggestedTableCellStyle,++    -- ** SuggestedTableRowStyle+    SuggestedTableRowStyle (..),+    newSuggestedTableRowStyle,++    -- ** SuggestedTextStyle+    SuggestedTextStyle (..),+    newSuggestedTextStyle,++    -- ** Tab+    Tab (..),+    newTab,++    -- ** TabProperties+    TabProperties (..),+    newTabProperties,++    -- ** TabStop+    TabStop (..),+    newTabStop,++    -- ** TabStop_Alignment+    TabStop_Alignment (..),++    -- ** Table+    Table (..),+    newTable,++    -- ** TableCell+    TableCell (..),+    newTableCell,++    -- ** TableCell_SuggestedTableCellStyleChanges+    TableCell_SuggestedTableCellStyleChanges (..),+    newTableCell_SuggestedTableCellStyleChanges,++    -- ** TableCellBorder+    TableCellBorder (..),+    newTableCellBorder,++    -- ** TableCellBorder_DashStyle+    TableCellBorder_DashStyle (..),++    -- ** TableCellLocation+    TableCellLocation (..),+    newTableCellLocation,++    -- ** TableCellStyle+    TableCellStyle (..),+    newTableCellStyle,++    -- ** TableCellStyle_ContentAlignment+    TableCellStyle_ContentAlignment (..),++    -- ** TableCellStyleSuggestionState+    TableCellStyleSuggestionState (..),+    newTableCellStyleSuggestionState,++    -- ** TableColumnProperties+    TableColumnProperties (..),+    newTableColumnProperties,++    -- ** TableColumnProperties_WidthType+    TableColumnProperties_WidthType (..),++    -- ** TableOfContents+    TableOfContents (..),+    newTableOfContents,++    -- ** TableRange+    TableRange (..),+    newTableRange,++    -- ** TableRow+    TableRow (..),+    newTableRow,++    -- ** TableRow_SuggestedTableRowStyleChanges+    TableRow_SuggestedTableRowStyleChanges (..),+    newTableRow_SuggestedTableRowStyleChanges,++    -- ** TableRowStyle+    TableRowStyle (..),+    newTableRowStyle,++    -- ** TableRowStyleSuggestionState+    TableRowStyleSuggestionState (..),+    newTableRowStyleSuggestionState,++    -- ** TableStyle+    TableStyle (..),+    newTableStyle,++    -- ** TabsCriteria+    TabsCriteria (..),+    newTabsCriteria,++    -- ** TextRun+    TextRun (..),+    newTextRun,++    -- ** TextRun_SuggestedTextStyleChanges+    TextRun_SuggestedTextStyleChanges (..),+    newTextRun_SuggestedTextStyleChanges,++    -- ** TextStyle+    TextStyle (..),+    newTextStyle,++    -- ** TextStyle_BaselineOffset+    TextStyle_BaselineOffset (..),++    -- ** TextStyleSuggestionState+    TextStyleSuggestionState (..),+    newTextStyleSuggestionState,++    -- ** UnmergeTableCellsRequest+    UnmergeTableCellsRequest (..),+    newUnmergeTableCellsRequest,++    -- ** UpdateDocumentStyleRequest+    UpdateDocumentStyleRequest (..),+    newUpdateDocumentStyleRequest,++    -- ** UpdateParagraphStyleRequest+    UpdateParagraphStyleRequest (..),+    newUpdateParagraphStyleRequest,++    -- ** UpdateSectionStyleRequest+    UpdateSectionStyleRequest (..),+    newUpdateSectionStyleRequest,++    -- ** UpdateTableCellStyleRequest+    UpdateTableCellStyleRequest (..),+    newUpdateTableCellStyleRequest,++    -- ** UpdateTableColumnPropertiesRequest+    UpdateTableColumnPropertiesRequest (..),+    newUpdateTableColumnPropertiesRequest,++    -- ** UpdateTableRowStyleRequest+    UpdateTableRowStyleRequest (..),+    newUpdateTableRowStyleRequest,++    -- ** UpdateTextStyleRequest+    UpdateTextStyleRequest (..),+    newUpdateTextStyleRequest,++    -- ** WeightedFontFamily+    WeightedFontFamily (..),+    newWeightedFontFamily,++    -- ** WriteControl+    WriteControl (..),+    newWriteControl,++    -- ** DocumentsGetSuggestionsViewMode+    DocumentsGetSuggestionsViewMode (..),+  )+where++import Gogol.Docs.Documents.BatchUpdate+import Gogol.Docs.Documents.Create+import Gogol.Docs.Documents.Get+import Gogol.Docs.Types
+ gen/Gogol/Docs/Documents/BatchUpdate.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.Docs.Documents.BatchUpdate+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Applies one or more updates to the document. Each request is validated before being applied. If any request is not valid, then the entire request will fail and nothing will be applied. Some requests have replies to give you some information about how they are applied. Other requests do not need to return information; these each return an empty reply. The order of replies matches that of the requests. For example, suppose you call batchUpdate with four updates, and only the third one returns information. The response would have two empty replies, the reply to the third request, and another empty reply, in that order. Because other users may be editing the document, the document might not exactly reflect your changes: your changes may be altered with respect to collaborator changes. If there are no collaborators, the document should reflect your changes. In any case, the updates in your request are guaranteed to be applied together atomically.+--+-- /See:/ <https://developers.google.com/docs/ Google Docs API Reference> for @docs.documents.batchUpdate@.+module Gogol.Docs.Documents.BatchUpdate+  ( -- * Resource+    DocsDocumentsBatchUpdateResource,++    -- ** Constructing a Request+    DocsDocumentsBatchUpdate (..),+    newDocsDocumentsBatchUpdate,+  )+where++import Gogol.Docs.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @docs.documents.batchUpdate@ method which the+-- 'DocsDocumentsBatchUpdate' request conforms to.+type DocsDocumentsBatchUpdateResource =+  "v1"+    Core.:> "documents"+    Core.:> Core.CaptureMode "documentId" "batchUpdate" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody '[Core.JSON] BatchUpdateDocumentRequest+    Core.:> Core.Post '[Core.JSON] BatchUpdateDocumentResponse++-- | Applies one or more updates to the document. Each request is validated before being applied. If any request is not valid, then the entire request will fail and nothing will be applied. Some requests have replies to give you some information about how they are applied. Other requests do not need to return information; these each return an empty reply. The order of replies matches that of the requests. For example, suppose you call batchUpdate with four updates, and only the third one returns information. The response would have two empty replies, the reply to the third request, and another empty reply, in that order. Because other users may be editing the document, the document might not exactly reflect your changes: your changes may be altered with respect to collaborator changes. If there are no collaborators, the document should reflect your changes. In any case, the updates in your request are guaranteed to be applied together atomically.+--+-- /See:/ 'newDocsDocumentsBatchUpdate' smart constructor.+data DocsDocumentsBatchUpdate = DocsDocumentsBatchUpdate+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | The ID of the document to update.+    documentId :: Core.Text,+    -- | Multipart request metadata.+    payload :: BatchUpdateDocumentRequest,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DocsDocumentsBatchUpdate' with the minimum fields required to make a request.+newDocsDocumentsBatchUpdate ::+  -- |  The ID of the document to update. See 'documentId'.+  Core.Text ->+  -- |  Multipart request metadata. See 'payload'.+  BatchUpdateDocumentRequest ->+  DocsDocumentsBatchUpdate+newDocsDocumentsBatchUpdate documentId payload =+  DocsDocumentsBatchUpdate+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      documentId = documentId,+      payload = payload,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest DocsDocumentsBatchUpdate where+  type Rs DocsDocumentsBatchUpdate = BatchUpdateDocumentResponse+  type+    Scopes DocsDocumentsBatchUpdate =+      '[Documents'FullControl, Drive'FullControl, Drive'File]+  requestClient DocsDocumentsBatchUpdate {..} =+    go+      documentId+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      docsService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy DocsDocumentsBatchUpdateResource)+          Core.mempty
+ gen/Gogol/Docs/Documents/Create.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.Docs.Documents.Create+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a blank document using the title given in the request. Other fields in the request, including any provided content, are ignored. Returns the created document.+--+-- /See:/ <https://developers.google.com/docs/ Google Docs API Reference> for @docs.documents.create@.+module Gogol.Docs.Documents.Create+  ( -- * Resource+    DocsDocumentsCreateResource,++    -- ** Constructing a Request+    DocsDocumentsCreate (..),+    newDocsDocumentsCreate,+  )+where++import Gogol.Docs.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @docs.documents.create@ method which the+-- 'DocsDocumentsCreate' request conforms to.+type DocsDocumentsCreateResource =+  "v1"+    Core.:> "documents"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody '[Core.JSON] Document+    Core.:> Core.Post '[Core.JSON] Document++-- | Creates a blank document using the title given in the request. Other fields in the request, including any provided content, are ignored. Returns the created document.+--+-- /See:/ 'newDocsDocumentsCreate' smart constructor.+data DocsDocumentsCreate = DocsDocumentsCreate+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Multipart request metadata.+    payload :: Document,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DocsDocumentsCreate' with the minimum fields required to make a request.+newDocsDocumentsCreate ::+  -- |  Multipart request metadata. See 'payload'.+  Document ->+  DocsDocumentsCreate+newDocsDocumentsCreate payload =+  DocsDocumentsCreate+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      payload = payload,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest DocsDocumentsCreate where+  type Rs DocsDocumentsCreate = Document+  type+    Scopes DocsDocumentsCreate =+      '[Documents'FullControl, Drive'FullControl, Drive'File]+  requestClient DocsDocumentsCreate {..} =+    go+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      docsService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy DocsDocumentsCreateResource)+          Core.mempty
+ gen/Gogol/Docs/Documents/Get.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.Docs.Documents.Get+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the latest version of the specified document.+--+-- /See:/ <https://developers.google.com/docs/ Google Docs API Reference> for @docs.documents.get@.+module Gogol.Docs.Documents.Get+  ( -- * Resource+    DocsDocumentsGetResource,++    -- ** Constructing a Request+    DocsDocumentsGet (..),+    newDocsDocumentsGet,+  )+where++import Gogol.Docs.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @docs.documents.get@ method which the+-- 'DocsDocumentsGet' request conforms to.+type DocsDocumentsGetResource =+  "v1"+    Core.:> "documents"+    Core.:> Core.Capture "documentId" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "includeTabsContent" Core.Bool+    Core.:> Core.QueryParam+              "suggestionsViewMode"+              DocumentsGetSuggestionsViewMode+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] Document++-- | Gets the latest version of the specified document.+--+-- /See:/ 'newDocsDocumentsGet' smart constructor.+data DocsDocumentsGet = DocsDocumentsGet+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | The ID of the document to retrieve.+    documentId :: Core.Text,+    -- | Whether to populate the Document.tabs field instead of the text content fields like @body@ and @documentStyle@ on Document. - When @True@: Document content populates in the Document.tabs field instead of the text content fields in Document. - When @False@: The content of the document\'s first tab populates the content fields in Document excluding Document.tabs. If a document has only one tab, then that tab is used to populate the document content. Document.tabs will be empty.+    includeTabsContent :: (Core.Maybe Core.Bool),+    -- | The suggestions view mode to apply to the document. This allows viewing the document with all suggestions inline, accepted or rejected. If one is not specified, DEFAULT/FOR/CURRENT_ACCESS is used.+    suggestionsViewMode :: (Core.Maybe DocumentsGetSuggestionsViewMode),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DocsDocumentsGet' with the minimum fields required to make a request.+newDocsDocumentsGet ::+  -- |  The ID of the document to retrieve. See 'documentId'.+  Core.Text ->+  DocsDocumentsGet+newDocsDocumentsGet documentId =+  DocsDocumentsGet+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      documentId = documentId,+      includeTabsContent = Core.Nothing,+      suggestionsViewMode = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest DocsDocumentsGet where+  type Rs DocsDocumentsGet = Document+  type+    Scopes DocsDocumentsGet =+      '[ Documents'FullControl,+         Documents'Readonly,+         Drive'FullControl,+         Drive'File,+         Drive'Readonly+       ]+  requestClient DocsDocumentsGet {..} =+    go+      documentId+      xgafv+      accessToken+      callback+      includeTabsContent+      suggestionsViewMode+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      docsService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy DocsDocumentsGetResource)+          Core.mempty
+ gen/Gogol/Docs/Internal/Product.hs view
@@ -0,0 +1,9387 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.Docs.Internal.Product+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Gogol.Docs.Internal.Product+  ( -- * AutoText+    AutoText (..),+    newAutoText,++    -- * AutoText_SuggestedTextStyleChanges+    AutoText_SuggestedTextStyleChanges (..),+    newAutoText_SuggestedTextStyleChanges,++    -- * Background+    Background (..),+    newBackground,++    -- * BackgroundSuggestionState+    BackgroundSuggestionState (..),+    newBackgroundSuggestionState,++    -- * BatchUpdateDocumentRequest+    BatchUpdateDocumentRequest (..),+    newBatchUpdateDocumentRequest,++    -- * BatchUpdateDocumentResponse+    BatchUpdateDocumentResponse (..),+    newBatchUpdateDocumentResponse,++    -- * Body+    Body (..),+    newBody,++    -- * BookmarkLink+    BookmarkLink (..),+    newBookmarkLink,++    -- * Bullet+    Bullet (..),+    newBullet,++    -- * BulletSuggestionState+    BulletSuggestionState (..),+    newBulletSuggestionState,++    -- * Color+    Color (..),+    newColor,++    -- * ColumnBreak+    ColumnBreak (..),+    newColumnBreak,++    -- * ColumnBreak_SuggestedTextStyleChanges+    ColumnBreak_SuggestedTextStyleChanges (..),+    newColumnBreak_SuggestedTextStyleChanges,++    -- * CreateFooterRequest+    CreateFooterRequest (..),+    newCreateFooterRequest,++    -- * CreateFooterResponse+    CreateFooterResponse (..),+    newCreateFooterResponse,++    -- * CreateFootnoteRequest+    CreateFootnoteRequest (..),+    newCreateFootnoteRequest,++    -- * CreateFootnoteResponse+    CreateFootnoteResponse (..),+    newCreateFootnoteResponse,++    -- * CreateHeaderRequest+    CreateHeaderRequest (..),+    newCreateHeaderRequest,++    -- * CreateHeaderResponse+    CreateHeaderResponse (..),+    newCreateHeaderResponse,++    -- * CreateNamedRangeRequest+    CreateNamedRangeRequest (..),+    newCreateNamedRangeRequest,++    -- * CreateNamedRangeResponse+    CreateNamedRangeResponse (..),+    newCreateNamedRangeResponse,++    -- * CreateParagraphBulletsRequest+    CreateParagraphBulletsRequest (..),+    newCreateParagraphBulletsRequest,++    -- * CropProperties+    CropProperties (..),+    newCropProperties,++    -- * CropPropertiesSuggestionState+    CropPropertiesSuggestionState (..),+    newCropPropertiesSuggestionState,++    -- * DeleteContentRangeRequest+    DeleteContentRangeRequest (..),+    newDeleteContentRangeRequest,++    -- * DeleteFooterRequest+    DeleteFooterRequest (..),+    newDeleteFooterRequest,++    -- * DeleteHeaderRequest+    DeleteHeaderRequest (..),+    newDeleteHeaderRequest,++    -- * DeleteNamedRangeRequest+    DeleteNamedRangeRequest (..),+    newDeleteNamedRangeRequest,++    -- * DeleteParagraphBulletsRequest+    DeleteParagraphBulletsRequest (..),+    newDeleteParagraphBulletsRequest,++    -- * DeletePositionedObjectRequest+    DeletePositionedObjectRequest (..),+    newDeletePositionedObjectRequest,++    -- * DeleteTableColumnRequest+    DeleteTableColumnRequest (..),+    newDeleteTableColumnRequest,++    -- * DeleteTableRowRequest+    DeleteTableRowRequest (..),+    newDeleteTableRowRequest,++    -- * Dimension+    Dimension (..),+    newDimension,++    -- * Document+    Document (..),+    newDocument,++    -- * Document_Footers+    Document_Footers (..),+    newDocument_Footers,++    -- * Document_Footnotes+    Document_Footnotes (..),+    newDocument_Footnotes,++    -- * Document_Headers+    Document_Headers (..),+    newDocument_Headers,++    -- * Document_InlineObjects+    Document_InlineObjects (..),+    newDocument_InlineObjects,++    -- * Document_Lists+    Document_Lists (..),+    newDocument_Lists,++    -- * Document_NamedRanges+    Document_NamedRanges (..),+    newDocument_NamedRanges,++    -- * Document_PositionedObjects+    Document_PositionedObjects (..),+    newDocument_PositionedObjects,++    -- * Document_SuggestedDocumentStyleChanges+    Document_SuggestedDocumentStyleChanges (..),+    newDocument_SuggestedDocumentStyleChanges,++    -- * Document_SuggestedNamedStylesChanges+    Document_SuggestedNamedStylesChanges (..),+    newDocument_SuggestedNamedStylesChanges,++    -- * DocumentStyle+    DocumentStyle (..),+    newDocumentStyle,++    -- * DocumentStyleSuggestionState+    DocumentStyleSuggestionState (..),+    newDocumentStyleSuggestionState,++    -- * DocumentTab+    DocumentTab (..),+    newDocumentTab,++    -- * DocumentTab_Footers+    DocumentTab_Footers (..),+    newDocumentTab_Footers,++    -- * DocumentTab_Footnotes+    DocumentTab_Footnotes (..),+    newDocumentTab_Footnotes,++    -- * DocumentTab_Headers+    DocumentTab_Headers (..),+    newDocumentTab_Headers,++    -- * DocumentTab_InlineObjects+    DocumentTab_InlineObjects (..),+    newDocumentTab_InlineObjects,++    -- * DocumentTab_Lists+    DocumentTab_Lists (..),+    newDocumentTab_Lists,++    -- * DocumentTab_NamedRanges+    DocumentTab_NamedRanges (..),+    newDocumentTab_NamedRanges,++    -- * DocumentTab_PositionedObjects+    DocumentTab_PositionedObjects (..),+    newDocumentTab_PositionedObjects,++    -- * DocumentTab_SuggestedDocumentStyleChanges+    DocumentTab_SuggestedDocumentStyleChanges (..),+    newDocumentTab_SuggestedDocumentStyleChanges,++    -- * DocumentTab_SuggestedNamedStylesChanges+    DocumentTab_SuggestedNamedStylesChanges (..),+    newDocumentTab_SuggestedNamedStylesChanges,++    -- * EmbeddedDrawingProperties+    EmbeddedDrawingProperties (..),+    newEmbeddedDrawingProperties,++    -- * EmbeddedDrawingPropertiesSuggestionState+    EmbeddedDrawingPropertiesSuggestionState (..),+    newEmbeddedDrawingPropertiesSuggestionState,++    -- * EmbeddedObject+    EmbeddedObject (..),+    newEmbeddedObject,++    -- * EmbeddedObjectBorder+    EmbeddedObjectBorder (..),+    newEmbeddedObjectBorder,++    -- * EmbeddedObjectBorderSuggestionState+    EmbeddedObjectBorderSuggestionState (..),+    newEmbeddedObjectBorderSuggestionState,++    -- * EmbeddedObjectSuggestionState+    EmbeddedObjectSuggestionState (..),+    newEmbeddedObjectSuggestionState,++    -- * EndOfSegmentLocation+    EndOfSegmentLocation (..),+    newEndOfSegmentLocation,++    -- * Equation+    Equation (..),+    newEquation,++    -- * Footer+    Footer (..),+    newFooter,++    -- * Footnote+    Footnote (..),+    newFootnote,++    -- * FootnoteReference+    FootnoteReference (..),+    newFootnoteReference,++    -- * FootnoteReference_SuggestedTextStyleChanges+    FootnoteReference_SuggestedTextStyleChanges (..),+    newFootnoteReference_SuggestedTextStyleChanges,++    -- * Header+    Header (..),+    newHeader,++    -- * HeadingLink+    HeadingLink (..),+    newHeadingLink,++    -- * HorizontalRule+    HorizontalRule (..),+    newHorizontalRule,++    -- * HorizontalRule_SuggestedTextStyleChanges+    HorizontalRule_SuggestedTextStyleChanges (..),+    newHorizontalRule_SuggestedTextStyleChanges,++    -- * ImageProperties+    ImageProperties (..),+    newImageProperties,++    -- * ImagePropertiesSuggestionState+    ImagePropertiesSuggestionState (..),+    newImagePropertiesSuggestionState,++    -- * InlineObject+    InlineObject (..),+    newInlineObject,++    -- * InlineObject_SuggestedInlineObjectPropertiesChanges+    InlineObject_SuggestedInlineObjectPropertiesChanges (..),+    newInlineObject_SuggestedInlineObjectPropertiesChanges,++    -- * InlineObjectElement+    InlineObjectElement (..),+    newInlineObjectElement,++    -- * InlineObjectElement_SuggestedTextStyleChanges+    InlineObjectElement_SuggestedTextStyleChanges (..),+    newInlineObjectElement_SuggestedTextStyleChanges,++    -- * InlineObjectProperties+    InlineObjectProperties (..),+    newInlineObjectProperties,++    -- * InlineObjectPropertiesSuggestionState+    InlineObjectPropertiesSuggestionState (..),+    newInlineObjectPropertiesSuggestionState,++    -- * InsertInlineImageRequest+    InsertInlineImageRequest (..),+    newInsertInlineImageRequest,++    -- * InsertInlineImageResponse+    InsertInlineImageResponse (..),+    newInsertInlineImageResponse,++    -- * InsertInlineSheetsChartResponse+    InsertInlineSheetsChartResponse (..),+    newInsertInlineSheetsChartResponse,++    -- * InsertPageBreakRequest+    InsertPageBreakRequest (..),+    newInsertPageBreakRequest,++    -- * InsertSectionBreakRequest+    InsertSectionBreakRequest (..),+    newInsertSectionBreakRequest,++    -- * InsertTableColumnRequest+    InsertTableColumnRequest (..),+    newInsertTableColumnRequest,++    -- * InsertTableRequest+    InsertTableRequest (..),+    newInsertTableRequest,++    -- * InsertTableRowRequest+    InsertTableRowRequest (..),+    newInsertTableRowRequest,++    -- * InsertTextRequest+    InsertTextRequest (..),+    newInsertTextRequest,++    -- * Link+    Link (..),+    newLink,++    -- * LinkedContentReference+    LinkedContentReference (..),+    newLinkedContentReference,++    -- * LinkedContentReferenceSuggestionState+    LinkedContentReferenceSuggestionState (..),+    newLinkedContentReferenceSuggestionState,++    -- * List+    List (..),+    newList,++    -- * List_SuggestedListPropertiesChanges+    List_SuggestedListPropertiesChanges (..),+    newList_SuggestedListPropertiesChanges,++    -- * ListProperties+    ListProperties (..),+    newListProperties,++    -- * ListPropertiesSuggestionState+    ListPropertiesSuggestionState (..),+    newListPropertiesSuggestionState,++    -- * Location+    Location (..),+    newLocation,++    -- * MergeTableCellsRequest+    MergeTableCellsRequest (..),+    newMergeTableCellsRequest,++    -- * NamedRange+    NamedRange (..),+    newNamedRange,++    -- * NamedRanges+    NamedRanges (..),+    newNamedRanges,++    -- * NamedStyle+    NamedStyle (..),+    newNamedStyle,++    -- * NamedStyleSuggestionState+    NamedStyleSuggestionState (..),+    newNamedStyleSuggestionState,++    -- * NamedStyles+    NamedStyles (..),+    newNamedStyles,++    -- * NamedStylesSuggestionState+    NamedStylesSuggestionState (..),+    newNamedStylesSuggestionState,++    -- * NestingLevel+    NestingLevel (..),+    newNestingLevel,++    -- * NestingLevelSuggestionState+    NestingLevelSuggestionState (..),+    newNestingLevelSuggestionState,++    -- * ObjectReferences+    ObjectReferences (..),+    newObjectReferences,++    -- * OptionalColor+    OptionalColor (..),+    newOptionalColor,++    -- * PageBreak+    PageBreak (..),+    newPageBreak,++    -- * PageBreak_SuggestedTextStyleChanges+    PageBreak_SuggestedTextStyleChanges (..),+    newPageBreak_SuggestedTextStyleChanges,++    -- * Paragraph+    Paragraph (..),+    newParagraph,++    -- * Paragraph_SuggestedBulletChanges+    Paragraph_SuggestedBulletChanges (..),+    newParagraph_SuggestedBulletChanges,++    -- * Paragraph_SuggestedParagraphStyleChanges+    Paragraph_SuggestedParagraphStyleChanges (..),+    newParagraph_SuggestedParagraphStyleChanges,++    -- * Paragraph_SuggestedPositionedObjectIds+    Paragraph_SuggestedPositionedObjectIds (..),+    newParagraph_SuggestedPositionedObjectIds,++    -- * ParagraphBorder+    ParagraphBorder (..),+    newParagraphBorder,++    -- * ParagraphElement+    ParagraphElement (..),+    newParagraphElement,++    -- * ParagraphStyle+    ParagraphStyle (..),+    newParagraphStyle,++    -- * ParagraphStyleSuggestionState+    ParagraphStyleSuggestionState (..),+    newParagraphStyleSuggestionState,++    -- * Person+    Person (..),+    newPerson,++    -- * Person_SuggestedTextStyleChanges+    Person_SuggestedTextStyleChanges (..),+    newPerson_SuggestedTextStyleChanges,++    -- * PersonProperties+    PersonProperties (..),+    newPersonProperties,++    -- * PinTableHeaderRowsRequest+    PinTableHeaderRowsRequest (..),+    newPinTableHeaderRowsRequest,++    -- * PositionedObject+    PositionedObject (..),+    newPositionedObject,++    -- * PositionedObject_SuggestedPositionedObjectPropertiesChanges+    PositionedObject_SuggestedPositionedObjectPropertiesChanges (..),+    newPositionedObject_SuggestedPositionedObjectPropertiesChanges,++    -- * PositionedObjectPositioning+    PositionedObjectPositioning (..),+    newPositionedObjectPositioning,++    -- * PositionedObjectPositioningSuggestionState+    PositionedObjectPositioningSuggestionState (..),+    newPositionedObjectPositioningSuggestionState,++    -- * PositionedObjectProperties+    PositionedObjectProperties (..),+    newPositionedObjectProperties,++    -- * PositionedObjectPropertiesSuggestionState+    PositionedObjectPropertiesSuggestionState (..),+    newPositionedObjectPropertiesSuggestionState,++    -- * Range+    Range (..),+    newRange,++    -- * ReplaceAllTextRequest+    ReplaceAllTextRequest (..),+    newReplaceAllTextRequest,++    -- * ReplaceAllTextResponse+    ReplaceAllTextResponse (..),+    newReplaceAllTextResponse,++    -- * ReplaceImageRequest+    ReplaceImageRequest (..),+    newReplaceImageRequest,++    -- * ReplaceNamedRangeContentRequest+    ReplaceNamedRangeContentRequest (..),+    newReplaceNamedRangeContentRequest,++    -- * Request'+    Request' (..),+    newRequest,++    -- * Response+    Response (..),+    newResponse,++    -- * RgbColor+    RgbColor (..),+    newRgbColor,++    -- * RichLink+    RichLink (..),+    newRichLink,++    -- * RichLink_SuggestedTextStyleChanges+    RichLink_SuggestedTextStyleChanges (..),+    newRichLink_SuggestedTextStyleChanges,++    -- * RichLinkProperties+    RichLinkProperties (..),+    newRichLinkProperties,++    -- * SectionBreak+    SectionBreak (..),+    newSectionBreak,++    -- * SectionColumnProperties+    SectionColumnProperties (..),+    newSectionColumnProperties,++    -- * SectionStyle+    SectionStyle (..),+    newSectionStyle,++    -- * Shading+    Shading (..),+    newShading,++    -- * ShadingSuggestionState+    ShadingSuggestionState (..),+    newShadingSuggestionState,++    -- * SheetsChartReference+    SheetsChartReference (..),+    newSheetsChartReference,++    -- * SheetsChartReferenceSuggestionState+    SheetsChartReferenceSuggestionState (..),+    newSheetsChartReferenceSuggestionState,++    -- * Size+    Size (..),+    newSize,++    -- * SizeSuggestionState+    SizeSuggestionState (..),+    newSizeSuggestionState,++    -- * StructuralElement+    StructuralElement (..),+    newStructuralElement,++    -- * SubstringMatchCriteria+    SubstringMatchCriteria (..),+    newSubstringMatchCriteria,++    -- * SuggestedBullet+    SuggestedBullet (..),+    newSuggestedBullet,++    -- * SuggestedDocumentStyle+    SuggestedDocumentStyle (..),+    newSuggestedDocumentStyle,++    -- * SuggestedInlineObjectProperties+    SuggestedInlineObjectProperties (..),+    newSuggestedInlineObjectProperties,++    -- * SuggestedListProperties+    SuggestedListProperties (..),+    newSuggestedListProperties,++    -- * SuggestedNamedStyles+    SuggestedNamedStyles (..),+    newSuggestedNamedStyles,++    -- * SuggestedParagraphStyle+    SuggestedParagraphStyle (..),+    newSuggestedParagraphStyle,++    -- * SuggestedPositionedObjectProperties+    SuggestedPositionedObjectProperties (..),+    newSuggestedPositionedObjectProperties,++    -- * SuggestedTableCellStyle+    SuggestedTableCellStyle (..),+    newSuggestedTableCellStyle,++    -- * SuggestedTableRowStyle+    SuggestedTableRowStyle (..),+    newSuggestedTableRowStyle,++    -- * SuggestedTextStyle+    SuggestedTextStyle (..),+    newSuggestedTextStyle,++    -- * Tab+    Tab (..),+    newTab,++    -- * TabProperties+    TabProperties (..),+    newTabProperties,++    -- * TabStop+    TabStop (..),+    newTabStop,++    -- * Table+    Table (..),+    newTable,++    -- * TableCell+    TableCell (..),+    newTableCell,++    -- * TableCell_SuggestedTableCellStyleChanges+    TableCell_SuggestedTableCellStyleChanges (..),+    newTableCell_SuggestedTableCellStyleChanges,++    -- * TableCellBorder+    TableCellBorder (..),+    newTableCellBorder,++    -- * TableCellLocation+    TableCellLocation (..),+    newTableCellLocation,++    -- * TableCellStyle+    TableCellStyle (..),+    newTableCellStyle,++    -- * TableCellStyleSuggestionState+    TableCellStyleSuggestionState (..),+    newTableCellStyleSuggestionState,++    -- * TableColumnProperties+    TableColumnProperties (..),+    newTableColumnProperties,++    -- * TableOfContents+    TableOfContents (..),+    newTableOfContents,++    -- * TableRange+    TableRange (..),+    newTableRange,++    -- * TableRow+    TableRow (..),+    newTableRow,++    -- * TableRow_SuggestedTableRowStyleChanges+    TableRow_SuggestedTableRowStyleChanges (..),+    newTableRow_SuggestedTableRowStyleChanges,++    -- * TableRowStyle+    TableRowStyle (..),+    newTableRowStyle,++    -- * TableRowStyleSuggestionState+    TableRowStyleSuggestionState (..),+    newTableRowStyleSuggestionState,++    -- * TableStyle+    TableStyle (..),+    newTableStyle,++    -- * TabsCriteria+    TabsCriteria (..),+    newTabsCriteria,++    -- * TextRun+    TextRun (..),+    newTextRun,++    -- * TextRun_SuggestedTextStyleChanges+    TextRun_SuggestedTextStyleChanges (..),+    newTextRun_SuggestedTextStyleChanges,++    -- * TextStyle+    TextStyle (..),+    newTextStyle,++    -- * TextStyleSuggestionState+    TextStyleSuggestionState (..),+    newTextStyleSuggestionState,++    -- * UnmergeTableCellsRequest+    UnmergeTableCellsRequest (..),+    newUnmergeTableCellsRequest,++    -- * UpdateDocumentStyleRequest+    UpdateDocumentStyleRequest (..),+    newUpdateDocumentStyleRequest,++    -- * UpdateParagraphStyleRequest+    UpdateParagraphStyleRequest (..),+    newUpdateParagraphStyleRequest,++    -- * UpdateSectionStyleRequest+    UpdateSectionStyleRequest (..),+    newUpdateSectionStyleRequest,++    -- * UpdateTableCellStyleRequest+    UpdateTableCellStyleRequest (..),+    newUpdateTableCellStyleRequest,++    -- * UpdateTableColumnPropertiesRequest+    UpdateTableColumnPropertiesRequest (..),+    newUpdateTableColumnPropertiesRequest,++    -- * UpdateTableRowStyleRequest+    UpdateTableRowStyleRequest (..),+    newUpdateTableRowStyleRequest,++    -- * UpdateTextStyleRequest+    UpdateTextStyleRequest (..),+    newUpdateTextStyleRequest,++    -- * WeightedFontFamily+    WeightedFontFamily (..),+    newWeightedFontFamily,++    -- * WriteControl+    WriteControl (..),+    newWriteControl,+  )+where++import Gogol.Docs.Internal.Sum+import Gogol.Prelude qualified as Core++-- | A ParagraphElement representing a spot in the text that\'s dynamically replaced with content that can change over time, like a page number.+--+-- /See:/ 'newAutoText' smart constructor.+data AutoText = AutoText+  { -- | The suggested deletion IDs. If empty, then there are no suggested deletions of this content.+    suggestedDeletionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested insertion IDs. An AutoText may have multiple insertion IDs if it\'s a nested suggested change. If empty, then this is not a suggested insertion.+    suggestedInsertionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested text style changes to this AutoText, keyed by suggestion ID.+    suggestedTextStyleChanges :: (Core.Maybe AutoText_SuggestedTextStyleChanges),+    -- | The text style of this AutoText.+    textStyle :: (Core.Maybe TextStyle),+    -- | The type of this auto text.+    type' :: (Core.Maybe AutoText_Type)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'AutoText' with the minimum fields required to make a request.+newAutoText ::+  AutoText+newAutoText =+  AutoText+    { suggestedDeletionIds = Core.Nothing,+      suggestedInsertionIds = Core.Nothing,+      suggestedTextStyleChanges = Core.Nothing,+      textStyle = Core.Nothing,+      type' = Core.Nothing+    }++instance Core.FromJSON AutoText where+  parseJSON =+    Core.withObject+      "AutoText"+      ( \o ->+          AutoText+            Core.<$> (o Core..:? "suggestedDeletionIds")+            Core.<*> (o Core..:? "suggestedInsertionIds")+            Core.<*> (o Core..:? "suggestedTextStyleChanges")+            Core.<*> (o Core..:? "textStyle")+            Core.<*> (o Core..:? "type")+      )++instance Core.ToJSON AutoText where+  toJSON AutoText {..} =+    Core.object+      ( Core.catMaybes+          [ ("suggestedDeletionIds" Core..=) Core.<$> suggestedDeletionIds,+            ("suggestedInsertionIds" Core..=) Core.<$> suggestedInsertionIds,+            ("suggestedTextStyleChanges" Core..=)+              Core.<$> suggestedTextStyleChanges,+            ("textStyle" Core..=) Core.<$> textStyle,+            ("type" Core..=) Core.<$> type'+          ]+      )++-- | The suggested text style changes to this AutoText, keyed by suggestion ID.+--+-- /See:/ 'newAutoText_SuggestedTextStyleChanges' smart constructor.+newtype AutoText_SuggestedTextStyleChanges = AutoText_SuggestedTextStyleChanges+  { additional :: (Core.HashMap Core.Text SuggestedTextStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'AutoText_SuggestedTextStyleChanges' with the minimum fields required to make a request.+newAutoText_SuggestedTextStyleChanges ::+  -- |  See 'additional'.+  Core.HashMap Core.Text SuggestedTextStyle ->+  AutoText_SuggestedTextStyleChanges+newAutoText_SuggestedTextStyleChanges additional =+  AutoText_SuggestedTextStyleChanges {additional = additional}++instance Core.FromJSON AutoText_SuggestedTextStyleChanges where+  parseJSON =+    Core.withObject+      "AutoText_SuggestedTextStyleChanges"+      ( \o ->+          AutoText_SuggestedTextStyleChanges+            Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON AutoText_SuggestedTextStyleChanges where+  toJSON AutoText_SuggestedTextStyleChanges {..} =+    Core.toJSON additional++-- | Represents the background of a document.+--+-- /See:/ 'newBackground' smart constructor.+newtype Background = Background+  { -- | The background color.+    color :: (Core.Maybe OptionalColor)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Background' with the minimum fields required to make a request.+newBackground ::+  Background+newBackground = Background {color = Core.Nothing}++instance Core.FromJSON Background where+  parseJSON =+    Core.withObject+      "Background"+      (\o -> Background Core.<$> (o Core..:? "color"))++instance Core.ToJSON Background where+  toJSON Background {..} =+    Core.object (Core.catMaybes [("color" Core..=) Core.<$> color])++-- | A mask that indicates which of the fields on the base Background have been changed in this suggestion. For any field set to true, the Backgound has a new suggested value.+--+-- /See:/ 'newBackgroundSuggestionState' smart constructor.+newtype BackgroundSuggestionState = BackgroundSuggestionState+  { -- | Indicates whether the current background color has been modified in this suggestion.+    backgroundColorSuggested :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'BackgroundSuggestionState' with the minimum fields required to make a request.+newBackgroundSuggestionState ::+  BackgroundSuggestionState+newBackgroundSuggestionState =+  BackgroundSuggestionState+    { backgroundColorSuggested =+        Core.Nothing+    }++instance Core.FromJSON BackgroundSuggestionState where+  parseJSON =+    Core.withObject+      "BackgroundSuggestionState"+      ( \o ->+          BackgroundSuggestionState+            Core.<$> (o Core..:? "backgroundColorSuggested")+      )++instance Core.ToJSON BackgroundSuggestionState where+  toJSON BackgroundSuggestionState {..} =+    Core.object+      ( Core.catMaybes+          [ ("backgroundColorSuggested" Core..=)+              Core.<$> backgroundColorSuggested+          ]+      )++-- | Request message for BatchUpdateDocument.+--+-- /See:/ 'newBatchUpdateDocumentRequest' smart constructor.+data BatchUpdateDocumentRequest = BatchUpdateDocumentRequest+  { -- | A list of updates to apply to the document.+    requests :: (Core.Maybe [Request']),+    -- | Provides control over how write requests are executed.+    writeControl :: (Core.Maybe WriteControl)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'BatchUpdateDocumentRequest' with the minimum fields required to make a request.+newBatchUpdateDocumentRequest ::+  BatchUpdateDocumentRequest+newBatchUpdateDocumentRequest =+  BatchUpdateDocumentRequest+    { requests = Core.Nothing,+      writeControl = Core.Nothing+    }++instance Core.FromJSON BatchUpdateDocumentRequest where+  parseJSON =+    Core.withObject+      "BatchUpdateDocumentRequest"+      ( \o ->+          BatchUpdateDocumentRequest+            Core.<$> (o Core..:? "requests")+            Core.<*> (o Core..:? "writeControl")+      )++instance Core.ToJSON BatchUpdateDocumentRequest where+  toJSON BatchUpdateDocumentRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("requests" Core..=) Core.<$> requests,+            ("writeControl" Core..=) Core.<$> writeControl+          ]+      )++-- | Response message from a BatchUpdateDocument request.+--+-- /See:/ 'newBatchUpdateDocumentResponse' smart constructor.+data BatchUpdateDocumentResponse = BatchUpdateDocumentResponse+  { -- | The ID of the document to which the updates were applied to.+    documentId :: (Core.Maybe Core.Text),+    -- | The reply of the updates. This maps 1:1 with the updates, although replies to some requests may be empty.+    replies :: (Core.Maybe [Response]),+    -- | The updated write control after applying the request.+    writeControl :: (Core.Maybe WriteControl)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'BatchUpdateDocumentResponse' with the minimum fields required to make a request.+newBatchUpdateDocumentResponse ::+  BatchUpdateDocumentResponse+newBatchUpdateDocumentResponse =+  BatchUpdateDocumentResponse+    { documentId = Core.Nothing,+      replies = Core.Nothing,+      writeControl = Core.Nothing+    }++instance Core.FromJSON BatchUpdateDocumentResponse where+  parseJSON =+    Core.withObject+      "BatchUpdateDocumentResponse"+      ( \o ->+          BatchUpdateDocumentResponse+            Core.<$> (o Core..:? "documentId")+            Core.<*> (o Core..:? "replies")+            Core.<*> (o Core..:? "writeControl")+      )++instance Core.ToJSON BatchUpdateDocumentResponse where+  toJSON BatchUpdateDocumentResponse {..} =+    Core.object+      ( Core.catMaybes+          [ ("documentId" Core..=) Core.<$> documentId,+            ("replies" Core..=) Core.<$> replies,+            ("writeControl" Core..=) Core.<$> writeControl+          ]+      )++-- | The document body. The body typically contains the full document contents except for headers, footers, and footnotes.+--+-- /See:/ 'newBody' smart constructor.+newtype Body = Body+  { -- | The contents of the body. The indexes for the body\'s content begin at zero.+    content :: (Core.Maybe [StructuralElement])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Body' with the minimum fields required to make a request.+newBody ::+  Body+newBody = Body {content = Core.Nothing}++instance Core.FromJSON Body where+  parseJSON =+    Core.withObject+      "Body"+      (\o -> Body Core.<$> (o Core..:? "content"))++instance Core.ToJSON Body where+  toJSON Body {..} =+    Core.object+      (Core.catMaybes [("content" Core..=) Core.<$> content])++-- | A reference to a bookmark in this document.+--+-- /See:/ 'newBookmarkLink' smart constructor.+data BookmarkLink = BookmarkLink+  { -- | The ID of a bookmark in this document.+    id :: (Core.Maybe Core.Text),+    -- | The ID of the tab containing this bookmark.+    tabId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'BookmarkLink' with the minimum fields required to make a request.+newBookmarkLink ::+  BookmarkLink+newBookmarkLink =+  BookmarkLink {id = Core.Nothing, tabId = Core.Nothing}++instance Core.FromJSON BookmarkLink where+  parseJSON =+    Core.withObject+      "BookmarkLink"+      ( \o ->+          BookmarkLink+            Core.<$> (o Core..:? "id")+            Core.<*> (o Core..:? "tabId")+      )++instance Core.ToJSON BookmarkLink where+  toJSON BookmarkLink {..} =+    Core.object+      ( Core.catMaybes+          [("id" Core..=) Core.<$> id, ("tabId" Core..=) Core.<$> tabId]+      )++-- | Describes the bullet of a paragraph.+--+-- /See:/ 'newBullet' smart constructor.+data Bullet = Bullet+  { -- | The ID of the list this paragraph belongs to.+    listId :: (Core.Maybe Core.Text),+    -- | The nesting level of this paragraph in the list.+    nestingLevel :: (Core.Maybe Core.Int32),+    -- | The paragraph-specific text style applied to this bullet.+    textStyle :: (Core.Maybe TextStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Bullet' with the minimum fields required to make a request.+newBullet ::+  Bullet+newBullet =+  Bullet+    { listId = Core.Nothing,+      nestingLevel = Core.Nothing,+      textStyle = Core.Nothing+    }++instance Core.FromJSON Bullet where+  parseJSON =+    Core.withObject+      "Bullet"+      ( \o ->+          Bullet+            Core.<$> (o Core..:? "listId")+            Core.<*> (o Core..:? "nestingLevel")+            Core.<*> (o Core..:? "textStyle")+      )++instance Core.ToJSON Bullet where+  toJSON Bullet {..} =+    Core.object+      ( Core.catMaybes+          [ ("listId" Core..=) Core.<$> listId,+            ("nestingLevel" Core..=) Core.<$> nestingLevel,+            ("textStyle" Core..=) Core.<$> textStyle+          ]+      )++-- | A mask that indicates which of the fields on the base Bullet have been changed in this suggestion. For any field set to true, there\'s a new suggested value.+--+-- /See:/ 'newBulletSuggestionState' smart constructor.+data BulletSuggestionState = BulletSuggestionState+  { -- | Indicates if there was a suggested change to the list_id.+    listIdSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to the nesting_level.+    nestingLevelSuggested :: (Core.Maybe Core.Bool),+    -- | A mask that indicates which of the fields in text style have been changed in this suggestion.+    textStyleSuggestionState :: (Core.Maybe TextStyleSuggestionState)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'BulletSuggestionState' with the minimum fields required to make a request.+newBulletSuggestionState ::+  BulletSuggestionState+newBulletSuggestionState =+  BulletSuggestionState+    { listIdSuggested = Core.Nothing,+      nestingLevelSuggested = Core.Nothing,+      textStyleSuggestionState = Core.Nothing+    }++instance Core.FromJSON BulletSuggestionState where+  parseJSON =+    Core.withObject+      "BulletSuggestionState"+      ( \o ->+          BulletSuggestionState+            Core.<$> (o Core..:? "listIdSuggested")+            Core.<*> (o Core..:? "nestingLevelSuggested")+            Core.<*> (o Core..:? "textStyleSuggestionState")+      )++instance Core.ToJSON BulletSuggestionState where+  toJSON BulletSuggestionState {..} =+    Core.object+      ( Core.catMaybes+          [ ("listIdSuggested" Core..=) Core.<$> listIdSuggested,+            ("nestingLevelSuggested" Core..=) Core.<$> nestingLevelSuggested,+            ("textStyleSuggestionState" Core..=)+              Core.<$> textStyleSuggestionState+          ]+      )++-- | A solid color.+--+-- /See:/ 'newColor' smart constructor.+newtype Color = Color+  { -- | The RGB color value.+    rgbColor :: (Core.Maybe RgbColor)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Color' with the minimum fields required to make a request.+newColor ::+  Color+newColor = Color {rgbColor = Core.Nothing}++instance Core.FromJSON Color where+  parseJSON =+    Core.withObject+      "Color"+      (\o -> Color Core.<$> (o Core..:? "rgbColor"))++instance Core.ToJSON Color where+  toJSON Color {..} =+    Core.object+      (Core.catMaybes [("rgbColor" Core..=) Core.<$> rgbColor])++-- | A ParagraphElement representing a column break. A column break makes the subsequent text start at the top of the next column.+--+-- /See:/ 'newColumnBreak' smart constructor.+data ColumnBreak = ColumnBreak+  { -- | The suggested deletion IDs. If empty, then there are no suggested deletions of this content.+    suggestedDeletionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested insertion IDs. A ColumnBreak may have multiple insertion IDs if it\'s a nested suggested change. If empty, then this is not a suggested insertion.+    suggestedInsertionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested text style changes to this ColumnBreak, keyed by suggestion ID.+    suggestedTextStyleChanges :: (Core.Maybe ColumnBreak_SuggestedTextStyleChanges),+    -- | The text style of this ColumnBreak. Similar to text content, like text runs and footnote references, the text style of a column break can affect content layout as well as the styling of text inserted next to it.+    textStyle :: (Core.Maybe TextStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ColumnBreak' with the minimum fields required to make a request.+newColumnBreak ::+  ColumnBreak+newColumnBreak =+  ColumnBreak+    { suggestedDeletionIds = Core.Nothing,+      suggestedInsertionIds = Core.Nothing,+      suggestedTextStyleChanges = Core.Nothing,+      textStyle = Core.Nothing+    }++instance Core.FromJSON ColumnBreak where+  parseJSON =+    Core.withObject+      "ColumnBreak"+      ( \o ->+          ColumnBreak+            Core.<$> (o Core..:? "suggestedDeletionIds")+            Core.<*> (o Core..:? "suggestedInsertionIds")+            Core.<*> (o Core..:? "suggestedTextStyleChanges")+            Core.<*> (o Core..:? "textStyle")+      )++instance Core.ToJSON ColumnBreak where+  toJSON ColumnBreak {..} =+    Core.object+      ( Core.catMaybes+          [ ("suggestedDeletionIds" Core..=) Core.<$> suggestedDeletionIds,+            ("suggestedInsertionIds" Core..=) Core.<$> suggestedInsertionIds,+            ("suggestedTextStyleChanges" Core..=)+              Core.<$> suggestedTextStyleChanges,+            ("textStyle" Core..=) Core.<$> textStyle+          ]+      )++-- | The suggested text style changes to this ColumnBreak, keyed by suggestion ID.+--+-- /See:/ 'newColumnBreak_SuggestedTextStyleChanges' smart constructor.+newtype ColumnBreak_SuggestedTextStyleChanges = ColumnBreak_SuggestedTextStyleChanges+  { additional :: (Core.HashMap Core.Text SuggestedTextStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ColumnBreak_SuggestedTextStyleChanges' with the minimum fields required to make a request.+newColumnBreak_SuggestedTextStyleChanges ::+  -- |  See 'additional'.+  Core.HashMap Core.Text SuggestedTextStyle ->+  ColumnBreak_SuggestedTextStyleChanges+newColumnBreak_SuggestedTextStyleChanges additional =+  ColumnBreak_SuggestedTextStyleChanges {additional = additional}++instance Core.FromJSON ColumnBreak_SuggestedTextStyleChanges where+  parseJSON =+    Core.withObject+      "ColumnBreak_SuggestedTextStyleChanges"+      ( \o ->+          ColumnBreak_SuggestedTextStyleChanges+            Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON ColumnBreak_SuggestedTextStyleChanges where+  toJSON ColumnBreak_SuggestedTextStyleChanges {..} =+    Core.toJSON additional++-- | Creates a Footer. The new footer is applied to the SectionStyle at the location of the SectionBreak if specified, otherwise it is applied to the DocumentStyle. If a footer of the specified type already exists, a 400 bad request error is returned.+--+-- /See:/ 'newCreateFooterRequest' smart constructor.+data CreateFooterRequest = CreateFooterRequest+  { -- | The location of the SectionBreak immediately preceding the section whose SectionStyle this footer should belong to. If this is unset or refers to the first section break in the document, the footer applies to the document style.+    sectionBreakLocation :: (Core.Maybe Location),+    -- | The type of footer to create.+    type' :: (Core.Maybe CreateFooterRequest_Type)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CreateFooterRequest' with the minimum fields required to make a request.+newCreateFooterRequest ::+  CreateFooterRequest+newCreateFooterRequest =+  CreateFooterRequest+    { sectionBreakLocation = Core.Nothing,+      type' = Core.Nothing+    }++instance Core.FromJSON CreateFooterRequest where+  parseJSON =+    Core.withObject+      "CreateFooterRequest"+      ( \o ->+          CreateFooterRequest+            Core.<$> (o Core..:? "sectionBreakLocation")+            Core.<*> (o Core..:? "type")+      )++instance Core.ToJSON CreateFooterRequest where+  toJSON CreateFooterRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("sectionBreakLocation" Core..=) Core.<$> sectionBreakLocation,+            ("type" Core..=) Core.<$> type'+          ]+      )++-- | The result of creating a footer.+--+-- /See:/ 'newCreateFooterResponse' smart constructor.+newtype CreateFooterResponse = CreateFooterResponse+  { -- | The ID of the created footer.+    footerId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CreateFooterResponse' with the minimum fields required to make a request.+newCreateFooterResponse ::+  CreateFooterResponse+newCreateFooterResponse =+  CreateFooterResponse {footerId = Core.Nothing}++instance Core.FromJSON CreateFooterResponse where+  parseJSON =+    Core.withObject+      "CreateFooterResponse"+      (\o -> CreateFooterResponse Core.<$> (o Core..:? "footerId"))++instance Core.ToJSON CreateFooterResponse where+  toJSON CreateFooterResponse {..} =+    Core.object+      (Core.catMaybes [("footerId" Core..=) Core.<$> footerId])++-- | Creates a Footnote segment and inserts a new FootnoteReference to it at the given location. The new Footnote segment will contain a space followed by a newline character.+--+-- /See:/ 'newCreateFootnoteRequest' smart constructor.+data CreateFootnoteRequest = CreateFootnoteRequest+  { -- | Inserts the footnote reference at the end of the document body. Footnote references cannot be inserted inside a header, footer or footnote. Since footnote references can only be inserted in the body, the segment ID field must be empty.+    endOfSegmentLocation :: (Core.Maybe EndOfSegmentLocation),+    -- | Inserts the footnote reference at a specific index in the document. The footnote reference must be inserted inside the bounds of an existing Paragraph. For instance, it cannot be inserted at a table\'s start index (i.e. between the table and its preceding paragraph). Footnote references cannot be inserted inside an equation, header, footer or footnote. Since footnote references can only be inserted in the body, the segment ID field must be empty.+    location :: (Core.Maybe Location)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CreateFootnoteRequest' with the minimum fields required to make a request.+newCreateFootnoteRequest ::+  CreateFootnoteRequest+newCreateFootnoteRequest =+  CreateFootnoteRequest+    { endOfSegmentLocation = Core.Nothing,+      location = Core.Nothing+    }++instance Core.FromJSON CreateFootnoteRequest where+  parseJSON =+    Core.withObject+      "CreateFootnoteRequest"+      ( \o ->+          CreateFootnoteRequest+            Core.<$> (o Core..:? "endOfSegmentLocation")+            Core.<*> (o Core..:? "location")+      )++instance Core.ToJSON CreateFootnoteRequest where+  toJSON CreateFootnoteRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("endOfSegmentLocation" Core..=) Core.<$> endOfSegmentLocation,+            ("location" Core..=) Core.<$> location+          ]+      )++-- | The result of creating a footnote.+--+-- /See:/ 'newCreateFootnoteResponse' smart constructor.+newtype CreateFootnoteResponse = CreateFootnoteResponse+  { -- | The ID of the created footnote.+    footnoteId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CreateFootnoteResponse' with the minimum fields required to make a request.+newCreateFootnoteResponse ::+  CreateFootnoteResponse+newCreateFootnoteResponse =+  CreateFootnoteResponse {footnoteId = Core.Nothing}++instance Core.FromJSON CreateFootnoteResponse where+  parseJSON =+    Core.withObject+      "CreateFootnoteResponse"+      (\o -> CreateFootnoteResponse Core.<$> (o Core..:? "footnoteId"))++instance Core.ToJSON CreateFootnoteResponse where+  toJSON CreateFootnoteResponse {..} =+    Core.object+      (Core.catMaybes [("footnoteId" Core..=) Core.<$> footnoteId])++-- | Creates a Header. The new header is applied to the SectionStyle at the location of the SectionBreak if specified, otherwise it is applied to the DocumentStyle. If a header of the specified type already exists, a 400 bad request error is returned.+--+-- /See:/ 'newCreateHeaderRequest' smart constructor.+data CreateHeaderRequest = CreateHeaderRequest+  { -- | The location of the SectionBreak which begins the section this header should belong to. If \`section/break/location\' is unset or if it refers to the first section break in the document body, the header applies to the DocumentStyle+    sectionBreakLocation :: (Core.Maybe Location),+    -- | The type of header to create.+    type' :: (Core.Maybe CreateHeaderRequest_Type)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CreateHeaderRequest' with the minimum fields required to make a request.+newCreateHeaderRequest ::+  CreateHeaderRequest+newCreateHeaderRequest =+  CreateHeaderRequest+    { sectionBreakLocation = Core.Nothing,+      type' = Core.Nothing+    }++instance Core.FromJSON CreateHeaderRequest where+  parseJSON =+    Core.withObject+      "CreateHeaderRequest"+      ( \o ->+          CreateHeaderRequest+            Core.<$> (o Core..:? "sectionBreakLocation")+            Core.<*> (o Core..:? "type")+      )++instance Core.ToJSON CreateHeaderRequest where+  toJSON CreateHeaderRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("sectionBreakLocation" Core..=) Core.<$> sectionBreakLocation,+            ("type" Core..=) Core.<$> type'+          ]+      )++-- | The result of creating a header.+--+-- /See:/ 'newCreateHeaderResponse' smart constructor.+newtype CreateHeaderResponse = CreateHeaderResponse+  { -- | The ID of the created header.+    headerId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CreateHeaderResponse' with the minimum fields required to make a request.+newCreateHeaderResponse ::+  CreateHeaderResponse+newCreateHeaderResponse =+  CreateHeaderResponse {headerId = Core.Nothing}++instance Core.FromJSON CreateHeaderResponse where+  parseJSON =+    Core.withObject+      "CreateHeaderResponse"+      (\o -> CreateHeaderResponse Core.<$> (o Core..:? "headerId"))++instance Core.ToJSON CreateHeaderResponse where+  toJSON CreateHeaderResponse {..} =+    Core.object+      (Core.catMaybes [("headerId" Core..=) Core.<$> headerId])++-- | Creates a NamedRange referencing the given range.+--+-- /See:/ 'newCreateNamedRangeRequest' smart constructor.+data CreateNamedRangeRequest = CreateNamedRangeRequest+  { -- | The name of the NamedRange. Names do not need to be unique. Names must be at least 1 character and no more than 256 characters, measured in UTF-16 code units.+    name :: (Core.Maybe Core.Text),+    -- | The range to apply the name to.+    range :: (Core.Maybe Range)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CreateNamedRangeRequest' with the minimum fields required to make a request.+newCreateNamedRangeRequest ::+  CreateNamedRangeRequest+newCreateNamedRangeRequest =+  CreateNamedRangeRequest+    { name = Core.Nothing,+      range = Core.Nothing+    }++instance Core.FromJSON CreateNamedRangeRequest where+  parseJSON =+    Core.withObject+      "CreateNamedRangeRequest"+      ( \o ->+          CreateNamedRangeRequest+            Core.<$> (o Core..:? "name")+            Core.<*> (o Core..:? "range")+      )++instance Core.ToJSON CreateNamedRangeRequest where+  toJSON CreateNamedRangeRequest {..} =+    Core.object+      ( Core.catMaybes+          [("name" Core..=) Core.<$> name, ("range" Core..=) Core.<$> range]+      )++-- | The result of creating a named range.+--+-- /See:/ 'newCreateNamedRangeResponse' smart constructor.+newtype CreateNamedRangeResponse = CreateNamedRangeResponse+  { -- | The ID of the created named range.+    namedRangeId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CreateNamedRangeResponse' with the minimum fields required to make a request.+newCreateNamedRangeResponse ::+  CreateNamedRangeResponse+newCreateNamedRangeResponse =+  CreateNamedRangeResponse {namedRangeId = Core.Nothing}++instance Core.FromJSON CreateNamedRangeResponse where+  parseJSON =+    Core.withObject+      "CreateNamedRangeResponse"+      ( \o ->+          CreateNamedRangeResponse Core.<$> (o Core..:? "namedRangeId")+      )++instance Core.ToJSON CreateNamedRangeResponse where+  toJSON CreateNamedRangeResponse {..} =+    Core.object+      (Core.catMaybes [("namedRangeId" Core..=) Core.<$> namedRangeId])++-- | Creates bullets for all of the paragraphs that overlap with the given range. The nesting level of each paragraph will be determined by counting leading tabs in front of each paragraph. To avoid excess space between the bullet and the corresponding paragraph, these leading tabs are removed by this request. This may change the indices of parts of the text. If the paragraph immediately before paragraphs being updated is in a list with a matching preset, the paragraphs being updated are added to that preceding list.+--+-- /See:/ 'newCreateParagraphBulletsRequest' smart constructor.+data CreateParagraphBulletsRequest = CreateParagraphBulletsRequest+  { -- | The kinds of bullet glyphs to be used.+    bulletPreset :: (Core.Maybe CreateParagraphBulletsRequest_BulletPreset),+    -- | The range to apply the bullet preset to.+    range :: (Core.Maybe Range)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CreateParagraphBulletsRequest' with the minimum fields required to make a request.+newCreateParagraphBulletsRequest ::+  CreateParagraphBulletsRequest+newCreateParagraphBulletsRequest =+  CreateParagraphBulletsRequest+    { bulletPreset = Core.Nothing,+      range = Core.Nothing+    }++instance Core.FromJSON CreateParagraphBulletsRequest where+  parseJSON =+    Core.withObject+      "CreateParagraphBulletsRequest"+      ( \o ->+          CreateParagraphBulletsRequest+            Core.<$> (o Core..:? "bulletPreset")+            Core.<*> (o Core..:? "range")+      )++instance Core.ToJSON CreateParagraphBulletsRequest where+  toJSON CreateParagraphBulletsRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("bulletPreset" Core..=) Core.<$> bulletPreset,+            ("range" Core..=) Core.<$> range+          ]+      )++-- | The crop properties of an image. The crop rectangle is represented using fractional offsets from the original content\'s 4 edges. - If the offset is in the interval (0, 1), the corresponding edge of crop rectangle is positioned inside of the image\'s original bounding rectangle. - If the offset is negative or greater than 1, the corresponding edge of crop rectangle is positioned outside of the image\'s original bounding rectangle. - If all offsets and rotation angles are 0, the image is not cropped.+--+-- /See:/ 'newCropProperties' smart constructor.+data CropProperties = CropProperties+  { -- | The clockwise rotation angle of the crop rectangle around its center, in radians. Rotation is applied after the offsets.+    angle :: (Core.Maybe Core.Double),+    -- | The offset specifies how far inwards the bottom edge of the crop rectangle is from the bottom edge of the original content as a fraction of the original content\'s height.+    offsetBottom :: (Core.Maybe Core.Double),+    -- | The offset specifies how far inwards the left edge of the crop rectangle is from the left edge of the original content as a fraction of the original content\'s width.+    offsetLeft :: (Core.Maybe Core.Double),+    -- | The offset specifies how far inwards the right edge of the crop rectangle is from the right edge of the original content as a fraction of the original content\'s width.+    offsetRight :: (Core.Maybe Core.Double),+    -- | The offset specifies how far inwards the top edge of the crop rectangle is from the top edge of the original content as a fraction of the original content\'s height.+    offsetTop :: (Core.Maybe Core.Double)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CropProperties' with the minimum fields required to make a request.+newCropProperties ::+  CropProperties+newCropProperties =+  CropProperties+    { angle = Core.Nothing,+      offsetBottom = Core.Nothing,+      offsetLeft = Core.Nothing,+      offsetRight = Core.Nothing,+      offsetTop = Core.Nothing+    }++instance Core.FromJSON CropProperties where+  parseJSON =+    Core.withObject+      "CropProperties"+      ( \o ->+          CropProperties+            Core.<$> (o Core..:? "angle")+            Core.<*> (o Core..:? "offsetBottom")+            Core.<*> (o Core..:? "offsetLeft")+            Core.<*> (o Core..:? "offsetRight")+            Core.<*> (o Core..:? "offsetTop")+      )++instance Core.ToJSON CropProperties where+  toJSON CropProperties {..} =+    Core.object+      ( Core.catMaybes+          [ ("angle" Core..=) Core.<$> angle,+            ("offsetBottom" Core..=) Core.<$> offsetBottom,+            ("offsetLeft" Core..=) Core.<$> offsetLeft,+            ("offsetRight" Core..=) Core.<$> offsetRight,+            ("offsetTop" Core..=) Core.<$> offsetTop+          ]+      )++-- | A mask that indicates which of the fields on the base CropProperties have been changed in this suggestion. For any field set to true, there\'s a new suggested value.+--+-- /See:/ 'newCropPropertiesSuggestionState' smart constructor.+data CropPropertiesSuggestionState = CropPropertiesSuggestionState+  { -- | Indicates if there was a suggested change to angle.+    angleSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to offset_bottom.+    offsetBottomSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to offset_left.+    offsetLeftSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to offset_right.+    offsetRightSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to offset_top.+    offsetTopSuggested :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CropPropertiesSuggestionState' with the minimum fields required to make a request.+newCropPropertiesSuggestionState ::+  CropPropertiesSuggestionState+newCropPropertiesSuggestionState =+  CropPropertiesSuggestionState+    { angleSuggested = Core.Nothing,+      offsetBottomSuggested = Core.Nothing,+      offsetLeftSuggested = Core.Nothing,+      offsetRightSuggested = Core.Nothing,+      offsetTopSuggested = Core.Nothing+    }++instance Core.FromJSON CropPropertiesSuggestionState where+  parseJSON =+    Core.withObject+      "CropPropertiesSuggestionState"+      ( \o ->+          CropPropertiesSuggestionState+            Core.<$> (o Core..:? "angleSuggested")+            Core.<*> (o Core..:? "offsetBottomSuggested")+            Core.<*> (o Core..:? "offsetLeftSuggested")+            Core.<*> (o Core..:? "offsetRightSuggested")+            Core.<*> (o Core..:? "offsetTopSuggested")+      )++instance Core.ToJSON CropPropertiesSuggestionState where+  toJSON CropPropertiesSuggestionState {..} =+    Core.object+      ( Core.catMaybes+          [ ("angleSuggested" Core..=) Core.<$> angleSuggested,+            ("offsetBottomSuggested" Core..=) Core.<$> offsetBottomSuggested,+            ("offsetLeftSuggested" Core..=) Core.<$> offsetLeftSuggested,+            ("offsetRightSuggested" Core..=) Core.<$> offsetRightSuggested,+            ("offsetTopSuggested" Core..=) Core.<$> offsetTopSuggested+          ]+      )++-- | Deletes content from the document.+--+-- /See:/ 'newDeleteContentRangeRequest' smart constructor.+newtype DeleteContentRangeRequest = DeleteContentRangeRequest+  { -- | The range of content to delete. Deleting text that crosses a paragraph boundary may result in changes to paragraph styles, lists, positioned objects and bookmarks as the two paragraphs are merged. Attempting to delete certain ranges can result in an invalid document structure in which case a 400 bad request error is returned. Some examples of invalid delete requests include: * Deleting one code unit of a surrogate pair. * Deleting the last newline character of a Body, Header, Footer, Footnote, TableCell or TableOfContents. * Deleting the start or end of a Table, TableOfContents or Equation without deleting the entire element. * Deleting the newline character before a Table, TableOfContents or SectionBreak without deleting the element. * Deleting individual rows or cells of a table. Deleting the content within a table cell is allowed.+    range :: (Core.Maybe Range)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DeleteContentRangeRequest' with the minimum fields required to make a request.+newDeleteContentRangeRequest ::+  DeleteContentRangeRequest+newDeleteContentRangeRequest =+  DeleteContentRangeRequest {range = Core.Nothing}++instance Core.FromJSON DeleteContentRangeRequest where+  parseJSON =+    Core.withObject+      "DeleteContentRangeRequest"+      (\o -> DeleteContentRangeRequest Core.<$> (o Core..:? "range"))++instance Core.ToJSON DeleteContentRangeRequest where+  toJSON DeleteContentRangeRequest {..} =+    Core.object (Core.catMaybes [("range" Core..=) Core.<$> range])++-- | Deletes a Footer from the document.+--+-- /See:/ 'newDeleteFooterRequest' smart constructor.+data DeleteFooterRequest = DeleteFooterRequest+  { -- | The id of the footer to delete. If this footer is defined on DocumentStyle, the reference to this footer is removed, resulting in no footer of that type for the first section of the document. If this footer is defined on a SectionStyle, the reference to this footer is removed and the footer of that type is now continued from the previous section.+    footerId :: (Core.Maybe Core.Text),+    -- | The tab that contains the footer to delete. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab\'s ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.+    tabId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DeleteFooterRequest' with the minimum fields required to make a request.+newDeleteFooterRequest ::+  DeleteFooterRequest+newDeleteFooterRequest =+  DeleteFooterRequest+    { footerId = Core.Nothing,+      tabId = Core.Nothing+    }++instance Core.FromJSON DeleteFooterRequest where+  parseJSON =+    Core.withObject+      "DeleteFooterRequest"+      ( \o ->+          DeleteFooterRequest+            Core.<$> (o Core..:? "footerId")+            Core.<*> (o Core..:? "tabId")+      )++instance Core.ToJSON DeleteFooterRequest where+  toJSON DeleteFooterRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("footerId" Core..=) Core.<$> footerId,+            ("tabId" Core..=) Core.<$> tabId+          ]+      )++-- | Deletes a Header from the document.+--+-- /See:/ 'newDeleteHeaderRequest' smart constructor.+data DeleteHeaderRequest = DeleteHeaderRequest+  { -- | The id of the header to delete. If this header is defined on DocumentStyle, the reference to this header is removed, resulting in no header of that type for the first section of the document. If this header is defined on a SectionStyle, the reference to this header is removed and the header of that type is now continued from the previous section.+    headerId :: (Core.Maybe Core.Text),+    -- | The tab containing the header to delete. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab\'s ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.+    tabId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DeleteHeaderRequest' with the minimum fields required to make a request.+newDeleteHeaderRequest ::+  DeleteHeaderRequest+newDeleteHeaderRequest =+  DeleteHeaderRequest+    { headerId = Core.Nothing,+      tabId = Core.Nothing+    }++instance Core.FromJSON DeleteHeaderRequest where+  parseJSON =+    Core.withObject+      "DeleteHeaderRequest"+      ( \o ->+          DeleteHeaderRequest+            Core.<$> (o Core..:? "headerId")+            Core.<*> (o Core..:? "tabId")+      )++instance Core.ToJSON DeleteHeaderRequest where+  toJSON DeleteHeaderRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("headerId" Core..=) Core.<$> headerId,+            ("tabId" Core..=) Core.<$> tabId+          ]+      )++-- | Deletes a NamedRange.+--+-- /See:/ 'newDeleteNamedRangeRequest' smart constructor.+data DeleteNamedRangeRequest = DeleteNamedRangeRequest+  { -- | The name of the range(s) to delete. All named ranges with the given name will be deleted.+    name :: (Core.Maybe Core.Text),+    -- | The ID of the named range to delete.+    namedRangeId :: (Core.Maybe Core.Text),+    -- | Optional. The criteria used to specify which tab(s) the range deletion should occur in. When omitted, the range deletion is applied to all tabs. In a document containing a single tab: - If provided, must match the singular tab\'s ID. - If omitted, the range deletion applies to the singular tab. In a document containing multiple tabs: - If provided, the range deletion applies to the specified tabs. - If not provided, the range deletion applies to all tabs.+    tabsCriteria :: (Core.Maybe TabsCriteria)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DeleteNamedRangeRequest' with the minimum fields required to make a request.+newDeleteNamedRangeRequest ::+  DeleteNamedRangeRequest+newDeleteNamedRangeRequest =+  DeleteNamedRangeRequest+    { name = Core.Nothing,+      namedRangeId = Core.Nothing,+      tabsCriteria = Core.Nothing+    }++instance Core.FromJSON DeleteNamedRangeRequest where+  parseJSON =+    Core.withObject+      "DeleteNamedRangeRequest"+      ( \o ->+          DeleteNamedRangeRequest+            Core.<$> (o Core..:? "name")+            Core.<*> (o Core..:? "namedRangeId")+            Core.<*> (o Core..:? "tabsCriteria")+      )++instance Core.ToJSON DeleteNamedRangeRequest where+  toJSON DeleteNamedRangeRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("name" Core..=) Core.<$> name,+            ("namedRangeId" Core..=) Core.<$> namedRangeId,+            ("tabsCriteria" Core..=) Core.<$> tabsCriteria+          ]+      )++-- | Deletes bullets from all of the paragraphs that overlap with the given range. The nesting level of each paragraph will be visually preserved by adding indent to the start of the corresponding paragraph.+--+-- /See:/ 'newDeleteParagraphBulletsRequest' smart constructor.+newtype DeleteParagraphBulletsRequest = DeleteParagraphBulletsRequest+  { -- | The range to delete bullets from.+    range :: (Core.Maybe Range)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DeleteParagraphBulletsRequest' with the minimum fields required to make a request.+newDeleteParagraphBulletsRequest ::+  DeleteParagraphBulletsRequest+newDeleteParagraphBulletsRequest =+  DeleteParagraphBulletsRequest {range = Core.Nothing}++instance Core.FromJSON DeleteParagraphBulletsRequest where+  parseJSON =+    Core.withObject+      "DeleteParagraphBulletsRequest"+      ( \o ->+          DeleteParagraphBulletsRequest Core.<$> (o Core..:? "range")+      )++instance Core.ToJSON DeleteParagraphBulletsRequest where+  toJSON DeleteParagraphBulletsRequest {..} =+    Core.object (Core.catMaybes [("range" Core..=) Core.<$> range])++-- | Deletes a PositionedObject from the document.+--+-- /See:/ 'newDeletePositionedObjectRequest' smart constructor.+data DeletePositionedObjectRequest = DeletePositionedObjectRequest+  { -- | The ID of the positioned object to delete.+    objectId :: (Core.Maybe Core.Text),+    -- | The tab that the positioned object to delete is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab\'s ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.+    tabId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DeletePositionedObjectRequest' with the minimum fields required to make a request.+newDeletePositionedObjectRequest ::+  DeletePositionedObjectRequest+newDeletePositionedObjectRequest =+  DeletePositionedObjectRequest+    { objectId = Core.Nothing,+      tabId = Core.Nothing+    }++instance Core.FromJSON DeletePositionedObjectRequest where+  parseJSON =+    Core.withObject+      "DeletePositionedObjectRequest"+      ( \o ->+          DeletePositionedObjectRequest+            Core.<$> (o Core..:? "objectId")+            Core.<*> (o Core..:? "tabId")+      )++instance Core.ToJSON DeletePositionedObjectRequest where+  toJSON DeletePositionedObjectRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("objectId" Core..=) Core.<$> objectId,+            ("tabId" Core..=) Core.<$> tabId+          ]+      )++-- | Deletes a column from a table.+--+-- /See:/ 'newDeleteTableColumnRequest' smart constructor.+newtype DeleteTableColumnRequest = DeleteTableColumnRequest+  { -- | The reference table cell location from which the column will be deleted. The column this cell spans will be deleted. If this is a merged cell that spans multiple columns, all columns that the cell spans will be deleted. If no columns remain in the table after this deletion, the whole table is deleted.+    tableCellLocation :: (Core.Maybe TableCellLocation)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DeleteTableColumnRequest' with the minimum fields required to make a request.+newDeleteTableColumnRequest ::+  DeleteTableColumnRequest+newDeleteTableColumnRequest =+  DeleteTableColumnRequest {tableCellLocation = Core.Nothing}++instance Core.FromJSON DeleteTableColumnRequest where+  parseJSON =+    Core.withObject+      "DeleteTableColumnRequest"+      ( \o ->+          DeleteTableColumnRequest Core.<$> (o Core..:? "tableCellLocation")+      )++instance Core.ToJSON DeleteTableColumnRequest where+  toJSON DeleteTableColumnRequest {..} =+    Core.object+      ( Core.catMaybes+          [("tableCellLocation" Core..=) Core.<$> tableCellLocation]+      )++-- | Deletes a row from a table.+--+-- /See:/ 'newDeleteTableRowRequest' smart constructor.+newtype DeleteTableRowRequest = DeleteTableRowRequest+  { -- | The reference table cell location from which the row will be deleted. The row this cell spans will be deleted. If this is a merged cell that spans multiple rows, all rows that the cell spans will be deleted. If no rows remain in the table after this deletion, the whole table is deleted.+    tableCellLocation :: (Core.Maybe TableCellLocation)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DeleteTableRowRequest' with the minimum fields required to make a request.+newDeleteTableRowRequest ::+  DeleteTableRowRequest+newDeleteTableRowRequest =+  DeleteTableRowRequest {tableCellLocation = Core.Nothing}++instance Core.FromJSON DeleteTableRowRequest where+  parseJSON =+    Core.withObject+      "DeleteTableRowRequest"+      ( \o ->+          DeleteTableRowRequest Core.<$> (o Core..:? "tableCellLocation")+      )++instance Core.ToJSON DeleteTableRowRequest where+  toJSON DeleteTableRowRequest {..} =+    Core.object+      ( Core.catMaybes+          [("tableCellLocation" Core..=) Core.<$> tableCellLocation]+      )++-- | A magnitude in a single direction in the specified units.+--+-- /See:/ 'newDimension' smart constructor.+data Dimension = Dimension+  { -- | The magnitude.+    magnitude :: (Core.Maybe Core.Double),+    -- | The units for magnitude.+    unit :: (Core.Maybe Dimension_Unit)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Dimension' with the minimum fields required to make a request.+newDimension ::+  Dimension+newDimension =+  Dimension {magnitude = Core.Nothing, unit = Core.Nothing}++instance Core.FromJSON Dimension where+  parseJSON =+    Core.withObject+      "Dimension"+      ( \o ->+          Dimension+            Core.<$> (o Core..:? "magnitude")+            Core.<*> (o Core..:? "unit")+      )++instance Core.ToJSON Dimension where+  toJSON Dimension {..} =+    Core.object+      ( Core.catMaybes+          [ ("magnitude" Core..=) Core.<$> magnitude,+            ("unit" Core..=) Core.<$> unit+          ]+      )++-- | A Google Docs document.+--+-- /See:/ 'newDocument' smart constructor.+data Document = Document+  { -- | Output only. The main body of the document. Legacy field: Instead, use Document.tabs.documentTab.body, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to @true@. If @false@ or unset, this field contains information about the first tab in the document.+    body :: (Core.Maybe Body),+    -- | Output only. The ID of the document.+    documentId :: (Core.Maybe Core.Text),+    -- | Output only. The style of the document. Legacy field: Instead, use Document.tabs.documentTab.documentStyle, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to @true@. If @false@ or unset, this field contains information about the first tab in the document.+    documentStyle :: (Core.Maybe DocumentStyle),+    -- | Output only. The footers in the document, keyed by footer ID. Legacy field: Instead, use Document.tabs.documentTab.footers, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to @true@. If @false@ or unset, this field contains information about the first tab in the document.+    footers :: (Core.Maybe Document_Footers),+    -- | Output only. The footnotes in the document, keyed by footnote ID. Legacy field: Instead, use Document.tabs.documentTab.footnotes, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to @true@. If @false@ or unset, this field contains information about the first tab in the document.+    footnotes :: (Core.Maybe Document_Footnotes),+    -- | Output only. The headers in the document, keyed by header ID. Legacy field: Instead, use Document.tabs.documentTab.headers, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to @true@. If @false@ or unset, this field contains information about the first tab in the document.+    headers :: (Core.Maybe Document_Headers),+    -- | Output only. The inline objects in the document, keyed by object ID. Legacy field: Instead, use Document.tabs.documentTab.inlineObjects, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to @true@. If @false@ or unset, this field contains information about the first tab in the document.+    inlineObjects :: (Core.Maybe Document_InlineObjects),+    -- | Output only. The lists in the document, keyed by list ID. Legacy field: Instead, use Document.tabs.documentTab.lists, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to @true@. If @false@ or unset, this field contains information about the first tab in the document.+    lists :: (Core.Maybe Document_Lists),+    -- | Output only. The named ranges in the document, keyed by name. Legacy field: Instead, use Document.tabs.documentTab.namedRanges, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to @true@. If @false@ or unset, this field contains information about the first tab in the document.+    namedRanges :: (Core.Maybe Document_NamedRanges),+    -- | Output only. The named styles of the document. Legacy field: Instead, use Document.tabs.documentTab.namedStyles, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to @true@. If @false@ or unset, this field contains information about the first tab in the document.+    namedStyles :: (Core.Maybe NamedStyles),+    -- | Output only. The positioned objects in the document, keyed by object ID. Legacy field: Instead, use Document.tabs.documentTab.positionedObjects, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to @true@. If @false@ or unset, this field contains information about the first tab in the document.+    positionedObjects :: (Core.Maybe Document_PositionedObjects),+    -- | Output only. The revision ID of the document. Can be used in update requests to specify which revision of a document to apply updates to and how the request should behave if the document has been edited since that revision. Only populated if the user has edit access to the document. The revision ID is not a sequential number but an opaque string. The format of the revision ID might change over time. 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 document has not changed. Conversely, a changed ID (for the same document and user) usually means the document has been updated. However, a changed ID can also be due to internal factors such as ID format changes.+    revisionId :: (Core.Maybe Core.Text),+    -- | Output only. The suggested changes to the style of the document, keyed by suggestion ID. Legacy field: Instead, use Document.tabs.documentTab.suggestedDocumentStyleChanges, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to @true@. If @false@ or unset, this field contains information about the first tab in the document.+    suggestedDocumentStyleChanges :: (Core.Maybe Document_SuggestedDocumentStyleChanges),+    -- | Output only. The suggested changes to the named styles of the document, keyed by suggestion ID. Legacy field: Instead, use Document.tabs.documentTab.suggestedNamedStylesChanges, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to @true@. If @false@ or unset, this field contains information about the first tab in the document.+    suggestedNamedStylesChanges :: (Core.Maybe Document_SuggestedNamedStylesChanges),+    -- | Output only. The suggestions view mode applied to the document. Note: When editing a document, changes must be based on a document with SUGGESTIONS_INLINE.+    suggestionsViewMode :: (Core.Maybe Document_SuggestionsViewMode),+    -- | Tabs that are part of a document. Tabs can contain child tabs, a tab nested within another tab. Child tabs are represented by the Tab.childTabs field.+    tabs :: (Core.Maybe [Tab]),+    -- | The title of the document.+    title :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Document' with the minimum fields required to make a request.+newDocument ::+  Document+newDocument =+  Document+    { body = Core.Nothing,+      documentId = Core.Nothing,+      documentStyle = Core.Nothing,+      footers = Core.Nothing,+      footnotes = Core.Nothing,+      headers = Core.Nothing,+      inlineObjects = Core.Nothing,+      lists = Core.Nothing,+      namedRanges = Core.Nothing,+      namedStyles = Core.Nothing,+      positionedObjects = Core.Nothing,+      revisionId = Core.Nothing,+      suggestedDocumentStyleChanges = Core.Nothing,+      suggestedNamedStylesChanges = Core.Nothing,+      suggestionsViewMode = Core.Nothing,+      tabs = Core.Nothing,+      title = Core.Nothing+    }++instance Core.FromJSON Document where+  parseJSON =+    Core.withObject+      "Document"+      ( \o ->+          Document+            Core.<$> (o Core..:? "body")+            Core.<*> (o Core..:? "documentId")+            Core.<*> (o Core..:? "documentStyle")+            Core.<*> (o Core..:? "footers")+            Core.<*> (o Core..:? "footnotes")+            Core.<*> (o Core..:? "headers")+            Core.<*> (o Core..:? "inlineObjects")+            Core.<*> (o Core..:? "lists")+            Core.<*> (o Core..:? "namedRanges")+            Core.<*> (o Core..:? "namedStyles")+            Core.<*> (o Core..:? "positionedObjects")+            Core.<*> (o Core..:? "revisionId")+            Core.<*> (o Core..:? "suggestedDocumentStyleChanges")+            Core.<*> (o Core..:? "suggestedNamedStylesChanges")+            Core.<*> (o Core..:? "suggestionsViewMode")+            Core.<*> (o Core..:? "tabs")+            Core.<*> (o Core..:? "title")+      )++instance Core.ToJSON Document where+  toJSON Document {..} =+    Core.object+      ( Core.catMaybes+          [ ("body" Core..=) Core.<$> body,+            ("documentId" Core..=) Core.<$> documentId,+            ("documentStyle" Core..=) Core.<$> documentStyle,+            ("footers" Core..=) Core.<$> footers,+            ("footnotes" Core..=) Core.<$> footnotes,+            ("headers" Core..=) Core.<$> headers,+            ("inlineObjects" Core..=) Core.<$> inlineObjects,+            ("lists" Core..=) Core.<$> lists,+            ("namedRanges" Core..=) Core.<$> namedRanges,+            ("namedStyles" Core..=) Core.<$> namedStyles,+            ("positionedObjects" Core..=) Core.<$> positionedObjects,+            ("revisionId" Core..=) Core.<$> revisionId,+            ("suggestedDocumentStyleChanges" Core..=)+              Core.<$> suggestedDocumentStyleChanges,+            ("suggestedNamedStylesChanges" Core..=)+              Core.<$> suggestedNamedStylesChanges,+            ("suggestionsViewMode" Core..=) Core.<$> suggestionsViewMode,+            ("tabs" Core..=) Core.<$> tabs,+            ("title" Core..=) Core.<$> title+          ]+      )++-- | Output only. The footers in the document, keyed by footer ID. Legacy field: Instead, use Document.tabs.documentTab.footers, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to @true@. If @false@ or unset, this field contains information about the first tab in the document.+--+-- /See:/ 'newDocument_Footers' smart constructor.+newtype Document_Footers = Document_Footers+  { additional :: (Core.HashMap Core.Text Footer)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Document_Footers' with the minimum fields required to make a request.+newDocument_Footers ::+  -- |  See 'additional'.+  Core.HashMap Core.Text Footer ->+  Document_Footers+newDocument_Footers additional =+  Document_Footers {additional = additional}++instance Core.FromJSON Document_Footers where+  parseJSON =+    Core.withObject+      "Document_Footers"+      (\o -> Document_Footers Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON Document_Footers where+  toJSON Document_Footers {..} = Core.toJSON additional++-- | Output only. The footnotes in the document, keyed by footnote ID. Legacy field: Instead, use Document.tabs.documentTab.footnotes, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to @true@. If @false@ or unset, this field contains information about the first tab in the document.+--+-- /See:/ 'newDocument_Footnotes' smart constructor.+newtype Document_Footnotes = Document_Footnotes+  { additional :: (Core.HashMap Core.Text Footnote)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Document_Footnotes' with the minimum fields required to make a request.+newDocument_Footnotes ::+  -- |  See 'additional'.+  Core.HashMap Core.Text Footnote ->+  Document_Footnotes+newDocument_Footnotes additional =+  Document_Footnotes {additional = additional}++instance Core.FromJSON Document_Footnotes where+  parseJSON =+    Core.withObject+      "Document_Footnotes"+      (\o -> Document_Footnotes Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON Document_Footnotes where+  toJSON Document_Footnotes {..} = Core.toJSON additional++-- | Output only. The headers in the document, keyed by header ID. Legacy field: Instead, use Document.tabs.documentTab.headers, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to @true@. If @false@ or unset, this field contains information about the first tab in the document.+--+-- /See:/ 'newDocument_Headers' smart constructor.+newtype Document_Headers = Document_Headers+  { additional :: (Core.HashMap Core.Text Header)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Document_Headers' with the minimum fields required to make a request.+newDocument_Headers ::+  -- |  See 'additional'.+  Core.HashMap Core.Text Header ->+  Document_Headers+newDocument_Headers additional =+  Document_Headers {additional = additional}++instance Core.FromJSON Document_Headers where+  parseJSON =+    Core.withObject+      "Document_Headers"+      (\o -> Document_Headers Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON Document_Headers where+  toJSON Document_Headers {..} = Core.toJSON additional++-- | Output only. The inline objects in the document, keyed by object ID. Legacy field: Instead, use Document.tabs.documentTab.inlineObjects, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to @true@. If @false@ or unset, this field contains information about the first tab in the document.+--+-- /See:/ 'newDocument_InlineObjects' smart constructor.+newtype Document_InlineObjects = Document_InlineObjects+  { additional :: (Core.HashMap Core.Text InlineObject)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Document_InlineObjects' with the minimum fields required to make a request.+newDocument_InlineObjects ::+  -- |  See 'additional'.+  Core.HashMap Core.Text InlineObject ->+  Document_InlineObjects+newDocument_InlineObjects additional =+  Document_InlineObjects {additional = additional}++instance Core.FromJSON Document_InlineObjects where+  parseJSON =+    Core.withObject+      "Document_InlineObjects"+      (\o -> Document_InlineObjects Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON Document_InlineObjects where+  toJSON Document_InlineObjects {..} = Core.toJSON additional++-- | Output only. The lists in the document, keyed by list ID. Legacy field: Instead, use Document.tabs.documentTab.lists, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to @true@. If @false@ or unset, this field contains information about the first tab in the document.+--+-- /See:/ 'newDocument_Lists' smart constructor.+newtype Document_Lists = Document_Lists+  { additional :: (Core.HashMap Core.Text List)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Document_Lists' with the minimum fields required to make a request.+newDocument_Lists ::+  -- |  See 'additional'.+  Core.HashMap Core.Text List ->+  Document_Lists+newDocument_Lists additional =+  Document_Lists {additional = additional}++instance Core.FromJSON Document_Lists where+  parseJSON =+    Core.withObject+      "Document_Lists"+      (\o -> Document_Lists Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON Document_Lists where+  toJSON Document_Lists {..} = Core.toJSON additional++-- | Output only. The named ranges in the document, keyed by name. Legacy field: Instead, use Document.tabs.documentTab.namedRanges, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to @true@. If @false@ or unset, this field contains information about the first tab in the document.+--+-- /See:/ 'newDocument_NamedRanges' smart constructor.+newtype Document_NamedRanges = Document_NamedRanges+  { additional :: (Core.HashMap Core.Text NamedRanges)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Document_NamedRanges' with the minimum fields required to make a request.+newDocument_NamedRanges ::+  -- |  See 'additional'.+  Core.HashMap Core.Text NamedRanges ->+  Document_NamedRanges+newDocument_NamedRanges additional =+  Document_NamedRanges {additional = additional}++instance Core.FromJSON Document_NamedRanges where+  parseJSON =+    Core.withObject+      "Document_NamedRanges"+      (\o -> Document_NamedRanges Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON Document_NamedRanges where+  toJSON Document_NamedRanges {..} = Core.toJSON additional++-- | Output only. The positioned objects in the document, keyed by object ID. Legacy field: Instead, use Document.tabs.documentTab.positionedObjects, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to @true@. If @false@ or unset, this field contains information about the first tab in the document.+--+-- /See:/ 'newDocument_PositionedObjects' smart constructor.+newtype Document_PositionedObjects = Document_PositionedObjects+  { additional :: (Core.HashMap Core.Text PositionedObject)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Document_PositionedObjects' with the minimum fields required to make a request.+newDocument_PositionedObjects ::+  -- |  See 'additional'.+  Core.HashMap Core.Text PositionedObject ->+  Document_PositionedObjects+newDocument_PositionedObjects additional =+  Document_PositionedObjects {additional = additional}++instance Core.FromJSON Document_PositionedObjects where+  parseJSON =+    Core.withObject+      "Document_PositionedObjects"+      ( \o ->+          Document_PositionedObjects Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON Document_PositionedObjects where+  toJSON Document_PositionedObjects {..} = Core.toJSON additional++-- | Output only. The suggested changes to the style of the document, keyed by suggestion ID. Legacy field: Instead, use Document.tabs.documentTab.suggestedDocumentStyleChanges, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to @true@. If @false@ or unset, this field contains information about the first tab in the document.+--+-- /See:/ 'newDocument_SuggestedDocumentStyleChanges' smart constructor.+newtype Document_SuggestedDocumentStyleChanges = Document_SuggestedDocumentStyleChanges+  { additional :: (Core.HashMap Core.Text SuggestedDocumentStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Document_SuggestedDocumentStyleChanges' with the minimum fields required to make a request.+newDocument_SuggestedDocumentStyleChanges ::+  -- |  See 'additional'.+  Core.HashMap Core.Text SuggestedDocumentStyle ->+  Document_SuggestedDocumentStyleChanges+newDocument_SuggestedDocumentStyleChanges additional =+  Document_SuggestedDocumentStyleChanges {additional = additional}++instance Core.FromJSON Document_SuggestedDocumentStyleChanges where+  parseJSON =+    Core.withObject+      "Document_SuggestedDocumentStyleChanges"+      ( \o ->+          Document_SuggestedDocumentStyleChanges+            Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON Document_SuggestedDocumentStyleChanges where+  toJSON Document_SuggestedDocumentStyleChanges {..} =+    Core.toJSON additional++-- | Output only. The suggested changes to the named styles of the document, keyed by suggestion ID. Legacy field: Instead, use Document.tabs.documentTab.suggestedNamedStylesChanges, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to @true@. If @false@ or unset, this field contains information about the first tab in the document.+--+-- /See:/ 'newDocument_SuggestedNamedStylesChanges' smart constructor.+newtype Document_SuggestedNamedStylesChanges = Document_SuggestedNamedStylesChanges+  { additional :: (Core.HashMap Core.Text SuggestedNamedStyles)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Document_SuggestedNamedStylesChanges' with the minimum fields required to make a request.+newDocument_SuggestedNamedStylesChanges ::+  -- |  See 'additional'.+  Core.HashMap Core.Text SuggestedNamedStyles ->+  Document_SuggestedNamedStylesChanges+newDocument_SuggestedNamedStylesChanges additional =+  Document_SuggestedNamedStylesChanges {additional = additional}++instance Core.FromJSON Document_SuggestedNamedStylesChanges where+  parseJSON =+    Core.withObject+      "Document_SuggestedNamedStylesChanges"+      ( \o ->+          Document_SuggestedNamedStylesChanges+            Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON Document_SuggestedNamedStylesChanges where+  toJSON Document_SuggestedNamedStylesChanges {..} =+    Core.toJSON additional++-- | The style of the document.+--+-- /See:/ 'newDocumentStyle' smart constructor.+data DocumentStyle = DocumentStyle+  { -- | The background of the document. Documents cannot have a transparent background color.+    background :: (Core.Maybe Background),+    -- | The ID of the default footer. If not set, there\'s no default footer. This property is read-only.+    defaultFooterId :: (Core.Maybe Core.Text),+    -- | The ID of the default header. If not set, there\'s no default header. This property is read-only.+    defaultHeaderId :: (Core.Maybe Core.Text),+    -- | The ID of the footer used only for even pages. The value of use/even/page/header/footer determines whether to use the default/footer/id or this value for the footer on even pages. If not set, there\'s no even page footer. This property is read-only.+    evenPageFooterId :: (Core.Maybe Core.Text),+    -- | The ID of the header used only for even pages. The value of use/even/page/header/footer determines whether to use the default/header/id or this value for the header on even pages. If not set, there\'s no even page header. This property is read-only.+    evenPageHeaderId :: (Core.Maybe Core.Text),+    -- | The ID of the footer used only for the first page. If not set then a unique footer for the first page does not exist. The value of use/first/page/header/footer determines whether to use the default/footer/id or this value for the footer on the first page. If not set, there\'s no first page footer. This property is read-only.+    firstPageFooterId :: (Core.Maybe Core.Text),+    -- | The ID of the header used only for the first page. If not set then a unique header for the first page does not exist. The value of use/first/page/header/footer determines whether to use the default/header/id or this value for the header on the first page. If not set, there\'s no first page header. This property is read-only.+    firstPageHeaderId :: (Core.Maybe Core.Text),+    -- | Optional. Indicates whether to flip the dimensions of the page_size, which allows changing the page orientation between portrait and landscape.+    flipPageOrientation :: (Core.Maybe Core.Bool),+    -- | The bottom page margin. Updating the bottom page margin on the document style clears the bottom page margin on all section styles.+    marginBottom :: (Core.Maybe Dimension),+    -- | The amount of space between the bottom of the page and the contents of the footer.+    marginFooter :: (Core.Maybe Dimension),+    -- | The amount of space between the top of the page and the contents of the header.+    marginHeader :: (Core.Maybe Dimension),+    -- | The left page margin. Updating the left page margin on the document style clears the left page margin on all section styles. It may also cause columns to resize in all sections.+    marginLeft :: (Core.Maybe Dimension),+    -- | The right page margin. Updating the right page margin on the document style clears the right page margin on all section styles. It may also cause columns to resize in all sections.+    marginRight :: (Core.Maybe Dimension),+    -- | The top page margin. Updating the top page margin on the document style clears the top page margin on all section styles.+    marginTop :: (Core.Maybe Dimension),+    -- | The page number from which to start counting the number of pages.+    pageNumberStart :: (Core.Maybe Core.Int32),+    -- | The size of a page in the document.+    pageSize :: (Core.Maybe Size),+    -- | Indicates whether DocumentStyle margin/header, SectionStyle margin/header and DocumentStyle margin/footer, SectionStyle margin/footer are respected. When false, the default values in the Docs editor for header and footer margin is used. This property is read-only.+    useCustomHeaderFooterMargins :: (Core.Maybe Core.Bool),+    -- | Indicates whether to use the even page header \/ footer IDs for the even pages.+    useEvenPageHeaderFooter :: (Core.Maybe Core.Bool),+    -- | Indicates whether to use the first page header \/ footer IDs for the first page.+    useFirstPageHeaderFooter :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DocumentStyle' with the minimum fields required to make a request.+newDocumentStyle ::+  DocumentStyle+newDocumentStyle =+  DocumentStyle+    { background = Core.Nothing,+      defaultFooterId = Core.Nothing,+      defaultHeaderId = Core.Nothing,+      evenPageFooterId = Core.Nothing,+      evenPageHeaderId = Core.Nothing,+      firstPageFooterId = Core.Nothing,+      firstPageHeaderId = Core.Nothing,+      flipPageOrientation = Core.Nothing,+      marginBottom = Core.Nothing,+      marginFooter = Core.Nothing,+      marginHeader = Core.Nothing,+      marginLeft = Core.Nothing,+      marginRight = Core.Nothing,+      marginTop = Core.Nothing,+      pageNumberStart = Core.Nothing,+      pageSize = Core.Nothing,+      useCustomHeaderFooterMargins = Core.Nothing,+      useEvenPageHeaderFooter = Core.Nothing,+      useFirstPageHeaderFooter = Core.Nothing+    }++instance Core.FromJSON DocumentStyle where+  parseJSON =+    Core.withObject+      "DocumentStyle"+      ( \o ->+          DocumentStyle+            Core.<$> (o Core..:? "background")+            Core.<*> (o Core..:? "defaultFooterId")+            Core.<*> (o Core..:? "defaultHeaderId")+            Core.<*> (o Core..:? "evenPageFooterId")+            Core.<*> (o Core..:? "evenPageHeaderId")+            Core.<*> (o Core..:? "firstPageFooterId")+            Core.<*> (o Core..:? "firstPageHeaderId")+            Core.<*> (o Core..:? "flipPageOrientation")+            Core.<*> (o Core..:? "marginBottom")+            Core.<*> (o Core..:? "marginFooter")+            Core.<*> (o Core..:? "marginHeader")+            Core.<*> (o Core..:? "marginLeft")+            Core.<*> (o Core..:? "marginRight")+            Core.<*> (o Core..:? "marginTop")+            Core.<*> (o Core..:? "pageNumberStart")+            Core.<*> (o Core..:? "pageSize")+            Core.<*> (o Core..:? "useCustomHeaderFooterMargins")+            Core.<*> (o Core..:? "useEvenPageHeaderFooter")+            Core.<*> (o Core..:? "useFirstPageHeaderFooter")+      )++instance Core.ToJSON DocumentStyle where+  toJSON DocumentStyle {..} =+    Core.object+      ( Core.catMaybes+          [ ("background" Core..=) Core.<$> background,+            ("defaultFooterId" Core..=) Core.<$> defaultFooterId,+            ("defaultHeaderId" Core..=) Core.<$> defaultHeaderId,+            ("evenPageFooterId" Core..=) Core.<$> evenPageFooterId,+            ("evenPageHeaderId" Core..=) Core.<$> evenPageHeaderId,+            ("firstPageFooterId" Core..=) Core.<$> firstPageFooterId,+            ("firstPageHeaderId" Core..=) Core.<$> firstPageHeaderId,+            ("flipPageOrientation" Core..=) Core.<$> flipPageOrientation,+            ("marginBottom" Core..=) Core.<$> marginBottom,+            ("marginFooter" Core..=) Core.<$> marginFooter,+            ("marginHeader" Core..=) Core.<$> marginHeader,+            ("marginLeft" Core..=) Core.<$> marginLeft,+            ("marginRight" Core..=) Core.<$> marginRight,+            ("marginTop" Core..=) Core.<$> marginTop,+            ("pageNumberStart" Core..=) Core.<$> pageNumberStart,+            ("pageSize" Core..=) Core.<$> pageSize,+            ("useCustomHeaderFooterMargins" Core..=)+              Core.<$> useCustomHeaderFooterMargins,+            ("useEvenPageHeaderFooter" Core..=)+              Core.<$> useEvenPageHeaderFooter,+            ("useFirstPageHeaderFooter" Core..=)+              Core.<$> useFirstPageHeaderFooter+          ]+      )++-- | A mask that indicates which of the fields on the base DocumentStyle have been changed in this suggestion. For any field set to true, there\'s a new suggested value.+--+-- /See:/ 'newDocumentStyleSuggestionState' smart constructor.+data DocumentStyleSuggestionState = DocumentStyleSuggestionState+  { -- | A mask that indicates which of the fields in background have been changed in this suggestion.+    backgroundSuggestionState :: (Core.Maybe BackgroundSuggestionState),+    -- | Indicates if there was a suggested change to default/footer/id.+    defaultFooterIdSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to default/header/id.+    defaultHeaderIdSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to even/page/footer_id.+    evenPageFooterIdSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to even/page/header_id.+    evenPageHeaderIdSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to first/page/footer_id.+    firstPageFooterIdSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to first/page/header_id.+    firstPageHeaderIdSuggested :: (Core.Maybe Core.Bool),+    -- | Optional. Indicates if there was a suggested change to flip/page/orientation.+    flipPageOrientationSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to margin_bottom.+    marginBottomSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to margin_footer.+    marginFooterSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to margin_header.+    marginHeaderSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to margin_left.+    marginLeftSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to margin_right.+    marginRightSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to margin_top.+    marginTopSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to page/number/start.+    pageNumberStartSuggested :: (Core.Maybe Core.Bool),+    -- | A mask that indicates which of the fields in size have been changed in this suggestion.+    pageSizeSuggestionState :: (Core.Maybe SizeSuggestionState),+    -- | Indicates if there was a suggested change to use/custom/header/footer/margins.+    useCustomHeaderFooterMarginsSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to use/even/page/header/footer.+    useEvenPageHeaderFooterSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to use/first/page/header/footer.+    useFirstPageHeaderFooterSuggested :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DocumentStyleSuggestionState' with the minimum fields required to make a request.+newDocumentStyleSuggestionState ::+  DocumentStyleSuggestionState+newDocumentStyleSuggestionState =+  DocumentStyleSuggestionState+    { backgroundSuggestionState =+        Core.Nothing,+      defaultFooterIdSuggested = Core.Nothing,+      defaultHeaderIdSuggested = Core.Nothing,+      evenPageFooterIdSuggested = Core.Nothing,+      evenPageHeaderIdSuggested = Core.Nothing,+      firstPageFooterIdSuggested = Core.Nothing,+      firstPageHeaderIdSuggested = Core.Nothing,+      flipPageOrientationSuggested = Core.Nothing,+      marginBottomSuggested = Core.Nothing,+      marginFooterSuggested = Core.Nothing,+      marginHeaderSuggested = Core.Nothing,+      marginLeftSuggested = Core.Nothing,+      marginRightSuggested = Core.Nothing,+      marginTopSuggested = Core.Nothing,+      pageNumberStartSuggested = Core.Nothing,+      pageSizeSuggestionState = Core.Nothing,+      useCustomHeaderFooterMarginsSuggested = Core.Nothing,+      useEvenPageHeaderFooterSuggested = Core.Nothing,+      useFirstPageHeaderFooterSuggested = Core.Nothing+    }++instance Core.FromJSON DocumentStyleSuggestionState where+  parseJSON =+    Core.withObject+      "DocumentStyleSuggestionState"+      ( \o ->+          DocumentStyleSuggestionState+            Core.<$> (o Core..:? "backgroundSuggestionState")+            Core.<*> (o Core..:? "defaultFooterIdSuggested")+            Core.<*> (o Core..:? "defaultHeaderIdSuggested")+            Core.<*> (o Core..:? "evenPageFooterIdSuggested")+            Core.<*> (o Core..:? "evenPageHeaderIdSuggested")+            Core.<*> (o Core..:? "firstPageFooterIdSuggested")+            Core.<*> (o Core..:? "firstPageHeaderIdSuggested")+            Core.<*> (o Core..:? "flipPageOrientationSuggested")+            Core.<*> (o Core..:? "marginBottomSuggested")+            Core.<*> (o Core..:? "marginFooterSuggested")+            Core.<*> (o Core..:? "marginHeaderSuggested")+            Core.<*> (o Core..:? "marginLeftSuggested")+            Core.<*> (o Core..:? "marginRightSuggested")+            Core.<*> (o Core..:? "marginTopSuggested")+            Core.<*> (o Core..:? "pageNumberStartSuggested")+            Core.<*> (o Core..:? "pageSizeSuggestionState")+            Core.<*> (o Core..:? "useCustomHeaderFooterMarginsSuggested")+            Core.<*> (o Core..:? "useEvenPageHeaderFooterSuggested")+            Core.<*> (o Core..:? "useFirstPageHeaderFooterSuggested")+      )++instance Core.ToJSON DocumentStyleSuggestionState where+  toJSON DocumentStyleSuggestionState {..} =+    Core.object+      ( Core.catMaybes+          [ ("backgroundSuggestionState" Core..=)+              Core.<$> backgroundSuggestionState,+            ("defaultFooterIdSuggested" Core..=)+              Core.<$> defaultFooterIdSuggested,+            ("defaultHeaderIdSuggested" Core..=)+              Core.<$> defaultHeaderIdSuggested,+            ("evenPageFooterIdSuggested" Core..=)+              Core.<$> evenPageFooterIdSuggested,+            ("evenPageHeaderIdSuggested" Core..=)+              Core.<$> evenPageHeaderIdSuggested,+            ("firstPageFooterIdSuggested" Core..=)+              Core.<$> firstPageFooterIdSuggested,+            ("firstPageHeaderIdSuggested" Core..=)+              Core.<$> firstPageHeaderIdSuggested,+            ("flipPageOrientationSuggested" Core..=)+              Core.<$> flipPageOrientationSuggested,+            ("marginBottomSuggested" Core..=) Core.<$> marginBottomSuggested,+            ("marginFooterSuggested" Core..=) Core.<$> marginFooterSuggested,+            ("marginHeaderSuggested" Core..=) Core.<$> marginHeaderSuggested,+            ("marginLeftSuggested" Core..=) Core.<$> marginLeftSuggested,+            ("marginRightSuggested" Core..=) Core.<$> marginRightSuggested,+            ("marginTopSuggested" Core..=) Core.<$> marginTopSuggested,+            ("pageNumberStartSuggested" Core..=)+              Core.<$> pageNumberStartSuggested,+            ("pageSizeSuggestionState" Core..=)+              Core.<$> pageSizeSuggestionState,+            ("useCustomHeaderFooterMarginsSuggested" Core..=)+              Core.<$> useCustomHeaderFooterMarginsSuggested,+            ("useEvenPageHeaderFooterSuggested" Core..=)+              Core.<$> useEvenPageHeaderFooterSuggested,+            ("useFirstPageHeaderFooterSuggested" Core..=)+              Core.<$> useFirstPageHeaderFooterSuggested+          ]+      )++-- | A tab with document contents.+--+-- /See:/ 'newDocumentTab' smart constructor.+data DocumentTab = DocumentTab+  { -- | The main body of the document tab.+    body :: (Core.Maybe Body),+    -- | The style of the document tab.+    documentStyle :: (Core.Maybe DocumentStyle),+    -- | The footers in the document tab, keyed by footer ID.+    footers :: (Core.Maybe DocumentTab_Footers),+    -- | The footnotes in the document tab, keyed by footnote ID.+    footnotes :: (Core.Maybe DocumentTab_Footnotes),+    -- | The headers in the document tab, keyed by header ID.+    headers :: (Core.Maybe DocumentTab_Headers),+    -- | The inline objects in the document tab, keyed by object ID.+    inlineObjects :: (Core.Maybe DocumentTab_InlineObjects),+    -- | The lists in the document tab, keyed by list ID.+    lists :: (Core.Maybe DocumentTab_Lists),+    -- | The named ranges in the document tab, keyed by name.+    namedRanges :: (Core.Maybe DocumentTab_NamedRanges),+    -- | The named styles of the document tab.+    namedStyles :: (Core.Maybe NamedStyles),+    -- | The positioned objects in the document tab, keyed by object ID.+    positionedObjects :: (Core.Maybe DocumentTab_PositionedObjects),+    -- | The suggested changes to the style of the document tab, keyed by suggestion ID.+    suggestedDocumentStyleChanges :: (Core.Maybe DocumentTab_SuggestedDocumentStyleChanges),+    -- | The suggested changes to the named styles of the document tab, keyed by suggestion ID.+    suggestedNamedStylesChanges :: (Core.Maybe DocumentTab_SuggestedNamedStylesChanges)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DocumentTab' with the minimum fields required to make a request.+newDocumentTab ::+  DocumentTab+newDocumentTab =+  DocumentTab+    { body = Core.Nothing,+      documentStyle = Core.Nothing,+      footers = Core.Nothing,+      footnotes = Core.Nothing,+      headers = Core.Nothing,+      inlineObjects = Core.Nothing,+      lists = Core.Nothing,+      namedRanges = Core.Nothing,+      namedStyles = Core.Nothing,+      positionedObjects = Core.Nothing,+      suggestedDocumentStyleChanges = Core.Nothing,+      suggestedNamedStylesChanges = Core.Nothing+    }++instance Core.FromJSON DocumentTab where+  parseJSON =+    Core.withObject+      "DocumentTab"+      ( \o ->+          DocumentTab+            Core.<$> (o Core..:? "body")+            Core.<*> (o Core..:? "documentStyle")+            Core.<*> (o Core..:? "footers")+            Core.<*> (o Core..:? "footnotes")+            Core.<*> (o Core..:? "headers")+            Core.<*> (o Core..:? "inlineObjects")+            Core.<*> (o Core..:? "lists")+            Core.<*> (o Core..:? "namedRanges")+            Core.<*> (o Core..:? "namedStyles")+            Core.<*> (o Core..:? "positionedObjects")+            Core.<*> (o Core..:? "suggestedDocumentStyleChanges")+            Core.<*> (o Core..:? "suggestedNamedStylesChanges")+      )++instance Core.ToJSON DocumentTab where+  toJSON DocumentTab {..} =+    Core.object+      ( Core.catMaybes+          [ ("body" Core..=) Core.<$> body,+            ("documentStyle" Core..=) Core.<$> documentStyle,+            ("footers" Core..=) Core.<$> footers,+            ("footnotes" Core..=) Core.<$> footnotes,+            ("headers" Core..=) Core.<$> headers,+            ("inlineObjects" Core..=) Core.<$> inlineObjects,+            ("lists" Core..=) Core.<$> lists,+            ("namedRanges" Core..=) Core.<$> namedRanges,+            ("namedStyles" Core..=) Core.<$> namedStyles,+            ("positionedObjects" Core..=) Core.<$> positionedObjects,+            ("suggestedDocumentStyleChanges" Core..=)+              Core.<$> suggestedDocumentStyleChanges,+            ("suggestedNamedStylesChanges" Core..=)+              Core.<$> suggestedNamedStylesChanges+          ]+      )++-- | The footers in the document tab, keyed by footer ID.+--+-- /See:/ 'newDocumentTab_Footers' smart constructor.+newtype DocumentTab_Footers = DocumentTab_Footers+  { additional :: (Core.HashMap Core.Text Footer)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DocumentTab_Footers' with the minimum fields required to make a request.+newDocumentTab_Footers ::+  -- |  See 'additional'.+  Core.HashMap Core.Text Footer ->+  DocumentTab_Footers+newDocumentTab_Footers additional =+  DocumentTab_Footers {additional = additional}++instance Core.FromJSON DocumentTab_Footers where+  parseJSON =+    Core.withObject+      "DocumentTab_Footers"+      (\o -> DocumentTab_Footers Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON DocumentTab_Footers where+  toJSON DocumentTab_Footers {..} = Core.toJSON additional++-- | The footnotes in the document tab, keyed by footnote ID.+--+-- /See:/ 'newDocumentTab_Footnotes' smart constructor.+newtype DocumentTab_Footnotes = DocumentTab_Footnotes+  { additional :: (Core.HashMap Core.Text Footnote)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DocumentTab_Footnotes' with the minimum fields required to make a request.+newDocumentTab_Footnotes ::+  -- |  See 'additional'.+  Core.HashMap Core.Text Footnote ->+  DocumentTab_Footnotes+newDocumentTab_Footnotes additional =+  DocumentTab_Footnotes {additional = additional}++instance Core.FromJSON DocumentTab_Footnotes where+  parseJSON =+    Core.withObject+      "DocumentTab_Footnotes"+      (\o -> DocumentTab_Footnotes Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON DocumentTab_Footnotes where+  toJSON DocumentTab_Footnotes {..} = Core.toJSON additional++-- | The headers in the document tab, keyed by header ID.+--+-- /See:/ 'newDocumentTab_Headers' smart constructor.+newtype DocumentTab_Headers = DocumentTab_Headers+  { additional :: (Core.HashMap Core.Text Header)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DocumentTab_Headers' with the minimum fields required to make a request.+newDocumentTab_Headers ::+  -- |  See 'additional'.+  Core.HashMap Core.Text Header ->+  DocumentTab_Headers+newDocumentTab_Headers additional =+  DocumentTab_Headers {additional = additional}++instance Core.FromJSON DocumentTab_Headers where+  parseJSON =+    Core.withObject+      "DocumentTab_Headers"+      (\o -> DocumentTab_Headers Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON DocumentTab_Headers where+  toJSON DocumentTab_Headers {..} = Core.toJSON additional++-- | The inline objects in the document tab, keyed by object ID.+--+-- /See:/ 'newDocumentTab_InlineObjects' smart constructor.+newtype DocumentTab_InlineObjects = DocumentTab_InlineObjects+  { additional :: (Core.HashMap Core.Text InlineObject)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DocumentTab_InlineObjects' with the minimum fields required to make a request.+newDocumentTab_InlineObjects ::+  -- |  See 'additional'.+  Core.HashMap Core.Text InlineObject ->+  DocumentTab_InlineObjects+newDocumentTab_InlineObjects additional =+  DocumentTab_InlineObjects {additional = additional}++instance Core.FromJSON DocumentTab_InlineObjects where+  parseJSON =+    Core.withObject+      "DocumentTab_InlineObjects"+      ( \o ->+          DocumentTab_InlineObjects Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON DocumentTab_InlineObjects where+  toJSON DocumentTab_InlineObjects {..} = Core.toJSON additional++-- | The lists in the document tab, keyed by list ID.+--+-- /See:/ 'newDocumentTab_Lists' smart constructor.+newtype DocumentTab_Lists = DocumentTab_Lists+  { additional :: (Core.HashMap Core.Text List)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DocumentTab_Lists' with the minimum fields required to make a request.+newDocumentTab_Lists ::+  -- |  See 'additional'.+  Core.HashMap Core.Text List ->+  DocumentTab_Lists+newDocumentTab_Lists additional =+  DocumentTab_Lists {additional = additional}++instance Core.FromJSON DocumentTab_Lists where+  parseJSON =+    Core.withObject+      "DocumentTab_Lists"+      (\o -> DocumentTab_Lists Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON DocumentTab_Lists where+  toJSON DocumentTab_Lists {..} = Core.toJSON additional++-- | The named ranges in the document tab, keyed by name.+--+-- /See:/ 'newDocumentTab_NamedRanges' smart constructor.+newtype DocumentTab_NamedRanges = DocumentTab_NamedRanges+  { additional :: (Core.HashMap Core.Text NamedRanges)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DocumentTab_NamedRanges' with the minimum fields required to make a request.+newDocumentTab_NamedRanges ::+  -- |  See 'additional'.+  Core.HashMap Core.Text NamedRanges ->+  DocumentTab_NamedRanges+newDocumentTab_NamedRanges additional =+  DocumentTab_NamedRanges {additional = additional}++instance Core.FromJSON DocumentTab_NamedRanges where+  parseJSON =+    Core.withObject+      "DocumentTab_NamedRanges"+      (\o -> DocumentTab_NamedRanges Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON DocumentTab_NamedRanges where+  toJSON DocumentTab_NamedRanges {..} = Core.toJSON additional++-- | The positioned objects in the document tab, keyed by object ID.+--+-- /See:/ 'newDocumentTab_PositionedObjects' smart constructor.+newtype DocumentTab_PositionedObjects = DocumentTab_PositionedObjects+  { additional :: (Core.HashMap Core.Text PositionedObject)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DocumentTab_PositionedObjects' with the minimum fields required to make a request.+newDocumentTab_PositionedObjects ::+  -- |  See 'additional'.+  Core.HashMap Core.Text PositionedObject ->+  DocumentTab_PositionedObjects+newDocumentTab_PositionedObjects additional =+  DocumentTab_PositionedObjects {additional = additional}++instance Core.FromJSON DocumentTab_PositionedObjects where+  parseJSON =+    Core.withObject+      "DocumentTab_PositionedObjects"+      ( \o ->+          DocumentTab_PositionedObjects Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON DocumentTab_PositionedObjects where+  toJSON DocumentTab_PositionedObjects {..} = Core.toJSON additional++-- | The suggested changes to the style of the document tab, keyed by suggestion ID.+--+-- /See:/ 'newDocumentTab_SuggestedDocumentStyleChanges' smart constructor.+newtype DocumentTab_SuggestedDocumentStyleChanges = DocumentTab_SuggestedDocumentStyleChanges+  { additional :: (Core.HashMap Core.Text SuggestedDocumentStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DocumentTab_SuggestedDocumentStyleChanges' with the minimum fields required to make a request.+newDocumentTab_SuggestedDocumentStyleChanges ::+  -- |  See 'additional'.+  Core.HashMap Core.Text SuggestedDocumentStyle ->+  DocumentTab_SuggestedDocumentStyleChanges+newDocumentTab_SuggestedDocumentStyleChanges additional =+  DocumentTab_SuggestedDocumentStyleChanges+    { additional =+        additional+    }++instance Core.FromJSON DocumentTab_SuggestedDocumentStyleChanges where+  parseJSON =+    Core.withObject+      "DocumentTab_SuggestedDocumentStyleChanges"+      ( \o ->+          DocumentTab_SuggestedDocumentStyleChanges+            Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON DocumentTab_SuggestedDocumentStyleChanges where+  toJSON DocumentTab_SuggestedDocumentStyleChanges {..} =+    Core.toJSON additional++-- | The suggested changes to the named styles of the document tab, keyed by suggestion ID.+--+-- /See:/ 'newDocumentTab_SuggestedNamedStylesChanges' smart constructor.+newtype DocumentTab_SuggestedNamedStylesChanges = DocumentTab_SuggestedNamedStylesChanges+  { additional :: (Core.HashMap Core.Text SuggestedNamedStyles)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DocumentTab_SuggestedNamedStylesChanges' with the minimum fields required to make a request.+newDocumentTab_SuggestedNamedStylesChanges ::+  -- |  See 'additional'.+  Core.HashMap Core.Text SuggestedNamedStyles ->+  DocumentTab_SuggestedNamedStylesChanges+newDocumentTab_SuggestedNamedStylesChanges additional =+  DocumentTab_SuggestedNamedStylesChanges {additional = additional}++instance Core.FromJSON DocumentTab_SuggestedNamedStylesChanges where+  parseJSON =+    Core.withObject+      "DocumentTab_SuggestedNamedStylesChanges"+      ( \o ->+          DocumentTab_SuggestedNamedStylesChanges+            Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON DocumentTab_SuggestedNamedStylesChanges where+  toJSON DocumentTab_SuggestedNamedStylesChanges {..} =+    Core.toJSON additional++-- | The properties of an embedded drawing and used to differentiate the object type. An embedded drawing is one that\'s created and edited within a document. Note that extensive details are not supported.+--+-- /See:/ 'newEmbeddedDrawingProperties' smart constructor.+data EmbeddedDrawingProperties = EmbeddedDrawingProperties+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'EmbeddedDrawingProperties' with the minimum fields required to make a request.+newEmbeddedDrawingProperties ::+  EmbeddedDrawingProperties+newEmbeddedDrawingProperties = EmbeddedDrawingProperties++instance Core.FromJSON EmbeddedDrawingProperties where+  parseJSON =+    Core.withObject+      "EmbeddedDrawingProperties"+      (\o -> Core.pure EmbeddedDrawingProperties)++instance Core.ToJSON EmbeddedDrawingProperties where+  toJSON = Core.const Core.emptyObject++-- | A mask that indicates which of the fields on the base EmbeddedDrawingProperties have been changed in this suggestion. For any field set to true, there\'s a new suggested value.+--+-- /See:/ 'newEmbeddedDrawingPropertiesSuggestionState' smart constructor.+data EmbeddedDrawingPropertiesSuggestionState = EmbeddedDrawingPropertiesSuggestionState+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'EmbeddedDrawingPropertiesSuggestionState' with the minimum fields required to make a request.+newEmbeddedDrawingPropertiesSuggestionState ::+  EmbeddedDrawingPropertiesSuggestionState+newEmbeddedDrawingPropertiesSuggestionState =+  EmbeddedDrawingPropertiesSuggestionState++instance Core.FromJSON EmbeddedDrawingPropertiesSuggestionState where+  parseJSON =+    Core.withObject+      "EmbeddedDrawingPropertiesSuggestionState"+      (\o -> Core.pure EmbeddedDrawingPropertiesSuggestionState)++instance Core.ToJSON EmbeddedDrawingPropertiesSuggestionState where+  toJSON = Core.const Core.emptyObject++-- | An embedded object in the document.+--+-- /See:/ 'newEmbeddedObject' smart constructor.+data EmbeddedObject = EmbeddedObject+  { -- | The description of the embedded object. The @title@ and @description@ are both combined to display alt text.+    description :: (Core.Maybe Core.Text),+    -- | The properties of an embedded drawing.+    embeddedDrawingProperties :: (Core.Maybe EmbeddedDrawingProperties),+    -- | The border of the embedded object.+    embeddedObjectBorder :: (Core.Maybe EmbeddedObjectBorder),+    -- | The properties of an image.+    imageProperties :: (Core.Maybe ImageProperties),+    -- | A reference to the external linked source content. For example, it contains a reference to the source Google Sheets chart when the embedded object is a linked chart. If unset, then the embedded object is not linked.+    linkedContentReference :: (Core.Maybe LinkedContentReference),+    -- | The bottom margin of the embedded object.+    marginBottom :: (Core.Maybe Dimension),+    -- | The left margin of the embedded object.+    marginLeft :: (Core.Maybe Dimension),+    -- | The right margin of the embedded object.+    marginRight :: (Core.Maybe Dimension),+    -- | The top margin of the embedded object.+    marginTop :: (Core.Maybe Dimension),+    -- | The visible size of the image after cropping.+    size :: (Core.Maybe Size),+    -- | The title of the embedded object. The @title@ and @description@ are both combined to display alt text.+    title :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'EmbeddedObject' with the minimum fields required to make a request.+newEmbeddedObject ::+  EmbeddedObject+newEmbeddedObject =+  EmbeddedObject+    { description = Core.Nothing,+      embeddedDrawingProperties = Core.Nothing,+      embeddedObjectBorder = Core.Nothing,+      imageProperties = Core.Nothing,+      linkedContentReference = Core.Nothing,+      marginBottom = Core.Nothing,+      marginLeft = Core.Nothing,+      marginRight = Core.Nothing,+      marginTop = Core.Nothing,+      size = Core.Nothing,+      title = Core.Nothing+    }++instance Core.FromJSON EmbeddedObject where+  parseJSON =+    Core.withObject+      "EmbeddedObject"+      ( \o ->+          EmbeddedObject+            Core.<$> (o Core..:? "description")+            Core.<*> (o Core..:? "embeddedDrawingProperties")+            Core.<*> (o Core..:? "embeddedObjectBorder")+            Core.<*> (o Core..:? "imageProperties")+            Core.<*> (o Core..:? "linkedContentReference")+            Core.<*> (o Core..:? "marginBottom")+            Core.<*> (o Core..:? "marginLeft")+            Core.<*> (o Core..:? "marginRight")+            Core.<*> (o Core..:? "marginTop")+            Core.<*> (o Core..:? "size")+            Core.<*> (o Core..:? "title")+      )++instance Core.ToJSON EmbeddedObject where+  toJSON EmbeddedObject {..} =+    Core.object+      ( Core.catMaybes+          [ ("description" Core..=) Core.<$> description,+            ("embeddedDrawingProperties" Core..=)+              Core.<$> embeddedDrawingProperties,+            ("embeddedObjectBorder" Core..=) Core.<$> embeddedObjectBorder,+            ("imageProperties" Core..=) Core.<$> imageProperties,+            ("linkedContentReference" Core..=) Core.<$> linkedContentReference,+            ("marginBottom" Core..=) Core.<$> marginBottom,+            ("marginLeft" Core..=) Core.<$> marginLeft,+            ("marginRight" Core..=) Core.<$> marginRight,+            ("marginTop" Core..=) Core.<$> marginTop,+            ("size" Core..=) Core.<$> size,+            ("title" Core..=) Core.<$> title+          ]+      )++-- | A border around an EmbeddedObject.+--+-- /See:/ 'newEmbeddedObjectBorder' smart constructor.+data EmbeddedObjectBorder = EmbeddedObjectBorder+  { -- | The color of the border.+    color :: (Core.Maybe OptionalColor),+    -- | The dash style of the border.+    dashStyle :: (Core.Maybe EmbeddedObjectBorder_DashStyle),+    -- | The property state of the border property.+    propertyState :: (Core.Maybe EmbeddedObjectBorder_PropertyState),+    -- | The width of the border.+    width :: (Core.Maybe Dimension)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'EmbeddedObjectBorder' with the minimum fields required to make a request.+newEmbeddedObjectBorder ::+  EmbeddedObjectBorder+newEmbeddedObjectBorder =+  EmbeddedObjectBorder+    { color = Core.Nothing,+      dashStyle = Core.Nothing,+      propertyState = Core.Nothing,+      width = Core.Nothing+    }++instance Core.FromJSON EmbeddedObjectBorder where+  parseJSON =+    Core.withObject+      "EmbeddedObjectBorder"+      ( \o ->+          EmbeddedObjectBorder+            Core.<$> (o Core..:? "color")+            Core.<*> (o Core..:? "dashStyle")+            Core.<*> (o Core..:? "propertyState")+            Core.<*> (o Core..:? "width")+      )++instance Core.ToJSON EmbeddedObjectBorder where+  toJSON EmbeddedObjectBorder {..} =+    Core.object+      ( Core.catMaybes+          [ ("color" Core..=) Core.<$> color,+            ("dashStyle" Core..=) Core.<$> dashStyle,+            ("propertyState" Core..=) Core.<$> propertyState,+            ("width" Core..=) Core.<$> width+          ]+      )++-- | A mask that indicates which of the fields on the base EmbeddedObjectBorder have been changed in this suggestion. For any field set to true, there\'s a new suggested value.+--+-- /See:/ 'newEmbeddedObjectBorderSuggestionState' smart constructor.+data EmbeddedObjectBorderSuggestionState = EmbeddedObjectBorderSuggestionState+  { -- | Indicates if there was a suggested change to color.+    colorSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to dash_style.+    dashStyleSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to property_state.+    propertyStateSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to width.+    widthSuggested :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'EmbeddedObjectBorderSuggestionState' with the minimum fields required to make a request.+newEmbeddedObjectBorderSuggestionState ::+  EmbeddedObjectBorderSuggestionState+newEmbeddedObjectBorderSuggestionState =+  EmbeddedObjectBorderSuggestionState+    { colorSuggested =+        Core.Nothing,+      dashStyleSuggested = Core.Nothing,+      propertyStateSuggested = Core.Nothing,+      widthSuggested = Core.Nothing+    }++instance Core.FromJSON EmbeddedObjectBorderSuggestionState where+  parseJSON =+    Core.withObject+      "EmbeddedObjectBorderSuggestionState"+      ( \o ->+          EmbeddedObjectBorderSuggestionState+            Core.<$> (o Core..:? "colorSuggested")+            Core.<*> (o Core..:? "dashStyleSuggested")+            Core.<*> (o Core..:? "propertyStateSuggested")+            Core.<*> (o Core..:? "widthSuggested")+      )++instance Core.ToJSON EmbeddedObjectBorderSuggestionState where+  toJSON EmbeddedObjectBorderSuggestionState {..} =+    Core.object+      ( Core.catMaybes+          [ ("colorSuggested" Core..=) Core.<$> colorSuggested,+            ("dashStyleSuggested" Core..=) Core.<$> dashStyleSuggested,+            ("propertyStateSuggested" Core..=) Core.<$> propertyStateSuggested,+            ("widthSuggested" Core..=) Core.<$> widthSuggested+          ]+      )++-- | A mask that indicates which of the fields on the base EmbeddedObject have been changed in this suggestion. For any field set to true, there\'s a new suggested value.+--+-- /See:/ 'newEmbeddedObjectSuggestionState' smart constructor.+data EmbeddedObjectSuggestionState = EmbeddedObjectSuggestionState+  { -- | Indicates if there was a suggested change to description.+    descriptionSuggested :: (Core.Maybe Core.Bool),+    -- | A mask that indicates which of the fields in embedded/drawing/properties have been changed in this suggestion.+    embeddedDrawingPropertiesSuggestionState :: (Core.Maybe EmbeddedDrawingPropertiesSuggestionState),+    -- | A mask that indicates which of the fields in embedded/object/border have been changed in this suggestion.+    embeddedObjectBorderSuggestionState :: (Core.Maybe EmbeddedObjectBorderSuggestionState),+    -- | A mask that indicates which of the fields in image_properties have been changed in this suggestion.+    imagePropertiesSuggestionState :: (Core.Maybe ImagePropertiesSuggestionState),+    -- | A mask that indicates which of the fields in linked/content/reference have been changed in this suggestion.+    linkedContentReferenceSuggestionState :: (Core.Maybe LinkedContentReferenceSuggestionState),+    -- | Indicates if there was a suggested change to margin_bottom.+    marginBottomSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to margin_left.+    marginLeftSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to margin_right.+    marginRightSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to margin_top.+    marginTopSuggested :: (Core.Maybe Core.Bool),+    -- | A mask that indicates which of the fields in size have been changed in this suggestion.+    sizeSuggestionState :: (Core.Maybe SizeSuggestionState),+    -- | Indicates if there was a suggested change to title.+    titleSuggested :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'EmbeddedObjectSuggestionState' with the minimum fields required to make a request.+newEmbeddedObjectSuggestionState ::+  EmbeddedObjectSuggestionState+newEmbeddedObjectSuggestionState =+  EmbeddedObjectSuggestionState+    { descriptionSuggested =+        Core.Nothing,+      embeddedDrawingPropertiesSuggestionState = Core.Nothing,+      embeddedObjectBorderSuggestionState = Core.Nothing,+      imagePropertiesSuggestionState = Core.Nothing,+      linkedContentReferenceSuggestionState = Core.Nothing,+      marginBottomSuggested = Core.Nothing,+      marginLeftSuggested = Core.Nothing,+      marginRightSuggested = Core.Nothing,+      marginTopSuggested = Core.Nothing,+      sizeSuggestionState = Core.Nothing,+      titleSuggested = Core.Nothing+    }++instance Core.FromJSON EmbeddedObjectSuggestionState where+  parseJSON =+    Core.withObject+      "EmbeddedObjectSuggestionState"+      ( \o ->+          EmbeddedObjectSuggestionState+            Core.<$> (o Core..:? "descriptionSuggested")+            Core.<*> (o Core..:? "embeddedDrawingPropertiesSuggestionState")+            Core.<*> (o Core..:? "embeddedObjectBorderSuggestionState")+            Core.<*> (o Core..:? "imagePropertiesSuggestionState")+            Core.<*> (o Core..:? "linkedContentReferenceSuggestionState")+            Core.<*> (o Core..:? "marginBottomSuggested")+            Core.<*> (o Core..:? "marginLeftSuggested")+            Core.<*> (o Core..:? "marginRightSuggested")+            Core.<*> (o Core..:? "marginTopSuggested")+            Core.<*> (o Core..:? "sizeSuggestionState")+            Core.<*> (o Core..:? "titleSuggested")+      )++instance Core.ToJSON EmbeddedObjectSuggestionState where+  toJSON EmbeddedObjectSuggestionState {..} =+    Core.object+      ( Core.catMaybes+          [ ("descriptionSuggested" Core..=) Core.<$> descriptionSuggested,+            ("embeddedDrawingPropertiesSuggestionState" Core..=)+              Core.<$> embeddedDrawingPropertiesSuggestionState,+            ("embeddedObjectBorderSuggestionState" Core..=)+              Core.<$> embeddedObjectBorderSuggestionState,+            ("imagePropertiesSuggestionState" Core..=)+              Core.<$> imagePropertiesSuggestionState,+            ("linkedContentReferenceSuggestionState" Core..=)+              Core.<$> linkedContentReferenceSuggestionState,+            ("marginBottomSuggested" Core..=) Core.<$> marginBottomSuggested,+            ("marginLeftSuggested" Core..=) Core.<$> marginLeftSuggested,+            ("marginRightSuggested" Core..=) Core.<$> marginRightSuggested,+            ("marginTopSuggested" Core..=) Core.<$> marginTopSuggested,+            ("sizeSuggestionState" Core..=) Core.<$> sizeSuggestionState,+            ("titleSuggested" Core..=) Core.<$> titleSuggested+          ]+      )++-- | Location at the end of a body, header, footer or footnote. The location is immediately before the last newline in the document segment.+--+-- /See:/ 'newEndOfSegmentLocation' smart constructor.+data EndOfSegmentLocation = EndOfSegmentLocation+  { -- | The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document\'s body.+    segmentId :: (Core.Maybe Core.Text),+    -- | The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab\'s ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.+    tabId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'EndOfSegmentLocation' with the minimum fields required to make a request.+newEndOfSegmentLocation ::+  EndOfSegmentLocation+newEndOfSegmentLocation =+  EndOfSegmentLocation+    { segmentId = Core.Nothing,+      tabId = Core.Nothing+    }++instance Core.FromJSON EndOfSegmentLocation where+  parseJSON =+    Core.withObject+      "EndOfSegmentLocation"+      ( \o ->+          EndOfSegmentLocation+            Core.<$> (o Core..:? "segmentId")+            Core.<*> (o Core..:? "tabId")+      )++instance Core.ToJSON EndOfSegmentLocation where+  toJSON EndOfSegmentLocation {..} =+    Core.object+      ( Core.catMaybes+          [ ("segmentId" Core..=) Core.<$> segmentId,+            ("tabId" Core..=) Core.<$> tabId+          ]+      )++-- | A ParagraphElement representing an equation.+--+-- /See:/ 'newEquation' smart constructor.+data Equation = Equation+  { -- | The suggested deletion IDs. If empty, then there are no suggested deletions of this content.+    suggestedDeletionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested insertion IDs. An Equation may have multiple insertion IDs if it\'s a nested suggested change. If empty, then this is not a suggested insertion.+    suggestedInsertionIds :: (Core.Maybe [Core.Text])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Equation' with the minimum fields required to make a request.+newEquation ::+  Equation+newEquation =+  Equation+    { suggestedDeletionIds = Core.Nothing,+      suggestedInsertionIds = Core.Nothing+    }++instance Core.FromJSON Equation where+  parseJSON =+    Core.withObject+      "Equation"+      ( \o ->+          Equation+            Core.<$> (o Core..:? "suggestedDeletionIds")+            Core.<*> (o Core..:? "suggestedInsertionIds")+      )++instance Core.ToJSON Equation where+  toJSON Equation {..} =+    Core.object+      ( Core.catMaybes+          [ ("suggestedDeletionIds" Core..=) Core.<$> suggestedDeletionIds,+            ("suggestedInsertionIds" Core..=) Core.<$> suggestedInsertionIds+          ]+      )++-- | A document footer.+--+-- /See:/ 'newFooter' smart constructor.+data Footer = Footer+  { -- | The contents of the footer. The indexes for a footer\'s content begin at zero.+    content :: (Core.Maybe [StructuralElement]),+    -- | The ID of the footer.+    footerId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Footer' with the minimum fields required to make a request.+newFooter ::+  Footer+newFooter = Footer {content = Core.Nothing, footerId = Core.Nothing}++instance Core.FromJSON Footer where+  parseJSON =+    Core.withObject+      "Footer"+      ( \o ->+          Footer+            Core.<$> (o Core..:? "content")+            Core.<*> (o Core..:? "footerId")+      )++instance Core.ToJSON Footer where+  toJSON Footer {..} =+    Core.object+      ( Core.catMaybes+          [ ("content" Core..=) Core.<$> content,+            ("footerId" Core..=) Core.<$> footerId+          ]+      )++-- | A document footnote.+--+-- /See:/ 'newFootnote' smart constructor.+data Footnote = Footnote+  { -- | The contents of the footnote. The indexes for a footnote\'s content begin at zero.+    content :: (Core.Maybe [StructuralElement]),+    -- | The ID of the footnote.+    footnoteId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Footnote' with the minimum fields required to make a request.+newFootnote ::+  Footnote+newFootnote =+  Footnote {content = Core.Nothing, footnoteId = Core.Nothing}++instance Core.FromJSON Footnote where+  parseJSON =+    Core.withObject+      "Footnote"+      ( \o ->+          Footnote+            Core.<$> (o Core..:? "content")+            Core.<*> (o Core..:? "footnoteId")+      )++instance Core.ToJSON Footnote where+  toJSON Footnote {..} =+    Core.object+      ( Core.catMaybes+          [ ("content" Core..=) Core.<$> content,+            ("footnoteId" Core..=) Core.<$> footnoteId+          ]+      )++-- | A ParagraphElement representing a footnote reference. A footnote reference is the inline content rendered with a number and is used to identify the footnote.+--+-- /See:/ 'newFootnoteReference' smart constructor.+data FootnoteReference = FootnoteReference+  { -- | The ID of the footnote that contains the content of this footnote reference.+    footnoteId :: (Core.Maybe Core.Text),+    -- | The rendered number of this footnote.+    footnoteNumber :: (Core.Maybe Core.Text),+    -- | The suggested deletion IDs. If empty, then there are no suggested deletions of this content.+    suggestedDeletionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested insertion IDs. A FootnoteReference may have multiple insertion IDs if it\'s a nested suggested change. If empty, then this is not a suggested insertion.+    suggestedInsertionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested text style changes to this FootnoteReference, keyed by suggestion ID.+    suggestedTextStyleChanges :: (Core.Maybe FootnoteReference_SuggestedTextStyleChanges),+    -- | The text style of this FootnoteReference.+    textStyle :: (Core.Maybe TextStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'FootnoteReference' with the minimum fields required to make a request.+newFootnoteReference ::+  FootnoteReference+newFootnoteReference =+  FootnoteReference+    { footnoteId = Core.Nothing,+      footnoteNumber = Core.Nothing,+      suggestedDeletionIds = Core.Nothing,+      suggestedInsertionIds = Core.Nothing,+      suggestedTextStyleChanges = Core.Nothing,+      textStyle = Core.Nothing+    }++instance Core.FromJSON FootnoteReference where+  parseJSON =+    Core.withObject+      "FootnoteReference"+      ( \o ->+          FootnoteReference+            Core.<$> (o Core..:? "footnoteId")+            Core.<*> (o Core..:? "footnoteNumber")+            Core.<*> (o Core..:? "suggestedDeletionIds")+            Core.<*> (o Core..:? "suggestedInsertionIds")+            Core.<*> (o Core..:? "suggestedTextStyleChanges")+            Core.<*> (o Core..:? "textStyle")+      )++instance Core.ToJSON FootnoteReference where+  toJSON FootnoteReference {..} =+    Core.object+      ( Core.catMaybes+          [ ("footnoteId" Core..=) Core.<$> footnoteId,+            ("footnoteNumber" Core..=) Core.<$> footnoteNumber,+            ("suggestedDeletionIds" Core..=) Core.<$> suggestedDeletionIds,+            ("suggestedInsertionIds" Core..=) Core.<$> suggestedInsertionIds,+            ("suggestedTextStyleChanges" Core..=)+              Core.<$> suggestedTextStyleChanges,+            ("textStyle" Core..=) Core.<$> textStyle+          ]+      )++-- | The suggested text style changes to this FootnoteReference, keyed by suggestion ID.+--+-- /See:/ 'newFootnoteReference_SuggestedTextStyleChanges' smart constructor.+newtype FootnoteReference_SuggestedTextStyleChanges = FootnoteReference_SuggestedTextStyleChanges+  { additional :: (Core.HashMap Core.Text SuggestedTextStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'FootnoteReference_SuggestedTextStyleChanges' with the minimum fields required to make a request.+newFootnoteReference_SuggestedTextStyleChanges ::+  -- |  See 'additional'.+  Core.HashMap Core.Text SuggestedTextStyle ->+  FootnoteReference_SuggestedTextStyleChanges+newFootnoteReference_SuggestedTextStyleChanges additional =+  FootnoteReference_SuggestedTextStyleChanges+    { additional =+        additional+    }++instance Core.FromJSON FootnoteReference_SuggestedTextStyleChanges where+  parseJSON =+    Core.withObject+      "FootnoteReference_SuggestedTextStyleChanges"+      ( \o ->+          FootnoteReference_SuggestedTextStyleChanges+            Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON FootnoteReference_SuggestedTextStyleChanges where+  toJSON FootnoteReference_SuggestedTextStyleChanges {..} =+    Core.toJSON additional++-- | A document header.+--+-- /See:/ 'newHeader' smart constructor.+data Header = Header+  { -- | The contents of the header. The indexes for a header\'s content begin at zero.+    content :: (Core.Maybe [StructuralElement]),+    -- | The ID of the header.+    headerId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Header' with the minimum fields required to make a request.+newHeader ::+  Header+newHeader = Header {content = Core.Nothing, headerId = Core.Nothing}++instance Core.FromJSON Header where+  parseJSON =+    Core.withObject+      "Header"+      ( \o ->+          Header+            Core.<$> (o Core..:? "content")+            Core.<*> (o Core..:? "headerId")+      )++instance Core.ToJSON Header where+  toJSON Header {..} =+    Core.object+      ( Core.catMaybes+          [ ("content" Core..=) Core.<$> content,+            ("headerId" Core..=) Core.<$> headerId+          ]+      )++-- | A reference to a heading in this document.+--+-- /See:/ 'newHeadingLink' smart constructor.+data HeadingLink = HeadingLink+  { -- | The ID of a heading in this document.+    id :: (Core.Maybe Core.Text),+    -- | The ID of the tab containing this heading.+    tabId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'HeadingLink' with the minimum fields required to make a request.+newHeadingLink ::+  HeadingLink+newHeadingLink =+  HeadingLink {id = Core.Nothing, tabId = Core.Nothing}++instance Core.FromJSON HeadingLink where+  parseJSON =+    Core.withObject+      "HeadingLink"+      ( \o ->+          HeadingLink+            Core.<$> (o Core..:? "id")+            Core.<*> (o Core..:? "tabId")+      )++instance Core.ToJSON HeadingLink where+  toJSON HeadingLink {..} =+    Core.object+      ( Core.catMaybes+          [("id" Core..=) Core.<$> id, ("tabId" Core..=) Core.<$> tabId]+      )++-- | A ParagraphElement representing a horizontal line.+--+-- /See:/ 'newHorizontalRule' smart constructor.+data HorizontalRule = HorizontalRule+  { -- | The suggested deletion IDs. If empty, then there are no suggested deletions of this content.+    suggestedDeletionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested insertion IDs. A HorizontalRule may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.+    suggestedInsertionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested text style changes to this HorizontalRule, keyed by suggestion ID.+    suggestedTextStyleChanges :: (Core.Maybe HorizontalRule_SuggestedTextStyleChanges),+    -- | The text style of this HorizontalRule. Similar to text content, like text runs and footnote references, the text style of a horizontal rule can affect content layout as well as the styling of text inserted next to it.+    textStyle :: (Core.Maybe TextStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'HorizontalRule' with the minimum fields required to make a request.+newHorizontalRule ::+  HorizontalRule+newHorizontalRule =+  HorizontalRule+    { suggestedDeletionIds = Core.Nothing,+      suggestedInsertionIds = Core.Nothing,+      suggestedTextStyleChanges = Core.Nothing,+      textStyle = Core.Nothing+    }++instance Core.FromJSON HorizontalRule where+  parseJSON =+    Core.withObject+      "HorizontalRule"+      ( \o ->+          HorizontalRule+            Core.<$> (o Core..:? "suggestedDeletionIds")+            Core.<*> (o Core..:? "suggestedInsertionIds")+            Core.<*> (o Core..:? "suggestedTextStyleChanges")+            Core.<*> (o Core..:? "textStyle")+      )++instance Core.ToJSON HorizontalRule where+  toJSON HorizontalRule {..} =+    Core.object+      ( Core.catMaybes+          [ ("suggestedDeletionIds" Core..=) Core.<$> suggestedDeletionIds,+            ("suggestedInsertionIds" Core..=) Core.<$> suggestedInsertionIds,+            ("suggestedTextStyleChanges" Core..=)+              Core.<$> suggestedTextStyleChanges,+            ("textStyle" Core..=) Core.<$> textStyle+          ]+      )++-- | The suggested text style changes to this HorizontalRule, keyed by suggestion ID.+--+-- /See:/ 'newHorizontalRule_SuggestedTextStyleChanges' smart constructor.+newtype HorizontalRule_SuggestedTextStyleChanges = HorizontalRule_SuggestedTextStyleChanges+  { additional :: (Core.HashMap Core.Text SuggestedTextStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'HorizontalRule_SuggestedTextStyleChanges' with the minimum fields required to make a request.+newHorizontalRule_SuggestedTextStyleChanges ::+  -- |  See 'additional'.+  Core.HashMap Core.Text SuggestedTextStyle ->+  HorizontalRule_SuggestedTextStyleChanges+newHorizontalRule_SuggestedTextStyleChanges additional =+  HorizontalRule_SuggestedTextStyleChanges {additional = additional}++instance Core.FromJSON HorizontalRule_SuggestedTextStyleChanges where+  parseJSON =+    Core.withObject+      "HorizontalRule_SuggestedTextStyleChanges"+      ( \o ->+          HorizontalRule_SuggestedTextStyleChanges+            Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON HorizontalRule_SuggestedTextStyleChanges where+  toJSON HorizontalRule_SuggestedTextStyleChanges {..} =+    Core.toJSON additional++-- | The properties of an image.+--+-- /See:/ 'newImageProperties' smart constructor.+data ImageProperties = ImageProperties+  { -- | The clockwise rotation angle of the image, in radians.+    angle :: (Core.Maybe Core.Double),+    -- | The brightness effect of the image. The value should be in the interval [-1.0, 1.0], where 0 means no effect.+    brightness :: (Core.Maybe Core.Double),+    -- | A URI to the image with a default lifetime of 30 minutes. This URI is tagged with the account of the requester. Anyone with the URI effectively accesses the image as the original requester. Access to the image may be lost if the document\'s sharing settings change.+    contentUri :: (Core.Maybe Core.Text),+    -- | The contrast effect of the image. The value should be in the interval [-1.0, 1.0], where 0 means no effect.+    contrast :: (Core.Maybe Core.Double),+    -- | The crop properties of the image.+    cropProperties :: (Core.Maybe CropProperties),+    -- | The source URI is the URI used to insert the image. The source URI can be empty.+    sourceUri :: (Core.Maybe Core.Text),+    -- | 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 transparent.+    transparency :: (Core.Maybe Core.Double)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ImageProperties' with the minimum fields required to make a request.+newImageProperties ::+  ImageProperties+newImageProperties =+  ImageProperties+    { angle = Core.Nothing,+      brightness = Core.Nothing,+      contentUri = Core.Nothing,+      contrast = Core.Nothing,+      cropProperties = Core.Nothing,+      sourceUri = Core.Nothing,+      transparency = Core.Nothing+    }++instance Core.FromJSON ImageProperties where+  parseJSON =+    Core.withObject+      "ImageProperties"+      ( \o ->+          ImageProperties+            Core.<$> (o Core..:? "angle")+            Core.<*> (o Core..:? "brightness")+            Core.<*> (o Core..:? "contentUri")+            Core.<*> (o Core..:? "contrast")+            Core.<*> (o Core..:? "cropProperties")+            Core.<*> (o Core..:? "sourceUri")+            Core.<*> (o Core..:? "transparency")+      )++instance Core.ToJSON ImageProperties where+  toJSON ImageProperties {..} =+    Core.object+      ( Core.catMaybes+          [ ("angle" Core..=) Core.<$> angle,+            ("brightness" Core..=) Core.<$> brightness,+            ("contentUri" Core..=) Core.<$> contentUri,+            ("contrast" Core..=) Core.<$> contrast,+            ("cropProperties" Core..=) Core.<$> cropProperties,+            ("sourceUri" Core..=) Core.<$> sourceUri,+            ("transparency" Core..=) Core.<$> transparency+          ]+      )++-- | A mask that indicates which of the fields on the base ImageProperties have been changed in this suggestion. For any field set to true, there\'s a new suggested value.+--+-- /See:/ 'newImagePropertiesSuggestionState' smart constructor.+data ImagePropertiesSuggestionState = ImagePropertiesSuggestionState+  { -- | Indicates if there was a suggested change to angle.+    angleSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to brightness.+    brightnessSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to content_uri.+    contentUriSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to contrast.+    contrastSuggested :: (Core.Maybe Core.Bool),+    -- | A mask that indicates which of the fields in crop_properties have been changed in this suggestion.+    cropPropertiesSuggestionState :: (Core.Maybe CropPropertiesSuggestionState),+    -- | Indicates if there was a suggested change to source_uri.+    sourceUriSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to transparency.+    transparencySuggested :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ImagePropertiesSuggestionState' with the minimum fields required to make a request.+newImagePropertiesSuggestionState ::+  ImagePropertiesSuggestionState+newImagePropertiesSuggestionState =+  ImagePropertiesSuggestionState+    { angleSuggested = Core.Nothing,+      brightnessSuggested = Core.Nothing,+      contentUriSuggested = Core.Nothing,+      contrastSuggested = Core.Nothing,+      cropPropertiesSuggestionState = Core.Nothing,+      sourceUriSuggested = Core.Nothing,+      transparencySuggested = Core.Nothing+    }++instance Core.FromJSON ImagePropertiesSuggestionState where+  parseJSON =+    Core.withObject+      "ImagePropertiesSuggestionState"+      ( \o ->+          ImagePropertiesSuggestionState+            Core.<$> (o Core..:? "angleSuggested")+            Core.<*> (o Core..:? "brightnessSuggested")+            Core.<*> (o Core..:? "contentUriSuggested")+            Core.<*> (o Core..:? "contrastSuggested")+            Core.<*> (o Core..:? "cropPropertiesSuggestionState")+            Core.<*> (o Core..:? "sourceUriSuggested")+            Core.<*> (o Core..:? "transparencySuggested")+      )++instance Core.ToJSON ImagePropertiesSuggestionState where+  toJSON ImagePropertiesSuggestionState {..} =+    Core.object+      ( Core.catMaybes+          [ ("angleSuggested" Core..=) Core.<$> angleSuggested,+            ("brightnessSuggested" Core..=) Core.<$> brightnessSuggested,+            ("contentUriSuggested" Core..=) Core.<$> contentUriSuggested,+            ("contrastSuggested" Core..=) Core.<$> contrastSuggested,+            ("cropPropertiesSuggestionState" Core..=)+              Core.<$> cropPropertiesSuggestionState,+            ("sourceUriSuggested" Core..=) Core.<$> sourceUriSuggested,+            ("transparencySuggested" Core..=) Core.<$> transparencySuggested+          ]+      )++-- | An object that appears inline with text. An InlineObject contains an EmbeddedObject such as an image.+--+-- /See:/ 'newInlineObject' smart constructor.+data InlineObject = InlineObject+  { -- | The properties of this inline object.+    inlineObjectProperties :: (Core.Maybe InlineObjectProperties),+    -- | The ID of this inline object. Can be used to update an object’s properties.+    objectId :: (Core.Maybe Core.Text),+    -- | The suggested deletion IDs. If empty, then there are no suggested deletions of this content.+    suggestedDeletionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested changes to the inline object properties, keyed by suggestion ID.+    suggestedInlineObjectPropertiesChanges :: (Core.Maybe InlineObject_SuggestedInlineObjectPropertiesChanges),+    -- | The suggested insertion ID. If empty, then this is not a suggested insertion.+    suggestedInsertionId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'InlineObject' with the minimum fields required to make a request.+newInlineObject ::+  InlineObject+newInlineObject =+  InlineObject+    { inlineObjectProperties = Core.Nothing,+      objectId = Core.Nothing,+      suggestedDeletionIds = Core.Nothing,+      suggestedInlineObjectPropertiesChanges = Core.Nothing,+      suggestedInsertionId = Core.Nothing+    }++instance Core.FromJSON InlineObject where+  parseJSON =+    Core.withObject+      "InlineObject"+      ( \o ->+          InlineObject+            Core.<$> (o Core..:? "inlineObjectProperties")+            Core.<*> (o Core..:? "objectId")+            Core.<*> (o Core..:? "suggestedDeletionIds")+            Core.<*> (o Core..:? "suggestedInlineObjectPropertiesChanges")+            Core.<*> (o Core..:? "suggestedInsertionId")+      )++instance Core.ToJSON InlineObject where+  toJSON InlineObject {..} =+    Core.object+      ( Core.catMaybes+          [ ("inlineObjectProperties" Core..=)+              Core.<$> inlineObjectProperties,+            ("objectId" Core..=) Core.<$> objectId,+            ("suggestedDeletionIds" Core..=) Core.<$> suggestedDeletionIds,+            ("suggestedInlineObjectPropertiesChanges" Core..=)+              Core.<$> suggestedInlineObjectPropertiesChanges,+            ("suggestedInsertionId" Core..=) Core.<$> suggestedInsertionId+          ]+      )++-- | The suggested changes to the inline object properties, keyed by suggestion ID.+--+-- /See:/ 'newInlineObject_SuggestedInlineObjectPropertiesChanges' smart constructor.+newtype InlineObject_SuggestedInlineObjectPropertiesChanges = InlineObject_SuggestedInlineObjectPropertiesChanges+  { additional :: (Core.HashMap Core.Text SuggestedInlineObjectProperties)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'InlineObject_SuggestedInlineObjectPropertiesChanges' with the minimum fields required to make a request.+newInlineObject_SuggestedInlineObjectPropertiesChanges ::+  -- |  See 'additional'.+  Core.HashMap+    Core.Text+    SuggestedInlineObjectProperties ->+  InlineObject_SuggestedInlineObjectPropertiesChanges+newInlineObject_SuggestedInlineObjectPropertiesChanges additional =+  InlineObject_SuggestedInlineObjectPropertiesChanges+    { additional =+        additional+    }++instance+  Core.FromJSON+    InlineObject_SuggestedInlineObjectPropertiesChanges+  where+  parseJSON =+    Core.withObject+      "InlineObject_SuggestedInlineObjectPropertiesChanges"+      ( \o ->+          InlineObject_SuggestedInlineObjectPropertiesChanges+            Core.<$> (Core.parseJSONObject o)+      )++instance+  Core.ToJSON+    InlineObject_SuggestedInlineObjectPropertiesChanges+  where+  toJSON InlineObject_SuggestedInlineObjectPropertiesChanges {..} =+    Core.toJSON additional++-- | A ParagraphElement that contains an InlineObject.+--+-- /See:/ 'newInlineObjectElement' smart constructor.+data InlineObjectElement = InlineObjectElement+  { -- | The ID of the InlineObject this element contains.+    inlineObjectId :: (Core.Maybe Core.Text),+    -- | The suggested deletion IDs. If empty, then there are no suggested deletions of this content.+    suggestedDeletionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested insertion IDs. An InlineObjectElement may have multiple insertion IDs if it\'s a nested suggested change. If empty, then this is not a suggested insertion.+    suggestedInsertionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested text style changes to this InlineObject, keyed by suggestion ID.+    suggestedTextStyleChanges :: (Core.Maybe InlineObjectElement_SuggestedTextStyleChanges),+    -- | The text style of this InlineObjectElement. Similar to text content, like text runs and footnote references, the text style of an inline object element can affect content layout as well as the styling of text inserted next to it.+    textStyle :: (Core.Maybe TextStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'InlineObjectElement' with the minimum fields required to make a request.+newInlineObjectElement ::+  InlineObjectElement+newInlineObjectElement =+  InlineObjectElement+    { inlineObjectId = Core.Nothing,+      suggestedDeletionIds = Core.Nothing,+      suggestedInsertionIds = Core.Nothing,+      suggestedTextStyleChanges = Core.Nothing,+      textStyle = Core.Nothing+    }++instance Core.FromJSON InlineObjectElement where+  parseJSON =+    Core.withObject+      "InlineObjectElement"+      ( \o ->+          InlineObjectElement+            Core.<$> (o Core..:? "inlineObjectId")+            Core.<*> (o Core..:? "suggestedDeletionIds")+            Core.<*> (o Core..:? "suggestedInsertionIds")+            Core.<*> (o Core..:? "suggestedTextStyleChanges")+            Core.<*> (o Core..:? "textStyle")+      )++instance Core.ToJSON InlineObjectElement where+  toJSON InlineObjectElement {..} =+    Core.object+      ( Core.catMaybes+          [ ("inlineObjectId" Core..=) Core.<$> inlineObjectId,+            ("suggestedDeletionIds" Core..=) Core.<$> suggestedDeletionIds,+            ("suggestedInsertionIds" Core..=) Core.<$> suggestedInsertionIds,+            ("suggestedTextStyleChanges" Core..=)+              Core.<$> suggestedTextStyleChanges,+            ("textStyle" Core..=) Core.<$> textStyle+          ]+      )++-- | The suggested text style changes to this InlineObject, keyed by suggestion ID.+--+-- /See:/ 'newInlineObjectElement_SuggestedTextStyleChanges' smart constructor.+newtype InlineObjectElement_SuggestedTextStyleChanges = InlineObjectElement_SuggestedTextStyleChanges+  { additional :: (Core.HashMap Core.Text SuggestedTextStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'InlineObjectElement_SuggestedTextStyleChanges' with the minimum fields required to make a request.+newInlineObjectElement_SuggestedTextStyleChanges ::+  -- |  See 'additional'.+  Core.HashMap Core.Text SuggestedTextStyle ->+  InlineObjectElement_SuggestedTextStyleChanges+newInlineObjectElement_SuggestedTextStyleChanges additional =+  InlineObjectElement_SuggestedTextStyleChanges+    { additional =+        additional+    }++instance+  Core.FromJSON+    InlineObjectElement_SuggestedTextStyleChanges+  where+  parseJSON =+    Core.withObject+      "InlineObjectElement_SuggestedTextStyleChanges"+      ( \o ->+          InlineObjectElement_SuggestedTextStyleChanges+            Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON InlineObjectElement_SuggestedTextStyleChanges where+  toJSON InlineObjectElement_SuggestedTextStyleChanges {..} =+    Core.toJSON additional++-- | Properties of an InlineObject.+--+-- /See:/ 'newInlineObjectProperties' smart constructor.+newtype InlineObjectProperties = InlineObjectProperties+  { -- | The embedded object of this inline object.+    embeddedObject :: (Core.Maybe EmbeddedObject)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'InlineObjectProperties' with the minimum fields required to make a request.+newInlineObjectProperties ::+  InlineObjectProperties+newInlineObjectProperties =+  InlineObjectProperties {embeddedObject = Core.Nothing}++instance Core.FromJSON InlineObjectProperties where+  parseJSON =+    Core.withObject+      "InlineObjectProperties"+      ( \o ->+          InlineObjectProperties Core.<$> (o Core..:? "embeddedObject")+      )++instance Core.ToJSON InlineObjectProperties where+  toJSON InlineObjectProperties {..} =+    Core.object+      ( Core.catMaybes+          [("embeddedObject" Core..=) Core.<$> embeddedObject]+      )++-- | A mask that indicates which of the fields on the base InlineObjectProperties have been changed in this suggestion. For any field set to true, there\'s a new suggested value.+--+-- /See:/ 'newInlineObjectPropertiesSuggestionState' smart constructor.+newtype InlineObjectPropertiesSuggestionState = InlineObjectPropertiesSuggestionState+  { -- | A mask that indicates which of the fields in embedded_object have been changed in this suggestion.+    embeddedObjectSuggestionState :: (Core.Maybe EmbeddedObjectSuggestionState)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'InlineObjectPropertiesSuggestionState' with the minimum fields required to make a request.+newInlineObjectPropertiesSuggestionState ::+  InlineObjectPropertiesSuggestionState+newInlineObjectPropertiesSuggestionState =+  InlineObjectPropertiesSuggestionState+    { embeddedObjectSuggestionState =+        Core.Nothing+    }++instance Core.FromJSON InlineObjectPropertiesSuggestionState where+  parseJSON =+    Core.withObject+      "InlineObjectPropertiesSuggestionState"+      ( \o ->+          InlineObjectPropertiesSuggestionState+            Core.<$> (o Core..:? "embeddedObjectSuggestionState")+      )++instance Core.ToJSON InlineObjectPropertiesSuggestionState where+  toJSON InlineObjectPropertiesSuggestionState {..} =+    Core.object+      ( Core.catMaybes+          [ ("embeddedObjectSuggestionState" Core..=)+              Core.<$> embeddedObjectSuggestionState+          ]+      )++-- | Inserts an InlineObject containing an image at the given location.+--+-- /See:/ 'newInsertInlineImageRequest' smart constructor.+data InsertInlineImageRequest = InsertInlineImageRequest+  { -- | Inserts the text at the end of a header, footer or the document body. Inline images cannot be inserted inside a footnote.+    endOfSegmentLocation :: (Core.Maybe EndOfSegmentLocation),+    -- | Inserts the image at a specific index in the document. The image must be inserted inside the bounds of an existing Paragraph. For instance, it cannot be inserted at a table\'s start index (i.e. between the table and its preceding paragraph). Inline images cannot be inserted inside a footnote or equation.+    location :: (Core.Maybe Location),+    -- | The size that the image should appear as in the document. This property is optional and the final size of the image in the document is determined by the following rules: * If neither width nor height is specified, then a default size of the image is calculated based on its resolution. * If one dimension is specified then the other dimension is calculated to preserve the aspect ratio of the image. * If both width and height are specified, the image is scaled to fit within the provided dimensions while maintaining its aspect ratio.+    objectSize :: (Core.Maybe Size),+    -- | The image URI. The image is fetched once at insertion time and a copy is stored for display inside the document. Images must be less than 50MB in size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF format. The provided URI must be publicly accessible and at most 2 kB in length. The URI itself is saved with the image, and exposed via the ImageProperties.content_uri field.+    uri :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'InsertInlineImageRequest' with the minimum fields required to make a request.+newInsertInlineImageRequest ::+  InsertInlineImageRequest+newInsertInlineImageRequest =+  InsertInlineImageRequest+    { endOfSegmentLocation = Core.Nothing,+      location = Core.Nothing,+      objectSize = Core.Nothing,+      uri = Core.Nothing+    }++instance Core.FromJSON InsertInlineImageRequest where+  parseJSON =+    Core.withObject+      "InsertInlineImageRequest"+      ( \o ->+          InsertInlineImageRequest+            Core.<$> (o Core..:? "endOfSegmentLocation")+            Core.<*> (o Core..:? "location")+            Core.<*> (o Core..:? "objectSize")+            Core.<*> (o Core..:? "uri")+      )++instance Core.ToJSON InsertInlineImageRequest where+  toJSON InsertInlineImageRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("endOfSegmentLocation" Core..=) Core.<$> endOfSegmentLocation,+            ("location" Core..=) Core.<$> location,+            ("objectSize" Core..=) Core.<$> objectSize,+            ("uri" Core..=) Core.<$> uri+          ]+      )++-- | The result of inserting an inline image.+--+-- /See:/ 'newInsertInlineImageResponse' smart constructor.+newtype InsertInlineImageResponse = InsertInlineImageResponse+  { -- | The ID of the created InlineObject.+    objectId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'InsertInlineImageResponse' with the minimum fields required to make a request.+newInsertInlineImageResponse ::+  InsertInlineImageResponse+newInsertInlineImageResponse =+  InsertInlineImageResponse {objectId = Core.Nothing}++instance Core.FromJSON InsertInlineImageResponse where+  parseJSON =+    Core.withObject+      "InsertInlineImageResponse"+      (\o -> InsertInlineImageResponse Core.<$> (o Core..:? "objectId"))++instance Core.ToJSON InsertInlineImageResponse where+  toJSON InsertInlineImageResponse {..} =+    Core.object+      (Core.catMaybes [("objectId" Core..=) Core.<$> objectId])++-- | The result of inserting an embedded Google Sheets chart.+--+-- /See:/ 'newInsertInlineSheetsChartResponse' smart constructor.+newtype InsertInlineSheetsChartResponse = InsertInlineSheetsChartResponse+  { -- | The object ID of the inserted chart.+    objectId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'InsertInlineSheetsChartResponse' with the minimum fields required to make a request.+newInsertInlineSheetsChartResponse ::+  InsertInlineSheetsChartResponse+newInsertInlineSheetsChartResponse =+  InsertInlineSheetsChartResponse {objectId = Core.Nothing}++instance Core.FromJSON InsertInlineSheetsChartResponse where+  parseJSON =+    Core.withObject+      "InsertInlineSheetsChartResponse"+      ( \o ->+          InsertInlineSheetsChartResponse Core.<$> (o Core..:? "objectId")+      )++instance Core.ToJSON InsertInlineSheetsChartResponse where+  toJSON InsertInlineSheetsChartResponse {..} =+    Core.object+      (Core.catMaybes [("objectId" Core..=) Core.<$> objectId])++-- | Inserts a page break followed by a newline at the specified location.+--+-- /See:/ 'newInsertPageBreakRequest' smart constructor.+data InsertPageBreakRequest = InsertPageBreakRequest+  { -- | Inserts the page break at the end of the document body. Page breaks cannot be inserted inside a footnote, header or footer. Since page breaks can only be inserted inside the body, the segment ID field must be empty.+    endOfSegmentLocation :: (Core.Maybe EndOfSegmentLocation),+    -- | Inserts the page break at a specific index in the document. The page break must be inserted inside the bounds of an existing Paragraph. For instance, it cannot be inserted at a table\'s start index (i.e. between the table and its preceding paragraph). Page breaks cannot be inserted inside a table, equation, footnote, header or footer. Since page breaks can only be inserted inside the body, the segment ID field must be empty.+    location :: (Core.Maybe Location)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'InsertPageBreakRequest' with the minimum fields required to make a request.+newInsertPageBreakRequest ::+  InsertPageBreakRequest+newInsertPageBreakRequest =+  InsertPageBreakRequest+    { endOfSegmentLocation = Core.Nothing,+      location = Core.Nothing+    }++instance Core.FromJSON InsertPageBreakRequest where+  parseJSON =+    Core.withObject+      "InsertPageBreakRequest"+      ( \o ->+          InsertPageBreakRequest+            Core.<$> (o Core..:? "endOfSegmentLocation")+            Core.<*> (o Core..:? "location")+      )++instance Core.ToJSON InsertPageBreakRequest where+  toJSON InsertPageBreakRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("endOfSegmentLocation" Core..=) Core.<$> endOfSegmentLocation,+            ("location" Core..=) Core.<$> location+          ]+      )++-- | Inserts a section break at the given location. A newline character will be inserted before the section break.+--+-- /See:/ 'newInsertSectionBreakRequest' smart constructor.+data InsertSectionBreakRequest = InsertSectionBreakRequest+  { -- | Inserts a newline and a section break at the end of the document body. Section breaks cannot be inserted inside a footnote, header or footer. Because section breaks can only be inserted inside the body, the segment ID field must be empty.+    endOfSegmentLocation :: (Core.Maybe EndOfSegmentLocation),+    -- | Inserts a newline and a section break at a specific index in the document. The section break must be inserted inside the bounds of an existing Paragraph. For instance, it cannot be inserted at a table\'s start index (i.e. between the table and its preceding paragraph). Section breaks cannot be inserted inside a table, equation, footnote, header, or footer. Since section breaks can only be inserted inside the body, the segment ID field must be empty.+    location :: (Core.Maybe Location),+    -- | The type of section to insert.+    sectionType :: (Core.Maybe InsertSectionBreakRequest_SectionType)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'InsertSectionBreakRequest' with the minimum fields required to make a request.+newInsertSectionBreakRequest ::+  InsertSectionBreakRequest+newInsertSectionBreakRequest =+  InsertSectionBreakRequest+    { endOfSegmentLocation = Core.Nothing,+      location = Core.Nothing,+      sectionType = Core.Nothing+    }++instance Core.FromJSON InsertSectionBreakRequest where+  parseJSON =+    Core.withObject+      "InsertSectionBreakRequest"+      ( \o ->+          InsertSectionBreakRequest+            Core.<$> (o Core..:? "endOfSegmentLocation")+            Core.<*> (o Core..:? "location")+            Core.<*> (o Core..:? "sectionType")+      )++instance Core.ToJSON InsertSectionBreakRequest where+  toJSON InsertSectionBreakRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("endOfSegmentLocation" Core..=) Core.<$> endOfSegmentLocation,+            ("location" Core..=) Core.<$> location,+            ("sectionType" Core..=) Core.<$> sectionType+          ]+      )++-- | Inserts an empty column into a table.+--+-- /See:/ 'newInsertTableColumnRequest' smart constructor.+data InsertTableColumnRequest = InsertTableColumnRequest+  { -- | Whether to insert new column to the right of the reference cell location. - @True@: insert to the right. - @False@: insert to the left.+    insertRight :: (Core.Maybe Core.Bool),+    -- | The reference table cell location from which columns will be inserted. 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.+    tableCellLocation :: (Core.Maybe TableCellLocation)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'InsertTableColumnRequest' with the minimum fields required to make a request.+newInsertTableColumnRequest ::+  InsertTableColumnRequest+newInsertTableColumnRequest =+  InsertTableColumnRequest+    { insertRight = Core.Nothing,+      tableCellLocation = Core.Nothing+    }++instance Core.FromJSON InsertTableColumnRequest where+  parseJSON =+    Core.withObject+      "InsertTableColumnRequest"+      ( \o ->+          InsertTableColumnRequest+            Core.<$> (o Core..:? "insertRight")+            Core.<*> (o Core..:? "tableCellLocation")+      )++instance Core.ToJSON InsertTableColumnRequest where+  toJSON InsertTableColumnRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("insertRight" Core..=) Core.<$> insertRight,+            ("tableCellLocation" Core..=) Core.<$> tableCellLocation+          ]+      )++-- | Inserts a table at the specified location. A newline character will be inserted before the inserted table.+--+-- /See:/ 'newInsertTableRequest' smart constructor.+data InsertTableRequest = InsertTableRequest+  { -- | The number of columns in the table.+    columns :: (Core.Maybe Core.Int32),+    -- | Inserts the table at the end of the given header, footer or document body. A newline character will be inserted before the inserted table. Tables cannot be inserted inside a footnote.+    endOfSegmentLocation :: (Core.Maybe EndOfSegmentLocation),+    -- | Inserts the table at a specific model index. A newline character will be inserted before the inserted table, therefore the table start index will be at the specified location index + 1. The table must be inserted inside the bounds of an existing Paragraph. For instance, it cannot be inserted at a table\'s start index (i.e. between an existing table and its preceding paragraph). Tables cannot be inserted inside a footnote or equation.+    location :: (Core.Maybe Location),+    -- | The number of rows in the table.+    rows :: (Core.Maybe Core.Int32)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'InsertTableRequest' with the minimum fields required to make a request.+newInsertTableRequest ::+  InsertTableRequest+newInsertTableRequest =+  InsertTableRequest+    { columns = Core.Nothing,+      endOfSegmentLocation = Core.Nothing,+      location = Core.Nothing,+      rows = Core.Nothing+    }++instance Core.FromJSON InsertTableRequest where+  parseJSON =+    Core.withObject+      "InsertTableRequest"+      ( \o ->+          InsertTableRequest+            Core.<$> (o Core..:? "columns")+            Core.<*> (o Core..:? "endOfSegmentLocation")+            Core.<*> (o Core..:? "location")+            Core.<*> (o Core..:? "rows")+      )++instance Core.ToJSON InsertTableRequest where+  toJSON InsertTableRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("columns" Core..=) Core.<$> columns,+            ("endOfSegmentLocation" Core..=) Core.<$> endOfSegmentLocation,+            ("location" Core..=) Core.<$> location,+            ("rows" Core..=) Core.<$> rows+          ]+      )++-- | Inserts an empty row into a table.+--+-- /See:/ 'newInsertTableRowRequest' smart constructor.+data InsertTableRowRequest = InsertTableRowRequest+  { -- | Whether to insert new row below the reference cell location. - @True@: insert below the cell. - @False@: insert above the cell.+    insertBelow :: (Core.Maybe Core.Bool),+    -- | The reference table cell location from which rows will be inserted. A new row will be inserted above (or below) the row where the reference cell is. If the reference cell is a merged cell, a new row will be inserted above (or below) the merged cell.+    tableCellLocation :: (Core.Maybe TableCellLocation)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'InsertTableRowRequest' with the minimum fields required to make a request.+newInsertTableRowRequest ::+  InsertTableRowRequest+newInsertTableRowRequest =+  InsertTableRowRequest+    { insertBelow = Core.Nothing,+      tableCellLocation = Core.Nothing+    }++instance Core.FromJSON InsertTableRowRequest where+  parseJSON =+    Core.withObject+      "InsertTableRowRequest"+      ( \o ->+          InsertTableRowRequest+            Core.<$> (o Core..:? "insertBelow")+            Core.<*> (o Core..:? "tableCellLocation")+      )++instance Core.ToJSON InsertTableRowRequest where+  toJSON InsertTableRowRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("insertBelow" Core..=) Core.<$> insertBelow,+            ("tableCellLocation" Core..=) Core.<$> tableCellLocation+          ]+      )++-- | Inserts text at the specified location.+--+-- /See:/ 'newInsertTextRequest' smart constructor.+data InsertTextRequest = InsertTextRequest+  { -- | Inserts the text at the end of a header, footer, footnote or the document body.+    endOfSegmentLocation :: (Core.Maybe EndOfSegmentLocation),+    -- | Inserts the text at a specific index in the document. Text must be inserted inside the bounds of an existing Paragraph. For instance, text cannot be inserted at a table\'s start index (i.e. between the table and its preceding paragraph). The text must be inserted in the preceding paragraph.+    location :: (Core.Maybe Location),+    -- | The text to be inserted. Inserting a newline character will implicitly create a new Paragraph at that index. The paragraph style of the new paragraph will be copied from the paragraph at the current insertion index, including lists and bullets. Text styles for inserted text will be determined automatically, generally preserving the styling of neighboring text. In most cases, the text style for the inserted text will match the text immediately before the insertion index. Some control characters (U+0000-U+0008, U+000C-U+001F) and characters from the Unicode Basic Multilingual Plane Private Use Area (U+E000-U+F8FF) will be stripped out of the inserted text.+    text :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'InsertTextRequest' with the minimum fields required to make a request.+newInsertTextRequest ::+  InsertTextRequest+newInsertTextRequest =+  InsertTextRequest+    { endOfSegmentLocation = Core.Nothing,+      location = Core.Nothing,+      text = Core.Nothing+    }++instance Core.FromJSON InsertTextRequest where+  parseJSON =+    Core.withObject+      "InsertTextRequest"+      ( \o ->+          InsertTextRequest+            Core.<$> (o Core..:? "endOfSegmentLocation")+            Core.<*> (o Core..:? "location")+            Core.<*> (o Core..:? "text")+      )++instance Core.ToJSON InsertTextRequest where+  toJSON InsertTextRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("endOfSegmentLocation" Core..=) Core.<$> endOfSegmentLocation,+            ("location" Core..=) Core.<$> location,+            ("text" Core..=) Core.<$> text+          ]+      )++-- | A reference to another portion of a document or an external URL resource.+--+-- /See:/ 'newLink' smart constructor.+data Link = Link+  { -- | A bookmark in this document. In documents containing a single tab, links to bookmarks within the singular tab continue to return Link.bookmarkId when the includeTabsContent parameter is set to @false@ or unset. Otherwise, this field is returned.+    bookmark :: (Core.Maybe BookmarkLink),+    -- | The ID of a bookmark in this document. Legacy field: Instead, set includeTabsContent to @true@ and use Link.bookmark for read and write operations. This field is only returned when includeTabsContent is set to @false@ in documents containing a single tab and links to a bookmark within the singular tab. Otherwise, Link.bookmark is returned. If this field is used in a write request, the bookmark is considered to be from the tab ID specified in the request. If a tab ID is not specified in the request, it is considered to be from the first tab in the document.+    bookmarkId :: (Core.Maybe Core.Text),+    -- | A heading in this document. In documents containing a single tab, links to headings within the singular tab continue to return Link.headingId when the includeTabsContent parameter is set to @false@ or unset. Otherwise, this field is returned.+    heading :: (Core.Maybe HeadingLink),+    -- | The ID of a heading in this document. Legacy field: Instead, set includeTabsContent to @true@ and use Link.heading for read and write operations. This field is only returned when includeTabsContent is set to @false@ in documents containing a single tab and links to a heading within the singular tab. Otherwise, Link.heading is returned. If this field is used in a write request, the heading is considered to be from the tab ID specified in the request. If a tab ID is not specified in the request, it is considered to be from the first tab in the document.+    headingId :: (Core.Maybe Core.Text),+    -- | The ID of a tab in this document.+    tabId :: (Core.Maybe Core.Text),+    -- | An external URL.+    url :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Link' with the minimum fields required to make a request.+newLink ::+  Link+newLink =+  Link+    { bookmark = Core.Nothing,+      bookmarkId = Core.Nothing,+      heading = Core.Nothing,+      headingId = Core.Nothing,+      tabId = Core.Nothing,+      url = Core.Nothing+    }++instance Core.FromJSON Link where+  parseJSON =+    Core.withObject+      "Link"+      ( \o ->+          Link+            Core.<$> (o Core..:? "bookmark")+            Core.<*> (o Core..:? "bookmarkId")+            Core.<*> (o Core..:? "heading")+            Core.<*> (o Core..:? "headingId")+            Core.<*> (o Core..:? "tabId")+            Core.<*> (o Core..:? "url")+      )++instance Core.ToJSON Link where+  toJSON Link {..} =+    Core.object+      ( Core.catMaybes+          [ ("bookmark" Core..=) Core.<$> bookmark,+            ("bookmarkId" Core..=) Core.<$> bookmarkId,+            ("heading" Core..=) Core.<$> heading,+            ("headingId" Core..=) Core.<$> headingId,+            ("tabId" Core..=) Core.<$> tabId,+            ("url" Core..=) Core.<$> url+          ]+      )++-- | A reference to the external linked source content.+--+-- /See:/ 'newLinkedContentReference' smart constructor.+newtype LinkedContentReference = LinkedContentReference+  { -- | A reference to the linked chart.+    sheetsChartReference :: (Core.Maybe SheetsChartReference)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'LinkedContentReference' with the minimum fields required to make a request.+newLinkedContentReference ::+  LinkedContentReference+newLinkedContentReference =+  LinkedContentReference {sheetsChartReference = Core.Nothing}++instance Core.FromJSON LinkedContentReference where+  parseJSON =+    Core.withObject+      "LinkedContentReference"+      ( \o ->+          LinkedContentReference+            Core.<$> (o Core..:? "sheetsChartReference")+      )++instance Core.ToJSON LinkedContentReference where+  toJSON LinkedContentReference {..} =+    Core.object+      ( Core.catMaybes+          [("sheetsChartReference" Core..=) Core.<$> sheetsChartReference]+      )++-- | A mask that indicates which of the fields on the base LinkedContentReference have been changed in this suggestion. For any field set to true, there\'s a new suggested value.+--+-- /See:/ 'newLinkedContentReferenceSuggestionState' smart constructor.+newtype LinkedContentReferenceSuggestionState = LinkedContentReferenceSuggestionState+  { -- | A mask that indicates which of the fields in sheets/chart/reference have been changed in this suggestion.+    sheetsChartReferenceSuggestionState :: (Core.Maybe SheetsChartReferenceSuggestionState)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'LinkedContentReferenceSuggestionState' with the minimum fields required to make a request.+newLinkedContentReferenceSuggestionState ::+  LinkedContentReferenceSuggestionState+newLinkedContentReferenceSuggestionState =+  LinkedContentReferenceSuggestionState+    { sheetsChartReferenceSuggestionState =+        Core.Nothing+    }++instance Core.FromJSON LinkedContentReferenceSuggestionState where+  parseJSON =+    Core.withObject+      "LinkedContentReferenceSuggestionState"+      ( \o ->+          LinkedContentReferenceSuggestionState+            Core.<$> (o Core..:? "sheetsChartReferenceSuggestionState")+      )++instance Core.ToJSON LinkedContentReferenceSuggestionState where+  toJSON LinkedContentReferenceSuggestionState {..} =+    Core.object+      ( Core.catMaybes+          [ ("sheetsChartReferenceSuggestionState" Core..=)+              Core.<$> sheetsChartReferenceSuggestionState+          ]+      )++-- | A List represents the list attributes for a group of paragraphs that all belong to the same list. A paragraph that\'s part of a list has a reference to the list\'s ID in its bullet.+--+-- /See:/ 'newList' smart constructor.+data List = List+  { -- | The properties of the list.+    listProperties :: (Core.Maybe ListProperties),+    -- | The suggested deletion IDs. If empty, then there are no suggested deletions of this list.+    suggestedDeletionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested insertion ID. If empty, then this is not a suggested insertion.+    suggestedInsertionId :: (Core.Maybe Core.Text),+    -- | The suggested changes to the list properties, keyed by suggestion ID.+    suggestedListPropertiesChanges :: (Core.Maybe List_SuggestedListPropertiesChanges)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'List' with the minimum fields required to make a request.+newList ::+  List+newList =+  List+    { listProperties = Core.Nothing,+      suggestedDeletionIds = Core.Nothing,+      suggestedInsertionId = Core.Nothing,+      suggestedListPropertiesChanges = Core.Nothing+    }++instance Core.FromJSON List where+  parseJSON =+    Core.withObject+      "List"+      ( \o ->+          List+            Core.<$> (o Core..:? "listProperties")+            Core.<*> (o Core..:? "suggestedDeletionIds")+            Core.<*> (o Core..:? "suggestedInsertionId")+            Core.<*> (o Core..:? "suggestedListPropertiesChanges")+      )++instance Core.ToJSON List where+  toJSON List {..} =+    Core.object+      ( Core.catMaybes+          [ ("listProperties" Core..=) Core.<$> listProperties,+            ("suggestedDeletionIds" Core..=) Core.<$> suggestedDeletionIds,+            ("suggestedInsertionId" Core..=) Core.<$> suggestedInsertionId,+            ("suggestedListPropertiesChanges" Core..=)+              Core.<$> suggestedListPropertiesChanges+          ]+      )++-- | The suggested changes to the list properties, keyed by suggestion ID.+--+-- /See:/ 'newList_SuggestedListPropertiesChanges' smart constructor.+newtype List_SuggestedListPropertiesChanges = List_SuggestedListPropertiesChanges+  { additional :: (Core.HashMap Core.Text SuggestedListProperties)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'List_SuggestedListPropertiesChanges' with the minimum fields required to make a request.+newList_SuggestedListPropertiesChanges ::+  -- |  See 'additional'.+  Core.HashMap Core.Text SuggestedListProperties ->+  List_SuggestedListPropertiesChanges+newList_SuggestedListPropertiesChanges additional =+  List_SuggestedListPropertiesChanges {additional = additional}++instance Core.FromJSON List_SuggestedListPropertiesChanges where+  parseJSON =+    Core.withObject+      "List_SuggestedListPropertiesChanges"+      ( \o ->+          List_SuggestedListPropertiesChanges+            Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON List_SuggestedListPropertiesChanges where+  toJSON List_SuggestedListPropertiesChanges {..} =+    Core.toJSON additional++-- | The properties of a list that describe the look and feel of bullets belonging to paragraphs associated with a list.+--+-- /See:/ 'newListProperties' smart constructor.+newtype ListProperties = ListProperties+  { -- | Describes the properties of the bullets at the associated level. A list has at most 9 levels of nesting with nesting level 0 corresponding to the top-most level and nesting level 8 corresponding to the most nested level. The nesting levels are returned in ascending order with the least nested returned first.+    nestingLevels :: (Core.Maybe [NestingLevel])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ListProperties' with the minimum fields required to make a request.+newListProperties ::+  ListProperties+newListProperties = ListProperties {nestingLevels = Core.Nothing}++instance Core.FromJSON ListProperties where+  parseJSON =+    Core.withObject+      "ListProperties"+      (\o -> ListProperties Core.<$> (o Core..:? "nestingLevels"))++instance Core.ToJSON ListProperties where+  toJSON ListProperties {..} =+    Core.object+      (Core.catMaybes [("nestingLevels" Core..=) Core.<$> nestingLevels])++-- | A mask that indicates which of the fields on the base ListProperties have been changed in this suggestion. For any field set to true, there\'s a new suggested value.+--+-- /See:/ 'newListPropertiesSuggestionState' smart constructor.+newtype ListPropertiesSuggestionState = ListPropertiesSuggestionState+  { -- | A mask that indicates which of the fields on the corresponding NestingLevel in nesting_levels have been changed in this suggestion. The nesting level suggestion states are returned in ascending order of the nesting level with the least nested returned first.+    nestingLevelsSuggestionStates :: (Core.Maybe [NestingLevelSuggestionState])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ListPropertiesSuggestionState' with the minimum fields required to make a request.+newListPropertiesSuggestionState ::+  ListPropertiesSuggestionState+newListPropertiesSuggestionState =+  ListPropertiesSuggestionState+    { nestingLevelsSuggestionStates =+        Core.Nothing+    }++instance Core.FromJSON ListPropertiesSuggestionState where+  parseJSON =+    Core.withObject+      "ListPropertiesSuggestionState"+      ( \o ->+          ListPropertiesSuggestionState+            Core.<$> (o Core..:? "nestingLevelsSuggestionStates")+      )++instance Core.ToJSON ListPropertiesSuggestionState where+  toJSON ListPropertiesSuggestionState {..} =+    Core.object+      ( Core.catMaybes+          [ ("nestingLevelsSuggestionStates" Core..=)+              Core.<$> nestingLevelsSuggestionStates+          ]+      )++-- | A particular location in the document.+--+-- /See:/ 'newLocation' smart constructor.+data Location = Location+  { -- | The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.+    index :: (Core.Maybe Core.Int32),+    -- | The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document\'s body.+    segmentId :: (Core.Maybe Core.Text),+    -- | The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab\'s ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.+    tabId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Location' with the minimum fields required to make a request.+newLocation ::+  Location+newLocation =+  Location+    { index = Core.Nothing,+      segmentId = Core.Nothing,+      tabId = Core.Nothing+    }++instance Core.FromJSON Location where+  parseJSON =+    Core.withObject+      "Location"+      ( \o ->+          Location+            Core.<$> (o Core..:? "index")+            Core.<*> (o Core..:? "segmentId")+            Core.<*> (o Core..:? "tabId")+      )++instance Core.ToJSON Location where+  toJSON Location {..} =+    Core.object+      ( Core.catMaybes+          [ ("index" Core..=) Core.<$> index,+            ("segmentId" Core..=) Core.<$> segmentId,+            ("tabId" Core..=) Core.<$> tabId+          ]+      )++-- | Merges cells in a Table.+--+-- /See:/ 'newMergeTableCellsRequest' smart constructor.+newtype MergeTableCellsRequest = MergeTableCellsRequest+  { -- | The table range specifying which cells of the table to merge. Any text in the cells being merged will be concatenated and stored in the \"head\" cell of the range. This is the upper-left cell of the range when the content direction is left to right, and the upper-right cell of the range otherwise. If the range is non-rectangular (which can occur in some cases where the range covers cells that are already merged or where the table is non-rectangular), a 400 bad request error is returned.+    tableRange :: (Core.Maybe TableRange)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'MergeTableCellsRequest' with the minimum fields required to make a request.+newMergeTableCellsRequest ::+  MergeTableCellsRequest+newMergeTableCellsRequest =+  MergeTableCellsRequest {tableRange = Core.Nothing}++instance Core.FromJSON MergeTableCellsRequest where+  parseJSON =+    Core.withObject+      "MergeTableCellsRequest"+      (\o -> MergeTableCellsRequest Core.<$> (o Core..:? "tableRange"))++instance Core.ToJSON MergeTableCellsRequest where+  toJSON MergeTableCellsRequest {..} =+    Core.object+      (Core.catMaybes [("tableRange" Core..=) Core.<$> tableRange])++-- | A collection of Ranges with the same named range ID. Named ranges allow developers to associate parts of a document with an arbitrary user-defined label so their contents can be programmatically read or edited later. A document can contain multiple named ranges with the same name, but every named range has a unique ID. A named range is created with a single Range, and content inserted inside a named range generally expands that range. However, certain document changes can cause the range to be split into multiple ranges. Named ranges are not private. All applications and collaborators that have access to the document can see its named ranges.+--+-- /See:/ 'newNamedRange' smart constructor.+data NamedRange = NamedRange+  { -- | The name of the named range.+    name :: (Core.Maybe Core.Text),+    -- | The ID of the named range.+    namedRangeId :: (Core.Maybe Core.Text),+    -- | The ranges that belong to this named range.+    ranges :: (Core.Maybe [Range])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'NamedRange' with the minimum fields required to make a request.+newNamedRange ::+  NamedRange+newNamedRange =+  NamedRange+    { name = Core.Nothing,+      namedRangeId = Core.Nothing,+      ranges = Core.Nothing+    }++instance Core.FromJSON NamedRange where+  parseJSON =+    Core.withObject+      "NamedRange"+      ( \o ->+          NamedRange+            Core.<$> (o Core..:? "name")+            Core.<*> (o Core..:? "namedRangeId")+            Core.<*> (o Core..:? "ranges")+      )++instance Core.ToJSON NamedRange where+  toJSON NamedRange {..} =+    Core.object+      ( Core.catMaybes+          [ ("name" Core..=) Core.<$> name,+            ("namedRangeId" Core..=) Core.<$> namedRangeId,+            ("ranges" Core..=) Core.<$> ranges+          ]+      )++-- | A collection of all the NamedRanges in the document that share a given name.+--+-- /See:/ 'newNamedRanges' smart constructor.+data NamedRanges = NamedRanges+  { -- | The name that all the named ranges share.+    name :: (Core.Maybe Core.Text),+    -- | The NamedRanges that share the same name.+    namedRanges :: (Core.Maybe [NamedRange])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'NamedRanges' with the minimum fields required to make a request.+newNamedRanges ::+  NamedRanges+newNamedRanges =+  NamedRanges {name = Core.Nothing, namedRanges = Core.Nothing}++instance Core.FromJSON NamedRanges where+  parseJSON =+    Core.withObject+      "NamedRanges"+      ( \o ->+          NamedRanges+            Core.<$> (o Core..:? "name")+            Core.<*> (o Core..:? "namedRanges")+      )++instance Core.ToJSON NamedRanges where+  toJSON NamedRanges {..} =+    Core.object+      ( Core.catMaybes+          [ ("name" Core..=) Core.<$> name,+            ("namedRanges" Core..=) Core.<$> namedRanges+          ]+      )++-- | A named style. Paragraphs in the document can inherit their TextStyle and ParagraphStyle from this named style when they have the same named style type.+--+-- /See:/ 'newNamedStyle' smart constructor.+data NamedStyle = NamedStyle+  { -- | The type of this named style.+    namedStyleType :: (Core.Maybe NamedStyle_NamedStyleType),+    -- | The paragraph style of this named style.+    paragraphStyle :: (Core.Maybe ParagraphStyle),+    -- | The text style of this named style.+    textStyle :: (Core.Maybe TextStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'NamedStyle' with the minimum fields required to make a request.+newNamedStyle ::+  NamedStyle+newNamedStyle =+  NamedStyle+    { namedStyleType = Core.Nothing,+      paragraphStyle = Core.Nothing,+      textStyle = Core.Nothing+    }++instance Core.FromJSON NamedStyle where+  parseJSON =+    Core.withObject+      "NamedStyle"+      ( \o ->+          NamedStyle+            Core.<$> (o Core..:? "namedStyleType")+            Core.<*> (o Core..:? "paragraphStyle")+            Core.<*> (o Core..:? "textStyle")+      )++instance Core.ToJSON NamedStyle where+  toJSON NamedStyle {..} =+    Core.object+      ( Core.catMaybes+          [ ("namedStyleType" Core..=) Core.<$> namedStyleType,+            ("paragraphStyle" Core..=) Core.<$> paragraphStyle,+            ("textStyle" Core..=) Core.<$> textStyle+          ]+      )++-- | A suggestion state of a NamedStyle message.+--+-- /See:/ 'newNamedStyleSuggestionState' smart constructor.+data NamedStyleSuggestionState = NamedStyleSuggestionState+  { -- | The named style type that this suggestion state corresponds to. This field is provided as a convenience for matching the NamedStyleSuggestionState with its corresponding NamedStyle.+    namedStyleType :: (Core.Maybe NamedStyleSuggestionState_NamedStyleType),+    -- | A mask that indicates which of the fields in paragraph style have been changed in this suggestion.+    paragraphStyleSuggestionState :: (Core.Maybe ParagraphStyleSuggestionState),+    -- | A mask that indicates which of the fields in text style have been changed in this suggestion.+    textStyleSuggestionState :: (Core.Maybe TextStyleSuggestionState)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'NamedStyleSuggestionState' with the minimum fields required to make a request.+newNamedStyleSuggestionState ::+  NamedStyleSuggestionState+newNamedStyleSuggestionState =+  NamedStyleSuggestionState+    { namedStyleType = Core.Nothing,+      paragraphStyleSuggestionState = Core.Nothing,+      textStyleSuggestionState = Core.Nothing+    }++instance Core.FromJSON NamedStyleSuggestionState where+  parseJSON =+    Core.withObject+      "NamedStyleSuggestionState"+      ( \o ->+          NamedStyleSuggestionState+            Core.<$> (o Core..:? "namedStyleType")+            Core.<*> (o Core..:? "paragraphStyleSuggestionState")+            Core.<*> (o Core..:? "textStyleSuggestionState")+      )++instance Core.ToJSON NamedStyleSuggestionState where+  toJSON NamedStyleSuggestionState {..} =+    Core.object+      ( Core.catMaybes+          [ ("namedStyleType" Core..=) Core.<$> namedStyleType,+            ("paragraphStyleSuggestionState" Core..=)+              Core.<$> paragraphStyleSuggestionState,+            ("textStyleSuggestionState" Core..=)+              Core.<$> textStyleSuggestionState+          ]+      )++-- | The named styles. Paragraphs in the document can inherit their TextStyle and ParagraphStyle from these named styles.+--+-- /See:/ 'newNamedStyles' smart constructor.+newtype NamedStyles = NamedStyles+  { -- | The named styles. There\'s an entry for each of the possible named style types.+    styles :: (Core.Maybe [NamedStyle])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'NamedStyles' with the minimum fields required to make a request.+newNamedStyles ::+  NamedStyles+newNamedStyles = NamedStyles {styles = Core.Nothing}++instance Core.FromJSON NamedStyles where+  parseJSON =+    Core.withObject+      "NamedStyles"+      (\o -> NamedStyles Core.<$> (o Core..:? "styles"))++instance Core.ToJSON NamedStyles where+  toJSON NamedStyles {..} =+    Core.object (Core.catMaybes [("styles" Core..=) Core.<$> styles])++-- | The suggestion state of a NamedStyles message.+--+-- /See:/ 'newNamedStylesSuggestionState' smart constructor.+newtype NamedStylesSuggestionState = NamedStylesSuggestionState+  { -- | A mask that indicates which of the fields on the corresponding NamedStyle in styles have been changed in this suggestion. The order of these named style suggestion states matches the order of the corresponding named style within the named styles suggestion.+    stylesSuggestionStates :: (Core.Maybe [NamedStyleSuggestionState])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'NamedStylesSuggestionState' with the minimum fields required to make a request.+newNamedStylesSuggestionState ::+  NamedStylesSuggestionState+newNamedStylesSuggestionState =+  NamedStylesSuggestionState {stylesSuggestionStates = Core.Nothing}++instance Core.FromJSON NamedStylesSuggestionState where+  parseJSON =+    Core.withObject+      "NamedStylesSuggestionState"+      ( \o ->+          NamedStylesSuggestionState+            Core.<$> (o Core..:? "stylesSuggestionStates")+      )++instance Core.ToJSON NamedStylesSuggestionState where+  toJSON NamedStylesSuggestionState {..} =+    Core.object+      ( Core.catMaybes+          [ ("stylesSuggestionStates" Core..=)+              Core.<$> stylesSuggestionStates+          ]+      )++-- | Contains properties describing the look and feel of a list bullet at a given level of nesting.+--+-- /See:/ 'newNestingLevel' smart constructor.+data NestingLevel = NestingLevel+  { -- | The alignment of the bullet within the space allotted for rendering the bullet.+    bulletAlignment :: (Core.Maybe NestingLevel_BulletAlignment),+    -- | The format string used by bullets at this level of nesting. The glyph format contains one or more placeholders, and these placeholders are replaced with the appropriate values depending on the glyph/type or glyph/symbol. The placeholders follow the pattern @%[nesting_level]@. Furthermore, placeholders can have prefixes and suffixes. Thus, the glyph format follows the pattern @%[nesting_level]@. Note that the prefix and suffix are optional and can be arbitrary strings. For example, the glyph format @%0.@ indicates that the rendered glyph will replace the placeholder with the corresponding glyph for nesting level 0 followed by a period as the suffix. So a list with a glyph type of UPPER_ALPHA and glyph format @%0.@ at nesting level 0 will result in a list with rendered glyphs @A.@ @B.@ @C.@ The glyph format can contain placeholders for the current nesting level as well as placeholders for parent nesting levels. For example, a list can have a glyph format of @%0.@ at nesting level 0 and a glyph format of+    -- @%0.%1.@ at nesting level 1. Assuming both nesting levels have DECIMAL glyph types, this would result in a list with rendered glyphs @1.@ @2.@ @2.1.@ @2.2.@ @3.@ For nesting levels that are ordered, the string that replaces a placeholder in the glyph format for a particular paragraph depends on the paragraph\'s order within the list.+    glyphFormat :: (Core.Maybe Core.Text),+    -- | A custom glyph symbol used by bullets when paragraphs at this level of nesting is unordered. The glyph symbol replaces placeholders within the glyph/format. For example, if the glyph/symbol is the solid circle corresponding to Unicode U+25cf code point and the glyph_format is @%0@, the rendered glyph would be the solid circle.+    glyphSymbol :: (Core.Maybe Core.Text),+    -- | The type of glyph used by bullets when paragraphs at this level of nesting is ordered. The glyph type determines the type of glyph used to replace placeholders within the glyph/format when paragraphs at this level of nesting are ordered. For example, if the nesting level is 0, the glyph/format is @%0.@ and the glyph type is DECIMAL, then the rendered glyph would replace the placeholder @%0@ in the glyph format with a number corresponding to the list item\'s order within the list.+    glyphType :: (Core.Maybe NestingLevel_GlyphType),+    -- | The amount of indentation for the first line of paragraphs at this level of nesting.+    indentFirstLine :: (Core.Maybe Dimension),+    -- | The amount of indentation for paragraphs at this level of nesting. Applied to the side that corresponds to the start of the text, based on the paragraph\'s content direction.+    indentStart :: (Core.Maybe Dimension),+    -- | The number of the first list item at this nesting level. A value of 0 is treated as a value of 1 for lettered lists and Roman numeral lists. For values of both 0 and 1, lettered and Roman numeral lists will begin at @a@ and @i@ respectively. This value is ignored for nesting levels with unordered glyphs.+    startNumber :: (Core.Maybe Core.Int32),+    -- | The text style of bullets at this level of nesting.+    textStyle :: (Core.Maybe TextStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'NestingLevel' with the minimum fields required to make a request.+newNestingLevel ::+  NestingLevel+newNestingLevel =+  NestingLevel+    { bulletAlignment = Core.Nothing,+      glyphFormat = Core.Nothing,+      glyphSymbol = Core.Nothing,+      glyphType = Core.Nothing,+      indentFirstLine = Core.Nothing,+      indentStart = Core.Nothing,+      startNumber = Core.Nothing,+      textStyle = Core.Nothing+    }++instance Core.FromJSON NestingLevel where+  parseJSON =+    Core.withObject+      "NestingLevel"+      ( \o ->+          NestingLevel+            Core.<$> (o Core..:? "bulletAlignment")+            Core.<*> (o Core..:? "glyphFormat")+            Core.<*> (o Core..:? "glyphSymbol")+            Core.<*> (o Core..:? "glyphType")+            Core.<*> (o Core..:? "indentFirstLine")+            Core.<*> (o Core..:? "indentStart")+            Core.<*> (o Core..:? "startNumber")+            Core.<*> (o Core..:? "textStyle")+      )++instance Core.ToJSON NestingLevel where+  toJSON NestingLevel {..} =+    Core.object+      ( Core.catMaybes+          [ ("bulletAlignment" Core..=) Core.<$> bulletAlignment,+            ("glyphFormat" Core..=) Core.<$> glyphFormat,+            ("glyphSymbol" Core..=) Core.<$> glyphSymbol,+            ("glyphType" Core..=) Core.<$> glyphType,+            ("indentFirstLine" Core..=) Core.<$> indentFirstLine,+            ("indentStart" Core..=) Core.<$> indentStart,+            ("startNumber" Core..=) Core.<$> startNumber,+            ("textStyle" Core..=) Core.<$> textStyle+          ]+      )++-- | A mask that indicates which of the fields on the base NestingLevel have been changed in this suggestion. For any field set to true, there\'s a new suggested value.+--+-- /See:/ 'newNestingLevelSuggestionState' smart constructor.+data NestingLevelSuggestionState = NestingLevelSuggestionState+  { -- | Indicates if there was a suggested change to bullet_alignment.+    bulletAlignmentSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to glyph_format.+    glyphFormatSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to glyph_symbol.+    glyphSymbolSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to glyph_type.+    glyphTypeSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to indent/first/line.+    indentFirstLineSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to indent_start.+    indentStartSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to start_number.+    startNumberSuggested :: (Core.Maybe Core.Bool),+    -- | A mask that indicates which of the fields in text style have been changed in this suggestion.+    textStyleSuggestionState :: (Core.Maybe TextStyleSuggestionState)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'NestingLevelSuggestionState' with the minimum fields required to make a request.+newNestingLevelSuggestionState ::+  NestingLevelSuggestionState+newNestingLevelSuggestionState =+  NestingLevelSuggestionState+    { bulletAlignmentSuggested =+        Core.Nothing,+      glyphFormatSuggested = Core.Nothing,+      glyphSymbolSuggested = Core.Nothing,+      glyphTypeSuggested = Core.Nothing,+      indentFirstLineSuggested = Core.Nothing,+      indentStartSuggested = Core.Nothing,+      startNumberSuggested = Core.Nothing,+      textStyleSuggestionState = Core.Nothing+    }++instance Core.FromJSON NestingLevelSuggestionState where+  parseJSON =+    Core.withObject+      "NestingLevelSuggestionState"+      ( \o ->+          NestingLevelSuggestionState+            Core.<$> (o Core..:? "bulletAlignmentSuggested")+            Core.<*> (o Core..:? "glyphFormatSuggested")+            Core.<*> (o Core..:? "glyphSymbolSuggested")+            Core.<*> (o Core..:? "glyphTypeSuggested")+            Core.<*> (o Core..:? "indentFirstLineSuggested")+            Core.<*> (o Core..:? "indentStartSuggested")+            Core.<*> (o Core..:? "startNumberSuggested")+            Core.<*> (o Core..:? "textStyleSuggestionState")+      )++instance Core.ToJSON NestingLevelSuggestionState where+  toJSON NestingLevelSuggestionState {..} =+    Core.object+      ( Core.catMaybes+          [ ("bulletAlignmentSuggested" Core..=)+              Core.<$> bulletAlignmentSuggested,+            ("glyphFormatSuggested" Core..=) Core.<$> glyphFormatSuggested,+            ("glyphSymbolSuggested" Core..=) Core.<$> glyphSymbolSuggested,+            ("glyphTypeSuggested" Core..=) Core.<$> glyphTypeSuggested,+            ("indentFirstLineSuggested" Core..=)+              Core.<$> indentFirstLineSuggested,+            ("indentStartSuggested" Core..=) Core.<$> indentStartSuggested,+            ("startNumberSuggested" Core..=) Core.<$> startNumberSuggested,+            ("textStyleSuggestionState" Core..=)+              Core.<$> textStyleSuggestionState+          ]+      )++-- | A collection of object IDs.+--+-- /See:/ 'newObjectReferences' smart constructor.+newtype ObjectReferences = ObjectReferences+  { -- | The object IDs.+    objectIds :: (Core.Maybe [Core.Text])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ObjectReferences' with the minimum fields required to make a request.+newObjectReferences ::+  ObjectReferences+newObjectReferences = ObjectReferences {objectIds = Core.Nothing}++instance Core.FromJSON ObjectReferences where+  parseJSON =+    Core.withObject+      "ObjectReferences"+      (\o -> ObjectReferences Core.<$> (o Core..:? "objectIds"))++instance Core.ToJSON ObjectReferences where+  toJSON ObjectReferences {..} =+    Core.object+      (Core.catMaybes [("objectIds" Core..=) Core.<$> objectIds])++-- | A color that can either be fully opaque or fully transparent.+--+-- /See:/ 'newOptionalColor' smart constructor.+newtype OptionalColor = OptionalColor+  { -- | If set, this will be used as an opaque color. If unset, this represents a transparent color.+    color :: (Core.Maybe Color)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'OptionalColor' with the minimum fields required to make a request.+newOptionalColor ::+  OptionalColor+newOptionalColor = OptionalColor {color = Core.Nothing}++instance Core.FromJSON OptionalColor where+  parseJSON =+    Core.withObject+      "OptionalColor"+      (\o -> OptionalColor Core.<$> (o Core..:? "color"))++instance Core.ToJSON OptionalColor where+  toJSON OptionalColor {..} =+    Core.object (Core.catMaybes [("color" Core..=) Core.<$> color])++-- | A ParagraphElement representing a page break. A page break makes the subsequent text start at the top of the next page.+--+-- /See:/ 'newPageBreak' smart constructor.+data PageBreak = PageBreak+  { -- | The suggested deletion IDs. If empty, then there are no suggested deletions of this content.+    suggestedDeletionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested insertion IDs. A PageBreak may have multiple insertion IDs if it\'s a nested suggested change. If empty, then this is not a suggested insertion.+    suggestedInsertionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested text style changes to this PageBreak, keyed by suggestion ID.+    suggestedTextStyleChanges :: (Core.Maybe PageBreak_SuggestedTextStyleChanges),+    -- | The text style of this PageBreak. Similar to text content, like text runs and footnote references, the text style of a page break can affect content layout as well as the styling of text inserted next to it.+    textStyle :: (Core.Maybe TextStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'PageBreak' with the minimum fields required to make a request.+newPageBreak ::+  PageBreak+newPageBreak =+  PageBreak+    { suggestedDeletionIds = Core.Nothing,+      suggestedInsertionIds = Core.Nothing,+      suggestedTextStyleChanges = Core.Nothing,+      textStyle = Core.Nothing+    }++instance Core.FromJSON PageBreak where+  parseJSON =+    Core.withObject+      "PageBreak"+      ( \o ->+          PageBreak+            Core.<$> (o Core..:? "suggestedDeletionIds")+            Core.<*> (o Core..:? "suggestedInsertionIds")+            Core.<*> (o Core..:? "suggestedTextStyleChanges")+            Core.<*> (o Core..:? "textStyle")+      )++instance Core.ToJSON PageBreak where+  toJSON PageBreak {..} =+    Core.object+      ( Core.catMaybes+          [ ("suggestedDeletionIds" Core..=) Core.<$> suggestedDeletionIds,+            ("suggestedInsertionIds" Core..=) Core.<$> suggestedInsertionIds,+            ("suggestedTextStyleChanges" Core..=)+              Core.<$> suggestedTextStyleChanges,+            ("textStyle" Core..=) Core.<$> textStyle+          ]+      )++-- | The suggested text style changes to this PageBreak, keyed by suggestion ID.+--+-- /See:/ 'newPageBreak_SuggestedTextStyleChanges' smart constructor.+newtype PageBreak_SuggestedTextStyleChanges = PageBreak_SuggestedTextStyleChanges+  { additional :: (Core.HashMap Core.Text SuggestedTextStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'PageBreak_SuggestedTextStyleChanges' with the minimum fields required to make a request.+newPageBreak_SuggestedTextStyleChanges ::+  -- |  See 'additional'.+  Core.HashMap Core.Text SuggestedTextStyle ->+  PageBreak_SuggestedTextStyleChanges+newPageBreak_SuggestedTextStyleChanges additional =+  PageBreak_SuggestedTextStyleChanges {additional = additional}++instance Core.FromJSON PageBreak_SuggestedTextStyleChanges where+  parseJSON =+    Core.withObject+      "PageBreak_SuggestedTextStyleChanges"+      ( \o ->+          PageBreak_SuggestedTextStyleChanges+            Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON PageBreak_SuggestedTextStyleChanges where+  toJSON PageBreak_SuggestedTextStyleChanges {..} =+    Core.toJSON additional++-- | A StructuralElement representing a paragraph. A paragraph is a range of content that\'s terminated with a newline character.+--+-- /See:/ 'newParagraph' smart constructor.+data Paragraph = Paragraph+  { -- | The bullet for this paragraph. If not present, the paragraph does not belong to a list.+    bullet :: (Core.Maybe Bullet),+    -- | The content of the paragraph, broken down into its component parts.+    elements :: (Core.Maybe [ParagraphElement]),+    -- | The style of this paragraph.+    paragraphStyle :: (Core.Maybe ParagraphStyle),+    -- | The IDs of the positioned objects tethered to this paragraph.+    positionedObjectIds :: (Core.Maybe [Core.Text]),+    -- | The suggested changes to this paragraph\'s bullet.+    suggestedBulletChanges :: (Core.Maybe Paragraph_SuggestedBulletChanges),+    -- | The suggested paragraph style changes to this paragraph, keyed by suggestion ID.+    suggestedParagraphStyleChanges :: (Core.Maybe Paragraph_SuggestedParagraphStyleChanges),+    -- | The IDs of the positioned objects suggested to be attached to this paragraph, keyed by suggestion ID.+    suggestedPositionedObjectIds :: (Core.Maybe Paragraph_SuggestedPositionedObjectIds)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Paragraph' with the minimum fields required to make a request.+newParagraph ::+  Paragraph+newParagraph =+  Paragraph+    { bullet = Core.Nothing,+      elements = Core.Nothing,+      paragraphStyle = Core.Nothing,+      positionedObjectIds = Core.Nothing,+      suggestedBulletChanges = Core.Nothing,+      suggestedParagraphStyleChanges = Core.Nothing,+      suggestedPositionedObjectIds = Core.Nothing+    }++instance Core.FromJSON Paragraph where+  parseJSON =+    Core.withObject+      "Paragraph"+      ( \o ->+          Paragraph+            Core.<$> (o Core..:? "bullet")+            Core.<*> (o Core..:? "elements")+            Core.<*> (o Core..:? "paragraphStyle")+            Core.<*> (o Core..:? "positionedObjectIds")+            Core.<*> (o Core..:? "suggestedBulletChanges")+            Core.<*> (o Core..:? "suggestedParagraphStyleChanges")+            Core.<*> (o Core..:? "suggestedPositionedObjectIds")+      )++instance Core.ToJSON Paragraph where+  toJSON Paragraph {..} =+    Core.object+      ( Core.catMaybes+          [ ("bullet" Core..=) Core.<$> bullet,+            ("elements" Core..=) Core.<$> elements,+            ("paragraphStyle" Core..=) Core.<$> paragraphStyle,+            ("positionedObjectIds" Core..=) Core.<$> positionedObjectIds,+            ("suggestedBulletChanges" Core..=) Core.<$> suggestedBulletChanges,+            ("suggestedParagraphStyleChanges" Core..=)+              Core.<$> suggestedParagraphStyleChanges,+            ("suggestedPositionedObjectIds" Core..=)+              Core.<$> suggestedPositionedObjectIds+          ]+      )++-- | The suggested changes to this paragraph\'s bullet.+--+-- /See:/ 'newParagraph_SuggestedBulletChanges' smart constructor.+newtype Paragraph_SuggestedBulletChanges = Paragraph_SuggestedBulletChanges+  { additional :: (Core.HashMap Core.Text SuggestedBullet)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Paragraph_SuggestedBulletChanges' with the minimum fields required to make a request.+newParagraph_SuggestedBulletChanges ::+  -- |  See 'additional'.+  Core.HashMap Core.Text SuggestedBullet ->+  Paragraph_SuggestedBulletChanges+newParagraph_SuggestedBulletChanges additional =+  Paragraph_SuggestedBulletChanges {additional = additional}++instance Core.FromJSON Paragraph_SuggestedBulletChanges where+  parseJSON =+    Core.withObject+      "Paragraph_SuggestedBulletChanges"+      ( \o ->+          Paragraph_SuggestedBulletChanges Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON Paragraph_SuggestedBulletChanges where+  toJSON Paragraph_SuggestedBulletChanges {..} =+    Core.toJSON additional++-- | The suggested paragraph style changes to this paragraph, keyed by suggestion ID.+--+-- /See:/ 'newParagraph_SuggestedParagraphStyleChanges' smart constructor.+newtype Paragraph_SuggestedParagraphStyleChanges = Paragraph_SuggestedParagraphStyleChanges+  { additional :: (Core.HashMap Core.Text SuggestedParagraphStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Paragraph_SuggestedParagraphStyleChanges' with the minimum fields required to make a request.+newParagraph_SuggestedParagraphStyleChanges ::+  -- |  See 'additional'.+  Core.HashMap Core.Text SuggestedParagraphStyle ->+  Paragraph_SuggestedParagraphStyleChanges+newParagraph_SuggestedParagraphStyleChanges additional =+  Paragraph_SuggestedParagraphStyleChanges {additional = additional}++instance Core.FromJSON Paragraph_SuggestedParagraphStyleChanges where+  parseJSON =+    Core.withObject+      "Paragraph_SuggestedParagraphStyleChanges"+      ( \o ->+          Paragraph_SuggestedParagraphStyleChanges+            Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON Paragraph_SuggestedParagraphStyleChanges where+  toJSON Paragraph_SuggestedParagraphStyleChanges {..} =+    Core.toJSON additional++-- | The IDs of the positioned objects suggested to be attached to this paragraph, keyed by suggestion ID.+--+-- /See:/ 'newParagraph_SuggestedPositionedObjectIds' smart constructor.+newtype Paragraph_SuggestedPositionedObjectIds = Paragraph_SuggestedPositionedObjectIds+  { additional :: (Core.HashMap Core.Text ObjectReferences)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Paragraph_SuggestedPositionedObjectIds' with the minimum fields required to make a request.+newParagraph_SuggestedPositionedObjectIds ::+  -- |  See 'additional'.+  Core.HashMap Core.Text ObjectReferences ->+  Paragraph_SuggestedPositionedObjectIds+newParagraph_SuggestedPositionedObjectIds additional =+  Paragraph_SuggestedPositionedObjectIds {additional = additional}++instance Core.FromJSON Paragraph_SuggestedPositionedObjectIds where+  parseJSON =+    Core.withObject+      "Paragraph_SuggestedPositionedObjectIds"+      ( \o ->+          Paragraph_SuggestedPositionedObjectIds+            Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON Paragraph_SuggestedPositionedObjectIds where+  toJSON Paragraph_SuggestedPositionedObjectIds {..} =+    Core.toJSON additional++-- | A border around a paragraph.+--+-- /See:/ 'newParagraphBorder' smart constructor.+data ParagraphBorder = ParagraphBorder+  { -- | The color of the border.+    color :: (Core.Maybe OptionalColor),+    -- | The dash style of the border.+    dashStyle :: (Core.Maybe ParagraphBorder_DashStyle),+    -- | The padding of the border.+    padding :: (Core.Maybe Dimension),+    -- | The width of the border.+    width :: (Core.Maybe Dimension)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ParagraphBorder' with the minimum fields required to make a request.+newParagraphBorder ::+  ParagraphBorder+newParagraphBorder =+  ParagraphBorder+    { color = Core.Nothing,+      dashStyle = Core.Nothing,+      padding = Core.Nothing,+      width = Core.Nothing+    }++instance Core.FromJSON ParagraphBorder where+  parseJSON =+    Core.withObject+      "ParagraphBorder"+      ( \o ->+          ParagraphBorder+            Core.<$> (o Core..:? "color")+            Core.<*> (o Core..:? "dashStyle")+            Core.<*> (o Core..:? "padding")+            Core.<*> (o Core..:? "width")+      )++instance Core.ToJSON ParagraphBorder where+  toJSON ParagraphBorder {..} =+    Core.object+      ( Core.catMaybes+          [ ("color" Core..=) Core.<$> color,+            ("dashStyle" Core..=) Core.<$> dashStyle,+            ("padding" Core..=) Core.<$> padding,+            ("width" Core..=) Core.<$> width+          ]+      )++-- | A ParagraphElement describes content within a Paragraph.+--+-- /See:/ 'newParagraphElement' smart constructor.+data ParagraphElement = ParagraphElement+  { -- | An auto text paragraph element.+    autoText :: (Core.Maybe AutoText),+    -- | A column break paragraph element.+    columnBreak :: (Core.Maybe ColumnBreak),+    -- | The zero-base end index of this paragraph element, exclusive, in UTF-16 code units.+    endIndex :: (Core.Maybe Core.Int32),+    -- | An equation paragraph element.+    equation :: (Core.Maybe Equation),+    -- | A footnote reference paragraph element.+    footnoteReference :: (Core.Maybe FootnoteReference),+    -- | A horizontal rule paragraph element.+    horizontalRule :: (Core.Maybe HorizontalRule),+    -- | An inline object paragraph element.+    inlineObjectElement :: (Core.Maybe InlineObjectElement),+    -- | A page break paragraph element.+    pageBreak :: (Core.Maybe PageBreak),+    -- | A paragraph element that links to a person or email address.+    person :: (Core.Maybe Person),+    -- | A paragraph element that links to a Google resource (such as a file in Google Drive, a YouTube video, or a Calendar event.)+    richLink :: (Core.Maybe RichLink),+    -- | The zero-based start index of this paragraph element, in UTF-16 code units.+    startIndex :: (Core.Maybe Core.Int32),+    -- | A text run paragraph element.+    textRun :: (Core.Maybe TextRun)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ParagraphElement' with the minimum fields required to make a request.+newParagraphElement ::+  ParagraphElement+newParagraphElement =+  ParagraphElement+    { autoText = Core.Nothing,+      columnBreak = Core.Nothing,+      endIndex = Core.Nothing,+      equation = Core.Nothing,+      footnoteReference = Core.Nothing,+      horizontalRule = Core.Nothing,+      inlineObjectElement = Core.Nothing,+      pageBreak = Core.Nothing,+      person = Core.Nothing,+      richLink = Core.Nothing,+      startIndex = Core.Nothing,+      textRun = Core.Nothing+    }++instance Core.FromJSON ParagraphElement where+  parseJSON =+    Core.withObject+      "ParagraphElement"+      ( \o ->+          ParagraphElement+            Core.<$> (o Core..:? "autoText")+            Core.<*> (o Core..:? "columnBreak")+            Core.<*> (o Core..:? "endIndex")+            Core.<*> (o Core..:? "equation")+            Core.<*> (o Core..:? "footnoteReference")+            Core.<*> (o Core..:? "horizontalRule")+            Core.<*> (o Core..:? "inlineObjectElement")+            Core.<*> (o Core..:? "pageBreak")+            Core.<*> (o Core..:? "person")+            Core.<*> (o Core..:? "richLink")+            Core.<*> (o Core..:? "startIndex")+            Core.<*> (o Core..:? "textRun")+      )++instance Core.ToJSON ParagraphElement where+  toJSON ParagraphElement {..} =+    Core.object+      ( Core.catMaybes+          [ ("autoText" Core..=) Core.<$> autoText,+            ("columnBreak" Core..=) Core.<$> columnBreak,+            ("endIndex" Core..=) Core.<$> endIndex,+            ("equation" Core..=) Core.<$> equation,+            ("footnoteReference" Core..=) Core.<$> footnoteReference,+            ("horizontalRule" Core..=) Core.<$> horizontalRule,+            ("inlineObjectElement" Core..=) Core.<$> inlineObjectElement,+            ("pageBreak" Core..=) Core.<$> pageBreak,+            ("person" Core..=) Core.<$> person,+            ("richLink" Core..=) Core.<$> richLink,+            ("startIndex" Core..=) Core.<$> startIndex,+            ("textRun" Core..=) Core.<$> textRun+          ]+      )++-- | Styles that apply to a whole paragraph. Inherited paragraph styles are represented as unset fields in this message. A paragraph style\'s parent depends on where the paragraph style is defined: * The ParagraphStyle on a Paragraph inherits from the paragraph\'s corresponding named style type. * The ParagraphStyle on a named style inherits from the normal text named style. * The ParagraphStyle of the normal text named style inherits from the default paragraph style in the Docs editor. * The ParagraphStyle on a Paragraph element that\'s contained in a table may inherit its paragraph style from the table style. If the paragraph style does not inherit from a parent, unsetting fields will revert the style to a value matching the defaults in the Docs editor.+--+-- /See:/ 'newParagraphStyle' smart constructor.+data ParagraphStyle = ParagraphStyle+  { -- | The text alignment for this paragraph.+    alignment :: (Core.Maybe ParagraphStyle_Alignment),+    -- | Whether to avoid widows and orphans for the paragraph. If unset, the value is inherited from the parent.+    avoidWidowAndOrphan :: (Core.Maybe Core.Bool),+    -- | The border between this paragraph and the next and previous paragraphs. If unset, the value is inherited from the parent. The between border is rendered when the adjacent paragraph has the same border and indent properties. Paragraph borders cannot be partially updated. When changing a paragraph border, the new border must be specified in its entirety.+    borderBetween :: (Core.Maybe ParagraphBorder),+    -- | The border at the bottom of this paragraph. If unset, the value is inherited from the parent. The bottom border is rendered when the paragraph below has different border and indent properties. Paragraph borders cannot be partially updated. When changing a paragraph border, the new border must be specified in its entirety.+    borderBottom :: (Core.Maybe ParagraphBorder),+    -- | The border to the left of this paragraph. If unset, the value is inherited from the parent. Paragraph borders cannot be partially updated. When changing a paragraph border, the new border must be specified in its entirety.+    borderLeft :: (Core.Maybe ParagraphBorder),+    -- | The border to the right of this paragraph. If unset, the value is inherited from the parent. Paragraph borders cannot be partially updated. When changing a paragraph border, the new border must be specified in its entirety.+    borderRight :: (Core.Maybe ParagraphBorder),+    -- | The border at the top of this paragraph. If unset, the value is inherited from the parent. The top border is rendered when the paragraph above has different border and indent properties. Paragraph borders cannot be partially updated. When changing a paragraph border, the new border must be specified in its entirety.+    borderTop :: (Core.Maybe ParagraphBorder),+    -- | The text direction of this paragraph. If unset, the value defaults to LEFT/TO/RIGHT since paragraph direction is not inherited.+    direction :: (Core.Maybe ParagraphStyle_Direction),+    -- | The heading ID of the paragraph. If empty, then this paragraph is not a heading. This property is read-only.+    headingId :: (Core.Maybe Core.Text),+    -- | The amount of indentation for the paragraph on the side that corresponds to the end of the text, based on the current paragraph direction. If unset, the value is inherited from the parent.+    indentEnd :: (Core.Maybe Dimension),+    -- | The amount of indentation for the first line of the paragraph. If unset, the value is inherited from the parent.+    indentFirstLine :: (Core.Maybe Dimension),+    -- | The amount of indentation for the paragraph on the side that corresponds to the start of the text, based on the current paragraph direction. If unset, the value is inherited from the parent.+    indentStart :: (Core.Maybe Dimension),+    -- | Whether all lines of the paragraph should be laid out on the same page or column if possible. If unset, the value is inherited from the parent.+    keepLinesTogether :: (Core.Maybe Core.Bool),+    -- | Whether at least a part of this paragraph should be laid out on the same page or column as the next paragraph if possible. If unset, the value is inherited from the parent.+    keepWithNext :: (Core.Maybe Core.Bool),+    -- | 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.+    lineSpacing :: (Core.Maybe Core.Double),+    -- | The named style type of the paragraph. Since updating the named style type affects other properties within ParagraphStyle, the named style type is applied before the other properties are updated.+    namedStyleType :: (Core.Maybe ParagraphStyle_NamedStyleType),+    -- | Whether the current paragraph should always start at the beginning of a page. If unset, the value is inherited from the parent. Attempting to update page/break/before for paragraphs in unsupported regions, including Table, Header, Footer and Footnote, can result in an invalid document state that returns a 400 bad request error.+    pageBreakBefore :: (Core.Maybe Core.Bool),+    -- | The shading of the paragraph. If unset, the value is inherited from the parent.+    shading :: (Core.Maybe Shading),+    -- | The amount of extra space above the paragraph. If unset, the value is inherited from the parent.+    spaceAbove :: (Core.Maybe Dimension),+    -- | The amount of extra space below the paragraph. If unset, the value is inherited from the parent.+    spaceBelow :: (Core.Maybe Dimension),+    -- | The spacing mode for the paragraph.+    spacingMode :: (Core.Maybe ParagraphStyle_SpacingMode),+    -- | A list of the tab stops for this paragraph. The list of tab stops is not inherited. This property is read-only.+    tabStops :: (Core.Maybe [TabStop])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ParagraphStyle' with the minimum fields required to make a request.+newParagraphStyle ::+  ParagraphStyle+newParagraphStyle =+  ParagraphStyle+    { alignment = Core.Nothing,+      avoidWidowAndOrphan = Core.Nothing,+      borderBetween = Core.Nothing,+      borderBottom = Core.Nothing,+      borderLeft = Core.Nothing,+      borderRight = Core.Nothing,+      borderTop = Core.Nothing,+      direction = Core.Nothing,+      headingId = Core.Nothing,+      indentEnd = Core.Nothing,+      indentFirstLine = Core.Nothing,+      indentStart = Core.Nothing,+      keepLinesTogether = Core.Nothing,+      keepWithNext = Core.Nothing,+      lineSpacing = Core.Nothing,+      namedStyleType = Core.Nothing,+      pageBreakBefore = Core.Nothing,+      shading = Core.Nothing,+      spaceAbove = Core.Nothing,+      spaceBelow = Core.Nothing,+      spacingMode = Core.Nothing,+      tabStops = Core.Nothing+    }++instance Core.FromJSON ParagraphStyle where+  parseJSON =+    Core.withObject+      "ParagraphStyle"+      ( \o ->+          ParagraphStyle+            Core.<$> (o Core..:? "alignment")+            Core.<*> (o Core..:? "avoidWidowAndOrphan")+            Core.<*> (o Core..:? "borderBetween")+            Core.<*> (o Core..:? "borderBottom")+            Core.<*> (o Core..:? "borderLeft")+            Core.<*> (o Core..:? "borderRight")+            Core.<*> (o Core..:? "borderTop")+            Core.<*> (o Core..:? "direction")+            Core.<*> (o Core..:? "headingId")+            Core.<*> (o Core..:? "indentEnd")+            Core.<*> (o Core..:? "indentFirstLine")+            Core.<*> (o Core..:? "indentStart")+            Core.<*> (o Core..:? "keepLinesTogether")+            Core.<*> (o Core..:? "keepWithNext")+            Core.<*> (o Core..:? "lineSpacing")+            Core.<*> (o Core..:? "namedStyleType")+            Core.<*> (o Core..:? "pageBreakBefore")+            Core.<*> (o Core..:? "shading")+            Core.<*> (o Core..:? "spaceAbove")+            Core.<*> (o Core..:? "spaceBelow")+            Core.<*> (o Core..:? "spacingMode")+            Core.<*> (o Core..:? "tabStops")+      )++instance Core.ToJSON ParagraphStyle where+  toJSON ParagraphStyle {..} =+    Core.object+      ( Core.catMaybes+          [ ("alignment" Core..=) Core.<$> alignment,+            ("avoidWidowAndOrphan" Core..=) Core.<$> avoidWidowAndOrphan,+            ("borderBetween" Core..=) Core.<$> borderBetween,+            ("borderBottom" Core..=) Core.<$> borderBottom,+            ("borderLeft" Core..=) Core.<$> borderLeft,+            ("borderRight" Core..=) Core.<$> borderRight,+            ("borderTop" Core..=) Core.<$> borderTop,+            ("direction" Core..=) Core.<$> direction,+            ("headingId" Core..=) Core.<$> headingId,+            ("indentEnd" Core..=) Core.<$> indentEnd,+            ("indentFirstLine" Core..=) Core.<$> indentFirstLine,+            ("indentStart" Core..=) Core.<$> indentStart,+            ("keepLinesTogether" Core..=) Core.<$> keepLinesTogether,+            ("keepWithNext" Core..=) Core.<$> keepWithNext,+            ("lineSpacing" Core..=) Core.<$> lineSpacing,+            ("namedStyleType" Core..=) Core.<$> namedStyleType,+            ("pageBreakBefore" Core..=) Core.<$> pageBreakBefore,+            ("shading" Core..=) Core.<$> shading,+            ("spaceAbove" Core..=) Core.<$> spaceAbove,+            ("spaceBelow" Core..=) Core.<$> spaceBelow,+            ("spacingMode" Core..=) Core.<$> spacingMode,+            ("tabStops" Core..=) Core.<$> tabStops+          ]+      )++-- | A mask that indicates which of the fields on the base ParagraphStyle have been changed in this suggestion. For any field set to true, there\'s a new suggested value.+--+-- /See:/ 'newParagraphStyleSuggestionState' smart constructor.+data ParagraphStyleSuggestionState = ParagraphStyleSuggestionState+  { -- | Indicates if there was a suggested change to alignment.+    alignmentSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to avoid/widow/and_orphan.+    avoidWidowAndOrphanSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to border_between.+    borderBetweenSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to border_bottom.+    borderBottomSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to border_left.+    borderLeftSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to border_right.+    borderRightSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to border_top.+    borderTopSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to direction.+    directionSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to heading_id.+    headingIdSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to indent_end.+    indentEndSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to indent/first/line.+    indentFirstLineSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to indent_start.+    indentStartSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to keep/lines/together.+    keepLinesTogetherSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to keep/with/next.+    keepWithNextSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to line_spacing.+    lineSpacingSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to named/style/type.+    namedStyleTypeSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to page/break/before.+    pageBreakBeforeSuggested :: (Core.Maybe Core.Bool),+    -- | A mask that indicates which of the fields in shading have been changed in this suggestion.+    shadingSuggestionState :: (Core.Maybe ShadingSuggestionState),+    -- | Indicates if there was a suggested change to space_above.+    spaceAboveSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to space_below.+    spaceBelowSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to spacing_mode.+    spacingModeSuggested :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ParagraphStyleSuggestionState' with the minimum fields required to make a request.+newParagraphStyleSuggestionState ::+  ParagraphStyleSuggestionState+newParagraphStyleSuggestionState =+  ParagraphStyleSuggestionState+    { alignmentSuggested = Core.Nothing,+      avoidWidowAndOrphanSuggested = Core.Nothing,+      borderBetweenSuggested = Core.Nothing,+      borderBottomSuggested = Core.Nothing,+      borderLeftSuggested = Core.Nothing,+      borderRightSuggested = Core.Nothing,+      borderTopSuggested = Core.Nothing,+      directionSuggested = Core.Nothing,+      headingIdSuggested = Core.Nothing,+      indentEndSuggested = Core.Nothing,+      indentFirstLineSuggested = Core.Nothing,+      indentStartSuggested = Core.Nothing,+      keepLinesTogetherSuggested = Core.Nothing,+      keepWithNextSuggested = Core.Nothing,+      lineSpacingSuggested = Core.Nothing,+      namedStyleTypeSuggested = Core.Nothing,+      pageBreakBeforeSuggested = Core.Nothing,+      shadingSuggestionState = Core.Nothing,+      spaceAboveSuggested = Core.Nothing,+      spaceBelowSuggested = Core.Nothing,+      spacingModeSuggested = Core.Nothing+    }++instance Core.FromJSON ParagraphStyleSuggestionState where+  parseJSON =+    Core.withObject+      "ParagraphStyleSuggestionState"+      ( \o ->+          ParagraphStyleSuggestionState+            Core.<$> (o Core..:? "alignmentSuggested")+            Core.<*> (o Core..:? "avoidWidowAndOrphanSuggested")+            Core.<*> (o Core..:? "borderBetweenSuggested")+            Core.<*> (o Core..:? "borderBottomSuggested")+            Core.<*> (o Core..:? "borderLeftSuggested")+            Core.<*> (o Core..:? "borderRightSuggested")+            Core.<*> (o Core..:? "borderTopSuggested")+            Core.<*> (o Core..:? "directionSuggested")+            Core.<*> (o Core..:? "headingIdSuggested")+            Core.<*> (o Core..:? "indentEndSuggested")+            Core.<*> (o Core..:? "indentFirstLineSuggested")+            Core.<*> (o Core..:? "indentStartSuggested")+            Core.<*> (o Core..:? "keepLinesTogetherSuggested")+            Core.<*> (o Core..:? "keepWithNextSuggested")+            Core.<*> (o Core..:? "lineSpacingSuggested")+            Core.<*> (o Core..:? "namedStyleTypeSuggested")+            Core.<*> (o Core..:? "pageBreakBeforeSuggested")+            Core.<*> (o Core..:? "shadingSuggestionState")+            Core.<*> (o Core..:? "spaceAboveSuggested")+            Core.<*> (o Core..:? "spaceBelowSuggested")+            Core.<*> (o Core..:? "spacingModeSuggested")+      )++instance Core.ToJSON ParagraphStyleSuggestionState where+  toJSON ParagraphStyleSuggestionState {..} =+    Core.object+      ( Core.catMaybes+          [ ("alignmentSuggested" Core..=) Core.<$> alignmentSuggested,+            ("avoidWidowAndOrphanSuggested" Core..=)+              Core.<$> avoidWidowAndOrphanSuggested,+            ("borderBetweenSuggested" Core..=) Core.<$> borderBetweenSuggested,+            ("borderBottomSuggested" Core..=) Core.<$> borderBottomSuggested,+            ("borderLeftSuggested" Core..=) Core.<$> borderLeftSuggested,+            ("borderRightSuggested" Core..=) Core.<$> borderRightSuggested,+            ("borderTopSuggested" Core..=) Core.<$> borderTopSuggested,+            ("directionSuggested" Core..=) Core.<$> directionSuggested,+            ("headingIdSuggested" Core..=) Core.<$> headingIdSuggested,+            ("indentEndSuggested" Core..=) Core.<$> indentEndSuggested,+            ("indentFirstLineSuggested" Core..=)+              Core.<$> indentFirstLineSuggested,+            ("indentStartSuggested" Core..=) Core.<$> indentStartSuggested,+            ("keepLinesTogetherSuggested" Core..=)+              Core.<$> keepLinesTogetherSuggested,+            ("keepWithNextSuggested" Core..=) Core.<$> keepWithNextSuggested,+            ("lineSpacingSuggested" Core..=) Core.<$> lineSpacingSuggested,+            ("namedStyleTypeSuggested" Core..=)+              Core.<$> namedStyleTypeSuggested,+            ("pageBreakBeforeSuggested" Core..=)+              Core.<$> pageBreakBeforeSuggested,+            ("shadingSuggestionState" Core..=) Core.<$> shadingSuggestionState,+            ("spaceAboveSuggested" Core..=) Core.<$> spaceAboveSuggested,+            ("spaceBelowSuggested" Core..=) Core.<$> spaceBelowSuggested,+            ("spacingModeSuggested" Core..=) Core.<$> spacingModeSuggested+          ]+      )++-- | A person or email address mentioned in a document. These mentions behave as a single, immutable element containing the person\'s name or email address.+--+-- /See:/ 'newPerson' smart constructor.+data Person = Person+  { -- | Output only. The unique ID of this link.+    personId :: (Core.Maybe Core.Text),+    -- | Output only. The properties of this Person. This field is always present.+    personProperties :: (Core.Maybe PersonProperties),+    -- | IDs for suggestions that remove this person link from the document. A Person might have multiple deletion IDs if, for example, multiple users suggest deleting it. If empty, then this person link isn\'t suggested for deletion.+    suggestedDeletionIds :: (Core.Maybe [Core.Text]),+    -- | IDs for suggestions that insert this person link into the document. A Person might have multiple insertion IDs if it\'s a nested suggested change (a suggestion within a suggestion made by a different user, for example). If empty, then this person link isn\'t a suggested insertion.+    suggestedInsertionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested text style changes to this Person, keyed by suggestion ID.+    suggestedTextStyleChanges :: (Core.Maybe Person_SuggestedTextStyleChanges),+    -- | The text style of this Person.+    textStyle :: (Core.Maybe TextStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Person' with the minimum fields required to make a request.+newPerson ::+  Person+newPerson =+  Person+    { personId = Core.Nothing,+      personProperties = Core.Nothing,+      suggestedDeletionIds = Core.Nothing,+      suggestedInsertionIds = Core.Nothing,+      suggestedTextStyleChanges = Core.Nothing,+      textStyle = Core.Nothing+    }++instance Core.FromJSON Person where+  parseJSON =+    Core.withObject+      "Person"+      ( \o ->+          Person+            Core.<$> (o Core..:? "personId")+            Core.<*> (o Core..:? "personProperties")+            Core.<*> (o Core..:? "suggestedDeletionIds")+            Core.<*> (o Core..:? "suggestedInsertionIds")+            Core.<*> (o Core..:? "suggestedTextStyleChanges")+            Core.<*> (o Core..:? "textStyle")+      )++instance Core.ToJSON Person where+  toJSON Person {..} =+    Core.object+      ( Core.catMaybes+          [ ("personId" Core..=) Core.<$> personId,+            ("personProperties" Core..=) Core.<$> personProperties,+            ("suggestedDeletionIds" Core..=) Core.<$> suggestedDeletionIds,+            ("suggestedInsertionIds" Core..=) Core.<$> suggestedInsertionIds,+            ("suggestedTextStyleChanges" Core..=)+              Core.<$> suggestedTextStyleChanges,+            ("textStyle" Core..=) Core.<$> textStyle+          ]+      )++-- | The suggested text style changes to this Person, keyed by suggestion ID.+--+-- /See:/ 'newPerson_SuggestedTextStyleChanges' smart constructor.+newtype Person_SuggestedTextStyleChanges = Person_SuggestedTextStyleChanges+  { additional :: (Core.HashMap Core.Text SuggestedTextStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Person_SuggestedTextStyleChanges' with the minimum fields required to make a request.+newPerson_SuggestedTextStyleChanges ::+  -- |  See 'additional'.+  Core.HashMap Core.Text SuggestedTextStyle ->+  Person_SuggestedTextStyleChanges+newPerson_SuggestedTextStyleChanges additional =+  Person_SuggestedTextStyleChanges {additional = additional}++instance Core.FromJSON Person_SuggestedTextStyleChanges where+  parseJSON =+    Core.withObject+      "Person_SuggestedTextStyleChanges"+      ( \o ->+          Person_SuggestedTextStyleChanges Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON Person_SuggestedTextStyleChanges where+  toJSON Person_SuggestedTextStyleChanges {..} =+    Core.toJSON additional++-- | Properties specific to a linked Person.+--+-- /See:/ 'newPersonProperties' smart constructor.+data PersonProperties = PersonProperties+  { -- | Output only. The email address linked to this Person. This field is always present.+    email :: (Core.Maybe Core.Text),+    -- | Output only. The name of the person if it\'s displayed in the link text instead of the person\'s email address.+    name :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'PersonProperties' with the minimum fields required to make a request.+newPersonProperties ::+  PersonProperties+newPersonProperties =+  PersonProperties {email = Core.Nothing, name = Core.Nothing}++instance Core.FromJSON PersonProperties where+  parseJSON =+    Core.withObject+      "PersonProperties"+      ( \o ->+          PersonProperties+            Core.<$> (o Core..:? "email")+            Core.<*> (o Core..:? "name")+      )++instance Core.ToJSON PersonProperties where+  toJSON PersonProperties {..} =+    Core.object+      ( Core.catMaybes+          [("email" Core..=) Core.<$> email, ("name" Core..=) Core.<$> name]+      )++-- | Updates the number of pinned table header rows in a table.+--+-- /See:/ 'newPinTableHeaderRowsRequest' smart constructor.+data PinTableHeaderRowsRequest = PinTableHeaderRowsRequest+  { -- | The number of table rows to pin, where 0 implies that all rows are unpinned.+    pinnedHeaderRowsCount :: (Core.Maybe Core.Int32),+    -- | The location where the table starts in the document.+    tableStartLocation :: (Core.Maybe Location)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'PinTableHeaderRowsRequest' with the minimum fields required to make a request.+newPinTableHeaderRowsRequest ::+  PinTableHeaderRowsRequest+newPinTableHeaderRowsRequest =+  PinTableHeaderRowsRequest+    { pinnedHeaderRowsCount = Core.Nothing,+      tableStartLocation = Core.Nothing+    }++instance Core.FromJSON PinTableHeaderRowsRequest where+  parseJSON =+    Core.withObject+      "PinTableHeaderRowsRequest"+      ( \o ->+          PinTableHeaderRowsRequest+            Core.<$> (o Core..:? "pinnedHeaderRowsCount")+            Core.<*> (o Core..:? "tableStartLocation")+      )++instance Core.ToJSON PinTableHeaderRowsRequest where+  toJSON PinTableHeaderRowsRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("pinnedHeaderRowsCount" Core..=) Core.<$> pinnedHeaderRowsCount,+            ("tableStartLocation" Core..=) Core.<$> tableStartLocation+          ]+      )++-- | An object that\'s tethered to a Paragraph and positioned relative to the beginning of the paragraph. A PositionedObject contains an EmbeddedObject such as an image.+--+-- /See:/ 'newPositionedObject' smart constructor.+data PositionedObject = PositionedObject+  { -- | The ID of this positioned object.+    objectId :: (Core.Maybe Core.Text),+    -- | The properties of this positioned object.+    positionedObjectProperties :: (Core.Maybe PositionedObjectProperties),+    -- | The suggested deletion IDs. If empty, then there are no suggested deletions of this content.+    suggestedDeletionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested insertion ID. If empty, then this is not a suggested insertion.+    suggestedInsertionId :: (Core.Maybe Core.Text),+    -- | The suggested changes to the positioned object properties, keyed by suggestion ID.+    suggestedPositionedObjectPropertiesChanges ::+      ( Core.Maybe+          PositionedObject_SuggestedPositionedObjectPropertiesChanges+      )+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'PositionedObject' with the minimum fields required to make a request.+newPositionedObject ::+  PositionedObject+newPositionedObject =+  PositionedObject+    { objectId = Core.Nothing,+      positionedObjectProperties = Core.Nothing,+      suggestedDeletionIds = Core.Nothing,+      suggestedInsertionId = Core.Nothing,+      suggestedPositionedObjectPropertiesChanges = Core.Nothing+    }++instance Core.FromJSON PositionedObject where+  parseJSON =+    Core.withObject+      "PositionedObject"+      ( \o ->+          PositionedObject+            Core.<$> (o Core..:? "objectId")+            Core.<*> (o Core..:? "positionedObjectProperties")+            Core.<*> (o Core..:? "suggestedDeletionIds")+            Core.<*> (o Core..:? "suggestedInsertionId")+            Core.<*> (o Core..:? "suggestedPositionedObjectPropertiesChanges")+      )++instance Core.ToJSON PositionedObject where+  toJSON PositionedObject {..} =+    Core.object+      ( Core.catMaybes+          [ ("objectId" Core..=) Core.<$> objectId,+            ("positionedObjectProperties" Core..=)+              Core.<$> positionedObjectProperties,+            ("suggestedDeletionIds" Core..=) Core.<$> suggestedDeletionIds,+            ("suggestedInsertionId" Core..=) Core.<$> suggestedInsertionId,+            ("suggestedPositionedObjectPropertiesChanges" Core..=)+              Core.<$> suggestedPositionedObjectPropertiesChanges+          ]+      )++-- | The suggested changes to the positioned object properties, keyed by suggestion ID.+--+-- /See:/ 'newPositionedObject_SuggestedPositionedObjectPropertiesChanges' smart constructor.+newtype PositionedObject_SuggestedPositionedObjectPropertiesChanges = PositionedObject_SuggestedPositionedObjectPropertiesChanges+  { additional :: (Core.HashMap Core.Text SuggestedPositionedObjectProperties)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'PositionedObject_SuggestedPositionedObjectPropertiesChanges' with the minimum fields required to make a request.+newPositionedObject_SuggestedPositionedObjectPropertiesChanges ::+  -- |  See 'additional'.+  Core.HashMap+    Core.Text+    SuggestedPositionedObjectProperties ->+  PositionedObject_SuggestedPositionedObjectPropertiesChanges+newPositionedObject_SuggestedPositionedObjectPropertiesChanges+  additional =+    PositionedObject_SuggestedPositionedObjectPropertiesChanges+      { additional =+          additional+      }++instance+  Core.FromJSON+    PositionedObject_SuggestedPositionedObjectPropertiesChanges+  where+  parseJSON =+    Core.withObject+      "PositionedObject_SuggestedPositionedObjectPropertiesChanges"+      ( \o ->+          PositionedObject_SuggestedPositionedObjectPropertiesChanges+            Core.<$> (Core.parseJSONObject o)+      )++instance+  Core.ToJSON+    PositionedObject_SuggestedPositionedObjectPropertiesChanges+  where+  toJSON+    PositionedObject_SuggestedPositionedObjectPropertiesChanges {..} =+      Core.toJSON additional++-- | The positioning of a PositionedObject. The positioned object is positioned relative to the beginning of the Paragraph it\'s tethered to.+--+-- /See:/ 'newPositionedObjectPositioning' smart constructor.+data PositionedObjectPositioning = PositionedObjectPositioning+  { -- | The layout of this positioned object.+    layout :: (Core.Maybe PositionedObjectPositioning_Layout),+    -- | The offset of the left edge of the positioned object relative to the beginning of the Paragraph it\'s tethered to. The exact positioning of the object can depend on other content in the document and the document\'s styling.+    leftOffset :: (Core.Maybe Dimension),+    -- | The offset of the top edge of the positioned object relative to the beginning of the Paragraph it\'s tethered to. The exact positioning of the object can depend on other content in the document and the document\'s styling.+    topOffset :: (Core.Maybe Dimension)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'PositionedObjectPositioning' with the minimum fields required to make a request.+newPositionedObjectPositioning ::+  PositionedObjectPositioning+newPositionedObjectPositioning =+  PositionedObjectPositioning+    { layout = Core.Nothing,+      leftOffset = Core.Nothing,+      topOffset = Core.Nothing+    }++instance Core.FromJSON PositionedObjectPositioning where+  parseJSON =+    Core.withObject+      "PositionedObjectPositioning"+      ( \o ->+          PositionedObjectPositioning+            Core.<$> (o Core..:? "layout")+            Core.<*> (o Core..:? "leftOffset")+            Core.<*> (o Core..:? "topOffset")+      )++instance Core.ToJSON PositionedObjectPositioning where+  toJSON PositionedObjectPositioning {..} =+    Core.object+      ( Core.catMaybes+          [ ("layout" Core..=) Core.<$> layout,+            ("leftOffset" Core..=) Core.<$> leftOffset,+            ("topOffset" Core..=) Core.<$> topOffset+          ]+      )++-- | A mask that indicates which of the fields on the base PositionedObjectPositioning have been changed in this suggestion. For any field set to true, there\'s a new suggested value.+--+-- /See:/ 'newPositionedObjectPositioningSuggestionState' smart constructor.+data PositionedObjectPositioningSuggestionState = PositionedObjectPositioningSuggestionState+  { -- | Indicates if there was a suggested change to layout.+    layoutSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to left_offset.+    leftOffsetSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to top_offset.+    topOffsetSuggested :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'PositionedObjectPositioningSuggestionState' with the minimum fields required to make a request.+newPositionedObjectPositioningSuggestionState ::+  PositionedObjectPositioningSuggestionState+newPositionedObjectPositioningSuggestionState =+  PositionedObjectPositioningSuggestionState+    { layoutSuggested =+        Core.Nothing,+      leftOffsetSuggested = Core.Nothing,+      topOffsetSuggested = Core.Nothing+    }++instance Core.FromJSON PositionedObjectPositioningSuggestionState where+  parseJSON =+    Core.withObject+      "PositionedObjectPositioningSuggestionState"+      ( \o ->+          PositionedObjectPositioningSuggestionState+            Core.<$> (o Core..:? "layoutSuggested")+            Core.<*> (o Core..:? "leftOffsetSuggested")+            Core.<*> (o Core..:? "topOffsetSuggested")+      )++instance Core.ToJSON PositionedObjectPositioningSuggestionState where+  toJSON PositionedObjectPositioningSuggestionState {..} =+    Core.object+      ( Core.catMaybes+          [ ("layoutSuggested" Core..=) Core.<$> layoutSuggested,+            ("leftOffsetSuggested" Core..=) Core.<$> leftOffsetSuggested,+            ("topOffsetSuggested" Core..=) Core.<$> topOffsetSuggested+          ]+      )++-- | Properties of a PositionedObject.+--+-- /See:/ 'newPositionedObjectProperties' smart constructor.+data PositionedObjectProperties = PositionedObjectProperties+  { -- | The embedded object of this positioned object.+    embeddedObject :: (Core.Maybe EmbeddedObject),+    -- | The positioning of this positioned object relative to the newline of the Paragraph that references this positioned object.+    positioning :: (Core.Maybe PositionedObjectPositioning)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'PositionedObjectProperties' with the minimum fields required to make a request.+newPositionedObjectProperties ::+  PositionedObjectProperties+newPositionedObjectProperties =+  PositionedObjectProperties+    { embeddedObject = Core.Nothing,+      positioning = Core.Nothing+    }++instance Core.FromJSON PositionedObjectProperties where+  parseJSON =+    Core.withObject+      "PositionedObjectProperties"+      ( \o ->+          PositionedObjectProperties+            Core.<$> (o Core..:? "embeddedObject")+            Core.<*> (o Core..:? "positioning")+      )++instance Core.ToJSON PositionedObjectProperties where+  toJSON PositionedObjectProperties {..} =+    Core.object+      ( Core.catMaybes+          [ ("embeddedObject" Core..=) Core.<$> embeddedObject,+            ("positioning" Core..=) Core.<$> positioning+          ]+      )++-- | A mask that indicates which of the fields on the base PositionedObjectProperties have been changed in this suggestion. For any field set to true, there\'s a new suggested value.+--+-- /See:/ 'newPositionedObjectPropertiesSuggestionState' smart constructor.+data PositionedObjectPropertiesSuggestionState = PositionedObjectPropertiesSuggestionState+  { -- | A mask that indicates which of the fields in embedded_object have been changed in this suggestion.+    embeddedObjectSuggestionState :: (Core.Maybe EmbeddedObjectSuggestionState),+    -- | A mask that indicates which of the fields in positioning have been changed in this suggestion.+    positioningSuggestionState :: (Core.Maybe PositionedObjectPositioningSuggestionState)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'PositionedObjectPropertiesSuggestionState' with the minimum fields required to make a request.+newPositionedObjectPropertiesSuggestionState ::+  PositionedObjectPropertiesSuggestionState+newPositionedObjectPropertiesSuggestionState =+  PositionedObjectPropertiesSuggestionState+    { embeddedObjectSuggestionState =+        Core.Nothing,+      positioningSuggestionState = Core.Nothing+    }++instance Core.FromJSON PositionedObjectPropertiesSuggestionState where+  parseJSON =+    Core.withObject+      "PositionedObjectPropertiesSuggestionState"+      ( \o ->+          PositionedObjectPropertiesSuggestionState+            Core.<$> (o Core..:? "embeddedObjectSuggestionState")+            Core.<*> (o Core..:? "positioningSuggestionState")+      )++instance Core.ToJSON PositionedObjectPropertiesSuggestionState where+  toJSON PositionedObjectPropertiesSuggestionState {..} =+    Core.object+      ( Core.catMaybes+          [ ("embeddedObjectSuggestionState" Core..=)+              Core.<$> embeddedObjectSuggestionState,+            ("positioningSuggestionState" Core..=)+              Core.<$> positioningSuggestionState+          ]+      )++-- | Specifies a contiguous range of text.+--+-- /See:/ 'newRange' smart constructor.+data Range = Range+  { -- | The zero-based end index of this range, exclusive, in UTF-16 code units. In all current uses, an end index must be provided. This field is an Int32Value in order to accommodate future use cases with open-ended ranges.+    endIndex :: (Core.Maybe Core.Int32),+    -- | The ID of the header, footer, or footnote that this range is contained in. An empty segment ID signifies the document\'s body.+    segmentId :: (Core.Maybe Core.Text),+    -- | The zero-based start index of this range, in UTF-16 code units. In all current uses, a start index must be provided. This field is an Int32Value in order to accommodate future use cases with open-ended ranges.+    startIndex :: (Core.Maybe Core.Int32),+    -- | The tab that contains this range. When omitted, the request applies to the first tab. In a document containing a single tab: - If provided, must match the singular tab\'s ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.+    tabId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Range' with the minimum fields required to make a request.+newRange ::+  Range+newRange =+  Range+    { endIndex = Core.Nothing,+      segmentId = Core.Nothing,+      startIndex = Core.Nothing,+      tabId = Core.Nothing+    }++instance Core.FromJSON Range where+  parseJSON =+    Core.withObject+      "Range"+      ( \o ->+          Range+            Core.<$> (o Core..:? "endIndex")+            Core.<*> (o Core..:? "segmentId")+            Core.<*> (o Core..:? "startIndex")+            Core.<*> (o Core..:? "tabId")+      )++instance Core.ToJSON Range where+  toJSON Range {..} =+    Core.object+      ( Core.catMaybes+          [ ("endIndex" Core..=) Core.<$> endIndex,+            ("segmentId" Core..=) Core.<$> segmentId,+            ("startIndex" Core..=) Core.<$> startIndex,+            ("tabId" Core..=) Core.<$> tabId+          ]+      )++-- | Replaces all instances of text matching a criteria with replace text.+--+-- /See:/ 'newReplaceAllTextRequest' smart constructor.+data ReplaceAllTextRequest = ReplaceAllTextRequest+  { -- | Finds text in the document matching this substring.+    containsText :: (Core.Maybe SubstringMatchCriteria),+    -- | The text that will replace the matched text.+    replaceText :: (Core.Maybe Core.Text),+    -- | Optional. The criteria used to specify in which tabs the replacement occurs. When omitted, the replacement applies to all tabs. In a document containing a single tab: - If provided, must match the singular tab\'s ID. - If omitted, the replacement applies to the singular tab. In a document containing multiple tabs: - If provided, the replacement applies to the specified tabs. - If omitted, the replacement applies to all tabs.+    tabsCriteria :: (Core.Maybe TabsCriteria)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ReplaceAllTextRequest' with the minimum fields required to make a request.+newReplaceAllTextRequest ::+  ReplaceAllTextRequest+newReplaceAllTextRequest =+  ReplaceAllTextRequest+    { containsText = Core.Nothing,+      replaceText = Core.Nothing,+      tabsCriteria = Core.Nothing+    }++instance Core.FromJSON ReplaceAllTextRequest where+  parseJSON =+    Core.withObject+      "ReplaceAllTextRequest"+      ( \o ->+          ReplaceAllTextRequest+            Core.<$> (o Core..:? "containsText")+            Core.<*> (o Core..:? "replaceText")+            Core.<*> (o Core..:? "tabsCriteria")+      )++instance Core.ToJSON ReplaceAllTextRequest where+  toJSON ReplaceAllTextRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("containsText" Core..=) Core.<$> containsText,+            ("replaceText" Core..=) Core.<$> replaceText,+            ("tabsCriteria" Core..=) Core.<$> tabsCriteria+          ]+      )++-- | The result of replacing text.+--+-- /See:/ 'newReplaceAllTextResponse' smart constructor.+newtype ReplaceAllTextResponse = ReplaceAllTextResponse+  { -- | The number of occurrences changed by replacing all text.+    occurrencesChanged :: (Core.Maybe Core.Int32)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ReplaceAllTextResponse' with the minimum fields required to make a request.+newReplaceAllTextResponse ::+  ReplaceAllTextResponse+newReplaceAllTextResponse =+  ReplaceAllTextResponse {occurrencesChanged = Core.Nothing}++instance Core.FromJSON ReplaceAllTextResponse where+  parseJSON =+    Core.withObject+      "ReplaceAllTextResponse"+      ( \o ->+          ReplaceAllTextResponse Core.<$> (o Core..:? "occurrencesChanged")+      )++instance Core.ToJSON ReplaceAllTextResponse where+  toJSON ReplaceAllTextResponse {..} =+    Core.object+      ( Core.catMaybes+          [("occurrencesChanged" Core..=) Core.<$> occurrencesChanged]+      )++-- | Replaces an existing image with a new image. Replacing an image removes some image effects from the existing image in order to mirror the behavior of the Docs editor.+--+-- /See:/ 'newReplaceImageRequest' smart constructor.+data ReplaceImageRequest = ReplaceImageRequest+  { -- | The ID of the existing image that will be replaced. The ID can be retrieved from the response of a get request.+    imageObjectId :: (Core.Maybe Core.Text),+    -- | The replacement method.+    imageReplaceMethod :: (Core.Maybe ReplaceImageRequest_ImageReplaceMethod),+    -- | The tab that the image to be replaced is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab\'s ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.+    tabId :: (Core.Maybe Core.Text),+    -- | The URI of the new image. The image is fetched once at insertion time and a copy is stored for display inside the document. Images must be less than 50MB, cannot exceed 25 megapixels, and must be in PNG, JPEG, or GIF format. The provided URI can\'t surpass 2 KB in length. The URI is saved with the image, and exposed through the ImageProperties.source_uri field.+    uri :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ReplaceImageRequest' with the minimum fields required to make a request.+newReplaceImageRequest ::+  ReplaceImageRequest+newReplaceImageRequest =+  ReplaceImageRequest+    { imageObjectId = Core.Nothing,+      imageReplaceMethod = Core.Nothing,+      tabId = Core.Nothing,+      uri = Core.Nothing+    }++instance Core.FromJSON ReplaceImageRequest where+  parseJSON =+    Core.withObject+      "ReplaceImageRequest"+      ( \o ->+          ReplaceImageRequest+            Core.<$> (o Core..:? "imageObjectId")+            Core.<*> (o Core..:? "imageReplaceMethod")+            Core.<*> (o Core..:? "tabId")+            Core.<*> (o Core..:? "uri")+      )++instance Core.ToJSON ReplaceImageRequest where+  toJSON ReplaceImageRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("imageObjectId" Core..=) Core.<$> imageObjectId,+            ("imageReplaceMethod" Core..=) Core.<$> imageReplaceMethod,+            ("tabId" Core..=) Core.<$> tabId,+            ("uri" Core..=) Core.<$> uri+          ]+      )++-- | Replaces the contents of the specified NamedRange or NamedRanges with the given replacement content. Note that an individual NamedRange may consist of multiple discontinuous ranges. In this case, only the content in the first range will be replaced. The other ranges and their content will be deleted. In cases where replacing or deleting any ranges would result in an invalid document structure, a 400 bad request error is returned.+--+-- /See:/ 'newReplaceNamedRangeContentRequest' smart constructor.+data ReplaceNamedRangeContentRequest = ReplaceNamedRangeContentRequest+  { -- | The ID of the named range whose content will be replaced. If there is no named range with the given ID a 400 bad request error is returned.+    namedRangeId :: (Core.Maybe Core.Text),+    -- | The name of the NamedRanges whose content will be replaced. If there are multiple named ranges with the given name, then the content of each one will be replaced. If there are no named ranges with the given name, then the request will be a no-op.+    namedRangeName :: (Core.Maybe Core.Text),+    -- | Optional. The criteria used to specify in which tabs the replacement occurs. When omitted, the replacement applies to all tabs. In a document containing a single tab: - If provided, must match the singular tab\'s ID. - If omitted, the replacement applies to the singular tab. In a document containing multiple tabs: - If provided, the replacement applies to the specified tabs. - If omitted, the replacement applies to all tabs.+    tabsCriteria :: (Core.Maybe TabsCriteria),+    -- | Replaces the content of the specified named range(s) with the given text.+    text :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ReplaceNamedRangeContentRequest' with the minimum fields required to make a request.+newReplaceNamedRangeContentRequest ::+  ReplaceNamedRangeContentRequest+newReplaceNamedRangeContentRequest =+  ReplaceNamedRangeContentRequest+    { namedRangeId = Core.Nothing,+      namedRangeName = Core.Nothing,+      tabsCriteria = Core.Nothing,+      text = Core.Nothing+    }++instance Core.FromJSON ReplaceNamedRangeContentRequest where+  parseJSON =+    Core.withObject+      "ReplaceNamedRangeContentRequest"+      ( \o ->+          ReplaceNamedRangeContentRequest+            Core.<$> (o Core..:? "namedRangeId")+            Core.<*> (o Core..:? "namedRangeName")+            Core.<*> (o Core..:? "tabsCriteria")+            Core.<*> (o Core..:? "text")+      )++instance Core.ToJSON ReplaceNamedRangeContentRequest where+  toJSON ReplaceNamedRangeContentRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("namedRangeId" Core..=) Core.<$> namedRangeId,+            ("namedRangeName" Core..=) Core.<$> namedRangeName,+            ("tabsCriteria" Core..=) Core.<$> tabsCriteria,+            ("text" Core..=) Core.<$> text+          ]+      )++-- | A single update to apply to a document.+--+-- /See:/ 'newRequest' smart constructor.+data Request' = Request'+  { -- | Creates a footer.+    createFooter :: (Core.Maybe CreateFooterRequest),+    -- | Creates a footnote.+    createFootnote :: (Core.Maybe CreateFootnoteRequest),+    -- | Creates a header.+    createHeader :: (Core.Maybe CreateHeaderRequest),+    -- | Creates a named range.+    createNamedRange :: (Core.Maybe CreateNamedRangeRequest),+    -- | Creates bullets for paragraphs.+    createParagraphBullets :: (Core.Maybe CreateParagraphBulletsRequest),+    -- | Deletes content from the document.+    deleteContentRange :: (Core.Maybe DeleteContentRangeRequest),+    -- | Deletes a footer from the document.+    deleteFooter :: (Core.Maybe DeleteFooterRequest),+    -- | Deletes a header from the document.+    deleteHeader :: (Core.Maybe DeleteHeaderRequest),+    -- | Deletes a named range.+    deleteNamedRange :: (Core.Maybe DeleteNamedRangeRequest),+    -- | Deletes bullets from paragraphs.+    deleteParagraphBullets :: (Core.Maybe DeleteParagraphBulletsRequest),+    -- | Deletes a positioned object from the document.+    deletePositionedObject :: (Core.Maybe DeletePositionedObjectRequest),+    -- | Deletes a column from a table.+    deleteTableColumn :: (Core.Maybe DeleteTableColumnRequest),+    -- | Deletes a row from a table.+    deleteTableRow :: (Core.Maybe DeleteTableRowRequest),+    -- | Inserts an inline image at the specified location.+    insertInlineImage :: (Core.Maybe InsertInlineImageRequest),+    -- | Inserts a page break at the specified location.+    insertPageBreak :: (Core.Maybe InsertPageBreakRequest),+    -- | Inserts a section break at the specified location.+    insertSectionBreak :: (Core.Maybe InsertSectionBreakRequest),+    -- | Inserts a table at the specified location.+    insertTable :: (Core.Maybe InsertTableRequest),+    -- | Inserts an empty column into a table.+    insertTableColumn :: (Core.Maybe InsertTableColumnRequest),+    -- | Inserts an empty row into a table.+    insertTableRow :: (Core.Maybe InsertTableRowRequest),+    -- | Inserts text at the specified location.+    insertText :: (Core.Maybe InsertTextRequest),+    -- | Merges cells in a table.+    mergeTableCells :: (Core.Maybe MergeTableCellsRequest),+    -- | Updates the number of pinned header rows in a table.+    pinTableHeaderRows :: (Core.Maybe PinTableHeaderRowsRequest),+    -- | Replaces all instances of the specified text.+    replaceAllText :: (Core.Maybe ReplaceAllTextRequest),+    -- | Replaces an image in the document.+    replaceImage :: (Core.Maybe ReplaceImageRequest),+    -- | Replaces the content in a named range.+    replaceNamedRangeContent :: (Core.Maybe ReplaceNamedRangeContentRequest),+    -- | Unmerges cells in a table.+    unmergeTableCells :: (Core.Maybe UnmergeTableCellsRequest),+    -- | Updates the style of the document.+    updateDocumentStyle :: (Core.Maybe UpdateDocumentStyleRequest),+    -- | Updates the paragraph style at the specified range.+    updateParagraphStyle :: (Core.Maybe UpdateParagraphStyleRequest),+    -- | Updates the section style of the specified range.+    updateSectionStyle :: (Core.Maybe UpdateSectionStyleRequest),+    -- | Updates the style of table cells.+    updateTableCellStyle :: (Core.Maybe UpdateTableCellStyleRequest),+    -- | Updates the properties of columns in a table.+    updateTableColumnProperties :: (Core.Maybe UpdateTableColumnPropertiesRequest),+    -- | Updates the row style in a table.+    updateTableRowStyle :: (Core.Maybe UpdateTableRowStyleRequest),+    -- | Updates the text style at the specified range.+    updateTextStyle :: (Core.Maybe UpdateTextStyleRequest)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Request' with the minimum fields required to make a request.+newRequest ::+  Request'+newRequest =+  Request'+    { createFooter = Core.Nothing,+      createFootnote = Core.Nothing,+      createHeader = Core.Nothing,+      createNamedRange = Core.Nothing,+      createParagraphBullets = Core.Nothing,+      deleteContentRange = Core.Nothing,+      deleteFooter = Core.Nothing,+      deleteHeader = Core.Nothing,+      deleteNamedRange = Core.Nothing,+      deleteParagraphBullets = Core.Nothing,+      deletePositionedObject = Core.Nothing,+      deleteTableColumn = Core.Nothing,+      deleteTableRow = Core.Nothing,+      insertInlineImage = Core.Nothing,+      insertPageBreak = Core.Nothing,+      insertSectionBreak = Core.Nothing,+      insertTable = Core.Nothing,+      insertTableColumn = Core.Nothing,+      insertTableRow = Core.Nothing,+      insertText = Core.Nothing,+      mergeTableCells = Core.Nothing,+      pinTableHeaderRows = Core.Nothing,+      replaceAllText = Core.Nothing,+      replaceImage = Core.Nothing,+      replaceNamedRangeContent = Core.Nothing,+      unmergeTableCells = Core.Nothing,+      updateDocumentStyle = Core.Nothing,+      updateParagraphStyle = Core.Nothing,+      updateSectionStyle = Core.Nothing,+      updateTableCellStyle = Core.Nothing,+      updateTableColumnProperties = Core.Nothing,+      updateTableRowStyle = Core.Nothing,+      updateTextStyle = Core.Nothing+    }++instance Core.FromJSON Request' where+  parseJSON =+    Core.withObject+      "Request'"+      ( \o ->+          Request'+            Core.<$> (o Core..:? "createFooter")+            Core.<*> (o Core..:? "createFootnote")+            Core.<*> (o Core..:? "createHeader")+            Core.<*> (o Core..:? "createNamedRange")+            Core.<*> (o Core..:? "createParagraphBullets")+            Core.<*> (o Core..:? "deleteContentRange")+            Core.<*> (o Core..:? "deleteFooter")+            Core.<*> (o Core..:? "deleteHeader")+            Core.<*> (o Core..:? "deleteNamedRange")+            Core.<*> (o Core..:? "deleteParagraphBullets")+            Core.<*> (o Core..:? "deletePositionedObject")+            Core.<*> (o Core..:? "deleteTableColumn")+            Core.<*> (o Core..:? "deleteTableRow")+            Core.<*> (o Core..:? "insertInlineImage")+            Core.<*> (o Core..:? "insertPageBreak")+            Core.<*> (o Core..:? "insertSectionBreak")+            Core.<*> (o Core..:? "insertTable")+            Core.<*> (o Core..:? "insertTableColumn")+            Core.<*> (o Core..:? "insertTableRow")+            Core.<*> (o Core..:? "insertText")+            Core.<*> (o Core..:? "mergeTableCells")+            Core.<*> (o Core..:? "pinTableHeaderRows")+            Core.<*> (o Core..:? "replaceAllText")+            Core.<*> (o Core..:? "replaceImage")+            Core.<*> (o Core..:? "replaceNamedRangeContent")+            Core.<*> (o Core..:? "unmergeTableCells")+            Core.<*> (o Core..:? "updateDocumentStyle")+            Core.<*> (o Core..:? "updateParagraphStyle")+            Core.<*> (o Core..:? "updateSectionStyle")+            Core.<*> (o Core..:? "updateTableCellStyle")+            Core.<*> (o Core..:? "updateTableColumnProperties")+            Core.<*> (o Core..:? "updateTableRowStyle")+            Core.<*> (o Core..:? "updateTextStyle")+      )++instance Core.ToJSON Request' where+  toJSON Request' {..} =+    Core.object+      ( Core.catMaybes+          [ ("createFooter" Core..=) Core.<$> createFooter,+            ("createFootnote" Core..=) Core.<$> createFootnote,+            ("createHeader" Core..=) Core.<$> createHeader,+            ("createNamedRange" Core..=) Core.<$> createNamedRange,+            ("createParagraphBullets" Core..=) Core.<$> createParagraphBullets,+            ("deleteContentRange" Core..=) Core.<$> deleteContentRange,+            ("deleteFooter" Core..=) Core.<$> deleteFooter,+            ("deleteHeader" Core..=) Core.<$> deleteHeader,+            ("deleteNamedRange" Core..=) Core.<$> deleteNamedRange,+            ("deleteParagraphBullets" Core..=) Core.<$> deleteParagraphBullets,+            ("deletePositionedObject" Core..=) Core.<$> deletePositionedObject,+            ("deleteTableColumn" Core..=) Core.<$> deleteTableColumn,+            ("deleteTableRow" Core..=) Core.<$> deleteTableRow,+            ("insertInlineImage" Core..=) Core.<$> insertInlineImage,+            ("insertPageBreak" Core..=) Core.<$> insertPageBreak,+            ("insertSectionBreak" Core..=) Core.<$> insertSectionBreak,+            ("insertTable" Core..=) Core.<$> insertTable,+            ("insertTableColumn" Core..=) Core.<$> insertTableColumn,+            ("insertTableRow" Core..=) Core.<$> insertTableRow,+            ("insertText" Core..=) Core.<$> insertText,+            ("mergeTableCells" Core..=) Core.<$> mergeTableCells,+            ("pinTableHeaderRows" Core..=) Core.<$> pinTableHeaderRows,+            ("replaceAllText" Core..=) Core.<$> replaceAllText,+            ("replaceImage" Core..=) Core.<$> replaceImage,+            ("replaceNamedRangeContent" Core..=)+              Core.<$> replaceNamedRangeContent,+            ("unmergeTableCells" Core..=) Core.<$> unmergeTableCells,+            ("updateDocumentStyle" Core..=) Core.<$> updateDocumentStyle,+            ("updateParagraphStyle" Core..=) Core.<$> updateParagraphStyle,+            ("updateSectionStyle" Core..=) Core.<$> updateSectionStyle,+            ("updateTableCellStyle" Core..=) Core.<$> updateTableCellStyle,+            ("updateTableColumnProperties" Core..=)+              Core.<$> updateTableColumnProperties,+            ("updateTableRowStyle" Core..=) Core.<$> updateTableRowStyle,+            ("updateTextStyle" Core..=) Core.<$> updateTextStyle+          ]+      )++-- | A single response from an update.+--+-- /See:/ 'newResponse' smart constructor.+data Response = Response+  { -- | The result of creating a footer.+    createFooter :: (Core.Maybe CreateFooterResponse),+    -- | The result of creating a footnote.+    createFootnote :: (Core.Maybe CreateFootnoteResponse),+    -- | The result of creating a header.+    createHeader :: (Core.Maybe CreateHeaderResponse),+    -- | The result of creating a named range.+    createNamedRange :: (Core.Maybe CreateNamedRangeResponse),+    -- | The result of inserting an inline image.+    insertInlineImage :: (Core.Maybe InsertInlineImageResponse),+    -- | The result of inserting an inline Google Sheets chart.+    insertInlineSheetsChart :: (Core.Maybe InsertInlineSheetsChartResponse),+    -- | The result of replacing text.+    replaceAllText :: (Core.Maybe ReplaceAllTextResponse)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Response' with the minimum fields required to make a request.+newResponse ::+  Response+newResponse =+  Response+    { createFooter = Core.Nothing,+      createFootnote = Core.Nothing,+      createHeader = Core.Nothing,+      createNamedRange = Core.Nothing,+      insertInlineImage = Core.Nothing,+      insertInlineSheetsChart = Core.Nothing,+      replaceAllText = Core.Nothing+    }++instance Core.FromJSON Response where+  parseJSON =+    Core.withObject+      "Response"+      ( \o ->+          Response+            Core.<$> (o Core..:? "createFooter")+            Core.<*> (o Core..:? "createFootnote")+            Core.<*> (o Core..:? "createHeader")+            Core.<*> (o Core..:? "createNamedRange")+            Core.<*> (o Core..:? "insertInlineImage")+            Core.<*> (o Core..:? "insertInlineSheetsChart")+            Core.<*> (o Core..:? "replaceAllText")+      )++instance Core.ToJSON Response where+  toJSON Response {..} =+    Core.object+      ( Core.catMaybes+          [ ("createFooter" Core..=) Core.<$> createFooter,+            ("createFootnote" Core..=) Core.<$> createFootnote,+            ("createHeader" Core..=) Core.<$> createHeader,+            ("createNamedRange" Core..=) Core.<$> createNamedRange,+            ("insertInlineImage" Core..=) Core.<$> insertInlineImage,+            ("insertInlineSheetsChart" Core..=)+              Core.<$> insertInlineSheetsChart,+            ("replaceAllText" Core..=) Core.<$> replaceAllText+          ]+      )++-- | An RGB color.+--+-- /See:/ 'newRgbColor' smart constructor.+data RgbColor = RgbColor+  { -- | The blue component of the color, from 0.0 to 1.0.+    blue :: (Core.Maybe Core.Double),+    -- | The green component of the color, from 0.0 to 1.0.+    green :: (Core.Maybe Core.Double),+    -- | The red component of the color, from 0.0 to 1.0.+    red :: (Core.Maybe Core.Double)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RgbColor' with the minimum fields required to make a request.+newRgbColor ::+  RgbColor+newRgbColor =+  RgbColor+    { blue = Core.Nothing,+      green = Core.Nothing,+      red = Core.Nothing+    }++instance Core.FromJSON RgbColor where+  parseJSON =+    Core.withObject+      "RgbColor"+      ( \o ->+          RgbColor+            Core.<$> (o Core..:? "blue")+            Core.<*> (o Core..:? "green")+            Core.<*> (o Core..:? "red")+      )++instance Core.ToJSON RgbColor where+  toJSON RgbColor {..} =+    Core.object+      ( Core.catMaybes+          [ ("blue" Core..=) Core.<$> blue,+            ("green" Core..=) Core.<$> green,+            ("red" Core..=) Core.<$> red+          ]+      )++-- | A link to a Google resource (such as a file in Drive, a YouTube video, or a Calendar event).+--+-- /See:/ 'newRichLink' smart constructor.+data RichLink = RichLink+  { -- | Output only. The ID of this link.+    richLinkId :: (Core.Maybe Core.Text),+    -- | Output only. The properties of this RichLink. This field is always present.+    richLinkProperties :: (Core.Maybe RichLinkProperties),+    -- | IDs for suggestions that remove this link from the document. A RichLink might have multiple deletion IDs if, for example, multiple users suggest deleting it. If empty, then this person link isn\'t suggested for deletion.+    suggestedDeletionIds :: (Core.Maybe [Core.Text]),+    -- | IDs for suggestions that insert this link into the document. A RichLink might have multiple insertion IDs if it\'s a nested suggested change (a suggestion within a suggestion made by a different user, for example). If empty, then this person link isn\'t a suggested insertion.+    suggestedInsertionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested text style changes to this RichLink, keyed by suggestion ID.+    suggestedTextStyleChanges :: (Core.Maybe RichLink_SuggestedTextStyleChanges),+    -- | The text style of this RichLink.+    textStyle :: (Core.Maybe TextStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RichLink' with the minimum fields required to make a request.+newRichLink ::+  RichLink+newRichLink =+  RichLink+    { richLinkId = Core.Nothing,+      richLinkProperties = Core.Nothing,+      suggestedDeletionIds = Core.Nothing,+      suggestedInsertionIds = Core.Nothing,+      suggestedTextStyleChanges = Core.Nothing,+      textStyle = Core.Nothing+    }++instance Core.FromJSON RichLink where+  parseJSON =+    Core.withObject+      "RichLink"+      ( \o ->+          RichLink+            Core.<$> (o Core..:? "richLinkId")+            Core.<*> (o Core..:? "richLinkProperties")+            Core.<*> (o Core..:? "suggestedDeletionIds")+            Core.<*> (o Core..:? "suggestedInsertionIds")+            Core.<*> (o Core..:? "suggestedTextStyleChanges")+            Core.<*> (o Core..:? "textStyle")+      )++instance Core.ToJSON RichLink where+  toJSON RichLink {..} =+    Core.object+      ( Core.catMaybes+          [ ("richLinkId" Core..=) Core.<$> richLinkId,+            ("richLinkProperties" Core..=) Core.<$> richLinkProperties,+            ("suggestedDeletionIds" Core..=) Core.<$> suggestedDeletionIds,+            ("suggestedInsertionIds" Core..=) Core.<$> suggestedInsertionIds,+            ("suggestedTextStyleChanges" Core..=)+              Core.<$> suggestedTextStyleChanges,+            ("textStyle" Core..=) Core.<$> textStyle+          ]+      )++-- | The suggested text style changes to this RichLink, keyed by suggestion ID.+--+-- /See:/ 'newRichLink_SuggestedTextStyleChanges' smart constructor.+newtype RichLink_SuggestedTextStyleChanges = RichLink_SuggestedTextStyleChanges+  { additional :: (Core.HashMap Core.Text SuggestedTextStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RichLink_SuggestedTextStyleChanges' with the minimum fields required to make a request.+newRichLink_SuggestedTextStyleChanges ::+  -- |  See 'additional'.+  Core.HashMap Core.Text SuggestedTextStyle ->+  RichLink_SuggestedTextStyleChanges+newRichLink_SuggestedTextStyleChanges additional =+  RichLink_SuggestedTextStyleChanges {additional = additional}++instance Core.FromJSON RichLink_SuggestedTextStyleChanges where+  parseJSON =+    Core.withObject+      "RichLink_SuggestedTextStyleChanges"+      ( \o ->+          RichLink_SuggestedTextStyleChanges+            Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON RichLink_SuggestedTextStyleChanges where+  toJSON RichLink_SuggestedTextStyleChanges {..} =+    Core.toJSON additional++-- | Properties specific to a RichLink.+--+-- /See:/ 'newRichLinkProperties' smart constructor.+data RichLinkProperties = RichLinkProperties+  { -- | Output only. The <https://developers.google.com/drive/api/v3/mime-types MIME type> of the RichLink, if there\'s one (for example, when it\'s a file in Drive).+    mimeType :: (Core.Maybe Core.Text),+    -- | Output only. The title of the RichLink as displayed in the link. This title matches the title of the linked resource at the time of the insertion or last update of the link. This field is always present.+    title :: (Core.Maybe Core.Text),+    -- | Output only. The URI to the RichLink. This is always present.+    uri :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RichLinkProperties' with the minimum fields required to make a request.+newRichLinkProperties ::+  RichLinkProperties+newRichLinkProperties =+  RichLinkProperties+    { mimeType = Core.Nothing,+      title = Core.Nothing,+      uri = Core.Nothing+    }++instance Core.FromJSON RichLinkProperties where+  parseJSON =+    Core.withObject+      "RichLinkProperties"+      ( \o ->+          RichLinkProperties+            Core.<$> (o Core..:? "mimeType")+            Core.<*> (o Core..:? "title")+            Core.<*> (o Core..:? "uri")+      )++instance Core.ToJSON RichLinkProperties where+  toJSON RichLinkProperties {..} =+    Core.object+      ( Core.catMaybes+          [ ("mimeType" Core..=) Core.<$> mimeType,+            ("title" Core..=) Core.<$> title,+            ("uri" Core..=) Core.<$> uri+          ]+      )++-- | A StructuralElement representing a section break. A section is a range of content that has the same SectionStyle. A section break represents the start of a new section, and the section style applies to the section after the section break. The document body always begins with a section break.+--+-- /See:/ 'newSectionBreak' smart constructor.+data SectionBreak = SectionBreak+  { -- | The style of the section after this section break.+    sectionStyle :: (Core.Maybe SectionStyle),+    -- | The suggested deletion IDs. If empty, then there are no suggested deletions of this content.+    suggestedDeletionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested insertion IDs. A SectionBreak may have multiple insertion IDs if it\'s a nested suggested change. If empty, then this is not a suggested insertion.+    suggestedInsertionIds :: (Core.Maybe [Core.Text])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SectionBreak' with the minimum fields required to make a request.+newSectionBreak ::+  SectionBreak+newSectionBreak =+  SectionBreak+    { sectionStyle = Core.Nothing,+      suggestedDeletionIds = Core.Nothing,+      suggestedInsertionIds = Core.Nothing+    }++instance Core.FromJSON SectionBreak where+  parseJSON =+    Core.withObject+      "SectionBreak"+      ( \o ->+          SectionBreak+            Core.<$> (o Core..:? "sectionStyle")+            Core.<*> (o Core..:? "suggestedDeletionIds")+            Core.<*> (o Core..:? "suggestedInsertionIds")+      )++instance Core.ToJSON SectionBreak where+  toJSON SectionBreak {..} =+    Core.object+      ( Core.catMaybes+          [ ("sectionStyle" Core..=) Core.<$> sectionStyle,+            ("suggestedDeletionIds" Core..=) Core.<$> suggestedDeletionIds,+            ("suggestedInsertionIds" Core..=) Core.<$> suggestedInsertionIds+          ]+      )++-- | Properties that apply to a section\'s column.+--+-- /See:/ 'newSectionColumnProperties' smart constructor.+data SectionColumnProperties = SectionColumnProperties+  { -- | The padding at the end of the column.+    paddingEnd :: (Core.Maybe Dimension),+    -- | Output only. The width of the column.+    width :: (Core.Maybe Dimension)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SectionColumnProperties' with the minimum fields required to make a request.+newSectionColumnProperties ::+  SectionColumnProperties+newSectionColumnProperties =+  SectionColumnProperties+    { paddingEnd = Core.Nothing,+      width = Core.Nothing+    }++instance Core.FromJSON SectionColumnProperties where+  parseJSON =+    Core.withObject+      "SectionColumnProperties"+      ( \o ->+          SectionColumnProperties+            Core.<$> (o Core..:? "paddingEnd")+            Core.<*> (o Core..:? "width")+      )++instance Core.ToJSON SectionColumnProperties where+  toJSON SectionColumnProperties {..} =+    Core.object+      ( Core.catMaybes+          [ ("paddingEnd" Core..=) Core.<$> paddingEnd,+            ("width" Core..=) Core.<$> width+          ]+      )++-- | The styling that applies to a section.+--+-- /See:/ 'newSectionStyle' smart constructor.+data SectionStyle = SectionStyle+  { -- | The section\'s columns properties. If empty, the section contains one column with the default properties in the Docs editor. A section can be updated to have no more than 3 columns. When updating this property, setting a concrete value is required. Unsetting this property will result in a 400 bad request error.+    columnProperties :: (Core.Maybe [SectionColumnProperties]),+    -- | The style of column separators. This style can be set even when there\'s one column in the section. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error.+    columnSeparatorStyle :: (Core.Maybe SectionStyle_ColumnSeparatorStyle),+    -- | The content direction of this section. If unset, the value defaults to LEFT/TO/RIGHT. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error.+    contentDirection :: (Core.Maybe SectionStyle_ContentDirection),+    -- | The ID of the default footer. If unset, the value inherits from the previous SectionBreak\'s SectionStyle. If the value is unset in the first SectionBreak, it inherits from DocumentStyle\'s default/footer/id. This property is read-only.+    defaultFooterId :: (Core.Maybe Core.Text),+    -- | The ID of the default header. If unset, the value inherits from the previous SectionBreak\'s SectionStyle. If the value is unset in the first SectionBreak, it inherits from DocumentStyle\'s default/header/id. This property is read-only.+    defaultHeaderId :: (Core.Maybe Core.Text),+    -- | The ID of the footer used only for even pages. If the value of DocumentStyle\'s use/even/page/header/footer is true, this value is used for the footers on even pages in the section. If it is false, the footers on even pages use the default/footer/id. If unset, the value inherits from the previous SectionBreak\'s SectionStyle. If the value is unset in the first SectionBreak, it inherits from DocumentStyle\'s even/page/footer_id. This property is read-only.+    evenPageFooterId :: (Core.Maybe Core.Text),+    -- | The ID of the header used only for even pages. If the value of DocumentStyle\'s use/even/page/header/footer is true, this value is used for the headers on even pages in the section. If it is false, the headers on even pages use the default/header/id. If unset, the value inherits from the previous SectionBreak\'s SectionStyle. If the value is unset in the first SectionBreak, it inherits from DocumentStyle\'s even/page/header_id. This property is read-only.+    evenPageHeaderId :: (Core.Maybe Core.Text),+    -- | The ID of the footer used only for the first page of the section. If use/first/page/header/footer is true, this value is used for the footer on the first page of the section. If it\'s false, the footer on the first page of the section uses the default/footer/id. If unset, the value inherits from the previous SectionBreak\'s SectionStyle. If the value is unset in the first SectionBreak, it inherits from DocumentStyle\'s first/page/footer_id. This property is read-only.+    firstPageFooterId :: (Core.Maybe Core.Text),+    -- | The ID of the header used only for the first page of the section. If use/first/page/header/footer is true, this value is used for the header on the first page of the section. If it\'s false, the header on the first page of the section uses the default/header/id. If unset, the value inherits from the previous SectionBreak\'s SectionStyle. If the value is unset in the first SectionBreak, it inherits from DocumentStyle\'s first/page/header_id. This property is read-only.+    firstPageHeaderId :: (Core.Maybe Core.Text),+    -- | Optional. Indicates whether to flip the dimensions of DocumentStyle\'s page/size for this section, which allows changing the page orientation between portrait and landscape. If unset, the value inherits from DocumentStyle\'s flip/page_orientation. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error.+    flipPageOrientation :: (Core.Maybe Core.Bool),+    -- | The bottom page margin of the section. If unset, the value defaults to margin_bottom from DocumentStyle. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error.+    marginBottom :: (Core.Maybe Dimension),+    -- | The footer margin of the section. If unset, the value defaults to margin/footer from DocumentStyle. If updated, use/custom/header/footer/margins is set to true on DocumentStyle. The value of use/custom/header/footer_margins on DocumentStyle indicates if a footer margin is being respected for this section When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error.+    marginFooter :: (Core.Maybe Dimension),+    -- | The header margin of the section. If unset, the value defaults to margin/header from DocumentStyle. If updated, use/custom/header/footer/margins is set to true on DocumentStyle. The value of use/custom/header/footer_margins on DocumentStyle indicates if a header margin is being respected for this section. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error.+    marginHeader :: (Core.Maybe Dimension),+    -- | The left page margin of the section. If unset, the value defaults to margin_left from DocumentStyle. Updating the left margin causes columns in this section to resize. Since the margin affects column width, it\'s applied before column properties. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error.+    marginLeft :: (Core.Maybe Dimension),+    -- | The right page margin of the section. If unset, the value defaults to margin_right from DocumentStyle. Updating the right margin causes columns in this section to resize. Since the margin affects column width, it\'s applied before column properties. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error.+    marginRight :: (Core.Maybe Dimension),+    -- | The top page margin of the section. If unset, the value defaults to margin_top from DocumentStyle. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error.+    marginTop :: (Core.Maybe Dimension),+    -- | The page number from which to start counting the number of pages for this section. If unset, page numbering continues from the previous section. If the value is unset in the first SectionBreak, refer to DocumentStyle\'s page/number/start. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error.+    pageNumberStart :: (Core.Maybe Core.Int32),+    -- | Output only. The type of section.+    sectionType :: (Core.Maybe SectionStyle_SectionType),+    -- | Indicates whether to use the first page header \/ footer IDs for the first page of the section. If unset, it inherits from DocumentStyle\'s use/first/page/header/footer for the first section. If the value is unset for subsequent sectors, it should be interpreted as false. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error.+    useFirstPageHeaderFooter :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SectionStyle' with the minimum fields required to make a request.+newSectionStyle ::+  SectionStyle+newSectionStyle =+  SectionStyle+    { columnProperties = Core.Nothing,+      columnSeparatorStyle = Core.Nothing,+      contentDirection = Core.Nothing,+      defaultFooterId = Core.Nothing,+      defaultHeaderId = Core.Nothing,+      evenPageFooterId = Core.Nothing,+      evenPageHeaderId = Core.Nothing,+      firstPageFooterId = Core.Nothing,+      firstPageHeaderId = Core.Nothing,+      flipPageOrientation = Core.Nothing,+      marginBottom = Core.Nothing,+      marginFooter = Core.Nothing,+      marginHeader = Core.Nothing,+      marginLeft = Core.Nothing,+      marginRight = Core.Nothing,+      marginTop = Core.Nothing,+      pageNumberStart = Core.Nothing,+      sectionType = Core.Nothing,+      useFirstPageHeaderFooter = Core.Nothing+    }++instance Core.FromJSON SectionStyle where+  parseJSON =+    Core.withObject+      "SectionStyle"+      ( \o ->+          SectionStyle+            Core.<$> (o Core..:? "columnProperties")+            Core.<*> (o Core..:? "columnSeparatorStyle")+            Core.<*> (o Core..:? "contentDirection")+            Core.<*> (o Core..:? "defaultFooterId")+            Core.<*> (o Core..:? "defaultHeaderId")+            Core.<*> (o Core..:? "evenPageFooterId")+            Core.<*> (o Core..:? "evenPageHeaderId")+            Core.<*> (o Core..:? "firstPageFooterId")+            Core.<*> (o Core..:? "firstPageHeaderId")+            Core.<*> (o Core..:? "flipPageOrientation")+            Core.<*> (o Core..:? "marginBottom")+            Core.<*> (o Core..:? "marginFooter")+            Core.<*> (o Core..:? "marginHeader")+            Core.<*> (o Core..:? "marginLeft")+            Core.<*> (o Core..:? "marginRight")+            Core.<*> (o Core..:? "marginTop")+            Core.<*> (o Core..:? "pageNumberStart")+            Core.<*> (o Core..:? "sectionType")+            Core.<*> (o Core..:? "useFirstPageHeaderFooter")+      )++instance Core.ToJSON SectionStyle where+  toJSON SectionStyle {..} =+    Core.object+      ( Core.catMaybes+          [ ("columnProperties" Core..=) Core.<$> columnProperties,+            ("columnSeparatorStyle" Core..=) Core.<$> columnSeparatorStyle,+            ("contentDirection" Core..=) Core.<$> contentDirection,+            ("defaultFooterId" Core..=) Core.<$> defaultFooterId,+            ("defaultHeaderId" Core..=) Core.<$> defaultHeaderId,+            ("evenPageFooterId" Core..=) Core.<$> evenPageFooterId,+            ("evenPageHeaderId" Core..=) Core.<$> evenPageHeaderId,+            ("firstPageFooterId" Core..=) Core.<$> firstPageFooterId,+            ("firstPageHeaderId" Core..=) Core.<$> firstPageHeaderId,+            ("flipPageOrientation" Core..=) Core.<$> flipPageOrientation,+            ("marginBottom" Core..=) Core.<$> marginBottom,+            ("marginFooter" Core..=) Core.<$> marginFooter,+            ("marginHeader" Core..=) Core.<$> marginHeader,+            ("marginLeft" Core..=) Core.<$> marginLeft,+            ("marginRight" Core..=) Core.<$> marginRight,+            ("marginTop" Core..=) Core.<$> marginTop,+            ("pageNumberStart" Core..=) Core.<$> pageNumberStart,+            ("sectionType" Core..=) Core.<$> sectionType,+            ("useFirstPageHeaderFooter" Core..=)+              Core.<$> useFirstPageHeaderFooter+          ]+      )++-- | The shading of a paragraph.+--+-- /See:/ 'newShading' smart constructor.+newtype Shading = Shading+  { -- | The background color of this paragraph shading.+    backgroundColor :: (Core.Maybe OptionalColor)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Shading' with the minimum fields required to make a request.+newShading ::+  Shading+newShading = Shading {backgroundColor = Core.Nothing}++instance Core.FromJSON Shading where+  parseJSON =+    Core.withObject+      "Shading"+      (\o -> Shading Core.<$> (o Core..:? "backgroundColor"))++instance Core.ToJSON Shading where+  toJSON Shading {..} =+    Core.object+      ( Core.catMaybes+          [("backgroundColor" Core..=) Core.<$> backgroundColor]+      )++-- | A mask that indicates which of the fields on the base Shading have been changed in this suggested change. For any field set to true, there\'s a new suggested value.+--+-- /See:/ 'newShadingSuggestionState' smart constructor.+newtype ShadingSuggestionState = ShadingSuggestionState+  { -- | Indicates if there was a suggested change to the Shading.+    backgroundColorSuggested :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ShadingSuggestionState' with the minimum fields required to make a request.+newShadingSuggestionState ::+  ShadingSuggestionState+newShadingSuggestionState =+  ShadingSuggestionState {backgroundColorSuggested = Core.Nothing}++instance Core.FromJSON ShadingSuggestionState where+  parseJSON =+    Core.withObject+      "ShadingSuggestionState"+      ( \o ->+          ShadingSuggestionState+            Core.<$> (o Core..:? "backgroundColorSuggested")+      )++instance Core.ToJSON ShadingSuggestionState where+  toJSON ShadingSuggestionState {..} =+    Core.object+      ( Core.catMaybes+          [ ("backgroundColorSuggested" Core..=)+              Core.<$> backgroundColorSuggested+          ]+      )++-- | A reference to a linked chart embedded from Google Sheets.+--+-- /See:/ 'newSheetsChartReference' smart constructor.+data SheetsChartReference = SheetsChartReference+  { -- | The ID of the specific chart in the Google Sheets spreadsheet that\'s embedded.+    chartId :: (Core.Maybe Core.Int32),+    -- | The ID of the Google Sheets spreadsheet that contains the source chart.+    spreadsheetId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SheetsChartReference' with the minimum fields required to make a request.+newSheetsChartReference ::+  SheetsChartReference+newSheetsChartReference =+  SheetsChartReference+    { chartId = Core.Nothing,+      spreadsheetId = Core.Nothing+    }++instance Core.FromJSON SheetsChartReference where+  parseJSON =+    Core.withObject+      "SheetsChartReference"+      ( \o ->+          SheetsChartReference+            Core.<$> (o Core..:? "chartId")+            Core.<*> (o Core..:? "spreadsheetId")+      )++instance Core.ToJSON SheetsChartReference where+  toJSON SheetsChartReference {..} =+    Core.object+      ( Core.catMaybes+          [ ("chartId" Core..=) Core.<$> chartId,+            ("spreadsheetId" Core..=) Core.<$> spreadsheetId+          ]+      )++-- | A mask that indicates which of the fields on the base SheetsChartReference have been changed in this suggestion. For any field set to true, there\'s a new suggested value.+--+-- /See:/ 'newSheetsChartReferenceSuggestionState' smart constructor.+data SheetsChartReferenceSuggestionState = SheetsChartReferenceSuggestionState+  { -- | Indicates if there was a suggested change to chart_id.+    chartIdSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to spreadsheet_id.+    spreadsheetIdSuggested :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SheetsChartReferenceSuggestionState' with the minimum fields required to make a request.+newSheetsChartReferenceSuggestionState ::+  SheetsChartReferenceSuggestionState+newSheetsChartReferenceSuggestionState =+  SheetsChartReferenceSuggestionState+    { chartIdSuggested =+        Core.Nothing,+      spreadsheetIdSuggested = Core.Nothing+    }++instance Core.FromJSON SheetsChartReferenceSuggestionState where+  parseJSON =+    Core.withObject+      "SheetsChartReferenceSuggestionState"+      ( \o ->+          SheetsChartReferenceSuggestionState+            Core.<$> (o Core..:? "chartIdSuggested")+            Core.<*> (o Core..:? "spreadsheetIdSuggested")+      )++instance Core.ToJSON SheetsChartReferenceSuggestionState where+  toJSON SheetsChartReferenceSuggestionState {..} =+    Core.object+      ( Core.catMaybes+          [ ("chartIdSuggested" Core..=) Core.<$> chartIdSuggested,+            ("spreadsheetIdSuggested" Core..=)+              Core.<$> spreadsheetIdSuggested+          ]+      )++-- | A width and height.+--+-- /See:/ 'newSize' smart constructor.+data Size = Size+  { -- | The height of the object.+    height :: (Core.Maybe Dimension),+    -- | The width of the object.+    width :: (Core.Maybe Dimension)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Size' with the minimum fields required to make a request.+newSize ::+  Size+newSize = Size {height = Core.Nothing, width = Core.Nothing}++instance Core.FromJSON Size where+  parseJSON =+    Core.withObject+      "Size"+      ( \o ->+          Size Core.<$> (o Core..:? "height") Core.<*> (o Core..:? "width")+      )++instance Core.ToJSON Size where+  toJSON Size {..} =+    Core.object+      ( Core.catMaybes+          [ ("height" Core..=) Core.<$> height,+            ("width" Core..=) Core.<$> width+          ]+      )++-- | A mask that indicates which of the fields on the base Size have been changed in this suggestion. For any field set to true, the Size has a new suggested value.+--+-- /See:/ 'newSizeSuggestionState' smart constructor.+data SizeSuggestionState = SizeSuggestionState+  { -- | Indicates if there was a suggested change to height.+    heightSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to width.+    widthSuggested :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SizeSuggestionState' with the minimum fields required to make a request.+newSizeSuggestionState ::+  SizeSuggestionState+newSizeSuggestionState =+  SizeSuggestionState+    { heightSuggested = Core.Nothing,+      widthSuggested = Core.Nothing+    }++instance Core.FromJSON SizeSuggestionState where+  parseJSON =+    Core.withObject+      "SizeSuggestionState"+      ( \o ->+          SizeSuggestionState+            Core.<$> (o Core..:? "heightSuggested")+            Core.<*> (o Core..:? "widthSuggested")+      )++instance Core.ToJSON SizeSuggestionState where+  toJSON SizeSuggestionState {..} =+    Core.object+      ( Core.catMaybes+          [ ("heightSuggested" Core..=) Core.<$> heightSuggested,+            ("widthSuggested" Core..=) Core.<$> widthSuggested+          ]+      )++-- | A StructuralElement describes content that provides structure to the document.+--+-- /See:/ 'newStructuralElement' smart constructor.+data StructuralElement = StructuralElement+  { -- | The zero-based end index of this structural element, exclusive, in UTF-16 code units.+    endIndex :: (Core.Maybe Core.Int32),+    -- | A paragraph type of structural element.+    paragraph :: (Core.Maybe Paragraph),+    -- | A section break type of structural element.+    sectionBreak :: (Core.Maybe SectionBreak),+    -- | The zero-based start index of this structural element, in UTF-16 code units.+    startIndex :: (Core.Maybe Core.Int32),+    -- | A table type of structural element.+    table :: (Core.Maybe Table),+    -- | A table of contents type of structural element.+    tableOfContents :: (Core.Maybe TableOfContents)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'StructuralElement' with the minimum fields required to make a request.+newStructuralElement ::+  StructuralElement+newStructuralElement =+  StructuralElement+    { endIndex = Core.Nothing,+      paragraph = Core.Nothing,+      sectionBreak = Core.Nothing,+      startIndex = Core.Nothing,+      table = Core.Nothing,+      tableOfContents = Core.Nothing+    }++instance Core.FromJSON StructuralElement where+  parseJSON =+    Core.withObject+      "StructuralElement"+      ( \o ->+          StructuralElement+            Core.<$> (o Core..:? "endIndex")+            Core.<*> (o Core..:? "paragraph")+            Core.<*> (o Core..:? "sectionBreak")+            Core.<*> (o Core..:? "startIndex")+            Core.<*> (o Core..:? "table")+            Core.<*> (o Core..:? "tableOfContents")+      )++instance Core.ToJSON StructuralElement where+  toJSON StructuralElement {..} =+    Core.object+      ( Core.catMaybes+          [ ("endIndex" Core..=) Core.<$> endIndex,+            ("paragraph" Core..=) Core.<$> paragraph,+            ("sectionBreak" Core..=) Core.<$> sectionBreak,+            ("startIndex" Core..=) Core.<$> startIndex,+            ("table" Core..=) Core.<$> table,+            ("tableOfContents" Core..=) Core.<$> tableOfContents+          ]+      )++-- | A criteria that matches a specific string of text in the document.+--+-- /See:/ 'newSubstringMatchCriteria' smart constructor.+data SubstringMatchCriteria = SubstringMatchCriteria+  { -- | Indicates whether the search should respect case: - @True@: the search is case sensitive. - @False@: the search is case insensitive.+    matchCase :: (Core.Maybe Core.Bool),+    -- | The text to search for in the document.+    text :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SubstringMatchCriteria' with the minimum fields required to make a request.+newSubstringMatchCriteria ::+  SubstringMatchCriteria+newSubstringMatchCriteria =+  SubstringMatchCriteria+    { matchCase = Core.Nothing,+      text = Core.Nothing+    }++instance Core.FromJSON SubstringMatchCriteria where+  parseJSON =+    Core.withObject+      "SubstringMatchCriteria"+      ( \o ->+          SubstringMatchCriteria+            Core.<$> (o Core..:? "matchCase")+            Core.<*> (o Core..:? "text")+      )++instance Core.ToJSON SubstringMatchCriteria where+  toJSON SubstringMatchCriteria {..} =+    Core.object+      ( Core.catMaybes+          [ ("matchCase" Core..=) Core.<$> matchCase,+            ("text" Core..=) Core.<$> text+          ]+      )++-- | A suggested change to a Bullet.+--+-- /See:/ 'newSuggestedBullet' smart constructor.+data SuggestedBullet = SuggestedBullet+  { -- | A Bullet that only includes the changes made in this suggestion. This can be used along with the bullet/suggestion/state to see which fields have changed and their new values.+    bullet :: (Core.Maybe Bullet),+    -- | A mask that indicates which of the fields on the base Bullet have been changed in this suggestion.+    bulletSuggestionState :: (Core.Maybe BulletSuggestionState)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SuggestedBullet' with the minimum fields required to make a request.+newSuggestedBullet ::+  SuggestedBullet+newSuggestedBullet =+  SuggestedBullet+    { bullet = Core.Nothing,+      bulletSuggestionState = Core.Nothing+    }++instance Core.FromJSON SuggestedBullet where+  parseJSON =+    Core.withObject+      "SuggestedBullet"+      ( \o ->+          SuggestedBullet+            Core.<$> (o Core..:? "bullet")+            Core.<*> (o Core..:? "bulletSuggestionState")+      )++instance Core.ToJSON SuggestedBullet where+  toJSON SuggestedBullet {..} =+    Core.object+      ( Core.catMaybes+          [ ("bullet" Core..=) Core.<$> bullet,+            ("bulletSuggestionState" Core..=) Core.<$> bulletSuggestionState+          ]+      )++-- | A suggested change to the DocumentStyle.+--+-- /See:/ 'newSuggestedDocumentStyle' smart constructor.+data SuggestedDocumentStyle = SuggestedDocumentStyle+  { -- | A DocumentStyle that only includes the changes made in this suggestion. This can be used along with the document/style/suggestion_state to see which fields have changed and their new values.+    documentStyle :: (Core.Maybe DocumentStyle),+    -- | A mask that indicates which of the fields on the base DocumentStyle have been changed in this suggestion.+    documentStyleSuggestionState :: (Core.Maybe DocumentStyleSuggestionState)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SuggestedDocumentStyle' with the minimum fields required to make a request.+newSuggestedDocumentStyle ::+  SuggestedDocumentStyle+newSuggestedDocumentStyle =+  SuggestedDocumentStyle+    { documentStyle = Core.Nothing,+      documentStyleSuggestionState = Core.Nothing+    }++instance Core.FromJSON SuggestedDocumentStyle where+  parseJSON =+    Core.withObject+      "SuggestedDocumentStyle"+      ( \o ->+          SuggestedDocumentStyle+            Core.<$> (o Core..:? "documentStyle")+            Core.<*> (o Core..:? "documentStyleSuggestionState")+      )++instance Core.ToJSON SuggestedDocumentStyle where+  toJSON SuggestedDocumentStyle {..} =+    Core.object+      ( Core.catMaybes+          [ ("documentStyle" Core..=) Core.<$> documentStyle,+            ("documentStyleSuggestionState" Core..=)+              Core.<$> documentStyleSuggestionState+          ]+      )++-- | A suggested change to InlineObjectProperties.+--+-- /See:/ 'newSuggestedInlineObjectProperties' smart constructor.+data SuggestedInlineObjectProperties = SuggestedInlineObjectProperties+  { -- | An InlineObjectProperties that only includes the changes made in this suggestion. This can be used along with the inline/object/properties/suggestion/state to see which fields have changed and their new values.+    inlineObjectProperties :: (Core.Maybe InlineObjectProperties),+    -- | A mask that indicates which of the fields on the base InlineObjectProperties have been changed in this suggestion.+    inlineObjectPropertiesSuggestionState :: (Core.Maybe InlineObjectPropertiesSuggestionState)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SuggestedInlineObjectProperties' with the minimum fields required to make a request.+newSuggestedInlineObjectProperties ::+  SuggestedInlineObjectProperties+newSuggestedInlineObjectProperties =+  SuggestedInlineObjectProperties+    { inlineObjectProperties =+        Core.Nothing,+      inlineObjectPropertiesSuggestionState = Core.Nothing+    }++instance Core.FromJSON SuggestedInlineObjectProperties where+  parseJSON =+    Core.withObject+      "SuggestedInlineObjectProperties"+      ( \o ->+          SuggestedInlineObjectProperties+            Core.<$> (o Core..:? "inlineObjectProperties")+            Core.<*> (o Core..:? "inlineObjectPropertiesSuggestionState")+      )++instance Core.ToJSON SuggestedInlineObjectProperties where+  toJSON SuggestedInlineObjectProperties {..} =+    Core.object+      ( Core.catMaybes+          [ ("inlineObjectProperties" Core..=)+              Core.<$> inlineObjectProperties,+            ("inlineObjectPropertiesSuggestionState" Core..=)+              Core.<$> inlineObjectPropertiesSuggestionState+          ]+      )++-- | A suggested change to ListProperties.+--+-- /See:/ 'newSuggestedListProperties' smart constructor.+data SuggestedListProperties = SuggestedListProperties+  { -- | A ListProperties that only includes the changes made in this suggestion. This can be used along with the list/properties/suggestion_state to see which fields have changed and their new values.+    listProperties :: (Core.Maybe ListProperties),+    -- | A mask that indicates which of the fields on the base ListProperties have been changed in this suggestion.+    listPropertiesSuggestionState :: (Core.Maybe ListPropertiesSuggestionState)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SuggestedListProperties' with the minimum fields required to make a request.+newSuggestedListProperties ::+  SuggestedListProperties+newSuggestedListProperties =+  SuggestedListProperties+    { listProperties = Core.Nothing,+      listPropertiesSuggestionState = Core.Nothing+    }++instance Core.FromJSON SuggestedListProperties where+  parseJSON =+    Core.withObject+      "SuggestedListProperties"+      ( \o ->+          SuggestedListProperties+            Core.<$> (o Core..:? "listProperties")+            Core.<*> (o Core..:? "listPropertiesSuggestionState")+      )++instance Core.ToJSON SuggestedListProperties where+  toJSON SuggestedListProperties {..} =+    Core.object+      ( Core.catMaybes+          [ ("listProperties" Core..=) Core.<$> listProperties,+            ("listPropertiesSuggestionState" Core..=)+              Core.<$> listPropertiesSuggestionState+          ]+      )++-- | A suggested change to the NamedStyles.+--+-- /See:/ 'newSuggestedNamedStyles' smart constructor.+data SuggestedNamedStyles = SuggestedNamedStyles+  { -- | A NamedStyles that only includes the changes made in this suggestion. This can be used along with the named/styles/suggestion_state to see which fields have changed and their new values.+    namedStyles :: (Core.Maybe NamedStyles),+    -- | A mask that indicates which of the fields on the base NamedStyles have been changed in this suggestion.+    namedStylesSuggestionState :: (Core.Maybe NamedStylesSuggestionState)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SuggestedNamedStyles' with the minimum fields required to make a request.+newSuggestedNamedStyles ::+  SuggestedNamedStyles+newSuggestedNamedStyles =+  SuggestedNamedStyles+    { namedStyles = Core.Nothing,+      namedStylesSuggestionState = Core.Nothing+    }++instance Core.FromJSON SuggestedNamedStyles where+  parseJSON =+    Core.withObject+      "SuggestedNamedStyles"+      ( \o ->+          SuggestedNamedStyles+            Core.<$> (o Core..:? "namedStyles")+            Core.<*> (o Core..:? "namedStylesSuggestionState")+      )++instance Core.ToJSON SuggestedNamedStyles where+  toJSON SuggestedNamedStyles {..} =+    Core.object+      ( Core.catMaybes+          [ ("namedStyles" Core..=) Core.<$> namedStyles,+            ("namedStylesSuggestionState" Core..=)+              Core.<$> namedStylesSuggestionState+          ]+      )++-- | A suggested change to a ParagraphStyle.+--+-- /See:/ 'newSuggestedParagraphStyle' smart constructor.+data SuggestedParagraphStyle = SuggestedParagraphStyle+  { -- | A ParagraphStyle that only includes the changes made in this suggestion. This can be used along with the paragraph/style/suggestion_state to see which fields have changed and their new values.+    paragraphStyle :: (Core.Maybe ParagraphStyle),+    -- | A mask that indicates which of the fields on the base ParagraphStyle have been changed in this suggestion.+    paragraphStyleSuggestionState :: (Core.Maybe ParagraphStyleSuggestionState)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SuggestedParagraphStyle' with the minimum fields required to make a request.+newSuggestedParagraphStyle ::+  SuggestedParagraphStyle+newSuggestedParagraphStyle =+  SuggestedParagraphStyle+    { paragraphStyle = Core.Nothing,+      paragraphStyleSuggestionState = Core.Nothing+    }++instance Core.FromJSON SuggestedParagraphStyle where+  parseJSON =+    Core.withObject+      "SuggestedParagraphStyle"+      ( \o ->+          SuggestedParagraphStyle+            Core.<$> (o Core..:? "paragraphStyle")+            Core.<*> (o Core..:? "paragraphStyleSuggestionState")+      )++instance Core.ToJSON SuggestedParagraphStyle where+  toJSON SuggestedParagraphStyle {..} =+    Core.object+      ( Core.catMaybes+          [ ("paragraphStyle" Core..=) Core.<$> paragraphStyle,+            ("paragraphStyleSuggestionState" Core..=)+              Core.<$> paragraphStyleSuggestionState+          ]+      )++-- | A suggested change to PositionedObjectProperties.+--+-- /See:/ 'newSuggestedPositionedObjectProperties' smart constructor.+data SuggestedPositionedObjectProperties = SuggestedPositionedObjectProperties+  { -- | A PositionedObjectProperties that only includes the changes made in this suggestion. This can be used along with the positioned/object/properties/suggestion/state to see which fields have changed and their new values.+    positionedObjectProperties :: (Core.Maybe PositionedObjectProperties),+    -- | A mask that indicates which of the fields on the base PositionedObjectProperties have been changed in this suggestion.+    positionedObjectPropertiesSuggestionState :: (Core.Maybe PositionedObjectPropertiesSuggestionState)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SuggestedPositionedObjectProperties' with the minimum fields required to make a request.+newSuggestedPositionedObjectProperties ::+  SuggestedPositionedObjectProperties+newSuggestedPositionedObjectProperties =+  SuggestedPositionedObjectProperties+    { positionedObjectProperties =+        Core.Nothing,+      positionedObjectPropertiesSuggestionState = Core.Nothing+    }++instance Core.FromJSON SuggestedPositionedObjectProperties where+  parseJSON =+    Core.withObject+      "SuggestedPositionedObjectProperties"+      ( \o ->+          SuggestedPositionedObjectProperties+            Core.<$> (o Core..:? "positionedObjectProperties")+            Core.<*> (o Core..:? "positionedObjectPropertiesSuggestionState")+      )++instance Core.ToJSON SuggestedPositionedObjectProperties where+  toJSON SuggestedPositionedObjectProperties {..} =+    Core.object+      ( Core.catMaybes+          [ ("positionedObjectProperties" Core..=)+              Core.<$> positionedObjectProperties,+            ("positionedObjectPropertiesSuggestionState" Core..=)+              Core.<$> positionedObjectPropertiesSuggestionState+          ]+      )++-- | A suggested change to a TableCellStyle.+--+-- /See:/ 'newSuggestedTableCellStyle' smart constructor.+data SuggestedTableCellStyle = SuggestedTableCellStyle+  { -- | A TableCellStyle that only includes the changes made in this suggestion. This can be used along with the table/cell/style/suggestion/state to see which fields have changed and their new values.+    tableCellStyle :: (Core.Maybe TableCellStyle),+    -- | A mask that indicates which of the fields on the base TableCellStyle have been changed in this suggestion.+    tableCellStyleSuggestionState :: (Core.Maybe TableCellStyleSuggestionState)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SuggestedTableCellStyle' with the minimum fields required to make a request.+newSuggestedTableCellStyle ::+  SuggestedTableCellStyle+newSuggestedTableCellStyle =+  SuggestedTableCellStyle+    { tableCellStyle = Core.Nothing,+      tableCellStyleSuggestionState = Core.Nothing+    }++instance Core.FromJSON SuggestedTableCellStyle where+  parseJSON =+    Core.withObject+      "SuggestedTableCellStyle"+      ( \o ->+          SuggestedTableCellStyle+            Core.<$> (o Core..:? "tableCellStyle")+            Core.<*> (o Core..:? "tableCellStyleSuggestionState")+      )++instance Core.ToJSON SuggestedTableCellStyle where+  toJSON SuggestedTableCellStyle {..} =+    Core.object+      ( Core.catMaybes+          [ ("tableCellStyle" Core..=) Core.<$> tableCellStyle,+            ("tableCellStyleSuggestionState" Core..=)+              Core.<$> tableCellStyleSuggestionState+          ]+      )++-- | A suggested change to a TableRowStyle.+--+-- /See:/ 'newSuggestedTableRowStyle' smart constructor.+data SuggestedTableRowStyle = SuggestedTableRowStyle+  { -- | A TableRowStyle that only includes the changes made in this suggestion. This can be used along with the table/row/style/suggestion/state to see which fields have changed and their new values.+    tableRowStyle :: (Core.Maybe TableRowStyle),+    -- | A mask that indicates which of the fields on the base TableRowStyle have been changed in this suggestion.+    tableRowStyleSuggestionState :: (Core.Maybe TableRowStyleSuggestionState)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SuggestedTableRowStyle' with the minimum fields required to make a request.+newSuggestedTableRowStyle ::+  SuggestedTableRowStyle+newSuggestedTableRowStyle =+  SuggestedTableRowStyle+    { tableRowStyle = Core.Nothing,+      tableRowStyleSuggestionState = Core.Nothing+    }++instance Core.FromJSON SuggestedTableRowStyle where+  parseJSON =+    Core.withObject+      "SuggestedTableRowStyle"+      ( \o ->+          SuggestedTableRowStyle+            Core.<$> (o Core..:? "tableRowStyle")+            Core.<*> (o Core..:? "tableRowStyleSuggestionState")+      )++instance Core.ToJSON SuggestedTableRowStyle where+  toJSON SuggestedTableRowStyle {..} =+    Core.object+      ( Core.catMaybes+          [ ("tableRowStyle" Core..=) Core.<$> tableRowStyle,+            ("tableRowStyleSuggestionState" Core..=)+              Core.<$> tableRowStyleSuggestionState+          ]+      )++-- | A suggested change to a TextStyle.+--+-- /See:/ 'newSuggestedTextStyle' smart constructor.+data SuggestedTextStyle = SuggestedTextStyle+  { -- | A TextStyle that only includes the changes made in this suggestion. This can be used along with the text/style/suggestion_state to see which fields have changed and their new values.+    textStyle :: (Core.Maybe TextStyle),+    -- | A mask that indicates which of the fields on the base TextStyle have been changed in this suggestion.+    textStyleSuggestionState :: (Core.Maybe TextStyleSuggestionState)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SuggestedTextStyle' with the minimum fields required to make a request.+newSuggestedTextStyle ::+  SuggestedTextStyle+newSuggestedTextStyle =+  SuggestedTextStyle+    { textStyle = Core.Nothing,+      textStyleSuggestionState = Core.Nothing+    }++instance Core.FromJSON SuggestedTextStyle where+  parseJSON =+    Core.withObject+      "SuggestedTextStyle"+      ( \o ->+          SuggestedTextStyle+            Core.<$> (o Core..:? "textStyle")+            Core.<*> (o Core..:? "textStyleSuggestionState")+      )++instance Core.ToJSON SuggestedTextStyle where+  toJSON SuggestedTextStyle {..} =+    Core.object+      ( Core.catMaybes+          [ ("textStyle" Core..=) Core.<$> textStyle,+            ("textStyleSuggestionState" Core..=)+              Core.<$> textStyleSuggestionState+          ]+      )++-- | A tab in a document.+--+-- /See:/ 'newTab' smart constructor.+data Tab = Tab+  { -- | The child tabs nested within this tab.+    childTabs :: (Core.Maybe [Tab]),+    -- | A tab with document contents, like text and images.+    documentTab :: (Core.Maybe DocumentTab),+    -- | The properties of the tab, like ID and title.+    tabProperties :: (Core.Maybe TabProperties)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Tab' with the minimum fields required to make a request.+newTab ::+  Tab+newTab =+  Tab+    { childTabs = Core.Nothing,+      documentTab = Core.Nothing,+      tabProperties = Core.Nothing+    }++instance Core.FromJSON Tab where+  parseJSON =+    Core.withObject+      "Tab"+      ( \o ->+          Tab+            Core.<$> (o Core..:? "childTabs")+            Core.<*> (o Core..:? "documentTab")+            Core.<*> (o Core..:? "tabProperties")+      )++instance Core.ToJSON Tab where+  toJSON Tab {..} =+    Core.object+      ( Core.catMaybes+          [ ("childTabs" Core..=) Core.<$> childTabs,+            ("documentTab" Core..=) Core.<$> documentTab,+            ("tabProperties" Core..=) Core.<$> tabProperties+          ]+      )++-- | Properties of a tab.+--+-- /See:/ 'newTabProperties' smart constructor.+data TabProperties = TabProperties+  { -- | The zero-based index of the tab within the parent.+    index :: (Core.Maybe Core.Int32),+    -- | Output only. The depth of the tab within the document. Root-level tabs start at 0.+    nestingLevel :: (Core.Maybe Core.Int32),+    -- | Optional. The ID of the parent tab. Empty when the current tab is a root-level tab, which means it doesn\'t have any parents.+    parentTabId :: (Core.Maybe Core.Text),+    -- | Output only. The ID of the tab. This field can\'t be changed.+    tabId :: (Core.Maybe Core.Text),+    -- | The user-visible name of the tab.+    title :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TabProperties' with the minimum fields required to make a request.+newTabProperties ::+  TabProperties+newTabProperties =+  TabProperties+    { index = Core.Nothing,+      nestingLevel = Core.Nothing,+      parentTabId = Core.Nothing,+      tabId = Core.Nothing,+      title = Core.Nothing+    }++instance Core.FromJSON TabProperties where+  parseJSON =+    Core.withObject+      "TabProperties"+      ( \o ->+          TabProperties+            Core.<$> (o Core..:? "index")+            Core.<*> (o Core..:? "nestingLevel")+            Core.<*> (o Core..:? "parentTabId")+            Core.<*> (o Core..:? "tabId")+            Core.<*> (o Core..:? "title")+      )++instance Core.ToJSON TabProperties where+  toJSON TabProperties {..} =+    Core.object+      ( Core.catMaybes+          [ ("index" Core..=) Core.<$> index,+            ("nestingLevel" Core..=) Core.<$> nestingLevel,+            ("parentTabId" Core..=) Core.<$> parentTabId,+            ("tabId" Core..=) Core.<$> tabId,+            ("title" Core..=) Core.<$> title+          ]+      )++-- | A tab stop within a paragraph.+--+-- /See:/ 'newTabStop' smart constructor.+data TabStop = TabStop+  { -- | The alignment of this tab stop. If unset, the value defaults to START.+    alignment :: (Core.Maybe TabStop_Alignment),+    -- | The offset between this tab stop and the start margin.+    offset :: (Core.Maybe Dimension)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TabStop' with the minimum fields required to make a request.+newTabStop ::+  TabStop+newTabStop =+  TabStop {alignment = Core.Nothing, offset = Core.Nothing}++instance Core.FromJSON TabStop where+  parseJSON =+    Core.withObject+      "TabStop"+      ( \o ->+          TabStop+            Core.<$> (o Core..:? "alignment")+            Core.<*> (o Core..:? "offset")+      )++instance Core.ToJSON TabStop where+  toJSON TabStop {..} =+    Core.object+      ( Core.catMaybes+          [ ("alignment" Core..=) Core.<$> alignment,+            ("offset" Core..=) Core.<$> offset+          ]+      )++-- | A StructuralElement representing a table.+--+-- /See:/ 'newTable' smart constructor.+data Table = Table+  { -- | Number of columns in the table. It\'s possible for a table to be non-rectangular, so some rows may have a different number of cells.+    columns :: (Core.Maybe Core.Int32),+    -- | Number of rows in the table.+    rows :: (Core.Maybe Core.Int32),+    -- | The suggested deletion IDs. If empty, then there are no suggested deletions of this content.+    suggestedDeletionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested insertion IDs. A Table may have multiple insertion IDs if it\'s a nested suggested change. If empty, then this is not a suggested insertion.+    suggestedInsertionIds :: (Core.Maybe [Core.Text]),+    -- | The contents and style of each row.+    tableRows :: (Core.Maybe [TableRow]),+    -- | The style of the table.+    tableStyle :: (Core.Maybe TableStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Table' with the minimum fields required to make a request.+newTable ::+  Table+newTable =+  Table+    { columns = Core.Nothing,+      rows = Core.Nothing,+      suggestedDeletionIds = Core.Nothing,+      suggestedInsertionIds = Core.Nothing,+      tableRows = Core.Nothing,+      tableStyle = Core.Nothing+    }++instance Core.FromJSON Table where+  parseJSON =+    Core.withObject+      "Table"+      ( \o ->+          Table+            Core.<$> (o Core..:? "columns")+            Core.<*> (o Core..:? "rows")+            Core.<*> (o Core..:? "suggestedDeletionIds")+            Core.<*> (o Core..:? "suggestedInsertionIds")+            Core.<*> (o Core..:? "tableRows")+            Core.<*> (o Core..:? "tableStyle")+      )++instance Core.ToJSON Table where+  toJSON Table {..} =+    Core.object+      ( Core.catMaybes+          [ ("columns" Core..=) Core.<$> columns,+            ("rows" Core..=) Core.<$> rows,+            ("suggestedDeletionIds" Core..=) Core.<$> suggestedDeletionIds,+            ("suggestedInsertionIds" Core..=) Core.<$> suggestedInsertionIds,+            ("tableRows" Core..=) Core.<$> tableRows,+            ("tableStyle" Core..=) Core.<$> tableStyle+          ]+      )++-- | The contents and style of a cell in a Table.+--+-- /See:/ 'newTableCell' smart constructor.+data TableCell = TableCell+  { -- | The content of the cell.+    content :: (Core.Maybe [StructuralElement]),+    -- | The zero-based end index of this cell, exclusive, in UTF-16 code units.+    endIndex :: (Core.Maybe Core.Int32),+    -- | The zero-based start index of this cell, in UTF-16 code units.+    startIndex :: (Core.Maybe Core.Int32),+    -- | The suggested deletion IDs. If empty, then there are no suggested deletions of this content.+    suggestedDeletionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested insertion IDs. A TableCell may have multiple insertion IDs if it\'s a nested suggested change. If empty, then this is not a suggested insertion.+    suggestedInsertionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested changes to the table cell style, keyed by suggestion ID.+    suggestedTableCellStyleChanges :: (Core.Maybe TableCell_SuggestedTableCellStyleChanges),+    -- | The style of the cell.+    tableCellStyle :: (Core.Maybe TableCellStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TableCell' with the minimum fields required to make a request.+newTableCell ::+  TableCell+newTableCell =+  TableCell+    { content = Core.Nothing,+      endIndex = Core.Nothing,+      startIndex = Core.Nothing,+      suggestedDeletionIds = Core.Nothing,+      suggestedInsertionIds = Core.Nothing,+      suggestedTableCellStyleChanges = Core.Nothing,+      tableCellStyle = Core.Nothing+    }++instance Core.FromJSON TableCell where+  parseJSON =+    Core.withObject+      "TableCell"+      ( \o ->+          TableCell+            Core.<$> (o Core..:? "content")+            Core.<*> (o Core..:? "endIndex")+            Core.<*> (o Core..:? "startIndex")+            Core.<*> (o Core..:? "suggestedDeletionIds")+            Core.<*> (o Core..:? "suggestedInsertionIds")+            Core.<*> (o Core..:? "suggestedTableCellStyleChanges")+            Core.<*> (o Core..:? "tableCellStyle")+      )++instance Core.ToJSON TableCell where+  toJSON TableCell {..} =+    Core.object+      ( Core.catMaybes+          [ ("content" Core..=) Core.<$> content,+            ("endIndex" Core..=) Core.<$> endIndex,+            ("startIndex" Core..=) Core.<$> startIndex,+            ("suggestedDeletionIds" Core..=) Core.<$> suggestedDeletionIds,+            ("suggestedInsertionIds" Core..=) Core.<$> suggestedInsertionIds,+            ("suggestedTableCellStyleChanges" Core..=)+              Core.<$> suggestedTableCellStyleChanges,+            ("tableCellStyle" Core..=) Core.<$> tableCellStyle+          ]+      )++-- | The suggested changes to the table cell style, keyed by suggestion ID.+--+-- /See:/ 'newTableCell_SuggestedTableCellStyleChanges' smart constructor.+newtype TableCell_SuggestedTableCellStyleChanges = TableCell_SuggestedTableCellStyleChanges+  { additional :: (Core.HashMap Core.Text SuggestedTableCellStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TableCell_SuggestedTableCellStyleChanges' with the minimum fields required to make a request.+newTableCell_SuggestedTableCellStyleChanges ::+  -- |  See 'additional'.+  Core.HashMap Core.Text SuggestedTableCellStyle ->+  TableCell_SuggestedTableCellStyleChanges+newTableCell_SuggestedTableCellStyleChanges additional =+  TableCell_SuggestedTableCellStyleChanges {additional = additional}++instance Core.FromJSON TableCell_SuggestedTableCellStyleChanges where+  parseJSON =+    Core.withObject+      "TableCell_SuggestedTableCellStyleChanges"+      ( \o ->+          TableCell_SuggestedTableCellStyleChanges+            Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON TableCell_SuggestedTableCellStyleChanges where+  toJSON TableCell_SuggestedTableCellStyleChanges {..} =+    Core.toJSON additional++-- | A border around a table cell. Table cell borders cannot be transparent. To hide a table cell border, make its width 0.+--+-- /See:/ 'newTableCellBorder' smart constructor.+data TableCellBorder = TableCellBorder+  { -- | The color of the border. This color cannot be transparent.+    color :: (Core.Maybe OptionalColor),+    -- | The dash style of the border.+    dashStyle :: (Core.Maybe TableCellBorder_DashStyle),+    -- | The width of the border.+    width :: (Core.Maybe Dimension)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TableCellBorder' with the minimum fields required to make a request.+newTableCellBorder ::+  TableCellBorder+newTableCellBorder =+  TableCellBorder+    { color = Core.Nothing,+      dashStyle = Core.Nothing,+      width = Core.Nothing+    }++instance Core.FromJSON TableCellBorder where+  parseJSON =+    Core.withObject+      "TableCellBorder"+      ( \o ->+          TableCellBorder+            Core.<$> (o Core..:? "color")+            Core.<*> (o Core..:? "dashStyle")+            Core.<*> (o Core..:? "width")+      )++instance Core.ToJSON TableCellBorder where+  toJSON TableCellBorder {..} =+    Core.object+      ( Core.catMaybes+          [ ("color" Core..=) Core.<$> color,+            ("dashStyle" Core..=) Core.<$> dashStyle,+            ("width" Core..=) Core.<$> width+          ]+      )++-- | Location of a single cell within a table.+--+-- /See:/ 'newTableCellLocation' smart constructor.+data TableCellLocation = TableCellLocation+  { -- | The zero-based column index. For example, the second column in the table has a column index of 1.+    columnIndex :: (Core.Maybe Core.Int32),+    -- | The zero-based row index. For example, the second row in the table has a row index of 1.+    rowIndex :: (Core.Maybe Core.Int32),+    -- | The location where the table starts in the document.+    tableStartLocation :: (Core.Maybe Location)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TableCellLocation' with the minimum fields required to make a request.+newTableCellLocation ::+  TableCellLocation+newTableCellLocation =+  TableCellLocation+    { columnIndex = Core.Nothing,+      rowIndex = Core.Nothing,+      tableStartLocation = Core.Nothing+    }++instance Core.FromJSON TableCellLocation where+  parseJSON =+    Core.withObject+      "TableCellLocation"+      ( \o ->+          TableCellLocation+            Core.<$> (o Core..:? "columnIndex")+            Core.<*> (o Core..:? "rowIndex")+            Core.<*> (o Core..:? "tableStartLocation")+      )++instance Core.ToJSON TableCellLocation where+  toJSON TableCellLocation {..} =+    Core.object+      ( Core.catMaybes+          [ ("columnIndex" Core..=) Core.<$> columnIndex,+            ("rowIndex" Core..=) Core.<$> rowIndex,+            ("tableStartLocation" Core..=) Core.<$> tableStartLocation+          ]+      )++-- | The style of a TableCell. Inherited table cell styles are represented as unset fields in this message. A table cell style can inherit from the table\'s style.+--+-- /See:/ 'newTableCellStyle' smart constructor.+data TableCellStyle = TableCellStyle+  { -- | The background color of the cell.+    backgroundColor :: (Core.Maybe OptionalColor),+    -- | The bottom border of the cell.+    borderBottom :: (Core.Maybe TableCellBorder),+    -- | The left border of the cell.+    borderLeft :: (Core.Maybe TableCellBorder),+    -- | The right border of the cell.+    borderRight :: (Core.Maybe TableCellBorder),+    -- | The top border of the cell.+    borderTop :: (Core.Maybe TableCellBorder),+    -- | The column span of the cell. This property is read-only.+    columnSpan :: (Core.Maybe Core.Int32),+    -- | The alignment of the content in the table cell. The default alignment matches the alignment for newly created table cells in the Docs editor.+    contentAlignment :: (Core.Maybe TableCellStyle_ContentAlignment),+    -- | The bottom padding of the cell.+    paddingBottom :: (Core.Maybe Dimension),+    -- | The left padding of the cell.+    paddingLeft :: (Core.Maybe Dimension),+    -- | The right padding of the cell.+    paddingRight :: (Core.Maybe Dimension),+    -- | The top padding of the cell.+    paddingTop :: (Core.Maybe Dimension),+    -- | The row span of the cell. This property is read-only.+    rowSpan :: (Core.Maybe Core.Int32)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TableCellStyle' with the minimum fields required to make a request.+newTableCellStyle ::+  TableCellStyle+newTableCellStyle =+  TableCellStyle+    { backgroundColor = Core.Nothing,+      borderBottom = Core.Nothing,+      borderLeft = Core.Nothing,+      borderRight = Core.Nothing,+      borderTop = Core.Nothing,+      columnSpan = Core.Nothing,+      contentAlignment = Core.Nothing,+      paddingBottom = Core.Nothing,+      paddingLeft = Core.Nothing,+      paddingRight = Core.Nothing,+      paddingTop = Core.Nothing,+      rowSpan = Core.Nothing+    }++instance Core.FromJSON TableCellStyle where+  parseJSON =+    Core.withObject+      "TableCellStyle"+      ( \o ->+          TableCellStyle+            Core.<$> (o Core..:? "backgroundColor")+            Core.<*> (o Core..:? "borderBottom")+            Core.<*> (o Core..:? "borderLeft")+            Core.<*> (o Core..:? "borderRight")+            Core.<*> (o Core..:? "borderTop")+            Core.<*> (o Core..:? "columnSpan")+            Core.<*> (o Core..:? "contentAlignment")+            Core.<*> (o Core..:? "paddingBottom")+            Core.<*> (o Core..:? "paddingLeft")+            Core.<*> (o Core..:? "paddingRight")+            Core.<*> (o Core..:? "paddingTop")+            Core.<*> (o Core..:? "rowSpan")+      )++instance Core.ToJSON TableCellStyle where+  toJSON TableCellStyle {..} =+    Core.object+      ( Core.catMaybes+          [ ("backgroundColor" Core..=) Core.<$> backgroundColor,+            ("borderBottom" Core..=) Core.<$> borderBottom,+            ("borderLeft" Core..=) Core.<$> borderLeft,+            ("borderRight" Core..=) Core.<$> borderRight,+            ("borderTop" Core..=) Core.<$> borderTop,+            ("columnSpan" Core..=) Core.<$> columnSpan,+            ("contentAlignment" Core..=) Core.<$> contentAlignment,+            ("paddingBottom" Core..=) Core.<$> paddingBottom,+            ("paddingLeft" Core..=) Core.<$> paddingLeft,+            ("paddingRight" Core..=) Core.<$> paddingRight,+            ("paddingTop" Core..=) Core.<$> paddingTop,+            ("rowSpan" Core..=) Core.<$> rowSpan+          ]+      )++-- | A mask that indicates which of the fields on the base TableCellStyle have been changed in this suggestion. For any field set to true, there\'s a new suggested value.+--+-- /See:/ 'newTableCellStyleSuggestionState' smart constructor.+data TableCellStyleSuggestionState = TableCellStyleSuggestionState+  { -- | Indicates if there was a suggested change to background_color.+    backgroundColorSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to border_bottom.+    borderBottomSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to border_left.+    borderLeftSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to border_right.+    borderRightSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to border_top.+    borderTopSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to column_span.+    columnSpanSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to content_alignment.+    contentAlignmentSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to padding_bottom.+    paddingBottomSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to padding_left.+    paddingLeftSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to padding_right.+    paddingRightSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to padding_top.+    paddingTopSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to row_span.+    rowSpanSuggested :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TableCellStyleSuggestionState' with the minimum fields required to make a request.+newTableCellStyleSuggestionState ::+  TableCellStyleSuggestionState+newTableCellStyleSuggestionState =+  TableCellStyleSuggestionState+    { backgroundColorSuggested =+        Core.Nothing,+      borderBottomSuggested = Core.Nothing,+      borderLeftSuggested = Core.Nothing,+      borderRightSuggested = Core.Nothing,+      borderTopSuggested = Core.Nothing,+      columnSpanSuggested = Core.Nothing,+      contentAlignmentSuggested = Core.Nothing,+      paddingBottomSuggested = Core.Nothing,+      paddingLeftSuggested = Core.Nothing,+      paddingRightSuggested = Core.Nothing,+      paddingTopSuggested = Core.Nothing,+      rowSpanSuggested = Core.Nothing+    }++instance Core.FromJSON TableCellStyleSuggestionState where+  parseJSON =+    Core.withObject+      "TableCellStyleSuggestionState"+      ( \o ->+          TableCellStyleSuggestionState+            Core.<$> (o Core..:? "backgroundColorSuggested")+            Core.<*> (o Core..:? "borderBottomSuggested")+            Core.<*> (o Core..:? "borderLeftSuggested")+            Core.<*> (o Core..:? "borderRightSuggested")+            Core.<*> (o Core..:? "borderTopSuggested")+            Core.<*> (o Core..:? "columnSpanSuggested")+            Core.<*> (o Core..:? "contentAlignmentSuggested")+            Core.<*> (o Core..:? "paddingBottomSuggested")+            Core.<*> (o Core..:? "paddingLeftSuggested")+            Core.<*> (o Core..:? "paddingRightSuggested")+            Core.<*> (o Core..:? "paddingTopSuggested")+            Core.<*> (o Core..:? "rowSpanSuggested")+      )++instance Core.ToJSON TableCellStyleSuggestionState where+  toJSON TableCellStyleSuggestionState {..} =+    Core.object+      ( Core.catMaybes+          [ ("backgroundColorSuggested" Core..=)+              Core.<$> backgroundColorSuggested,+            ("borderBottomSuggested" Core..=) Core.<$> borderBottomSuggested,+            ("borderLeftSuggested" Core..=) Core.<$> borderLeftSuggested,+            ("borderRightSuggested" Core..=) Core.<$> borderRightSuggested,+            ("borderTopSuggested" Core..=) Core.<$> borderTopSuggested,+            ("columnSpanSuggested" Core..=) Core.<$> columnSpanSuggested,+            ("contentAlignmentSuggested" Core..=)+              Core.<$> contentAlignmentSuggested,+            ("paddingBottomSuggested" Core..=) Core.<$> paddingBottomSuggested,+            ("paddingLeftSuggested" Core..=) Core.<$> paddingLeftSuggested,+            ("paddingRightSuggested" Core..=) Core.<$> paddingRightSuggested,+            ("paddingTopSuggested" Core..=) Core.<$> paddingTopSuggested,+            ("rowSpanSuggested" Core..=) Core.<$> rowSpanSuggested+          ]+      )++-- | The properties of a column in a table.+--+-- /See:/ 'newTableColumnProperties' smart constructor.+data TableColumnProperties = TableColumnProperties+  { -- | The width of the column. Set when the column\'s @width_type@ is FIXED_WIDTH.+    width :: (Core.Maybe Dimension),+    -- | The width type of the column.+    widthType :: (Core.Maybe TableColumnProperties_WidthType)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TableColumnProperties' with the minimum fields required to make a request.+newTableColumnProperties ::+  TableColumnProperties+newTableColumnProperties =+  TableColumnProperties+    { width = Core.Nothing,+      widthType = Core.Nothing+    }++instance Core.FromJSON TableColumnProperties where+  parseJSON =+    Core.withObject+      "TableColumnProperties"+      ( \o ->+          TableColumnProperties+            Core.<$> (o Core..:? "width")+            Core.<*> (o Core..:? "widthType")+      )++instance Core.ToJSON TableColumnProperties where+  toJSON TableColumnProperties {..} =+    Core.object+      ( Core.catMaybes+          [ ("width" Core..=) Core.<$> width,+            ("widthType" Core..=) Core.<$> widthType+          ]+      )++-- | A StructuralElement representing a table of contents.+--+-- /See:/ 'newTableOfContents' smart constructor.+data TableOfContents = TableOfContents+  { -- | The content of the table of contents.+    content :: (Core.Maybe [StructuralElement]),+    -- | The suggested deletion IDs. If empty, then there are no suggested deletions of this content.+    suggestedDeletionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested insertion IDs. A TableOfContents may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.+    suggestedInsertionIds :: (Core.Maybe [Core.Text])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TableOfContents' with the minimum fields required to make a request.+newTableOfContents ::+  TableOfContents+newTableOfContents =+  TableOfContents+    { content = Core.Nothing,+      suggestedDeletionIds = Core.Nothing,+      suggestedInsertionIds = Core.Nothing+    }++instance Core.FromJSON TableOfContents where+  parseJSON =+    Core.withObject+      "TableOfContents"+      ( \o ->+          TableOfContents+            Core.<$> (o Core..:? "content")+            Core.<*> (o Core..:? "suggestedDeletionIds")+            Core.<*> (o Core..:? "suggestedInsertionIds")+      )++instance Core.ToJSON TableOfContents where+  toJSON TableOfContents {..} =+    Core.object+      ( Core.catMaybes+          [ ("content" Core..=) Core.<$> content,+            ("suggestedDeletionIds" Core..=) Core.<$> suggestedDeletionIds,+            ("suggestedInsertionIds" Core..=) Core.<$> suggestedInsertionIds+          ]+      )++-- | A table range represents a reference to a subset of a table. 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: [ ] A table range with table cell location = (table/start/location, row = 0, column = 0), row span = 3 and column span = 2 specifies the following cells: x x [ x x x ]+--+-- /See:/ 'newTableRange' smart constructor.+data TableRange = TableRange+  { -- | The column span of the table range.+    columnSpan :: (Core.Maybe Core.Int32),+    -- | The row span of the table range.+    rowSpan :: (Core.Maybe Core.Int32),+    -- | The cell location where the table range starts.+    tableCellLocation :: (Core.Maybe TableCellLocation)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TableRange' with the minimum fields required to make a request.+newTableRange ::+  TableRange+newTableRange =+  TableRange+    { columnSpan = Core.Nothing,+      rowSpan = Core.Nothing,+      tableCellLocation = Core.Nothing+    }++instance Core.FromJSON TableRange where+  parseJSON =+    Core.withObject+      "TableRange"+      ( \o ->+          TableRange+            Core.<$> (o Core..:? "columnSpan")+            Core.<*> (o Core..:? "rowSpan")+            Core.<*> (o Core..:? "tableCellLocation")+      )++instance Core.ToJSON TableRange where+  toJSON TableRange {..} =+    Core.object+      ( Core.catMaybes+          [ ("columnSpan" Core..=) Core.<$> columnSpan,+            ("rowSpan" Core..=) Core.<$> rowSpan,+            ("tableCellLocation" Core..=) Core.<$> tableCellLocation+          ]+      )++-- | The contents and style of a row in a Table.+--+-- /See:/ 'newTableRow' smart constructor.+data TableRow = TableRow+  { -- | The zero-based end index of this row, exclusive, in UTF-16 code units.+    endIndex :: (Core.Maybe Core.Int32),+    -- | The zero-based start index of this row, in UTF-16 code units.+    startIndex :: (Core.Maybe Core.Int32),+    -- | The suggested deletion IDs. If empty, then there are no suggested deletions of this content.+    suggestedDeletionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested insertion IDs. A TableRow may have multiple insertion IDs if it\'s a nested suggested change. If empty, then this is not a suggested insertion.+    suggestedInsertionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested style changes to this row, keyed by suggestion ID.+    suggestedTableRowStyleChanges :: (Core.Maybe TableRow_SuggestedTableRowStyleChanges),+    -- | The contents and style of each cell in this row. It\'s possible for a table to be non-rectangular, so some rows may have a different number of cells than other rows in the same table.+    tableCells :: (Core.Maybe [TableCell]),+    -- | The style of the table row.+    tableRowStyle :: (Core.Maybe TableRowStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TableRow' with the minimum fields required to make a request.+newTableRow ::+  TableRow+newTableRow =+  TableRow+    { endIndex = Core.Nothing,+      startIndex = Core.Nothing,+      suggestedDeletionIds = Core.Nothing,+      suggestedInsertionIds = Core.Nothing,+      suggestedTableRowStyleChanges = Core.Nothing,+      tableCells = Core.Nothing,+      tableRowStyle = Core.Nothing+    }++instance Core.FromJSON TableRow where+  parseJSON =+    Core.withObject+      "TableRow"+      ( \o ->+          TableRow+            Core.<$> (o Core..:? "endIndex")+            Core.<*> (o Core..:? "startIndex")+            Core.<*> (o Core..:? "suggestedDeletionIds")+            Core.<*> (o Core..:? "suggestedInsertionIds")+            Core.<*> (o Core..:? "suggestedTableRowStyleChanges")+            Core.<*> (o Core..:? "tableCells")+            Core.<*> (o Core..:? "tableRowStyle")+      )++instance Core.ToJSON TableRow where+  toJSON TableRow {..} =+    Core.object+      ( Core.catMaybes+          [ ("endIndex" Core..=) Core.<$> endIndex,+            ("startIndex" Core..=) Core.<$> startIndex,+            ("suggestedDeletionIds" Core..=) Core.<$> suggestedDeletionIds,+            ("suggestedInsertionIds" Core..=) Core.<$> suggestedInsertionIds,+            ("suggestedTableRowStyleChanges" Core..=)+              Core.<$> suggestedTableRowStyleChanges,+            ("tableCells" Core..=) Core.<$> tableCells,+            ("tableRowStyle" Core..=) Core.<$> tableRowStyle+          ]+      )++-- | The suggested style changes to this row, keyed by suggestion ID.+--+-- /See:/ 'newTableRow_SuggestedTableRowStyleChanges' smart constructor.+newtype TableRow_SuggestedTableRowStyleChanges = TableRow_SuggestedTableRowStyleChanges+  { additional :: (Core.HashMap Core.Text SuggestedTableRowStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TableRow_SuggestedTableRowStyleChanges' with the minimum fields required to make a request.+newTableRow_SuggestedTableRowStyleChanges ::+  -- |  See 'additional'.+  Core.HashMap Core.Text SuggestedTableRowStyle ->+  TableRow_SuggestedTableRowStyleChanges+newTableRow_SuggestedTableRowStyleChanges additional =+  TableRow_SuggestedTableRowStyleChanges {additional = additional}++instance Core.FromJSON TableRow_SuggestedTableRowStyleChanges where+  parseJSON =+    Core.withObject+      "TableRow_SuggestedTableRowStyleChanges"+      ( \o ->+          TableRow_SuggestedTableRowStyleChanges+            Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON TableRow_SuggestedTableRowStyleChanges where+  toJSON TableRow_SuggestedTableRowStyleChanges {..} =+    Core.toJSON additional++-- | Styles that apply to a table row.+--+-- /See:/ 'newTableRowStyle' smart constructor.+data TableRowStyle = TableRowStyle+  { -- | The minimum height of the row. The row will be rendered in the Docs editor at a height equal to or greater than this value in order to show all the content in the row\'s cells.+    minRowHeight :: (Core.Maybe Dimension),+    -- | Whether the row cannot overflow across page or column boundaries.+    preventOverflow :: (Core.Maybe Core.Bool),+    -- | Whether the row is a table header.+    tableHeader :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TableRowStyle' with the minimum fields required to make a request.+newTableRowStyle ::+  TableRowStyle+newTableRowStyle =+  TableRowStyle+    { minRowHeight = Core.Nothing,+      preventOverflow = Core.Nothing,+      tableHeader = Core.Nothing+    }++instance Core.FromJSON TableRowStyle where+  parseJSON =+    Core.withObject+      "TableRowStyle"+      ( \o ->+          TableRowStyle+            Core.<$> (o Core..:? "minRowHeight")+            Core.<*> (o Core..:? "preventOverflow")+            Core.<*> (o Core..:? "tableHeader")+      )++instance Core.ToJSON TableRowStyle where+  toJSON TableRowStyle {..} =+    Core.object+      ( Core.catMaybes+          [ ("minRowHeight" Core..=) Core.<$> minRowHeight,+            ("preventOverflow" Core..=) Core.<$> preventOverflow,+            ("tableHeader" Core..=) Core.<$> tableHeader+          ]+      )++-- | A mask that indicates which of the fields on the base TableRowStyle have been changed in this suggestion. For any field set to true, there\'s a new suggested value.+--+-- /See:/ 'newTableRowStyleSuggestionState' smart constructor.+newtype TableRowStyleSuggestionState = TableRowStyleSuggestionState+  { -- | Indicates if there was a suggested change to min/row/height.+    minRowHeightSuggested :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TableRowStyleSuggestionState' with the minimum fields required to make a request.+newTableRowStyleSuggestionState ::+  TableRowStyleSuggestionState+newTableRowStyleSuggestionState =+  TableRowStyleSuggestionState+    { minRowHeightSuggested =+        Core.Nothing+    }++instance Core.FromJSON TableRowStyleSuggestionState where+  parseJSON =+    Core.withObject+      "TableRowStyleSuggestionState"+      ( \o ->+          TableRowStyleSuggestionState+            Core.<$> (o Core..:? "minRowHeightSuggested")+      )++instance Core.ToJSON TableRowStyleSuggestionState where+  toJSON TableRowStyleSuggestionState {..} =+    Core.object+      ( Core.catMaybes+          [("minRowHeightSuggested" Core..=) Core.<$> minRowHeightSuggested]+      )++-- | Styles that apply to a table.+--+-- /See:/ 'newTableStyle' smart constructor.+newtype TableStyle = TableStyle+  { -- | The properties of each column. Note that in Docs, tables contain rows and rows contain cells, similar to HTML. So the properties for a row can be found on the row\'s table/row/style.+    tableColumnProperties :: (Core.Maybe [TableColumnProperties])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TableStyle' with the minimum fields required to make a request.+newTableStyle ::+  TableStyle+newTableStyle = TableStyle {tableColumnProperties = Core.Nothing}++instance Core.FromJSON TableStyle where+  parseJSON =+    Core.withObject+      "TableStyle"+      (\o -> TableStyle Core.<$> (o Core..:? "tableColumnProperties"))++instance Core.ToJSON TableStyle where+  toJSON TableStyle {..} =+    Core.object+      ( Core.catMaybes+          [("tableColumnProperties" Core..=) Core.<$> tableColumnProperties]+      )++-- | A criteria that specifies in which tabs a request executes.+--+-- /See:/ 'newTabsCriteria' smart constructor.+newtype TabsCriteria = TabsCriteria+  { -- | The list of tab IDs in which the request executes.+    tabIds :: (Core.Maybe [Core.Text])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TabsCriteria' with the minimum fields required to make a request.+newTabsCriteria ::+  TabsCriteria+newTabsCriteria = TabsCriteria {tabIds = Core.Nothing}++instance Core.FromJSON TabsCriteria where+  parseJSON =+    Core.withObject+      "TabsCriteria"+      (\o -> TabsCriteria Core.<$> (o Core..:? "tabIds"))++instance Core.ToJSON TabsCriteria where+  toJSON TabsCriteria {..} =+    Core.object (Core.catMaybes [("tabIds" Core..=) Core.<$> tabIds])++-- | A ParagraphElement that represents a run of text that all has the same styling.+--+-- /See:/ 'newTextRun' smart constructor.+data TextRun = TextRun+  { -- | The text of this run. Any non-text elements in the run are replaced with the Unicode character U+E907.+    content :: (Core.Maybe Core.Text),+    -- | The suggested deletion IDs. If empty, then there are no suggested deletions of this content.+    suggestedDeletionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested insertion IDs. A TextRun may have multiple insertion IDs if it\'s a nested suggested change. If empty, then this is not a suggested insertion.+    suggestedInsertionIds :: (Core.Maybe [Core.Text]),+    -- | The suggested text style changes to this run, keyed by suggestion ID.+    suggestedTextStyleChanges :: (Core.Maybe TextRun_SuggestedTextStyleChanges),+    -- | The text style of this run.+    textStyle :: (Core.Maybe TextStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TextRun' with the minimum fields required to make a request.+newTextRun ::+  TextRun+newTextRun =+  TextRun+    { content = Core.Nothing,+      suggestedDeletionIds = Core.Nothing,+      suggestedInsertionIds = Core.Nothing,+      suggestedTextStyleChanges = Core.Nothing,+      textStyle = Core.Nothing+    }++instance Core.FromJSON TextRun where+  parseJSON =+    Core.withObject+      "TextRun"+      ( \o ->+          TextRun+            Core.<$> (o Core..:? "content")+            Core.<*> (o Core..:? "suggestedDeletionIds")+            Core.<*> (o Core..:? "suggestedInsertionIds")+            Core.<*> (o Core..:? "suggestedTextStyleChanges")+            Core.<*> (o Core..:? "textStyle")+      )++instance Core.ToJSON TextRun where+  toJSON TextRun {..} =+    Core.object+      ( Core.catMaybes+          [ ("content" Core..=) Core.<$> content,+            ("suggestedDeletionIds" Core..=) Core.<$> suggestedDeletionIds,+            ("suggestedInsertionIds" Core..=) Core.<$> suggestedInsertionIds,+            ("suggestedTextStyleChanges" Core..=)+              Core.<$> suggestedTextStyleChanges,+            ("textStyle" Core..=) Core.<$> textStyle+          ]+      )++-- | The suggested text style changes to this run, keyed by suggestion ID.+--+-- /See:/ 'newTextRun_SuggestedTextStyleChanges' smart constructor.+newtype TextRun_SuggestedTextStyleChanges = TextRun_SuggestedTextStyleChanges+  { additional :: (Core.HashMap Core.Text SuggestedTextStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TextRun_SuggestedTextStyleChanges' with the minimum fields required to make a request.+newTextRun_SuggestedTextStyleChanges ::+  -- |  See 'additional'.+  Core.HashMap Core.Text SuggestedTextStyle ->+  TextRun_SuggestedTextStyleChanges+newTextRun_SuggestedTextStyleChanges additional =+  TextRun_SuggestedTextStyleChanges {additional = additional}++instance Core.FromJSON TextRun_SuggestedTextStyleChanges where+  parseJSON =+    Core.withObject+      "TextRun_SuggestedTextStyleChanges"+      ( \o ->+          TextRun_SuggestedTextStyleChanges+            Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON TextRun_SuggestedTextStyleChanges where+  toJSON TextRun_SuggestedTextStyleChanges {..} =+    Core.toJSON additional++-- | Represents the styling that can be applied to text. Inherited text styles are represented as unset fields in this message. A text style\'s parent depends on where the text style is defined: * The TextStyle of text in a Paragraph inherits from the paragraph\'s corresponding named style type. * The TextStyle on a named style inherits from the normal text named style. * The TextStyle of the normal text named style inherits from the default text style in the Docs editor. * The TextStyle on a Paragraph element that\'s contained in a table may inherit its text style from the table style. If the text style does not inherit from a parent, unsetting fields will revert the style to a value matching the defaults in the Docs editor.+--+-- /See:/ 'newTextStyle' smart constructor.+data TextStyle = TextStyle+  { -- | The background color of the text. If set, the color is either an RGB color or transparent, depending on the @color@ field.+    backgroundColor :: (Core.Maybe OptionalColor),+    -- | 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. Changes in this field don\'t affect the @font_size@.+    baselineOffset :: (Core.Maybe TextStyle_BaselineOffset),+    -- | Whether or not the text is rendered as bold.+    bold :: (Core.Maybe Core.Bool),+    -- | The size of the text\'s font.+    fontSize :: (Core.Maybe Dimension),+    -- | The foreground color of the text. If set, the color is either an RGB color or transparent, depending on the @color@ field.+    foregroundColor :: (Core.Maybe OptionalColor),+    -- | Whether or not the text is italicized.+    italic :: (Core.Maybe Core.Bool),+    -- | The hyperlink destination of the text. If unset, there\'s 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 updated to the default link color 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.+    link :: (Core.Maybe Link),+    -- | Whether or not the text is in small capital letters.+    smallCaps :: (Core.Maybe Core.Bool),+    -- | Whether or not the text is struck through.+    strikethrough :: (Core.Maybe Core.Bool),+    -- | Whether or not the text is underlined.+    underline :: (Core.Maybe Core.Bool),+    -- | The font family and rendered weight of the text. 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.+    weightedFontFamily :: (Core.Maybe WeightedFontFamily)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TextStyle' with the minimum fields required to make a request.+newTextStyle ::+  TextStyle+newTextStyle =+  TextStyle+    { backgroundColor = Core.Nothing,+      baselineOffset = Core.Nothing,+      bold = Core.Nothing,+      fontSize = Core.Nothing,+      foregroundColor = Core.Nothing,+      italic = Core.Nothing,+      link = Core.Nothing,+      smallCaps = Core.Nothing,+      strikethrough = Core.Nothing,+      underline = Core.Nothing,+      weightedFontFamily = Core.Nothing+    }++instance Core.FromJSON TextStyle where+  parseJSON =+    Core.withObject+      "TextStyle"+      ( \o ->+          TextStyle+            Core.<$> (o Core..:? "backgroundColor")+            Core.<*> (o Core..:? "baselineOffset")+            Core.<*> (o Core..:? "bold")+            Core.<*> (o Core..:? "fontSize")+            Core.<*> (o Core..:? "foregroundColor")+            Core.<*> (o Core..:? "italic")+            Core.<*> (o Core..:? "link")+            Core.<*> (o Core..:? "smallCaps")+            Core.<*> (o Core..:? "strikethrough")+            Core.<*> (o Core..:? "underline")+            Core.<*> (o Core..:? "weightedFontFamily")+      )++instance Core.ToJSON TextStyle where+  toJSON TextStyle {..} =+    Core.object+      ( Core.catMaybes+          [ ("backgroundColor" Core..=) Core.<$> backgroundColor,+            ("baselineOffset" Core..=) Core.<$> baselineOffset,+            ("bold" Core..=) Core.<$> bold,+            ("fontSize" Core..=) Core.<$> fontSize,+            ("foregroundColor" Core..=) Core.<$> foregroundColor,+            ("italic" Core..=) Core.<$> italic,+            ("link" Core..=) Core.<$> link,+            ("smallCaps" Core..=) Core.<$> smallCaps,+            ("strikethrough" Core..=) Core.<$> strikethrough,+            ("underline" Core..=) Core.<$> underline,+            ("weightedFontFamily" Core..=) Core.<$> weightedFontFamily+          ]+      )++-- | A mask that indicates which of the fields on the base TextStyle have been changed in this suggestion. For any field set to true, there\'s a new suggested value.+--+-- /See:/ 'newTextStyleSuggestionState' smart constructor.+data TextStyleSuggestionState = TextStyleSuggestionState+  { -- | Indicates if there was a suggested change to background_color.+    backgroundColorSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to baseline_offset.+    baselineOffsetSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to bold.+    boldSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to font_size.+    fontSizeSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to foreground_color.+    foregroundColorSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to italic.+    italicSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to link.+    linkSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to small_caps.+    smallCapsSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to strikethrough.+    strikethroughSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to underline.+    underlineSuggested :: (Core.Maybe Core.Bool),+    -- | Indicates if there was a suggested change to weighted/font/family.+    weightedFontFamilySuggested :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TextStyleSuggestionState' with the minimum fields required to make a request.+newTextStyleSuggestionState ::+  TextStyleSuggestionState+newTextStyleSuggestionState =+  TextStyleSuggestionState+    { backgroundColorSuggested = Core.Nothing,+      baselineOffsetSuggested = Core.Nothing,+      boldSuggested = Core.Nothing,+      fontSizeSuggested = Core.Nothing,+      foregroundColorSuggested = Core.Nothing,+      italicSuggested = Core.Nothing,+      linkSuggested = Core.Nothing,+      smallCapsSuggested = Core.Nothing,+      strikethroughSuggested = Core.Nothing,+      underlineSuggested = Core.Nothing,+      weightedFontFamilySuggested = Core.Nothing+    }++instance Core.FromJSON TextStyleSuggestionState where+  parseJSON =+    Core.withObject+      "TextStyleSuggestionState"+      ( \o ->+          TextStyleSuggestionState+            Core.<$> (o Core..:? "backgroundColorSuggested")+            Core.<*> (o Core..:? "baselineOffsetSuggested")+            Core.<*> (o Core..:? "boldSuggested")+            Core.<*> (o Core..:? "fontSizeSuggested")+            Core.<*> (o Core..:? "foregroundColorSuggested")+            Core.<*> (o Core..:? "italicSuggested")+            Core.<*> (o Core..:? "linkSuggested")+            Core.<*> (o Core..:? "smallCapsSuggested")+            Core.<*> (o Core..:? "strikethroughSuggested")+            Core.<*> (o Core..:? "underlineSuggested")+            Core.<*> (o Core..:? "weightedFontFamilySuggested")+      )++instance Core.ToJSON TextStyleSuggestionState where+  toJSON TextStyleSuggestionState {..} =+    Core.object+      ( Core.catMaybes+          [ ("backgroundColorSuggested" Core..=)+              Core.<$> backgroundColorSuggested,+            ("baselineOffsetSuggested" Core..=)+              Core.<$> baselineOffsetSuggested,+            ("boldSuggested" Core..=) Core.<$> boldSuggested,+            ("fontSizeSuggested" Core..=) Core.<$> fontSizeSuggested,+            ("foregroundColorSuggested" Core..=)+              Core.<$> foregroundColorSuggested,+            ("italicSuggested" Core..=) Core.<$> italicSuggested,+            ("linkSuggested" Core..=) Core.<$> linkSuggested,+            ("smallCapsSuggested" Core..=) Core.<$> smallCapsSuggested,+            ("strikethroughSuggested" Core..=) Core.<$> strikethroughSuggested,+            ("underlineSuggested" Core..=) Core.<$> underlineSuggested,+            ("weightedFontFamilySuggested" Core..=)+              Core.<$> weightedFontFamilySuggested+          ]+      )++-- | Unmerges cells in a Table.+--+-- /See:/ 'newUnmergeTableCellsRequest' smart constructor.+newtype UnmergeTableCellsRequest = UnmergeTableCellsRequest+  { -- | The table range specifying which cells of the table to unmerge. All merged cells in this range will be unmerged, and cells that are already unmerged will not be affected. If the range has no merged cells, the request will do nothing. If there is text in any of the merged cells, the text will remain in the \"head\" cell of the resulting block of unmerged cells. The \"head\" cell is the upper-left cell when the content direction is from left to right, and the upper-right otherwise.+    tableRange :: (Core.Maybe TableRange)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UnmergeTableCellsRequest' with the minimum fields required to make a request.+newUnmergeTableCellsRequest ::+  UnmergeTableCellsRequest+newUnmergeTableCellsRequest =+  UnmergeTableCellsRequest {tableRange = Core.Nothing}++instance Core.FromJSON UnmergeTableCellsRequest where+  parseJSON =+    Core.withObject+      "UnmergeTableCellsRequest"+      ( \o ->+          UnmergeTableCellsRequest Core.<$> (o Core..:? "tableRange")+      )++instance Core.ToJSON UnmergeTableCellsRequest where+  toJSON UnmergeTableCellsRequest {..} =+    Core.object+      (Core.catMaybes [("tableRange" Core..=) Core.<$> tableRange])++-- | Updates the DocumentStyle.+--+-- /See:/ 'newUpdateDocumentStyleRequest' smart constructor.+data UpdateDocumentStyleRequest = UpdateDocumentStyleRequest+  { -- | The styles to set on the document. Certain document style changes may cause other changes in order to mirror the behavior of the Docs editor. See the documentation of DocumentStyle for more information.+    documentStyle :: (Core.Maybe DocumentStyle),+    -- | The fields that should be updated. At least one field must be specified. The root @document_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 background, set @fields@ to @\"background\"@.+    fields :: (Core.Maybe Core.FieldMask),+    -- | The tab that contains the style to update. When omitted, the request applies to the first tab. In a document containing a single tab: - If provided, must match the singular tab\'s ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If not provided, the request applies to the first tab in the document.+    tabId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UpdateDocumentStyleRequest' with the minimum fields required to make a request.+newUpdateDocumentStyleRequest ::+  UpdateDocumentStyleRequest+newUpdateDocumentStyleRequest =+  UpdateDocumentStyleRequest+    { documentStyle = Core.Nothing,+      fields = Core.Nothing,+      tabId = Core.Nothing+    }++instance Core.FromJSON UpdateDocumentStyleRequest where+  parseJSON =+    Core.withObject+      "UpdateDocumentStyleRequest"+      ( \o ->+          UpdateDocumentStyleRequest+            Core.<$> (o Core..:? "documentStyle")+            Core.<*> (o Core..:? "fields")+            Core.<*> (o Core..:? "tabId")+      )++instance Core.ToJSON UpdateDocumentStyleRequest where+  toJSON UpdateDocumentStyleRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("documentStyle" Core..=) Core.<$> documentStyle,+            ("fields" Core..=) Core.<$> fields,+            ("tabId" Core..=) Core.<$> tabId+          ]+      )++-- | Update the styling of all paragraphs that overlap with the given range.+--+-- /See:/ 'newUpdateParagraphStyleRequest' smart constructor.+data UpdateParagraphStyleRequest = UpdateParagraphStyleRequest+  { -- | The fields that should be updated. At least one field must be specified. The root @paragraph_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 paragraph style\'s alignment property, set @fields@ to @\"alignment\"@. To reset a property to its default value, include its field name in the field mask but leave the field itself unset.+    fields :: (Core.Maybe Core.FieldMask),+    -- | The styles to set on the paragraphs. Certain paragraph style changes may cause other changes in order to mirror the behavior of the Docs editor. See the documentation of ParagraphStyle for more information.+    paragraphStyle :: (Core.Maybe ParagraphStyle),+    -- | The range overlapping the paragraphs to style.+    range :: (Core.Maybe Range)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UpdateParagraphStyleRequest' with the minimum fields required to make a request.+newUpdateParagraphStyleRequest ::+  UpdateParagraphStyleRequest+newUpdateParagraphStyleRequest =+  UpdateParagraphStyleRequest+    { fields = Core.Nothing,+      paragraphStyle = Core.Nothing,+      range = Core.Nothing+    }++instance Core.FromJSON UpdateParagraphStyleRequest where+  parseJSON =+    Core.withObject+      "UpdateParagraphStyleRequest"+      ( \o ->+          UpdateParagraphStyleRequest+            Core.<$> (o Core..:? "fields")+            Core.<*> (o Core..:? "paragraphStyle")+            Core.<*> (o Core..:? "range")+      )++instance Core.ToJSON UpdateParagraphStyleRequest where+  toJSON UpdateParagraphStyleRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("fields" Core..=) Core.<$> fields,+            ("paragraphStyle" Core..=) Core.<$> paragraphStyle,+            ("range" Core..=) Core.<$> range+          ]+      )++-- | Updates the SectionStyle.+--+-- /See:/ 'newUpdateSectionStyleRequest' smart constructor.+data UpdateSectionStyleRequest = UpdateSectionStyleRequest+  { -- | The fields that should be updated. At least one field must be specified. The root @section_style@ is implied and must not be specified. A single @\"*\"@ can be used as short-hand for listing every field. For example to update the left margin, set @fields@ to @\"margin_left\"@.+    fields :: (Core.Maybe Core.FieldMask),+    -- | The range overlapping the sections to style. Because section breaks can only be inserted inside the body, the segment ID field must be empty.+    range :: (Core.Maybe Range),+    -- | The styles to be set on the section. Certain section style changes may cause other changes in order to mirror the behavior of the Docs editor. See the documentation of SectionStyle for more information.+    sectionStyle :: (Core.Maybe SectionStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UpdateSectionStyleRequest' with the minimum fields required to make a request.+newUpdateSectionStyleRequest ::+  UpdateSectionStyleRequest+newUpdateSectionStyleRequest =+  UpdateSectionStyleRequest+    { fields = Core.Nothing,+      range = Core.Nothing,+      sectionStyle = Core.Nothing+    }++instance Core.FromJSON UpdateSectionStyleRequest where+  parseJSON =+    Core.withObject+      "UpdateSectionStyleRequest"+      ( \o ->+          UpdateSectionStyleRequest+            Core.<$> (o Core..:? "fields")+            Core.<*> (o Core..:? "range")+            Core.<*> (o Core..:? "sectionStyle")+      )++instance Core.ToJSON UpdateSectionStyleRequest where+  toJSON UpdateSectionStyleRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("fields" Core..=) Core.<$> fields,+            ("range" Core..=) Core.<$> range,+            ("sectionStyle" Core..=) Core.<$> sectionStyle+          ]+      )++-- | Updates the style of a range of table cells.+--+-- /See:/ 'newUpdateTableCellStyleRequest' smart constructor.+data UpdateTableCellStyleRequest = UpdateTableCellStyleRequest+  { -- | The fields that should be updated. At least one field must be specified. The root @tableCellStyle@ 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 color, set @fields@ to @\"backgroundColor\"@. To reset a property to its default value, include its field name in the field mask but leave the field itself unset.+    fields :: (Core.Maybe Core.FieldMask),+    -- | The style to set on the table cells. When updating borders, if a cell shares a border with an adjacent cell, the corresponding border property of the adjacent cell is updated as well. Borders that are merged and invisible are not updated. Since updating a border shared by adjacent cells in the same request can cause conflicting border updates, border updates are applied in the following order: - @border_right@ - @border_left@ - @border_bottom@ - @border_top@+    tableCellStyle :: (Core.Maybe TableCellStyle),+    -- | The table range representing the subset of the table to which the updates are applied.+    tableRange :: (Core.Maybe TableRange),+    -- | The location where the table starts in the document. When specified, the updates are applied to all the cells in the table.+    tableStartLocation :: (Core.Maybe Location)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UpdateTableCellStyleRequest' with the minimum fields required to make a request.+newUpdateTableCellStyleRequest ::+  UpdateTableCellStyleRequest+newUpdateTableCellStyleRequest =+  UpdateTableCellStyleRequest+    { fields = Core.Nothing,+      tableCellStyle = Core.Nothing,+      tableRange = Core.Nothing,+      tableStartLocation = Core.Nothing+    }++instance Core.FromJSON UpdateTableCellStyleRequest where+  parseJSON =+    Core.withObject+      "UpdateTableCellStyleRequest"+      ( \o ->+          UpdateTableCellStyleRequest+            Core.<$> (o Core..:? "fields")+            Core.<*> (o Core..:? "tableCellStyle")+            Core.<*> (o Core..:? "tableRange")+            Core.<*> (o Core..:? "tableStartLocation")+      )++instance Core.ToJSON UpdateTableCellStyleRequest where+  toJSON UpdateTableCellStyleRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("fields" Core..=) Core.<$> fields,+            ("tableCellStyle" Core..=) Core.<$> tableCellStyle,+            ("tableRange" Core..=) Core.<$> tableRange,+            ("tableStartLocation" Core..=) Core.<$> tableStartLocation+          ]+      )++-- | Updates the TableColumnProperties of columns in a table.+--+-- /See:/ 'newUpdateTableColumnPropertiesRequest' smart constructor.+data UpdateTableColumnPropertiesRequest = UpdateTableColumnPropertiesRequest+  { -- | The list of zero-based column indices whose property should be updated. If no indices are specified, all columns will be updated.+    columnIndices :: (Core.Maybe [Core.Int32]),+    -- | The fields that should be updated. At least one field must be specified. The root @tableColumnProperties@ is implied and should not be specified. A single @\"*\"@ can be used as short-hand for listing every field. For example to update the column width, set @fields@ to @\"width\"@.+    fields :: (Core.Maybe Core.FieldMask),+    -- | The table column properties to update. If the value of @table_column_properties#width@ is less than 5 points (5\/72 inch), a 400 bad request error is returned.+    tableColumnProperties :: (Core.Maybe TableColumnProperties),+    -- | The location where the table starts in the document.+    tableStartLocation :: (Core.Maybe Location)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UpdateTableColumnPropertiesRequest' with the minimum fields required to make a request.+newUpdateTableColumnPropertiesRequest ::+  UpdateTableColumnPropertiesRequest+newUpdateTableColumnPropertiesRequest =+  UpdateTableColumnPropertiesRequest+    { columnIndices = Core.Nothing,+      fields = Core.Nothing,+      tableColumnProperties = Core.Nothing,+      tableStartLocation = Core.Nothing+    }++instance Core.FromJSON UpdateTableColumnPropertiesRequest where+  parseJSON =+    Core.withObject+      "UpdateTableColumnPropertiesRequest"+      ( \o ->+          UpdateTableColumnPropertiesRequest+            Core.<$> (o Core..:? "columnIndices")+            Core.<*> (o Core..:? "fields")+            Core.<*> (o Core..:? "tableColumnProperties")+            Core.<*> (o Core..:? "tableStartLocation")+      )++instance Core.ToJSON UpdateTableColumnPropertiesRequest where+  toJSON UpdateTableColumnPropertiesRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("columnIndices" Core..=) Core.<$> columnIndices,+            ("fields" Core..=) Core.<$> fields,+            ("tableColumnProperties" Core..=) Core.<$> tableColumnProperties,+            ("tableStartLocation" Core..=) Core.<$> tableStartLocation+          ]+      )++-- | Updates the TableRowStyle of rows in a table.+--+-- /See:/ 'newUpdateTableRowStyleRequest' smart constructor.+data UpdateTableRowStyleRequest = UpdateTableRowStyleRequest+  { -- | The fields that should be updated. At least one field must be specified. The root @tableRowStyle@ is implied and should not be specified. A single @\"*\"@ can be used as short-hand for listing every field. For example to update the minimum row height, set @fields@ to @\"min_row_height\"@.+    fields :: (Core.Maybe Core.FieldMask),+    -- | The list of zero-based row indices whose style should be updated. If no indices are specified, all rows will be updated.+    rowIndices :: (Core.Maybe [Core.Int32]),+    -- | The styles to be set on the rows.+    tableRowStyle :: (Core.Maybe TableRowStyle),+    -- | The location where the table starts in the document.+    tableStartLocation :: (Core.Maybe Location)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UpdateTableRowStyleRequest' with the minimum fields required to make a request.+newUpdateTableRowStyleRequest ::+  UpdateTableRowStyleRequest+newUpdateTableRowStyleRequest =+  UpdateTableRowStyleRequest+    { fields = Core.Nothing,+      rowIndices = Core.Nothing,+      tableRowStyle = Core.Nothing,+      tableStartLocation = Core.Nothing+    }++instance Core.FromJSON UpdateTableRowStyleRequest where+  parseJSON =+    Core.withObject+      "UpdateTableRowStyleRequest"+      ( \o ->+          UpdateTableRowStyleRequest+            Core.<$> (o Core..:? "fields")+            Core.<*> (o Core..:? "rowIndices")+            Core.<*> (o Core..:? "tableRowStyle")+            Core.<*> (o Core..:? "tableStartLocation")+      )++instance Core.ToJSON UpdateTableRowStyleRequest where+  toJSON UpdateTableRowStyleRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("fields" Core..=) Core.<$> fields,+            ("rowIndices" Core..=) Core.<$> rowIndices,+            ("tableRowStyle" Core..=) Core.<$> tableRowStyle,+            ("tableStartLocation" Core..=) Core.<$> tableStartLocation+          ]+      )++-- | Update the styling of text.+--+-- /See:/ 'newUpdateTextStyleRequest' smart constructor.+data UpdateTextStyleRequest = UpdateTextStyleRequest+  { -- | The fields that should be updated. At least one field must be specified. The root @text_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 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.+    fields :: (Core.Maybe Core.FieldMask),+    -- | 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. Ranges cannot be inserted inside a relative UpdateTextStyleRequest.+    range :: (Core.Maybe Range),+    -- | The styles to set on the text. 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 in order to to mirror the behavior of the Docs editor. See the documentation of TextStyle for more information.+    textStyle :: (Core.Maybe TextStyle)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UpdateTextStyleRequest' with the minimum fields required to make a request.+newUpdateTextStyleRequest ::+  UpdateTextStyleRequest+newUpdateTextStyleRequest =+  UpdateTextStyleRequest+    { fields = Core.Nothing,+      range = Core.Nothing,+      textStyle = Core.Nothing+    }++instance Core.FromJSON UpdateTextStyleRequest where+  parseJSON =+    Core.withObject+      "UpdateTextStyleRequest"+      ( \o ->+          UpdateTextStyleRequest+            Core.<$> (o Core..:? "fields")+            Core.<*> (o Core..:? "range")+            Core.<*> (o Core..:? "textStyle")+      )++instance Core.ToJSON UpdateTextStyleRequest where+  toJSON UpdateTextStyleRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("fields" Core..=) Core.<$> fields,+            ("range" Core..=) Core.<$> range,+            ("textStyle" Core..=) Core.<$> textStyle+          ]+      )++-- | Represents a font family and weight of text.+--+-- /See:/ 'newWeightedFontFamily' smart constructor.+data WeightedFontFamily = WeightedFontFamily+  { -- | The font family of the text. The font family can be any font from the Font menu in Docs or from [Google Fonts] (https:\/\/fonts.google.com\/). If the font name is unrecognized, the text is rendered in @Arial@.+    fontFamily :: (Core.Maybe Core.Text),+    -- | The weight of the font. This field can have any value that\'s a multiple of @100@ between @100@ and @900@, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, <https://www.w3.org/TR/CSS21/fonts.html#font-boldness section 15.6>, with non-numerical values disallowed. The default value is @400@ (\"normal\"). The font weight makes up just one component of the rendered font weight. A combination of the @weight@ and the text style\'s resolved @bold@ value determine the rendered weight, after accounting for inheritance: * If the text is bold and the weight is less than @400@, the rendered weight is 400. * If the text is bold and the weight is greater than or equal to @400@ but is less than @700@, the rendered weight is @700@. * If the weight is greater than or equal to @700@, the rendered weight is equal to the weight. * If the text is not bold, the rendered weight is equal to the weight.+    weight :: (Core.Maybe Core.Int32)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'WeightedFontFamily' with the minimum fields required to make a request.+newWeightedFontFamily ::+  WeightedFontFamily+newWeightedFontFamily =+  WeightedFontFamily+    { fontFamily = Core.Nothing,+      weight = Core.Nothing+    }++instance Core.FromJSON WeightedFontFamily where+  parseJSON =+    Core.withObject+      "WeightedFontFamily"+      ( \o ->+          WeightedFontFamily+            Core.<$> (o Core..:? "fontFamily")+            Core.<*> (o Core..:? "weight")+      )++instance Core.ToJSON WeightedFontFamily where+  toJSON WeightedFontFamily {..} =+    Core.object+      ( Core.catMaybes+          [ ("fontFamily" Core..=) Core.<$> fontFamily,+            ("weight" Core..=) Core.<$> weight+          ]+      )++-- | Provides control over how write requests are executed.+--+-- /See:/ 'newWriteControl' smart constructor.+data WriteControl = WriteControl+  { -- | The optional revision ID of the document the write request is applied to. If this is not the latest revision of the document, the request is not processed and returns a 400 bad request error. When a required revision ID is returned in a response, it indicates the revision ID of the document after the request was applied.+    requiredRevisionId :: (Core.Maybe Core.Text),+    -- | The optional target revision ID of the document the write request is applied to. If collaborator changes have occurred after the document was read using the API, the changes produced by this write request are applied against the collaborator changes. This results in a new revision of the document that incorporates both the collaborator changes and the changes in the request, with the Docs server resolving conflicting changes. When using target revision ID, the API client can be thought of as another collaborator of the document. The target revision ID can only be used to write to recent versions of a document. If the target revision is too far behind the latest revision, the request is not processed and returns a 400 bad request error. The request should be tried again after retrieving the latest version of the document. Usually a revision ID remains valid for use as a target revision for several minutes after it\'s read, but for frequently edited documents this window might be shorter.+    targetRevisionId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'WriteControl' with the minimum fields required to make a request.+newWriteControl ::+  WriteControl+newWriteControl =+  WriteControl+    { requiredRevisionId = Core.Nothing,+      targetRevisionId = Core.Nothing+    }++instance Core.FromJSON WriteControl where+  parseJSON =+    Core.withObject+      "WriteControl"+      ( \o ->+          WriteControl+            Core.<$> (o Core..:? "requiredRevisionId")+            Core.<*> (o Core..:? "targetRevisionId")+      )++instance Core.ToJSON WriteControl where+  toJSON WriteControl {..} =+    Core.object+      ( Core.catMaybes+          [ ("requiredRevisionId" Core..=) Core.<$> requiredRevisionId,+            ("targetRevisionId" Core..=) Core.<$> targetRevisionId+          ]+      )
+ gen/Gogol/Docs/Internal/Sum.hs view
@@ -0,0 +1,1523 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.Docs.Internal.Sum+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Gogol.Docs.Internal.Sum+  ( -- * Xgafv+    Xgafv+      ( Xgafv_1,+        Xgafv_2,+        ..+      ),++    -- * AutoText_Type+    AutoText_Type+      ( AutoText_Type_TYPEUNSPECIFIED,+        AutoText_Type_PAGENUMBER,+        AutoText_Type_PAGECOUNT,+        ..+      ),++    -- * CreateFooterRequest_Type+    CreateFooterRequest_Type+      ( CreateFooterRequest_Type_HEADERFOOTERTYPEUNSPECIFIED,+        CreateFooterRequest_Type_Default,+        ..+      ),++    -- * CreateHeaderRequest_Type+    CreateHeaderRequest_Type+      ( CreateHeaderRequest_Type_HEADERFOOTERTYPEUNSPECIFIED,+        CreateHeaderRequest_Type_Default,+        ..+      ),++    -- * CreateParagraphBulletsRequest_BulletPreset+    CreateParagraphBulletsRequest_BulletPreset+      ( CreateParagraphBulletsRequest_BulletPreset_BULLETGLYPHPRESETUNSPECIFIED,+        CreateParagraphBulletsRequest_BulletPreset_BULLETDISCCIRCLESQUARE,+        CreateParagraphBulletsRequest_BulletPreset_BULLETDIAMONDXARROW3DSQUARE,+        CreateParagraphBulletsRequest_BulletPreset_BULLETCHECKBOX,+        CreateParagraphBulletsRequest_BulletPreset_BULLETARROWDIAMONDDISC,+        CreateParagraphBulletsRequest_BulletPreset_BULLETSTARCIRCLESQUARE,+        CreateParagraphBulletsRequest_BulletPreset_BULLETARROW3DCIRCLESQUARE,+        CreateParagraphBulletsRequest_BulletPreset_BULLETLEFTTRIANGLEDIAMONDDISC,+        CreateParagraphBulletsRequest_BulletPreset_BULLETDIAMONDXHOLLOWDIAMONDSQUARE,+        CreateParagraphBulletsRequest_BulletPreset_BULLETDIAMONDCIRCLESQUARE,+        CreateParagraphBulletsRequest_BulletPreset_NUMBEREDDECIMALALPHAROMAN,+        CreateParagraphBulletsRequest_BulletPreset_NUMBEREDDECIMALALPHAROMANPARENS,+        CreateParagraphBulletsRequest_BulletPreset_NUMBEREDDECIMALNESTED,+        CreateParagraphBulletsRequest_BulletPreset_NUMBEREDUPPERALPHAALPHAROMAN,+        CreateParagraphBulletsRequest_BulletPreset_NUMBEREDUPPERROMANUPPERALPHADECIMAL,+        CreateParagraphBulletsRequest_BulletPreset_NUMBEREDZERODECIMALALPHAROMAN,+        ..+      ),++    -- * Dimension_Unit+    Dimension_Unit+      ( Dimension_Unit_UNITUNSPECIFIED,+        Dimension_Unit_PT,+        ..+      ),++    -- * Document_SuggestionsViewMode+    Document_SuggestionsViewMode+      ( Document_SuggestionsViewMode_DEFAULTFORCURRENTACCESS,+        Document_SuggestionsViewMode_SUGGESTIONSINLINE,+        Document_SuggestionsViewMode_PREVIEWSUGGESTIONSACCEPTED,+        Document_SuggestionsViewMode_PREVIEWWITHOUTSUGGESTIONS,+        ..+      ),++    -- * EmbeddedObjectBorder_DashStyle+    EmbeddedObjectBorder_DashStyle+      ( EmbeddedObjectBorder_DashStyle_DASHSTYLEUNSPECIFIED,+        EmbeddedObjectBorder_DashStyle_Solid,+        EmbeddedObjectBorder_DashStyle_Dot,+        EmbeddedObjectBorder_DashStyle_Dash,+        ..+      ),++    -- * EmbeddedObjectBorder_PropertyState+    EmbeddedObjectBorder_PropertyState+      ( EmbeddedObjectBorder_PropertyState_Rendered,+        EmbeddedObjectBorder_PropertyState_NOTRENDERED,+        ..+      ),++    -- * InsertSectionBreakRequest_SectionType+    InsertSectionBreakRequest_SectionType+      ( InsertSectionBreakRequest_SectionType_SECTIONTYPEUNSPECIFIED,+        InsertSectionBreakRequest_SectionType_Continuous,+        InsertSectionBreakRequest_SectionType_NEXTPAGE,+        ..+      ),++    -- * NamedStyle_NamedStyleType+    NamedStyle_NamedStyleType+      ( NamedStyle_NamedStyleType_NAMEDSTYLETYPEUNSPECIFIED,+        NamedStyle_NamedStyleType_NORMALTEXT,+        NamedStyle_NamedStyleType_Title,+        NamedStyle_NamedStyleType_Subtitle,+        NamedStyle_NamedStyleType_HEADING_1,+        NamedStyle_NamedStyleType_HEADING_2,+        NamedStyle_NamedStyleType_HEADING_3,+        NamedStyle_NamedStyleType_HEADING_4,+        NamedStyle_NamedStyleType_HEADING_5,+        NamedStyle_NamedStyleType_HEADING_6,+        ..+      ),++    -- * NamedStyleSuggestionState_NamedStyleType+    NamedStyleSuggestionState_NamedStyleType+      ( NamedStyleSuggestionState_NamedStyleType_NAMEDSTYLETYPEUNSPECIFIED,+        NamedStyleSuggestionState_NamedStyleType_NORMALTEXT,+        NamedStyleSuggestionState_NamedStyleType_Title,+        NamedStyleSuggestionState_NamedStyleType_Subtitle,+        NamedStyleSuggestionState_NamedStyleType_HEADING_1,+        NamedStyleSuggestionState_NamedStyleType_HEADING_2,+        NamedStyleSuggestionState_NamedStyleType_HEADING_3,+        NamedStyleSuggestionState_NamedStyleType_HEADING_4,+        NamedStyleSuggestionState_NamedStyleType_HEADING_5,+        NamedStyleSuggestionState_NamedStyleType_HEADING_6,+        ..+      ),++    -- * NestingLevel_BulletAlignment+    NestingLevel_BulletAlignment+      ( NestingLevel_BulletAlignment_BULLETALIGNMENTUNSPECIFIED,+        NestingLevel_BulletAlignment_Start,+        NestingLevel_BulletAlignment_Center,+        NestingLevel_BulletAlignment_End,+        ..+      ),++    -- * NestingLevel_GlyphType+    NestingLevel_GlyphType+      ( NestingLevel_GlyphType_GLYPHTYPEUNSPECIFIED,+        NestingLevel_GlyphType_None,+        NestingLevel_GlyphType_Decimal,+        NestingLevel_GlyphType_ZERODECIMAL,+        NestingLevel_GlyphType_UPPERALPHA,+        NestingLevel_GlyphType_Alpha,+        NestingLevel_GlyphType_UPPERROMAN,+        NestingLevel_GlyphType_Roman,+        ..+      ),++    -- * ParagraphBorder_DashStyle+    ParagraphBorder_DashStyle+      ( ParagraphBorder_DashStyle_DASHSTYLEUNSPECIFIED,+        ParagraphBorder_DashStyle_Solid,+        ParagraphBorder_DashStyle_Dot,+        ParagraphBorder_DashStyle_Dash,+        ..+      ),++    -- * ParagraphStyle_Alignment+    ParagraphStyle_Alignment+      ( ParagraphStyle_Alignment_ALIGNMENTUNSPECIFIED,+        ParagraphStyle_Alignment_Start,+        ParagraphStyle_Alignment_Center,+        ParagraphStyle_Alignment_End,+        ParagraphStyle_Alignment_Justified,+        ..+      ),++    -- * ParagraphStyle_Direction+    ParagraphStyle_Direction+      ( ParagraphStyle_Direction_CONTENTDIRECTIONUNSPECIFIED,+        ParagraphStyle_Direction_LEFTTORIGHT,+        ParagraphStyle_Direction_RIGHTTOLEFT,+        ..+      ),++    -- * ParagraphStyle_NamedStyleType+    ParagraphStyle_NamedStyleType+      ( ParagraphStyle_NamedStyleType_NAMEDSTYLETYPEUNSPECIFIED,+        ParagraphStyle_NamedStyleType_NORMALTEXT,+        ParagraphStyle_NamedStyleType_Title,+        ParagraphStyle_NamedStyleType_Subtitle,+        ParagraphStyle_NamedStyleType_HEADING_1,+        ParagraphStyle_NamedStyleType_HEADING_2,+        ParagraphStyle_NamedStyleType_HEADING_3,+        ParagraphStyle_NamedStyleType_HEADING_4,+        ParagraphStyle_NamedStyleType_HEADING_5,+        ParagraphStyle_NamedStyleType_HEADING_6,+        ..+      ),++    -- * ParagraphStyle_SpacingMode+    ParagraphStyle_SpacingMode+      ( ParagraphStyle_SpacingMode_SPACINGMODEUNSPECIFIED,+        ParagraphStyle_SpacingMode_NEVERCOLLAPSE,+        ParagraphStyle_SpacingMode_COLLAPSELISTS,+        ..+      ),++    -- * PositionedObjectPositioning_Layout+    PositionedObjectPositioning_Layout+      ( PositionedObjectPositioning_Layout_POSITIONEDOBJECTLAYOUTUNSPECIFIED,+        PositionedObjectPositioning_Layout_WRAPTEXT,+        PositionedObjectPositioning_Layout_BREAKLEFT,+        PositionedObjectPositioning_Layout_BREAKRIGHT,+        PositionedObjectPositioning_Layout_BREAKLEFTRIGHT,+        PositionedObjectPositioning_Layout_INFRONTOFTEXT,+        PositionedObjectPositioning_Layout_BEHINDTEXT,+        ..+      ),++    -- * ReplaceImageRequest_ImageReplaceMethod+    ReplaceImageRequest_ImageReplaceMethod+      ( ReplaceImageRequest_ImageReplaceMethod_IMAGEREPLACEMETHODUNSPECIFIED,+        ReplaceImageRequest_ImageReplaceMethod_CENTERCROP,+        ..+      ),++    -- * SectionStyle_ColumnSeparatorStyle+    SectionStyle_ColumnSeparatorStyle+      ( SectionStyle_ColumnSeparatorStyle_COLUMNSEPARATORSTYLEUNSPECIFIED,+        SectionStyle_ColumnSeparatorStyle_None,+        SectionStyle_ColumnSeparatorStyle_BETWEENEACHCOLUMN,+        ..+      ),++    -- * SectionStyle_ContentDirection+    SectionStyle_ContentDirection+      ( SectionStyle_ContentDirection_CONTENTDIRECTIONUNSPECIFIED,+        SectionStyle_ContentDirection_LEFTTORIGHT,+        SectionStyle_ContentDirection_RIGHTTOLEFT,+        ..+      ),++    -- * SectionStyle_SectionType+    SectionStyle_SectionType+      ( SectionStyle_SectionType_SECTIONTYPEUNSPECIFIED,+        SectionStyle_SectionType_Continuous,+        SectionStyle_SectionType_NEXTPAGE,+        ..+      ),++    -- * TabStop_Alignment+    TabStop_Alignment+      ( TabStop_Alignment_TABSTOPALIGNMENTUNSPECIFIED,+        TabStop_Alignment_Start,+        TabStop_Alignment_Center,+        TabStop_Alignment_End,+        ..+      ),++    -- * TableCellBorder_DashStyle+    TableCellBorder_DashStyle+      ( TableCellBorder_DashStyle_DASHSTYLEUNSPECIFIED,+        TableCellBorder_DashStyle_Solid,+        TableCellBorder_DashStyle_Dot,+        TableCellBorder_DashStyle_Dash,+        ..+      ),++    -- * TableCellStyle_ContentAlignment+    TableCellStyle_ContentAlignment+      ( TableCellStyle_ContentAlignment_CONTENTALIGNMENTUNSPECIFIED,+        TableCellStyle_ContentAlignment_CONTENTALIGNMENTUNSUPPORTED,+        TableCellStyle_ContentAlignment_Top,+        TableCellStyle_ContentAlignment_Middle,+        TableCellStyle_ContentAlignment_Bottom,+        ..+      ),++    -- * TableColumnProperties_WidthType+    TableColumnProperties_WidthType+      ( TableColumnProperties_WidthType_WIDTHTYPEUNSPECIFIED,+        TableColumnProperties_WidthType_EVENLYDISTRIBUTED,+        TableColumnProperties_WidthType_FIXEDWIDTH,+        ..+      ),++    -- * TextStyle_BaselineOffset+    TextStyle_BaselineOffset+      ( TextStyle_BaselineOffset_BASELINEOFFSETUNSPECIFIED,+        TextStyle_BaselineOffset_None,+        TextStyle_BaselineOffset_Superscript,+        TextStyle_BaselineOffset_Subscript,+        ..+      ),++    -- * DocumentsGetSuggestionsViewMode+    DocumentsGetSuggestionsViewMode+      ( DocumentsGetSuggestionsViewMode_DEFAULTFORCURRENTACCESS,+        DocumentsGetSuggestionsViewMode_SUGGESTIONSINLINE,+        DocumentsGetSuggestionsViewMode_PREVIEWSUGGESTIONSACCEPTED,+        DocumentsGetSuggestionsViewMode_PREVIEWWITHOUTSUGGESTIONS,+        ..+      ),+  )+where++import Gogol.Prelude qualified as Core++-- | V1 error format.+newtype Xgafv = Xgafv {fromXgafv :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | v1 error format+pattern Xgafv_1 :: Xgafv+pattern Xgafv_1 = Xgafv "1"++-- | v2 error format+pattern Xgafv_2 :: Xgafv+pattern Xgafv_2 = Xgafv "2"++{-# COMPLETE+  Xgafv_1,+  Xgafv_2,+  Xgafv+  #-}++-- | The type of this auto text.+newtype AutoText_Type = AutoText_Type {fromAutoText_Type :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | An unspecified auto text type.+pattern AutoText_Type_TYPEUNSPECIFIED :: AutoText_Type+pattern AutoText_Type_TYPEUNSPECIFIED = AutoText_Type "TYPE_UNSPECIFIED"++-- | Type for auto text that represents the current page number.+pattern AutoText_Type_PAGENUMBER :: AutoText_Type+pattern AutoText_Type_PAGENUMBER = AutoText_Type "PAGE_NUMBER"++-- | Type for auto text that represents the total number of pages in the document.+pattern AutoText_Type_PAGECOUNT :: AutoText_Type+pattern AutoText_Type_PAGECOUNT = AutoText_Type "PAGE_COUNT"++{-# COMPLETE+  AutoText_Type_TYPEUNSPECIFIED,+  AutoText_Type_PAGENUMBER,+  AutoText_Type_PAGECOUNT,+  AutoText_Type+  #-}++-- | The type of footer to create.+newtype CreateFooterRequest_Type = CreateFooterRequest_Type {fromCreateFooterRequest_Type :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The header\/footer type is unspecified.+pattern CreateFooterRequest_Type_HEADERFOOTERTYPEUNSPECIFIED :: CreateFooterRequest_Type+pattern CreateFooterRequest_Type_HEADERFOOTERTYPEUNSPECIFIED = CreateFooterRequest_Type "HEADER_FOOTER_TYPE_UNSPECIFIED"++-- | A default header\/footer.+pattern CreateFooterRequest_Type_Default :: CreateFooterRequest_Type+pattern CreateFooterRequest_Type_Default = CreateFooterRequest_Type "DEFAULT"++{-# COMPLETE+  CreateFooterRequest_Type_HEADERFOOTERTYPEUNSPECIFIED,+  CreateFooterRequest_Type_Default,+  CreateFooterRequest_Type+  #-}++-- | The type of header to create.+newtype CreateHeaderRequest_Type = CreateHeaderRequest_Type {fromCreateHeaderRequest_Type :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The header\/footer type is unspecified.+pattern CreateHeaderRequest_Type_HEADERFOOTERTYPEUNSPECIFIED :: CreateHeaderRequest_Type+pattern CreateHeaderRequest_Type_HEADERFOOTERTYPEUNSPECIFIED = CreateHeaderRequest_Type "HEADER_FOOTER_TYPE_UNSPECIFIED"++-- | A default header\/footer.+pattern CreateHeaderRequest_Type_Default :: CreateHeaderRequest_Type+pattern CreateHeaderRequest_Type_Default = CreateHeaderRequest_Type "DEFAULT"++{-# COMPLETE+  CreateHeaderRequest_Type_HEADERFOOTERTYPEUNSPECIFIED,+  CreateHeaderRequest_Type_Default,+  CreateHeaderRequest_Type+  #-}++-- | The kinds of bullet glyphs to be used.+newtype CreateParagraphBulletsRequest_BulletPreset = CreateParagraphBulletsRequest_BulletPreset {fromCreateParagraphBulletsRequest_BulletPreset :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The bullet glyph preset is unspecified.+pattern CreateParagraphBulletsRequest_BulletPreset_BULLETGLYPHPRESETUNSPECIFIED :: CreateParagraphBulletsRequest_BulletPreset+pattern CreateParagraphBulletsRequest_BulletPreset_BULLETGLYPHPRESETUNSPECIFIED = CreateParagraphBulletsRequest_BulletPreset "BULLET_GLYPH_PRESET_UNSPECIFIED"++-- | A bulleted list with a @DISC@, @CIRCLE@ and @SQUARE@ bullet glyph for the first 3 list nesting levels.+pattern CreateParagraphBulletsRequest_BulletPreset_BULLETDISCCIRCLESQUARE :: CreateParagraphBulletsRequest_BulletPreset+pattern CreateParagraphBulletsRequest_BulletPreset_BULLETDISCCIRCLESQUARE = CreateParagraphBulletsRequest_BulletPreset "BULLET_DISC_CIRCLE_SQUARE"++-- | A bulleted list with a @DIAMONDX@, @ARROW3D@ and @SQUARE@ bullet glyph for the first 3 list nesting levels.+pattern CreateParagraphBulletsRequest_BulletPreset_BULLETDIAMONDXARROW3DSQUARE :: CreateParagraphBulletsRequest_BulletPreset+pattern CreateParagraphBulletsRequest_BulletPreset_BULLETDIAMONDXARROW3DSQUARE = CreateParagraphBulletsRequest_BulletPreset "BULLET_DIAMONDX_ARROW3D_SQUARE"++-- | A bulleted list with @CHECKBOX@ bullet glyphs for all list nesting levels.+pattern CreateParagraphBulletsRequest_BulletPreset_BULLETCHECKBOX :: CreateParagraphBulletsRequest_BulletPreset+pattern CreateParagraphBulletsRequest_BulletPreset_BULLETCHECKBOX = CreateParagraphBulletsRequest_BulletPreset "BULLET_CHECKBOX"++-- | A bulleted list with a @ARROW@, @DIAMOND@ and @DISC@ bullet glyph for the first 3 list nesting levels.+pattern CreateParagraphBulletsRequest_BulletPreset_BULLETARROWDIAMONDDISC :: CreateParagraphBulletsRequest_BulletPreset+pattern CreateParagraphBulletsRequest_BulletPreset_BULLETARROWDIAMONDDISC = CreateParagraphBulletsRequest_BulletPreset "BULLET_ARROW_DIAMOND_DISC"++-- | A bulleted list with a @STAR@, @CIRCLE@ and @SQUARE@ bullet glyph for the first 3 list nesting levels.+pattern CreateParagraphBulletsRequest_BulletPreset_BULLETSTARCIRCLESQUARE :: CreateParagraphBulletsRequest_BulletPreset+pattern CreateParagraphBulletsRequest_BulletPreset_BULLETSTARCIRCLESQUARE = CreateParagraphBulletsRequest_BulletPreset "BULLET_STAR_CIRCLE_SQUARE"++-- | A bulleted list with a @ARROW3D@, @CIRCLE@ and @SQUARE@ bullet glyph for the first 3 list nesting levels.+pattern CreateParagraphBulletsRequest_BulletPreset_BULLETARROW3DCIRCLESQUARE :: CreateParagraphBulletsRequest_BulletPreset+pattern CreateParagraphBulletsRequest_BulletPreset_BULLETARROW3DCIRCLESQUARE = CreateParagraphBulletsRequest_BulletPreset "BULLET_ARROW3D_CIRCLE_SQUARE"++-- | A bulleted list with a @LEFTTRIANGLE@, @DIAMOND@ and @DISC@ bullet glyph for the first 3 list nesting levels.+pattern CreateParagraphBulletsRequest_BulletPreset_BULLETLEFTTRIANGLEDIAMONDDISC :: CreateParagraphBulletsRequest_BulletPreset+pattern CreateParagraphBulletsRequest_BulletPreset_BULLETLEFTTRIANGLEDIAMONDDISC = CreateParagraphBulletsRequest_BulletPreset "BULLET_LEFTTRIANGLE_DIAMOND_DISC"++-- | A bulleted list with a @DIAMONDX@, @HOLLOWDIAMOND@ and @SQUARE@ bullet glyph for the first 3 list nesting levels.+pattern CreateParagraphBulletsRequest_BulletPreset_BULLETDIAMONDXHOLLOWDIAMONDSQUARE :: CreateParagraphBulletsRequest_BulletPreset+pattern CreateParagraphBulletsRequest_BulletPreset_BULLETDIAMONDXHOLLOWDIAMONDSQUARE = CreateParagraphBulletsRequest_BulletPreset "BULLET_DIAMONDX_HOLLOWDIAMOND_SQUARE"++-- | A bulleted list with a @DIAMOND@, @CIRCLE@ and @SQUARE@ bullet glyph for the first 3 list nesting levels.+pattern CreateParagraphBulletsRequest_BulletPreset_BULLETDIAMONDCIRCLESQUARE :: CreateParagraphBulletsRequest_BulletPreset+pattern CreateParagraphBulletsRequest_BulletPreset_BULLETDIAMONDCIRCLESQUARE = CreateParagraphBulletsRequest_BulletPreset "BULLET_DIAMOND_CIRCLE_SQUARE"++-- | A numbered list with @DECIMAL@, @ALPHA@ and @ROMAN@ numeric glyphs for the first 3 list nesting levels, followed by periods.+pattern CreateParagraphBulletsRequest_BulletPreset_NUMBEREDDECIMALALPHAROMAN :: CreateParagraphBulletsRequest_BulletPreset+pattern CreateParagraphBulletsRequest_BulletPreset_NUMBEREDDECIMALALPHAROMAN = CreateParagraphBulletsRequest_BulletPreset "NUMBERED_DECIMAL_ALPHA_ROMAN"++-- | A numbered list with @DECIMAL@, @ALPHA@ and @ROMAN@ numeric glyphs for the first 3 list nesting levels, followed by parenthesis.+pattern CreateParagraphBulletsRequest_BulletPreset_NUMBEREDDECIMALALPHAROMANPARENS :: CreateParagraphBulletsRequest_BulletPreset+pattern CreateParagraphBulletsRequest_BulletPreset_NUMBEREDDECIMALALPHAROMANPARENS = CreateParagraphBulletsRequest_BulletPreset "NUMBERED_DECIMAL_ALPHA_ROMAN_PARENS"++-- | A numbered list with @DECIMAL@ numeric glyphs separated by periods, where each nesting level uses the previous nesting level\'s glyph as a prefix. For example: \'1.\', \'1.1.\', \'2.\', \'2.2.\'.+pattern CreateParagraphBulletsRequest_BulletPreset_NUMBEREDDECIMALNESTED :: CreateParagraphBulletsRequest_BulletPreset+pattern CreateParagraphBulletsRequest_BulletPreset_NUMBEREDDECIMALNESTED = CreateParagraphBulletsRequest_BulletPreset "NUMBERED_DECIMAL_NESTED"++-- | A numbered list with @UPPERALPHA@, @ALPHA@ and @ROMAN@ numeric glyphs for the first 3 list nesting levels, followed by periods.+pattern CreateParagraphBulletsRequest_BulletPreset_NUMBEREDUPPERALPHAALPHAROMAN :: CreateParagraphBulletsRequest_BulletPreset+pattern CreateParagraphBulletsRequest_BulletPreset_NUMBEREDUPPERALPHAALPHAROMAN = CreateParagraphBulletsRequest_BulletPreset "NUMBERED_UPPERALPHA_ALPHA_ROMAN"++-- | A numbered list with @UPPERROMAN@, @UPPERALPHA@ and @DECIMAL@ numeric glyphs for the first 3 list nesting levels, followed by periods.+pattern CreateParagraphBulletsRequest_BulletPreset_NUMBEREDUPPERROMANUPPERALPHADECIMAL :: CreateParagraphBulletsRequest_BulletPreset+pattern CreateParagraphBulletsRequest_BulletPreset_NUMBEREDUPPERROMANUPPERALPHADECIMAL = CreateParagraphBulletsRequest_BulletPreset "NUMBERED_UPPERROMAN_UPPERALPHA_DECIMAL"++-- | A numbered list with @ZERODECIMAL@, @ALPHA@ and @ROMAN@ numeric glyphs for the first 3 list nesting levels, followed by periods.+pattern CreateParagraphBulletsRequest_BulletPreset_NUMBEREDZERODECIMALALPHAROMAN :: CreateParagraphBulletsRequest_BulletPreset+pattern CreateParagraphBulletsRequest_BulletPreset_NUMBEREDZERODECIMALALPHAROMAN = CreateParagraphBulletsRequest_BulletPreset "NUMBERED_ZERODECIMAL_ALPHA_ROMAN"++{-# COMPLETE+  CreateParagraphBulletsRequest_BulletPreset_BULLETGLYPHPRESETUNSPECIFIED,+  CreateParagraphBulletsRequest_BulletPreset_BULLETDISCCIRCLESQUARE,+  CreateParagraphBulletsRequest_BulletPreset_BULLETDIAMONDXARROW3DSQUARE,+  CreateParagraphBulletsRequest_BulletPreset_BULLETCHECKBOX,+  CreateParagraphBulletsRequest_BulletPreset_BULLETARROWDIAMONDDISC,+  CreateParagraphBulletsRequest_BulletPreset_BULLETSTARCIRCLESQUARE,+  CreateParagraphBulletsRequest_BulletPreset_BULLETARROW3DCIRCLESQUARE,+  CreateParagraphBulletsRequest_BulletPreset_BULLETLEFTTRIANGLEDIAMONDDISC,+  CreateParagraphBulletsRequest_BulletPreset_BULLETDIAMONDXHOLLOWDIAMONDSQUARE,+  CreateParagraphBulletsRequest_BulletPreset_BULLETDIAMONDCIRCLESQUARE,+  CreateParagraphBulletsRequest_BulletPreset_NUMBEREDDECIMALALPHAROMAN,+  CreateParagraphBulletsRequest_BulletPreset_NUMBEREDDECIMALALPHAROMANPARENS,+  CreateParagraphBulletsRequest_BulletPreset_NUMBEREDDECIMALNESTED,+  CreateParagraphBulletsRequest_BulletPreset_NUMBEREDUPPERALPHAALPHAROMAN,+  CreateParagraphBulletsRequest_BulletPreset_NUMBEREDUPPERROMANUPPERALPHADECIMAL,+  CreateParagraphBulletsRequest_BulletPreset_NUMBEREDZERODECIMALALPHAROMAN,+  CreateParagraphBulletsRequest_BulletPreset+  #-}++-- | The units for magnitude.+newtype Dimension_Unit = Dimension_Unit {fromDimension_Unit :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The units are unknown.+pattern Dimension_Unit_UNITUNSPECIFIED :: Dimension_Unit+pattern Dimension_Unit_UNITUNSPECIFIED = Dimension_Unit "UNIT_UNSPECIFIED"++-- | A point, 1\/72 of an inch.+pattern Dimension_Unit_PT :: Dimension_Unit+pattern Dimension_Unit_PT = Dimension_Unit "PT"++{-# COMPLETE+  Dimension_Unit_UNITUNSPECIFIED,+  Dimension_Unit_PT,+  Dimension_Unit+  #-}++-- | Output only. The suggestions view mode applied to the document. Note: When editing a document, changes must be based on a document with SUGGESTIONS_INLINE.+newtype Document_SuggestionsViewMode = Document_SuggestionsViewMode {fromDocument_SuggestionsViewMode :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The SuggestionsViewMode applied to the returned document depends on the user\'s current access level. If the user only has view access, PREVIEW/WITHOUT/SUGGESTIONS is applied. Otherwise, SUGGESTIONS_INLINE is applied. This is the default suggestions view mode.+pattern Document_SuggestionsViewMode_DEFAULTFORCURRENTACCESS :: Document_SuggestionsViewMode+pattern Document_SuggestionsViewMode_DEFAULTFORCURRENTACCESS = Document_SuggestionsViewMode "DEFAULT_FOR_CURRENT_ACCESS"++-- | The returned document has suggestions inline. Suggested changes will be differentiated from base content within the document. Requests to retrieve a document using this mode will return a 403 error if the user does not have permission to view suggested changes.+pattern Document_SuggestionsViewMode_SUGGESTIONSINLINE :: Document_SuggestionsViewMode+pattern Document_SuggestionsViewMode_SUGGESTIONSINLINE = Document_SuggestionsViewMode "SUGGESTIONS_INLINE"++-- | The returned document is a preview with all suggested changes accepted. Requests to retrieve a document using this mode will return a 403 error if the user does not have permission to view suggested changes.+pattern Document_SuggestionsViewMode_PREVIEWSUGGESTIONSACCEPTED :: Document_SuggestionsViewMode+pattern Document_SuggestionsViewMode_PREVIEWSUGGESTIONSACCEPTED = Document_SuggestionsViewMode "PREVIEW_SUGGESTIONS_ACCEPTED"++-- | The returned document is a preview with all suggested changes rejected if there are any suggestions in the document.+pattern Document_SuggestionsViewMode_PREVIEWWITHOUTSUGGESTIONS :: Document_SuggestionsViewMode+pattern Document_SuggestionsViewMode_PREVIEWWITHOUTSUGGESTIONS = Document_SuggestionsViewMode "PREVIEW_WITHOUT_SUGGESTIONS"++{-# COMPLETE+  Document_SuggestionsViewMode_DEFAULTFORCURRENTACCESS,+  Document_SuggestionsViewMode_SUGGESTIONSINLINE,+  Document_SuggestionsViewMode_PREVIEWSUGGESTIONSACCEPTED,+  Document_SuggestionsViewMode_PREVIEWWITHOUTSUGGESTIONS,+  Document_SuggestionsViewMode+  #-}++-- | The dash style of the border.+newtype EmbeddedObjectBorder_DashStyle = EmbeddedObjectBorder_DashStyle {fromEmbeddedObjectBorder_DashStyle :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Unspecified dash style.+pattern EmbeddedObjectBorder_DashStyle_DASHSTYLEUNSPECIFIED :: EmbeddedObjectBorder_DashStyle+pattern EmbeddedObjectBorder_DashStyle_DASHSTYLEUNSPECIFIED = EmbeddedObjectBorder_DashStyle "DASH_STYLE_UNSPECIFIED"++-- | Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value \'solid\'. This is the default dash style.+pattern EmbeddedObjectBorder_DashStyle_Solid :: EmbeddedObjectBorder_DashStyle+pattern EmbeddedObjectBorder_DashStyle_Solid = EmbeddedObjectBorder_DashStyle "SOLID"++-- | Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value \'dot\'.+pattern EmbeddedObjectBorder_DashStyle_Dot :: EmbeddedObjectBorder_DashStyle+pattern EmbeddedObjectBorder_DashStyle_Dot = EmbeddedObjectBorder_DashStyle "DOT"++-- | Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value \'dash\'.+pattern EmbeddedObjectBorder_DashStyle_Dash :: EmbeddedObjectBorder_DashStyle+pattern EmbeddedObjectBorder_DashStyle_Dash = EmbeddedObjectBorder_DashStyle "DASH"++{-# COMPLETE+  EmbeddedObjectBorder_DashStyle_DASHSTYLEUNSPECIFIED,+  EmbeddedObjectBorder_DashStyle_Solid,+  EmbeddedObjectBorder_DashStyle_Dot,+  EmbeddedObjectBorder_DashStyle_Dash,+  EmbeddedObjectBorder_DashStyle+  #-}++-- | The property state of the border property.+newtype EmbeddedObjectBorder_PropertyState = EmbeddedObjectBorder_PropertyState {fromEmbeddedObjectBorder_PropertyState :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | If a property\'s state is RENDERED, then the element has the corresponding property when rendered in the document. This is the default value.+pattern EmbeddedObjectBorder_PropertyState_Rendered :: EmbeddedObjectBorder_PropertyState+pattern EmbeddedObjectBorder_PropertyState_Rendered = EmbeddedObjectBorder_PropertyState "RENDERED"++-- | If a property\'s state is NOT_RENDERED, then the element does not have the corresponding property when rendered in the document.+pattern EmbeddedObjectBorder_PropertyState_NOTRENDERED :: EmbeddedObjectBorder_PropertyState+pattern EmbeddedObjectBorder_PropertyState_NOTRENDERED = EmbeddedObjectBorder_PropertyState "NOT_RENDERED"++{-# COMPLETE+  EmbeddedObjectBorder_PropertyState_Rendered,+  EmbeddedObjectBorder_PropertyState_NOTRENDERED,+  EmbeddedObjectBorder_PropertyState+  #-}++-- | The type of section to insert.+newtype InsertSectionBreakRequest_SectionType = InsertSectionBreakRequest_SectionType {fromInsertSectionBreakRequest_SectionType :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The section type is unspecified.+pattern InsertSectionBreakRequest_SectionType_SECTIONTYPEUNSPECIFIED :: InsertSectionBreakRequest_SectionType+pattern InsertSectionBreakRequest_SectionType_SECTIONTYPEUNSPECIFIED = InsertSectionBreakRequest_SectionType "SECTION_TYPE_UNSPECIFIED"++-- | The section starts immediately after the last paragraph of the previous section.+pattern InsertSectionBreakRequest_SectionType_Continuous :: InsertSectionBreakRequest_SectionType+pattern InsertSectionBreakRequest_SectionType_Continuous = InsertSectionBreakRequest_SectionType "CONTINUOUS"++-- | The section starts on the next page.+pattern InsertSectionBreakRequest_SectionType_NEXTPAGE :: InsertSectionBreakRequest_SectionType+pattern InsertSectionBreakRequest_SectionType_NEXTPAGE = InsertSectionBreakRequest_SectionType "NEXT_PAGE"++{-# COMPLETE+  InsertSectionBreakRequest_SectionType_SECTIONTYPEUNSPECIFIED,+  InsertSectionBreakRequest_SectionType_Continuous,+  InsertSectionBreakRequest_SectionType_NEXTPAGE,+  InsertSectionBreakRequest_SectionType+  #-}++-- | The type of this named style.+newtype NamedStyle_NamedStyleType = NamedStyle_NamedStyleType {fromNamedStyle_NamedStyleType :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The type of named style is unspecified.+pattern NamedStyle_NamedStyleType_NAMEDSTYLETYPEUNSPECIFIED :: NamedStyle_NamedStyleType+pattern NamedStyle_NamedStyleType_NAMEDSTYLETYPEUNSPECIFIED = NamedStyle_NamedStyleType "NAMED_STYLE_TYPE_UNSPECIFIED"++-- | Normal text.+pattern NamedStyle_NamedStyleType_NORMALTEXT :: NamedStyle_NamedStyleType+pattern NamedStyle_NamedStyleType_NORMALTEXT = NamedStyle_NamedStyleType "NORMAL_TEXT"++-- | Title.+pattern NamedStyle_NamedStyleType_Title :: NamedStyle_NamedStyleType+pattern NamedStyle_NamedStyleType_Title = NamedStyle_NamedStyleType "TITLE"++-- | Subtitle.+pattern NamedStyle_NamedStyleType_Subtitle :: NamedStyle_NamedStyleType+pattern NamedStyle_NamedStyleType_Subtitle = NamedStyle_NamedStyleType "SUBTITLE"++-- | Heading 1.+pattern NamedStyle_NamedStyleType_HEADING_1 :: NamedStyle_NamedStyleType+pattern NamedStyle_NamedStyleType_HEADING_1 = NamedStyle_NamedStyleType "HEADING_1"++-- | Heading 2.+pattern NamedStyle_NamedStyleType_HEADING_2 :: NamedStyle_NamedStyleType+pattern NamedStyle_NamedStyleType_HEADING_2 = NamedStyle_NamedStyleType "HEADING_2"++-- | Heading 3.+pattern NamedStyle_NamedStyleType_HEADING_3 :: NamedStyle_NamedStyleType+pattern NamedStyle_NamedStyleType_HEADING_3 = NamedStyle_NamedStyleType "HEADING_3"++-- | Heading 4.+pattern NamedStyle_NamedStyleType_HEADING_4 :: NamedStyle_NamedStyleType+pattern NamedStyle_NamedStyleType_HEADING_4 = NamedStyle_NamedStyleType "HEADING_4"++-- | Heading 5.+pattern NamedStyle_NamedStyleType_HEADING_5 :: NamedStyle_NamedStyleType+pattern NamedStyle_NamedStyleType_HEADING_5 = NamedStyle_NamedStyleType "HEADING_5"++-- | Heading 6.+pattern NamedStyle_NamedStyleType_HEADING_6 :: NamedStyle_NamedStyleType+pattern NamedStyle_NamedStyleType_HEADING_6 = NamedStyle_NamedStyleType "HEADING_6"++{-# COMPLETE+  NamedStyle_NamedStyleType_NAMEDSTYLETYPEUNSPECIFIED,+  NamedStyle_NamedStyleType_NORMALTEXT,+  NamedStyle_NamedStyleType_Title,+  NamedStyle_NamedStyleType_Subtitle,+  NamedStyle_NamedStyleType_HEADING_1,+  NamedStyle_NamedStyleType_HEADING_2,+  NamedStyle_NamedStyleType_HEADING_3,+  NamedStyle_NamedStyleType_HEADING_4,+  NamedStyle_NamedStyleType_HEADING_5,+  NamedStyle_NamedStyleType_HEADING_6,+  NamedStyle_NamedStyleType+  #-}++-- | The named style type that this suggestion state corresponds to. This field is provided as a convenience for matching the NamedStyleSuggestionState with its corresponding NamedStyle.+newtype NamedStyleSuggestionState_NamedStyleType = NamedStyleSuggestionState_NamedStyleType {fromNamedStyleSuggestionState_NamedStyleType :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The type of named style is unspecified.+pattern NamedStyleSuggestionState_NamedStyleType_NAMEDSTYLETYPEUNSPECIFIED :: NamedStyleSuggestionState_NamedStyleType+pattern NamedStyleSuggestionState_NamedStyleType_NAMEDSTYLETYPEUNSPECIFIED = NamedStyleSuggestionState_NamedStyleType "NAMED_STYLE_TYPE_UNSPECIFIED"++-- | Normal text.+pattern NamedStyleSuggestionState_NamedStyleType_NORMALTEXT :: NamedStyleSuggestionState_NamedStyleType+pattern NamedStyleSuggestionState_NamedStyleType_NORMALTEXT = NamedStyleSuggestionState_NamedStyleType "NORMAL_TEXT"++-- | Title.+pattern NamedStyleSuggestionState_NamedStyleType_Title :: NamedStyleSuggestionState_NamedStyleType+pattern NamedStyleSuggestionState_NamedStyleType_Title = NamedStyleSuggestionState_NamedStyleType "TITLE"++-- | Subtitle.+pattern NamedStyleSuggestionState_NamedStyleType_Subtitle :: NamedStyleSuggestionState_NamedStyleType+pattern NamedStyleSuggestionState_NamedStyleType_Subtitle = NamedStyleSuggestionState_NamedStyleType "SUBTITLE"++-- | Heading 1.+pattern NamedStyleSuggestionState_NamedStyleType_HEADING_1 :: NamedStyleSuggestionState_NamedStyleType+pattern NamedStyleSuggestionState_NamedStyleType_HEADING_1 = NamedStyleSuggestionState_NamedStyleType "HEADING_1"++-- | Heading 2.+pattern NamedStyleSuggestionState_NamedStyleType_HEADING_2 :: NamedStyleSuggestionState_NamedStyleType+pattern NamedStyleSuggestionState_NamedStyleType_HEADING_2 = NamedStyleSuggestionState_NamedStyleType "HEADING_2"++-- | Heading 3.+pattern NamedStyleSuggestionState_NamedStyleType_HEADING_3 :: NamedStyleSuggestionState_NamedStyleType+pattern NamedStyleSuggestionState_NamedStyleType_HEADING_3 = NamedStyleSuggestionState_NamedStyleType "HEADING_3"++-- | Heading 4.+pattern NamedStyleSuggestionState_NamedStyleType_HEADING_4 :: NamedStyleSuggestionState_NamedStyleType+pattern NamedStyleSuggestionState_NamedStyleType_HEADING_4 = NamedStyleSuggestionState_NamedStyleType "HEADING_4"++-- | Heading 5.+pattern NamedStyleSuggestionState_NamedStyleType_HEADING_5 :: NamedStyleSuggestionState_NamedStyleType+pattern NamedStyleSuggestionState_NamedStyleType_HEADING_5 = NamedStyleSuggestionState_NamedStyleType "HEADING_5"++-- | Heading 6.+pattern NamedStyleSuggestionState_NamedStyleType_HEADING_6 :: NamedStyleSuggestionState_NamedStyleType+pattern NamedStyleSuggestionState_NamedStyleType_HEADING_6 = NamedStyleSuggestionState_NamedStyleType "HEADING_6"++{-# COMPLETE+  NamedStyleSuggestionState_NamedStyleType_NAMEDSTYLETYPEUNSPECIFIED,+  NamedStyleSuggestionState_NamedStyleType_NORMALTEXT,+  NamedStyleSuggestionState_NamedStyleType_Title,+  NamedStyleSuggestionState_NamedStyleType_Subtitle,+  NamedStyleSuggestionState_NamedStyleType_HEADING_1,+  NamedStyleSuggestionState_NamedStyleType_HEADING_2,+  NamedStyleSuggestionState_NamedStyleType_HEADING_3,+  NamedStyleSuggestionState_NamedStyleType_HEADING_4,+  NamedStyleSuggestionState_NamedStyleType_HEADING_5,+  NamedStyleSuggestionState_NamedStyleType_HEADING_6,+  NamedStyleSuggestionState_NamedStyleType+  #-}++-- | The alignment of the bullet within the space allotted for rendering the bullet.+newtype NestingLevel_BulletAlignment = NestingLevel_BulletAlignment {fromNestingLevel_BulletAlignment :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The bullet alignment is unspecified.+pattern NestingLevel_BulletAlignment_BULLETALIGNMENTUNSPECIFIED :: NestingLevel_BulletAlignment+pattern NestingLevel_BulletAlignment_BULLETALIGNMENTUNSPECIFIED = NestingLevel_BulletAlignment "BULLET_ALIGNMENT_UNSPECIFIED"++-- | The bullet is aligned to the start of the space allotted for rendering the bullet. Left-aligned for LTR text, right-aligned otherwise.+pattern NestingLevel_BulletAlignment_Start :: NestingLevel_BulletAlignment+pattern NestingLevel_BulletAlignment_Start = NestingLevel_BulletAlignment "START"++-- | The bullet is aligned to the center of the space allotted for rendering the bullet.+pattern NestingLevel_BulletAlignment_Center :: NestingLevel_BulletAlignment+pattern NestingLevel_BulletAlignment_Center = NestingLevel_BulletAlignment "CENTER"++-- | The bullet is aligned to the end of the space allotted for rendering the bullet. Right-aligned for LTR text, left-aligned otherwise.+pattern NestingLevel_BulletAlignment_End :: NestingLevel_BulletAlignment+pattern NestingLevel_BulletAlignment_End = NestingLevel_BulletAlignment "END"++{-# COMPLETE+  NestingLevel_BulletAlignment_BULLETALIGNMENTUNSPECIFIED,+  NestingLevel_BulletAlignment_Start,+  NestingLevel_BulletAlignment_Center,+  NestingLevel_BulletAlignment_End,+  NestingLevel_BulletAlignment+  #-}++-- | The type of glyph used by bullets when paragraphs at this level of nesting is ordered. The glyph type determines the type of glyph used to replace placeholders within the glyph/format when paragraphs at this level of nesting are ordered. For example, if the nesting level is 0, the glyph/format is @%0.@ and the glyph type is DECIMAL, then the rendered glyph would replace the placeholder @%0@ in the glyph format with a number corresponding to the list item\'s order within the list.+newtype NestingLevel_GlyphType = NestingLevel_GlyphType {fromNestingLevel_GlyphType :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The glyph type is unspecified or unsupported.+pattern NestingLevel_GlyphType_GLYPHTYPEUNSPECIFIED :: NestingLevel_GlyphType+pattern NestingLevel_GlyphType_GLYPHTYPEUNSPECIFIED = NestingLevel_GlyphType "GLYPH_TYPE_UNSPECIFIED"++-- | An empty string.+pattern NestingLevel_GlyphType_None :: NestingLevel_GlyphType+pattern NestingLevel_GlyphType_None = NestingLevel_GlyphType "NONE"++-- | A number, like @1@, @2@, or @3@.+pattern NestingLevel_GlyphType_Decimal :: NestingLevel_GlyphType+pattern NestingLevel_GlyphType_Decimal = NestingLevel_GlyphType "DECIMAL"++-- | A number where single digit numbers are prefixed with a zero, like @01@, @02@, or @03@. Numbers with more than one digit are not prefixed with a zero.+pattern NestingLevel_GlyphType_ZERODECIMAL :: NestingLevel_GlyphType+pattern NestingLevel_GlyphType_ZERODECIMAL = NestingLevel_GlyphType "ZERO_DECIMAL"++-- | An uppercase letter, like @A@, @B@, or @C@.+pattern NestingLevel_GlyphType_UPPERALPHA :: NestingLevel_GlyphType+pattern NestingLevel_GlyphType_UPPERALPHA = NestingLevel_GlyphType "UPPER_ALPHA"++-- | A lowercase letter, like @a@, @b@, or @c@.+pattern NestingLevel_GlyphType_Alpha :: NestingLevel_GlyphType+pattern NestingLevel_GlyphType_Alpha = NestingLevel_GlyphType "ALPHA"++-- | An uppercase Roman numeral, like @I@, @II@, or @III@.+pattern NestingLevel_GlyphType_UPPERROMAN :: NestingLevel_GlyphType+pattern NestingLevel_GlyphType_UPPERROMAN = NestingLevel_GlyphType "UPPER_ROMAN"++-- | A lowercase Roman numeral, like @i@, @ii@, or @iii@.+pattern NestingLevel_GlyphType_Roman :: NestingLevel_GlyphType+pattern NestingLevel_GlyphType_Roman = NestingLevel_GlyphType "ROMAN"++{-# COMPLETE+  NestingLevel_GlyphType_GLYPHTYPEUNSPECIFIED,+  NestingLevel_GlyphType_None,+  NestingLevel_GlyphType_Decimal,+  NestingLevel_GlyphType_ZERODECIMAL,+  NestingLevel_GlyphType_UPPERALPHA,+  NestingLevel_GlyphType_Alpha,+  NestingLevel_GlyphType_UPPERROMAN,+  NestingLevel_GlyphType_Roman,+  NestingLevel_GlyphType+  #-}++-- | The dash style of the border.+newtype ParagraphBorder_DashStyle = ParagraphBorder_DashStyle {fromParagraphBorder_DashStyle :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Unspecified dash style.+pattern ParagraphBorder_DashStyle_DASHSTYLEUNSPECIFIED :: ParagraphBorder_DashStyle+pattern ParagraphBorder_DashStyle_DASHSTYLEUNSPECIFIED = ParagraphBorder_DashStyle "DASH_STYLE_UNSPECIFIED"++-- | Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value \'solid\'. This is the default dash style.+pattern ParagraphBorder_DashStyle_Solid :: ParagraphBorder_DashStyle+pattern ParagraphBorder_DashStyle_Solid = ParagraphBorder_DashStyle "SOLID"++-- | Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value \'dot\'.+pattern ParagraphBorder_DashStyle_Dot :: ParagraphBorder_DashStyle+pattern ParagraphBorder_DashStyle_Dot = ParagraphBorder_DashStyle "DOT"++-- | Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value \'dash\'.+pattern ParagraphBorder_DashStyle_Dash :: ParagraphBorder_DashStyle+pattern ParagraphBorder_DashStyle_Dash = ParagraphBorder_DashStyle "DASH"++{-# COMPLETE+  ParagraphBorder_DashStyle_DASHSTYLEUNSPECIFIED,+  ParagraphBorder_DashStyle_Solid,+  ParagraphBorder_DashStyle_Dot,+  ParagraphBorder_DashStyle_Dash,+  ParagraphBorder_DashStyle+  #-}++-- | The text alignment for this paragraph.+newtype ParagraphStyle_Alignment = ParagraphStyle_Alignment {fromParagraphStyle_Alignment :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The paragraph alignment is inherited from the parent.+pattern ParagraphStyle_Alignment_ALIGNMENTUNSPECIFIED :: ParagraphStyle_Alignment+pattern ParagraphStyle_Alignment_ALIGNMENTUNSPECIFIED = ParagraphStyle_Alignment "ALIGNMENT_UNSPECIFIED"++-- | The paragraph is aligned to the start of the line. Left-aligned for LTR text, right-aligned otherwise.+pattern ParagraphStyle_Alignment_Start :: ParagraphStyle_Alignment+pattern ParagraphStyle_Alignment_Start = ParagraphStyle_Alignment "START"++-- | The paragraph is centered.+pattern ParagraphStyle_Alignment_Center :: ParagraphStyle_Alignment+pattern ParagraphStyle_Alignment_Center = ParagraphStyle_Alignment "CENTER"++-- | The paragraph is aligned to the end of the line. Right-aligned for LTR text, left-aligned otherwise.+pattern ParagraphStyle_Alignment_End :: ParagraphStyle_Alignment+pattern ParagraphStyle_Alignment_End = ParagraphStyle_Alignment "END"++-- | The paragraph is justified.+pattern ParagraphStyle_Alignment_Justified :: ParagraphStyle_Alignment+pattern ParagraphStyle_Alignment_Justified = ParagraphStyle_Alignment "JUSTIFIED"++{-# COMPLETE+  ParagraphStyle_Alignment_ALIGNMENTUNSPECIFIED,+  ParagraphStyle_Alignment_Start,+  ParagraphStyle_Alignment_Center,+  ParagraphStyle_Alignment_End,+  ParagraphStyle_Alignment_Justified,+  ParagraphStyle_Alignment+  #-}++-- | The text direction of this paragraph. If unset, the value defaults to LEFT/TO/RIGHT since paragraph direction is not inherited.+newtype ParagraphStyle_Direction = ParagraphStyle_Direction {fromParagraphStyle_Direction :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The content direction is unspecified.+pattern ParagraphStyle_Direction_CONTENTDIRECTIONUNSPECIFIED :: ParagraphStyle_Direction+pattern ParagraphStyle_Direction_CONTENTDIRECTIONUNSPECIFIED = ParagraphStyle_Direction "CONTENT_DIRECTION_UNSPECIFIED"++-- | The content goes from left to right.+pattern ParagraphStyle_Direction_LEFTTORIGHT :: ParagraphStyle_Direction+pattern ParagraphStyle_Direction_LEFTTORIGHT = ParagraphStyle_Direction "LEFT_TO_RIGHT"++-- | The content goes from right to left.+pattern ParagraphStyle_Direction_RIGHTTOLEFT :: ParagraphStyle_Direction+pattern ParagraphStyle_Direction_RIGHTTOLEFT = ParagraphStyle_Direction "RIGHT_TO_LEFT"++{-# COMPLETE+  ParagraphStyle_Direction_CONTENTDIRECTIONUNSPECIFIED,+  ParagraphStyle_Direction_LEFTTORIGHT,+  ParagraphStyle_Direction_RIGHTTOLEFT,+  ParagraphStyle_Direction+  #-}++-- | The named style type of the paragraph. Since updating the named style type affects other properties within ParagraphStyle, the named style type is applied before the other properties are updated.+newtype ParagraphStyle_NamedStyleType = ParagraphStyle_NamedStyleType {fromParagraphStyle_NamedStyleType :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The type of named style is unspecified.+pattern ParagraphStyle_NamedStyleType_NAMEDSTYLETYPEUNSPECIFIED :: ParagraphStyle_NamedStyleType+pattern ParagraphStyle_NamedStyleType_NAMEDSTYLETYPEUNSPECIFIED = ParagraphStyle_NamedStyleType "NAMED_STYLE_TYPE_UNSPECIFIED"++-- | Normal text.+pattern ParagraphStyle_NamedStyleType_NORMALTEXT :: ParagraphStyle_NamedStyleType+pattern ParagraphStyle_NamedStyleType_NORMALTEXT = ParagraphStyle_NamedStyleType "NORMAL_TEXT"++-- | Title.+pattern ParagraphStyle_NamedStyleType_Title :: ParagraphStyle_NamedStyleType+pattern ParagraphStyle_NamedStyleType_Title = ParagraphStyle_NamedStyleType "TITLE"++-- | Subtitle.+pattern ParagraphStyle_NamedStyleType_Subtitle :: ParagraphStyle_NamedStyleType+pattern ParagraphStyle_NamedStyleType_Subtitle = ParagraphStyle_NamedStyleType "SUBTITLE"++-- | Heading 1.+pattern ParagraphStyle_NamedStyleType_HEADING_1 :: ParagraphStyle_NamedStyleType+pattern ParagraphStyle_NamedStyleType_HEADING_1 = ParagraphStyle_NamedStyleType "HEADING_1"++-- | Heading 2.+pattern ParagraphStyle_NamedStyleType_HEADING_2 :: ParagraphStyle_NamedStyleType+pattern ParagraphStyle_NamedStyleType_HEADING_2 = ParagraphStyle_NamedStyleType "HEADING_2"++-- | Heading 3.+pattern ParagraphStyle_NamedStyleType_HEADING_3 :: ParagraphStyle_NamedStyleType+pattern ParagraphStyle_NamedStyleType_HEADING_3 = ParagraphStyle_NamedStyleType "HEADING_3"++-- | Heading 4.+pattern ParagraphStyle_NamedStyleType_HEADING_4 :: ParagraphStyle_NamedStyleType+pattern ParagraphStyle_NamedStyleType_HEADING_4 = ParagraphStyle_NamedStyleType "HEADING_4"++-- | Heading 5.+pattern ParagraphStyle_NamedStyleType_HEADING_5 :: ParagraphStyle_NamedStyleType+pattern ParagraphStyle_NamedStyleType_HEADING_5 = ParagraphStyle_NamedStyleType "HEADING_5"++-- | Heading 6.+pattern ParagraphStyle_NamedStyleType_HEADING_6 :: ParagraphStyle_NamedStyleType+pattern ParagraphStyle_NamedStyleType_HEADING_6 = ParagraphStyle_NamedStyleType "HEADING_6"++{-# COMPLETE+  ParagraphStyle_NamedStyleType_NAMEDSTYLETYPEUNSPECIFIED,+  ParagraphStyle_NamedStyleType_NORMALTEXT,+  ParagraphStyle_NamedStyleType_Title,+  ParagraphStyle_NamedStyleType_Subtitle,+  ParagraphStyle_NamedStyleType_HEADING_1,+  ParagraphStyle_NamedStyleType_HEADING_2,+  ParagraphStyle_NamedStyleType_HEADING_3,+  ParagraphStyle_NamedStyleType_HEADING_4,+  ParagraphStyle_NamedStyleType_HEADING_5,+  ParagraphStyle_NamedStyleType_HEADING_6,+  ParagraphStyle_NamedStyleType+  #-}++-- | The spacing mode for the paragraph.+newtype ParagraphStyle_SpacingMode = ParagraphStyle_SpacingMode {fromParagraphStyle_SpacingMode :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The spacing mode is inherited from the parent.+pattern ParagraphStyle_SpacingMode_SPACINGMODEUNSPECIFIED :: ParagraphStyle_SpacingMode+pattern ParagraphStyle_SpacingMode_SPACINGMODEUNSPECIFIED = ParagraphStyle_SpacingMode "SPACING_MODE_UNSPECIFIED"++-- | Paragraph spacing is always rendered.+pattern ParagraphStyle_SpacingMode_NEVERCOLLAPSE :: ParagraphStyle_SpacingMode+pattern ParagraphStyle_SpacingMode_NEVERCOLLAPSE = ParagraphStyle_SpacingMode "NEVER_COLLAPSE"++-- | Paragraph spacing is skipped between list elements.+pattern ParagraphStyle_SpacingMode_COLLAPSELISTS :: ParagraphStyle_SpacingMode+pattern ParagraphStyle_SpacingMode_COLLAPSELISTS = ParagraphStyle_SpacingMode "COLLAPSE_LISTS"++{-# COMPLETE+  ParagraphStyle_SpacingMode_SPACINGMODEUNSPECIFIED,+  ParagraphStyle_SpacingMode_NEVERCOLLAPSE,+  ParagraphStyle_SpacingMode_COLLAPSELISTS,+  ParagraphStyle_SpacingMode+  #-}++-- | The layout of this positioned object.+newtype PositionedObjectPositioning_Layout = PositionedObjectPositioning_Layout {fromPositionedObjectPositioning_Layout :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The layout is unspecified.+pattern PositionedObjectPositioning_Layout_POSITIONEDOBJECTLAYOUTUNSPECIFIED :: PositionedObjectPositioning_Layout+pattern PositionedObjectPositioning_Layout_POSITIONEDOBJECTLAYOUTUNSPECIFIED = PositionedObjectPositioning_Layout "POSITIONED_OBJECT_LAYOUT_UNSPECIFIED"++-- | The text wraps around the positioned object.+pattern PositionedObjectPositioning_Layout_WRAPTEXT :: PositionedObjectPositioning_Layout+pattern PositionedObjectPositioning_Layout_WRAPTEXT = PositionedObjectPositioning_Layout "WRAP_TEXT"++-- | Breaks text such that the positioned object is on the left and text is on the right.+pattern PositionedObjectPositioning_Layout_BREAKLEFT :: PositionedObjectPositioning_Layout+pattern PositionedObjectPositioning_Layout_BREAKLEFT = PositionedObjectPositioning_Layout "BREAK_LEFT"++-- | Breaks text such that the positioned object is on the right and text is on the left.+pattern PositionedObjectPositioning_Layout_BREAKRIGHT :: PositionedObjectPositioning_Layout+pattern PositionedObjectPositioning_Layout_BREAKRIGHT = PositionedObjectPositioning_Layout "BREAK_RIGHT"++-- | Breaks text such that there\'s no text on the left or right of the positioned object.+pattern PositionedObjectPositioning_Layout_BREAKLEFTRIGHT :: PositionedObjectPositioning_Layout+pattern PositionedObjectPositioning_Layout_BREAKLEFTRIGHT = PositionedObjectPositioning_Layout "BREAK_LEFT_RIGHT"++-- | The positioned object is in front of the text.+pattern PositionedObjectPositioning_Layout_INFRONTOFTEXT :: PositionedObjectPositioning_Layout+pattern PositionedObjectPositioning_Layout_INFRONTOFTEXT = PositionedObjectPositioning_Layout "IN_FRONT_OF_TEXT"++-- | The positioned object is behind the text.+pattern PositionedObjectPositioning_Layout_BEHINDTEXT :: PositionedObjectPositioning_Layout+pattern PositionedObjectPositioning_Layout_BEHINDTEXT = PositionedObjectPositioning_Layout "BEHIND_TEXT"++{-# COMPLETE+  PositionedObjectPositioning_Layout_POSITIONEDOBJECTLAYOUTUNSPECIFIED,+  PositionedObjectPositioning_Layout_WRAPTEXT,+  PositionedObjectPositioning_Layout_BREAKLEFT,+  PositionedObjectPositioning_Layout_BREAKRIGHT,+  PositionedObjectPositioning_Layout_BREAKLEFTRIGHT,+  PositionedObjectPositioning_Layout_INFRONTOFTEXT,+  PositionedObjectPositioning_Layout_BEHINDTEXT,+  PositionedObjectPositioning_Layout+  #-}++-- | The replacement method.+newtype ReplaceImageRequest_ImageReplaceMethod = ReplaceImageRequest_ImageReplaceMethod {fromReplaceImageRequest_ImageReplaceMethod :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Unspecified image replace method. This value must not be used.+pattern ReplaceImageRequest_ImageReplaceMethod_IMAGEREPLACEMETHODUNSPECIFIED :: ReplaceImageRequest_ImageReplaceMethod+pattern ReplaceImageRequest_ImageReplaceMethod_IMAGEREPLACEMETHODUNSPECIFIED = ReplaceImageRequest_ImageReplaceMethod "IMAGE_REPLACE_METHOD_UNSPECIFIED"++-- | Scales and centers the image to fill the bounds of the original image. The image may be cropped in order to fill the original image\'s bounds. The rendered size of the image will be the same as the original image.+pattern ReplaceImageRequest_ImageReplaceMethod_CENTERCROP :: ReplaceImageRequest_ImageReplaceMethod+pattern ReplaceImageRequest_ImageReplaceMethod_CENTERCROP = ReplaceImageRequest_ImageReplaceMethod "CENTER_CROP"++{-# COMPLETE+  ReplaceImageRequest_ImageReplaceMethod_IMAGEREPLACEMETHODUNSPECIFIED,+  ReplaceImageRequest_ImageReplaceMethod_CENTERCROP,+  ReplaceImageRequest_ImageReplaceMethod+  #-}++-- | The style of column separators. This style can be set even when there\'s one column in the section. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error.+newtype SectionStyle_ColumnSeparatorStyle = SectionStyle_ColumnSeparatorStyle {fromSectionStyle_ColumnSeparatorStyle :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | An unspecified column separator style.+pattern SectionStyle_ColumnSeparatorStyle_COLUMNSEPARATORSTYLEUNSPECIFIED :: SectionStyle_ColumnSeparatorStyle+pattern SectionStyle_ColumnSeparatorStyle_COLUMNSEPARATORSTYLEUNSPECIFIED = SectionStyle_ColumnSeparatorStyle "COLUMN_SEPARATOR_STYLE_UNSPECIFIED"++-- | No column separator lines between columns.+pattern SectionStyle_ColumnSeparatorStyle_None :: SectionStyle_ColumnSeparatorStyle+pattern SectionStyle_ColumnSeparatorStyle_None = SectionStyle_ColumnSeparatorStyle "NONE"++-- | Renders a column separator line between each column.+pattern SectionStyle_ColumnSeparatorStyle_BETWEENEACHCOLUMN :: SectionStyle_ColumnSeparatorStyle+pattern SectionStyle_ColumnSeparatorStyle_BETWEENEACHCOLUMN = SectionStyle_ColumnSeparatorStyle "BETWEEN_EACH_COLUMN"++{-# COMPLETE+  SectionStyle_ColumnSeparatorStyle_COLUMNSEPARATORSTYLEUNSPECIFIED,+  SectionStyle_ColumnSeparatorStyle_None,+  SectionStyle_ColumnSeparatorStyle_BETWEENEACHCOLUMN,+  SectionStyle_ColumnSeparatorStyle+  #-}++-- | The content direction of this section. If unset, the value defaults to LEFT/TO/RIGHT. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error.+newtype SectionStyle_ContentDirection = SectionStyle_ContentDirection {fromSectionStyle_ContentDirection :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The content direction is unspecified.+pattern SectionStyle_ContentDirection_CONTENTDIRECTIONUNSPECIFIED :: SectionStyle_ContentDirection+pattern SectionStyle_ContentDirection_CONTENTDIRECTIONUNSPECIFIED = SectionStyle_ContentDirection "CONTENT_DIRECTION_UNSPECIFIED"++-- | The content goes from left to right.+pattern SectionStyle_ContentDirection_LEFTTORIGHT :: SectionStyle_ContentDirection+pattern SectionStyle_ContentDirection_LEFTTORIGHT = SectionStyle_ContentDirection "LEFT_TO_RIGHT"++-- | The content goes from right to left.+pattern SectionStyle_ContentDirection_RIGHTTOLEFT :: SectionStyle_ContentDirection+pattern SectionStyle_ContentDirection_RIGHTTOLEFT = SectionStyle_ContentDirection "RIGHT_TO_LEFT"++{-# COMPLETE+  SectionStyle_ContentDirection_CONTENTDIRECTIONUNSPECIFIED,+  SectionStyle_ContentDirection_LEFTTORIGHT,+  SectionStyle_ContentDirection_RIGHTTOLEFT,+  SectionStyle_ContentDirection+  #-}++-- | Output only. The type of section.+newtype SectionStyle_SectionType = SectionStyle_SectionType {fromSectionStyle_SectionType :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The section type is unspecified.+pattern SectionStyle_SectionType_SECTIONTYPEUNSPECIFIED :: SectionStyle_SectionType+pattern SectionStyle_SectionType_SECTIONTYPEUNSPECIFIED = SectionStyle_SectionType "SECTION_TYPE_UNSPECIFIED"++-- | The section starts immediately after the last paragraph of the previous section.+pattern SectionStyle_SectionType_Continuous :: SectionStyle_SectionType+pattern SectionStyle_SectionType_Continuous = SectionStyle_SectionType "CONTINUOUS"++-- | The section starts on the next page.+pattern SectionStyle_SectionType_NEXTPAGE :: SectionStyle_SectionType+pattern SectionStyle_SectionType_NEXTPAGE = SectionStyle_SectionType "NEXT_PAGE"++{-# COMPLETE+  SectionStyle_SectionType_SECTIONTYPEUNSPECIFIED,+  SectionStyle_SectionType_Continuous,+  SectionStyle_SectionType_NEXTPAGE,+  SectionStyle_SectionType+  #-}++-- | The alignment of this tab stop. If unset, the value defaults to START.+newtype TabStop_Alignment = TabStop_Alignment {fromTabStop_Alignment :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The tab stop alignment is unspecified.+pattern TabStop_Alignment_TABSTOPALIGNMENTUNSPECIFIED :: TabStop_Alignment+pattern TabStop_Alignment_TABSTOPALIGNMENTUNSPECIFIED = TabStop_Alignment "TAB_STOP_ALIGNMENT_UNSPECIFIED"++-- | The tab stop is aligned to the start of the line. This is the default.+pattern TabStop_Alignment_Start :: TabStop_Alignment+pattern TabStop_Alignment_Start = TabStop_Alignment "START"++-- | The tab stop is aligned to the center of the line.+pattern TabStop_Alignment_Center :: TabStop_Alignment+pattern TabStop_Alignment_Center = TabStop_Alignment "CENTER"++-- | The tab stop is aligned to the end of the line.+pattern TabStop_Alignment_End :: TabStop_Alignment+pattern TabStop_Alignment_End = TabStop_Alignment "END"++{-# COMPLETE+  TabStop_Alignment_TABSTOPALIGNMENTUNSPECIFIED,+  TabStop_Alignment_Start,+  TabStop_Alignment_Center,+  TabStop_Alignment_End,+  TabStop_Alignment+  #-}++-- | The dash style of the border.+newtype TableCellBorder_DashStyle = TableCellBorder_DashStyle {fromTableCellBorder_DashStyle :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Unspecified dash style.+pattern TableCellBorder_DashStyle_DASHSTYLEUNSPECIFIED :: TableCellBorder_DashStyle+pattern TableCellBorder_DashStyle_DASHSTYLEUNSPECIFIED = TableCellBorder_DashStyle "DASH_STYLE_UNSPECIFIED"++-- | Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value \'solid\'. This is the default dash style.+pattern TableCellBorder_DashStyle_Solid :: TableCellBorder_DashStyle+pattern TableCellBorder_DashStyle_Solid = TableCellBorder_DashStyle "SOLID"++-- | Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value \'dot\'.+pattern TableCellBorder_DashStyle_Dot :: TableCellBorder_DashStyle+pattern TableCellBorder_DashStyle_Dot = TableCellBorder_DashStyle "DOT"++-- | Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value \'dash\'.+pattern TableCellBorder_DashStyle_Dash :: TableCellBorder_DashStyle+pattern TableCellBorder_DashStyle_Dash = TableCellBorder_DashStyle "DASH"++{-# COMPLETE+  TableCellBorder_DashStyle_DASHSTYLEUNSPECIFIED,+  TableCellBorder_DashStyle_Solid,+  TableCellBorder_DashStyle_Dot,+  TableCellBorder_DashStyle_Dash,+  TableCellBorder_DashStyle+  #-}++-- | The alignment of the content in the table cell. The default alignment matches the alignment for newly created table cells in the Docs editor.+newtype TableCellStyle_ContentAlignment = TableCellStyle_ContentAlignment {fromTableCellStyle_ContentAlignment :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | An unspecified content alignment. The content alignment is inherited from the parent if one exists.+pattern TableCellStyle_ContentAlignment_CONTENTALIGNMENTUNSPECIFIED :: TableCellStyle_ContentAlignment+pattern TableCellStyle_ContentAlignment_CONTENTALIGNMENTUNSPECIFIED = TableCellStyle_ContentAlignment "CONTENT_ALIGNMENT_UNSPECIFIED"++-- | An unsupported content alignment.+pattern TableCellStyle_ContentAlignment_CONTENTALIGNMENTUNSUPPORTED :: TableCellStyle_ContentAlignment+pattern TableCellStyle_ContentAlignment_CONTENTALIGNMENTUNSUPPORTED = TableCellStyle_ContentAlignment "CONTENT_ALIGNMENT_UNSUPPORTED"++-- | An alignment that aligns the content to the top of the content holder. Corresponds to ECMA-376 ST_TextAnchoringType \'t\'.+pattern TableCellStyle_ContentAlignment_Top :: TableCellStyle_ContentAlignment+pattern TableCellStyle_ContentAlignment_Top = TableCellStyle_ContentAlignment "TOP"++-- | An alignment that aligns the content to the middle of the content holder. Corresponds to ECMA-376 ST_TextAnchoringType \'ctr\'.+pattern TableCellStyle_ContentAlignment_Middle :: TableCellStyle_ContentAlignment+pattern TableCellStyle_ContentAlignment_Middle = TableCellStyle_ContentAlignment "MIDDLE"++-- | An alignment that aligns the content to the bottom of the content holder. Corresponds to ECMA-376 ST_TextAnchoringType \'b\'.+pattern TableCellStyle_ContentAlignment_Bottom :: TableCellStyle_ContentAlignment+pattern TableCellStyle_ContentAlignment_Bottom = TableCellStyle_ContentAlignment "BOTTOM"++{-# COMPLETE+  TableCellStyle_ContentAlignment_CONTENTALIGNMENTUNSPECIFIED,+  TableCellStyle_ContentAlignment_CONTENTALIGNMENTUNSUPPORTED,+  TableCellStyle_ContentAlignment_Top,+  TableCellStyle_ContentAlignment_Middle,+  TableCellStyle_ContentAlignment_Bottom,+  TableCellStyle_ContentAlignment+  #-}++-- | The width type of the column.+newtype TableColumnProperties_WidthType = TableColumnProperties_WidthType {fromTableColumnProperties_WidthType :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The column width type is unspecified.+pattern TableColumnProperties_WidthType_WIDTHTYPEUNSPECIFIED :: TableColumnProperties_WidthType+pattern TableColumnProperties_WidthType_WIDTHTYPEUNSPECIFIED = TableColumnProperties_WidthType "WIDTH_TYPE_UNSPECIFIED"++-- | The column width is evenly distributed among the other evenly distributed columns. The width of the column is automatically determined and will have an equal portion of the width remaining for the table after accounting for all columns with specified widths.+pattern TableColumnProperties_WidthType_EVENLYDISTRIBUTED :: TableColumnProperties_WidthType+pattern TableColumnProperties_WidthType_EVENLYDISTRIBUTED = TableColumnProperties_WidthType "EVENLY_DISTRIBUTED"++-- | A fixed column width. The width property contains the column\'s width.+pattern TableColumnProperties_WidthType_FIXEDWIDTH :: TableColumnProperties_WidthType+pattern TableColumnProperties_WidthType_FIXEDWIDTH = TableColumnProperties_WidthType "FIXED_WIDTH"++{-# COMPLETE+  TableColumnProperties_WidthType_WIDTHTYPEUNSPECIFIED,+  TableColumnProperties_WidthType_EVENLYDISTRIBUTED,+  TableColumnProperties_WidthType_FIXEDWIDTH,+  TableColumnProperties_WidthType+  #-}++-- | 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. Changes in this field don\'t affect the @font_size@.+newtype TextStyle_BaselineOffset = TextStyle_BaselineOffset {fromTextStyle_BaselineOffset :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The text\'s baseline offset is inherited from the parent.+pattern TextStyle_BaselineOffset_BASELINEOFFSETUNSPECIFIED :: TextStyle_BaselineOffset+pattern TextStyle_BaselineOffset_BASELINEOFFSETUNSPECIFIED = TextStyle_BaselineOffset "BASELINE_OFFSET_UNSPECIFIED"++-- | The text is not vertically offset.+pattern TextStyle_BaselineOffset_None :: TextStyle_BaselineOffset+pattern TextStyle_BaselineOffset_None = TextStyle_BaselineOffset "NONE"++-- | The text is vertically offset upwards (superscript).+pattern TextStyle_BaselineOffset_Superscript :: TextStyle_BaselineOffset+pattern TextStyle_BaselineOffset_Superscript = TextStyle_BaselineOffset "SUPERSCRIPT"++-- | The text is vertically offset downwards (subscript).+pattern TextStyle_BaselineOffset_Subscript :: TextStyle_BaselineOffset+pattern TextStyle_BaselineOffset_Subscript = TextStyle_BaselineOffset "SUBSCRIPT"++{-# COMPLETE+  TextStyle_BaselineOffset_BASELINEOFFSETUNSPECIFIED,+  TextStyle_BaselineOffset_None,+  TextStyle_BaselineOffset_Superscript,+  TextStyle_BaselineOffset_Subscript,+  TextStyle_BaselineOffset+  #-}++-- | The suggestions view mode to apply to the document. This allows viewing the document with all suggestions inline, accepted or rejected. If one is not specified, DEFAULT/FOR/CURRENT_ACCESS is used.+newtype DocumentsGetSuggestionsViewMode = DocumentsGetSuggestionsViewMode {fromDocumentsGetSuggestionsViewMode :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The SuggestionsViewMode applied to the returned document depends on the user\'s current access level. If the user only has view access, PREVIEW/WITHOUT/SUGGESTIONS is applied. Otherwise, SUGGESTIONS_INLINE is applied. This is the default suggestions view mode.+pattern DocumentsGetSuggestionsViewMode_DEFAULTFORCURRENTACCESS :: DocumentsGetSuggestionsViewMode+pattern DocumentsGetSuggestionsViewMode_DEFAULTFORCURRENTACCESS = DocumentsGetSuggestionsViewMode "DEFAULT_FOR_CURRENT_ACCESS"++-- | The returned document has suggestions inline. Suggested changes will be differentiated from base content within the document. Requests to retrieve a document using this mode will return a 403 error if the user does not have permission to view suggested changes.+pattern DocumentsGetSuggestionsViewMode_SUGGESTIONSINLINE :: DocumentsGetSuggestionsViewMode+pattern DocumentsGetSuggestionsViewMode_SUGGESTIONSINLINE = DocumentsGetSuggestionsViewMode "SUGGESTIONS_INLINE"++-- | The returned document is a preview with all suggested changes accepted. Requests to retrieve a document using this mode will return a 403 error if the user does not have permission to view suggested changes.+pattern DocumentsGetSuggestionsViewMode_PREVIEWSUGGESTIONSACCEPTED :: DocumentsGetSuggestionsViewMode+pattern DocumentsGetSuggestionsViewMode_PREVIEWSUGGESTIONSACCEPTED = DocumentsGetSuggestionsViewMode "PREVIEW_SUGGESTIONS_ACCEPTED"++-- | The returned document is a preview with all suggested changes rejected if there are any suggestions in the document.+pattern DocumentsGetSuggestionsViewMode_PREVIEWWITHOUTSUGGESTIONS :: DocumentsGetSuggestionsViewMode+pattern DocumentsGetSuggestionsViewMode_PREVIEWWITHOUTSUGGESTIONS = DocumentsGetSuggestionsViewMode "PREVIEW_WITHOUT_SUGGESTIONS"++{-# COMPLETE+  DocumentsGetSuggestionsViewMode_DEFAULTFORCURRENTACCESS,+  DocumentsGetSuggestionsViewMode_SUGGESTIONSINLINE,+  DocumentsGetSuggestionsViewMode_PREVIEWSUGGESTIONSACCEPTED,+  DocumentsGetSuggestionsViewMode_PREVIEWWITHOUTSUGGESTIONS,+  DocumentsGetSuggestionsViewMode+  #-}
+ gen/Gogol/Docs/Types.hs view
@@ -0,0 +1,926 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.Docs.Types+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Gogol.Docs.Types+  ( -- * Configuration+    docsService,++    -- * OAuth Scopes+    Documents'FullControl,+    Documents'Readonly,+    Drive'FullControl,+    Drive'File,+    Drive'Readonly,++    -- * Types++    -- ** Xgafv+    Xgafv (..),++    -- ** AutoText+    AutoText (..),+    newAutoText,++    -- ** AutoText_SuggestedTextStyleChanges+    AutoText_SuggestedTextStyleChanges (..),+    newAutoText_SuggestedTextStyleChanges,++    -- ** AutoText_Type+    AutoText_Type (..),++    -- ** Background+    Background (..),+    newBackground,++    -- ** BackgroundSuggestionState+    BackgroundSuggestionState (..),+    newBackgroundSuggestionState,++    -- ** BatchUpdateDocumentRequest+    BatchUpdateDocumentRequest (..),+    newBatchUpdateDocumentRequest,++    -- ** BatchUpdateDocumentResponse+    BatchUpdateDocumentResponse (..),+    newBatchUpdateDocumentResponse,++    -- ** Body+    Body (..),+    newBody,++    -- ** BookmarkLink+    BookmarkLink (..),+    newBookmarkLink,++    -- ** Bullet+    Bullet (..),+    newBullet,++    -- ** BulletSuggestionState+    BulletSuggestionState (..),+    newBulletSuggestionState,++    -- ** Color+    Color (..),+    newColor,++    -- ** ColumnBreak+    ColumnBreak (..),+    newColumnBreak,++    -- ** ColumnBreak_SuggestedTextStyleChanges+    ColumnBreak_SuggestedTextStyleChanges (..),+    newColumnBreak_SuggestedTextStyleChanges,++    -- ** CreateFooterRequest+    CreateFooterRequest (..),+    newCreateFooterRequest,++    -- ** CreateFooterRequest_Type+    CreateFooterRequest_Type (..),++    -- ** CreateFooterResponse+    CreateFooterResponse (..),+    newCreateFooterResponse,++    -- ** CreateFootnoteRequest+    CreateFootnoteRequest (..),+    newCreateFootnoteRequest,++    -- ** CreateFootnoteResponse+    CreateFootnoteResponse (..),+    newCreateFootnoteResponse,++    -- ** CreateHeaderRequest+    CreateHeaderRequest (..),+    newCreateHeaderRequest,++    -- ** CreateHeaderRequest_Type+    CreateHeaderRequest_Type (..),++    -- ** CreateHeaderResponse+    CreateHeaderResponse (..),+    newCreateHeaderResponse,++    -- ** CreateNamedRangeRequest+    CreateNamedRangeRequest (..),+    newCreateNamedRangeRequest,++    -- ** CreateNamedRangeResponse+    CreateNamedRangeResponse (..),+    newCreateNamedRangeResponse,++    -- ** CreateParagraphBulletsRequest+    CreateParagraphBulletsRequest (..),+    newCreateParagraphBulletsRequest,++    -- ** CreateParagraphBulletsRequest_BulletPreset+    CreateParagraphBulletsRequest_BulletPreset (..),++    -- ** CropProperties+    CropProperties (..),+    newCropProperties,++    -- ** CropPropertiesSuggestionState+    CropPropertiesSuggestionState (..),+    newCropPropertiesSuggestionState,++    -- ** DeleteContentRangeRequest+    DeleteContentRangeRequest (..),+    newDeleteContentRangeRequest,++    -- ** DeleteFooterRequest+    DeleteFooterRequest (..),+    newDeleteFooterRequest,++    -- ** DeleteHeaderRequest+    DeleteHeaderRequest (..),+    newDeleteHeaderRequest,++    -- ** DeleteNamedRangeRequest+    DeleteNamedRangeRequest (..),+    newDeleteNamedRangeRequest,++    -- ** DeleteParagraphBulletsRequest+    DeleteParagraphBulletsRequest (..),+    newDeleteParagraphBulletsRequest,++    -- ** DeletePositionedObjectRequest+    DeletePositionedObjectRequest (..),+    newDeletePositionedObjectRequest,++    -- ** DeleteTableColumnRequest+    DeleteTableColumnRequest (..),+    newDeleteTableColumnRequest,++    -- ** DeleteTableRowRequest+    DeleteTableRowRequest (..),+    newDeleteTableRowRequest,++    -- ** Dimension+    Dimension (..),+    newDimension,++    -- ** Dimension_Unit+    Dimension_Unit (..),++    -- ** Document+    Document (..),+    newDocument,++    -- ** Document_Footers+    Document_Footers (..),+    newDocument_Footers,++    -- ** Document_Footnotes+    Document_Footnotes (..),+    newDocument_Footnotes,++    -- ** Document_Headers+    Document_Headers (..),+    newDocument_Headers,++    -- ** Document_InlineObjects+    Document_InlineObjects (..),+    newDocument_InlineObjects,++    -- ** Document_Lists+    Document_Lists (..),+    newDocument_Lists,++    -- ** Document_NamedRanges+    Document_NamedRanges (..),+    newDocument_NamedRanges,++    -- ** Document_PositionedObjects+    Document_PositionedObjects (..),+    newDocument_PositionedObjects,++    -- ** Document_SuggestedDocumentStyleChanges+    Document_SuggestedDocumentStyleChanges (..),+    newDocument_SuggestedDocumentStyleChanges,++    -- ** Document_SuggestedNamedStylesChanges+    Document_SuggestedNamedStylesChanges (..),+    newDocument_SuggestedNamedStylesChanges,++    -- ** Document_SuggestionsViewMode+    Document_SuggestionsViewMode (..),++    -- ** DocumentStyle+    DocumentStyle (..),+    newDocumentStyle,++    -- ** DocumentStyleSuggestionState+    DocumentStyleSuggestionState (..),+    newDocumentStyleSuggestionState,++    -- ** DocumentTab+    DocumentTab (..),+    newDocumentTab,++    -- ** DocumentTab_Footers+    DocumentTab_Footers (..),+    newDocumentTab_Footers,++    -- ** DocumentTab_Footnotes+    DocumentTab_Footnotes (..),+    newDocumentTab_Footnotes,++    -- ** DocumentTab_Headers+    DocumentTab_Headers (..),+    newDocumentTab_Headers,++    -- ** DocumentTab_InlineObjects+    DocumentTab_InlineObjects (..),+    newDocumentTab_InlineObjects,++    -- ** DocumentTab_Lists+    DocumentTab_Lists (..),+    newDocumentTab_Lists,++    -- ** DocumentTab_NamedRanges+    DocumentTab_NamedRanges (..),+    newDocumentTab_NamedRanges,++    -- ** DocumentTab_PositionedObjects+    DocumentTab_PositionedObjects (..),+    newDocumentTab_PositionedObjects,++    -- ** DocumentTab_SuggestedDocumentStyleChanges+    DocumentTab_SuggestedDocumentStyleChanges (..),+    newDocumentTab_SuggestedDocumentStyleChanges,++    -- ** DocumentTab_SuggestedNamedStylesChanges+    DocumentTab_SuggestedNamedStylesChanges (..),+    newDocumentTab_SuggestedNamedStylesChanges,++    -- ** EmbeddedDrawingProperties+    EmbeddedDrawingProperties (..),+    newEmbeddedDrawingProperties,++    -- ** EmbeddedDrawingPropertiesSuggestionState+    EmbeddedDrawingPropertiesSuggestionState (..),+    newEmbeddedDrawingPropertiesSuggestionState,++    -- ** EmbeddedObject+    EmbeddedObject (..),+    newEmbeddedObject,++    -- ** EmbeddedObjectBorder+    EmbeddedObjectBorder (..),+    newEmbeddedObjectBorder,++    -- ** EmbeddedObjectBorder_DashStyle+    EmbeddedObjectBorder_DashStyle (..),++    -- ** EmbeddedObjectBorder_PropertyState+    EmbeddedObjectBorder_PropertyState (..),++    -- ** EmbeddedObjectBorderSuggestionState+    EmbeddedObjectBorderSuggestionState (..),+    newEmbeddedObjectBorderSuggestionState,++    -- ** EmbeddedObjectSuggestionState+    EmbeddedObjectSuggestionState (..),+    newEmbeddedObjectSuggestionState,++    -- ** EndOfSegmentLocation+    EndOfSegmentLocation (..),+    newEndOfSegmentLocation,++    -- ** Equation+    Equation (..),+    newEquation,++    -- ** Footer+    Footer (..),+    newFooter,++    -- ** Footnote+    Footnote (..),+    newFootnote,++    -- ** FootnoteReference+    FootnoteReference (..),+    newFootnoteReference,++    -- ** FootnoteReference_SuggestedTextStyleChanges+    FootnoteReference_SuggestedTextStyleChanges (..),+    newFootnoteReference_SuggestedTextStyleChanges,++    -- ** Header+    Header (..),+    newHeader,++    -- ** HeadingLink+    HeadingLink (..),+    newHeadingLink,++    -- ** HorizontalRule+    HorizontalRule (..),+    newHorizontalRule,++    -- ** HorizontalRule_SuggestedTextStyleChanges+    HorizontalRule_SuggestedTextStyleChanges (..),+    newHorizontalRule_SuggestedTextStyleChanges,++    -- ** ImageProperties+    ImageProperties (..),+    newImageProperties,++    -- ** ImagePropertiesSuggestionState+    ImagePropertiesSuggestionState (..),+    newImagePropertiesSuggestionState,++    -- ** InlineObject+    InlineObject (..),+    newInlineObject,++    -- ** InlineObject_SuggestedInlineObjectPropertiesChanges+    InlineObject_SuggestedInlineObjectPropertiesChanges (..),+    newInlineObject_SuggestedInlineObjectPropertiesChanges,++    -- ** InlineObjectElement+    InlineObjectElement (..),+    newInlineObjectElement,++    -- ** InlineObjectElement_SuggestedTextStyleChanges+    InlineObjectElement_SuggestedTextStyleChanges (..),+    newInlineObjectElement_SuggestedTextStyleChanges,++    -- ** InlineObjectProperties+    InlineObjectProperties (..),+    newInlineObjectProperties,++    -- ** InlineObjectPropertiesSuggestionState+    InlineObjectPropertiesSuggestionState (..),+    newInlineObjectPropertiesSuggestionState,++    -- ** InsertInlineImageRequest+    InsertInlineImageRequest (..),+    newInsertInlineImageRequest,++    -- ** InsertInlineImageResponse+    InsertInlineImageResponse (..),+    newInsertInlineImageResponse,++    -- ** InsertInlineSheetsChartResponse+    InsertInlineSheetsChartResponse (..),+    newInsertInlineSheetsChartResponse,++    -- ** InsertPageBreakRequest+    InsertPageBreakRequest (..),+    newInsertPageBreakRequest,++    -- ** InsertSectionBreakRequest+    InsertSectionBreakRequest (..),+    newInsertSectionBreakRequest,++    -- ** InsertSectionBreakRequest_SectionType+    InsertSectionBreakRequest_SectionType (..),++    -- ** InsertTableColumnRequest+    InsertTableColumnRequest (..),+    newInsertTableColumnRequest,++    -- ** InsertTableRequest+    InsertTableRequest (..),+    newInsertTableRequest,++    -- ** InsertTableRowRequest+    InsertTableRowRequest (..),+    newInsertTableRowRequest,++    -- ** InsertTextRequest+    InsertTextRequest (..),+    newInsertTextRequest,++    -- ** Link+    Link (..),+    newLink,++    -- ** LinkedContentReference+    LinkedContentReference (..),+    newLinkedContentReference,++    -- ** LinkedContentReferenceSuggestionState+    LinkedContentReferenceSuggestionState (..),+    newLinkedContentReferenceSuggestionState,++    -- ** List+    List (..),+    newList,++    -- ** List_SuggestedListPropertiesChanges+    List_SuggestedListPropertiesChanges (..),+    newList_SuggestedListPropertiesChanges,++    -- ** ListProperties+    ListProperties (..),+    newListProperties,++    -- ** ListPropertiesSuggestionState+    ListPropertiesSuggestionState (..),+    newListPropertiesSuggestionState,++    -- ** Location+    Location (..),+    newLocation,++    -- ** MergeTableCellsRequest+    MergeTableCellsRequest (..),+    newMergeTableCellsRequest,++    -- ** NamedRange+    NamedRange (..),+    newNamedRange,++    -- ** NamedRanges+    NamedRanges (..),+    newNamedRanges,++    -- ** NamedStyle+    NamedStyle (..),+    newNamedStyle,++    -- ** NamedStyle_NamedStyleType+    NamedStyle_NamedStyleType (..),++    -- ** NamedStyleSuggestionState+    NamedStyleSuggestionState (..),+    newNamedStyleSuggestionState,++    -- ** NamedStyleSuggestionState_NamedStyleType+    NamedStyleSuggestionState_NamedStyleType (..),++    -- ** NamedStyles+    NamedStyles (..),+    newNamedStyles,++    -- ** NamedStylesSuggestionState+    NamedStylesSuggestionState (..),+    newNamedStylesSuggestionState,++    -- ** NestingLevel+    NestingLevel (..),+    newNestingLevel,++    -- ** NestingLevel_BulletAlignment+    NestingLevel_BulletAlignment (..),++    -- ** NestingLevel_GlyphType+    NestingLevel_GlyphType (..),++    -- ** NestingLevelSuggestionState+    NestingLevelSuggestionState (..),+    newNestingLevelSuggestionState,++    -- ** ObjectReferences+    ObjectReferences (..),+    newObjectReferences,++    -- ** OptionalColor+    OptionalColor (..),+    newOptionalColor,++    -- ** PageBreak+    PageBreak (..),+    newPageBreak,++    -- ** PageBreak_SuggestedTextStyleChanges+    PageBreak_SuggestedTextStyleChanges (..),+    newPageBreak_SuggestedTextStyleChanges,++    -- ** Paragraph+    Paragraph (..),+    newParagraph,++    -- ** Paragraph_SuggestedBulletChanges+    Paragraph_SuggestedBulletChanges (..),+    newParagraph_SuggestedBulletChanges,++    -- ** Paragraph_SuggestedParagraphStyleChanges+    Paragraph_SuggestedParagraphStyleChanges (..),+    newParagraph_SuggestedParagraphStyleChanges,++    -- ** Paragraph_SuggestedPositionedObjectIds+    Paragraph_SuggestedPositionedObjectIds (..),+    newParagraph_SuggestedPositionedObjectIds,++    -- ** ParagraphBorder+    ParagraphBorder (..),+    newParagraphBorder,++    -- ** ParagraphBorder_DashStyle+    ParagraphBorder_DashStyle (..),++    -- ** ParagraphElement+    ParagraphElement (..),+    newParagraphElement,++    -- ** ParagraphStyle+    ParagraphStyle (..),+    newParagraphStyle,++    -- ** ParagraphStyle_Alignment+    ParagraphStyle_Alignment (..),++    -- ** ParagraphStyle_Direction+    ParagraphStyle_Direction (..),++    -- ** ParagraphStyle_NamedStyleType+    ParagraphStyle_NamedStyleType (..),++    -- ** ParagraphStyle_SpacingMode+    ParagraphStyle_SpacingMode (..),++    -- ** ParagraphStyleSuggestionState+    ParagraphStyleSuggestionState (..),+    newParagraphStyleSuggestionState,++    -- ** Person+    Person (..),+    newPerson,++    -- ** Person_SuggestedTextStyleChanges+    Person_SuggestedTextStyleChanges (..),+    newPerson_SuggestedTextStyleChanges,++    -- ** PersonProperties+    PersonProperties (..),+    newPersonProperties,++    -- ** PinTableHeaderRowsRequest+    PinTableHeaderRowsRequest (..),+    newPinTableHeaderRowsRequest,++    -- ** PositionedObject+    PositionedObject (..),+    newPositionedObject,++    -- ** PositionedObject_SuggestedPositionedObjectPropertiesChanges+    PositionedObject_SuggestedPositionedObjectPropertiesChanges (..),+    newPositionedObject_SuggestedPositionedObjectPropertiesChanges,++    -- ** PositionedObjectPositioning+    PositionedObjectPositioning (..),+    newPositionedObjectPositioning,++    -- ** PositionedObjectPositioning_Layout+    PositionedObjectPositioning_Layout (..),++    -- ** PositionedObjectPositioningSuggestionState+    PositionedObjectPositioningSuggestionState (..),+    newPositionedObjectPositioningSuggestionState,++    -- ** PositionedObjectProperties+    PositionedObjectProperties (..),+    newPositionedObjectProperties,++    -- ** PositionedObjectPropertiesSuggestionState+    PositionedObjectPropertiesSuggestionState (..),+    newPositionedObjectPropertiesSuggestionState,++    -- ** Range+    Range (..),+    newRange,++    -- ** ReplaceAllTextRequest+    ReplaceAllTextRequest (..),+    newReplaceAllTextRequest,++    -- ** ReplaceAllTextResponse+    ReplaceAllTextResponse (..),+    newReplaceAllTextResponse,++    -- ** ReplaceImageRequest+    ReplaceImageRequest (..),+    newReplaceImageRequest,++    -- ** ReplaceImageRequest_ImageReplaceMethod+    ReplaceImageRequest_ImageReplaceMethod (..),++    -- ** ReplaceNamedRangeContentRequest+    ReplaceNamedRangeContentRequest (..),+    newReplaceNamedRangeContentRequest,++    -- ** Request'+    Request' (..),+    newRequest,++    -- ** Response+    Response (..),+    newResponse,++    -- ** RgbColor+    RgbColor (..),+    newRgbColor,++    -- ** RichLink+    RichLink (..),+    newRichLink,++    -- ** RichLink_SuggestedTextStyleChanges+    RichLink_SuggestedTextStyleChanges (..),+    newRichLink_SuggestedTextStyleChanges,++    -- ** RichLinkProperties+    RichLinkProperties (..),+    newRichLinkProperties,++    -- ** SectionBreak+    SectionBreak (..),+    newSectionBreak,++    -- ** SectionColumnProperties+    SectionColumnProperties (..),+    newSectionColumnProperties,++    -- ** SectionStyle+    SectionStyle (..),+    newSectionStyle,++    -- ** SectionStyle_ColumnSeparatorStyle+    SectionStyle_ColumnSeparatorStyle (..),++    -- ** SectionStyle_ContentDirection+    SectionStyle_ContentDirection (..),++    -- ** SectionStyle_SectionType+    SectionStyle_SectionType (..),++    -- ** Shading+    Shading (..),+    newShading,++    -- ** ShadingSuggestionState+    ShadingSuggestionState (..),+    newShadingSuggestionState,++    -- ** SheetsChartReference+    SheetsChartReference (..),+    newSheetsChartReference,++    -- ** SheetsChartReferenceSuggestionState+    SheetsChartReferenceSuggestionState (..),+    newSheetsChartReferenceSuggestionState,++    -- ** Size+    Size (..),+    newSize,++    -- ** SizeSuggestionState+    SizeSuggestionState (..),+    newSizeSuggestionState,++    -- ** StructuralElement+    StructuralElement (..),+    newStructuralElement,++    -- ** SubstringMatchCriteria+    SubstringMatchCriteria (..),+    newSubstringMatchCriteria,++    -- ** SuggestedBullet+    SuggestedBullet (..),+    newSuggestedBullet,++    -- ** SuggestedDocumentStyle+    SuggestedDocumentStyle (..),+    newSuggestedDocumentStyle,++    -- ** SuggestedInlineObjectProperties+    SuggestedInlineObjectProperties (..),+    newSuggestedInlineObjectProperties,++    -- ** SuggestedListProperties+    SuggestedListProperties (..),+    newSuggestedListProperties,++    -- ** SuggestedNamedStyles+    SuggestedNamedStyles (..),+    newSuggestedNamedStyles,++    -- ** SuggestedParagraphStyle+    SuggestedParagraphStyle (..),+    newSuggestedParagraphStyle,++    -- ** SuggestedPositionedObjectProperties+    SuggestedPositionedObjectProperties (..),+    newSuggestedPositionedObjectProperties,++    -- ** SuggestedTableCellStyle+    SuggestedTableCellStyle (..),+    newSuggestedTableCellStyle,++    -- ** SuggestedTableRowStyle+    SuggestedTableRowStyle (..),+    newSuggestedTableRowStyle,++    -- ** SuggestedTextStyle+    SuggestedTextStyle (..),+    newSuggestedTextStyle,++    -- ** Tab+    Tab (..),+    newTab,++    -- ** TabProperties+    TabProperties (..),+    newTabProperties,++    -- ** TabStop+    TabStop (..),+    newTabStop,++    -- ** TabStop_Alignment+    TabStop_Alignment (..),++    -- ** Table+    Table (..),+    newTable,++    -- ** TableCell+    TableCell (..),+    newTableCell,++    -- ** TableCell_SuggestedTableCellStyleChanges+    TableCell_SuggestedTableCellStyleChanges (..),+    newTableCell_SuggestedTableCellStyleChanges,++    -- ** TableCellBorder+    TableCellBorder (..),+    newTableCellBorder,++    -- ** TableCellBorder_DashStyle+    TableCellBorder_DashStyle (..),++    -- ** TableCellLocation+    TableCellLocation (..),+    newTableCellLocation,++    -- ** TableCellStyle+    TableCellStyle (..),+    newTableCellStyle,++    -- ** TableCellStyle_ContentAlignment+    TableCellStyle_ContentAlignment (..),++    -- ** TableCellStyleSuggestionState+    TableCellStyleSuggestionState (..),+    newTableCellStyleSuggestionState,++    -- ** TableColumnProperties+    TableColumnProperties (..),+    newTableColumnProperties,++    -- ** TableColumnProperties_WidthType+    TableColumnProperties_WidthType (..),++    -- ** TableOfContents+    TableOfContents (..),+    newTableOfContents,++    -- ** TableRange+    TableRange (..),+    newTableRange,++    -- ** TableRow+    TableRow (..),+    newTableRow,++    -- ** TableRow_SuggestedTableRowStyleChanges+    TableRow_SuggestedTableRowStyleChanges (..),+    newTableRow_SuggestedTableRowStyleChanges,++    -- ** TableRowStyle+    TableRowStyle (..),+    newTableRowStyle,++    -- ** TableRowStyleSuggestionState+    TableRowStyleSuggestionState (..),+    newTableRowStyleSuggestionState,++    -- ** TableStyle+    TableStyle (..),+    newTableStyle,++    -- ** TabsCriteria+    TabsCriteria (..),+    newTabsCriteria,++    -- ** TextRun+    TextRun (..),+    newTextRun,++    -- ** TextRun_SuggestedTextStyleChanges+    TextRun_SuggestedTextStyleChanges (..),+    newTextRun_SuggestedTextStyleChanges,++    -- ** TextStyle+    TextStyle (..),+    newTextStyle,++    -- ** TextStyle_BaselineOffset+    TextStyle_BaselineOffset (..),++    -- ** TextStyleSuggestionState+    TextStyleSuggestionState (..),+    newTextStyleSuggestionState,++    -- ** UnmergeTableCellsRequest+    UnmergeTableCellsRequest (..),+    newUnmergeTableCellsRequest,++    -- ** UpdateDocumentStyleRequest+    UpdateDocumentStyleRequest (..),+    newUpdateDocumentStyleRequest,++    -- ** UpdateParagraphStyleRequest+    UpdateParagraphStyleRequest (..),+    newUpdateParagraphStyleRequest,++    -- ** UpdateSectionStyleRequest+    UpdateSectionStyleRequest (..),+    newUpdateSectionStyleRequest,++    -- ** UpdateTableCellStyleRequest+    UpdateTableCellStyleRequest (..),+    newUpdateTableCellStyleRequest,++    -- ** UpdateTableColumnPropertiesRequest+    UpdateTableColumnPropertiesRequest (..),+    newUpdateTableColumnPropertiesRequest,++    -- ** UpdateTableRowStyleRequest+    UpdateTableRowStyleRequest (..),+    newUpdateTableRowStyleRequest,++    -- ** UpdateTextStyleRequest+    UpdateTextStyleRequest (..),+    newUpdateTextStyleRequest,++    -- ** WeightedFontFamily+    WeightedFontFamily (..),+    newWeightedFontFamily,++    -- ** WriteControl+    WriteControl (..),+    newWriteControl,++    -- ** DocumentsGetSuggestionsViewMode+    DocumentsGetSuggestionsViewMode (..),+  )+where++import Gogol.Docs.Internal.Product+import Gogol.Docs.Internal.Sum+import Gogol.Prelude qualified as Core++-- | Default request referring to version @v1@ of the Google Docs API. This contains the host and root path used as a starting point for constructing service requests.+docsService :: Core.ServiceConfig+docsService =+  Core.defaultService+    (Core.ServiceId "docs:v1")+    "docs.googleapis.com"++-- | See, edit, create, and delete all your Google Docs documents+type Documents'FullControl =+  "https://www.googleapis.com/auth/documents"++-- | See all your Google Docs documents+type Documents'Readonly =+  "https://www.googleapis.com/auth/documents.readonly"++-- | See, edit, create, and delete all of your Google Drive files+type Drive'FullControl = "https://www.googleapis.com/auth/drive"++-- | See, edit, create, and delete only the specific Google Drive files you use with this app+type Drive'File = "https://www.googleapis.com/auth/drive.file"++-- | See and download all your Google Drive files+type Drive'Readonly =+  "https://www.googleapis.com/auth/drive.readonly"
− gen/Network/Google/Docs.hs
@@ -1,1240 +0,0 @@-{-# LANGUAGE DataKinds         #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE TypeOperators     #-}--{-# OPTIONS_GHC -fno-warn-unused-imports    #-}-{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}---- |--- Module      : Network.Google.Docs--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Reads and writes Google Docs documents.------ /See:/ <https://developers.google.com/docs/ Google Docs API Reference>-module Network.Google.Docs-    (-    -- * Service Configuration-      docsService--    -- * OAuth Scopes-    , driveReadOnlyScope-    , driveScope-    , driveFileScope-    , documentsScope-    , documentsReadOnlyScope--    -- * API Declaration-    , DocsAPI--    -- * Resources--    -- ** docs.documents.batchUpdate-    , module Network.Google.Resource.Docs.Documents.BatchUpdate--    -- ** docs.documents.create-    , module Network.Google.Resource.Docs.Documents.Create--    -- ** docs.documents.get-    , module Network.Google.Resource.Docs.Documents.Get--    -- * Types--    -- ** TableCellStyleSuggestionState-    , TableCellStyleSuggestionState-    , tableCellStyleSuggestionState-    , tcsssPaddingLeftSuggested-    , tcsssPaddingTopSuggested-    , tcsssBOrderTopSuggested-    , tcsssRowSpanSuggested-    , tcsssPaddingBottomSuggested-    , tcsssBOrderBottomSuggested-    , tcsssPaddingRightSuggested-    , tcsssColumnSpanSuggested-    , tcsssBOrderLeftSuggested-    , tcsssContentAlignmentSuggested-    , tcsssBackgRoundColorSuggested-    , tcsssBOrderRightSuggested--    -- ** EmbeddedObjectBOrderSuggestionState-    , EmbeddedObjectBOrderSuggestionState-    , embeddedObjectBOrderSuggestionState-    , eobossDashStyleSuggested-    , eobossPropertyStateSuggested-    , eobossColorSuggested-    , eobossWidthSuggested--    -- ** TableCellBOrder-    , TableCellBOrder-    , tableCellBOrder-    , tcboColor-    , tcboWidth-    , tcboDashStyle--    -- ** DeleteTableRowRequest-    , DeleteTableRowRequest-    , deleteTableRowRequest-    , dtrrTableCellLocation--    -- ** NamedStylesSuggestionState-    , NamedStylesSuggestionState-    , namedStylesSuggestionState-    , nsssStylesSuggestionStates--    -- ** PositionedObjectPositioning-    , PositionedObjectPositioning-    , positionedObjectPositioning-    , popLayout-    , popTopOffSet-    , popLeftOffSet--    -- ** SuggestedParagraphStyle-    , SuggestedParagraphStyle-    , suggestedParagraphStyle-    , spsParagraphStyleSuggestionState-    , spsParagraphStyle--    -- ** PositionedObjectProperties-    , PositionedObjectProperties-    , positionedObjectProperties-    , popEmbeddedObject-    , popPositioning--    -- ** NamedStyle-    , NamedStyle-    , namedStyle-    , nsNamedStyleType-    , nsTextStyle-    , nsParagraphStyle--    -- ** DeleteNamedRangeRequest-    , DeleteNamedRangeRequest-    , deleteNamedRangeRequest-    , dnrrNamedRangeId-    , dnrrName--    -- ** ParagraphStyleDirection-    , ParagraphStyleDirection (..)--    -- ** TextStyleBaselineOffSet-    , TextStyleBaselineOffSet (..)--    -- ** EmbeddedDrawingPropertiesSuggestionState-    , EmbeddedDrawingPropertiesSuggestionState-    , embeddedDrawingPropertiesSuggestionState--    -- ** TabStop-    , TabStop-    , tabStop-    , tsOffSet-    , tsAlignment--    -- ** NamedRanges-    , NamedRanges-    , namedRanges-    , nrNamedRanges-    , nrName--    -- ** TableColumnPropertiesWidthType-    , TableColumnPropertiesWidthType (..)--    -- ** TableRowSuggestedTableRowStyleChanges-    , TableRowSuggestedTableRowStyleChanges-    , tableRowSuggestedTableRowStyleChanges-    , trstrscAddtional--    -- ** PositionedObjectPropertiesSuggestionState-    , PositionedObjectPropertiesSuggestionState-    , positionedObjectPropertiesSuggestionState-    , popssPositioningSuggestionState-    , popssEmbeddedObjectSuggestionState--    -- ** PositionedObjectPositioningSuggestionState-    , PositionedObjectPositioningSuggestionState-    , positionedObjectPositioningSuggestionState-    , popssTopOffSetSuggested-    , popssLayoutSuggested-    , popssLeftOffSetSuggested--    -- ** NamedStyleSuggestionState-    , NamedStyleSuggestionState-    , namedStyleSuggestionState-    , nsssParagraphStyleSuggestionState-    , nsssNamedStyleType-    , nsssTextStyleSuggestionState--    -- ** CropProperties-    , CropProperties-    , cropProperties-    , cpOffSetBottom-    , cpOffSetRight-    , cpAngle-    , cpOffSetTop-    , cpOffSetLeft--    -- ** ParagraphStyleSuggestionState-    , ParagraphStyleSuggestionState-    , paragraphStyleSuggestionState-    , psssSpacingModeSuggested-    , psssBOrderTopSuggested-    , psssLineSpacingSuggested-    , psssDirectionSuggested-    , psssAvoidWidowAndOrphanSuggested-    , psssBOrderBottomSuggested-    , psssSpaceAboveSuggested-    , psssNamedStyleTypeSuggested-    , psssIndentStartSuggested-    , psssAlignmentSuggested-    , psssBOrderLeftSuggested-    , psssSpaceBelowSuggested-    , psssIndentFirstLineSuggested-    , psssShadingSuggestionState-    , psssHeadingIdSuggested-    , psssBOrderBetweenSuggested-    , psssKeepWithNextSuggested-    , psssIndentEndSuggested-    , psssBOrderRightSuggested-    , psssKeepLinesTogetherSuggested--    -- ** FootNote-    , FootNote-    , footNote-    , fnContent-    , fnFootNoteId--    -- ** AutoText-    , AutoText-    , autoText-    , atSuggestedInsertionIds-    , atSuggestedTextStyleChanges-    , atSuggestedDeletionIds-    , atTextStyle-    , atType--    -- ** List-    , List-    , list-    , lSuggestedInsertionId-    , lSuggestedListPropertiesChanges-    , lSuggestedDeletionIds-    , lListProperties--    -- ** ParagraphBOrder-    , ParagraphBOrder-    , paragraphBOrder-    , pboColor-    , pboWidth-    , pboDashStyle-    , pboPadding--    -- ** SuggestedTableCellStyle-    , SuggestedTableCellStyle-    , suggestedTableCellStyle-    , stcsTableCellStyleSuggestionState-    , stcsTableCellStyle--    -- ** InsertInlineImageResponse-    , InsertInlineImageResponse-    , insertInlineImageResponse-    , iiirObjectId--    -- ** RgbColor-    , RgbColor-    , rgbColor-    , rcRed-    , rcGreen-    , rcBlue--    -- ** InsertPageBreakRequest-    , InsertPageBreakRequest-    , insertPageBreakRequest-    , ipbrLocation-    , ipbrEndOfSegmentLocation--    -- ** CreateParagraphBulletsRequestBulletPreset-    , CreateParagraphBulletsRequestBulletPreset (..)--    -- ** BackgRoundSuggestionState-    , BackgRoundSuggestionState-    , backgRoundSuggestionState-    , brssBackgRoundColorSuggested--    -- ** TableCellBOrderDashStyle-    , TableCellBOrderDashStyle (..)--    -- ** ParagraphStyleNamedStyleType-    , ParagraphStyleNamedStyleType (..)--    -- ** InlineObjectProperties-    , InlineObjectProperties-    , inlineObjectProperties-    , iopEmbeddedObject--    -- ** SuggestedDocumentStyle-    , SuggestedDocumentStyle-    , suggestedDocumentStyle-    , sdsDocumentStyle-    , sdsDocumentStyleSuggestionState--    -- ** Location-    , Location-    , location-    , lIndex-    , lSegmentId--    -- ** TableOfContents-    , TableOfContents-    , tableOfContents-    , tocSuggestedInsertionIds-    , tocContent-    , tocSuggestedDeletionIds--    -- ** Color-    , Color-    , color-    , cRgbColor--    -- ** Size-    , Size-    , size-    , sHeight-    , sWidth--    -- ** InsertInlineSheetsChartResponse-    , InsertInlineSheetsChartResponse-    , insertInlineSheetsChartResponse-    , iiscrObjectId--    -- ** TableRowStyleSuggestionState-    , TableRowStyleSuggestionState-    , tableRowStyleSuggestionState-    , trsssMinRowHeightSuggested--    -- ** DeleteTableColumnRequest-    , DeleteTableColumnRequest-    , deleteTableColumnRequest-    , dtcrTableCellLocation--    -- ** DocumentNamedRanges-    , DocumentNamedRanges-    , documentNamedRanges-    , dnrAddtional--    -- ** EndOfSegmentLocation-    , EndOfSegmentLocation-    , endOfSegmentLocation-    , eoslSegmentId--    -- ** DocumentInlineObjects-    , DocumentInlineObjects-    , documentInlineObjects-    , dioAddtional--    -- ** ParagraphSuggestedPositionedObjectIds-    , ParagraphSuggestedPositionedObjectIds-    , paragraphSuggestedPositionedObjectIds-    , pspoiAddtional--    -- ** Link-    , Link-    , link-    , lURL-    , lHeadingId-    , lBookmarkId--    -- ** TabStopAlignment-    , TabStopAlignment (..)--    -- ** NestingLevelGlyphType-    , NestingLevelGlyphType (..)--    -- ** AutoTextSuggestedTextStyleChanges-    , AutoTextSuggestedTextStyleChanges-    , autoTextSuggestedTextStyleChanges-    , atstscAddtional--    -- ** InsertInlineImageRequest-    , InsertInlineImageRequest-    , insertInlineImageRequest-    , iiirLocation-    , iiirEndOfSegmentLocation-    , iiirURI-    , iiirObjectSize--    -- ** Dimension-    , Dimension-    , dimension-    , dMagnitude-    , dUnit--    -- ** DocumentStyle-    , DocumentStyle-    , documentStyle-    , dsMarginTop-    , dsDefaultFooterId-    , dsFirstPageHeaderId-    , dsFirstPageFooterId-    , dsDefaultHeaderId-    , dsUseEvenPageHeaderFooter-    , dsMarginLeft-    , dsPageNumberStart-    , dsUseFirstPageHeaderFooter-    , dsEvenPageFooterId-    , dsPageSize-    , dsBackgRound-    , dsMarginRight-    , dsMarginBottom-    , dsEvenPageHeaderId--    -- ** Body-    , Body-    , body-    , bContent--    -- ** ListPropertiesSuggestionState-    , ListPropertiesSuggestionState-    , listPropertiesSuggestionState-    , lpssNestingLevelsSuggestionStates--    -- ** ParagraphSuggestedBulletChanges-    , ParagraphSuggestedBulletChanges-    , paragraphSuggestedBulletChanges-    , psbcAddtional--    -- ** Response-    , Response-    , response-    , rReplaceAllText-    , rCreateNamedRange-    , rInsertInlineImage-    , rInsertInlineSheetsChart--    -- ** SheetsChartReference-    , SheetsChartReference-    , sheetsChartReference-    , scrSpreadsheetId-    , scrChartId--    -- ** OptionalColor-    , OptionalColor-    , optionalColor-    , ocColor--    -- ** CreateNamedRangeResponse-    , CreateNamedRangeResponse-    , createNamedRangeResponse-    , cnrrNamedRangeId--    -- ** SuggestedBullet-    , SuggestedBullet-    , suggestedBullet-    , sbBullet-    , sbBulletSuggestionState--    -- ** ParagraphBOrderDashStyle-    , ParagraphBOrderDashStyle (..)--    -- ** EmbeddedObject-    , EmbeddedObject-    , embeddedObject-    , eoMarginTop-    , eoSize-    , eoLinkedContentReference-    , eoImageProperties-    , eoEmbeddedObjectBOrder-    , eoEmbeddedDrawingProperties-    , eoMarginLeft-    , eoTitle-    , eoMarginRight-    , eoDescription-    , eoMarginBottom--    -- ** ReplaceAllTextResponse-    , ReplaceAllTextResponse-    , replaceAllTextResponse-    , ratrOccurrencesChanged--    -- ** DocumentStyleSuggestionState-    , DocumentStyleSuggestionState-    , documentStyleSuggestionState-    , dsssFirstPageFooterIdSuggested-    , dsssDefaultHeaderIdSuggested-    , dsssUseEvenPageHeaderFooterSuggested-    , dsssPageNumberStartSuggested-    , dsssBackgRoundSuggestionState-    , dsssUseFirstPageHeaderFooterSuggested-    , dsssPageSizeSuggestionState-    , dsssMarginTopSuggested-    , dsssEvenPageFooterIdSuggested-    , dsssMarginBottomSuggested-    , dsssEvenPageHeaderIdSuggested-    , dsssMarginLeftSuggested-    , dsssMarginRightSuggested-    , dsssFirstPageHeaderIdSuggested-    , dsssDefaultFooterIdSuggested--    -- ** LinkedContentReference-    , LinkedContentReference-    , linkedContentReference-    , lcrSheetsChartReference--    -- ** Shading-    , Shading-    , shading-    , sBackgRoundColor--    -- ** InlineObjectPropertiesSuggestionState-    , InlineObjectPropertiesSuggestionState-    , inlineObjectPropertiesSuggestionState-    , iopssEmbeddedObjectSuggestionState--    -- ** PageBreakSuggestedTextStyleChanges-    , PageBreakSuggestedTextStyleChanges-    , pageBreakSuggestedTextStyleChanges-    , pbstscAddtional--    -- ** DocumentLists-    , DocumentLists-    , documentLists-    , dlAddtional--    -- ** DeleteContentRangeRequest-    , DeleteContentRangeRequest-    , deleteContentRangeRequest-    , dcrrRange--    -- ** Bullet-    , Bullet-    , bullet-    , bListId-    , bTextStyle-    , bNestingLevel--    -- ** Paragraph-    , Paragraph-    , paragraph-    , pBullet-    , pSuggestedBulletChanges-    , pSuggestedPositionedObjectIds-    , pSuggestedParagraphStyleChanges-    , pElements-    , pPositionedObjectIds-    , pParagraphStyle--    -- ** TextRunSuggestedTextStyleChanges-    , TextRunSuggestedTextStyleChanges-    , textRunSuggestedTextStyleChanges-    , trstscAddtional--    -- ** SuggestedTableRowStyle-    , SuggestedTableRowStyle-    , suggestedTableRowStyle-    , strsTableRowStyleSuggestionState-    , strsTableRowStyle--    -- ** DocumentFootNotes-    , DocumentFootNotes-    , documentFootNotes-    , dfnAddtional--    -- ** ImageProperties-    , ImageProperties-    , imageProperties-    , ipCropProperties-    , ipContentURI-    , ipTransparency-    , ipAngle-    , ipContrast-    , ipSourceURI-    , ipBrightness--    -- ** ParagraphStyleAlignment-    , ParagraphStyleAlignment (..)--    -- ** SizeSuggestionState-    , SizeSuggestionState-    , sizeSuggestionState-    , sssHeightSuggested-    , sssWidthSuggested--    -- ** ListSuggestedListPropertiesChanges-    , ListSuggestedListPropertiesChanges-    , listSuggestedListPropertiesChanges-    , lslpcAddtional--    -- ** BatchUpdateDocumentResponse-    , BatchUpdateDocumentResponse-    , batchUpdateDocumentResponse-    , budrDocumentId-    , budrReplies-    , budrWriteControl--    -- ** TableStyle-    , TableStyle-    , tableStyle-    , tsTableColumnProperties--    -- ** FootNoteReference-    , FootNoteReference-    , footNoteReference-    , fnrSuggestedInsertionIds-    , fnrSuggestedTextStyleChanges-    , fnrFootNoteId-    , fnrSuggestedDeletionIds-    , fnrTextStyle-    , fnrFootNoteNumber--    -- ** ColumnBreak-    , ColumnBreak-    , columnBreak-    , cbSuggestedInsertionIds-    , cbSuggestedTextStyleChanges-    , cbSuggestedDeletionIds-    , cbTextStyle--    -- ** InlineObjectSuggestedInlineObjectPropertiesChanges-    , InlineObjectSuggestedInlineObjectPropertiesChanges-    , inlineObjectSuggestedInlineObjectPropertiesChanges-    , iosiopcAddtional--    -- ** Equation-    , Equation-    , equation-    , eSuggestedInsertionIds-    , eSuggestedDeletionIds--    -- ** NamedRange-    , NamedRange-    , namedRange-    , nNamedRangeId-    , nRanges-    , nName--    -- ** CropPropertiesSuggestionState-    , CropPropertiesSuggestionState-    , cropPropertiesSuggestionState-    , cpssAngleSuggested-    , cpssOffSetRightSuggested-    , cpssOffSetBottomSuggested-    , cpssOffSetTopSuggested-    , cpssOffSetLeftSuggested--    -- ** TextRun-    , TextRun-    , textRun-    , trSuggestedInsertionIds-    , trSuggestedTextStyleChanges-    , trContent-    , trSuggestedDeletionIds-    , trTextStyle--    -- ** TableRow-    , TableRow-    , tableRow-    , tSuggestedInsertionIds-    , tTableCells-    , tEndIndex-    , tSuggestedDeletionIds-    , tSuggestedTableRowStyleChanges-    , tTableRowStyle-    , tStartIndex--    -- ** WeightedFontFamily-    , WeightedFontFamily-    , weightedFontFamily-    , wffFontFamily-    , wffWeight--    -- ** PageBreak-    , PageBreak-    , pageBreak-    , pbSuggestedInsertionIds-    , pbSuggestedTextStyleChanges-    , pbSuggestedDeletionIds-    , pbTextStyle--    -- ** InlineObject-    , InlineObject-    , inlineObject-    , ioSuggestedInsertionId-    , ioInlineObjectProperties-    , ioObjectId-    , ioSuggestedDeletionIds-    , ioSuggestedInlineObjectPropertiesChanges--    -- ** EmbeddedObjectBOrder-    , EmbeddedObjectBOrder-    , embeddedObjectBOrder-    , eoboColor-    , eoboWidth-    , eoboDashStyle-    , eoboPropertyState--    -- ** EmbeddedObjectBOrderPropertyState-    , EmbeddedObjectBOrderPropertyState (..)--    -- ** TableCellSuggestedTableCellStyleChanges-    , TableCellSuggestedTableCellStyleChanges-    , tableCellSuggestedTableCellStyleChanges-    , tcstcscAddtional--    -- ** TableCellStyle-    , TableCellStyle-    , tableCellStyle-    , tcsBOrderRight-    , tcsBOrderTop-    , tcsColumnSpan-    , tcsBackgRoundColor-    , tcsPaddingBottom-    , tcsRowSpan-    , tcsBOrderLeft-    , tcsPaddingLeft-    , tcsPaddingTop-    , tcsBOrderBottom-    , tcsContentAlignment-    , tcsPaddingRight--    -- ** Header-    , Header-    , header-    , hHeaderId-    , hContent--    -- ** Range-    , Range-    , range-    , rEndIndex-    , rStartIndex-    , rSegmentId--    -- ** Document-    , Document-    , document-    , dNamedRanges-    , dInlineObjects-    , dDocumentId-    , dBody-    , dDocumentStyle-    , dFooters-    , dPositionedObjects-    , dSuggestionsViewMode-    , dHeaders-    , dNamedStyles-    , dSuggestedNamedStylesChanges-    , dSuggestedDocumentStyleChanges-    , dTitle-    , dRevisionId-    , dFootNotes-    , dLists--    -- ** DocumentSuggestedDocumentStyleChanges-    , DocumentSuggestedDocumentStyleChanges-    , documentSuggestedDocumentStyleChanges-    , dsdscAddtional--    -- ** NamedStyles-    , NamedStyles-    , namedStyles-    , nsStyles--    -- ** ParagraphSuggestedParagraphStyleChanges-    , ParagraphSuggestedParagraphStyleChanges-    , paragraphSuggestedParagraphStyleChanges-    , pspscAddtional--    -- ** EmbeddedDrawingProperties-    , EmbeddedDrawingProperties-    , embeddedDrawingProperties--    -- ** SuggestedTextStyle-    , SuggestedTextStyle-    , suggestedTextStyle-    , stsTextStyle-    , stsTextStyleSuggestionState--    -- ** SectionStyleColumnSeparatorStyle-    , SectionStyleColumnSeparatorStyle (..)--    -- ** InsertTableRowRequest-    , InsertTableRowRequest-    , insertTableRowRequest-    , itrrInsertBelow-    , itrrTableCellLocation--    -- ** SuggestedNamedStyles-    , SuggestedNamedStyles-    , suggestedNamedStyles-    , snsNamedStylesSuggestionState-    , snsNamedStyles--    -- ** Xgafv-    , Xgafv (..)--    -- ** AutoTextType-    , AutoTextType (..)--    -- ** WriteControl-    , WriteControl-    , writeControl-    , wcRequiredRevisionId-    , wcTargetRevisionId--    -- ** TextStyle-    , TextStyle-    , textStyle-    , tsLink-    , tsBackgRoundColor-    , tsBaselineOffSet-    , tsForegRoundColor-    , tsFontSize-    , tsSmallCaps-    , tsUnderline-    , tsWeightedFontFamily-    , tsItalic-    , tsBold-    , tsStrikethrough--    -- ** HorizontalRuleSuggestedTextStyleChanges-    , HorizontalRuleSuggestedTextStyleChanges-    , horizontalRuleSuggestedTextStyleChanges-    , hrstscAddtional--    -- ** UpdateTextStyleRequest-    , UpdateTextStyleRequest-    , updateTextStyleRequest-    , utsrRange-    , utsrTextStyle-    , utsrFields--    -- ** InlineObjectElement-    , InlineObjectElement-    , inlineObjectElement-    , ioeSuggestedInsertionIds-    , ioeSuggestedTextStyleChanges-    , ioeInlineObjectId-    , ioeSuggestedDeletionIds-    , ioeTextStyle--    -- ** SectionStyleContentDirection-    , SectionStyleContentDirection (..)--    -- ** NestingLevel-    , NestingLevel-    , nestingLevel-    , nlIndentFirstLine-    , nlGlyphFormat-    , nlBulletAlignment-    , nlIndentStart-    , nlGlyphSymbol-    , nlTextStyle-    , nlGlyphType-    , nlStartNumber--    -- ** TableCellLocation-    , TableCellLocation-    , tableCellLocation-    , tclColumnIndex-    , tclTableStartLocation-    , tclRowIndex--    -- ** DeletePositionedObjectRequest-    , DeletePositionedObjectRequest-    , deletePositionedObjectRequest-    , dporObjectId--    -- ** Footer-    , Footer-    , footer-    , fFooterId-    , fContent--    -- ** PositionedObject-    , PositionedObject-    , positionedObject-    , poSuggestedPositionedObjectPropertiesChanges-    , poPositionedObjectProperties-    , poSuggestedInsertionId-    , poObjectId-    , poSuggestedDeletionIds--    -- ** ObjectReferences-    , ObjectReferences-    , objectReferences-    , orObjectIds--    -- ** BulletSuggestionState-    , BulletSuggestionState-    , bulletSuggestionState-    , bssNestingLevelSuggested-    , bssListIdSuggested-    , bssTextStyleSuggestionState--    -- ** ImagePropertiesSuggestionState-    , ImagePropertiesSuggestionState-    , imagePropertiesSuggestionState-    , ipssAngleSuggested-    , ipssContrastSuggested-    , ipssContentURISuggested-    , ipssSourceURISuggested-    , ipssCropPropertiesSuggestionState-    , ipssBrightnessSuggested-    , ipssTransparencySuggested--    -- ** ShadingSuggestionState-    , ShadingSuggestionState-    , shadingSuggestionState-    , sssBackgRoundColorSuggested--    -- ** DocumentSuggestedNamedStylesChanges-    , DocumentSuggestedNamedStylesChanges-    , documentSuggestedNamedStylesChanges-    , dsnscAddtional--    -- ** TableCell-    , TableCell-    , tableCell-    , tcSuggestedInsertionIds-    , tcSuggestedTableCellStyleChanges-    , tcEndIndex-    , tcContent-    , tcTableCellStyle-    , tcSuggestedDeletionIds-    , tcStartIndex--    -- ** SheetsChartReferenceSuggestionState-    , SheetsChartReferenceSuggestionState-    , sheetsChartReferenceSuggestionState-    , scrssChartIdSuggested-    , scrssSpreadsheetIdSuggested--    -- ** ParagraphElement-    , ParagraphElement-    , paragraphElement-    , peAutoText-    , peEndIndex-    , peFootNoteReference-    , peColumnBreak-    , peTextRun-    , peEquation-    , pePageBreak-    , peInlineObjectElement-    , peHorizontalRule-    , peStartIndex--    -- ** NamedStyleNamedStyleType-    , NamedStyleNamedStyleType (..)--    -- ** HorizontalRule-    , HorizontalRule-    , horizontalRule-    , hrSuggestedInsertionIds-    , hrSuggestedTextStyleChanges-    , hrSuggestedDeletionIds-    , hrTextStyle--    -- ** EmbeddedObjectSuggestionState-    , EmbeddedObjectSuggestionState-    , embeddedObjectSuggestionState-    , eossEmbeddedObjectBOrderSuggestionState-    , eossEmbeddedDrawingPropertiesSuggestionState-    , eossTitleSuggested-    , eossMarginTopSuggested-    , eossSizeSuggestionState-    , eossMarginBottomSuggested-    , eossImagePropertiesSuggestionState-    , eossMarginLeftSuggested-    , eossLinkedContentReferenceSuggestionState-    , eossDescriptionSuggested-    , eossMarginRightSuggested--    -- ** InsertTableRequest-    , InsertTableRequest-    , insertTableRequest-    , itrLocation-    , itrEndOfSegmentLocation-    , itrRows-    , itrColumns--    -- ** SuggestedInlineObjectProperties-    , SuggestedInlineObjectProperties-    , suggestedInlineObjectProperties-    , siopInlineObjectProperties-    , siopInlineObjectPropertiesSuggestionState--    -- ** LinkedContentReferenceSuggestionState-    , LinkedContentReferenceSuggestionState-    , linkedContentReferenceSuggestionState-    , lcrssSheetsChartReferenceSuggestionState--    -- ** InlineObjectElementSuggestedTextStyleChanges-    , InlineObjectElementSuggestedTextStyleChanges-    , inlineObjectElementSuggestedTextStyleChanges-    , ioestscAddtional--    -- ** ParagraphStyleSpacingMode-    , ParagraphStyleSpacingMode (..)--    -- ** StructuralElement-    , StructuralElement-    , structuralElement-    , seTableOfContents-    , seParagraph-    , seEndIndex-    , seTable-    , seStartIndex-    , seSectionBreak--    -- ** DeleteParagraphBulletsRequest-    , DeleteParagraphBulletsRequest-    , deleteParagraphBulletsRequest-    , dpbrRange--    -- ** BatchUpdateDocumentRequest-    , BatchUpdateDocumentRequest-    , batchUpdateDocumentRequest-    , bRequests-    , bWriteControl--    -- ** ListProperties-    , ListProperties-    , listProperties-    , lpNestingLevels--    -- ** InsertTextRequest-    , InsertTextRequest-    , insertTextRequest-    , iLocation-    , iText-    , iEndOfSegmentLocation--    -- ** NestingLevelBulletAlignment-    , NestingLevelBulletAlignment (..)--    -- ** ColumnBreakSuggestedTextStyleChanges-    , ColumnBreakSuggestedTextStyleChanges-    , columnBreakSuggestedTextStyleChanges-    , cbstscAddtional--    -- ** FootNoteReferenceSuggestedTextStyleChanges-    , FootNoteReferenceSuggestedTextStyleChanges-    , footNoteReferenceSuggestedTextStyleChanges-    , fnrstscAddtional--    -- ** DocumentHeaders-    , DocumentHeaders-    , documentHeaders-    , dhAddtional--    -- ** TableRowStyle-    , TableRowStyle-    , tableRowStyle-    , trsMinRowHeight--    -- ** NamedStyleSuggestionStateNamedStyleType-    , NamedStyleSuggestionStateNamedStyleType (..)--    -- ** SectionBreak-    , SectionBreak-    , sectionBreak-    , sbSuggestedInsertionIds-    , sbSuggestedDeletionIds-    , sbSectionStyle--    -- ** EmbeddedObjectBOrderDashStyle-    , EmbeddedObjectBOrderDashStyle (..)--    -- ** DocumentSuggestionsViewMode-    , DocumentSuggestionsViewMode (..)--    -- ** Table-    , Table-    , table-    , tabSuggestedInsertionIds-    , tabTableRows-    , tabRows-    , tabTableStyle-    , tabSuggestedDeletionIds-    , tabColumns--    -- ** SectionStyle-    , SectionStyle-    , sectionStyle-    , ssColumnSeparatorStyle-    , ssContentDirection-    , ssColumnProperties--    -- ** PositionedObjectPositioningLayout-    , PositionedObjectPositioningLayout (..)--    -- ** BackgRound-    , BackgRound-    , backgRound-    , brColor--    -- ** SuggestedListProperties-    , SuggestedListProperties-    , suggestedListProperties-    , slpListPropertiesSuggestionState-    , slpListProperties--    -- ** SectionColumnProperties-    , SectionColumnProperties-    , sectionColumnProperties-    , scpWidth-    , scpPaddingEnd--    -- ** CreateParagraphBulletsRequest-    , CreateParagraphBulletsRequest-    , createParagraphBulletsRequest-    , cpbrBulletPreset-    , cpbrRange--    -- ** DimensionUnit-    , DimensionUnit (..)--    -- ** DocumentFooters-    , DocumentFooters-    , documentFooters-    , dfAddtional--    -- ** CreateNamedRangeRequest-    , CreateNamedRangeRequest-    , createNamedRangeRequest-    , cnrrName-    , cnrrRange--    -- ** TextStyleSuggestionState-    , TextStyleSuggestionState-    , textStyleSuggestionState-    , tsssItalicSuggested-    , tsssUnderlineSuggested-    , tsssFontSizeSuggested-    , tsssSmallCapsSuggested-    , tsssForegRoundColorSuggested-    , tsssBaselineOffSetSuggested-    , tsssWeightedFontFamilySuggested-    , tsssStrikethroughSuggested-    , tsssLinkSuggested-    , tsssBoldSuggested-    , tsssBackgRoundColorSuggested--    -- ** NestingLevelSuggestionState-    , NestingLevelSuggestionState-    , nestingLevelSuggestionState-    , nlssGlyphFormatSuggested-    , nlssBulletAlignmentSuggested-    , nlssGlyphTypeSuggested-    , nlssStartNumberSuggested-    , nlssIndentStartSuggested-    , nlssGlyphSymbolSuggested-    , nlssIndentFirstLineSuggested-    , nlssTextStyleSuggestionState--    -- ** ParagraphStyle-    , ParagraphStyle-    , paragraphStyle-    , psBOrderRight-    , psKeepLinesTogether-    , psTabStops-    , psBOrderTop-    , psLineSpacing-    , psDirection-    , psIndentFirstLine-    , psIndentEnd-    , psShading-    , psAvoidWidowAndOrphan-    , psNamedStyleType-    , psIndentStart-    , psAlignment-    , psBOrderLeft-    , psSpaceBelow-    , psSpacingMode-    , psHeadingId-    , psSpaceAbove-    , psBOrderBottom-    , psKeepWithNext-    , psBOrderBetween--    -- ** SuggestedPositionedObjectProperties-    , SuggestedPositionedObjectProperties-    , suggestedPositionedObjectProperties-    , spopPositionedObjectProperties-    , spopPositionedObjectPropertiesSuggestionState--    -- ** TableColumnProperties-    , TableColumnProperties-    , tableColumnProperties-    , tcpWidth-    , tcpWidthType--    -- ** TableCellStyleContentAlignment-    , TableCellStyleContentAlignment (..)--    -- ** UpdateParagraphStyleRequest-    , UpdateParagraphStyleRequest-    , updateParagraphStyleRequest-    , upsrRange-    , upsrFields-    , upsrParagraphStyle--    -- ** ReplaceAllTextRequest-    , ReplaceAllTextRequest-    , replaceAllTextRequest-    , ratrContainsText-    , ratrReplaceText--    -- ** DocumentPositionedObjects-    , DocumentPositionedObjects-    , documentPositionedObjects-    , dpoAddtional--    -- ** Request'-    , Request'-    , request'-    , reqDeletePositionedObject-    , reqCreateParagraphBullets-    , reqInsertText-    , reqDeleteParagraphBullets-    , reqDeleteTableRow-    , reqDeleteNamedRange-    , reqReplaceAllText-    , reqUpdateParagraphStyle-    , reqCreateNamedRange-    , reqInsertPageBreak-    , reqDeleteTableColumn-    , reqInsertInlineImage-    , reqDeleteContentRange-    , reqInsertTableRow-    , reqUpdateTextStyle-    , reqInsertTable--    -- ** PositionedObjectSuggestedPositionedObjectPropertiesChanges-    , PositionedObjectSuggestedPositionedObjectPropertiesChanges-    , positionedObjectSuggestedPositionedObjectPropertiesChanges-    , pospopcAddtional--    -- ** SubstringMatchCriteria-    , SubstringMatchCriteria-    , substringMatchCriteria-    , smcMatchCase-    , smcText-    ) where--import           Network.Google.Docs.Types-import           Network.Google.Prelude-import           Network.Google.Resource.Docs.Documents.BatchUpdate-import           Network.Google.Resource.Docs.Documents.Create-import           Network.Google.Resource.Docs.Documents.Get--{- $resources-TODO--}---- | Represents the entirety of the methods and resources available for the Google Docs API service.-type DocsAPI =-     DocumentsGetResource :<|> DocumentsCreateResource-       :<|> DocumentsBatchUpdateResource
− gen/Network/Google/Docs/Types.hs
@@ -1,1238 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- |--- Module      : Network.Google.Docs.Types--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.Google.Docs.Types-    (-    -- * Service Configuration-      docsService--    -- * OAuth Scopes-    , driveReadOnlyScope-    , driveScope-    , driveFileScope-    , documentsScope-    , documentsReadOnlyScope--    -- * TableCellStyleSuggestionState-    , TableCellStyleSuggestionState-    , tableCellStyleSuggestionState-    , tcsssPaddingLeftSuggested-    , tcsssPaddingTopSuggested-    , tcsssBOrderTopSuggested-    , tcsssRowSpanSuggested-    , tcsssPaddingBottomSuggested-    , tcsssBOrderBottomSuggested-    , tcsssPaddingRightSuggested-    , tcsssColumnSpanSuggested-    , tcsssBOrderLeftSuggested-    , tcsssContentAlignmentSuggested-    , tcsssBackgRoundColorSuggested-    , tcsssBOrderRightSuggested--    -- * EmbeddedObjectBOrderSuggestionState-    , EmbeddedObjectBOrderSuggestionState-    , embeddedObjectBOrderSuggestionState-    , eobossDashStyleSuggested-    , eobossPropertyStateSuggested-    , eobossColorSuggested-    , eobossWidthSuggested--    -- * TableCellBOrder-    , TableCellBOrder-    , tableCellBOrder-    , tcboColor-    , tcboWidth-    , tcboDashStyle--    -- * DeleteTableRowRequest-    , DeleteTableRowRequest-    , deleteTableRowRequest-    , dtrrTableCellLocation--    -- * NamedStylesSuggestionState-    , NamedStylesSuggestionState-    , namedStylesSuggestionState-    , nsssStylesSuggestionStates--    -- * PositionedObjectPositioning-    , PositionedObjectPositioning-    , positionedObjectPositioning-    , popLayout-    , popTopOffSet-    , popLeftOffSet--    -- * SuggestedParagraphStyle-    , SuggestedParagraphStyle-    , suggestedParagraphStyle-    , spsParagraphStyleSuggestionState-    , spsParagraphStyle--    -- * PositionedObjectProperties-    , PositionedObjectProperties-    , positionedObjectProperties-    , popEmbeddedObject-    , popPositioning--    -- * NamedStyle-    , NamedStyle-    , namedStyle-    , nsNamedStyleType-    , nsTextStyle-    , nsParagraphStyle--    -- * DeleteNamedRangeRequest-    , DeleteNamedRangeRequest-    , deleteNamedRangeRequest-    , dnrrNamedRangeId-    , dnrrName--    -- * ParagraphStyleDirection-    , ParagraphStyleDirection (..)--    -- * TextStyleBaselineOffSet-    , TextStyleBaselineOffSet (..)--    -- * EmbeddedDrawingPropertiesSuggestionState-    , EmbeddedDrawingPropertiesSuggestionState-    , embeddedDrawingPropertiesSuggestionState--    -- * TabStop-    , TabStop-    , tabStop-    , tsOffSet-    , tsAlignment--    -- * NamedRanges-    , NamedRanges-    , namedRanges-    , nrNamedRanges-    , nrName--    -- * TableColumnPropertiesWidthType-    , TableColumnPropertiesWidthType (..)--    -- * TableRowSuggestedTableRowStyleChanges-    , TableRowSuggestedTableRowStyleChanges-    , tableRowSuggestedTableRowStyleChanges-    , trstrscAddtional--    -- * PositionedObjectPropertiesSuggestionState-    , PositionedObjectPropertiesSuggestionState-    , positionedObjectPropertiesSuggestionState-    , popssPositioningSuggestionState-    , popssEmbeddedObjectSuggestionState--    -- * PositionedObjectPositioningSuggestionState-    , PositionedObjectPositioningSuggestionState-    , positionedObjectPositioningSuggestionState-    , popssTopOffSetSuggested-    , popssLayoutSuggested-    , popssLeftOffSetSuggested--    -- * NamedStyleSuggestionState-    , NamedStyleSuggestionState-    , namedStyleSuggestionState-    , nsssParagraphStyleSuggestionState-    , nsssNamedStyleType-    , nsssTextStyleSuggestionState--    -- * CropProperties-    , CropProperties-    , cropProperties-    , cpOffSetBottom-    , cpOffSetRight-    , cpAngle-    , cpOffSetTop-    , cpOffSetLeft--    -- * ParagraphStyleSuggestionState-    , ParagraphStyleSuggestionState-    , paragraphStyleSuggestionState-    , psssSpacingModeSuggested-    , psssBOrderTopSuggested-    , psssLineSpacingSuggested-    , psssDirectionSuggested-    , psssAvoidWidowAndOrphanSuggested-    , psssBOrderBottomSuggested-    , psssSpaceAboveSuggested-    , psssNamedStyleTypeSuggested-    , psssIndentStartSuggested-    , psssAlignmentSuggested-    , psssBOrderLeftSuggested-    , psssSpaceBelowSuggested-    , psssIndentFirstLineSuggested-    , psssShadingSuggestionState-    , psssHeadingIdSuggested-    , psssBOrderBetweenSuggested-    , psssKeepWithNextSuggested-    , psssIndentEndSuggested-    , psssBOrderRightSuggested-    , psssKeepLinesTogetherSuggested--    -- * FootNote-    , FootNote-    , footNote-    , fnContent-    , fnFootNoteId--    -- * AutoText-    , AutoText-    , autoText-    , atSuggestedInsertionIds-    , atSuggestedTextStyleChanges-    , atSuggestedDeletionIds-    , atTextStyle-    , atType--    -- * List-    , List-    , list-    , lSuggestedInsertionId-    , lSuggestedListPropertiesChanges-    , lSuggestedDeletionIds-    , lListProperties--    -- * ParagraphBOrder-    , ParagraphBOrder-    , paragraphBOrder-    , pboColor-    , pboWidth-    , pboDashStyle-    , pboPadding--    -- * SuggestedTableCellStyle-    , SuggestedTableCellStyle-    , suggestedTableCellStyle-    , stcsTableCellStyleSuggestionState-    , stcsTableCellStyle--    -- * InsertInlineImageResponse-    , InsertInlineImageResponse-    , insertInlineImageResponse-    , iiirObjectId--    -- * RgbColor-    , RgbColor-    , rgbColor-    , rcRed-    , rcGreen-    , rcBlue--    -- * InsertPageBreakRequest-    , InsertPageBreakRequest-    , insertPageBreakRequest-    , ipbrLocation-    , ipbrEndOfSegmentLocation--    -- * CreateParagraphBulletsRequestBulletPreset-    , CreateParagraphBulletsRequestBulletPreset (..)--    -- * BackgRoundSuggestionState-    , BackgRoundSuggestionState-    , backgRoundSuggestionState-    , brssBackgRoundColorSuggested--    -- * TableCellBOrderDashStyle-    , TableCellBOrderDashStyle (..)--    -- * ParagraphStyleNamedStyleType-    , ParagraphStyleNamedStyleType (..)--    -- * InlineObjectProperties-    , InlineObjectProperties-    , inlineObjectProperties-    , iopEmbeddedObject--    -- * SuggestedDocumentStyle-    , SuggestedDocumentStyle-    , suggestedDocumentStyle-    , sdsDocumentStyle-    , sdsDocumentStyleSuggestionState--    -- * Location-    , Location-    , location-    , lIndex-    , lSegmentId--    -- * TableOfContents-    , TableOfContents-    , tableOfContents-    , tocSuggestedInsertionIds-    , tocContent-    , tocSuggestedDeletionIds--    -- * Color-    , Color-    , color-    , cRgbColor--    -- * Size-    , Size-    , size-    , sHeight-    , sWidth--    -- * InsertInlineSheetsChartResponse-    , InsertInlineSheetsChartResponse-    , insertInlineSheetsChartResponse-    , iiscrObjectId--    -- * TableRowStyleSuggestionState-    , TableRowStyleSuggestionState-    , tableRowStyleSuggestionState-    , trsssMinRowHeightSuggested--    -- * DeleteTableColumnRequest-    , DeleteTableColumnRequest-    , deleteTableColumnRequest-    , dtcrTableCellLocation--    -- * DocumentNamedRanges-    , DocumentNamedRanges-    , documentNamedRanges-    , dnrAddtional--    -- * EndOfSegmentLocation-    , EndOfSegmentLocation-    , endOfSegmentLocation-    , eoslSegmentId--    -- * DocumentInlineObjects-    , DocumentInlineObjects-    , documentInlineObjects-    , dioAddtional--    -- * ParagraphSuggestedPositionedObjectIds-    , ParagraphSuggestedPositionedObjectIds-    , paragraphSuggestedPositionedObjectIds-    , pspoiAddtional--    -- * Link-    , Link-    , link-    , lURL-    , lHeadingId-    , lBookmarkId--    -- * TabStopAlignment-    , TabStopAlignment (..)--    -- * NestingLevelGlyphType-    , NestingLevelGlyphType (..)--    -- * AutoTextSuggestedTextStyleChanges-    , AutoTextSuggestedTextStyleChanges-    , autoTextSuggestedTextStyleChanges-    , atstscAddtional--    -- * InsertInlineImageRequest-    , InsertInlineImageRequest-    , insertInlineImageRequest-    , iiirLocation-    , iiirEndOfSegmentLocation-    , iiirURI-    , iiirObjectSize--    -- * Dimension-    , Dimension-    , dimension-    , dMagnitude-    , dUnit--    -- * DocumentStyle-    , DocumentStyle-    , documentStyle-    , dsMarginTop-    , dsDefaultFooterId-    , dsFirstPageHeaderId-    , dsFirstPageFooterId-    , dsDefaultHeaderId-    , dsUseEvenPageHeaderFooter-    , dsMarginLeft-    , dsPageNumberStart-    , dsUseFirstPageHeaderFooter-    , dsEvenPageFooterId-    , dsPageSize-    , dsBackgRound-    , dsMarginRight-    , dsMarginBottom-    , dsEvenPageHeaderId--    -- * Body-    , Body-    , body-    , bContent--    -- * ListPropertiesSuggestionState-    , ListPropertiesSuggestionState-    , listPropertiesSuggestionState-    , lpssNestingLevelsSuggestionStates--    -- * ParagraphSuggestedBulletChanges-    , ParagraphSuggestedBulletChanges-    , paragraphSuggestedBulletChanges-    , psbcAddtional--    -- * Response-    , Response-    , response-    , rReplaceAllText-    , rCreateNamedRange-    , rInsertInlineImage-    , rInsertInlineSheetsChart--    -- * SheetsChartReference-    , SheetsChartReference-    , sheetsChartReference-    , scrSpreadsheetId-    , scrChartId--    -- * OptionalColor-    , OptionalColor-    , optionalColor-    , ocColor--    -- * CreateNamedRangeResponse-    , CreateNamedRangeResponse-    , createNamedRangeResponse-    , cnrrNamedRangeId--    -- * SuggestedBullet-    , SuggestedBullet-    , suggestedBullet-    , sbBullet-    , sbBulletSuggestionState--    -- * ParagraphBOrderDashStyle-    , ParagraphBOrderDashStyle (..)--    -- * EmbeddedObject-    , EmbeddedObject-    , embeddedObject-    , eoMarginTop-    , eoSize-    , eoLinkedContentReference-    , eoImageProperties-    , eoEmbeddedObjectBOrder-    , eoEmbeddedDrawingProperties-    , eoMarginLeft-    , eoTitle-    , eoMarginRight-    , eoDescription-    , eoMarginBottom--    -- * ReplaceAllTextResponse-    , ReplaceAllTextResponse-    , replaceAllTextResponse-    , ratrOccurrencesChanged--    -- * DocumentStyleSuggestionState-    , DocumentStyleSuggestionState-    , documentStyleSuggestionState-    , dsssFirstPageFooterIdSuggested-    , dsssDefaultHeaderIdSuggested-    , dsssUseEvenPageHeaderFooterSuggested-    , dsssPageNumberStartSuggested-    , dsssBackgRoundSuggestionState-    , dsssUseFirstPageHeaderFooterSuggested-    , dsssPageSizeSuggestionState-    , dsssMarginTopSuggested-    , dsssEvenPageFooterIdSuggested-    , dsssMarginBottomSuggested-    , dsssEvenPageHeaderIdSuggested-    , dsssMarginLeftSuggested-    , dsssMarginRightSuggested-    , dsssFirstPageHeaderIdSuggested-    , dsssDefaultFooterIdSuggested--    -- * LinkedContentReference-    , LinkedContentReference-    , linkedContentReference-    , lcrSheetsChartReference--    -- * Shading-    , Shading-    , shading-    , sBackgRoundColor--    -- * InlineObjectPropertiesSuggestionState-    , InlineObjectPropertiesSuggestionState-    , inlineObjectPropertiesSuggestionState-    , iopssEmbeddedObjectSuggestionState--    -- * PageBreakSuggestedTextStyleChanges-    , PageBreakSuggestedTextStyleChanges-    , pageBreakSuggestedTextStyleChanges-    , pbstscAddtional--    -- * DocumentLists-    , DocumentLists-    , documentLists-    , dlAddtional--    -- * DeleteContentRangeRequest-    , DeleteContentRangeRequest-    , deleteContentRangeRequest-    , dcrrRange--    -- * Bullet-    , Bullet-    , bullet-    , bListId-    , bTextStyle-    , bNestingLevel--    -- * Paragraph-    , Paragraph-    , paragraph-    , pBullet-    , pSuggestedBulletChanges-    , pSuggestedPositionedObjectIds-    , pSuggestedParagraphStyleChanges-    , pElements-    , pPositionedObjectIds-    , pParagraphStyle--    -- * TextRunSuggestedTextStyleChanges-    , TextRunSuggestedTextStyleChanges-    , textRunSuggestedTextStyleChanges-    , trstscAddtional--    -- * SuggestedTableRowStyle-    , SuggestedTableRowStyle-    , suggestedTableRowStyle-    , strsTableRowStyleSuggestionState-    , strsTableRowStyle--    -- * DocumentFootNotes-    , DocumentFootNotes-    , documentFootNotes-    , dfnAddtional--    -- * ImageProperties-    , ImageProperties-    , imageProperties-    , ipCropProperties-    , ipContentURI-    , ipTransparency-    , ipAngle-    , ipContrast-    , ipSourceURI-    , ipBrightness--    -- * ParagraphStyleAlignment-    , ParagraphStyleAlignment (..)--    -- * SizeSuggestionState-    , SizeSuggestionState-    , sizeSuggestionState-    , sssHeightSuggested-    , sssWidthSuggested--    -- * ListSuggestedListPropertiesChanges-    , ListSuggestedListPropertiesChanges-    , listSuggestedListPropertiesChanges-    , lslpcAddtional--    -- * BatchUpdateDocumentResponse-    , BatchUpdateDocumentResponse-    , batchUpdateDocumentResponse-    , budrDocumentId-    , budrReplies-    , budrWriteControl--    -- * TableStyle-    , TableStyle-    , tableStyle-    , tsTableColumnProperties--    -- * FootNoteReference-    , FootNoteReference-    , footNoteReference-    , fnrSuggestedInsertionIds-    , fnrSuggestedTextStyleChanges-    , fnrFootNoteId-    , fnrSuggestedDeletionIds-    , fnrTextStyle-    , fnrFootNoteNumber--    -- * ColumnBreak-    , ColumnBreak-    , columnBreak-    , cbSuggestedInsertionIds-    , cbSuggestedTextStyleChanges-    , cbSuggestedDeletionIds-    , cbTextStyle--    -- * InlineObjectSuggestedInlineObjectPropertiesChanges-    , InlineObjectSuggestedInlineObjectPropertiesChanges-    , inlineObjectSuggestedInlineObjectPropertiesChanges-    , iosiopcAddtional--    -- * Equation-    , Equation-    , equation-    , eSuggestedInsertionIds-    , eSuggestedDeletionIds--    -- * NamedRange-    , NamedRange-    , namedRange-    , nNamedRangeId-    , nRanges-    , nName--    -- * CropPropertiesSuggestionState-    , CropPropertiesSuggestionState-    , cropPropertiesSuggestionState-    , cpssAngleSuggested-    , cpssOffSetRightSuggested-    , cpssOffSetBottomSuggested-    , cpssOffSetTopSuggested-    , cpssOffSetLeftSuggested--    -- * TextRun-    , TextRun-    , textRun-    , trSuggestedInsertionIds-    , trSuggestedTextStyleChanges-    , trContent-    , trSuggestedDeletionIds-    , trTextStyle--    -- * TableRow-    , TableRow-    , tableRow-    , tSuggestedInsertionIds-    , tTableCells-    , tEndIndex-    , tSuggestedDeletionIds-    , tSuggestedTableRowStyleChanges-    , tTableRowStyle-    , tStartIndex--    -- * WeightedFontFamily-    , WeightedFontFamily-    , weightedFontFamily-    , wffFontFamily-    , wffWeight--    -- * PageBreak-    , PageBreak-    , pageBreak-    , pbSuggestedInsertionIds-    , pbSuggestedTextStyleChanges-    , pbSuggestedDeletionIds-    , pbTextStyle--    -- * InlineObject-    , InlineObject-    , inlineObject-    , ioSuggestedInsertionId-    , ioInlineObjectProperties-    , ioObjectId-    , ioSuggestedDeletionIds-    , ioSuggestedInlineObjectPropertiesChanges--    -- * EmbeddedObjectBOrder-    , EmbeddedObjectBOrder-    , embeddedObjectBOrder-    , eoboColor-    , eoboWidth-    , eoboDashStyle-    , eoboPropertyState--    -- * EmbeddedObjectBOrderPropertyState-    , EmbeddedObjectBOrderPropertyState (..)--    -- * TableCellSuggestedTableCellStyleChanges-    , TableCellSuggestedTableCellStyleChanges-    , tableCellSuggestedTableCellStyleChanges-    , tcstcscAddtional--    -- * TableCellStyle-    , TableCellStyle-    , tableCellStyle-    , tcsBOrderRight-    , tcsBOrderTop-    , tcsColumnSpan-    , tcsBackgRoundColor-    , tcsPaddingBottom-    , tcsRowSpan-    , tcsBOrderLeft-    , tcsPaddingLeft-    , tcsPaddingTop-    , tcsBOrderBottom-    , tcsContentAlignment-    , tcsPaddingRight--    -- * Header-    , Header-    , header-    , hHeaderId-    , hContent--    -- * Range-    , Range-    , range-    , rEndIndex-    , rStartIndex-    , rSegmentId--    -- * Document-    , Document-    , document-    , dNamedRanges-    , dInlineObjects-    , dDocumentId-    , dBody-    , dDocumentStyle-    , dFooters-    , dPositionedObjects-    , dSuggestionsViewMode-    , dHeaders-    , dNamedStyles-    , dSuggestedNamedStylesChanges-    , dSuggestedDocumentStyleChanges-    , dTitle-    , dRevisionId-    , dFootNotes-    , dLists--    -- * DocumentSuggestedDocumentStyleChanges-    , DocumentSuggestedDocumentStyleChanges-    , documentSuggestedDocumentStyleChanges-    , dsdscAddtional--    -- * NamedStyles-    , NamedStyles-    , namedStyles-    , nsStyles--    -- * ParagraphSuggestedParagraphStyleChanges-    , ParagraphSuggestedParagraphStyleChanges-    , paragraphSuggestedParagraphStyleChanges-    , pspscAddtional--    -- * EmbeddedDrawingProperties-    , EmbeddedDrawingProperties-    , embeddedDrawingProperties--    -- * SuggestedTextStyle-    , SuggestedTextStyle-    , suggestedTextStyle-    , stsTextStyle-    , stsTextStyleSuggestionState--    -- * SectionStyleColumnSeparatorStyle-    , SectionStyleColumnSeparatorStyle (..)--    -- * InsertTableRowRequest-    , InsertTableRowRequest-    , insertTableRowRequest-    , itrrInsertBelow-    , itrrTableCellLocation--    -- * SuggestedNamedStyles-    , SuggestedNamedStyles-    , suggestedNamedStyles-    , snsNamedStylesSuggestionState-    , snsNamedStyles--    -- * Xgafv-    , Xgafv (..)--    -- * AutoTextType-    , AutoTextType (..)--    -- * WriteControl-    , WriteControl-    , writeControl-    , wcRequiredRevisionId-    , wcTargetRevisionId--    -- * TextStyle-    , TextStyle-    , textStyle-    , tsLink-    , tsBackgRoundColor-    , tsBaselineOffSet-    , tsForegRoundColor-    , tsFontSize-    , tsSmallCaps-    , tsUnderline-    , tsWeightedFontFamily-    , tsItalic-    , tsBold-    , tsStrikethrough--    -- * HorizontalRuleSuggestedTextStyleChanges-    , HorizontalRuleSuggestedTextStyleChanges-    , horizontalRuleSuggestedTextStyleChanges-    , hrstscAddtional--    -- * UpdateTextStyleRequest-    , UpdateTextStyleRequest-    , updateTextStyleRequest-    , utsrRange-    , utsrTextStyle-    , utsrFields--    -- * InlineObjectElement-    , InlineObjectElement-    , inlineObjectElement-    , ioeSuggestedInsertionIds-    , ioeSuggestedTextStyleChanges-    , ioeInlineObjectId-    , ioeSuggestedDeletionIds-    , ioeTextStyle--    -- * SectionStyleContentDirection-    , SectionStyleContentDirection (..)--    -- * NestingLevel-    , NestingLevel-    , nestingLevel-    , nlIndentFirstLine-    , nlGlyphFormat-    , nlBulletAlignment-    , nlIndentStart-    , nlGlyphSymbol-    , nlTextStyle-    , nlGlyphType-    , nlStartNumber--    -- * TableCellLocation-    , TableCellLocation-    , tableCellLocation-    , tclColumnIndex-    , tclTableStartLocation-    , tclRowIndex--    -- * DeletePositionedObjectRequest-    , DeletePositionedObjectRequest-    , deletePositionedObjectRequest-    , dporObjectId--    -- * Footer-    , Footer-    , footer-    , fFooterId-    , fContent--    -- * PositionedObject-    , PositionedObject-    , positionedObject-    , poSuggestedPositionedObjectPropertiesChanges-    , poPositionedObjectProperties-    , poSuggestedInsertionId-    , poObjectId-    , poSuggestedDeletionIds--    -- * ObjectReferences-    , ObjectReferences-    , objectReferences-    , orObjectIds--    -- * BulletSuggestionState-    , BulletSuggestionState-    , bulletSuggestionState-    , bssNestingLevelSuggested-    , bssListIdSuggested-    , bssTextStyleSuggestionState--    -- * ImagePropertiesSuggestionState-    , ImagePropertiesSuggestionState-    , imagePropertiesSuggestionState-    , ipssAngleSuggested-    , ipssContrastSuggested-    , ipssContentURISuggested-    , ipssSourceURISuggested-    , ipssCropPropertiesSuggestionState-    , ipssBrightnessSuggested-    , ipssTransparencySuggested--    -- * ShadingSuggestionState-    , ShadingSuggestionState-    , shadingSuggestionState-    , sssBackgRoundColorSuggested--    -- * DocumentSuggestedNamedStylesChanges-    , DocumentSuggestedNamedStylesChanges-    , documentSuggestedNamedStylesChanges-    , dsnscAddtional--    -- * TableCell-    , TableCell-    , tableCell-    , tcSuggestedInsertionIds-    , tcSuggestedTableCellStyleChanges-    , tcEndIndex-    , tcContent-    , tcTableCellStyle-    , tcSuggestedDeletionIds-    , tcStartIndex--    -- * SheetsChartReferenceSuggestionState-    , SheetsChartReferenceSuggestionState-    , sheetsChartReferenceSuggestionState-    , scrssChartIdSuggested-    , scrssSpreadsheetIdSuggested--    -- * ParagraphElement-    , ParagraphElement-    , paragraphElement-    , peAutoText-    , peEndIndex-    , peFootNoteReference-    , peColumnBreak-    , peTextRun-    , peEquation-    , pePageBreak-    , peInlineObjectElement-    , peHorizontalRule-    , peStartIndex--    -- * NamedStyleNamedStyleType-    , NamedStyleNamedStyleType (..)--    -- * HorizontalRule-    , HorizontalRule-    , horizontalRule-    , hrSuggestedInsertionIds-    , hrSuggestedTextStyleChanges-    , hrSuggestedDeletionIds-    , hrTextStyle--    -- * EmbeddedObjectSuggestionState-    , EmbeddedObjectSuggestionState-    , embeddedObjectSuggestionState-    , eossEmbeddedObjectBOrderSuggestionState-    , eossEmbeddedDrawingPropertiesSuggestionState-    , eossTitleSuggested-    , eossMarginTopSuggested-    , eossSizeSuggestionState-    , eossMarginBottomSuggested-    , eossImagePropertiesSuggestionState-    , eossMarginLeftSuggested-    , eossLinkedContentReferenceSuggestionState-    , eossDescriptionSuggested-    , eossMarginRightSuggested--    -- * InsertTableRequest-    , InsertTableRequest-    , insertTableRequest-    , itrLocation-    , itrEndOfSegmentLocation-    , itrRows-    , itrColumns--    -- * SuggestedInlineObjectProperties-    , SuggestedInlineObjectProperties-    , suggestedInlineObjectProperties-    , siopInlineObjectProperties-    , siopInlineObjectPropertiesSuggestionState--    -- * LinkedContentReferenceSuggestionState-    , LinkedContentReferenceSuggestionState-    , linkedContentReferenceSuggestionState-    , lcrssSheetsChartReferenceSuggestionState--    -- * InlineObjectElementSuggestedTextStyleChanges-    , InlineObjectElementSuggestedTextStyleChanges-    , inlineObjectElementSuggestedTextStyleChanges-    , ioestscAddtional--    -- * ParagraphStyleSpacingMode-    , ParagraphStyleSpacingMode (..)--    -- * StructuralElement-    , StructuralElement-    , structuralElement-    , seTableOfContents-    , seParagraph-    , seEndIndex-    , seTable-    , seStartIndex-    , seSectionBreak--    -- * DeleteParagraphBulletsRequest-    , DeleteParagraphBulletsRequest-    , deleteParagraphBulletsRequest-    , dpbrRange--    -- * BatchUpdateDocumentRequest-    , BatchUpdateDocumentRequest-    , batchUpdateDocumentRequest-    , bRequests-    , bWriteControl--    -- * ListProperties-    , ListProperties-    , listProperties-    , lpNestingLevels--    -- * InsertTextRequest-    , InsertTextRequest-    , insertTextRequest-    , iLocation-    , iText-    , iEndOfSegmentLocation--    -- * NestingLevelBulletAlignment-    , NestingLevelBulletAlignment (..)--    -- * ColumnBreakSuggestedTextStyleChanges-    , ColumnBreakSuggestedTextStyleChanges-    , columnBreakSuggestedTextStyleChanges-    , cbstscAddtional--    -- * FootNoteReferenceSuggestedTextStyleChanges-    , FootNoteReferenceSuggestedTextStyleChanges-    , footNoteReferenceSuggestedTextStyleChanges-    , fnrstscAddtional--    -- * DocumentHeaders-    , DocumentHeaders-    , documentHeaders-    , dhAddtional--    -- * TableRowStyle-    , TableRowStyle-    , tableRowStyle-    , trsMinRowHeight--    -- * NamedStyleSuggestionStateNamedStyleType-    , NamedStyleSuggestionStateNamedStyleType (..)--    -- * SectionBreak-    , SectionBreak-    , sectionBreak-    , sbSuggestedInsertionIds-    , sbSuggestedDeletionIds-    , sbSectionStyle--    -- * EmbeddedObjectBOrderDashStyle-    , EmbeddedObjectBOrderDashStyle (..)--    -- * DocumentSuggestionsViewMode-    , DocumentSuggestionsViewMode (..)--    -- * Table-    , Table-    , table-    , tabSuggestedInsertionIds-    , tabTableRows-    , tabRows-    , tabTableStyle-    , tabSuggestedDeletionIds-    , tabColumns--    -- * SectionStyle-    , SectionStyle-    , sectionStyle-    , ssColumnSeparatorStyle-    , ssContentDirection-    , ssColumnProperties--    -- * PositionedObjectPositioningLayout-    , PositionedObjectPositioningLayout (..)--    -- * BackgRound-    , BackgRound-    , backgRound-    , brColor--    -- * SuggestedListProperties-    , SuggestedListProperties-    , suggestedListProperties-    , slpListPropertiesSuggestionState-    , slpListProperties--    -- * SectionColumnProperties-    , SectionColumnProperties-    , sectionColumnProperties-    , scpWidth-    , scpPaddingEnd--    -- * CreateParagraphBulletsRequest-    , CreateParagraphBulletsRequest-    , createParagraphBulletsRequest-    , cpbrBulletPreset-    , cpbrRange--    -- * DimensionUnit-    , DimensionUnit (..)--    -- * DocumentFooters-    , DocumentFooters-    , documentFooters-    , dfAddtional--    -- * CreateNamedRangeRequest-    , CreateNamedRangeRequest-    , createNamedRangeRequest-    , cnrrName-    , cnrrRange--    -- * TextStyleSuggestionState-    , TextStyleSuggestionState-    , textStyleSuggestionState-    , tsssItalicSuggested-    , tsssUnderlineSuggested-    , tsssFontSizeSuggested-    , tsssSmallCapsSuggested-    , tsssForegRoundColorSuggested-    , tsssBaselineOffSetSuggested-    , tsssWeightedFontFamilySuggested-    , tsssStrikethroughSuggested-    , tsssLinkSuggested-    , tsssBoldSuggested-    , tsssBackgRoundColorSuggested--    -- * NestingLevelSuggestionState-    , NestingLevelSuggestionState-    , nestingLevelSuggestionState-    , nlssGlyphFormatSuggested-    , nlssBulletAlignmentSuggested-    , nlssGlyphTypeSuggested-    , nlssStartNumberSuggested-    , nlssIndentStartSuggested-    , nlssGlyphSymbolSuggested-    , nlssIndentFirstLineSuggested-    , nlssTextStyleSuggestionState--    -- * ParagraphStyle-    , ParagraphStyle-    , paragraphStyle-    , psBOrderRight-    , psKeepLinesTogether-    , psTabStops-    , psBOrderTop-    , psLineSpacing-    , psDirection-    , psIndentFirstLine-    , psIndentEnd-    , psShading-    , psAvoidWidowAndOrphan-    , psNamedStyleType-    , psIndentStart-    , psAlignment-    , psBOrderLeft-    , psSpaceBelow-    , psSpacingMode-    , psHeadingId-    , psSpaceAbove-    , psBOrderBottom-    , psKeepWithNext-    , psBOrderBetween--    -- * SuggestedPositionedObjectProperties-    , SuggestedPositionedObjectProperties-    , suggestedPositionedObjectProperties-    , spopPositionedObjectProperties-    , spopPositionedObjectPropertiesSuggestionState--    -- * TableColumnProperties-    , TableColumnProperties-    , tableColumnProperties-    , tcpWidth-    , tcpWidthType--    -- * TableCellStyleContentAlignment-    , TableCellStyleContentAlignment (..)--    -- * UpdateParagraphStyleRequest-    , UpdateParagraphStyleRequest-    , updateParagraphStyleRequest-    , upsrRange-    , upsrFields-    , upsrParagraphStyle--    -- * ReplaceAllTextRequest-    , ReplaceAllTextRequest-    , replaceAllTextRequest-    , ratrContainsText-    , ratrReplaceText--    -- * DocumentPositionedObjects-    , DocumentPositionedObjects-    , documentPositionedObjects-    , dpoAddtional--    -- * Request'-    , Request'-    , request'-    , reqDeletePositionedObject-    , reqCreateParagraphBullets-    , reqInsertText-    , reqDeleteParagraphBullets-    , reqDeleteTableRow-    , reqDeleteNamedRange-    , reqReplaceAllText-    , reqUpdateParagraphStyle-    , reqCreateNamedRange-    , reqInsertPageBreak-    , reqDeleteTableColumn-    , reqInsertInlineImage-    , reqDeleteContentRange-    , reqInsertTableRow-    , reqUpdateTextStyle-    , reqInsertTable--    -- * PositionedObjectSuggestedPositionedObjectPropertiesChanges-    , PositionedObjectSuggestedPositionedObjectPropertiesChanges-    , positionedObjectSuggestedPositionedObjectPropertiesChanges-    , pospopcAddtional--    -- * SubstringMatchCriteria-    , SubstringMatchCriteria-    , substringMatchCriteria-    , smcMatchCase-    , smcText-    ) where--import           Network.Google.Docs.Types.Product-import           Network.Google.Docs.Types.Sum-import           Network.Google.Prelude---- | Default request referring to version 'v1' of the Google Docs API. This contains the host and root path used as a starting point for constructing service requests.-docsService :: ServiceConfig-docsService-  = defaultService (ServiceId "docs:v1")-      "docs.googleapis.com"---- | See and download all your Google Drive files-driveReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/drive.readonly"]-driveReadOnlyScope = Proxy---- | See, edit, create, and delete all of your Google Drive files-driveScope :: Proxy '["https://www.googleapis.com/auth/drive"]-driveScope = Proxy---- | View and manage Google Drive files and folders that you have opened or--- created with this app-driveFileScope :: Proxy '["https://www.googleapis.com/auth/drive.file"]-driveFileScope = Proxy---- | View and manage your Google Docs documents-documentsScope :: Proxy '["https://www.googleapis.com/auth/documents"]-documentsScope = Proxy---- | View your Google Docs documents-documentsReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/documents.readonly"]-documentsReadOnlyScope = Proxy
− gen/Network/Google/Docs/Types/Product.hs
@@ -1,11043 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}--{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- |--- Module      : Network.Google.Docs.Types.Product--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.Google.Docs.Types.Product where--import           Network.Google.Docs.Types.Sum-import           Network.Google.Prelude---- | A mask that indicates which of the fields on the base TableCellStyle--- have been changed in this suggestion. For any field set to true, there--- is a new suggested value.------ /See:/ 'tableCellStyleSuggestionState' smart constructor.-data TableCellStyleSuggestionState =-  TableCellStyleSuggestionState'-    { _tcsssPaddingLeftSuggested      :: !(Maybe Bool)-    , _tcsssPaddingTopSuggested       :: !(Maybe Bool)-    , _tcsssBOrderTopSuggested        :: !(Maybe Bool)-    , _tcsssRowSpanSuggested          :: !(Maybe Bool)-    , _tcsssPaddingBottomSuggested    :: !(Maybe Bool)-    , _tcsssBOrderBottomSuggested     :: !(Maybe Bool)-    , _tcsssPaddingRightSuggested     :: !(Maybe Bool)-    , _tcsssColumnSpanSuggested       :: !(Maybe Bool)-    , _tcsssBOrderLeftSuggested       :: !(Maybe Bool)-    , _tcsssContentAlignmentSuggested :: !(Maybe Bool)-    , _tcsssBackgRoundColorSuggested  :: !(Maybe Bool)-    , _tcsssBOrderRightSuggested      :: !(Maybe Bool)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'TableCellStyleSuggestionState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tcsssPaddingLeftSuggested'------ * 'tcsssPaddingTopSuggested'------ * 'tcsssBOrderTopSuggested'------ * 'tcsssRowSpanSuggested'------ * 'tcsssPaddingBottomSuggested'------ * 'tcsssBOrderBottomSuggested'------ * 'tcsssPaddingRightSuggested'------ * 'tcsssColumnSpanSuggested'------ * 'tcsssBOrderLeftSuggested'------ * 'tcsssContentAlignmentSuggested'------ * 'tcsssBackgRoundColorSuggested'------ * 'tcsssBOrderRightSuggested'-tableCellStyleSuggestionState-    :: TableCellStyleSuggestionState-tableCellStyleSuggestionState =-  TableCellStyleSuggestionState'-    { _tcsssPaddingLeftSuggested = Nothing-    , _tcsssPaddingTopSuggested = Nothing-    , _tcsssBOrderTopSuggested = Nothing-    , _tcsssRowSpanSuggested = Nothing-    , _tcsssPaddingBottomSuggested = Nothing-    , _tcsssBOrderBottomSuggested = Nothing-    , _tcsssPaddingRightSuggested = Nothing-    , _tcsssColumnSpanSuggested = Nothing-    , _tcsssBOrderLeftSuggested = Nothing-    , _tcsssContentAlignmentSuggested = Nothing-    , _tcsssBackgRoundColorSuggested = Nothing-    , _tcsssBOrderRightSuggested = Nothing-    }----- | Indicates if there was a suggested change to padding_left.-tcsssPaddingLeftSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)-tcsssPaddingLeftSuggested-  = lens _tcsssPaddingLeftSuggested-      (\ s a -> s{_tcsssPaddingLeftSuggested = a})---- | Indicates if there was a suggested change to padding_top.-tcsssPaddingTopSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)-tcsssPaddingTopSuggested-  = lens _tcsssPaddingTopSuggested-      (\ s a -> s{_tcsssPaddingTopSuggested = a})---- | Indicates if there was a suggested change to border_top.-tcsssBOrderTopSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)-tcsssBOrderTopSuggested-  = lens _tcsssBOrderTopSuggested-      (\ s a -> s{_tcsssBOrderTopSuggested = a})---- | Indicates if there was a suggested change to row_span.-tcsssRowSpanSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)-tcsssRowSpanSuggested-  = lens _tcsssRowSpanSuggested-      (\ s a -> s{_tcsssRowSpanSuggested = a})---- | Indicates if there was a suggested change to padding_bottom.-tcsssPaddingBottomSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)-tcsssPaddingBottomSuggested-  = lens _tcsssPaddingBottomSuggested-      (\ s a -> s{_tcsssPaddingBottomSuggested = a})---- | Indicates if there was a suggested change to border_bottom.-tcsssBOrderBottomSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)-tcsssBOrderBottomSuggested-  = lens _tcsssBOrderBottomSuggested-      (\ s a -> s{_tcsssBOrderBottomSuggested = a})---- | Indicates if there was a suggested change to padding_right.-tcsssPaddingRightSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)-tcsssPaddingRightSuggested-  = lens _tcsssPaddingRightSuggested-      (\ s a -> s{_tcsssPaddingRightSuggested = a})---- | Indicates if there was a suggested change to column_span.-tcsssColumnSpanSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)-tcsssColumnSpanSuggested-  = lens _tcsssColumnSpanSuggested-      (\ s a -> s{_tcsssColumnSpanSuggested = a})---- | Indicates if there was a suggested change to border_left.-tcsssBOrderLeftSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)-tcsssBOrderLeftSuggested-  = lens _tcsssBOrderLeftSuggested-      (\ s a -> s{_tcsssBOrderLeftSuggested = a})---- | Indicates if there was a suggested change to content_alignment.-tcsssContentAlignmentSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)-tcsssContentAlignmentSuggested-  = lens _tcsssContentAlignmentSuggested-      (\ s a -> s{_tcsssContentAlignmentSuggested = a})---- | Indicates if there was a suggested change to background_color.-tcsssBackgRoundColorSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)-tcsssBackgRoundColorSuggested-  = lens _tcsssBackgRoundColorSuggested-      (\ s a -> s{_tcsssBackgRoundColorSuggested = a})---- | Indicates if there was a suggested change to border_right.-tcsssBOrderRightSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)-tcsssBOrderRightSuggested-  = lens _tcsssBOrderRightSuggested-      (\ s a -> s{_tcsssBOrderRightSuggested = a})--instance FromJSON TableCellStyleSuggestionState where-        parseJSON-          = withObject "TableCellStyleSuggestionState"-              (\ o ->-                 TableCellStyleSuggestionState' <$>-                   (o .:? "paddingLeftSuggested") <*>-                     (o .:? "paddingTopSuggested")-                     <*> (o .:? "borderTopSuggested")-                     <*> (o .:? "rowSpanSuggested")-                     <*> (o .:? "paddingBottomSuggested")-                     <*> (o .:? "borderBottomSuggested")-                     <*> (o .:? "paddingRightSuggested")-                     <*> (o .:? "columnSpanSuggested")-                     <*> (o .:? "borderLeftSuggested")-                     <*> (o .:? "contentAlignmentSuggested")-                     <*> (o .:? "backgroundColorSuggested")-                     <*> (o .:? "borderRightSuggested"))--instance ToJSON TableCellStyleSuggestionState where-        toJSON TableCellStyleSuggestionState'{..}-          = object-              (catMaybes-                 [("paddingLeftSuggested" .=) <$>-                    _tcsssPaddingLeftSuggested,-                  ("paddingTopSuggested" .=) <$>-                    _tcsssPaddingTopSuggested,-                  ("borderTopSuggested" .=) <$>-                    _tcsssBOrderTopSuggested,-                  ("rowSpanSuggested" .=) <$> _tcsssRowSpanSuggested,-                  ("paddingBottomSuggested" .=) <$>-                    _tcsssPaddingBottomSuggested,-                  ("borderBottomSuggested" .=) <$>-                    _tcsssBOrderBottomSuggested,-                  ("paddingRightSuggested" .=) <$>-                    _tcsssPaddingRightSuggested,-                  ("columnSpanSuggested" .=) <$>-                    _tcsssColumnSpanSuggested,-                  ("borderLeftSuggested" .=) <$>-                    _tcsssBOrderLeftSuggested,-                  ("contentAlignmentSuggested" .=) <$>-                    _tcsssContentAlignmentSuggested,-                  ("backgroundColorSuggested" .=) <$>-                    _tcsssBackgRoundColorSuggested,-                  ("borderRightSuggested" .=) <$>-                    _tcsssBOrderRightSuggested])---- | A mask that indicates which of the fields on the base--- EmbeddedObjectBorder have been changed in this suggestion. For any field--- set to true, there is a new suggested value.------ /See:/ 'embeddedObjectBOrderSuggestionState' smart constructor.-data EmbeddedObjectBOrderSuggestionState =-  EmbeddedObjectBOrderSuggestionState'-    { _eobossDashStyleSuggested     :: !(Maybe Bool)-    , _eobossPropertyStateSuggested :: !(Maybe Bool)-    , _eobossColorSuggested         :: !(Maybe Bool)-    , _eobossWidthSuggested         :: !(Maybe Bool)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'EmbeddedObjectBOrderSuggestionState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eobossDashStyleSuggested'------ * 'eobossPropertyStateSuggested'------ * 'eobossColorSuggested'------ * 'eobossWidthSuggested'-embeddedObjectBOrderSuggestionState-    :: EmbeddedObjectBOrderSuggestionState-embeddedObjectBOrderSuggestionState =-  EmbeddedObjectBOrderSuggestionState'-    { _eobossDashStyleSuggested = Nothing-    , _eobossPropertyStateSuggested = Nothing-    , _eobossColorSuggested = Nothing-    , _eobossWidthSuggested = Nothing-    }----- | Indicates if there was a suggested change to dash_style.-eobossDashStyleSuggested :: Lens' EmbeddedObjectBOrderSuggestionState (Maybe Bool)-eobossDashStyleSuggested-  = lens _eobossDashStyleSuggested-      (\ s a -> s{_eobossDashStyleSuggested = a})---- | Indicates if there was a suggested change to property_state.-eobossPropertyStateSuggested :: Lens' EmbeddedObjectBOrderSuggestionState (Maybe Bool)-eobossPropertyStateSuggested-  = lens _eobossPropertyStateSuggested-      (\ s a -> s{_eobossPropertyStateSuggested = a})---- | Indicates if there was a suggested change to color.-eobossColorSuggested :: Lens' EmbeddedObjectBOrderSuggestionState (Maybe Bool)-eobossColorSuggested-  = lens _eobossColorSuggested-      (\ s a -> s{_eobossColorSuggested = a})---- | Indicates if there was a suggested change to width.-eobossWidthSuggested :: Lens' EmbeddedObjectBOrderSuggestionState (Maybe Bool)-eobossWidthSuggested-  = lens _eobossWidthSuggested-      (\ s a -> s{_eobossWidthSuggested = a})--instance FromJSON EmbeddedObjectBOrderSuggestionState-         where-        parseJSON-          = withObject "EmbeddedObjectBOrderSuggestionState"-              (\ o ->-                 EmbeddedObjectBOrderSuggestionState' <$>-                   (o .:? "dashStyleSuggested") <*>-                     (o .:? "propertyStateSuggested")-                     <*> (o .:? "colorSuggested")-                     <*> (o .:? "widthSuggested"))--instance ToJSON EmbeddedObjectBOrderSuggestionState-         where-        toJSON EmbeddedObjectBOrderSuggestionState'{..}-          = object-              (catMaybes-                 [("dashStyleSuggested" .=) <$>-                    _eobossDashStyleSuggested,-                  ("propertyStateSuggested" .=) <$>-                    _eobossPropertyStateSuggested,-                  ("colorSuggested" .=) <$> _eobossColorSuggested,-                  ("widthSuggested" .=) <$> _eobossWidthSuggested])---- | A border around a table cell. Table cell borders cannot be transparent.--- To hide a table cell border, make its width 0.------ /See:/ 'tableCellBOrder' smart constructor.-data TableCellBOrder =-  TableCellBOrder'-    { _tcboColor     :: !(Maybe OptionalColor)-    , _tcboWidth     :: !(Maybe Dimension)-    , _tcboDashStyle :: !(Maybe TableCellBOrderDashStyle)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'TableCellBOrder' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tcboColor'------ * 'tcboWidth'------ * 'tcboDashStyle'-tableCellBOrder-    :: TableCellBOrder-tableCellBOrder =-  TableCellBOrder'-    {_tcboColor = Nothing, _tcboWidth = Nothing, _tcboDashStyle = Nothing}----- | The color of the border. This color cannot be transparent.-tcboColor :: Lens' TableCellBOrder (Maybe OptionalColor)-tcboColor-  = lens _tcboColor (\ s a -> s{_tcboColor = a})---- | The width of the border.-tcboWidth :: Lens' TableCellBOrder (Maybe Dimension)-tcboWidth-  = lens _tcboWidth (\ s a -> s{_tcboWidth = a})---- | The dash style of the border.-tcboDashStyle :: Lens' TableCellBOrder (Maybe TableCellBOrderDashStyle)-tcboDashStyle-  = lens _tcboDashStyle-      (\ s a -> s{_tcboDashStyle = a})--instance FromJSON TableCellBOrder where-        parseJSON-          = withObject "TableCellBOrder"-              (\ o ->-                 TableCellBOrder' <$>-                   (o .:? "color") <*> (o .:? "width") <*>-                     (o .:? "dashStyle"))--instance ToJSON TableCellBOrder where-        toJSON TableCellBOrder'{..}-          = object-              (catMaybes-                 [("color" .=) <$> _tcboColor,-                  ("width" .=) <$> _tcboWidth,-                  ("dashStyle" .=) <$> _tcboDashStyle])---- | Deletes a row from a table.------ /See:/ 'deleteTableRowRequest' smart constructor.-newtype DeleteTableRowRequest =-  DeleteTableRowRequest'-    { _dtrrTableCellLocation :: Maybe TableCellLocation-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteTableRowRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dtrrTableCellLocation'-deleteTableRowRequest-    :: DeleteTableRowRequest-deleteTableRowRequest =-  DeleteTableRowRequest' {_dtrrTableCellLocation = Nothing}----- | The reference table cell location from which the row will be deleted.--- The row this cell spans will be deleted. If this is a merged cell that--- spans multiple rows, all rows that the cell spans will be deleted. If no--- rows remain in the table after this deletion, the whole table is--- deleted.-dtrrTableCellLocation :: Lens' DeleteTableRowRequest (Maybe TableCellLocation)-dtrrTableCellLocation-  = lens _dtrrTableCellLocation-      (\ s a -> s{_dtrrTableCellLocation = a})--instance FromJSON DeleteTableRowRequest where-        parseJSON-          = withObject "DeleteTableRowRequest"-              (\ o ->-                 DeleteTableRowRequest' <$>-                   (o .:? "tableCellLocation"))--instance ToJSON DeleteTableRowRequest where-        toJSON DeleteTableRowRequest'{..}-          = object-              (catMaybes-                 [("tableCellLocation" .=) <$>-                    _dtrrTableCellLocation])---- | The suggestion state of a NamedStyles message.------ /See:/ 'namedStylesSuggestionState' smart constructor.-newtype NamedStylesSuggestionState =-  NamedStylesSuggestionState'-    { _nsssStylesSuggestionStates :: Maybe [NamedStyleSuggestionState]-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'NamedStylesSuggestionState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nsssStylesSuggestionStates'-namedStylesSuggestionState-    :: NamedStylesSuggestionState-namedStylesSuggestionState =-  NamedStylesSuggestionState' {_nsssStylesSuggestionStates = Nothing}----- | A mask that indicates which of the fields on the corresponding--- NamedStyle in styles have been changed in this suggestion. The order of--- these named style suggestion states match the order of the corresponding--- named style within the named styles suggestion.-nsssStylesSuggestionStates :: Lens' NamedStylesSuggestionState [NamedStyleSuggestionState]-nsssStylesSuggestionStates-  = lens _nsssStylesSuggestionStates-      (\ s a -> s{_nsssStylesSuggestionStates = a})-      . _Default-      . _Coerce--instance FromJSON NamedStylesSuggestionState where-        parseJSON-          = withObject "NamedStylesSuggestionState"-              (\ o ->-                 NamedStylesSuggestionState' <$>-                   (o .:? "stylesSuggestionStates" .!= mempty))--instance ToJSON NamedStylesSuggestionState where-        toJSON NamedStylesSuggestionState'{..}-          = object-              (catMaybes-                 [("stylesSuggestionStates" .=) <$>-                    _nsssStylesSuggestionStates])---- | The positioning of a PositionedObject. The positioned object is--- positioned relative to the beginning of the Paragraph it is tethered to.------ /See:/ 'positionedObjectPositioning' smart constructor.-data PositionedObjectPositioning =-  PositionedObjectPositioning'-    { _popLayout     :: !(Maybe PositionedObjectPositioningLayout)-    , _popTopOffSet  :: !(Maybe Dimension)-    , _popLeftOffSet :: !(Maybe Dimension)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'PositionedObjectPositioning' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'popLayout'------ * 'popTopOffSet'------ * 'popLeftOffSet'-positionedObjectPositioning-    :: PositionedObjectPositioning-positionedObjectPositioning =-  PositionedObjectPositioning'-    {_popLayout = Nothing, _popTopOffSet = Nothing, _popLeftOffSet = Nothing}----- | The layout of this positioned object.-popLayout :: Lens' PositionedObjectPositioning (Maybe PositionedObjectPositioningLayout)-popLayout-  = lens _popLayout (\ s a -> s{_popLayout = a})---- | The offset of the top edge of the positioned object relative to the--- beginning of the Paragraph it is tethered to. The exact positioning of--- the object can depend on other content in the document and the--- document\'s styling.-popTopOffSet :: Lens' PositionedObjectPositioning (Maybe Dimension)-popTopOffSet-  = lens _popTopOffSet (\ s a -> s{_popTopOffSet = a})---- | The offset of the left edge of the positioned object relative to the--- beginning of the Paragraph it is tethered to. The exact positioning of--- the object can depend on other content in the document and the--- document\'s styling.-popLeftOffSet :: Lens' PositionedObjectPositioning (Maybe Dimension)-popLeftOffSet-  = lens _popLeftOffSet-      (\ s a -> s{_popLeftOffSet = a})--instance FromJSON PositionedObjectPositioning where-        parseJSON-          = withObject "PositionedObjectPositioning"-              (\ o ->-                 PositionedObjectPositioning' <$>-                   (o .:? "layout") <*> (o .:? "topOffset") <*>-                     (o .:? "leftOffset"))--instance ToJSON PositionedObjectPositioning where-        toJSON PositionedObjectPositioning'{..}-          = object-              (catMaybes-                 [("layout" .=) <$> _popLayout,-                  ("topOffset" .=) <$> _popTopOffSet,-                  ("leftOffset" .=) <$> _popLeftOffSet])---- | A suggested change to a ParagraphStyle.------ /See:/ 'suggestedParagraphStyle' smart constructor.-data SuggestedParagraphStyle =-  SuggestedParagraphStyle'-    { _spsParagraphStyleSuggestionState :: !(Maybe ParagraphStyleSuggestionState)-    , _spsParagraphStyle                :: !(Maybe ParagraphStyle)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SuggestedParagraphStyle' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'spsParagraphStyleSuggestionState'------ * 'spsParagraphStyle'-suggestedParagraphStyle-    :: SuggestedParagraphStyle-suggestedParagraphStyle =-  SuggestedParagraphStyle'-    {_spsParagraphStyleSuggestionState = Nothing, _spsParagraphStyle = Nothing}----- | A mask that indicates which of the fields on the base ParagraphStyle--- have been changed in this suggestion.-spsParagraphStyleSuggestionState :: Lens' SuggestedParagraphStyle (Maybe ParagraphStyleSuggestionState)-spsParagraphStyleSuggestionState-  = lens _spsParagraphStyleSuggestionState-      (\ s a -> s{_spsParagraphStyleSuggestionState = a})---- | A ParagraphStyle that only includes the changes made in this suggestion.--- This can be used along with the paragraph_suggestion_state to see which--- fields have changed and their new values.-spsParagraphStyle :: Lens' SuggestedParagraphStyle (Maybe ParagraphStyle)-spsParagraphStyle-  = lens _spsParagraphStyle-      (\ s a -> s{_spsParagraphStyle = a})--instance FromJSON SuggestedParagraphStyle where-        parseJSON-          = withObject "SuggestedParagraphStyle"-              (\ o ->-                 SuggestedParagraphStyle' <$>-                   (o .:? "paragraphStyleSuggestionState") <*>-                     (o .:? "paragraphStyle"))--instance ToJSON SuggestedParagraphStyle where-        toJSON SuggestedParagraphStyle'{..}-          = object-              (catMaybes-                 [("paragraphStyleSuggestionState" .=) <$>-                    _spsParagraphStyleSuggestionState,-                  ("paragraphStyle" .=) <$> _spsParagraphStyle])---- | Properties of a PositionedObject.------ /See:/ 'positionedObjectProperties' smart constructor.-data PositionedObjectProperties =-  PositionedObjectProperties'-    { _popEmbeddedObject :: !(Maybe EmbeddedObject)-    , _popPositioning    :: !(Maybe PositionedObjectPositioning)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'PositionedObjectProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'popEmbeddedObject'------ * 'popPositioning'-positionedObjectProperties-    :: PositionedObjectProperties-positionedObjectProperties =-  PositionedObjectProperties'-    {_popEmbeddedObject = Nothing, _popPositioning = Nothing}----- | The embedded object of this positioned object.-popEmbeddedObject :: Lens' PositionedObjectProperties (Maybe EmbeddedObject)-popEmbeddedObject-  = lens _popEmbeddedObject-      (\ s a -> s{_popEmbeddedObject = a})---- | The positioning of this positioned object relative to the newline of the--- Paragraph that references this positioned object.-popPositioning :: Lens' PositionedObjectProperties (Maybe PositionedObjectPositioning)-popPositioning-  = lens _popPositioning-      (\ s a -> s{_popPositioning = a})--instance FromJSON PositionedObjectProperties where-        parseJSON-          = withObject "PositionedObjectProperties"-              (\ o ->-                 PositionedObjectProperties' <$>-                   (o .:? "embeddedObject") <*> (o .:? "positioning"))--instance ToJSON PositionedObjectProperties where-        toJSON PositionedObjectProperties'{..}-          = object-              (catMaybes-                 [("embeddedObject" .=) <$> _popEmbeddedObject,-                  ("positioning" .=) <$> _popPositioning])---- | A named style. Paragraphs in the document can inherit their TextStyle--- and ParagraphStyle from this named style when they have the same named--- style type.------ /See:/ 'namedStyle' smart constructor.-data NamedStyle =-  NamedStyle'-    { _nsNamedStyleType :: !(Maybe NamedStyleNamedStyleType)-    , _nsTextStyle      :: !(Maybe TextStyle)-    , _nsParagraphStyle :: !(Maybe ParagraphStyle)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'NamedStyle' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nsNamedStyleType'------ * 'nsTextStyle'------ * 'nsParagraphStyle'-namedStyle-    :: NamedStyle-namedStyle =-  NamedStyle'-    { _nsNamedStyleType = Nothing-    , _nsTextStyle = Nothing-    , _nsParagraphStyle = Nothing-    }----- | The type of this named style.-nsNamedStyleType :: Lens' NamedStyle (Maybe NamedStyleNamedStyleType)-nsNamedStyleType-  = lens _nsNamedStyleType-      (\ s a -> s{_nsNamedStyleType = a})---- | The text style of this named style.-nsTextStyle :: Lens' NamedStyle (Maybe TextStyle)-nsTextStyle-  = lens _nsTextStyle (\ s a -> s{_nsTextStyle = a})---- | The paragraph style of this named style.-nsParagraphStyle :: Lens' NamedStyle (Maybe ParagraphStyle)-nsParagraphStyle-  = lens _nsParagraphStyle-      (\ s a -> s{_nsParagraphStyle = a})--instance FromJSON NamedStyle where-        parseJSON-          = withObject "NamedStyle"-              (\ o ->-                 NamedStyle' <$>-                   (o .:? "namedStyleType") <*> (o .:? "textStyle") <*>-                     (o .:? "paragraphStyle"))--instance ToJSON NamedStyle where-        toJSON NamedStyle'{..}-          = object-              (catMaybes-                 [("namedStyleType" .=) <$> _nsNamedStyleType,-                  ("textStyle" .=) <$> _nsTextStyle,-                  ("paragraphStyle" .=) <$> _nsParagraphStyle])---- | Deletes a NamedRange.------ /See:/ 'deleteNamedRangeRequest' smart constructor.-data DeleteNamedRangeRequest =-  DeleteNamedRangeRequest'-    { _dnrrNamedRangeId :: !(Maybe Text)-    , _dnrrName         :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteNamedRangeRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dnrrNamedRangeId'------ * 'dnrrName'-deleteNamedRangeRequest-    :: DeleteNamedRangeRequest-deleteNamedRangeRequest =-  DeleteNamedRangeRequest' {_dnrrNamedRangeId = Nothing, _dnrrName = Nothing}----- | The ID of the named range to delete.-dnrrNamedRangeId :: Lens' DeleteNamedRangeRequest (Maybe Text)-dnrrNamedRangeId-  = lens _dnrrNamedRangeId-      (\ s a -> s{_dnrrNamedRangeId = a})---- | The name of the range(s) to delete. All named ranges with the given name--- will be deleted.-dnrrName :: Lens' DeleteNamedRangeRequest (Maybe Text)-dnrrName = lens _dnrrName (\ s a -> s{_dnrrName = a})--instance FromJSON DeleteNamedRangeRequest where-        parseJSON-          = withObject "DeleteNamedRangeRequest"-              (\ o ->-                 DeleteNamedRangeRequest' <$>-                   (o .:? "namedRangeId") <*> (o .:? "name"))--instance ToJSON DeleteNamedRangeRequest where-        toJSON DeleteNamedRangeRequest'{..}-          = object-              (catMaybes-                 [("namedRangeId" .=) <$> _dnrrNamedRangeId,-                  ("name" .=) <$> _dnrrName])---- | A mask that indicates which of the fields on the base--- EmbeddedDrawingProperties have been changed in this suggestion. For any--- field set to true, there is a new suggested value.------ /See:/ 'embeddedDrawingPropertiesSuggestionState' smart constructor.-data EmbeddedDrawingPropertiesSuggestionState =-  EmbeddedDrawingPropertiesSuggestionState'-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'EmbeddedDrawingPropertiesSuggestionState' with the minimum fields required to make a request.----embeddedDrawingPropertiesSuggestionState-    :: EmbeddedDrawingPropertiesSuggestionState-embeddedDrawingPropertiesSuggestionState =-  EmbeddedDrawingPropertiesSuggestionState'---instance FromJSON-           EmbeddedDrawingPropertiesSuggestionState-         where-        parseJSON-          = withObject-              "EmbeddedDrawingPropertiesSuggestionState"-              (\ o ->-                 pure EmbeddedDrawingPropertiesSuggestionState')--instance ToJSON-           EmbeddedDrawingPropertiesSuggestionState-         where-        toJSON = const emptyObject---- | A tab stop within a paragraph.------ /See:/ 'tabStop' smart constructor.-data TabStop =-  TabStop'-    { _tsOffSet    :: !(Maybe Dimension)-    , _tsAlignment :: !(Maybe TabStopAlignment)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'TabStop' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tsOffSet'------ * 'tsAlignment'-tabStop-    :: TabStop-tabStop = TabStop' {_tsOffSet = Nothing, _tsAlignment = Nothing}----- | The offset between this tab stop and the start margin.-tsOffSet :: Lens' TabStop (Maybe Dimension)-tsOffSet = lens _tsOffSet (\ s a -> s{_tsOffSet = a})---- | The alignment of this tab stop. If unset, the value defaults to START.-tsAlignment :: Lens' TabStop (Maybe TabStopAlignment)-tsAlignment-  = lens _tsAlignment (\ s a -> s{_tsAlignment = a})--instance FromJSON TabStop where-        parseJSON-          = withObject "TabStop"-              (\ o ->-                 TabStop' <$>-                   (o .:? "offset") <*> (o .:? "alignment"))--instance ToJSON TabStop where-        toJSON TabStop'{..}-          = object-              (catMaybes-                 [("offset" .=) <$> _tsOffSet,-                  ("alignment" .=) <$> _tsAlignment])---- | A collection of all the NamedRanges in the document that share a given--- name.------ /See:/ 'namedRanges' smart constructor.-data NamedRanges =-  NamedRanges'-    { _nrNamedRanges :: !(Maybe [NamedRange])-    , _nrName        :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'NamedRanges' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nrNamedRanges'------ * 'nrName'-namedRanges-    :: NamedRanges-namedRanges = NamedRanges' {_nrNamedRanges = Nothing, _nrName = Nothing}----- | The NamedRanges that share the same name.-nrNamedRanges :: Lens' NamedRanges [NamedRange]-nrNamedRanges-  = lens _nrNamedRanges-      (\ s a -> s{_nrNamedRanges = a})-      . _Default-      . _Coerce---- | The name that all the named ranges share.-nrName :: Lens' NamedRanges (Maybe Text)-nrName = lens _nrName (\ s a -> s{_nrName = a})--instance FromJSON NamedRanges where-        parseJSON-          = withObject "NamedRanges"-              (\ o ->-                 NamedRanges' <$>-                   (o .:? "namedRanges" .!= mempty) <*> (o .:? "name"))--instance ToJSON NamedRanges where-        toJSON NamedRanges'{..}-          = object-              (catMaybes-                 [("namedRanges" .=) <$> _nrNamedRanges,-                  ("name" .=) <$> _nrName])---- | The suggested style changes to this row, keyed by suggestion ID.------ /See:/ 'tableRowSuggestedTableRowStyleChanges' smart constructor.-newtype TableRowSuggestedTableRowStyleChanges =-  TableRowSuggestedTableRowStyleChanges'-    { _trstrscAddtional :: HashMap Text SuggestedTableRowStyle-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'TableRowSuggestedTableRowStyleChanges' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'trstrscAddtional'-tableRowSuggestedTableRowStyleChanges-    :: HashMap Text SuggestedTableRowStyle -- ^ 'trstrscAddtional'-    -> TableRowSuggestedTableRowStyleChanges-tableRowSuggestedTableRowStyleChanges pTrstrscAddtional_ =-  TableRowSuggestedTableRowStyleChanges'-    {_trstrscAddtional = _Coerce # pTrstrscAddtional_}---trstrscAddtional :: Lens' TableRowSuggestedTableRowStyleChanges (HashMap Text SuggestedTableRowStyle)-trstrscAddtional-  = lens _trstrscAddtional-      (\ s a -> s{_trstrscAddtional = a})-      . _Coerce--instance FromJSON-           TableRowSuggestedTableRowStyleChanges-         where-        parseJSON-          = withObject "TableRowSuggestedTableRowStyleChanges"-              (\ o ->-                 TableRowSuggestedTableRowStyleChanges' <$>-                   (parseJSONObject o))--instance ToJSON TableRowSuggestedTableRowStyleChanges-         where-        toJSON = toJSON . _trstrscAddtional---- | A mask that indicates which of the fields on the base--- PositionedObjectProperties have been changed in this suggestion. For any--- field set to true, there is a new suggested value.------ /See:/ 'positionedObjectPropertiesSuggestionState' smart constructor.-data PositionedObjectPropertiesSuggestionState =-  PositionedObjectPropertiesSuggestionState'-    { _popssPositioningSuggestionState    :: !(Maybe PositionedObjectPositioningSuggestionState)-    , _popssEmbeddedObjectSuggestionState :: !(Maybe EmbeddedObjectSuggestionState)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'PositionedObjectPropertiesSuggestionState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'popssPositioningSuggestionState'------ * 'popssEmbeddedObjectSuggestionState'-positionedObjectPropertiesSuggestionState-    :: PositionedObjectPropertiesSuggestionState-positionedObjectPropertiesSuggestionState =-  PositionedObjectPropertiesSuggestionState'-    { _popssPositioningSuggestionState = Nothing-    , _popssEmbeddedObjectSuggestionState = Nothing-    }----- | A mask that indicates which of the fields in positioning have been--- changed in this suggestion.-popssPositioningSuggestionState :: Lens' PositionedObjectPropertiesSuggestionState (Maybe PositionedObjectPositioningSuggestionState)-popssPositioningSuggestionState-  = lens _popssPositioningSuggestionState-      (\ s a -> s{_popssPositioningSuggestionState = a})---- | A mask that indicates which of the fields in embedded_object have been--- changed in this suggestion.-popssEmbeddedObjectSuggestionState :: Lens' PositionedObjectPropertiesSuggestionState (Maybe EmbeddedObjectSuggestionState)-popssEmbeddedObjectSuggestionState-  = lens _popssEmbeddedObjectSuggestionState-      (\ s a -> s{_popssEmbeddedObjectSuggestionState = a})--instance FromJSON-           PositionedObjectPropertiesSuggestionState-         where-        parseJSON-          = withObject-              "PositionedObjectPropertiesSuggestionState"-              (\ o ->-                 PositionedObjectPropertiesSuggestionState' <$>-                   (o .:? "positioningSuggestionState") <*>-                     (o .:? "embeddedObjectSuggestionState"))--instance ToJSON-           PositionedObjectPropertiesSuggestionState-         where-        toJSON PositionedObjectPropertiesSuggestionState'{..}-          = object-              (catMaybes-                 [("positioningSuggestionState" .=) <$>-                    _popssPositioningSuggestionState,-                  ("embeddedObjectSuggestionState" .=) <$>-                    _popssEmbeddedObjectSuggestionState])---- | A mask that indicates which of the fields on the base--- PositionedObjectPositioning have been changed in this suggestion. For--- any field set to true, there is a new suggested value.------ /See:/ 'positionedObjectPositioningSuggestionState' smart constructor.-data PositionedObjectPositioningSuggestionState =-  PositionedObjectPositioningSuggestionState'-    { _popssTopOffSetSuggested  :: !(Maybe Bool)-    , _popssLayoutSuggested     :: !(Maybe Bool)-    , _popssLeftOffSetSuggested :: !(Maybe Bool)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'PositionedObjectPositioningSuggestionState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'popssTopOffSetSuggested'------ * 'popssLayoutSuggested'------ * 'popssLeftOffSetSuggested'-positionedObjectPositioningSuggestionState-    :: PositionedObjectPositioningSuggestionState-positionedObjectPositioningSuggestionState =-  PositionedObjectPositioningSuggestionState'-    { _popssTopOffSetSuggested = Nothing-    , _popssLayoutSuggested = Nothing-    , _popssLeftOffSetSuggested = Nothing-    }----- | Indicates if there was a suggested change to top_offset.-popssTopOffSetSuggested :: Lens' PositionedObjectPositioningSuggestionState (Maybe Bool)-popssTopOffSetSuggested-  = lens _popssTopOffSetSuggested-      (\ s a -> s{_popssTopOffSetSuggested = a})---- | Indicates if there was a suggested change to layout.-popssLayoutSuggested :: Lens' PositionedObjectPositioningSuggestionState (Maybe Bool)-popssLayoutSuggested-  = lens _popssLayoutSuggested-      (\ s a -> s{_popssLayoutSuggested = a})---- | Indicates if there was a suggested change to left_offset.-popssLeftOffSetSuggested :: Lens' PositionedObjectPositioningSuggestionState (Maybe Bool)-popssLeftOffSetSuggested-  = lens _popssLeftOffSetSuggested-      (\ s a -> s{_popssLeftOffSetSuggested = a})--instance FromJSON-           PositionedObjectPositioningSuggestionState-         where-        parseJSON-          = withObject-              "PositionedObjectPositioningSuggestionState"-              (\ o ->-                 PositionedObjectPositioningSuggestionState' <$>-                   (o .:? "topOffsetSuggested") <*>-                     (o .:? "layoutSuggested")-                     <*> (o .:? "leftOffsetSuggested"))--instance ToJSON-           PositionedObjectPositioningSuggestionState-         where-        toJSON-          PositionedObjectPositioningSuggestionState'{..}-          = object-              (catMaybes-                 [("topOffsetSuggested" .=) <$>-                    _popssTopOffSetSuggested,-                  ("layoutSuggested" .=) <$> _popssLayoutSuggested,-                  ("leftOffsetSuggested" .=) <$>-                    _popssLeftOffSetSuggested])---- | A suggestion state of a NamedStyle message.------ /See:/ 'namedStyleSuggestionState' smart constructor.-data NamedStyleSuggestionState =-  NamedStyleSuggestionState'-    { _nsssParagraphStyleSuggestionState :: !(Maybe ParagraphStyleSuggestionState)-    , _nsssNamedStyleType                :: !(Maybe NamedStyleSuggestionStateNamedStyleType)-    , _nsssTextStyleSuggestionState      :: !(Maybe TextStyleSuggestionState)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'NamedStyleSuggestionState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nsssParagraphStyleSuggestionState'------ * 'nsssNamedStyleType'------ * 'nsssTextStyleSuggestionState'-namedStyleSuggestionState-    :: NamedStyleSuggestionState-namedStyleSuggestionState =-  NamedStyleSuggestionState'-    { _nsssParagraphStyleSuggestionState = Nothing-    , _nsssNamedStyleType = Nothing-    , _nsssTextStyleSuggestionState = Nothing-    }----- | A mask that indicates which of the fields in paragraph style have been--- changed in this suggestion.-nsssParagraphStyleSuggestionState :: Lens' NamedStyleSuggestionState (Maybe ParagraphStyleSuggestionState)-nsssParagraphStyleSuggestionState-  = lens _nsssParagraphStyleSuggestionState-      (\ s a -> s{_nsssParagraphStyleSuggestionState = a})---- | The named style type that this suggestion state corresponds to. This--- field is provided as a convenience for matching the--- NamedStyleSuggestionState with its corresponding NamedStyle.-nsssNamedStyleType :: Lens' NamedStyleSuggestionState (Maybe NamedStyleSuggestionStateNamedStyleType)-nsssNamedStyleType-  = lens _nsssNamedStyleType-      (\ s a -> s{_nsssNamedStyleType = a})---- | A mask that indicates which of the fields in text style have been--- changed in this suggestion.-nsssTextStyleSuggestionState :: Lens' NamedStyleSuggestionState (Maybe TextStyleSuggestionState)-nsssTextStyleSuggestionState-  = lens _nsssTextStyleSuggestionState-      (\ s a -> s{_nsssTextStyleSuggestionState = a})--instance FromJSON NamedStyleSuggestionState where-        parseJSON-          = withObject "NamedStyleSuggestionState"-              (\ o ->-                 NamedStyleSuggestionState' <$>-                   (o .:? "paragraphStyleSuggestionState") <*>-                     (o .:? "namedStyleType")-                     <*> (o .:? "textStyleSuggestionState"))--instance ToJSON NamedStyleSuggestionState where-        toJSON NamedStyleSuggestionState'{..}-          = object-              (catMaybes-                 [("paragraphStyleSuggestionState" .=) <$>-                    _nsssParagraphStyleSuggestionState,-                  ("namedStyleType" .=) <$> _nsssNamedStyleType,-                  ("textStyleSuggestionState" .=) <$>-                    _nsssTextStyleSuggestionState])---- | The crop properties of an image. The crop rectangle is represented using--- fractional offsets from the original content\'s four edges. - If the--- offset is in the interval (0, 1), the corresponding edge of crop--- rectangle is positioned inside of the image\'s original bounding--- rectangle. - If the offset is negative or greater than 1, the--- corresponding edge of crop rectangle is positioned outside of the--- image\'s original bounding rectangle. - If all offsets and rotation--- angle are 0, the image is not cropped.------ /See:/ 'cropProperties' smart constructor.-data CropProperties =-  CropProperties'-    { _cpOffSetBottom :: !(Maybe (Textual Double))-    , _cpOffSetRight  :: !(Maybe (Textual Double))-    , _cpAngle        :: !(Maybe (Textual Double))-    , _cpOffSetTop    :: !(Maybe (Textual Double))-    , _cpOffSetLeft   :: !(Maybe (Textual Double))-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'CropProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cpOffSetBottom'------ * 'cpOffSetRight'------ * 'cpAngle'------ * 'cpOffSetTop'------ * 'cpOffSetLeft'-cropProperties-    :: CropProperties-cropProperties =-  CropProperties'-    { _cpOffSetBottom = Nothing-    , _cpOffSetRight = Nothing-    , _cpAngle = Nothing-    , _cpOffSetTop = Nothing-    , _cpOffSetLeft = Nothing-    }----- | The offset specifies how far inwards the bottom edge of the crop--- rectangle is from the bottom edge of the original content as a fraction--- of the original content\'s height.-cpOffSetBottom :: Lens' CropProperties (Maybe Double)-cpOffSetBottom-  = lens _cpOffSetBottom-      (\ s a -> s{_cpOffSetBottom = a})-      . mapping _Coerce---- | The offset specifies how far inwards the right edge of the crop--- rectangle is from the right edge of the original content as a fraction--- of the original content\'s width.-cpOffSetRight :: Lens' CropProperties (Maybe Double)-cpOffSetRight-  = lens _cpOffSetRight-      (\ s a -> s{_cpOffSetRight = a})-      . mapping _Coerce---- | The clockwise rotation angle of the crop rectangle around its center, in--- radians. Rotation is applied after the offsets.-cpAngle :: Lens' CropProperties (Maybe Double)-cpAngle-  = lens _cpAngle (\ s a -> s{_cpAngle = a}) .-      mapping _Coerce---- | The offset specifies how far inwards the top edge of the crop rectangle--- is from the top edge of the original content as a fraction of the--- original content\'s height.-cpOffSetTop :: Lens' CropProperties (Maybe Double)-cpOffSetTop-  = lens _cpOffSetTop (\ s a -> s{_cpOffSetTop = a}) .-      mapping _Coerce---- | The offset specifies how far inwards the left edge of the crop rectangle--- is from the left edge of the original content as a fraction of the--- original content\'s width.-cpOffSetLeft :: Lens' CropProperties (Maybe Double)-cpOffSetLeft-  = lens _cpOffSetLeft (\ s a -> s{_cpOffSetLeft = a})-      . mapping _Coerce--instance FromJSON CropProperties where-        parseJSON-          = withObject "CropProperties"-              (\ o ->-                 CropProperties' <$>-                   (o .:? "offsetBottom") <*> (o .:? "offsetRight") <*>-                     (o .:? "angle")-                     <*> (o .:? "offsetTop")-                     <*> (o .:? "offsetLeft"))--instance ToJSON CropProperties where-        toJSON CropProperties'{..}-          = object-              (catMaybes-                 [("offsetBottom" .=) <$> _cpOffSetBottom,-                  ("offsetRight" .=) <$> _cpOffSetRight,-                  ("angle" .=) <$> _cpAngle,-                  ("offsetTop" .=) <$> _cpOffSetTop,-                  ("offsetLeft" .=) <$> _cpOffSetLeft])---- | A mask that indicates which of the fields on the base ParagraphStyle--- have been changed in this suggestion. For any field set to true, there--- is a new suggested value.------ /See:/ 'paragraphStyleSuggestionState' smart constructor.-data ParagraphStyleSuggestionState =-  ParagraphStyleSuggestionState'-    { _psssSpacingModeSuggested         :: !(Maybe Bool)-    , _psssBOrderTopSuggested           :: !(Maybe Bool)-    , _psssLineSpacingSuggested         :: !(Maybe Bool)-    , _psssDirectionSuggested           :: !(Maybe Bool)-    , _psssAvoidWidowAndOrphanSuggested :: !(Maybe Bool)-    , _psssBOrderBottomSuggested        :: !(Maybe Bool)-    , _psssSpaceAboveSuggested          :: !(Maybe Bool)-    , _psssNamedStyleTypeSuggested      :: !(Maybe Bool)-    , _psssIndentStartSuggested         :: !(Maybe Bool)-    , _psssAlignmentSuggested           :: !(Maybe Bool)-    , _psssBOrderLeftSuggested          :: !(Maybe Bool)-    , _psssSpaceBelowSuggested          :: !(Maybe Bool)-    , _psssIndentFirstLineSuggested     :: !(Maybe Bool)-    , _psssShadingSuggestionState       :: !(Maybe ShadingSuggestionState)-    , _psssHeadingIdSuggested           :: !(Maybe Bool)-    , _psssBOrderBetweenSuggested       :: !(Maybe Bool)-    , _psssKeepWithNextSuggested        :: !(Maybe Bool)-    , _psssIndentEndSuggested           :: !(Maybe Bool)-    , _psssBOrderRightSuggested         :: !(Maybe Bool)-    , _psssKeepLinesTogetherSuggested   :: !(Maybe Bool)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ParagraphStyleSuggestionState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'psssSpacingModeSuggested'------ * 'psssBOrderTopSuggested'------ * 'psssLineSpacingSuggested'------ * 'psssDirectionSuggested'------ * 'psssAvoidWidowAndOrphanSuggested'------ * 'psssBOrderBottomSuggested'------ * 'psssSpaceAboveSuggested'------ * 'psssNamedStyleTypeSuggested'------ * 'psssIndentStartSuggested'------ * 'psssAlignmentSuggested'------ * 'psssBOrderLeftSuggested'------ * 'psssSpaceBelowSuggested'------ * 'psssIndentFirstLineSuggested'------ * 'psssShadingSuggestionState'------ * 'psssHeadingIdSuggested'------ * 'psssBOrderBetweenSuggested'------ * 'psssKeepWithNextSuggested'------ * 'psssIndentEndSuggested'------ * 'psssBOrderRightSuggested'------ * 'psssKeepLinesTogetherSuggested'-paragraphStyleSuggestionState-    :: ParagraphStyleSuggestionState-paragraphStyleSuggestionState =-  ParagraphStyleSuggestionState'-    { _psssSpacingModeSuggested = Nothing-    , _psssBOrderTopSuggested = Nothing-    , _psssLineSpacingSuggested = Nothing-    , _psssDirectionSuggested = Nothing-    , _psssAvoidWidowAndOrphanSuggested = Nothing-    , _psssBOrderBottomSuggested = Nothing-    , _psssSpaceAboveSuggested = Nothing-    , _psssNamedStyleTypeSuggested = Nothing-    , _psssIndentStartSuggested = Nothing-    , _psssAlignmentSuggested = Nothing-    , _psssBOrderLeftSuggested = Nothing-    , _psssSpaceBelowSuggested = Nothing-    , _psssIndentFirstLineSuggested = Nothing-    , _psssShadingSuggestionState = Nothing-    , _psssHeadingIdSuggested = Nothing-    , _psssBOrderBetweenSuggested = Nothing-    , _psssKeepWithNextSuggested = Nothing-    , _psssIndentEndSuggested = Nothing-    , _psssBOrderRightSuggested = Nothing-    , _psssKeepLinesTogetherSuggested = Nothing-    }----- | Indicates if there was a suggested change to spacing_mode.-psssSpacingModeSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)-psssSpacingModeSuggested-  = lens _psssSpacingModeSuggested-      (\ s a -> s{_psssSpacingModeSuggested = a})---- | Indicates if there was a suggested change to border_top.-psssBOrderTopSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)-psssBOrderTopSuggested-  = lens _psssBOrderTopSuggested-      (\ s a -> s{_psssBOrderTopSuggested = a})---- | Indicates if there was a suggested change to line_spacing.-psssLineSpacingSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)-psssLineSpacingSuggested-  = lens _psssLineSpacingSuggested-      (\ s a -> s{_psssLineSpacingSuggested = a})---- | Indicates if there was a suggested change to direction.-psssDirectionSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)-psssDirectionSuggested-  = lens _psssDirectionSuggested-      (\ s a -> s{_psssDirectionSuggested = a})---- | Indicates if there was a suggested change to avoid_widow_and_orphan.-psssAvoidWidowAndOrphanSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)-psssAvoidWidowAndOrphanSuggested-  = lens _psssAvoidWidowAndOrphanSuggested-      (\ s a -> s{_psssAvoidWidowAndOrphanSuggested = a})---- | Indicates if there was a suggested change to border_bottom.-psssBOrderBottomSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)-psssBOrderBottomSuggested-  = lens _psssBOrderBottomSuggested-      (\ s a -> s{_psssBOrderBottomSuggested = a})---- | Indicates if there was a suggested change to space_above.-psssSpaceAboveSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)-psssSpaceAboveSuggested-  = lens _psssSpaceAboveSuggested-      (\ s a -> s{_psssSpaceAboveSuggested = a})---- | Indicates if there was a suggested change to named_style_type.-psssNamedStyleTypeSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)-psssNamedStyleTypeSuggested-  = lens _psssNamedStyleTypeSuggested-      (\ s a -> s{_psssNamedStyleTypeSuggested = a})---- | Indicates if there was a suggested change to indent_start.-psssIndentStartSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)-psssIndentStartSuggested-  = lens _psssIndentStartSuggested-      (\ s a -> s{_psssIndentStartSuggested = a})---- | Indicates if there was a suggested change to alignment.-psssAlignmentSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)-psssAlignmentSuggested-  = lens _psssAlignmentSuggested-      (\ s a -> s{_psssAlignmentSuggested = a})---- | Indicates if there was a suggested change to border_left.-psssBOrderLeftSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)-psssBOrderLeftSuggested-  = lens _psssBOrderLeftSuggested-      (\ s a -> s{_psssBOrderLeftSuggested = a})---- | Indicates if there was a suggested change to space_below.-psssSpaceBelowSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)-psssSpaceBelowSuggested-  = lens _psssSpaceBelowSuggested-      (\ s a -> s{_psssSpaceBelowSuggested = a})---- | Indicates if there was a suggested change to indent_first_line.-psssIndentFirstLineSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)-psssIndentFirstLineSuggested-  = lens _psssIndentFirstLineSuggested-      (\ s a -> s{_psssIndentFirstLineSuggested = a})---- | A mask that indicates which of the fields in shading have been changed--- in this suggestion.-psssShadingSuggestionState :: Lens' ParagraphStyleSuggestionState (Maybe ShadingSuggestionState)-psssShadingSuggestionState-  = lens _psssShadingSuggestionState-      (\ s a -> s{_psssShadingSuggestionState = a})---- | Indicates if there was a suggested change to heading_id.-psssHeadingIdSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)-psssHeadingIdSuggested-  = lens _psssHeadingIdSuggested-      (\ s a -> s{_psssHeadingIdSuggested = a})---- | Indicates if there was a suggested change to border_between.-psssBOrderBetweenSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)-psssBOrderBetweenSuggested-  = lens _psssBOrderBetweenSuggested-      (\ s a -> s{_psssBOrderBetweenSuggested = a})---- | Indicates if there was a suggested change to keep_with_next.-psssKeepWithNextSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)-psssKeepWithNextSuggested-  = lens _psssKeepWithNextSuggested-      (\ s a -> s{_psssKeepWithNextSuggested = a})---- | Indicates if there was a suggested change to indent_end.-psssIndentEndSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)-psssIndentEndSuggested-  = lens _psssIndentEndSuggested-      (\ s a -> s{_psssIndentEndSuggested = a})---- | Indicates if there was a suggested change to border_right.-psssBOrderRightSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)-psssBOrderRightSuggested-  = lens _psssBOrderRightSuggested-      (\ s a -> s{_psssBOrderRightSuggested = a})---- | Indicates if there was a suggested change to keep_lines_together.-psssKeepLinesTogetherSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)-psssKeepLinesTogetherSuggested-  = lens _psssKeepLinesTogetherSuggested-      (\ s a -> s{_psssKeepLinesTogetherSuggested = a})--instance FromJSON ParagraphStyleSuggestionState where-        parseJSON-          = withObject "ParagraphStyleSuggestionState"-              (\ o ->-                 ParagraphStyleSuggestionState' <$>-                   (o .:? "spacingModeSuggested") <*>-                     (o .:? "borderTopSuggested")-                     <*> (o .:? "lineSpacingSuggested")-                     <*> (o .:? "directionSuggested")-                     <*> (o .:? "avoidWidowAndOrphanSuggested")-                     <*> (o .:? "borderBottomSuggested")-                     <*> (o .:? "spaceAboveSuggested")-                     <*> (o .:? "namedStyleTypeSuggested")-                     <*> (o .:? "indentStartSuggested")-                     <*> (o .:? "alignmentSuggested")-                     <*> (o .:? "borderLeftSuggested")-                     <*> (o .:? "spaceBelowSuggested")-                     <*> (o .:? "indentFirstLineSuggested")-                     <*> (o .:? "shadingSuggestionState")-                     <*> (o .:? "headingIdSuggested")-                     <*> (o .:? "borderBetweenSuggested")-                     <*> (o .:? "keepWithNextSuggested")-                     <*> (o .:? "indentEndSuggested")-                     <*> (o .:? "borderRightSuggested")-                     <*> (o .:? "keepLinesTogetherSuggested"))--instance ToJSON ParagraphStyleSuggestionState where-        toJSON ParagraphStyleSuggestionState'{..}-          = object-              (catMaybes-                 [("spacingModeSuggested" .=) <$>-                    _psssSpacingModeSuggested,-                  ("borderTopSuggested" .=) <$>-                    _psssBOrderTopSuggested,-                  ("lineSpacingSuggested" .=) <$>-                    _psssLineSpacingSuggested,-                  ("directionSuggested" .=) <$>-                    _psssDirectionSuggested,-                  ("avoidWidowAndOrphanSuggested" .=) <$>-                    _psssAvoidWidowAndOrphanSuggested,-                  ("borderBottomSuggested" .=) <$>-                    _psssBOrderBottomSuggested,-                  ("spaceAboveSuggested" .=) <$>-                    _psssSpaceAboveSuggested,-                  ("namedStyleTypeSuggested" .=) <$>-                    _psssNamedStyleTypeSuggested,-                  ("indentStartSuggested" .=) <$>-                    _psssIndentStartSuggested,-                  ("alignmentSuggested" .=) <$>-                    _psssAlignmentSuggested,-                  ("borderLeftSuggested" .=) <$>-                    _psssBOrderLeftSuggested,-                  ("spaceBelowSuggested" .=) <$>-                    _psssSpaceBelowSuggested,-                  ("indentFirstLineSuggested" .=) <$>-                    _psssIndentFirstLineSuggested,-                  ("shadingSuggestionState" .=) <$>-                    _psssShadingSuggestionState,-                  ("headingIdSuggested" .=) <$>-                    _psssHeadingIdSuggested,-                  ("borderBetweenSuggested" .=) <$>-                    _psssBOrderBetweenSuggested,-                  ("keepWithNextSuggested" .=) <$>-                    _psssKeepWithNextSuggested,-                  ("indentEndSuggested" .=) <$>-                    _psssIndentEndSuggested,-                  ("borderRightSuggested" .=) <$>-                    _psssBOrderRightSuggested,-                  ("keepLinesTogetherSuggested" .=) <$>-                    _psssKeepLinesTogetherSuggested])---- | A document footnote.------ /See:/ 'footNote' smart constructor.-data FootNote =-  FootNote'-    { _fnContent    :: !(Maybe [StructuralElement])-    , _fnFootNoteId :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'FootNote' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fnContent'------ * 'fnFootNoteId'-footNote-    :: FootNote-footNote = FootNote' {_fnContent = Nothing, _fnFootNoteId = Nothing}----- | The contents of the footnote. The indexes for a footnote\'s content--- begin at zero.-fnContent :: Lens' FootNote [StructuralElement]-fnContent-  = lens _fnContent (\ s a -> s{_fnContent = a}) .-      _Default-      . _Coerce---- | The ID of the footnote.-fnFootNoteId :: Lens' FootNote (Maybe Text)-fnFootNoteId-  = lens _fnFootNoteId (\ s a -> s{_fnFootNoteId = a})--instance FromJSON FootNote where-        parseJSON-          = withObject "FootNote"-              (\ o ->-                 FootNote' <$>-                   (o .:? "content" .!= mempty) <*>-                     (o .:? "footnoteId"))--instance ToJSON FootNote where-        toJSON FootNote'{..}-          = object-              (catMaybes-                 [("content" .=) <$> _fnContent,-                  ("footnoteId" .=) <$> _fnFootNoteId])---- | A ParagraphElement representing a spot in the text that is dynamically--- replaced with content that can change over time, like a page number.------ /See:/ 'autoText' smart constructor.-data AutoText =-  AutoText'-    { _atSuggestedInsertionIds     :: !(Maybe [Text])-    , _atSuggestedTextStyleChanges :: !(Maybe AutoTextSuggestedTextStyleChanges)-    , _atSuggestedDeletionIds      :: !(Maybe [Text])-    , _atTextStyle                 :: !(Maybe TextStyle)-    , _atType                      :: !(Maybe AutoTextType)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'AutoText' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'atSuggestedInsertionIds'------ * 'atSuggestedTextStyleChanges'------ * 'atSuggestedDeletionIds'------ * 'atTextStyle'------ * 'atType'-autoText-    :: AutoText-autoText =-  AutoText'-    { _atSuggestedInsertionIds = Nothing-    , _atSuggestedTextStyleChanges = Nothing-    , _atSuggestedDeletionIds = Nothing-    , _atTextStyle = Nothing-    , _atType = Nothing-    }----- | The suggested insertion IDs. An AutoText may have multiple insertion IDs--- if it is a nested suggested change. If empty, then this is not a--- suggested insertion.-atSuggestedInsertionIds :: Lens' AutoText [Text]-atSuggestedInsertionIds-  = lens _atSuggestedInsertionIds-      (\ s a -> s{_atSuggestedInsertionIds = a})-      . _Default-      . _Coerce---- | The suggested text style changes to this AutoText, keyed by suggestion--- ID.-atSuggestedTextStyleChanges :: Lens' AutoText (Maybe AutoTextSuggestedTextStyleChanges)-atSuggestedTextStyleChanges-  = lens _atSuggestedTextStyleChanges-      (\ s a -> s{_atSuggestedTextStyleChanges = a})---- | The suggested deletion IDs. If empty, then there are no suggested--- deletions of this content.-atSuggestedDeletionIds :: Lens' AutoText [Text]-atSuggestedDeletionIds-  = lens _atSuggestedDeletionIds-      (\ s a -> s{_atSuggestedDeletionIds = a})-      . _Default-      . _Coerce---- | The text style of this AutoText.-atTextStyle :: Lens' AutoText (Maybe TextStyle)-atTextStyle-  = lens _atTextStyle (\ s a -> s{_atTextStyle = a})---- | The type of this auto text.-atType :: Lens' AutoText (Maybe AutoTextType)-atType = lens _atType (\ s a -> s{_atType = a})--instance FromJSON AutoText where-        parseJSON-          = withObject "AutoText"-              (\ o ->-                 AutoText' <$>-                   (o .:? "suggestedInsertionIds" .!= mempty) <*>-                     (o .:? "suggestedTextStyleChanges")-                     <*> (o .:? "suggestedDeletionIds" .!= mempty)-                     <*> (o .:? "textStyle")-                     <*> (o .:? "type"))--instance ToJSON AutoText where-        toJSON AutoText'{..}-          = object-              (catMaybes-                 [("suggestedInsertionIds" .=) <$>-                    _atSuggestedInsertionIds,-                  ("suggestedTextStyleChanges" .=) <$>-                    _atSuggestedTextStyleChanges,-                  ("suggestedDeletionIds" .=) <$>-                    _atSuggestedDeletionIds,-                  ("textStyle" .=) <$> _atTextStyle,-                  ("type" .=) <$> _atType])---- | A List represents the list attributes for a group of paragraphs that all--- belong to the same list. A paragraph that is part of a list has a--- reference to the list\'s ID in its bullet.------ /See:/ 'list' smart constructor.-data List =-  List'-    { _lSuggestedInsertionId           :: !(Maybe Text)-    , _lSuggestedListPropertiesChanges :: !(Maybe ListSuggestedListPropertiesChanges)-    , _lSuggestedDeletionIds           :: !(Maybe [Text])-    , _lListProperties                 :: !(Maybe ListProperties)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'List' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lSuggestedInsertionId'------ * 'lSuggestedListPropertiesChanges'------ * 'lSuggestedDeletionIds'------ * 'lListProperties'-list-    :: List-list =-  List'-    { _lSuggestedInsertionId = Nothing-    , _lSuggestedListPropertiesChanges = Nothing-    , _lSuggestedDeletionIds = Nothing-    , _lListProperties = Nothing-    }----- | The suggested insertion ID. If empty, then this is not a suggested--- insertion.-lSuggestedInsertionId :: Lens' List (Maybe Text)-lSuggestedInsertionId-  = lens _lSuggestedInsertionId-      (\ s a -> s{_lSuggestedInsertionId = a})---- | The suggested changes to the list properties, keyed by suggestion ID.-lSuggestedListPropertiesChanges :: Lens' List (Maybe ListSuggestedListPropertiesChanges)-lSuggestedListPropertiesChanges-  = lens _lSuggestedListPropertiesChanges-      (\ s a -> s{_lSuggestedListPropertiesChanges = a})---- | The suggested deletion IDs. If empty, then there are no suggested--- deletions of this list.-lSuggestedDeletionIds :: Lens' List [Text]-lSuggestedDeletionIds-  = lens _lSuggestedDeletionIds-      (\ s a -> s{_lSuggestedDeletionIds = a})-      . _Default-      . _Coerce---- | The properties of the list.-lListProperties :: Lens' List (Maybe ListProperties)-lListProperties-  = lens _lListProperties-      (\ s a -> s{_lListProperties = a})--instance FromJSON List where-        parseJSON-          = withObject "List"-              (\ o ->-                 List' <$>-                   (o .:? "suggestedInsertionId") <*>-                     (o .:? "suggestedListPropertiesChanges")-                     <*> (o .:? "suggestedDeletionIds" .!= mempty)-                     <*> (o .:? "listProperties"))--instance ToJSON List where-        toJSON List'{..}-          = object-              (catMaybes-                 [("suggestedInsertionId" .=) <$>-                    _lSuggestedInsertionId,-                  ("suggestedListPropertiesChanges" .=) <$>-                    _lSuggestedListPropertiesChanges,-                  ("suggestedDeletionIds" .=) <$>-                    _lSuggestedDeletionIds,-                  ("listProperties" .=) <$> _lListProperties])---- | A border around a paragraph.------ /See:/ 'paragraphBOrder' smart constructor.-data ParagraphBOrder =-  ParagraphBOrder'-    { _pboColor     :: !(Maybe OptionalColor)-    , _pboWidth     :: !(Maybe Dimension)-    , _pboDashStyle :: !(Maybe ParagraphBOrderDashStyle)-    , _pboPadding   :: !(Maybe Dimension)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ParagraphBOrder' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pboColor'------ * 'pboWidth'------ * 'pboDashStyle'------ * 'pboPadding'-paragraphBOrder-    :: ParagraphBOrder-paragraphBOrder =-  ParagraphBOrder'-    { _pboColor = Nothing-    , _pboWidth = Nothing-    , _pboDashStyle = Nothing-    , _pboPadding = Nothing-    }----- | The color of the border.-pboColor :: Lens' ParagraphBOrder (Maybe OptionalColor)-pboColor = lens _pboColor (\ s a -> s{_pboColor = a})---- | The width of the border.-pboWidth :: Lens' ParagraphBOrder (Maybe Dimension)-pboWidth = lens _pboWidth (\ s a -> s{_pboWidth = a})---- | The dash style of the border.-pboDashStyle :: Lens' ParagraphBOrder (Maybe ParagraphBOrderDashStyle)-pboDashStyle-  = lens _pboDashStyle (\ s a -> s{_pboDashStyle = a})---- | The padding of the border.-pboPadding :: Lens' ParagraphBOrder (Maybe Dimension)-pboPadding-  = lens _pboPadding (\ s a -> s{_pboPadding = a})--instance FromJSON ParagraphBOrder where-        parseJSON-          = withObject "ParagraphBOrder"-              (\ o ->-                 ParagraphBOrder' <$>-                   (o .:? "color") <*> (o .:? "width") <*>-                     (o .:? "dashStyle")-                     <*> (o .:? "padding"))--instance ToJSON ParagraphBOrder where-        toJSON ParagraphBOrder'{..}-          = object-              (catMaybes-                 [("color" .=) <$> _pboColor,-                  ("width" .=) <$> _pboWidth,-                  ("dashStyle" .=) <$> _pboDashStyle,-                  ("padding" .=) <$> _pboPadding])---- | A suggested change to a TableCellStyle.------ /See:/ 'suggestedTableCellStyle' smart constructor.-data SuggestedTableCellStyle =-  SuggestedTableCellStyle'-    { _stcsTableCellStyleSuggestionState :: !(Maybe TableCellStyleSuggestionState)-    , _stcsTableCellStyle                :: !(Maybe TableCellStyle)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SuggestedTableCellStyle' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'stcsTableCellStyleSuggestionState'------ * 'stcsTableCellStyle'-suggestedTableCellStyle-    :: SuggestedTableCellStyle-suggestedTableCellStyle =-  SuggestedTableCellStyle'-    { _stcsTableCellStyleSuggestionState = Nothing-    , _stcsTableCellStyle = Nothing-    }----- | A mask that indicates which of the fields on the base TableCellStyle--- have been changed in this suggestion.-stcsTableCellStyleSuggestionState :: Lens' SuggestedTableCellStyle (Maybe TableCellStyleSuggestionState)-stcsTableCellStyleSuggestionState-  = lens _stcsTableCellStyleSuggestionState-      (\ s a -> s{_stcsTableCellStyleSuggestionState = a})---- | A TableCellStyle that only includes the changes made in this suggestion.--- This can be used along with the table_cell_style_suggestion_state to see--- which fields have changed and their new values.-stcsTableCellStyle :: Lens' SuggestedTableCellStyle (Maybe TableCellStyle)-stcsTableCellStyle-  = lens _stcsTableCellStyle-      (\ s a -> s{_stcsTableCellStyle = a})--instance FromJSON SuggestedTableCellStyle where-        parseJSON-          = withObject "SuggestedTableCellStyle"-              (\ o ->-                 SuggestedTableCellStyle' <$>-                   (o .:? "tableCellStyleSuggestionState") <*>-                     (o .:? "tableCellStyle"))--instance ToJSON SuggestedTableCellStyle where-        toJSON SuggestedTableCellStyle'{..}-          = object-              (catMaybes-                 [("tableCellStyleSuggestionState" .=) <$>-                    _stcsTableCellStyleSuggestionState,-                  ("tableCellStyle" .=) <$> _stcsTableCellStyle])---- | The result of inserting an inline image.------ /See:/ 'insertInlineImageResponse' smart constructor.-newtype InsertInlineImageResponse =-  InsertInlineImageResponse'-    { _iiirObjectId :: Maybe Text-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'InsertInlineImageResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iiirObjectId'-insertInlineImageResponse-    :: InsertInlineImageResponse-insertInlineImageResponse = InsertInlineImageResponse' {_iiirObjectId = Nothing}----- | The ID of the created InlineObject.-iiirObjectId :: Lens' InsertInlineImageResponse (Maybe Text)-iiirObjectId-  = lens _iiirObjectId (\ s a -> s{_iiirObjectId = a})--instance FromJSON InsertInlineImageResponse where-        parseJSON-          = withObject "InsertInlineImageResponse"-              (\ o ->-                 InsertInlineImageResponse' <$> (o .:? "objectId"))--instance ToJSON InsertInlineImageResponse where-        toJSON InsertInlineImageResponse'{..}-          = object-              (catMaybes [("objectId" .=) <$> _iiirObjectId])---- | An RGB color.------ /See:/ 'rgbColor' smart constructor.-data RgbColor =-  RgbColor'-    { _rcRed   :: !(Maybe (Textual Double))-    , _rcGreen :: !(Maybe (Textual Double))-    , _rcBlue  :: !(Maybe (Textual Double))-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RgbColor' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rcRed'------ * 'rcGreen'------ * 'rcBlue'-rgbColor-    :: RgbColor-rgbColor = RgbColor' {_rcRed = Nothing, _rcGreen = Nothing, _rcBlue = Nothing}----- | The red component of the color, from 0.0 to 1.0.-rcRed :: Lens' RgbColor (Maybe Double)-rcRed-  = lens _rcRed (\ s a -> s{_rcRed = a}) .-      mapping _Coerce---- | The green component of the color, from 0.0 to 1.0.-rcGreen :: Lens' RgbColor (Maybe Double)-rcGreen-  = lens _rcGreen (\ s a -> s{_rcGreen = a}) .-      mapping _Coerce---- | The blue component of the color, from 0.0 to 1.0.-rcBlue :: Lens' RgbColor (Maybe Double)-rcBlue-  = lens _rcBlue (\ s a -> s{_rcBlue = a}) .-      mapping _Coerce--instance FromJSON RgbColor where-        parseJSON-          = withObject "RgbColor"-              (\ o ->-                 RgbColor' <$>-                   (o .:? "red") <*> (o .:? "green") <*> (o .:? "blue"))--instance ToJSON RgbColor where-        toJSON RgbColor'{..}-          = object-              (catMaybes-                 [("red" .=) <$> _rcRed, ("green" .=) <$> _rcGreen,-                  ("blue" .=) <$> _rcBlue])---- | Inserts a page break followed by a newline at the specified location.------ /See:/ 'insertPageBreakRequest' smart constructor.-data InsertPageBreakRequest =-  InsertPageBreakRequest'-    { _ipbrLocation             :: !(Maybe Location)-    , _ipbrEndOfSegmentLocation :: !(Maybe EndOfSegmentLocation)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'InsertPageBreakRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ipbrLocation'------ * 'ipbrEndOfSegmentLocation'-insertPageBreakRequest-    :: InsertPageBreakRequest-insertPageBreakRequest =-  InsertPageBreakRequest'-    {_ipbrLocation = Nothing, _ipbrEndOfSegmentLocation = Nothing}----- | Inserts the page break at a specific index in the document. The page--- break must be inserted inside the bounds of an existing Paragraph. For--- instance, it cannot be inserted at a table\'s start index (i.e. between--- the table and its preceding paragraph). Page breaks cannot be inserted--- inside a table, equation, footnote, header or footer. Since page breaks--- can only be inserted inside the body, the segment ID field must be--- empty.-ipbrLocation :: Lens' InsertPageBreakRequest (Maybe Location)-ipbrLocation-  = lens _ipbrLocation (\ s a -> s{_ipbrLocation = a})---- | Inserts the page break at the end of the document body. Page breaks--- cannot be inserted inside a footnote, header or footer. Since page--- breaks can only be inserted inside the body, the segment ID field must--- be empty.-ipbrEndOfSegmentLocation :: Lens' InsertPageBreakRequest (Maybe EndOfSegmentLocation)-ipbrEndOfSegmentLocation-  = lens _ipbrEndOfSegmentLocation-      (\ s a -> s{_ipbrEndOfSegmentLocation = a})--instance FromJSON InsertPageBreakRequest where-        parseJSON-          = withObject "InsertPageBreakRequest"-              (\ o ->-                 InsertPageBreakRequest' <$>-                   (o .:? "location") <*>-                     (o .:? "endOfSegmentLocation"))--instance ToJSON InsertPageBreakRequest where-        toJSON InsertPageBreakRequest'{..}-          = object-              (catMaybes-                 [("location" .=) <$> _ipbrLocation,-                  ("endOfSegmentLocation" .=) <$>-                    _ipbrEndOfSegmentLocation])---- | A mask that indicates which of the fields on the base Background have--- been changed in this suggestion. For any field set to true, the--- Backgound has a new suggested value.------ /See:/ 'backgRoundSuggestionState' smart constructor.-newtype BackgRoundSuggestionState =-  BackgRoundSuggestionState'-    { _brssBackgRoundColorSuggested :: Maybe Bool-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'BackgRoundSuggestionState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'brssBackgRoundColorSuggested'-backgRoundSuggestionState-    :: BackgRoundSuggestionState-backgRoundSuggestionState =-  BackgRoundSuggestionState' {_brssBackgRoundColorSuggested = Nothing}----- | Indicates whether the current background color has been modified in this--- suggestion.-brssBackgRoundColorSuggested :: Lens' BackgRoundSuggestionState (Maybe Bool)-brssBackgRoundColorSuggested-  = lens _brssBackgRoundColorSuggested-      (\ s a -> s{_brssBackgRoundColorSuggested = a})--instance FromJSON BackgRoundSuggestionState where-        parseJSON-          = withObject "BackgRoundSuggestionState"-              (\ o ->-                 BackgRoundSuggestionState' <$>-                   (o .:? "backgroundColorSuggested"))--instance ToJSON BackgRoundSuggestionState where-        toJSON BackgRoundSuggestionState'{..}-          = object-              (catMaybes-                 [("backgroundColorSuggested" .=) <$>-                    _brssBackgRoundColorSuggested])---- | Properties of an InlineObject.------ /See:/ 'inlineObjectProperties' smart constructor.-newtype InlineObjectProperties =-  InlineObjectProperties'-    { _iopEmbeddedObject :: Maybe EmbeddedObject-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'InlineObjectProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iopEmbeddedObject'-inlineObjectProperties-    :: InlineObjectProperties-inlineObjectProperties = InlineObjectProperties' {_iopEmbeddedObject = Nothing}----- | The embedded object of this inline object.-iopEmbeddedObject :: Lens' InlineObjectProperties (Maybe EmbeddedObject)-iopEmbeddedObject-  = lens _iopEmbeddedObject-      (\ s a -> s{_iopEmbeddedObject = a})--instance FromJSON InlineObjectProperties where-        parseJSON-          = withObject "InlineObjectProperties"-              (\ o ->-                 InlineObjectProperties' <$> (o .:? "embeddedObject"))--instance ToJSON InlineObjectProperties where-        toJSON InlineObjectProperties'{..}-          = object-              (catMaybes-                 [("embeddedObject" .=) <$> _iopEmbeddedObject])---- | A suggested change to the DocumentStyle.------ /See:/ 'suggestedDocumentStyle' smart constructor.-data SuggestedDocumentStyle =-  SuggestedDocumentStyle'-    { _sdsDocumentStyle                :: !(Maybe DocumentStyle)-    , _sdsDocumentStyleSuggestionState :: !(Maybe DocumentStyleSuggestionState)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SuggestedDocumentStyle' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sdsDocumentStyle'------ * 'sdsDocumentStyleSuggestionState'-suggestedDocumentStyle-    :: SuggestedDocumentStyle-suggestedDocumentStyle =-  SuggestedDocumentStyle'-    {_sdsDocumentStyle = Nothing, _sdsDocumentStyleSuggestionState = Nothing}----- | A DocumentStyle that only includes the changes made in this suggestion.--- This can be used along with the document_style_suggestion_state to see--- which fields have changed and their new values.-sdsDocumentStyle :: Lens' SuggestedDocumentStyle (Maybe DocumentStyle)-sdsDocumentStyle-  = lens _sdsDocumentStyle-      (\ s a -> s{_sdsDocumentStyle = a})---- | A mask that indicates which of the fields on the base DocumentStyle have--- been changed in this suggestion.-sdsDocumentStyleSuggestionState :: Lens' SuggestedDocumentStyle (Maybe DocumentStyleSuggestionState)-sdsDocumentStyleSuggestionState-  = lens _sdsDocumentStyleSuggestionState-      (\ s a -> s{_sdsDocumentStyleSuggestionState = a})--instance FromJSON SuggestedDocumentStyle where-        parseJSON-          = withObject "SuggestedDocumentStyle"-              (\ o ->-                 SuggestedDocumentStyle' <$>-                   (o .:? "documentStyle") <*>-                     (o .:? "documentStyleSuggestionState"))--instance ToJSON SuggestedDocumentStyle where-        toJSON SuggestedDocumentStyle'{..}-          = object-              (catMaybes-                 [("documentStyle" .=) <$> _sdsDocumentStyle,-                  ("documentStyleSuggestionState" .=) <$>-                    _sdsDocumentStyleSuggestionState])---- | A particular location in the document.------ /See:/ 'location' smart constructor.-data Location =-  Location'-    { _lIndex     :: !(Maybe (Textual Int32))-    , _lSegmentId :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Location' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lIndex'------ * 'lSegmentId'-location-    :: Location-location = Location' {_lIndex = Nothing, _lSegmentId = Nothing}----- | The zero-based index, in UTF-16 code units. The index is relative to the--- beginning of the segment specified by segment_id.-lIndex :: Lens' Location (Maybe Int32)-lIndex-  = lens _lIndex (\ s a -> s{_lIndex = a}) .-      mapping _Coerce---- | The ID of the header, footer or footnote the location is in. An empty--- segment ID signifies the document\'s body.-lSegmentId :: Lens' Location (Maybe Text)-lSegmentId-  = lens _lSegmentId (\ s a -> s{_lSegmentId = a})--instance FromJSON Location where-        parseJSON-          = withObject "Location"-              (\ o ->-                 Location' <$>-                   (o .:? "index") <*> (o .:? "segmentId"))--instance ToJSON Location where-        toJSON Location'{..}-          = object-              (catMaybes-                 [("index" .=) <$> _lIndex,-                  ("segmentId" .=) <$> _lSegmentId])---- | A StructuralElement representing a table of contents.------ /See:/ 'tableOfContents' smart constructor.-data TableOfContents =-  TableOfContents'-    { _tocSuggestedInsertionIds :: !(Maybe [Text])-    , _tocContent               :: !(Maybe [StructuralElement])-    , _tocSuggestedDeletionIds  :: !(Maybe [Text])-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'TableOfContents' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tocSuggestedInsertionIds'------ * 'tocContent'------ * 'tocSuggestedDeletionIds'-tableOfContents-    :: TableOfContents-tableOfContents =-  TableOfContents'-    { _tocSuggestedInsertionIds = Nothing-    , _tocContent = Nothing-    , _tocSuggestedDeletionIds = Nothing-    }----- | The suggested insertion IDs. A TableOfContents may have multiple--- insertion IDs if it is a nested suggested change. If empty, then this is--- not a suggested insertion.-tocSuggestedInsertionIds :: Lens' TableOfContents [Text]-tocSuggestedInsertionIds-  = lens _tocSuggestedInsertionIds-      (\ s a -> s{_tocSuggestedInsertionIds = a})-      . _Default-      . _Coerce---- | The content of the table of contents.-tocContent :: Lens' TableOfContents [StructuralElement]-tocContent-  = lens _tocContent (\ s a -> s{_tocContent = a}) .-      _Default-      . _Coerce---- | The suggested deletion IDs. If empty, then there are no suggested--- deletions of this content.-tocSuggestedDeletionIds :: Lens' TableOfContents [Text]-tocSuggestedDeletionIds-  = lens _tocSuggestedDeletionIds-      (\ s a -> s{_tocSuggestedDeletionIds = a})-      . _Default-      . _Coerce--instance FromJSON TableOfContents where-        parseJSON-          = withObject "TableOfContents"-              (\ o ->-                 TableOfContents' <$>-                   (o .:? "suggestedInsertionIds" .!= mempty) <*>-                     (o .:? "content" .!= mempty)-                     <*> (o .:? "suggestedDeletionIds" .!= mempty))--instance ToJSON TableOfContents where-        toJSON TableOfContents'{..}-          = object-              (catMaybes-                 [("suggestedInsertionIds" .=) <$>-                    _tocSuggestedInsertionIds,-                  ("content" .=) <$> _tocContent,-                  ("suggestedDeletionIds" .=) <$>-                    _tocSuggestedDeletionIds])---- | A solid color.------ /See:/ 'color' smart constructor.-newtype Color =-  Color'-    { _cRgbColor :: Maybe RgbColor-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Color' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cRgbColor'-color-    :: Color-color = Color' {_cRgbColor = Nothing}----- | The RGB color value.-cRgbColor :: Lens' Color (Maybe RgbColor)-cRgbColor-  = lens _cRgbColor (\ s a -> s{_cRgbColor = a})--instance FromJSON Color where-        parseJSON-          = withObject "Color"-              (\ o -> Color' <$> (o .:? "rgbColor"))--instance ToJSON Color where-        toJSON Color'{..}-          = object (catMaybes [("rgbColor" .=) <$> _cRgbColor])---- | A width and height.------ /See:/ 'size' smart constructor.-data Size =-  Size'-    { _sHeight :: !(Maybe Dimension)-    , _sWidth  :: !(Maybe Dimension)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Size' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sHeight'------ * 'sWidth'-size-    :: Size-size = Size' {_sHeight = Nothing, _sWidth = Nothing}----- | The height of the object.-sHeight :: Lens' Size (Maybe Dimension)-sHeight = lens _sHeight (\ s a -> s{_sHeight = a})---- | The width of the object.-sWidth :: Lens' Size (Maybe Dimension)-sWidth = lens _sWidth (\ s a -> s{_sWidth = a})--instance FromJSON Size where-        parseJSON-          = withObject "Size"-              (\ o ->-                 Size' <$> (o .:? "height") <*> (o .:? "width"))--instance ToJSON Size where-        toJSON Size'{..}-          = object-              (catMaybes-                 [("height" .=) <$> _sHeight,-                  ("width" .=) <$> _sWidth])---- | The result of inserting an embedded Google Sheets chart.------ /See:/ 'insertInlineSheetsChartResponse' smart constructor.-newtype InsertInlineSheetsChartResponse =-  InsertInlineSheetsChartResponse'-    { _iiscrObjectId :: Maybe Text-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'InsertInlineSheetsChartResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iiscrObjectId'-insertInlineSheetsChartResponse-    :: InsertInlineSheetsChartResponse-insertInlineSheetsChartResponse =-  InsertInlineSheetsChartResponse' {_iiscrObjectId = Nothing}----- | The object ID of the inserted chart.-iiscrObjectId :: Lens' InsertInlineSheetsChartResponse (Maybe Text)-iiscrObjectId-  = lens _iiscrObjectId-      (\ s a -> s{_iiscrObjectId = a})--instance FromJSON InsertInlineSheetsChartResponse-         where-        parseJSON-          = withObject "InsertInlineSheetsChartResponse"-              (\ o ->-                 InsertInlineSheetsChartResponse' <$>-                   (o .:? "objectId"))--instance ToJSON InsertInlineSheetsChartResponse where-        toJSON InsertInlineSheetsChartResponse'{..}-          = object-              (catMaybes [("objectId" .=) <$> _iiscrObjectId])---- | A mask that indicates which of the fields on the base TableRowStyle have--- been changed in this suggestion. For any field set to true, there is a--- new suggested value.------ /See:/ 'tableRowStyleSuggestionState' smart constructor.-newtype TableRowStyleSuggestionState =-  TableRowStyleSuggestionState'-    { _trsssMinRowHeightSuggested :: Maybe Bool-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'TableRowStyleSuggestionState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'trsssMinRowHeightSuggested'-tableRowStyleSuggestionState-    :: TableRowStyleSuggestionState-tableRowStyleSuggestionState =-  TableRowStyleSuggestionState' {_trsssMinRowHeightSuggested = Nothing}----- | Indicates if there was a suggested change to min_row_height.-trsssMinRowHeightSuggested :: Lens' TableRowStyleSuggestionState (Maybe Bool)-trsssMinRowHeightSuggested-  = lens _trsssMinRowHeightSuggested-      (\ s a -> s{_trsssMinRowHeightSuggested = a})--instance FromJSON TableRowStyleSuggestionState where-        parseJSON-          = withObject "TableRowStyleSuggestionState"-              (\ o ->-                 TableRowStyleSuggestionState' <$>-                   (o .:? "minRowHeightSuggested"))--instance ToJSON TableRowStyleSuggestionState where-        toJSON TableRowStyleSuggestionState'{..}-          = object-              (catMaybes-                 [("minRowHeightSuggested" .=) <$>-                    _trsssMinRowHeightSuggested])---- | Deletes a column from a table.------ /See:/ 'deleteTableColumnRequest' smart constructor.-newtype DeleteTableColumnRequest =-  DeleteTableColumnRequest'-    { _dtcrTableCellLocation :: Maybe TableCellLocation-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteTableColumnRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dtcrTableCellLocation'-deleteTableColumnRequest-    :: DeleteTableColumnRequest-deleteTableColumnRequest =-  DeleteTableColumnRequest' {_dtcrTableCellLocation = Nothing}----- | The reference table cell location from which the column will be deleted.--- The column this cell spans will be deleted. If this is a merged cell--- that spans multiple columns, all columns that the cell spans will be--- deleted. If no columns remain in the table after this deletion, the--- whole table is deleted.-dtcrTableCellLocation :: Lens' DeleteTableColumnRequest (Maybe TableCellLocation)-dtcrTableCellLocation-  = lens _dtcrTableCellLocation-      (\ s a -> s{_dtcrTableCellLocation = a})--instance FromJSON DeleteTableColumnRequest where-        parseJSON-          = withObject "DeleteTableColumnRequest"-              (\ o ->-                 DeleteTableColumnRequest' <$>-                   (o .:? "tableCellLocation"))--instance ToJSON DeleteTableColumnRequest where-        toJSON DeleteTableColumnRequest'{..}-          = object-              (catMaybes-                 [("tableCellLocation" .=) <$>-                    _dtcrTableCellLocation])---- | The named ranges in the document, keyed by name.------ /See:/ 'documentNamedRanges' smart constructor.-newtype DocumentNamedRanges =-  DocumentNamedRanges'-    { _dnrAddtional :: HashMap Text NamedRanges-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DocumentNamedRanges' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dnrAddtional'-documentNamedRanges-    :: HashMap Text NamedRanges -- ^ 'dnrAddtional'-    -> DocumentNamedRanges-documentNamedRanges pDnrAddtional_ =-  DocumentNamedRanges' {_dnrAddtional = _Coerce # pDnrAddtional_}---dnrAddtional :: Lens' DocumentNamedRanges (HashMap Text NamedRanges)-dnrAddtional-  = lens _dnrAddtional (\ s a -> s{_dnrAddtional = a})-      . _Coerce--instance FromJSON DocumentNamedRanges where-        parseJSON-          = withObject "DocumentNamedRanges"-              (\ o -> DocumentNamedRanges' <$> (parseJSONObject o))--instance ToJSON DocumentNamedRanges where-        toJSON = toJSON . _dnrAddtional---- | Location at the end of a body, header, footer or footnote. The location--- is immediately before the last newline in the document segment.------ /See:/ 'endOfSegmentLocation' smart constructor.-newtype EndOfSegmentLocation =-  EndOfSegmentLocation'-    { _eoslSegmentId :: Maybe Text-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'EndOfSegmentLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eoslSegmentId'-endOfSegmentLocation-    :: EndOfSegmentLocation-endOfSegmentLocation = EndOfSegmentLocation' {_eoslSegmentId = Nothing}----- | The ID of the header, footer or footnote the location is in. An empty--- segment ID signifies the document\'s body.-eoslSegmentId :: Lens' EndOfSegmentLocation (Maybe Text)-eoslSegmentId-  = lens _eoslSegmentId-      (\ s a -> s{_eoslSegmentId = a})--instance FromJSON EndOfSegmentLocation where-        parseJSON-          = withObject "EndOfSegmentLocation"-              (\ o ->-                 EndOfSegmentLocation' <$> (o .:? "segmentId"))--instance ToJSON EndOfSegmentLocation where-        toJSON EndOfSegmentLocation'{..}-          = object-              (catMaybes [("segmentId" .=) <$> _eoslSegmentId])---- | The inline objects in the document, keyed by object ID.------ /See:/ 'documentInlineObjects' smart constructor.-newtype DocumentInlineObjects =-  DocumentInlineObjects'-    { _dioAddtional :: HashMap Text InlineObject-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DocumentInlineObjects' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dioAddtional'-documentInlineObjects-    :: HashMap Text InlineObject -- ^ 'dioAddtional'-    -> DocumentInlineObjects-documentInlineObjects pDioAddtional_ =-  DocumentInlineObjects' {_dioAddtional = _Coerce # pDioAddtional_}---dioAddtional :: Lens' DocumentInlineObjects (HashMap Text InlineObject)-dioAddtional-  = lens _dioAddtional (\ s a -> s{_dioAddtional = a})-      . _Coerce--instance FromJSON DocumentInlineObjects where-        parseJSON-          = withObject "DocumentInlineObjects"-              (\ o ->-                 DocumentInlineObjects' <$> (parseJSONObject o))--instance ToJSON DocumentInlineObjects where-        toJSON = toJSON . _dioAddtional---- | The IDs of the positioned objects that are suggested to be attached to--- this paragraph, keyed by suggestion ID.------ /See:/ 'paragraphSuggestedPositionedObjectIds' smart constructor.-newtype ParagraphSuggestedPositionedObjectIds =-  ParagraphSuggestedPositionedObjectIds'-    { _pspoiAddtional :: HashMap Text ObjectReferences-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ParagraphSuggestedPositionedObjectIds' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pspoiAddtional'-paragraphSuggestedPositionedObjectIds-    :: HashMap Text ObjectReferences -- ^ 'pspoiAddtional'-    -> ParagraphSuggestedPositionedObjectIds-paragraphSuggestedPositionedObjectIds pPspoiAddtional_ =-  ParagraphSuggestedPositionedObjectIds'-    {_pspoiAddtional = _Coerce # pPspoiAddtional_}---pspoiAddtional :: Lens' ParagraphSuggestedPositionedObjectIds (HashMap Text ObjectReferences)-pspoiAddtional-  = lens _pspoiAddtional-      (\ s a -> s{_pspoiAddtional = a})-      . _Coerce--instance FromJSON-           ParagraphSuggestedPositionedObjectIds-         where-        parseJSON-          = withObject "ParagraphSuggestedPositionedObjectIds"-              (\ o ->-                 ParagraphSuggestedPositionedObjectIds' <$>-                   (parseJSONObject o))--instance ToJSON ParagraphSuggestedPositionedObjectIds-         where-        toJSON = toJSON . _pspoiAddtional---- | A reference to another portion of a document or an external URL--- resource.------ /See:/ 'link' smart constructor.-data Link =-  Link'-    { _lURL        :: !(Maybe Text)-    , _lHeadingId  :: !(Maybe Text)-    , _lBookmarkId :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Link' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lURL'------ * 'lHeadingId'------ * 'lBookmarkId'-link-    :: Link-link = Link' {_lURL = Nothing, _lHeadingId = Nothing, _lBookmarkId = Nothing}----- | An external URL.-lURL :: Lens' Link (Maybe Text)-lURL = lens _lURL (\ s a -> s{_lURL = a})---- | The ID of a heading in this document.-lHeadingId :: Lens' Link (Maybe Text)-lHeadingId-  = lens _lHeadingId (\ s a -> s{_lHeadingId = a})---- | The ID of a bookmark in this document.-lBookmarkId :: Lens' Link (Maybe Text)-lBookmarkId-  = lens _lBookmarkId (\ s a -> s{_lBookmarkId = a})--instance FromJSON Link where-        parseJSON-          = withObject "Link"-              (\ o ->-                 Link' <$>-                   (o .:? "url") <*> (o .:? "headingId") <*>-                     (o .:? "bookmarkId"))--instance ToJSON Link where-        toJSON Link'{..}-          = object-              (catMaybes-                 [("url" .=) <$> _lURL,-                  ("headingId" .=) <$> _lHeadingId,-                  ("bookmarkId" .=) <$> _lBookmarkId])---- | The suggested text style changes to this AutoText, keyed by suggestion--- ID.------ /See:/ 'autoTextSuggestedTextStyleChanges' smart constructor.-newtype AutoTextSuggestedTextStyleChanges =-  AutoTextSuggestedTextStyleChanges'-    { _atstscAddtional :: HashMap Text SuggestedTextStyle-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'AutoTextSuggestedTextStyleChanges' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'atstscAddtional'-autoTextSuggestedTextStyleChanges-    :: HashMap Text SuggestedTextStyle -- ^ 'atstscAddtional'-    -> AutoTextSuggestedTextStyleChanges-autoTextSuggestedTextStyleChanges pAtstscAddtional_ =-  AutoTextSuggestedTextStyleChanges'-    {_atstscAddtional = _Coerce # pAtstscAddtional_}---atstscAddtional :: Lens' AutoTextSuggestedTextStyleChanges (HashMap Text SuggestedTextStyle)-atstscAddtional-  = lens _atstscAddtional-      (\ s a -> s{_atstscAddtional = a})-      . _Coerce--instance FromJSON AutoTextSuggestedTextStyleChanges-         where-        parseJSON-          = withObject "AutoTextSuggestedTextStyleChanges"-              (\ o ->-                 AutoTextSuggestedTextStyleChanges' <$>-                   (parseJSONObject o))--instance ToJSON AutoTextSuggestedTextStyleChanges-         where-        toJSON = toJSON . _atstscAddtional---- | Inserts an InlineObject containing an image at the given location.------ /See:/ 'insertInlineImageRequest' smart constructor.-data InsertInlineImageRequest =-  InsertInlineImageRequest'-    { _iiirLocation             :: !(Maybe Location)-    , _iiirEndOfSegmentLocation :: !(Maybe EndOfSegmentLocation)-    , _iiirURI                  :: !(Maybe Text)-    , _iiirObjectSize           :: !(Maybe Size)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'InsertInlineImageRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iiirLocation'------ * 'iiirEndOfSegmentLocation'------ * 'iiirURI'------ * 'iiirObjectSize'-insertInlineImageRequest-    :: InsertInlineImageRequest-insertInlineImageRequest =-  InsertInlineImageRequest'-    { _iiirLocation = Nothing-    , _iiirEndOfSegmentLocation = Nothing-    , _iiirURI = Nothing-    , _iiirObjectSize = Nothing-    }----- | Inserts the image at a specific index in the document. The image must be--- inserted inside the bounds of an existing Paragraph. For instance, it--- cannot be inserted at a table\'s start index (i.e. between the table and--- its preceding paragraph). Inline images cannot be inserted inside a--- footnote or equation.-iiirLocation :: Lens' InsertInlineImageRequest (Maybe Location)-iiirLocation-  = lens _iiirLocation (\ s a -> s{_iiirLocation = a})---- | Inserts the text at the end of a header, footer or the document body.--- Inline images cannot be inserted inside a footnote.-iiirEndOfSegmentLocation :: Lens' InsertInlineImageRequest (Maybe EndOfSegmentLocation)-iiirEndOfSegmentLocation-  = lens _iiirEndOfSegmentLocation-      (\ s a -> s{_iiirEndOfSegmentLocation = a})---- | The image URI. The image is fetched once at insertion time and a copy is--- stored for display inside the document. Images must be less than 50MB in--- size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or--- GIF format. The provided URI can be at most 2 kB in length. The URI--- itself is saved with the image, and exposed via the--- ImageProperties.content_uri field.-iiirURI :: Lens' InsertInlineImageRequest (Maybe Text)-iiirURI = lens _iiirURI (\ s a -> s{_iiirURI = a})---- | The size that the image should appear as in the document. This property--- is optional and the final size of the image in the document is--- determined by the following rules: * If neither width nor height is--- specified, then a default size of the image is calculated based on its--- resolution. * If one dimension is specified then the other dimension is--- calculated to preserve the aspect ratio of the image. * If both width--- and height are specified, the image is scaled to fit within the provided--- dimensions while maintaining its aspect ratio.-iiirObjectSize :: Lens' InsertInlineImageRequest (Maybe Size)-iiirObjectSize-  = lens _iiirObjectSize-      (\ s a -> s{_iiirObjectSize = a})--instance FromJSON InsertInlineImageRequest where-        parseJSON-          = withObject "InsertInlineImageRequest"-              (\ o ->-                 InsertInlineImageRequest' <$>-                   (o .:? "location") <*> (o .:? "endOfSegmentLocation")-                     <*> (o .:? "uri")-                     <*> (o .:? "objectSize"))--instance ToJSON InsertInlineImageRequest where-        toJSON InsertInlineImageRequest'{..}-          = object-              (catMaybes-                 [("location" .=) <$> _iiirLocation,-                  ("endOfSegmentLocation" .=) <$>-                    _iiirEndOfSegmentLocation,-                  ("uri" .=) <$> _iiirURI,-                  ("objectSize" .=) <$> _iiirObjectSize])---- | A magnitude in a single direction in the specified units.------ /See:/ 'dimension' smart constructor.-data Dimension =-  Dimension'-    { _dMagnitude :: !(Maybe (Textual Double))-    , _dUnit      :: !(Maybe DimensionUnit)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Dimension' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dMagnitude'------ * 'dUnit'-dimension-    :: Dimension-dimension = Dimension' {_dMagnitude = Nothing, _dUnit = Nothing}----- | The magnitude.-dMagnitude :: Lens' Dimension (Maybe Double)-dMagnitude-  = lens _dMagnitude (\ s a -> s{_dMagnitude = a}) .-      mapping _Coerce---- | The units for magnitude.-dUnit :: Lens' Dimension (Maybe DimensionUnit)-dUnit = lens _dUnit (\ s a -> s{_dUnit = a})--instance FromJSON Dimension where-        parseJSON-          = withObject "Dimension"-              (\ o ->-                 Dimension' <$>-                   (o .:? "magnitude") <*> (o .:? "unit"))--instance ToJSON Dimension where-        toJSON Dimension'{..}-          = object-              (catMaybes-                 [("magnitude" .=) <$> _dMagnitude,-                  ("unit" .=) <$> _dUnit])---- | The style of the document.------ /See:/ 'documentStyle' smart constructor.-data DocumentStyle =-  DocumentStyle'-    { _dsMarginTop                :: !(Maybe Dimension)-    , _dsDefaultFooterId          :: !(Maybe Text)-    , _dsFirstPageHeaderId        :: !(Maybe Text)-    , _dsFirstPageFooterId        :: !(Maybe Text)-    , _dsDefaultHeaderId          :: !(Maybe Text)-    , _dsUseEvenPageHeaderFooter  :: !(Maybe Bool)-    , _dsMarginLeft               :: !(Maybe Dimension)-    , _dsPageNumberStart          :: !(Maybe (Textual Int32))-    , _dsUseFirstPageHeaderFooter :: !(Maybe Bool)-    , _dsEvenPageFooterId         :: !(Maybe Text)-    , _dsPageSize                 :: !(Maybe Size)-    , _dsBackgRound               :: !(Maybe BackgRound)-    , _dsMarginRight              :: !(Maybe Dimension)-    , _dsMarginBottom             :: !(Maybe Dimension)-    , _dsEvenPageHeaderId         :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DocumentStyle' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dsMarginTop'------ * 'dsDefaultFooterId'------ * 'dsFirstPageHeaderId'------ * 'dsFirstPageFooterId'------ * 'dsDefaultHeaderId'------ * 'dsUseEvenPageHeaderFooter'------ * 'dsMarginLeft'------ * 'dsPageNumberStart'------ * 'dsUseFirstPageHeaderFooter'------ * 'dsEvenPageFooterId'------ * 'dsPageSize'------ * 'dsBackgRound'------ * 'dsMarginRight'------ * 'dsMarginBottom'------ * 'dsEvenPageHeaderId'-documentStyle-    :: DocumentStyle-documentStyle =-  DocumentStyle'-    { _dsMarginTop = Nothing-    , _dsDefaultFooterId = Nothing-    , _dsFirstPageHeaderId = Nothing-    , _dsFirstPageFooterId = Nothing-    , _dsDefaultHeaderId = Nothing-    , _dsUseEvenPageHeaderFooter = Nothing-    , _dsMarginLeft = Nothing-    , _dsPageNumberStart = Nothing-    , _dsUseFirstPageHeaderFooter = Nothing-    , _dsEvenPageFooterId = Nothing-    , _dsPageSize = Nothing-    , _dsBackgRound = Nothing-    , _dsMarginRight = Nothing-    , _dsMarginBottom = Nothing-    , _dsEvenPageHeaderId = Nothing-    }----- | The top page margin.-dsMarginTop :: Lens' DocumentStyle (Maybe Dimension)-dsMarginTop-  = lens _dsMarginTop (\ s a -> s{_dsMarginTop = a})---- | The ID of the default footer. If not set, there is no default footer.-dsDefaultFooterId :: Lens' DocumentStyle (Maybe Text)-dsDefaultFooterId-  = lens _dsDefaultFooterId-      (\ s a -> s{_dsDefaultFooterId = a})---- | The ID of the header used only for the first page. If not set then a--- unique header for the first page does not exist. The value of--- use_first_page_header_footer determines whether to use the--- default_header_id or this value for the header on the first page. If not--- set, there is no first page header.-dsFirstPageHeaderId :: Lens' DocumentStyle (Maybe Text)-dsFirstPageHeaderId-  = lens _dsFirstPageHeaderId-      (\ s a -> s{_dsFirstPageHeaderId = a})---- | The ID of the footer used only for the first page. If not set then a--- unique footer for the first page does not exist. The value of--- use_first_page_header_footer determines whether to use the--- default_footer_id or this value for the footer on the first page. If not--- set, there is no first page footer.-dsFirstPageFooterId :: Lens' DocumentStyle (Maybe Text)-dsFirstPageFooterId-  = lens _dsFirstPageFooterId-      (\ s a -> s{_dsFirstPageFooterId = a})---- | The ID of the default header. If not set, there is no default header.-dsDefaultHeaderId :: Lens' DocumentStyle (Maybe Text)-dsDefaultHeaderId-  = lens _dsDefaultHeaderId-      (\ s a -> s{_dsDefaultHeaderId = a})---- | Indicates whether to use the even page header \/ footer IDs for the even--- pages.-dsUseEvenPageHeaderFooter :: Lens' DocumentStyle (Maybe Bool)-dsUseEvenPageHeaderFooter-  = lens _dsUseEvenPageHeaderFooter-      (\ s a -> s{_dsUseEvenPageHeaderFooter = a})---- | The left page margin.-dsMarginLeft :: Lens' DocumentStyle (Maybe Dimension)-dsMarginLeft-  = lens _dsMarginLeft (\ s a -> s{_dsMarginLeft = a})---- | The page number from which to start counting the number of pages.-dsPageNumberStart :: Lens' DocumentStyle (Maybe Int32)-dsPageNumberStart-  = lens _dsPageNumberStart-      (\ s a -> s{_dsPageNumberStart = a})-      . mapping _Coerce---- | Indicates whether to use the first page header \/ footer IDs for the--- first page.-dsUseFirstPageHeaderFooter :: Lens' DocumentStyle (Maybe Bool)-dsUseFirstPageHeaderFooter-  = lens _dsUseFirstPageHeaderFooter-      (\ s a -> s{_dsUseFirstPageHeaderFooter = a})---- | The ID of the footer used only for even pages. The value of--- use_even_page_header_footer determines whether to use the--- default_footer_id or this value for the footer on even pages. If not--- set, there is no even page footer.-dsEvenPageFooterId :: Lens' DocumentStyle (Maybe Text)-dsEvenPageFooterId-  = lens _dsEvenPageFooterId-      (\ s a -> s{_dsEvenPageFooterId = a})---- | The size of a page in the document.-dsPageSize :: Lens' DocumentStyle (Maybe Size)-dsPageSize-  = lens _dsPageSize (\ s a -> s{_dsPageSize = a})---- | The background of the document.-dsBackgRound :: Lens' DocumentStyle (Maybe BackgRound)-dsBackgRound-  = lens _dsBackgRound (\ s a -> s{_dsBackgRound = a})---- | The right page margin.-dsMarginRight :: Lens' DocumentStyle (Maybe Dimension)-dsMarginRight-  = lens _dsMarginRight-      (\ s a -> s{_dsMarginRight = a})---- | The bottom page margin.-dsMarginBottom :: Lens' DocumentStyle (Maybe Dimension)-dsMarginBottom-  = lens _dsMarginBottom-      (\ s a -> s{_dsMarginBottom = a})---- | The ID of the header used only for even pages. The value of--- use_even_page_header_footer determines whether to use the--- default_header_id or this value for the header on even pages. If not--- set, there is no even page header.-dsEvenPageHeaderId :: Lens' DocumentStyle (Maybe Text)-dsEvenPageHeaderId-  = lens _dsEvenPageHeaderId-      (\ s a -> s{_dsEvenPageHeaderId = a})--instance FromJSON DocumentStyle where-        parseJSON-          = withObject "DocumentStyle"-              (\ o ->-                 DocumentStyle' <$>-                   (o .:? "marginTop") <*> (o .:? "defaultFooterId") <*>-                     (o .:? "firstPageHeaderId")-                     <*> (o .:? "firstPageFooterId")-                     <*> (o .:? "defaultHeaderId")-                     <*> (o .:? "useEvenPageHeaderFooter")-                     <*> (o .:? "marginLeft")-                     <*> (o .:? "pageNumberStart")-                     <*> (o .:? "useFirstPageHeaderFooter")-                     <*> (o .:? "evenPageFooterId")-                     <*> (o .:? "pageSize")-                     <*> (o .:? "background")-                     <*> (o .:? "marginRight")-                     <*> (o .:? "marginBottom")-                     <*> (o .:? "evenPageHeaderId"))--instance ToJSON DocumentStyle where-        toJSON DocumentStyle'{..}-          = object-              (catMaybes-                 [("marginTop" .=) <$> _dsMarginTop,-                  ("defaultFooterId" .=) <$> _dsDefaultFooterId,-                  ("firstPageHeaderId" .=) <$> _dsFirstPageHeaderId,-                  ("firstPageFooterId" .=) <$> _dsFirstPageFooterId,-                  ("defaultHeaderId" .=) <$> _dsDefaultHeaderId,-                  ("useEvenPageHeaderFooter" .=) <$>-                    _dsUseEvenPageHeaderFooter,-                  ("marginLeft" .=) <$> _dsMarginLeft,-                  ("pageNumberStart" .=) <$> _dsPageNumberStart,-                  ("useFirstPageHeaderFooter" .=) <$>-                    _dsUseFirstPageHeaderFooter,-                  ("evenPageFooterId" .=) <$> _dsEvenPageFooterId,-                  ("pageSize" .=) <$> _dsPageSize,-                  ("background" .=) <$> _dsBackgRound,-                  ("marginRight" .=) <$> _dsMarginRight,-                  ("marginBottom" .=) <$> _dsMarginBottom,-                  ("evenPageHeaderId" .=) <$> _dsEvenPageHeaderId])---- | The document body. The body typically contains the full document--- contents except for headers, footers and footnotes.------ /See:/ 'body' smart constructor.-newtype Body =-  Body'-    { _bContent :: Maybe [StructuralElement]-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Body' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bContent'-body-    :: Body-body = Body' {_bContent = Nothing}----- | The contents of the body. The indexes for the body\'s content begin at--- zero.-bContent :: Lens' Body [StructuralElement]-bContent-  = lens _bContent (\ s a -> s{_bContent = a}) .-      _Default-      . _Coerce--instance FromJSON Body where-        parseJSON-          = withObject "Body"-              (\ o -> Body' <$> (o .:? "content" .!= mempty))--instance ToJSON Body where-        toJSON Body'{..}-          = object (catMaybes [("content" .=) <$> _bContent])---- | A mask that indicates which of the fields on the base ListProperties--- have been changed in this suggestion. For any field set to true, there--- is a new suggested value.------ /See:/ 'listPropertiesSuggestionState' smart constructor.-newtype ListPropertiesSuggestionState =-  ListPropertiesSuggestionState'-    { _lpssNestingLevelsSuggestionStates :: Maybe [NestingLevelSuggestionState]-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ListPropertiesSuggestionState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lpssNestingLevelsSuggestionStates'-listPropertiesSuggestionState-    :: ListPropertiesSuggestionState-listPropertiesSuggestionState =-  ListPropertiesSuggestionState' {_lpssNestingLevelsSuggestionStates = Nothing}----- | A mask that indicates which of the fields on the corresponding--- NestingLevel in nesting_levels have been changed in this suggestion. The--- nesting level suggestion states are returned in ascending order of the--- nesting level with the least nested returned first.-lpssNestingLevelsSuggestionStates :: Lens' ListPropertiesSuggestionState [NestingLevelSuggestionState]-lpssNestingLevelsSuggestionStates-  = lens _lpssNestingLevelsSuggestionStates-      (\ s a -> s{_lpssNestingLevelsSuggestionStates = a})-      . _Default-      . _Coerce--instance FromJSON ListPropertiesSuggestionState where-        parseJSON-          = withObject "ListPropertiesSuggestionState"-              (\ o ->-                 ListPropertiesSuggestionState' <$>-                   (o .:? "nestingLevelsSuggestionStates" .!= mempty))--instance ToJSON ListPropertiesSuggestionState where-        toJSON ListPropertiesSuggestionState'{..}-          = object-              (catMaybes-                 [("nestingLevelsSuggestionStates" .=) <$>-                    _lpssNestingLevelsSuggestionStates])---- | The suggested changes to this paragraph\'s bullet.------ /See:/ 'paragraphSuggestedBulletChanges' smart constructor.-newtype ParagraphSuggestedBulletChanges =-  ParagraphSuggestedBulletChanges'-    { _psbcAddtional :: HashMap Text SuggestedBullet-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ParagraphSuggestedBulletChanges' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'psbcAddtional'-paragraphSuggestedBulletChanges-    :: HashMap Text SuggestedBullet -- ^ 'psbcAddtional'-    -> ParagraphSuggestedBulletChanges-paragraphSuggestedBulletChanges pPsbcAddtional_ =-  ParagraphSuggestedBulletChanges' {_psbcAddtional = _Coerce # pPsbcAddtional_}---psbcAddtional :: Lens' ParagraphSuggestedBulletChanges (HashMap Text SuggestedBullet)-psbcAddtional-  = lens _psbcAddtional-      (\ s a -> s{_psbcAddtional = a})-      . _Coerce--instance FromJSON ParagraphSuggestedBulletChanges-         where-        parseJSON-          = withObject "ParagraphSuggestedBulletChanges"-              (\ o ->-                 ParagraphSuggestedBulletChanges' <$>-                   (parseJSONObject o))--instance ToJSON ParagraphSuggestedBulletChanges where-        toJSON = toJSON . _psbcAddtional---- | A single response from an update.------ /See:/ 'response' smart constructor.-data Response =-  Response'-    { _rReplaceAllText          :: !(Maybe ReplaceAllTextResponse)-    , _rCreateNamedRange        :: !(Maybe CreateNamedRangeResponse)-    , _rInsertInlineImage       :: !(Maybe InsertInlineImageResponse)-    , _rInsertInlineSheetsChart :: !(Maybe InsertInlineSheetsChartResponse)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Response' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rReplaceAllText'------ * 'rCreateNamedRange'------ * 'rInsertInlineImage'------ * 'rInsertInlineSheetsChart'-response-    :: Response-response =-  Response'-    { _rReplaceAllText = Nothing-    , _rCreateNamedRange = Nothing-    , _rInsertInlineImage = Nothing-    , _rInsertInlineSheetsChart = Nothing-    }----- | The result of replacing text.-rReplaceAllText :: Lens' Response (Maybe ReplaceAllTextResponse)-rReplaceAllText-  = lens _rReplaceAllText-      (\ s a -> s{_rReplaceAllText = a})---- | The result of creating a named range.-rCreateNamedRange :: Lens' Response (Maybe CreateNamedRangeResponse)-rCreateNamedRange-  = lens _rCreateNamedRange-      (\ s a -> s{_rCreateNamedRange = a})---- | The result of inserting an inline image.-rInsertInlineImage :: Lens' Response (Maybe InsertInlineImageResponse)-rInsertInlineImage-  = lens _rInsertInlineImage-      (\ s a -> s{_rInsertInlineImage = a})---- | The result of inserting an inline Google Sheets chart.-rInsertInlineSheetsChart :: Lens' Response (Maybe InsertInlineSheetsChartResponse)-rInsertInlineSheetsChart-  = lens _rInsertInlineSheetsChart-      (\ s a -> s{_rInsertInlineSheetsChart = a})--instance FromJSON Response where-        parseJSON-          = withObject "Response"-              (\ o ->-                 Response' <$>-                   (o .:? "replaceAllText") <*>-                     (o .:? "createNamedRange")-                     <*> (o .:? "insertInlineImage")-                     <*> (o .:? "insertInlineSheetsChart"))--instance ToJSON Response where-        toJSON Response'{..}-          = object-              (catMaybes-                 [("replaceAllText" .=) <$> _rReplaceAllText,-                  ("createNamedRange" .=) <$> _rCreateNamedRange,-                  ("insertInlineImage" .=) <$> _rInsertInlineImage,-                  ("insertInlineSheetsChart" .=) <$>-                    _rInsertInlineSheetsChart])---- | A reference to a linked chart embedded from Google Sheets.------ /See:/ 'sheetsChartReference' smart constructor.-data SheetsChartReference =-  SheetsChartReference'-    { _scrSpreadsheetId :: !(Maybe Text)-    , _scrChartId       :: !(Maybe (Textual Int32))-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SheetsChartReference' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'scrSpreadsheetId'------ * 'scrChartId'-sheetsChartReference-    :: SheetsChartReference-sheetsChartReference =-  SheetsChartReference' {_scrSpreadsheetId = Nothing, _scrChartId = Nothing}----- | The ID of the Google Sheets spreadsheet that contains the source chart.-scrSpreadsheetId :: Lens' SheetsChartReference (Maybe Text)-scrSpreadsheetId-  = lens _scrSpreadsheetId-      (\ s a -> s{_scrSpreadsheetId = a})---- | The ID of the specific chart in the Google Sheets spreadsheet that is--- embedded.-scrChartId :: Lens' SheetsChartReference (Maybe Int32)-scrChartId-  = lens _scrChartId (\ s a -> s{_scrChartId = a}) .-      mapping _Coerce--instance FromJSON SheetsChartReference where-        parseJSON-          = withObject "SheetsChartReference"-              (\ o ->-                 SheetsChartReference' <$>-                   (o .:? "spreadsheetId") <*> (o .:? "chartId"))--instance ToJSON SheetsChartReference where-        toJSON SheetsChartReference'{..}-          = object-              (catMaybes-                 [("spreadsheetId" .=) <$> _scrSpreadsheetId,-                  ("chartId" .=) <$> _scrChartId])---- | A color that can either be fully opaque or fully transparent.------ /See:/ 'optionalColor' smart constructor.-newtype OptionalColor =-  OptionalColor'-    { _ocColor :: Maybe Color-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'OptionalColor' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ocColor'-optionalColor-    :: OptionalColor-optionalColor = OptionalColor' {_ocColor = Nothing}----- | If set, this will be used as an opaque color. If unset, this represents--- a transparent color.-ocColor :: Lens' OptionalColor (Maybe Color)-ocColor = lens _ocColor (\ s a -> s{_ocColor = a})--instance FromJSON OptionalColor where-        parseJSON-          = withObject "OptionalColor"-              (\ o -> OptionalColor' <$> (o .:? "color"))--instance ToJSON OptionalColor where-        toJSON OptionalColor'{..}-          = object (catMaybes [("color" .=) <$> _ocColor])---- | The result of creating a named range.------ /See:/ 'createNamedRangeResponse' smart constructor.-newtype CreateNamedRangeResponse =-  CreateNamedRangeResponse'-    { _cnrrNamedRangeId :: Maybe Text-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateNamedRangeResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cnrrNamedRangeId'-createNamedRangeResponse-    :: CreateNamedRangeResponse-createNamedRangeResponse =-  CreateNamedRangeResponse' {_cnrrNamedRangeId = Nothing}----- | The ID of the created named range.-cnrrNamedRangeId :: Lens' CreateNamedRangeResponse (Maybe Text)-cnrrNamedRangeId-  = lens _cnrrNamedRangeId-      (\ s a -> s{_cnrrNamedRangeId = a})--instance FromJSON CreateNamedRangeResponse where-        parseJSON-          = withObject "CreateNamedRangeResponse"-              (\ o ->-                 CreateNamedRangeResponse' <$> (o .:? "namedRangeId"))--instance ToJSON CreateNamedRangeResponse where-        toJSON CreateNamedRangeResponse'{..}-          = object-              (catMaybes-                 [("namedRangeId" .=) <$> _cnrrNamedRangeId])---- | A suggested change to a Bullet.------ /See:/ 'suggestedBullet' smart constructor.-data SuggestedBullet =-  SuggestedBullet'-    { _sbBullet                :: !(Maybe Bullet)-    , _sbBulletSuggestionState :: !(Maybe BulletSuggestionState)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SuggestedBullet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sbBullet'------ * 'sbBulletSuggestionState'-suggestedBullet-    :: SuggestedBullet-suggestedBullet =-  SuggestedBullet' {_sbBullet = Nothing, _sbBulletSuggestionState = Nothing}----- | A Bullet that only includes the changes made in this suggestion. This--- can be used along with the bullet_suggestion_state to see which fields--- have changed and their new values.-sbBullet :: Lens' SuggestedBullet (Maybe Bullet)-sbBullet = lens _sbBullet (\ s a -> s{_sbBullet = a})---- | A mask that indicates which of the fields on the base Bullet have been--- changed in this suggestion.-sbBulletSuggestionState :: Lens' SuggestedBullet (Maybe BulletSuggestionState)-sbBulletSuggestionState-  = lens _sbBulletSuggestionState-      (\ s a -> s{_sbBulletSuggestionState = a})--instance FromJSON SuggestedBullet where-        parseJSON-          = withObject "SuggestedBullet"-              (\ o ->-                 SuggestedBullet' <$>-                   (o .:? "bullet") <*> (o .:? "bulletSuggestionState"))--instance ToJSON SuggestedBullet where-        toJSON SuggestedBullet'{..}-          = object-              (catMaybes-                 [("bullet" .=) <$> _sbBullet,-                  ("bulletSuggestionState" .=) <$>-                    _sbBulletSuggestionState])---- | An embedded object in the document.------ /See:/ 'embeddedObject' smart constructor.-data EmbeddedObject =-  EmbeddedObject'-    { _eoMarginTop                 :: !(Maybe Dimension)-    , _eoSize                      :: !(Maybe Size)-    , _eoLinkedContentReference    :: !(Maybe LinkedContentReference)-    , _eoImageProperties           :: !(Maybe ImageProperties)-    , _eoEmbeddedObjectBOrder      :: !(Maybe EmbeddedObjectBOrder)-    , _eoEmbeddedDrawingProperties :: !(Maybe EmbeddedDrawingProperties)-    , _eoMarginLeft                :: !(Maybe Dimension)-    , _eoTitle                     :: !(Maybe Text)-    , _eoMarginRight               :: !(Maybe Dimension)-    , _eoDescription               :: !(Maybe Text)-    , _eoMarginBottom              :: !(Maybe Dimension)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'EmbeddedObject' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eoMarginTop'------ * 'eoSize'------ * 'eoLinkedContentReference'------ * 'eoImageProperties'------ * 'eoEmbeddedObjectBOrder'------ * 'eoEmbeddedDrawingProperties'------ * 'eoMarginLeft'------ * 'eoTitle'------ * 'eoMarginRight'------ * 'eoDescription'------ * 'eoMarginBottom'-embeddedObject-    :: EmbeddedObject-embeddedObject =-  EmbeddedObject'-    { _eoMarginTop = Nothing-    , _eoSize = Nothing-    , _eoLinkedContentReference = Nothing-    , _eoImageProperties = Nothing-    , _eoEmbeddedObjectBOrder = Nothing-    , _eoEmbeddedDrawingProperties = Nothing-    , _eoMarginLeft = Nothing-    , _eoTitle = Nothing-    , _eoMarginRight = Nothing-    , _eoDescription = Nothing-    , _eoMarginBottom = Nothing-    }----- | The top margin of the embedded object.-eoMarginTop :: Lens' EmbeddedObject (Maybe Dimension)-eoMarginTop-  = lens _eoMarginTop (\ s a -> s{_eoMarginTop = a})---- | The size of the embedded object.-eoSize :: Lens' EmbeddedObject (Maybe Size)-eoSize = lens _eoSize (\ s a -> s{_eoSize = a})---- | A reference to the external linked source content. For example, it--- contains a reference to the source Sheets chart when the embedded object--- is a linked chart. If unset, then the embedded object is not linked.-eoLinkedContentReference :: Lens' EmbeddedObject (Maybe LinkedContentReference)-eoLinkedContentReference-  = lens _eoLinkedContentReference-      (\ s a -> s{_eoLinkedContentReference = a})---- | The properties of an image.-eoImageProperties :: Lens' EmbeddedObject (Maybe ImageProperties)-eoImageProperties-  = lens _eoImageProperties-      (\ s a -> s{_eoImageProperties = a})---- | The border of the embedded object.-eoEmbeddedObjectBOrder :: Lens' EmbeddedObject (Maybe EmbeddedObjectBOrder)-eoEmbeddedObjectBOrder-  = lens _eoEmbeddedObjectBOrder-      (\ s a -> s{_eoEmbeddedObjectBOrder = a})---- | The properties of an embedded drawing.-eoEmbeddedDrawingProperties :: Lens' EmbeddedObject (Maybe EmbeddedDrawingProperties)-eoEmbeddedDrawingProperties-  = lens _eoEmbeddedDrawingProperties-      (\ s a -> s{_eoEmbeddedDrawingProperties = a})---- | The left margin of the embedded object.-eoMarginLeft :: Lens' EmbeddedObject (Maybe Dimension)-eoMarginLeft-  = lens _eoMarginLeft (\ s a -> s{_eoMarginLeft = a})---- | The title of the embedded object. The \`title\` and \`description\` are--- both combined to display alt text.-eoTitle :: Lens' EmbeddedObject (Maybe Text)-eoTitle = lens _eoTitle (\ s a -> s{_eoTitle = a})---- | The right margin of the embedded object.-eoMarginRight :: Lens' EmbeddedObject (Maybe Dimension)-eoMarginRight-  = lens _eoMarginRight-      (\ s a -> s{_eoMarginRight = a})---- | The description of the embedded object. The \`title\` and--- \`description\` are both combined to display alt text.-eoDescription :: Lens' EmbeddedObject (Maybe Text)-eoDescription-  = lens _eoDescription-      (\ s a -> s{_eoDescription = a})---- | The bottom margin of the embedded object.-eoMarginBottom :: Lens' EmbeddedObject (Maybe Dimension)-eoMarginBottom-  = lens _eoMarginBottom-      (\ s a -> s{_eoMarginBottom = a})--instance FromJSON EmbeddedObject where-        parseJSON-          = withObject "EmbeddedObject"-              (\ o ->-                 EmbeddedObject' <$>-                   (o .:? "marginTop") <*> (o .:? "size") <*>-                     (o .:? "linkedContentReference")-                     <*> (o .:? "imageProperties")-                     <*> (o .:? "embeddedObjectBorder")-                     <*> (o .:? "embeddedDrawingProperties")-                     <*> (o .:? "marginLeft")-                     <*> (o .:? "title")-                     <*> (o .:? "marginRight")-                     <*> (o .:? "description")-                     <*> (o .:? "marginBottom"))--instance ToJSON EmbeddedObject where-        toJSON EmbeddedObject'{..}-          = object-              (catMaybes-                 [("marginTop" .=) <$> _eoMarginTop,-                  ("size" .=) <$> _eoSize,-                  ("linkedContentReference" .=) <$>-                    _eoLinkedContentReference,-                  ("imageProperties" .=) <$> _eoImageProperties,-                  ("embeddedObjectBorder" .=) <$>-                    _eoEmbeddedObjectBOrder,-                  ("embeddedDrawingProperties" .=) <$>-                    _eoEmbeddedDrawingProperties,-                  ("marginLeft" .=) <$> _eoMarginLeft,-                  ("title" .=) <$> _eoTitle,-                  ("marginRight" .=) <$> _eoMarginRight,-                  ("description" .=) <$> _eoDescription,-                  ("marginBottom" .=) <$> _eoMarginBottom])---- | The result of replacing text.------ /See:/ 'replaceAllTextResponse' smart constructor.-newtype ReplaceAllTextResponse =-  ReplaceAllTextResponse'-    { _ratrOccurrencesChanged :: Maybe (Textual Int32)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ReplaceAllTextResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ratrOccurrencesChanged'-replaceAllTextResponse-    :: ReplaceAllTextResponse-replaceAllTextResponse =-  ReplaceAllTextResponse' {_ratrOccurrencesChanged = Nothing}----- | The number of occurrences changed by replacing all text.-ratrOccurrencesChanged :: Lens' ReplaceAllTextResponse (Maybe Int32)-ratrOccurrencesChanged-  = lens _ratrOccurrencesChanged-      (\ s a -> s{_ratrOccurrencesChanged = a})-      . mapping _Coerce--instance FromJSON ReplaceAllTextResponse where-        parseJSON-          = withObject "ReplaceAllTextResponse"-              (\ o ->-                 ReplaceAllTextResponse' <$>-                   (o .:? "occurrencesChanged"))--instance ToJSON ReplaceAllTextResponse where-        toJSON ReplaceAllTextResponse'{..}-          = object-              (catMaybes-                 [("occurrencesChanged" .=) <$>-                    _ratrOccurrencesChanged])---- | A mask that indicates which of the fields on the base DocumentStyle have--- been changed in this suggestion. For any field set to true, there is a--- new suggested value.------ /See:/ 'documentStyleSuggestionState' smart constructor.-data DocumentStyleSuggestionState =-  DocumentStyleSuggestionState'-    { _dsssFirstPageFooterIdSuggested        :: !(Maybe Bool)-    , _dsssDefaultHeaderIdSuggested          :: !(Maybe Bool)-    , _dsssUseEvenPageHeaderFooterSuggested  :: !(Maybe Bool)-    , _dsssPageNumberStartSuggested          :: !(Maybe Bool)-    , _dsssBackgRoundSuggestionState         :: !(Maybe BackgRoundSuggestionState)-    , _dsssUseFirstPageHeaderFooterSuggested :: !(Maybe Bool)-    , _dsssPageSizeSuggestionState           :: !(Maybe SizeSuggestionState)-    , _dsssMarginTopSuggested                :: !(Maybe Bool)-    , _dsssEvenPageFooterIdSuggested         :: !(Maybe Bool)-    , _dsssMarginBottomSuggested             :: !(Maybe Bool)-    , _dsssEvenPageHeaderIdSuggested         :: !(Maybe Bool)-    , _dsssMarginLeftSuggested               :: !(Maybe Bool)-    , _dsssMarginRightSuggested              :: !(Maybe Bool)-    , _dsssFirstPageHeaderIdSuggested        :: !(Maybe Bool)-    , _dsssDefaultFooterIdSuggested          :: !(Maybe Bool)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DocumentStyleSuggestionState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dsssFirstPageFooterIdSuggested'------ * 'dsssDefaultHeaderIdSuggested'------ * 'dsssUseEvenPageHeaderFooterSuggested'------ * 'dsssPageNumberStartSuggested'------ * 'dsssBackgRoundSuggestionState'------ * 'dsssUseFirstPageHeaderFooterSuggested'------ * 'dsssPageSizeSuggestionState'------ * 'dsssMarginTopSuggested'------ * 'dsssEvenPageFooterIdSuggested'------ * 'dsssMarginBottomSuggested'------ * 'dsssEvenPageHeaderIdSuggested'------ * 'dsssMarginLeftSuggested'------ * 'dsssMarginRightSuggested'------ * 'dsssFirstPageHeaderIdSuggested'------ * 'dsssDefaultFooterIdSuggested'-documentStyleSuggestionState-    :: DocumentStyleSuggestionState-documentStyleSuggestionState =-  DocumentStyleSuggestionState'-    { _dsssFirstPageFooterIdSuggested = Nothing-    , _dsssDefaultHeaderIdSuggested = Nothing-    , _dsssUseEvenPageHeaderFooterSuggested = Nothing-    , _dsssPageNumberStartSuggested = Nothing-    , _dsssBackgRoundSuggestionState = Nothing-    , _dsssUseFirstPageHeaderFooterSuggested = Nothing-    , _dsssPageSizeSuggestionState = Nothing-    , _dsssMarginTopSuggested = Nothing-    , _dsssEvenPageFooterIdSuggested = Nothing-    , _dsssMarginBottomSuggested = Nothing-    , _dsssEvenPageHeaderIdSuggested = Nothing-    , _dsssMarginLeftSuggested = Nothing-    , _dsssMarginRightSuggested = Nothing-    , _dsssFirstPageHeaderIdSuggested = Nothing-    , _dsssDefaultFooterIdSuggested = Nothing-    }----- | Indicates if there was a suggested change to first_page_footer_id.-dsssFirstPageFooterIdSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)-dsssFirstPageFooterIdSuggested-  = lens _dsssFirstPageFooterIdSuggested-      (\ s a -> s{_dsssFirstPageFooterIdSuggested = a})---- | Indicates if there was a suggested change to default_header_id.-dsssDefaultHeaderIdSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)-dsssDefaultHeaderIdSuggested-  = lens _dsssDefaultHeaderIdSuggested-      (\ s a -> s{_dsssDefaultHeaderIdSuggested = a})---- | Indicates if there was a suggested change to--- use_even_page_header_footer.-dsssUseEvenPageHeaderFooterSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)-dsssUseEvenPageHeaderFooterSuggested-  = lens _dsssUseEvenPageHeaderFooterSuggested-      (\ s a ->-         s{_dsssUseEvenPageHeaderFooterSuggested = a})---- | Indicates if there was a suggested change to page_number_start.-dsssPageNumberStartSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)-dsssPageNumberStartSuggested-  = lens _dsssPageNumberStartSuggested-      (\ s a -> s{_dsssPageNumberStartSuggested = a})---- | A mask that indicates which of the fields in background have been--- changed in this suggestion.-dsssBackgRoundSuggestionState :: Lens' DocumentStyleSuggestionState (Maybe BackgRoundSuggestionState)-dsssBackgRoundSuggestionState-  = lens _dsssBackgRoundSuggestionState-      (\ s a -> s{_dsssBackgRoundSuggestionState = a})---- | Indicates if there was a suggested change to--- use_first_page_header_footer.-dsssUseFirstPageHeaderFooterSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)-dsssUseFirstPageHeaderFooterSuggested-  = lens _dsssUseFirstPageHeaderFooterSuggested-      (\ s a ->-         s{_dsssUseFirstPageHeaderFooterSuggested = a})---- | A mask that indicates which of the fields in size have been changed in--- this suggestion.-dsssPageSizeSuggestionState :: Lens' DocumentStyleSuggestionState (Maybe SizeSuggestionState)-dsssPageSizeSuggestionState-  = lens _dsssPageSizeSuggestionState-      (\ s a -> s{_dsssPageSizeSuggestionState = a})---- | Indicates if there was a suggested change to margin_top.-dsssMarginTopSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)-dsssMarginTopSuggested-  = lens _dsssMarginTopSuggested-      (\ s a -> s{_dsssMarginTopSuggested = a})---- | Indicates if there was a suggested change to even_page_footer_id.-dsssEvenPageFooterIdSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)-dsssEvenPageFooterIdSuggested-  = lens _dsssEvenPageFooterIdSuggested-      (\ s a -> s{_dsssEvenPageFooterIdSuggested = a})---- | Indicates if there was a suggested change to margin_bottom.-dsssMarginBottomSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)-dsssMarginBottomSuggested-  = lens _dsssMarginBottomSuggested-      (\ s a -> s{_dsssMarginBottomSuggested = a})---- | Indicates if there was a suggested change to even_page_header_id.-dsssEvenPageHeaderIdSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)-dsssEvenPageHeaderIdSuggested-  = lens _dsssEvenPageHeaderIdSuggested-      (\ s a -> s{_dsssEvenPageHeaderIdSuggested = a})---- | Indicates if there was a suggested change to margin_left.-dsssMarginLeftSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)-dsssMarginLeftSuggested-  = lens _dsssMarginLeftSuggested-      (\ s a -> s{_dsssMarginLeftSuggested = a})---- | Indicates if there was a suggested change to margin_right.-dsssMarginRightSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)-dsssMarginRightSuggested-  = lens _dsssMarginRightSuggested-      (\ s a -> s{_dsssMarginRightSuggested = a})---- | Indicates if there was a suggested change to first_page_header_id.-dsssFirstPageHeaderIdSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)-dsssFirstPageHeaderIdSuggested-  = lens _dsssFirstPageHeaderIdSuggested-      (\ s a -> s{_dsssFirstPageHeaderIdSuggested = a})---- | Indicates if there was a suggested change to default_footer_id.-dsssDefaultFooterIdSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)-dsssDefaultFooterIdSuggested-  = lens _dsssDefaultFooterIdSuggested-      (\ s a -> s{_dsssDefaultFooterIdSuggested = a})--instance FromJSON DocumentStyleSuggestionState where-        parseJSON-          = withObject "DocumentStyleSuggestionState"-              (\ o ->-                 DocumentStyleSuggestionState' <$>-                   (o .:? "firstPageFooterIdSuggested") <*>-                     (o .:? "defaultHeaderIdSuggested")-                     <*> (o .:? "useEvenPageHeaderFooterSuggested")-                     <*> (o .:? "pageNumberStartSuggested")-                     <*> (o .:? "backgroundSuggestionState")-                     <*> (o .:? "useFirstPageHeaderFooterSuggested")-                     <*> (o .:? "pageSizeSuggestionState")-                     <*> (o .:? "marginTopSuggested")-                     <*> (o .:? "evenPageFooterIdSuggested")-                     <*> (o .:? "marginBottomSuggested")-                     <*> (o .:? "evenPageHeaderIdSuggested")-                     <*> (o .:? "marginLeftSuggested")-                     <*> (o .:? "marginRightSuggested")-                     <*> (o .:? "firstPageHeaderIdSuggested")-                     <*> (o .:? "defaultFooterIdSuggested"))--instance ToJSON DocumentStyleSuggestionState where-        toJSON DocumentStyleSuggestionState'{..}-          = object-              (catMaybes-                 [("firstPageFooterIdSuggested" .=) <$>-                    _dsssFirstPageFooterIdSuggested,-                  ("defaultHeaderIdSuggested" .=) <$>-                    _dsssDefaultHeaderIdSuggested,-                  ("useEvenPageHeaderFooterSuggested" .=) <$>-                    _dsssUseEvenPageHeaderFooterSuggested,-                  ("pageNumberStartSuggested" .=) <$>-                    _dsssPageNumberStartSuggested,-                  ("backgroundSuggestionState" .=) <$>-                    _dsssBackgRoundSuggestionState,-                  ("useFirstPageHeaderFooterSuggested" .=) <$>-                    _dsssUseFirstPageHeaderFooterSuggested,-                  ("pageSizeSuggestionState" .=) <$>-                    _dsssPageSizeSuggestionState,-                  ("marginTopSuggested" .=) <$>-                    _dsssMarginTopSuggested,-                  ("evenPageFooterIdSuggested" .=) <$>-                    _dsssEvenPageFooterIdSuggested,-                  ("marginBottomSuggested" .=) <$>-                    _dsssMarginBottomSuggested,-                  ("evenPageHeaderIdSuggested" .=) <$>-                    _dsssEvenPageHeaderIdSuggested,-                  ("marginLeftSuggested" .=) <$>-                    _dsssMarginLeftSuggested,-                  ("marginRightSuggested" .=) <$>-                    _dsssMarginRightSuggested,-                  ("firstPageHeaderIdSuggested" .=) <$>-                    _dsssFirstPageHeaderIdSuggested,-                  ("defaultFooterIdSuggested" .=) <$>-                    _dsssDefaultFooterIdSuggested])---- | A reference to the external linked source content.------ /See:/ 'linkedContentReference' smart constructor.-newtype LinkedContentReference =-  LinkedContentReference'-    { _lcrSheetsChartReference :: Maybe SheetsChartReference-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'LinkedContentReference' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lcrSheetsChartReference'-linkedContentReference-    :: LinkedContentReference-linkedContentReference =-  LinkedContentReference' {_lcrSheetsChartReference = Nothing}----- | A reference to the linked chart.-lcrSheetsChartReference :: Lens' LinkedContentReference (Maybe SheetsChartReference)-lcrSheetsChartReference-  = lens _lcrSheetsChartReference-      (\ s a -> s{_lcrSheetsChartReference = a})--instance FromJSON LinkedContentReference where-        parseJSON-          = withObject "LinkedContentReference"-              (\ o ->-                 LinkedContentReference' <$>-                   (o .:? "sheetsChartReference"))--instance ToJSON LinkedContentReference where-        toJSON LinkedContentReference'{..}-          = object-              (catMaybes-                 [("sheetsChartReference" .=) <$>-                    _lcrSheetsChartReference])---- | The shading of a paragraph.------ /See:/ 'shading' smart constructor.-newtype Shading =-  Shading'-    { _sBackgRoundColor :: Maybe OptionalColor-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Shading' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sBackgRoundColor'-shading-    :: Shading-shading = Shading' {_sBackgRoundColor = Nothing}----- | The background color of this paragraph shading.-sBackgRoundColor :: Lens' Shading (Maybe OptionalColor)-sBackgRoundColor-  = lens _sBackgRoundColor-      (\ s a -> s{_sBackgRoundColor = a})--instance FromJSON Shading where-        parseJSON-          = withObject "Shading"-              (\ o -> Shading' <$> (o .:? "backgroundColor"))--instance ToJSON Shading where-        toJSON Shading'{..}-          = object-              (catMaybes-                 [("backgroundColor" .=) <$> _sBackgRoundColor])---- | A mask that indicates which of the fields on the base--- InlineObjectProperties have been changed in this suggestion. For any--- field set to true, there is a new suggested value.------ /See:/ 'inlineObjectPropertiesSuggestionState' smart constructor.-newtype InlineObjectPropertiesSuggestionState =-  InlineObjectPropertiesSuggestionState'-    { _iopssEmbeddedObjectSuggestionState :: Maybe EmbeddedObjectSuggestionState-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'InlineObjectPropertiesSuggestionState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iopssEmbeddedObjectSuggestionState'-inlineObjectPropertiesSuggestionState-    :: InlineObjectPropertiesSuggestionState-inlineObjectPropertiesSuggestionState =-  InlineObjectPropertiesSuggestionState'-    {_iopssEmbeddedObjectSuggestionState = Nothing}----- | A mask that indicates which of the fields in embedded_object have been--- changed in this suggestion.-iopssEmbeddedObjectSuggestionState :: Lens' InlineObjectPropertiesSuggestionState (Maybe EmbeddedObjectSuggestionState)-iopssEmbeddedObjectSuggestionState-  = lens _iopssEmbeddedObjectSuggestionState-      (\ s a -> s{_iopssEmbeddedObjectSuggestionState = a})--instance FromJSON-           InlineObjectPropertiesSuggestionState-         where-        parseJSON-          = withObject "InlineObjectPropertiesSuggestionState"-              (\ o ->-                 InlineObjectPropertiesSuggestionState' <$>-                   (o .:? "embeddedObjectSuggestionState"))--instance ToJSON InlineObjectPropertiesSuggestionState-         where-        toJSON InlineObjectPropertiesSuggestionState'{..}-          = object-              (catMaybes-                 [("embeddedObjectSuggestionState" .=) <$>-                    _iopssEmbeddedObjectSuggestionState])---- | The suggested text style changes to this PageBreak, keyed by suggestion--- ID.------ /See:/ 'pageBreakSuggestedTextStyleChanges' smart constructor.-newtype PageBreakSuggestedTextStyleChanges =-  PageBreakSuggestedTextStyleChanges'-    { _pbstscAddtional :: HashMap Text SuggestedTextStyle-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'PageBreakSuggestedTextStyleChanges' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pbstscAddtional'-pageBreakSuggestedTextStyleChanges-    :: HashMap Text SuggestedTextStyle -- ^ 'pbstscAddtional'-    -> PageBreakSuggestedTextStyleChanges-pageBreakSuggestedTextStyleChanges pPbstscAddtional_ =-  PageBreakSuggestedTextStyleChanges'-    {_pbstscAddtional = _Coerce # pPbstscAddtional_}---pbstscAddtional :: Lens' PageBreakSuggestedTextStyleChanges (HashMap Text SuggestedTextStyle)-pbstscAddtional-  = lens _pbstscAddtional-      (\ s a -> s{_pbstscAddtional = a})-      . _Coerce--instance FromJSON PageBreakSuggestedTextStyleChanges-         where-        parseJSON-          = withObject "PageBreakSuggestedTextStyleChanges"-              (\ o ->-                 PageBreakSuggestedTextStyleChanges' <$>-                   (parseJSONObject o))--instance ToJSON PageBreakSuggestedTextStyleChanges-         where-        toJSON = toJSON . _pbstscAddtional---- | The lists in the document, keyed by list ID.------ /See:/ 'documentLists' smart constructor.-newtype DocumentLists =-  DocumentLists'-    { _dlAddtional :: HashMap Text List-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DocumentLists' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dlAddtional'-documentLists-    :: HashMap Text List -- ^ 'dlAddtional'-    -> DocumentLists-documentLists pDlAddtional_ =-  DocumentLists' {_dlAddtional = _Coerce # pDlAddtional_}---dlAddtional :: Lens' DocumentLists (HashMap Text List)-dlAddtional-  = lens _dlAddtional (\ s a -> s{_dlAddtional = a}) .-      _Coerce--instance FromJSON DocumentLists where-        parseJSON-          = withObject "DocumentLists"-              (\ o -> DocumentLists' <$> (parseJSONObject o))--instance ToJSON DocumentLists where-        toJSON = toJSON . _dlAddtional---- | Deletes content from the document.------ /See:/ 'deleteContentRangeRequest' smart constructor.-newtype DeleteContentRangeRequest =-  DeleteContentRangeRequest'-    { _dcrrRange :: Maybe Range-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteContentRangeRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dcrrRange'-deleteContentRangeRequest-    :: DeleteContentRangeRequest-deleteContentRangeRequest = DeleteContentRangeRequest' {_dcrrRange = Nothing}----- | The range of content to delete. Deleting text that crosses a paragraph--- boundary may result in changes to paragraph styles, lists, positioned--- objects and bookmarks as the two paragraphs are merged. Attempting to--- delete certain ranges can result in an invalid document structure in--- which case a 400 bad request error is returned. Some examples of invalid--- delete requests include: * Deleting one code unit of a surrogate pair. *--- Deleting the last newline character of a Body, Header, Footer, Footnote,--- TableCell or TableOfContents. * Deleting the start or end of a Table,--- TableOfContents or Equation without deleting the entire element. *--- Deleting the newline character before a Table, TableOfContents or--- SectionBreak without deleting the element. * Deleting individual rows or--- cells of a table. Deleting the content within a table cell is allowed.-dcrrRange :: Lens' DeleteContentRangeRequest (Maybe Range)-dcrrRange-  = lens _dcrrRange (\ s a -> s{_dcrrRange = a})--instance FromJSON DeleteContentRangeRequest where-        parseJSON-          = withObject "DeleteContentRangeRequest"-              (\ o ->-                 DeleteContentRangeRequest' <$> (o .:? "range"))--instance ToJSON DeleteContentRangeRequest where-        toJSON DeleteContentRangeRequest'{..}-          = object (catMaybes [("range" .=) <$> _dcrrRange])---- | Describes the bullet of a paragraph.------ /See:/ 'bullet' smart constructor.-data Bullet =-  Bullet'-    { _bListId       :: !(Maybe Text)-    , _bTextStyle    :: !(Maybe TextStyle)-    , _bNestingLevel :: !(Maybe (Textual Int32))-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Bullet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bListId'------ * 'bTextStyle'------ * 'bNestingLevel'-bullet-    :: Bullet-bullet =-  Bullet' {_bListId = Nothing, _bTextStyle = Nothing, _bNestingLevel = Nothing}----- | The ID of the list this paragraph belongs to.-bListId :: Lens' Bullet (Maybe Text)-bListId = lens _bListId (\ s a -> s{_bListId = a})---- | The paragraph specific text style applied to this bullet.-bTextStyle :: Lens' Bullet (Maybe TextStyle)-bTextStyle-  = lens _bTextStyle (\ s a -> s{_bTextStyle = a})---- | The nesting level of this paragraph in the list.-bNestingLevel :: Lens' Bullet (Maybe Int32)-bNestingLevel-  = lens _bNestingLevel-      (\ s a -> s{_bNestingLevel = a})-      . mapping _Coerce--instance FromJSON Bullet where-        parseJSON-          = withObject "Bullet"-              (\ o ->-                 Bullet' <$>-                   (o .:? "listId") <*> (o .:? "textStyle") <*>-                     (o .:? "nestingLevel"))--instance ToJSON Bullet where-        toJSON Bullet'{..}-          = object-              (catMaybes-                 [("listId" .=) <$> _bListId,-                  ("textStyle" .=) <$> _bTextStyle,-                  ("nestingLevel" .=) <$> _bNestingLevel])---- | A StructuralElement representing a paragraph. A paragraph is a range of--- content that is terminated with a newline character.------ /See:/ 'paragraph' smart constructor.-data Paragraph =-  Paragraph'-    { _pBullet                         :: !(Maybe Bullet)-    , _pSuggestedBulletChanges         :: !(Maybe ParagraphSuggestedBulletChanges)-    , _pSuggestedPositionedObjectIds   :: !(Maybe ParagraphSuggestedPositionedObjectIds)-    , _pSuggestedParagraphStyleChanges :: !(Maybe ParagraphSuggestedParagraphStyleChanges)-    , _pElements                       :: !(Maybe [ParagraphElement])-    , _pPositionedObjectIds            :: !(Maybe [Text])-    , _pParagraphStyle                 :: !(Maybe ParagraphStyle)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Paragraph' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pBullet'------ * 'pSuggestedBulletChanges'------ * 'pSuggestedPositionedObjectIds'------ * 'pSuggestedParagraphStyleChanges'------ * 'pElements'------ * 'pPositionedObjectIds'------ * 'pParagraphStyle'-paragraph-    :: Paragraph-paragraph =-  Paragraph'-    { _pBullet = Nothing-    , _pSuggestedBulletChanges = Nothing-    , _pSuggestedPositionedObjectIds = Nothing-    , _pSuggestedParagraphStyleChanges = Nothing-    , _pElements = Nothing-    , _pPositionedObjectIds = Nothing-    , _pParagraphStyle = Nothing-    }----- | The bullet for this paragraph. If not present, the paragraph does not--- belong to a list.-pBullet :: Lens' Paragraph (Maybe Bullet)-pBullet = lens _pBullet (\ s a -> s{_pBullet = a})---- | The suggested changes to this paragraph\'s bullet.-pSuggestedBulletChanges :: Lens' Paragraph (Maybe ParagraphSuggestedBulletChanges)-pSuggestedBulletChanges-  = lens _pSuggestedBulletChanges-      (\ s a -> s{_pSuggestedBulletChanges = a})---- | The IDs of the positioned objects that are suggested to be attached to--- this paragraph, keyed by suggestion ID.-pSuggestedPositionedObjectIds :: Lens' Paragraph (Maybe ParagraphSuggestedPositionedObjectIds)-pSuggestedPositionedObjectIds-  = lens _pSuggestedPositionedObjectIds-      (\ s a -> s{_pSuggestedPositionedObjectIds = a})---- | The suggested paragraph style changes to this paragraph, keyed by--- suggestion ID.-pSuggestedParagraphStyleChanges :: Lens' Paragraph (Maybe ParagraphSuggestedParagraphStyleChanges)-pSuggestedParagraphStyleChanges-  = lens _pSuggestedParagraphStyleChanges-      (\ s a -> s{_pSuggestedParagraphStyleChanges = a})---- | The content of the paragraph broken down into its component parts.-pElements :: Lens' Paragraph [ParagraphElement]-pElements-  = lens _pElements (\ s a -> s{_pElements = a}) .-      _Default-      . _Coerce---- | The IDs of the positioned objects tethered to this paragraph.-pPositionedObjectIds :: Lens' Paragraph [Text]-pPositionedObjectIds-  = lens _pPositionedObjectIds-      (\ s a -> s{_pPositionedObjectIds = a})-      . _Default-      . _Coerce---- | The style of this paragraph.-pParagraphStyle :: Lens' Paragraph (Maybe ParagraphStyle)-pParagraphStyle-  = lens _pParagraphStyle-      (\ s a -> s{_pParagraphStyle = a})--instance FromJSON Paragraph where-        parseJSON-          = withObject "Paragraph"-              (\ o ->-                 Paragraph' <$>-                   (o .:? "bullet") <*> (o .:? "suggestedBulletChanges")-                     <*> (o .:? "suggestedPositionedObjectIds")-                     <*> (o .:? "suggestedParagraphStyleChanges")-                     <*> (o .:? "elements" .!= mempty)-                     <*> (o .:? "positionedObjectIds" .!= mempty)-                     <*> (o .:? "paragraphStyle"))--instance ToJSON Paragraph where-        toJSON Paragraph'{..}-          = object-              (catMaybes-                 [("bullet" .=) <$> _pBullet,-                  ("suggestedBulletChanges" .=) <$>-                    _pSuggestedBulletChanges,-                  ("suggestedPositionedObjectIds" .=) <$>-                    _pSuggestedPositionedObjectIds,-                  ("suggestedParagraphStyleChanges" .=) <$>-                    _pSuggestedParagraphStyleChanges,-                  ("elements" .=) <$> _pElements,-                  ("positionedObjectIds" .=) <$> _pPositionedObjectIds,-                  ("paragraphStyle" .=) <$> _pParagraphStyle])---- | The suggested text style changes to this run, keyed by suggestion ID.------ /See:/ 'textRunSuggestedTextStyleChanges' smart constructor.-newtype TextRunSuggestedTextStyleChanges =-  TextRunSuggestedTextStyleChanges'-    { _trstscAddtional :: HashMap Text SuggestedTextStyle-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'TextRunSuggestedTextStyleChanges' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'trstscAddtional'-textRunSuggestedTextStyleChanges-    :: HashMap Text SuggestedTextStyle -- ^ 'trstscAddtional'-    -> TextRunSuggestedTextStyleChanges-textRunSuggestedTextStyleChanges pTrstscAddtional_ =-  TextRunSuggestedTextStyleChanges'-    {_trstscAddtional = _Coerce # pTrstscAddtional_}---trstscAddtional :: Lens' TextRunSuggestedTextStyleChanges (HashMap Text SuggestedTextStyle)-trstscAddtional-  = lens _trstscAddtional-      (\ s a -> s{_trstscAddtional = a})-      . _Coerce--instance FromJSON TextRunSuggestedTextStyleChanges-         where-        parseJSON-          = withObject "TextRunSuggestedTextStyleChanges"-              (\ o ->-                 TextRunSuggestedTextStyleChanges' <$>-                   (parseJSONObject o))--instance ToJSON TextRunSuggestedTextStyleChanges-         where-        toJSON = toJSON . _trstscAddtional---- | A suggested change to a TableRowStyle.------ /See:/ 'suggestedTableRowStyle' smart constructor.-data SuggestedTableRowStyle =-  SuggestedTableRowStyle'-    { _strsTableRowStyleSuggestionState :: !(Maybe TableRowStyleSuggestionState)-    , _strsTableRowStyle                :: !(Maybe TableRowStyle)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SuggestedTableRowStyle' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'strsTableRowStyleSuggestionState'------ * 'strsTableRowStyle'-suggestedTableRowStyle-    :: SuggestedTableRowStyle-suggestedTableRowStyle =-  SuggestedTableRowStyle'-    {_strsTableRowStyleSuggestionState = Nothing, _strsTableRowStyle = Nothing}----- | A mask that indicates which of the fields on the base TableRowStyle have--- been changed in this suggestion.-strsTableRowStyleSuggestionState :: Lens' SuggestedTableRowStyle (Maybe TableRowStyleSuggestionState)-strsTableRowStyleSuggestionState-  = lens _strsTableRowStyleSuggestionState-      (\ s a -> s{_strsTableRowStyleSuggestionState = a})---- | A TableRowStyle that only includes the changes made in this suggestion.--- This can be used along with the table_row_style_suggestion_state to see--- which fields have changed and their new values.-strsTableRowStyle :: Lens' SuggestedTableRowStyle (Maybe TableRowStyle)-strsTableRowStyle-  = lens _strsTableRowStyle-      (\ s a -> s{_strsTableRowStyle = a})--instance FromJSON SuggestedTableRowStyle where-        parseJSON-          = withObject "SuggestedTableRowStyle"-              (\ o ->-                 SuggestedTableRowStyle' <$>-                   (o .:? "tableRowStyleSuggestionState") <*>-                     (o .:? "tableRowStyle"))--instance ToJSON SuggestedTableRowStyle where-        toJSON SuggestedTableRowStyle'{..}-          = object-              (catMaybes-                 [("tableRowStyleSuggestionState" .=) <$>-                    _strsTableRowStyleSuggestionState,-                  ("tableRowStyle" .=) <$> _strsTableRowStyle])---- | The footnotes in the document, keyed by footnote ID.------ /See:/ 'documentFootNotes' smart constructor.-newtype DocumentFootNotes =-  DocumentFootNotes'-    { _dfnAddtional :: HashMap Text FootNote-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DocumentFootNotes' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dfnAddtional'-documentFootNotes-    :: HashMap Text FootNote -- ^ 'dfnAddtional'-    -> DocumentFootNotes-documentFootNotes pDfnAddtional_ =-  DocumentFootNotes' {_dfnAddtional = _Coerce # pDfnAddtional_}---dfnAddtional :: Lens' DocumentFootNotes (HashMap Text FootNote)-dfnAddtional-  = lens _dfnAddtional (\ s a -> s{_dfnAddtional = a})-      . _Coerce--instance FromJSON DocumentFootNotes where-        parseJSON-          = withObject "DocumentFootNotes"-              (\ o -> DocumentFootNotes' <$> (parseJSONObject o))--instance ToJSON DocumentFootNotes where-        toJSON = toJSON . _dfnAddtional---- | The properties of an image.------ /See:/ 'imageProperties' smart constructor.-data ImageProperties =-  ImageProperties'-    { _ipCropProperties :: !(Maybe CropProperties)-    , _ipContentURI     :: !(Maybe Text)-    , _ipTransparency   :: !(Maybe (Textual Double))-    , _ipAngle          :: !(Maybe (Textual Double))-    , _ipContrast       :: !(Maybe (Textual Double))-    , _ipSourceURI      :: !(Maybe Text)-    , _ipBrightness     :: !(Maybe (Textual Double))-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ImageProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ipCropProperties'------ * 'ipContentURI'------ * 'ipTransparency'------ * 'ipAngle'------ * 'ipContrast'------ * 'ipSourceURI'------ * 'ipBrightness'-imageProperties-    :: ImageProperties-imageProperties =-  ImageProperties'-    { _ipCropProperties = Nothing-    , _ipContentURI = Nothing-    , _ipTransparency = Nothing-    , _ipAngle = Nothing-    , _ipContrast = Nothing-    , _ipSourceURI = Nothing-    , _ipBrightness = Nothing-    }----- | The crop properties of the image. After cropping, the image will be--- stretched to fit in its container.-ipCropProperties :: Lens' ImageProperties (Maybe CropProperties)-ipCropProperties-  = lens _ipCropProperties-      (\ s a -> s{_ipCropProperties = a})---- | A URI to the image with a default lifetime of 30 minutes. This URI is--- tagged with the account of the requester. Anyone with the URI--- effectively accesses the image as the original requester. Access to the--- image may be lost if the document\'s sharing settings change.-ipContentURI :: Lens' ImageProperties (Maybe Text)-ipContentURI-  = lens _ipContentURI (\ s a -> s{_ipContentURI = a})---- | 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.-ipTransparency :: Lens' ImageProperties (Maybe Double)-ipTransparency-  = lens _ipTransparency-      (\ s a -> s{_ipTransparency = a})-      . mapping _Coerce---- | The clockwise rotation angle of the image, in radians.-ipAngle :: Lens' ImageProperties (Maybe Double)-ipAngle-  = lens _ipAngle (\ s a -> s{_ipAngle = a}) .-      mapping _Coerce---- | The contrast effect of the image. The value should be in the interval--- [-1.0, 1.0], where 0 means no effect.-ipContrast :: Lens' ImageProperties (Maybe Double)-ipContrast-  = lens _ipContrast (\ s a -> s{_ipContrast = a}) .-      mapping _Coerce---- | The source URI is the URI used to insert the image. The source URI can--- be empty.-ipSourceURI :: Lens' ImageProperties (Maybe Text)-ipSourceURI-  = lens _ipSourceURI (\ s a -> s{_ipSourceURI = a})---- | The brightness effect of the image. The value should be in the interval--- [-1.0, 1.0], where 0 means no effect.-ipBrightness :: Lens' ImageProperties (Maybe Double)-ipBrightness-  = lens _ipBrightness (\ s a -> s{_ipBrightness = a})-      . mapping _Coerce--instance FromJSON ImageProperties where-        parseJSON-          = withObject "ImageProperties"-              (\ o ->-                 ImageProperties' <$>-                   (o .:? "cropProperties") <*> (o .:? "contentUri") <*>-                     (o .:? "transparency")-                     <*> (o .:? "angle")-                     <*> (o .:? "contrast")-                     <*> (o .:? "sourceUri")-                     <*> (o .:? "brightness"))--instance ToJSON ImageProperties where-        toJSON ImageProperties'{..}-          = object-              (catMaybes-                 [("cropProperties" .=) <$> _ipCropProperties,-                  ("contentUri" .=) <$> _ipContentURI,-                  ("transparency" .=) <$> _ipTransparency,-                  ("angle" .=) <$> _ipAngle,-                  ("contrast" .=) <$> _ipContrast,-                  ("sourceUri" .=) <$> _ipSourceURI,-                  ("brightness" .=) <$> _ipBrightness])---- | A mask that indicates which of the fields on the base Size have been--- changed in this suggestion. For any field set to true, the Size has a--- new suggested value.------ /See:/ 'sizeSuggestionState' smart constructor.-data SizeSuggestionState =-  SizeSuggestionState'-    { _sssHeightSuggested :: !(Maybe Bool)-    , _sssWidthSuggested  :: !(Maybe Bool)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SizeSuggestionState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sssHeightSuggested'------ * 'sssWidthSuggested'-sizeSuggestionState-    :: SizeSuggestionState-sizeSuggestionState =-  SizeSuggestionState'-    {_sssHeightSuggested = Nothing, _sssWidthSuggested = Nothing}----- | Indicates if there was a suggested change to height.-sssHeightSuggested :: Lens' SizeSuggestionState (Maybe Bool)-sssHeightSuggested-  = lens _sssHeightSuggested-      (\ s a -> s{_sssHeightSuggested = a})---- | Indicates if there was a suggested change to width.-sssWidthSuggested :: Lens' SizeSuggestionState (Maybe Bool)-sssWidthSuggested-  = lens _sssWidthSuggested-      (\ s a -> s{_sssWidthSuggested = a})--instance FromJSON SizeSuggestionState where-        parseJSON-          = withObject "SizeSuggestionState"-              (\ o ->-                 SizeSuggestionState' <$>-                   (o .:? "heightSuggested") <*>-                     (o .:? "widthSuggested"))--instance ToJSON SizeSuggestionState where-        toJSON SizeSuggestionState'{..}-          = object-              (catMaybes-                 [("heightSuggested" .=) <$> _sssHeightSuggested,-                  ("widthSuggested" .=) <$> _sssWidthSuggested])---- | The suggested changes to the list properties, keyed by suggestion ID.------ /See:/ 'listSuggestedListPropertiesChanges' smart constructor.-newtype ListSuggestedListPropertiesChanges =-  ListSuggestedListPropertiesChanges'-    { _lslpcAddtional :: HashMap Text SuggestedListProperties-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ListSuggestedListPropertiesChanges' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lslpcAddtional'-listSuggestedListPropertiesChanges-    :: HashMap Text SuggestedListProperties -- ^ 'lslpcAddtional'-    -> ListSuggestedListPropertiesChanges-listSuggestedListPropertiesChanges pLslpcAddtional_ =-  ListSuggestedListPropertiesChanges'-    {_lslpcAddtional = _Coerce # pLslpcAddtional_}---lslpcAddtional :: Lens' ListSuggestedListPropertiesChanges (HashMap Text SuggestedListProperties)-lslpcAddtional-  = lens _lslpcAddtional-      (\ s a -> s{_lslpcAddtional = a})-      . _Coerce--instance FromJSON ListSuggestedListPropertiesChanges-         where-        parseJSON-          = withObject "ListSuggestedListPropertiesChanges"-              (\ o ->-                 ListSuggestedListPropertiesChanges' <$>-                   (parseJSONObject o))--instance ToJSON ListSuggestedListPropertiesChanges-         where-        toJSON = toJSON . _lslpcAddtional---- | Response message from a BatchUpdateDocument request.------ /See:/ 'batchUpdateDocumentResponse' smart constructor.-data BatchUpdateDocumentResponse =-  BatchUpdateDocumentResponse'-    { _budrDocumentId   :: !(Maybe Text)-    , _budrReplies      :: !(Maybe [Response])-    , _budrWriteControl :: !(Maybe WriteControl)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchUpdateDocumentResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'budrDocumentId'------ * 'budrReplies'------ * 'budrWriteControl'-batchUpdateDocumentResponse-    :: BatchUpdateDocumentResponse-batchUpdateDocumentResponse =-  BatchUpdateDocumentResponse'-    { _budrDocumentId = Nothing-    , _budrReplies = Nothing-    , _budrWriteControl = Nothing-    }----- | The ID of the document to which the updates were applied to.-budrDocumentId :: Lens' BatchUpdateDocumentResponse (Maybe Text)-budrDocumentId-  = lens _budrDocumentId-      (\ s a -> s{_budrDocumentId = a})---- | The reply of the updates. This maps 1:1 with the updates, although--- replies to some requests may be empty.-budrReplies :: Lens' BatchUpdateDocumentResponse [Response]-budrReplies-  = lens _budrReplies (\ s a -> s{_budrReplies = a}) .-      _Default-      . _Coerce---- | The updated write control after applying the request.-budrWriteControl :: Lens' BatchUpdateDocumentResponse (Maybe WriteControl)-budrWriteControl-  = lens _budrWriteControl-      (\ s a -> s{_budrWriteControl = a})--instance FromJSON BatchUpdateDocumentResponse where-        parseJSON-          = withObject "BatchUpdateDocumentResponse"-              (\ o ->-                 BatchUpdateDocumentResponse' <$>-                   (o .:? "documentId") <*> (o .:? "replies" .!= mempty)-                     <*> (o .:? "writeControl"))--instance ToJSON BatchUpdateDocumentResponse where-        toJSON BatchUpdateDocumentResponse'{..}-          = object-              (catMaybes-                 [("documentId" .=) <$> _budrDocumentId,-                  ("replies" .=) <$> _budrReplies,-                  ("writeControl" .=) <$> _budrWriteControl])---- | Styles that apply to a table.------ /See:/ 'tableStyle' smart constructor.-newtype TableStyle =-  TableStyle'-    { _tsTableColumnProperties :: Maybe [TableColumnProperties]-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'TableStyle' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tsTableColumnProperties'-tableStyle-    :: TableStyle-tableStyle = TableStyle' {_tsTableColumnProperties = Nothing}----- | The properties of each column. Note that in Docs, tables contain rows--- and rows contain cells, similar to HTML. So the properties for a row can--- be found on the row\'s table_row_style.-tsTableColumnProperties :: Lens' TableStyle [TableColumnProperties]-tsTableColumnProperties-  = lens _tsTableColumnProperties-      (\ s a -> s{_tsTableColumnProperties = a})-      . _Default-      . _Coerce--instance FromJSON TableStyle where-        parseJSON-          = withObject "TableStyle"-              (\ o ->-                 TableStyle' <$>-                   (o .:? "tableColumnProperties" .!= mempty))--instance ToJSON TableStyle where-        toJSON TableStyle'{..}-          = object-              (catMaybes-                 [("tableColumnProperties" .=) <$>-                    _tsTableColumnProperties])---- | A ParagraphElement representing a footnote reference. A footnote--- reference is the inline content rendered with a number and is used to--- identify the footnote.------ /See:/ 'footNoteReference' smart constructor.-data FootNoteReference =-  FootNoteReference'-    { _fnrSuggestedInsertionIds     :: !(Maybe [Text])-    , _fnrSuggestedTextStyleChanges :: !(Maybe FootNoteReferenceSuggestedTextStyleChanges)-    , _fnrFootNoteId                :: !(Maybe Text)-    , _fnrSuggestedDeletionIds      :: !(Maybe [Text])-    , _fnrTextStyle                 :: !(Maybe TextStyle)-    , _fnrFootNoteNumber            :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'FootNoteReference' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fnrSuggestedInsertionIds'------ * 'fnrSuggestedTextStyleChanges'------ * 'fnrFootNoteId'------ * 'fnrSuggestedDeletionIds'------ * 'fnrTextStyle'------ * 'fnrFootNoteNumber'-footNoteReference-    :: FootNoteReference-footNoteReference =-  FootNoteReference'-    { _fnrSuggestedInsertionIds = Nothing-    , _fnrSuggestedTextStyleChanges = Nothing-    , _fnrFootNoteId = Nothing-    , _fnrSuggestedDeletionIds = Nothing-    , _fnrTextStyle = Nothing-    , _fnrFootNoteNumber = Nothing-    }----- | The suggested insertion IDs. A FootnoteReference may have multiple--- insertion IDs if it is a nested suggested change. If empty, then this is--- not a suggested insertion.-fnrSuggestedInsertionIds :: Lens' FootNoteReference [Text]-fnrSuggestedInsertionIds-  = lens _fnrSuggestedInsertionIds-      (\ s a -> s{_fnrSuggestedInsertionIds = a})-      . _Default-      . _Coerce---- | The suggested text style changes to this FootnoteReference, keyed by--- suggestion ID.-fnrSuggestedTextStyleChanges :: Lens' FootNoteReference (Maybe FootNoteReferenceSuggestedTextStyleChanges)-fnrSuggestedTextStyleChanges-  = lens _fnrSuggestedTextStyleChanges-      (\ s a -> s{_fnrSuggestedTextStyleChanges = a})---- | The ID of the footnote that contains the content of this footnote--- reference.-fnrFootNoteId :: Lens' FootNoteReference (Maybe Text)-fnrFootNoteId-  = lens _fnrFootNoteId-      (\ s a -> s{_fnrFootNoteId = a})---- | The suggested deletion IDs. If empty, then there are no suggested--- deletions of this content.-fnrSuggestedDeletionIds :: Lens' FootNoteReference [Text]-fnrSuggestedDeletionIds-  = lens _fnrSuggestedDeletionIds-      (\ s a -> s{_fnrSuggestedDeletionIds = a})-      . _Default-      . _Coerce---- | The text style of this FootnoteReference.-fnrTextStyle :: Lens' FootNoteReference (Maybe TextStyle)-fnrTextStyle-  = lens _fnrTextStyle (\ s a -> s{_fnrTextStyle = a})---- | The rendered number of this footnote.-fnrFootNoteNumber :: Lens' FootNoteReference (Maybe Text)-fnrFootNoteNumber-  = lens _fnrFootNoteNumber-      (\ s a -> s{_fnrFootNoteNumber = a})--instance FromJSON FootNoteReference where-        parseJSON-          = withObject "FootNoteReference"-              (\ o ->-                 FootNoteReference' <$>-                   (o .:? "suggestedInsertionIds" .!= mempty) <*>-                     (o .:? "suggestedTextStyleChanges")-                     <*> (o .:? "footnoteId")-                     <*> (o .:? "suggestedDeletionIds" .!= mempty)-                     <*> (o .:? "textStyle")-                     <*> (o .:? "footnoteNumber"))--instance ToJSON FootNoteReference where-        toJSON FootNoteReference'{..}-          = object-              (catMaybes-                 [("suggestedInsertionIds" .=) <$>-                    _fnrSuggestedInsertionIds,-                  ("suggestedTextStyleChanges" .=) <$>-                    _fnrSuggestedTextStyleChanges,-                  ("footnoteId" .=) <$> _fnrFootNoteId,-                  ("suggestedDeletionIds" .=) <$>-                    _fnrSuggestedDeletionIds,-                  ("textStyle" .=) <$> _fnrTextStyle,-                  ("footnoteNumber" .=) <$> _fnrFootNoteNumber])---- | A ParagraphElement representing a column break. A column break makes the--- subsequent text start at the top of the next column.------ /See:/ 'columnBreak' smart constructor.-data ColumnBreak =-  ColumnBreak'-    { _cbSuggestedInsertionIds     :: !(Maybe [Text])-    , _cbSuggestedTextStyleChanges :: !(Maybe ColumnBreakSuggestedTextStyleChanges)-    , _cbSuggestedDeletionIds      :: !(Maybe [Text])-    , _cbTextStyle                 :: !(Maybe TextStyle)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ColumnBreak' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cbSuggestedInsertionIds'------ * 'cbSuggestedTextStyleChanges'------ * 'cbSuggestedDeletionIds'------ * 'cbTextStyle'-columnBreak-    :: ColumnBreak-columnBreak =-  ColumnBreak'-    { _cbSuggestedInsertionIds = Nothing-    , _cbSuggestedTextStyleChanges = Nothing-    , _cbSuggestedDeletionIds = Nothing-    , _cbTextStyle = Nothing-    }----- | The suggested insertion IDs. A ColumnBreak may have multiple insertion--- IDs if it is a nested suggested change. If empty, then this is not a--- suggested insertion.-cbSuggestedInsertionIds :: Lens' ColumnBreak [Text]-cbSuggestedInsertionIds-  = lens _cbSuggestedInsertionIds-      (\ s a -> s{_cbSuggestedInsertionIds = a})-      . _Default-      . _Coerce---- | The suggested text style changes to this ColumnBreak, keyed by--- suggestion ID.-cbSuggestedTextStyleChanges :: Lens' ColumnBreak (Maybe ColumnBreakSuggestedTextStyleChanges)-cbSuggestedTextStyleChanges-  = lens _cbSuggestedTextStyleChanges-      (\ s a -> s{_cbSuggestedTextStyleChanges = a})---- | The suggested deletion IDs. If empty, then there are no suggested--- deletions of this content.-cbSuggestedDeletionIds :: Lens' ColumnBreak [Text]-cbSuggestedDeletionIds-  = lens _cbSuggestedDeletionIds-      (\ s a -> s{_cbSuggestedDeletionIds = a})-      . _Default-      . _Coerce---- | The text style of this ColumnBreak. Similar to text content, like text--- runs and footnote references, the text style of a column break can--- affect content layout as well as the styling of text inserted adjacent--- to it.-cbTextStyle :: Lens' ColumnBreak (Maybe TextStyle)-cbTextStyle-  = lens _cbTextStyle (\ s a -> s{_cbTextStyle = a})--instance FromJSON ColumnBreak where-        parseJSON-          = withObject "ColumnBreak"-              (\ o ->-                 ColumnBreak' <$>-                   (o .:? "suggestedInsertionIds" .!= mempty) <*>-                     (o .:? "suggestedTextStyleChanges")-                     <*> (o .:? "suggestedDeletionIds" .!= mempty)-                     <*> (o .:? "textStyle"))--instance ToJSON ColumnBreak where-        toJSON ColumnBreak'{..}-          = object-              (catMaybes-                 [("suggestedInsertionIds" .=) <$>-                    _cbSuggestedInsertionIds,-                  ("suggestedTextStyleChanges" .=) <$>-                    _cbSuggestedTextStyleChanges,-                  ("suggestedDeletionIds" .=) <$>-                    _cbSuggestedDeletionIds,-                  ("textStyle" .=) <$> _cbTextStyle])---- | The suggested changes to the inline object properties, keyed by--- suggestion ID.------ /See:/ 'inlineObjectSuggestedInlineObjectPropertiesChanges' smart constructor.-newtype InlineObjectSuggestedInlineObjectPropertiesChanges =-  InlineObjectSuggestedInlineObjectPropertiesChanges'-    { _iosiopcAddtional :: HashMap Text SuggestedInlineObjectProperties-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'InlineObjectSuggestedInlineObjectPropertiesChanges' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iosiopcAddtional'-inlineObjectSuggestedInlineObjectPropertiesChanges-    :: HashMap Text SuggestedInlineObjectProperties -- ^ 'iosiopcAddtional'-    -> InlineObjectSuggestedInlineObjectPropertiesChanges-inlineObjectSuggestedInlineObjectPropertiesChanges pIosiopcAddtional_ =-  InlineObjectSuggestedInlineObjectPropertiesChanges'-    {_iosiopcAddtional = _Coerce # pIosiopcAddtional_}---iosiopcAddtional :: Lens' InlineObjectSuggestedInlineObjectPropertiesChanges (HashMap Text SuggestedInlineObjectProperties)-iosiopcAddtional-  = lens _iosiopcAddtional-      (\ s a -> s{_iosiopcAddtional = a})-      . _Coerce--instance FromJSON-           InlineObjectSuggestedInlineObjectPropertiesChanges-         where-        parseJSON-          = withObject-              "InlineObjectSuggestedInlineObjectPropertiesChanges"-              (\ o ->-                 InlineObjectSuggestedInlineObjectPropertiesChanges'-                   <$> (parseJSONObject o))--instance ToJSON-           InlineObjectSuggestedInlineObjectPropertiesChanges-         where-        toJSON = toJSON . _iosiopcAddtional---- | A ParagraphElement representing an equation.------ /See:/ 'equation' smart constructor.-data Equation =-  Equation'-    { _eSuggestedInsertionIds :: !(Maybe [Text])-    , _eSuggestedDeletionIds  :: !(Maybe [Text])-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Equation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eSuggestedInsertionIds'------ * 'eSuggestedDeletionIds'-equation-    :: Equation-equation =-  Equation'-    {_eSuggestedInsertionIds = Nothing, _eSuggestedDeletionIds = Nothing}----- | The suggested insertion IDs. A Equation may have multiple insertion IDs--- if it is a nested suggested change. If empty, then this is not a--- suggested insertion.-eSuggestedInsertionIds :: Lens' Equation [Text]-eSuggestedInsertionIds-  = lens _eSuggestedInsertionIds-      (\ s a -> s{_eSuggestedInsertionIds = a})-      . _Default-      . _Coerce---- | The suggested deletion IDs. If empty, then there are no suggested--- deletions of this content.-eSuggestedDeletionIds :: Lens' Equation [Text]-eSuggestedDeletionIds-  = lens _eSuggestedDeletionIds-      (\ s a -> s{_eSuggestedDeletionIds = a})-      . _Default-      . _Coerce--instance FromJSON Equation where-        parseJSON-          = withObject "Equation"-              (\ o ->-                 Equation' <$>-                   (o .:? "suggestedInsertionIds" .!= mempty) <*>-                     (o .:? "suggestedDeletionIds" .!= mempty))--instance ToJSON Equation where-        toJSON Equation'{..}-          = object-              (catMaybes-                 [("suggestedInsertionIds" .=) <$>-                    _eSuggestedInsertionIds,-                  ("suggestedDeletionIds" .=) <$>-                    _eSuggestedDeletionIds])---- | A collection of Ranges with the same named range ID. Named ranges allow--- developers to associate parts of a document with an arbitrary--- user-defined label so their contents can be programmatically read or--- edited at a later time. A document can contain multiple named ranges--- with the same name, but every named range has a unique ID. A named range--- is created with a single Range, and content inserted inside a named--- range generally expands that range. However, certain document changes--- can cause the range to be split into multiple ranges. Named ranges are--- not private. All applications and collaborators that have access to the--- document can see its named ranges.------ /See:/ 'namedRange' smart constructor.-data NamedRange =-  NamedRange'-    { _nNamedRangeId :: !(Maybe Text)-    , _nRanges       :: !(Maybe [Range])-    , _nName         :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'NamedRange' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nNamedRangeId'------ * 'nRanges'------ * 'nName'-namedRange-    :: NamedRange-namedRange =-  NamedRange' {_nNamedRangeId = Nothing, _nRanges = Nothing, _nName = Nothing}----- | The ID of the named range.-nNamedRangeId :: Lens' NamedRange (Maybe Text)-nNamedRangeId-  = lens _nNamedRangeId-      (\ s a -> s{_nNamedRangeId = a})---- | The ranges that belong to this named range.-nRanges :: Lens' NamedRange [Range]-nRanges-  = lens _nRanges (\ s a -> s{_nRanges = a}) . _Default-      . _Coerce---- | The name of the named range.-nName :: Lens' NamedRange (Maybe Text)-nName = lens _nName (\ s a -> s{_nName = a})--instance FromJSON NamedRange where-        parseJSON-          = withObject "NamedRange"-              (\ o ->-                 NamedRange' <$>-                   (o .:? "namedRangeId") <*>-                     (o .:? "ranges" .!= mempty)-                     <*> (o .:? "name"))--instance ToJSON NamedRange where-        toJSON NamedRange'{..}-          = object-              (catMaybes-                 [("namedRangeId" .=) <$> _nNamedRangeId,-                  ("ranges" .=) <$> _nRanges, ("name" .=) <$> _nName])---- | A mask that indicates which of the fields on the base CropProperties--- have been changed in this suggestion. For any field set to true, there--- is a new suggested value.------ /See:/ 'cropPropertiesSuggestionState' smart constructor.-data CropPropertiesSuggestionState =-  CropPropertiesSuggestionState'-    { _cpssAngleSuggested        :: !(Maybe Bool)-    , _cpssOffSetRightSuggested  :: !(Maybe Bool)-    , _cpssOffSetBottomSuggested :: !(Maybe Bool)-    , _cpssOffSetTopSuggested    :: !(Maybe Bool)-    , _cpssOffSetLeftSuggested   :: !(Maybe Bool)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'CropPropertiesSuggestionState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cpssAngleSuggested'------ * 'cpssOffSetRightSuggested'------ * 'cpssOffSetBottomSuggested'------ * 'cpssOffSetTopSuggested'------ * 'cpssOffSetLeftSuggested'-cropPropertiesSuggestionState-    :: CropPropertiesSuggestionState-cropPropertiesSuggestionState =-  CropPropertiesSuggestionState'-    { _cpssAngleSuggested = Nothing-    , _cpssOffSetRightSuggested = Nothing-    , _cpssOffSetBottomSuggested = Nothing-    , _cpssOffSetTopSuggested = Nothing-    , _cpssOffSetLeftSuggested = Nothing-    }----- | Indicates if there was a suggested change to angle.-cpssAngleSuggested :: Lens' CropPropertiesSuggestionState (Maybe Bool)-cpssAngleSuggested-  = lens _cpssAngleSuggested-      (\ s a -> s{_cpssAngleSuggested = a})---- | Indicates if there was a suggested change to offset_right.-cpssOffSetRightSuggested :: Lens' CropPropertiesSuggestionState (Maybe Bool)-cpssOffSetRightSuggested-  = lens _cpssOffSetRightSuggested-      (\ s a -> s{_cpssOffSetRightSuggested = a})---- | Indicates if there was a suggested change to offset_bottom.-cpssOffSetBottomSuggested :: Lens' CropPropertiesSuggestionState (Maybe Bool)-cpssOffSetBottomSuggested-  = lens _cpssOffSetBottomSuggested-      (\ s a -> s{_cpssOffSetBottomSuggested = a})---- | Indicates if there was a suggested change to offset_top.-cpssOffSetTopSuggested :: Lens' CropPropertiesSuggestionState (Maybe Bool)-cpssOffSetTopSuggested-  = lens _cpssOffSetTopSuggested-      (\ s a -> s{_cpssOffSetTopSuggested = a})---- | Indicates if there was a suggested change to offset_left.-cpssOffSetLeftSuggested :: Lens' CropPropertiesSuggestionState (Maybe Bool)-cpssOffSetLeftSuggested-  = lens _cpssOffSetLeftSuggested-      (\ s a -> s{_cpssOffSetLeftSuggested = a})--instance FromJSON CropPropertiesSuggestionState where-        parseJSON-          = withObject "CropPropertiesSuggestionState"-              (\ o ->-                 CropPropertiesSuggestionState' <$>-                   (o .:? "angleSuggested") <*>-                     (o .:? "offsetRightSuggested")-                     <*> (o .:? "offsetBottomSuggested")-                     <*> (o .:? "offsetTopSuggested")-                     <*> (o .:? "offsetLeftSuggested"))--instance ToJSON CropPropertiesSuggestionState where-        toJSON CropPropertiesSuggestionState'{..}-          = object-              (catMaybes-                 [("angleSuggested" .=) <$> _cpssAngleSuggested,-                  ("offsetRightSuggested" .=) <$>-                    _cpssOffSetRightSuggested,-                  ("offsetBottomSuggested" .=) <$>-                    _cpssOffSetBottomSuggested,-                  ("offsetTopSuggested" .=) <$>-                    _cpssOffSetTopSuggested,-                  ("offsetLeftSuggested" .=) <$>-                    _cpssOffSetLeftSuggested])---- | A ParagraphElement that represents a run of text that all has the same--- styling.------ /See:/ 'textRun' smart constructor.-data TextRun =-  TextRun'-    { _trSuggestedInsertionIds     :: !(Maybe [Text])-    , _trSuggestedTextStyleChanges :: !(Maybe TextRunSuggestedTextStyleChanges)-    , _trContent                   :: !(Maybe Text)-    , _trSuggestedDeletionIds      :: !(Maybe [Text])-    , _trTextStyle                 :: !(Maybe TextStyle)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'TextRun' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'trSuggestedInsertionIds'------ * 'trSuggestedTextStyleChanges'------ * 'trContent'------ * 'trSuggestedDeletionIds'------ * 'trTextStyle'-textRun-    :: TextRun-textRun =-  TextRun'-    { _trSuggestedInsertionIds = Nothing-    , _trSuggestedTextStyleChanges = Nothing-    , _trContent = Nothing-    , _trSuggestedDeletionIds = Nothing-    , _trTextStyle = Nothing-    }----- | The suggested insertion IDs. A TextRun may have multiple insertion IDs--- if it is a nested suggested change. If empty, then this is not a--- suggested insertion.-trSuggestedInsertionIds :: Lens' TextRun [Text]-trSuggestedInsertionIds-  = lens _trSuggestedInsertionIds-      (\ s a -> s{_trSuggestedInsertionIds = a})-      . _Default-      . _Coerce---- | The suggested text style changes to this run, keyed by suggestion ID.-trSuggestedTextStyleChanges :: Lens' TextRun (Maybe TextRunSuggestedTextStyleChanges)-trSuggestedTextStyleChanges-  = lens _trSuggestedTextStyleChanges-      (\ s a -> s{_trSuggestedTextStyleChanges = a})---- | The text of this run. Any non-text elements in the run are replaced with--- the Unicode character U+E907.-trContent :: Lens' TextRun (Maybe Text)-trContent-  = lens _trContent (\ s a -> s{_trContent = a})---- | The suggested deletion IDs. If empty, then there are no suggested--- deletions of this content.-trSuggestedDeletionIds :: Lens' TextRun [Text]-trSuggestedDeletionIds-  = lens _trSuggestedDeletionIds-      (\ s a -> s{_trSuggestedDeletionIds = a})-      . _Default-      . _Coerce---- | The text style of this run.-trTextStyle :: Lens' TextRun (Maybe TextStyle)-trTextStyle-  = lens _trTextStyle (\ s a -> s{_trTextStyle = a})--instance FromJSON TextRun where-        parseJSON-          = withObject "TextRun"-              (\ o ->-                 TextRun' <$>-                   (o .:? "suggestedInsertionIds" .!= mempty) <*>-                     (o .:? "suggestedTextStyleChanges")-                     <*> (o .:? "content")-                     <*> (o .:? "suggestedDeletionIds" .!= mempty)-                     <*> (o .:? "textStyle"))--instance ToJSON TextRun where-        toJSON TextRun'{..}-          = object-              (catMaybes-                 [("suggestedInsertionIds" .=) <$>-                    _trSuggestedInsertionIds,-                  ("suggestedTextStyleChanges" .=) <$>-                    _trSuggestedTextStyleChanges,-                  ("content" .=) <$> _trContent,-                  ("suggestedDeletionIds" .=) <$>-                    _trSuggestedDeletionIds,-                  ("textStyle" .=) <$> _trTextStyle])---- | The contents and style of a row in a Table.------ /See:/ 'tableRow' smart constructor.-data TableRow =-  TableRow'-    { _tSuggestedInsertionIds         :: !(Maybe [Text])-    , _tTableCells                    :: !(Maybe [TableCell])-    , _tEndIndex                      :: !(Maybe (Textual Int32))-    , _tSuggestedDeletionIds          :: !(Maybe [Text])-    , _tSuggestedTableRowStyleChanges :: !(Maybe TableRowSuggestedTableRowStyleChanges)-    , _tTableRowStyle                 :: !(Maybe TableRowStyle)-    , _tStartIndex                    :: !(Maybe (Textual Int32))-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'TableRow' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tSuggestedInsertionIds'------ * 'tTableCells'------ * 'tEndIndex'------ * 'tSuggestedDeletionIds'------ * 'tSuggestedTableRowStyleChanges'------ * 'tTableRowStyle'------ * 'tStartIndex'-tableRow-    :: TableRow-tableRow =-  TableRow'-    { _tSuggestedInsertionIds = Nothing-    , _tTableCells = Nothing-    , _tEndIndex = Nothing-    , _tSuggestedDeletionIds = Nothing-    , _tSuggestedTableRowStyleChanges = Nothing-    , _tTableRowStyle = Nothing-    , _tStartIndex = Nothing-    }----- | The suggested insertion IDs. A TableRow may have multiple insertion IDs--- if it is a nested suggested change. If empty, then this is not a--- suggested insertion.-tSuggestedInsertionIds :: Lens' TableRow [Text]-tSuggestedInsertionIds-  = lens _tSuggestedInsertionIds-      (\ s a -> s{_tSuggestedInsertionIds = a})-      . _Default-      . _Coerce---- | The contents and style of each cell in this row. It is possible for a--- table to be non-rectangular, so some rows may have a different number of--- cells than other rows in the same table.-tTableCells :: Lens' TableRow [TableCell]-tTableCells-  = lens _tTableCells (\ s a -> s{_tTableCells = a}) .-      _Default-      . _Coerce---- | The zero-based end index of this row, exclusive, in UTF-16 code units.-tEndIndex :: Lens' TableRow (Maybe Int32)-tEndIndex-  = lens _tEndIndex (\ s a -> s{_tEndIndex = a}) .-      mapping _Coerce---- | The suggested deletion IDs. If empty, then there are no suggested--- deletions of this content.-tSuggestedDeletionIds :: Lens' TableRow [Text]-tSuggestedDeletionIds-  = lens _tSuggestedDeletionIds-      (\ s a -> s{_tSuggestedDeletionIds = a})-      . _Default-      . _Coerce---- | The suggested style changes to this row, keyed by suggestion ID.-tSuggestedTableRowStyleChanges :: Lens' TableRow (Maybe TableRowSuggestedTableRowStyleChanges)-tSuggestedTableRowStyleChanges-  = lens _tSuggestedTableRowStyleChanges-      (\ s a -> s{_tSuggestedTableRowStyleChanges = a})---- | The style of the table row.-tTableRowStyle :: Lens' TableRow (Maybe TableRowStyle)-tTableRowStyle-  = lens _tTableRowStyle-      (\ s a -> s{_tTableRowStyle = a})---- | The zero-based start index of this row, in UTF-16 code units.-tStartIndex :: Lens' TableRow (Maybe Int32)-tStartIndex-  = lens _tStartIndex (\ s a -> s{_tStartIndex = a}) .-      mapping _Coerce--instance FromJSON TableRow where-        parseJSON-          = withObject "TableRow"-              (\ o ->-                 TableRow' <$>-                   (o .:? "suggestedInsertionIds" .!= mempty) <*>-                     (o .:? "tableCells" .!= mempty)-                     <*> (o .:? "endIndex")-                     <*> (o .:? "suggestedDeletionIds" .!= mempty)-                     <*> (o .:? "suggestedTableRowStyleChanges")-                     <*> (o .:? "tableRowStyle")-                     <*> (o .:? "startIndex"))--instance ToJSON TableRow where-        toJSON TableRow'{..}-          = object-              (catMaybes-                 [("suggestedInsertionIds" .=) <$>-                    _tSuggestedInsertionIds,-                  ("tableCells" .=) <$> _tTableCells,-                  ("endIndex" .=) <$> _tEndIndex,-                  ("suggestedDeletionIds" .=) <$>-                    _tSuggestedDeletionIds,-                  ("suggestedTableRowStyleChanges" .=) <$>-                    _tSuggestedTableRowStyleChanges,-                  ("tableRowStyle" .=) <$> _tTableRowStyle,-                  ("startIndex" .=) <$> _tStartIndex])---- | Represents a font family and weight of text.------ /See:/ 'weightedFontFamily' smart constructor.-data WeightedFontFamily =-  WeightedFontFamily'-    { _wffFontFamily :: !(Maybe Text)-    , _wffWeight     :: !(Maybe (Textual Int32))-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'WeightedFontFamily' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'wffFontFamily'------ * 'wffWeight'-weightedFontFamily-    :: WeightedFontFamily-weightedFontFamily =-  WeightedFontFamily' {_wffFontFamily = Nothing, _wffWeight = Nothing}----- | The font family of the text. The font family can be any font from the--- Font menu in Docs or from [Google Fonts] (https:\/\/fonts.google.com\/).--- If the font name is unrecognized, the text is rendered in \`Arial\`.-wffFontFamily :: Lens' WeightedFontFamily (Maybe Text)-wffFontFamily-  = lens _wffFontFamily-      (\ s a -> s{_wffFontFamily = a})---- | The weight of the font. 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. The default value is \`400\`--- (\"normal\"). The font weight makes up just one component of the--- rendered font weight. The rendered weight is determined by a combination--- of the \`weight\` and the text style\'s resolved \`bold\` value, after--- accounting for inheritance: * If the text is bold and the weight is less--- than \`400\`, the rendered weight is 400. * If the text is bold and the--- weight is greater than or equal to \`400\` but is less than \`700\`, the--- rendered weight is \`700\`. * If the weight is greater than or equal to--- \`700\`, the rendered weight is equal to the weight. * If the text is--- not bold, the rendered weight is equal to the weight.-wffWeight :: Lens' WeightedFontFamily (Maybe Int32)-wffWeight-  = lens _wffWeight (\ s a -> s{_wffWeight = a}) .-      mapping _Coerce--instance FromJSON WeightedFontFamily where-        parseJSON-          = withObject "WeightedFontFamily"-              (\ o ->-                 WeightedFontFamily' <$>-                   (o .:? "fontFamily") <*> (o .:? "weight"))--instance ToJSON WeightedFontFamily where-        toJSON WeightedFontFamily'{..}-          = object-              (catMaybes-                 [("fontFamily" .=) <$> _wffFontFamily,-                  ("weight" .=) <$> _wffWeight])---- | A ParagraphElement representing a page break. A page break makes the--- subsequent text start at the top of the next page.------ /See:/ 'pageBreak' smart constructor.-data PageBreak =-  PageBreak'-    { _pbSuggestedInsertionIds     :: !(Maybe [Text])-    , _pbSuggestedTextStyleChanges :: !(Maybe PageBreakSuggestedTextStyleChanges)-    , _pbSuggestedDeletionIds      :: !(Maybe [Text])-    , _pbTextStyle                 :: !(Maybe TextStyle)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'PageBreak' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pbSuggestedInsertionIds'------ * 'pbSuggestedTextStyleChanges'------ * 'pbSuggestedDeletionIds'------ * 'pbTextStyle'-pageBreak-    :: PageBreak-pageBreak =-  PageBreak'-    { _pbSuggestedInsertionIds = Nothing-    , _pbSuggestedTextStyleChanges = Nothing-    , _pbSuggestedDeletionIds = Nothing-    , _pbTextStyle = Nothing-    }----- | The suggested insertion IDs. A PageBreak may have multiple insertion IDs--- if it is a nested suggested change. If empty, then this is not a--- suggested insertion.-pbSuggestedInsertionIds :: Lens' PageBreak [Text]-pbSuggestedInsertionIds-  = lens _pbSuggestedInsertionIds-      (\ s a -> s{_pbSuggestedInsertionIds = a})-      . _Default-      . _Coerce---- | The suggested text style changes to this PageBreak, keyed by suggestion--- ID.-pbSuggestedTextStyleChanges :: Lens' PageBreak (Maybe PageBreakSuggestedTextStyleChanges)-pbSuggestedTextStyleChanges-  = lens _pbSuggestedTextStyleChanges-      (\ s a -> s{_pbSuggestedTextStyleChanges = a})---- | The suggested deletion IDs. If empty, then there are no suggested--- deletions of this content.-pbSuggestedDeletionIds :: Lens' PageBreak [Text]-pbSuggestedDeletionIds-  = lens _pbSuggestedDeletionIds-      (\ s a -> s{_pbSuggestedDeletionIds = a})-      . _Default-      . _Coerce---- | The text style of this PageBreak. Similar to text content, like text--- runs and footnote references, the text style of a page break can affect--- content layout as well as the styling of text inserted adjacent to it.-pbTextStyle :: Lens' PageBreak (Maybe TextStyle)-pbTextStyle-  = lens _pbTextStyle (\ s a -> s{_pbTextStyle = a})--instance FromJSON PageBreak where-        parseJSON-          = withObject "PageBreak"-              (\ o ->-                 PageBreak' <$>-                   (o .:? "suggestedInsertionIds" .!= mempty) <*>-                     (o .:? "suggestedTextStyleChanges")-                     <*> (o .:? "suggestedDeletionIds" .!= mempty)-                     <*> (o .:? "textStyle"))--instance ToJSON PageBreak where-        toJSON PageBreak'{..}-          = object-              (catMaybes-                 [("suggestedInsertionIds" .=) <$>-                    _pbSuggestedInsertionIds,-                  ("suggestedTextStyleChanges" .=) <$>-                    _pbSuggestedTextStyleChanges,-                  ("suggestedDeletionIds" .=) <$>-                    _pbSuggestedDeletionIds,-                  ("textStyle" .=) <$> _pbTextStyle])---- | An object that appears inline with text. An InlineObject contains an--- EmbeddedObject such as an image.------ /See:/ 'inlineObject' smart constructor.-data InlineObject =-  InlineObject'-    { _ioSuggestedInsertionId                   :: !(Maybe Text)-    , _ioInlineObjectProperties                 :: !(Maybe InlineObjectProperties)-    , _ioObjectId                               :: !(Maybe Text)-    , _ioSuggestedDeletionIds                   :: !(Maybe [Text])-    , _ioSuggestedInlineObjectPropertiesChanges :: !(Maybe InlineObjectSuggestedInlineObjectPropertiesChanges)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'InlineObject' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ioSuggestedInsertionId'------ * 'ioInlineObjectProperties'------ * 'ioObjectId'------ * 'ioSuggestedDeletionIds'------ * 'ioSuggestedInlineObjectPropertiesChanges'-inlineObject-    :: InlineObject-inlineObject =-  InlineObject'-    { _ioSuggestedInsertionId = Nothing-    , _ioInlineObjectProperties = Nothing-    , _ioObjectId = Nothing-    , _ioSuggestedDeletionIds = Nothing-    , _ioSuggestedInlineObjectPropertiesChanges = Nothing-    }----- | The suggested insertion ID. If empty, then this is not a suggested--- insertion.-ioSuggestedInsertionId :: Lens' InlineObject (Maybe Text)-ioSuggestedInsertionId-  = lens _ioSuggestedInsertionId-      (\ s a -> s{_ioSuggestedInsertionId = a})---- | The properties of this inline object.-ioInlineObjectProperties :: Lens' InlineObject (Maybe InlineObjectProperties)-ioInlineObjectProperties-  = lens _ioInlineObjectProperties-      (\ s a -> s{_ioInlineObjectProperties = a})---- | The ID of this inline object.-ioObjectId :: Lens' InlineObject (Maybe Text)-ioObjectId-  = lens _ioObjectId (\ s a -> s{_ioObjectId = a})---- | The suggested deletion IDs. If empty, then there are no suggested--- deletions of this content.-ioSuggestedDeletionIds :: Lens' InlineObject [Text]-ioSuggestedDeletionIds-  = lens _ioSuggestedDeletionIds-      (\ s a -> s{_ioSuggestedDeletionIds = a})-      . _Default-      . _Coerce---- | The suggested changes to the inline object properties, keyed by--- suggestion ID.-ioSuggestedInlineObjectPropertiesChanges :: Lens' InlineObject (Maybe InlineObjectSuggestedInlineObjectPropertiesChanges)-ioSuggestedInlineObjectPropertiesChanges-  = lens _ioSuggestedInlineObjectPropertiesChanges-      (\ s a ->-         s{_ioSuggestedInlineObjectPropertiesChanges = a})--instance FromJSON InlineObject where-        parseJSON-          = withObject "InlineObject"-              (\ o ->-                 InlineObject' <$>-                   (o .:? "suggestedInsertionId") <*>-                     (o .:? "inlineObjectProperties")-                     <*> (o .:? "objectId")-                     <*> (o .:? "suggestedDeletionIds" .!= mempty)-                     <*> (o .:? "suggestedInlineObjectPropertiesChanges"))--instance ToJSON InlineObject where-        toJSON InlineObject'{..}-          = object-              (catMaybes-                 [("suggestedInsertionId" .=) <$>-                    _ioSuggestedInsertionId,-                  ("inlineObjectProperties" .=) <$>-                    _ioInlineObjectProperties,-                  ("objectId" .=) <$> _ioObjectId,-                  ("suggestedDeletionIds" .=) <$>-                    _ioSuggestedDeletionIds,-                  ("suggestedInlineObjectPropertiesChanges" .=) <$>-                    _ioSuggestedInlineObjectPropertiesChanges])---- | A border around an EmbeddedObject.------ /See:/ 'embeddedObjectBOrder' smart constructor.-data EmbeddedObjectBOrder =-  EmbeddedObjectBOrder'-    { _eoboColor         :: !(Maybe OptionalColor)-    , _eoboWidth         :: !(Maybe Dimension)-    , _eoboDashStyle     :: !(Maybe EmbeddedObjectBOrderDashStyle)-    , _eoboPropertyState :: !(Maybe EmbeddedObjectBOrderPropertyState)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'EmbeddedObjectBOrder' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eoboColor'------ * 'eoboWidth'------ * 'eoboDashStyle'------ * 'eoboPropertyState'-embeddedObjectBOrder-    :: EmbeddedObjectBOrder-embeddedObjectBOrder =-  EmbeddedObjectBOrder'-    { _eoboColor = Nothing-    , _eoboWidth = Nothing-    , _eoboDashStyle = Nothing-    , _eoboPropertyState = Nothing-    }----- | The color of the border.-eoboColor :: Lens' EmbeddedObjectBOrder (Maybe OptionalColor)-eoboColor-  = lens _eoboColor (\ s a -> s{_eoboColor = a})---- | The width of the border.-eoboWidth :: Lens' EmbeddedObjectBOrder (Maybe Dimension)-eoboWidth-  = lens _eoboWidth (\ s a -> s{_eoboWidth = a})---- | The dash style of the border.-eoboDashStyle :: Lens' EmbeddedObjectBOrder (Maybe EmbeddedObjectBOrderDashStyle)-eoboDashStyle-  = lens _eoboDashStyle-      (\ s a -> s{_eoboDashStyle = a})---- | The property state of the border property.-eoboPropertyState :: Lens' EmbeddedObjectBOrder (Maybe EmbeddedObjectBOrderPropertyState)-eoboPropertyState-  = lens _eoboPropertyState-      (\ s a -> s{_eoboPropertyState = a})--instance FromJSON EmbeddedObjectBOrder where-        parseJSON-          = withObject "EmbeddedObjectBOrder"-              (\ o ->-                 EmbeddedObjectBOrder' <$>-                   (o .:? "color") <*> (o .:? "width") <*>-                     (o .:? "dashStyle")-                     <*> (o .:? "propertyState"))--instance ToJSON EmbeddedObjectBOrder where-        toJSON EmbeddedObjectBOrder'{..}-          = object-              (catMaybes-                 [("color" .=) <$> _eoboColor,-                  ("width" .=) <$> _eoboWidth,-                  ("dashStyle" .=) <$> _eoboDashStyle,-                  ("propertyState" .=) <$> _eoboPropertyState])---- | The suggested changes to the table cell style, keyed by suggestion ID.------ /See:/ 'tableCellSuggestedTableCellStyleChanges' smart constructor.-newtype TableCellSuggestedTableCellStyleChanges =-  TableCellSuggestedTableCellStyleChanges'-    { _tcstcscAddtional :: HashMap Text SuggestedTableCellStyle-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'TableCellSuggestedTableCellStyleChanges' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tcstcscAddtional'-tableCellSuggestedTableCellStyleChanges-    :: HashMap Text SuggestedTableCellStyle -- ^ 'tcstcscAddtional'-    -> TableCellSuggestedTableCellStyleChanges-tableCellSuggestedTableCellStyleChanges pTcstcscAddtional_ =-  TableCellSuggestedTableCellStyleChanges'-    {_tcstcscAddtional = _Coerce # pTcstcscAddtional_}---tcstcscAddtional :: Lens' TableCellSuggestedTableCellStyleChanges (HashMap Text SuggestedTableCellStyle)-tcstcscAddtional-  = lens _tcstcscAddtional-      (\ s a -> s{_tcstcscAddtional = a})-      . _Coerce--instance FromJSON-           TableCellSuggestedTableCellStyleChanges-         where-        parseJSON-          = withObject-              "TableCellSuggestedTableCellStyleChanges"-              (\ o ->-                 TableCellSuggestedTableCellStyleChanges' <$>-                   (parseJSONObject o))--instance ToJSON-           TableCellSuggestedTableCellStyleChanges-         where-        toJSON = toJSON . _tcstcscAddtional---- | The style of a TableCell. Inherited table cell styles are represented as--- unset fields in this message. A table cell style can inherit from the--- table\'s style.------ /See:/ 'tableCellStyle' smart constructor.-data TableCellStyle =-  TableCellStyle'-    { _tcsBOrderRight      :: !(Maybe TableCellBOrder)-    , _tcsBOrderTop        :: !(Maybe TableCellBOrder)-    , _tcsColumnSpan       :: !(Maybe (Textual Int32))-    , _tcsBackgRoundColor  :: !(Maybe OptionalColor)-    , _tcsPaddingBottom    :: !(Maybe Dimension)-    , _tcsRowSpan          :: !(Maybe (Textual Int32))-    , _tcsBOrderLeft       :: !(Maybe TableCellBOrder)-    , _tcsPaddingLeft      :: !(Maybe Dimension)-    , _tcsPaddingTop       :: !(Maybe Dimension)-    , _tcsBOrderBottom     :: !(Maybe TableCellBOrder)-    , _tcsContentAlignment :: !(Maybe TableCellStyleContentAlignment)-    , _tcsPaddingRight     :: !(Maybe Dimension)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'TableCellStyle' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tcsBOrderRight'------ * 'tcsBOrderTop'------ * 'tcsColumnSpan'------ * 'tcsBackgRoundColor'------ * 'tcsPaddingBottom'------ * 'tcsRowSpan'------ * 'tcsBOrderLeft'------ * 'tcsPaddingLeft'------ * 'tcsPaddingTop'------ * 'tcsBOrderBottom'------ * 'tcsContentAlignment'------ * 'tcsPaddingRight'-tableCellStyle-    :: TableCellStyle-tableCellStyle =-  TableCellStyle'-    { _tcsBOrderRight = Nothing-    , _tcsBOrderTop = Nothing-    , _tcsColumnSpan = Nothing-    , _tcsBackgRoundColor = Nothing-    , _tcsPaddingBottom = Nothing-    , _tcsRowSpan = Nothing-    , _tcsBOrderLeft = Nothing-    , _tcsPaddingLeft = Nothing-    , _tcsPaddingTop = Nothing-    , _tcsBOrderBottom = Nothing-    , _tcsContentAlignment = Nothing-    , _tcsPaddingRight = Nothing-    }----- | The right border of the cell.-tcsBOrderRight :: Lens' TableCellStyle (Maybe TableCellBOrder)-tcsBOrderRight-  = lens _tcsBOrderRight-      (\ s a -> s{_tcsBOrderRight = a})---- | The top border of the cell.-tcsBOrderTop :: Lens' TableCellStyle (Maybe TableCellBOrder)-tcsBOrderTop-  = lens _tcsBOrderTop (\ s a -> s{_tcsBOrderTop = a})---- | The column span of the cell. This property is read-only.-tcsColumnSpan :: Lens' TableCellStyle (Maybe Int32)-tcsColumnSpan-  = lens _tcsColumnSpan-      (\ s a -> s{_tcsColumnSpan = a})-      . mapping _Coerce---- | The background color of the cell.-tcsBackgRoundColor :: Lens' TableCellStyle (Maybe OptionalColor)-tcsBackgRoundColor-  = lens _tcsBackgRoundColor-      (\ s a -> s{_tcsBackgRoundColor = a})---- | The bottom padding of the cell.-tcsPaddingBottom :: Lens' TableCellStyle (Maybe Dimension)-tcsPaddingBottom-  = lens _tcsPaddingBottom-      (\ s a -> s{_tcsPaddingBottom = a})---- | The row span of the cell. This property is read-only.-tcsRowSpan :: Lens' TableCellStyle (Maybe Int32)-tcsRowSpan-  = lens _tcsRowSpan (\ s a -> s{_tcsRowSpan = a}) .-      mapping _Coerce---- | The left border of the cell.-tcsBOrderLeft :: Lens' TableCellStyle (Maybe TableCellBOrder)-tcsBOrderLeft-  = lens _tcsBOrderLeft-      (\ s a -> s{_tcsBOrderLeft = a})---- | The left padding of the cell.-tcsPaddingLeft :: Lens' TableCellStyle (Maybe Dimension)-tcsPaddingLeft-  = lens _tcsPaddingLeft-      (\ s a -> s{_tcsPaddingLeft = a})---- | The top padding of the cell.-tcsPaddingTop :: Lens' TableCellStyle (Maybe Dimension)-tcsPaddingTop-  = lens _tcsPaddingTop-      (\ s a -> s{_tcsPaddingTop = a})---- | The bottom border of the cell.-tcsBOrderBottom :: Lens' TableCellStyle (Maybe TableCellBOrder)-tcsBOrderBottom-  = lens _tcsBOrderBottom-      (\ s a -> s{_tcsBOrderBottom = a})---- | The alignment of the content in the table cell. The default alignment--- matches the alignment for newly created table cells in the Docs editor.-tcsContentAlignment :: Lens' TableCellStyle (Maybe TableCellStyleContentAlignment)-tcsContentAlignment-  = lens _tcsContentAlignment-      (\ s a -> s{_tcsContentAlignment = a})---- | The right padding of the cell.-tcsPaddingRight :: Lens' TableCellStyle (Maybe Dimension)-tcsPaddingRight-  = lens _tcsPaddingRight-      (\ s a -> s{_tcsPaddingRight = a})--instance FromJSON TableCellStyle where-        parseJSON-          = withObject "TableCellStyle"-              (\ o ->-                 TableCellStyle' <$>-                   (o .:? "borderRight") <*> (o .:? "borderTop") <*>-                     (o .:? "columnSpan")-                     <*> (o .:? "backgroundColor")-                     <*> (o .:? "paddingBottom")-                     <*> (o .:? "rowSpan")-                     <*> (o .:? "borderLeft")-                     <*> (o .:? "paddingLeft")-                     <*> (o .:? "paddingTop")-                     <*> (o .:? "borderBottom")-                     <*> (o .:? "contentAlignment")-                     <*> (o .:? "paddingRight"))--instance ToJSON TableCellStyle where-        toJSON TableCellStyle'{..}-          = object-              (catMaybes-                 [("borderRight" .=) <$> _tcsBOrderRight,-                  ("borderTop" .=) <$> _tcsBOrderTop,-                  ("columnSpan" .=) <$> _tcsColumnSpan,-                  ("backgroundColor" .=) <$> _tcsBackgRoundColor,-                  ("paddingBottom" .=) <$> _tcsPaddingBottom,-                  ("rowSpan" .=) <$> _tcsRowSpan,-                  ("borderLeft" .=) <$> _tcsBOrderLeft,-                  ("paddingLeft" .=) <$> _tcsPaddingLeft,-                  ("paddingTop" .=) <$> _tcsPaddingTop,-                  ("borderBottom" .=) <$> _tcsBOrderBottom,-                  ("contentAlignment" .=) <$> _tcsContentAlignment,-                  ("paddingRight" .=) <$> _tcsPaddingRight])---- | A document header.------ /See:/ 'header' smart constructor.-data Header =-  Header'-    { _hHeaderId :: !(Maybe Text)-    , _hContent  :: !(Maybe [StructuralElement])-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Header' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'hHeaderId'------ * 'hContent'-header-    :: Header-header = Header' {_hHeaderId = Nothing, _hContent = Nothing}----- | The ID of the header.-hHeaderId :: Lens' Header (Maybe Text)-hHeaderId-  = lens _hHeaderId (\ s a -> s{_hHeaderId = a})---- | The contents of the header. The indexes for a header\'s content begin at--- zero.-hContent :: Lens' Header [StructuralElement]-hContent-  = lens _hContent (\ s a -> s{_hContent = a}) .-      _Default-      . _Coerce--instance FromJSON Header where-        parseJSON-          = withObject "Header"-              (\ o ->-                 Header' <$>-                   (o .:? "headerId") <*> (o .:? "content" .!= mempty))--instance ToJSON Header where-        toJSON Header'{..}-          = object-              (catMaybes-                 [("headerId" .=) <$> _hHeaderId,-                  ("content" .=) <$> _hContent])---- | Specifies a contiguous range of text.------ /See:/ 'range' smart constructor.-data Range =-  Range'-    { _rEndIndex   :: !(Maybe (Textual Int32))-    , _rStartIndex :: !(Maybe (Textual Int32))-    , _rSegmentId  :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Range' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rEndIndex'------ * 'rStartIndex'------ * 'rSegmentId'-range-    :: Range-range =-  Range' {_rEndIndex = Nothing, _rStartIndex = Nothing, _rSegmentId = Nothing}----- | The zero-based end index of this range, exclusive, in UTF-16 code units.--- In all current uses, an end index must be provided. This field is an--- Int32Value in order to accommodate future use cases with open-ended--- ranges.-rEndIndex :: Lens' Range (Maybe Int32)-rEndIndex-  = lens _rEndIndex (\ s a -> s{_rEndIndex = a}) .-      mapping _Coerce---- | The zero-based start index of this range, in UTF-16 code units. In all--- current uses, a start index must be provided. This field is an--- Int32Value in order to accommodate future use cases with open-ended--- ranges.-rStartIndex :: Lens' Range (Maybe Int32)-rStartIndex-  = lens _rStartIndex (\ s a -> s{_rStartIndex = a}) .-      mapping _Coerce---- | The ID of the header, footer or footnote that this range is contained--- in. An empty segment ID signifies the document\'s body.-rSegmentId :: Lens' Range (Maybe Text)-rSegmentId-  = lens _rSegmentId (\ s a -> s{_rSegmentId = a})--instance FromJSON Range where-        parseJSON-          = withObject "Range"-              (\ o ->-                 Range' <$>-                   (o .:? "endIndex") <*> (o .:? "startIndex") <*>-                     (o .:? "segmentId"))--instance ToJSON Range where-        toJSON Range'{..}-          = object-              (catMaybes-                 [("endIndex" .=) <$> _rEndIndex,-                  ("startIndex" .=) <$> _rStartIndex,-                  ("segmentId" .=) <$> _rSegmentId])---- | A Google Docs document.------ /See:/ 'document' smart constructor.-data Document =-  Document'-    { _dNamedRanges                   :: !(Maybe DocumentNamedRanges)-    , _dInlineObjects                 :: !(Maybe DocumentInlineObjects)-    , _dDocumentId                    :: !(Maybe Text)-    , _dBody                          :: !(Maybe Body)-    , _dDocumentStyle                 :: !(Maybe DocumentStyle)-    , _dFooters                       :: !(Maybe DocumentFooters)-    , _dPositionedObjects             :: !(Maybe DocumentPositionedObjects)-    , _dSuggestionsViewMode           :: !(Maybe DocumentSuggestionsViewMode)-    , _dHeaders                       :: !(Maybe DocumentHeaders)-    , _dNamedStyles                   :: !(Maybe NamedStyles)-    , _dSuggestedNamedStylesChanges   :: !(Maybe DocumentSuggestedNamedStylesChanges)-    , _dSuggestedDocumentStyleChanges :: !(Maybe DocumentSuggestedDocumentStyleChanges)-    , _dTitle                         :: !(Maybe Text)-    , _dRevisionId                    :: !(Maybe Text)-    , _dFootNotes                     :: !(Maybe DocumentFootNotes)-    , _dLists                         :: !(Maybe DocumentLists)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Document' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dNamedRanges'------ * 'dInlineObjects'------ * 'dDocumentId'------ * 'dBody'------ * 'dDocumentStyle'------ * 'dFooters'------ * 'dPositionedObjects'------ * 'dSuggestionsViewMode'------ * 'dHeaders'------ * 'dNamedStyles'------ * 'dSuggestedNamedStylesChanges'------ * 'dSuggestedDocumentStyleChanges'------ * 'dTitle'------ * 'dRevisionId'------ * 'dFootNotes'------ * 'dLists'-document-    :: Document-document =-  Document'-    { _dNamedRanges = Nothing-    , _dInlineObjects = Nothing-    , _dDocumentId = Nothing-    , _dBody = Nothing-    , _dDocumentStyle = Nothing-    , _dFooters = Nothing-    , _dPositionedObjects = Nothing-    , _dSuggestionsViewMode = Nothing-    , _dHeaders = Nothing-    , _dNamedStyles = Nothing-    , _dSuggestedNamedStylesChanges = Nothing-    , _dSuggestedDocumentStyleChanges = Nothing-    , _dTitle = Nothing-    , _dRevisionId = Nothing-    , _dFootNotes = Nothing-    , _dLists = Nothing-    }----- | The named ranges in the document, keyed by name.-dNamedRanges :: Lens' Document (Maybe DocumentNamedRanges)-dNamedRanges-  = lens _dNamedRanges (\ s a -> s{_dNamedRanges = a})---- | The inline objects in the document, keyed by object ID.-dInlineObjects :: Lens' Document (Maybe DocumentInlineObjects)-dInlineObjects-  = lens _dInlineObjects-      (\ s a -> s{_dInlineObjects = a})---- | The ID of the document.-dDocumentId :: Lens' Document (Maybe Text)-dDocumentId-  = lens _dDocumentId (\ s a -> s{_dDocumentId = a})---- | The main body of the document.-dBody :: Lens' Document (Maybe Body)-dBody = lens _dBody (\ s a -> s{_dBody = a})---- | The style of the document.-dDocumentStyle :: Lens' Document (Maybe DocumentStyle)-dDocumentStyle-  = lens _dDocumentStyle-      (\ s a -> s{_dDocumentStyle = a})---- | The footers in the document, keyed by footer ID.-dFooters :: Lens' Document (Maybe DocumentFooters)-dFooters = lens _dFooters (\ s a -> s{_dFooters = a})---- | The positioned objects in the document, keyed by object ID.-dPositionedObjects :: Lens' Document (Maybe DocumentPositionedObjects)-dPositionedObjects-  = lens _dPositionedObjects-      (\ s a -> s{_dPositionedObjects = a})---- | The suggestions view mode applied to the document. Note: When editing a--- document, changes must be based on a document with SUGGESTIONS_INLINE.-dSuggestionsViewMode :: Lens' Document (Maybe DocumentSuggestionsViewMode)-dSuggestionsViewMode-  = lens _dSuggestionsViewMode-      (\ s a -> s{_dSuggestionsViewMode = a})---- | The headers in the document, keyed by header ID.-dHeaders :: Lens' Document (Maybe DocumentHeaders)-dHeaders = lens _dHeaders (\ s a -> s{_dHeaders = a})---- | The named styles of the document.-dNamedStyles :: Lens' Document (Maybe NamedStyles)-dNamedStyles-  = lens _dNamedStyles (\ s a -> s{_dNamedStyles = a})---- | The suggested changes to the named styles of the document, keyed by--- suggestion ID.-dSuggestedNamedStylesChanges :: Lens' Document (Maybe DocumentSuggestedNamedStylesChanges)-dSuggestedNamedStylesChanges-  = lens _dSuggestedNamedStylesChanges-      (\ s a -> s{_dSuggestedNamedStylesChanges = a})---- | The suggested changes to the style of the document, keyed by suggestion--- ID.-dSuggestedDocumentStyleChanges :: Lens' Document (Maybe DocumentSuggestedDocumentStyleChanges)-dSuggestedDocumentStyleChanges-  = lens _dSuggestedDocumentStyleChanges-      (\ s a -> s{_dSuggestedDocumentStyleChanges = a})---- | The title of the document.-dTitle :: Lens' Document (Maybe Text)-dTitle = lens _dTitle (\ s a -> s{_dTitle = a})---- | The revision ID of the document. Can be used in update requests to--- specify which revision of a document to apply updates to and how the--- request should behave if the document has been edited since that--- revision. Only populated if the user has edit access to the document.--- 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 document--- has not changed. Conversely, a changed ID (for the same document and--- user) usually means the document has been updated; however, a changed ID--- can also be due to internal factors such as ID format changes.-dRevisionId :: Lens' Document (Maybe Text)-dRevisionId-  = lens _dRevisionId (\ s a -> s{_dRevisionId = a})---- | The footnotes in the document, keyed by footnote ID.-dFootNotes :: Lens' Document (Maybe DocumentFootNotes)-dFootNotes-  = lens _dFootNotes (\ s a -> s{_dFootNotes = a})---- | The lists in the document, keyed by list ID.-dLists :: Lens' Document (Maybe DocumentLists)-dLists = lens _dLists (\ s a -> s{_dLists = a})--instance FromJSON Document where-        parseJSON-          = withObject "Document"-              (\ o ->-                 Document' <$>-                   (o .:? "namedRanges") <*> (o .:? "inlineObjects") <*>-                     (o .:? "documentId")-                     <*> (o .:? "body")-                     <*> (o .:? "documentStyle")-                     <*> (o .:? "footers")-                     <*> (o .:? "positionedObjects")-                     <*> (o .:? "suggestionsViewMode")-                     <*> (o .:? "headers")-                     <*> (o .:? "namedStyles")-                     <*> (o .:? "suggestedNamedStylesChanges")-                     <*> (o .:? "suggestedDocumentStyleChanges")-                     <*> (o .:? "title")-                     <*> (o .:? "revisionId")-                     <*> (o .:? "footnotes")-                     <*> (o .:? "lists"))--instance ToJSON Document where-        toJSON Document'{..}-          = object-              (catMaybes-                 [("namedRanges" .=) <$> _dNamedRanges,-                  ("inlineObjects" .=) <$> _dInlineObjects,-                  ("documentId" .=) <$> _dDocumentId,-                  ("body" .=) <$> _dBody,-                  ("documentStyle" .=) <$> _dDocumentStyle,-                  ("footers" .=) <$> _dFooters,-                  ("positionedObjects" .=) <$> _dPositionedObjects,-                  ("suggestionsViewMode" .=) <$> _dSuggestionsViewMode,-                  ("headers" .=) <$> _dHeaders,-                  ("namedStyles" .=) <$> _dNamedStyles,-                  ("suggestedNamedStylesChanges" .=) <$>-                    _dSuggestedNamedStylesChanges,-                  ("suggestedDocumentStyleChanges" .=) <$>-                    _dSuggestedDocumentStyleChanges,-                  ("title" .=) <$> _dTitle,-                  ("revisionId" .=) <$> _dRevisionId,-                  ("footnotes" .=) <$> _dFootNotes,-                  ("lists" .=) <$> _dLists])---- | The suggested changes to the style of the document, keyed by suggestion--- ID.------ /See:/ 'documentSuggestedDocumentStyleChanges' smart constructor.-newtype DocumentSuggestedDocumentStyleChanges =-  DocumentSuggestedDocumentStyleChanges'-    { _dsdscAddtional :: HashMap Text SuggestedDocumentStyle-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DocumentSuggestedDocumentStyleChanges' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dsdscAddtional'-documentSuggestedDocumentStyleChanges-    :: HashMap Text SuggestedDocumentStyle -- ^ 'dsdscAddtional'-    -> DocumentSuggestedDocumentStyleChanges-documentSuggestedDocumentStyleChanges pDsdscAddtional_ =-  DocumentSuggestedDocumentStyleChanges'-    {_dsdscAddtional = _Coerce # pDsdscAddtional_}---dsdscAddtional :: Lens' DocumentSuggestedDocumentStyleChanges (HashMap Text SuggestedDocumentStyle)-dsdscAddtional-  = lens _dsdscAddtional-      (\ s a -> s{_dsdscAddtional = a})-      . _Coerce--instance FromJSON-           DocumentSuggestedDocumentStyleChanges-         where-        parseJSON-          = withObject "DocumentSuggestedDocumentStyleChanges"-              (\ o ->-                 DocumentSuggestedDocumentStyleChanges' <$>-                   (parseJSONObject o))--instance ToJSON DocumentSuggestedDocumentStyleChanges-         where-        toJSON = toJSON . _dsdscAddtional---- | The named styles. Paragraphs in the document can inherit their TextStyle--- and ParagraphStyle from these named styles.------ /See:/ 'namedStyles' smart constructor.-newtype NamedStyles =-  NamedStyles'-    { _nsStyles :: Maybe [NamedStyle]-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'NamedStyles' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nsStyles'-namedStyles-    :: NamedStyles-namedStyles = NamedStyles' {_nsStyles = Nothing}----- | The named styles. There is an entry for each of the possible named style--- types.-nsStyles :: Lens' NamedStyles [NamedStyle]-nsStyles-  = lens _nsStyles (\ s a -> s{_nsStyles = a}) .-      _Default-      . _Coerce--instance FromJSON NamedStyles where-        parseJSON-          = withObject "NamedStyles"-              (\ o -> NamedStyles' <$> (o .:? "styles" .!= mempty))--instance ToJSON NamedStyles where-        toJSON NamedStyles'{..}-          = object (catMaybes [("styles" .=) <$> _nsStyles])---- | The suggested paragraph style changes to this paragraph, keyed by--- suggestion ID.------ /See:/ 'paragraphSuggestedParagraphStyleChanges' smart constructor.-newtype ParagraphSuggestedParagraphStyleChanges =-  ParagraphSuggestedParagraphStyleChanges'-    { _pspscAddtional :: HashMap Text SuggestedParagraphStyle-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ParagraphSuggestedParagraphStyleChanges' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pspscAddtional'-paragraphSuggestedParagraphStyleChanges-    :: HashMap Text SuggestedParagraphStyle -- ^ 'pspscAddtional'-    -> ParagraphSuggestedParagraphStyleChanges-paragraphSuggestedParagraphStyleChanges pPspscAddtional_ =-  ParagraphSuggestedParagraphStyleChanges'-    {_pspscAddtional = _Coerce # pPspscAddtional_}---pspscAddtional :: Lens' ParagraphSuggestedParagraphStyleChanges (HashMap Text SuggestedParagraphStyle)-pspscAddtional-  = lens _pspscAddtional-      (\ s a -> s{_pspscAddtional = a})-      . _Coerce--instance FromJSON-           ParagraphSuggestedParagraphStyleChanges-         where-        parseJSON-          = withObject-              "ParagraphSuggestedParagraphStyleChanges"-              (\ o ->-                 ParagraphSuggestedParagraphStyleChanges' <$>-                   (parseJSONObject o))--instance ToJSON-           ParagraphSuggestedParagraphStyleChanges-         where-        toJSON = toJSON . _pspscAddtional---- | The properties of an embedded drawing.------ /See:/ 'embeddedDrawingProperties' smart constructor.-data EmbeddedDrawingProperties =-  EmbeddedDrawingProperties'-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'EmbeddedDrawingProperties' with the minimum fields required to make a request.----embeddedDrawingProperties-    :: EmbeddedDrawingProperties-embeddedDrawingProperties = EmbeddedDrawingProperties'---instance FromJSON EmbeddedDrawingProperties where-        parseJSON-          = withObject "EmbeddedDrawingProperties"-              (\ o -> pure EmbeddedDrawingProperties')--instance ToJSON EmbeddedDrawingProperties where-        toJSON = const emptyObject---- | A suggested change to a TextStyle.------ /See:/ 'suggestedTextStyle' smart constructor.-data SuggestedTextStyle =-  SuggestedTextStyle'-    { _stsTextStyle                :: !(Maybe TextStyle)-    , _stsTextStyleSuggestionState :: !(Maybe TextStyleSuggestionState)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SuggestedTextStyle' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'stsTextStyle'------ * 'stsTextStyleSuggestionState'-suggestedTextStyle-    :: SuggestedTextStyle-suggestedTextStyle =-  SuggestedTextStyle'-    {_stsTextStyle = Nothing, _stsTextStyleSuggestionState = Nothing}----- | A TextStyle that only includes the changes made in this suggestion. This--- can be used along with the text_style_suggestion_state to see which--- fields have changed and their new values.-stsTextStyle :: Lens' SuggestedTextStyle (Maybe TextStyle)-stsTextStyle-  = lens _stsTextStyle (\ s a -> s{_stsTextStyle = a})---- | A mask that indicates which of the fields on the base TextStyle have--- been changed in this suggestion.-stsTextStyleSuggestionState :: Lens' SuggestedTextStyle (Maybe TextStyleSuggestionState)-stsTextStyleSuggestionState-  = lens _stsTextStyleSuggestionState-      (\ s a -> s{_stsTextStyleSuggestionState = a})--instance FromJSON SuggestedTextStyle where-        parseJSON-          = withObject "SuggestedTextStyle"-              (\ o ->-                 SuggestedTextStyle' <$>-                   (o .:? "textStyle") <*>-                     (o .:? "textStyleSuggestionState"))--instance ToJSON SuggestedTextStyle where-        toJSON SuggestedTextStyle'{..}-          = object-              (catMaybes-                 [("textStyle" .=) <$> _stsTextStyle,-                  ("textStyleSuggestionState" .=) <$>-                    _stsTextStyleSuggestionState])---- | Inserts an empty row into a table.------ /See:/ 'insertTableRowRequest' smart constructor.-data InsertTableRowRequest =-  InsertTableRowRequest'-    { _itrrInsertBelow       :: !(Maybe Bool)-    , _itrrTableCellLocation :: !(Maybe TableCellLocation)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'InsertTableRowRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'itrrInsertBelow'------ * 'itrrTableCellLocation'-insertTableRowRequest-    :: InsertTableRowRequest-insertTableRowRequest =-  InsertTableRowRequest'-    {_itrrInsertBelow = Nothing, _itrrTableCellLocation = Nothing}----- | Whether to insert new row below the reference cell location. - \`True\`:--- insert below the cell. - \`False\`: insert above the cell.-itrrInsertBelow :: Lens' InsertTableRowRequest (Maybe Bool)-itrrInsertBelow-  = lens _itrrInsertBelow-      (\ s a -> s{_itrrInsertBelow = a})---- | The reference table cell location from which rows will be inserted. A--- new row will be inserted above (or below) the row where the reference--- cell is. If the reference cell is a merged cell, a new row will be--- inserted above (or below) the merged cell.-itrrTableCellLocation :: Lens' InsertTableRowRequest (Maybe TableCellLocation)-itrrTableCellLocation-  = lens _itrrTableCellLocation-      (\ s a -> s{_itrrTableCellLocation = a})--instance FromJSON InsertTableRowRequest where-        parseJSON-          = withObject "InsertTableRowRequest"-              (\ o ->-                 InsertTableRowRequest' <$>-                   (o .:? "insertBelow") <*>-                     (o .:? "tableCellLocation"))--instance ToJSON InsertTableRowRequest where-        toJSON InsertTableRowRequest'{..}-          = object-              (catMaybes-                 [("insertBelow" .=) <$> _itrrInsertBelow,-                  ("tableCellLocation" .=) <$> _itrrTableCellLocation])---- | A suggested change to the NamedStyles.------ /See:/ 'suggestedNamedStyles' smart constructor.-data SuggestedNamedStyles =-  SuggestedNamedStyles'-    { _snsNamedStylesSuggestionState :: !(Maybe NamedStylesSuggestionState)-    , _snsNamedStyles                :: !(Maybe NamedStyles)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SuggestedNamedStyles' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'snsNamedStylesSuggestionState'------ * 'snsNamedStyles'-suggestedNamedStyles-    :: SuggestedNamedStyles-suggestedNamedStyles =-  SuggestedNamedStyles'-    {_snsNamedStylesSuggestionState = Nothing, _snsNamedStyles = Nothing}----- | A mask that indicates which of the fields on the base NamedStyles have--- been changed in this suggestion.-snsNamedStylesSuggestionState :: Lens' SuggestedNamedStyles (Maybe NamedStylesSuggestionState)-snsNamedStylesSuggestionState-  = lens _snsNamedStylesSuggestionState-      (\ s a -> s{_snsNamedStylesSuggestionState = a})---- | A NamedStyles that only includes the changes made in this suggestion.--- This can be used along with the named_styles_suggestion_state to see--- which fields have changed and their new values.-snsNamedStyles :: Lens' SuggestedNamedStyles (Maybe NamedStyles)-snsNamedStyles-  = lens _snsNamedStyles-      (\ s a -> s{_snsNamedStyles = a})--instance FromJSON SuggestedNamedStyles where-        parseJSON-          = withObject "SuggestedNamedStyles"-              (\ o ->-                 SuggestedNamedStyles' <$>-                   (o .:? "namedStylesSuggestionState") <*>-                     (o .:? "namedStyles"))--instance ToJSON SuggestedNamedStyles where-        toJSON SuggestedNamedStyles'{..}-          = object-              (catMaybes-                 [("namedStylesSuggestionState" .=) <$>-                    _snsNamedStylesSuggestionState,-                  ("namedStyles" .=) <$> _snsNamedStyles])---- | Provides control over how write requests are executed.------ /See:/ 'writeControl' smart constructor.-data WriteControl =-  WriteControl'-    { _wcRequiredRevisionId :: !(Maybe Text)-    , _wcTargetRevisionId   :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'WriteControl' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'wcRequiredRevisionId'------ * 'wcTargetRevisionId'-writeControl-    :: WriteControl-writeControl =-  WriteControl' {_wcRequiredRevisionId = Nothing, _wcTargetRevisionId = Nothing}----- | The revision ID of the document that the write request will be applied--- to. If this is not the latest revision of the document, the request will--- not be processed and will return a 400 bad request error. When a--- required revision ID is returned in a response, it indicates the--- revision ID of the document after the request was applied.-wcRequiredRevisionId :: Lens' WriteControl (Maybe Text)-wcRequiredRevisionId-  = lens _wcRequiredRevisionId-      (\ s a -> s{_wcRequiredRevisionId = a})---- | The target revision ID of the document that the write request will be--- applied to. If collaborator changes have occurred after the document was--- read using the API, the changes produced by this write request will be--- transformed against the collaborator changes. This results in a new--- revision of the document which incorporates both the changes in the--- request and the collaborator changes, and the Docs server will resolve--- conflicting changes. When using \`target_revision_id\`, the API client--- can be thought of as another collaborator of the document. The target--- revision ID may only be used to write to recent versions of a document.--- If the target revision is too far behind the latest revision, the--- request will not be processed and will return a 400 bad request error--- and the request should be retried after reading the latest version of--- the document. In most cases a \`revision_id\` will remain valid for use--- as a target revision for several minutes after it is read, but for--- frequently-edited documents this window may be shorter.-wcTargetRevisionId :: Lens' WriteControl (Maybe Text)-wcTargetRevisionId-  = lens _wcTargetRevisionId-      (\ s a -> s{_wcTargetRevisionId = a})--instance FromJSON WriteControl where-        parseJSON-          = withObject "WriteControl"-              (\ o ->-                 WriteControl' <$>-                   (o .:? "requiredRevisionId") <*>-                     (o .:? "targetRevisionId"))--instance ToJSON WriteControl where-        toJSON WriteControl'{..}-          = object-              (catMaybes-                 [("requiredRevisionId" .=) <$> _wcRequiredRevisionId,-                  ("targetRevisionId" .=) <$> _wcTargetRevisionId])---- | Represents the styling that can be applied to text. Inherited text--- styles are represented as unset fields in this message. A text style\'s--- parent depends on where the text style is defined: * The TextStyle of--- text in a Paragraph inherits from the paragraph\'s corresponding named--- style type. * The TextStyle on a named style inherits from the normal--- text named style. * The TextStyle of the normal text named style--- inherits from the default text style in the Docs editor. * The TextStyle--- on a Paragraph element that is contained in a table may inherit its text--- style from the table style. If the text style does not inherit from a--- parent, unsetting fields will revert the style to a value matching the--- defaults in the Docs editor.------ /See:/ 'textStyle' smart constructor.-data TextStyle =-  TextStyle'-    { _tsLink               :: !(Maybe Link)-    , _tsBackgRoundColor    :: !(Maybe OptionalColor)-    , _tsBaselineOffSet     :: !(Maybe TextStyleBaselineOffSet)-    , _tsForegRoundColor    :: !(Maybe OptionalColor)-    , _tsFontSize           :: !(Maybe Dimension)-    , _tsSmallCaps          :: !(Maybe Bool)-    , _tsUnderline          :: !(Maybe Bool)-    , _tsWeightedFontFamily :: !(Maybe WeightedFontFamily)-    , _tsItalic             :: !(Maybe Bool)-    , _tsBold               :: !(Maybe Bool)-    , _tsStrikethrough      :: !(Maybe Bool)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'TextStyle' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tsLink'------ * 'tsBackgRoundColor'------ * 'tsBaselineOffSet'------ * 'tsForegRoundColor'------ * 'tsFontSize'------ * 'tsSmallCaps'------ * 'tsUnderline'------ * 'tsWeightedFontFamily'------ * 'tsItalic'------ * 'tsBold'------ * 'tsStrikethrough'-textStyle-    :: TextStyle-textStyle =-  TextStyle'-    { _tsLink = Nothing-    , _tsBackgRoundColor = Nothing-    , _tsBaselineOffSet = Nothing-    , _tsForegRoundColor = Nothing-    , _tsFontSize = Nothing-    , _tsSmallCaps = Nothing-    , _tsUnderline = Nothing-    , _tsWeightedFontFamily = Nothing-    , _tsItalic = Nothing-    , _tsBold = Nothing-    , _tsStrikethrough = Nothing-    }----- | 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 updated to the default--- link color 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.-tsLink :: Lens' TextStyle (Maybe Link)-tsLink = lens _tsLink (\ s a -> s{_tsLink = a})---- | The background color of the text. If set, the color is either an RGB--- color or transparent, depending on the \`color\` field.-tsBackgRoundColor :: Lens' TextStyle (Maybe OptionalColor)-tsBackgRoundColor-  = lens _tsBackgRoundColor-      (\ s a -> s{_tsBackgRoundColor = a})---- | 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.-tsBaselineOffSet :: Lens' TextStyle (Maybe TextStyleBaselineOffSet)-tsBaselineOffSet-  = lens _tsBaselineOffSet-      (\ s a -> s{_tsBaselineOffSet = a})---- | The foreground color of the text. If set, the color is either an RGB--- color or transparent, depending on the \`color\` field.-tsForegRoundColor :: Lens' TextStyle (Maybe OptionalColor)-tsForegRoundColor-  = lens _tsForegRoundColor-      (\ s a -> s{_tsForegRoundColor = a})---- | The size of the text\'s font.-tsFontSize :: Lens' TextStyle (Maybe Dimension)-tsFontSize-  = lens _tsFontSize (\ s a -> s{_tsFontSize = a})---- | Whether or not the text is in small capital letters.-tsSmallCaps :: Lens' TextStyle (Maybe Bool)-tsSmallCaps-  = lens _tsSmallCaps (\ s a -> s{_tsSmallCaps = a})---- | Whether or not the text is underlined.-tsUnderline :: Lens' TextStyle (Maybe Bool)-tsUnderline-  = lens _tsUnderline (\ s a -> s{_tsUnderline = a})---- | The font family and rendered weight of the text. 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.-tsWeightedFontFamily :: Lens' TextStyle (Maybe WeightedFontFamily)-tsWeightedFontFamily-  = lens _tsWeightedFontFamily-      (\ s a -> s{_tsWeightedFontFamily = a})---- | Whether or not the text is italicized.-tsItalic :: Lens' TextStyle (Maybe Bool)-tsItalic = lens _tsItalic (\ s a -> s{_tsItalic = a})---- | Whether or not the text is rendered as bold.-tsBold :: Lens' TextStyle (Maybe Bool)-tsBold = lens _tsBold (\ s a -> s{_tsBold = a})---- | Whether or not the text is struck through.-tsStrikethrough :: Lens' TextStyle (Maybe Bool)-tsStrikethrough-  = lens _tsStrikethrough-      (\ s a -> s{_tsStrikethrough = a})--instance FromJSON TextStyle where-        parseJSON-          = withObject "TextStyle"-              (\ o ->-                 TextStyle' <$>-                   (o .:? "link") <*> (o .:? "backgroundColor") <*>-                     (o .:? "baselineOffset")-                     <*> (o .:? "foregroundColor")-                     <*> (o .:? "fontSize")-                     <*> (o .:? "smallCaps")-                     <*> (o .:? "underline")-                     <*> (o .:? "weightedFontFamily")-                     <*> (o .:? "italic")-                     <*> (o .:? "bold")-                     <*> (o .:? "strikethrough"))--instance ToJSON TextStyle where-        toJSON TextStyle'{..}-          = object-              (catMaybes-                 [("link" .=) <$> _tsLink,-                  ("backgroundColor" .=) <$> _tsBackgRoundColor,-                  ("baselineOffset" .=) <$> _tsBaselineOffSet,-                  ("foregroundColor" .=) <$> _tsForegRoundColor,-                  ("fontSize" .=) <$> _tsFontSize,-                  ("smallCaps" .=) <$> _tsSmallCaps,-                  ("underline" .=) <$> _tsUnderline,-                  ("weightedFontFamily" .=) <$> _tsWeightedFontFamily,-                  ("italic" .=) <$> _tsItalic, ("bold" .=) <$> _tsBold,-                  ("strikethrough" .=) <$> _tsStrikethrough])---- | The suggested text style changes to this HorizontalRule, keyed by--- suggestion ID.------ /See:/ 'horizontalRuleSuggestedTextStyleChanges' smart constructor.-newtype HorizontalRuleSuggestedTextStyleChanges =-  HorizontalRuleSuggestedTextStyleChanges'-    { _hrstscAddtional :: HashMap Text SuggestedTextStyle-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'HorizontalRuleSuggestedTextStyleChanges' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'hrstscAddtional'-horizontalRuleSuggestedTextStyleChanges-    :: HashMap Text SuggestedTextStyle -- ^ 'hrstscAddtional'-    -> HorizontalRuleSuggestedTextStyleChanges-horizontalRuleSuggestedTextStyleChanges pHrstscAddtional_ =-  HorizontalRuleSuggestedTextStyleChanges'-    {_hrstscAddtional = _Coerce # pHrstscAddtional_}---hrstscAddtional :: Lens' HorizontalRuleSuggestedTextStyleChanges (HashMap Text SuggestedTextStyle)-hrstscAddtional-  = lens _hrstscAddtional-      (\ s a -> s{_hrstscAddtional = a})-      . _Coerce--instance FromJSON-           HorizontalRuleSuggestedTextStyleChanges-         where-        parseJSON-          = withObject-              "HorizontalRuleSuggestedTextStyleChanges"-              (\ o ->-                 HorizontalRuleSuggestedTextStyleChanges' <$>-                   (parseJSONObject o))--instance ToJSON-           HorizontalRuleSuggestedTextStyleChanges-         where-        toJSON = toJSON . _hrstscAddtional---- | Update the styling of text.------ /See:/ 'updateTextStyleRequest' smart constructor.-data UpdateTextStyleRequest =-  UpdateTextStyleRequest'-    { _utsrRange     :: !(Maybe Range)-    , _utsrTextStyle :: !(Maybe TextStyle)-    , _utsrFields    :: !(Maybe GFieldMask)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateTextStyleRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'utsrRange'------ * 'utsrTextStyle'------ * 'utsrFields'-updateTextStyleRequest-    :: UpdateTextStyleRequest-updateTextStyleRequest =-  UpdateTextStyleRequest'-    {_utsrRange = Nothing, _utsrTextStyle = Nothing, _utsrFields = Nothing}----- | 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.-utsrRange :: Lens' UpdateTextStyleRequest (Maybe Range)-utsrRange-  = lens _utsrRange (\ s a -> s{_utsrRange = a})---- | The styles to set on the text. 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 in order to to mirror the--- behavior of the Docs editor. See the documentation of TextStyle for more--- information.-utsrTextStyle :: Lens' UpdateTextStyleRequest (Maybe TextStyle)-utsrTextStyle-  = lens _utsrTextStyle-      (\ s a -> s{_utsrTextStyle = a})---- | The fields that should be updated. At least one field must be specified.--- The root \`text_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 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.-utsrFields :: Lens' UpdateTextStyleRequest (Maybe GFieldMask)-utsrFields-  = lens _utsrFields (\ s a -> s{_utsrFields = a})--instance FromJSON UpdateTextStyleRequest where-        parseJSON-          = withObject "UpdateTextStyleRequest"-              (\ o ->-                 UpdateTextStyleRequest' <$>-                   (o .:? "range") <*> (o .:? "textStyle") <*>-                     (o .:? "fields"))--instance ToJSON UpdateTextStyleRequest where-        toJSON UpdateTextStyleRequest'{..}-          = object-              (catMaybes-                 [("range" .=) <$> _utsrRange,-                  ("textStyle" .=) <$> _utsrTextStyle,-                  ("fields" .=) <$> _utsrFields])---- | A ParagraphElement that contains an InlineObject.------ /See:/ 'inlineObjectElement' smart constructor.-data InlineObjectElement =-  InlineObjectElement'-    { _ioeSuggestedInsertionIds     :: !(Maybe [Text])-    , _ioeSuggestedTextStyleChanges :: !(Maybe InlineObjectElementSuggestedTextStyleChanges)-    , _ioeInlineObjectId            :: !(Maybe Text)-    , _ioeSuggestedDeletionIds      :: !(Maybe [Text])-    , _ioeTextStyle                 :: !(Maybe TextStyle)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'InlineObjectElement' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ioeSuggestedInsertionIds'------ * 'ioeSuggestedTextStyleChanges'------ * 'ioeInlineObjectId'------ * 'ioeSuggestedDeletionIds'------ * 'ioeTextStyle'-inlineObjectElement-    :: InlineObjectElement-inlineObjectElement =-  InlineObjectElement'-    { _ioeSuggestedInsertionIds = Nothing-    , _ioeSuggestedTextStyleChanges = Nothing-    , _ioeInlineObjectId = Nothing-    , _ioeSuggestedDeletionIds = Nothing-    , _ioeTextStyle = Nothing-    }----- | The suggested insertion IDs. An InlineObjectElement may have multiple--- insertion IDs if it is a nested suggested change. If empty, then this is--- not a suggested insertion.-ioeSuggestedInsertionIds :: Lens' InlineObjectElement [Text]-ioeSuggestedInsertionIds-  = lens _ioeSuggestedInsertionIds-      (\ s a -> s{_ioeSuggestedInsertionIds = a})-      . _Default-      . _Coerce---- | The suggested text style changes to this InlineObject, keyed by--- suggestion ID.-ioeSuggestedTextStyleChanges :: Lens' InlineObjectElement (Maybe InlineObjectElementSuggestedTextStyleChanges)-ioeSuggestedTextStyleChanges-  = lens _ioeSuggestedTextStyleChanges-      (\ s a -> s{_ioeSuggestedTextStyleChanges = a})---- | The ID of the InlineObject this element contains.-ioeInlineObjectId :: Lens' InlineObjectElement (Maybe Text)-ioeInlineObjectId-  = lens _ioeInlineObjectId-      (\ s a -> s{_ioeInlineObjectId = a})---- | The suggested deletion IDs. If empty, then there are no suggested--- deletions of this content.-ioeSuggestedDeletionIds :: Lens' InlineObjectElement [Text]-ioeSuggestedDeletionIds-  = lens _ioeSuggestedDeletionIds-      (\ s a -> s{_ioeSuggestedDeletionIds = a})-      . _Default-      . _Coerce---- | The text style of this InlineObjectElement. Similar to text content,--- like text runs and footnote references, the text style of an inline--- object element can affect content layout as well as the styling of text--- inserted adjacent to it.-ioeTextStyle :: Lens' InlineObjectElement (Maybe TextStyle)-ioeTextStyle-  = lens _ioeTextStyle (\ s a -> s{_ioeTextStyle = a})--instance FromJSON InlineObjectElement where-        parseJSON-          = withObject "InlineObjectElement"-              (\ o ->-                 InlineObjectElement' <$>-                   (o .:? "suggestedInsertionIds" .!= mempty) <*>-                     (o .:? "suggestedTextStyleChanges")-                     <*> (o .:? "inlineObjectId")-                     <*> (o .:? "suggestedDeletionIds" .!= mempty)-                     <*> (o .:? "textStyle"))--instance ToJSON InlineObjectElement where-        toJSON InlineObjectElement'{..}-          = object-              (catMaybes-                 [("suggestedInsertionIds" .=) <$>-                    _ioeSuggestedInsertionIds,-                  ("suggestedTextStyleChanges" .=) <$>-                    _ioeSuggestedTextStyleChanges,-                  ("inlineObjectId" .=) <$> _ioeInlineObjectId,-                  ("suggestedDeletionIds" .=) <$>-                    _ioeSuggestedDeletionIds,-                  ("textStyle" .=) <$> _ioeTextStyle])---- | Contains properties describing the look and feel of a list bullet at a--- given level of nesting.------ /See:/ 'nestingLevel' smart constructor.-data NestingLevel =-  NestingLevel'-    { _nlIndentFirstLine :: !(Maybe Dimension)-    , _nlGlyphFormat     :: !(Maybe Text)-    , _nlBulletAlignment :: !(Maybe NestingLevelBulletAlignment)-    , _nlIndentStart     :: !(Maybe Dimension)-    , _nlGlyphSymbol     :: !(Maybe Text)-    , _nlTextStyle       :: !(Maybe TextStyle)-    , _nlGlyphType       :: !(Maybe NestingLevelGlyphType)-    , _nlStartNumber     :: !(Maybe (Textual Int32))-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'NestingLevel' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nlIndentFirstLine'------ * 'nlGlyphFormat'------ * 'nlBulletAlignment'------ * 'nlIndentStart'------ * 'nlGlyphSymbol'------ * 'nlTextStyle'------ * 'nlGlyphType'------ * 'nlStartNumber'-nestingLevel-    :: NestingLevel-nestingLevel =-  NestingLevel'-    { _nlIndentFirstLine = Nothing-    , _nlGlyphFormat = Nothing-    , _nlBulletAlignment = Nothing-    , _nlIndentStart = Nothing-    , _nlGlyphSymbol = Nothing-    , _nlTextStyle = Nothing-    , _nlGlyphType = Nothing-    , _nlStartNumber = Nothing-    }----- | The amount of indentation for the first line of paragraphs at this level--- of nesting.-nlIndentFirstLine :: Lens' NestingLevel (Maybe Dimension)-nlIndentFirstLine-  = lens _nlIndentFirstLine-      (\ s a -> s{_nlIndentFirstLine = a})---- | The format string used by bullets at this level of nesting. The glyph--- format contains one or more placeholders, and these placeholder are--- replaced with the appropriate values depending on the glyph_type or--- glyph_symbol. The placeholders follow the pattern \`%[nesting_level]\`.--- Furthermore, placeholders can have prefixes and suffixes. Thus, the--- glyph format follows the pattern \`%[nesting_level]\`. Note that the--- prefix and suffix are optional and can be arbitrary strings. For--- example, the glyph format \`%0.\` indicates that the rendered glyph will--- replace the placeholder with the corresponding glyph for nesting level 0--- followed by a period as the suffix. So a list with a glyph type of--- UPPER_ALPHA and glyph format \`%0.\` at nesting level 0 will result in a--- list with rendered glyphs------ \`A.\`------ \`B.\`------ \`C.\` The glyph format can contain placeholders for the current nesting--- level as well as placeholders for parent nesting levels. For example, a--- list can have a glyph format of \`%0.\` at nesting level 0 and a glyph--- format of \`%0.%1.\` at nesting level 1. Assuming both nesting levels--- have DECIMAL glyph types, this would result in a list with rendered--- glyphs------ \`1.\`------ \`2.\`------ \` 2.1.\`------ \` 2.2.\`------ \`3.\` For nesting levels that are ordered, the string that replaces a--- placeholder in the glyph format for a particular paragraph depends on--- the paragraph\'s order within the list.-nlGlyphFormat :: Lens' NestingLevel (Maybe Text)-nlGlyphFormat-  = lens _nlGlyphFormat-      (\ s a -> s{_nlGlyphFormat = a})---- | The alignment of the bullet within the space allotted for rendering the--- bullet.-nlBulletAlignment :: Lens' NestingLevel (Maybe NestingLevelBulletAlignment)-nlBulletAlignment-  = lens _nlBulletAlignment-      (\ s a -> s{_nlBulletAlignment = a})---- | The amount of indentation for paragraphs at this level of nesting.--- Applied to the side that corresponds to the start of the text, based on--- the paragraph\'s content direction.-nlIndentStart :: Lens' NestingLevel (Maybe Dimension)-nlIndentStart-  = lens _nlIndentStart-      (\ s a -> s{_nlIndentStart = a})---- | A custom glyph symbol used by bullets when paragraphs at this level of--- nesting are unordered. The glyph symbol replaces placeholders within the--- glyph_format. For example, if the glyph_symbol is the solid circle--- corresponding to Unicode U+25cf code point and the glyph_format is--- \`%0\`, the rendered glyph would be the solid circle.-nlGlyphSymbol :: Lens' NestingLevel (Maybe Text)-nlGlyphSymbol-  = lens _nlGlyphSymbol-      (\ s a -> s{_nlGlyphSymbol = a})---- | The text style of bullets at this level of nesting.-nlTextStyle :: Lens' NestingLevel (Maybe TextStyle)-nlTextStyle-  = lens _nlTextStyle (\ s a -> s{_nlTextStyle = a})---- | The type of glyph used by bullets when paragraphs at this level of--- nesting are ordered. The glyph type determines the type of glyph used to--- replace placeholders within the glyph_format when paragraphs at this--- level of nesting are ordered. For example, if the nesting level is 0,--- the glyph_format is \`%0.\` and the glyph type is DECIMAL, then the--- rendered glyph would replace the placeholder \`%0\` in the glyph format--- with a number corresponding to list item\'s order within the list.-nlGlyphType :: Lens' NestingLevel (Maybe NestingLevelGlyphType)-nlGlyphType-  = lens _nlGlyphType (\ s a -> s{_nlGlyphType = a})---- | The number of the first list item at this nesting level. A value of 0 is--- treated as a value of 1 for lettered lists and roman numeraled lists,--- i.e. for values of both 0 and 1, lettered and roman numeraled lists will--- begin at \`a\` and \`i\` respectively. This value is ignored for nesting--- levels with unordered glyphs.-nlStartNumber :: Lens' NestingLevel (Maybe Int32)-nlStartNumber-  = lens _nlStartNumber-      (\ s a -> s{_nlStartNumber = a})-      . mapping _Coerce--instance FromJSON NestingLevel where-        parseJSON-          = withObject "NestingLevel"-              (\ o ->-                 NestingLevel' <$>-                   (o .:? "indentFirstLine") <*> (o .:? "glyphFormat")-                     <*> (o .:? "bulletAlignment")-                     <*> (o .:? "indentStart")-                     <*> (o .:? "glyphSymbol")-                     <*> (o .:? "textStyle")-                     <*> (o .:? "glyphType")-                     <*> (o .:? "startNumber"))--instance ToJSON NestingLevel where-        toJSON NestingLevel'{..}-          = object-              (catMaybes-                 [("indentFirstLine" .=) <$> _nlIndentFirstLine,-                  ("glyphFormat" .=) <$> _nlGlyphFormat,-                  ("bulletAlignment" .=) <$> _nlBulletAlignment,-                  ("indentStart" .=) <$> _nlIndentStart,-                  ("glyphSymbol" .=) <$> _nlGlyphSymbol,-                  ("textStyle" .=) <$> _nlTextStyle,-                  ("glyphType" .=) <$> _nlGlyphType,-                  ("startNumber" .=) <$> _nlStartNumber])---- | Location of a single cell within a table.------ /See:/ 'tableCellLocation' smart constructor.-data TableCellLocation =-  TableCellLocation'-    { _tclColumnIndex        :: !(Maybe (Textual Int32))-    , _tclTableStartLocation :: !(Maybe Location)-    , _tclRowIndex           :: !(Maybe (Textual Int32))-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'TableCellLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tclColumnIndex'------ * 'tclTableStartLocation'------ * 'tclRowIndex'-tableCellLocation-    :: TableCellLocation-tableCellLocation =-  TableCellLocation'-    { _tclColumnIndex = Nothing-    , _tclTableStartLocation = Nothing-    , _tclRowIndex = Nothing-    }----- | The zero-based column index. For example, the second column in the table--- has a column index of 1.-tclColumnIndex :: Lens' TableCellLocation (Maybe Int32)-tclColumnIndex-  = lens _tclColumnIndex-      (\ s a -> s{_tclColumnIndex = a})-      . mapping _Coerce---- | The location where the table starts in the document.-tclTableStartLocation :: Lens' TableCellLocation (Maybe Location)-tclTableStartLocation-  = lens _tclTableStartLocation-      (\ s a -> s{_tclTableStartLocation = a})---- | The zero-based row index. For example, the second row in the table has a--- row index of 1.-tclRowIndex :: Lens' TableCellLocation (Maybe Int32)-tclRowIndex-  = lens _tclRowIndex (\ s a -> s{_tclRowIndex = a}) .-      mapping _Coerce--instance FromJSON TableCellLocation where-        parseJSON-          = withObject "TableCellLocation"-              (\ o ->-                 TableCellLocation' <$>-                   (o .:? "columnIndex") <*>-                     (o .:? "tableStartLocation")-                     <*> (o .:? "rowIndex"))--instance ToJSON TableCellLocation where-        toJSON TableCellLocation'{..}-          = object-              (catMaybes-                 [("columnIndex" .=) <$> _tclColumnIndex,-                  ("tableStartLocation" .=) <$> _tclTableStartLocation,-                  ("rowIndex" .=) <$> _tclRowIndex])---- | Deletes a PositionedObject from the document.------ /See:/ 'deletePositionedObjectRequest' smart constructor.-newtype DeletePositionedObjectRequest =-  DeletePositionedObjectRequest'-    { _dporObjectId :: Maybe Text-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DeletePositionedObjectRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dporObjectId'-deletePositionedObjectRequest-    :: DeletePositionedObjectRequest-deletePositionedObjectRequest =-  DeletePositionedObjectRequest' {_dporObjectId = Nothing}----- | The ID of the positioned object to delete.-dporObjectId :: Lens' DeletePositionedObjectRequest (Maybe Text)-dporObjectId-  = lens _dporObjectId (\ s a -> s{_dporObjectId = a})--instance FromJSON DeletePositionedObjectRequest where-        parseJSON-          = withObject "DeletePositionedObjectRequest"-              (\ o ->-                 DeletePositionedObjectRequest' <$>-                   (o .:? "objectId"))--instance ToJSON DeletePositionedObjectRequest where-        toJSON DeletePositionedObjectRequest'{..}-          = object-              (catMaybes [("objectId" .=) <$> _dporObjectId])---- | A document footer.------ /See:/ 'footer' smart constructor.-data Footer =-  Footer'-    { _fFooterId :: !(Maybe Text)-    , _fContent  :: !(Maybe [StructuralElement])-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Footer' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fFooterId'------ * 'fContent'-footer-    :: Footer-footer = Footer' {_fFooterId = Nothing, _fContent = Nothing}----- | The ID of the footer.-fFooterId :: Lens' Footer (Maybe Text)-fFooterId-  = lens _fFooterId (\ s a -> s{_fFooterId = a})---- | The contents of the footer. The indexes for a footer\'s content begin at--- zero.-fContent :: Lens' Footer [StructuralElement]-fContent-  = lens _fContent (\ s a -> s{_fContent = a}) .-      _Default-      . _Coerce--instance FromJSON Footer where-        parseJSON-          = withObject "Footer"-              (\ o ->-                 Footer' <$>-                   (o .:? "footerId") <*> (o .:? "content" .!= mempty))--instance ToJSON Footer where-        toJSON Footer'{..}-          = object-              (catMaybes-                 [("footerId" .=) <$> _fFooterId,-                  ("content" .=) <$> _fContent])---- | An object that is tethered to a Paragraph and positioned relative to the--- beginning of the paragraph. A PositionedObject contains an--- EmbeddedObject such as an image.------ /See:/ 'positionedObject' smart constructor.-data PositionedObject =-  PositionedObject'-    { _poSuggestedPositionedObjectPropertiesChanges :: !(Maybe PositionedObjectSuggestedPositionedObjectPropertiesChanges)-    , _poPositionedObjectProperties                 :: !(Maybe PositionedObjectProperties)-    , _poSuggestedInsertionId                       :: !(Maybe Text)-    , _poObjectId                                   :: !(Maybe Text)-    , _poSuggestedDeletionIds                       :: !(Maybe [Text])-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'PositionedObject' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'poSuggestedPositionedObjectPropertiesChanges'------ * 'poPositionedObjectProperties'------ * 'poSuggestedInsertionId'------ * 'poObjectId'------ * 'poSuggestedDeletionIds'-positionedObject-    :: PositionedObject-positionedObject =-  PositionedObject'-    { _poSuggestedPositionedObjectPropertiesChanges = Nothing-    , _poPositionedObjectProperties = Nothing-    , _poSuggestedInsertionId = Nothing-    , _poObjectId = Nothing-    , _poSuggestedDeletionIds = Nothing-    }----- | The suggested changes to the positioned object properties, keyed by--- suggestion ID.-poSuggestedPositionedObjectPropertiesChanges :: Lens' PositionedObject (Maybe PositionedObjectSuggestedPositionedObjectPropertiesChanges)-poSuggestedPositionedObjectPropertiesChanges-  = lens _poSuggestedPositionedObjectPropertiesChanges-      (\ s a ->-         s{_poSuggestedPositionedObjectPropertiesChanges = a})---- | The properties of this positioned object.-poPositionedObjectProperties :: Lens' PositionedObject (Maybe PositionedObjectProperties)-poPositionedObjectProperties-  = lens _poPositionedObjectProperties-      (\ s a -> s{_poPositionedObjectProperties = a})---- | The suggested insertion ID. If empty, then this is not a suggested--- insertion.-poSuggestedInsertionId :: Lens' PositionedObject (Maybe Text)-poSuggestedInsertionId-  = lens _poSuggestedInsertionId-      (\ s a -> s{_poSuggestedInsertionId = a})---- | The ID of this positioned object.-poObjectId :: Lens' PositionedObject (Maybe Text)-poObjectId-  = lens _poObjectId (\ s a -> s{_poObjectId = a})---- | The suggested deletion IDs. If empty, then there are no suggested--- deletions of this content.-poSuggestedDeletionIds :: Lens' PositionedObject [Text]-poSuggestedDeletionIds-  = lens _poSuggestedDeletionIds-      (\ s a -> s{_poSuggestedDeletionIds = a})-      . _Default-      . _Coerce--instance FromJSON PositionedObject where-        parseJSON-          = withObject "PositionedObject"-              (\ o ->-                 PositionedObject' <$>-                   (o .:? "suggestedPositionedObjectPropertiesChanges")-                     <*> (o .:? "positionedObjectProperties")-                     <*> (o .:? "suggestedInsertionId")-                     <*> (o .:? "objectId")-                     <*> (o .:? "suggestedDeletionIds" .!= mempty))--instance ToJSON PositionedObject where-        toJSON PositionedObject'{..}-          = object-              (catMaybes-                 [("suggestedPositionedObjectPropertiesChanges" .=)-                    <$> _poSuggestedPositionedObjectPropertiesChanges,-                  ("positionedObjectProperties" .=) <$>-                    _poPositionedObjectProperties,-                  ("suggestedInsertionId" .=) <$>-                    _poSuggestedInsertionId,-                  ("objectId" .=) <$> _poObjectId,-                  ("suggestedDeletionIds" .=) <$>-                    _poSuggestedDeletionIds])---- | A collection of object IDs.------ /See:/ 'objectReferences' smart constructor.-newtype ObjectReferences =-  ObjectReferences'-    { _orObjectIds :: Maybe [Text]-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ObjectReferences' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'orObjectIds'-objectReferences-    :: ObjectReferences-objectReferences = ObjectReferences' {_orObjectIds = Nothing}----- | The object IDs.-orObjectIds :: Lens' ObjectReferences [Text]-orObjectIds-  = lens _orObjectIds (\ s a -> s{_orObjectIds = a}) .-      _Default-      . _Coerce--instance FromJSON ObjectReferences where-        parseJSON-          = withObject "ObjectReferences"-              (\ o ->-                 ObjectReferences' <$> (o .:? "objectIds" .!= mempty))--instance ToJSON ObjectReferences where-        toJSON ObjectReferences'{..}-          = object-              (catMaybes [("objectIds" .=) <$> _orObjectIds])---- | A mask that indicates which of the fields on the base Bullet have been--- changed in this suggestion. For any field set to true, there is a new--- suggested value.------ /See:/ 'bulletSuggestionState' smart constructor.-data BulletSuggestionState =-  BulletSuggestionState'-    { _bssNestingLevelSuggested    :: !(Maybe Bool)-    , _bssListIdSuggested          :: !(Maybe Bool)-    , _bssTextStyleSuggestionState :: !(Maybe TextStyleSuggestionState)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'BulletSuggestionState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bssNestingLevelSuggested'------ * 'bssListIdSuggested'------ * 'bssTextStyleSuggestionState'-bulletSuggestionState-    :: BulletSuggestionState-bulletSuggestionState =-  BulletSuggestionState'-    { _bssNestingLevelSuggested = Nothing-    , _bssListIdSuggested = Nothing-    , _bssTextStyleSuggestionState = Nothing-    }----- | Indicates if there was a suggested change to the nesting_level.-bssNestingLevelSuggested :: Lens' BulletSuggestionState (Maybe Bool)-bssNestingLevelSuggested-  = lens _bssNestingLevelSuggested-      (\ s a -> s{_bssNestingLevelSuggested = a})---- | Indicates if there was a suggested change to the list_id.-bssListIdSuggested :: Lens' BulletSuggestionState (Maybe Bool)-bssListIdSuggested-  = lens _bssListIdSuggested-      (\ s a -> s{_bssListIdSuggested = a})---- | A mask that indicates which of the fields in text style have been--- changed in this suggestion.-bssTextStyleSuggestionState :: Lens' BulletSuggestionState (Maybe TextStyleSuggestionState)-bssTextStyleSuggestionState-  = lens _bssTextStyleSuggestionState-      (\ s a -> s{_bssTextStyleSuggestionState = a})--instance FromJSON BulletSuggestionState where-        parseJSON-          = withObject "BulletSuggestionState"-              (\ o ->-                 BulletSuggestionState' <$>-                   (o .:? "nestingLevelSuggested") <*>-                     (o .:? "listIdSuggested")-                     <*> (o .:? "textStyleSuggestionState"))--instance ToJSON BulletSuggestionState where-        toJSON BulletSuggestionState'{..}-          = object-              (catMaybes-                 [("nestingLevelSuggested" .=) <$>-                    _bssNestingLevelSuggested,-                  ("listIdSuggested" .=) <$> _bssListIdSuggested,-                  ("textStyleSuggestionState" .=) <$>-                    _bssTextStyleSuggestionState])---- | A mask that indicates which of the fields on the base ImageProperties--- have been changed in this suggestion. For any field set to true, there--- is a new suggested value.------ /See:/ 'imagePropertiesSuggestionState' smart constructor.-data ImagePropertiesSuggestionState =-  ImagePropertiesSuggestionState'-    { _ipssAngleSuggested                :: !(Maybe Bool)-    , _ipssContrastSuggested             :: !(Maybe Bool)-    , _ipssContentURISuggested           :: !(Maybe Bool)-    , _ipssSourceURISuggested            :: !(Maybe Bool)-    , _ipssCropPropertiesSuggestionState :: !(Maybe CropPropertiesSuggestionState)-    , _ipssBrightnessSuggested           :: !(Maybe Bool)-    , _ipssTransparencySuggested         :: !(Maybe Bool)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ImagePropertiesSuggestionState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ipssAngleSuggested'------ * 'ipssContrastSuggested'------ * 'ipssContentURISuggested'------ * 'ipssSourceURISuggested'------ * 'ipssCropPropertiesSuggestionState'------ * 'ipssBrightnessSuggested'------ * 'ipssTransparencySuggested'-imagePropertiesSuggestionState-    :: ImagePropertiesSuggestionState-imagePropertiesSuggestionState =-  ImagePropertiesSuggestionState'-    { _ipssAngleSuggested = Nothing-    , _ipssContrastSuggested = Nothing-    , _ipssContentURISuggested = Nothing-    , _ipssSourceURISuggested = Nothing-    , _ipssCropPropertiesSuggestionState = Nothing-    , _ipssBrightnessSuggested = Nothing-    , _ipssTransparencySuggested = Nothing-    }----- | Indicates if there was a suggested change to angle.-ipssAngleSuggested :: Lens' ImagePropertiesSuggestionState (Maybe Bool)-ipssAngleSuggested-  = lens _ipssAngleSuggested-      (\ s a -> s{_ipssAngleSuggested = a})---- | Indicates if there was a suggested change to contrast.-ipssContrastSuggested :: Lens' ImagePropertiesSuggestionState (Maybe Bool)-ipssContrastSuggested-  = lens _ipssContrastSuggested-      (\ s a -> s{_ipssContrastSuggested = a})---- | Indicates if there was a suggested change to content_uri.-ipssContentURISuggested :: Lens' ImagePropertiesSuggestionState (Maybe Bool)-ipssContentURISuggested-  = lens _ipssContentURISuggested-      (\ s a -> s{_ipssContentURISuggested = a})---- | Indicates if there was a suggested change to source_uri.-ipssSourceURISuggested :: Lens' ImagePropertiesSuggestionState (Maybe Bool)-ipssSourceURISuggested-  = lens _ipssSourceURISuggested-      (\ s a -> s{_ipssSourceURISuggested = a})---- | A mask that indicates which of the fields in crop_properties have been--- changed in this suggestion.-ipssCropPropertiesSuggestionState :: Lens' ImagePropertiesSuggestionState (Maybe CropPropertiesSuggestionState)-ipssCropPropertiesSuggestionState-  = lens _ipssCropPropertiesSuggestionState-      (\ s a -> s{_ipssCropPropertiesSuggestionState = a})---- | Indicates if there was a suggested change to brightness.-ipssBrightnessSuggested :: Lens' ImagePropertiesSuggestionState (Maybe Bool)-ipssBrightnessSuggested-  = lens _ipssBrightnessSuggested-      (\ s a -> s{_ipssBrightnessSuggested = a})---- | Indicates if there was a suggested change to transparency.-ipssTransparencySuggested :: Lens' ImagePropertiesSuggestionState (Maybe Bool)-ipssTransparencySuggested-  = lens _ipssTransparencySuggested-      (\ s a -> s{_ipssTransparencySuggested = a})--instance FromJSON ImagePropertiesSuggestionState-         where-        parseJSON-          = withObject "ImagePropertiesSuggestionState"-              (\ o ->-                 ImagePropertiesSuggestionState' <$>-                   (o .:? "angleSuggested") <*>-                     (o .:? "contrastSuggested")-                     <*> (o .:? "contentUriSuggested")-                     <*> (o .:? "sourceUriSuggested")-                     <*> (o .:? "cropPropertiesSuggestionState")-                     <*> (o .:? "brightnessSuggested")-                     <*> (o .:? "transparencySuggested"))--instance ToJSON ImagePropertiesSuggestionState where-        toJSON ImagePropertiesSuggestionState'{..}-          = object-              (catMaybes-                 [("angleSuggested" .=) <$> _ipssAngleSuggested,-                  ("contrastSuggested" .=) <$> _ipssContrastSuggested,-                  ("contentUriSuggested" .=) <$>-                    _ipssContentURISuggested,-                  ("sourceUriSuggested" .=) <$>-                    _ipssSourceURISuggested,-                  ("cropPropertiesSuggestionState" .=) <$>-                    _ipssCropPropertiesSuggestionState,-                  ("brightnessSuggested" .=) <$>-                    _ipssBrightnessSuggested,-                  ("transparencySuggested" .=) <$>-                    _ipssTransparencySuggested])---- | A mask that indicates which of the fields on the base Shading have been--- changed in this suggested change. For any field set to true, there is a--- new suggested value.------ /See:/ 'shadingSuggestionState' smart constructor.-newtype ShadingSuggestionState =-  ShadingSuggestionState'-    { _sssBackgRoundColorSuggested :: Maybe Bool-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ShadingSuggestionState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sssBackgRoundColorSuggested'-shadingSuggestionState-    :: ShadingSuggestionState-shadingSuggestionState =-  ShadingSuggestionState' {_sssBackgRoundColorSuggested = Nothing}----- | Indicates if there was a suggested change to the Shading.-sssBackgRoundColorSuggested :: Lens' ShadingSuggestionState (Maybe Bool)-sssBackgRoundColorSuggested-  = lens _sssBackgRoundColorSuggested-      (\ s a -> s{_sssBackgRoundColorSuggested = a})--instance FromJSON ShadingSuggestionState where-        parseJSON-          = withObject "ShadingSuggestionState"-              (\ o ->-                 ShadingSuggestionState' <$>-                   (o .:? "backgroundColorSuggested"))--instance ToJSON ShadingSuggestionState where-        toJSON ShadingSuggestionState'{..}-          = object-              (catMaybes-                 [("backgroundColorSuggested" .=) <$>-                    _sssBackgRoundColorSuggested])---- | The suggested changes to the named styles of the document, keyed by--- suggestion ID.------ /See:/ 'documentSuggestedNamedStylesChanges' smart constructor.-newtype DocumentSuggestedNamedStylesChanges =-  DocumentSuggestedNamedStylesChanges'-    { _dsnscAddtional :: HashMap Text SuggestedNamedStyles-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DocumentSuggestedNamedStylesChanges' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dsnscAddtional'-documentSuggestedNamedStylesChanges-    :: HashMap Text SuggestedNamedStyles -- ^ 'dsnscAddtional'-    -> DocumentSuggestedNamedStylesChanges-documentSuggestedNamedStylesChanges pDsnscAddtional_ =-  DocumentSuggestedNamedStylesChanges'-    {_dsnscAddtional = _Coerce # pDsnscAddtional_}---dsnscAddtional :: Lens' DocumentSuggestedNamedStylesChanges (HashMap Text SuggestedNamedStyles)-dsnscAddtional-  = lens _dsnscAddtional-      (\ s a -> s{_dsnscAddtional = a})-      . _Coerce--instance FromJSON DocumentSuggestedNamedStylesChanges-         where-        parseJSON-          = withObject "DocumentSuggestedNamedStylesChanges"-              (\ o ->-                 DocumentSuggestedNamedStylesChanges' <$>-                   (parseJSONObject o))--instance ToJSON DocumentSuggestedNamedStylesChanges-         where-        toJSON = toJSON . _dsnscAddtional---- | The contents and style of a cell in a Table.------ /See:/ 'tableCell' smart constructor.-data TableCell =-  TableCell'-    { _tcSuggestedInsertionIds          :: !(Maybe [Text])-    , _tcSuggestedTableCellStyleChanges :: !(Maybe TableCellSuggestedTableCellStyleChanges)-    , _tcEndIndex                       :: !(Maybe (Textual Int32))-    , _tcContent                        :: !(Maybe [StructuralElement])-    , _tcTableCellStyle                 :: !(Maybe TableCellStyle)-    , _tcSuggestedDeletionIds           :: !(Maybe [Text])-    , _tcStartIndex                     :: !(Maybe (Textual Int32))-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'TableCell' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tcSuggestedInsertionIds'------ * 'tcSuggestedTableCellStyleChanges'------ * 'tcEndIndex'------ * 'tcContent'------ * 'tcTableCellStyle'------ * 'tcSuggestedDeletionIds'------ * 'tcStartIndex'-tableCell-    :: TableCell-tableCell =-  TableCell'-    { _tcSuggestedInsertionIds = Nothing-    , _tcSuggestedTableCellStyleChanges = Nothing-    , _tcEndIndex = Nothing-    , _tcContent = Nothing-    , _tcTableCellStyle = Nothing-    , _tcSuggestedDeletionIds = Nothing-    , _tcStartIndex = Nothing-    }----- | The suggested insertion IDs. A TableCell may have multiple insertion IDs--- if it is a nested suggested change. If empty, then this is not a--- suggested insertion.-tcSuggestedInsertionIds :: Lens' TableCell [Text]-tcSuggestedInsertionIds-  = lens _tcSuggestedInsertionIds-      (\ s a -> s{_tcSuggestedInsertionIds = a})-      . _Default-      . _Coerce---- | The suggested changes to the table cell style, keyed by suggestion ID.-tcSuggestedTableCellStyleChanges :: Lens' TableCell (Maybe TableCellSuggestedTableCellStyleChanges)-tcSuggestedTableCellStyleChanges-  = lens _tcSuggestedTableCellStyleChanges-      (\ s a -> s{_tcSuggestedTableCellStyleChanges = a})---- | The zero-based end index of this cell, exclusive, in UTF-16 code units.-tcEndIndex :: Lens' TableCell (Maybe Int32)-tcEndIndex-  = lens _tcEndIndex (\ s a -> s{_tcEndIndex = a}) .-      mapping _Coerce---- | The content of the cell.-tcContent :: Lens' TableCell [StructuralElement]-tcContent-  = lens _tcContent (\ s a -> s{_tcContent = a}) .-      _Default-      . _Coerce---- | The style of the cell.-tcTableCellStyle :: Lens' TableCell (Maybe TableCellStyle)-tcTableCellStyle-  = lens _tcTableCellStyle-      (\ s a -> s{_tcTableCellStyle = a})---- | The suggested deletion IDs. If empty, then there are no suggested--- deletions of this content.-tcSuggestedDeletionIds :: Lens' TableCell [Text]-tcSuggestedDeletionIds-  = lens _tcSuggestedDeletionIds-      (\ s a -> s{_tcSuggestedDeletionIds = a})-      . _Default-      . _Coerce---- | The zero-based start index of this cell, in UTF-16 code units.-tcStartIndex :: Lens' TableCell (Maybe Int32)-tcStartIndex-  = lens _tcStartIndex (\ s a -> s{_tcStartIndex = a})-      . mapping _Coerce--instance FromJSON TableCell where-        parseJSON-          = withObject "TableCell"-              (\ o ->-                 TableCell' <$>-                   (o .:? "suggestedInsertionIds" .!= mempty) <*>-                     (o .:? "suggestedTableCellStyleChanges")-                     <*> (o .:? "endIndex")-                     <*> (o .:? "content" .!= mempty)-                     <*> (o .:? "tableCellStyle")-                     <*> (o .:? "suggestedDeletionIds" .!= mempty)-                     <*> (o .:? "startIndex"))--instance ToJSON TableCell where-        toJSON TableCell'{..}-          = object-              (catMaybes-                 [("suggestedInsertionIds" .=) <$>-                    _tcSuggestedInsertionIds,-                  ("suggestedTableCellStyleChanges" .=) <$>-                    _tcSuggestedTableCellStyleChanges,-                  ("endIndex" .=) <$> _tcEndIndex,-                  ("content" .=) <$> _tcContent,-                  ("tableCellStyle" .=) <$> _tcTableCellStyle,-                  ("suggestedDeletionIds" .=) <$>-                    _tcSuggestedDeletionIds,-                  ("startIndex" .=) <$> _tcStartIndex])---- | A mask that indicates which of the fields on the base--- SheetsChartReference have been changed in this suggestion. For any field--- set to true, there is a new suggested value.------ /See:/ 'sheetsChartReferenceSuggestionState' smart constructor.-data SheetsChartReferenceSuggestionState =-  SheetsChartReferenceSuggestionState'-    { _scrssChartIdSuggested       :: !(Maybe Bool)-    , _scrssSpreadsheetIdSuggested :: !(Maybe Bool)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SheetsChartReferenceSuggestionState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'scrssChartIdSuggested'------ * 'scrssSpreadsheetIdSuggested'-sheetsChartReferenceSuggestionState-    :: SheetsChartReferenceSuggestionState-sheetsChartReferenceSuggestionState =-  SheetsChartReferenceSuggestionState'-    {_scrssChartIdSuggested = Nothing, _scrssSpreadsheetIdSuggested = Nothing}----- | Indicates if there was a suggested change to chart_id.-scrssChartIdSuggested :: Lens' SheetsChartReferenceSuggestionState (Maybe Bool)-scrssChartIdSuggested-  = lens _scrssChartIdSuggested-      (\ s a -> s{_scrssChartIdSuggested = a})---- | Indicates if there was a suggested change to spreadsheet_id.-scrssSpreadsheetIdSuggested :: Lens' SheetsChartReferenceSuggestionState (Maybe Bool)-scrssSpreadsheetIdSuggested-  = lens _scrssSpreadsheetIdSuggested-      (\ s a -> s{_scrssSpreadsheetIdSuggested = a})--instance FromJSON SheetsChartReferenceSuggestionState-         where-        parseJSON-          = withObject "SheetsChartReferenceSuggestionState"-              (\ o ->-                 SheetsChartReferenceSuggestionState' <$>-                   (o .:? "chartIdSuggested") <*>-                     (o .:? "spreadsheetIdSuggested"))--instance ToJSON SheetsChartReferenceSuggestionState-         where-        toJSON SheetsChartReferenceSuggestionState'{..}-          = object-              (catMaybes-                 [("chartIdSuggested" .=) <$> _scrssChartIdSuggested,-                  ("spreadsheetIdSuggested" .=) <$>-                    _scrssSpreadsheetIdSuggested])---- | A ParagraphElement describes content within a Paragraph.------ /See:/ 'paragraphElement' smart constructor.-data ParagraphElement =-  ParagraphElement'-    { _peAutoText            :: !(Maybe AutoText)-    , _peEndIndex            :: !(Maybe (Textual Int32))-    , _peFootNoteReference   :: !(Maybe FootNoteReference)-    , _peColumnBreak         :: !(Maybe ColumnBreak)-    , _peTextRun             :: !(Maybe TextRun)-    , _peEquation            :: !(Maybe Equation)-    , _pePageBreak           :: !(Maybe PageBreak)-    , _peInlineObjectElement :: !(Maybe InlineObjectElement)-    , _peHorizontalRule      :: !(Maybe HorizontalRule)-    , _peStartIndex          :: !(Maybe (Textual Int32))-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ParagraphElement' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'peAutoText'------ * 'peEndIndex'------ * 'peFootNoteReference'------ * 'peColumnBreak'------ * 'peTextRun'------ * 'peEquation'------ * 'pePageBreak'------ * 'peInlineObjectElement'------ * 'peHorizontalRule'------ * 'peStartIndex'-paragraphElement-    :: ParagraphElement-paragraphElement =-  ParagraphElement'-    { _peAutoText = Nothing-    , _peEndIndex = Nothing-    , _peFootNoteReference = Nothing-    , _peColumnBreak = Nothing-    , _peTextRun = Nothing-    , _peEquation = Nothing-    , _pePageBreak = Nothing-    , _peInlineObjectElement = Nothing-    , _peHorizontalRule = Nothing-    , _peStartIndex = Nothing-    }----- | An auto text paragraph element.-peAutoText :: Lens' ParagraphElement (Maybe AutoText)-peAutoText-  = lens _peAutoText (\ s a -> s{_peAutoText = a})---- | The zero-base end index of this paragraph element, exclusive, in UTF-16--- code units.-peEndIndex :: Lens' ParagraphElement (Maybe Int32)-peEndIndex-  = lens _peEndIndex (\ s a -> s{_peEndIndex = a}) .-      mapping _Coerce---- | A footnote reference paragraph element.-peFootNoteReference :: Lens' ParagraphElement (Maybe FootNoteReference)-peFootNoteReference-  = lens _peFootNoteReference-      (\ s a -> s{_peFootNoteReference = a})---- | A column break paragraph element.-peColumnBreak :: Lens' ParagraphElement (Maybe ColumnBreak)-peColumnBreak-  = lens _peColumnBreak-      (\ s a -> s{_peColumnBreak = a})---- | A text run paragraph element.-peTextRun :: Lens' ParagraphElement (Maybe TextRun)-peTextRun-  = lens _peTextRun (\ s a -> s{_peTextRun = a})---- | An equation paragraph element.-peEquation :: Lens' ParagraphElement (Maybe Equation)-peEquation-  = lens _peEquation (\ s a -> s{_peEquation = a})---- | A page break paragraph element.-pePageBreak :: Lens' ParagraphElement (Maybe PageBreak)-pePageBreak-  = lens _pePageBreak (\ s a -> s{_pePageBreak = a})---- | An inline object paragraph element.-peInlineObjectElement :: Lens' ParagraphElement (Maybe InlineObjectElement)-peInlineObjectElement-  = lens _peInlineObjectElement-      (\ s a -> s{_peInlineObjectElement = a})---- | A horizontal rule paragraph element.-peHorizontalRule :: Lens' ParagraphElement (Maybe HorizontalRule)-peHorizontalRule-  = lens _peHorizontalRule-      (\ s a -> s{_peHorizontalRule = a})---- | The zero-based start index of this paragraph element, in UTF-16 code--- units.-peStartIndex :: Lens' ParagraphElement (Maybe Int32)-peStartIndex-  = lens _peStartIndex (\ s a -> s{_peStartIndex = a})-      . mapping _Coerce--instance FromJSON ParagraphElement where-        parseJSON-          = withObject "ParagraphElement"-              (\ o ->-                 ParagraphElement' <$>-                   (o .:? "autoText") <*> (o .:? "endIndex") <*>-                     (o .:? "footnoteReference")-                     <*> (o .:? "columnBreak")-                     <*> (o .:? "textRun")-                     <*> (o .:? "equation")-                     <*> (o .:? "pageBreak")-                     <*> (o .:? "inlineObjectElement")-                     <*> (o .:? "horizontalRule")-                     <*> (o .:? "startIndex"))--instance ToJSON ParagraphElement where-        toJSON ParagraphElement'{..}-          = object-              (catMaybes-                 [("autoText" .=) <$> _peAutoText,-                  ("endIndex" .=) <$> _peEndIndex,-                  ("footnoteReference" .=) <$> _peFootNoteReference,-                  ("columnBreak" .=) <$> _peColumnBreak,-                  ("textRun" .=) <$> _peTextRun,-                  ("equation" .=) <$> _peEquation,-                  ("pageBreak" .=) <$> _pePageBreak,-                  ("inlineObjectElement" .=) <$>-                    _peInlineObjectElement,-                  ("horizontalRule" .=) <$> _peHorizontalRule,-                  ("startIndex" .=) <$> _peStartIndex])---- | A ParagraphElement representing a horizontal line.------ /See:/ 'horizontalRule' smart constructor.-data HorizontalRule =-  HorizontalRule'-    { _hrSuggestedInsertionIds     :: !(Maybe [Text])-    , _hrSuggestedTextStyleChanges :: !(Maybe HorizontalRuleSuggestedTextStyleChanges)-    , _hrSuggestedDeletionIds      :: !(Maybe [Text])-    , _hrTextStyle                 :: !(Maybe TextStyle)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'HorizontalRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'hrSuggestedInsertionIds'------ * 'hrSuggestedTextStyleChanges'------ * 'hrSuggestedDeletionIds'------ * 'hrTextStyle'-horizontalRule-    :: HorizontalRule-horizontalRule =-  HorizontalRule'-    { _hrSuggestedInsertionIds = Nothing-    , _hrSuggestedTextStyleChanges = Nothing-    , _hrSuggestedDeletionIds = Nothing-    , _hrTextStyle = Nothing-    }----- | The suggested insertion IDs. A HorizontalRule may have multiple--- insertion IDs if it is a nested suggested change. If empty, then this is--- not a suggested insertion.-hrSuggestedInsertionIds :: Lens' HorizontalRule [Text]-hrSuggestedInsertionIds-  = lens _hrSuggestedInsertionIds-      (\ s a -> s{_hrSuggestedInsertionIds = a})-      . _Default-      . _Coerce---- | The suggested text style changes to this HorizontalRule, keyed by--- suggestion ID.-hrSuggestedTextStyleChanges :: Lens' HorizontalRule (Maybe HorizontalRuleSuggestedTextStyleChanges)-hrSuggestedTextStyleChanges-  = lens _hrSuggestedTextStyleChanges-      (\ s a -> s{_hrSuggestedTextStyleChanges = a})---- | The suggested deletion IDs. If empty, then there are no suggested--- deletions of this content.-hrSuggestedDeletionIds :: Lens' HorizontalRule [Text]-hrSuggestedDeletionIds-  = lens _hrSuggestedDeletionIds-      (\ s a -> s{_hrSuggestedDeletionIds = a})-      . _Default-      . _Coerce---- | The text style of this HorizontalRule. Similar to text content, like--- text runs and footnote references, the text style of a horizontal rule--- can affect content layout as well as the styling of text inserted--- adjacent to it.-hrTextStyle :: Lens' HorizontalRule (Maybe TextStyle)-hrTextStyle-  = lens _hrTextStyle (\ s a -> s{_hrTextStyle = a})--instance FromJSON HorizontalRule where-        parseJSON-          = withObject "HorizontalRule"-              (\ o ->-                 HorizontalRule' <$>-                   (o .:? "suggestedInsertionIds" .!= mempty) <*>-                     (o .:? "suggestedTextStyleChanges")-                     <*> (o .:? "suggestedDeletionIds" .!= mempty)-                     <*> (o .:? "textStyle"))--instance ToJSON HorizontalRule where-        toJSON HorizontalRule'{..}-          = object-              (catMaybes-                 [("suggestedInsertionIds" .=) <$>-                    _hrSuggestedInsertionIds,-                  ("suggestedTextStyleChanges" .=) <$>-                    _hrSuggestedTextStyleChanges,-                  ("suggestedDeletionIds" .=) <$>-                    _hrSuggestedDeletionIds,-                  ("textStyle" .=) <$> _hrTextStyle])---- | A mask that indicates which of the fields on the base EmbeddedObject--- have been changed in this suggestion. For any field set to true, there--- is a new suggested value.------ /See:/ 'embeddedObjectSuggestionState' smart constructor.-data EmbeddedObjectSuggestionState =-  EmbeddedObjectSuggestionState'-    { _eossEmbeddedObjectBOrderSuggestionState      :: !(Maybe EmbeddedObjectBOrderSuggestionState)-    , _eossEmbeddedDrawingPropertiesSuggestionState :: !(Maybe EmbeddedDrawingPropertiesSuggestionState)-    , _eossTitleSuggested                           :: !(Maybe Bool)-    , _eossMarginTopSuggested                       :: !(Maybe Bool)-    , _eossSizeSuggestionState                      :: !(Maybe SizeSuggestionState)-    , _eossMarginBottomSuggested                    :: !(Maybe Bool)-    , _eossImagePropertiesSuggestionState           :: !(Maybe ImagePropertiesSuggestionState)-    , _eossMarginLeftSuggested                      :: !(Maybe Bool)-    , _eossLinkedContentReferenceSuggestionState    :: !(Maybe LinkedContentReferenceSuggestionState)-    , _eossDescriptionSuggested                     :: !(Maybe Bool)-    , _eossMarginRightSuggested                     :: !(Maybe Bool)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'EmbeddedObjectSuggestionState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eossEmbeddedObjectBOrderSuggestionState'------ * 'eossEmbeddedDrawingPropertiesSuggestionState'------ * 'eossTitleSuggested'------ * 'eossMarginTopSuggested'------ * 'eossSizeSuggestionState'------ * 'eossMarginBottomSuggested'------ * 'eossImagePropertiesSuggestionState'------ * 'eossMarginLeftSuggested'------ * 'eossLinkedContentReferenceSuggestionState'------ * 'eossDescriptionSuggested'------ * 'eossMarginRightSuggested'-embeddedObjectSuggestionState-    :: EmbeddedObjectSuggestionState-embeddedObjectSuggestionState =-  EmbeddedObjectSuggestionState'-    { _eossEmbeddedObjectBOrderSuggestionState = Nothing-    , _eossEmbeddedDrawingPropertiesSuggestionState = Nothing-    , _eossTitleSuggested = Nothing-    , _eossMarginTopSuggested = Nothing-    , _eossSizeSuggestionState = Nothing-    , _eossMarginBottomSuggested = Nothing-    , _eossImagePropertiesSuggestionState = Nothing-    , _eossMarginLeftSuggested = Nothing-    , _eossLinkedContentReferenceSuggestionState = Nothing-    , _eossDescriptionSuggested = Nothing-    , _eossMarginRightSuggested = Nothing-    }----- | A mask that indicates which of the fields in embedded_object_border have--- been changed in this suggestion.-eossEmbeddedObjectBOrderSuggestionState :: Lens' EmbeddedObjectSuggestionState (Maybe EmbeddedObjectBOrderSuggestionState)-eossEmbeddedObjectBOrderSuggestionState-  = lens _eossEmbeddedObjectBOrderSuggestionState-      (\ s a ->-         s{_eossEmbeddedObjectBOrderSuggestionState = a})---- | A mask that indicates which of the fields in embedded_drawing_properties--- have been changed in this suggestion.-eossEmbeddedDrawingPropertiesSuggestionState :: Lens' EmbeddedObjectSuggestionState (Maybe EmbeddedDrawingPropertiesSuggestionState)-eossEmbeddedDrawingPropertiesSuggestionState-  = lens _eossEmbeddedDrawingPropertiesSuggestionState-      (\ s a ->-         s{_eossEmbeddedDrawingPropertiesSuggestionState = a})---- | Indicates if there was a suggested change to title.-eossTitleSuggested :: Lens' EmbeddedObjectSuggestionState (Maybe Bool)-eossTitleSuggested-  = lens _eossTitleSuggested-      (\ s a -> s{_eossTitleSuggested = a})---- | Indicates if there was a suggested change to margin_top.-eossMarginTopSuggested :: Lens' EmbeddedObjectSuggestionState (Maybe Bool)-eossMarginTopSuggested-  = lens _eossMarginTopSuggested-      (\ s a -> s{_eossMarginTopSuggested = a})---- | A mask that indicates which of the fields in size have been changed in--- this suggestion.-eossSizeSuggestionState :: Lens' EmbeddedObjectSuggestionState (Maybe SizeSuggestionState)-eossSizeSuggestionState-  = lens _eossSizeSuggestionState-      (\ s a -> s{_eossSizeSuggestionState = a})---- | Indicates if there was a suggested change to margin_bottom.-eossMarginBottomSuggested :: Lens' EmbeddedObjectSuggestionState (Maybe Bool)-eossMarginBottomSuggested-  = lens _eossMarginBottomSuggested-      (\ s a -> s{_eossMarginBottomSuggested = a})---- | A mask that indicates which of the fields in image_properties have been--- changed in this suggestion.-eossImagePropertiesSuggestionState :: Lens' EmbeddedObjectSuggestionState (Maybe ImagePropertiesSuggestionState)-eossImagePropertiesSuggestionState-  = lens _eossImagePropertiesSuggestionState-      (\ s a -> s{_eossImagePropertiesSuggestionState = a})---- | Indicates if there was a suggested change to margin_left.-eossMarginLeftSuggested :: Lens' EmbeddedObjectSuggestionState (Maybe Bool)-eossMarginLeftSuggested-  = lens _eossMarginLeftSuggested-      (\ s a -> s{_eossMarginLeftSuggested = a})---- | A mask that indicates which of the fields in linked_content_reference--- have been changed in this suggestion.-eossLinkedContentReferenceSuggestionState :: Lens' EmbeddedObjectSuggestionState (Maybe LinkedContentReferenceSuggestionState)-eossLinkedContentReferenceSuggestionState-  = lens _eossLinkedContentReferenceSuggestionState-      (\ s a ->-         s{_eossLinkedContentReferenceSuggestionState = a})---- | Indicates if there was a suggested change to description.-eossDescriptionSuggested :: Lens' EmbeddedObjectSuggestionState (Maybe Bool)-eossDescriptionSuggested-  = lens _eossDescriptionSuggested-      (\ s a -> s{_eossDescriptionSuggested = a})---- | Indicates if there was a suggested change to margin_right.-eossMarginRightSuggested :: Lens' EmbeddedObjectSuggestionState (Maybe Bool)-eossMarginRightSuggested-  = lens _eossMarginRightSuggested-      (\ s a -> s{_eossMarginRightSuggested = a})--instance FromJSON EmbeddedObjectSuggestionState where-        parseJSON-          = withObject "EmbeddedObjectSuggestionState"-              (\ o ->-                 EmbeddedObjectSuggestionState' <$>-                   (o .:? "embeddedObjectBorderSuggestionState") <*>-                     (o .:? "embeddedDrawingPropertiesSuggestionState")-                     <*> (o .:? "titleSuggested")-                     <*> (o .:? "marginTopSuggested")-                     <*> (o .:? "sizeSuggestionState")-                     <*> (o .:? "marginBottomSuggested")-                     <*> (o .:? "imagePropertiesSuggestionState")-                     <*> (o .:? "marginLeftSuggested")-                     <*> (o .:? "linkedContentReferenceSuggestionState")-                     <*> (o .:? "descriptionSuggested")-                     <*> (o .:? "marginRightSuggested"))--instance ToJSON EmbeddedObjectSuggestionState where-        toJSON EmbeddedObjectSuggestionState'{..}-          = object-              (catMaybes-                 [("embeddedObjectBorderSuggestionState" .=) <$>-                    _eossEmbeddedObjectBOrderSuggestionState,-                  ("embeddedDrawingPropertiesSuggestionState" .=) <$>-                    _eossEmbeddedDrawingPropertiesSuggestionState,-                  ("titleSuggested" .=) <$> _eossTitleSuggested,-                  ("marginTopSuggested" .=) <$>-                    _eossMarginTopSuggested,-                  ("sizeSuggestionState" .=) <$>-                    _eossSizeSuggestionState,-                  ("marginBottomSuggested" .=) <$>-                    _eossMarginBottomSuggested,-                  ("imagePropertiesSuggestionState" .=) <$>-                    _eossImagePropertiesSuggestionState,-                  ("marginLeftSuggested" .=) <$>-                    _eossMarginLeftSuggested,-                  ("linkedContentReferenceSuggestionState" .=) <$>-                    _eossLinkedContentReferenceSuggestionState,-                  ("descriptionSuggested" .=) <$>-                    _eossDescriptionSuggested,-                  ("marginRightSuggested" .=) <$>-                    _eossMarginRightSuggested])---- | Inserts a table at the specified location. A newline character will be--- inserted before the inserted table.------ /See:/ 'insertTableRequest' smart constructor.-data InsertTableRequest =-  InsertTableRequest'-    { _itrLocation             :: !(Maybe Location)-    , _itrEndOfSegmentLocation :: !(Maybe EndOfSegmentLocation)-    , _itrRows                 :: !(Maybe (Textual Int32))-    , _itrColumns              :: !(Maybe (Textual Int32))-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'InsertTableRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'itrLocation'------ * 'itrEndOfSegmentLocation'------ * 'itrRows'------ * 'itrColumns'-insertTableRequest-    :: InsertTableRequest-insertTableRequest =-  InsertTableRequest'-    { _itrLocation = Nothing-    , _itrEndOfSegmentLocation = Nothing-    , _itrRows = Nothing-    , _itrColumns = Nothing-    }----- | Inserts the table at a specific model index. A newline character will be--- inserted before the inserted table, therefore the table start index will--- be at the specified location index + 1. The table must be inserted--- inside the bounds of an existing Paragraph. For instance, it cannot be--- inserted at a table\'s start index (i.e. between an existing table and--- its preceding paragraph). Tables cannot be inserted inside a footnote or--- equation.-itrLocation :: Lens' InsertTableRequest (Maybe Location)-itrLocation-  = lens _itrLocation (\ s a -> s{_itrLocation = a})---- | Inserts the table at the end of the given header, footer or document--- body. A newline character will be inserted before the inserted table.--- Tables cannot be inserted inside a footnote.-itrEndOfSegmentLocation :: Lens' InsertTableRequest (Maybe EndOfSegmentLocation)-itrEndOfSegmentLocation-  = lens _itrEndOfSegmentLocation-      (\ s a -> s{_itrEndOfSegmentLocation = a})---- | The number of rows in the table.-itrRows :: Lens' InsertTableRequest (Maybe Int32)-itrRows-  = lens _itrRows (\ s a -> s{_itrRows = a}) .-      mapping _Coerce---- | The number of columns in the table.-itrColumns :: Lens' InsertTableRequest (Maybe Int32)-itrColumns-  = lens _itrColumns (\ s a -> s{_itrColumns = a}) .-      mapping _Coerce--instance FromJSON InsertTableRequest where-        parseJSON-          = withObject "InsertTableRequest"-              (\ o ->-                 InsertTableRequest' <$>-                   (o .:? "location") <*> (o .:? "endOfSegmentLocation")-                     <*> (o .:? "rows")-                     <*> (o .:? "columns"))--instance ToJSON InsertTableRequest where-        toJSON InsertTableRequest'{..}-          = object-              (catMaybes-                 [("location" .=) <$> _itrLocation,-                  ("endOfSegmentLocation" .=) <$>-                    _itrEndOfSegmentLocation,-                  ("rows" .=) <$> _itrRows,-                  ("columns" .=) <$> _itrColumns])---- | A suggested change to InlineObjectProperties.------ /See:/ 'suggestedInlineObjectProperties' smart constructor.-data SuggestedInlineObjectProperties =-  SuggestedInlineObjectProperties'-    { _siopInlineObjectProperties                :: !(Maybe InlineObjectProperties)-    , _siopInlineObjectPropertiesSuggestionState :: !(Maybe InlineObjectPropertiesSuggestionState)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SuggestedInlineObjectProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'siopInlineObjectProperties'------ * 'siopInlineObjectPropertiesSuggestionState'-suggestedInlineObjectProperties-    :: SuggestedInlineObjectProperties-suggestedInlineObjectProperties =-  SuggestedInlineObjectProperties'-    { _siopInlineObjectProperties = Nothing-    , _siopInlineObjectPropertiesSuggestionState = Nothing-    }----- | An InlineObjectProperties that only includes the changes made in this--- suggestion. This can be used along with the--- inline_object_properties_suggestion_state to see which fields have--- changed and their new values.-siopInlineObjectProperties :: Lens' SuggestedInlineObjectProperties (Maybe InlineObjectProperties)-siopInlineObjectProperties-  = lens _siopInlineObjectProperties-      (\ s a -> s{_siopInlineObjectProperties = a})---- | A mask that indicates which of the fields on the base--- InlineObjectProperties have been changed in this suggestion.-siopInlineObjectPropertiesSuggestionState :: Lens' SuggestedInlineObjectProperties (Maybe InlineObjectPropertiesSuggestionState)-siopInlineObjectPropertiesSuggestionState-  = lens _siopInlineObjectPropertiesSuggestionState-      (\ s a ->-         s{_siopInlineObjectPropertiesSuggestionState = a})--instance FromJSON SuggestedInlineObjectProperties-         where-        parseJSON-          = withObject "SuggestedInlineObjectProperties"-              (\ o ->-                 SuggestedInlineObjectProperties' <$>-                   (o .:? "inlineObjectProperties") <*>-                     (o .:? "inlineObjectPropertiesSuggestionState"))--instance ToJSON SuggestedInlineObjectProperties where-        toJSON SuggestedInlineObjectProperties'{..}-          = object-              (catMaybes-                 [("inlineObjectProperties" .=) <$>-                    _siopInlineObjectProperties,-                  ("inlineObjectPropertiesSuggestionState" .=) <$>-                    _siopInlineObjectPropertiesSuggestionState])---- | A mask that indicates which of the fields on the base--- LinkedContentReference have been changed in this suggestion. For any--- field set to true, there is a new suggested value.------ /See:/ 'linkedContentReferenceSuggestionState' smart constructor.-newtype LinkedContentReferenceSuggestionState =-  LinkedContentReferenceSuggestionState'-    { _lcrssSheetsChartReferenceSuggestionState :: Maybe SheetsChartReferenceSuggestionState-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'LinkedContentReferenceSuggestionState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lcrssSheetsChartReferenceSuggestionState'-linkedContentReferenceSuggestionState-    :: LinkedContentReferenceSuggestionState-linkedContentReferenceSuggestionState =-  LinkedContentReferenceSuggestionState'-    {_lcrssSheetsChartReferenceSuggestionState = Nothing}----- | A mask that indicates which of the fields in sheets_chart_reference have--- been changed in this suggestion.-lcrssSheetsChartReferenceSuggestionState :: Lens' LinkedContentReferenceSuggestionState (Maybe SheetsChartReferenceSuggestionState)-lcrssSheetsChartReferenceSuggestionState-  = lens _lcrssSheetsChartReferenceSuggestionState-      (\ s a ->-         s{_lcrssSheetsChartReferenceSuggestionState = a})--instance FromJSON-           LinkedContentReferenceSuggestionState-         where-        parseJSON-          = withObject "LinkedContentReferenceSuggestionState"-              (\ o ->-                 LinkedContentReferenceSuggestionState' <$>-                   (o .:? "sheetsChartReferenceSuggestionState"))--instance ToJSON LinkedContentReferenceSuggestionState-         where-        toJSON LinkedContentReferenceSuggestionState'{..}-          = object-              (catMaybes-                 [("sheetsChartReferenceSuggestionState" .=) <$>-                    _lcrssSheetsChartReferenceSuggestionState])---- | The suggested text style changes to this InlineObject, keyed by--- suggestion ID.------ /See:/ 'inlineObjectElementSuggestedTextStyleChanges' smart constructor.-newtype InlineObjectElementSuggestedTextStyleChanges =-  InlineObjectElementSuggestedTextStyleChanges'-    { _ioestscAddtional :: HashMap Text SuggestedTextStyle-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'InlineObjectElementSuggestedTextStyleChanges' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ioestscAddtional'-inlineObjectElementSuggestedTextStyleChanges-    :: HashMap Text SuggestedTextStyle -- ^ 'ioestscAddtional'-    -> InlineObjectElementSuggestedTextStyleChanges-inlineObjectElementSuggestedTextStyleChanges pIoestscAddtional_ =-  InlineObjectElementSuggestedTextStyleChanges'-    {_ioestscAddtional = _Coerce # pIoestscAddtional_}---ioestscAddtional :: Lens' InlineObjectElementSuggestedTextStyleChanges (HashMap Text SuggestedTextStyle)-ioestscAddtional-  = lens _ioestscAddtional-      (\ s a -> s{_ioestscAddtional = a})-      . _Coerce--instance FromJSON-           InlineObjectElementSuggestedTextStyleChanges-         where-        parseJSON-          = withObject-              "InlineObjectElementSuggestedTextStyleChanges"-              (\ o ->-                 InlineObjectElementSuggestedTextStyleChanges' <$>-                   (parseJSONObject o))--instance ToJSON-           InlineObjectElementSuggestedTextStyleChanges-         where-        toJSON = toJSON . _ioestscAddtional---- | A StructuralElement describes content that provides structure to the--- document.------ /See:/ 'structuralElement' smart constructor.-data StructuralElement =-  StructuralElement'-    { _seTableOfContents :: !(Maybe TableOfContents)-    , _seParagraph       :: !(Maybe Paragraph)-    , _seEndIndex        :: !(Maybe (Textual Int32))-    , _seTable           :: !(Maybe Table)-    , _seStartIndex      :: !(Maybe (Textual Int32))-    , _seSectionBreak    :: !(Maybe SectionBreak)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'StructuralElement' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'seTableOfContents'------ * 'seParagraph'------ * 'seEndIndex'------ * 'seTable'------ * 'seStartIndex'------ * 'seSectionBreak'-structuralElement-    :: StructuralElement-structuralElement =-  StructuralElement'-    { _seTableOfContents = Nothing-    , _seParagraph = Nothing-    , _seEndIndex = Nothing-    , _seTable = Nothing-    , _seStartIndex = Nothing-    , _seSectionBreak = Nothing-    }----- | A table of contents type of structural element.-seTableOfContents :: Lens' StructuralElement (Maybe TableOfContents)-seTableOfContents-  = lens _seTableOfContents-      (\ s a -> s{_seTableOfContents = a})---- | A paragraph type of structural element.-seParagraph :: Lens' StructuralElement (Maybe Paragraph)-seParagraph-  = lens _seParagraph (\ s a -> s{_seParagraph = a})---- | The zero-based end index of this structural element, exclusive, in--- UTF-16 code units.-seEndIndex :: Lens' StructuralElement (Maybe Int32)-seEndIndex-  = lens _seEndIndex (\ s a -> s{_seEndIndex = a}) .-      mapping _Coerce---- | A table type of structural element.-seTable :: Lens' StructuralElement (Maybe Table)-seTable = lens _seTable (\ s a -> s{_seTable = a})---- | The zero-based start index of this structural element, in UTF-16 code--- units.-seStartIndex :: Lens' StructuralElement (Maybe Int32)-seStartIndex-  = lens _seStartIndex (\ s a -> s{_seStartIndex = a})-      . mapping _Coerce---- | A section break type of structural element.-seSectionBreak :: Lens' StructuralElement (Maybe SectionBreak)-seSectionBreak-  = lens _seSectionBreak-      (\ s a -> s{_seSectionBreak = a})--instance FromJSON StructuralElement where-        parseJSON-          = withObject "StructuralElement"-              (\ o ->-                 StructuralElement' <$>-                   (o .:? "tableOfContents") <*> (o .:? "paragraph") <*>-                     (o .:? "endIndex")-                     <*> (o .:? "table")-                     <*> (o .:? "startIndex")-                     <*> (o .:? "sectionBreak"))--instance ToJSON StructuralElement where-        toJSON StructuralElement'{..}-          = object-              (catMaybes-                 [("tableOfContents" .=) <$> _seTableOfContents,-                  ("paragraph" .=) <$> _seParagraph,-                  ("endIndex" .=) <$> _seEndIndex,-                  ("table" .=) <$> _seTable,-                  ("startIndex" .=) <$> _seStartIndex,-                  ("sectionBreak" .=) <$> _seSectionBreak])---- | Deletes bullets from all of the paragraphs that overlap with the given--- range. The nesting level of each paragraph will be visually preserved by--- adding indent to the start of the corresponding paragraph.------ /See:/ 'deleteParagraphBulletsRequest' smart constructor.-newtype DeleteParagraphBulletsRequest =-  DeleteParagraphBulletsRequest'-    { _dpbrRange :: Maybe Range-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteParagraphBulletsRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dpbrRange'-deleteParagraphBulletsRequest-    :: DeleteParagraphBulletsRequest-deleteParagraphBulletsRequest =-  DeleteParagraphBulletsRequest' {_dpbrRange = Nothing}----- | The range to delete bullets from.-dpbrRange :: Lens' DeleteParagraphBulletsRequest (Maybe Range)-dpbrRange-  = lens _dpbrRange (\ s a -> s{_dpbrRange = a})--instance FromJSON DeleteParagraphBulletsRequest where-        parseJSON-          = withObject "DeleteParagraphBulletsRequest"-              (\ o ->-                 DeleteParagraphBulletsRequest' <$> (o .:? "range"))--instance ToJSON DeleteParagraphBulletsRequest where-        toJSON DeleteParagraphBulletsRequest'{..}-          = object (catMaybes [("range" .=) <$> _dpbrRange])---- | Request message for BatchUpdateDocument.------ /See:/ 'batchUpdateDocumentRequest' smart constructor.-data BatchUpdateDocumentRequest =-  BatchUpdateDocumentRequest'-    { _bRequests     :: !(Maybe [Request'])-    , _bWriteControl :: !(Maybe WriteControl)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchUpdateDocumentRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bRequests'------ * 'bWriteControl'-batchUpdateDocumentRequest-    :: BatchUpdateDocumentRequest-batchUpdateDocumentRequest =-  BatchUpdateDocumentRequest' {_bRequests = Nothing, _bWriteControl = Nothing}----- | A list of updates to apply to the document.-bRequests :: Lens' BatchUpdateDocumentRequest [Request']-bRequests-  = lens _bRequests (\ s a -> s{_bRequests = a}) .-      _Default-      . _Coerce---- | Provides control over how write requests are executed.-bWriteControl :: Lens' BatchUpdateDocumentRequest (Maybe WriteControl)-bWriteControl-  = lens _bWriteControl-      (\ s a -> s{_bWriteControl = a})--instance FromJSON BatchUpdateDocumentRequest where-        parseJSON-          = withObject "BatchUpdateDocumentRequest"-              (\ o ->-                 BatchUpdateDocumentRequest' <$>-                   (o .:? "requests" .!= mempty) <*>-                     (o .:? "writeControl"))--instance ToJSON BatchUpdateDocumentRequest where-        toJSON BatchUpdateDocumentRequest'{..}-          = object-              (catMaybes-                 [("requests" .=) <$> _bRequests,-                  ("writeControl" .=) <$> _bWriteControl])---- | The properties of a list which describe the look and feel of bullets--- belonging to paragraphs associated with a list.------ /See:/ 'listProperties' smart constructor.-newtype ListProperties =-  ListProperties'-    { _lpNestingLevels :: Maybe [NestingLevel]-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ListProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lpNestingLevels'-listProperties-    :: ListProperties-listProperties = ListProperties' {_lpNestingLevels = Nothing}----- | Describes the properties of the bullets at the associated level. A list--- has at most nine levels of nesting with nesting level 0 corresponding to--- the top-most level and nesting level 8 corresponding to the most nested--- level. The nesting levels are returned in ascending order with the least--- nested returned first.-lpNestingLevels :: Lens' ListProperties [NestingLevel]-lpNestingLevels-  = lens _lpNestingLevels-      (\ s a -> s{_lpNestingLevels = a})-      . _Default-      . _Coerce--instance FromJSON ListProperties where-        parseJSON-          = withObject "ListProperties"-              (\ o ->-                 ListProperties' <$>-                   (o .:? "nestingLevels" .!= mempty))--instance ToJSON ListProperties where-        toJSON ListProperties'{..}-          = object-              (catMaybes-                 [("nestingLevels" .=) <$> _lpNestingLevels])---- | Inserts text at the specified location.------ /See:/ 'insertTextRequest' smart constructor.-data InsertTextRequest =-  InsertTextRequest'-    { _iLocation             :: !(Maybe Location)-    , _iText                 :: !(Maybe Text)-    , _iEndOfSegmentLocation :: !(Maybe EndOfSegmentLocation)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'InsertTextRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iLocation'------ * 'iText'------ * 'iEndOfSegmentLocation'-insertTextRequest-    :: InsertTextRequest-insertTextRequest =-  InsertTextRequest'-    {_iLocation = Nothing, _iText = Nothing, _iEndOfSegmentLocation = Nothing}----- | Inserts the text at a specific index in the document. Text must be--- inserted inside the bounds of an existing Paragraph. For instance, text--- cannot be inserted at a table\'s start index (i.e. between the table and--- its preceding paragraph). The text must be inserted in the preceding--- paragraph.-iLocation :: Lens' InsertTextRequest (Maybe Location)-iLocation-  = lens _iLocation (\ s a -> s{_iLocation = a})---- | The text to be inserted. Inserting a newline character will implicitly--- create a new Paragraph at that index. The paragraph style of the new--- paragraph will be copied from the paragraph at the current insertion--- index, including lists and bullets. Text styles for inserted text will--- be determined automatically, generally preserving the styling of--- neighboring text. In most cases, the text style for the inserted text--- will match the text immediately before the insertion index. Some control--- characters (U+0000-U+0008, U+000C-U+001F) and characters from the--- Unicode Basic Multilingual Plane Private Use Area (U+E000-U+F8FF) will--- be stripped out of the inserted text.-iText :: Lens' InsertTextRequest (Maybe Text)-iText = lens _iText (\ s a -> s{_iText = a})---- | Inserts the text at the end of a header, footer, footnote or the--- document body.-iEndOfSegmentLocation :: Lens' InsertTextRequest (Maybe EndOfSegmentLocation)-iEndOfSegmentLocation-  = lens _iEndOfSegmentLocation-      (\ s a -> s{_iEndOfSegmentLocation = a})--instance FromJSON InsertTextRequest where-        parseJSON-          = withObject "InsertTextRequest"-              (\ o ->-                 InsertTextRequest' <$>-                   (o .:? "location") <*> (o .:? "text") <*>-                     (o .:? "endOfSegmentLocation"))--instance ToJSON InsertTextRequest where-        toJSON InsertTextRequest'{..}-          = object-              (catMaybes-                 [("location" .=) <$> _iLocation,-                  ("text" .=) <$> _iText,-                  ("endOfSegmentLocation" .=) <$>-                    _iEndOfSegmentLocation])---- | The suggested text style changes to this ColumnBreak, keyed by--- suggestion ID.------ /See:/ 'columnBreakSuggestedTextStyleChanges' smart constructor.-newtype ColumnBreakSuggestedTextStyleChanges =-  ColumnBreakSuggestedTextStyleChanges'-    { _cbstscAddtional :: HashMap Text SuggestedTextStyle-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ColumnBreakSuggestedTextStyleChanges' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cbstscAddtional'-columnBreakSuggestedTextStyleChanges-    :: HashMap Text SuggestedTextStyle -- ^ 'cbstscAddtional'-    -> ColumnBreakSuggestedTextStyleChanges-columnBreakSuggestedTextStyleChanges pCbstscAddtional_ =-  ColumnBreakSuggestedTextStyleChanges'-    {_cbstscAddtional = _Coerce # pCbstscAddtional_}---cbstscAddtional :: Lens' ColumnBreakSuggestedTextStyleChanges (HashMap Text SuggestedTextStyle)-cbstscAddtional-  = lens _cbstscAddtional-      (\ s a -> s{_cbstscAddtional = a})-      . _Coerce--instance FromJSON-           ColumnBreakSuggestedTextStyleChanges-         where-        parseJSON-          = withObject "ColumnBreakSuggestedTextStyleChanges"-              (\ o ->-                 ColumnBreakSuggestedTextStyleChanges' <$>-                   (parseJSONObject o))--instance ToJSON ColumnBreakSuggestedTextStyleChanges-         where-        toJSON = toJSON . _cbstscAddtional---- | The suggested text style changes to this FootnoteReference, keyed by--- suggestion ID.------ /See:/ 'footNoteReferenceSuggestedTextStyleChanges' smart constructor.-newtype FootNoteReferenceSuggestedTextStyleChanges =-  FootNoteReferenceSuggestedTextStyleChanges'-    { _fnrstscAddtional :: HashMap Text SuggestedTextStyle-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'FootNoteReferenceSuggestedTextStyleChanges' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fnrstscAddtional'-footNoteReferenceSuggestedTextStyleChanges-    :: HashMap Text SuggestedTextStyle -- ^ 'fnrstscAddtional'-    -> FootNoteReferenceSuggestedTextStyleChanges-footNoteReferenceSuggestedTextStyleChanges pFnrstscAddtional_ =-  FootNoteReferenceSuggestedTextStyleChanges'-    {_fnrstscAddtional = _Coerce # pFnrstscAddtional_}---fnrstscAddtional :: Lens' FootNoteReferenceSuggestedTextStyleChanges (HashMap Text SuggestedTextStyle)-fnrstscAddtional-  = lens _fnrstscAddtional-      (\ s a -> s{_fnrstscAddtional = a})-      . _Coerce--instance FromJSON-           FootNoteReferenceSuggestedTextStyleChanges-         where-        parseJSON-          = withObject-              "FootNoteReferenceSuggestedTextStyleChanges"-              (\ o ->-                 FootNoteReferenceSuggestedTextStyleChanges' <$>-                   (parseJSONObject o))--instance ToJSON-           FootNoteReferenceSuggestedTextStyleChanges-         where-        toJSON = toJSON . _fnrstscAddtional---- | The headers in the document, keyed by header ID.------ /See:/ 'documentHeaders' smart constructor.-newtype DocumentHeaders =-  DocumentHeaders'-    { _dhAddtional :: HashMap Text Header-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DocumentHeaders' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dhAddtional'-documentHeaders-    :: HashMap Text Header -- ^ 'dhAddtional'-    -> DocumentHeaders-documentHeaders pDhAddtional_ =-  DocumentHeaders' {_dhAddtional = _Coerce # pDhAddtional_}---dhAddtional :: Lens' DocumentHeaders (HashMap Text Header)-dhAddtional-  = lens _dhAddtional (\ s a -> s{_dhAddtional = a}) .-      _Coerce--instance FromJSON DocumentHeaders where-        parseJSON-          = withObject "DocumentHeaders"-              (\ o -> DocumentHeaders' <$> (parseJSONObject o))--instance ToJSON DocumentHeaders where-        toJSON = toJSON . _dhAddtional---- | Styles that apply to a table row.------ /See:/ 'tableRowStyle' smart constructor.-newtype TableRowStyle =-  TableRowStyle'-    { _trsMinRowHeight :: Maybe Dimension-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'TableRowStyle' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'trsMinRowHeight'-tableRowStyle-    :: TableRowStyle-tableRowStyle = TableRowStyle' {_trsMinRowHeight = Nothing}----- | The minimum height of the row. The row will be rendered in the Docs--- editor at a height equal to or greater than this value in order to show--- all the content in the row\'s cells.-trsMinRowHeight :: Lens' TableRowStyle (Maybe Dimension)-trsMinRowHeight-  = lens _trsMinRowHeight-      (\ s a -> s{_trsMinRowHeight = a})--instance FromJSON TableRowStyle where-        parseJSON-          = withObject "TableRowStyle"-              (\ o -> TableRowStyle' <$> (o .:? "minRowHeight"))--instance ToJSON TableRowStyle where-        toJSON TableRowStyle'{..}-          = object-              (catMaybes-                 [("minRowHeight" .=) <$> _trsMinRowHeight])---- | A StructuralElement representing a section break. A section is a range--- of content which has the same SectionStyle. A section break represents--- the start of a new section, and the section style applies to the section--- after the section break. The document body always begins with a section--- break.------ /See:/ 'sectionBreak' smart constructor.-data SectionBreak =-  SectionBreak'-    { _sbSuggestedInsertionIds :: !(Maybe [Text])-    , _sbSuggestedDeletionIds  :: !(Maybe [Text])-    , _sbSectionStyle          :: !(Maybe SectionStyle)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SectionBreak' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sbSuggestedInsertionIds'------ * 'sbSuggestedDeletionIds'------ * 'sbSectionStyle'-sectionBreak-    :: SectionBreak-sectionBreak =-  SectionBreak'-    { _sbSuggestedInsertionIds = Nothing-    , _sbSuggestedDeletionIds = Nothing-    , _sbSectionStyle = Nothing-    }----- | The suggested insertion IDs. A SectionBreak may have multiple insertion--- IDs if it is a nested suggested change. If empty, then this is not a--- suggested insertion.-sbSuggestedInsertionIds :: Lens' SectionBreak [Text]-sbSuggestedInsertionIds-  = lens _sbSuggestedInsertionIds-      (\ s a -> s{_sbSuggestedInsertionIds = a})-      . _Default-      . _Coerce---- | The suggested deletion IDs. If empty, then there are no suggested--- deletions of this content.-sbSuggestedDeletionIds :: Lens' SectionBreak [Text]-sbSuggestedDeletionIds-  = lens _sbSuggestedDeletionIds-      (\ s a -> s{_sbSuggestedDeletionIds = a})-      . _Default-      . _Coerce---- | The style of the section after this section break.-sbSectionStyle :: Lens' SectionBreak (Maybe SectionStyle)-sbSectionStyle-  = lens _sbSectionStyle-      (\ s a -> s{_sbSectionStyle = a})--instance FromJSON SectionBreak where-        parseJSON-          = withObject "SectionBreak"-              (\ o ->-                 SectionBreak' <$>-                   (o .:? "suggestedInsertionIds" .!= mempty) <*>-                     (o .:? "suggestedDeletionIds" .!= mempty)-                     <*> (o .:? "sectionStyle"))--instance ToJSON SectionBreak where-        toJSON SectionBreak'{..}-          = object-              (catMaybes-                 [("suggestedInsertionIds" .=) <$>-                    _sbSuggestedInsertionIds,-                  ("suggestedDeletionIds" .=) <$>-                    _sbSuggestedDeletionIds,-                  ("sectionStyle" .=) <$> _sbSectionStyle])---- | A StructuralElement representing a table.------ /See:/ 'table' smart constructor.-data Table =-  Table'-    { _tabSuggestedInsertionIds :: !(Maybe [Text])-    , _tabTableRows             :: !(Maybe [TableRow])-    , _tabRows                  :: !(Maybe (Textual Int32))-    , _tabTableStyle            :: !(Maybe TableStyle)-    , _tabSuggestedDeletionIds  :: !(Maybe [Text])-    , _tabColumns               :: !(Maybe (Textual Int32))-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Table' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tabSuggestedInsertionIds'------ * 'tabTableRows'------ * 'tabRows'------ * 'tabTableStyle'------ * 'tabSuggestedDeletionIds'------ * 'tabColumns'-table-    :: Table-table =-  Table'-    { _tabSuggestedInsertionIds = Nothing-    , _tabTableRows = Nothing-    , _tabRows = Nothing-    , _tabTableStyle = Nothing-    , _tabSuggestedDeletionIds = Nothing-    , _tabColumns = Nothing-    }----- | The suggested insertion IDs. A Table may have multiple insertion IDs if--- it is a nested suggested change. If empty, then this is not a suggested--- insertion.-tabSuggestedInsertionIds :: Lens' Table [Text]-tabSuggestedInsertionIds-  = lens _tabSuggestedInsertionIds-      (\ s a -> s{_tabSuggestedInsertionIds = a})-      . _Default-      . _Coerce---- | The contents and style of each row.-tabTableRows :: Lens' Table [TableRow]-tabTableRows-  = lens _tabTableRows (\ s a -> s{_tabTableRows = a})-      . _Default-      . _Coerce---- | Number of rows in the table.-tabRows :: Lens' Table (Maybe Int32)-tabRows-  = lens _tabRows (\ s a -> s{_tabRows = a}) .-      mapping _Coerce---- | The style of the table.-tabTableStyle :: Lens' Table (Maybe TableStyle)-tabTableStyle-  = lens _tabTableStyle-      (\ s a -> s{_tabTableStyle = a})---- | The suggested deletion IDs. If empty, then there are no suggested--- deletions of this content.-tabSuggestedDeletionIds :: Lens' Table [Text]-tabSuggestedDeletionIds-  = lens _tabSuggestedDeletionIds-      (\ s a -> s{_tabSuggestedDeletionIds = a})-      . _Default-      . _Coerce---- | Number of columns in the table. It is possible for a table to be--- non-rectangular, so some rows may have a different number of cells.-tabColumns :: Lens' Table (Maybe Int32)-tabColumns-  = lens _tabColumns (\ s a -> s{_tabColumns = a}) .-      mapping _Coerce--instance FromJSON Table where-        parseJSON-          = withObject "Table"-              (\ o ->-                 Table' <$>-                   (o .:? "suggestedInsertionIds" .!= mempty) <*>-                     (o .:? "tableRows" .!= mempty)-                     <*> (o .:? "rows")-                     <*> (o .:? "tableStyle")-                     <*> (o .:? "suggestedDeletionIds" .!= mempty)-                     <*> (o .:? "columns"))--instance ToJSON Table where-        toJSON Table'{..}-          = object-              (catMaybes-                 [("suggestedInsertionIds" .=) <$>-                    _tabSuggestedInsertionIds,-                  ("tableRows" .=) <$> _tabTableRows,-                  ("rows" .=) <$> _tabRows,-                  ("tableStyle" .=) <$> _tabTableStyle,-                  ("suggestedDeletionIds" .=) <$>-                    _tabSuggestedDeletionIds,-                  ("columns" .=) <$> _tabColumns])---- | The styling that applies to a section.------ /See:/ 'sectionStyle' smart constructor.-data SectionStyle =-  SectionStyle'-    { _ssColumnSeparatorStyle :: !(Maybe SectionStyleColumnSeparatorStyle)-    , _ssContentDirection     :: !(Maybe SectionStyleContentDirection)-    , _ssColumnProperties     :: !(Maybe [SectionColumnProperties])-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SectionStyle' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ssColumnSeparatorStyle'------ * 'ssContentDirection'------ * 'ssColumnProperties'-sectionStyle-    :: SectionStyle-sectionStyle =-  SectionStyle'-    { _ssColumnSeparatorStyle = Nothing-    , _ssContentDirection = Nothing-    , _ssColumnProperties = Nothing-    }----- | The style of column separators. This style can be set even when there is--- one column in the section.-ssColumnSeparatorStyle :: Lens' SectionStyle (Maybe SectionStyleColumnSeparatorStyle)-ssColumnSeparatorStyle-  = lens _ssColumnSeparatorStyle-      (\ s a -> s{_ssColumnSeparatorStyle = a})---- | The content direction of this section. If unset, the value defaults to--- LEFT_TO_RIGHT.-ssContentDirection :: Lens' SectionStyle (Maybe SectionStyleContentDirection)-ssContentDirection-  = lens _ssContentDirection-      (\ s a -> s{_ssContentDirection = a})---- | The section\'s columns properties. If empty, the section contains one--- column with the default properties in the Docs editor.-ssColumnProperties :: Lens' SectionStyle [SectionColumnProperties]-ssColumnProperties-  = lens _ssColumnProperties-      (\ s a -> s{_ssColumnProperties = a})-      . _Default-      . _Coerce--instance FromJSON SectionStyle where-        parseJSON-          = withObject "SectionStyle"-              (\ o ->-                 SectionStyle' <$>-                   (o .:? "columnSeparatorStyle") <*>-                     (o .:? "contentDirection")-                     <*> (o .:? "columnProperties" .!= mempty))--instance ToJSON SectionStyle where-        toJSON SectionStyle'{..}-          = object-              (catMaybes-                 [("columnSeparatorStyle" .=) <$>-                    _ssColumnSeparatorStyle,-                  ("contentDirection" .=) <$> _ssContentDirection,-                  ("columnProperties" .=) <$> _ssColumnProperties])---- | Represents the background of a document.------ /See:/ 'backgRound' smart constructor.-newtype BackgRound =-  BackgRound'-    { _brColor :: Maybe OptionalColor-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'BackgRound' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'brColor'-backgRound-    :: BackgRound-backgRound = BackgRound' {_brColor = Nothing}----- | The background color.-brColor :: Lens' BackgRound (Maybe OptionalColor)-brColor = lens _brColor (\ s a -> s{_brColor = a})--instance FromJSON BackgRound where-        parseJSON-          = withObject "BackgRound"-              (\ o -> BackgRound' <$> (o .:? "color"))--instance ToJSON BackgRound where-        toJSON BackgRound'{..}-          = object (catMaybes [("color" .=) <$> _brColor])---- | A suggested change to ListProperties.------ /See:/ 'suggestedListProperties' smart constructor.-data SuggestedListProperties =-  SuggestedListProperties'-    { _slpListPropertiesSuggestionState :: !(Maybe ListPropertiesSuggestionState)-    , _slpListProperties                :: !(Maybe ListProperties)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SuggestedListProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'slpListPropertiesSuggestionState'------ * 'slpListProperties'-suggestedListProperties-    :: SuggestedListProperties-suggestedListProperties =-  SuggestedListProperties'-    {_slpListPropertiesSuggestionState = Nothing, _slpListProperties = Nothing}----- | A mask that indicates which of the fields on the base ListProperties--- have been changed in this suggestion.-slpListPropertiesSuggestionState :: Lens' SuggestedListProperties (Maybe ListPropertiesSuggestionState)-slpListPropertiesSuggestionState-  = lens _slpListPropertiesSuggestionState-      (\ s a -> s{_slpListPropertiesSuggestionState = a})---- | A ListProperties that only includes the changes made in this suggestion.--- This can be used along with the list_properties_suggestion_state to see--- which fields have changed and their new values.-slpListProperties :: Lens' SuggestedListProperties (Maybe ListProperties)-slpListProperties-  = lens _slpListProperties-      (\ s a -> s{_slpListProperties = a})--instance FromJSON SuggestedListProperties where-        parseJSON-          = withObject "SuggestedListProperties"-              (\ o ->-                 SuggestedListProperties' <$>-                   (o .:? "listPropertiesSuggestionState") <*>-                     (o .:? "listProperties"))--instance ToJSON SuggestedListProperties where-        toJSON SuggestedListProperties'{..}-          = object-              (catMaybes-                 [("listPropertiesSuggestionState" .=) <$>-                    _slpListPropertiesSuggestionState,-                  ("listProperties" .=) <$> _slpListProperties])---- | Properties that apply to a section\'s column.------ /See:/ 'sectionColumnProperties' smart constructor.-data SectionColumnProperties =-  SectionColumnProperties'-    { _scpWidth      :: !(Maybe Dimension)-    , _scpPaddingEnd :: !(Maybe Dimension)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SectionColumnProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'scpWidth'------ * 'scpPaddingEnd'-sectionColumnProperties-    :: SectionColumnProperties-sectionColumnProperties =-  SectionColumnProperties' {_scpWidth = Nothing, _scpPaddingEnd = Nothing}----- | The width of the column.-scpWidth :: Lens' SectionColumnProperties (Maybe Dimension)-scpWidth = lens _scpWidth (\ s a -> s{_scpWidth = a})---- | The padding at the end of the column.-scpPaddingEnd :: Lens' SectionColumnProperties (Maybe Dimension)-scpPaddingEnd-  = lens _scpPaddingEnd-      (\ s a -> s{_scpPaddingEnd = a})--instance FromJSON SectionColumnProperties where-        parseJSON-          = withObject "SectionColumnProperties"-              (\ o ->-                 SectionColumnProperties' <$>-                   (o .:? "width") <*> (o .:? "paddingEnd"))--instance ToJSON SectionColumnProperties where-        toJSON SectionColumnProperties'{..}-          = object-              (catMaybes-                 [("width" .=) <$> _scpWidth,-                  ("paddingEnd" .=) <$> _scpPaddingEnd])---- | Creates bullets for all of the paragraphs that overlap with the given--- range. The nesting level of each paragraph will be determined by--- counting leading tabs in front of each paragraph. To avoid excess space--- between the bullet and the corresponding paragraph, these leading tabs--- are removed by this request. This may change the indices of parts of the--- text. If the paragraph immediately before paragraphs being updated is in--- a list with a matching preset, the paragraphs being updated are added to--- that preceding list.------ /See:/ 'createParagraphBulletsRequest' smart constructor.-data CreateParagraphBulletsRequest =-  CreateParagraphBulletsRequest'-    { _cpbrBulletPreset :: !(Maybe CreateParagraphBulletsRequestBulletPreset)-    , _cpbrRange        :: !(Maybe Range)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateParagraphBulletsRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cpbrBulletPreset'------ * 'cpbrRange'-createParagraphBulletsRequest-    :: CreateParagraphBulletsRequest-createParagraphBulletsRequest =-  CreateParagraphBulletsRequest'-    {_cpbrBulletPreset = Nothing, _cpbrRange = Nothing}----- | The kinds of bullet glyphs to be used.-cpbrBulletPreset :: Lens' CreateParagraphBulletsRequest (Maybe CreateParagraphBulletsRequestBulletPreset)-cpbrBulletPreset-  = lens _cpbrBulletPreset-      (\ s a -> s{_cpbrBulletPreset = a})---- | The range to apply the bullet preset to.-cpbrRange :: Lens' CreateParagraphBulletsRequest (Maybe Range)-cpbrRange-  = lens _cpbrRange (\ s a -> s{_cpbrRange = a})--instance FromJSON CreateParagraphBulletsRequest where-        parseJSON-          = withObject "CreateParagraphBulletsRequest"-              (\ o ->-                 CreateParagraphBulletsRequest' <$>-                   (o .:? "bulletPreset") <*> (o .:? "range"))--instance ToJSON CreateParagraphBulletsRequest where-        toJSON CreateParagraphBulletsRequest'{..}-          = object-              (catMaybes-                 [("bulletPreset" .=) <$> _cpbrBulletPreset,-                  ("range" .=) <$> _cpbrRange])---- | The footers in the document, keyed by footer ID.------ /See:/ 'documentFooters' smart constructor.-newtype DocumentFooters =-  DocumentFooters'-    { _dfAddtional :: HashMap Text Footer-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DocumentFooters' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dfAddtional'-documentFooters-    :: HashMap Text Footer -- ^ 'dfAddtional'-    -> DocumentFooters-documentFooters pDfAddtional_ =-  DocumentFooters' {_dfAddtional = _Coerce # pDfAddtional_}---dfAddtional :: Lens' DocumentFooters (HashMap Text Footer)-dfAddtional-  = lens _dfAddtional (\ s a -> s{_dfAddtional = a}) .-      _Coerce--instance FromJSON DocumentFooters where-        parseJSON-          = withObject "DocumentFooters"-              (\ o -> DocumentFooters' <$> (parseJSONObject o))--instance ToJSON DocumentFooters where-        toJSON = toJSON . _dfAddtional---- | Creates a NamedRange referencing the given range.------ /See:/ 'createNamedRangeRequest' smart constructor.-data CreateNamedRangeRequest =-  CreateNamedRangeRequest'-    { _cnrrName  :: !(Maybe Text)-    , _cnrrRange :: !(Maybe Range)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateNamedRangeRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cnrrName'------ * 'cnrrRange'-createNamedRangeRequest-    :: CreateNamedRangeRequest-createNamedRangeRequest =-  CreateNamedRangeRequest' {_cnrrName = Nothing, _cnrrRange = Nothing}----- | The name of the NamedRange. Names do not need to be unique. Names must--- be at least 1 character and no more than 256 characters, measured in--- UTF-16 code units.-cnrrName :: Lens' CreateNamedRangeRequest (Maybe Text)-cnrrName = lens _cnrrName (\ s a -> s{_cnrrName = a})---- | The range to apply the name to.-cnrrRange :: Lens' CreateNamedRangeRequest (Maybe Range)-cnrrRange-  = lens _cnrrRange (\ s a -> s{_cnrrRange = a})--instance FromJSON CreateNamedRangeRequest where-        parseJSON-          = withObject "CreateNamedRangeRequest"-              (\ o ->-                 CreateNamedRangeRequest' <$>-                   (o .:? "name") <*> (o .:? "range"))--instance ToJSON CreateNamedRangeRequest where-        toJSON CreateNamedRangeRequest'{..}-          = object-              (catMaybes-                 [("name" .=) <$> _cnrrName,-                  ("range" .=) <$> _cnrrRange])---- | A mask that indicates which of the fields on the base TextStyle have--- been changed in this suggestion. For any field set to true, there is a--- new suggested value.------ /See:/ 'textStyleSuggestionState' smart constructor.-data TextStyleSuggestionState =-  TextStyleSuggestionState'-    { _tsssItalicSuggested             :: !(Maybe Bool)-    , _tsssUnderlineSuggested          :: !(Maybe Bool)-    , _tsssFontSizeSuggested           :: !(Maybe Bool)-    , _tsssSmallCapsSuggested          :: !(Maybe Bool)-    , _tsssForegRoundColorSuggested    :: !(Maybe Bool)-    , _tsssBaselineOffSetSuggested     :: !(Maybe Bool)-    , _tsssWeightedFontFamilySuggested :: !(Maybe Bool)-    , _tsssStrikethroughSuggested      :: !(Maybe Bool)-    , _tsssLinkSuggested               :: !(Maybe Bool)-    , _tsssBoldSuggested               :: !(Maybe Bool)-    , _tsssBackgRoundColorSuggested    :: !(Maybe Bool)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'TextStyleSuggestionState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tsssItalicSuggested'------ * 'tsssUnderlineSuggested'------ * 'tsssFontSizeSuggested'------ * 'tsssSmallCapsSuggested'------ * 'tsssForegRoundColorSuggested'------ * 'tsssBaselineOffSetSuggested'------ * 'tsssWeightedFontFamilySuggested'------ * 'tsssStrikethroughSuggested'------ * 'tsssLinkSuggested'------ * 'tsssBoldSuggested'------ * 'tsssBackgRoundColorSuggested'-textStyleSuggestionState-    :: TextStyleSuggestionState-textStyleSuggestionState =-  TextStyleSuggestionState'-    { _tsssItalicSuggested = Nothing-    , _tsssUnderlineSuggested = Nothing-    , _tsssFontSizeSuggested = Nothing-    , _tsssSmallCapsSuggested = Nothing-    , _tsssForegRoundColorSuggested = Nothing-    , _tsssBaselineOffSetSuggested = Nothing-    , _tsssWeightedFontFamilySuggested = Nothing-    , _tsssStrikethroughSuggested = Nothing-    , _tsssLinkSuggested = Nothing-    , _tsssBoldSuggested = Nothing-    , _tsssBackgRoundColorSuggested = Nothing-    }----- | Indicates if there was a suggested change to italic.-tsssItalicSuggested :: Lens' TextStyleSuggestionState (Maybe Bool)-tsssItalicSuggested-  = lens _tsssItalicSuggested-      (\ s a -> s{_tsssItalicSuggested = a})---- | Indicates if there was a suggested change to underline.-tsssUnderlineSuggested :: Lens' TextStyleSuggestionState (Maybe Bool)-tsssUnderlineSuggested-  = lens _tsssUnderlineSuggested-      (\ s a -> s{_tsssUnderlineSuggested = a})---- | Indicates if there was a suggested change to font_size.-tsssFontSizeSuggested :: Lens' TextStyleSuggestionState (Maybe Bool)-tsssFontSizeSuggested-  = lens _tsssFontSizeSuggested-      (\ s a -> s{_tsssFontSizeSuggested = a})---- | Indicates if there was a suggested change to small_caps.-tsssSmallCapsSuggested :: Lens' TextStyleSuggestionState (Maybe Bool)-tsssSmallCapsSuggested-  = lens _tsssSmallCapsSuggested-      (\ s a -> s{_tsssSmallCapsSuggested = a})---- | Indicates if there was a suggested change to foreground_color.-tsssForegRoundColorSuggested :: Lens' TextStyleSuggestionState (Maybe Bool)-tsssForegRoundColorSuggested-  = lens _tsssForegRoundColorSuggested-      (\ s a -> s{_tsssForegRoundColorSuggested = a})---- | Indicates if there was a suggested change to baseline_offset.-tsssBaselineOffSetSuggested :: Lens' TextStyleSuggestionState (Maybe Bool)-tsssBaselineOffSetSuggested-  = lens _tsssBaselineOffSetSuggested-      (\ s a -> s{_tsssBaselineOffSetSuggested = a})---- | Indicates if there was a suggested change to weighted_font_family.-tsssWeightedFontFamilySuggested :: Lens' TextStyleSuggestionState (Maybe Bool)-tsssWeightedFontFamilySuggested-  = lens _tsssWeightedFontFamilySuggested-      (\ s a -> s{_tsssWeightedFontFamilySuggested = a})---- | Indicates if there was a suggested change to strikethrough.-tsssStrikethroughSuggested :: Lens' TextStyleSuggestionState (Maybe Bool)-tsssStrikethroughSuggested-  = lens _tsssStrikethroughSuggested-      (\ s a -> s{_tsssStrikethroughSuggested = a})---- | Indicates if there was a suggested change to link.-tsssLinkSuggested :: Lens' TextStyleSuggestionState (Maybe Bool)-tsssLinkSuggested-  = lens _tsssLinkSuggested-      (\ s a -> s{_tsssLinkSuggested = a})---- | Indicates if there was a suggested change to bold.-tsssBoldSuggested :: Lens' TextStyleSuggestionState (Maybe Bool)-tsssBoldSuggested-  = lens _tsssBoldSuggested-      (\ s a -> s{_tsssBoldSuggested = a})---- | Indicates if there was a suggested change to background_color.-tsssBackgRoundColorSuggested :: Lens' TextStyleSuggestionState (Maybe Bool)-tsssBackgRoundColorSuggested-  = lens _tsssBackgRoundColorSuggested-      (\ s a -> s{_tsssBackgRoundColorSuggested = a})--instance FromJSON TextStyleSuggestionState where-        parseJSON-          = withObject "TextStyleSuggestionState"-              (\ o ->-                 TextStyleSuggestionState' <$>-                   (o .:? "italicSuggested") <*>-                     (o .:? "underlineSuggested")-                     <*> (o .:? "fontSizeSuggested")-                     <*> (o .:? "smallCapsSuggested")-                     <*> (o .:? "foregroundColorSuggested")-                     <*> (o .:? "baselineOffsetSuggested")-                     <*> (o .:? "weightedFontFamilySuggested")-                     <*> (o .:? "strikethroughSuggested")-                     <*> (o .:? "linkSuggested")-                     <*> (o .:? "boldSuggested")-                     <*> (o .:? "backgroundColorSuggested"))--instance ToJSON TextStyleSuggestionState where-        toJSON TextStyleSuggestionState'{..}-          = object-              (catMaybes-                 [("italicSuggested" .=) <$> _tsssItalicSuggested,-                  ("underlineSuggested" .=) <$>-                    _tsssUnderlineSuggested,-                  ("fontSizeSuggested" .=) <$> _tsssFontSizeSuggested,-                  ("smallCapsSuggested" .=) <$>-                    _tsssSmallCapsSuggested,-                  ("foregroundColorSuggested" .=) <$>-                    _tsssForegRoundColorSuggested,-                  ("baselineOffsetSuggested" .=) <$>-                    _tsssBaselineOffSetSuggested,-                  ("weightedFontFamilySuggested" .=) <$>-                    _tsssWeightedFontFamilySuggested,-                  ("strikethroughSuggested" .=) <$>-                    _tsssStrikethroughSuggested,-                  ("linkSuggested" .=) <$> _tsssLinkSuggested,-                  ("boldSuggested" .=) <$> _tsssBoldSuggested,-                  ("backgroundColorSuggested" .=) <$>-                    _tsssBackgRoundColorSuggested])---- | A mask that indicates which of the fields on the base NestingLevel have--- been changed in this suggestion. For any field set to true, there is a--- new suggested value.------ /See:/ 'nestingLevelSuggestionState' smart constructor.-data NestingLevelSuggestionState =-  NestingLevelSuggestionState'-    { _nlssGlyphFormatSuggested     :: !(Maybe Bool)-    , _nlssBulletAlignmentSuggested :: !(Maybe Bool)-    , _nlssGlyphTypeSuggested       :: !(Maybe Bool)-    , _nlssStartNumberSuggested     :: !(Maybe Bool)-    , _nlssIndentStartSuggested     :: !(Maybe Bool)-    , _nlssGlyphSymbolSuggested     :: !(Maybe Bool)-    , _nlssIndentFirstLineSuggested :: !(Maybe Bool)-    , _nlssTextStyleSuggestionState :: !(Maybe TextStyleSuggestionState)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'NestingLevelSuggestionState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nlssGlyphFormatSuggested'------ * 'nlssBulletAlignmentSuggested'------ * 'nlssGlyphTypeSuggested'------ * 'nlssStartNumberSuggested'------ * 'nlssIndentStartSuggested'------ * 'nlssGlyphSymbolSuggested'------ * 'nlssIndentFirstLineSuggested'------ * 'nlssTextStyleSuggestionState'-nestingLevelSuggestionState-    :: NestingLevelSuggestionState-nestingLevelSuggestionState =-  NestingLevelSuggestionState'-    { _nlssGlyphFormatSuggested = Nothing-    , _nlssBulletAlignmentSuggested = Nothing-    , _nlssGlyphTypeSuggested = Nothing-    , _nlssStartNumberSuggested = Nothing-    , _nlssIndentStartSuggested = Nothing-    , _nlssGlyphSymbolSuggested = Nothing-    , _nlssIndentFirstLineSuggested = Nothing-    , _nlssTextStyleSuggestionState = Nothing-    }----- | Indicates if there was a suggested change to glyph_format.-nlssGlyphFormatSuggested :: Lens' NestingLevelSuggestionState (Maybe Bool)-nlssGlyphFormatSuggested-  = lens _nlssGlyphFormatSuggested-      (\ s a -> s{_nlssGlyphFormatSuggested = a})---- | Indicates if there was a suggested change to bullet_alignment.-nlssBulletAlignmentSuggested :: Lens' NestingLevelSuggestionState (Maybe Bool)-nlssBulletAlignmentSuggested-  = lens _nlssBulletAlignmentSuggested-      (\ s a -> s{_nlssBulletAlignmentSuggested = a})---- | Indicates if there was a suggested change to glyph_type.-nlssGlyphTypeSuggested :: Lens' NestingLevelSuggestionState (Maybe Bool)-nlssGlyphTypeSuggested-  = lens _nlssGlyphTypeSuggested-      (\ s a -> s{_nlssGlyphTypeSuggested = a})---- | Indicates if there was a suggested change to start_number.-nlssStartNumberSuggested :: Lens' NestingLevelSuggestionState (Maybe Bool)-nlssStartNumberSuggested-  = lens _nlssStartNumberSuggested-      (\ s a -> s{_nlssStartNumberSuggested = a})---- | Indicates if there was a suggested change to indent_start.-nlssIndentStartSuggested :: Lens' NestingLevelSuggestionState (Maybe Bool)-nlssIndentStartSuggested-  = lens _nlssIndentStartSuggested-      (\ s a -> s{_nlssIndentStartSuggested = a})---- | Indicates if there was a suggested change to glyph_symbol.-nlssGlyphSymbolSuggested :: Lens' NestingLevelSuggestionState (Maybe Bool)-nlssGlyphSymbolSuggested-  = lens _nlssGlyphSymbolSuggested-      (\ s a -> s{_nlssGlyphSymbolSuggested = a})---- | Indicates if there was a suggested change to indent_first_line.-nlssIndentFirstLineSuggested :: Lens' NestingLevelSuggestionState (Maybe Bool)-nlssIndentFirstLineSuggested-  = lens _nlssIndentFirstLineSuggested-      (\ s a -> s{_nlssIndentFirstLineSuggested = a})---- | A mask that indicates which of the fields in text style have been--- changed in this suggestion.-nlssTextStyleSuggestionState :: Lens' NestingLevelSuggestionState (Maybe TextStyleSuggestionState)-nlssTextStyleSuggestionState-  = lens _nlssTextStyleSuggestionState-      (\ s a -> s{_nlssTextStyleSuggestionState = a})--instance FromJSON NestingLevelSuggestionState where-        parseJSON-          = withObject "NestingLevelSuggestionState"-              (\ o ->-                 NestingLevelSuggestionState' <$>-                   (o .:? "glyphFormatSuggested") <*>-                     (o .:? "bulletAlignmentSuggested")-                     <*> (o .:? "glyphTypeSuggested")-                     <*> (o .:? "startNumberSuggested")-                     <*> (o .:? "indentStartSuggested")-                     <*> (o .:? "glyphSymbolSuggested")-                     <*> (o .:? "indentFirstLineSuggested")-                     <*> (o .:? "textStyleSuggestionState"))--instance ToJSON NestingLevelSuggestionState where-        toJSON NestingLevelSuggestionState'{..}-          = object-              (catMaybes-                 [("glyphFormatSuggested" .=) <$>-                    _nlssGlyphFormatSuggested,-                  ("bulletAlignmentSuggested" .=) <$>-                    _nlssBulletAlignmentSuggested,-                  ("glyphTypeSuggested" .=) <$>-                    _nlssGlyphTypeSuggested,-                  ("startNumberSuggested" .=) <$>-                    _nlssStartNumberSuggested,-                  ("indentStartSuggested" .=) <$>-                    _nlssIndentStartSuggested,-                  ("glyphSymbolSuggested" .=) <$>-                    _nlssGlyphSymbolSuggested,-                  ("indentFirstLineSuggested" .=) <$>-                    _nlssIndentFirstLineSuggested,-                  ("textStyleSuggestionState" .=) <$>-                    _nlssTextStyleSuggestionState])---- | Styles that apply to a whole paragraph. Inherited paragraph styles are--- represented as unset fields in this message. A paragraph style\'s parent--- depends on where the paragraph style is defined: * The ParagraphStyle on--- a Paragraph inherits from the paragraph\'s corresponding named style--- type. * The ParagraphStyle on a named style inherits from the normal--- text named style. * The ParagraphStyle of the normal text named style--- inherits from the default paragraph style in the Docs editor. * The--- ParagraphStyle on a Paragraph element that is contained in a table may--- inherit its paragraph style from the table style. If the paragraph style--- does not inherit from a parent, unsetting fields will revert the style--- to a value matching the defaults in the Docs editor.------ /See:/ 'paragraphStyle' smart constructor.-data ParagraphStyle =-  ParagraphStyle'-    { _psBOrderRight         :: !(Maybe ParagraphBOrder)-    , _psKeepLinesTogether   :: !(Maybe Bool)-    , _psTabStops            :: !(Maybe [TabStop])-    , _psBOrderTop           :: !(Maybe ParagraphBOrder)-    , _psLineSpacing         :: !(Maybe (Textual Double))-    , _psDirection           :: !(Maybe ParagraphStyleDirection)-    , _psIndentFirstLine     :: !(Maybe Dimension)-    , _psIndentEnd           :: !(Maybe Dimension)-    , _psShading             :: !(Maybe Shading)-    , _psAvoidWidowAndOrphan :: !(Maybe Bool)-    , _psNamedStyleType      :: !(Maybe ParagraphStyleNamedStyleType)-    , _psIndentStart         :: !(Maybe Dimension)-    , _psAlignment           :: !(Maybe ParagraphStyleAlignment)-    , _psBOrderLeft          :: !(Maybe ParagraphBOrder)-    , _psSpaceBelow          :: !(Maybe Dimension)-    , _psSpacingMode         :: !(Maybe ParagraphStyleSpacingMode)-    , _psHeadingId           :: !(Maybe Text)-    , _psSpaceAbove          :: !(Maybe Dimension)-    , _psBOrderBottom        :: !(Maybe ParagraphBOrder)-    , _psKeepWithNext        :: !(Maybe Bool)-    , _psBOrderBetween       :: !(Maybe ParagraphBOrder)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ParagraphStyle' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'psBOrderRight'------ * 'psKeepLinesTogether'------ * 'psTabStops'------ * 'psBOrderTop'------ * 'psLineSpacing'------ * 'psDirection'------ * 'psIndentFirstLine'------ * 'psIndentEnd'------ * 'psShading'------ * 'psAvoidWidowAndOrphan'------ * 'psNamedStyleType'------ * 'psIndentStart'------ * 'psAlignment'------ * 'psBOrderLeft'------ * 'psSpaceBelow'------ * 'psSpacingMode'------ * 'psHeadingId'------ * 'psSpaceAbove'------ * 'psBOrderBottom'------ * 'psKeepWithNext'------ * 'psBOrderBetween'-paragraphStyle-    :: ParagraphStyle-paragraphStyle =-  ParagraphStyle'-    { _psBOrderRight = Nothing-    , _psKeepLinesTogether = Nothing-    , _psTabStops = Nothing-    , _psBOrderTop = Nothing-    , _psLineSpacing = Nothing-    , _psDirection = Nothing-    , _psIndentFirstLine = Nothing-    , _psIndentEnd = Nothing-    , _psShading = Nothing-    , _psAvoidWidowAndOrphan = Nothing-    , _psNamedStyleType = Nothing-    , _psIndentStart = Nothing-    , _psAlignment = Nothing-    , _psBOrderLeft = Nothing-    , _psSpaceBelow = Nothing-    , _psSpacingMode = Nothing-    , _psHeadingId = Nothing-    , _psSpaceAbove = Nothing-    , _psBOrderBottom = Nothing-    , _psKeepWithNext = Nothing-    , _psBOrderBetween = Nothing-    }----- | The border to the right of this paragraph. If unset, the value is--- inherited from the parent. Paragraph borders cannot be partially--- updated. When making changes to a paragraph border the new border must--- be specified in its entirety.-psBOrderRight :: Lens' ParagraphStyle (Maybe ParagraphBOrder)-psBOrderRight-  = lens _psBOrderRight-      (\ s a -> s{_psBOrderRight = a})---- | Whether all lines of the paragraph should be laid out on the same page--- or column if possible. If unset, the value is inherited from the parent.-psKeepLinesTogether :: Lens' ParagraphStyle (Maybe Bool)-psKeepLinesTogether-  = lens _psKeepLinesTogether-      (\ s a -> s{_psKeepLinesTogether = a})---- | A list of the tab stops for this paragraph. The list of tab stops is not--- inherited. This property is read-only.-psTabStops :: Lens' ParagraphStyle [TabStop]-psTabStops-  = lens _psTabStops (\ s a -> s{_psTabStops = a}) .-      _Default-      . _Coerce---- | The border at the top of this paragraph. If unset, the value is--- inherited from the parent. The top border is rendered when the paragraph--- above has different border and indent properties. Paragraph borders--- cannot be partially updated. When making changes to a paragraph border--- the new border must be specified in its entirety.-psBOrderTop :: Lens' ParagraphStyle (Maybe ParagraphBOrder)-psBOrderTop-  = lens _psBOrderTop (\ s a -> s{_psBOrderTop = a})---- | 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.-psLineSpacing :: Lens' ParagraphStyle (Maybe Double)-psLineSpacing-  = lens _psLineSpacing-      (\ s a -> s{_psLineSpacing = a})-      . mapping _Coerce---- | The text direction of this paragraph. If unset, the value defaults to--- LEFT_TO_RIGHT since paragraph direction is not inherited.-psDirection :: Lens' ParagraphStyle (Maybe ParagraphStyleDirection)-psDirection-  = lens _psDirection (\ s a -> s{_psDirection = a})---- | The amount of indentation for the first line of the paragraph. If unset,--- the value is inherited from the parent.-psIndentFirstLine :: Lens' ParagraphStyle (Maybe Dimension)-psIndentFirstLine-  = lens _psIndentFirstLine-      (\ s a -> s{_psIndentFirstLine = a})---- | The amount of indentation for the paragraph on the side that corresponds--- to the end of the text, based on the current paragraph direction. If--- unset, the value is inherited from the parent.-psIndentEnd :: Lens' ParagraphStyle (Maybe Dimension)-psIndentEnd-  = lens _psIndentEnd (\ s a -> s{_psIndentEnd = a})---- | The shading of the paragraph. If unset, the value is inherited from the--- parent.-psShading :: Lens' ParagraphStyle (Maybe Shading)-psShading-  = lens _psShading (\ s a -> s{_psShading = a})---- | Whether to avoid widows and orphans for the paragraph. If unset, the--- value is inherited from the parent.-psAvoidWidowAndOrphan :: Lens' ParagraphStyle (Maybe Bool)-psAvoidWidowAndOrphan-  = lens _psAvoidWidowAndOrphan-      (\ s a -> s{_psAvoidWidowAndOrphan = a})---- | The named style type of the paragraph. Since updating the named style--- type affects other properties within ParagraphStyle, the named style--- type is applied before the other properties are updated.-psNamedStyleType :: Lens' ParagraphStyle (Maybe ParagraphStyleNamedStyleType)-psNamedStyleType-  = lens _psNamedStyleType-      (\ s a -> s{_psNamedStyleType = a})---- | The amount of indentation for the paragraph on the side that corresponds--- to the start of the text, based on the current paragraph direction. If--- unset, the value is inherited from the parent.-psIndentStart :: Lens' ParagraphStyle (Maybe Dimension)-psIndentStart-  = lens _psIndentStart-      (\ s a -> s{_psIndentStart = a})---- | The text alignment for this paragraph.-psAlignment :: Lens' ParagraphStyle (Maybe ParagraphStyleAlignment)-psAlignment-  = lens _psAlignment (\ s a -> s{_psAlignment = a})---- | The border to the left of this paragraph. If unset, the value is--- inherited from the parent. Paragraph borders cannot be partially--- updated. When making changes to a paragraph border the new border must--- be specified in its entirety.-psBOrderLeft :: Lens' ParagraphStyle (Maybe ParagraphBOrder)-psBOrderLeft-  = lens _psBOrderLeft (\ s a -> s{_psBOrderLeft = a})---- | The amount of extra space below the paragraph. If unset, the value is--- inherited from the parent.-psSpaceBelow :: Lens' ParagraphStyle (Maybe Dimension)-psSpaceBelow-  = lens _psSpaceBelow (\ s a -> s{_psSpaceBelow = a})---- | The spacing mode for the paragraph.-psSpacingMode :: Lens' ParagraphStyle (Maybe ParagraphStyleSpacingMode)-psSpacingMode-  = lens _psSpacingMode-      (\ s a -> s{_psSpacingMode = a})---- | The heading ID of the paragraph. If empty, then this paragraph is not a--- heading. This property is read-only.-psHeadingId :: Lens' ParagraphStyle (Maybe Text)-psHeadingId-  = lens _psHeadingId (\ s a -> s{_psHeadingId = a})---- | The amount of extra space above the paragraph. If unset, the value is--- inherited from the parent.-psSpaceAbove :: Lens' ParagraphStyle (Maybe Dimension)-psSpaceAbove-  = lens _psSpaceAbove (\ s a -> s{_psSpaceAbove = a})---- | The border at the bottom of this paragraph. If unset, the value is--- inherited from the parent. The bottom border is rendered when the--- paragraph below has different border and indent properties. Paragraph--- borders cannot be partially updated. When making changes to a paragraph--- border the new border must be specified in its entirety.-psBOrderBottom :: Lens' ParagraphStyle (Maybe ParagraphBOrder)-psBOrderBottom-  = lens _psBOrderBottom-      (\ s a -> s{_psBOrderBottom = a})---- | Whether at least a part of this paragraph should be laid out on the same--- page or column as the next paragraph if possible. If unset, the value is--- inherited from the parent.-psKeepWithNext :: Lens' ParagraphStyle (Maybe Bool)-psKeepWithNext-  = lens _psKeepWithNext-      (\ s a -> s{_psKeepWithNext = a})---- | The border between this paragraph and the next and previous paragraphs.--- If unset, the value is inherited from the parent. The between border is--- rendered when the adjacent paragraph has the same border and indent--- properties. Paragraph borders cannot be partially updated. When making--- changes to a paragraph border the new border must be specified in its--- entirety.-psBOrderBetween :: Lens' ParagraphStyle (Maybe ParagraphBOrder)-psBOrderBetween-  = lens _psBOrderBetween-      (\ s a -> s{_psBOrderBetween = a})--instance FromJSON ParagraphStyle where-        parseJSON-          = withObject "ParagraphStyle"-              (\ o ->-                 ParagraphStyle' <$>-                   (o .:? "borderRight") <*> (o .:? "keepLinesTogether")-                     <*> (o .:? "tabStops" .!= mempty)-                     <*> (o .:? "borderTop")-                     <*> (o .:? "lineSpacing")-                     <*> (o .:? "direction")-                     <*> (o .:? "indentFirstLine")-                     <*> (o .:? "indentEnd")-                     <*> (o .:? "shading")-                     <*> (o .:? "avoidWidowAndOrphan")-                     <*> (o .:? "namedStyleType")-                     <*> (o .:? "indentStart")-                     <*> (o .:? "alignment")-                     <*> (o .:? "borderLeft")-                     <*> (o .:? "spaceBelow")-                     <*> (o .:? "spacingMode")-                     <*> (o .:? "headingId")-                     <*> (o .:? "spaceAbove")-                     <*> (o .:? "borderBottom")-                     <*> (o .:? "keepWithNext")-                     <*> (o .:? "borderBetween"))--instance ToJSON ParagraphStyle where-        toJSON ParagraphStyle'{..}-          = object-              (catMaybes-                 [("borderRight" .=) <$> _psBOrderRight,-                  ("keepLinesTogether" .=) <$> _psKeepLinesTogether,-                  ("tabStops" .=) <$> _psTabStops,-                  ("borderTop" .=) <$> _psBOrderTop,-                  ("lineSpacing" .=) <$> _psLineSpacing,-                  ("direction" .=) <$> _psDirection,-                  ("indentFirstLine" .=) <$> _psIndentFirstLine,-                  ("indentEnd" .=) <$> _psIndentEnd,-                  ("shading" .=) <$> _psShading,-                  ("avoidWidowAndOrphan" .=) <$>-                    _psAvoidWidowAndOrphan,-                  ("namedStyleType" .=) <$> _psNamedStyleType,-                  ("indentStart" .=) <$> _psIndentStart,-                  ("alignment" .=) <$> _psAlignment,-                  ("borderLeft" .=) <$> _psBOrderLeft,-                  ("spaceBelow" .=) <$> _psSpaceBelow,-                  ("spacingMode" .=) <$> _psSpacingMode,-                  ("headingId" .=) <$> _psHeadingId,-                  ("spaceAbove" .=) <$> _psSpaceAbove,-                  ("borderBottom" .=) <$> _psBOrderBottom,-                  ("keepWithNext" .=) <$> _psKeepWithNext,-                  ("borderBetween" .=) <$> _psBOrderBetween])---- | A suggested change to PositionedObjectProperties.------ /See:/ 'suggestedPositionedObjectProperties' smart constructor.-data SuggestedPositionedObjectProperties =-  SuggestedPositionedObjectProperties'-    { _spopPositionedObjectProperties                :: !(Maybe PositionedObjectProperties)-    , _spopPositionedObjectPropertiesSuggestionState :: !(Maybe PositionedObjectPropertiesSuggestionState)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SuggestedPositionedObjectProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'spopPositionedObjectProperties'------ * 'spopPositionedObjectPropertiesSuggestionState'-suggestedPositionedObjectProperties-    :: SuggestedPositionedObjectProperties-suggestedPositionedObjectProperties =-  SuggestedPositionedObjectProperties'-    { _spopPositionedObjectProperties = Nothing-    , _spopPositionedObjectPropertiesSuggestionState = Nothing-    }----- | A PositionedObjectProperties that only includes the changes made in this--- suggestion. This can be used along with the--- positioned_object_properties_suggestion_state to see which fields have--- changed and their new values.-spopPositionedObjectProperties :: Lens' SuggestedPositionedObjectProperties (Maybe PositionedObjectProperties)-spopPositionedObjectProperties-  = lens _spopPositionedObjectProperties-      (\ s a -> s{_spopPositionedObjectProperties = a})---- | A mask that indicates which of the fields on the base--- PositionedObjectProperties have been changed in this suggestion.-spopPositionedObjectPropertiesSuggestionState :: Lens' SuggestedPositionedObjectProperties (Maybe PositionedObjectPropertiesSuggestionState)-spopPositionedObjectPropertiesSuggestionState-  = lens _spopPositionedObjectPropertiesSuggestionState-      (\ s a ->-         s{_spopPositionedObjectPropertiesSuggestionState =-             a})--instance FromJSON SuggestedPositionedObjectProperties-         where-        parseJSON-          = withObject "SuggestedPositionedObjectProperties"-              (\ o ->-                 SuggestedPositionedObjectProperties' <$>-                   (o .:? "positionedObjectProperties") <*>-                     (o .:? "positionedObjectPropertiesSuggestionState"))--instance ToJSON SuggestedPositionedObjectProperties-         where-        toJSON SuggestedPositionedObjectProperties'{..}-          = object-              (catMaybes-                 [("positionedObjectProperties" .=) <$>-                    _spopPositionedObjectProperties,-                  ("positionedObjectPropertiesSuggestionState" .=) <$>-                    _spopPositionedObjectPropertiesSuggestionState])---- | The properties of a column in a table.------ /See:/ 'tableColumnProperties' smart constructor.-data TableColumnProperties =-  TableColumnProperties'-    { _tcpWidth     :: !(Maybe Dimension)-    , _tcpWidthType :: !(Maybe TableColumnPropertiesWidthType)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'TableColumnProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tcpWidth'------ * 'tcpWidthType'-tableColumnProperties-    :: TableColumnProperties-tableColumnProperties =-  TableColumnProperties' {_tcpWidth = Nothing, _tcpWidthType = Nothing}----- | The width of the column. Set when the column\'s \`width_type\` is--- FIXED_WIDTH.-tcpWidth :: Lens' TableColumnProperties (Maybe Dimension)-tcpWidth = lens _tcpWidth (\ s a -> s{_tcpWidth = a})---- | The width type of the column.-tcpWidthType :: Lens' TableColumnProperties (Maybe TableColumnPropertiesWidthType)-tcpWidthType-  = lens _tcpWidthType (\ s a -> s{_tcpWidthType = a})--instance FromJSON TableColumnProperties where-        parseJSON-          = withObject "TableColumnProperties"-              (\ o ->-                 TableColumnProperties' <$>-                   (o .:? "width") <*> (o .:? "widthType"))--instance ToJSON TableColumnProperties where-        toJSON TableColumnProperties'{..}-          = object-              (catMaybes-                 [("width" .=) <$> _tcpWidth,-                  ("widthType" .=) <$> _tcpWidthType])---- | Update the styling of all paragraphs that overlap with the given range.------ /See:/ 'updateParagraphStyleRequest' smart constructor.-data UpdateParagraphStyleRequest =-  UpdateParagraphStyleRequest'-    { _upsrRange          :: !(Maybe Range)-    , _upsrFields         :: !(Maybe GFieldMask)-    , _upsrParagraphStyle :: !(Maybe ParagraphStyle)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateParagraphStyleRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'upsrRange'------ * 'upsrFields'------ * 'upsrParagraphStyle'-updateParagraphStyleRequest-    :: UpdateParagraphStyleRequest-updateParagraphStyleRequest =-  UpdateParagraphStyleRequest'-    {_upsrRange = Nothing, _upsrFields = Nothing, _upsrParagraphStyle = Nothing}----- | The range overlapping the paragraphs to style.-upsrRange :: Lens' UpdateParagraphStyleRequest (Maybe Range)-upsrRange-  = lens _upsrRange (\ s a -> s{_upsrRange = a})---- | The fields that should be updated. At least one field must be specified.--- The root \`paragraph_style\` is implied and should not be specified. For--- example, to update the paragraph style\'s alignment property, set--- \`fields\` to \`\"alignment\"\`. To reset a property to its default--- value, include its field name in the field mask but leave the field--- itself unset.-upsrFields :: Lens' UpdateParagraphStyleRequest (Maybe GFieldMask)-upsrFields-  = lens _upsrFields (\ s a -> s{_upsrFields = a})---- | The styles to set on the paragraphs. Certain paragraph style changes may--- cause other changes in order to mirror the behavior of the Docs editor.--- See the documentation of ParagraphStyle for more information.-upsrParagraphStyle :: Lens' UpdateParagraphStyleRequest (Maybe ParagraphStyle)-upsrParagraphStyle-  = lens _upsrParagraphStyle-      (\ s a -> s{_upsrParagraphStyle = a})--instance FromJSON UpdateParagraphStyleRequest where-        parseJSON-          = withObject "UpdateParagraphStyleRequest"-              (\ o ->-                 UpdateParagraphStyleRequest' <$>-                   (o .:? "range") <*> (o .:? "fields") <*>-                     (o .:? "paragraphStyle"))--instance ToJSON UpdateParagraphStyleRequest where-        toJSON UpdateParagraphStyleRequest'{..}-          = object-              (catMaybes-                 [("range" .=) <$> _upsrRange,-                  ("fields" .=) <$> _upsrFields,-                  ("paragraphStyle" .=) <$> _upsrParagraphStyle])---- | Replaces all instances of text matching a criteria with replace text.------ /See:/ 'replaceAllTextRequest' smart constructor.-data ReplaceAllTextRequest =-  ReplaceAllTextRequest'-    { _ratrContainsText :: !(Maybe SubstringMatchCriteria)-    , _ratrReplaceText  :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ReplaceAllTextRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ratrContainsText'------ * 'ratrReplaceText'-replaceAllTextRequest-    :: ReplaceAllTextRequest-replaceAllTextRequest =-  ReplaceAllTextRequest'-    {_ratrContainsText = Nothing, _ratrReplaceText = Nothing}----- | Finds text in the document matching this substring.-ratrContainsText :: Lens' ReplaceAllTextRequest (Maybe SubstringMatchCriteria)-ratrContainsText-  = lens _ratrContainsText-      (\ s a -> s{_ratrContainsText = a})---- | The text that will replace the matched text.-ratrReplaceText :: Lens' ReplaceAllTextRequest (Maybe Text)-ratrReplaceText-  = lens _ratrReplaceText-      (\ s a -> s{_ratrReplaceText = a})--instance FromJSON ReplaceAllTextRequest where-        parseJSON-          = withObject "ReplaceAllTextRequest"-              (\ o ->-                 ReplaceAllTextRequest' <$>-                   (o .:? "containsText") <*> (o .:? "replaceText"))--instance ToJSON ReplaceAllTextRequest where-        toJSON ReplaceAllTextRequest'{..}-          = object-              (catMaybes-                 [("containsText" .=) <$> _ratrContainsText,-                  ("replaceText" .=) <$> _ratrReplaceText])---- | The positioned objects in the document, keyed by object ID.------ /See:/ 'documentPositionedObjects' smart constructor.-newtype DocumentPositionedObjects =-  DocumentPositionedObjects'-    { _dpoAddtional :: HashMap Text PositionedObject-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DocumentPositionedObjects' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dpoAddtional'-documentPositionedObjects-    :: HashMap Text PositionedObject -- ^ 'dpoAddtional'-    -> DocumentPositionedObjects-documentPositionedObjects pDpoAddtional_ =-  DocumentPositionedObjects' {_dpoAddtional = _Coerce # pDpoAddtional_}---dpoAddtional :: Lens' DocumentPositionedObjects (HashMap Text PositionedObject)-dpoAddtional-  = lens _dpoAddtional (\ s a -> s{_dpoAddtional = a})-      . _Coerce--instance FromJSON DocumentPositionedObjects where-        parseJSON-          = withObject "DocumentPositionedObjects"-              (\ o ->-                 DocumentPositionedObjects' <$> (parseJSONObject o))--instance ToJSON DocumentPositionedObjects where-        toJSON = toJSON . _dpoAddtional---- | A single update to apply to a document.------ /See:/ 'request'' smart constructor.-data Request' =-  Request''-    { _reqDeletePositionedObject :: !(Maybe DeletePositionedObjectRequest)-    , _reqCreateParagraphBullets :: !(Maybe CreateParagraphBulletsRequest)-    , _reqInsertText             :: !(Maybe InsertTextRequest)-    , _reqDeleteParagraphBullets :: !(Maybe DeleteParagraphBulletsRequest)-    , _reqDeleteTableRow         :: !(Maybe DeleteTableRowRequest)-    , _reqDeleteNamedRange       :: !(Maybe DeleteNamedRangeRequest)-    , _reqReplaceAllText         :: !(Maybe ReplaceAllTextRequest)-    , _reqUpdateParagraphStyle   :: !(Maybe UpdateParagraphStyleRequest)-    , _reqCreateNamedRange       :: !(Maybe CreateNamedRangeRequest)-    , _reqInsertPageBreak        :: !(Maybe InsertPageBreakRequest)-    , _reqDeleteTableColumn      :: !(Maybe DeleteTableColumnRequest)-    , _reqInsertInlineImage      :: !(Maybe InsertInlineImageRequest)-    , _reqDeleteContentRange     :: !(Maybe DeleteContentRangeRequest)-    , _reqInsertTableRow         :: !(Maybe InsertTableRowRequest)-    , _reqUpdateTextStyle        :: !(Maybe UpdateTextStyleRequest)-    , _reqInsertTable            :: !(Maybe InsertTableRequest)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Request' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'reqDeletePositionedObject'------ * 'reqCreateParagraphBullets'------ * 'reqInsertText'------ * 'reqDeleteParagraphBullets'------ * 'reqDeleteTableRow'------ * 'reqDeleteNamedRange'------ * 'reqReplaceAllText'------ * 'reqUpdateParagraphStyle'------ * 'reqCreateNamedRange'------ * 'reqInsertPageBreak'------ * 'reqDeleteTableColumn'------ * 'reqInsertInlineImage'------ * 'reqDeleteContentRange'------ * 'reqInsertTableRow'------ * 'reqUpdateTextStyle'------ * 'reqInsertTable'-request'-    :: Request'-request' =-  Request''-    { _reqDeletePositionedObject = Nothing-    , _reqCreateParagraphBullets = Nothing-    , _reqInsertText = Nothing-    , _reqDeleteParagraphBullets = Nothing-    , _reqDeleteTableRow = Nothing-    , _reqDeleteNamedRange = Nothing-    , _reqReplaceAllText = Nothing-    , _reqUpdateParagraphStyle = Nothing-    , _reqCreateNamedRange = Nothing-    , _reqInsertPageBreak = Nothing-    , _reqDeleteTableColumn = Nothing-    , _reqInsertInlineImage = Nothing-    , _reqDeleteContentRange = Nothing-    , _reqInsertTableRow = Nothing-    , _reqUpdateTextStyle = Nothing-    , _reqInsertTable = Nothing-    }----- | Deletes a positioned object from the document.-reqDeletePositionedObject :: Lens' Request' (Maybe DeletePositionedObjectRequest)-reqDeletePositionedObject-  = lens _reqDeletePositionedObject-      (\ s a -> s{_reqDeletePositionedObject = a})---- | Creates bullets for paragraphs.-reqCreateParagraphBullets :: Lens' Request' (Maybe CreateParagraphBulletsRequest)-reqCreateParagraphBullets-  = lens _reqCreateParagraphBullets-      (\ s a -> s{_reqCreateParagraphBullets = a})---- | Inserts text at the specified location.-reqInsertText :: Lens' Request' (Maybe InsertTextRequest)-reqInsertText-  = lens _reqInsertText-      (\ s a -> s{_reqInsertText = a})---- | Deletes bullets from paragraphs.-reqDeleteParagraphBullets :: Lens' Request' (Maybe DeleteParagraphBulletsRequest)-reqDeleteParagraphBullets-  = lens _reqDeleteParagraphBullets-      (\ s a -> s{_reqDeleteParagraphBullets = a})---- | Deletes a row from a table.-reqDeleteTableRow :: Lens' Request' (Maybe DeleteTableRowRequest)-reqDeleteTableRow-  = lens _reqDeleteTableRow-      (\ s a -> s{_reqDeleteTableRow = a})---- | Deletes a named range.-reqDeleteNamedRange :: Lens' Request' (Maybe DeleteNamedRangeRequest)-reqDeleteNamedRange-  = lens _reqDeleteNamedRange-      (\ s a -> s{_reqDeleteNamedRange = a})---- | Replaces all instances of the specified text.-reqReplaceAllText :: Lens' Request' (Maybe ReplaceAllTextRequest)-reqReplaceAllText-  = lens _reqReplaceAllText-      (\ s a -> s{_reqReplaceAllText = a})---- | Updates the paragraph style at the specified range.-reqUpdateParagraphStyle :: Lens' Request' (Maybe UpdateParagraphStyleRequest)-reqUpdateParagraphStyle-  = lens _reqUpdateParagraphStyle-      (\ s a -> s{_reqUpdateParagraphStyle = a})---- | Creates a named range.-reqCreateNamedRange :: Lens' Request' (Maybe CreateNamedRangeRequest)-reqCreateNamedRange-  = lens _reqCreateNamedRange-      (\ s a -> s{_reqCreateNamedRange = a})---- | Inserts a page break at the specified location.-reqInsertPageBreak :: Lens' Request' (Maybe InsertPageBreakRequest)-reqInsertPageBreak-  = lens _reqInsertPageBreak-      (\ s a -> s{_reqInsertPageBreak = a})---- | Deletes a column from a table.-reqDeleteTableColumn :: Lens' Request' (Maybe DeleteTableColumnRequest)-reqDeleteTableColumn-  = lens _reqDeleteTableColumn-      (\ s a -> s{_reqDeleteTableColumn = a})---- | Inserts an inline image at the specified location.-reqInsertInlineImage :: Lens' Request' (Maybe InsertInlineImageRequest)-reqInsertInlineImage-  = lens _reqInsertInlineImage-      (\ s a -> s{_reqInsertInlineImage = a})---- | Deletes content from the document.-reqDeleteContentRange :: Lens' Request' (Maybe DeleteContentRangeRequest)-reqDeleteContentRange-  = lens _reqDeleteContentRange-      (\ s a -> s{_reqDeleteContentRange = a})---- | Inserts an empty row into a table.-reqInsertTableRow :: Lens' Request' (Maybe InsertTableRowRequest)-reqInsertTableRow-  = lens _reqInsertTableRow-      (\ s a -> s{_reqInsertTableRow = a})---- | Updates the text style at the specified range.-reqUpdateTextStyle :: Lens' Request' (Maybe UpdateTextStyleRequest)-reqUpdateTextStyle-  = lens _reqUpdateTextStyle-      (\ s a -> s{_reqUpdateTextStyle = a})---- | Inserts a table at the specified location.-reqInsertTable :: Lens' Request' (Maybe InsertTableRequest)-reqInsertTable-  = lens _reqInsertTable-      (\ s a -> s{_reqInsertTable = a})--instance FromJSON Request' where-        parseJSON-          = withObject "Request"-              (\ o ->-                 Request'' <$>-                   (o .:? "deletePositionedObject") <*>-                     (o .:? "createParagraphBullets")-                     <*> (o .:? "insertText")-                     <*> (o .:? "deleteParagraphBullets")-                     <*> (o .:? "deleteTableRow")-                     <*> (o .:? "deleteNamedRange")-                     <*> (o .:? "replaceAllText")-                     <*> (o .:? "updateParagraphStyle")-                     <*> (o .:? "createNamedRange")-                     <*> (o .:? "insertPageBreak")-                     <*> (o .:? "deleteTableColumn")-                     <*> (o .:? "insertInlineImage")-                     <*> (o .:? "deleteContentRange")-                     <*> (o .:? "insertTableRow")-                     <*> (o .:? "updateTextStyle")-                     <*> (o .:? "insertTable"))--instance ToJSON Request' where-        toJSON Request''{..}-          = object-              (catMaybes-                 [("deletePositionedObject" .=) <$>-                    _reqDeletePositionedObject,-                  ("createParagraphBullets" .=) <$>-                    _reqCreateParagraphBullets,-                  ("insertText" .=) <$> _reqInsertText,-                  ("deleteParagraphBullets" .=) <$>-                    _reqDeleteParagraphBullets,-                  ("deleteTableRow" .=) <$> _reqDeleteTableRow,-                  ("deleteNamedRange" .=) <$> _reqDeleteNamedRange,-                  ("replaceAllText" .=) <$> _reqReplaceAllText,-                  ("updateParagraphStyle" .=) <$>-                    _reqUpdateParagraphStyle,-                  ("createNamedRange" .=) <$> _reqCreateNamedRange,-                  ("insertPageBreak" .=) <$> _reqInsertPageBreak,-                  ("deleteTableColumn" .=) <$> _reqDeleteTableColumn,-                  ("insertInlineImage" .=) <$> _reqInsertInlineImage,-                  ("deleteContentRange" .=) <$> _reqDeleteContentRange,-                  ("insertTableRow" .=) <$> _reqInsertTableRow,-                  ("updateTextStyle" .=) <$> _reqUpdateTextStyle,-                  ("insertTable" .=) <$> _reqInsertTable])---- | The suggested changes to the positioned object properties, keyed by--- suggestion ID.------ /See:/ 'positionedObjectSuggestedPositionedObjectPropertiesChanges' smart constructor.-newtype PositionedObjectSuggestedPositionedObjectPropertiesChanges =-  PositionedObjectSuggestedPositionedObjectPropertiesChanges'-    { _pospopcAddtional :: HashMap Text SuggestedPositionedObjectProperties-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'PositionedObjectSuggestedPositionedObjectPropertiesChanges' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pospopcAddtional'-positionedObjectSuggestedPositionedObjectPropertiesChanges-    :: HashMap Text SuggestedPositionedObjectProperties -- ^ 'pospopcAddtional'-    -> PositionedObjectSuggestedPositionedObjectPropertiesChanges-positionedObjectSuggestedPositionedObjectPropertiesChanges pPospopcAddtional_ =-  PositionedObjectSuggestedPositionedObjectPropertiesChanges'-    {_pospopcAddtional = _Coerce # pPospopcAddtional_}---pospopcAddtional :: Lens' PositionedObjectSuggestedPositionedObjectPropertiesChanges (HashMap Text SuggestedPositionedObjectProperties)-pospopcAddtional-  = lens _pospopcAddtional-      (\ s a -> s{_pospopcAddtional = a})-      . _Coerce--instance FromJSON-           PositionedObjectSuggestedPositionedObjectPropertiesChanges-         where-        parseJSON-          = withObject-              "PositionedObjectSuggestedPositionedObjectPropertiesChanges"-              (\ o ->-                 PositionedObjectSuggestedPositionedObjectPropertiesChanges'-                   <$> (parseJSONObject o))--instance ToJSON-           PositionedObjectSuggestedPositionedObjectPropertiesChanges-         where-        toJSON = toJSON . _pospopcAddtional---- | A criteria that matches a specific string of text in the document.------ /See:/ 'substringMatchCriteria' smart constructor.-data SubstringMatchCriteria =-  SubstringMatchCriteria'-    { _smcMatchCase :: !(Maybe Bool)-    , _smcText      :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SubstringMatchCriteria' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'smcMatchCase'------ * 'smcText'-substringMatchCriteria-    :: SubstringMatchCriteria-substringMatchCriteria =-  SubstringMatchCriteria' {_smcMatchCase = Nothing, _smcText = Nothing}----- | Indicates whether the search should respect case: - \`True\`: the search--- is case sensitive. - \`False\`: the search is case insensitive.-smcMatchCase :: Lens' SubstringMatchCriteria (Maybe Bool)-smcMatchCase-  = lens _smcMatchCase (\ s a -> s{_smcMatchCase = a})---- | The text to search for in the document.-smcText :: Lens' SubstringMatchCriteria (Maybe Text)-smcText = lens _smcText (\ s a -> s{_smcText = a})--instance FromJSON SubstringMatchCriteria where-        parseJSON-          = withObject "SubstringMatchCriteria"-              (\ o ->-                 SubstringMatchCriteria' <$>-                   (o .:? "matchCase") <*> (o .:? "text"))--instance ToJSON SubstringMatchCriteria where-        toJSON SubstringMatchCriteria'{..}-          = object-              (catMaybes-                 [("matchCase" .=) <$> _smcMatchCase,-                  ("text" .=) <$> _smcText])
− gen/Network/Google/Docs/Types/Sum.hs
@@ -1,1157 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE LambdaCase         #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- |--- Module      : Network.Google.Docs.Types.Sum--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.Google.Docs.Types.Sum where--import           Network.Google.Prelude hiding (Bytes)---- | The text direction of this paragraph. If unset, the value defaults to--- LEFT_TO_RIGHT since paragraph direction is not inherited.-data ParagraphStyleDirection-    = ContentDirectionUnspecified-      -- ^ @CONTENT_DIRECTION_UNSPECIFIED@-      -- The content direction is unspecified.-    | LeftToRight-      -- ^ @LEFT_TO_RIGHT@-      -- The content goes from left to right.-    | RightToLeft-      -- ^ @RIGHT_TO_LEFT@-      -- The content goes from right to left.-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable ParagraphStyleDirection--instance FromHttpApiData ParagraphStyleDirection where-    parseQueryParam = \case-        "CONTENT_DIRECTION_UNSPECIFIED" -> Right ContentDirectionUnspecified-        "LEFT_TO_RIGHT" -> Right LeftToRight-        "RIGHT_TO_LEFT" -> Right RightToLeft-        x -> Left ("Unable to parse ParagraphStyleDirection from: " <> x)--instance ToHttpApiData ParagraphStyleDirection where-    toQueryParam = \case-        ContentDirectionUnspecified -> "CONTENT_DIRECTION_UNSPECIFIED"-        LeftToRight -> "LEFT_TO_RIGHT"-        RightToLeft -> "RIGHT_TO_LEFT"--instance FromJSON ParagraphStyleDirection where-    parseJSON = parseJSONText "ParagraphStyleDirection"--instance ToJSON ParagraphStyleDirection where-    toJSON = toJSONText---- | 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.-data TextStyleBaselineOffSet-    = BaselineOffSetUnspecified-      -- ^ @BASELINE_OFFSET_UNSPECIFIED@-      -- The text\'s baseline offset is inherited from the parent.-    | None-      -- ^ @NONE@-      -- The text is not vertically offset.-    | Superscript-      -- ^ @SUPERSCRIPT@-      -- The text is vertically offset upwards (superscript).-    | Subscript-      -- ^ @SUBSCRIPT@-      -- The text is vertically offset downwards (subscript).-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable TextStyleBaselineOffSet--instance FromHttpApiData TextStyleBaselineOffSet where-    parseQueryParam = \case-        "BASELINE_OFFSET_UNSPECIFIED" -> Right BaselineOffSetUnspecified-        "NONE" -> Right None-        "SUPERSCRIPT" -> Right Superscript-        "SUBSCRIPT" -> Right Subscript-        x -> Left ("Unable to parse TextStyleBaselineOffSet from: " <> x)--instance ToHttpApiData TextStyleBaselineOffSet where-    toQueryParam = \case-        BaselineOffSetUnspecified -> "BASELINE_OFFSET_UNSPECIFIED"-        None -> "NONE"-        Superscript -> "SUPERSCRIPT"-        Subscript -> "SUBSCRIPT"--instance FromJSON TextStyleBaselineOffSet where-    parseJSON = parseJSONText "TextStyleBaselineOffSet"--instance ToJSON TextStyleBaselineOffSet where-    toJSON = toJSONText---- | The width type of the column.-data TableColumnPropertiesWidthType-    = WidthTypeUnspecified-      -- ^ @WIDTH_TYPE_UNSPECIFIED@-      -- The column width type is unspecified.-    | EvenlyDistributed-      -- ^ @EVENLY_DISTRIBUTED@-      -- The column width is evenly distributed among the other evenly distrubted-      -- columns. The width of the column is automatically determined and will-      -- have an equal portion of the width remaining for the table after-      -- accounting for all columns with specified widths.-    | FixedWidth-      -- ^ @FIXED_WIDTH@-      -- A fixed column width. The width property contains the column\'s width.-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable TableColumnPropertiesWidthType--instance FromHttpApiData TableColumnPropertiesWidthType where-    parseQueryParam = \case-        "WIDTH_TYPE_UNSPECIFIED" -> Right WidthTypeUnspecified-        "EVENLY_DISTRIBUTED" -> Right EvenlyDistributed-        "FIXED_WIDTH" -> Right FixedWidth-        x -> Left ("Unable to parse TableColumnPropertiesWidthType from: " <> x)--instance ToHttpApiData TableColumnPropertiesWidthType where-    toQueryParam = \case-        WidthTypeUnspecified -> "WIDTH_TYPE_UNSPECIFIED"-        EvenlyDistributed -> "EVENLY_DISTRIBUTED"-        FixedWidth -> "FIXED_WIDTH"--instance FromJSON TableColumnPropertiesWidthType where-    parseJSON = parseJSONText "TableColumnPropertiesWidthType"--instance ToJSON TableColumnPropertiesWidthType where-    toJSON = toJSONText---- | The kinds of bullet glyphs to be used.-data CreateParagraphBulletsRequestBulletPreset-    = BulletGlyphPresetUnspecified-      -- ^ @BULLET_GLYPH_PRESET_UNSPECIFIED@-      -- The bullet glyph preset is unspecified.-    | BulletDiscCircleSquare-      -- ^ @BULLET_DISC_CIRCLE_SQUARE@-      -- A bulleted list with a \`DISC\`, \`CIRCLE\` and \`SQUARE\` bullet glyph-      -- for the first 3 list nesting levels.-    | BulletDiamondxARROW3DSquare-      -- ^ @BULLET_DIAMONDX_ARROW3D_SQUARE@-      -- A bulleted list with a \`DIAMONDX\`, \`ARROW3D\` and \`SQUARE\` bullet-      -- glyph for the first 3 list nesting levels.-    | BulletCheckbox-      -- ^ @BULLET_CHECKBOX@-      -- A bulleted list with \`CHECKBOX\` bullet glyphs for all list nesting-      -- levels.-    | BulletArrowDiamondDisc-      -- ^ @BULLET_ARROW_DIAMOND_DISC@-      -- A bulleted list with a \`ARROW\`, \`DIAMOND\` and \`DISC\` bullet glyph-      -- for the first 3 list nesting levels.-    | BulletStarCircleSquare-      -- ^ @BULLET_STAR_CIRCLE_SQUARE@-      -- A bulleted list with a \`STAR\`, \`CIRCLE\` and \`SQUARE\` bullet glyph-      -- for the first 3 list nesting levels.-    | BulletARROW3DCircleSquare-      -- ^ @BULLET_ARROW3D_CIRCLE_SQUARE@-      -- A bulleted list with a \`ARROW3D\`, \`CIRCLE\` and \`SQUARE\` bullet-      -- glyph for the first 3 list nesting levels.-    | BulletLefttriangleDiamondDisc-      -- ^ @BULLET_LEFTTRIANGLE_DIAMOND_DISC@-      -- A bulleted list with a \`LEFTTRIANGLE\`, \`DIAMOND\` and \`DISC\` bullet-      -- glyph for the first 3 list nesting levels.-    | BulletDiamondxHollowdiamondSquare-      -- ^ @BULLET_DIAMONDX_HOLLOWDIAMOND_SQUARE@-      -- A bulleted list with a \`DIAMONDX\`, \`HOLLOWDIAMOND\` and \`SQUARE\`-      -- bullet glyph for the first 3 list nesting levels.-    | BulletDiamondCircleSquare-      -- ^ @BULLET_DIAMOND_CIRCLE_SQUARE@-      -- A bulleted list with a \`DIAMOND\`, \`CIRCLE\` and \`SQUARE\` bullet-      -- glyph for the first 3 list nesting levels.-    | NumberedDecimalAlphaRoman-      -- ^ @NUMBERED_DECIMAL_ALPHA_ROMAN@-      -- A numbered list with \`DECIMAL\`, \`ALPHA\` and \`ROMAN\` numeric glyphs-      -- for the first 3 list nesting levels, followed by periods.-    | NumberedDecimalAlphaRomanParens-      -- ^ @NUMBERED_DECIMAL_ALPHA_ROMAN_PARENS@-      -- A numbered list with \`DECIMAL\`, \`ALPHA\` and \`ROMAN\` numeric glyphs-      -- for the first 3 list nesting levels, followed by parenthesis.-    | NumberedDecimalNested-      -- ^ @NUMBERED_DECIMAL_NESTED@-      -- A numbered list with \`DECIMAL\` numeric glyphs separated by periods,-      -- where each nesting level uses the previous nesting level\'s glyph as a-      -- prefix. For example: \'1.\', \'1.1.\', \'2.\', \'2.2.\'.-    | NumberedUpperalphaAlphaRoman-      -- ^ @NUMBERED_UPPERALPHA_ALPHA_ROMAN@-      -- A numbered list with \`UPPERALPHA\`, \`ALPHA\` and \`ROMAN\` numeric-      -- glyphs for the first 3 list nesting levels, followed by periods.-    | NumberedUpperromanUpperalphaDecimal-      -- ^ @NUMBERED_UPPERROMAN_UPPERALPHA_DECIMAL@-      -- A numbered list with \`UPPERROMAN\`, \`UPPERALPHA\` and \`DECIMAL\`-      -- numeric glyphs for the first 3 list nesting levels, followed by periods.-    | NumberedZerodecimalAlphaRoman-      -- ^ @NUMBERED_ZERODECIMAL_ALPHA_ROMAN@-      -- A numbered list with \`ZERODECIMAL\`, \`ALPHA\` and \`ROMAN\` numeric-      -- glyphs for the first 3 list nesting levels, followed by periods.-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable CreateParagraphBulletsRequestBulletPreset--instance FromHttpApiData CreateParagraphBulletsRequestBulletPreset where-    parseQueryParam = \case-        "BULLET_GLYPH_PRESET_UNSPECIFIED" -> Right BulletGlyphPresetUnspecified-        "BULLET_DISC_CIRCLE_SQUARE" -> Right BulletDiscCircleSquare-        "BULLET_DIAMONDX_ARROW3D_SQUARE" -> Right BulletDiamondxARROW3DSquare-        "BULLET_CHECKBOX" -> Right BulletCheckbox-        "BULLET_ARROW_DIAMOND_DISC" -> Right BulletArrowDiamondDisc-        "BULLET_STAR_CIRCLE_SQUARE" -> Right BulletStarCircleSquare-        "BULLET_ARROW3D_CIRCLE_SQUARE" -> Right BulletARROW3DCircleSquare-        "BULLET_LEFTTRIANGLE_DIAMOND_DISC" -> Right BulletLefttriangleDiamondDisc-        "BULLET_DIAMONDX_HOLLOWDIAMOND_SQUARE" -> Right BulletDiamondxHollowdiamondSquare-        "BULLET_DIAMOND_CIRCLE_SQUARE" -> Right BulletDiamondCircleSquare-        "NUMBERED_DECIMAL_ALPHA_ROMAN" -> Right NumberedDecimalAlphaRoman-        "NUMBERED_DECIMAL_ALPHA_ROMAN_PARENS" -> Right NumberedDecimalAlphaRomanParens-        "NUMBERED_DECIMAL_NESTED" -> Right NumberedDecimalNested-        "NUMBERED_UPPERALPHA_ALPHA_ROMAN" -> Right NumberedUpperalphaAlphaRoman-        "NUMBERED_UPPERROMAN_UPPERALPHA_DECIMAL" -> Right NumberedUpperromanUpperalphaDecimal-        "NUMBERED_ZERODECIMAL_ALPHA_ROMAN" -> Right NumberedZerodecimalAlphaRoman-        x -> Left ("Unable to parse CreateParagraphBulletsRequestBulletPreset from: " <> x)--instance ToHttpApiData CreateParagraphBulletsRequestBulletPreset where-    toQueryParam = \case-        BulletGlyphPresetUnspecified -> "BULLET_GLYPH_PRESET_UNSPECIFIED"-        BulletDiscCircleSquare -> "BULLET_DISC_CIRCLE_SQUARE"-        BulletDiamondxARROW3DSquare -> "BULLET_DIAMONDX_ARROW3D_SQUARE"-        BulletCheckbox -> "BULLET_CHECKBOX"-        BulletArrowDiamondDisc -> "BULLET_ARROW_DIAMOND_DISC"-        BulletStarCircleSquare -> "BULLET_STAR_CIRCLE_SQUARE"-        BulletARROW3DCircleSquare -> "BULLET_ARROW3D_CIRCLE_SQUARE"-        BulletLefttriangleDiamondDisc -> "BULLET_LEFTTRIANGLE_DIAMOND_DISC"-        BulletDiamondxHollowdiamondSquare -> "BULLET_DIAMONDX_HOLLOWDIAMOND_SQUARE"-        BulletDiamondCircleSquare -> "BULLET_DIAMOND_CIRCLE_SQUARE"-        NumberedDecimalAlphaRoman -> "NUMBERED_DECIMAL_ALPHA_ROMAN"-        NumberedDecimalAlphaRomanParens -> "NUMBERED_DECIMAL_ALPHA_ROMAN_PARENS"-        NumberedDecimalNested -> "NUMBERED_DECIMAL_NESTED"-        NumberedUpperalphaAlphaRoman -> "NUMBERED_UPPERALPHA_ALPHA_ROMAN"-        NumberedUpperromanUpperalphaDecimal -> "NUMBERED_UPPERROMAN_UPPERALPHA_DECIMAL"-        NumberedZerodecimalAlphaRoman -> "NUMBERED_ZERODECIMAL_ALPHA_ROMAN"--instance FromJSON CreateParagraphBulletsRequestBulletPreset where-    parseJSON = parseJSONText "CreateParagraphBulletsRequestBulletPreset"--instance ToJSON CreateParagraphBulletsRequestBulletPreset where-    toJSON = toJSONText---- | The dash style of the border.-data TableCellBOrderDashStyle-    = DashStyleUnspecified-      -- ^ @DASH_STYLE_UNSPECIFIED@-      -- Unspecified dash style.-    | Solid-      -- ^ @SOLID@-      -- Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value-      -- \'solid\'. This is the default dash style.-    | Dot-      -- ^ @DOT@-      -- Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value \'dot\'.-    | Dash-      -- ^ @DASH@-      -- Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value-      -- \'dash\'.-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable TableCellBOrderDashStyle--instance FromHttpApiData TableCellBOrderDashStyle where-    parseQueryParam = \case-        "DASH_STYLE_UNSPECIFIED" -> Right DashStyleUnspecified-        "SOLID" -> Right Solid-        "DOT" -> Right Dot-        "DASH" -> Right Dash-        x -> Left ("Unable to parse TableCellBOrderDashStyle from: " <> x)--instance ToHttpApiData TableCellBOrderDashStyle where-    toQueryParam = \case-        DashStyleUnspecified -> "DASH_STYLE_UNSPECIFIED"-        Solid -> "SOLID"-        Dot -> "DOT"-        Dash -> "DASH"--instance FromJSON TableCellBOrderDashStyle where-    parseJSON = parseJSONText "TableCellBOrderDashStyle"--instance ToJSON TableCellBOrderDashStyle where-    toJSON = toJSONText---- | The named style type of the paragraph. Since updating the named style--- type affects other properties within ParagraphStyle, the named style--- type is applied before the other properties are updated.-data ParagraphStyleNamedStyleType-    = NamedStyleTypeUnspecified-      -- ^ @NAMED_STYLE_TYPE_UNSPECIFIED@-      -- The type of named style is unspecified.-    | NormalText-      -- ^ @NORMAL_TEXT@-      -- Normal text.-    | Title-      -- ^ @TITLE@-      -- Title.-    | Subtitle-      -- ^ @SUBTITLE@-      -- Subtitle.-    | Heading1-      -- ^ @HEADING_1@-      -- Heading 1.-    | Heading2-      -- ^ @HEADING_2@-      -- Heading 2.-    | Heading3-      -- ^ @HEADING_3@-      -- Heading 3.-    | Heading4-      -- ^ @HEADING_4@-      -- Heading 4.-    | Heading5-      -- ^ @HEADING_5@-      -- Heading 5.-    | Heading6-      -- ^ @HEADING_6@-      -- Heading 6.-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable ParagraphStyleNamedStyleType--instance FromHttpApiData ParagraphStyleNamedStyleType where-    parseQueryParam = \case-        "NAMED_STYLE_TYPE_UNSPECIFIED" -> Right NamedStyleTypeUnspecified-        "NORMAL_TEXT" -> Right NormalText-        "TITLE" -> Right Title-        "SUBTITLE" -> Right Subtitle-        "HEADING_1" -> Right Heading1-        "HEADING_2" -> Right Heading2-        "HEADING_3" -> Right Heading3-        "HEADING_4" -> Right Heading4-        "HEADING_5" -> Right Heading5-        "HEADING_6" -> Right Heading6-        x -> Left ("Unable to parse ParagraphStyleNamedStyleType from: " <> x)--instance ToHttpApiData ParagraphStyleNamedStyleType where-    toQueryParam = \case-        NamedStyleTypeUnspecified -> "NAMED_STYLE_TYPE_UNSPECIFIED"-        NormalText -> "NORMAL_TEXT"-        Title -> "TITLE"-        Subtitle -> "SUBTITLE"-        Heading1 -> "HEADING_1"-        Heading2 -> "HEADING_2"-        Heading3 -> "HEADING_3"-        Heading4 -> "HEADING_4"-        Heading5 -> "HEADING_5"-        Heading6 -> "HEADING_6"--instance FromJSON ParagraphStyleNamedStyleType where-    parseJSON = parseJSONText "ParagraphStyleNamedStyleType"--instance ToJSON ParagraphStyleNamedStyleType where-    toJSON = toJSONText---- | The alignment of this tab stop. If unset, the value defaults to START.-data TabStopAlignment-    = TabStopAlignmentUnspecified-      -- ^ @TAB_STOP_ALIGNMENT_UNSPECIFIED@-      -- The tab stop alignment is unspecified.-    | Start-      -- ^ @START@-      -- The tab stop is aligned to the start of the line. This is the default.-    | Center-      -- ^ @CENTER@-      -- The tab stop is aligned to the center of the line.-    | End-      -- ^ @END@-      -- The tab stop is aligned to the end of the line.-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable TabStopAlignment--instance FromHttpApiData TabStopAlignment where-    parseQueryParam = \case-        "TAB_STOP_ALIGNMENT_UNSPECIFIED" -> Right TabStopAlignmentUnspecified-        "START" -> Right Start-        "CENTER" -> Right Center-        "END" -> Right End-        x -> Left ("Unable to parse TabStopAlignment from: " <> x)--instance ToHttpApiData TabStopAlignment where-    toQueryParam = \case-        TabStopAlignmentUnspecified -> "TAB_STOP_ALIGNMENT_UNSPECIFIED"-        Start -> "START"-        Center -> "CENTER"-        End -> "END"--instance FromJSON TabStopAlignment where-    parseJSON = parseJSONText "TabStopAlignment"--instance ToJSON TabStopAlignment where-    toJSON = toJSONText---- | The type of glyph used by bullets when paragraphs at this level of--- nesting are ordered. The glyph type determines the type of glyph used to--- replace placeholders within the glyph_format when paragraphs at this--- level of nesting are ordered. For example, if the nesting level is 0,--- the glyph_format is \`%0.\` and the glyph type is DECIMAL, then the--- rendered glyph would replace the placeholder \`%0\` in the glyph format--- with a number corresponding to list item\'s order within the list.-data NestingLevelGlyphType-    = NLGTGlyphTypeUnspecified-      -- ^ @GLYPH_TYPE_UNSPECIFIED@-      -- The glyph type is unspecified or unsupported.-    | NLGTNone-      -- ^ @NONE@-      -- An empty string.-    | NLGTDecimal-      -- ^ @DECIMAL@-      -- A number, like \`1\`, \`2\`, or \`3\`.-    | NLGTZeroDecimal-      -- ^ @ZERO_DECIMAL@-      -- A number where single digit numbers are prefixed with a zero, like-      -- \`01\`, \`02\`, or \`03\`. Numbers with more than one digit are not-      -- prefixed with a zero.-    | NLGTUpperAlpha-      -- ^ @UPPER_ALPHA@-      -- An uppercase letter, like \`A\`, \`B\`, or \`C\`.-    | NLGTAlpha-      -- ^ @ALPHA@-      -- A lowercase letter, like \`a\`, \`b\`, or \`c\`.-    | NLGTUpperRoman-      -- ^ @UPPER_ROMAN@-      -- An uppercase Roman numeral, like \`I\`, \`II\`, or \`III\`.-    | NLGTRoman-      -- ^ @ROMAN@-      -- A lowercase Roman numeral, like \`i\`, \`ii\`, or \`iii\`.-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable NestingLevelGlyphType--instance FromHttpApiData NestingLevelGlyphType where-    parseQueryParam = \case-        "GLYPH_TYPE_UNSPECIFIED" -> Right NLGTGlyphTypeUnspecified-        "NONE" -> Right NLGTNone-        "DECIMAL" -> Right NLGTDecimal-        "ZERO_DECIMAL" -> Right NLGTZeroDecimal-        "UPPER_ALPHA" -> Right NLGTUpperAlpha-        "ALPHA" -> Right NLGTAlpha-        "UPPER_ROMAN" -> Right NLGTUpperRoman-        "ROMAN" -> Right NLGTRoman-        x -> Left ("Unable to parse NestingLevelGlyphType from: " <> x)--instance ToHttpApiData NestingLevelGlyphType where-    toQueryParam = \case-        NLGTGlyphTypeUnspecified -> "GLYPH_TYPE_UNSPECIFIED"-        NLGTNone -> "NONE"-        NLGTDecimal -> "DECIMAL"-        NLGTZeroDecimal -> "ZERO_DECIMAL"-        NLGTUpperAlpha -> "UPPER_ALPHA"-        NLGTAlpha -> "ALPHA"-        NLGTUpperRoman -> "UPPER_ROMAN"-        NLGTRoman -> "ROMAN"--instance FromJSON NestingLevelGlyphType where-    parseJSON = parseJSONText "NestingLevelGlyphType"--instance ToJSON NestingLevelGlyphType where-    toJSON = toJSONText---- | The dash style of the border.-data ParagraphBOrderDashStyle-    = PBODSDashStyleUnspecified-      -- ^ @DASH_STYLE_UNSPECIFIED@-      -- Unspecified dash style.-    | PBODSSolid-      -- ^ @SOLID@-      -- Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value-      -- \'solid\'. This is the default dash style.-    | PBODSDot-      -- ^ @DOT@-      -- Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value \'dot\'.-    | PBODSDash-      -- ^ @DASH@-      -- Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value-      -- \'dash\'.-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable ParagraphBOrderDashStyle--instance FromHttpApiData ParagraphBOrderDashStyle where-    parseQueryParam = \case-        "DASH_STYLE_UNSPECIFIED" -> Right PBODSDashStyleUnspecified-        "SOLID" -> Right PBODSSolid-        "DOT" -> Right PBODSDot-        "DASH" -> Right PBODSDash-        x -> Left ("Unable to parse ParagraphBOrderDashStyle from: " <> x)--instance ToHttpApiData ParagraphBOrderDashStyle where-    toQueryParam = \case-        PBODSDashStyleUnspecified -> "DASH_STYLE_UNSPECIFIED"-        PBODSSolid -> "SOLID"-        PBODSDot -> "DOT"-        PBODSDash -> "DASH"--instance FromJSON ParagraphBOrderDashStyle where-    parseJSON = parseJSONText "ParagraphBOrderDashStyle"--instance ToJSON ParagraphBOrderDashStyle where-    toJSON = toJSONText---- | The text alignment for this paragraph.-data ParagraphStyleAlignment-    = PSAAlignmentUnspecified-      -- ^ @ALIGNMENT_UNSPECIFIED@-      -- The paragraph alignment is inherited from the parent.-    | PSAStart-      -- ^ @START@-      -- The paragraph is aligned to the start of the line. Left-aligned for LTR-      -- text, right-aligned otherwise.-    | PSACenter-      -- ^ @CENTER@-      -- The paragraph is centered.-    | PSAEnd-      -- ^ @END@-      -- The paragraph is aligned to the end of the line. Right-aligned for LTR-      -- text, left-aligned otherwise.-    | PSAJustified-      -- ^ @JUSTIFIED@-      -- The paragraph is justified.-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable ParagraphStyleAlignment--instance FromHttpApiData ParagraphStyleAlignment where-    parseQueryParam = \case-        "ALIGNMENT_UNSPECIFIED" -> Right PSAAlignmentUnspecified-        "START" -> Right PSAStart-        "CENTER" -> Right PSACenter-        "END" -> Right PSAEnd-        "JUSTIFIED" -> Right PSAJustified-        x -> Left ("Unable to parse ParagraphStyleAlignment from: " <> x)--instance ToHttpApiData ParagraphStyleAlignment where-    toQueryParam = \case-        PSAAlignmentUnspecified -> "ALIGNMENT_UNSPECIFIED"-        PSAStart -> "START"-        PSACenter -> "CENTER"-        PSAEnd -> "END"-        PSAJustified -> "JUSTIFIED"--instance FromJSON ParagraphStyleAlignment where-    parseJSON = parseJSONText "ParagraphStyleAlignment"--instance ToJSON ParagraphStyleAlignment where-    toJSON = toJSONText---- | The property state of the border property.-data EmbeddedObjectBOrderPropertyState-    = Rendered-      -- ^ @RENDERED@-      -- If a property\'s state is RENDERED, then the element has the-      -- corresponding property when rendered in the document. This is the-      -- default value.-    | NotRendered-      -- ^ @NOT_RENDERED@-      -- If a property\'s state is NOT_RENDERED, then the element does not have-      -- the corresponding property when rendered in the document.-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable EmbeddedObjectBOrderPropertyState--instance FromHttpApiData EmbeddedObjectBOrderPropertyState where-    parseQueryParam = \case-        "RENDERED" -> Right Rendered-        "NOT_RENDERED" -> Right NotRendered-        x -> Left ("Unable to parse EmbeddedObjectBOrderPropertyState from: " <> x)--instance ToHttpApiData EmbeddedObjectBOrderPropertyState where-    toQueryParam = \case-        Rendered -> "RENDERED"-        NotRendered -> "NOT_RENDERED"--instance FromJSON EmbeddedObjectBOrderPropertyState where-    parseJSON = parseJSONText "EmbeddedObjectBOrderPropertyState"--instance ToJSON EmbeddedObjectBOrderPropertyState where-    toJSON = toJSONText---- | The style of column separators. This style can be set even when there is--- one column in the section.-data SectionStyleColumnSeparatorStyle-    = SSCSSColumnSeparatorStyleUnspecified-      -- ^ @COLUMN_SEPARATOR_STYLE_UNSPECIFIED@-      -- An unspecified column separator style.-    | SSCSSNone-      -- ^ @NONE@-      -- No column separator lines between columns.-    | SSCSSBetweenEachColumn-      -- ^ @BETWEEN_EACH_COLUMN@-      -- Renders a column separator line between each column.-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable SectionStyleColumnSeparatorStyle--instance FromHttpApiData SectionStyleColumnSeparatorStyle where-    parseQueryParam = \case-        "COLUMN_SEPARATOR_STYLE_UNSPECIFIED" -> Right SSCSSColumnSeparatorStyleUnspecified-        "NONE" -> Right SSCSSNone-        "BETWEEN_EACH_COLUMN" -> Right SSCSSBetweenEachColumn-        x -> Left ("Unable to parse SectionStyleColumnSeparatorStyle from: " <> x)--instance ToHttpApiData SectionStyleColumnSeparatorStyle where-    toQueryParam = \case-        SSCSSColumnSeparatorStyleUnspecified -> "COLUMN_SEPARATOR_STYLE_UNSPECIFIED"-        SSCSSNone -> "NONE"-        SSCSSBetweenEachColumn -> "BETWEEN_EACH_COLUMN"--instance FromJSON SectionStyleColumnSeparatorStyle where-    parseJSON = parseJSONText "SectionStyleColumnSeparatorStyle"--instance ToJSON SectionStyleColumnSeparatorStyle where-    toJSON = toJSONText---- | V1 error format.-data Xgafv-    = X1-      -- ^ @1@-      -- v1 error format-    | X2-      -- ^ @2@-      -- v2 error format-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable Xgafv--instance FromHttpApiData Xgafv where-    parseQueryParam = \case-        "1" -> Right X1-        "2" -> Right X2-        x -> Left ("Unable to parse Xgafv from: " <> x)--instance ToHttpApiData Xgafv where-    toQueryParam = \case-        X1 -> "1"-        X2 -> "2"--instance FromJSON Xgafv where-    parseJSON = parseJSONText "Xgafv"--instance ToJSON Xgafv where-    toJSON = toJSONText---- | The type of this auto text.-data AutoTextType-    = TypeUnspecified-      -- ^ @TYPE_UNSPECIFIED@-      -- An unspecified auto text type.-    | PageNumber-      -- ^ @PAGE_NUMBER@-      -- Type for auto text that represents the current page number.-    | PageCount-      -- ^ @PAGE_COUNT@-      -- Type for auto text that represents the total number of pages in the-      -- document.-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable AutoTextType--instance FromHttpApiData AutoTextType where-    parseQueryParam = \case-        "TYPE_UNSPECIFIED" -> Right TypeUnspecified-        "PAGE_NUMBER" -> Right PageNumber-        "PAGE_COUNT" -> Right PageCount-        x -> Left ("Unable to parse AutoTextType from: " <> x)--instance ToHttpApiData AutoTextType where-    toQueryParam = \case-        TypeUnspecified -> "TYPE_UNSPECIFIED"-        PageNumber -> "PAGE_NUMBER"-        PageCount -> "PAGE_COUNT"--instance FromJSON AutoTextType where-    parseJSON = parseJSONText "AutoTextType"--instance ToJSON AutoTextType where-    toJSON = toJSONText---- | The content direction of this section. If unset, the value defaults to--- LEFT_TO_RIGHT.-data SectionStyleContentDirection-    = SSCDContentDirectionUnspecified-      -- ^ @CONTENT_DIRECTION_UNSPECIFIED@-      -- The content direction is unspecified.-    | SSCDLeftToRight-      -- ^ @LEFT_TO_RIGHT@-      -- The content goes from left to right.-    | SSCDRightToLeft-      -- ^ @RIGHT_TO_LEFT@-      -- The content goes from right to left.-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable SectionStyleContentDirection--instance FromHttpApiData SectionStyleContentDirection where-    parseQueryParam = \case-        "CONTENT_DIRECTION_UNSPECIFIED" -> Right SSCDContentDirectionUnspecified-        "LEFT_TO_RIGHT" -> Right SSCDLeftToRight-        "RIGHT_TO_LEFT" -> Right SSCDRightToLeft-        x -> Left ("Unable to parse SectionStyleContentDirection from: " <> x)--instance ToHttpApiData SectionStyleContentDirection where-    toQueryParam = \case-        SSCDContentDirectionUnspecified -> "CONTENT_DIRECTION_UNSPECIFIED"-        SSCDLeftToRight -> "LEFT_TO_RIGHT"-        SSCDRightToLeft -> "RIGHT_TO_LEFT"--instance FromJSON SectionStyleContentDirection where-    parseJSON = parseJSONText "SectionStyleContentDirection"--instance ToJSON SectionStyleContentDirection where-    toJSON = toJSONText---- | The type of this named style.-data NamedStyleNamedStyleType-    = NSNSTNamedStyleTypeUnspecified-      -- ^ @NAMED_STYLE_TYPE_UNSPECIFIED@-      -- The type of named style is unspecified.-    | NSNSTNormalText-      -- ^ @NORMAL_TEXT@-      -- Normal text.-    | NSNSTTitle-      -- ^ @TITLE@-      -- Title.-    | NSNSTSubtitle-      -- ^ @SUBTITLE@-      -- Subtitle.-    | NSNSTHeading1-      -- ^ @HEADING_1@-      -- Heading 1.-    | NSNSTHeading2-      -- ^ @HEADING_2@-      -- Heading 2.-    | NSNSTHeading3-      -- ^ @HEADING_3@-      -- Heading 3.-    | NSNSTHeading4-      -- ^ @HEADING_4@-      -- Heading 4.-    | NSNSTHeading5-      -- ^ @HEADING_5@-      -- Heading 5.-    | NSNSTHeading6-      -- ^ @HEADING_6@-      -- Heading 6.-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable NamedStyleNamedStyleType--instance FromHttpApiData NamedStyleNamedStyleType where-    parseQueryParam = \case-        "NAMED_STYLE_TYPE_UNSPECIFIED" -> Right NSNSTNamedStyleTypeUnspecified-        "NORMAL_TEXT" -> Right NSNSTNormalText-        "TITLE" -> Right NSNSTTitle-        "SUBTITLE" -> Right NSNSTSubtitle-        "HEADING_1" -> Right NSNSTHeading1-        "HEADING_2" -> Right NSNSTHeading2-        "HEADING_3" -> Right NSNSTHeading3-        "HEADING_4" -> Right NSNSTHeading4-        "HEADING_5" -> Right NSNSTHeading5-        "HEADING_6" -> Right NSNSTHeading6-        x -> Left ("Unable to parse NamedStyleNamedStyleType from: " <> x)--instance ToHttpApiData NamedStyleNamedStyleType where-    toQueryParam = \case-        NSNSTNamedStyleTypeUnspecified -> "NAMED_STYLE_TYPE_UNSPECIFIED"-        NSNSTNormalText -> "NORMAL_TEXT"-        NSNSTTitle -> "TITLE"-        NSNSTSubtitle -> "SUBTITLE"-        NSNSTHeading1 -> "HEADING_1"-        NSNSTHeading2 -> "HEADING_2"-        NSNSTHeading3 -> "HEADING_3"-        NSNSTHeading4 -> "HEADING_4"-        NSNSTHeading5 -> "HEADING_5"-        NSNSTHeading6 -> "HEADING_6"--instance FromJSON NamedStyleNamedStyleType where-    parseJSON = parseJSONText "NamedStyleNamedStyleType"--instance ToJSON NamedStyleNamedStyleType where-    toJSON = toJSONText---- | The spacing mode for the paragraph.-data ParagraphStyleSpacingMode-    = SpacingModeUnspecified-      -- ^ @SPACING_MODE_UNSPECIFIED@-      -- The spacing mode is inherited from the parent.-    | NeverCollapse-      -- ^ @NEVER_COLLAPSE@-      -- Paragraph spacing is always rendered.-    | CollapseLists-      -- ^ @COLLAPSE_LISTS@-      -- Paragraph spacing is skipped between list elements.-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable ParagraphStyleSpacingMode--instance FromHttpApiData ParagraphStyleSpacingMode where-    parseQueryParam = \case-        "SPACING_MODE_UNSPECIFIED" -> Right SpacingModeUnspecified-        "NEVER_COLLAPSE" -> Right NeverCollapse-        "COLLAPSE_LISTS" -> Right CollapseLists-        x -> Left ("Unable to parse ParagraphStyleSpacingMode from: " <> x)--instance ToHttpApiData ParagraphStyleSpacingMode where-    toQueryParam = \case-        SpacingModeUnspecified -> "SPACING_MODE_UNSPECIFIED"-        NeverCollapse -> "NEVER_COLLAPSE"-        CollapseLists -> "COLLAPSE_LISTS"--instance FromJSON ParagraphStyleSpacingMode where-    parseJSON = parseJSONText "ParagraphStyleSpacingMode"--instance ToJSON ParagraphStyleSpacingMode where-    toJSON = toJSONText---- | The alignment of the bullet within the space allotted for rendering the--- bullet.-data NestingLevelBulletAlignment-    = NLBABulletAlignmentUnspecified-      -- ^ @BULLET_ALIGNMENT_UNSPECIFIED@-      -- The bullet alignment is unspecified.-    | NLBAStart-      -- ^ @START@-      -- The bullet is aligned to the start of the space allotted for rendering-      -- the bullet. Left-aligned for LTR text, right-aligned otherwise.-    | NLBACenter-      -- ^ @CENTER@-      -- The bullet is aligned to the center of the space allotted for rendering-      -- the bullet.-    | NLBAEnd-      -- ^ @END@-      -- The bullet is aligned to the end of the space allotted for rendering the-      -- bullet. Right-aligned for LTR text, left-aligned otherwise.-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable NestingLevelBulletAlignment--instance FromHttpApiData NestingLevelBulletAlignment where-    parseQueryParam = \case-        "BULLET_ALIGNMENT_UNSPECIFIED" -> Right NLBABulletAlignmentUnspecified-        "START" -> Right NLBAStart-        "CENTER" -> Right NLBACenter-        "END" -> Right NLBAEnd-        x -> Left ("Unable to parse NestingLevelBulletAlignment from: " <> x)--instance ToHttpApiData NestingLevelBulletAlignment where-    toQueryParam = \case-        NLBABulletAlignmentUnspecified -> "BULLET_ALIGNMENT_UNSPECIFIED"-        NLBAStart -> "START"-        NLBACenter -> "CENTER"-        NLBAEnd -> "END"--instance FromJSON NestingLevelBulletAlignment where-    parseJSON = parseJSONText "NestingLevelBulletAlignment"--instance ToJSON NestingLevelBulletAlignment where-    toJSON = toJSONText---- | The named style type that this suggestion state corresponds to. This--- field is provided as a convenience for matching the--- NamedStyleSuggestionState with its corresponding NamedStyle.-data NamedStyleSuggestionStateNamedStyleType-    = NSSSNSTNamedStyleTypeUnspecified-      -- ^ @NAMED_STYLE_TYPE_UNSPECIFIED@-      -- The type of named style is unspecified.-    | NSSSNSTNormalText-      -- ^ @NORMAL_TEXT@-      -- Normal text.-    | NSSSNSTTitle-      -- ^ @TITLE@-      -- Title.-    | NSSSNSTSubtitle-      -- ^ @SUBTITLE@-      -- Subtitle.-    | NSSSNSTHeading1-      -- ^ @HEADING_1@-      -- Heading 1.-    | NSSSNSTHeading2-      -- ^ @HEADING_2@-      -- Heading 2.-    | NSSSNSTHeading3-      -- ^ @HEADING_3@-      -- Heading 3.-    | NSSSNSTHeading4-      -- ^ @HEADING_4@-      -- Heading 4.-    | NSSSNSTHeading5-      -- ^ @HEADING_5@-      -- Heading 5.-    | NSSSNSTHeading6-      -- ^ @HEADING_6@-      -- Heading 6.-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable NamedStyleSuggestionStateNamedStyleType--instance FromHttpApiData NamedStyleSuggestionStateNamedStyleType where-    parseQueryParam = \case-        "NAMED_STYLE_TYPE_UNSPECIFIED" -> Right NSSSNSTNamedStyleTypeUnspecified-        "NORMAL_TEXT" -> Right NSSSNSTNormalText-        "TITLE" -> Right NSSSNSTTitle-        "SUBTITLE" -> Right NSSSNSTSubtitle-        "HEADING_1" -> Right NSSSNSTHeading1-        "HEADING_2" -> Right NSSSNSTHeading2-        "HEADING_3" -> Right NSSSNSTHeading3-        "HEADING_4" -> Right NSSSNSTHeading4-        "HEADING_5" -> Right NSSSNSTHeading5-        "HEADING_6" -> Right NSSSNSTHeading6-        x -> Left ("Unable to parse NamedStyleSuggestionStateNamedStyleType from: " <> x)--instance ToHttpApiData NamedStyleSuggestionStateNamedStyleType where-    toQueryParam = \case-        NSSSNSTNamedStyleTypeUnspecified -> "NAMED_STYLE_TYPE_UNSPECIFIED"-        NSSSNSTNormalText -> "NORMAL_TEXT"-        NSSSNSTTitle -> "TITLE"-        NSSSNSTSubtitle -> "SUBTITLE"-        NSSSNSTHeading1 -> "HEADING_1"-        NSSSNSTHeading2 -> "HEADING_2"-        NSSSNSTHeading3 -> "HEADING_3"-        NSSSNSTHeading4 -> "HEADING_4"-        NSSSNSTHeading5 -> "HEADING_5"-        NSSSNSTHeading6 -> "HEADING_6"--instance FromJSON NamedStyleSuggestionStateNamedStyleType where-    parseJSON = parseJSONText "NamedStyleSuggestionStateNamedStyleType"--instance ToJSON NamedStyleSuggestionStateNamedStyleType where-    toJSON = toJSONText---- | The dash style of the border.-data EmbeddedObjectBOrderDashStyle-    = EOBODSDashStyleUnspecified-      -- ^ @DASH_STYLE_UNSPECIFIED@-      -- Unspecified dash style.-    | EOBODSSolid-      -- ^ @SOLID@-      -- Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value-      -- \'solid\'. This is the default dash style.-    | EOBODSDot-      -- ^ @DOT@-      -- Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value \'dot\'.-    | EOBODSDash-      -- ^ @DASH@-      -- Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value-      -- \'dash\'.-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable EmbeddedObjectBOrderDashStyle--instance FromHttpApiData EmbeddedObjectBOrderDashStyle where-    parseQueryParam = \case-        "DASH_STYLE_UNSPECIFIED" -> Right EOBODSDashStyleUnspecified-        "SOLID" -> Right EOBODSSolid-        "DOT" -> Right EOBODSDot-        "DASH" -> Right EOBODSDash-        x -> Left ("Unable to parse EmbeddedObjectBOrderDashStyle from: " <> x)--instance ToHttpApiData EmbeddedObjectBOrderDashStyle where-    toQueryParam = \case-        EOBODSDashStyleUnspecified -> "DASH_STYLE_UNSPECIFIED"-        EOBODSSolid -> "SOLID"-        EOBODSDot -> "DOT"-        EOBODSDash -> "DASH"--instance FromJSON EmbeddedObjectBOrderDashStyle where-    parseJSON = parseJSONText "EmbeddedObjectBOrderDashStyle"--instance ToJSON EmbeddedObjectBOrderDashStyle where-    toJSON = toJSONText---- | The suggestions view mode applied to the document. Note: When editing a--- document, changes must be based on a document with SUGGESTIONS_INLINE.-data DocumentSuggestionsViewMode-    = DefaultForCurrentAccess-      -- ^ @DEFAULT_FOR_CURRENT_ACCESS@-      -- The SuggestionsViewMode applied to the returned document depends on the-      -- user\'s current access level. If the user only has view access,-      -- PREVIEW_WITHOUT_SUGGESTIONS is applied. Otherwise, SUGGESTIONS_INLINE is-      -- applied. This is the default suggestions view mode.-    | SuggestionsInline-      -- ^ @SUGGESTIONS_INLINE@-      -- The returned document has suggestions inline. Suggested changes will be-      -- differentiated from base content within the document. Requests to-      -- retrieve a document using this mode will return a 403 error if the user-      -- does not have permission to view suggested changes.-    | PreviewSuggestionsAccepted-      -- ^ @PREVIEW_SUGGESTIONS_ACCEPTED@-      -- The returned document is a preview with all suggested changes accepted.-      -- Requests to retrieve a document using this mode will return a 403 error-      -- if the user does not have permission to view suggested changes.-    | PreviewWithoutSuggestions-      -- ^ @PREVIEW_WITHOUT_SUGGESTIONS@-      -- The returned document is a preview with all suggested changes rejected-      -- if there are any suggestions in the document.-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable DocumentSuggestionsViewMode--instance FromHttpApiData DocumentSuggestionsViewMode where-    parseQueryParam = \case-        "DEFAULT_FOR_CURRENT_ACCESS" -> Right DefaultForCurrentAccess-        "SUGGESTIONS_INLINE" -> Right SuggestionsInline-        "PREVIEW_SUGGESTIONS_ACCEPTED" -> Right PreviewSuggestionsAccepted-        "PREVIEW_WITHOUT_SUGGESTIONS" -> Right PreviewWithoutSuggestions-        x -> Left ("Unable to parse DocumentSuggestionsViewMode from: " <> x)--instance ToHttpApiData DocumentSuggestionsViewMode where-    toQueryParam = \case-        DefaultForCurrentAccess -> "DEFAULT_FOR_CURRENT_ACCESS"-        SuggestionsInline -> "SUGGESTIONS_INLINE"-        PreviewSuggestionsAccepted -> "PREVIEW_SUGGESTIONS_ACCEPTED"-        PreviewWithoutSuggestions -> "PREVIEW_WITHOUT_SUGGESTIONS"--instance FromJSON DocumentSuggestionsViewMode where-    parseJSON = parseJSONText "DocumentSuggestionsViewMode"--instance ToJSON DocumentSuggestionsViewMode where-    toJSON = toJSONText---- | The layout of this positioned object.-data PositionedObjectPositioningLayout-    = PositionedObjectLayoutUnspecified-      -- ^ @POSITIONED_OBJECT_LAYOUT_UNSPECIFIED@-      -- The layout is unspecified.-    | WrapText-      -- ^ @WRAP_TEXT@-      -- The text wraps around the positioned object.-    | BreakLeft-      -- ^ @BREAK_LEFT@-      -- Breaks text such that the positioned object is on the left and text is-      -- on the right.-    | BreakRight-      -- ^ @BREAK_RIGHT@-      -- Breaks text such that the positioned object is on the right and text is-      -- on the left.-    | BreakLeftRight-      -- ^ @BREAK_LEFT_RIGHT@-      -- Breaks text such that there is no text on the left or right of the-      -- positioned object.-    | InFrontOfText-      -- ^ @IN_FRONT_OF_TEXT@-      -- The positioned object is in front of the text.-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable PositionedObjectPositioningLayout--instance FromHttpApiData PositionedObjectPositioningLayout where-    parseQueryParam = \case-        "POSITIONED_OBJECT_LAYOUT_UNSPECIFIED" -> Right PositionedObjectLayoutUnspecified-        "WRAP_TEXT" -> Right WrapText-        "BREAK_LEFT" -> Right BreakLeft-        "BREAK_RIGHT" -> Right BreakRight-        "BREAK_LEFT_RIGHT" -> Right BreakLeftRight-        "IN_FRONT_OF_TEXT" -> Right InFrontOfText-        x -> Left ("Unable to parse PositionedObjectPositioningLayout from: " <> x)--instance ToHttpApiData PositionedObjectPositioningLayout where-    toQueryParam = \case-        PositionedObjectLayoutUnspecified -> "POSITIONED_OBJECT_LAYOUT_UNSPECIFIED"-        WrapText -> "WRAP_TEXT"-        BreakLeft -> "BREAK_LEFT"-        BreakRight -> "BREAK_RIGHT"-        BreakLeftRight -> "BREAK_LEFT_RIGHT"-        InFrontOfText -> "IN_FRONT_OF_TEXT"--instance FromJSON PositionedObjectPositioningLayout where-    parseJSON = parseJSONText "PositionedObjectPositioningLayout"--instance ToJSON PositionedObjectPositioningLayout where-    toJSON = toJSONText---- | The units for magnitude.-data DimensionUnit-    = UnitUnspecified-      -- ^ @UNIT_UNSPECIFIED@-      -- The units are unknown.-    | PT-      -- ^ @PT@-      -- A point, 1\/72 of an inch.-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable DimensionUnit--instance FromHttpApiData DimensionUnit where-    parseQueryParam = \case-        "UNIT_UNSPECIFIED" -> Right UnitUnspecified-        "PT" -> Right PT-        x -> Left ("Unable to parse DimensionUnit from: " <> x)--instance ToHttpApiData DimensionUnit where-    toQueryParam = \case-        UnitUnspecified -> "UNIT_UNSPECIFIED"-        PT -> "PT"--instance FromJSON DimensionUnit where-    parseJSON = parseJSONText "DimensionUnit"--instance ToJSON DimensionUnit where-    toJSON = toJSONText---- | The alignment of the content in the table cell. The default alignment--- matches the alignment for newly created table cells in the Docs editor.-data TableCellStyleContentAlignment-    = ContentAlignmentUnspecified-      -- ^ @CONTENT_ALIGNMENT_UNSPECIFIED@-      -- An unspecified content alignment. The content alignment is inherited-      -- from the parent if one exists.-    | ContentAlignmentUnsupported-      -- ^ @CONTENT_ALIGNMENT_UNSUPPORTED@-      -- An unsupported content alignment.-    | Top-      -- ^ @TOP@-      -- An alignment that aligns the content to the top of the content holder.-      -- Corresponds to ECMA-376 ST_TextAnchoringType \'t\'.-    | Middle-      -- ^ @MIDDLE@-      -- An alignment that aligns the content to the middle of the content-      -- holder. Corresponds to ECMA-376 ST_TextAnchoringType \'ctr\'.-    | Bottom-      -- ^ @BOTTOM@-      -- An alignment that aligns the content to the bottom of the content-      -- holder. Corresponds to ECMA-376 ST_TextAnchoringType \'b\'.-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable TableCellStyleContentAlignment--instance FromHttpApiData TableCellStyleContentAlignment where-    parseQueryParam = \case-        "CONTENT_ALIGNMENT_UNSPECIFIED" -> Right ContentAlignmentUnspecified-        "CONTENT_ALIGNMENT_UNSUPPORTED" -> Right ContentAlignmentUnsupported-        "TOP" -> Right Top-        "MIDDLE" -> Right Middle-        "BOTTOM" -> Right Bottom-        x -> Left ("Unable to parse TableCellStyleContentAlignment from: " <> x)--instance ToHttpApiData TableCellStyleContentAlignment where-    toQueryParam = \case-        ContentAlignmentUnspecified -> "CONTENT_ALIGNMENT_UNSPECIFIED"-        ContentAlignmentUnsupported -> "CONTENT_ALIGNMENT_UNSUPPORTED"-        Top -> "TOP"-        Middle -> "MIDDLE"-        Bottom -> "BOTTOM"--instance FromJSON TableCellStyleContentAlignment where-    parseJSON = parseJSONText "TableCellStyleContentAlignment"--instance ToJSON TableCellStyleContentAlignment where-    toJSON = toJSONText
− gen/Network/Google/Resource/Docs/Documents/BatchUpdate.hs
@@ -1,194 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Docs.Documents.BatchUpdate--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Applies one or more updates to the document. Each request is validated--- before being applied. If any request is not valid, then the entire--- request will fail and nothing will be applied. Some requests have--- replies to give you some information about how they are applied. Other--- requests do not need to return information; these each return an empty--- reply. The order of replies matches that of the requests. For example,--- suppose you call batchUpdate with four updates, and only the third one--- returns information. The response would have two empty replies, the--- reply to the third request, and another empty reply, in that order.--- Because other users may be editing the document, the document might not--- exactly reflect your changes: your changes may be altered with respect--- to collaborator changes. If there are no collaborators, the document--- should reflect your changes. In any case, the updates in your request--- are guaranteed to be applied together atomically.------ /See:/ <https://developers.google.com/docs/ Google Docs API Reference> for @docs.documents.batchUpdate@.-module Network.Google.Resource.Docs.Documents.BatchUpdate-    (-    -- * REST Resource-      DocumentsBatchUpdateResource--    -- * Creating a Request-    , documentsBatchUpdate-    , DocumentsBatchUpdate--    -- * Request Lenses-    , dbuXgafv-    , dbuDocumentId-    , dbuUploadProtocol-    , dbuAccessToken-    , dbuUploadType-    , dbuPayload-    , dbuCallback-    ) where--import           Network.Google.Docs.Types-import           Network.Google.Prelude---- | A resource alias for @docs.documents.batchUpdate@ method which the--- 'DocumentsBatchUpdate' request conforms to.-type DocumentsBatchUpdateResource =-     "v1" :>-       "documents" :>-         CaptureMode "documentId" "batchUpdate" Text :>-           QueryParam "$.xgafv" Xgafv :>-             QueryParam "upload_protocol" Text :>-               QueryParam "access_token" Text :>-                 QueryParam "uploadType" Text :>-                   QueryParam "callback" Text :>-                     QueryParam "alt" AltJSON :>-                       ReqBody '[JSON] BatchUpdateDocumentRequest :>-                         Post '[JSON] BatchUpdateDocumentResponse---- | Applies one or more updates to the document. Each request is validated--- before being applied. If any request is not valid, then the entire--- request will fail and nothing will be applied. Some requests have--- replies to give you some information about how they are applied. Other--- requests do not need to return information; these each return an empty--- reply. The order of replies matches that of the requests. For example,--- suppose you call batchUpdate with four updates, and only the third one--- returns information. The response would have two empty replies, the--- reply to the third request, and another empty reply, in that order.--- Because other users may be editing the document, the document might not--- exactly reflect your changes: your changes may be altered with respect--- to collaborator changes. If there are no collaborators, the document--- should reflect your changes. In any case, the updates in your request--- are guaranteed to be applied together atomically.------ /See:/ 'documentsBatchUpdate' smart constructor.-data DocumentsBatchUpdate =-  DocumentsBatchUpdate'-    { _dbuXgafv          :: !(Maybe Xgafv)-    , _dbuDocumentId     :: !Text-    , _dbuUploadProtocol :: !(Maybe Text)-    , _dbuAccessToken    :: !(Maybe Text)-    , _dbuUploadType     :: !(Maybe Text)-    , _dbuPayload        :: !BatchUpdateDocumentRequest-    , _dbuCallback       :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DocumentsBatchUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dbuXgafv'------ * 'dbuDocumentId'------ * 'dbuUploadProtocol'------ * 'dbuAccessToken'------ * 'dbuUploadType'------ * 'dbuPayload'------ * 'dbuCallback'-documentsBatchUpdate-    :: Text -- ^ 'dbuDocumentId'-    -> BatchUpdateDocumentRequest -- ^ 'dbuPayload'-    -> DocumentsBatchUpdate-documentsBatchUpdate pDbuDocumentId_ pDbuPayload_ =-  DocumentsBatchUpdate'-    { _dbuXgafv = Nothing-    , _dbuDocumentId = pDbuDocumentId_-    , _dbuUploadProtocol = Nothing-    , _dbuAccessToken = Nothing-    , _dbuUploadType = Nothing-    , _dbuPayload = pDbuPayload_-    , _dbuCallback = Nothing-    }----- | V1 error format.-dbuXgafv :: Lens' DocumentsBatchUpdate (Maybe Xgafv)-dbuXgafv = lens _dbuXgafv (\ s a -> s{_dbuXgafv = a})---- | The ID of the document to update.-dbuDocumentId :: Lens' DocumentsBatchUpdate Text-dbuDocumentId-  = lens _dbuDocumentId-      (\ s a -> s{_dbuDocumentId = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-dbuUploadProtocol :: Lens' DocumentsBatchUpdate (Maybe Text)-dbuUploadProtocol-  = lens _dbuUploadProtocol-      (\ s a -> s{_dbuUploadProtocol = a})---- | OAuth access token.-dbuAccessToken :: Lens' DocumentsBatchUpdate (Maybe Text)-dbuAccessToken-  = lens _dbuAccessToken-      (\ s a -> s{_dbuAccessToken = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-dbuUploadType :: Lens' DocumentsBatchUpdate (Maybe Text)-dbuUploadType-  = lens _dbuUploadType-      (\ s a -> s{_dbuUploadType = a})---- | Multipart request metadata.-dbuPayload :: Lens' DocumentsBatchUpdate BatchUpdateDocumentRequest-dbuPayload-  = lens _dbuPayload (\ s a -> s{_dbuPayload = a})---- | JSONP-dbuCallback :: Lens' DocumentsBatchUpdate (Maybe Text)-dbuCallback-  = lens _dbuCallback (\ s a -> s{_dbuCallback = a})--instance GoogleRequest DocumentsBatchUpdate where-        type Rs DocumentsBatchUpdate =-             BatchUpdateDocumentResponse-        type Scopes DocumentsBatchUpdate =-             '["https://www.googleapis.com/auth/documents",-               "https://www.googleapis.com/auth/drive",-               "https://www.googleapis.com/auth/drive.file"]-        requestClient DocumentsBatchUpdate'{..}-          = go _dbuDocumentId _dbuXgafv _dbuUploadProtocol-              _dbuAccessToken-              _dbuUploadType-              _dbuCallback-              (Just AltJSON)-              _dbuPayload-              docsService-          where go-                  = buildClient-                      (Proxy :: Proxy DocumentsBatchUpdateResource)-                      mempty
− gen/Network/Google/Resource/Docs/Documents/Create.hs
@@ -1,155 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Docs.Documents.Create--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Creates a blank document using the title given in the request. Other--- fields in the request, including any provided content, are ignored.--- Returns the created document.------ /See:/ <https://developers.google.com/docs/ Google Docs API Reference> for @docs.documents.create@.-module Network.Google.Resource.Docs.Documents.Create-    (-    -- * REST Resource-      DocumentsCreateResource--    -- * Creating a Request-    , documentsCreate-    , DocumentsCreate--    -- * Request Lenses-    , dcXgafv-    , dcUploadProtocol-    , dcAccessToken-    , dcUploadType-    , dcPayload-    , dcCallback-    ) where--import           Network.Google.Docs.Types-import           Network.Google.Prelude---- | A resource alias for @docs.documents.create@ method which the--- 'DocumentsCreate' request conforms to.-type DocumentsCreateResource =-     "v1" :>-       "documents" :>-         QueryParam "$.xgafv" Xgafv :>-           QueryParam "upload_protocol" Text :>-             QueryParam "access_token" Text :>-               QueryParam "uploadType" Text :>-                 QueryParam "callback" Text :>-                   QueryParam "alt" AltJSON :>-                     ReqBody '[JSON] Document :> Post '[JSON] Document---- | Creates a blank document using the title given in the request. Other--- fields in the request, including any provided content, are ignored.--- Returns the created document.------ /See:/ 'documentsCreate' smart constructor.-data DocumentsCreate =-  DocumentsCreate'-    { _dcXgafv          :: !(Maybe Xgafv)-    , _dcUploadProtocol :: !(Maybe Text)-    , _dcAccessToken    :: !(Maybe Text)-    , _dcUploadType     :: !(Maybe Text)-    , _dcPayload        :: !Document-    , _dcCallback       :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DocumentsCreate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dcXgafv'------ * 'dcUploadProtocol'------ * 'dcAccessToken'------ * 'dcUploadType'------ * 'dcPayload'------ * 'dcCallback'-documentsCreate-    :: Document -- ^ 'dcPayload'-    -> DocumentsCreate-documentsCreate pDcPayload_ =-  DocumentsCreate'-    { _dcXgafv = Nothing-    , _dcUploadProtocol = Nothing-    , _dcAccessToken = Nothing-    , _dcUploadType = Nothing-    , _dcPayload = pDcPayload_-    , _dcCallback = Nothing-    }----- | V1 error format.-dcXgafv :: Lens' DocumentsCreate (Maybe Xgafv)-dcXgafv = lens _dcXgafv (\ s a -> s{_dcXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-dcUploadProtocol :: Lens' DocumentsCreate (Maybe Text)-dcUploadProtocol-  = lens _dcUploadProtocol-      (\ s a -> s{_dcUploadProtocol = a})---- | OAuth access token.-dcAccessToken :: Lens' DocumentsCreate (Maybe Text)-dcAccessToken-  = lens _dcAccessToken-      (\ s a -> s{_dcAccessToken = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-dcUploadType :: Lens' DocumentsCreate (Maybe Text)-dcUploadType-  = lens _dcUploadType (\ s a -> s{_dcUploadType = a})---- | Multipart request metadata.-dcPayload :: Lens' DocumentsCreate Document-dcPayload-  = lens _dcPayload (\ s a -> s{_dcPayload = a})---- | JSONP-dcCallback :: Lens' DocumentsCreate (Maybe Text)-dcCallback-  = lens _dcCallback (\ s a -> s{_dcCallback = a})--instance GoogleRequest DocumentsCreate where-        type Rs DocumentsCreate = Document-        type Scopes DocumentsCreate =-             '["https://www.googleapis.com/auth/documents",-               "https://www.googleapis.com/auth/drive",-               "https://www.googleapis.com/auth/drive.file"]-        requestClient DocumentsCreate'{..}-          = go _dcXgafv _dcUploadProtocol _dcAccessToken-              _dcUploadType-              _dcCallback-              (Just AltJSON)-              _dcPayload-              docsService-          where go-                  = buildClient-                      (Proxy :: Proxy DocumentsCreateResource)-                      mempty
− gen/Network/Google/Resource/Docs/Documents/Get.hs
@@ -1,167 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Docs.Documents.Get--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Gets the latest version of the specified document.------ /See:/ <https://developers.google.com/docs/ Google Docs API Reference> for @docs.documents.get@.-module Network.Google.Resource.Docs.Documents.Get-    (-    -- * REST Resource-      DocumentsGetResource--    -- * Creating a Request-    , documentsGet-    , DocumentsGet--    -- * Request Lenses-    , dgXgafv-    , dgDocumentId-    , dgUploadProtocol-    , dgAccessToken-    , dgUploadType-    , dgSuggestionsViewMode-    , dgCallback-    ) where--import           Network.Google.Docs.Types-import           Network.Google.Prelude---- | A resource alias for @docs.documents.get@ method which the--- 'DocumentsGet' request conforms to.-type DocumentsGetResource =-     "v1" :>-       "documents" :>-         Capture "documentId" Text :>-           QueryParam "$.xgafv" Xgafv :>-             QueryParam "upload_protocol" Text :>-               QueryParam "access_token" Text :>-                 QueryParam "uploadType" Text :>-                   QueryParam "suggestionsViewMode" Text :>-                     QueryParam "callback" Text :>-                       QueryParam "alt" AltJSON :> Get '[JSON] Document---- | Gets the latest version of the specified document.------ /See:/ 'documentsGet' smart constructor.-data DocumentsGet =-  DocumentsGet'-    { _dgXgafv               :: !(Maybe Xgafv)-    , _dgDocumentId          :: !Text-    , _dgUploadProtocol      :: !(Maybe Text)-    , _dgAccessToken         :: !(Maybe Text)-    , _dgUploadType          :: !(Maybe Text)-    , _dgSuggestionsViewMode :: !(Maybe Text)-    , _dgCallback            :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DocumentsGet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dgXgafv'------ * 'dgDocumentId'------ * 'dgUploadProtocol'------ * 'dgAccessToken'------ * 'dgUploadType'------ * 'dgSuggestionsViewMode'------ * 'dgCallback'-documentsGet-    :: Text -- ^ 'dgDocumentId'-    -> DocumentsGet-documentsGet pDgDocumentId_ =-  DocumentsGet'-    { _dgXgafv = Nothing-    , _dgDocumentId = pDgDocumentId_-    , _dgUploadProtocol = Nothing-    , _dgAccessToken = Nothing-    , _dgUploadType = Nothing-    , _dgSuggestionsViewMode = Nothing-    , _dgCallback = Nothing-    }----- | V1 error format.-dgXgafv :: Lens' DocumentsGet (Maybe Xgafv)-dgXgafv = lens _dgXgafv (\ s a -> s{_dgXgafv = a})---- | The ID of the document to retrieve.-dgDocumentId :: Lens' DocumentsGet Text-dgDocumentId-  = lens _dgDocumentId (\ s a -> s{_dgDocumentId = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-dgUploadProtocol :: Lens' DocumentsGet (Maybe Text)-dgUploadProtocol-  = lens _dgUploadProtocol-      (\ s a -> s{_dgUploadProtocol = a})---- | OAuth access token.-dgAccessToken :: Lens' DocumentsGet (Maybe Text)-dgAccessToken-  = lens _dgAccessToken-      (\ s a -> s{_dgAccessToken = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-dgUploadType :: Lens' DocumentsGet (Maybe Text)-dgUploadType-  = lens _dgUploadType (\ s a -> s{_dgUploadType = a})---- | The suggestions view mode to apply to the document. This allows viewing--- the document with all suggestions inline, accepted or rejected. If one--- is not specified, DEFAULT_FOR_CURRENT_ACCESS is used.-dgSuggestionsViewMode :: Lens' DocumentsGet (Maybe Text)-dgSuggestionsViewMode-  = lens _dgSuggestionsViewMode-      (\ s a -> s{_dgSuggestionsViewMode = a})---- | JSONP-dgCallback :: Lens' DocumentsGet (Maybe Text)-dgCallback-  = lens _dgCallback (\ s a -> s{_dgCallback = a})--instance GoogleRequest DocumentsGet where-        type Rs DocumentsGet = Document-        type Scopes DocumentsGet =-             '["https://www.googleapis.com/auth/documents",-               "https://www.googleapis.com/auth/documents.readonly",-               "https://www.googleapis.com/auth/drive",-               "https://www.googleapis.com/auth/drive.file",-               "https://www.googleapis.com/auth/drive.readonly"]-        requestClient DocumentsGet'{..}-          = go _dgDocumentId _dgXgafv _dgUploadProtocol-              _dgAccessToken-              _dgUploadType-              _dgSuggestionsViewMode-              _dgCallback-              (Just AltJSON)-              docsService-          where go-                  = buildClient (Proxy :: Proxy DocumentsGetResource)-                      mempty
gogol-docs.cabal view
@@ -1,48 +1,63 @@-name:                  gogol-docs-version:               0.5.0-synopsis:              Google Docs SDK.-homepage:              https://github.com/brendanhay/gogol-bug-reports:           https://github.com/brendanhay/gogol/issues-license:               OtherLicense-license-file:          LICENSE-author:                Brendan Hay-maintainer:            Brendan Hay <brendan.g.hay@gmail.com>-copyright:             Copyright (c) 2015-2016 Brendan Hay-category:              Network, Google, Cloud-build-type:            Simple-cabal-version:         >= 1.10-extra-source-files:    README.md src/.gitkeep+cabal-version:      2.2+name:               gogol-docs+version:            1.0.0+synopsis:           Google Docs SDK.+homepage:           https://github.com/brendanhay/gogol+bug-reports:        https://github.com/brendanhay/gogol/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+gogol@gmail.com>, Toni Cebrián <toni@tonicebrian.com> +copyright:          Copyright (c) 2015-2025 Brendan Hay+category:           Google+build-type:         Simple+extra-source-files:+  README.md+  src/.gitkeep+ description:-    Reads and writes Google Docs documents.-    .-    /Warning:/ This is an experimental prototype/preview release which is still-    under exploratory development and not intended for public use, caveat emptor!-    .-    This library is compatible with version @v1@-    of the API.+  Reads and writes Google Docs documents.+  .+  /Warning:/ This is an experimental prototype/preview release which is still+  under exploratory development and not intended for public use, caveat emptor!+  .+  This library is compatible with version @v1@+  of the API.  source-repository head-    type:     git-    location: git://github.com/brendanhay/gogol.git+  type:     git+  location: git://github.com/brendanhay/gogol.git+  subdir:   gogol-docs +flag field-selectors+  description:+    If record field selectors should be enabled. Disabling this requires GHC >=9.2 and the NoFieldSelectors extension.++  default:     False+  manual:      True+ library-    default-language:  Haskell2010-    hs-source-dirs:    src gen+  default-language: GHC2021+  hs-source-dirs:   src gen+  ghc-options:+    -Wall -fwarn-incomplete-uni-patterns+    -fwarn-incomplete-record-updates -funbox-strict-fields+    -fwarn-unused-packages -    ghc-options:       -Wall+  if (!flag(field-selectors) && impl(ghc >=9.2))+    default-extensions: NoFieldSelectors -    exposed-modules:-          Network.Google.Docs-        , Network.Google.Docs.Types-        , Network.Google.Resource.Docs.Documents.BatchUpdate-        , Network.Google.Resource.Docs.Documents.Create-        , Network.Google.Resource.Docs.Documents.Get+  exposed-modules:+    Gogol.Docs+    Gogol.Docs.Documents.BatchUpdate+    Gogol.Docs.Documents.Create+    Gogol.Docs.Documents.Get+    Gogol.Docs.Types -    other-modules:-          Network.Google.Docs.Types.Product-        , Network.Google.Docs.Types.Sum+  other-modules:+    Gogol.Docs.Internal.Product+    Gogol.Docs.Internal.Sum -    build-depends:-          gogol-core == 0.5.0.*-        , base       >= 4.7 && < 5+  build-depends:    gogol-core ^>=1.0.0