Regen docs (#364)

diff --git a/docs/dyn/partners_v2.users.html b/docs/dyn/partners_v2.users.html
new file mode 100644
index 0000000..fca659d
--- /dev/null
+++ b/docs/dyn/partners_v2.users.html
@@ -0,0 +1,648 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="partners_v2.html">Google Partners API</a> . <a href="partners_v2.users.html">users</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#createCompanyRelation">createCompanyRelation(userId=None, body, requestMetadata_userOverrides_ipAddress=None, requestMetadata_trafficSource_trafficSubId=None, requestMetadata_userOverrides_userId=None, x__xgafv=None, requestMetadata_locale=None, requestMetadata_experimentIds=None, requestMetadata_trafficSource_trafficSourceId=None, requestMetadata_partnersSessionId=None)</a></code></p>
+<p class="firstline">Creates a user's company relation. Affiliates the user to a company.</p>
+<p class="toc_element">
+  <code><a href="#deleteCompanyRelation">deleteCompanyRelation(userId=None, requestMetadata_userOverrides_ipAddress=None, requestMetadata_trafficSource_trafficSubId=None, requestMetadata_userOverrides_userId=None, x__xgafv=None, requestMetadata_locale=None, requestMetadata_experimentIds=None, requestMetadata_trafficSource_trafficSourceId=None, requestMetadata_partnersSessionId=None)</a></code></p>
+<p class="firstline">Deletes a user's company relation. Unaffiliaites the user from a company.</p>
+<p class="toc_element">
+  <code><a href="#get">get(userId=None, requestMetadata_userOverrides_ipAddress=None, requestMetadata_trafficSource_trafficSubId=None, requestMetadata_userOverrides_userId=None, x__xgafv=None, requestMetadata_locale=None, userView=None, requestMetadata_experimentIds=None, requestMetadata_trafficSource_trafficSourceId=None, requestMetadata_partnersSessionId=None)</a></code></p>
+<p class="firstline">Gets a user.</p>
+<p class="toc_element">
+  <code><a href="#updateProfile">updateProfile(body, requestMetadata_userOverrides_ipAddress=None, requestMetadata_trafficSource_trafficSubId=None, requestMetadata_userOverrides_userId=None, x__xgafv=None, requestMetadata_locale=None, requestMetadata_experimentIds=None, requestMetadata_trafficSource_trafficSourceId=None, requestMetadata_partnersSessionId=None)</a></code></p>
+<p class="firstline">Updates a user's profile. A user can only update their own profile and</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="createCompanyRelation">createCompanyRelation(userId=None, body, requestMetadata_userOverrides_ipAddress=None, requestMetadata_trafficSource_trafficSubId=None, requestMetadata_userOverrides_userId=None, x__xgafv=None, requestMetadata_locale=None, requestMetadata_experimentIds=None, requestMetadata_trafficSource_trafficSourceId=None, requestMetadata_partnersSessionId=None)</code>
+  <pre>Creates a user's company relation. Affiliates the user to a company.
+
+Args:
+  userId: string, The ID of the user. Can be set to <code>me</code> to mean
+the currently authenticated user. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A CompanyRelation resource representing information about a user's
+      # affiliation and standing with a company in Partners.
+    "managerAccount": "A String", # The AdWords manager account # associated this company.
+    "website": "A String", # The website URL for this company.
+    "name": "A String", # The name (in the company's primary language) for the company.
+    "companyId": "A String", # The ID of the company. There may be no id if this is a
+        # pending company.5
+    "isPending": True or False, # The flag that indicates if the company is pending verification.
+    "logoUrl": "A String", # A URL to a profile photo, e.g. a G+ profile photo.
+    "creationTime": "A String", # The timestamp of when affiliation was requested.
+        # @OutputOnly
+    "companyAdmin": True or False, # Indicates if the user is an admin for this company.
+    "badgeTier": "A String", # Whether the company is a Partner.
+    "state": "A String", # The state of relationship, in terms of approvals.
+    "phoneNumber": "A String", # The phone number for the company's primary address.
+    "address": "A String", # The primary address for this company.
+    "resolvedTimestamp": "A String", # The timestamp when the user was approved.
+        # @OutputOnly
+    "segment": [ # The segment the company is classified as.
+      "A String",
+    ],
+    "specializationStatus": [ # The list of Google Partners specialization statuses for the company.
+      { # Agency specialization status
+        "badgeSpecialization": "A String", # The specialization this status is for.
+        "badgeSpecializationState": "A String", # State of agency specialization.
+      },
+    ],
+  }
+
+  requestMetadata_userOverrides_ipAddress: string, IP address to use instead of the user's geo-located IP address.
+  requestMetadata_trafficSource_trafficSubId: string, Second level identifier to indicate where the traffic comes from.
+An identifier has multiple letters created by a team which redirected the
+traffic to us.
+  requestMetadata_userOverrides_userId: string, Logged-in user ID to impersonate instead of the user's ID.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  requestMetadata_locale: string, Locale to use for the current request.
+  requestMetadata_experimentIds: string, Experiment IDs the current request belongs to. (repeated)
+  requestMetadata_trafficSource_trafficSourceId: string, Identifier to indicate where the traffic comes from.
+An identifier has multiple letters created by a team which redirected the
+traffic to us.
+  requestMetadata_partnersSessionId: string, Google Partners session ID.
+
+Returns:
+  An object of the form:
+
+    { # A CompanyRelation resource representing information about a user's
+        # affiliation and standing with a company in Partners.
+      "managerAccount": "A String", # The AdWords manager account # associated this company.
+      "website": "A String", # The website URL for this company.
+      "name": "A String", # The name (in the company's primary language) for the company.
+      "companyId": "A String", # The ID of the company. There may be no id if this is a
+          # pending company.5
+      "isPending": True or False, # The flag that indicates if the company is pending verification.
+      "logoUrl": "A String", # A URL to a profile photo, e.g. a G+ profile photo.
+      "creationTime": "A String", # The timestamp of when affiliation was requested.
+          # @OutputOnly
+      "companyAdmin": True or False, # Indicates if the user is an admin for this company.
+      "badgeTier": "A String", # Whether the company is a Partner.
+      "state": "A String", # The state of relationship, in terms of approvals.
+      "phoneNumber": "A String", # The phone number for the company's primary address.
+      "address": "A String", # The primary address for this company.
+      "resolvedTimestamp": "A String", # The timestamp when the user was approved.
+          # @OutputOnly
+      "segment": [ # The segment the company is classified as.
+        "A String",
+      ],
+      "specializationStatus": [ # The list of Google Partners specialization statuses for the company.
+        { # Agency specialization status
+          "badgeSpecialization": "A String", # The specialization this status is for.
+          "badgeSpecializationState": "A String", # State of agency specialization.
+        },
+      ],
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="deleteCompanyRelation">deleteCompanyRelation(userId=None, requestMetadata_userOverrides_ipAddress=None, requestMetadata_trafficSource_trafficSubId=None, requestMetadata_userOverrides_userId=None, x__xgafv=None, requestMetadata_locale=None, requestMetadata_experimentIds=None, requestMetadata_trafficSource_trafficSourceId=None, requestMetadata_partnersSessionId=None)</code>
+  <pre>Deletes a user's company relation. Unaffiliaites the user from a company.
+
+Args:
+  userId: string, The ID of the user. Can be set to <code>me</code> to mean
+the currently authenticated user. (required)
+  requestMetadata_userOverrides_ipAddress: string, IP address to use instead of the user's geo-located IP address.
+  requestMetadata_trafficSource_trafficSubId: string, Second level identifier to indicate where the traffic comes from.
+An identifier has multiple letters created by a team which redirected the
+traffic to us.
+  requestMetadata_userOverrides_userId: string, Logged-in user ID to impersonate instead of the user's ID.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  requestMetadata_locale: string, Locale to use for the current request.
+  requestMetadata_experimentIds: string, Experiment IDs the current request belongs to. (repeated)
+  requestMetadata_trafficSource_trafficSourceId: string, Identifier to indicate where the traffic comes from.
+An identifier has multiple letters created by a team which redirected the
+traffic to us.
+  requestMetadata_partnersSessionId: string, Google Partners session ID.
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated
+      # empty messages in your APIs. A typical example is to use it as the request
+      # or the response type of an API method. For instance:
+      #
+      #     service Foo {
+      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
+      #     }
+      #
+      # The JSON representation for `Empty` is empty JSON object `{}`.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(userId=None, requestMetadata_userOverrides_ipAddress=None, requestMetadata_trafficSource_trafficSubId=None, requestMetadata_userOverrides_userId=None, x__xgafv=None, requestMetadata_locale=None, userView=None, requestMetadata_experimentIds=None, requestMetadata_trafficSource_trafficSourceId=None, requestMetadata_partnersSessionId=None)</code>
+  <pre>Gets a user.
+
+Args:
+  userId: string, Identifier of the user. Can be set to <code>me</code> to mean the currently
+authenticated user. (required)
+  requestMetadata_userOverrides_ipAddress: string, IP address to use instead of the user's geo-located IP address.
+  requestMetadata_trafficSource_trafficSubId: string, Second level identifier to indicate where the traffic comes from.
+An identifier has multiple letters created by a team which redirected the
+traffic to us.
+  requestMetadata_userOverrides_userId: string, Logged-in user ID to impersonate instead of the user's ID.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  requestMetadata_locale: string, Locale to use for the current request.
+  userView: string, Specifies what parts of the user information to return.
+  requestMetadata_experimentIds: string, Experiment IDs the current request belongs to. (repeated)
+  requestMetadata_trafficSource_trafficSourceId: string, Identifier to indicate where the traffic comes from.
+An identifier has multiple letters created by a team which redirected the
+traffic to us.
+  requestMetadata_partnersSessionId: string, Google Partners session ID.
+
+Returns:
+  An object of the form:
+
+    { # A resource representing a user of the Partners platform.
+    "companyVerificationEmail": "A String", # The email address used by the user used for company verification.
+        # @OutputOnly
+    "profile": { # The profile information of a Partners user. # The profile information of a Partners user, contains all the directly
+        # editable user information.
+        "industries": [ # A list of ids representing which industries the user selected.
+          "A String",
+        ],
+        "primaryCountryCode": "A String", # The user's primary country, an ISO 2-character code.
+        "adwordsManagerAccount": "A String", # If the user has edit access to multiple accounts, the user can choose the
+            # preferred account and it is used when a personal account is needed. Can
+            # be empty.
+        "languages": [ # The list of languages this user understands.
+          "A String",
+        ],
+        "jobFunctions": [ # A list of ids represnting which job categories the user selected.
+          "A String",
+        ],
+        "emailOptIns": { # A set of opt-ins for a user. # The list of opt-ins for the user, related to communication preferences.
+          "specialOffers": True or False, # An opt-in about receiving email regarding new features and products.
+          "marketComm": True or False, # An opt-in about receiving email from Partners marketing teams. Includes
+              # member-only events and special promotional offers for Google products.
+          "phoneContact": True or False, # An opt-in to allow recieivng phone calls about their Partners account.
+          "physicalMail": True or False, # An opt-in to receive special promotional gifts and material in the mail.
+          "performanceSuggestions": True or False, # An opt-in about receiving email with customized AdWords campaign management
+              # tips.
+        },
+        "familyName": "A String", # The user's family name.
+        "channels": [ # A list of ids representing which channels the user selected they were in.
+          "A String",
+        ],
+        "emailAddress": "A String", # The email address the user has selected on the Partners site as primary.
+        "address": { # A location with address and geographic coordinates. May optionally contain a # The user's mailing address, contains multiple fields.
+            # detailed (multi-field) version of the address.
+          "languageCode": "A String", # Language code of the address. Should be in BCP 47 format.
+          "addressLine": [ # The following address lines represent the most specific part of any
+              # address.
+            "A String",
+          ],
+          "dependentLocality": "A String", # Dependent locality or sublocality. Used for UK dependent localities, or
+              # neighborhoods or boroughs in other locations.
+          "sortingCode": "A String", # Use of this code is very country-specific, but will refer to a secondary
+              # classification code for sorting mail.
+          "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # The latitude and longitude of the location, in degrees.
+              # of doubles representing degrees latitude and degrees longitude. Unless
+              # specified otherwise, this must conform to the
+              # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
+              # standard</a>. Values must be within normalized ranges.
+              #
+              # Example of normalization code in Python:
+              #
+              #     def NormalizeLongitude(longitude):
+              #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
+              #       q, r = divmod(longitude, 360.0)
+              #       if r > 180.0 or (r == 180.0 and q <= -1.0):
+              #         return r - 360.0
+              #       return r
+              #
+              #     def NormalizeLatLng(latitude, longitude):
+              #       """Wraps decimal degrees latitude and longitude to
+              #       [-90.0, 90.0] and [-180.0, 180.0], respectively."""
+              #       r = latitude % 360.0
+              #       if r <= 90.0:
+              #         return r, NormalizeLongitude(longitude)
+              #       elif r >= 270.0:
+              #         return r - 360, NormalizeLongitude(longitude)
+              #       else:
+              #         return 180 - r, NormalizeLongitude(longitude + 180.0)
+              #
+              #     assert 180.0 == NormalizeLongitude(180.0)
+              #     assert -180.0 == NormalizeLongitude(-180.0)
+              #     assert -179.0 == NormalizeLongitude(181.0)
+              #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
+              #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
+              #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
+              #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
+              #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
+              #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
+              #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
+              #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
+              #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
+              #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
+              #
+              # The code in logs/storage/validator/logs_validator_traits.cc treats this type
+              # as if it were annotated as ST_LOCATION.
+            "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+            "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+          },
+          "locality": "A String", # Generally refers to the city/town portion of an address.
+          "regionCode": "A String", # CLDR (Common Locale Data Repository) region code .
+          "administrativeArea": "A String", # Top-level administrative subdivision of this country.
+          "address": "A String", # The single string version of the address.
+          "postalCode": "A String", # Values are frequently alphanumeric.
+        },
+        "phoneNumber": "A String", # The user's phone number.
+        "givenName": "A String", # The user's given name.
+        "markets": [ # A list of ids representing which markets the user was interested in.
+          "A String",
+        ],
+        "profilePublic": True or False, # Whether the user's public profile is visible to anyone with the URL.
+      },
+    "certificationStatus": [ # The list of achieved certifications. These are calculated based on exam
+        # results and other requirements.
+        # @OutputOnly
+      { # A user's information on a specific certification.
+        "warning": True or False, # Whether this certification is in the state of warning.
+        "certificationType": "A String", # The type of certification, the area of expertise.
+        "lastAchieved": "A String", # The date the user last achieved certification.
+        "expiration": "A String", # Date this certification is due to expire.
+        "achieved": True or False, # Whether this certification has been achieved.
+      },
+    ],
+    "availableAdwordsManagerAccounts": [ # This is the list of AdWords Manager Accounts the user has edit access to.
+        # If the user has edit access to multiple accounts, the user can choose the
+        # preferred account and we use this when a personal account is needed. Can
+        # be empty meaning the user has access to no accounts.
+        # @OutputOnly
+      { # Information about a particular AdWords Manager Account.
+          # Read more at https://support.google.com/adwords/answer/6139186
+        "customerName": "A String", # Name of the customer this account represents.
+        "id": "A String", # The AdWords Manager Account id.
+      },
+    ],
+    "company": { # A CompanyRelation resource representing information about a user's # The company that the user is associated with.
+        # If not present, the user is not associated with any company.
+          # affiliation and standing with a company in Partners.
+        "managerAccount": "A String", # The AdWords manager account # associated this company.
+        "website": "A String", # The website URL for this company.
+        "name": "A String", # The name (in the company's primary language) for the company.
+        "companyId": "A String", # The ID of the company. There may be no id if this is a
+            # pending company.5
+        "isPending": True or False, # The flag that indicates if the company is pending verification.
+        "logoUrl": "A String", # A URL to a profile photo, e.g. a G+ profile photo.
+        "creationTime": "A String", # The timestamp of when affiliation was requested.
+            # @OutputOnly
+        "companyAdmin": True or False, # Indicates if the user is an admin for this company.
+        "badgeTier": "A String", # Whether the company is a Partner.
+        "state": "A String", # The state of relationship, in terms of approvals.
+        "phoneNumber": "A String", # The phone number for the company's primary address.
+        "address": "A String", # The primary address for this company.
+        "resolvedTimestamp": "A String", # The timestamp when the user was approved.
+            # @OutputOnly
+        "segment": [ # The segment the company is classified as.
+          "A String",
+        ],
+        "specializationStatus": [ # The list of Google Partners specialization statuses for the company.
+          { # Agency specialization status
+            "badgeSpecialization": "A String", # The specialization this status is for.
+            "badgeSpecializationState": "A String", # State of agency specialization.
+          },
+        ],
+      },
+    "lastAccessTime": "A String", # The most recent time the user interacted with the Partners site.
+        # @OutputOnly
+    "primaryEmails": [ # The list of emails the user has access to/can select as primary.
+        # @OutputOnly
+      "A String",
+    ],
+    "id": "A String", # The ID of the user.
+    "publicProfile": { # Basic information from a public profile. # Information about a user's external public profile outside Google Partners.
+      "url": "A String", # The URL of the public profile.
+      "profileImage": "A String", # The URL to the main profile image of the public profile.
+      "displayImageUrl": "A String", # The URL to the main display image of the public profile. Being deprecated.
+      "displayName": "A String", # The display name of the public profile.
+      "id": "A String", # The ID which can be used to retrieve more details about the public profile.
+    },
+    "examStatus": [ # The list of exams the user ever taken. For each type of exam, only one
+        # entry is listed.
+      { # A user's information on a specific exam.
+        "examType": "A String", # The type of the exam.
+        "warning": True or False, # Whether this exam is in the state of warning.
+        "expiration": "A String", # Date this exam is due to expire.
+        "passed": True or False, # Whether this exam has been passed and not expired.
+        "taken": "A String", # The date the user last taken this exam.
+        "lastPassed": "A String", # The date the user last passed this exam.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="updateProfile">updateProfile(body, requestMetadata_userOverrides_ipAddress=None, requestMetadata_trafficSource_trafficSubId=None, requestMetadata_userOverrides_userId=None, x__xgafv=None, requestMetadata_locale=None, requestMetadata_experimentIds=None, requestMetadata_trafficSource_trafficSourceId=None, requestMetadata_partnersSessionId=None)</code>
+  <pre>Updates a user's profile. A user can only update their own profile and
+should only be called within the context of a logged in user.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The profile information of a Partners user.
+    "industries": [ # A list of ids representing which industries the user selected.
+      "A String",
+    ],
+    "primaryCountryCode": "A String", # The user's primary country, an ISO 2-character code.
+    "adwordsManagerAccount": "A String", # If the user has edit access to multiple accounts, the user can choose the
+        # preferred account and it is used when a personal account is needed. Can
+        # be empty.
+    "languages": [ # The list of languages this user understands.
+      "A String",
+    ],
+    "jobFunctions": [ # A list of ids represnting which job categories the user selected.
+      "A String",
+    ],
+    "emailOptIns": { # A set of opt-ins for a user. # The list of opt-ins for the user, related to communication preferences.
+      "specialOffers": True or False, # An opt-in about receiving email regarding new features and products.
+      "marketComm": True or False, # An opt-in about receiving email from Partners marketing teams. Includes
+          # member-only events and special promotional offers for Google products.
+      "phoneContact": True or False, # An opt-in to allow recieivng phone calls about their Partners account.
+      "physicalMail": True or False, # An opt-in to receive special promotional gifts and material in the mail.
+      "performanceSuggestions": True or False, # An opt-in about receiving email with customized AdWords campaign management
+          # tips.
+    },
+    "familyName": "A String", # The user's family name.
+    "channels": [ # A list of ids representing which channels the user selected they were in.
+      "A String",
+    ],
+    "emailAddress": "A String", # The email address the user has selected on the Partners site as primary.
+    "address": { # A location with address and geographic coordinates. May optionally contain a # The user's mailing address, contains multiple fields.
+        # detailed (multi-field) version of the address.
+      "languageCode": "A String", # Language code of the address. Should be in BCP 47 format.
+      "addressLine": [ # The following address lines represent the most specific part of any
+          # address.
+        "A String",
+      ],
+      "dependentLocality": "A String", # Dependent locality or sublocality. Used for UK dependent localities, or
+          # neighborhoods or boroughs in other locations.
+      "sortingCode": "A String", # Use of this code is very country-specific, but will refer to a secondary
+          # classification code for sorting mail.
+      "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # The latitude and longitude of the location, in degrees.
+          # of doubles representing degrees latitude and degrees longitude. Unless
+          # specified otherwise, this must conform to the
+          # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
+          # standard</a>. Values must be within normalized ranges.
+          #
+          # Example of normalization code in Python:
+          #
+          #     def NormalizeLongitude(longitude):
+          #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
+          #       q, r = divmod(longitude, 360.0)
+          #       if r > 180.0 or (r == 180.0 and q <= -1.0):
+          #         return r - 360.0
+          #       return r
+          #
+          #     def NormalizeLatLng(latitude, longitude):
+          #       """Wraps decimal degrees latitude and longitude to
+          #       [-90.0, 90.0] and [-180.0, 180.0], respectively."""
+          #       r = latitude % 360.0
+          #       if r <= 90.0:
+          #         return r, NormalizeLongitude(longitude)
+          #       elif r >= 270.0:
+          #         return r - 360, NormalizeLongitude(longitude)
+          #       else:
+          #         return 180 - r, NormalizeLongitude(longitude + 180.0)
+          #
+          #     assert 180.0 == NormalizeLongitude(180.0)
+          #     assert -180.0 == NormalizeLongitude(-180.0)
+          #     assert -179.0 == NormalizeLongitude(181.0)
+          #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
+          #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
+          #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
+          #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
+          #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
+          #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
+          #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
+          #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
+          #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
+          #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
+          #
+          # The code in logs/storage/validator/logs_validator_traits.cc treats this type
+          # as if it were annotated as ST_LOCATION.
+        "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+        "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+      },
+      "locality": "A String", # Generally refers to the city/town portion of an address.
+      "regionCode": "A String", # CLDR (Common Locale Data Repository) region code .
+      "administrativeArea": "A String", # Top-level administrative subdivision of this country.
+      "address": "A String", # The single string version of the address.
+      "postalCode": "A String", # Values are frequently alphanumeric.
+    },
+    "phoneNumber": "A String", # The user's phone number.
+    "givenName": "A String", # The user's given name.
+    "markets": [ # A list of ids representing which markets the user was interested in.
+      "A String",
+    ],
+    "profilePublic": True or False, # Whether the user's public profile is visible to anyone with the URL.
+  }
+
+  requestMetadata_userOverrides_ipAddress: string, IP address to use instead of the user's geo-located IP address.
+  requestMetadata_trafficSource_trafficSubId: string, Second level identifier to indicate where the traffic comes from.
+An identifier has multiple letters created by a team which redirected the
+traffic to us.
+  requestMetadata_userOverrides_userId: string, Logged-in user ID to impersonate instead of the user's ID.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  requestMetadata_locale: string, Locale to use for the current request.
+  requestMetadata_experimentIds: string, Experiment IDs the current request belongs to. (repeated)
+  requestMetadata_trafficSource_trafficSourceId: string, Identifier to indicate where the traffic comes from.
+An identifier has multiple letters created by a team which redirected the
+traffic to us.
+  requestMetadata_partnersSessionId: string, Google Partners session ID.
+
+Returns:
+  An object of the form:
+
+    { # The profile information of a Partners user.
+      "industries": [ # A list of ids representing which industries the user selected.
+        "A String",
+      ],
+      "primaryCountryCode": "A String", # The user's primary country, an ISO 2-character code.
+      "adwordsManagerAccount": "A String", # If the user has edit access to multiple accounts, the user can choose the
+          # preferred account and it is used when a personal account is needed. Can
+          # be empty.
+      "languages": [ # The list of languages this user understands.
+        "A String",
+      ],
+      "jobFunctions": [ # A list of ids represnting which job categories the user selected.
+        "A String",
+      ],
+      "emailOptIns": { # A set of opt-ins for a user. # The list of opt-ins for the user, related to communication preferences.
+        "specialOffers": True or False, # An opt-in about receiving email regarding new features and products.
+        "marketComm": True or False, # An opt-in about receiving email from Partners marketing teams. Includes
+            # member-only events and special promotional offers for Google products.
+        "phoneContact": True or False, # An opt-in to allow recieivng phone calls about their Partners account.
+        "physicalMail": True or False, # An opt-in to receive special promotional gifts and material in the mail.
+        "performanceSuggestions": True or False, # An opt-in about receiving email with customized AdWords campaign management
+            # tips.
+      },
+      "familyName": "A String", # The user's family name.
+      "channels": [ # A list of ids representing which channels the user selected they were in.
+        "A String",
+      ],
+      "emailAddress": "A String", # The email address the user has selected on the Partners site as primary.
+      "address": { # A location with address and geographic coordinates. May optionally contain a # The user's mailing address, contains multiple fields.
+          # detailed (multi-field) version of the address.
+        "languageCode": "A String", # Language code of the address. Should be in BCP 47 format.
+        "addressLine": [ # The following address lines represent the most specific part of any
+            # address.
+          "A String",
+        ],
+        "dependentLocality": "A String", # Dependent locality or sublocality. Used for UK dependent localities, or
+            # neighborhoods or boroughs in other locations.
+        "sortingCode": "A String", # Use of this code is very country-specific, but will refer to a secondary
+            # classification code for sorting mail.
+        "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # The latitude and longitude of the location, in degrees.
+            # of doubles representing degrees latitude and degrees longitude. Unless
+            # specified otherwise, this must conform to the
+            # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
+            # standard</a>. Values must be within normalized ranges.
+            #
+            # Example of normalization code in Python:
+            #
+            #     def NormalizeLongitude(longitude):
+            #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
+            #       q, r = divmod(longitude, 360.0)
+            #       if r > 180.0 or (r == 180.0 and q <= -1.0):
+            #         return r - 360.0
+            #       return r
+            #
+            #     def NormalizeLatLng(latitude, longitude):
+            #       """Wraps decimal degrees latitude and longitude to
+            #       [-90.0, 90.0] and [-180.0, 180.0], respectively."""
+            #       r = latitude % 360.0
+            #       if r <= 90.0:
+            #         return r, NormalizeLongitude(longitude)
+            #       elif r >= 270.0:
+            #         return r - 360, NormalizeLongitude(longitude)
+            #       else:
+            #         return 180 - r, NormalizeLongitude(longitude + 180.0)
+            #
+            #     assert 180.0 == NormalizeLongitude(180.0)
+            #     assert -180.0 == NormalizeLongitude(-180.0)
+            #     assert -179.0 == NormalizeLongitude(181.0)
+            #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
+            #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
+            #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
+            #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
+            #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
+            #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
+            #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
+            #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
+            #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
+            #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
+            #
+            # The code in logs/storage/validator/logs_validator_traits.cc treats this type
+            # as if it were annotated as ST_LOCATION.
+          "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+          "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+        },
+        "locality": "A String", # Generally refers to the city/town portion of an address.
+        "regionCode": "A String", # CLDR (Common Locale Data Repository) region code .
+        "administrativeArea": "A String", # Top-level administrative subdivision of this country.
+        "address": "A String", # The single string version of the address.
+        "postalCode": "A String", # Values are frequently alphanumeric.
+      },
+      "phoneNumber": "A String", # The user's phone number.
+      "givenName": "A String", # The user's given name.
+      "markets": [ # A list of ids representing which markets the user was interested in.
+        "A String",
+      ],
+      "profilePublic": True or False, # Whether the user's public profile is visible to anyone with the URL.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file