packages feed

gogol-civicinfo 0.5.0 → 1.0.0

raw patch · 22 files changed

+3535/−5994 lines, 22 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/CivicInfo.hs view
@@ -0,0 +1,209 @@+{-# 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.CivicInfo+-- 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)+--+-- Provides polling places, early vote locations, contest data, election officials, and government representatives for U.S. residential addresses.+--+-- /See:/ <https://developers.google.com/civic-information/ Google Civic Information API Reference>+module Gogol.CivicInfo+  ( -- * Configuration+    civicInfoService,++    -- * Resources++    -- ** civicinfo.divisions.queryDivisionByAddress+    CivicInfoDivisionsQueryDivisionByAddressResource,+    CivicInfoDivisionsQueryDivisionByAddress (..),+    newCivicInfoDivisionsQueryDivisionByAddress,++    -- ** civicinfo.divisions.search+    CivicInfoDivisionsSearchResource,+    CivicInfoDivisionsSearch (..),+    newCivicInfoDivisionsSearch,++    -- ** civicinfo.elections.electionQuery+    CivicInfoElectionsElectionQueryResource,+    CivicInfoElectionsElectionQuery (..),+    newCivicInfoElectionsElectionQuery,++    -- ** civicinfo.elections.voterInfoQuery+    CivicInfoElectionsVoterInfoQueryResource,+    CivicInfoElectionsVoterInfoQuery (..),+    newCivicInfoElectionsVoterInfoQuery,++    -- ** civicinfo.representatives.representativeInfoByAddress+    CivicInfoRepresentativesRepresentativeInfoByAddressResource,+    CivicInfoRepresentativesRepresentativeInfoByAddress (..),+    newCivicInfoRepresentativesRepresentativeInfoByAddress,++    -- ** civicinfo.representatives.representativeInfoByDivision+    CivicInfoRepresentativesRepresentativeInfoByDivisionResource,+    CivicInfoRepresentativesRepresentativeInfoByDivision (..),+    newCivicInfoRepresentativesRepresentativeInfoByDivision,++    -- * Types++    -- ** Xgafv+    Xgafv (..),++    -- ** AdministrationRegion+    AdministrationRegion (..),+    newAdministrationRegion,++    -- ** AdministrativeBody+    AdministrativeBody (..),+    newAdministrativeBody,++    -- ** Candidate+    Candidate (..),+    newCandidate,++    -- ** Channel+    Channel (..),+    newChannel,++    -- ** Contest+    Contest (..),+    newContest,++    -- ** Contest_LevelItem+    Contest_LevelItem (..),++    -- ** Contest_RolesItem+    Contest_RolesItem (..),++    -- ** DivisionByAddressResponse+    DivisionByAddressResponse (..),+    newDivisionByAddressResponse,++    -- ** DivisionByAddressResponse_Divisions+    DivisionByAddressResponse_Divisions (..),+    newDivisionByAddressResponse_Divisions,++    -- ** DivisionSearchResponse+    DivisionSearchResponse (..),+    newDivisionSearchResponse,++    -- ** DivisionSearchResult+    DivisionSearchResult (..),+    newDivisionSearchResult,++    -- ** Election+    Election (..),+    newElection,++    -- ** Election_ShapeLookupBehavior+    Election_ShapeLookupBehavior (..),++    -- ** ElectionOfficial+    ElectionOfficial (..),+    newElectionOfficial,++    -- ** ElectionsQueryResponse+    ElectionsQueryResponse (..),+    newElectionsQueryResponse,++    -- ** ElectoralDistrict+    ElectoralDistrict (..),+    newElectoralDistrict,++    -- ** ElectoralDistrict_Scope+    ElectoralDistrict_Scope (..),++    -- ** GeographicDivision+    GeographicDivision (..),+    newGeographicDivision,++    -- ** Office+    Office (..),+    newOffice,++    -- ** Office_LevelsItem+    Office_LevelsItem (..),++    -- ** Office_RolesItem+    Office_RolesItem (..),++    -- ** Official+    Official (..),+    newOfficial,++    -- ** PollingLocation+    PollingLocation (..),+    newPollingLocation,++    -- ** Precinct+    Precinct (..),+    newPrecinct,++    -- ** RepresentativeInfoData+    RepresentativeInfoData (..),+    newRepresentativeInfoData,++    -- ** RepresentativeInfoData_Divisions+    RepresentativeInfoData_Divisions (..),+    newRepresentativeInfoData_Divisions,++    -- ** RepresentativeInfoResponse+    RepresentativeInfoResponse (..),+    newRepresentativeInfoResponse,++    -- ** RepresentativeInfoResponse_Divisions+    RepresentativeInfoResponse_Divisions (..),+    newRepresentativeInfoResponse_Divisions,++    -- ** SimpleAddressType+    SimpleAddressType (..),+    newSimpleAddressType,++    -- ** Source+    Source (..),+    newSource,++    -- ** VoterInfoResponse+    VoterInfoResponse (..),+    newVoterInfoResponse,++    -- ** RepresentativesRepresentativeInfoByAddressLevels+    RepresentativesRepresentativeInfoByAddressLevels (..),++    -- ** RepresentativesRepresentativeInfoByAddressRoles+    RepresentativesRepresentativeInfoByAddressRoles (..),++    -- ** RepresentativesRepresentativeInfoByDivisionLevels+    RepresentativesRepresentativeInfoByDivisionLevels (..),++    -- ** RepresentativesRepresentativeInfoByDivisionRoles+    RepresentativesRepresentativeInfoByDivisionRoles (..),+  )+where++import Gogol.CivicInfo.Divisions.QueryDivisionByAddress+import Gogol.CivicInfo.Divisions.Search+import Gogol.CivicInfo.Elections.ElectionQuery+import Gogol.CivicInfo.Elections.VoterInfoQuery+import Gogol.CivicInfo.Representatives.RepresentativeInfoByAddress+import Gogol.CivicInfo.Representatives.RepresentativeInfoByDivision+import Gogol.CivicInfo.Types
+ gen/Gogol/CivicInfo/Divisions/QueryDivisionByAddress.hs view
@@ -0,0 +1,113 @@+{-# 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.CivicInfo.Divisions.QueryDivisionByAddress+-- 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)+--+-- Lookup OCDIDs and names for divisions related to an address.+--+-- /See:/ <https://developers.google.com/civic-information/ Google Civic Information API Reference> for @civicinfo.divisions.queryDivisionByAddress@.+module Gogol.CivicInfo.Divisions.QueryDivisionByAddress+  ( -- * Resource+    CivicInfoDivisionsQueryDivisionByAddressResource,++    -- ** Constructing a Request+    CivicInfoDivisionsQueryDivisionByAddress (..),+    newCivicInfoDivisionsQueryDivisionByAddress,+  )+where++import Gogol.CivicInfo.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @civicinfo.divisions.queryDivisionByAddress@ method which the+-- 'CivicInfoDivisionsQueryDivisionByAddress' request conforms to.+type CivicInfoDivisionsQueryDivisionByAddressResource =+  "civicinfo"+    Core.:> "v2"+    Core.:> "divisionsByAddress"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "address" 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.Get '[Core.JSON] DivisionByAddressResponse++-- | Lookup OCDIDs and names for divisions related to an address.+--+-- /See:/ 'newCivicInfoDivisionsQueryDivisionByAddress' smart constructor.+data CivicInfoDivisionsQueryDivisionByAddress = CivicInfoDivisionsQueryDivisionByAddress+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    address :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | 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 'CivicInfoDivisionsQueryDivisionByAddress' with the minimum fields required to make a request.+newCivicInfoDivisionsQueryDivisionByAddress ::+  CivicInfoDivisionsQueryDivisionByAddress+newCivicInfoDivisionsQueryDivisionByAddress =+  CivicInfoDivisionsQueryDivisionByAddress+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      address = Core.Nothing,+      callback = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CivicInfoDivisionsQueryDivisionByAddress+  where+  type+    Rs CivicInfoDivisionsQueryDivisionByAddress =+      DivisionByAddressResponse+  type Scopes CivicInfoDivisionsQueryDivisionByAddress = '[]+  requestClient CivicInfoDivisionsQueryDivisionByAddress {..} =+    go+      xgafv+      accessToken+      address+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      civicInfoService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CivicInfoDivisionsQueryDivisionByAddressResource+          )+          Core.mempty
+ gen/Gogol/CivicInfo/Divisions/Search.hs view
@@ -0,0 +1,107 @@+{-# 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.CivicInfo.Divisions.Search+-- 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)+--+-- Searches for political divisions by their natural name or OCD ID.+--+-- /See:/ <https://developers.google.com/civic-information/ Google Civic Information API Reference> for @civicinfo.divisions.search@.+module Gogol.CivicInfo.Divisions.Search+  ( -- * Resource+    CivicInfoDivisionsSearchResource,++    -- ** Constructing a Request+    CivicInfoDivisionsSearch (..),+    newCivicInfoDivisionsSearch,+  )+where++import Gogol.CivicInfo.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @civicinfo.divisions.search@ method which the+-- 'CivicInfoDivisionsSearch' request conforms to.+type CivicInfoDivisionsSearchResource =+  "civicinfo"+    Core.:> "v2"+    Core.:> "divisions"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "query" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] DivisionSearchResponse++-- | Searches for political divisions by their natural name or OCD ID.+--+-- /See:/ 'newCivicInfoDivisionsSearch' smart constructor.+data CivicInfoDivisionsSearch = CivicInfoDivisionsSearch+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | The search query. Queries can cover any parts of a OCD ID or a human readable division name. All words given in the query are treated as required patterns. In addition to that, most query operators of the Apache Lucene library are supported. See http:\/\/lucene.apache.org\/core\/2/9/4\/queryparsersyntax.html+    query :: (Core.Maybe Core.Text),+    -- | 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 'CivicInfoDivisionsSearch' with the minimum fields required to make a request.+newCivicInfoDivisionsSearch ::+  CivicInfoDivisionsSearch+newCivicInfoDivisionsSearch =+  CivicInfoDivisionsSearch+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      query = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CivicInfoDivisionsSearch where+  type Rs CivicInfoDivisionsSearch = DivisionSearchResponse+  type Scopes CivicInfoDivisionsSearch = '[]+  requestClient CivicInfoDivisionsSearch {..} =+    go+      xgafv+      accessToken+      callback+      query+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      civicInfoService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy CivicInfoDivisionsSearchResource)+          Core.mempty
+ gen/Gogol/CivicInfo/Elections/ElectionQuery.hs view
@@ -0,0 +1,107 @@+{-# 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.CivicInfo.Elections.ElectionQuery+-- 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)+--+-- List of available elections to query.+--+-- /See:/ <https://developers.google.com/civic-information/ Google Civic Information API Reference> for @civicinfo.elections.electionQuery@.+module Gogol.CivicInfo.Elections.ElectionQuery+  ( -- * Resource+    CivicInfoElectionsElectionQueryResource,++    -- ** Constructing a Request+    CivicInfoElectionsElectionQuery (..),+    newCivicInfoElectionsElectionQuery,+  )+where++import Gogol.CivicInfo.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @civicinfo.elections.electionQuery@ method which the+-- 'CivicInfoElectionsElectionQuery' request conforms to.+type CivicInfoElectionsElectionQueryResource =+  "civicinfo"+    Core.:> "v2"+    Core.:> "elections"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "productionDataOnly" Core.Bool+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] ElectionsQueryResponse++-- | List of available elections to query.+--+-- /See:/ 'newCivicInfoElectionsElectionQuery' smart constructor.+data CivicInfoElectionsElectionQuery = CivicInfoElectionsElectionQuery+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Whether to include data that has not been allowlisted yet+    productionDataOnly :: Core.Bool,+    -- | 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 'CivicInfoElectionsElectionQuery' with the minimum fields required to make a request.+newCivicInfoElectionsElectionQuery ::+  CivicInfoElectionsElectionQuery+newCivicInfoElectionsElectionQuery =+  CivicInfoElectionsElectionQuery+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      productionDataOnly = Core.True,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CivicInfoElectionsElectionQuery where+  type Rs CivicInfoElectionsElectionQuery = ElectionsQueryResponse+  type Scopes CivicInfoElectionsElectionQuery = '[]+  requestClient CivicInfoElectionsElectionQuery {..} =+    go+      xgafv+      accessToken+      callback+      (Core.Just productionDataOnly)+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      civicInfoService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy CivicInfoElectionsElectionQueryResource)+          Core.mempty
+ gen/Gogol/CivicInfo/Elections/VoterInfoQuery.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.CivicInfo.Elections.VoterInfoQuery+-- 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)+--+-- Looks up information relevant to a voter based on the voter\'s registered address.+--+-- /See:/ <https://developers.google.com/civic-information/ Google Civic Information API Reference> for @civicinfo.elections.voterInfoQuery@.+module Gogol.CivicInfo.Elections.VoterInfoQuery+  ( -- * Resource+    CivicInfoElectionsVoterInfoQueryResource,++    -- ** Constructing a Request+    CivicInfoElectionsVoterInfoQuery (..),+    newCivicInfoElectionsVoterInfoQuery,+  )+where++import Gogol.CivicInfo.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @civicinfo.elections.voterInfoQuery@ method which the+-- 'CivicInfoElectionsVoterInfoQuery' request conforms to.+type CivicInfoElectionsVoterInfoQueryResource =+  "civicinfo"+    Core.:> "v2"+    Core.:> "voterinfo"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "address" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "electionId" Core.Int64+    Core.:> Core.QueryParam "officialOnly" Core.Bool+    Core.:> Core.QueryParam "productionDataOnly" Core.Bool+    Core.:> Core.QueryParam "returnAllAvailableData" Core.Bool+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] VoterInfoResponse++-- | Looks up information relevant to a voter based on the voter\'s registered address.+--+-- /See:/ 'newCivicInfoElectionsVoterInfoQuery' smart constructor.+data CivicInfoElectionsVoterInfoQuery = CivicInfoElectionsVoterInfoQuery+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | The registered address of the voter to look up.+    address :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | The unique ID of the election to look up. A list of election IDs can be obtained at https:\/\/www.googleapis.com\/civicinfo\/{version}\/elections. If no election ID is specified in the query and there is more than one election with data for the given voter, the additional elections are provided in the otherElections response field.+    electionId :: Core.Int64,+    -- | If set to true, only data from official state sources will be returned.+    officialOnly :: Core.Bool,+    -- | Whether to include data that has not been vetted yet. Should only be made available to internal IPs or trusted partners. This is a non-discoverable parameter in the One Platform API config.+    productionDataOnly :: Core.Bool,+    -- | If set to true, the query will return the success code and include any partial information when it is unable to determine a matching address or unable to determine the election for electionId=0 queries.+    returnAllAvailableData :: Core.Bool,+    -- | 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 'CivicInfoElectionsVoterInfoQuery' with the minimum fields required to make a request.+newCivicInfoElectionsVoterInfoQuery ::+  CivicInfoElectionsVoterInfoQuery+newCivicInfoElectionsVoterInfoQuery =+  CivicInfoElectionsVoterInfoQuery+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      address = Core.Nothing,+      callback = Core.Nothing,+      electionId = 0,+      officialOnly = Core.False,+      productionDataOnly = Core.True,+      returnAllAvailableData = Core.False,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CivicInfoElectionsVoterInfoQuery where+  type Rs CivicInfoElectionsVoterInfoQuery = VoterInfoResponse+  type Scopes CivicInfoElectionsVoterInfoQuery = '[]+  requestClient CivicInfoElectionsVoterInfoQuery {..} =+    go+      xgafv+      accessToken+      address+      callback+      (Core.Just electionId)+      (Core.Just officialOnly)+      (Core.Just productionDataOnly)+      (Core.Just returnAllAvailableData)+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      civicInfoService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy CivicInfoElectionsVoterInfoQueryResource)+          Core.mempty
+ gen/Gogol/CivicInfo/Internal/Product.hs view
@@ -0,0 +1,1576 @@+{-# 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.CivicInfo.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.CivicInfo.Internal.Product+  ( -- * AdministrationRegion+    AdministrationRegion (..),+    newAdministrationRegion,++    -- * AdministrativeBody+    AdministrativeBody (..),+    newAdministrativeBody,++    -- * Candidate+    Candidate (..),+    newCandidate,++    -- * Channel+    Channel (..),+    newChannel,++    -- * Contest+    Contest (..),+    newContest,++    -- * DivisionByAddressResponse+    DivisionByAddressResponse (..),+    newDivisionByAddressResponse,++    -- * DivisionByAddressResponse_Divisions+    DivisionByAddressResponse_Divisions (..),+    newDivisionByAddressResponse_Divisions,++    -- * DivisionSearchResponse+    DivisionSearchResponse (..),+    newDivisionSearchResponse,++    -- * DivisionSearchResult+    DivisionSearchResult (..),+    newDivisionSearchResult,++    -- * Election+    Election (..),+    newElection,++    -- * ElectionOfficial+    ElectionOfficial (..),+    newElectionOfficial,++    -- * ElectionsQueryResponse+    ElectionsQueryResponse (..),+    newElectionsQueryResponse,++    -- * ElectoralDistrict+    ElectoralDistrict (..),+    newElectoralDistrict,++    -- * GeographicDivision+    GeographicDivision (..),+    newGeographicDivision,++    -- * Office+    Office (..),+    newOffice,++    -- * Official+    Official (..),+    newOfficial,++    -- * PollingLocation+    PollingLocation (..),+    newPollingLocation,++    -- * Precinct+    Precinct (..),+    newPrecinct,++    -- * RepresentativeInfoData+    RepresentativeInfoData (..),+    newRepresentativeInfoData,++    -- * RepresentativeInfoData_Divisions+    RepresentativeInfoData_Divisions (..),+    newRepresentativeInfoData_Divisions,++    -- * RepresentativeInfoResponse+    RepresentativeInfoResponse (..),+    newRepresentativeInfoResponse,++    -- * RepresentativeInfoResponse_Divisions+    RepresentativeInfoResponse_Divisions (..),+    newRepresentativeInfoResponse_Divisions,++    -- * SimpleAddressType+    SimpleAddressType (..),+    newSimpleAddressType,++    -- * Source+    Source (..),+    newSource,++    -- * VoterInfoResponse+    VoterInfoResponse (..),+    newVoterInfoResponse,+  )+where++import Gogol.CivicInfo.Internal.Sum+import Gogol.Prelude qualified as Core++-- | Describes information about a regional election administrative area.+--+-- /See:/ 'newAdministrationRegion' smart constructor.+data AdministrationRegion = AdministrationRegion+  { -- | The election administration body for this area.+    electionAdministrationBody :: (Core.Maybe AdministrativeBody),+    -- | The city or county that provides election information for this voter. This object can have the same elements as state.+    localJurisdiction :: (Core.Maybe AdministrationRegion),+    -- | The name of the jurisdiction.+    name :: (Core.Maybe Core.Text),+    -- | A list of sources for this area. If multiple sources are listed the data has been aggregated from those sources.+    sources :: (Core.Maybe [Source])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'AdministrationRegion' with the minimum fields required to make a request.+newAdministrationRegion ::+  AdministrationRegion+newAdministrationRegion =+  AdministrationRegion+    { electionAdministrationBody = Core.Nothing,+      localJurisdiction = Core.Nothing,+      name = Core.Nothing,+      sources = Core.Nothing+    }++instance Core.FromJSON AdministrationRegion where+  parseJSON =+    Core.withObject+      "AdministrationRegion"+      ( \o ->+          AdministrationRegion+            Core.<$> (o Core..:? "electionAdministrationBody")+            Core.<*> (o Core..:? "local_jurisdiction")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "sources")+      )++instance Core.ToJSON AdministrationRegion where+  toJSON AdministrationRegion {..} =+    Core.object+      ( Core.catMaybes+          [ ("electionAdministrationBody" Core..=)+              Core.<$> electionAdministrationBody,+            ("local_jurisdiction" Core..=) Core.<$> localJurisdiction,+            ("name" Core..=) Core.<$> name,+            ("sources" Core..=) Core.<$> sources+          ]+      )++-- | Information about an election administrative body (e.g. County Board of Elections).+--+-- /See:/ 'newAdministrativeBody' smart constructor.+data AdministrativeBody = AdministrativeBody+  { -- | A URL provided by this administrative body for information on absentee voting.+    absenteeVotingInfoUrl :: (Core.Maybe Core.Text),+    -- | A URL provided by this administrative body to give contest information to the voter.+    ballotInfoUrl :: (Core.Maybe Core.Text),+    -- | The mailing address of this administrative body.+    correspondenceAddress :: (Core.Maybe SimpleAddressType),+    -- | A URL provided by this administrative body for looking up general election information.+    electionInfoUrl :: (Core.Maybe Core.Text),+    -- | A last minute or emergency notification text provided by this administrative body.+    electionNoticeText :: (Core.Maybe Core.Text),+    -- | A URL provided by this administrative body for additional information related to the last minute or emergency notification.+    electionNoticeUrl :: (Core.Maybe Core.Text),+    -- | The election officials for this election administrative body.+    electionOfficials :: (Core.Maybe [ElectionOfficial]),+    -- | A URL provided by this administrative body for confirming that the voter is registered to vote.+    electionRegistrationConfirmationUrl :: (Core.Maybe Core.Text),+    -- | A URL provided by this administrative body for looking up how to register to vote.+    electionRegistrationUrl :: (Core.Maybe Core.Text),+    -- | A URL provided by this administrative body describing election rules to the voter.+    electionRulesUrl :: (Core.Maybe Core.Text),+    -- | A description of the hours of operation for this administrative body.+    hoursOfOperation :: (Core.Maybe Core.Text),+    -- | The name of this election administrative body.+    name :: (Core.Maybe Core.Text),+    -- | The physical address of this administrative body.+    physicalAddress :: (Core.Maybe SimpleAddressType),+    -- | A description of the services this administrative body may provide.+    voterServices :: (Core.Maybe [Core.Text]),+    -- | A URL provided by this administrative body for looking up where to vote.+    votingLocationFinderUrl :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'AdministrativeBody' with the minimum fields required to make a request.+newAdministrativeBody ::+  AdministrativeBody+newAdministrativeBody =+  AdministrativeBody+    { absenteeVotingInfoUrl = Core.Nothing,+      ballotInfoUrl = Core.Nothing,+      correspondenceAddress = Core.Nothing,+      electionInfoUrl = Core.Nothing,+      electionNoticeText = Core.Nothing,+      electionNoticeUrl = Core.Nothing,+      electionOfficials = Core.Nothing,+      electionRegistrationConfirmationUrl = Core.Nothing,+      electionRegistrationUrl = Core.Nothing,+      electionRulesUrl = Core.Nothing,+      hoursOfOperation = Core.Nothing,+      name = Core.Nothing,+      physicalAddress = Core.Nothing,+      voterServices = Core.Nothing,+      votingLocationFinderUrl = Core.Nothing+    }++instance Core.FromJSON AdministrativeBody where+  parseJSON =+    Core.withObject+      "AdministrativeBody"+      ( \o ->+          AdministrativeBody+            Core.<$> (o Core..:? "absenteeVotingInfoUrl")+            Core.<*> (o Core..:? "ballotInfoUrl")+            Core.<*> (o Core..:? "correspondenceAddress")+            Core.<*> (o Core..:? "electionInfoUrl")+            Core.<*> (o Core..:? "electionNoticeText")+            Core.<*> (o Core..:? "electionNoticeUrl")+            Core.<*> (o Core..:? "electionOfficials")+            Core.<*> (o Core..:? "electionRegistrationConfirmationUrl")+            Core.<*> (o Core..:? "electionRegistrationUrl")+            Core.<*> (o Core..:? "electionRulesUrl")+            Core.<*> (o Core..:? "hoursOfOperation")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "physicalAddress")+            Core.<*> (o Core..:? "voter_services")+            Core.<*> (o Core..:? "votingLocationFinderUrl")+      )++instance Core.ToJSON AdministrativeBody where+  toJSON AdministrativeBody {..} =+    Core.object+      ( Core.catMaybes+          [ ("absenteeVotingInfoUrl" Core..=) Core.<$> absenteeVotingInfoUrl,+            ("ballotInfoUrl" Core..=) Core.<$> ballotInfoUrl,+            ("correspondenceAddress" Core..=) Core.<$> correspondenceAddress,+            ("electionInfoUrl" Core..=) Core.<$> electionInfoUrl,+            ("electionNoticeText" Core..=) Core.<$> electionNoticeText,+            ("electionNoticeUrl" Core..=) Core.<$> electionNoticeUrl,+            ("electionOfficials" Core..=) Core.<$> electionOfficials,+            ("electionRegistrationConfirmationUrl" Core..=)+              Core.<$> electionRegistrationConfirmationUrl,+            ("electionRegistrationUrl" Core..=)+              Core.<$> electionRegistrationUrl,+            ("electionRulesUrl" Core..=) Core.<$> electionRulesUrl,+            ("hoursOfOperation" Core..=) Core.<$> hoursOfOperation,+            ("name" Core..=) Core.<$> name,+            ("physicalAddress" Core..=) Core.<$> physicalAddress,+            ("voter_services" Core..=) Core.<$> voterServices,+            ("votingLocationFinderUrl" Core..=)+              Core.<$> votingLocationFinderUrl+          ]+      )++-- | Information about a candidate running for elected office.+--+-- /See:/ 'newCandidate' smart constructor.+data Candidate = Candidate+  { -- | The URL for the candidate\'s campaign web site.+    candidateUrl :: (Core.Maybe Core.Text),+    -- | A list of known (social) media channels for this candidate.+    channels :: (Core.Maybe [Channel]),+    -- | The email address for the candidate\'s campaign.+    email :: (Core.Maybe Core.Text),+    -- | The candidate\'s name. If this is a joint ticket it will indicate the name of the candidate at the top of a ticket followed by a \/ and that name of candidate at the bottom of the ticket. e.g. \"Mitt Romney \/ Paul Ryan\"+    name :: (Core.Maybe Core.Text),+    -- | The order the candidate appears on the ballot for this contest.+    orderOnBallot :: (Core.Maybe Core.Int64),+    -- | The full name of the party the candidate is a member of.+    party :: (Core.Maybe Core.Text),+    -- | The voice phone number for the candidate\'s campaign office.+    phone :: (Core.Maybe Core.Text),+    -- | A URL for a photo of the candidate.+    photoUrl :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Candidate' with the minimum fields required to make a request.+newCandidate ::+  Candidate+newCandidate =+  Candidate+    { candidateUrl = Core.Nothing,+      channels = Core.Nothing,+      email = Core.Nothing,+      name = Core.Nothing,+      orderOnBallot = Core.Nothing,+      party = Core.Nothing,+      phone = Core.Nothing,+      photoUrl = Core.Nothing+    }++instance Core.FromJSON Candidate where+  parseJSON =+    Core.withObject+      "Candidate"+      ( \o ->+          Candidate+            Core.<$> (o Core..:? "candidateUrl")+            Core.<*> (o Core..:? "channels")+            Core.<*> (o Core..:? "email")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "orderOnBallot" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "party")+            Core.<*> (o Core..:? "phone")+            Core.<*> (o Core..:? "photoUrl")+      )++instance Core.ToJSON Candidate where+  toJSON Candidate {..} =+    Core.object+      ( Core.catMaybes+          [ ("candidateUrl" Core..=) Core.<$> candidateUrl,+            ("channels" Core..=) Core.<$> channels,+            ("email" Core..=) Core.<$> email,+            ("name" Core..=) Core.<$> name,+            ("orderOnBallot" Core..=)+              Core.. Core.AsText+              Core.<$> orderOnBallot,+            ("party" Core..=) Core.<$> party,+            ("phone" Core..=) Core.<$> phone,+            ("photoUrl" Core..=) Core.<$> photoUrl+          ]+      )++-- | A social media or web channel for a candidate.+--+-- /See:/ 'newChannel' smart constructor.+data Channel = Channel+  { -- | The unique public identifier for the candidate\'s channel.+    id :: (Core.Maybe Core.Text),+    -- | The type of channel. The following is a list of types of channels, but is not exhaustive. More channel types may be added at a later time. One of: GooglePlus, YouTube, Facebook, Twitter+    type' :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Channel' with the minimum fields required to make a request.+newChannel ::+  Channel+newChannel = Channel {id = Core.Nothing, type' = Core.Nothing}++instance Core.FromJSON Channel where+  parseJSON =+    Core.withObject+      "Channel"+      ( \o ->+          Channel Core.<$> (o Core..:? "id") Core.<*> (o Core..:? "type")+      )++instance Core.ToJSON Channel where+  toJSON Channel {..} =+    Core.object+      ( Core.catMaybes+          [("id" Core..=) Core.<$> id, ("type" Core..=) Core.<$> type']+      )++-- | Information about a contest that appears on a voter\'s ballot.+--+-- /See:/ 'newContest' smart constructor.+data Contest = Contest+  { -- | A number specifying the position of this contest on the voter\'s ballot.+    ballotPlacement :: (Core.Maybe Core.Int64),+    -- | The official title on the ballot for this contest, only where available.+    ballotTitle :: (Core.Maybe Core.Text),+    -- | The candidate choices for this contest.+    candidates :: (Core.Maybe [Candidate]),+    -- | Information about the electoral district that this contest is in.+    district :: (Core.Maybe ElectoralDistrict),+    -- | A description of any additional eligibility requirements for voting in this contest.+    electorateSpecifications :: (Core.Maybe Core.Text),+    -- | The levels of government of the office for this contest. There may be more than one in cases where a jurisdiction effectively acts at two different levels of government; for example, the mayor of the District of Columbia acts at \"locality\" level, but also effectively at both \"administrative-area-2\" and \"administrative-area-1\".+    level :: (Core.Maybe [Contest_LevelItem]),+    -- | The number of candidates that will be elected to office in this contest.+    numberElected :: (Core.Maybe Core.Int64),+    -- | The number of candidates that a voter may vote for in this contest.+    numberVotingFor :: (Core.Maybe Core.Int64),+    -- | The name of the office for this contest.+    office :: (Core.Maybe Core.Text),+    -- | If this is a partisan election, the name of the party\/parties it is for.+    primaryParties :: (Core.Maybe [Core.Text]),+    -- | The set of ballot responses for the referendum. A ballot response represents a line on the ballot. Common examples might include \"yes\" or \"no\" for referenda. This field is only populated for contests of type \'Referendum\'.+    referendumBallotResponses :: (Core.Maybe [Core.Text]),+    -- | Specifies a short summary of the referendum that is typically on the ballot below the title but above the text. This field is only populated for contests of type \'Referendum\'.+    referendumBrief :: (Core.Maybe Core.Text),+    -- | A statement in opposition to the referendum. It does not necessarily appear on the ballot. This field is only populated for contests of type \'Referendum\'.+    referendumConStatement :: (Core.Maybe Core.Text),+    -- | Specifies what effect abstaining (not voting) on the proposition will have (i.e. whether abstaining is considered a vote against it). This field is only populated for contests of type \'Referendum\'.+    referendumEffectOfAbstain :: (Core.Maybe Core.Text),+    -- | The threshold of votes that the referendum needs in order to pass, e.g. \"two-thirds\". This field is only populated for contests of type \'Referendum\'.+    referendumPassageThreshold :: (Core.Maybe Core.Text),+    -- | A statement in favor of the referendum. It does not necessarily appear on the ballot. This field is only populated for contests of type \'Referendum\'.+    referendumProStatement :: (Core.Maybe Core.Text),+    -- | A brief description of the referendum. This field is only populated for contests of type \'Referendum\'.+    referendumSubtitle :: (Core.Maybe Core.Text),+    -- | The full text of the referendum. This field is only populated for contests of type \'Referendum\'.+    referendumText :: (Core.Maybe Core.Text),+    -- | The title of the referendum (e.g. \'Proposition 42\'). This field is only populated for contests of type \'Referendum\'.+    referendumTitle :: (Core.Maybe Core.Text),+    -- | A link to the referendum. This field is only populated for contests of type \'Referendum\'.+    referendumUrl :: (Core.Maybe Core.Text),+    -- | The roles which this office fulfills.+    roles :: (Core.Maybe [Contest_RolesItem]),+    -- | A list of sources for this contest. If multiple sources are listed, the data has been aggregated from those sources.+    sources :: (Core.Maybe [Source]),+    -- | \"Yes\" or \"No\" depending on whether this a contest being held outside the normal election cycle.+    special :: (Core.Maybe Core.Text),+    -- | The type of contest. Usually this will be \'General\', \'Primary\', or \'Run-off\' for contests with candidates. For referenda this will be \'Referendum\'. For Retention contests this will typically be \'Retention\'.+    type' :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Contest' with the minimum fields required to make a request.+newContest ::+  Contest+newContest =+  Contest+    { ballotPlacement = Core.Nothing,+      ballotTitle = Core.Nothing,+      candidates = Core.Nothing,+      district = Core.Nothing,+      electorateSpecifications = Core.Nothing,+      level = Core.Nothing,+      numberElected = Core.Nothing,+      numberVotingFor = Core.Nothing,+      office = Core.Nothing,+      primaryParties = Core.Nothing,+      referendumBallotResponses = Core.Nothing,+      referendumBrief = Core.Nothing,+      referendumConStatement = Core.Nothing,+      referendumEffectOfAbstain = Core.Nothing,+      referendumPassageThreshold = Core.Nothing,+      referendumProStatement = Core.Nothing,+      referendumSubtitle = Core.Nothing,+      referendumText = Core.Nothing,+      referendumTitle = Core.Nothing,+      referendumUrl = Core.Nothing,+      roles = Core.Nothing,+      sources = Core.Nothing,+      special = Core.Nothing,+      type' = Core.Nothing+    }++instance Core.FromJSON Contest where+  parseJSON =+    Core.withObject+      "Contest"+      ( \o ->+          Contest+            Core.<$> (o Core..:? "ballotPlacement" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "ballotTitle")+            Core.<*> (o Core..:? "candidates")+            Core.<*> (o Core..:? "district")+            Core.<*> (o Core..:? "electorateSpecifications")+            Core.<*> (o Core..:? "level")+            Core.<*> (o Core..:? "numberElected" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "numberVotingFor" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "office")+            Core.<*> (o Core..:? "primaryParties")+            Core.<*> (o Core..:? "referendumBallotResponses")+            Core.<*> (o Core..:? "referendumBrief")+            Core.<*> (o Core..:? "referendumConStatement")+            Core.<*> (o Core..:? "referendumEffectOfAbstain")+            Core.<*> (o Core..:? "referendumPassageThreshold")+            Core.<*> (o Core..:? "referendumProStatement")+            Core.<*> (o Core..:? "referendumSubtitle")+            Core.<*> (o Core..:? "referendumText")+            Core.<*> (o Core..:? "referendumTitle")+            Core.<*> (o Core..:? "referendumUrl")+            Core.<*> (o Core..:? "roles")+            Core.<*> (o Core..:? "sources")+            Core.<*> (o Core..:? "special")+            Core.<*> (o Core..:? "type")+      )++instance Core.ToJSON Contest where+  toJSON Contest {..} =+    Core.object+      ( Core.catMaybes+          [ ("ballotPlacement" Core..=)+              Core.. Core.AsText+              Core.<$> ballotPlacement,+            ("ballotTitle" Core..=) Core.<$> ballotTitle,+            ("candidates" Core..=) Core.<$> candidates,+            ("district" Core..=) Core.<$> district,+            ("electorateSpecifications" Core..=)+              Core.<$> electorateSpecifications,+            ("level" Core..=) Core.<$> level,+            ("numberElected" Core..=)+              Core.. Core.AsText+              Core.<$> numberElected,+            ("numberVotingFor" Core..=)+              Core.. Core.AsText+              Core.<$> numberVotingFor,+            ("office" Core..=) Core.<$> office,+            ("primaryParties" Core..=) Core.<$> primaryParties,+            ("referendumBallotResponses" Core..=)+              Core.<$> referendumBallotResponses,+            ("referendumBrief" Core..=) Core.<$> referendumBrief,+            ("referendumConStatement" Core..=) Core.<$> referendumConStatement,+            ("referendumEffectOfAbstain" Core..=)+              Core.<$> referendumEffectOfAbstain,+            ("referendumPassageThreshold" Core..=)+              Core.<$> referendumPassageThreshold,+            ("referendumProStatement" Core..=) Core.<$> referendumProStatement,+            ("referendumSubtitle" Core..=) Core.<$> referendumSubtitle,+            ("referendumText" Core..=) Core.<$> referendumText,+            ("referendumTitle" Core..=) Core.<$> referendumTitle,+            ("referendumUrl" Core..=) Core.<$> referendumUrl,+            ("roles" Core..=) Core.<$> roles,+            ("sources" Core..=) Core.<$> sources,+            ("special" Core..=) Core.<$> special,+            ("type" Core..=) Core.<$> type'+          ]+      )++--+-- /See:/ 'newDivisionByAddressResponse' smart constructor.+data DivisionByAddressResponse = DivisionByAddressResponse+  { divisions :: (Core.Maybe DivisionByAddressResponse_Divisions),+    -- | The normalized version of the requested address.+    normalizedInput :: (Core.Maybe SimpleAddressType)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DivisionByAddressResponse' with the minimum fields required to make a request.+newDivisionByAddressResponse ::+  DivisionByAddressResponse+newDivisionByAddressResponse =+  DivisionByAddressResponse+    { divisions = Core.Nothing,+      normalizedInput = Core.Nothing+    }++instance Core.FromJSON DivisionByAddressResponse where+  parseJSON =+    Core.withObject+      "DivisionByAddressResponse"+      ( \o ->+          DivisionByAddressResponse+            Core.<$> (o Core..:? "divisions")+            Core.<*> (o Core..:? "normalizedInput")+      )++instance Core.ToJSON DivisionByAddressResponse where+  toJSON DivisionByAddressResponse {..} =+    Core.object+      ( Core.catMaybes+          [ ("divisions" Core..=) Core.<$> divisions,+            ("normalizedInput" Core..=) Core.<$> normalizedInput+          ]+      )++--+-- /See:/ 'newDivisionByAddressResponse_Divisions' smart constructor.+newtype DivisionByAddressResponse_Divisions = DivisionByAddressResponse_Divisions+  { additional :: (Core.HashMap Core.Text GeographicDivision)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DivisionByAddressResponse_Divisions' with the minimum fields required to make a request.+newDivisionByAddressResponse_Divisions ::+  -- |  See 'additional'.+  Core.HashMap Core.Text GeographicDivision ->+  DivisionByAddressResponse_Divisions+newDivisionByAddressResponse_Divisions additional =+  DivisionByAddressResponse_Divisions {additional = additional}++instance Core.FromJSON DivisionByAddressResponse_Divisions where+  parseJSON =+    Core.withObject+      "DivisionByAddressResponse_Divisions"+      ( \o ->+          DivisionByAddressResponse_Divisions+            Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON DivisionByAddressResponse_Divisions where+  toJSON DivisionByAddressResponse_Divisions {..} =+    Core.toJSON additional++-- | The result of a division search query.+--+-- /See:/ 'newDivisionSearchResponse' smart constructor.+data DivisionSearchResponse = DivisionSearchResponse+  { -- | Identifies what kind of resource this is. Value: the fixed string \"civicinfo#divisionSearchResponse\".+    kind :: Core.Text,+    results :: (Core.Maybe [DivisionSearchResult])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DivisionSearchResponse' with the minimum fields required to make a request.+newDivisionSearchResponse ::+  DivisionSearchResponse+newDivisionSearchResponse =+  DivisionSearchResponse+    { kind = "civicinfo#divisionSearchResponse",+      results = Core.Nothing+    }++instance Core.FromJSON DivisionSearchResponse where+  parseJSON =+    Core.withObject+      "DivisionSearchResponse"+      ( \o ->+          DivisionSearchResponse+            Core.<$> (o Core..:? "kind" Core..!= "civicinfo#divisionSearchResponse")+            Core.<*> (o Core..:? "results")+      )++instance Core.ToJSON DivisionSearchResponse where+  toJSON DivisionSearchResponse {..} =+    Core.object+      ( Core.catMaybes+          [ Core.Just ("kind" Core..= kind),+            ("results" Core..=) Core.<$> results+          ]+      )++-- | Represents a political geographic division that matches the requested query.+--+-- /See:/ 'newDivisionSearchResult' smart constructor.+data DivisionSearchResult = DivisionSearchResult+  { -- | Other Open Civic Data identifiers that refer to the same division -- for example, those that refer to other political divisions whose boundaries are defined to be coterminous with this one. For example, ocd-division\/country:us\/state:wy will include an alias of ocd-division\/country:us\/state:wy\/cd:1, since Wyoming has only one Congressional district.+    aliases :: (Core.Maybe [Core.Text]),+    -- | The name of the division.+    name :: (Core.Maybe Core.Text),+    -- | The unique Open Civic Data identifier for this division+    ocdId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DivisionSearchResult' with the minimum fields required to make a request.+newDivisionSearchResult ::+  DivisionSearchResult+newDivisionSearchResult =+  DivisionSearchResult+    { aliases = Core.Nothing,+      name = Core.Nothing,+      ocdId = Core.Nothing+    }++instance Core.FromJSON DivisionSearchResult where+  parseJSON =+    Core.withObject+      "DivisionSearchResult"+      ( \o ->+          DivisionSearchResult+            Core.<$> (o Core..:? "aliases")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "ocdId")+      )++instance Core.ToJSON DivisionSearchResult where+  toJSON DivisionSearchResult {..} =+    Core.object+      ( Core.catMaybes+          [ ("aliases" Core..=) Core.<$> aliases,+            ("name" Core..=) Core.<$> name,+            ("ocdId" Core..=) Core.<$> ocdId+          ]+      )++-- | Information about the election that was queried.+--+-- /See:/ 'newElection' smart constructor.+data Election = Election+  { -- | Day of the election in YYYY-MM-DD format.+    electionDay :: (Core.Maybe Core.Text),+    -- | The unique ID of this election.+    id :: (Core.Maybe Core.Int64),+    -- | A displayable name for the election.+    name :: (Core.Maybe Core.Text),+    -- | The political division of the election. Represented as an OCD Division ID. Voters within these political jurisdictions are covered by this election. This is typically a state such as ocd-division\/country:us\/state:ca or for the midterms or general election the entire US (i.e. ocd-division\/country:us).+    ocdDivisionId :: (Core.Maybe Core.Text),+    shapeLookupBehavior :: (Core.Maybe Election_ShapeLookupBehavior)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Election' with the minimum fields required to make a request.+newElection ::+  Election+newElection =+  Election+    { electionDay = Core.Nothing,+      id = Core.Nothing,+      name = Core.Nothing,+      ocdDivisionId = Core.Nothing,+      shapeLookupBehavior = Core.Nothing+    }++instance Core.FromJSON Election where+  parseJSON =+    Core.withObject+      "Election"+      ( \o ->+          Election+            Core.<$> (o Core..:? "electionDay")+            Core.<*> (o Core..:? "id" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "ocdDivisionId")+            Core.<*> (o Core..:? "shapeLookupBehavior")+      )++instance Core.ToJSON Election where+  toJSON Election {..} =+    Core.object+      ( Core.catMaybes+          [ ("electionDay" Core..=) Core.<$> electionDay,+            ("id" Core..=) Core.. Core.AsText Core.<$> id,+            ("name" Core..=) Core.<$> name,+            ("ocdDivisionId" Core..=) Core.<$> ocdDivisionId,+            ("shapeLookupBehavior" Core..=) Core.<$> shapeLookupBehavior+          ]+      )++-- | Information about individual election officials.+--+-- /See:/ 'newElectionOfficial' smart constructor.+data ElectionOfficial = ElectionOfficial+  { -- | The email address of the election official.+    emailAddress :: (Core.Maybe Core.Text),+    -- | The fax number of the election official.+    faxNumber :: (Core.Maybe Core.Text),+    -- | The full name of the election official.+    name :: (Core.Maybe Core.Text),+    -- | The office phone number of the election official.+    officePhoneNumber :: (Core.Maybe Core.Text),+    -- | The title of the election official.+    title :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ElectionOfficial' with the minimum fields required to make a request.+newElectionOfficial ::+  ElectionOfficial+newElectionOfficial =+  ElectionOfficial+    { emailAddress = Core.Nothing,+      faxNumber = Core.Nothing,+      name = Core.Nothing,+      officePhoneNumber = Core.Nothing,+      title = Core.Nothing+    }++instance Core.FromJSON ElectionOfficial where+  parseJSON =+    Core.withObject+      "ElectionOfficial"+      ( \o ->+          ElectionOfficial+            Core.<$> (o Core..:? "emailAddress")+            Core.<*> (o Core..:? "faxNumber")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "officePhoneNumber")+            Core.<*> (o Core..:? "title")+      )++instance Core.ToJSON ElectionOfficial where+  toJSON ElectionOfficial {..} =+    Core.object+      ( Core.catMaybes+          [ ("emailAddress" Core..=) Core.<$> emailAddress,+            ("faxNumber" Core..=) Core.<$> faxNumber,+            ("name" Core..=) Core.<$> name,+            ("officePhoneNumber" Core..=) Core.<$> officePhoneNumber,+            ("title" Core..=) Core.<$> title+          ]+      )++-- | The list of elections available for this version of the API.+--+-- /See:/ 'newElectionsQueryResponse' smart constructor.+data ElectionsQueryResponse = ElectionsQueryResponse+  { -- | A list of available elections+    elections :: (Core.Maybe [Election]),+    -- | Identifies what kind of resource this is. Value: the fixed string \"civicinfo#electionsQueryResponse\".+    kind :: Core.Text+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ElectionsQueryResponse' with the minimum fields required to make a request.+newElectionsQueryResponse ::+  ElectionsQueryResponse+newElectionsQueryResponse =+  ElectionsQueryResponse+    { elections = Core.Nothing,+      kind = "civicinfo#electionsQueryResponse"+    }++instance Core.FromJSON ElectionsQueryResponse where+  parseJSON =+    Core.withObject+      "ElectionsQueryResponse"+      ( \o ->+          ElectionsQueryResponse+            Core.<$> (o Core..:? "elections")+            Core.<*> (o Core..:? "kind" Core..!= "civicinfo#electionsQueryResponse")+      )++instance Core.ToJSON ElectionsQueryResponse where+  toJSON ElectionsQueryResponse {..} =+    Core.object+      ( Core.catMaybes+          [ ("elections" Core..=) Core.<$> elections,+            Core.Just ("kind" Core..= kind)+          ]+      )++-- | Describes the geographic scope of a contest.+--+-- /See:/ 'newElectoralDistrict' smart constructor.+data ElectoralDistrict = ElectoralDistrict+  { -- | An identifier for this district, relative to its scope. For example, the 34th State Senate district would have id \"34\" and a scope of stateUpper.+    id :: (Core.Maybe Core.Text),+    -- | The name of the district.+    name :: (Core.Maybe Core.Text),+    -- | The geographic scope of this district. If unspecified the district\'s geography is not known. One of: national, statewide, congressional, stateUpper, stateLower, countywide, judicial, schoolBoard, cityWide, township, countyCouncil, cityCouncil, ward, special+    scope :: (Core.Maybe ElectoralDistrict_Scope)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ElectoralDistrict' with the minimum fields required to make a request.+newElectoralDistrict ::+  ElectoralDistrict+newElectoralDistrict =+  ElectoralDistrict+    { id = Core.Nothing,+      name = Core.Nothing,+      scope = Core.Nothing+    }++instance Core.FromJSON ElectoralDistrict where+  parseJSON =+    Core.withObject+      "ElectoralDistrict"+      ( \o ->+          ElectoralDistrict+            Core.<$> (o Core..:? "id")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "scope")+      )++instance Core.ToJSON ElectoralDistrict where+  toJSON ElectoralDistrict {..} =+    Core.object+      ( Core.catMaybes+          [ ("id" Core..=) Core.<$> id,+            ("name" Core..=) Core.<$> name,+            ("scope" Core..=) Core.<$> scope+          ]+      )++-- | Describes a political geography.+--+-- /See:/ 'newGeographicDivision' smart constructor.+data GeographicDivision = GeographicDivision+  { -- | Any other valid OCD IDs that refer to the same division.\\n\\nBecause OCD IDs are meant to be human-readable and at least somewhat predictable, there are occasionally several identifiers for a single division. These identifiers are defined to be equivalent to one another, and one is always indicated as the primary identifier. The primary identifier will be returned in ocd_id above, and any other equivalent valid identifiers will be returned in this list.\\n\\nFor example, if this division\'s OCD ID is ocd-division\/country:us\/district:dc, this will contain ocd-division\/country:us\/state:dc.+    alsoKnownAs :: (Core.Maybe [Core.Text]),+    -- | The name of the division.+    name :: (Core.Maybe Core.Text),+    -- | List of indices in the offices array, one for each office elected from this division. Will only be present if includeOffices was true (or absent) in the request.+    officeIndices :: (Core.Maybe [Core.Word32])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GeographicDivision' with the minimum fields required to make a request.+newGeographicDivision ::+  GeographicDivision+newGeographicDivision =+  GeographicDivision+    { alsoKnownAs = Core.Nothing,+      name = Core.Nothing,+      officeIndices = Core.Nothing+    }++instance Core.FromJSON GeographicDivision where+  parseJSON =+    Core.withObject+      "GeographicDivision"+      ( \o ->+          GeographicDivision+            Core.<$> (o Core..:? "alsoKnownAs")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "officeIndices")+      )++instance Core.ToJSON GeographicDivision where+  toJSON GeographicDivision {..} =+    Core.object+      ( Core.catMaybes+          [ ("alsoKnownAs" Core..=) Core.<$> alsoKnownAs,+            ("name" Core..=) Core.<$> name,+            ("officeIndices" Core..=) Core.<$> officeIndices+          ]+      )++-- | Information about an Office held by one or more Officials.+--+-- /See:/ 'newOffice' smart constructor.+data Office = Office+  { -- | The OCD ID of the division with which this office is associated.+    divisionId :: (Core.Maybe Core.Text),+    -- | The levels of government of which this office is part. There may be more than one in cases where a jurisdiction effectively acts at two different levels of government; for example, the mayor of the District of Columbia acts at \"locality\" level, but also effectively at both \"administrative-area-2\" and \"administrative-area-1\".+    levels :: (Core.Maybe [Office_LevelsItem]),+    -- | The human-readable name of the office.+    name :: (Core.Maybe Core.Text),+    -- | List of indices in the officials array of people who presently hold this office.+    officialIndices :: (Core.Maybe [Core.Word32]),+    -- | The roles which this office fulfills. Roles are not meant to be exhaustive, or to exactly specify the entire set of responsibilities of a given office, but are meant to be rough categories that are useful for general selection from or sorting of a list of offices.+    roles :: (Core.Maybe [Office_RolesItem]),+    -- | A list of sources for this office. If multiple sources are listed, the data has been aggregated from those sources.+    sources :: (Core.Maybe [Source])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Office' with the minimum fields required to make a request.+newOffice ::+  Office+newOffice =+  Office+    { divisionId = Core.Nothing,+      levels = Core.Nothing,+      name = Core.Nothing,+      officialIndices = Core.Nothing,+      roles = Core.Nothing,+      sources = Core.Nothing+    }++instance Core.FromJSON Office where+  parseJSON =+    Core.withObject+      "Office"+      ( \o ->+          Office+            Core.<$> (o Core..:? "divisionId")+            Core.<*> (o Core..:? "levels")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "officialIndices")+            Core.<*> (o Core..:? "roles")+            Core.<*> (o Core..:? "sources")+      )++instance Core.ToJSON Office where+  toJSON Office {..} =+    Core.object+      ( Core.catMaybes+          [ ("divisionId" Core..=) Core.<$> divisionId,+            ("levels" Core..=) Core.<$> levels,+            ("name" Core..=) Core.<$> name,+            ("officialIndices" Core..=) Core.<$> officialIndices,+            ("roles" Core..=) Core.<$> roles,+            ("sources" Core..=) Core.<$> sources+          ]+      )++-- | Information about a person holding an elected office.+--+-- /See:/ 'newOfficial' smart constructor.+data Official = Official+  { -- | Addresses at which to contact the official.+    address :: (Core.Maybe [SimpleAddressType]),+    -- | A list of known (social) media channels for this official.+    channels :: (Core.Maybe [Channel]),+    -- | The direct email addresses for the official.+    emails :: (Core.Maybe [Core.Text]),+    -- | The official\'s name.+    name :: (Core.Maybe Core.Text),+    -- | The full name of the party the official belongs to.+    party :: (Core.Maybe Core.Text),+    -- | The official\'s public contact phone numbers.+    phones :: (Core.Maybe [Core.Text]),+    -- | A URL for a photo of the official.+    photoUrl :: (Core.Maybe Core.Text),+    -- | The official\'s public website URLs.+    urls :: (Core.Maybe [Core.Text])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Official' with the minimum fields required to make a request.+newOfficial ::+  Official+newOfficial =+  Official+    { address = Core.Nothing,+      channels = Core.Nothing,+      emails = Core.Nothing,+      name = Core.Nothing,+      party = Core.Nothing,+      phones = Core.Nothing,+      photoUrl = Core.Nothing,+      urls = Core.Nothing+    }++instance Core.FromJSON Official where+  parseJSON =+    Core.withObject+      "Official"+      ( \o ->+          Official+            Core.<$> (o Core..:? "address")+            Core.<*> (o Core..:? "channels")+            Core.<*> (o Core..:? "emails")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "party")+            Core.<*> (o Core..:? "phones")+            Core.<*> (o Core..:? "photoUrl")+            Core.<*> (o Core..:? "urls")+      )++instance Core.ToJSON Official where+  toJSON Official {..} =+    Core.object+      ( Core.catMaybes+          [ ("address" Core..=) Core.<$> address,+            ("channels" Core..=) Core.<$> channels,+            ("emails" Core..=) Core.<$> emails,+            ("name" Core..=) Core.<$> name,+            ("party" Core..=) Core.<$> party,+            ("phones" Core..=) Core.<$> phones,+            ("photoUrl" Core..=) Core.<$> photoUrl,+            ("urls" Core..=) Core.<$> urls+          ]+      )++-- | A location where a voter can vote. This may be an early vote site, an election day voting location, or a drop off location for a completed ballot.+--+-- /See:/ 'newPollingLocation' smart constructor.+data PollingLocation = PollingLocation+  { -- | The address of the location.+    address :: (Core.Maybe SimpleAddressType),+    -- | The last date that this early vote site or drop off location may be used. This field is not populated for polling locations.+    endDate :: (Core.Maybe Core.Text),+    -- | Latitude of the location, in degrees north of the equator. Note this field may not be available for some locations.+    latitude :: (Core.Maybe Core.Double),+    -- | Longitude of the location, in degrees east of the Prime Meridian. Note this field may not be available for some locations.+    longitude :: (Core.Maybe Core.Double),+    -- | The name of the early vote site or drop off location. This field is not populated for polling locations.+    name :: (Core.Maybe Core.Text),+    -- | Notes about this location (e.g. accessibility ramp or entrance to use).+    notes :: (Core.Maybe Core.Text),+    -- | A description of when this location is open.+    pollingHours :: (Core.Maybe Core.Text),+    -- | A list of sources for this location. If multiple sources are listed the data has been aggregated from those sources.+    sources :: (Core.Maybe [Source]),+    -- | The first date that this early vote site or drop off location may be used. This field is not populated for polling locations.+    startDate :: (Core.Maybe Core.Text),+    -- | The services provided by this early vote site or drop off location. This field is not populated for polling locations.+    voterServices :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'PollingLocation' with the minimum fields required to make a request.+newPollingLocation ::+  PollingLocation+newPollingLocation =+  PollingLocation+    { address = Core.Nothing,+      endDate = Core.Nothing,+      latitude = Core.Nothing,+      longitude = Core.Nothing,+      name = Core.Nothing,+      notes = Core.Nothing,+      pollingHours = Core.Nothing,+      sources = Core.Nothing,+      startDate = Core.Nothing,+      voterServices = Core.Nothing+    }++instance Core.FromJSON PollingLocation where+  parseJSON =+    Core.withObject+      "PollingLocation"+      ( \o ->+          PollingLocation+            Core.<$> (o Core..:? "address")+            Core.<*> (o Core..:? "endDate")+            Core.<*> (o Core..:? "latitude")+            Core.<*> (o Core..:? "longitude")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "notes")+            Core.<*> (o Core..:? "pollingHours")+            Core.<*> (o Core..:? "sources")+            Core.<*> (o Core..:? "startDate")+            Core.<*> (o Core..:? "voterServices")+      )++instance Core.ToJSON PollingLocation where+  toJSON PollingLocation {..} =+    Core.object+      ( Core.catMaybes+          [ ("address" Core..=) Core.<$> address,+            ("endDate" Core..=) Core.<$> endDate,+            ("latitude" Core..=) Core.<$> latitude,+            ("longitude" Core..=) Core.<$> longitude,+            ("name" Core..=) Core.<$> name,+            ("notes" Core..=) Core.<$> notes,+            ("pollingHours" Core..=) Core.<$> pollingHours,+            ("sources" Core..=) Core.<$> sources,+            ("startDate" Core..=) Core.<$> startDate,+            ("voterServices" Core..=) Core.<$> voterServices+          ]+      )++--+-- /See:/ 'newPrecinct' smart constructor.+data Precinct = Precinct+  { -- | ID of the AdministrationRegion message for this precinct. Corresponds to LocalityId xml tag.+    administrationRegionId :: (Core.Maybe Core.Text),+    -- | ID(s) of the Contest message(s) for this precinct.+    contestId :: (Core.Maybe [Core.Text]),+    -- | Required. Dataset ID. What datasets our Precincts come from.+    datasetId :: (Core.Maybe Core.Int64),+    -- | ID(s) of the PollingLocation message(s) for this precinct.+    earlyVoteSiteId :: (Core.Maybe [Core.Text]),+    -- | ID(s) of the ElectoralDistrict message(s) for this precinct.+    electoralDistrictId :: (Core.Maybe [Core.Text]),+    -- | Required. A unique identifier for this precinct.+    id :: (Core.Maybe Core.Text),+    -- | Specifies if the precinct runs mail-only elections.+    mailOnly :: (Core.Maybe Core.Bool),+    -- | Required. The name of the precinct.+    name :: (Core.Maybe Core.Text),+    -- | The number of the precinct.+    number :: (Core.Maybe Core.Text),+    -- | Encouraged. The OCD ID of the precinct+    ocdId :: (Core.Maybe [Core.Text]),+    -- | ID(s) of the PollingLocation message(s) for this precinct.+    pollingLocationId :: (Core.Maybe [Core.Text]),+    -- | ID(s) of the SpatialBoundary message(s) for this precinct. Used to specify a geometrical boundary of the precinct.+    spatialBoundaryId :: (Core.Maybe [Core.Text]),+    -- | If present, this proto corresponds to one portion of split precinct. Other portions of this precinct are guaranteed to have the same @name@. If not present, this proto represents a full precicnt.+    splitName :: (Core.Maybe Core.Text),+    -- | Specifies the ward the precinct is contained within.+    ward :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Precinct' with the minimum fields required to make a request.+newPrecinct ::+  Precinct+newPrecinct =+  Precinct+    { administrationRegionId = Core.Nothing,+      contestId = Core.Nothing,+      datasetId = Core.Nothing,+      earlyVoteSiteId = Core.Nothing,+      electoralDistrictId = Core.Nothing,+      id = Core.Nothing,+      mailOnly = Core.Nothing,+      name = Core.Nothing,+      number = Core.Nothing,+      ocdId = Core.Nothing,+      pollingLocationId = Core.Nothing,+      spatialBoundaryId = Core.Nothing,+      splitName = Core.Nothing,+      ward = Core.Nothing+    }++instance Core.FromJSON Precinct where+  parseJSON =+    Core.withObject+      "Precinct"+      ( \o ->+          Precinct+            Core.<$> (o Core..:? "administrationRegionId")+            Core.<*> (o Core..:? "contestId")+            Core.<*> (o Core..:? "datasetId" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "earlyVoteSiteId")+            Core.<*> (o Core..:? "electoralDistrictId")+            Core.<*> (o Core..:? "id")+            Core.<*> (o Core..:? "mailOnly")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "number")+            Core.<*> (o Core..:? "ocdId")+            Core.<*> (o Core..:? "pollingLocationId")+            Core.<*> (o Core..:? "spatialBoundaryId")+            Core.<*> (o Core..:? "splitName")+            Core.<*> (o Core..:? "ward")+      )++instance Core.ToJSON Precinct where+  toJSON Precinct {..} =+    Core.object+      ( Core.catMaybes+          [ ("administrationRegionId" Core..=)+              Core.<$> administrationRegionId,+            ("contestId" Core..=) Core.<$> contestId,+            ("datasetId" Core..=) Core.. Core.AsText Core.<$> datasetId,+            ("earlyVoteSiteId" Core..=) Core.<$> earlyVoteSiteId,+            ("electoralDistrictId" Core..=) Core.<$> electoralDistrictId,+            ("id" Core..=) Core.<$> id,+            ("mailOnly" Core..=) Core.<$> mailOnly,+            ("name" Core..=) Core.<$> name,+            ("number" Core..=) Core.<$> number,+            ("ocdId" Core..=) Core.<$> ocdId,+            ("pollingLocationId" Core..=) Core.<$> pollingLocationId,+            ("spatialBoundaryId" Core..=) Core.<$> spatialBoundaryId,+            ("splitName" Core..=) Core.<$> splitName,+            ("ward" Core..=) Core.<$> ward+          ]+      )++--+-- /See:/ 'newRepresentativeInfoData' smart constructor.+data RepresentativeInfoData = RepresentativeInfoData+  { -- | A map of political geographic divisions that contain the requested address, keyed by the unique Open Civic Data identifier for this division.+    divisions :: (Core.Maybe RepresentativeInfoData_Divisions),+    -- | Elected offices referenced by the divisions listed above. Will only be present if includeOffices was true in the request.+    offices :: (Core.Maybe [Office]),+    -- | Officials holding the offices listed above. Will only be present if includeOffices was true in the request.+    officials :: (Core.Maybe [Official])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RepresentativeInfoData' with the minimum fields required to make a request.+newRepresentativeInfoData ::+  RepresentativeInfoData+newRepresentativeInfoData =+  RepresentativeInfoData+    { divisions = Core.Nothing,+      offices = Core.Nothing,+      officials = Core.Nothing+    }++instance Core.FromJSON RepresentativeInfoData where+  parseJSON =+    Core.withObject+      "RepresentativeInfoData"+      ( \o ->+          RepresentativeInfoData+            Core.<$> (o Core..:? "divisions")+            Core.<*> (o Core..:? "offices")+            Core.<*> (o Core..:? "officials")+      )++instance Core.ToJSON RepresentativeInfoData where+  toJSON RepresentativeInfoData {..} =+    Core.object+      ( Core.catMaybes+          [ ("divisions" Core..=) Core.<$> divisions,+            ("offices" Core..=) Core.<$> offices,+            ("officials" Core..=) Core.<$> officials+          ]+      )++-- | A map of political geographic divisions that contain the requested address, keyed by the unique Open Civic Data identifier for this division.+--+-- /See:/ 'newRepresentativeInfoData_Divisions' smart constructor.+newtype RepresentativeInfoData_Divisions = RepresentativeInfoData_Divisions+  { additional :: (Core.HashMap Core.Text GeographicDivision)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RepresentativeInfoData_Divisions' with the minimum fields required to make a request.+newRepresentativeInfoData_Divisions ::+  -- |  See 'additional'.+  Core.HashMap Core.Text GeographicDivision ->+  RepresentativeInfoData_Divisions+newRepresentativeInfoData_Divisions additional =+  RepresentativeInfoData_Divisions {additional = additional}++instance Core.FromJSON RepresentativeInfoData_Divisions where+  parseJSON =+    Core.withObject+      "RepresentativeInfoData_Divisions"+      ( \o ->+          RepresentativeInfoData_Divisions Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON RepresentativeInfoData_Divisions where+  toJSON RepresentativeInfoData_Divisions {..} =+    Core.toJSON additional++-- | The result of a representative info lookup query.+--+-- /See:/ 'newRepresentativeInfoResponse' smart constructor.+data RepresentativeInfoResponse = RepresentativeInfoResponse+  { -- | A map of political geographic divisions that contain the requested address, keyed by the unique Open Civic Data identifier for this division.+    divisions :: (Core.Maybe RepresentativeInfoResponse_Divisions),+    -- | Identifies what kind of resource this is. Value: the fixed string \"civicinfo#representativeInfoResponse\".+    kind :: Core.Text,+    -- | The normalized version of the requested address+    normalizedInput :: (Core.Maybe SimpleAddressType),+    -- | Elected offices referenced by the divisions listed above. Will only be present if includeOffices was true in the request.+    offices :: (Core.Maybe [Office]),+    -- | Officials holding the offices listed above. Will only be present if includeOffices was true in the request.+    officials :: (Core.Maybe [Official])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RepresentativeInfoResponse' with the minimum fields required to make a request.+newRepresentativeInfoResponse ::+  RepresentativeInfoResponse+newRepresentativeInfoResponse =+  RepresentativeInfoResponse+    { divisions = Core.Nothing,+      kind = "civicinfo#representativeInfoResponse",+      normalizedInput = Core.Nothing,+      offices = Core.Nothing,+      officials = Core.Nothing+    }++instance Core.FromJSON RepresentativeInfoResponse where+  parseJSON =+    Core.withObject+      "RepresentativeInfoResponse"+      ( \o ->+          RepresentativeInfoResponse+            Core.<$> (o Core..:? "divisions")+            Core.<*> (o Core..:? "kind" Core..!= "civicinfo#representativeInfoResponse")+            Core.<*> (o Core..:? "normalizedInput")+            Core.<*> (o Core..:? "offices")+            Core.<*> (o Core..:? "officials")+      )++instance Core.ToJSON RepresentativeInfoResponse where+  toJSON RepresentativeInfoResponse {..} =+    Core.object+      ( Core.catMaybes+          [ ("divisions" Core..=) Core.<$> divisions,+            Core.Just ("kind" Core..= kind),+            ("normalizedInput" Core..=) Core.<$> normalizedInput,+            ("offices" Core..=) Core.<$> offices,+            ("officials" Core..=) Core.<$> officials+          ]+      )++-- | A map of political geographic divisions that contain the requested address, keyed by the unique Open Civic Data identifier for this division.+--+-- /See:/ 'newRepresentativeInfoResponse_Divisions' smart constructor.+newtype RepresentativeInfoResponse_Divisions = RepresentativeInfoResponse_Divisions+  { additional :: (Core.HashMap Core.Text GeographicDivision)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RepresentativeInfoResponse_Divisions' with the minimum fields required to make a request.+newRepresentativeInfoResponse_Divisions ::+  -- |  See 'additional'.+  Core.HashMap Core.Text GeographicDivision ->+  RepresentativeInfoResponse_Divisions+newRepresentativeInfoResponse_Divisions additional =+  RepresentativeInfoResponse_Divisions {additional = additional}++instance Core.FromJSON RepresentativeInfoResponse_Divisions where+  parseJSON =+    Core.withObject+      "RepresentativeInfoResponse_Divisions"+      ( \o ->+          RepresentativeInfoResponse_Divisions+            Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON RepresentativeInfoResponse_Divisions where+  toJSON RepresentativeInfoResponse_Divisions {..} =+    Core.toJSON additional++-- | A simple representation of an address.+--+-- /See:/ 'newSimpleAddressType' smart constructor.+data SimpleAddressType = SimpleAddressType+  { -- | The city or town for the address.+    city :: (Core.Maybe Core.Text),+    -- | The street name and number of this address.+    line1 :: (Core.Maybe Core.Text),+    -- | The second line the address, if needed.+    line2 :: (Core.Maybe Core.Text),+    -- | The third line of the address, if needed.+    line3 :: (Core.Maybe Core.Text),+    -- | The name of the location.+    locationName :: (Core.Maybe Core.Text),+    -- | The US two letter state abbreviation of the address.+    state :: (Core.Maybe Core.Text),+    -- | The US Postal Zip Code of the address.+    zip :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SimpleAddressType' with the minimum fields required to make a request.+newSimpleAddressType ::+  SimpleAddressType+newSimpleAddressType =+  SimpleAddressType+    { city = Core.Nothing,+      line1 = Core.Nothing,+      line2 = Core.Nothing,+      line3 = Core.Nothing,+      locationName = Core.Nothing,+      state = Core.Nothing,+      zip = Core.Nothing+    }++instance Core.FromJSON SimpleAddressType where+  parseJSON =+    Core.withObject+      "SimpleAddressType"+      ( \o ->+          SimpleAddressType+            Core.<$> (o Core..:? "city")+            Core.<*> (o Core..:? "line1")+            Core.<*> (o Core..:? "line2")+            Core.<*> (o Core..:? "line3")+            Core.<*> (o Core..:? "locationName")+            Core.<*> (o Core..:? "state")+            Core.<*> (o Core..:? "zip")+      )++instance Core.ToJSON SimpleAddressType where+  toJSON SimpleAddressType {..} =+    Core.object+      ( Core.catMaybes+          [ ("city" Core..=) Core.<$> city,+            ("line1" Core..=) Core.<$> line1,+            ("line2" Core..=) Core.<$> line2,+            ("line3" Core..=) Core.<$> line3,+            ("locationName" Core..=) Core.<$> locationName,+            ("state" Core..=) Core.<$> state,+            ("zip" Core..=) Core.<$> zip+          ]+      )++-- | Contains information about the data source for the element containing it.+--+-- /See:/ 'newSource' smart constructor.+data Source = Source+  { -- | The name of the data source.+    name :: (Core.Maybe Core.Text),+    -- | Whether this data comes from an official government source.+    official :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Source' with the minimum fields required to make a request.+newSource ::+  Source+newSource = Source {name = Core.Nothing, official = Core.Nothing}++instance Core.FromJSON Source where+  parseJSON =+    Core.withObject+      "Source"+      ( \o ->+          Source+            Core.<$> (o Core..:? "name")+            Core.<*> (o Core..:? "official")+      )++instance Core.ToJSON Source where+  toJSON Source {..} =+    Core.object+      ( Core.catMaybes+          [ ("name" Core..=) Core.<$> name,+            ("official" Core..=) Core.<$> official+          ]+      )++-- | The result of a voter info lookup query.+--+-- /See:/ 'newVoterInfoResponse' smart constructor.+data VoterInfoResponse = VoterInfoResponse+  { -- | Contests that will appear on the voter\'s ballot.+    contests :: (Core.Maybe [Contest]),+    -- | Locations where a voter is eligible to drop off a completed ballot. The voter must have received and completed a ballot prior to arriving at the location. The location may not have ballots available on the premises. These locations could be open on or before election day as indicated in the pollingHours field.+    dropOffLocations :: (Core.Maybe [PollingLocation]),+    -- | Locations where the voter is eligible to vote early, prior to election day.+    earlyVoteSites :: (Core.Maybe [PollingLocation]),+    -- | The election that was queried.+    election :: (Core.Maybe Election),+    -- | Identifies what kind of resource this is. Value: the fixed string \"civicinfo#voterInfoResponse\".+    kind :: Core.Text,+    -- | Specifies whether voters in the precinct vote only by mailing their ballots (with the possible option of dropping off their ballots as well).+    mailOnly :: (Core.Maybe Core.Bool),+    -- | The normalized version of the requested address+    normalizedInput :: (Core.Maybe SimpleAddressType),+    -- | When there are multiple elections for a voter address, the otherElections field is populated in the API response and there are two possibilities: 1. If the earliest election is not the intended election, specify the election ID of the desired election in a second API request using the electionId field. 2. If these elections occur on the same day, the API doesn?t return any polling location, contest, or election official information to ensure that an additional query is made. For user-facing applications, we recommend displaying these elections to the user to disambiguate. A second API request using the electionId field should be made for the election that is relevant to the user.+    otherElections :: (Core.Maybe [Election]),+    -- | Locations where the voter is eligible to vote on election day.+    pollingLocations :: (Core.Maybe [PollingLocation]),+    precinctId :: (Core.Maybe Core.Text),+    -- | The precincts that match this voter\'s address. Will only be returned for project IDs which have been allowlisted as \"partner projects\".+    precincts :: (Core.Maybe [Precinct]),+    -- | Local Election Information for the state that the voter votes in. For the US, there will only be one element in this array.+    state :: (Core.Maybe [AdministrationRegion])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'VoterInfoResponse' with the minimum fields required to make a request.+newVoterInfoResponse ::+  VoterInfoResponse+newVoterInfoResponse =+  VoterInfoResponse+    { contests = Core.Nothing,+      dropOffLocations = Core.Nothing,+      earlyVoteSites = Core.Nothing,+      election = Core.Nothing,+      kind = "civicinfo#voterInfoResponse",+      mailOnly = Core.Nothing,+      normalizedInput = Core.Nothing,+      otherElections = Core.Nothing,+      pollingLocations = Core.Nothing,+      precinctId = Core.Nothing,+      precincts = Core.Nothing,+      state = Core.Nothing+    }++instance Core.FromJSON VoterInfoResponse where+  parseJSON =+    Core.withObject+      "VoterInfoResponse"+      ( \o ->+          VoterInfoResponse+            Core.<$> (o Core..:? "contests")+            Core.<*> (o Core..:? "dropOffLocations")+            Core.<*> (o Core..:? "earlyVoteSites")+            Core.<*> (o Core..:? "election")+            Core.<*> (o Core..:? "kind" Core..!= "civicinfo#voterInfoResponse")+            Core.<*> (o Core..:? "mailOnly")+            Core.<*> (o Core..:? "normalizedInput")+            Core.<*> (o Core..:? "otherElections")+            Core.<*> (o Core..:? "pollingLocations")+            Core.<*> (o Core..:? "precinctId")+            Core.<*> (o Core..:? "precincts")+            Core.<*> (o Core..:? "state")+      )++instance Core.ToJSON VoterInfoResponse where+  toJSON VoterInfoResponse {..} =+    Core.object+      ( Core.catMaybes+          [ ("contests" Core..=) Core.<$> contests,+            ("dropOffLocations" Core..=) Core.<$> dropOffLocations,+            ("earlyVoteSites" Core..=) Core.<$> earlyVoteSites,+            ("election" Core..=) Core.<$> election,+            Core.Just ("kind" Core..= kind),+            ("mailOnly" Core..=) Core.<$> mailOnly,+            ("normalizedInput" Core..=) Core.<$> normalizedInput,+            ("otherElections" Core..=) Core.<$> otherElections,+            ("pollingLocations" Core..=) Core.<$> pollingLocations,+            ("precinctId" Core..=) Core.<$> precinctId,+            ("precincts" Core..=) Core.<$> precincts,+            ("state" Core..=) Core.<$> state+          ]+      )
+ gen/Gogol/CivicInfo/Internal/Sum.hs view
@@ -0,0 +1,783 @@+{-# 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.CivicInfo.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.CivicInfo.Internal.Sum+  ( -- * Xgafv+    Xgafv+      ( Xgafv_1,+        Xgafv_2,+        ..+      ),++    -- * Contest_LevelItem+    Contest_LevelItem+      ( Contest_LevelItem_International,+        Contest_LevelItem_Country,+        Contest_LevelItem_ADMINISTRATIVEAREA1,+        Contest_LevelItem_Regional,+        Contest_LevelItem_ADMINISTRATIVEAREA2,+        Contest_LevelItem_Locality,+        Contest_LevelItem_SUBLOCALITY1,+        Contest_LevelItem_SUBLOCALITY2,+        Contest_LevelItem_Special,+        ..+      ),++    -- * Contest_RolesItem+    Contest_RolesItem+      ( Contest_RolesItem_HeadOfState,+        Contest_RolesItem_HeadOfGovernment,+        Contest_RolesItem_DeputyHeadOfGovernment,+        Contest_RolesItem_GovernmentOfficer,+        Contest_RolesItem_ExecutiveCouncil,+        Contest_RolesItem_LegislatorUpperBody,+        Contest_RolesItem_LegislatorLowerBody,+        Contest_RolesItem_HighestCourtJudge,+        Contest_RolesItem_Judge,+        Contest_RolesItem_SchoolBoard,+        Contest_RolesItem_SpecialPurposeOfficer,+        Contest_RolesItem_OtherRole,+        ..+      ),++    -- * Election_ShapeLookupBehavior+    Election_ShapeLookupBehavior+      ( Election_ShapeLookupBehavior_ShapeLookupDefault,+        Election_ShapeLookupBehavior_ShapeLookupDisabled,+        Election_ShapeLookupBehavior_ShapeLookupEnabled,+        ..+      ),++    -- * ElectoralDistrict_Scope+    ElectoralDistrict_Scope+      ( ElectoralDistrict_Scope_Statewide,+        ElectoralDistrict_Scope_Congressional,+        ElectoralDistrict_Scope_StateUpper,+        ElectoralDistrict_Scope_StateLower,+        ElectoralDistrict_Scope_Countywide,+        ElectoralDistrict_Scope_Judicial,+        ElectoralDistrict_Scope_SchoolBoard,+        ElectoralDistrict_Scope_Citywide,+        ElectoralDistrict_Scope_Special,+        ElectoralDistrict_Scope_CountyCouncil,+        ElectoralDistrict_Scope_Township,+        ElectoralDistrict_Scope_Ward,+        ElectoralDistrict_Scope_CityCouncil,+        ElectoralDistrict_Scope_National,+        ..+      ),++    -- * Office_LevelsItem+    Office_LevelsItem+      ( Office_LevelsItem_International,+        Office_LevelsItem_Country,+        Office_LevelsItem_ADMINISTRATIVEAREA1,+        Office_LevelsItem_Regional,+        Office_LevelsItem_ADMINISTRATIVEAREA2,+        Office_LevelsItem_Locality,+        Office_LevelsItem_SUBLOCALITY1,+        Office_LevelsItem_SUBLOCALITY2,+        Office_LevelsItem_Special,+        ..+      ),++    -- * Office_RolesItem+    Office_RolesItem+      ( Office_RolesItem_HeadOfState,+        Office_RolesItem_HeadOfGovernment,+        Office_RolesItem_DeputyHeadOfGovernment,+        Office_RolesItem_GovernmentOfficer,+        Office_RolesItem_ExecutiveCouncil,+        Office_RolesItem_LegislatorUpperBody,+        Office_RolesItem_LegislatorLowerBody,+        Office_RolesItem_HighestCourtJudge,+        Office_RolesItem_Judge,+        Office_RolesItem_SchoolBoard,+        Office_RolesItem_SpecialPurposeOfficer,+        Office_RolesItem_OtherRole,+        ..+      ),++    -- * RepresentativesRepresentativeInfoByAddressLevels+    RepresentativesRepresentativeInfoByAddressLevels+      ( RepresentativesRepresentativeInfoByAddressLevels_International,+        RepresentativesRepresentativeInfoByAddressLevels_Country,+        RepresentativesRepresentativeInfoByAddressLevels_ADMINISTRATIVEAREA1,+        RepresentativesRepresentativeInfoByAddressLevels_Regional,+        RepresentativesRepresentativeInfoByAddressLevels_ADMINISTRATIVEAREA2,+        RepresentativesRepresentativeInfoByAddressLevels_Locality,+        RepresentativesRepresentativeInfoByAddressLevels_SUBLOCALITY1,+        RepresentativesRepresentativeInfoByAddressLevels_SUBLOCALITY2,+        RepresentativesRepresentativeInfoByAddressLevels_Special,+        ..+      ),++    -- * RepresentativesRepresentativeInfoByAddressRoles+    RepresentativesRepresentativeInfoByAddressRoles+      ( RepresentativesRepresentativeInfoByAddressRoles_HeadOfState,+        RepresentativesRepresentativeInfoByAddressRoles_HeadOfGovernment,+        RepresentativesRepresentativeInfoByAddressRoles_DeputyHeadOfGovernment,+        RepresentativesRepresentativeInfoByAddressRoles_GovernmentOfficer,+        RepresentativesRepresentativeInfoByAddressRoles_ExecutiveCouncil,+        RepresentativesRepresentativeInfoByAddressRoles_LegislatorUpperBody,+        RepresentativesRepresentativeInfoByAddressRoles_LegislatorLowerBody,+        RepresentativesRepresentativeInfoByAddressRoles_HighestCourtJudge,+        RepresentativesRepresentativeInfoByAddressRoles_Judge,+        RepresentativesRepresentativeInfoByAddressRoles_SchoolBoard,+        RepresentativesRepresentativeInfoByAddressRoles_SpecialPurposeOfficer,+        RepresentativesRepresentativeInfoByAddressRoles_OtherRole,+        ..+      ),++    -- * RepresentativesRepresentativeInfoByDivisionLevels+    RepresentativesRepresentativeInfoByDivisionLevels+      ( RepresentativesRepresentativeInfoByDivisionLevels_International,+        RepresentativesRepresentativeInfoByDivisionLevels_Country,+        RepresentativesRepresentativeInfoByDivisionLevels_ADMINISTRATIVEAREA1,+        RepresentativesRepresentativeInfoByDivisionLevels_Regional,+        RepresentativesRepresentativeInfoByDivisionLevels_ADMINISTRATIVEAREA2,+        RepresentativesRepresentativeInfoByDivisionLevels_Locality,+        RepresentativesRepresentativeInfoByDivisionLevels_SUBLOCALITY1,+        RepresentativesRepresentativeInfoByDivisionLevels_SUBLOCALITY2,+        RepresentativesRepresentativeInfoByDivisionLevels_Special,+        ..+      ),++    -- * RepresentativesRepresentativeInfoByDivisionRoles+    RepresentativesRepresentativeInfoByDivisionRoles+      ( RepresentativesRepresentativeInfoByDivisionRoles_HeadOfState,+        RepresentativesRepresentativeInfoByDivisionRoles_HeadOfGovernment,+        RepresentativesRepresentativeInfoByDivisionRoles_DeputyHeadOfGovernment,+        RepresentativesRepresentativeInfoByDivisionRoles_GovernmentOfficer,+        RepresentativesRepresentativeInfoByDivisionRoles_ExecutiveCouncil,+        RepresentativesRepresentativeInfoByDivisionRoles_LegislatorUpperBody,+        RepresentativesRepresentativeInfoByDivisionRoles_LegislatorLowerBody,+        RepresentativesRepresentativeInfoByDivisionRoles_HighestCourtJudge,+        RepresentativesRepresentativeInfoByDivisionRoles_Judge,+        RepresentativesRepresentativeInfoByDivisionRoles_SchoolBoard,+        RepresentativesRepresentativeInfoByDivisionRoles_SpecialPurposeOfficer,+        RepresentativesRepresentativeInfoByDivisionRoles_OtherRole,+        ..+      ),+  )+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+  #-}++newtype Contest_LevelItem = Contest_LevelItem {fromContest_LevelItem :: 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+    )++pattern Contest_LevelItem_International :: Contest_LevelItem+pattern Contest_LevelItem_International = Contest_LevelItem "international"++pattern Contest_LevelItem_Country :: Contest_LevelItem+pattern Contest_LevelItem_Country = Contest_LevelItem "country"++pattern Contest_LevelItem_ADMINISTRATIVEAREA1 :: Contest_LevelItem+pattern Contest_LevelItem_ADMINISTRATIVEAREA1 = Contest_LevelItem "administrativeArea1"++pattern Contest_LevelItem_Regional :: Contest_LevelItem+pattern Contest_LevelItem_Regional = Contest_LevelItem "regional"++pattern Contest_LevelItem_ADMINISTRATIVEAREA2 :: Contest_LevelItem+pattern Contest_LevelItem_ADMINISTRATIVEAREA2 = Contest_LevelItem "administrativeArea2"++pattern Contest_LevelItem_Locality :: Contest_LevelItem+pattern Contest_LevelItem_Locality = Contest_LevelItem "locality"++pattern Contest_LevelItem_SUBLOCALITY1 :: Contest_LevelItem+pattern Contest_LevelItem_SUBLOCALITY1 = Contest_LevelItem "subLocality1"++pattern Contest_LevelItem_SUBLOCALITY2 :: Contest_LevelItem+pattern Contest_LevelItem_SUBLOCALITY2 = Contest_LevelItem "subLocality2"++pattern Contest_LevelItem_Special :: Contest_LevelItem+pattern Contest_LevelItem_Special = Contest_LevelItem "special"++{-# COMPLETE+  Contest_LevelItem_International,+  Contest_LevelItem_Country,+  Contest_LevelItem_ADMINISTRATIVEAREA1,+  Contest_LevelItem_Regional,+  Contest_LevelItem_ADMINISTRATIVEAREA2,+  Contest_LevelItem_Locality,+  Contest_LevelItem_SUBLOCALITY1,+  Contest_LevelItem_SUBLOCALITY2,+  Contest_LevelItem_Special,+  Contest_LevelItem+  #-}++newtype Contest_RolesItem = Contest_RolesItem {fromContest_RolesItem :: 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+    )++pattern Contest_RolesItem_HeadOfState :: Contest_RolesItem+pattern Contest_RolesItem_HeadOfState = Contest_RolesItem "headOfState"++pattern Contest_RolesItem_HeadOfGovernment :: Contest_RolesItem+pattern Contest_RolesItem_HeadOfGovernment = Contest_RolesItem "headOfGovernment"++pattern Contest_RolesItem_DeputyHeadOfGovernment :: Contest_RolesItem+pattern Contest_RolesItem_DeputyHeadOfGovernment = Contest_RolesItem "deputyHeadOfGovernment"++pattern Contest_RolesItem_GovernmentOfficer :: Contest_RolesItem+pattern Contest_RolesItem_GovernmentOfficer = Contest_RolesItem "governmentOfficer"++pattern Contest_RolesItem_ExecutiveCouncil :: Contest_RolesItem+pattern Contest_RolesItem_ExecutiveCouncil = Contest_RolesItem "executiveCouncil"++pattern Contest_RolesItem_LegislatorUpperBody :: Contest_RolesItem+pattern Contest_RolesItem_LegislatorUpperBody = Contest_RolesItem "legislatorUpperBody"++pattern Contest_RolesItem_LegislatorLowerBody :: Contest_RolesItem+pattern Contest_RolesItem_LegislatorLowerBody = Contest_RolesItem "legislatorLowerBody"++pattern Contest_RolesItem_HighestCourtJudge :: Contest_RolesItem+pattern Contest_RolesItem_HighestCourtJudge = Contest_RolesItem "highestCourtJudge"++pattern Contest_RolesItem_Judge :: Contest_RolesItem+pattern Contest_RolesItem_Judge = Contest_RolesItem "judge"++pattern Contest_RolesItem_SchoolBoard :: Contest_RolesItem+pattern Contest_RolesItem_SchoolBoard = Contest_RolesItem "schoolBoard"++pattern Contest_RolesItem_SpecialPurposeOfficer :: Contest_RolesItem+pattern Contest_RolesItem_SpecialPurposeOfficer = Contest_RolesItem "specialPurposeOfficer"++pattern Contest_RolesItem_OtherRole :: Contest_RolesItem+pattern Contest_RolesItem_OtherRole = Contest_RolesItem "otherRole"++{-# COMPLETE+  Contest_RolesItem_HeadOfState,+  Contest_RolesItem_HeadOfGovernment,+  Contest_RolesItem_DeputyHeadOfGovernment,+  Contest_RolesItem_GovernmentOfficer,+  Contest_RolesItem_ExecutiveCouncil,+  Contest_RolesItem_LegislatorUpperBody,+  Contest_RolesItem_LegislatorLowerBody,+  Contest_RolesItem_HighestCourtJudge,+  Contest_RolesItem_Judge,+  Contest_RolesItem_SchoolBoard,+  Contest_RolesItem_SpecialPurposeOfficer,+  Contest_RolesItem_OtherRole,+  Contest_RolesItem+  #-}++newtype Election_ShapeLookupBehavior = Election_ShapeLookupBehavior {fromElection_ShapeLookupBehavior :: 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+    )++pattern Election_ShapeLookupBehavior_ShapeLookupDefault :: Election_ShapeLookupBehavior+pattern Election_ShapeLookupBehavior_ShapeLookupDefault = Election_ShapeLookupBehavior "shapeLookupDefault"++pattern Election_ShapeLookupBehavior_ShapeLookupDisabled :: Election_ShapeLookupBehavior+pattern Election_ShapeLookupBehavior_ShapeLookupDisabled = Election_ShapeLookupBehavior "shapeLookupDisabled"++pattern Election_ShapeLookupBehavior_ShapeLookupEnabled :: Election_ShapeLookupBehavior+pattern Election_ShapeLookupBehavior_ShapeLookupEnabled = Election_ShapeLookupBehavior "shapeLookupEnabled"++{-# COMPLETE+  Election_ShapeLookupBehavior_ShapeLookupDefault,+  Election_ShapeLookupBehavior_ShapeLookupDisabled,+  Election_ShapeLookupBehavior_ShapeLookupEnabled,+  Election_ShapeLookupBehavior+  #-}++-- | The geographic scope of this district. If unspecified the district\'s geography is not known. One of: national, statewide, congressional, stateUpper, stateLower, countywide, judicial, schoolBoard, cityWide, township, countyCouncil, cityCouncil, ward, special+newtype ElectoralDistrict_Scope = ElectoralDistrict_Scope {fromElectoralDistrict_Scope :: 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+    )++pattern ElectoralDistrict_Scope_Statewide :: ElectoralDistrict_Scope+pattern ElectoralDistrict_Scope_Statewide = ElectoralDistrict_Scope "statewide"++pattern ElectoralDistrict_Scope_Congressional :: ElectoralDistrict_Scope+pattern ElectoralDistrict_Scope_Congressional = ElectoralDistrict_Scope "congressional"++pattern ElectoralDistrict_Scope_StateUpper :: ElectoralDistrict_Scope+pattern ElectoralDistrict_Scope_StateUpper = ElectoralDistrict_Scope "stateUpper"++pattern ElectoralDistrict_Scope_StateLower :: ElectoralDistrict_Scope+pattern ElectoralDistrict_Scope_StateLower = ElectoralDistrict_Scope "stateLower"++pattern ElectoralDistrict_Scope_Countywide :: ElectoralDistrict_Scope+pattern ElectoralDistrict_Scope_Countywide = ElectoralDistrict_Scope "countywide"++pattern ElectoralDistrict_Scope_Judicial :: ElectoralDistrict_Scope+pattern ElectoralDistrict_Scope_Judicial = ElectoralDistrict_Scope "judicial"++pattern ElectoralDistrict_Scope_SchoolBoard :: ElectoralDistrict_Scope+pattern ElectoralDistrict_Scope_SchoolBoard = ElectoralDistrict_Scope "schoolBoard"++pattern ElectoralDistrict_Scope_Citywide :: ElectoralDistrict_Scope+pattern ElectoralDistrict_Scope_Citywide = ElectoralDistrict_Scope "citywide"++pattern ElectoralDistrict_Scope_Special :: ElectoralDistrict_Scope+pattern ElectoralDistrict_Scope_Special = ElectoralDistrict_Scope "special"++pattern ElectoralDistrict_Scope_CountyCouncil :: ElectoralDistrict_Scope+pattern ElectoralDistrict_Scope_CountyCouncil = ElectoralDistrict_Scope "countyCouncil"++pattern ElectoralDistrict_Scope_Township :: ElectoralDistrict_Scope+pattern ElectoralDistrict_Scope_Township = ElectoralDistrict_Scope "township"++pattern ElectoralDistrict_Scope_Ward :: ElectoralDistrict_Scope+pattern ElectoralDistrict_Scope_Ward = ElectoralDistrict_Scope "ward"++pattern ElectoralDistrict_Scope_CityCouncil :: ElectoralDistrict_Scope+pattern ElectoralDistrict_Scope_CityCouncil = ElectoralDistrict_Scope "cityCouncil"++pattern ElectoralDistrict_Scope_National :: ElectoralDistrict_Scope+pattern ElectoralDistrict_Scope_National = ElectoralDistrict_Scope "national"++{-# COMPLETE+  ElectoralDistrict_Scope_Statewide,+  ElectoralDistrict_Scope_Congressional,+  ElectoralDistrict_Scope_StateUpper,+  ElectoralDistrict_Scope_StateLower,+  ElectoralDistrict_Scope_Countywide,+  ElectoralDistrict_Scope_Judicial,+  ElectoralDistrict_Scope_SchoolBoard,+  ElectoralDistrict_Scope_Citywide,+  ElectoralDistrict_Scope_Special,+  ElectoralDistrict_Scope_CountyCouncil,+  ElectoralDistrict_Scope_Township,+  ElectoralDistrict_Scope_Ward,+  ElectoralDistrict_Scope_CityCouncil,+  ElectoralDistrict_Scope_National,+  ElectoralDistrict_Scope+  #-}++newtype Office_LevelsItem = Office_LevelsItem {fromOffice_LevelsItem :: 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+    )++pattern Office_LevelsItem_International :: Office_LevelsItem+pattern Office_LevelsItem_International = Office_LevelsItem "international"++pattern Office_LevelsItem_Country :: Office_LevelsItem+pattern Office_LevelsItem_Country = Office_LevelsItem "country"++pattern Office_LevelsItem_ADMINISTRATIVEAREA1 :: Office_LevelsItem+pattern Office_LevelsItem_ADMINISTRATIVEAREA1 = Office_LevelsItem "administrativeArea1"++pattern Office_LevelsItem_Regional :: Office_LevelsItem+pattern Office_LevelsItem_Regional = Office_LevelsItem "regional"++pattern Office_LevelsItem_ADMINISTRATIVEAREA2 :: Office_LevelsItem+pattern Office_LevelsItem_ADMINISTRATIVEAREA2 = Office_LevelsItem "administrativeArea2"++pattern Office_LevelsItem_Locality :: Office_LevelsItem+pattern Office_LevelsItem_Locality = Office_LevelsItem "locality"++pattern Office_LevelsItem_SUBLOCALITY1 :: Office_LevelsItem+pattern Office_LevelsItem_SUBLOCALITY1 = Office_LevelsItem "subLocality1"++pattern Office_LevelsItem_SUBLOCALITY2 :: Office_LevelsItem+pattern Office_LevelsItem_SUBLOCALITY2 = Office_LevelsItem "subLocality2"++pattern Office_LevelsItem_Special :: Office_LevelsItem+pattern Office_LevelsItem_Special = Office_LevelsItem "special"++{-# COMPLETE+  Office_LevelsItem_International,+  Office_LevelsItem_Country,+  Office_LevelsItem_ADMINISTRATIVEAREA1,+  Office_LevelsItem_Regional,+  Office_LevelsItem_ADMINISTRATIVEAREA2,+  Office_LevelsItem_Locality,+  Office_LevelsItem_SUBLOCALITY1,+  Office_LevelsItem_SUBLOCALITY2,+  Office_LevelsItem_Special,+  Office_LevelsItem+  #-}++newtype Office_RolesItem = Office_RolesItem {fromOffice_RolesItem :: 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+    )++pattern Office_RolesItem_HeadOfState :: Office_RolesItem+pattern Office_RolesItem_HeadOfState = Office_RolesItem "headOfState"++pattern Office_RolesItem_HeadOfGovernment :: Office_RolesItem+pattern Office_RolesItem_HeadOfGovernment = Office_RolesItem "headOfGovernment"++pattern Office_RolesItem_DeputyHeadOfGovernment :: Office_RolesItem+pattern Office_RolesItem_DeputyHeadOfGovernment = Office_RolesItem "deputyHeadOfGovernment"++pattern Office_RolesItem_GovernmentOfficer :: Office_RolesItem+pattern Office_RolesItem_GovernmentOfficer = Office_RolesItem "governmentOfficer"++pattern Office_RolesItem_ExecutiveCouncil :: Office_RolesItem+pattern Office_RolesItem_ExecutiveCouncil = Office_RolesItem "executiveCouncil"++pattern Office_RolesItem_LegislatorUpperBody :: Office_RolesItem+pattern Office_RolesItem_LegislatorUpperBody = Office_RolesItem "legislatorUpperBody"++pattern Office_RolesItem_LegislatorLowerBody :: Office_RolesItem+pattern Office_RolesItem_LegislatorLowerBody = Office_RolesItem "legislatorLowerBody"++pattern Office_RolesItem_HighestCourtJudge :: Office_RolesItem+pattern Office_RolesItem_HighestCourtJudge = Office_RolesItem "highestCourtJudge"++pattern Office_RolesItem_Judge :: Office_RolesItem+pattern Office_RolesItem_Judge = Office_RolesItem "judge"++pattern Office_RolesItem_SchoolBoard :: Office_RolesItem+pattern Office_RolesItem_SchoolBoard = Office_RolesItem "schoolBoard"++pattern Office_RolesItem_SpecialPurposeOfficer :: Office_RolesItem+pattern Office_RolesItem_SpecialPurposeOfficer = Office_RolesItem "specialPurposeOfficer"++pattern Office_RolesItem_OtherRole :: Office_RolesItem+pattern Office_RolesItem_OtherRole = Office_RolesItem "otherRole"++{-# COMPLETE+  Office_RolesItem_HeadOfState,+  Office_RolesItem_HeadOfGovernment,+  Office_RolesItem_DeputyHeadOfGovernment,+  Office_RolesItem_GovernmentOfficer,+  Office_RolesItem_ExecutiveCouncil,+  Office_RolesItem_LegislatorUpperBody,+  Office_RolesItem_LegislatorLowerBody,+  Office_RolesItem_HighestCourtJudge,+  Office_RolesItem_Judge,+  Office_RolesItem_SchoolBoard,+  Office_RolesItem_SpecialPurposeOfficer,+  Office_RolesItem_OtherRole,+  Office_RolesItem+  #-}++-- | A list of office levels to filter by. Only offices that serve at least one of these levels will be returned. Divisions that don\'t contain a matching office will not be returned.+newtype RepresentativesRepresentativeInfoByAddressLevels = RepresentativesRepresentativeInfoByAddressLevels {fromRepresentativesRepresentativeInfoByAddressLevels :: 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+    )++pattern RepresentativesRepresentativeInfoByAddressLevels_International :: RepresentativesRepresentativeInfoByAddressLevels+pattern RepresentativesRepresentativeInfoByAddressLevels_International = RepresentativesRepresentativeInfoByAddressLevels "international"++pattern RepresentativesRepresentativeInfoByAddressLevels_Country :: RepresentativesRepresentativeInfoByAddressLevels+pattern RepresentativesRepresentativeInfoByAddressLevels_Country = RepresentativesRepresentativeInfoByAddressLevels "country"++pattern RepresentativesRepresentativeInfoByAddressLevels_ADMINISTRATIVEAREA1 :: RepresentativesRepresentativeInfoByAddressLevels+pattern RepresentativesRepresentativeInfoByAddressLevels_ADMINISTRATIVEAREA1 = RepresentativesRepresentativeInfoByAddressLevels "administrativeArea1"++pattern RepresentativesRepresentativeInfoByAddressLevels_Regional :: RepresentativesRepresentativeInfoByAddressLevels+pattern RepresentativesRepresentativeInfoByAddressLevels_Regional = RepresentativesRepresentativeInfoByAddressLevels "regional"++pattern RepresentativesRepresentativeInfoByAddressLevels_ADMINISTRATIVEAREA2 :: RepresentativesRepresentativeInfoByAddressLevels+pattern RepresentativesRepresentativeInfoByAddressLevels_ADMINISTRATIVEAREA2 = RepresentativesRepresentativeInfoByAddressLevels "administrativeArea2"++pattern RepresentativesRepresentativeInfoByAddressLevels_Locality :: RepresentativesRepresentativeInfoByAddressLevels+pattern RepresentativesRepresentativeInfoByAddressLevels_Locality = RepresentativesRepresentativeInfoByAddressLevels "locality"++pattern RepresentativesRepresentativeInfoByAddressLevels_SUBLOCALITY1 :: RepresentativesRepresentativeInfoByAddressLevels+pattern RepresentativesRepresentativeInfoByAddressLevels_SUBLOCALITY1 = RepresentativesRepresentativeInfoByAddressLevels "subLocality1"++pattern RepresentativesRepresentativeInfoByAddressLevels_SUBLOCALITY2 :: RepresentativesRepresentativeInfoByAddressLevels+pattern RepresentativesRepresentativeInfoByAddressLevels_SUBLOCALITY2 = RepresentativesRepresentativeInfoByAddressLevels "subLocality2"++pattern RepresentativesRepresentativeInfoByAddressLevels_Special :: RepresentativesRepresentativeInfoByAddressLevels+pattern RepresentativesRepresentativeInfoByAddressLevels_Special = RepresentativesRepresentativeInfoByAddressLevels "special"++{-# COMPLETE+  RepresentativesRepresentativeInfoByAddressLevels_International,+  RepresentativesRepresentativeInfoByAddressLevels_Country,+  RepresentativesRepresentativeInfoByAddressLevels_ADMINISTRATIVEAREA1,+  RepresentativesRepresentativeInfoByAddressLevels_Regional,+  RepresentativesRepresentativeInfoByAddressLevels_ADMINISTRATIVEAREA2,+  RepresentativesRepresentativeInfoByAddressLevels_Locality,+  RepresentativesRepresentativeInfoByAddressLevels_SUBLOCALITY1,+  RepresentativesRepresentativeInfoByAddressLevels_SUBLOCALITY2,+  RepresentativesRepresentativeInfoByAddressLevels_Special,+  RepresentativesRepresentativeInfoByAddressLevels+  #-}++-- | A list of office roles to filter by. Only offices fulfilling one of these roles will be returned. Divisions that don\'t contain a matching office will not be returned.+newtype RepresentativesRepresentativeInfoByAddressRoles = RepresentativesRepresentativeInfoByAddressRoles {fromRepresentativesRepresentativeInfoByAddressRoles :: 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+    )++pattern RepresentativesRepresentativeInfoByAddressRoles_HeadOfState :: RepresentativesRepresentativeInfoByAddressRoles+pattern RepresentativesRepresentativeInfoByAddressRoles_HeadOfState = RepresentativesRepresentativeInfoByAddressRoles "headOfState"++pattern RepresentativesRepresentativeInfoByAddressRoles_HeadOfGovernment :: RepresentativesRepresentativeInfoByAddressRoles+pattern RepresentativesRepresentativeInfoByAddressRoles_HeadOfGovernment = RepresentativesRepresentativeInfoByAddressRoles "headOfGovernment"++pattern RepresentativesRepresentativeInfoByAddressRoles_DeputyHeadOfGovernment :: RepresentativesRepresentativeInfoByAddressRoles+pattern RepresentativesRepresentativeInfoByAddressRoles_DeputyHeadOfGovernment = RepresentativesRepresentativeInfoByAddressRoles "deputyHeadOfGovernment"++pattern RepresentativesRepresentativeInfoByAddressRoles_GovernmentOfficer :: RepresentativesRepresentativeInfoByAddressRoles+pattern RepresentativesRepresentativeInfoByAddressRoles_GovernmentOfficer = RepresentativesRepresentativeInfoByAddressRoles "governmentOfficer"++pattern RepresentativesRepresentativeInfoByAddressRoles_ExecutiveCouncil :: RepresentativesRepresentativeInfoByAddressRoles+pattern RepresentativesRepresentativeInfoByAddressRoles_ExecutiveCouncil = RepresentativesRepresentativeInfoByAddressRoles "executiveCouncil"++pattern RepresentativesRepresentativeInfoByAddressRoles_LegislatorUpperBody :: RepresentativesRepresentativeInfoByAddressRoles+pattern RepresentativesRepresentativeInfoByAddressRoles_LegislatorUpperBody = RepresentativesRepresentativeInfoByAddressRoles "legislatorUpperBody"++pattern RepresentativesRepresentativeInfoByAddressRoles_LegislatorLowerBody :: RepresentativesRepresentativeInfoByAddressRoles+pattern RepresentativesRepresentativeInfoByAddressRoles_LegislatorLowerBody = RepresentativesRepresentativeInfoByAddressRoles "legislatorLowerBody"++pattern RepresentativesRepresentativeInfoByAddressRoles_HighestCourtJudge :: RepresentativesRepresentativeInfoByAddressRoles+pattern RepresentativesRepresentativeInfoByAddressRoles_HighestCourtJudge = RepresentativesRepresentativeInfoByAddressRoles "highestCourtJudge"++pattern RepresentativesRepresentativeInfoByAddressRoles_Judge :: RepresentativesRepresentativeInfoByAddressRoles+pattern RepresentativesRepresentativeInfoByAddressRoles_Judge = RepresentativesRepresentativeInfoByAddressRoles "judge"++pattern RepresentativesRepresentativeInfoByAddressRoles_SchoolBoard :: RepresentativesRepresentativeInfoByAddressRoles+pattern RepresentativesRepresentativeInfoByAddressRoles_SchoolBoard = RepresentativesRepresentativeInfoByAddressRoles "schoolBoard"++pattern RepresentativesRepresentativeInfoByAddressRoles_SpecialPurposeOfficer :: RepresentativesRepresentativeInfoByAddressRoles+pattern RepresentativesRepresentativeInfoByAddressRoles_SpecialPurposeOfficer = RepresentativesRepresentativeInfoByAddressRoles "specialPurposeOfficer"++pattern RepresentativesRepresentativeInfoByAddressRoles_OtherRole :: RepresentativesRepresentativeInfoByAddressRoles+pattern RepresentativesRepresentativeInfoByAddressRoles_OtherRole = RepresentativesRepresentativeInfoByAddressRoles "otherRole"++{-# COMPLETE+  RepresentativesRepresentativeInfoByAddressRoles_HeadOfState,+  RepresentativesRepresentativeInfoByAddressRoles_HeadOfGovernment,+  RepresentativesRepresentativeInfoByAddressRoles_DeputyHeadOfGovernment,+  RepresentativesRepresentativeInfoByAddressRoles_GovernmentOfficer,+  RepresentativesRepresentativeInfoByAddressRoles_ExecutiveCouncil,+  RepresentativesRepresentativeInfoByAddressRoles_LegislatorUpperBody,+  RepresentativesRepresentativeInfoByAddressRoles_LegislatorLowerBody,+  RepresentativesRepresentativeInfoByAddressRoles_HighestCourtJudge,+  RepresentativesRepresentativeInfoByAddressRoles_Judge,+  RepresentativesRepresentativeInfoByAddressRoles_SchoolBoard,+  RepresentativesRepresentativeInfoByAddressRoles_SpecialPurposeOfficer,+  RepresentativesRepresentativeInfoByAddressRoles_OtherRole,+  RepresentativesRepresentativeInfoByAddressRoles+  #-}++-- | A list of office levels to filter by. Only offices that serve at least one of these levels will be returned. Divisions that don\'t contain a matching office will not be returned.+newtype RepresentativesRepresentativeInfoByDivisionLevels = RepresentativesRepresentativeInfoByDivisionLevels {fromRepresentativesRepresentativeInfoByDivisionLevels :: 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+    )++pattern RepresentativesRepresentativeInfoByDivisionLevels_International :: RepresentativesRepresentativeInfoByDivisionLevels+pattern RepresentativesRepresentativeInfoByDivisionLevels_International = RepresentativesRepresentativeInfoByDivisionLevels "international"++pattern RepresentativesRepresentativeInfoByDivisionLevels_Country :: RepresentativesRepresentativeInfoByDivisionLevels+pattern RepresentativesRepresentativeInfoByDivisionLevels_Country = RepresentativesRepresentativeInfoByDivisionLevels "country"++pattern RepresentativesRepresentativeInfoByDivisionLevels_ADMINISTRATIVEAREA1 :: RepresentativesRepresentativeInfoByDivisionLevels+pattern RepresentativesRepresentativeInfoByDivisionLevels_ADMINISTRATIVEAREA1 = RepresentativesRepresentativeInfoByDivisionLevels "administrativeArea1"++pattern RepresentativesRepresentativeInfoByDivisionLevels_Regional :: RepresentativesRepresentativeInfoByDivisionLevels+pattern RepresentativesRepresentativeInfoByDivisionLevels_Regional = RepresentativesRepresentativeInfoByDivisionLevels "regional"++pattern RepresentativesRepresentativeInfoByDivisionLevels_ADMINISTRATIVEAREA2 :: RepresentativesRepresentativeInfoByDivisionLevels+pattern RepresentativesRepresentativeInfoByDivisionLevels_ADMINISTRATIVEAREA2 = RepresentativesRepresentativeInfoByDivisionLevels "administrativeArea2"++pattern RepresentativesRepresentativeInfoByDivisionLevels_Locality :: RepresentativesRepresentativeInfoByDivisionLevels+pattern RepresentativesRepresentativeInfoByDivisionLevels_Locality = RepresentativesRepresentativeInfoByDivisionLevels "locality"++pattern RepresentativesRepresentativeInfoByDivisionLevels_SUBLOCALITY1 :: RepresentativesRepresentativeInfoByDivisionLevels+pattern RepresentativesRepresentativeInfoByDivisionLevels_SUBLOCALITY1 = RepresentativesRepresentativeInfoByDivisionLevels "subLocality1"++pattern RepresentativesRepresentativeInfoByDivisionLevels_SUBLOCALITY2 :: RepresentativesRepresentativeInfoByDivisionLevels+pattern RepresentativesRepresentativeInfoByDivisionLevels_SUBLOCALITY2 = RepresentativesRepresentativeInfoByDivisionLevels "subLocality2"++pattern RepresentativesRepresentativeInfoByDivisionLevels_Special :: RepresentativesRepresentativeInfoByDivisionLevels+pattern RepresentativesRepresentativeInfoByDivisionLevels_Special = RepresentativesRepresentativeInfoByDivisionLevels "special"++{-# COMPLETE+  RepresentativesRepresentativeInfoByDivisionLevels_International,+  RepresentativesRepresentativeInfoByDivisionLevels_Country,+  RepresentativesRepresentativeInfoByDivisionLevels_ADMINISTRATIVEAREA1,+  RepresentativesRepresentativeInfoByDivisionLevels_Regional,+  RepresentativesRepresentativeInfoByDivisionLevels_ADMINISTRATIVEAREA2,+  RepresentativesRepresentativeInfoByDivisionLevels_Locality,+  RepresentativesRepresentativeInfoByDivisionLevels_SUBLOCALITY1,+  RepresentativesRepresentativeInfoByDivisionLevels_SUBLOCALITY2,+  RepresentativesRepresentativeInfoByDivisionLevels_Special,+  RepresentativesRepresentativeInfoByDivisionLevels+  #-}++-- | A list of office roles to filter by. Only offices fulfilling one of these roles will be returned. Divisions that don\'t contain a matching office will not be returned.+newtype RepresentativesRepresentativeInfoByDivisionRoles = RepresentativesRepresentativeInfoByDivisionRoles {fromRepresentativesRepresentativeInfoByDivisionRoles :: 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+    )++pattern RepresentativesRepresentativeInfoByDivisionRoles_HeadOfState :: RepresentativesRepresentativeInfoByDivisionRoles+pattern RepresentativesRepresentativeInfoByDivisionRoles_HeadOfState = RepresentativesRepresentativeInfoByDivisionRoles "headOfState"++pattern RepresentativesRepresentativeInfoByDivisionRoles_HeadOfGovernment :: RepresentativesRepresentativeInfoByDivisionRoles+pattern RepresentativesRepresentativeInfoByDivisionRoles_HeadOfGovernment = RepresentativesRepresentativeInfoByDivisionRoles "headOfGovernment"++pattern RepresentativesRepresentativeInfoByDivisionRoles_DeputyHeadOfGovernment :: RepresentativesRepresentativeInfoByDivisionRoles+pattern RepresentativesRepresentativeInfoByDivisionRoles_DeputyHeadOfGovernment = RepresentativesRepresentativeInfoByDivisionRoles "deputyHeadOfGovernment"++pattern RepresentativesRepresentativeInfoByDivisionRoles_GovernmentOfficer :: RepresentativesRepresentativeInfoByDivisionRoles+pattern RepresentativesRepresentativeInfoByDivisionRoles_GovernmentOfficer = RepresentativesRepresentativeInfoByDivisionRoles "governmentOfficer"++pattern RepresentativesRepresentativeInfoByDivisionRoles_ExecutiveCouncil :: RepresentativesRepresentativeInfoByDivisionRoles+pattern RepresentativesRepresentativeInfoByDivisionRoles_ExecutiveCouncil = RepresentativesRepresentativeInfoByDivisionRoles "executiveCouncil"++pattern RepresentativesRepresentativeInfoByDivisionRoles_LegislatorUpperBody :: RepresentativesRepresentativeInfoByDivisionRoles+pattern RepresentativesRepresentativeInfoByDivisionRoles_LegislatorUpperBody = RepresentativesRepresentativeInfoByDivisionRoles "legislatorUpperBody"++pattern RepresentativesRepresentativeInfoByDivisionRoles_LegislatorLowerBody :: RepresentativesRepresentativeInfoByDivisionRoles+pattern RepresentativesRepresentativeInfoByDivisionRoles_LegislatorLowerBody = RepresentativesRepresentativeInfoByDivisionRoles "legislatorLowerBody"++pattern RepresentativesRepresentativeInfoByDivisionRoles_HighestCourtJudge :: RepresentativesRepresentativeInfoByDivisionRoles+pattern RepresentativesRepresentativeInfoByDivisionRoles_HighestCourtJudge = RepresentativesRepresentativeInfoByDivisionRoles "highestCourtJudge"++pattern RepresentativesRepresentativeInfoByDivisionRoles_Judge :: RepresentativesRepresentativeInfoByDivisionRoles+pattern RepresentativesRepresentativeInfoByDivisionRoles_Judge = RepresentativesRepresentativeInfoByDivisionRoles "judge"++pattern RepresentativesRepresentativeInfoByDivisionRoles_SchoolBoard :: RepresentativesRepresentativeInfoByDivisionRoles+pattern RepresentativesRepresentativeInfoByDivisionRoles_SchoolBoard = RepresentativesRepresentativeInfoByDivisionRoles "schoolBoard"++pattern RepresentativesRepresentativeInfoByDivisionRoles_SpecialPurposeOfficer :: RepresentativesRepresentativeInfoByDivisionRoles+pattern RepresentativesRepresentativeInfoByDivisionRoles_SpecialPurposeOfficer = RepresentativesRepresentativeInfoByDivisionRoles "specialPurposeOfficer"++pattern RepresentativesRepresentativeInfoByDivisionRoles_OtherRole :: RepresentativesRepresentativeInfoByDivisionRoles+pattern RepresentativesRepresentativeInfoByDivisionRoles_OtherRole = RepresentativesRepresentativeInfoByDivisionRoles "otherRole"++{-# COMPLETE+  RepresentativesRepresentativeInfoByDivisionRoles_HeadOfState,+  RepresentativesRepresentativeInfoByDivisionRoles_HeadOfGovernment,+  RepresentativesRepresentativeInfoByDivisionRoles_DeputyHeadOfGovernment,+  RepresentativesRepresentativeInfoByDivisionRoles_GovernmentOfficer,+  RepresentativesRepresentativeInfoByDivisionRoles_ExecutiveCouncil,+  RepresentativesRepresentativeInfoByDivisionRoles_LegislatorUpperBody,+  RepresentativesRepresentativeInfoByDivisionRoles_LegislatorLowerBody,+  RepresentativesRepresentativeInfoByDivisionRoles_HighestCourtJudge,+  RepresentativesRepresentativeInfoByDivisionRoles_Judge,+  RepresentativesRepresentativeInfoByDivisionRoles_SchoolBoard,+  RepresentativesRepresentativeInfoByDivisionRoles_SpecialPurposeOfficer,+  RepresentativesRepresentativeInfoByDivisionRoles_OtherRole,+  RepresentativesRepresentativeInfoByDivisionRoles+  #-}
+ gen/Gogol/CivicInfo/Representatives/RepresentativeInfoByAddress.hs view
@@ -0,0 +1,138 @@+{-# 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.CivicInfo.Representatives.RepresentativeInfoByAddress+-- 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)+--+-- Looks up political geography and representative information for a single address.+--+-- /See:/ <https://developers.google.com/civic-information/ Google Civic Information API Reference> for @civicinfo.representatives.representativeInfoByAddress@.+module Gogol.CivicInfo.Representatives.RepresentativeInfoByAddress+  ( -- * Resource+    CivicInfoRepresentativesRepresentativeInfoByAddressResource,++    -- ** Constructing a Request+    CivicInfoRepresentativesRepresentativeInfoByAddress (..),+    newCivicInfoRepresentativesRepresentativeInfoByAddress,+  )+where++import Gogol.CivicInfo.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @civicinfo.representatives.representativeInfoByAddress@ method which the+-- 'CivicInfoRepresentativesRepresentativeInfoByAddress' request conforms to.+type CivicInfoRepresentativesRepresentativeInfoByAddressResource =+  "civicinfo"+    Core.:> "v2"+    Core.:> "representatives"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "address" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "includeOffices" Core.Bool+    Core.:> Core.QueryParams+              "levels"+              RepresentativesRepresentativeInfoByAddressLevels+    Core.:> Core.QueryParams+              "roles"+              RepresentativesRepresentativeInfoByAddressRoles+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] RepresentativeInfoResponse++-- | Looks up political geography and representative information for a single address.+--+-- /See:/ 'newCivicInfoRepresentativesRepresentativeInfoByAddress' smart constructor.+data CivicInfoRepresentativesRepresentativeInfoByAddress = CivicInfoRepresentativesRepresentativeInfoByAddress+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | The address to look up. May only be specified if the field ocdId is not given in the URL+    address :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Whether to return information about offices and officials. If false, only the top-level district information will be returned.+    includeOffices :: Core.Bool,+    -- | A list of office levels to filter by. Only offices that serve at least one of these levels will be returned. Divisions that don\'t contain a matching office will not be returned.+    levels :: (Core.Maybe [RepresentativesRepresentativeInfoByAddressLevels]),+    -- | A list of office roles to filter by. Only offices fulfilling one of these roles will be returned. Divisions that don\'t contain a matching office will not be returned.+    roles :: (Core.Maybe [RepresentativesRepresentativeInfoByAddressRoles]),+    -- | 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 'CivicInfoRepresentativesRepresentativeInfoByAddress' with the minimum fields required to make a request.+newCivicInfoRepresentativesRepresentativeInfoByAddress ::+  CivicInfoRepresentativesRepresentativeInfoByAddress+newCivicInfoRepresentativesRepresentativeInfoByAddress =+  CivicInfoRepresentativesRepresentativeInfoByAddress+    { xgafv =+        Core.Nothing,+      accessToken = Core.Nothing,+      address = Core.Nothing,+      callback = Core.Nothing,+      includeOffices = Core.True,+      levels = Core.Nothing,+      roles = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CivicInfoRepresentativesRepresentativeInfoByAddress+  where+  type+    Rs CivicInfoRepresentativesRepresentativeInfoByAddress =+      RepresentativeInfoResponse+  type+    Scopes CivicInfoRepresentativesRepresentativeInfoByAddress =+      '[]+  requestClient+    CivicInfoRepresentativesRepresentativeInfoByAddress {..} =+      go+        xgafv+        accessToken+        address+        callback+        (Core.Just includeOffices)+        (levels Core.^. Core._Default)+        (roles Core.^. Core._Default)+        uploadType+        uploadProtocol+        (Core.Just Core.AltJSON)+        civicInfoService+      where+        go =+          Core.buildClient+            ( Core.Proxy ::+                Core.Proxy+                  CivicInfoRepresentativesRepresentativeInfoByAddressResource+            )+            Core.mempty
+ gen/Gogol/CivicInfo/Representatives/RepresentativeInfoByDivision.hs view
@@ -0,0 +1,140 @@+{-# 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.CivicInfo.Representatives.RepresentativeInfoByDivision+-- 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)+--+-- Looks up representative information for a single geographic division.+--+-- /See:/ <https://developers.google.com/civic-information/ Google Civic Information API Reference> for @civicinfo.representatives.representativeInfoByDivision@.+module Gogol.CivicInfo.Representatives.RepresentativeInfoByDivision+  ( -- * Resource+    CivicInfoRepresentativesRepresentativeInfoByDivisionResource,++    -- ** Constructing a Request+    CivicInfoRepresentativesRepresentativeInfoByDivision (..),+    newCivicInfoRepresentativesRepresentativeInfoByDivision,+  )+where++import Gogol.CivicInfo.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @civicinfo.representatives.representativeInfoByDivision@ method which the+-- 'CivicInfoRepresentativesRepresentativeInfoByDivision' request conforms to.+type CivicInfoRepresentativesRepresentativeInfoByDivisionResource =+  "civicinfo"+    Core.:> "v2"+    Core.:> "representatives"+    Core.:> Core.Capture "ocdId" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParams+              "levels"+              RepresentativesRepresentativeInfoByDivisionLevels+    Core.:> Core.QueryParam "recursive" Core.Bool+    Core.:> Core.QueryParams+              "roles"+              RepresentativesRepresentativeInfoByDivisionRoles+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] RepresentativeInfoData++-- | Looks up representative information for a single geographic division.+--+-- /See:/ 'newCivicInfoRepresentativesRepresentativeInfoByDivision' smart constructor.+data CivicInfoRepresentativesRepresentativeInfoByDivision = CivicInfoRepresentativesRepresentativeInfoByDivision+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | A list of office levels to filter by. Only offices that serve at least one of these levels will be returned. Divisions that don\'t contain a matching office will not be returned.+    levels :: (Core.Maybe [RepresentativesRepresentativeInfoByDivisionLevels]),+    -- | The Open Civic Data division identifier of the division to look up.+    ocdId :: Core.Text,+    -- | If true, information about all divisions contained in the division requested will be included as well. For example, if querying ocd-division\/country:us\/district:dc, this would also return all DC\'s wards and ANCs.+    recursive :: (Core.Maybe Core.Bool),+    -- | A list of office roles to filter by. Only offices fulfilling one of these roles will be returned. Divisions that don\'t contain a matching office will not be returned.+    roles :: (Core.Maybe [RepresentativesRepresentativeInfoByDivisionRoles]),+    -- | 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 'CivicInfoRepresentativesRepresentativeInfoByDivision' with the minimum fields required to make a request.+newCivicInfoRepresentativesRepresentativeInfoByDivision ::+  -- |  The Open Civic Data division identifier of the division to look up. See 'ocdId'.+  Core.Text ->+  CivicInfoRepresentativesRepresentativeInfoByDivision+newCivicInfoRepresentativesRepresentativeInfoByDivision ocdId =+  CivicInfoRepresentativesRepresentativeInfoByDivision+    { xgafv =+        Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      levels = Core.Nothing,+      ocdId = ocdId,+      recursive = Core.Nothing,+      roles = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CivicInfoRepresentativesRepresentativeInfoByDivision+  where+  type+    Rs CivicInfoRepresentativesRepresentativeInfoByDivision =+      RepresentativeInfoData+  type+    Scopes CivicInfoRepresentativesRepresentativeInfoByDivision =+      '[]+  requestClient+    CivicInfoRepresentativesRepresentativeInfoByDivision {..} =+      go+        ocdId+        xgafv+        accessToken+        callback+        (levels Core.^. Core._Default)+        recursive+        (roles Core.^. Core._Default)+        uploadType+        uploadProtocol+        (Core.Just Core.AltJSON)+        civicInfoService+      where+        go =+          Core.buildClient+            ( Core.Proxy ::+                Core.Proxy+                  CivicInfoRepresentativesRepresentativeInfoByDivisionResource+            )+            Core.mempty
+ gen/Gogol/CivicInfo/Types.hs view
@@ -0,0 +1,176 @@+{-# 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.CivicInfo.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.CivicInfo.Types+  ( -- * Configuration+    civicInfoService,++    -- * Types++    -- ** Xgafv+    Xgafv (..),++    -- ** AdministrationRegion+    AdministrationRegion (..),+    newAdministrationRegion,++    -- ** AdministrativeBody+    AdministrativeBody (..),+    newAdministrativeBody,++    -- ** Candidate+    Candidate (..),+    newCandidate,++    -- ** Channel+    Channel (..),+    newChannel,++    -- ** Contest+    Contest (..),+    newContest,++    -- ** Contest_LevelItem+    Contest_LevelItem (..),++    -- ** Contest_RolesItem+    Contest_RolesItem (..),++    -- ** DivisionByAddressResponse+    DivisionByAddressResponse (..),+    newDivisionByAddressResponse,++    -- ** DivisionByAddressResponse_Divisions+    DivisionByAddressResponse_Divisions (..),+    newDivisionByAddressResponse_Divisions,++    -- ** DivisionSearchResponse+    DivisionSearchResponse (..),+    newDivisionSearchResponse,++    -- ** DivisionSearchResult+    DivisionSearchResult (..),+    newDivisionSearchResult,++    -- ** Election+    Election (..),+    newElection,++    -- ** Election_ShapeLookupBehavior+    Election_ShapeLookupBehavior (..),++    -- ** ElectionOfficial+    ElectionOfficial (..),+    newElectionOfficial,++    -- ** ElectionsQueryResponse+    ElectionsQueryResponse (..),+    newElectionsQueryResponse,++    -- ** ElectoralDistrict+    ElectoralDistrict (..),+    newElectoralDistrict,++    -- ** ElectoralDistrict_Scope+    ElectoralDistrict_Scope (..),++    -- ** GeographicDivision+    GeographicDivision (..),+    newGeographicDivision,++    -- ** Office+    Office (..),+    newOffice,++    -- ** Office_LevelsItem+    Office_LevelsItem (..),++    -- ** Office_RolesItem+    Office_RolesItem (..),++    -- ** Official+    Official (..),+    newOfficial,++    -- ** PollingLocation+    PollingLocation (..),+    newPollingLocation,++    -- ** Precinct+    Precinct (..),+    newPrecinct,++    -- ** RepresentativeInfoData+    RepresentativeInfoData (..),+    newRepresentativeInfoData,++    -- ** RepresentativeInfoData_Divisions+    RepresentativeInfoData_Divisions (..),+    newRepresentativeInfoData_Divisions,++    -- ** RepresentativeInfoResponse+    RepresentativeInfoResponse (..),+    newRepresentativeInfoResponse,++    -- ** RepresentativeInfoResponse_Divisions+    RepresentativeInfoResponse_Divisions (..),+    newRepresentativeInfoResponse_Divisions,++    -- ** SimpleAddressType+    SimpleAddressType (..),+    newSimpleAddressType,++    -- ** Source+    Source (..),+    newSource,++    -- ** VoterInfoResponse+    VoterInfoResponse (..),+    newVoterInfoResponse,++    -- ** RepresentativesRepresentativeInfoByAddressLevels+    RepresentativesRepresentativeInfoByAddressLevels (..),++    -- ** RepresentativesRepresentativeInfoByAddressRoles+    RepresentativesRepresentativeInfoByAddressRoles (..),++    -- ** RepresentativesRepresentativeInfoByDivisionLevels+    RepresentativesRepresentativeInfoByDivisionLevels (..),++    -- ** RepresentativesRepresentativeInfoByDivisionRoles+    RepresentativesRepresentativeInfoByDivisionRoles (..),+  )+where++import Gogol.CivicInfo.Internal.Product+import Gogol.CivicInfo.Internal.Sum+import Gogol.Prelude qualified as Core++-- | Default request referring to version @v2@ of the Google Civic Information API. This contains the host and root path used as a starting point for constructing service requests.+civicInfoService :: Core.ServiceConfig+civicInfoService =+  Core.defaultService+    (Core.ServiceId "civicinfo:v2")+    "civicinfo.googleapis.com"
− gen/Network/Google/CivicInfo.hs
@@ -1,488 +0,0 @@-{-# LANGUAGE DataKinds         #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE TypeOperators     #-}--{-# OPTIONS_GHC -fno-warn-unused-imports    #-}-{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}---- |--- Module      : Network.Google.CivicInfo--- 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)------ Provides polling places, early vote locations, contest data, election--- officials, and government representatives for U.S. residential--- addresses.------ /See:/ <https://developers.google.com/civic-information Google Civic Information API Reference>-module Network.Google.CivicInfo-    (-    -- * Service Configuration-      civicInfoService--    -- * API Declaration-    , CivicInfoAPI--    -- * Resources--    -- ** civicinfo.divisions.search-    , module Network.Google.Resource.CivicInfo.Divisions.Search--    -- ** civicinfo.elections.electionQuery-    , module Network.Google.Resource.CivicInfo.Elections.ElectionQuery--    -- ** civicinfo.elections.voterInfoQuery-    , module Network.Google.Resource.CivicInfo.Elections.VoterInfoQuery--    -- ** civicinfo.representatives.representativeInfoByAddress-    , module Network.Google.Resource.CivicInfo.Representatives.RepresentativeInfoByAddress--    -- ** civicinfo.representatives.representativeInfoByDivision-    , module Network.Google.Resource.CivicInfo.Representatives.RepresentativeInfoByDivision--    -- * Types--    -- ** RepresentativeInfoResponseDivisions-    , RepresentativeInfoResponseDivisions-    , representativeInfoResponseDivisions-    , rirdAddtional--    -- ** VoterInfoResponse-    , VoterInfoResponse-    , voterInfoResponse-    , virOtherElections-    , virContests-    , virState-    , virKind-    , virDropOffLocations-    , virElection-    , virNormalizedInput-    , virMailOnly-    , virSegments-    , virEarlyVoteSites-    , virPollingLocations-    , virPrecinctId--    -- ** PollingLocation-    , PollingLocation-    , pollingLocation-    , plVoterServices-    , plLatitude-    , plEndDate-    , plSources-    , plAddress-    , plStartDate-    , plPollingHours-    , plName-    , plId-    , plNotes-    , plLongitude--    -- ** RepresentativesRepresentativeInfoByDivisionLevels-    , RepresentativesRepresentativeInfoByDivisionLevels (..)--    -- ** GeographicDivision-    , GeographicDivision-    , geographicDivision-    , gdName-    , gdOfficeIndices-    , gdAlsoKnownAs--    -- ** StreetSegment-    , StreetSegment-    , streetSegment-    , ssOriginalId-    , ssPollinglocationByIds-    , ssStartHouseNumber-    , ssCataListUniquePrecinctCode-    , ssState-    , ssContestIds-    , ssStateHouseDistrict-    , ssNcoaAddress-    , ssEarlyVoteSiteByIds-    , ssCountyCouncilDistrict-    , ssCityCouncilDistrict-    , ssGeocodedPoint-    , ssEndHouseNumber-    , ssSubAdministrativeAreaName-    , ssPublished-    , ssStartLatE7-    , ssZip-    , ssSurrogateId-    , ssMunicipalDistrict-    , ssWardDistrict-    , ssVoterGeographicDivisionOcdIds-    , ssStreetName-    , ssTownshipDistrict-    , ssUnitType-    , ssCongressionalDistrict-    , ssStateSenateDistrict-    , ssOddOrEvens-    , ssGeographicDivisionOcdIds-    , ssBeforeGeocodeId-    , ssDataSetId-    , ssStartLngE7-    , ssCity-    , ssWildcard-    , ssTargetsmartUniquePrecinctCode-    , ssProvenances-    , ssSchoolDistrict-    , ssMailOnly-    , ssId-    , ssUnitNumber-    , ssAdministrationRegionIds-    , ssVanPrecinctCode-    , ssJudicialDistrict-    , ssPrecinctName-    , ssCountyFips-    , ssPrecinctOcdId--    -- ** Candidate-    , Candidate-    , candidate-    , cEmail-    , cPhone-    , cPhotoURL-    , cChannels-    , cCandidateURL-    , cOrderOnBallot-    , cName-    , cParty--    -- ** RepresentativesRepresentativeInfoByAddressLevels-    , RepresentativesRepresentativeInfoByAddressLevels (..)--    -- ** Office-    , Office-    , office-    , oDivisionId-    , oRoles-    , oOfficialIndices-    , oSources-    , oName-    , oLevels--    -- ** RepresentativesRepresentativeInfoByDivisionRoles-    , RepresentativesRepresentativeInfoByDivisionRoles (..)--    -- ** StreetSegmentList-    , StreetSegmentList-    , streetSegmentList-    , sslSegments--    -- ** LivegraphBacktraceRecordInfo-    , LivegraphBacktraceRecordInfo-    , livegraphBacktraceRecordInfo-    , lbriDataSourcePublishMsec-    , lbriTopicBuildStartMsec-    , lbriIsRecon-    , lbriPriority-    , lbriShouldMonitorLatency-    , lbriRecordId-    , lbriProxySentMsec-    , lbriExpInfo-    , lbriProcess-    , lbriTopicBuildFinishMsec-    , lbriNumberOfTriples-    , lbriProxyReceiveMsec-    , lbriVersion-    , lbriIsWlmThrottled-    , lbriExpId-    , lbriSubscriberReceiveMsec--    -- ** ElectionsQueryRequest-    , ElectionsQueryRequest-    , electionsQueryRequest-    , eqrContextParams--    -- ** Channel-    , Channel-    , channel-    , cId-    , cType--    -- ** Election-    , Election-    , election-    , eOcdDivisionId-    , eElectionDay-    , eName-    , eId--    -- ** RepresentativeInfoResponse-    , RepresentativeInfoResponse-    , representativeInfoResponse-    , rirKind-    , rirNormalizedInput-    , rirOfficials-    , rirDivisions-    , rirOffices--    -- ** VoterInfoSegmentResult-    , VoterInfoSegmentResult-    , voterInfoSegmentResult-    , visrResponse-    , visrGeneratedMillis-    , visrPostalAddress-    , visrRequest--    -- ** DivisionSearchResult-    , DivisionSearchResult-    , divisionSearchResult-    , dsrAliases-    , dsrName-    , dsrOcdId--    -- ** DivisionSearchRequest-    , DivisionSearchRequest-    , divisionSearchRequest-    , dsrContextParams--    -- ** FieldMetadataProto-    , FieldMetadataProto-    , fieldMetadataProto-    , fmpInternal--    -- ** MessageSet-    , MessageSet-    , messageSet-    , msRecordMessageSetExt--    -- ** AdministrativeBody-    , AdministrativeBody-    , administrativeBody-    , abCorrespondenceAddress-    , abAbsenteeVotingInfoURL-    , abHoursOfOperation-    , abBallotInfoURL-    , abPhysicalAddress-    , abElectionRegistrationConfirmationURL-    , abElectionInfoURL-    , abVotingLocationFinderURL-    , abElectionOfficials-    , abName-    , abElectionRulesURL-    , abAddressLines-    , abVoterServices-    , abElectionRegistrationURL--    -- ** RepresentativeInfoRequest-    , RepresentativeInfoRequest-    , representativeInfoRequest-    , rirContextParams--    -- ** Contest-    , Contest-    , contest-    , conReferendumPassageThreshold-    , conRoles-    , conReferendumURL-    , conReferendumEffectOfAbstain-    , conReferendumSubtitle-    , conNumberVotingFor-    , conOffice-    , conReferendumConStatement-    , conSources-    , conReferendumProStatement-    , conReferendumBallotResponses-    , conNumberElected-    , conSpecial-    , conReferendumText-    , conPrimaryParty-    , conId-    , conType-    , conBallotTitle-    , conElectorateSpecifications-    , conReferendumBrief-    , conDistrict-    , conLevel-    , conCandidates-    , conReferendumTitle-    , conBallotPlacement--    -- ** DivisionSearchResponse-    , DivisionSearchResponse-    , divisionSearchResponse-    , dsrResults-    , dsrKind--    -- ** RepresentativeInfoDataDivisions-    , RepresentativeInfoDataDivisions-    , representativeInfoDataDivisions-    , riddAddtional--    -- ** RepresentativesRepresentativeInfoByAddressRoles-    , RepresentativesRepresentativeInfoByAddressRoles (..)--    -- ** ElectionOfficial-    , ElectionOfficial-    , electionOfficial-    , eoFaxNumber-    , eoName-    , eoOfficePhoneNumber-    , eoEmailAddress-    , eoTitle--    -- ** PointProto-    , PointProto-    , pointProto-    , ppLatE7-    , ppLngE7-    , ppMetadata-    , ppTemporaryData--    -- ** RepresentativeInfoData-    , RepresentativeInfoData-    , representativeInfoData-    , ridOfficials-    , ridDivisions-    , ridOffices--    -- ** Source-    , Source-    , source-    , sName-    , sOfficial--    -- ** DivisionRepresentativeInfoRequest-    , DivisionRepresentativeInfoRequest-    , divisionRepresentativeInfoRequest-    , drirContextParams--    -- ** ElectoralDistrict-    , ElectoralDistrict-    , electoralDistrict-    , edKgForeignKey-    , edName-    , edScope-    , edId--    -- ** VoterInfoRequest-    , VoterInfoRequest-    , voterInfoRequest-    , virVoterInfoSegmentResult-    , virContextParams--    -- ** SimpleAddressType-    , SimpleAddressType-    , simpleAddressType-    , satLine2-    , satState-    , satLine3-    , satZip-    , satCity-    , satLine1-    , satLocationName--    -- ** InternalSourceSummaryProto-    , InternalSourceSummaryProto-    , internalSourceSummaryProto-    , isspDataSet-    , isspProvider--    -- ** LivegraphBacktraceRecordInfoExpInfo-    , LivegraphBacktraceRecordInfoExpInfo-    , livegraphBacktraceRecordInfoExpInfo-    , lbrieiDeletedIns--    -- ** ContextParams-    , ContextParams-    , contextParams-    , cpClientProFile--    -- ** PostalAddress-    , PostalAddress-    , postalAddress-    , paAdministrativeAreaName-    , paRecipientName-    , paLanguageCode-    , paSortingCode-    , paPremiseName-    , paPostalCodeNumberExtension-    , paCountryNameCode-    , paSubAdministrativeAreaName-    , paPostBoxNumber-    , paLocalityName-    , paIsDisputed-    , paThoroughfareNumber-    , paDependentLocalityName-    , paFirmName-    , paCountryName-    , paDependentThoroughfareName-    , paAddressLines-    , paPostalCodeNumber-    , paThoroughfareName-    , paSubPremiseName--    -- ** InternalFieldMetadataProto-    , InternalFieldMetadataProto-    , internalFieldMetadataProto-    , ifmpSourceSummary-    , ifmpIsAuto--    -- ** AdministrationRegion-    , AdministrationRegion-    , administrationRegion-    , arLocalJurisdiction-    , arSources-    , arName-    , arElectionAdministrationBody-    , arId--    -- ** Provenance-    , Provenance-    , provenance-    , pTsStreetSegmentId-    , pVIPStreetSegmentId-    , pCollidedSegmentSource-    , pCtclContestUuid-    , pDataSetId-    , pVIP5StreetSegmentId-    , pCtclOfficeUuid-    , pVIP5PrecinctId-    , pPrecinctSplitId-    , pPrecinctId--    -- ** ElectionsQueryResponse-    , ElectionsQueryResponse-    , electionsQueryResponse-    , eqrKind-    , eqrElections--    -- ** Official-    , Official-    , official-    , offPhotoURL-    , offURLs-    , offChannels-    , offAddress-    , offPhones-    , offName-    , offEmails-    , offParty-    ) where--import           Network.Google.CivicInfo.Types-import           Network.Google.Prelude-import           Network.Google.Resource.CivicInfo.Divisions.Search-import           Network.Google.Resource.CivicInfo.Elections.ElectionQuery-import           Network.Google.Resource.CivicInfo.Elections.VoterInfoQuery-import           Network.Google.Resource.CivicInfo.Representatives.RepresentativeInfoByAddress-import           Network.Google.Resource.CivicInfo.Representatives.RepresentativeInfoByDivision--{- $resources-TODO--}---- | Represents the entirety of the methods and resources available for the Google Civic Information API service.-type CivicInfoAPI =-     ElectionsVoterInfoQueryResource :<|>-       ElectionsElectionQueryResource-       :<|> DivisionsSearchResource-       :<|>-       RepresentativesRepresentativeInfoByDivisionResource-       :<|>-       RepresentativesRepresentativeInfoByAddressResource
− gen/Network/Google/CivicInfo/Types.hs
@@ -1,450 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- |--- Module      : Network.Google.CivicInfo.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.CivicInfo.Types-    (-    -- * Service Configuration-      civicInfoService--    -- * RepresentativeInfoResponseDivisions-    , RepresentativeInfoResponseDivisions-    , representativeInfoResponseDivisions-    , rirdAddtional--    -- * VoterInfoResponse-    , VoterInfoResponse-    , voterInfoResponse-    , virOtherElections-    , virContests-    , virState-    , virKind-    , virDropOffLocations-    , virElection-    , virNormalizedInput-    , virMailOnly-    , virSegments-    , virEarlyVoteSites-    , virPollingLocations-    , virPrecinctId--    -- * PollingLocation-    , PollingLocation-    , pollingLocation-    , plVoterServices-    , plLatitude-    , plEndDate-    , plSources-    , plAddress-    , plStartDate-    , plPollingHours-    , plName-    , plId-    , plNotes-    , plLongitude--    -- * RepresentativesRepresentativeInfoByDivisionLevels-    , RepresentativesRepresentativeInfoByDivisionLevels (..)--    -- * GeographicDivision-    , GeographicDivision-    , geographicDivision-    , gdName-    , gdOfficeIndices-    , gdAlsoKnownAs--    -- * StreetSegment-    , StreetSegment-    , streetSegment-    , ssOriginalId-    , ssPollinglocationByIds-    , ssStartHouseNumber-    , ssCataListUniquePrecinctCode-    , ssState-    , ssContestIds-    , ssStateHouseDistrict-    , ssNcoaAddress-    , ssEarlyVoteSiteByIds-    , ssCountyCouncilDistrict-    , ssCityCouncilDistrict-    , ssGeocodedPoint-    , ssEndHouseNumber-    , ssSubAdministrativeAreaName-    , ssPublished-    , ssStartLatE7-    , ssZip-    , ssSurrogateId-    , ssMunicipalDistrict-    , ssWardDistrict-    , ssVoterGeographicDivisionOcdIds-    , ssStreetName-    , ssTownshipDistrict-    , ssUnitType-    , ssCongressionalDistrict-    , ssStateSenateDistrict-    , ssOddOrEvens-    , ssGeographicDivisionOcdIds-    , ssBeforeGeocodeId-    , ssDataSetId-    , ssStartLngE7-    , ssCity-    , ssWildcard-    , ssTargetsmartUniquePrecinctCode-    , ssProvenances-    , ssSchoolDistrict-    , ssMailOnly-    , ssId-    , ssUnitNumber-    , ssAdministrationRegionIds-    , ssVanPrecinctCode-    , ssJudicialDistrict-    , ssPrecinctName-    , ssCountyFips-    , ssPrecinctOcdId--    -- * Candidate-    , Candidate-    , candidate-    , cEmail-    , cPhone-    , cPhotoURL-    , cChannels-    , cCandidateURL-    , cOrderOnBallot-    , cName-    , cParty--    -- * RepresentativesRepresentativeInfoByAddressLevels-    , RepresentativesRepresentativeInfoByAddressLevels (..)--    -- * Office-    , Office-    , office-    , oDivisionId-    , oRoles-    , oOfficialIndices-    , oSources-    , oName-    , oLevels--    -- * RepresentativesRepresentativeInfoByDivisionRoles-    , RepresentativesRepresentativeInfoByDivisionRoles (..)--    -- * StreetSegmentList-    , StreetSegmentList-    , streetSegmentList-    , sslSegments--    -- * LivegraphBacktraceRecordInfo-    , LivegraphBacktraceRecordInfo-    , livegraphBacktraceRecordInfo-    , lbriDataSourcePublishMsec-    , lbriTopicBuildStartMsec-    , lbriIsRecon-    , lbriPriority-    , lbriShouldMonitorLatency-    , lbriRecordId-    , lbriProxySentMsec-    , lbriExpInfo-    , lbriProcess-    , lbriTopicBuildFinishMsec-    , lbriNumberOfTriples-    , lbriProxyReceiveMsec-    , lbriVersion-    , lbriIsWlmThrottled-    , lbriExpId-    , lbriSubscriberReceiveMsec--    -- * ElectionsQueryRequest-    , ElectionsQueryRequest-    , electionsQueryRequest-    , eqrContextParams--    -- * Channel-    , Channel-    , channel-    , cId-    , cType--    -- * Election-    , Election-    , election-    , eOcdDivisionId-    , eElectionDay-    , eName-    , eId--    -- * RepresentativeInfoResponse-    , RepresentativeInfoResponse-    , representativeInfoResponse-    , rirKind-    , rirNormalizedInput-    , rirOfficials-    , rirDivisions-    , rirOffices--    -- * VoterInfoSegmentResult-    , VoterInfoSegmentResult-    , voterInfoSegmentResult-    , visrResponse-    , visrGeneratedMillis-    , visrPostalAddress-    , visrRequest--    -- * DivisionSearchResult-    , DivisionSearchResult-    , divisionSearchResult-    , dsrAliases-    , dsrName-    , dsrOcdId--    -- * DivisionSearchRequest-    , DivisionSearchRequest-    , divisionSearchRequest-    , dsrContextParams--    -- * FieldMetadataProto-    , FieldMetadataProto-    , fieldMetadataProto-    , fmpInternal--    -- * MessageSet-    , MessageSet-    , messageSet-    , msRecordMessageSetExt--    -- * AdministrativeBody-    , AdministrativeBody-    , administrativeBody-    , abCorrespondenceAddress-    , abAbsenteeVotingInfoURL-    , abHoursOfOperation-    , abBallotInfoURL-    , abPhysicalAddress-    , abElectionRegistrationConfirmationURL-    , abElectionInfoURL-    , abVotingLocationFinderURL-    , abElectionOfficials-    , abName-    , abElectionRulesURL-    , abAddressLines-    , abVoterServices-    , abElectionRegistrationURL--    -- * RepresentativeInfoRequest-    , RepresentativeInfoRequest-    , representativeInfoRequest-    , rirContextParams--    -- * Contest-    , Contest-    , contest-    , conReferendumPassageThreshold-    , conRoles-    , conReferendumURL-    , conReferendumEffectOfAbstain-    , conReferendumSubtitle-    , conNumberVotingFor-    , conOffice-    , conReferendumConStatement-    , conSources-    , conReferendumProStatement-    , conReferendumBallotResponses-    , conNumberElected-    , conSpecial-    , conReferendumText-    , conPrimaryParty-    , conId-    , conType-    , conBallotTitle-    , conElectorateSpecifications-    , conReferendumBrief-    , conDistrict-    , conLevel-    , conCandidates-    , conReferendumTitle-    , conBallotPlacement--    -- * DivisionSearchResponse-    , DivisionSearchResponse-    , divisionSearchResponse-    , dsrResults-    , dsrKind--    -- * RepresentativeInfoDataDivisions-    , RepresentativeInfoDataDivisions-    , representativeInfoDataDivisions-    , riddAddtional--    -- * RepresentativesRepresentativeInfoByAddressRoles-    , RepresentativesRepresentativeInfoByAddressRoles (..)--    -- * ElectionOfficial-    , ElectionOfficial-    , electionOfficial-    , eoFaxNumber-    , eoName-    , eoOfficePhoneNumber-    , eoEmailAddress-    , eoTitle--    -- * PointProto-    , PointProto-    , pointProto-    , ppLatE7-    , ppLngE7-    , ppMetadata-    , ppTemporaryData--    -- * RepresentativeInfoData-    , RepresentativeInfoData-    , representativeInfoData-    , ridOfficials-    , ridDivisions-    , ridOffices--    -- * Source-    , Source-    , source-    , sName-    , sOfficial--    -- * DivisionRepresentativeInfoRequest-    , DivisionRepresentativeInfoRequest-    , divisionRepresentativeInfoRequest-    , drirContextParams--    -- * ElectoralDistrict-    , ElectoralDistrict-    , electoralDistrict-    , edKgForeignKey-    , edName-    , edScope-    , edId--    -- * VoterInfoRequest-    , VoterInfoRequest-    , voterInfoRequest-    , virVoterInfoSegmentResult-    , virContextParams--    -- * SimpleAddressType-    , SimpleAddressType-    , simpleAddressType-    , satLine2-    , satState-    , satLine3-    , satZip-    , satCity-    , satLine1-    , satLocationName--    -- * InternalSourceSummaryProto-    , InternalSourceSummaryProto-    , internalSourceSummaryProto-    , isspDataSet-    , isspProvider--    -- * LivegraphBacktraceRecordInfoExpInfo-    , LivegraphBacktraceRecordInfoExpInfo-    , livegraphBacktraceRecordInfoExpInfo-    , lbrieiDeletedIns--    -- * ContextParams-    , ContextParams-    , contextParams-    , cpClientProFile--    -- * PostalAddress-    , PostalAddress-    , postalAddress-    , paAdministrativeAreaName-    , paRecipientName-    , paLanguageCode-    , paSortingCode-    , paPremiseName-    , paPostalCodeNumberExtension-    , paCountryNameCode-    , paSubAdministrativeAreaName-    , paPostBoxNumber-    , paLocalityName-    , paIsDisputed-    , paThoroughfareNumber-    , paDependentLocalityName-    , paFirmName-    , paCountryName-    , paDependentThoroughfareName-    , paAddressLines-    , paPostalCodeNumber-    , paThoroughfareName-    , paSubPremiseName--    -- * InternalFieldMetadataProto-    , InternalFieldMetadataProto-    , internalFieldMetadataProto-    , ifmpSourceSummary-    , ifmpIsAuto--    -- * AdministrationRegion-    , AdministrationRegion-    , administrationRegion-    , arLocalJurisdiction-    , arSources-    , arName-    , arElectionAdministrationBody-    , arId--    -- * Provenance-    , Provenance-    , provenance-    , pTsStreetSegmentId-    , pVIPStreetSegmentId-    , pCollidedSegmentSource-    , pCtclContestUuid-    , pDataSetId-    , pVIP5StreetSegmentId-    , pCtclOfficeUuid-    , pVIP5PrecinctId-    , pPrecinctSplitId-    , pPrecinctId--    -- * ElectionsQueryResponse-    , ElectionsQueryResponse-    , electionsQueryResponse-    , eqrKind-    , eqrElections--    -- * Official-    , Official-    , official-    , offPhotoURL-    , offURLs-    , offChannels-    , offAddress-    , offPhones-    , offName-    , offEmails-    , offParty-    ) where--import           Network.Google.CivicInfo.Types.Product-import           Network.Google.CivicInfo.Types.Sum-import           Network.Google.Prelude---- | Default request referring to version 'v2' of the Google Civic Information API. This contains the host and root path used as a starting point for constructing service requests.-civicInfoService :: ServiceConfig-civicInfoService-  = defaultService (ServiceId "civicinfo:v2")-      "www.googleapis.com"
− gen/Network/Google/CivicInfo/Types/Product.hs
@@ -1,4079 +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.CivicInfo.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.CivicInfo.Types.Product where--import           Network.Google.CivicInfo.Types.Sum-import           Network.Google.Prelude---- | Political geographic divisions that contain the requested address.------ /See:/ 'representativeInfoResponseDivisions' smart constructor.-newtype RepresentativeInfoResponseDivisions =-  RepresentativeInfoResponseDivisions'-    { _rirdAddtional :: HashMap Text GeographicDivision-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RepresentativeInfoResponseDivisions' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rirdAddtional'-representativeInfoResponseDivisions-    :: HashMap Text GeographicDivision -- ^ 'rirdAddtional'-    -> RepresentativeInfoResponseDivisions-representativeInfoResponseDivisions pRirdAddtional_ =-  RepresentativeInfoResponseDivisions'-    {_rirdAddtional = _Coerce # pRirdAddtional_}----- | The unique Open Civic Data identifier for this division.-rirdAddtional :: Lens' RepresentativeInfoResponseDivisions (HashMap Text GeographicDivision)-rirdAddtional-  = lens _rirdAddtional-      (\ s a -> s{_rirdAddtional = a})-      . _Coerce--instance FromJSON RepresentativeInfoResponseDivisions-         where-        parseJSON-          = withObject "RepresentativeInfoResponseDivisions"-              (\ o ->-                 RepresentativeInfoResponseDivisions' <$>-                   (parseJSONObject o))--instance ToJSON RepresentativeInfoResponseDivisions-         where-        toJSON = toJSON . _rirdAddtional---- | The result of a voter info lookup query.------ /See:/ 'voterInfoResponse' smart constructor.-data VoterInfoResponse =-  VoterInfoResponse'-    { _virOtherElections   :: !(Maybe [Election])-    , _virContests         :: !(Maybe [Contest])-    , _virState            :: !(Maybe [AdministrationRegion])-    , _virKind             :: !Text-    , _virDropOffLocations :: !(Maybe [PollingLocation])-    , _virElection         :: !(Maybe Election)-    , _virNormalizedInput  :: !(Maybe SimpleAddressType)-    , _virMailOnly         :: !(Maybe Bool)-    , _virSegments         :: !(Maybe [StreetSegment])-    , _virEarlyVoteSites   :: !(Maybe [PollingLocation])-    , _virPollingLocations :: !(Maybe [PollingLocation])-    , _virPrecinctId       :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'VoterInfoResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'virOtherElections'------ * 'virContests'------ * 'virState'------ * 'virKind'------ * 'virDropOffLocations'------ * 'virElection'------ * 'virNormalizedInput'------ * 'virMailOnly'------ * 'virSegments'------ * 'virEarlyVoteSites'------ * 'virPollingLocations'------ * 'virPrecinctId'-voterInfoResponse-    :: VoterInfoResponse-voterInfoResponse =-  VoterInfoResponse'-    { _virOtherElections = Nothing-    , _virContests = Nothing-    , _virState = Nothing-    , _virKind = "civicinfo#voterInfoResponse"-    , _virDropOffLocations = Nothing-    , _virElection = Nothing-    , _virNormalizedInput = Nothing-    , _virMailOnly = Nothing-    , _virSegments = Nothing-    , _virEarlyVoteSites = Nothing-    , _virPollingLocations = Nothing-    , _virPrecinctId = Nothing-    }----- | When there are multiple elections for a voter address, the--- otherElections field is populated in the API response and there are two--- possibilities: 1. If the earliest election is not the intended election,--- specify the election ID of the desired election in a second API request--- using the electionId field. 2. If these elections occur on the same day,--- the API doesn?t return any polling location, contest, or election--- official information to ensure that an additional query is made. For--- user-facing applications, we recommend displaying these elections to the--- user to disambiguate. A second API request using the electionId field--- should be made for the election that is relevant to the user.-virOtherElections :: Lens' VoterInfoResponse [Election]-virOtherElections-  = lens _virOtherElections-      (\ s a -> s{_virOtherElections = a})-      . _Default-      . _Coerce---- | Contests that will appear on the voter\'s ballot.-virContests :: Lens' VoterInfoResponse [Contest]-virContests-  = lens _virContests (\ s a -> s{_virContests = a}) .-      _Default-      . _Coerce---- | Local Election Information for the state that the voter votes in. For--- the US, there will only be one element in this array.-virState :: Lens' VoterInfoResponse [AdministrationRegion]-virState-  = lens _virState (\ s a -> s{_virState = a}) .-      _Default-      . _Coerce---- | Identifies what kind of resource this is. Value: the fixed string--- \"civicinfo#voterInfoResponse\".-virKind :: Lens' VoterInfoResponse Text-virKind = lens _virKind (\ s a -> s{_virKind = a})---- | Locations where a voter is eligible to drop off a completed ballot. The--- voter must have received and completed a ballot prior to arriving at the--- location. The location may not have ballots available on the premises.--- These locations could be open on or before election day as indicated in--- the pollingHours field.-virDropOffLocations :: Lens' VoterInfoResponse [PollingLocation]-virDropOffLocations-  = lens _virDropOffLocations-      (\ s a -> s{_virDropOffLocations = a})-      . _Default-      . _Coerce---- | The election that was queried.-virElection :: Lens' VoterInfoResponse (Maybe Election)-virElection-  = lens _virElection (\ s a -> s{_virElection = a})---- | The normalized version of the requested address-virNormalizedInput :: Lens' VoterInfoResponse (Maybe SimpleAddressType)-virNormalizedInput-  = lens _virNormalizedInput-      (\ s a -> s{_virNormalizedInput = a})---- | Specifies whether voters in the precinct vote only by mailing their--- ballots (with the possible option of dropping off their ballots as--- well).-virMailOnly :: Lens' VoterInfoResponse (Maybe Bool)-virMailOnly-  = lens _virMailOnly (\ s a -> s{_virMailOnly = a})--virSegments :: Lens' VoterInfoResponse [StreetSegment]-virSegments-  = lens _virSegments (\ s a -> s{_virSegments = a}) .-      _Default-      . _Coerce---- | Locations where the voter is eligible to vote early, prior to election--- day.-virEarlyVoteSites :: Lens' VoterInfoResponse [PollingLocation]-virEarlyVoteSites-  = lens _virEarlyVoteSites-      (\ s a -> s{_virEarlyVoteSites = a})-      . _Default-      . _Coerce---- | Locations where the voter is eligible to vote on election day.-virPollingLocations :: Lens' VoterInfoResponse [PollingLocation]-virPollingLocations-  = lens _virPollingLocations-      (\ s a -> s{_virPollingLocations = a})-      . _Default-      . _Coerce--virPrecinctId :: Lens' VoterInfoResponse (Maybe Text)-virPrecinctId-  = lens _virPrecinctId-      (\ s a -> s{_virPrecinctId = a})--instance FromJSON VoterInfoResponse where-        parseJSON-          = withObject "VoterInfoResponse"-              (\ o ->-                 VoterInfoResponse' <$>-                   (o .:? "otherElections" .!= mempty) <*>-                     (o .:? "contests" .!= mempty)-                     <*> (o .:? "state" .!= mempty)-                     <*> (o .:? "kind" .!= "civicinfo#voterInfoResponse")-                     <*> (o .:? "dropOffLocations" .!= mempty)-                     <*> (o .:? "election")-                     <*> (o .:? "normalizedInput")-                     <*> (o .:? "mailOnly")-                     <*> (o .:? "segments" .!= mempty)-                     <*> (o .:? "earlyVoteSites" .!= mempty)-                     <*> (o .:? "pollingLocations" .!= mempty)-                     <*> (o .:? "precinctId"))--instance ToJSON VoterInfoResponse where-        toJSON VoterInfoResponse'{..}-          = object-              (catMaybes-                 [("otherElections" .=) <$> _virOtherElections,-                  ("contests" .=) <$> _virContests,-                  ("state" .=) <$> _virState,-                  Just ("kind" .= _virKind),-                  ("dropOffLocations" .=) <$> _virDropOffLocations,-                  ("election" .=) <$> _virElection,-                  ("normalizedInput" .=) <$> _virNormalizedInput,-                  ("mailOnly" .=) <$> _virMailOnly,-                  ("segments" .=) <$> _virSegments,-                  ("earlyVoteSites" .=) <$> _virEarlyVoteSites,-                  ("pollingLocations" .=) <$> _virPollingLocations,-                  ("precinctId" .=) <$> _virPrecinctId])---- | A location where a voter can vote. This may be an early vote site, an--- election day voting location, or a drop off location for a completed--- ballot.------ /See:/ 'pollingLocation' smart constructor.-data PollingLocation =-  PollingLocation'-    { _plVoterServices :: !(Maybe Text)-    , _plLatitude      :: !(Maybe (Textual Double))-    , _plEndDate       :: !(Maybe Text)-    , _plSources       :: !(Maybe [Source])-    , _plAddress       :: !(Maybe SimpleAddressType)-    , _plStartDate     :: !(Maybe Text)-    , _plPollingHours  :: !(Maybe Text)-    , _plName          :: !(Maybe Text)-    , _plId            :: !(Maybe Text)-    , _plNotes         :: !(Maybe Text)-    , _plLongitude     :: !(Maybe (Textual Double))-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'PollingLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'plVoterServices'------ * 'plLatitude'------ * 'plEndDate'------ * 'plSources'------ * 'plAddress'------ * 'plStartDate'------ * 'plPollingHours'------ * 'plName'------ * 'plId'------ * 'plNotes'------ * 'plLongitude'-pollingLocation-    :: PollingLocation-pollingLocation =-  PollingLocation'-    { _plVoterServices = Nothing-    , _plLatitude = Nothing-    , _plEndDate = Nothing-    , _plSources = Nothing-    , _plAddress = Nothing-    , _plStartDate = Nothing-    , _plPollingHours = Nothing-    , _plName = Nothing-    , _plId = Nothing-    , _plNotes = Nothing-    , _plLongitude = Nothing-    }----- | The services provided by this early vote site or drop off location. This--- field is not populated for polling locations.-plVoterServices :: Lens' PollingLocation (Maybe Text)-plVoterServices-  = lens _plVoterServices-      (\ s a -> s{_plVoterServices = a})---- | Latitude of the location, in degrees north of the equator. Only some--- locations -- generally, ballot drop boxes for vote-by-mail elections ----- will have this set; for others, use a geocoding service like the Google--- Maps API to resolve the address to a geographic point.-plLatitude :: Lens' PollingLocation (Maybe Double)-plLatitude-  = lens _plLatitude (\ s a -> s{_plLatitude = a}) .-      mapping _Coerce---- | The last date that this early vote site or drop off location may be--- used. This field is not populated for polling locations.-plEndDate :: Lens' PollingLocation (Maybe Text)-plEndDate-  = lens _plEndDate (\ s a -> s{_plEndDate = a})---- | A list of sources for this location. If multiple sources are listed the--- data has been aggregated from those sources.-plSources :: Lens' PollingLocation [Source]-plSources-  = lens _plSources (\ s a -> s{_plSources = a}) .-      _Default-      . _Coerce---- | The address of the location.-plAddress :: Lens' PollingLocation (Maybe SimpleAddressType)-plAddress-  = lens _plAddress (\ s a -> s{_plAddress = a})---- | The first date that this early vote site or drop off location may be--- used. This field is not populated for polling locations.-plStartDate :: Lens' PollingLocation (Maybe Text)-plStartDate-  = lens _plStartDate (\ s a -> s{_plStartDate = a})---- | A description of when this location is open.-plPollingHours :: Lens' PollingLocation (Maybe Text)-plPollingHours-  = lens _plPollingHours-      (\ s a -> s{_plPollingHours = a})---- | The name of the early vote site or drop off location. This field is not--- populated for polling locations.-plName :: Lens' PollingLocation (Maybe Text)-plName = lens _plName (\ s a -> s{_plName = a})---- | An ID for this object. IDs may change in future requests and should not--- be cached. Access to this field requires special access that can be--- requested from the Request more link on the Quotas page.-plId :: Lens' PollingLocation (Maybe Text)-plId = lens _plId (\ s a -> s{_plId = a})---- | Notes about this location (e.g. accessibility ramp or entrance to use).-plNotes :: Lens' PollingLocation (Maybe Text)-plNotes = lens _plNotes (\ s a -> s{_plNotes = a})---- | Longitude of the location, in degrees east of the Prime Meridian. Only--- some locations -- generally, ballot drop boxes for vote-by-mail--- elections -- will have this set; for others, use a geocoding service--- like the Google Maps API to resolve the address to a geographic point.-plLongitude :: Lens' PollingLocation (Maybe Double)-plLongitude-  = lens _plLongitude (\ s a -> s{_plLongitude = a}) .-      mapping _Coerce--instance FromJSON PollingLocation where-        parseJSON-          = withObject "PollingLocation"-              (\ o ->-                 PollingLocation' <$>-                   (o .:? "voterServices") <*> (o .:? "latitude") <*>-                     (o .:? "endDate")-                     <*> (o .:? "sources" .!= mempty)-                     <*> (o .:? "address")-                     <*> (o .:? "startDate")-                     <*> (o .:? "pollingHours")-                     <*> (o .:? "name")-                     <*> (o .:? "id")-                     <*> (o .:? "notes")-                     <*> (o .:? "longitude"))--instance ToJSON PollingLocation where-        toJSON PollingLocation'{..}-          = object-              (catMaybes-                 [("voterServices" .=) <$> _plVoterServices,-                  ("latitude" .=) <$> _plLatitude,-                  ("endDate" .=) <$> _plEndDate,-                  ("sources" .=) <$> _plSources,-                  ("address" .=) <$> _plAddress,-                  ("startDate" .=) <$> _plStartDate,-                  ("pollingHours" .=) <$> _plPollingHours,-                  ("name" .=) <$> _plName, ("id" .=) <$> _plId,-                  ("notes" .=) <$> _plNotes,-                  ("longitude" .=) <$> _plLongitude])---- | Describes a political geography.------ /See:/ 'geographicDivision' smart constructor.-data GeographicDivision =-  GeographicDivision'-    { _gdName          :: !(Maybe Text)-    , _gdOfficeIndices :: !(Maybe [Textual Word32])-    , _gdAlsoKnownAs   :: !(Maybe [Text])-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'GeographicDivision' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gdName'------ * 'gdOfficeIndices'------ * 'gdAlsoKnownAs'-geographicDivision-    :: GeographicDivision-geographicDivision =-  GeographicDivision'-    {_gdName = Nothing, _gdOfficeIndices = Nothing, _gdAlsoKnownAs = Nothing}----- | The name of the division.-gdName :: Lens' GeographicDivision (Maybe Text)-gdName = lens _gdName (\ s a -> s{_gdName = a})---- | List of indices in the offices array, one for each office elected from--- this division. Will only be present if includeOffices was true (or--- absent) in the request.-gdOfficeIndices :: Lens' GeographicDivision [Word32]-gdOfficeIndices-  = lens _gdOfficeIndices-      (\ s a -> s{_gdOfficeIndices = a})-      . _Default-      . _Coerce---- | Any other valid OCD IDs that refer to the same division. Because OCD IDs--- are meant to be human-readable and at least somewhat predictable, there--- are occasionally several identifiers for a single division. These--- identifiers are defined to be equivalent to one another, and one is--- always indicated as the primary identifier. The primary identifier will--- be returned in ocd_id above, and any other equivalent valid identifiers--- will be returned in this list. For example, if this division\'s OCD ID--- is ocd-division\/country:us\/district:dc, this will contain--- ocd-division\/country:us\/state:dc.-gdAlsoKnownAs :: Lens' GeographicDivision [Text]-gdAlsoKnownAs-  = lens _gdAlsoKnownAs-      (\ s a -> s{_gdAlsoKnownAs = a})-      . _Default-      . _Coerce--instance FromJSON GeographicDivision where-        parseJSON-          = withObject "GeographicDivision"-              (\ o ->-                 GeographicDivision' <$>-                   (o .:? "name") <*> (o .:? "officeIndices" .!= mempty)-                     <*> (o .:? "alsoKnownAs" .!= mempty))--instance ToJSON GeographicDivision where-        toJSON GeographicDivision'{..}-          = object-              (catMaybes-                 [("name" .=) <$> _gdName,-                  ("officeIndices" .=) <$> _gdOfficeIndices,-                  ("alsoKnownAs" .=) <$> _gdAlsoKnownAs])------- /See:/ 'streetSegment' smart constructor.-data StreetSegment =-  StreetSegment'-    { _ssOriginalId                    :: !(Maybe Text)-    , _ssPollinglocationByIds          :: !(Maybe [Text])-    , _ssStartHouseNumber              :: !(Maybe (Textual Int64))-    , _ssCataListUniquePrecinctCode    :: !(Maybe Text)-    , _ssState                         :: !(Maybe Text)-    , _ssContestIds                    :: !(Maybe [Text])-    , _ssStateHouseDistrict            :: !(Maybe Text)-    , _ssNcoaAddress                   :: !(Maybe Text)-    , _ssEarlyVoteSiteByIds            :: !(Maybe [Text])-    , _ssCountyCouncilDistrict         :: !(Maybe Text)-    , _ssCityCouncilDistrict           :: !(Maybe Text)-    , _ssGeocodedPoint                 :: !(Maybe PointProto)-    , _ssEndHouseNumber                :: !(Maybe (Textual Int64))-    , _ssSubAdministrativeAreaName     :: !(Maybe Text)-    , _ssPublished                     :: !(Maybe Bool)-    , _ssStartLatE7                    :: !(Maybe (Textual Int64))-    , _ssZip                           :: !(Maybe Text)-    , _ssSurrogateId                   :: !(Maybe (Textual Int64))-    , _ssMunicipalDistrict             :: !(Maybe Text)-    , _ssWardDistrict                  :: !(Maybe Text)-    , _ssVoterGeographicDivisionOcdIds :: !(Maybe [Text])-    , _ssStreetName                    :: !(Maybe Text)-    , _ssTownshipDistrict              :: !(Maybe Text)-    , _ssUnitType                      :: !(Maybe Text)-    , _ssCongressionalDistrict         :: !(Maybe Text)-    , _ssStateSenateDistrict           :: !(Maybe Text)-    , _ssOddOrEvens                    :: !(Maybe [Text])-    , _ssGeographicDivisionOcdIds      :: !(Maybe [Text])-    , _ssBeforeGeocodeId               :: !(Maybe Text)-    , _ssDataSetId                     :: !(Maybe (Textual Int64))-    , _ssStartLngE7                    :: !(Maybe (Textual Int64))-    , _ssCity                          :: !(Maybe Text)-    , _ssWildcard                      :: !(Maybe Bool)-    , _ssTargetsmartUniquePrecinctCode :: !(Maybe Text)-    , _ssProvenances                   :: !(Maybe [Provenance])-    , _ssSchoolDistrict                :: !(Maybe Text)-    , _ssMailOnly                      :: !(Maybe Bool)-    , _ssId                            :: !(Maybe Text)-    , _ssUnitNumber                    :: !(Maybe Text)-    , _ssAdministrationRegionIds       :: !(Maybe [Text])-    , _ssVanPrecinctCode               :: !(Maybe Text)-    , _ssJudicialDistrict              :: !(Maybe Text)-    , _ssPrecinctName                  :: !(Maybe Text)-    , _ssCountyFips                    :: !(Maybe Text)-    , _ssPrecinctOcdId                 :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'StreetSegment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ssOriginalId'------ * 'ssPollinglocationByIds'------ * 'ssStartHouseNumber'------ * 'ssCataListUniquePrecinctCode'------ * 'ssState'------ * 'ssContestIds'------ * 'ssStateHouseDistrict'------ * 'ssNcoaAddress'------ * 'ssEarlyVoteSiteByIds'------ * 'ssCountyCouncilDistrict'------ * 'ssCityCouncilDistrict'------ * 'ssGeocodedPoint'------ * 'ssEndHouseNumber'------ * 'ssSubAdministrativeAreaName'------ * 'ssPublished'------ * 'ssStartLatE7'------ * 'ssZip'------ * 'ssSurrogateId'------ * 'ssMunicipalDistrict'------ * 'ssWardDistrict'------ * 'ssVoterGeographicDivisionOcdIds'------ * 'ssStreetName'------ * 'ssTownshipDistrict'------ * 'ssUnitType'------ * 'ssCongressionalDistrict'------ * 'ssStateSenateDistrict'------ * 'ssOddOrEvens'------ * 'ssGeographicDivisionOcdIds'------ * 'ssBeforeGeocodeId'------ * 'ssDataSetId'------ * 'ssStartLngE7'------ * 'ssCity'------ * 'ssWildcard'------ * 'ssTargetsmartUniquePrecinctCode'------ * 'ssProvenances'------ * 'ssSchoolDistrict'------ * 'ssMailOnly'------ * 'ssId'------ * 'ssUnitNumber'------ * 'ssAdministrationRegionIds'------ * 'ssVanPrecinctCode'------ * 'ssJudicialDistrict'------ * 'ssPrecinctName'------ * 'ssCountyFips'------ * 'ssPrecinctOcdId'-streetSegment-    :: StreetSegment-streetSegment =-  StreetSegment'-    { _ssOriginalId = Nothing-    , _ssPollinglocationByIds = Nothing-    , _ssStartHouseNumber = Nothing-    , _ssCataListUniquePrecinctCode = Nothing-    , _ssState = Nothing-    , _ssContestIds = Nothing-    , _ssStateHouseDistrict = Nothing-    , _ssNcoaAddress = Nothing-    , _ssEarlyVoteSiteByIds = Nothing-    , _ssCountyCouncilDistrict = Nothing-    , _ssCityCouncilDistrict = Nothing-    , _ssGeocodedPoint = Nothing-    , _ssEndHouseNumber = Nothing-    , _ssSubAdministrativeAreaName = Nothing-    , _ssPublished = Nothing-    , _ssStartLatE7 = Nothing-    , _ssZip = Nothing-    , _ssSurrogateId = Nothing-    , _ssMunicipalDistrict = Nothing-    , _ssWardDistrict = Nothing-    , _ssVoterGeographicDivisionOcdIds = Nothing-    , _ssStreetName = Nothing-    , _ssTownshipDistrict = Nothing-    , _ssUnitType = Nothing-    , _ssCongressionalDistrict = Nothing-    , _ssStateSenateDistrict = Nothing-    , _ssOddOrEvens = Nothing-    , _ssGeographicDivisionOcdIds = Nothing-    , _ssBeforeGeocodeId = Nothing-    , _ssDataSetId = Nothing-    , _ssStartLngE7 = Nothing-    , _ssCity = Nothing-    , _ssWildcard = Nothing-    , _ssTargetsmartUniquePrecinctCode = Nothing-    , _ssProvenances = Nothing-    , _ssSchoolDistrict = Nothing-    , _ssMailOnly = Nothing-    , _ssId = Nothing-    , _ssUnitNumber = Nothing-    , _ssAdministrationRegionIds = Nothing-    , _ssVanPrecinctCode = Nothing-    , _ssJudicialDistrict = Nothing-    , _ssPrecinctName = Nothing-    , _ssCountyFips = Nothing-    , _ssPrecinctOcdId = Nothing-    }---ssOriginalId :: Lens' StreetSegment (Maybe Text)-ssOriginalId-  = lens _ssOriginalId (\ s a -> s{_ssOriginalId = a})--ssPollinglocationByIds :: Lens' StreetSegment [Text]-ssPollinglocationByIds-  = lens _ssPollinglocationByIds-      (\ s a -> s{_ssPollinglocationByIds = a})-      . _Default-      . _Coerce--ssStartHouseNumber :: Lens' StreetSegment (Maybe Int64)-ssStartHouseNumber-  = lens _ssStartHouseNumber-      (\ s a -> s{_ssStartHouseNumber = a})-      . mapping _Coerce--ssCataListUniquePrecinctCode :: Lens' StreetSegment (Maybe Text)-ssCataListUniquePrecinctCode-  = lens _ssCataListUniquePrecinctCode-      (\ s a -> s{_ssCataListUniquePrecinctCode = a})--ssState :: Lens' StreetSegment (Maybe Text)-ssState = lens _ssState (\ s a -> s{_ssState = a})--ssContestIds :: Lens' StreetSegment [Text]-ssContestIds-  = lens _ssContestIds (\ s a -> s{_ssContestIds = a})-      . _Default-      . _Coerce--ssStateHouseDistrict :: Lens' StreetSegment (Maybe Text)-ssStateHouseDistrict-  = lens _ssStateHouseDistrict-      (\ s a -> s{_ssStateHouseDistrict = a})--ssNcoaAddress :: Lens' StreetSegment (Maybe Text)-ssNcoaAddress-  = lens _ssNcoaAddress-      (\ s a -> s{_ssNcoaAddress = a})--ssEarlyVoteSiteByIds :: Lens' StreetSegment [Text]-ssEarlyVoteSiteByIds-  = lens _ssEarlyVoteSiteByIds-      (\ s a -> s{_ssEarlyVoteSiteByIds = a})-      . _Default-      . _Coerce--ssCountyCouncilDistrict :: Lens' StreetSegment (Maybe Text)-ssCountyCouncilDistrict-  = lens _ssCountyCouncilDistrict-      (\ s a -> s{_ssCountyCouncilDistrict = a})--ssCityCouncilDistrict :: Lens' StreetSegment (Maybe Text)-ssCityCouncilDistrict-  = lens _ssCityCouncilDistrict-      (\ s a -> s{_ssCityCouncilDistrict = a})--ssGeocodedPoint :: Lens' StreetSegment (Maybe PointProto)-ssGeocodedPoint-  = lens _ssGeocodedPoint-      (\ s a -> s{_ssGeocodedPoint = a})--ssEndHouseNumber :: Lens' StreetSegment (Maybe Int64)-ssEndHouseNumber-  = lens _ssEndHouseNumber-      (\ s a -> s{_ssEndHouseNumber = a})-      . mapping _Coerce--ssSubAdministrativeAreaName :: Lens' StreetSegment (Maybe Text)-ssSubAdministrativeAreaName-  = lens _ssSubAdministrativeAreaName-      (\ s a -> s{_ssSubAdministrativeAreaName = a})--ssPublished :: Lens' StreetSegment (Maybe Bool)-ssPublished-  = lens _ssPublished (\ s a -> s{_ssPublished = a})--ssStartLatE7 :: Lens' StreetSegment (Maybe Int64)-ssStartLatE7-  = lens _ssStartLatE7 (\ s a -> s{_ssStartLatE7 = a})-      . mapping _Coerce--ssZip :: Lens' StreetSegment (Maybe Text)-ssZip = lens _ssZip (\ s a -> s{_ssZip = a})--ssSurrogateId :: Lens' StreetSegment (Maybe Int64)-ssSurrogateId-  = lens _ssSurrogateId-      (\ s a -> s{_ssSurrogateId = a})-      . mapping _Coerce--ssMunicipalDistrict :: Lens' StreetSegment (Maybe Text)-ssMunicipalDistrict-  = lens _ssMunicipalDistrict-      (\ s a -> s{_ssMunicipalDistrict = a})--ssWardDistrict :: Lens' StreetSegment (Maybe Text)-ssWardDistrict-  = lens _ssWardDistrict-      (\ s a -> s{_ssWardDistrict = a})--ssVoterGeographicDivisionOcdIds :: Lens' StreetSegment [Text]-ssVoterGeographicDivisionOcdIds-  = lens _ssVoterGeographicDivisionOcdIds-      (\ s a -> s{_ssVoterGeographicDivisionOcdIds = a})-      . _Default-      . _Coerce--ssStreetName :: Lens' StreetSegment (Maybe Text)-ssStreetName-  = lens _ssStreetName (\ s a -> s{_ssStreetName = a})--ssTownshipDistrict :: Lens' StreetSegment (Maybe Text)-ssTownshipDistrict-  = lens _ssTownshipDistrict-      (\ s a -> s{_ssTownshipDistrict = a})--ssUnitType :: Lens' StreetSegment (Maybe Text)-ssUnitType-  = lens _ssUnitType (\ s a -> s{_ssUnitType = a})--ssCongressionalDistrict :: Lens' StreetSegment (Maybe Text)-ssCongressionalDistrict-  = lens _ssCongressionalDistrict-      (\ s a -> s{_ssCongressionalDistrict = a})--ssStateSenateDistrict :: Lens' StreetSegment (Maybe Text)-ssStateSenateDistrict-  = lens _ssStateSenateDistrict-      (\ s a -> s{_ssStateSenateDistrict = a})--ssOddOrEvens :: Lens' StreetSegment [Text]-ssOddOrEvens-  = lens _ssOddOrEvens (\ s a -> s{_ssOddOrEvens = a})-      . _Default-      . _Coerce--ssGeographicDivisionOcdIds :: Lens' StreetSegment [Text]-ssGeographicDivisionOcdIds-  = lens _ssGeographicDivisionOcdIds-      (\ s a -> s{_ssGeographicDivisionOcdIds = a})-      . _Default-      . _Coerce--ssBeforeGeocodeId :: Lens' StreetSegment (Maybe Text)-ssBeforeGeocodeId-  = lens _ssBeforeGeocodeId-      (\ s a -> s{_ssBeforeGeocodeId = a})--ssDataSetId :: Lens' StreetSegment (Maybe Int64)-ssDataSetId-  = lens _ssDataSetId (\ s a -> s{_ssDataSetId = a}) .-      mapping _Coerce--ssStartLngE7 :: Lens' StreetSegment (Maybe Int64)-ssStartLngE7-  = lens _ssStartLngE7 (\ s a -> s{_ssStartLngE7 = a})-      . mapping _Coerce--ssCity :: Lens' StreetSegment (Maybe Text)-ssCity = lens _ssCity (\ s a -> s{_ssCity = a})--ssWildcard :: Lens' StreetSegment (Maybe Bool)-ssWildcard-  = lens _ssWildcard (\ s a -> s{_ssWildcard = a})--ssTargetsmartUniquePrecinctCode :: Lens' StreetSegment (Maybe Text)-ssTargetsmartUniquePrecinctCode-  = lens _ssTargetsmartUniquePrecinctCode-      (\ s a -> s{_ssTargetsmartUniquePrecinctCode = a})--ssProvenances :: Lens' StreetSegment [Provenance]-ssProvenances-  = lens _ssProvenances-      (\ s a -> s{_ssProvenances = a})-      . _Default-      . _Coerce--ssSchoolDistrict :: Lens' StreetSegment (Maybe Text)-ssSchoolDistrict-  = lens _ssSchoolDistrict-      (\ s a -> s{_ssSchoolDistrict = a})--ssMailOnly :: Lens' StreetSegment (Maybe Bool)-ssMailOnly-  = lens _ssMailOnly (\ s a -> s{_ssMailOnly = a})--ssId :: Lens' StreetSegment (Maybe Text)-ssId = lens _ssId (\ s a -> s{_ssId = a})--ssUnitNumber :: Lens' StreetSegment (Maybe Text)-ssUnitNumber-  = lens _ssUnitNumber (\ s a -> s{_ssUnitNumber = a})--ssAdministrationRegionIds :: Lens' StreetSegment [Text]-ssAdministrationRegionIds-  = lens _ssAdministrationRegionIds-      (\ s a -> s{_ssAdministrationRegionIds = a})-      . _Default-      . _Coerce--ssVanPrecinctCode :: Lens' StreetSegment (Maybe Text)-ssVanPrecinctCode-  = lens _ssVanPrecinctCode-      (\ s a -> s{_ssVanPrecinctCode = a})--ssJudicialDistrict :: Lens' StreetSegment (Maybe Text)-ssJudicialDistrict-  = lens _ssJudicialDistrict-      (\ s a -> s{_ssJudicialDistrict = a})--ssPrecinctName :: Lens' StreetSegment (Maybe Text)-ssPrecinctName-  = lens _ssPrecinctName-      (\ s a -> s{_ssPrecinctName = a})--ssCountyFips :: Lens' StreetSegment (Maybe Text)-ssCountyFips-  = lens _ssCountyFips (\ s a -> s{_ssCountyFips = a})--ssPrecinctOcdId :: Lens' StreetSegment (Maybe Text)-ssPrecinctOcdId-  = lens _ssPrecinctOcdId-      (\ s a -> s{_ssPrecinctOcdId = a})--instance FromJSON StreetSegment where-        parseJSON-          = withObject "StreetSegment"-              (\ o ->-                 StreetSegment' <$>-                   (o .:? "originalId") <*>-                     (o .:? "pollinglocationByIds" .!= mempty)-                     <*> (o .:? "startHouseNumber")-                     <*> (o .:? "catalistUniquePrecinctCode")-                     <*> (o .:? "state")-                     <*> (o .:? "contestIds" .!= mempty)-                     <*> (o .:? "stateHouseDistrict")-                     <*> (o .:? "ncoaAddress")-                     <*> (o .:? "earlyVoteSiteByIds" .!= mempty)-                     <*> (o .:? "countyCouncilDistrict")-                     <*> (o .:? "cityCouncilDistrict")-                     <*> (o .:? "geocodedPoint")-                     <*> (o .:? "endHouseNumber")-                     <*> (o .:? "subAdministrativeAreaName")-                     <*> (o .:? "published")-                     <*> (o .:? "startLatE7")-                     <*> (o .:? "zip")-                     <*> (o .:? "surrogateId")-                     <*> (o .:? "municipalDistrict")-                     <*> (o .:? "wardDistrict")-                     <*>-                     (o .:? "voterGeographicDivisionOcdIds" .!= mempty)-                     <*> (o .:? "streetName")-                     <*> (o .:? "townshipDistrict")-                     <*> (o .:? "unitType")-                     <*> (o .:? "congressionalDistrict")-                     <*> (o .:? "stateSenateDistrict")-                     <*> (o .:? "oddOrEvens" .!= mempty)-                     <*> (o .:? "geographicDivisionOcdIds" .!= mempty)-                     <*> (o .:? "beforeGeocodeId")-                     <*> (o .:? "datasetId")-                     <*> (o .:? "startLngE7")-                     <*> (o .:? "city")-                     <*> (o .:? "wildcard")-                     <*> (o .:? "targetsmartUniquePrecinctCode")-                     <*> (o .:? "provenances" .!= mempty)-                     <*> (o .:? "schoolDistrict")-                     <*> (o .:? "mailOnly")-                     <*> (o .:? "id")-                     <*> (o .:? "unitNumber")-                     <*> (o .:? "administrationRegionIds" .!= mempty)-                     <*> (o .:? "vanPrecinctCode")-                     <*> (o .:? "judicialDistrict")-                     <*> (o .:? "precinctName")-                     <*> (o .:? "countyFips")-                     <*> (o .:? "precinctOcdId"))--instance ToJSON StreetSegment where-        toJSON StreetSegment'{..}-          = object-              (catMaybes-                 [("originalId" .=) <$> _ssOriginalId,-                  ("pollinglocationByIds" .=) <$>-                    _ssPollinglocationByIds,-                  ("startHouseNumber" .=) <$> _ssStartHouseNumber,-                  ("catalistUniquePrecinctCode" .=) <$>-                    _ssCataListUniquePrecinctCode,-                  ("state" .=) <$> _ssState,-                  ("contestIds" .=) <$> _ssContestIds,-                  ("stateHouseDistrict" .=) <$> _ssStateHouseDistrict,-                  ("ncoaAddress" .=) <$> _ssNcoaAddress,-                  ("earlyVoteSiteByIds" .=) <$> _ssEarlyVoteSiteByIds,-                  ("countyCouncilDistrict" .=) <$>-                    _ssCountyCouncilDistrict,-                  ("cityCouncilDistrict" .=) <$>-                    _ssCityCouncilDistrict,-                  ("geocodedPoint" .=) <$> _ssGeocodedPoint,-                  ("endHouseNumber" .=) <$> _ssEndHouseNumber,-                  ("subAdministrativeAreaName" .=) <$>-                    _ssSubAdministrativeAreaName,-                  ("published" .=) <$> _ssPublished,-                  ("startLatE7" .=) <$> _ssStartLatE7,-                  ("zip" .=) <$> _ssZip,-                  ("surrogateId" .=) <$> _ssSurrogateId,-                  ("municipalDistrict" .=) <$> _ssMunicipalDistrict,-                  ("wardDistrict" .=) <$> _ssWardDistrict,-                  ("voterGeographicDivisionOcdIds" .=) <$>-                    _ssVoterGeographicDivisionOcdIds,-                  ("streetName" .=) <$> _ssStreetName,-                  ("townshipDistrict" .=) <$> _ssTownshipDistrict,-                  ("unitType" .=) <$> _ssUnitType,-                  ("congressionalDistrict" .=) <$>-                    _ssCongressionalDistrict,-                  ("stateSenateDistrict" .=) <$>-                    _ssStateSenateDistrict,-                  ("oddOrEvens" .=) <$> _ssOddOrEvens,-                  ("geographicDivisionOcdIds" .=) <$>-                    _ssGeographicDivisionOcdIds,-                  ("beforeGeocodeId" .=) <$> _ssBeforeGeocodeId,-                  ("datasetId" .=) <$> _ssDataSetId,-                  ("startLngE7" .=) <$> _ssStartLngE7,-                  ("city" .=) <$> _ssCity,-                  ("wildcard" .=) <$> _ssWildcard,-                  ("targetsmartUniquePrecinctCode" .=) <$>-                    _ssTargetsmartUniquePrecinctCode,-                  ("provenances" .=) <$> _ssProvenances,-                  ("schoolDistrict" .=) <$> _ssSchoolDistrict,-                  ("mailOnly" .=) <$> _ssMailOnly, ("id" .=) <$> _ssId,-                  ("unitNumber" .=) <$> _ssUnitNumber,-                  ("administrationRegionIds" .=) <$>-                    _ssAdministrationRegionIds,-                  ("vanPrecinctCode" .=) <$> _ssVanPrecinctCode,-                  ("judicialDistrict" .=) <$> _ssJudicialDistrict,-                  ("precinctName" .=) <$> _ssPrecinctName,-                  ("countyFips" .=) <$> _ssCountyFips,-                  ("precinctOcdId" .=) <$> _ssPrecinctOcdId])---- | Information about a candidate running for elected office.------ /See:/ 'candidate' smart constructor.-data Candidate =-  Candidate'-    { _cEmail         :: !(Maybe Text)-    , _cPhone         :: !(Maybe Text)-    , _cPhotoURL      :: !(Maybe Text)-    , _cChannels      :: !(Maybe [Channel])-    , _cCandidateURL  :: !(Maybe Text)-    , _cOrderOnBallot :: !(Maybe (Textual Int64))-    , _cName          :: !(Maybe Text)-    , _cParty         :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Candidate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cEmail'------ * 'cPhone'------ * 'cPhotoURL'------ * 'cChannels'------ * 'cCandidateURL'------ * 'cOrderOnBallot'------ * 'cName'------ * 'cParty'-candidate-    :: Candidate-candidate =-  Candidate'-    { _cEmail = Nothing-    , _cPhone = Nothing-    , _cPhotoURL = Nothing-    , _cChannels = Nothing-    , _cCandidateURL = Nothing-    , _cOrderOnBallot = Nothing-    , _cName = Nothing-    , _cParty = Nothing-    }----- | The email address for the candidate\'s campaign.-cEmail :: Lens' Candidate (Maybe Text)-cEmail = lens _cEmail (\ s a -> s{_cEmail = a})---- | The voice phone number for the candidate\'s campaign office.-cPhone :: Lens' Candidate (Maybe Text)-cPhone = lens _cPhone (\ s a -> s{_cPhone = a})---- | A URL for a photo of the candidate.-cPhotoURL :: Lens' Candidate (Maybe Text)-cPhotoURL-  = lens _cPhotoURL (\ s a -> s{_cPhotoURL = a})---- | A list of known (social) media channels for this candidate.-cChannels :: Lens' Candidate [Channel]-cChannels-  = lens _cChannels (\ s a -> s{_cChannels = a}) .-      _Default-      . _Coerce---- | The URL for the candidate\'s campaign web site.-cCandidateURL :: Lens' Candidate (Maybe Text)-cCandidateURL-  = lens _cCandidateURL-      (\ s a -> s{_cCandidateURL = a})---- | The order the candidate appears on the ballot for this contest.-cOrderOnBallot :: Lens' Candidate (Maybe Int64)-cOrderOnBallot-  = lens _cOrderOnBallot-      (\ s a -> s{_cOrderOnBallot = a})-      . mapping _Coerce---- | The candidate\'s name. If this is a joint ticket it will indicate the--- name of the candidate at the top of a ticket followed by a \/ and that--- name of candidate at the bottom of the ticket. e.g. \"Mitt Romney \/--- Paul Ryan\"-cName :: Lens' Candidate (Maybe Text)-cName = lens _cName (\ s a -> s{_cName = a})---- | The full name of the party the candidate is a member of.-cParty :: Lens' Candidate (Maybe Text)-cParty = lens _cParty (\ s a -> s{_cParty = a})--instance FromJSON Candidate where-        parseJSON-          = withObject "Candidate"-              (\ o ->-                 Candidate' <$>-                   (o .:? "email") <*> (o .:? "phone") <*>-                     (o .:? "photoUrl")-                     <*> (o .:? "channels" .!= mempty)-                     <*> (o .:? "candidateUrl")-                     <*> (o .:? "orderOnBallot")-                     <*> (o .:? "name")-                     <*> (o .:? "party"))--instance ToJSON Candidate where-        toJSON Candidate'{..}-          = object-              (catMaybes-                 [("email" .=) <$> _cEmail, ("phone" .=) <$> _cPhone,-                  ("photoUrl" .=) <$> _cPhotoURL,-                  ("channels" .=) <$> _cChannels,-                  ("candidateUrl" .=) <$> _cCandidateURL,-                  ("orderOnBallot" .=) <$> _cOrderOnBallot,-                  ("name" .=) <$> _cName, ("party" .=) <$> _cParty])---- | Information about an Office held by one or more Officials.------ /See:/ 'office' smart constructor.-data Office =-  Office'-    { _oDivisionId      :: !(Maybe Text)-    , _oRoles           :: !(Maybe [Text])-    , _oOfficialIndices :: !(Maybe [Textual Word32])-    , _oSources         :: !(Maybe [Source])-    , _oName            :: !(Maybe Text)-    , _oLevels          :: !(Maybe [Text])-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Office' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'oDivisionId'------ * 'oRoles'------ * 'oOfficialIndices'------ * 'oSources'------ * 'oName'------ * 'oLevels'-office-    :: Office-office =-  Office'-    { _oDivisionId = Nothing-    , _oRoles = Nothing-    , _oOfficialIndices = Nothing-    , _oSources = Nothing-    , _oName = Nothing-    , _oLevels = Nothing-    }----- | The OCD ID of the division with which this office is associated.-oDivisionId :: Lens' Office (Maybe Text)-oDivisionId-  = lens _oDivisionId (\ s a -> s{_oDivisionId = a})---- | The roles which this office fulfills. Roles are not meant to be--- exhaustive, or to exactly specify the entire set of responsibilities of--- a given office, but are meant to be rough categories that are useful for--- general selection from or sorting of a list of offices.-oRoles :: Lens' Office [Text]-oRoles-  = lens _oRoles (\ s a -> s{_oRoles = a}) . _Default .-      _Coerce---- | List of indices in the officials array of people who presently hold this--- office.-oOfficialIndices :: Lens' Office [Word32]-oOfficialIndices-  = lens _oOfficialIndices-      (\ s a -> s{_oOfficialIndices = a})-      . _Default-      . _Coerce---- | A list of sources for this office. If multiple sources are listed, the--- data has been aggregated from those sources.-oSources :: Lens' Office [Source]-oSources-  = lens _oSources (\ s a -> s{_oSources = a}) .-      _Default-      . _Coerce---- | The human-readable name of the office.-oName :: Lens' Office (Maybe Text)-oName = lens _oName (\ s a -> s{_oName = a})---- | The levels of government of which this office is part. There may be more--- than one in cases where a jurisdiction effectively acts at two different--- levels of government; for example, the mayor of the District of Columbia--- acts at \"locality\" level, but also effectively at both--- \"administrative-area-2\" and \"administrative-area-1\".-oLevels :: Lens' Office [Text]-oLevels-  = lens _oLevels (\ s a -> s{_oLevels = a}) . _Default-      . _Coerce--instance FromJSON Office where-        parseJSON-          = withObject "Office"-              (\ o ->-                 Office' <$>-                   (o .:? "divisionId") <*> (o .:? "roles" .!= mempty)-                     <*> (o .:? "officialIndices" .!= mempty)-                     <*> (o .:? "sources" .!= mempty)-                     <*> (o .:? "name")-                     <*> (o .:? "levels" .!= mempty))--instance ToJSON Office where-        toJSON Office'{..}-          = object-              (catMaybes-                 [("divisionId" .=) <$> _oDivisionId,-                  ("roles" .=) <$> _oRoles,-                  ("officialIndices" .=) <$> _oOfficialIndices,-                  ("sources" .=) <$> _oSources, ("name" .=) <$> _oName,-                  ("levels" .=) <$> _oLevels])------- /See:/ 'streetSegmentList' smart constructor.-newtype StreetSegmentList =-  StreetSegmentList'-    { _sslSegments :: Maybe [StreetSegment]-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'StreetSegmentList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sslSegments'-streetSegmentList-    :: StreetSegmentList-streetSegmentList = StreetSegmentList' {_sslSegments = Nothing}---sslSegments :: Lens' StreetSegmentList [StreetSegment]-sslSegments-  = lens _sslSegments (\ s a -> s{_sslSegments = a}) .-      _Default-      . _Coerce--instance FromJSON StreetSegmentList where-        parseJSON-          = withObject "StreetSegmentList"-              (\ o ->-                 StreetSegmentList' <$> (o .:? "segments" .!= mempty))--instance ToJSON StreetSegmentList where-        toJSON StreetSegmentList'{..}-          = object-              (catMaybes [("segments" .=) <$> _sslSegments])------- /See:/ 'livegraphBacktraceRecordInfo' smart constructor.-data LivegraphBacktraceRecordInfo =-  LivegraphBacktraceRecordInfo'-    { _lbriDataSourcePublishMsec :: !(Maybe (Textual Int64))-    , _lbriTopicBuildStartMsec   :: !(Maybe (Textual Int64))-    , _lbriIsRecon               :: !(Maybe Bool)-    , _lbriPriority              :: !(Maybe Text)-    , _lbriShouldMonitorLatency  :: !(Maybe Bool)-    , _lbriRecordId              :: !(Maybe Text)-    , _lbriProxySentMsec         :: !(Maybe (Textual Int64))-    , _lbriExpInfo               :: !(Maybe LivegraphBacktraceRecordInfoExpInfo)-    , _lbriProcess               :: !(Maybe Text)-    , _lbriTopicBuildFinishMsec  :: !(Maybe (Textual Int64))-    , _lbriNumberOfTriples       :: !(Maybe (Textual Int64))-    , _lbriProxyReceiveMsec      :: !(Maybe (Textual Int64))-    , _lbriVersion               :: !(Maybe Text)-    , _lbriIsWlmThrottled        :: !(Maybe Bool)-    , _lbriExpId                 :: !(Maybe Text)-    , _lbriSubscriberReceiveMsec :: !(Maybe (Textual Int64))-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'LivegraphBacktraceRecordInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lbriDataSourcePublishMsec'------ * 'lbriTopicBuildStartMsec'------ * 'lbriIsRecon'------ * 'lbriPriority'------ * 'lbriShouldMonitorLatency'------ * 'lbriRecordId'------ * 'lbriProxySentMsec'------ * 'lbriExpInfo'------ * 'lbriProcess'------ * 'lbriTopicBuildFinishMsec'------ * 'lbriNumberOfTriples'------ * 'lbriProxyReceiveMsec'------ * 'lbriVersion'------ * 'lbriIsWlmThrottled'------ * 'lbriExpId'------ * 'lbriSubscriberReceiveMsec'-livegraphBacktraceRecordInfo-    :: LivegraphBacktraceRecordInfo-livegraphBacktraceRecordInfo =-  LivegraphBacktraceRecordInfo'-    { _lbriDataSourcePublishMsec = Nothing-    , _lbriTopicBuildStartMsec = Nothing-    , _lbriIsRecon = Nothing-    , _lbriPriority = Nothing-    , _lbriShouldMonitorLatency = Nothing-    , _lbriRecordId = Nothing-    , _lbriProxySentMsec = Nothing-    , _lbriExpInfo = Nothing-    , _lbriProcess = Nothing-    , _lbriTopicBuildFinishMsec = Nothing-    , _lbriNumberOfTriples = Nothing-    , _lbriProxyReceiveMsec = Nothing-    , _lbriVersion = Nothing-    , _lbriIsWlmThrottled = Nothing-    , _lbriExpId = Nothing-    , _lbriSubscriberReceiveMsec = Nothing-    }---lbriDataSourcePublishMsec :: Lens' LivegraphBacktraceRecordInfo (Maybe Int64)-lbriDataSourcePublishMsec-  = lens _lbriDataSourcePublishMsec-      (\ s a -> s{_lbriDataSourcePublishMsec = a})-      . mapping _Coerce--lbriTopicBuildStartMsec :: Lens' LivegraphBacktraceRecordInfo (Maybe Int64)-lbriTopicBuildStartMsec-  = lens _lbriTopicBuildStartMsec-      (\ s a -> s{_lbriTopicBuildStartMsec = a})-      . mapping _Coerce--lbriIsRecon :: Lens' LivegraphBacktraceRecordInfo (Maybe Bool)-lbriIsRecon-  = lens _lbriIsRecon (\ s a -> s{_lbriIsRecon = a})--lbriPriority :: Lens' LivegraphBacktraceRecordInfo (Maybe Text)-lbriPriority-  = lens _lbriPriority (\ s a -> s{_lbriPriority = a})--lbriShouldMonitorLatency :: Lens' LivegraphBacktraceRecordInfo (Maybe Bool)-lbriShouldMonitorLatency-  = lens _lbriShouldMonitorLatency-      (\ s a -> s{_lbriShouldMonitorLatency = a})--lbriRecordId :: Lens' LivegraphBacktraceRecordInfo (Maybe Text)-lbriRecordId-  = lens _lbriRecordId (\ s a -> s{_lbriRecordId = a})--lbriProxySentMsec :: Lens' LivegraphBacktraceRecordInfo (Maybe Int64)-lbriProxySentMsec-  = lens _lbriProxySentMsec-      (\ s a -> s{_lbriProxySentMsec = a})-      . mapping _Coerce--lbriExpInfo :: Lens' LivegraphBacktraceRecordInfo (Maybe LivegraphBacktraceRecordInfoExpInfo)-lbriExpInfo-  = lens _lbriExpInfo (\ s a -> s{_lbriExpInfo = a})--lbriProcess :: Lens' LivegraphBacktraceRecordInfo (Maybe Text)-lbriProcess-  = lens _lbriProcess (\ s a -> s{_lbriProcess = a})--lbriTopicBuildFinishMsec :: Lens' LivegraphBacktraceRecordInfo (Maybe Int64)-lbriTopicBuildFinishMsec-  = lens _lbriTopicBuildFinishMsec-      (\ s a -> s{_lbriTopicBuildFinishMsec = a})-      . mapping _Coerce--lbriNumberOfTriples :: Lens' LivegraphBacktraceRecordInfo (Maybe Int64)-lbriNumberOfTriples-  = lens _lbriNumberOfTriples-      (\ s a -> s{_lbriNumberOfTriples = a})-      . mapping _Coerce--lbriProxyReceiveMsec :: Lens' LivegraphBacktraceRecordInfo (Maybe Int64)-lbriProxyReceiveMsec-  = lens _lbriProxyReceiveMsec-      (\ s a -> s{_lbriProxyReceiveMsec = a})-      . mapping _Coerce--lbriVersion :: Lens' LivegraphBacktraceRecordInfo (Maybe Text)-lbriVersion-  = lens _lbriVersion (\ s a -> s{_lbriVersion = a})--lbriIsWlmThrottled :: Lens' LivegraphBacktraceRecordInfo (Maybe Bool)-lbriIsWlmThrottled-  = lens _lbriIsWlmThrottled-      (\ s a -> s{_lbriIsWlmThrottled = a})--lbriExpId :: Lens' LivegraphBacktraceRecordInfo (Maybe Text)-lbriExpId-  = lens _lbriExpId (\ s a -> s{_lbriExpId = a})--lbriSubscriberReceiveMsec :: Lens' LivegraphBacktraceRecordInfo (Maybe Int64)-lbriSubscriberReceiveMsec-  = lens _lbriSubscriberReceiveMsec-      (\ s a -> s{_lbriSubscriberReceiveMsec = a})-      . mapping _Coerce--instance FromJSON LivegraphBacktraceRecordInfo where-        parseJSON-          = withObject "LivegraphBacktraceRecordInfo"-              (\ o ->-                 LivegraphBacktraceRecordInfo' <$>-                   (o .:? "dataSourcePublishMsec") <*>-                     (o .:? "topicBuildStartMsec")-                     <*> (o .:? "isRecon")-                     <*> (o .:? "priority")-                     <*> (o .:? "shouldMonitorLatency")-                     <*> (o .:? "recordId")-                     <*> (o .:? "proxySentMsec")-                     <*> (o .:? "expInfo")-                     <*> (o .:? "process")-                     <*> (o .:? "topicBuildFinishMsec")-                     <*> (o .:? "numberOfTriples")-                     <*> (o .:? "proxyReceiveMsec")-                     <*> (o .:? "version")-                     <*> (o .:? "isWlmThrottled")-                     <*> (o .:? "expId")-                     <*> (o .:? "subscriberReceiveMsec"))--instance ToJSON LivegraphBacktraceRecordInfo where-        toJSON LivegraphBacktraceRecordInfo'{..}-          = object-              (catMaybes-                 [("dataSourcePublishMsec" .=) <$>-                    _lbriDataSourcePublishMsec,-                  ("topicBuildStartMsec" .=) <$>-                    _lbriTopicBuildStartMsec,-                  ("isRecon" .=) <$> _lbriIsRecon,-                  ("priority" .=) <$> _lbriPriority,-                  ("shouldMonitorLatency" .=) <$>-                    _lbriShouldMonitorLatency,-                  ("recordId" .=) <$> _lbriRecordId,-                  ("proxySentMsec" .=) <$> _lbriProxySentMsec,-                  ("expInfo" .=) <$> _lbriExpInfo,-                  ("process" .=) <$> _lbriProcess,-                  ("topicBuildFinishMsec" .=) <$>-                    _lbriTopicBuildFinishMsec,-                  ("numberOfTriples" .=) <$> _lbriNumberOfTriples,-                  ("proxyReceiveMsec" .=) <$> _lbriProxyReceiveMsec,-                  ("version" .=) <$> _lbriVersion,-                  ("isWlmThrottled" .=) <$> _lbriIsWlmThrottled,-                  ("expId" .=) <$> _lbriExpId,-                  ("subscriberReceiveMsec" .=) <$>-                    _lbriSubscriberReceiveMsec])------- /See:/ 'electionsQueryRequest' smart constructor.-newtype ElectionsQueryRequest =-  ElectionsQueryRequest'-    { _eqrContextParams :: Maybe ContextParams-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ElectionsQueryRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eqrContextParams'-electionsQueryRequest-    :: ElectionsQueryRequest-electionsQueryRequest = ElectionsQueryRequest' {_eqrContextParams = Nothing}---eqrContextParams :: Lens' ElectionsQueryRequest (Maybe ContextParams)-eqrContextParams-  = lens _eqrContextParams-      (\ s a -> s{_eqrContextParams = a})--instance FromJSON ElectionsQueryRequest where-        parseJSON-          = withObject "ElectionsQueryRequest"-              (\ o ->-                 ElectionsQueryRequest' <$> (o .:? "contextParams"))--instance ToJSON ElectionsQueryRequest where-        toJSON ElectionsQueryRequest'{..}-          = object-              (catMaybes-                 [("contextParams" .=) <$> _eqrContextParams])---- | A social media or web channel for a candidate.------ /See:/ 'channel' smart constructor.-data Channel =-  Channel'-    { _cId   :: !(Maybe Text)-    , _cType :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Channel' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cId'------ * 'cType'-channel-    :: Channel-channel = Channel' {_cId = Nothing, _cType = Nothing}----- | The unique public identifier for the candidate\'s channel.-cId :: Lens' Channel (Maybe Text)-cId = lens _cId (\ s a -> s{_cId = a})---- | The type of channel. The following is a list of types of channels, but--- is not exhaustive. More channel types may be added at a later time. One--- of: GooglePlus, YouTube, Facebook, Twitter-cType :: Lens' Channel (Maybe Text)-cType = lens _cType (\ s a -> s{_cType = a})--instance FromJSON Channel where-        parseJSON-          = withObject "Channel"-              (\ o -> Channel' <$> (o .:? "id") <*> (o .:? "type"))--instance ToJSON Channel where-        toJSON Channel'{..}-          = object-              (catMaybes-                 [("id" .=) <$> _cId, ("type" .=) <$> _cType])---- | Information about the election that was queried.------ /See:/ 'election' smart constructor.-data Election =-  Election'-    { _eOcdDivisionId :: !(Maybe Text)-    , _eElectionDay   :: !(Maybe Text)-    , _eName          :: !(Maybe Text)-    , _eId            :: !(Maybe (Textual Int64))-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Election' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eOcdDivisionId'------ * 'eElectionDay'------ * 'eName'------ * 'eId'-election-    :: Election-election =-  Election'-    { _eOcdDivisionId = Nothing-    , _eElectionDay = Nothing-    , _eName = Nothing-    , _eId = Nothing-    }----- | The political division of the election. Represented as an OCD Division--- ID. Voters within these political jurisdictions are covered by this--- election. This is typically a state such as--- ocd-division\/country:us\/state:ca or for the midterms or general--- election the entire US (i.e. ocd-division\/country:us).-eOcdDivisionId :: Lens' Election (Maybe Text)-eOcdDivisionId-  = lens _eOcdDivisionId-      (\ s a -> s{_eOcdDivisionId = a})---- | Day of the election in YYYY-MM-DD format.-eElectionDay :: Lens' Election (Maybe Text)-eElectionDay-  = lens _eElectionDay (\ s a -> s{_eElectionDay = a})---- | A displayable name for the election.-eName :: Lens' Election (Maybe Text)-eName = lens _eName (\ s a -> s{_eName = a})---- | The unique ID of this election.-eId :: Lens' Election (Maybe Int64)-eId-  = lens _eId (\ s a -> s{_eId = a}) . mapping _Coerce--instance FromJSON Election where-        parseJSON-          = withObject "Election"-              (\ o ->-                 Election' <$>-                   (o .:? "ocdDivisionId") <*> (o .:? "electionDay") <*>-                     (o .:? "name")-                     <*> (o .:? "id"))--instance ToJSON Election where-        toJSON Election'{..}-          = object-              (catMaybes-                 [("ocdDivisionId" .=) <$> _eOcdDivisionId,-                  ("electionDay" .=) <$> _eElectionDay,-                  ("name" .=) <$> _eName, ("id" .=) <$> _eId])---- | The result of a representative info lookup query.------ /See:/ 'representativeInfoResponse' smart constructor.-data RepresentativeInfoResponse =-  RepresentativeInfoResponse'-    { _rirKind            :: !Text-    , _rirNormalizedInput :: !(Maybe SimpleAddressType)-    , _rirOfficials       :: !(Maybe [Official])-    , _rirDivisions       :: !(Maybe RepresentativeInfoResponseDivisions)-    , _rirOffices         :: !(Maybe [Office])-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RepresentativeInfoResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rirKind'------ * 'rirNormalizedInput'------ * 'rirOfficials'------ * 'rirDivisions'------ * 'rirOffices'-representativeInfoResponse-    :: RepresentativeInfoResponse-representativeInfoResponse =-  RepresentativeInfoResponse'-    { _rirKind = "civicinfo#representativeInfoResponse"-    , _rirNormalizedInput = Nothing-    , _rirOfficials = Nothing-    , _rirDivisions = Nothing-    , _rirOffices = Nothing-    }----- | Identifies what kind of resource this is. Value: the fixed string--- \"civicinfo#representativeInfoResponse\".-rirKind :: Lens' RepresentativeInfoResponse Text-rirKind = lens _rirKind (\ s a -> s{_rirKind = a})---- | The normalized version of the requested address-rirNormalizedInput :: Lens' RepresentativeInfoResponse (Maybe SimpleAddressType)-rirNormalizedInput-  = lens _rirNormalizedInput-      (\ s a -> s{_rirNormalizedInput = a})---- | Officials holding the offices listed above. Will only be present if--- includeOffices was true in the request.-rirOfficials :: Lens' RepresentativeInfoResponse [Official]-rirOfficials-  = lens _rirOfficials (\ s a -> s{_rirOfficials = a})-      . _Default-      . _Coerce---- | Political geographic divisions that contain the requested address.-rirDivisions :: Lens' RepresentativeInfoResponse (Maybe RepresentativeInfoResponseDivisions)-rirDivisions-  = lens _rirDivisions (\ s a -> s{_rirDivisions = a})---- | Elected offices referenced by the divisions listed above. Will only be--- present if includeOffices was true in the request.-rirOffices :: Lens' RepresentativeInfoResponse [Office]-rirOffices-  = lens _rirOffices (\ s a -> s{_rirOffices = a}) .-      _Default-      . _Coerce--instance FromJSON RepresentativeInfoResponse where-        parseJSON-          = withObject "RepresentativeInfoResponse"-              (\ o ->-                 RepresentativeInfoResponse' <$>-                   (o .:? "kind" .!=-                      "civicinfo#representativeInfoResponse")-                     <*> (o .:? "normalizedInput")-                     <*> (o .:? "officials" .!= mempty)-                     <*> (o .:? "divisions")-                     <*> (o .:? "offices" .!= mempty))--instance ToJSON RepresentativeInfoResponse where-        toJSON RepresentativeInfoResponse'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _rirKind),-                  ("normalizedInput" .=) <$> _rirNormalizedInput,-                  ("officials" .=) <$> _rirOfficials,-                  ("divisions" .=) <$> _rirDivisions,-                  ("offices" .=) <$> _rirOffices])------- /See:/ 'voterInfoSegmentResult' smart constructor.-data VoterInfoSegmentResult =-  VoterInfoSegmentResult'-    { _visrResponse        :: !(Maybe VoterInfoResponse)-    , _visrGeneratedMillis :: !(Maybe (Textual Int64))-    , _visrPostalAddress   :: !(Maybe PostalAddress)-    , _visrRequest         :: !(Maybe VoterInfoRequest)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'VoterInfoSegmentResult' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'visrResponse'------ * 'visrGeneratedMillis'------ * 'visrPostalAddress'------ * 'visrRequest'-voterInfoSegmentResult-    :: VoterInfoSegmentResult-voterInfoSegmentResult =-  VoterInfoSegmentResult'-    { _visrResponse = Nothing-    , _visrGeneratedMillis = Nothing-    , _visrPostalAddress = Nothing-    , _visrRequest = Nothing-    }---visrResponse :: Lens' VoterInfoSegmentResult (Maybe VoterInfoResponse)-visrResponse-  = lens _visrResponse (\ s a -> s{_visrResponse = a})--visrGeneratedMillis :: Lens' VoterInfoSegmentResult (Maybe Int64)-visrGeneratedMillis-  = lens _visrGeneratedMillis-      (\ s a -> s{_visrGeneratedMillis = a})-      . mapping _Coerce--visrPostalAddress :: Lens' VoterInfoSegmentResult (Maybe PostalAddress)-visrPostalAddress-  = lens _visrPostalAddress-      (\ s a -> s{_visrPostalAddress = a})--visrRequest :: Lens' VoterInfoSegmentResult (Maybe VoterInfoRequest)-visrRequest-  = lens _visrRequest (\ s a -> s{_visrRequest = a})--instance FromJSON VoterInfoSegmentResult where-        parseJSON-          = withObject "VoterInfoSegmentResult"-              (\ o ->-                 VoterInfoSegmentResult' <$>-                   (o .:? "response") <*> (o .:? "generatedMillis") <*>-                     (o .:? "postalAddress")-                     <*> (o .:? "request"))--instance ToJSON VoterInfoSegmentResult where-        toJSON VoterInfoSegmentResult'{..}-          = object-              (catMaybes-                 [("response" .=) <$> _visrResponse,-                  ("generatedMillis" .=) <$> _visrGeneratedMillis,-                  ("postalAddress" .=) <$> _visrPostalAddress,-                  ("request" .=) <$> _visrRequest])---- | Represents a political geographic division that matches the requested--- query.------ /See:/ 'divisionSearchResult' smart constructor.-data DivisionSearchResult =-  DivisionSearchResult'-    { _dsrAliases :: !(Maybe [Text])-    , _dsrName    :: !(Maybe Text)-    , _dsrOcdId   :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DivisionSearchResult' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dsrAliases'------ * 'dsrName'------ * 'dsrOcdId'-divisionSearchResult-    :: DivisionSearchResult-divisionSearchResult =-  DivisionSearchResult'-    {_dsrAliases = Nothing, _dsrName = Nothing, _dsrOcdId = Nothing}----- | Other Open Civic Data identifiers that refer to the same division -- for--- example, those that refer to other political divisions whose boundaries--- are defined to be coterminous with this one. For example,--- ocd-division\/country:us\/state:wy will include an alias of--- ocd-division\/country:us\/state:wy\/cd:1, since Wyoming has only one--- Congressional district.-dsrAliases :: Lens' DivisionSearchResult [Text]-dsrAliases-  = lens _dsrAliases (\ s a -> s{_dsrAliases = a}) .-      _Default-      . _Coerce---- | The name of the division.-dsrName :: Lens' DivisionSearchResult (Maybe Text)-dsrName = lens _dsrName (\ s a -> s{_dsrName = a})---- | The unique Open Civic Data identifier for this division.-dsrOcdId :: Lens' DivisionSearchResult (Maybe Text)-dsrOcdId = lens _dsrOcdId (\ s a -> s{_dsrOcdId = a})--instance FromJSON DivisionSearchResult where-        parseJSON-          = withObject "DivisionSearchResult"-              (\ o ->-                 DivisionSearchResult' <$>-                   (o .:? "aliases" .!= mempty) <*> (o .:? "name") <*>-                     (o .:? "ocdId"))--instance ToJSON DivisionSearchResult where-        toJSON DivisionSearchResult'{..}-          = object-              (catMaybes-                 [("aliases" .=) <$> _dsrAliases,-                  ("name" .=) <$> _dsrName,-                  ("ocdId" .=) <$> _dsrOcdId])---- | A search request for political geographies.------ /See:/ 'divisionSearchRequest' smart constructor.-newtype DivisionSearchRequest =-  DivisionSearchRequest'-    { _dsrContextParams :: Maybe ContextParams-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DivisionSearchRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dsrContextParams'-divisionSearchRequest-    :: DivisionSearchRequest-divisionSearchRequest = DivisionSearchRequest' {_dsrContextParams = Nothing}---dsrContextParams :: Lens' DivisionSearchRequest (Maybe ContextParams)-dsrContextParams-  = lens _dsrContextParams-      (\ s a -> s{_dsrContextParams = a})--instance FromJSON DivisionSearchRequest where-        parseJSON-          = withObject "DivisionSearchRequest"-              (\ o ->-                 DivisionSearchRequest' <$> (o .:? "contextParams"))--instance ToJSON DivisionSearchRequest where-        toJSON DivisionSearchRequest'{..}-          = object-              (catMaybes-                 [("contextParams" .=) <$> _dsrContextParams])------- /See:/ 'fieldMetadataProto' smart constructor.-newtype FieldMetadataProto =-  FieldMetadataProto'-    { _fmpInternal :: Maybe InternalFieldMetadataProto-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'FieldMetadataProto' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fmpInternal'-fieldMetadataProto-    :: FieldMetadataProto-fieldMetadataProto = FieldMetadataProto' {_fmpInternal = Nothing}---fmpInternal :: Lens' FieldMetadataProto (Maybe InternalFieldMetadataProto)-fmpInternal-  = lens _fmpInternal (\ s a -> s{_fmpInternal = a})--instance FromJSON FieldMetadataProto where-        parseJSON-          = withObject "FieldMetadataProto"-              (\ o -> FieldMetadataProto' <$> (o .:? "internal"))--instance ToJSON FieldMetadataProto where-        toJSON FieldMetadataProto'{..}-          = object-              (catMaybes [("internal" .=) <$> _fmpInternal])------- /See:/ 'messageSet' smart constructor.-newtype MessageSet =-  MessageSet'-    { _msRecordMessageSetExt :: Maybe LivegraphBacktraceRecordInfo-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'MessageSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'msRecordMessageSetExt'-messageSet-    :: MessageSet-messageSet = MessageSet' {_msRecordMessageSetExt = Nothing}---msRecordMessageSetExt :: Lens' MessageSet (Maybe LivegraphBacktraceRecordInfo)-msRecordMessageSetExt-  = lens _msRecordMessageSetExt-      (\ s a -> s{_msRecordMessageSetExt = a})--instance FromJSON MessageSet where-        parseJSON-          = withObject "MessageSet"-              (\ o ->-                 MessageSet' <$> (o .:? "recordMessageSetExt"))--instance ToJSON MessageSet where-        toJSON MessageSet'{..}-          = object-              (catMaybes-                 [("recordMessageSetExt" .=) <$>-                    _msRecordMessageSetExt])---- | Information about an election administrative body (e.g. County Board of--- Elections).------ /See:/ 'administrativeBody' smart constructor.-data AdministrativeBody =-  AdministrativeBody'-    { _abCorrespondenceAddress               :: !(Maybe SimpleAddressType)-    , _abAbsenteeVotingInfoURL               :: !(Maybe Text)-    , _abHoursOfOperation                    :: !(Maybe Text)-    , _abBallotInfoURL                       :: !(Maybe Text)-    , _abPhysicalAddress                     :: !(Maybe SimpleAddressType)-    , _abElectionRegistrationConfirmationURL :: !(Maybe Text)-    , _abElectionInfoURL                     :: !(Maybe Text)-    , _abVotingLocationFinderURL             :: !(Maybe Text)-    , _abElectionOfficials                   :: !(Maybe [ElectionOfficial])-    , _abName                                :: !(Maybe Text)-    , _abElectionRulesURL                    :: !(Maybe Text)-    , _abAddressLines                        :: !(Maybe [Text])-    , _abVoterServices                       :: !(Maybe [Text])-    , _abElectionRegistrationURL             :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'AdministrativeBody' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'abCorrespondenceAddress'------ * 'abAbsenteeVotingInfoURL'------ * 'abHoursOfOperation'------ * 'abBallotInfoURL'------ * 'abPhysicalAddress'------ * 'abElectionRegistrationConfirmationURL'------ * 'abElectionInfoURL'------ * 'abVotingLocationFinderURL'------ * 'abElectionOfficials'------ * 'abName'------ * 'abElectionRulesURL'------ * 'abAddressLines'------ * 'abVoterServices'------ * 'abElectionRegistrationURL'-administrativeBody-    :: AdministrativeBody-administrativeBody =-  AdministrativeBody'-    { _abCorrespondenceAddress = Nothing-    , _abAbsenteeVotingInfoURL = Nothing-    , _abHoursOfOperation = Nothing-    , _abBallotInfoURL = Nothing-    , _abPhysicalAddress = Nothing-    , _abElectionRegistrationConfirmationURL = Nothing-    , _abElectionInfoURL = Nothing-    , _abVotingLocationFinderURL = Nothing-    , _abElectionOfficials = Nothing-    , _abName = Nothing-    , _abElectionRulesURL = Nothing-    , _abAddressLines = Nothing-    , _abVoterServices = Nothing-    , _abElectionRegistrationURL = Nothing-    }----- | The mailing address of this administrative body.-abCorrespondenceAddress :: Lens' AdministrativeBody (Maybe SimpleAddressType)-abCorrespondenceAddress-  = lens _abCorrespondenceAddress-      (\ s a -> s{_abCorrespondenceAddress = a})---- | A URL provided by this administrative body for information on absentee--- voting.-abAbsenteeVotingInfoURL :: Lens' AdministrativeBody (Maybe Text)-abAbsenteeVotingInfoURL-  = lens _abAbsenteeVotingInfoURL-      (\ s a -> s{_abAbsenteeVotingInfoURL = a})---- | A description of the hours of operation for this administrative body.-abHoursOfOperation :: Lens' AdministrativeBody (Maybe Text)-abHoursOfOperation-  = lens _abHoursOfOperation-      (\ s a -> s{_abHoursOfOperation = a})---- | A URL provided by this administrative body to give contest information--- to the voter.-abBallotInfoURL :: Lens' AdministrativeBody (Maybe Text)-abBallotInfoURL-  = lens _abBallotInfoURL-      (\ s a -> s{_abBallotInfoURL = a})---- | The physical address of this administrative body.-abPhysicalAddress :: Lens' AdministrativeBody (Maybe SimpleAddressType)-abPhysicalAddress-  = lens _abPhysicalAddress-      (\ s a -> s{_abPhysicalAddress = a})---- | A URL provided by this administrative body for confirming that the voter--- is registered to vote.-abElectionRegistrationConfirmationURL :: Lens' AdministrativeBody (Maybe Text)-abElectionRegistrationConfirmationURL-  = lens _abElectionRegistrationConfirmationURL-      (\ s a ->-         s{_abElectionRegistrationConfirmationURL = a})---- | A URL provided by this administrative body for looking up general--- election information.-abElectionInfoURL :: Lens' AdministrativeBody (Maybe Text)-abElectionInfoURL-  = lens _abElectionInfoURL-      (\ s a -> s{_abElectionInfoURL = a})---- | A URL provided by this administrative body for looking up where to vote.-abVotingLocationFinderURL :: Lens' AdministrativeBody (Maybe Text)-abVotingLocationFinderURL-  = lens _abVotingLocationFinderURL-      (\ s a -> s{_abVotingLocationFinderURL = a})---- | The election officials for this election administrative body.-abElectionOfficials :: Lens' AdministrativeBody [ElectionOfficial]-abElectionOfficials-  = lens _abElectionOfficials-      (\ s a -> s{_abElectionOfficials = a})-      . _Default-      . _Coerce---- | The name of this election administrative body.-abName :: Lens' AdministrativeBody (Maybe Text)-abName = lens _abName (\ s a -> s{_abName = a})---- | A URL provided by this administrative body describing election rules to--- the voter.-abElectionRulesURL :: Lens' AdministrativeBody (Maybe Text)-abElectionRulesURL-  = lens _abElectionRulesURL-      (\ s a -> s{_abElectionRulesURL = a})--abAddressLines :: Lens' AdministrativeBody [Text]-abAddressLines-  = lens _abAddressLines-      (\ s a -> s{_abAddressLines = a})-      . _Default-      . _Coerce---- | A description of the services this administrative body may provide.-abVoterServices :: Lens' AdministrativeBody [Text]-abVoterServices-  = lens _abVoterServices-      (\ s a -> s{_abVoterServices = a})-      . _Default-      . _Coerce---- | A URL provided by this administrative body for looking up how to--- register to vote.-abElectionRegistrationURL :: Lens' AdministrativeBody (Maybe Text)-abElectionRegistrationURL-  = lens _abElectionRegistrationURL-      (\ s a -> s{_abElectionRegistrationURL = a})--instance FromJSON AdministrativeBody where-        parseJSON-          = withObject "AdministrativeBody"-              (\ o ->-                 AdministrativeBody' <$>-                   (o .:? "correspondenceAddress") <*>-                     (o .:? "absenteeVotingInfoUrl")-                     <*> (o .:? "hoursOfOperation")-                     <*> (o .:? "ballotInfoUrl")-                     <*> (o .:? "physicalAddress")-                     <*> (o .:? "electionRegistrationConfirmationUrl")-                     <*> (o .:? "electionInfoUrl")-                     <*> (o .:? "votingLocationFinderUrl")-                     <*> (o .:? "electionOfficials" .!= mempty)-                     <*> (o .:? "name")-                     <*> (o .:? "electionRulesUrl")-                     <*> (o .:? "addressLines" .!= mempty)-                     <*> (o .:? "voter_services" .!= mempty)-                     <*> (o .:? "electionRegistrationUrl"))--instance ToJSON AdministrativeBody where-        toJSON AdministrativeBody'{..}-          = object-              (catMaybes-                 [("correspondenceAddress" .=) <$>-                    _abCorrespondenceAddress,-                  ("absenteeVotingInfoUrl" .=) <$>-                    _abAbsenteeVotingInfoURL,-                  ("hoursOfOperation" .=) <$> _abHoursOfOperation,-                  ("ballotInfoUrl" .=) <$> _abBallotInfoURL,-                  ("physicalAddress" .=) <$> _abPhysicalAddress,-                  ("electionRegistrationConfirmationUrl" .=) <$>-                    _abElectionRegistrationConfirmationURL,-                  ("electionInfoUrl" .=) <$> _abElectionInfoURL,-                  ("votingLocationFinderUrl" .=) <$>-                    _abVotingLocationFinderURL,-                  ("electionOfficials" .=) <$> _abElectionOfficials,-                  ("name" .=) <$> _abName,-                  ("electionRulesUrl" .=) <$> _abElectionRulesURL,-                  ("addressLines" .=) <$> _abAddressLines,-                  ("voter_services" .=) <$> _abVoterServices,-                  ("electionRegistrationUrl" .=) <$>-                    _abElectionRegistrationURL])---- | A request for political geography and representative information for an--- address.------ /See:/ 'representativeInfoRequest' smart constructor.-newtype RepresentativeInfoRequest =-  RepresentativeInfoRequest'-    { _rirContextParams :: Maybe ContextParams-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RepresentativeInfoRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rirContextParams'-representativeInfoRequest-    :: RepresentativeInfoRequest-representativeInfoRequest =-  RepresentativeInfoRequest' {_rirContextParams = Nothing}---rirContextParams :: Lens' RepresentativeInfoRequest (Maybe ContextParams)-rirContextParams-  = lens _rirContextParams-      (\ s a -> s{_rirContextParams = a})--instance FromJSON RepresentativeInfoRequest where-        parseJSON-          = withObject "RepresentativeInfoRequest"-              (\ o ->-                 RepresentativeInfoRequest' <$>-                   (o .:? "contextParams"))--instance ToJSON RepresentativeInfoRequest where-        toJSON RepresentativeInfoRequest'{..}-          = object-              (catMaybes-                 [("contextParams" .=) <$> _rirContextParams])---- | Information about a contest that appears on a voter\'s ballot.------ /See:/ 'contest' smart constructor.-data Contest =-  Contest'-    { _conReferendumPassageThreshold :: !(Maybe Text)-    , _conRoles                      :: !(Maybe [Text])-    , _conReferendumURL              :: !(Maybe Text)-    , _conReferendumEffectOfAbstain  :: !(Maybe Text)-    , _conReferendumSubtitle         :: !(Maybe Text)-    , _conNumberVotingFor            :: !(Maybe (Textual Int64))-    , _conOffice                     :: !(Maybe Text)-    , _conReferendumConStatement     :: !(Maybe Text)-    , _conSources                    :: !(Maybe [Source])-    , _conReferendumProStatement     :: !(Maybe Text)-    , _conReferendumBallotResponses  :: !(Maybe [Text])-    , _conNumberElected              :: !(Maybe (Textual Int64))-    , _conSpecial                    :: !(Maybe Text)-    , _conReferendumText             :: !(Maybe Text)-    , _conPrimaryParty               :: !(Maybe Text)-    , _conId                         :: !(Maybe Text)-    , _conType                       :: !(Maybe Text)-    , _conBallotTitle                :: !(Maybe Text)-    , _conElectorateSpecifications   :: !(Maybe Text)-    , _conReferendumBrief            :: !(Maybe Text)-    , _conDistrict                   :: !(Maybe ElectoralDistrict)-    , _conLevel                      :: !(Maybe [Text])-    , _conCandidates                 :: !(Maybe [Candidate])-    , _conReferendumTitle            :: !(Maybe Text)-    , _conBallotPlacement            :: !(Maybe (Textual Int64))-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Contest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'conReferendumPassageThreshold'------ * 'conRoles'------ * 'conReferendumURL'------ * 'conReferendumEffectOfAbstain'------ * 'conReferendumSubtitle'------ * 'conNumberVotingFor'------ * 'conOffice'------ * 'conReferendumConStatement'------ * 'conSources'------ * 'conReferendumProStatement'------ * 'conReferendumBallotResponses'------ * 'conNumberElected'------ * 'conSpecial'------ * 'conReferendumText'------ * 'conPrimaryParty'------ * 'conId'------ * 'conType'------ * 'conBallotTitle'------ * 'conElectorateSpecifications'------ * 'conReferendumBrief'------ * 'conDistrict'------ * 'conLevel'------ * 'conCandidates'------ * 'conReferendumTitle'------ * 'conBallotPlacement'-contest-    :: Contest-contest =-  Contest'-    { _conReferendumPassageThreshold = Nothing-    , _conRoles = Nothing-    , _conReferendumURL = Nothing-    , _conReferendumEffectOfAbstain = Nothing-    , _conReferendumSubtitle = Nothing-    , _conNumberVotingFor = Nothing-    , _conOffice = Nothing-    , _conReferendumConStatement = Nothing-    , _conSources = Nothing-    , _conReferendumProStatement = Nothing-    , _conReferendumBallotResponses = Nothing-    , _conNumberElected = Nothing-    , _conSpecial = Nothing-    , _conReferendumText = Nothing-    , _conPrimaryParty = Nothing-    , _conId = Nothing-    , _conType = Nothing-    , _conBallotTitle = Nothing-    , _conElectorateSpecifications = Nothing-    , _conReferendumBrief = Nothing-    , _conDistrict = Nothing-    , _conLevel = Nothing-    , _conCandidates = Nothing-    , _conReferendumTitle = Nothing-    , _conBallotPlacement = Nothing-    }----- | The threshold of votes that the referendum needs in order to pass, e.g.--- \"two-thirds\". This field is only populated for contests of type--- \'Referendum\'.-conReferendumPassageThreshold :: Lens' Contest (Maybe Text)-conReferendumPassageThreshold-  = lens _conReferendumPassageThreshold-      (\ s a -> s{_conReferendumPassageThreshold = a})---- | The roles which this office fulfills.-conRoles :: Lens' Contest [Text]-conRoles-  = lens _conRoles (\ s a -> s{_conRoles = a}) .-      _Default-      . _Coerce---- | A link to the referendum. This field is only populated for contests of--- type \'Referendum\'.-conReferendumURL :: Lens' Contest (Maybe Text)-conReferendumURL-  = lens _conReferendumURL-      (\ s a -> s{_conReferendumURL = a})---- | Specifies what effect abstaining (not voting) on the proposition will--- have (i.e. whether abstaining is considered a vote against it). This--- field is only populated for contests of type \'Referendum\'.-conReferendumEffectOfAbstain :: Lens' Contest (Maybe Text)-conReferendumEffectOfAbstain-  = lens _conReferendumEffectOfAbstain-      (\ s a -> s{_conReferendumEffectOfAbstain = a})---- | A brief description of the referendum. This field is only populated for--- contests of type \'Referendum\'.-conReferendumSubtitle :: Lens' Contest (Maybe Text)-conReferendumSubtitle-  = lens _conReferendumSubtitle-      (\ s a -> s{_conReferendumSubtitle = a})---- | The number of candidates that a voter may vote for in this contest.-conNumberVotingFor :: Lens' Contest (Maybe Int64)-conNumberVotingFor-  = lens _conNumberVotingFor-      (\ s a -> s{_conNumberVotingFor = a})-      . mapping _Coerce---- | The name of the office for this contest.-conOffice :: Lens' Contest (Maybe Text)-conOffice-  = lens _conOffice (\ s a -> s{_conOffice = a})---- | A statement in opposition to the referendum. It does not necessarily--- appear on the ballot. This field is only populated for contests of type--- \'Referendum\'.-conReferendumConStatement :: Lens' Contest (Maybe Text)-conReferendumConStatement-  = lens _conReferendumConStatement-      (\ s a -> s{_conReferendumConStatement = a})---- | A list of sources for this contest. If multiple sources are listed, the--- data has been aggregated from those sources.-conSources :: Lens' Contest [Source]-conSources-  = lens _conSources (\ s a -> s{_conSources = a}) .-      _Default-      . _Coerce---- | A statement in favor of the referendum. It does not necessarily appear--- on the ballot. This field is only populated for contests of type--- \'Referendum\'.-conReferendumProStatement :: Lens' Contest (Maybe Text)-conReferendumProStatement-  = lens _conReferendumProStatement-      (\ s a -> s{_conReferendumProStatement = a})---- | The set of ballot responses for the referendum. A ballot response--- represents a line on the ballot. Common examples might include \"yes\"--- or \"no\" for referenda. This field is only populated for contests of--- type \'Referendum\'.-conReferendumBallotResponses :: Lens' Contest [Text]-conReferendumBallotResponses-  = lens _conReferendumBallotResponses-      (\ s a -> s{_conReferendumBallotResponses = a})-      . _Default-      . _Coerce---- | The number of candidates that will be elected to office in this contest.-conNumberElected :: Lens' Contest (Maybe Int64)-conNumberElected-  = lens _conNumberElected-      (\ s a -> s{_conNumberElected = a})-      . mapping _Coerce---- | \"Yes\" or \"No\" depending on whether this a contest being held outside--- the normal election cycle.-conSpecial :: Lens' Contest (Maybe Text)-conSpecial-  = lens _conSpecial (\ s a -> s{_conSpecial = a})---- | The full text of the referendum. This field is only populated for--- contests of type \'Referendum\'.-conReferendumText :: Lens' Contest (Maybe Text)-conReferendumText-  = lens _conReferendumText-      (\ s a -> s{_conReferendumText = a})---- | If this is a partisan election, the name of the party it is for.-conPrimaryParty :: Lens' Contest (Maybe Text)-conPrimaryParty-  = lens _conPrimaryParty-      (\ s a -> s{_conPrimaryParty = a})---- | An ID for this object. IDs may change in future requests and should not--- be cached. Access to this field requires special access that can be--- requested from the Request more link on the Quotas page.-conId :: Lens' Contest (Maybe Text)-conId = lens _conId (\ s a -> s{_conId = a})---- | The type of contest. Usually this will be \'General\', \'Primary\', or--- \'Run-off\' for contests with candidates. For referenda this will be--- \'Referendum\'. For Retention contests this will typically be--- \'Retention\'.-conType :: Lens' Contest (Maybe Text)-conType = lens _conType (\ s a -> s{_conType = a})---- | The official title on the ballot for this contest, only where available.-conBallotTitle :: Lens' Contest (Maybe Text)-conBallotTitle-  = lens _conBallotTitle-      (\ s a -> s{_conBallotTitle = a})---- | A description of any additional eligibility requirements for voting in--- this contest.-conElectorateSpecifications :: Lens' Contest (Maybe Text)-conElectorateSpecifications-  = lens _conElectorateSpecifications-      (\ s a -> s{_conElectorateSpecifications = a})---- | Specifies a short summary of the referendum that is typically on the--- ballot below the title but above the text. This field is only populated--- for contests of type \'Referendum\'.-conReferendumBrief :: Lens' Contest (Maybe Text)-conReferendumBrief-  = lens _conReferendumBrief-      (\ s a -> s{_conReferendumBrief = a})---- | Information about the electoral district that this contest is in.-conDistrict :: Lens' Contest (Maybe ElectoralDistrict)-conDistrict-  = lens _conDistrict (\ s a -> s{_conDistrict = a})---- | The levels of government of the office for this contest. There may be--- more than one in cases where a jurisdiction effectively acts at two--- different levels of government; for example, the mayor of the District--- of Columbia acts at \"locality\" level, but also effectively at both--- \"administrative-area-2\" and \"administrative-area-1\".-conLevel :: Lens' Contest [Text]-conLevel-  = lens _conLevel (\ s a -> s{_conLevel = a}) .-      _Default-      . _Coerce---- | The candidate choices for this contest.-conCandidates :: Lens' Contest [Candidate]-conCandidates-  = lens _conCandidates-      (\ s a -> s{_conCandidates = a})-      . _Default-      . _Coerce---- | The title of the referendum (e.g. \'Proposition 42\'). This field is--- only populated for contests of type \'Referendum\'.-conReferendumTitle :: Lens' Contest (Maybe Text)-conReferendumTitle-  = lens _conReferendumTitle-      (\ s a -> s{_conReferendumTitle = a})---- | A number specifying the position of this contest on the voter\'s ballot.-conBallotPlacement :: Lens' Contest (Maybe Int64)-conBallotPlacement-  = lens _conBallotPlacement-      (\ s a -> s{_conBallotPlacement = a})-      . mapping _Coerce--instance FromJSON Contest where-        parseJSON-          = withObject "Contest"-              (\ o ->-                 Contest' <$>-                   (o .:? "referendumPassageThreshold") <*>-                     (o .:? "roles" .!= mempty)-                     <*> (o .:? "referendumUrl")-                     <*> (o .:? "referendumEffectOfAbstain")-                     <*> (o .:? "referendumSubtitle")-                     <*> (o .:? "numberVotingFor")-                     <*> (o .:? "office")-                     <*> (o .:? "referendumConStatement")-                     <*> (o .:? "sources" .!= mempty)-                     <*> (o .:? "referendumProStatement")-                     <*> (o .:? "referendumBallotResponses" .!= mempty)-                     <*> (o .:? "numberElected")-                     <*> (o .:? "special")-                     <*> (o .:? "referendumText")-                     <*> (o .:? "primaryParty")-                     <*> (o .:? "id")-                     <*> (o .:? "type")-                     <*> (o .:? "ballotTitle")-                     <*> (o .:? "electorateSpecifications")-                     <*> (o .:? "referendumBrief")-                     <*> (o .:? "district")-                     <*> (o .:? "level" .!= mempty)-                     <*> (o .:? "candidates" .!= mempty)-                     <*> (o .:? "referendumTitle")-                     <*> (o .:? "ballotPlacement"))--instance ToJSON Contest where-        toJSON Contest'{..}-          = object-              (catMaybes-                 [("referendumPassageThreshold" .=) <$>-                    _conReferendumPassageThreshold,-                  ("roles" .=) <$> _conRoles,-                  ("referendumUrl" .=) <$> _conReferendumURL,-                  ("referendumEffectOfAbstain" .=) <$>-                    _conReferendumEffectOfAbstain,-                  ("referendumSubtitle" .=) <$> _conReferendumSubtitle,-                  ("numberVotingFor" .=) <$> _conNumberVotingFor,-                  ("office" .=) <$> _conOffice,-                  ("referendumConStatement" .=) <$>-                    _conReferendumConStatement,-                  ("sources" .=) <$> _conSources,-                  ("referendumProStatement" .=) <$>-                    _conReferendumProStatement,-                  ("referendumBallotResponses" .=) <$>-                    _conReferendumBallotResponses,-                  ("numberElected" .=) <$> _conNumberElected,-                  ("special" .=) <$> _conSpecial,-                  ("referendumText" .=) <$> _conReferendumText,-                  ("primaryParty" .=) <$> _conPrimaryParty,-                  ("id" .=) <$> _conId, ("type" .=) <$> _conType,-                  ("ballotTitle" .=) <$> _conBallotTitle,-                  ("electorateSpecifications" .=) <$>-                    _conElectorateSpecifications,-                  ("referendumBrief" .=) <$> _conReferendumBrief,-                  ("district" .=) <$> _conDistrict,-                  ("level" .=) <$> _conLevel,-                  ("candidates" .=) <$> _conCandidates,-                  ("referendumTitle" .=) <$> _conReferendumTitle,-                  ("ballotPlacement" .=) <$> _conBallotPlacement])---- | The result of a division search query.------ /See:/ 'divisionSearchResponse' smart constructor.-data DivisionSearchResponse =-  DivisionSearchResponse'-    { _dsrResults :: !(Maybe [DivisionSearchResult])-    , _dsrKind    :: !Text-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DivisionSearchResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dsrResults'------ * 'dsrKind'-divisionSearchResponse-    :: DivisionSearchResponse-divisionSearchResponse =-  DivisionSearchResponse'-    {_dsrResults = Nothing, _dsrKind = "civicinfo#divisionSearchResponse"}---dsrResults :: Lens' DivisionSearchResponse [DivisionSearchResult]-dsrResults-  = lens _dsrResults (\ s a -> s{_dsrResults = a}) .-      _Default-      . _Coerce---- | Identifies what kind of resource this is. Value: the fixed string--- \"civicinfo#divisionSearchResponse\".-dsrKind :: Lens' DivisionSearchResponse Text-dsrKind = lens _dsrKind (\ s a -> s{_dsrKind = a})--instance FromJSON DivisionSearchResponse where-        parseJSON-          = withObject "DivisionSearchResponse"-              (\ o ->-                 DivisionSearchResponse' <$>-                   (o .:? "results" .!= mempty) <*>-                     (o .:? "kind" .!=-                        "civicinfo#divisionSearchResponse"))--instance ToJSON DivisionSearchResponse where-        toJSON DivisionSearchResponse'{..}-          = object-              (catMaybes-                 [("results" .=) <$> _dsrResults,-                  Just ("kind" .= _dsrKind)])---- | Political geographic divisions that contain the requested address.------ /See:/ 'representativeInfoDataDivisions' smart constructor.-newtype RepresentativeInfoDataDivisions =-  RepresentativeInfoDataDivisions'-    { _riddAddtional :: HashMap Text GeographicDivision-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RepresentativeInfoDataDivisions' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'riddAddtional'-representativeInfoDataDivisions-    :: HashMap Text GeographicDivision -- ^ 'riddAddtional'-    -> RepresentativeInfoDataDivisions-representativeInfoDataDivisions pRiddAddtional_ =-  RepresentativeInfoDataDivisions' {_riddAddtional = _Coerce # pRiddAddtional_}----- | The unique Open Civic Data identifier for this division.-riddAddtional :: Lens' RepresentativeInfoDataDivisions (HashMap Text GeographicDivision)-riddAddtional-  = lens _riddAddtional-      (\ s a -> s{_riddAddtional = a})-      . _Coerce--instance FromJSON RepresentativeInfoDataDivisions-         where-        parseJSON-          = withObject "RepresentativeInfoDataDivisions"-              (\ o ->-                 RepresentativeInfoDataDivisions' <$>-                   (parseJSONObject o))--instance ToJSON RepresentativeInfoDataDivisions where-        toJSON = toJSON . _riddAddtional---- | Information about individual election officials.------ /See:/ 'electionOfficial' smart constructor.-data ElectionOfficial =-  ElectionOfficial'-    { _eoFaxNumber         :: !(Maybe Text)-    , _eoName              :: !(Maybe Text)-    , _eoOfficePhoneNumber :: !(Maybe Text)-    , _eoEmailAddress      :: !(Maybe Text)-    , _eoTitle             :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ElectionOfficial' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eoFaxNumber'------ * 'eoName'------ * 'eoOfficePhoneNumber'------ * 'eoEmailAddress'------ * 'eoTitle'-electionOfficial-    :: ElectionOfficial-electionOfficial =-  ElectionOfficial'-    { _eoFaxNumber = Nothing-    , _eoName = Nothing-    , _eoOfficePhoneNumber = Nothing-    , _eoEmailAddress = Nothing-    , _eoTitle = Nothing-    }----- | The fax number of the election official.-eoFaxNumber :: Lens' ElectionOfficial (Maybe Text)-eoFaxNumber-  = lens _eoFaxNumber (\ s a -> s{_eoFaxNumber = a})---- | The full name of the election official.-eoName :: Lens' ElectionOfficial (Maybe Text)-eoName = lens _eoName (\ s a -> s{_eoName = a})---- | The office phone number of the election official.-eoOfficePhoneNumber :: Lens' ElectionOfficial (Maybe Text)-eoOfficePhoneNumber-  = lens _eoOfficePhoneNumber-      (\ s a -> s{_eoOfficePhoneNumber = a})---- | The email address of the election official.-eoEmailAddress :: Lens' ElectionOfficial (Maybe Text)-eoEmailAddress-  = lens _eoEmailAddress-      (\ s a -> s{_eoEmailAddress = a})---- | The title of the election official.-eoTitle :: Lens' ElectionOfficial (Maybe Text)-eoTitle = lens _eoTitle (\ s a -> s{_eoTitle = a})--instance FromJSON ElectionOfficial where-        parseJSON-          = withObject "ElectionOfficial"-              (\ o ->-                 ElectionOfficial' <$>-                   (o .:? "faxNumber") <*> (o .:? "name") <*>-                     (o .:? "officePhoneNumber")-                     <*> (o .:? "emailAddress")-                     <*> (o .:? "title"))--instance ToJSON ElectionOfficial where-        toJSON ElectionOfficial'{..}-          = object-              (catMaybes-                 [("faxNumber" .=) <$> _eoFaxNumber,-                  ("name" .=) <$> _eoName,-                  ("officePhoneNumber" .=) <$> _eoOfficePhoneNumber,-                  ("emailAddress" .=) <$> _eoEmailAddress,-                  ("title" .=) <$> _eoTitle])------- /See:/ 'pointProto' smart constructor.-data PointProto =-  PointProto'-    { _ppLatE7         :: !(Maybe (Textual Word32))-    , _ppLngE7         :: !(Maybe (Textual Word32))-    , _ppMetadata      :: !(Maybe FieldMetadataProto)-    , _ppTemporaryData :: !(Maybe MessageSet)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'PointProto' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ppLatE7'------ * 'ppLngE7'------ * 'ppMetadata'------ * 'ppTemporaryData'-pointProto-    :: PointProto-pointProto =-  PointProto'-    { _ppLatE7 = Nothing-    , _ppLngE7 = Nothing-    , _ppMetadata = Nothing-    , _ppTemporaryData = Nothing-    }---ppLatE7 :: Lens' PointProto (Maybe Word32)-ppLatE7-  = lens _ppLatE7 (\ s a -> s{_ppLatE7 = a}) .-      mapping _Coerce--ppLngE7 :: Lens' PointProto (Maybe Word32)-ppLngE7-  = lens _ppLngE7 (\ s a -> s{_ppLngE7 = a}) .-      mapping _Coerce--ppMetadata :: Lens' PointProto (Maybe FieldMetadataProto)-ppMetadata-  = lens _ppMetadata (\ s a -> s{_ppMetadata = a})--ppTemporaryData :: Lens' PointProto (Maybe MessageSet)-ppTemporaryData-  = lens _ppTemporaryData-      (\ s a -> s{_ppTemporaryData = a})--instance FromJSON PointProto where-        parseJSON-          = withObject "PointProto"-              (\ o ->-                 PointProto' <$>-                   (o .:? "latE7") <*> (o .:? "lngE7") <*>-                     (o .:? "metadata")-                     <*> (o .:? "temporaryData"))--instance ToJSON PointProto where-        toJSON PointProto'{..}-          = object-              (catMaybes-                 [("latE7" .=) <$> _ppLatE7,-                  ("lngE7" .=) <$> _ppLngE7,-                  ("metadata" .=) <$> _ppMetadata,-                  ("temporaryData" .=) <$> _ppTemporaryData])------- /See:/ 'representativeInfoData' smart constructor.-data RepresentativeInfoData =-  RepresentativeInfoData'-    { _ridOfficials :: !(Maybe [Official])-    , _ridDivisions :: !(Maybe RepresentativeInfoDataDivisions)-    , _ridOffices   :: !(Maybe [Office])-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RepresentativeInfoData' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ridOfficials'------ * 'ridDivisions'------ * 'ridOffices'-representativeInfoData-    :: RepresentativeInfoData-representativeInfoData =-  RepresentativeInfoData'-    {_ridOfficials = Nothing, _ridDivisions = Nothing, _ridOffices = Nothing}----- | Officials holding the offices listed above. Will only be present if--- includeOffices was true in the request.-ridOfficials :: Lens' RepresentativeInfoData [Official]-ridOfficials-  = lens _ridOfficials (\ s a -> s{_ridOfficials = a})-      . _Default-      . _Coerce---- | Political geographic divisions that contain the requested address.-ridDivisions :: Lens' RepresentativeInfoData (Maybe RepresentativeInfoDataDivisions)-ridDivisions-  = lens _ridDivisions (\ s a -> s{_ridDivisions = a})---- | Elected offices referenced by the divisions listed above. Will only be--- present if includeOffices was true in the request.-ridOffices :: Lens' RepresentativeInfoData [Office]-ridOffices-  = lens _ridOffices (\ s a -> s{_ridOffices = a}) .-      _Default-      . _Coerce--instance FromJSON RepresentativeInfoData where-        parseJSON-          = withObject "RepresentativeInfoData"-              (\ o ->-                 RepresentativeInfoData' <$>-                   (o .:? "officials" .!= mempty) <*>-                     (o .:? "divisions")-                     <*> (o .:? "offices" .!= mempty))--instance ToJSON RepresentativeInfoData where-        toJSON RepresentativeInfoData'{..}-          = object-              (catMaybes-                 [("officials" .=) <$> _ridOfficials,-                  ("divisions" .=) <$> _ridDivisions,-                  ("offices" .=) <$> _ridOffices])---- | Contains information about the data source for the element containing--- it.------ /See:/ 'source' smart constructor.-data Source =-  Source'-    { _sName     :: !(Maybe Text)-    , _sOfficial :: !(Maybe Bool)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Source' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sName'------ * 'sOfficial'-source-    :: Source-source = Source' {_sName = Nothing, _sOfficial = Nothing}----- | The name of the data source.-sName :: Lens' Source (Maybe Text)-sName = lens _sName (\ s a -> s{_sName = a})---- | Whether this data comes from an official government source.-sOfficial :: Lens' Source (Maybe Bool)-sOfficial-  = lens _sOfficial (\ s a -> s{_sOfficial = a})--instance FromJSON Source where-        parseJSON-          = withObject "Source"-              (\ o ->-                 Source' <$> (o .:? "name") <*> (o .:? "official"))--instance ToJSON Source where-        toJSON Source'{..}-          = object-              (catMaybes-                 [("name" .=) <$> _sName,-                  ("official" .=) <$> _sOfficial])---- | A request to look up representative information for a single division.------ /See:/ 'divisionRepresentativeInfoRequest' smart constructor.-newtype DivisionRepresentativeInfoRequest =-  DivisionRepresentativeInfoRequest'-    { _drirContextParams :: Maybe ContextParams-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DivisionRepresentativeInfoRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'drirContextParams'-divisionRepresentativeInfoRequest-    :: DivisionRepresentativeInfoRequest-divisionRepresentativeInfoRequest =-  DivisionRepresentativeInfoRequest' {_drirContextParams = Nothing}---drirContextParams :: Lens' DivisionRepresentativeInfoRequest (Maybe ContextParams)-drirContextParams-  = lens _drirContextParams-      (\ s a -> s{_drirContextParams = a})--instance FromJSON DivisionRepresentativeInfoRequest-         where-        parseJSON-          = withObject "DivisionRepresentativeInfoRequest"-              (\ o ->-                 DivisionRepresentativeInfoRequest' <$>-                   (o .:? "contextParams"))--instance ToJSON DivisionRepresentativeInfoRequest-         where-        toJSON DivisionRepresentativeInfoRequest'{..}-          = object-              (catMaybes-                 [("contextParams" .=) <$> _drirContextParams])---- | Describes the geographic scope of a contest.------ /See:/ 'electoralDistrict' smart constructor.-data ElectoralDistrict =-  ElectoralDistrict'-    { _edKgForeignKey :: !(Maybe Text)-    , _edName         :: !(Maybe Text)-    , _edScope        :: !(Maybe Text)-    , _edId           :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ElectoralDistrict' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'edKgForeignKey'------ * 'edName'------ * 'edScope'------ * 'edId'-electoralDistrict-    :: ElectoralDistrict-electoralDistrict =-  ElectoralDistrict'-    { _edKgForeignKey = Nothing-    , _edName = Nothing-    , _edScope = Nothing-    , _edId = Nothing-    }---edKgForeignKey :: Lens' ElectoralDistrict (Maybe Text)-edKgForeignKey-  = lens _edKgForeignKey-      (\ s a -> s{_edKgForeignKey = a})---- | The name of the district.-edName :: Lens' ElectoralDistrict (Maybe Text)-edName = lens _edName (\ s a -> s{_edName = a})---- | The geographic scope of this district. If unspecified the district\'s--- geography is not known. One of: national, statewide, congressional,--- stateUpper, stateLower, countywide, judicial, schoolBoard, cityWide,--- township, countyCouncil, cityCouncil, ward, special-edScope :: Lens' ElectoralDistrict (Maybe Text)-edScope = lens _edScope (\ s a -> s{_edScope = a})---- | An identifier for this district, relative to its scope. For example, the--- 34th State Senate district would have id \"34\" and a scope of--- stateUpper.-edId :: Lens' ElectoralDistrict (Maybe Text)-edId = lens _edId (\ s a -> s{_edId = a})--instance FromJSON ElectoralDistrict where-        parseJSON-          = withObject "ElectoralDistrict"-              (\ o ->-                 ElectoralDistrict' <$>-                   (o .:? "kgForeignKey") <*> (o .:? "name") <*>-                     (o .:? "scope")-                     <*> (o .:? "id"))--instance ToJSON ElectoralDistrict where-        toJSON ElectoralDistrict'{..}-          = object-              (catMaybes-                 [("kgForeignKey" .=) <$> _edKgForeignKey,-                  ("name" .=) <$> _edName, ("scope" .=) <$> _edScope,-                  ("id" .=) <$> _edId])---- | A request for information about a voter.------ /See:/ 'voterInfoRequest' smart constructor.-data VoterInfoRequest =-  VoterInfoRequest'-    { _virVoterInfoSegmentResult :: !(Maybe VoterInfoSegmentResult)-    , _virContextParams          :: !(Maybe ContextParams)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'VoterInfoRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'virVoterInfoSegmentResult'------ * 'virContextParams'-voterInfoRequest-    :: VoterInfoRequest-voterInfoRequest =-  VoterInfoRequest'-    {_virVoterInfoSegmentResult = Nothing, _virContextParams = Nothing}---virVoterInfoSegmentResult :: Lens' VoterInfoRequest (Maybe VoterInfoSegmentResult)-virVoterInfoSegmentResult-  = lens _virVoterInfoSegmentResult-      (\ s a -> s{_virVoterInfoSegmentResult = a})--virContextParams :: Lens' VoterInfoRequest (Maybe ContextParams)-virContextParams-  = lens _virContextParams-      (\ s a -> s{_virContextParams = a})--instance FromJSON VoterInfoRequest where-        parseJSON-          = withObject "VoterInfoRequest"-              (\ o ->-                 VoterInfoRequest' <$>-                   (o .:? "voterInfoSegmentResult") <*>-                     (o .:? "contextParams"))--instance ToJSON VoterInfoRequest where-        toJSON VoterInfoRequest'{..}-          = object-              (catMaybes-                 [("voterInfoSegmentResult" .=) <$>-                    _virVoterInfoSegmentResult,-                  ("contextParams" .=) <$> _virContextParams])---- | A simple representation of an address.------ /See:/ 'simpleAddressType' smart constructor.-data SimpleAddressType =-  SimpleAddressType'-    { _satLine2        :: !(Maybe Text)-    , _satState        :: !(Maybe Text)-    , _satLine3        :: !(Maybe Text)-    , _satZip          :: !(Maybe Text)-    , _satCity         :: !(Maybe Text)-    , _satLine1        :: !(Maybe Text)-    , _satLocationName :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SimpleAddressType' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'satLine2'------ * 'satState'------ * 'satLine3'------ * 'satZip'------ * 'satCity'------ * 'satLine1'------ * 'satLocationName'-simpleAddressType-    :: SimpleAddressType-simpleAddressType =-  SimpleAddressType'-    { _satLine2 = Nothing-    , _satState = Nothing-    , _satLine3 = Nothing-    , _satZip = Nothing-    , _satCity = Nothing-    , _satLine1 = Nothing-    , _satLocationName = Nothing-    }----- | The second line the address, if needed.-satLine2 :: Lens' SimpleAddressType (Maybe Text)-satLine2 = lens _satLine2 (\ s a -> s{_satLine2 = a})---- | The US two letter state abbreviation of the address.-satState :: Lens' SimpleAddressType (Maybe Text)-satState = lens _satState (\ s a -> s{_satState = a})---- | The third line of the address, if needed.-satLine3 :: Lens' SimpleAddressType (Maybe Text)-satLine3 = lens _satLine3 (\ s a -> s{_satLine3 = a})---- | The US Postal Zip Code of the address.-satZip :: Lens' SimpleAddressType (Maybe Text)-satZip = lens _satZip (\ s a -> s{_satZip = a})---- | The city or town for the address.-satCity :: Lens' SimpleAddressType (Maybe Text)-satCity = lens _satCity (\ s a -> s{_satCity = a})---- | The street name and number of this address.-satLine1 :: Lens' SimpleAddressType (Maybe Text)-satLine1 = lens _satLine1 (\ s a -> s{_satLine1 = a})---- | The name of the location.-satLocationName :: Lens' SimpleAddressType (Maybe Text)-satLocationName-  = lens _satLocationName-      (\ s a -> s{_satLocationName = a})--instance FromJSON SimpleAddressType where-        parseJSON-          = withObject "SimpleAddressType"-              (\ o ->-                 SimpleAddressType' <$>-                   (o .:? "line2") <*> (o .:? "state") <*>-                     (o .:? "line3")-                     <*> (o .:? "zip")-                     <*> (o .:? "city")-                     <*> (o .:? "line1")-                     <*> (o .:? "locationName"))--instance ToJSON SimpleAddressType where-        toJSON SimpleAddressType'{..}-          = object-              (catMaybes-                 [("line2" .=) <$> _satLine2,-                  ("state" .=) <$> _satState,-                  ("line3" .=) <$> _satLine3, ("zip" .=) <$> _satZip,-                  ("city" .=) <$> _satCity, ("line1" .=) <$> _satLine1,-                  ("locationName" .=) <$> _satLocationName])------- /See:/ 'internalSourceSummaryProto' smart constructor.-data InternalSourceSummaryProto =-  InternalSourceSummaryProto'-    { _isspDataSet  :: !(Maybe Text)-    , _isspProvider :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'InternalSourceSummaryProto' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'isspDataSet'------ * 'isspProvider'-internalSourceSummaryProto-    :: InternalSourceSummaryProto-internalSourceSummaryProto =-  InternalSourceSummaryProto' {_isspDataSet = Nothing, _isspProvider = Nothing}---isspDataSet :: Lens' InternalSourceSummaryProto (Maybe Text)-isspDataSet-  = lens _isspDataSet (\ s a -> s{_isspDataSet = a})--isspProvider :: Lens' InternalSourceSummaryProto (Maybe Text)-isspProvider-  = lens _isspProvider (\ s a -> s{_isspProvider = a})--instance FromJSON InternalSourceSummaryProto where-        parseJSON-          = withObject "InternalSourceSummaryProto"-              (\ o ->-                 InternalSourceSummaryProto' <$>-                   (o .:? "dataset") <*> (o .:? "provider"))--instance ToJSON InternalSourceSummaryProto where-        toJSON InternalSourceSummaryProto'{..}-          = object-              (catMaybes-                 [("dataset" .=) <$> _isspDataSet,-                  ("provider" .=) <$> _isspProvider])------- /See:/ 'livegraphBacktraceRecordInfoExpInfo' smart constructor.-newtype LivegraphBacktraceRecordInfoExpInfo =-  LivegraphBacktraceRecordInfoExpInfo'-    { _lbrieiDeletedIns :: Maybe [Text]-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'LivegraphBacktraceRecordInfoExpInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lbrieiDeletedIns'-livegraphBacktraceRecordInfoExpInfo-    :: LivegraphBacktraceRecordInfoExpInfo-livegraphBacktraceRecordInfoExpInfo =-  LivegraphBacktraceRecordInfoExpInfo' {_lbrieiDeletedIns = Nothing}---lbrieiDeletedIns :: Lens' LivegraphBacktraceRecordInfoExpInfo [Text]-lbrieiDeletedIns-  = lens _lbrieiDeletedIns-      (\ s a -> s{_lbrieiDeletedIns = a})-      . _Default-      . _Coerce--instance FromJSON LivegraphBacktraceRecordInfoExpInfo-         where-        parseJSON-          = withObject "LivegraphBacktraceRecordInfoExpInfo"-              (\ o ->-                 LivegraphBacktraceRecordInfoExpInfo' <$>-                   (o .:? "deletedIns" .!= mempty))--instance ToJSON LivegraphBacktraceRecordInfoExpInfo-         where-        toJSON LivegraphBacktraceRecordInfoExpInfo'{..}-          = object-              (catMaybes [("deletedIns" .=) <$> _lbrieiDeletedIns])------- /See:/ 'contextParams' smart constructor.-newtype ContextParams =-  ContextParams'-    { _cpClientProFile :: Maybe Text-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ContextParams' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cpClientProFile'-contextParams-    :: ContextParams-contextParams = ContextParams' {_cpClientProFile = Nothing}---cpClientProFile :: Lens' ContextParams (Maybe Text)-cpClientProFile-  = lens _cpClientProFile-      (\ s a -> s{_cpClientProFile = a})--instance FromJSON ContextParams where-        parseJSON-          = withObject "ContextParams"-              (\ o -> ContextParams' <$> (o .:? "clientProfile"))--instance ToJSON ContextParams where-        toJSON ContextParams'{..}-          = object-              (catMaybes-                 [("clientProfile" .=) <$> _cpClientProFile])------- /See:/ 'postalAddress' smart constructor.-data PostalAddress =-  PostalAddress'-    { _paAdministrativeAreaName    :: !(Maybe Text)-    , _paRecipientName             :: !(Maybe Text)-    , _paLanguageCode              :: !(Maybe Text)-    , _paSortingCode               :: !(Maybe Text)-    , _paPremiseName               :: !(Maybe Text)-    , _paPostalCodeNumberExtension :: !(Maybe Text)-    , _paCountryNameCode           :: !(Maybe Text)-    , _paSubAdministrativeAreaName :: !(Maybe Text)-    , _paPostBoxNumber             :: !(Maybe Text)-    , _paLocalityName              :: !(Maybe Text)-    , _paIsDisputed                :: !(Maybe Bool)-    , _paThoroughfareNumber        :: !(Maybe Text)-    , _paDependentLocalityName     :: !(Maybe Text)-    , _paFirmName                  :: !(Maybe Text)-    , _paCountryName               :: !(Maybe Text)-    , _paDependentThoroughfareName :: !(Maybe Text)-    , _paAddressLines              :: !(Maybe [Text])-    , _paPostalCodeNumber          :: !(Maybe Text)-    , _paThoroughfareName          :: !(Maybe Text)-    , _paSubPremiseName            :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'PostalAddress' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'paAdministrativeAreaName'------ * 'paRecipientName'------ * 'paLanguageCode'------ * 'paSortingCode'------ * 'paPremiseName'------ * 'paPostalCodeNumberExtension'------ * 'paCountryNameCode'------ * 'paSubAdministrativeAreaName'------ * 'paPostBoxNumber'------ * 'paLocalityName'------ * 'paIsDisputed'------ * 'paThoroughfareNumber'------ * 'paDependentLocalityName'------ * 'paFirmName'------ * 'paCountryName'------ * 'paDependentThoroughfareName'------ * 'paAddressLines'------ * 'paPostalCodeNumber'------ * 'paThoroughfareName'------ * 'paSubPremiseName'-postalAddress-    :: PostalAddress-postalAddress =-  PostalAddress'-    { _paAdministrativeAreaName = Nothing-    , _paRecipientName = Nothing-    , _paLanguageCode = Nothing-    , _paSortingCode = Nothing-    , _paPremiseName = Nothing-    , _paPostalCodeNumberExtension = Nothing-    , _paCountryNameCode = Nothing-    , _paSubAdministrativeAreaName = Nothing-    , _paPostBoxNumber = Nothing-    , _paLocalityName = Nothing-    , _paIsDisputed = Nothing-    , _paThoroughfareNumber = Nothing-    , _paDependentLocalityName = Nothing-    , _paFirmName = Nothing-    , _paCountryName = Nothing-    , _paDependentThoroughfareName = Nothing-    , _paAddressLines = Nothing-    , _paPostalCodeNumber = Nothing-    , _paThoroughfareName = Nothing-    , _paSubPremiseName = Nothing-    }---paAdministrativeAreaName :: Lens' PostalAddress (Maybe Text)-paAdministrativeAreaName-  = lens _paAdministrativeAreaName-      (\ s a -> s{_paAdministrativeAreaName = a})--paRecipientName :: Lens' PostalAddress (Maybe Text)-paRecipientName-  = lens _paRecipientName-      (\ s a -> s{_paRecipientName = a})--paLanguageCode :: Lens' PostalAddress (Maybe Text)-paLanguageCode-  = lens _paLanguageCode-      (\ s a -> s{_paLanguageCode = a})--paSortingCode :: Lens' PostalAddress (Maybe Text)-paSortingCode-  = lens _paSortingCode-      (\ s a -> s{_paSortingCode = a})--paPremiseName :: Lens' PostalAddress (Maybe Text)-paPremiseName-  = lens _paPremiseName-      (\ s a -> s{_paPremiseName = a})--paPostalCodeNumberExtension :: Lens' PostalAddress (Maybe Text)-paPostalCodeNumberExtension-  = lens _paPostalCodeNumberExtension-      (\ s a -> s{_paPostalCodeNumberExtension = a})--paCountryNameCode :: Lens' PostalAddress (Maybe Text)-paCountryNameCode-  = lens _paCountryNameCode-      (\ s a -> s{_paCountryNameCode = a})--paSubAdministrativeAreaName :: Lens' PostalAddress (Maybe Text)-paSubAdministrativeAreaName-  = lens _paSubAdministrativeAreaName-      (\ s a -> s{_paSubAdministrativeAreaName = a})--paPostBoxNumber :: Lens' PostalAddress (Maybe Text)-paPostBoxNumber-  = lens _paPostBoxNumber-      (\ s a -> s{_paPostBoxNumber = a})--paLocalityName :: Lens' PostalAddress (Maybe Text)-paLocalityName-  = lens _paLocalityName-      (\ s a -> s{_paLocalityName = a})--paIsDisputed :: Lens' PostalAddress (Maybe Bool)-paIsDisputed-  = lens _paIsDisputed (\ s a -> s{_paIsDisputed = a})--paThoroughfareNumber :: Lens' PostalAddress (Maybe Text)-paThoroughfareNumber-  = lens _paThoroughfareNumber-      (\ s a -> s{_paThoroughfareNumber = a})--paDependentLocalityName :: Lens' PostalAddress (Maybe Text)-paDependentLocalityName-  = lens _paDependentLocalityName-      (\ s a -> s{_paDependentLocalityName = a})--paFirmName :: Lens' PostalAddress (Maybe Text)-paFirmName-  = lens _paFirmName (\ s a -> s{_paFirmName = a})--paCountryName :: Lens' PostalAddress (Maybe Text)-paCountryName-  = lens _paCountryName-      (\ s a -> s{_paCountryName = a})--paDependentThoroughfareName :: Lens' PostalAddress (Maybe Text)-paDependentThoroughfareName-  = lens _paDependentThoroughfareName-      (\ s a -> s{_paDependentThoroughfareName = a})--paAddressLines :: Lens' PostalAddress [Text]-paAddressLines-  = lens _paAddressLines-      (\ s a -> s{_paAddressLines = a})-      . _Default-      . _Coerce--paPostalCodeNumber :: Lens' PostalAddress (Maybe Text)-paPostalCodeNumber-  = lens _paPostalCodeNumber-      (\ s a -> s{_paPostalCodeNumber = a})--paThoroughfareName :: Lens' PostalAddress (Maybe Text)-paThoroughfareName-  = lens _paThoroughfareName-      (\ s a -> s{_paThoroughfareName = a})--paSubPremiseName :: Lens' PostalAddress (Maybe Text)-paSubPremiseName-  = lens _paSubPremiseName-      (\ s a -> s{_paSubPremiseName = a})--instance FromJSON PostalAddress where-        parseJSON-          = withObject "PostalAddress"-              (\ o ->-                 PostalAddress' <$>-                   (o .:? "administrativeAreaName") <*>-                     (o .:? "recipientName")-                     <*> (o .:? "languageCode")-                     <*> (o .:? "sortingCode")-                     <*> (o .:? "premiseName")-                     <*> (o .:? "postalCodeNumberExtension")-                     <*> (o .:? "countryNameCode")-                     <*> (o .:? "subAdministrativeAreaName")-                     <*> (o .:? "postBoxNumber")-                     <*> (o .:? "localityName")-                     <*> (o .:? "isDisputed")-                     <*> (o .:? "thoroughfareNumber")-                     <*> (o .:? "dependentLocalityName")-                     <*> (o .:? "firmName")-                     <*> (o .:? "countryName")-                     <*> (o .:? "dependentThoroughfareName")-                     <*> (o .:? "addressLines" .!= mempty)-                     <*> (o .:? "postalCodeNumber")-                     <*> (o .:? "thoroughfareName")-                     <*> (o .:? "subPremiseName"))--instance ToJSON PostalAddress where-        toJSON PostalAddress'{..}-          = object-              (catMaybes-                 [("administrativeAreaName" .=) <$>-                    _paAdministrativeAreaName,-                  ("recipientName" .=) <$> _paRecipientName,-                  ("languageCode" .=) <$> _paLanguageCode,-                  ("sortingCode" .=) <$> _paSortingCode,-                  ("premiseName" .=) <$> _paPremiseName,-                  ("postalCodeNumberExtension" .=) <$>-                    _paPostalCodeNumberExtension,-                  ("countryNameCode" .=) <$> _paCountryNameCode,-                  ("subAdministrativeAreaName" .=) <$>-                    _paSubAdministrativeAreaName,-                  ("postBoxNumber" .=) <$> _paPostBoxNumber,-                  ("localityName" .=) <$> _paLocalityName,-                  ("isDisputed" .=) <$> _paIsDisputed,-                  ("thoroughfareNumber" .=) <$> _paThoroughfareNumber,-                  ("dependentLocalityName" .=) <$>-                    _paDependentLocalityName,-                  ("firmName" .=) <$> _paFirmName,-                  ("countryName" .=) <$> _paCountryName,-                  ("dependentThoroughfareName" .=) <$>-                    _paDependentThoroughfareName,-                  ("addressLines" .=) <$> _paAddressLines,-                  ("postalCodeNumber" .=) <$> _paPostalCodeNumber,-                  ("thoroughfareName" .=) <$> _paThoroughfareName,-                  ("subPremiseName" .=) <$> _paSubPremiseName])------- /See:/ 'internalFieldMetadataProto' smart constructor.-data InternalFieldMetadataProto =-  InternalFieldMetadataProto'-    { _ifmpSourceSummary :: !(Maybe InternalSourceSummaryProto)-    , _ifmpIsAuto        :: !(Maybe Bool)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'InternalFieldMetadataProto' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ifmpSourceSummary'------ * 'ifmpIsAuto'-internalFieldMetadataProto-    :: InternalFieldMetadataProto-internalFieldMetadataProto =-  InternalFieldMetadataProto'-    {_ifmpSourceSummary = Nothing, _ifmpIsAuto = Nothing}---ifmpSourceSummary :: Lens' InternalFieldMetadataProto (Maybe InternalSourceSummaryProto)-ifmpSourceSummary-  = lens _ifmpSourceSummary-      (\ s a -> s{_ifmpSourceSummary = a})--ifmpIsAuto :: Lens' InternalFieldMetadataProto (Maybe Bool)-ifmpIsAuto-  = lens _ifmpIsAuto (\ s a -> s{_ifmpIsAuto = a})--instance FromJSON InternalFieldMetadataProto where-        parseJSON-          = withObject "InternalFieldMetadataProto"-              (\ o ->-                 InternalFieldMetadataProto' <$>-                   (o .:? "sourceSummary") <*> (o .:? "isAuto"))--instance ToJSON InternalFieldMetadataProto where-        toJSON InternalFieldMetadataProto'{..}-          = object-              (catMaybes-                 [("sourceSummary" .=) <$> _ifmpSourceSummary,-                  ("isAuto" .=) <$> _ifmpIsAuto])---- | Describes information about a regional election administrative area.------ /See:/ 'administrationRegion' smart constructor.-data AdministrationRegion =-  AdministrationRegion'-    { _arLocalJurisdiction          :: !(Maybe AdministrationRegion)-    , _arSources                    :: !(Maybe [Source])-    , _arName                       :: !(Maybe Text)-    , _arElectionAdministrationBody :: !(Maybe AdministrativeBody)-    , _arId                         :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'AdministrationRegion' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'arLocalJurisdiction'------ * 'arSources'------ * 'arName'------ * 'arElectionAdministrationBody'------ * 'arId'-administrationRegion-    :: AdministrationRegion-administrationRegion =-  AdministrationRegion'-    { _arLocalJurisdiction = Nothing-    , _arSources = Nothing-    , _arName = Nothing-    , _arElectionAdministrationBody = Nothing-    , _arId = Nothing-    }----- | The city or county that provides election information for this voter.--- This object can have the same elements as state.-arLocalJurisdiction :: Lens' AdministrationRegion (Maybe AdministrationRegion)-arLocalJurisdiction-  = lens _arLocalJurisdiction-      (\ s a -> s{_arLocalJurisdiction = a})---- | A list of sources for this area. If multiple sources are listed the data--- has been aggregated from those sources.-arSources :: Lens' AdministrationRegion [Source]-arSources-  = lens _arSources (\ s a -> s{_arSources = a}) .-      _Default-      . _Coerce---- | The name of the jurisdiction.-arName :: Lens' AdministrationRegion (Maybe Text)-arName = lens _arName (\ s a -> s{_arName = a})---- | The election administration body for this area.-arElectionAdministrationBody :: Lens' AdministrationRegion (Maybe AdministrativeBody)-arElectionAdministrationBody-  = lens _arElectionAdministrationBody-      (\ s a -> s{_arElectionAdministrationBody = a})---- | An ID for this object. IDs may change in future requests and should not--- be cached. Access to this field requires special access that can be--- requested from the Request more link on the Quotas page.-arId :: Lens' AdministrationRegion (Maybe Text)-arId = lens _arId (\ s a -> s{_arId = a})--instance FromJSON AdministrationRegion where-        parseJSON-          = withObject "AdministrationRegion"-              (\ o ->-                 AdministrationRegion' <$>-                   (o .:? "local_jurisdiction") <*>-                     (o .:? "sources" .!= mempty)-                     <*> (o .:? "name")-                     <*> (o .:? "electionAdministrationBody")-                     <*> (o .:? "id"))--instance ToJSON AdministrationRegion where-        toJSON AdministrationRegion'{..}-          = object-              (catMaybes-                 [("local_jurisdiction" .=) <$> _arLocalJurisdiction,-                  ("sources" .=) <$> _arSources,-                  ("name" .=) <$> _arName,-                  ("electionAdministrationBody" .=) <$>-                    _arElectionAdministrationBody,-                  ("id" .=) <$> _arId])------- /See:/ 'provenance' smart constructor.-data Provenance =-  Provenance'-    { _pTsStreetSegmentId     :: !(Maybe Text)-    , _pVIPStreetSegmentId    :: !(Maybe (Textual Int64))-    , _pCollidedSegmentSource :: !(Maybe StreetSegmentList)-    , _pCtclContestUuid       :: !(Maybe Text)-    , _pDataSetId             :: !(Maybe (Textual Int64))-    , _pVIP5StreetSegmentId   :: !(Maybe Text)-    , _pCtclOfficeUuid        :: !(Maybe Text)-    , _pVIP5PrecinctId        :: !(Maybe Text)-    , _pPrecinctSplitId       :: !(Maybe (Textual Int64))-    , _pPrecinctId            :: !(Maybe (Textual Int64))-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Provenance' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pTsStreetSegmentId'------ * 'pVIPStreetSegmentId'------ * 'pCollidedSegmentSource'------ * 'pCtclContestUuid'------ * 'pDataSetId'------ * 'pVIP5StreetSegmentId'------ * 'pCtclOfficeUuid'------ * 'pVIP5PrecinctId'------ * 'pPrecinctSplitId'------ * 'pPrecinctId'-provenance-    :: Provenance-provenance =-  Provenance'-    { _pTsStreetSegmentId = Nothing-    , _pVIPStreetSegmentId = Nothing-    , _pCollidedSegmentSource = Nothing-    , _pCtclContestUuid = Nothing-    , _pDataSetId = Nothing-    , _pVIP5StreetSegmentId = Nothing-    , _pCtclOfficeUuid = Nothing-    , _pVIP5PrecinctId = Nothing-    , _pPrecinctSplitId = Nothing-    , _pPrecinctId = Nothing-    }---pTsStreetSegmentId :: Lens' Provenance (Maybe Text)-pTsStreetSegmentId-  = lens _pTsStreetSegmentId-      (\ s a -> s{_pTsStreetSegmentId = a})--pVIPStreetSegmentId :: Lens' Provenance (Maybe Int64)-pVIPStreetSegmentId-  = lens _pVIPStreetSegmentId-      (\ s a -> s{_pVIPStreetSegmentId = a})-      . mapping _Coerce--pCollidedSegmentSource :: Lens' Provenance (Maybe StreetSegmentList)-pCollidedSegmentSource-  = lens _pCollidedSegmentSource-      (\ s a -> s{_pCollidedSegmentSource = a})--pCtclContestUuid :: Lens' Provenance (Maybe Text)-pCtclContestUuid-  = lens _pCtclContestUuid-      (\ s a -> s{_pCtclContestUuid = a})--pDataSetId :: Lens' Provenance (Maybe Int64)-pDataSetId-  = lens _pDataSetId (\ s a -> s{_pDataSetId = a}) .-      mapping _Coerce--pVIP5StreetSegmentId :: Lens' Provenance (Maybe Text)-pVIP5StreetSegmentId-  = lens _pVIP5StreetSegmentId-      (\ s a -> s{_pVIP5StreetSegmentId = a})--pCtclOfficeUuid :: Lens' Provenance (Maybe Text)-pCtclOfficeUuid-  = lens _pCtclOfficeUuid-      (\ s a -> s{_pCtclOfficeUuid = a})--pVIP5PrecinctId :: Lens' Provenance (Maybe Text)-pVIP5PrecinctId-  = lens _pVIP5PrecinctId-      (\ s a -> s{_pVIP5PrecinctId = a})--pPrecinctSplitId :: Lens' Provenance (Maybe Int64)-pPrecinctSplitId-  = lens _pPrecinctSplitId-      (\ s a -> s{_pPrecinctSplitId = a})-      . mapping _Coerce--pPrecinctId :: Lens' Provenance (Maybe Int64)-pPrecinctId-  = lens _pPrecinctId (\ s a -> s{_pPrecinctId = a}) .-      mapping _Coerce--instance FromJSON Provenance where-        parseJSON-          = withObject "Provenance"-              (\ o ->-                 Provenance' <$>-                   (o .:? "tsStreetSegmentId") <*>-                     (o .:? "vipStreetSegmentId")-                     <*> (o .:? "collidedSegmentSource")-                     <*> (o .:? "ctclContestUuid")-                     <*> (o .:? "datasetId")-                     <*> (o .:? "vip5StreetSegmentId")-                     <*> (o .:? "ctclOfficeUuid")-                     <*> (o .:? "vip5PrecinctId")-                     <*> (o .:? "precinctSplitId")-                     <*> (o .:? "precinctId"))--instance ToJSON Provenance where-        toJSON Provenance'{..}-          = object-              (catMaybes-                 [("tsStreetSegmentId" .=) <$> _pTsStreetSegmentId,-                  ("vipStreetSegmentId" .=) <$> _pVIPStreetSegmentId,-                  ("collidedSegmentSource" .=) <$>-                    _pCollidedSegmentSource,-                  ("ctclContestUuid" .=) <$> _pCtclContestUuid,-                  ("datasetId" .=) <$> _pDataSetId,-                  ("vip5StreetSegmentId" .=) <$> _pVIP5StreetSegmentId,-                  ("ctclOfficeUuid" .=) <$> _pCtclOfficeUuid,-                  ("vip5PrecinctId" .=) <$> _pVIP5PrecinctId,-                  ("precinctSplitId" .=) <$> _pPrecinctSplitId,-                  ("precinctId" .=) <$> _pPrecinctId])---- | The list of elections available for this version of the API.------ /See:/ 'electionsQueryResponse' smart constructor.-data ElectionsQueryResponse =-  ElectionsQueryResponse'-    { _eqrKind      :: !Text-    , _eqrElections :: !(Maybe [Election])-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ElectionsQueryResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eqrKind'------ * 'eqrElections'-electionsQueryResponse-    :: ElectionsQueryResponse-electionsQueryResponse =-  ElectionsQueryResponse'-    {_eqrKind = "civicinfo#electionsQueryResponse", _eqrElections = Nothing}----- | Identifies what kind of resource this is. Value: the fixed string--- \"civicinfo#electionsQueryResponse\".-eqrKind :: Lens' ElectionsQueryResponse Text-eqrKind = lens _eqrKind (\ s a -> s{_eqrKind = a})---- | A list of available elections-eqrElections :: Lens' ElectionsQueryResponse [Election]-eqrElections-  = lens _eqrElections (\ s a -> s{_eqrElections = a})-      . _Default-      . _Coerce--instance FromJSON ElectionsQueryResponse where-        parseJSON-          = withObject "ElectionsQueryResponse"-              (\ o ->-                 ElectionsQueryResponse' <$>-                   (o .:? "kind" .!= "civicinfo#electionsQueryResponse")-                     <*> (o .:? "elections" .!= mempty))--instance ToJSON ElectionsQueryResponse where-        toJSON ElectionsQueryResponse'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _eqrKind),-                  ("elections" .=) <$> _eqrElections])---- | Information about a person holding an elected office.------ /See:/ 'official' smart constructor.-data Official =-  Official'-    { _offPhotoURL :: !(Maybe Text)-    , _offURLs     :: !(Maybe [Text])-    , _offChannels :: !(Maybe [Channel])-    , _offAddress  :: !(Maybe [SimpleAddressType])-    , _offPhones   :: !(Maybe [Text])-    , _offName     :: !(Maybe Text)-    , _offEmails   :: !(Maybe [Text])-    , _offParty    :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Official' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'offPhotoURL'------ * 'offURLs'------ * 'offChannels'------ * 'offAddress'------ * 'offPhones'------ * 'offName'------ * 'offEmails'------ * 'offParty'-official-    :: Official-official =-  Official'-    { _offPhotoURL = Nothing-    , _offURLs = Nothing-    , _offChannels = Nothing-    , _offAddress = Nothing-    , _offPhones = Nothing-    , _offName = Nothing-    , _offEmails = Nothing-    , _offParty = Nothing-    }----- | A URL for a photo of the official.-offPhotoURL :: Lens' Official (Maybe Text)-offPhotoURL-  = lens _offPhotoURL (\ s a -> s{_offPhotoURL = a})---- | The official\'s public website URLs.-offURLs :: Lens' Official [Text]-offURLs-  = lens _offURLs (\ s a -> s{_offURLs = a}) . _Default-      . _Coerce---- | A list of known (social) media channels for this official.-offChannels :: Lens' Official [Channel]-offChannels-  = lens _offChannels (\ s a -> s{_offChannels = a}) .-      _Default-      . _Coerce---- | Addresses at which to contact the official.-offAddress :: Lens' Official [SimpleAddressType]-offAddress-  = lens _offAddress (\ s a -> s{_offAddress = a}) .-      _Default-      . _Coerce---- | The official\'s public contact phone numbers.-offPhones :: Lens' Official [Text]-offPhones-  = lens _offPhones (\ s a -> s{_offPhones = a}) .-      _Default-      . _Coerce---- | The official\'s name.-offName :: Lens' Official (Maybe Text)-offName = lens _offName (\ s a -> s{_offName = a})---- | The direct email addresses for the official.-offEmails :: Lens' Official [Text]-offEmails-  = lens _offEmails (\ s a -> s{_offEmails = a}) .-      _Default-      . _Coerce---- | The full name of the party the official belongs to.-offParty :: Lens' Official (Maybe Text)-offParty = lens _offParty (\ s a -> s{_offParty = a})--instance FromJSON Official where-        parseJSON-          = withObject "Official"-              (\ o ->-                 Official' <$>-                   (o .:? "photoUrl") <*> (o .:? "urls" .!= mempty) <*>-                     (o .:? "channels" .!= mempty)-                     <*> (o .:? "address" .!= mempty)-                     <*> (o .:? "phones" .!= mempty)-                     <*> (o .:? "name")-                     <*> (o .:? "emails" .!= mempty)-                     <*> (o .:? "party"))--instance ToJSON Official where-        toJSON Official'{..}-          = object-              (catMaybes-                 [("photoUrl" .=) <$> _offPhotoURL,-                  ("urls" .=) <$> _offURLs,-                  ("channels" .=) <$> _offChannels,-                  ("address" .=) <$> _offAddress,-                  ("phones" .=) <$> _offPhones,-                  ("name" .=) <$> _offName,-                  ("emails" .=) <$> _offEmails,-                  ("party" .=) <$> _offParty])
− gen/Network/Google/CivicInfo/Types/Sum.hs
@@ -1,263 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE LambdaCase         #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- |--- Module      : Network.Google.CivicInfo.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.CivicInfo.Types.Sum where--import           Network.Google.Prelude hiding (Bytes)---- | A list of office levels to filter by. Only offices that serve at least--- one of these levels will be returned. Divisions that don\'t contain a--- matching office will not be returned.-data RepresentativesRepresentativeInfoByDivisionLevels-    = ADMINISTRATIVEAREA1-      -- ^ @administrativeArea1@-    | ADMINISTRATIVEAREA2-      -- ^ @administrativeArea2@-    | Country-      -- ^ @country@-    | International-      -- ^ @international@-    | Locality-      -- ^ @locality@-    | Regional-      -- ^ @regional@-    | Special-      -- ^ @special@-    | SUBLOCALITY1-      -- ^ @subLocality1@-    | SUBLOCALITY2-      -- ^ @subLocality2@-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable RepresentativesRepresentativeInfoByDivisionLevels--instance FromHttpApiData RepresentativesRepresentativeInfoByDivisionLevels where-    parseQueryParam = \case-        "administrativeArea1" -> Right ADMINISTRATIVEAREA1-        "administrativeArea2" -> Right ADMINISTRATIVEAREA2-        "country" -> Right Country-        "international" -> Right International-        "locality" -> Right Locality-        "regional" -> Right Regional-        "special" -> Right Special-        "subLocality1" -> Right SUBLOCALITY1-        "subLocality2" -> Right SUBLOCALITY2-        x -> Left ("Unable to parse RepresentativesRepresentativeInfoByDivisionLevels from: " <> x)--instance ToHttpApiData RepresentativesRepresentativeInfoByDivisionLevels where-    toQueryParam = \case-        ADMINISTRATIVEAREA1 -> "administrativeArea1"-        ADMINISTRATIVEAREA2 -> "administrativeArea2"-        Country -> "country"-        International -> "international"-        Locality -> "locality"-        Regional -> "regional"-        Special -> "special"-        SUBLOCALITY1 -> "subLocality1"-        SUBLOCALITY2 -> "subLocality2"--instance FromJSON RepresentativesRepresentativeInfoByDivisionLevels where-    parseJSON = parseJSONText "RepresentativesRepresentativeInfoByDivisionLevels"--instance ToJSON RepresentativesRepresentativeInfoByDivisionLevels where-    toJSON = toJSONText---- | A list of office levels to filter by. Only offices that serve at least--- one of these levels will be returned. Divisions that don\'t contain a--- matching office will not be returned.-data RepresentativesRepresentativeInfoByAddressLevels-    = RRIBALADMINISTRATIVEAREA1-      -- ^ @administrativeArea1@-    | RRIBALADMINISTRATIVEAREA2-      -- ^ @administrativeArea2@-    | RRIBALCountry-      -- ^ @country@-    | RRIBALInternational-      -- ^ @international@-    | RRIBALLocality-      -- ^ @locality@-    | RRIBALRegional-      -- ^ @regional@-    | RRIBALSpecial-      -- ^ @special@-    | RRIBALSUBLOCALITY1-      -- ^ @subLocality1@-    | RRIBALSUBLOCALITY2-      -- ^ @subLocality2@-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable RepresentativesRepresentativeInfoByAddressLevels--instance FromHttpApiData RepresentativesRepresentativeInfoByAddressLevels where-    parseQueryParam = \case-        "administrativeArea1" -> Right RRIBALADMINISTRATIVEAREA1-        "administrativeArea2" -> Right RRIBALADMINISTRATIVEAREA2-        "country" -> Right RRIBALCountry-        "international" -> Right RRIBALInternational-        "locality" -> Right RRIBALLocality-        "regional" -> Right RRIBALRegional-        "special" -> Right RRIBALSpecial-        "subLocality1" -> Right RRIBALSUBLOCALITY1-        "subLocality2" -> Right RRIBALSUBLOCALITY2-        x -> Left ("Unable to parse RepresentativesRepresentativeInfoByAddressLevels from: " <> x)--instance ToHttpApiData RepresentativesRepresentativeInfoByAddressLevels where-    toQueryParam = \case-        RRIBALADMINISTRATIVEAREA1 -> "administrativeArea1"-        RRIBALADMINISTRATIVEAREA2 -> "administrativeArea2"-        RRIBALCountry -> "country"-        RRIBALInternational -> "international"-        RRIBALLocality -> "locality"-        RRIBALRegional -> "regional"-        RRIBALSpecial -> "special"-        RRIBALSUBLOCALITY1 -> "subLocality1"-        RRIBALSUBLOCALITY2 -> "subLocality2"--instance FromJSON RepresentativesRepresentativeInfoByAddressLevels where-    parseJSON = parseJSONText "RepresentativesRepresentativeInfoByAddressLevels"--instance ToJSON RepresentativesRepresentativeInfoByAddressLevels where-    toJSON = toJSONText---- | A list of office roles to filter by. Only offices fulfilling one of--- these roles will be returned. Divisions that don\'t contain a matching--- office will not be returned.-data RepresentativesRepresentativeInfoByDivisionRoles-    = DeputyHeadOfGovernment-      -- ^ @deputyHeadOfGovernment@-    | ExecutiveCouncil-      -- ^ @executiveCouncil@-    | GovernmentOfficer-      -- ^ @governmentOfficer@-    | HeadOfGovernment-      -- ^ @headOfGovernment@-    | HeadOfState-      -- ^ @headOfState@-    | HighestCourtJudge-      -- ^ @highestCourtJudge@-    | Judge-      -- ^ @judge@-    | LegislatorLowerBody-      -- ^ @legislatorLowerBody@-    | LegislatorUpperBody-      -- ^ @legislatorUpperBody@-    | SchoolBoard-      -- ^ @schoolBoard@-    | SpecialPurposeOfficer-      -- ^ @specialPurposeOfficer@-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable RepresentativesRepresentativeInfoByDivisionRoles--instance FromHttpApiData RepresentativesRepresentativeInfoByDivisionRoles where-    parseQueryParam = \case-        "deputyHeadOfGovernment" -> Right DeputyHeadOfGovernment-        "executiveCouncil" -> Right ExecutiveCouncil-        "governmentOfficer" -> Right GovernmentOfficer-        "headOfGovernment" -> Right HeadOfGovernment-        "headOfState" -> Right HeadOfState-        "highestCourtJudge" -> Right HighestCourtJudge-        "judge" -> Right Judge-        "legislatorLowerBody" -> Right LegislatorLowerBody-        "legislatorUpperBody" -> Right LegislatorUpperBody-        "schoolBoard" -> Right SchoolBoard-        "specialPurposeOfficer" -> Right SpecialPurposeOfficer-        x -> Left ("Unable to parse RepresentativesRepresentativeInfoByDivisionRoles from: " <> x)--instance ToHttpApiData RepresentativesRepresentativeInfoByDivisionRoles where-    toQueryParam = \case-        DeputyHeadOfGovernment -> "deputyHeadOfGovernment"-        ExecutiveCouncil -> "executiveCouncil"-        GovernmentOfficer -> "governmentOfficer"-        HeadOfGovernment -> "headOfGovernment"-        HeadOfState -> "headOfState"-        HighestCourtJudge -> "highestCourtJudge"-        Judge -> "judge"-        LegislatorLowerBody -> "legislatorLowerBody"-        LegislatorUpperBody -> "legislatorUpperBody"-        SchoolBoard -> "schoolBoard"-        SpecialPurposeOfficer -> "specialPurposeOfficer"--instance FromJSON RepresentativesRepresentativeInfoByDivisionRoles where-    parseJSON = parseJSONText "RepresentativesRepresentativeInfoByDivisionRoles"--instance ToJSON RepresentativesRepresentativeInfoByDivisionRoles where-    toJSON = toJSONText---- | A list of office roles to filter by. Only offices fulfilling one of--- these roles will be returned. Divisions that don\'t contain a matching--- office will not be returned.-data RepresentativesRepresentativeInfoByAddressRoles-    = RRIBARDeputyHeadOfGovernment-      -- ^ @deputyHeadOfGovernment@-    | RRIBARExecutiveCouncil-      -- ^ @executiveCouncil@-    | RRIBARGovernmentOfficer-      -- ^ @governmentOfficer@-    | RRIBARHeadOfGovernment-      -- ^ @headOfGovernment@-    | RRIBARHeadOfState-      -- ^ @headOfState@-    | RRIBARHighestCourtJudge-      -- ^ @highestCourtJudge@-    | RRIBARJudge-      -- ^ @judge@-    | RRIBARLegislatorLowerBody-      -- ^ @legislatorLowerBody@-    | RRIBARLegislatorUpperBody-      -- ^ @legislatorUpperBody@-    | RRIBARSchoolBoard-      -- ^ @schoolBoard@-    | RRIBARSpecialPurposeOfficer-      -- ^ @specialPurposeOfficer@-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable RepresentativesRepresentativeInfoByAddressRoles--instance FromHttpApiData RepresentativesRepresentativeInfoByAddressRoles where-    parseQueryParam = \case-        "deputyHeadOfGovernment" -> Right RRIBARDeputyHeadOfGovernment-        "executiveCouncil" -> Right RRIBARExecutiveCouncil-        "governmentOfficer" -> Right RRIBARGovernmentOfficer-        "headOfGovernment" -> Right RRIBARHeadOfGovernment-        "headOfState" -> Right RRIBARHeadOfState-        "highestCourtJudge" -> Right RRIBARHighestCourtJudge-        "judge" -> Right RRIBARJudge-        "legislatorLowerBody" -> Right RRIBARLegislatorLowerBody-        "legislatorUpperBody" -> Right RRIBARLegislatorUpperBody-        "schoolBoard" -> Right RRIBARSchoolBoard-        "specialPurposeOfficer" -> Right RRIBARSpecialPurposeOfficer-        x -> Left ("Unable to parse RepresentativesRepresentativeInfoByAddressRoles from: " <> x)--instance ToHttpApiData RepresentativesRepresentativeInfoByAddressRoles where-    toQueryParam = \case-        RRIBARDeputyHeadOfGovernment -> "deputyHeadOfGovernment"-        RRIBARExecutiveCouncil -> "executiveCouncil"-        RRIBARGovernmentOfficer -> "governmentOfficer"-        RRIBARHeadOfGovernment -> "headOfGovernment"-        RRIBARHeadOfState -> "headOfState"-        RRIBARHighestCourtJudge -> "highestCourtJudge"-        RRIBARJudge -> "judge"-        RRIBARLegislatorLowerBody -> "legislatorLowerBody"-        RRIBARLegislatorUpperBody -> "legislatorUpperBody"-        RRIBARSchoolBoard -> "schoolBoard"-        RRIBARSpecialPurposeOfficer -> "specialPurposeOfficer"--instance FromJSON RepresentativesRepresentativeInfoByAddressRoles where-    parseJSON = parseJSONText "RepresentativesRepresentativeInfoByAddressRoles"--instance ToJSON RepresentativesRepresentativeInfoByAddressRoles where-    toJSON = toJSONText
− gen/Network/Google/Resource/CivicInfo/Divisions/Search.hs
@@ -1,101 +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.CivicInfo.Divisions.Search--- 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)------ Searches for political divisions by their natural name or OCD ID.------ /See:/ <https://developers.google.com/civic-information Google Civic Information API Reference> for @civicinfo.divisions.search@.-module Network.Google.Resource.CivicInfo.Divisions.Search-    (-    -- * REST Resource-      DivisionsSearchResource--    -- * Creating a Request-    , divisionsSearch-    , DivisionsSearch--    -- * Request Lenses-    , dsPayload-    , dsQuery-    ) where--import           Network.Google.CivicInfo.Types-import           Network.Google.Prelude---- | A resource alias for @civicinfo.divisions.search@ method which the--- 'DivisionsSearch' request conforms to.-type DivisionsSearchResource =-     "civicinfo" :>-       "v2" :>-         "divisions" :>-           QueryParam "query" Text :>-             QueryParam "alt" AltJSON :>-               ReqBody '[JSON] DivisionSearchRequest :>-                 Get '[JSON] DivisionSearchResponse---- | Searches for political divisions by their natural name or OCD ID.------ /See:/ 'divisionsSearch' smart constructor.-data DivisionsSearch =-  DivisionsSearch'-    { _dsPayload :: !DivisionSearchRequest-    , _dsQuery   :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DivisionsSearch' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dsPayload'------ * 'dsQuery'-divisionsSearch-    :: DivisionSearchRequest -- ^ 'dsPayload'-    -> DivisionsSearch-divisionsSearch pDsPayload_ =-  DivisionsSearch' {_dsPayload = pDsPayload_, _dsQuery = Nothing}----- | Multipart request metadata.-dsPayload :: Lens' DivisionsSearch DivisionSearchRequest-dsPayload-  = lens _dsPayload (\ s a -> s{_dsPayload = a})---- | The search query. Queries can cover any parts of a OCD ID or a human--- readable division name. All words given in the query are treated as--- required patterns. In addition to that, most query operators of the--- Apache Lucene library are supported. See--- http:\/\/lucene.apache.org\/core\/2_9_4\/queryparsersyntax.html-dsQuery :: Lens' DivisionsSearch (Maybe Text)-dsQuery = lens _dsQuery (\ s a -> s{_dsQuery = a})--instance GoogleRequest DivisionsSearch where-        type Rs DivisionsSearch = DivisionSearchResponse-        type Scopes DivisionsSearch = '[]-        requestClient DivisionsSearch'{..}-          = go _dsQuery (Just AltJSON) _dsPayload-              civicInfoService-          where go-                  = buildClient-                      (Proxy :: Proxy DivisionsSearchResource)-                      mempty
− gen/Network/Google/Resource/CivicInfo/Elections/ElectionQuery.hs
@@ -1,88 +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.CivicInfo.Elections.ElectionQuery--- 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)------ List of available elections to query.------ /See:/ <https://developers.google.com/civic-information Google Civic Information API Reference> for @civicinfo.elections.electionQuery@.-module Network.Google.Resource.CivicInfo.Elections.ElectionQuery-    (-    -- * REST Resource-      ElectionsElectionQueryResource--    -- * Creating a Request-    , electionsElectionQuery-    , ElectionsElectionQuery--    -- * Request Lenses-    , eeqPayload-    ) where--import           Network.Google.CivicInfo.Types-import           Network.Google.Prelude---- | A resource alias for @civicinfo.elections.electionQuery@ method which the--- 'ElectionsElectionQuery' request conforms to.-type ElectionsElectionQueryResource =-     "civicinfo" :>-       "v2" :>-         "elections" :>-           QueryParam "alt" AltJSON :>-             ReqBody '[JSON] ElectionsQueryRequest :>-               Get '[JSON] ElectionsQueryResponse---- | List of available elections to query.------ /See:/ 'electionsElectionQuery' smart constructor.-newtype ElectionsElectionQuery =-  ElectionsElectionQuery'-    { _eeqPayload :: ElectionsQueryRequest-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ElectionsElectionQuery' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eeqPayload'-electionsElectionQuery-    :: ElectionsQueryRequest -- ^ 'eeqPayload'-    -> ElectionsElectionQuery-electionsElectionQuery pEeqPayload_ =-  ElectionsElectionQuery' {_eeqPayload = pEeqPayload_}----- | Multipart request metadata.-eeqPayload :: Lens' ElectionsElectionQuery ElectionsQueryRequest-eeqPayload-  = lens _eeqPayload (\ s a -> s{_eeqPayload = a})--instance GoogleRequest ElectionsElectionQuery where-        type Rs ElectionsElectionQuery =-             ElectionsQueryResponse-        type Scopes ElectionsElectionQuery = '[]-        requestClient ElectionsElectionQuery'{..}-          = go (Just AltJSON) _eeqPayload civicInfoService-          where go-                  = buildClient-                      (Proxy :: Proxy ElectionsElectionQueryResource)-                      mempty
− gen/Network/Google/Resource/CivicInfo/Elections/VoterInfoQuery.hs
@@ -1,153 +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.CivicInfo.Elections.VoterInfoQuery--- 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)------ Looks up information relevant to a voter based on the voter\'s--- registered address.------ /See:/ <https://developers.google.com/civic-information Google Civic Information API Reference> for @civicinfo.elections.voterInfoQuery@.-module Network.Google.Resource.CivicInfo.Elections.VoterInfoQuery-    (-    -- * REST Resource-      ElectionsVoterInfoQueryResource--    -- * Creating a Request-    , electionsVoterInfoQuery-    , ElectionsVoterInfoQuery--    -- * Request Lenses-    , eviqReturnAllAvailableData-    , eviqElectionId-    , eviqAddress-    , eviqPayload-    , eviqOfficialOnly-    ) where--import           Network.Google.CivicInfo.Types-import           Network.Google.Prelude---- | A resource alias for @civicinfo.elections.voterInfoQuery@ method which the--- 'ElectionsVoterInfoQuery' request conforms to.-type ElectionsVoterInfoQueryResource =-     "civicinfo" :>-       "v2" :>-         "voterinfo" :>-           QueryParam "address" Text :>-             QueryParam "returnAllAvailableData" Bool :>-               QueryParam "electionId" (Textual Int64) :>-                 QueryParam "officialOnly" Bool :>-                   QueryParam "alt" AltJSON :>-                     ReqBody '[JSON] VoterInfoRequest :>-                       Get '[JSON] VoterInfoResponse---- | Looks up information relevant to a voter based on the voter\'s--- registered address.------ /See:/ 'electionsVoterInfoQuery' smart constructor.-data ElectionsVoterInfoQuery =-  ElectionsVoterInfoQuery'-    { _eviqReturnAllAvailableData :: !Bool-    , _eviqElectionId             :: !(Textual Int64)-    , _eviqAddress                :: !Text-    , _eviqPayload                :: !VoterInfoRequest-    , _eviqOfficialOnly           :: !Bool-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ElectionsVoterInfoQuery' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eviqReturnAllAvailableData'------ * 'eviqElectionId'------ * 'eviqAddress'------ * 'eviqPayload'------ * 'eviqOfficialOnly'-electionsVoterInfoQuery-    :: Text -- ^ 'eviqAddress'-    -> VoterInfoRequest -- ^ 'eviqPayload'-    -> ElectionsVoterInfoQuery-electionsVoterInfoQuery pEviqAddress_ pEviqPayload_ =-  ElectionsVoterInfoQuery'-    { _eviqReturnAllAvailableData = False-    , _eviqElectionId = 0-    , _eviqAddress = pEviqAddress_-    , _eviqPayload = pEviqPayload_-    , _eviqOfficialOnly = False-    }----- | If set to true, the query will return the success codeand include any--- partial information when it is unable to determine a matching address or--- unable to determine the election for electionId=0 queries.-eviqReturnAllAvailableData :: Lens' ElectionsVoterInfoQuery Bool-eviqReturnAllAvailableData-  = lens _eviqReturnAllAvailableData-      (\ s a -> s{_eviqReturnAllAvailableData = a})---- | The unique ID of the election to look up. A list of election IDs can be--- obtained at--- https:\/\/www.googleapis.com\/civicinfo\/{version}\/electionsIf no--- election ID is specified in the query and there is more than one--- election with data for the given voter, the additional elections are--- provided in the otherElections response field.-eviqElectionId :: Lens' ElectionsVoterInfoQuery Int64-eviqElectionId-  = lens _eviqElectionId-      (\ s a -> s{_eviqElectionId = a})-      . _Coerce---- | The registered address of the voter to look up.-eviqAddress :: Lens' ElectionsVoterInfoQuery Text-eviqAddress-  = lens _eviqAddress (\ s a -> s{_eviqAddress = a})---- | Multipart request metadata.-eviqPayload :: Lens' ElectionsVoterInfoQuery VoterInfoRequest-eviqPayload-  = lens _eviqPayload (\ s a -> s{_eviqPayload = a})---- | If set to true, only data from official state sources will be returned.-eviqOfficialOnly :: Lens' ElectionsVoterInfoQuery Bool-eviqOfficialOnly-  = lens _eviqOfficialOnly-      (\ s a -> s{_eviqOfficialOnly = a})--instance GoogleRequest ElectionsVoterInfoQuery where-        type Rs ElectionsVoterInfoQuery = VoterInfoResponse-        type Scopes ElectionsVoterInfoQuery = '[]-        requestClient ElectionsVoterInfoQuery'{..}-          = go (Just _eviqAddress)-              (Just _eviqReturnAllAvailableData)-              (Just _eviqElectionId)-              (Just _eviqOfficialOnly)-              (Just AltJSON)-              _eviqPayload-              civicInfoService-          where go-                  = buildClient-                      (Proxy :: Proxy ElectionsVoterInfoQueryResource)-                      mempty
− gen/Network/Google/Resource/CivicInfo/Representatives/RepresentativeInfoByAddress.hs
@@ -1,164 +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.CivicInfo.Representatives.RepresentativeInfoByAddress--- 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)------ Looks up political geography and representative information for a single--- address.------ /See:/ <https://developers.google.com/civic-information Google Civic Information API Reference> for @civicinfo.representatives.representativeInfoByAddress@.-module Network.Google.Resource.CivicInfo.Representatives.RepresentativeInfoByAddress-    (-    -- * REST Resource-      RepresentativesRepresentativeInfoByAddressResource--    -- * Creating a Request-    , representativesRepresentativeInfoByAddress-    , RepresentativesRepresentativeInfoByAddress--    -- * Request Lenses-    , rribaRoles-    , rribaAddress-    , rribaPayload-    , rribaIncludeOffices-    , rribaLevels-    ) where--import           Network.Google.CivicInfo.Types-import           Network.Google.Prelude---- | A resource alias for @civicinfo.representatives.representativeInfoByAddress@ method which the--- 'RepresentativesRepresentativeInfoByAddress' request conforms to.-type RepresentativesRepresentativeInfoByAddressResource-     =-     "civicinfo" :>-       "v2" :>-         "representatives" :>-           QueryParams "roles"-             RepresentativesRepresentativeInfoByAddressRoles-             :>-             QueryParam "address" Text :>-               QueryParam "includeOffices" Bool :>-                 QueryParams "levels"-                   RepresentativesRepresentativeInfoByAddressLevels-                   :>-                   QueryParam "alt" AltJSON :>-                     ReqBody '[JSON] RepresentativeInfoRequest :>-                       Get '[JSON] RepresentativeInfoResponse---- | Looks up political geography and representative information for a single--- address.------ /See:/ 'representativesRepresentativeInfoByAddress' smart constructor.-data RepresentativesRepresentativeInfoByAddress =-  RepresentativesRepresentativeInfoByAddress'-    { _rribaRoles          :: !(Maybe [RepresentativesRepresentativeInfoByAddressRoles])-    , _rribaAddress        :: !(Maybe Text)-    , _rribaPayload        :: !RepresentativeInfoRequest-    , _rribaIncludeOffices :: !Bool-    , _rribaLevels         :: !(Maybe [RepresentativesRepresentativeInfoByAddressLevels])-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RepresentativesRepresentativeInfoByAddress' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rribaRoles'------ * 'rribaAddress'------ * 'rribaPayload'------ * 'rribaIncludeOffices'------ * 'rribaLevels'-representativesRepresentativeInfoByAddress-    :: RepresentativeInfoRequest -- ^ 'rribaPayload'-    -> RepresentativesRepresentativeInfoByAddress-representativesRepresentativeInfoByAddress pRribaPayload_ =-  RepresentativesRepresentativeInfoByAddress'-    { _rribaRoles = Nothing-    , _rribaAddress = Nothing-    , _rribaPayload = pRribaPayload_-    , _rribaIncludeOffices = True-    , _rribaLevels = Nothing-    }----- | A list of office roles to filter by. Only offices fulfilling one of--- these roles will be returned. Divisions that don\'t contain a matching--- office will not be returned.-rribaRoles :: Lens' RepresentativesRepresentativeInfoByAddress [RepresentativesRepresentativeInfoByAddressRoles]-rribaRoles-  = lens _rribaRoles (\ s a -> s{_rribaRoles = a}) .-      _Default-      . _Coerce---- | The address to look up. May only be specified if the field ocdId is not--- given in the URL.-rribaAddress :: Lens' RepresentativesRepresentativeInfoByAddress (Maybe Text)-rribaAddress-  = lens _rribaAddress (\ s a -> s{_rribaAddress = a})---- | Multipart request metadata.-rribaPayload :: Lens' RepresentativesRepresentativeInfoByAddress RepresentativeInfoRequest-rribaPayload-  = lens _rribaPayload (\ s a -> s{_rribaPayload = a})---- | Whether to return information about offices and officials. If false,--- only the top-level district information will be returned.-rribaIncludeOffices :: Lens' RepresentativesRepresentativeInfoByAddress Bool-rribaIncludeOffices-  = lens _rribaIncludeOffices-      (\ s a -> s{_rribaIncludeOffices = a})---- | A list of office levels to filter by. Only offices that serve at least--- one of these levels will be returned. Divisions that don\'t contain a--- matching office will not be returned.-rribaLevels :: Lens' RepresentativesRepresentativeInfoByAddress [RepresentativesRepresentativeInfoByAddressLevels]-rribaLevels-  = lens _rribaLevels (\ s a -> s{_rribaLevels = a}) .-      _Default-      . _Coerce--instance GoogleRequest-           RepresentativesRepresentativeInfoByAddress-         where-        type Rs RepresentativesRepresentativeInfoByAddress =-             RepresentativeInfoResponse-        type Scopes-               RepresentativesRepresentativeInfoByAddress-             = '[]-        requestClient-          RepresentativesRepresentativeInfoByAddress'{..}-          = go (_rribaRoles ^. _Default) _rribaAddress-              (Just _rribaIncludeOffices)-              (_rribaLevels ^. _Default)-              (Just AltJSON)-              _rribaPayload-              civicInfoService-          where go-                  = buildClient-                      (Proxy ::-                         Proxy-                           RepresentativesRepresentativeInfoByAddressResource)-                      mempty
− gen/Network/Google/Resource/CivicInfo/Representatives/RepresentativeInfoByDivision.hs
@@ -1,164 +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.CivicInfo.Representatives.RepresentativeInfoByDivision--- 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)------ Looks up representative information for a single geographic division.------ /See:/ <https://developers.google.com/civic-information Google Civic Information API Reference> for @civicinfo.representatives.representativeInfoByDivision@.-module Network.Google.Resource.CivicInfo.Representatives.RepresentativeInfoByDivision-    (-    -- * REST Resource-      RepresentativesRepresentativeInfoByDivisionResource--    -- * Creating a Request-    , representativesRepresentativeInfoByDivision-    , RepresentativesRepresentativeInfoByDivision--    -- * Request Lenses-    , rribdRoles-    , rribdPayload-    , rribdRecursive-    , rribdOcdId-    , rribdLevels-    ) where--import           Network.Google.CivicInfo.Types-import           Network.Google.Prelude---- | A resource alias for @civicinfo.representatives.representativeInfoByDivision@ method which the--- 'RepresentativesRepresentativeInfoByDivision' request conforms to.-type RepresentativesRepresentativeInfoByDivisionResource-     =-     "civicinfo" :>-       "v2" :>-         "representatives" :>-           Capture "ocdId" Text :>-             QueryParams "roles"-               RepresentativesRepresentativeInfoByDivisionRoles-               :>-               QueryParam "recursive" Bool :>-                 QueryParams "levels"-                   RepresentativesRepresentativeInfoByDivisionLevels-                   :>-                   QueryParam "alt" AltJSON :>-                     ReqBody '[JSON] DivisionRepresentativeInfoRequest :>-                       Get '[JSON] RepresentativeInfoData---- | Looks up representative information for a single geographic division.------ /See:/ 'representativesRepresentativeInfoByDivision' smart constructor.-data RepresentativesRepresentativeInfoByDivision =-  RepresentativesRepresentativeInfoByDivision'-    { _rribdRoles     :: !(Maybe [RepresentativesRepresentativeInfoByDivisionRoles])-    , _rribdPayload   :: !DivisionRepresentativeInfoRequest-    , _rribdRecursive :: !(Maybe Bool)-    , _rribdOcdId     :: !Text-    , _rribdLevels    :: !(Maybe [RepresentativesRepresentativeInfoByDivisionLevels])-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RepresentativesRepresentativeInfoByDivision' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rribdRoles'------ * 'rribdPayload'------ * 'rribdRecursive'------ * 'rribdOcdId'------ * 'rribdLevels'-representativesRepresentativeInfoByDivision-    :: DivisionRepresentativeInfoRequest -- ^ 'rribdPayload'-    -> Text -- ^ 'rribdOcdId'-    -> RepresentativesRepresentativeInfoByDivision-representativesRepresentativeInfoByDivision pRribdPayload_ pRribdOcdId_ =-  RepresentativesRepresentativeInfoByDivision'-    { _rribdRoles = Nothing-    , _rribdPayload = pRribdPayload_-    , _rribdRecursive = Nothing-    , _rribdOcdId = pRribdOcdId_-    , _rribdLevels = Nothing-    }----- | A list of office roles to filter by. Only offices fulfilling one of--- these roles will be returned. Divisions that don\'t contain a matching--- office will not be returned.-rribdRoles :: Lens' RepresentativesRepresentativeInfoByDivision [RepresentativesRepresentativeInfoByDivisionRoles]-rribdRoles-  = lens _rribdRoles (\ s a -> s{_rribdRoles = a}) .-      _Default-      . _Coerce---- | Multipart request metadata.-rribdPayload :: Lens' RepresentativesRepresentativeInfoByDivision DivisionRepresentativeInfoRequest-rribdPayload-  = lens _rribdPayload (\ s a -> s{_rribdPayload = a})---- | If true, information about all divisions contained in the division--- requested will be included as well. For example, if querying--- ocd-division\/country:us\/district:dc, this would also return all DC\'s--- wards and ANCs.-rribdRecursive :: Lens' RepresentativesRepresentativeInfoByDivision (Maybe Bool)-rribdRecursive-  = lens _rribdRecursive-      (\ s a -> s{_rribdRecursive = a})---- | The Open Civic Data division identifier of the division to look up.-rribdOcdId :: Lens' RepresentativesRepresentativeInfoByDivision Text-rribdOcdId-  = lens _rribdOcdId (\ s a -> s{_rribdOcdId = a})---- | A list of office levels to filter by. Only offices that serve at least--- one of these levels will be returned. Divisions that don\'t contain a--- matching office will not be returned.-rribdLevels :: Lens' RepresentativesRepresentativeInfoByDivision [RepresentativesRepresentativeInfoByDivisionLevels]-rribdLevels-  = lens _rribdLevels (\ s a -> s{_rribdLevels = a}) .-      _Default-      . _Coerce--instance GoogleRequest-           RepresentativesRepresentativeInfoByDivision-         where-        type Rs RepresentativesRepresentativeInfoByDivision =-             RepresentativeInfoData-        type Scopes-               RepresentativesRepresentativeInfoByDivision-             = '[]-        requestClient-          RepresentativesRepresentativeInfoByDivision'{..}-          = go _rribdOcdId (_rribdRoles ^. _Default)-              _rribdRecursive-              (_rribdLevels ^. _Default)-              (Just AltJSON)-              _rribdPayload-              civicInfoService-          where go-                  = buildClient-                      (Proxy ::-                         Proxy-                           RepresentativesRepresentativeInfoByDivisionResource)-                      mempty
gogol-civicinfo.cabal view
@@ -1,52 +1,66 @@-name:                  gogol-civicinfo-version:               0.5.0-synopsis:              Google Civic Information 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-civicinfo+version:            1.0.0+synopsis:           Google Civic Information 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:-    Provides polling places, early vote locations, contest data, election-    officials, and government representatives for U.S. residential-    addresses.-    .-    /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 @v2@-    of the API.+  Provides polling places, early vote locations, contest data, election officials, and government representatives for U.S. residential addresses.+  .+  /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 @v2@+  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-civicinfo +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.CivicInfo-        , Network.Google.CivicInfo.Types-        , Network.Google.Resource.CivicInfo.Divisions.Search-        , Network.Google.Resource.CivicInfo.Elections.ElectionQuery-        , Network.Google.Resource.CivicInfo.Elections.VoterInfoQuery-        , Network.Google.Resource.CivicInfo.Representatives.RepresentativeInfoByAddress-        , Network.Google.Resource.CivicInfo.Representatives.RepresentativeInfoByDivision+  exposed-modules:+    Gogol.CivicInfo+    Gogol.CivicInfo.Divisions.QueryDivisionByAddress+    Gogol.CivicInfo.Divisions.Search+    Gogol.CivicInfo.Elections.ElectionQuery+    Gogol.CivicInfo.Elections.VoterInfoQuery+    Gogol.CivicInfo.Representatives.RepresentativeInfoByAddress+    Gogol.CivicInfo.Representatives.RepresentativeInfoByDivision+    Gogol.CivicInfo.Types -    other-modules:-          Network.Google.CivicInfo.Types.Product-        , Network.Google.CivicInfo.Types.Sum+  other-modules:+    Gogol.CivicInfo.Internal.Product+    Gogol.CivicInfo.Internal.Sum -    build-depends:-          gogol-core == 0.5.0.*-        , base       >= 4.7 && < 5+  build-depends:    gogol-core ^>=1.0.0