Bug 1411861 - Update csd.pb.cc & csd.pb.h. r?francois draft
authorDimiL <dlee@mozilla.com>
Fri, 27 Oct 2017 11:21:03 +0800
changeset 688533 c62584af57ea0941a3b51a58fcfb48438e29a377
parent 688532 59a2d81161d634e817ee1c7968cbc65721c7bd50
child 688534 b1017b9b454ed156eadbc6d9d886e27cf7691061
child 700503 a61726568e035f1bb4f4718db22d6bcdb6fed7c9
push id86771
push userbmo:dlee@mozilla.com
push dateMon, 30 Oct 2017 07:11:09 +0000
reviewersfrancois
bugs1411861
milestone58.0a1
Bug 1411861 - Update csd.pb.cc & csd.pb.h. r?francois MozReview-Commit-ID: DPxpodKUPhW
toolkit/components/reputationservice/chromium/chrome/common/safe_browsing/csd.pb.cc
toolkit/components/reputationservice/chromium/chrome/common/safe_browsing/csd.pb.h
--- a/toolkit/components/reputationservice/chromium/chrome/common/safe_browsing/csd.pb.cc
+++ b/toolkit/components/reputationservice/chromium/chrome/common/safe_browsing/csd.pb.cc
@@ -40,16 +40,41 @@ public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientMalwareRequest_UrlInfo>
      _instance;
 } _ClientMalwareRequest_UrlInfo_default_instance_;
 class ClientMalwareRequestDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientMalwareRequest>
      _instance;
 } _ClientMalwareRequest_default_instance_;
+class LoginReputationClientRequest_Frame_FormDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<LoginReputationClientRequest_Frame_Form>
+     _instance;
+} _LoginReputationClientRequest_Frame_Form_default_instance_;
+class LoginReputationClientRequest_FrameDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<LoginReputationClientRequest_Frame>
+     _instance;
+} _LoginReputationClientRequest_Frame_default_instance_;
+class LoginReputationClientRequest_PasswordReuseEventDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<LoginReputationClientRequest_PasswordReuseEvent>
+     _instance;
+} _LoginReputationClientRequest_PasswordReuseEvent_default_instance_;
+class LoginReputationClientRequestDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<LoginReputationClientRequest>
+     _instance;
+} _LoginReputationClientRequest_default_instance_;
+class LoginReputationClientResponseDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<LoginReputationClientResponse>
+     _instance;
+} _LoginReputationClientResponse_default_instance_;
 class ClientMalwareResponseDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientMalwareResponse>
      _instance;
 } _ClientMalwareResponse_default_instance_;
 class ClientDownloadRequest_DigestsDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest_Digests>
@@ -105,26 +130,31 @@ public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest_ImageHeaders>
      _instance;
 } _ClientDownloadRequest_ImageHeaders_default_instance_;
 class ClientDownloadRequest_ArchivedBinaryDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest_ArchivedBinary>
      _instance;
 } _ClientDownloadRequest_ArchivedBinary_default_instance_;
-class ClientDownloadRequest_URLChainEntryDefaultTypeInternal {
-public:
- ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest_URLChainEntry>
-     _instance;
-} _ClientDownloadRequest_URLChainEntry_default_instance_;
 class ClientDownloadRequestDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest>
      _instance;
 } _ClientDownloadRequest_default_instance_;
+class ReferrerChainEntry_ServerRedirectDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<ReferrerChainEntry_ServerRedirect>
+     _instance;
+} _ReferrerChainEntry_ServerRedirect_default_instance_;
+class ReferrerChainEntryDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<ReferrerChainEntry>
+     _instance;
+} _ReferrerChainEntry_default_instance_;
 class ClientDownloadResponse_MoreInfoDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadResponse_MoreInfo>
      _instance;
 } _ClientDownloadResponse_MoreInfo_default_instance_;
 class ClientDownloadResponseDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadResponse>
@@ -155,36 +185,21 @@ public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile>
      _instance;
 } _ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile_default_instance_;
 class ClientIncidentReport_IncidentData_BinaryIntegrityIncidentDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_IncidentData_BinaryIntegrityIncident>
      _instance;
 } _ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_;
-class ClientIncidentReport_IncidentData_BlacklistLoadIncidentDefaultTypeInternal {
-public:
- ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_IncidentData_BlacklistLoadIncident>
-     _instance;
-} _ClientIncidentReport_IncidentData_BlacklistLoadIncident_default_instance_;
-class ClientIncidentReport_IncidentData_VariationsSeedSignatureIncidentDefaultTypeInternal {
-public:
- ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident>
-     _instance;
-} _ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident_default_instance_;
 class ClientIncidentReport_IncidentData_ResourceRequestIncidentDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_IncidentData_ResourceRequestIncident>
      _instance;
 } _ClientIncidentReport_IncidentData_ResourceRequestIncident_default_instance_;
-class ClientIncidentReport_IncidentData_SuspiciousModuleIncidentDefaultTypeInternal {
-public:
- ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_IncidentData_SuspiciousModuleIncident>
-     _instance;
-} _ClientIncidentReport_IncidentData_SuspiciousModuleIncident_default_instance_;
 class ClientIncidentReport_IncidentDataDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_IncidentData>
      _instance;
 } _ClientIncidentReport_IncidentData_default_instance_;
 class ClientIncidentReport_DownloadDetailsDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_DownloadDetails>
@@ -305,21 +320,51 @@ public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientSafeBrowsingReportRequest_HTTPResponse>
      _instance;
 } _ClientSafeBrowsingReportRequest_HTTPResponse_default_instance_;
 class ClientSafeBrowsingReportRequest_ResourceDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientSafeBrowsingReportRequest_Resource>
      _instance;
 } _ClientSafeBrowsingReportRequest_Resource_default_instance_;
+class ClientSafeBrowsingReportRequest_SafeBrowsingClientPropertiesDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties>
+     _instance;
+} _ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties_default_instance_;
 class ClientSafeBrowsingReportRequestDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientSafeBrowsingReportRequest>
      _instance;
 } _ClientSafeBrowsingReportRequest_default_instance_;
+class HTMLElement_AttributeDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<HTMLElement_Attribute>
+     _instance;
+} _HTMLElement_Attribute_default_instance_;
+class HTMLElementDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<HTMLElement>
+     _instance;
+} _HTMLElement_default_instance_;
+class ImageData_DimensionsDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<ImageData_Dimensions>
+     _instance;
+} _ImageData_Dimensions_default_instance_;
+class ImageDataDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<ImageData>
+     _instance;
+} _ImageData_default_instance_;
+class NotificationImageReportRequestDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<NotificationImageReportRequest>
+     _instance;
+} _NotificationImageReportRequest_default_instance_;
 
 namespace protobuf_csd_2eproto {
 
 PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTableField
     const TableStruct::entries[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
   {0, 0, 0, ::google::protobuf::internal::kInvalidMask, 0, 0},
 };
 
@@ -384,16 +429,25 @@ PROTOBUF_CONSTEXPR_VAR ::google::protobu
   { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
   { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
   { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
   { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
   { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
   { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
   { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
   { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
 };
 
 void TableStruct::InitDefaultsImpl() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
   ::google::protobuf::internal::InitProtobufDefaults();
   _ChromeUserPopulation_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
@@ -402,17 +456,27 @@ void TableStruct::InitDefaultsImpl() {
       &_ClientPhishingRequest_Feature_default_instance_);_ClientPhishingRequest_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientPhishingRequest_default_instance_);_ClientPhishingResponse_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientPhishingResponse_default_instance_);_ClientMalwareRequest_UrlInfo_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientMalwareRequest_UrlInfo_default_instance_);_ClientMalwareRequest_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
-      &_ClientMalwareRequest_default_instance_);_ClientMalwareResponse_default_instance_._instance.DefaultConstruct();
+      &_ClientMalwareRequest_default_instance_);_LoginReputationClientRequest_Frame_Form_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_LoginReputationClientRequest_Frame_Form_default_instance_);_LoginReputationClientRequest_Frame_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_LoginReputationClientRequest_Frame_default_instance_);_LoginReputationClientRequest_PasswordReuseEvent_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_LoginReputationClientRequest_PasswordReuseEvent_default_instance_);_LoginReputationClientRequest_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_LoginReputationClientRequest_default_instance_);_LoginReputationClientResponse_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_LoginReputationClientResponse_default_instance_);_ClientMalwareResponse_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientMalwareResponse_default_instance_);_ClientDownloadRequest_Digests_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientDownloadRequest_Digests_default_instance_);_ClientDownloadRequest_Resource_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientDownloadRequest_Resource_default_instance_);_ClientDownloadRequest_CertificateChain_Element_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientDownloadRequest_CertificateChain_Element_default_instance_);_ClientDownloadRequest_CertificateChain_default_instance_._instance.DefaultConstruct();
@@ -428,45 +492,41 @@ void TableStruct::InitDefaultsImpl() {
       &_ClientDownloadRequest_PEImageHeaders_default_instance_);_ClientDownloadRequest_MachOHeaders_LoadCommand_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientDownloadRequest_MachOHeaders_LoadCommand_default_instance_);_ClientDownloadRequest_MachOHeaders_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientDownloadRequest_MachOHeaders_default_instance_);_ClientDownloadRequest_ImageHeaders_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientDownloadRequest_ImageHeaders_default_instance_);_ClientDownloadRequest_ArchivedBinary_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
-      &_ClientDownloadRequest_ArchivedBinary_default_instance_);_ClientDownloadRequest_URLChainEntry_default_instance_._instance.DefaultConstruct();
-  ::google::protobuf::internal::OnShutdownDestroyMessage(
-      &_ClientDownloadRequest_URLChainEntry_default_instance_);_ClientDownloadRequest_default_instance_._instance.DefaultConstruct();
-  ::google::protobuf::internal::OnShutdownDestroyMessage(
-      &_ClientDownloadRequest_default_instance_);_ClientDownloadResponse_MoreInfo_default_instance_._instance.DefaultConstruct();
+      &_ClientDownloadRequest_ArchivedBinary_default_instance_);_ClientDownloadRequest_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_ClientDownloadRequest_default_instance_);_ReferrerChainEntry_ServerRedirect_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_ReferrerChainEntry_ServerRedirect_default_instance_);_ReferrerChainEntry_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_ReferrerChainEntry_default_instance_);_ClientDownloadResponse_MoreInfo_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientDownloadResponse_MoreInfo_default_instance_);_ClientDownloadResponse_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientDownloadResponse_default_instance_);_ClientDownloadReport_UserInformation_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientDownloadReport_UserInformation_default_instance_);_ClientDownloadReport_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientDownloadReport_default_instance_);_ClientUploadResponse_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientUploadResponse_default_instance_);_ClientIncidentReport_IncidentData_TrackedPreferenceIncident_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientIncidentReport_IncidentData_TrackedPreferenceIncident_default_instance_);_ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile_default_instance_);_ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
-      &_ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_);_ClientIncidentReport_IncidentData_BlacklistLoadIncident_default_instance_._instance.DefaultConstruct();
-  ::google::protobuf::internal::OnShutdownDestroyMessage(
-      &_ClientIncidentReport_IncidentData_BlacklistLoadIncident_default_instance_);_ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident_default_instance_._instance.DefaultConstruct();
-  ::google::protobuf::internal::OnShutdownDestroyMessage(
-      &_ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident_default_instance_);_ClientIncidentReport_IncidentData_ResourceRequestIncident_default_instance_._instance.DefaultConstruct();
-  ::google::protobuf::internal::OnShutdownDestroyMessage(
-      &_ClientIncidentReport_IncidentData_ResourceRequestIncident_default_instance_);_ClientIncidentReport_IncidentData_SuspiciousModuleIncident_default_instance_._instance.DefaultConstruct();
-  ::google::protobuf::internal::OnShutdownDestroyMessage(
-      &_ClientIncidentReport_IncidentData_SuspiciousModuleIncident_default_instance_);_ClientIncidentReport_IncidentData_default_instance_._instance.DefaultConstruct();
+      &_ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_);_ClientIncidentReport_IncidentData_ResourceRequestIncident_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_ClientIncidentReport_IncidentData_ResourceRequestIncident_default_instance_);_ClientIncidentReport_IncidentData_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientIncidentReport_IncidentData_default_instance_);_ClientIncidentReport_DownloadDetails_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientIncidentReport_DownloadDetails_default_instance_);_ClientIncidentReport_EnvironmentData_OS_RegistryValue_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientIncidentReport_EnvironmentData_OS_RegistryValue_default_instance_);_ClientIncidentReport_EnvironmentData_OS_RegistryKey_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientIncidentReport_EnvironmentData_OS_RegistryKey_default_instance_);_ClientIncidentReport_EnvironmentData_OS_default_instance_._instance.DefaultConstruct();
@@ -508,22 +568,38 @@ void TableStruct::InitDefaultsImpl() {
       &_ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine_default_instance_);_ClientSafeBrowsingReportRequest_HTTPRequest_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientSafeBrowsingReportRequest_HTTPRequest_default_instance_);_ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine_default_instance_);_ClientSafeBrowsingReportRequest_HTTPResponse_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientSafeBrowsingReportRequest_HTTPResponse_default_instance_);_ClientSafeBrowsingReportRequest_Resource_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
-      &_ClientSafeBrowsingReportRequest_Resource_default_instance_);_ClientSafeBrowsingReportRequest_default_instance_._instance.DefaultConstruct();
-  ::google::protobuf::internal::OnShutdownDestroyMessage(
-      &_ClientSafeBrowsingReportRequest_default_instance_);_ClientPhishingRequest_default_instance_._instance.get_mutable()->population_ = const_cast< ::safe_browsing::ChromeUserPopulation*>(
+      &_ClientSafeBrowsingReportRequest_Resource_default_instance_);_ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties_default_instance_);_ClientSafeBrowsingReportRequest_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_ClientSafeBrowsingReportRequest_default_instance_);_HTMLElement_Attribute_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_HTMLElement_Attribute_default_instance_);_HTMLElement_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_HTMLElement_default_instance_);_ImageData_Dimensions_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_ImageData_Dimensions_default_instance_);_ImageData_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_ImageData_default_instance_);_NotificationImageReportRequest_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_NotificationImageReportRequest_default_instance_);_ClientPhishingRequest_default_instance_._instance.get_mutable()->population_ = const_cast< ::safe_browsing::ChromeUserPopulation*>(
       ::safe_browsing::ChromeUserPopulation::internal_default_instance());
   _ClientMalwareRequest_default_instance_._instance.get_mutable()->population_ = const_cast< ::safe_browsing::ChromeUserPopulation*>(
       ::safe_browsing::ChromeUserPopulation::internal_default_instance());
+  _LoginReputationClientRequest_default_instance_._instance.get_mutable()->password_reuse_event_ = const_cast< ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent*>(
+      ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent::internal_default_instance());
+  _LoginReputationClientRequest_default_instance_._instance.get_mutable()->population_ = const_cast< ::safe_browsing::ChromeUserPopulation*>(
+      ::safe_browsing::ChromeUserPopulation::internal_default_instance());
   _ClientDownloadRequest_ImageHeaders_default_instance_._instance.get_mutable()->pe_headers_ = const_cast< ::safe_browsing::ClientDownloadRequest_PEImageHeaders*>(
       ::safe_browsing::ClientDownloadRequest_PEImageHeaders::internal_default_instance());
   _ClientDownloadRequest_ArchivedBinary_default_instance_._instance.get_mutable()->digests_ = const_cast< ::safe_browsing::ClientDownloadRequest_Digests*>(
       ::safe_browsing::ClientDownloadRequest_Digests::internal_default_instance());
   _ClientDownloadRequest_ArchivedBinary_default_instance_._instance.get_mutable()->signature_ = const_cast< ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
       ::safe_browsing::ClientDownloadRequest_SignatureInfo::internal_default_instance());
   _ClientDownloadRequest_ArchivedBinary_default_instance_._instance.get_mutable()->image_headers_ = const_cast< ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
       ::safe_browsing::ClientDownloadRequest_ImageHeaders::internal_default_instance());
@@ -546,40 +622,22 @@ void TableStruct::InitDefaultsImpl() {
   _ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile_default_instance_._instance.get_mutable()->signature_ = const_cast< ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
       ::safe_browsing::ClientDownloadRequest_SignatureInfo::internal_default_instance());
   _ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile_default_instance_._instance.get_mutable()->image_headers_ = const_cast< ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
       ::safe_browsing::ClientDownloadRequest_ImageHeaders::internal_default_instance());
   _ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_._instance.get_mutable()->signature_ = const_cast< ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
       ::safe_browsing::ClientDownloadRequest_SignatureInfo::internal_default_instance());
   _ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_._instance.get_mutable()->image_headers_ = const_cast< ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
       ::safe_browsing::ClientDownloadRequest_ImageHeaders::internal_default_instance());
-  _ClientIncidentReport_IncidentData_BlacklistLoadIncident_default_instance_._instance.get_mutable()->digest_ = const_cast< ::safe_browsing::ClientDownloadRequest_Digests*>(
-      ::safe_browsing::ClientDownloadRequest_Digests::internal_default_instance());
-  _ClientIncidentReport_IncidentData_BlacklistLoadIncident_default_instance_._instance.get_mutable()->signature_ = const_cast< ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
-      ::safe_browsing::ClientDownloadRequest_SignatureInfo::internal_default_instance());
-  _ClientIncidentReport_IncidentData_BlacklistLoadIncident_default_instance_._instance.get_mutable()->image_headers_ = const_cast< ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
-      ::safe_browsing::ClientDownloadRequest_ImageHeaders::internal_default_instance());
-  _ClientIncidentReport_IncidentData_SuspiciousModuleIncident_default_instance_._instance.get_mutable()->digest_ = const_cast< ::safe_browsing::ClientDownloadRequest_Digests*>(
-      ::safe_browsing::ClientDownloadRequest_Digests::internal_default_instance());
-  _ClientIncidentReport_IncidentData_SuspiciousModuleIncident_default_instance_._instance.get_mutable()->signature_ = const_cast< ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
-      ::safe_browsing::ClientDownloadRequest_SignatureInfo::internal_default_instance());
-  _ClientIncidentReport_IncidentData_SuspiciousModuleIncident_default_instance_._instance.get_mutable()->image_headers_ = const_cast< ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
-      ::safe_browsing::ClientDownloadRequest_ImageHeaders::internal_default_instance());
   _ClientIncidentReport_IncidentData_default_instance_._instance.get_mutable()->tracked_preference_ = const_cast< ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident*>(
       ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident::internal_default_instance());
   _ClientIncidentReport_IncidentData_default_instance_._instance.get_mutable()->binary_integrity_ = const_cast< ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident*>(
       ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident::internal_default_instance());
-  _ClientIncidentReport_IncidentData_default_instance_._instance.get_mutable()->blacklist_load_ = const_cast< ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident*>(
-      ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident::internal_default_instance());
-  _ClientIncidentReport_IncidentData_default_instance_._instance.get_mutable()->variations_seed_signature_ = const_cast< ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident*>(
-      ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::internal_default_instance());
   _ClientIncidentReport_IncidentData_default_instance_._instance.get_mutable()->resource_request_ = const_cast< ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident*>(
       ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident::internal_default_instance());
-  _ClientIncidentReport_IncidentData_default_instance_._instance.get_mutable()->suspicious_module_ = const_cast< ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident*>(
-      ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident::internal_default_instance());
   _ClientIncidentReport_DownloadDetails_default_instance_._instance.get_mutable()->download_ = const_cast< ::safe_browsing::ClientDownloadRequest*>(
       ::safe_browsing::ClientDownloadRequest::internal_default_instance());
   _ClientIncidentReport_EnvironmentData_Process_Dll_default_instance_._instance.get_mutable()->image_headers_ = const_cast< ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
       ::safe_browsing::ClientDownloadRequest_ImageHeaders::internal_default_instance());
   _ClientIncidentReport_EnvironmentData_default_instance_._instance.get_mutable()->os_ = const_cast< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS*>(
       ::safe_browsing::ClientIncidentReport_EnvironmentData_OS::internal_default_instance());
   _ClientIncidentReport_EnvironmentData_default_instance_._instance.get_mutable()->machine_ = const_cast< ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine*>(
       ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine::internal_default_instance());
@@ -602,16 +660,24 @@ void TableStruct::InitDefaultsImpl() {
   _ClientSafeBrowsingReportRequest_HTTPRequest_default_instance_._instance.get_mutable()->firstline_ = const_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine*>(
       ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::internal_default_instance());
   _ClientSafeBrowsingReportRequest_HTTPResponse_default_instance_._instance.get_mutable()->firstline_ = const_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine*>(
       ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::internal_default_instance());
   _ClientSafeBrowsingReportRequest_Resource_default_instance_._instance.get_mutable()->request_ = const_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest*>(
       ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest::internal_default_instance());
   _ClientSafeBrowsingReportRequest_Resource_default_instance_._instance.get_mutable()->response_ = const_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse*>(
       ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse::internal_default_instance());
+  _ClientSafeBrowsingReportRequest_default_instance_._instance.get_mutable()->client_properties_ = const_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties*>(
+      ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::internal_default_instance());
+  _ImageData_default_instance_._instance.get_mutable()->dimensions_ = const_cast< ::safe_browsing::ImageData_Dimensions*>(
+      ::safe_browsing::ImageData_Dimensions::internal_default_instance());
+  _ImageData_default_instance_._instance.get_mutable()->original_dimensions_ = const_cast< ::safe_browsing::ImageData_Dimensions*>(
+      ::safe_browsing::ImageData_Dimensions::internal_default_instance());
+  _NotificationImageReportRequest_default_instance_._instance.get_mutable()->image_ = const_cast< ::safe_browsing::ImageData*>(
+      ::safe_browsing::ImageData::internal_default_instance());
 }
 
 void InitDefaults() {
   static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
   ::google::protobuf::GoogleOnceInit(&once, &TableStruct::InitDefaultsImpl);
 }
 namespace {
 void AddDescriptorsImpl() {
@@ -640,40 +706,74 @@ bool ChromeUserPopulation_UserPopulation
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const ChromeUserPopulation_UserPopulation ChromeUserPopulation::UNKNOWN_USER_POPULATION;
 const ChromeUserPopulation_UserPopulation ChromeUserPopulation::SAFE_BROWSING;
 const ChromeUserPopulation_UserPopulation ChromeUserPopulation::EXTENDED_REPORTING;
 const ChromeUserPopulation_UserPopulation ChromeUserPopulation::UserPopulation_MIN;
 const ChromeUserPopulation_UserPopulation ChromeUserPopulation::UserPopulation_MAX;
 const int ChromeUserPopulation::UserPopulation_ARRAYSIZE;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
-bool ClientDownloadRequest_URLChainEntry_URLType_IsValid(int value) {
+bool LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_IsValid(int value) {
   switch (value) {
+    case 0:
     case 1:
     case 2:
-    case 3:
-    case 4:
-    case 5:
-    case 6:
+      return true;
+    default:
+      return false;
+  }
+}
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent::NOT_SIGNED_IN;
+const LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent::GMAIL;
+const LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent::GSUITE;
+const LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent::SyncAccountType_MIN;
+const LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent::SyncAccountType_MAX;
+const int LoginReputationClientRequest_PasswordReuseEvent::SyncAccountType_ARRAYSIZE;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+bool LoginReputationClientRequest_TriggerType_IsValid(int value) {
+  switch (value) {
+    case 0:
+    case 1:
+    case 2:
       return true;
     default:
       return false;
   }
 }
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
-const ClientDownloadRequest_URLChainEntry_URLType ClientDownloadRequest_URLChainEntry::DOWNLOAD_URL;
-const ClientDownloadRequest_URLChainEntry_URLType ClientDownloadRequest_URLChainEntry::DOWNLOAD_REFERRER;
-const ClientDownloadRequest_URLChainEntry_URLType ClientDownloadRequest_URLChainEntry::LANDING_PAGE;
-const ClientDownloadRequest_URLChainEntry_URLType ClientDownloadRequest_URLChainEntry::LANDING_REFERRER;
-const ClientDownloadRequest_URLChainEntry_URLType ClientDownloadRequest_URLChainEntry::CLIENT_REDIRECT;
-const ClientDownloadRequest_URLChainEntry_URLType ClientDownloadRequest_URLChainEntry::SERVER_REDIRECT;
-const ClientDownloadRequest_URLChainEntry_URLType ClientDownloadRequest_URLChainEntry::URLType_MIN;
-const ClientDownloadRequest_URLChainEntry_URLType ClientDownloadRequest_URLChainEntry::URLType_MAX;
-const int ClientDownloadRequest_URLChainEntry::URLType_ARRAYSIZE;
+const LoginReputationClientRequest_TriggerType LoginReputationClientRequest::TRIGGER_TYPE_UNSPECIFIED;
+const LoginReputationClientRequest_TriggerType LoginReputationClientRequest::UNFAMILIAR_LOGIN_PAGE;
+const LoginReputationClientRequest_TriggerType LoginReputationClientRequest::PASSWORD_REUSE_EVENT;
+const LoginReputationClientRequest_TriggerType LoginReputationClientRequest::TriggerType_MIN;
+const LoginReputationClientRequest_TriggerType LoginReputationClientRequest::TriggerType_MAX;
+const int LoginReputationClientRequest::TriggerType_ARRAYSIZE;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+bool LoginReputationClientResponse_VerdictType_IsValid(int value) {
+  switch (value) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+      return true;
+    default:
+      return false;
+  }
+}
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const LoginReputationClientResponse_VerdictType LoginReputationClientResponse::VERDICT_TYPE_UNSPECIFIED;
+const LoginReputationClientResponse_VerdictType LoginReputationClientResponse::SAFE;
+const LoginReputationClientResponse_VerdictType LoginReputationClientResponse::LOW_REPUTATION;
+const LoginReputationClientResponse_VerdictType LoginReputationClientResponse::PHISHING;
+const LoginReputationClientResponse_VerdictType LoginReputationClientResponse::VerdictType_MIN;
+const LoginReputationClientResponse_VerdictType LoginReputationClientResponse::VerdictType_MAX;
+const int LoginReputationClientResponse::VerdictType_ARRAYSIZE;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 bool ClientDownloadRequest_ResourceType_IsValid(int value) {
   switch (value) {
     case 0:
     case 1:
     case 2:
     case 3:
     case 4:
@@ -725,16 +825,39 @@ const ClientDownloadRequest_DownloadType
 const ClientDownloadRequest_DownloadType ClientDownloadRequest::INVALID_ZIP;
 const ClientDownloadRequest_DownloadType ClientDownloadRequest::INVALID_MAC_ARCHIVE;
 const ClientDownloadRequest_DownloadType ClientDownloadRequest::PPAPI_SAVE_REQUEST;
 const ClientDownloadRequest_DownloadType ClientDownloadRequest::SAMPLED_UNSUPPORTED_FILE;
 const ClientDownloadRequest_DownloadType ClientDownloadRequest::DownloadType_MIN;
 const ClientDownloadRequest_DownloadType ClientDownloadRequest::DownloadType_MAX;
 const int ClientDownloadRequest::DownloadType_ARRAYSIZE;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+bool ReferrerChainEntry_URLType_IsValid(int value) {
+  switch (value) {
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+      return true;
+    default:
+      return false;
+  }
+}
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const ReferrerChainEntry_URLType ReferrerChainEntry::EVENT_URL;
+const ReferrerChainEntry_URLType ReferrerChainEntry::LANDING_PAGE;
+const ReferrerChainEntry_URLType ReferrerChainEntry::LANDING_REFERRER;
+const ReferrerChainEntry_URLType ReferrerChainEntry::CLIENT_REDIRECT;
+const ReferrerChainEntry_URLType ReferrerChainEntry::DEPRECATED_SERVER_REDIRECT;
+const ReferrerChainEntry_URLType ReferrerChainEntry::URLType_MIN;
+const ReferrerChainEntry_URLType ReferrerChainEntry::URLType_MAX;
+const int ReferrerChainEntry::URLType_ARRAYSIZE;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 bool ClientDownloadResponse_Verdict_IsValid(int value) {
   switch (value) {
     case 0:
     case 1:
     case 2:
     case 3:
     case 4:
     case 5:
@@ -793,28 +916,32 @@ const int ClientUploadResponse::UploadSt
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 bool ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_IsValid(int value) {
   switch (value) {
     case 0:
     case 1:
     case 2:
     case 3:
     case 4:
+    case 5:
+    case 6:
       return true;
     default:
       return false;
   }
 }
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::UNKNOWN;
 const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::CLEARED;
 const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::WEAK_LEGACY_OBSOLETE;
 const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::CHANGED;
 const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::UNTRUSTED_UNKNOWN_VALUE;
+const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::BYPASS_CLEARED;
+const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::BYPASS_CHANGED;
 const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::ValueState_MIN;
 const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::ValueState_MAX;
 const int ClientIncidentReport_IncidentData_TrackedPreferenceIncident::ValueState_ARRAYSIZE;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 bool ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_IsValid(int value) {
   switch (value) {
     case 0:
     case 3:
@@ -923,64 +1050,100 @@ bool ClientSafeBrowsingReportRequest_Rep
     case 1:
     case 2:
     case 3:
     case 4:
     case 5:
     case 6:
     case 7:
     case 10:
+    case 12:
+    case 13:
+    case 14:
       return true;
     default:
       return false;
   }
 }
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::UNKNOWN;
 const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::URL_PHISHING;
 const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::URL_MALWARE;
 const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::URL_UNWANTED;
-const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::CLIENT_SIDE_PHISHING_URL;
-const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::CLIENT_SIDE_MALWARE_URL;
+const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::URL_CLIENT_SIDE_PHISHING;
+const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::URL_CLIENT_SIDE_MALWARE;
 const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::DANGEROUS_DOWNLOAD_RECOVERY;
 const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::DANGEROUS_DOWNLOAD_WARNING;
 const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::DANGEROUS_DOWNLOAD_BY_API;
+const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::URL_PASSWORD_PROTECTION_PHISHING;
+const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::DANGEROUS_DOWNLOAD_OPENED;
+const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::AD_SAMPLE;
 const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::ReportType_MIN;
 const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::ReportType_MAX;
 const int ClientSafeBrowsingReportRequest::ReportType_ARRAYSIZE;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+bool ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_IsValid(int value) {
+  switch (value) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+      return true;
+    default:
+      return false;
+  }
+}
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest::SAFE_BROWSING_URL_API_TYPE_UNSPECIFIED;
+const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest::PVER3_NATIVE;
+const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest::PVER4_NATIVE;
+const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest::ANDROID_SAFETYNET;
+const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest::FLYWHEEL;
+const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest::SafeBrowsingUrlApiType_MIN;
+const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest::SafeBrowsingUrlApiType_MAX;
+const int ClientSafeBrowsingReportRequest::SafeBrowsingUrlApiType_ARRAYSIZE;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ChromeUserPopulation::kUserPopulationFieldNumber;
+const int ChromeUserPopulation::kIsHistorySyncEnabledFieldNumber;
+const int ChromeUserPopulation::kFinchActiveGroupsFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 ChromeUserPopulation::ChromeUserPopulation()
   : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_csd_2eproto::InitDefaults();
   }
   SharedCtor();
   // @@protoc_insertion_point(constructor:safe_browsing.ChromeUserPopulation)
 }
 ChromeUserPopulation::ChromeUserPopulation(const ChromeUserPopulation& from)
   : ::google::protobuf::MessageLite(),
       _internal_metadata_(NULL),
       _has_bits_(from._has_bits_),
-      _cached_size_(0) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  user_population_ = from.user_population_;
+      _cached_size_(0),
+      finch_active_groups_(from.finch_active_groups_) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::memcpy(&user_population_, &from.user_population_,
+    static_cast<size_t>(reinterpret_cast<char*>(&is_history_sync_enabled_) -
+    reinterpret_cast<char*>(&user_population_)) + sizeof(is_history_sync_enabled_));
   // @@protoc_insertion_point(copy_constructor:safe_browsing.ChromeUserPopulation)
 }
 
 void ChromeUserPopulation::SharedCtor() {
   _cached_size_ = 0;
-  user_population_ = 0;
+  ::memset(&user_population_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&is_history_sync_enabled_) -
+      reinterpret_cast<char*>(&user_population_)) + sizeof(is_history_sync_enabled_));
 }
 
 ChromeUserPopulation::~ChromeUserPopulation() {
   // @@protoc_insertion_point(destructor:safe_browsing.ChromeUserPopulation)
   SharedDtor();
 }
 
 void ChromeUserPopulation::SharedDtor() {
@@ -1005,17 +1168,23 @@ ChromeUserPopulation* ChromeUserPopulati
 }
 
 void ChromeUserPopulation::Clear() {
 // @@protoc_insertion_point(message_clear_start:safe_browsing.ChromeUserPopulation)
   ::google::protobuf::uint32 cached_has_bits = 0;
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
-  user_population_ = 0;
+  finch_active_groups_.Clear();
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 3u) {
+    ::memset(&user_population_, 0, static_cast<size_t>(
+        reinterpret_cast<char*>(&is_history_sync_enabled_) -
+        reinterpret_cast<char*>(&user_population_)) + sizeof(is_history_sync_enabled_));
+  }
   _has_bits_.Clear();
   _internal_metadata_.Clear();
 }
 
 bool ChromeUserPopulation::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   ::google::protobuf::uint32 tag;
@@ -1047,16 +1216,42 @@ bool ChromeUserPopulation::MergePartialF
                 static_cast< ::google::protobuf::uint32>(value));
           }
         } else {
           goto handle_unusual;
         }
         break;
       }
 
+      // optional bool is_history_sync_enabled = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+          set_has_is_history_sync_enabled();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &is_history_sync_enabled_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // repeated string finch_active_groups = 4;
+      case 4: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->add_finch_active_groups()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
       default: {
       handle_unusual:
         if (tag == 0) {
           goto success;
         }
         DO_(::google::protobuf::internal::WireFormatLite::SkipField(
             input, tag, &unknown_fields_stream));
         break;
@@ -1080,33 +1275,59 @@ void ChromeUserPopulation::SerializeWith
 
   cached_has_bits = _has_bits_[0];
   // optional .safe_browsing.ChromeUserPopulation.UserPopulation user_population = 1;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteEnum(
       1, this->user_population(), output);
   }
 
+  // optional bool is_history_sync_enabled = 2;
+  if (cached_has_bits & 0x00000002u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->is_history_sync_enabled(), output);
+  }
+
+  // repeated string finch_active_groups = 4;
+  for (int i = 0, n = this->finch_active_groups_size(); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteString(
+      4, this->finch_active_groups(i), output);
+  }
+
   output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                    static_cast<int>(_internal_metadata_.unknown_fields().size()));
   // @@protoc_insertion_point(serialize_end:safe_browsing.ChromeUserPopulation)
 }
 
 size_t ChromeUserPopulation::ByteSizeLong() const {
 // @@protoc_insertion_point(message_byte_size_start:safe_browsing.ChromeUserPopulation)
   size_t total_size = 0;
 
   total_size += _internal_metadata_.unknown_fields().size();
 
-  // optional .safe_browsing.ChromeUserPopulation.UserPopulation user_population = 1;
-  if (has_user_population()) {
-    total_size += 1 +
-      ::google::protobuf::internal::WireFormatLite::EnumSize(this->user_population());
-  }
-
+  // repeated string finch_active_groups = 4;
+  total_size += 1 *
+      ::google::protobuf::internal::FromIntSize(this->finch_active_groups_size());
+  for (int i = 0, n = this->finch_active_groups_size(); i < n; i++) {
+    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
+      this->finch_active_groups(i));
+  }
+
+  if (_has_bits_[0 / 32] & 3u) {
+    // optional .safe_browsing.ChromeUserPopulation.UserPopulation user_population = 1;
+    if (has_user_population()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::EnumSize(this->user_population());
+    }
+
+    // optional bool is_history_sync_enabled = 2;
+    if (has_is_history_sync_enabled()) {
+      total_size += 1 + 1;
+    }
+
+  }
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = cached_size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void ChromeUserPopulation::CheckTypeAndMergeFrom(
@@ -1116,18 +1337,26 @@ void ChromeUserPopulation::CheckTypeAndM
 
 void ChromeUserPopulation::MergeFrom(const ChromeUserPopulation& from) {
 // @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ChromeUserPopulation)
   GOOGLE_DCHECK_NE(&from, this);
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   ::google::protobuf::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
-  if (from.has_user_population()) {
-    set_user_population(from.user_population());
+  finch_active_groups_.MergeFrom(from.finch_active_groups_);
+  cached_has_bits = from._has_bits_[0];
+  if (cached_has_bits & 3u) {
+    if (cached_has_bits & 0x00000001u) {
+      user_population_ = from.user_population_;
+    }
+    if (cached_has_bits & 0x00000002u) {
+      is_history_sync_enabled_ = from.is_history_sync_enabled_;
+    }
+    _has_bits_[0] |= cached_has_bits;
   }
 }
 
 void ChromeUserPopulation::CopyFrom(const ChromeUserPopulation& from) {
 // @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ChromeUserPopulation)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
@@ -1138,17 +1367,19 @@ bool ChromeUserPopulation::IsInitialized
 }
 
 void ChromeUserPopulation::Swap(ChromeUserPopulation* other) {
   if (other == this) return;
   InternalSwap(other);
 }
 void ChromeUserPopulation::InternalSwap(ChromeUserPopulation* other) {
   using std::swap;
+  finch_active_groups_.InternalSwap(&other->finch_active_groups_);
   swap(user_population_, other->user_population_);
+  swap(is_history_sync_enabled_, other->is_history_sync_enabled_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
   swap(_cached_size_, other->_cached_size_);
 }
 
 ::std::string ChromeUserPopulation::GetTypeName() const {
   return "safe_browsing.ChromeUserPopulation";
 }
@@ -1176,16 +1407,109 @@ void ChromeUserPopulation::clear_user_po
 }
 void ChromeUserPopulation::set_user_population(::safe_browsing::ChromeUserPopulation_UserPopulation value) {
   assert(::safe_browsing::ChromeUserPopulation_UserPopulation_IsValid(value));
   set_has_user_population();
   user_population_ = value;
   // @@protoc_insertion_point(field_set:safe_browsing.ChromeUserPopulation.user_population)
 }
 
+// optional bool is_history_sync_enabled = 2;
+bool ChromeUserPopulation::has_is_history_sync_enabled() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+void ChromeUserPopulation::set_has_is_history_sync_enabled() {
+  _has_bits_[0] |= 0x00000002u;
+}
+void ChromeUserPopulation::clear_has_is_history_sync_enabled() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+void ChromeUserPopulation::clear_is_history_sync_enabled() {
+  is_history_sync_enabled_ = false;
+  clear_has_is_history_sync_enabled();
+}
+bool ChromeUserPopulation::is_history_sync_enabled() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ChromeUserPopulation.is_history_sync_enabled)
+  return is_history_sync_enabled_;
+}
+void ChromeUserPopulation::set_is_history_sync_enabled(bool value) {
+  set_has_is_history_sync_enabled();
+  is_history_sync_enabled_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.ChromeUserPopulation.is_history_sync_enabled)
+}
+
+// repeated string finch_active_groups = 4;
+int ChromeUserPopulation::finch_active_groups_size() const {
+  return finch_active_groups_.size();
+}
+void ChromeUserPopulation::clear_finch_active_groups() {
+  finch_active_groups_.Clear();
+}
+const ::std::string& ChromeUserPopulation::finch_active_groups(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ChromeUserPopulation.finch_active_groups)
+  return finch_active_groups_.Get(index);
+}
+::std::string* ChromeUserPopulation::mutable_finch_active_groups(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ChromeUserPopulation.finch_active_groups)
+  return finch_active_groups_.Mutable(index);
+}
+void ChromeUserPopulation::set_finch_active_groups(int index, const ::std::string& value) {
+  // @@protoc_insertion_point(field_set:safe_browsing.ChromeUserPopulation.finch_active_groups)
+  finch_active_groups_.Mutable(index)->assign(value);
+}
+#if LANG_CXX11
+void ChromeUserPopulation::set_finch_active_groups(int index, ::std::string&& value) {
+  // @@protoc_insertion_point(field_set:safe_browsing.ChromeUserPopulation.finch_active_groups)
+  finch_active_groups_.Mutable(index)->assign(std::move(value));
+}
+#endif
+void ChromeUserPopulation::set_finch_active_groups(int index, const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  finch_active_groups_.Mutable(index)->assign(value);
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ChromeUserPopulation.finch_active_groups)
+}
+void ChromeUserPopulation::set_finch_active_groups(int index, const char* value, size_t size) {
+  finch_active_groups_.Mutable(index)->assign(
+    reinterpret_cast<const char*>(value), size);
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ChromeUserPopulation.finch_active_groups)
+}
+::std::string* ChromeUserPopulation::add_finch_active_groups() {
+  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ChromeUserPopulation.finch_active_groups)
+  return finch_active_groups_.Add();
+}
+void ChromeUserPopulation::add_finch_active_groups(const ::std::string& value) {
+  finch_active_groups_.Add()->assign(value);
+  // @@protoc_insertion_point(field_add:safe_browsing.ChromeUserPopulation.finch_active_groups)
+}
+#if LANG_CXX11
+void ChromeUserPopulation::add_finch_active_groups(::std::string&& value) {
+  finch_active_groups_.Add(std::move(value));
+  // @@protoc_insertion_point(field_add:safe_browsing.ChromeUserPopulation.finch_active_groups)
+}
+#endif
+void ChromeUserPopulation::add_finch_active_groups(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  finch_active_groups_.Add()->assign(value);
+  // @@protoc_insertion_point(field_add_char:safe_browsing.ChromeUserPopulation.finch_active_groups)
+}
+void ChromeUserPopulation::add_finch_active_groups(const char* value, size_t size) {
+  finch_active_groups_.Add()->assign(reinterpret_cast<const char*>(value), size);
+  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ChromeUserPopulation.finch_active_groups)
+}
+const ::google::protobuf::RepeatedPtrField< ::std::string>&
+ChromeUserPopulation::finch_active_groups() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.ChromeUserPopulation.finch_active_groups)
+  return finch_active_groups_;
+}
+::google::protobuf::RepeatedPtrField< ::std::string>*
+ChromeUserPopulation::mutable_finch_active_groups() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ChromeUserPopulation.finch_active_groups)
+  return &finch_active_groups_;
+}
+
 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
 
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ClientPhishingRequest_Feature::kNameFieldNumber;
 const int ClientPhishingRequest_Feature::kValueFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
@@ -4131,16 +4455,2657 @@ void ClientMalwareRequest::set_allocated
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientMalwareRequest.population)
 }
 
 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
 
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int LoginReputationClientRequest_Frame_Form::kActionUrlFieldNumber;
+const int LoginReputationClientRequest_Frame_Form::kHasPasswordFieldFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+LoginReputationClientRequest_Frame_Form::LoginReputationClientRequest_Frame_Form()
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    protobuf_csd_2eproto::InitDefaults();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:safe_browsing.LoginReputationClientRequest.Frame.Form)
+}
+LoginReputationClientRequest_Frame_Form::LoginReputationClientRequest_Frame_Form(const LoginReputationClientRequest_Frame_Form& from)
+  : ::google::protobuf::MessageLite(),
+      _internal_metadata_(NULL),
+      _has_bits_(from._has_bits_),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  action_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_action_url()) {
+    action_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.action_url_);
+  }
+  has_password_field_ = from.has_password_field_;
+  // @@protoc_insertion_point(copy_constructor:safe_browsing.LoginReputationClientRequest.Frame.Form)
+}
+
+void LoginReputationClientRequest_Frame_Form::SharedCtor() {
+  _cached_size_ = 0;
+  action_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  has_password_field_ = false;
+}
+
+LoginReputationClientRequest_Frame_Form::~LoginReputationClientRequest_Frame_Form() {
+  // @@protoc_insertion_point(destructor:safe_browsing.LoginReputationClientRequest.Frame.Form)
+  SharedDtor();
+}
+
+void LoginReputationClientRequest_Frame_Form::SharedDtor() {
+  action_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+void LoginReputationClientRequest_Frame_Form::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const LoginReputationClientRequest_Frame_Form& LoginReputationClientRequest_Frame_Form::default_instance() {
+  protobuf_csd_2eproto::InitDefaults();
+  return *internal_default_instance();
+}
+
+LoginReputationClientRequest_Frame_Form* LoginReputationClientRequest_Frame_Form::New(::google::protobuf::Arena* arena) const {
+  LoginReputationClientRequest_Frame_Form* n = new LoginReputationClientRequest_Frame_Form;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void LoginReputationClientRequest_Frame_Form::Clear() {
+// @@protoc_insertion_point(message_clear_start:safe_browsing.LoginReputationClientRequest.Frame.Form)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  if (has_action_url()) {
+    GOOGLE_DCHECK(!action_url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+    (*action_url_.UnsafeRawStringPointer())->clear();
+  }
+  has_password_field_ = false;
+  _has_bits_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool LoginReputationClientRequest_Frame_Form::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
+      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
+          &::google::protobuf::internal::InternalMetadataWithArenaLite::
+              mutable_unknown_fields));
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string, false);
+  // @@protoc_insertion_point(parse_start:safe_browsing.LoginReputationClientRequest.Frame.Form)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // optional string action_url = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_action_url()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional bool has_password_field = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+          set_has_has_password_field();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &has_password_field_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:safe_browsing.LoginReputationClientRequest.Frame.Form)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:safe_browsing.LoginReputationClientRequest.Frame.Form)
+  return false;
+#undef DO_
+}
+
+void LoginReputationClientRequest_Frame_Form::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:safe_browsing.LoginReputationClientRequest.Frame.Form)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  // optional string action_url = 1;
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      1, this->action_url(), output);
+  }
+
+  // optional bool has_password_field = 2;
+  if (cached_has_bits & 0x00000002u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->has_password_field(), output);
+  }
+
+  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
+                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
+  // @@protoc_insertion_point(serialize_end:safe_browsing.LoginReputationClientRequest.Frame.Form)
+}
+
+size_t LoginReputationClientRequest_Frame_Form::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:safe_browsing.LoginReputationClientRequest.Frame.Form)
+  size_t total_size = 0;
+
+  total_size += _internal_metadata_.unknown_fields().size();
+
+  if (_has_bits_[0 / 32] & 3u) {
+    // optional string action_url = 1;
+    if (has_action_url()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->action_url());
+    }
+
+    // optional bool has_password_field = 2;
+    if (has_has_password_field()) {
+      total_size += 1 + 1;
+    }
+
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void LoginReputationClientRequest_Frame_Form::CheckTypeAndMergeFrom(
+    const ::google::protobuf::MessageLite& from) {
+  MergeFrom(*::google::protobuf::down_cast<const LoginReputationClientRequest_Frame_Form*>(&from));
+}
+
+void LoginReputationClientRequest_Frame_Form::MergeFrom(const LoginReputationClientRequest_Frame_Form& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.LoginReputationClientRequest.Frame.Form)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = from._has_bits_[0];
+  if (cached_has_bits & 3u) {
+    if (cached_has_bits & 0x00000001u) {
+      set_has_action_url();
+      action_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.action_url_);
+    }
+    if (cached_has_bits & 0x00000002u) {
+      has_password_field_ = from.has_password_field_;
+    }
+    _has_bits_[0] |= cached_has_bits;
+  }
+}
+
+void LoginReputationClientRequest_Frame_Form::CopyFrom(const LoginReputationClientRequest_Frame_Form& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.LoginReputationClientRequest.Frame.Form)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool LoginReputationClientRequest_Frame_Form::IsInitialized() const {
+  return true;
+}
+
+void LoginReputationClientRequest_Frame_Form::Swap(LoginReputationClientRequest_Frame_Form* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void LoginReputationClientRequest_Frame_Form::InternalSwap(LoginReputationClientRequest_Frame_Form* other) {
+  using std::swap;
+  action_url_.Swap(&other->action_url_);
+  swap(has_password_field_, other->has_password_field_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::std::string LoginReputationClientRequest_Frame_Form::GetTypeName() const {
+  return "safe_browsing.LoginReputationClientRequest.Frame.Form";
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// LoginReputationClientRequest_Frame_Form
+
+// optional string action_url = 1;
+bool LoginReputationClientRequest_Frame_Form::has_action_url() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+void LoginReputationClientRequest_Frame_Form::set_has_action_url() {
+  _has_bits_[0] |= 0x00000001u;
+}
+void LoginReputationClientRequest_Frame_Form::clear_has_action_url() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+void LoginReputationClientRequest_Frame_Form::clear_action_url() {
+  action_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_action_url();
+}
+const ::std::string& LoginReputationClientRequest_Frame_Form::action_url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+  return action_url_.GetNoArena();
+}
+void LoginReputationClientRequest_Frame_Form::set_action_url(const ::std::string& value) {
+  set_has_action_url();
+  action_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+}
+#if LANG_CXX11
+void LoginReputationClientRequest_Frame_Form::set_action_url(::std::string&& value) {
+  set_has_action_url();
+  action_url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+}
+#endif
+void LoginReputationClientRequest_Frame_Form::set_action_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_action_url();
+  action_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+}
+void LoginReputationClientRequest_Frame_Form::set_action_url(const char* value, size_t size) {
+  set_has_action_url();
+  action_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+}
+::std::string* LoginReputationClientRequest_Frame_Form::mutable_action_url() {
+  set_has_action_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+  return action_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* LoginReputationClientRequest_Frame_Form::release_action_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+  clear_has_action_url();
+  return action_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void LoginReputationClientRequest_Frame_Form::set_allocated_action_url(::std::string* action_url) {
+  if (action_url != NULL) {
+    set_has_action_url();
+  } else {
+    clear_has_action_url();
+  }
+  action_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), action_url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+}
+
+// optional bool has_password_field = 2;
+bool LoginReputationClientRequest_Frame_Form::has_has_password_field() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+void LoginReputationClientRequest_Frame_Form::set_has_has_password_field() {
+  _has_bits_[0] |= 0x00000002u;
+}
+void LoginReputationClientRequest_Frame_Form::clear_has_has_password_field() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+void LoginReputationClientRequest_Frame_Form::clear_has_password_field() {
+  has_password_field_ = false;
+  clear_has_has_password_field();
+}
+bool LoginReputationClientRequest_Frame_Form::has_password_field() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.Form.has_password_field)
+  return has_password_field_;
+}
+void LoginReputationClientRequest_Frame_Form::set_has_password_field(bool value) {
+  set_has_has_password_field();
+  has_password_field_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.Form.has_password_field)
+}
+
+#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int LoginReputationClientRequest_Frame::kFrameIndexFieldNumber;
+const int LoginReputationClientRequest_Frame::kParentFrameIndexFieldNumber;
+const int LoginReputationClientRequest_Frame::kUrlFieldNumber;
+const int LoginReputationClientRequest_Frame::kHasPasswordFieldFieldNumber;
+const int LoginReputationClientRequest_Frame::kReferrerChainFieldNumber;
+const int LoginReputationClientRequest_Frame::kFormsFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+LoginReputationClientRequest_Frame::LoginReputationClientRequest_Frame()
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    protobuf_csd_2eproto::InitDefaults();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:safe_browsing.LoginReputationClientRequest.Frame)
+}
+LoginReputationClientRequest_Frame::LoginReputationClientRequest_Frame(const LoginReputationClientRequest_Frame& from)
+  : ::google::protobuf::MessageLite(),
+      _internal_metadata_(NULL),
+      _has_bits_(from._has_bits_),
+      _cached_size_(0),
+      referrer_chain_(from.referrer_chain_),
+      forms_(from.forms_) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_url()) {
+    url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
+  }
+  ::memcpy(&frame_index_, &from.frame_index_,
+    static_cast<size_t>(reinterpret_cast<char*>(&has_password_field_) -
+    reinterpret_cast<char*>(&frame_index_)) + sizeof(has_password_field_));
+  // @@protoc_insertion_point(copy_constructor:safe_browsing.LoginReputationClientRequest.Frame)
+}
+
+void LoginReputationClientRequest_Frame::SharedCtor() {
+  _cached_size_ = 0;
+  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  ::memset(&frame_index_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&has_password_field_) -
+      reinterpret_cast<char*>(&frame_index_)) + sizeof(has_password_field_));
+}
+
+LoginReputationClientRequest_Frame::~LoginReputationClientRequest_Frame() {
+  // @@protoc_insertion_point(destructor:safe_browsing.LoginReputationClientRequest.Frame)
+  SharedDtor();
+}
+
+void LoginReputationClientRequest_Frame::SharedDtor() {
+  url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+void LoginReputationClientRequest_Frame::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const LoginReputationClientRequest_Frame& LoginReputationClientRequest_Frame::default_instance() {
+  protobuf_csd_2eproto::InitDefaults();
+  return *internal_default_instance();
+}
+
+LoginReputationClientRequest_Frame* LoginReputationClientRequest_Frame::New(::google::protobuf::Arena* arena) const {
+  LoginReputationClientRequest_Frame* n = new LoginReputationClientRequest_Frame;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void LoginReputationClientRequest_Frame::Clear() {
+// @@protoc_insertion_point(message_clear_start:safe_browsing.LoginReputationClientRequest.Frame)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  referrer_chain_.Clear();
+  forms_.Clear();
+  if (has_url()) {
+    GOOGLE_DCHECK(!url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+    (*url_.UnsafeRawStringPointer())->clear();
+  }
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 14u) {
+    ::memset(&frame_index_, 0, static_cast<size_t>(
+        reinterpret_cast<char*>(&has_password_field_) -
+        reinterpret_cast<char*>(&frame_index_)) + sizeof(has_password_field_));
+  }
+  _has_bits_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool LoginReputationClientRequest_Frame::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
+      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
+          &::google::protobuf::internal::InternalMetadataWithArenaLite::
+              mutable_unknown_fields));
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string, false);
+  // @@protoc_insertion_point(parse_start:safe_browsing.LoginReputationClientRequest.Frame)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // optional int32 frame_index = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+          set_has_frame_index();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, &frame_index_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional int32 parent_frame_index = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+          set_has_parent_frame_index();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, &parent_frame_index_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional string url = 3;
+      case 3: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_url()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional bool has_password_field = 4;
+      case 4: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
+          set_has_has_password_field();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &has_password_field_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // repeated .safe_browsing.ReferrerChainEntry referrer_chain = 5;
+      case 5: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+                input, add_referrer_chain()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // repeated .safe_browsing.LoginReputationClientRequest.Frame.Form forms = 6;
+      case 6: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+                input, add_forms()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:safe_browsing.LoginReputationClientRequest.Frame)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:safe_browsing.LoginReputationClientRequest.Frame)
+  return false;
+#undef DO_
+}
+
+void LoginReputationClientRequest_Frame::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:safe_browsing.LoginReputationClientRequest.Frame)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  // optional int32 frame_index = 1;
+  if (cached_has_bits & 0x00000002u) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->frame_index(), output);
+  }
+
+  // optional int32 parent_frame_index = 2;
+  if (cached_has_bits & 0x00000004u) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->parent_frame_index(), output);
+  }
+
+  // optional string url = 3;
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      3, this->url(), output);
+  }
+
+  // optional bool has_password_field = 4;
+  if (cached_has_bits & 0x00000008u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->has_password_field(), output);
+  }
+
+  // repeated .safe_browsing.ReferrerChainEntry referrer_chain = 5;
+  for (unsigned int i = 0,
+      n = static_cast<unsigned int>(this->referrer_chain_size()); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessage(
+      5, this->referrer_chain(static_cast<int>(i)), output);
+  }
+
+  // repeated .safe_browsing.LoginReputationClientRequest.Frame.Form forms = 6;
+  for (unsigned int i = 0,
+      n = static_cast<unsigned int>(this->forms_size()); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessage(
+      6, this->forms(static_cast<int>(i)), output);
+  }
+
+  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
+                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
+  // @@protoc_insertion_point(serialize_end:safe_browsing.LoginReputationClientRequest.Frame)
+}
+
+size_t LoginReputationClientRequest_Frame::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:safe_browsing.LoginReputationClientRequest.Frame)
+  size_t total_size = 0;
+
+  total_size += _internal_metadata_.unknown_fields().size();
+
+  // repeated .safe_browsing.ReferrerChainEntry referrer_chain = 5;
+  {
+    unsigned int count = static_cast<unsigned int>(this->referrer_chain_size());
+    total_size += 1UL * count;
+    for (unsigned int i = 0; i < count; i++) {
+      total_size +=
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          this->referrer_chain(static_cast<int>(i)));
+    }
+  }
+
+  // repeated .safe_browsing.LoginReputationClientRequest.Frame.Form forms = 6;
+  {
+    unsigned int count = static_cast<unsigned int>(this->forms_size());
+    total_size += 1UL * count;
+    for (unsigned int i = 0; i < count; i++) {
+      total_size +=
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          this->forms(static_cast<int>(i)));
+    }
+  }
+
+  if (_has_bits_[0 / 32] & 15u) {
+    // optional string url = 3;
+    if (has_url()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->url());
+    }
+
+    // optional int32 frame_index = 1;
+    if (has_frame_index()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int32Size(
+          this->frame_index());
+    }
+
+    // optional int32 parent_frame_index = 2;
+    if (has_parent_frame_index()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int32Size(
+          this->parent_frame_index());
+    }
+
+    // optional bool has_password_field = 4;
+    if (has_has_password_field()) {
+      total_size += 1 + 1;
+    }
+
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void LoginReputationClientRequest_Frame::CheckTypeAndMergeFrom(
+    const ::google::protobuf::MessageLite& from) {
+  MergeFrom(*::google::protobuf::down_cast<const LoginReputationClientRequest_Frame*>(&from));
+}
+
+void LoginReputationClientRequest_Frame::MergeFrom(const LoginReputationClientRequest_Frame& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.LoginReputationClientRequest.Frame)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  referrer_chain_.MergeFrom(from.referrer_chain_);
+  forms_.MergeFrom(from.forms_);
+  cached_has_bits = from._has_bits_[0];
+  if (cached_has_bits & 15u) {
+    if (cached_has_bits & 0x00000001u) {
+      set_has_url();
+      url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
+    }
+    if (cached_has_bits & 0x00000002u) {
+      frame_index_ = from.frame_index_;
+    }
+    if (cached_has_bits & 0x00000004u) {
+      parent_frame_index_ = from.parent_frame_index_;
+    }
+    if (cached_has_bits & 0x00000008u) {
+      has_password_field_ = from.has_password_field_;
+    }
+    _has_bits_[0] |= cached_has_bits;
+  }
+}
+
+void LoginReputationClientRequest_Frame::CopyFrom(const LoginReputationClientRequest_Frame& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.LoginReputationClientRequest.Frame)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool LoginReputationClientRequest_Frame::IsInitialized() const {
+  return true;
+}
+
+void LoginReputationClientRequest_Frame::Swap(LoginReputationClientRequest_Frame* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void LoginReputationClientRequest_Frame::InternalSwap(LoginReputationClientRequest_Frame* other) {
+  using std::swap;
+  referrer_chain_.InternalSwap(&other->referrer_chain_);
+  forms_.InternalSwap(&other->forms_);
+  url_.Swap(&other->url_);
+  swap(frame_index_, other->frame_index_);
+  swap(parent_frame_index_, other->parent_frame_index_);
+  swap(has_password_field_, other->has_password_field_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::std::string LoginReputationClientRequest_Frame::GetTypeName() const {
+  return "safe_browsing.LoginReputationClientRequest.Frame";
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// LoginReputationClientRequest_Frame
+
+// optional int32 frame_index = 1;
+bool LoginReputationClientRequest_Frame::has_frame_index() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+void LoginReputationClientRequest_Frame::set_has_frame_index() {
+  _has_bits_[0] |= 0x00000002u;
+}
+void LoginReputationClientRequest_Frame::clear_has_frame_index() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+void LoginReputationClientRequest_Frame::clear_frame_index() {
+  frame_index_ = 0;
+  clear_has_frame_index();
+}
+::google::protobuf::int32 LoginReputationClientRequest_Frame::frame_index() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.frame_index)
+  return frame_index_;
+}
+void LoginReputationClientRequest_Frame::set_frame_index(::google::protobuf::int32 value) {
+  set_has_frame_index();
+  frame_index_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.frame_index)
+}
+
+// optional int32 parent_frame_index = 2;
+bool LoginReputationClientRequest_Frame::has_parent_frame_index() const {
+  return (_has_bits_[0] & 0x00000004u) != 0;
+}
+void LoginReputationClientRequest_Frame::set_has_parent_frame_index() {
+  _has_bits_[0] |= 0x00000004u;
+}
+void LoginReputationClientRequest_Frame::clear_has_parent_frame_index() {
+  _has_bits_[0] &= ~0x00000004u;
+}
+void LoginReputationClientRequest_Frame::clear_parent_frame_index() {
+  parent_frame_index_ = 0;
+  clear_has_parent_frame_index();
+}
+::google::protobuf::int32 LoginReputationClientRequest_Frame::parent_frame_index() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.parent_frame_index)
+  return parent_frame_index_;
+}
+void LoginReputationClientRequest_Frame::set_parent_frame_index(::google::protobuf::int32 value) {
+  set_has_parent_frame_index();
+  parent_frame_index_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.parent_frame_index)
+}
+
+// optional string url = 3;
+bool LoginReputationClientRequest_Frame::has_url() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+void LoginReputationClientRequest_Frame::set_has_url() {
+  _has_bits_[0] |= 0x00000001u;
+}
+void LoginReputationClientRequest_Frame::clear_has_url() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+void LoginReputationClientRequest_Frame::clear_url() {
+  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_url();
+}
+const ::std::string& LoginReputationClientRequest_Frame::url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.url)
+  return url_.GetNoArena();
+}
+void LoginReputationClientRequest_Frame::set_url(const ::std::string& value) {
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.url)
+}
+#if LANG_CXX11
+void LoginReputationClientRequest_Frame::set_url(::std::string&& value) {
+  set_has_url();
+  url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.LoginReputationClientRequest.Frame.url)
+}
+#endif
+void LoginReputationClientRequest_Frame::set_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientRequest.Frame.url)
+}
+void LoginReputationClientRequest_Frame::set_url(const char* value, size_t size) {
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientRequest.Frame.url)
+}
+::std::string* LoginReputationClientRequest_Frame::mutable_url() {
+  set_has_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.Frame.url)
+  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* LoginReputationClientRequest_Frame::release_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.Frame.url)
+  clear_has_url();
+  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void LoginReputationClientRequest_Frame::set_allocated_url(::std::string* url) {
+  if (url != NULL) {
+    set_has_url();
+  } else {
+    clear_has_url();
+  }
+  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.Frame.url)
+}
+
+// optional bool has_password_field = 4;
+bool LoginReputationClientRequest_Frame::has_has_password_field() const {
+  return (_has_bits_[0] & 0x00000008u) != 0;
+}
+void LoginReputationClientRequest_Frame::set_has_has_password_field() {
+  _has_bits_[0] |= 0x00000008u;
+}
+void LoginReputationClientRequest_Frame::clear_has_has_password_field() {
+  _has_bits_[0] &= ~0x00000008u;
+}
+void LoginReputationClientRequest_Frame::clear_has_password_field() {
+  has_password_field_ = false;
+  clear_has_has_password_field();
+}
+bool LoginReputationClientRequest_Frame::has_password_field() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.has_password_field)
+  return has_password_field_;
+}
+void LoginReputationClientRequest_Frame::set_has_password_field(bool value) {
+  set_has_has_password_field();
+  has_password_field_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.has_password_field)
+}
+
+// repeated .safe_browsing.ReferrerChainEntry referrer_chain = 5;
+int LoginReputationClientRequest_Frame::referrer_chain_size() const {
+  return referrer_chain_.size();
+}
+void LoginReputationClientRequest_Frame::clear_referrer_chain() {
+  referrer_chain_.Clear();
+}
+const ::safe_browsing::ReferrerChainEntry& LoginReputationClientRequest_Frame::referrer_chain(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
+  return referrer_chain_.Get(index);
+}
+::safe_browsing::ReferrerChainEntry* LoginReputationClientRequest_Frame::mutable_referrer_chain(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
+  return referrer_chain_.Mutable(index);
+}
+::safe_browsing::ReferrerChainEntry* LoginReputationClientRequest_Frame::add_referrer_chain() {
+  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
+  return referrer_chain_.Add();
+}
+::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >*
+LoginReputationClientRequest_Frame::mutable_referrer_chain() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
+  return &referrer_chain_;
+}
+const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >&
+LoginReputationClientRequest_Frame::referrer_chain() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
+  return referrer_chain_;
+}
+
+// repeated .safe_browsing.LoginReputationClientRequest.Frame.Form forms = 6;
+int LoginReputationClientRequest_Frame::forms_size() const {
+  return forms_.size();
+}
+void LoginReputationClientRequest_Frame::clear_forms() {
+  forms_.Clear();
+}
+const ::safe_browsing::LoginReputationClientRequest_Frame_Form& LoginReputationClientRequest_Frame::forms(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.forms)
+  return forms_.Get(index);
+}
+::safe_browsing::LoginReputationClientRequest_Frame_Form* LoginReputationClientRequest_Frame::mutable_forms(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.Frame.forms)
+  return forms_.Mutable(index);
+}
+::safe_browsing::LoginReputationClientRequest_Frame_Form* LoginReputationClientRequest_Frame::add_forms() {
+  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.Frame.forms)
+  return forms_.Add();
+}
+::google::protobuf::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame_Form >*
+LoginReputationClientRequest_Frame::mutable_forms() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.LoginReputationClientRequest.Frame.forms)
+  return &forms_;
+}
+const ::google::protobuf::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame_Form >&
+LoginReputationClientRequest_Frame::forms() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.LoginReputationClientRequest.Frame.forms)
+  return forms_;
+}
+
+#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int LoginReputationClientRequest_PasswordReuseEvent::kDomainsMatchingPasswordFieldNumber;
+const int LoginReputationClientRequest_PasswordReuseEvent::kFrameIdFieldNumber;
+const int LoginReputationClientRequest_PasswordReuseEvent::kIsChromeSigninPasswordFieldNumber;
+const int LoginReputationClientRequest_PasswordReuseEvent::kSyncAccountTypeFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+LoginReputationClientRequest_PasswordReuseEvent::LoginReputationClientRequest_PasswordReuseEvent()
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    protobuf_csd_2eproto::InitDefaults();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+}
+LoginReputationClientRequest_PasswordReuseEvent::LoginReputationClientRequest_PasswordReuseEvent(const LoginReputationClientRequest_PasswordReuseEvent& from)
+  : ::google::protobuf::MessageLite(),
+      _internal_metadata_(NULL),
+      _has_bits_(from._has_bits_),
+      _cached_size_(0),
+      domains_matching_password_(from.domains_matching_password_) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::memcpy(&frame_id_, &from.frame_id_,
+    static_cast<size_t>(reinterpret_cast<char*>(&sync_account_type_) -
+    reinterpret_cast<char*>(&frame_id_)) + sizeof(sync_account_type_));
+  // @@protoc_insertion_point(copy_constructor:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+}
+
+void LoginReputationClientRequest_PasswordReuseEvent::SharedCtor() {
+  _cached_size_ = 0;
+  ::memset(&frame_id_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&sync_account_type_) -
+      reinterpret_cast<char*>(&frame_id_)) + sizeof(sync_account_type_));
+}
+
+LoginReputationClientRequest_PasswordReuseEvent::~LoginReputationClientRequest_PasswordReuseEvent() {
+  // @@protoc_insertion_point(destructor:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+  SharedDtor();
+}
+
+void LoginReputationClientRequest_PasswordReuseEvent::SharedDtor() {
+}
+
+void LoginReputationClientRequest_PasswordReuseEvent::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const LoginReputationClientRequest_PasswordReuseEvent& LoginReputationClientRequest_PasswordReuseEvent::default_instance() {
+  protobuf_csd_2eproto::InitDefaults();
+  return *internal_default_instance();
+}
+
+LoginReputationClientRequest_PasswordReuseEvent* LoginReputationClientRequest_PasswordReuseEvent::New(::google::protobuf::Arena* arena) const {
+  LoginReputationClientRequest_PasswordReuseEvent* n = new LoginReputationClientRequest_PasswordReuseEvent;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void LoginReputationClientRequest_PasswordReuseEvent::Clear() {
+// @@protoc_insertion_point(message_clear_start:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  domains_matching_password_.Clear();
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 7u) {
+    ::memset(&frame_id_, 0, static_cast<size_t>(
+        reinterpret_cast<char*>(&sync_account_type_) -
+        reinterpret_cast<char*>(&frame_id_)) + sizeof(sync_account_type_));
+  }
+  _has_bits_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool LoginReputationClientRequest_PasswordReuseEvent::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
+      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
+          &::google::protobuf::internal::InternalMetadataWithArenaLite::
+              mutable_unknown_fields));
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string, false);
+  // @@protoc_insertion_point(parse_start:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // repeated string domains_matching_password = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->add_domains_matching_password()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional int32 frame_id = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+          set_has_frame_id();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, &frame_id_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional bool is_chrome_signin_password = 3;
+      case 3: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
+          set_has_is_chrome_signin_password();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &is_chrome_signin_password_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.SyncAccountType sync_account_type = 4;
+      case 4: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
+          int value;
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
+                 input, &value)));
+          if (::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_IsValid(value)) {
+            set_sync_account_type(static_cast< ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType >(value));
+          } else {
+            unknown_fields_stream.WriteVarint32(32u);
+            unknown_fields_stream.WriteVarint32(
+                static_cast< ::google::protobuf::uint32>(value));
+          }
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+  return false;
+#undef DO_
+}
+
+void LoginReputationClientRequest_PasswordReuseEvent::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // repeated string domains_matching_password = 1;
+  for (int i = 0, n = this->domains_matching_password_size(); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteString(
+      1, this->domains_matching_password(i), output);
+  }
+
+  cached_has_bits = _has_bits_[0];
+  // optional int32 frame_id = 2;
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->frame_id(), output);
+  }
+
+  // optional bool is_chrome_signin_password = 3;
+  if (cached_has_bits & 0x00000002u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->is_chrome_signin_password(), output);
+  }
+
+  // optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.SyncAccountType sync_account_type = 4;
+  if (cached_has_bits & 0x00000004u) {
+    ::google::protobuf::internal::WireFormatLite::WriteEnum(
+      4, this->sync_account_type(), output);
+  }
+
+  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
+                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
+  // @@protoc_insertion_point(serialize_end:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+}
+
+size_t LoginReputationClientRequest_PasswordReuseEvent::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+  size_t total_size = 0;
+
+  total_size += _internal_metadata_.unknown_fields().size();
+
+  // repeated string domains_matching_password = 1;
+  total_size += 1 *
+      ::google::protobuf::internal::FromIntSize(this->domains_matching_password_size());
+  for (int i = 0, n = this->domains_matching_password_size(); i < n; i++) {
+    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
+      this->domains_matching_password(i));
+  }
+
+  if (_has_bits_[0 / 32] & 7u) {
+    // optional int32 frame_id = 2;
+    if (has_frame_id()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int32Size(
+          this->frame_id());
+    }
+
+    // optional bool is_chrome_signin_password = 3;
+    if (has_is_chrome_signin_password()) {
+      total_size += 1 + 1;
+    }
+
+    // optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.SyncAccountType sync_account_type = 4;
+    if (has_sync_account_type()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::EnumSize(this->sync_account_type());
+    }
+
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void LoginReputationClientRequest_PasswordReuseEvent::CheckTypeAndMergeFrom(
+    const ::google::protobuf::MessageLite& from) {
+  MergeFrom(*::google::protobuf::down_cast<const LoginReputationClientRequest_PasswordReuseEvent*>(&from));
+}
+
+void LoginReputationClientRequest_PasswordReuseEvent::MergeFrom(const LoginReputationClientRequest_PasswordReuseEvent& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  domains_matching_password_.MergeFrom(from.domains_matching_password_);
+  cached_has_bits = from._has_bits_[0];
+  if (cached_has_bits & 7u) {
+    if (cached_has_bits & 0x00000001u) {
+      frame_id_ = from.frame_id_;
+    }
+    if (cached_has_bits & 0x00000002u) {
+      is_chrome_signin_password_ = from.is_chrome_signin_password_;
+    }
+    if (cached_has_bits & 0x00000004u) {
+      sync_account_type_ = from.sync_account_type_;
+    }
+    _has_bits_[0] |= cached_has_bits;
+  }
+}
+
+void LoginReputationClientRequest_PasswordReuseEvent::CopyFrom(const LoginReputationClientRequest_PasswordReuseEvent& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool LoginReputationClientRequest_PasswordReuseEvent::IsInitialized() const {
+  return true;
+}
+
+void LoginReputationClientRequest_PasswordReuseEvent::Swap(LoginReputationClientRequest_PasswordReuseEvent* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void LoginReputationClientRequest_PasswordReuseEvent::InternalSwap(LoginReputationClientRequest_PasswordReuseEvent* other) {
+  using std::swap;
+  domains_matching_password_.InternalSwap(&other->domains_matching_password_);
+  swap(frame_id_, other->frame_id_);
+  swap(is_chrome_signin_password_, other->is_chrome_signin_password_);
+  swap(sync_account_type_, other->sync_account_type_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::std::string LoginReputationClientRequest_PasswordReuseEvent::GetTypeName() const {
+  return "safe_browsing.LoginReputationClientRequest.PasswordReuseEvent";
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// LoginReputationClientRequest_PasswordReuseEvent
+
+// repeated string domains_matching_password = 1;
+int LoginReputationClientRequest_PasswordReuseEvent::domains_matching_password_size() const {
+  return domains_matching_password_.size();
+}
+void LoginReputationClientRequest_PasswordReuseEvent::clear_domains_matching_password() {
+  domains_matching_password_.Clear();
+}
+const ::std::string& LoginReputationClientRequest_PasswordReuseEvent::domains_matching_password(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+  return domains_matching_password_.Get(index);
+}
+::std::string* LoginReputationClientRequest_PasswordReuseEvent::mutable_domains_matching_password(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+  return domains_matching_password_.Mutable(index);
+}
+void LoginReputationClientRequest_PasswordReuseEvent::set_domains_matching_password(int index, const ::std::string& value) {
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+  domains_matching_password_.Mutable(index)->assign(value);
+}
+#if LANG_CXX11
+void LoginReputationClientRequest_PasswordReuseEvent::set_domains_matching_password(int index, ::std::string&& value) {
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+  domains_matching_password_.Mutable(index)->assign(std::move(value));
+}
+#endif
+void LoginReputationClientRequest_PasswordReuseEvent::set_domains_matching_password(int index, const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  domains_matching_password_.Mutable(index)->assign(value);
+  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+}
+void LoginReputationClientRequest_PasswordReuseEvent::set_domains_matching_password(int index, const char* value, size_t size) {
+  domains_matching_password_.Mutable(index)->assign(
+    reinterpret_cast<const char*>(value), size);
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+}
+::std::string* LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password() {
+  // @@protoc_insertion_point(field_add_mutable:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+  return domains_matching_password_.Add();
+}
+void LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password(const ::std::string& value) {
+  domains_matching_password_.Add()->assign(value);
+  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+}
+#if LANG_CXX11
+void LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password(::std::string&& value) {
+  domains_matching_password_.Add(std::move(value));
+  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+}
+#endif
+void LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  domains_matching_password_.Add()->assign(value);
+  // @@protoc_insertion_point(field_add_char:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+}
+void LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password(const char* value, size_t size) {
+  domains_matching_password_.Add()->assign(reinterpret_cast<const char*>(value), size);
+  // @@protoc_insertion_point(field_add_pointer:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+}
+const ::google::protobuf::RepeatedPtrField< ::std::string>&
+LoginReputationClientRequest_PasswordReuseEvent::domains_matching_password() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+  return domains_matching_password_;
+}
+::google::protobuf::RepeatedPtrField< ::std::string>*
+LoginReputationClientRequest_PasswordReuseEvent::mutable_domains_matching_password() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+  return &domains_matching_password_;
+}
+
+// optional int32 frame_id = 2;
+bool LoginReputationClientRequest_PasswordReuseEvent::has_frame_id() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+void LoginReputationClientRequest_PasswordReuseEvent::set_has_frame_id() {
+  _has_bits_[0] |= 0x00000001u;
+}
+void LoginReputationClientRequest_PasswordReuseEvent::clear_has_frame_id() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+void LoginReputationClientRequest_PasswordReuseEvent::clear_frame_id() {
+  frame_id_ = 0;
+  clear_has_frame_id();
+}
+::google::protobuf::int32 LoginReputationClientRequest_PasswordReuseEvent::frame_id() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.frame_id)
+  return frame_id_;
+}
+void LoginReputationClientRequest_PasswordReuseEvent::set_frame_id(::google::protobuf::int32 value) {
+  set_has_frame_id();
+  frame_id_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.frame_id)
+}
+
+// optional bool is_chrome_signin_password = 3;
+bool LoginReputationClientRequest_PasswordReuseEvent::has_is_chrome_signin_password() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+void LoginReputationClientRequest_PasswordReuseEvent::set_has_is_chrome_signin_password() {
+  _has_bits_[0] |= 0x00000002u;
+}
+void LoginReputationClientRequest_PasswordReuseEvent::clear_has_is_chrome_signin_password() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+void LoginReputationClientRequest_PasswordReuseEvent::clear_is_chrome_signin_password() {
+  is_chrome_signin_password_ = false;
+  clear_has_is_chrome_signin_password();
+}
+bool LoginReputationClientRequest_PasswordReuseEvent::is_chrome_signin_password() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.is_chrome_signin_password)
+  return is_chrome_signin_password_;
+}
+void LoginReputationClientRequest_PasswordReuseEvent::set_is_chrome_signin_password(bool value) {
+  set_has_is_chrome_signin_password();
+  is_chrome_signin_password_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.is_chrome_signin_password)
+}
+
+// optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.SyncAccountType sync_account_type = 4;
+bool LoginReputationClientRequest_PasswordReuseEvent::has_sync_account_type() const {
+  return (_has_bits_[0] & 0x00000004u) != 0;
+}
+void LoginReputationClientRequest_PasswordReuseEvent::set_has_sync_account_type() {
+  _has_bits_[0] |= 0x00000004u;
+}
+void LoginReputationClientRequest_PasswordReuseEvent::clear_has_sync_account_type() {
+  _has_bits_[0] &= ~0x00000004u;
+}
+void LoginReputationClientRequest_PasswordReuseEvent::clear_sync_account_type() {
+  sync_account_type_ = 0;
+  clear_has_sync_account_type();
+}
+::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent::sync_account_type() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.sync_account_type)
+  return static_cast< ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType >(sync_account_type_);
+}
+void LoginReputationClientRequest_PasswordReuseEvent::set_sync_account_type(::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType value) {
+  assert(::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_IsValid(value));
+  set_has_sync_account_type();
+  sync_account_type_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.sync_account_type)
+}
+
+#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int LoginReputationClientRequest::kPageUrlFieldNumber;
+const int LoginReputationClientRequest::kTriggerTypeFieldNumber;
+const int LoginReputationClientRequest::kFramesFieldNumber;
+const int LoginReputationClientRequest::kPasswordReuseEventFieldNumber;
+const int LoginReputationClientRequest::kStoredVerdictCntFieldNumber;
+const int LoginReputationClientRequest::kPopulationFieldNumber;
+const int LoginReputationClientRequest::kClickedThroughInterstitialFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+LoginReputationClientRequest::LoginReputationClientRequest()
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    protobuf_csd_2eproto::InitDefaults();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:safe_browsing.LoginReputationClientRequest)
+}
+LoginReputationClientRequest::LoginReputationClientRequest(const LoginReputationClientRequest& from)
+  : ::google::protobuf::MessageLite(),
+      _internal_metadata_(NULL),
+      _has_bits_(from._has_bits_),
+      _cached_size_(0),
+      frames_(from.frames_) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  page_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_page_url()) {
+    page_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.page_url_);
+  }
+  if (from.has_password_reuse_event()) {
+    password_reuse_event_ = new ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent(*from.password_reuse_event_);
+  } else {
+    password_reuse_event_ = NULL;
+  }
+  if (from.has_population()) {
+    population_ = new ::safe_browsing::ChromeUserPopulation(*from.population_);
+  } else {
+    population_ = NULL;
+  }
+  ::memcpy(&trigger_type_, &from.trigger_type_,
+    static_cast<size_t>(reinterpret_cast<char*>(&clicked_through_interstitial_) -
+    reinterpret_cast<char*>(&trigger_type_)) + sizeof(clicked_through_interstitial_));
+  // @@protoc_insertion_point(copy_constructor:safe_browsing.LoginReputationClientRequest)
+}
+
+void LoginReputationClientRequest::SharedCtor() {
+  _cached_size_ = 0;
+  page_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  ::memset(&password_reuse_event_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&clicked_through_interstitial_) -
+      reinterpret_cast<char*>(&password_reuse_event_)) + sizeof(clicked_through_interstitial_));
+}
+
+LoginReputationClientRequest::~LoginReputationClientRequest() {
+  // @@protoc_insertion_point(destructor:safe_browsing.LoginReputationClientRequest)
+  SharedDtor();
+}
+
+void LoginReputationClientRequest::SharedDtor() {
+  page_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (this != internal_default_instance()) delete password_reuse_event_;
+  if (this != internal_default_instance()) delete population_;
+}
+
+void LoginReputationClientRequest::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const LoginReputationClientRequest& LoginReputationClientRequest::default_instance() {
+  protobuf_csd_2eproto::InitDefaults();
+  return *internal_default_instance();
+}
+
+LoginReputationClientRequest* LoginReputationClientRequest::New(::google::protobuf::Arena* arena) const {
+  LoginReputationClientRequest* n = new LoginReputationClientRequest;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void LoginReputationClientRequest::Clear() {
+// @@protoc_insertion_point(message_clear_start:safe_browsing.LoginReputationClientRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  frames_.Clear();
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 7u) {
+    if (cached_has_bits & 0x00000001u) {
+      GOOGLE_DCHECK(!page_url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+      (*page_url_.UnsafeRawStringPointer())->clear();
+    }
+    if (cached_has_bits & 0x00000002u) {
+      GOOGLE_DCHECK(password_reuse_event_ != NULL);
+      password_reuse_event_->::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent::Clear();
+    }
+    if (cached_has_bits & 0x00000004u) {
+      GOOGLE_DCHECK(population_ != NULL);
+      population_->::safe_browsing::ChromeUserPopulation::Clear();
+    }
+  }
+  if (cached_has_bits & 56u) {
+    ::memset(&trigger_type_, 0, static_cast<size_t>(
+        reinterpret_cast<char*>(&clicked_through_interstitial_) -
+        reinterpret_cast<char*>(&trigger_type_)) + sizeof(clicked_through_interstitial_));
+  }
+  _has_bits_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool LoginReputationClientRequest::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
+      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
+          &::google::protobuf::internal::InternalMetadataWithArenaLite::
+              mutable_unknown_fields));
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string, false);
+  // @@protoc_insertion_point(parse_start:safe_browsing.LoginReputationClientRequest)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // optional string page_url = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_page_url()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional .safe_browsing.LoginReputationClientRequest.TriggerType trigger_type = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+          int value;
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
+                 input, &value)));
+          if (::safe_browsing::LoginReputationClientRequest_TriggerType_IsValid(value)) {
+            set_trigger_type(static_cast< ::safe_browsing::LoginReputationClientRequest_TriggerType >(value));
+          } else {
+            unknown_fields_stream.WriteVarint32(16u);
+            unknown_fields_stream.WriteVarint32(
+                static_cast< ::google::protobuf::uint32>(value));
+          }
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // repeated .safe_browsing.LoginReputationClientRequest.Frame frames = 3;
+      case 3: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+                input, add_frames()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent password_reuse_event = 4;
+      case 4: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+               input, mutable_password_reuse_event()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional int32 stored_verdict_cnt = 5;
+      case 5: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
+          set_has_stored_verdict_cnt();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, &stored_verdict_cnt_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional .safe_browsing.ChromeUserPopulation population = 6;
+      case 6: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+               input, mutable_population()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional bool clicked_through_interstitial = 7;
+      case 7: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(56u /* 56 & 0xFF */)) {
+          set_has_clicked_through_interstitial();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &clicked_through_interstitial_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:safe_browsing.LoginReputationClientRequest)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:safe_browsing.LoginReputationClientRequest)
+  return false;
+#undef DO_
+}
+
+void LoginReputationClientRequest::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:safe_browsing.LoginReputationClientRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  // optional string page_url = 1;
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      1, this->page_url(), output);
+  }
+
+  // optional .safe_browsing.LoginReputationClientRequest.TriggerType trigger_type = 2;
+  if (cached_has_bits & 0x00000008u) {
+    ::google::protobuf::internal::WireFormatLite::WriteEnum(
+      2, this->trigger_type(), output);
+  }
+
+  // repeated .safe_browsing.LoginReputationClientRequest.Frame frames = 3;
+  for (unsigned int i = 0,
+      n = static_cast<unsigned int>(this->frames_size()); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessage(
+      3, this->frames(static_cast<int>(i)), output);
+  }
+
+  // optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent password_reuse_event = 4;
+  if (cached_has_bits & 0x00000002u) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessage(
+      4, *this->password_reuse_event_, output);
+  }
+
+  // optional int32 stored_verdict_cnt = 5;
+  if (cached_has_bits & 0x00000010u) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->stored_verdict_cnt(), output);
+  }
+
+  // optional .safe_browsing.ChromeUserPopulation population = 6;
+  if (cached_has_bits & 0x00000004u) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessage(
+      6, *this->population_, output);
+  }
+
+  // optional bool clicked_through_interstitial = 7;
+  if (cached_has_bits & 0x00000020u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(7, this->clicked_through_interstitial(), output);
+  }
+
+  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
+                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
+  // @@protoc_insertion_point(serialize_end:safe_browsing.LoginReputationClientRequest)
+}
+
+size_t LoginReputationClientRequest::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:safe_browsing.LoginReputationClientRequest)
+  size_t total_size = 0;
+
+  total_size += _internal_metadata_.unknown_fields().size();
+
+  // repeated .safe_browsing.LoginReputationClientRequest.Frame frames = 3;
+  {
+    unsigned int count = static_cast<unsigned int>(this->frames_size());
+    total_size += 1UL * count;
+    for (unsigned int i = 0; i < count; i++) {
+      total_size +=
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          this->frames(static_cast<int>(i)));
+    }
+  }
+
+  if (_has_bits_[0 / 32] & 63u) {
+    // optional string page_url = 1;
+    if (has_page_url()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->page_url());
+    }
+
+    // optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent password_reuse_event = 4;
+    if (has_password_reuse_event()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          *this->password_reuse_event_);
+    }
+
+    // optional .safe_browsing.ChromeUserPopulation population = 6;
+    if (has_population()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          *this->population_);
+    }
+
+    // optional .safe_browsing.LoginReputationClientRequest.TriggerType trigger_type = 2;
+    if (has_trigger_type()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::EnumSize(this->trigger_type());
+    }
+
+    // optional int32 stored_verdict_cnt = 5;
+    if (has_stored_verdict_cnt()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int32Size(
+          this->stored_verdict_cnt());
+    }
+
+    // optional bool clicked_through_interstitial = 7;
+    if (has_clicked_through_interstitial()) {
+      total_size += 1 + 1;
+    }
+
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void LoginReputationClientRequest::CheckTypeAndMergeFrom(
+    const ::google::protobuf::MessageLite& from) {
+  MergeFrom(*::google::protobuf::down_cast<const LoginReputationClientRequest*>(&from));
+}
+
+void LoginReputationClientRequest::MergeFrom(const LoginReputationClientRequest& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.LoginReputationClientRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  frames_.MergeFrom(from.frames_);
+  cached_has_bits = from._has_bits_[0];
+  if (cached_has_bits & 63u) {
+    if (cached_has_bits & 0x00000001u) {
+      set_has_page_url();
+      page_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.page_url_);
+    }
+    if (cached_has_bits & 0x00000002u) {
+      mutable_password_reuse_event()->::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent::MergeFrom(from.password_reuse_event());
+    }
+    if (cached_has_bits & 0x00000004u) {
+      mutable_population()->::safe_browsing::ChromeUserPopulation::MergeFrom(from.population());
+    }
+    if (cached_has_bits & 0x00000008u) {
+      trigger_type_ = from.trigger_type_;
+    }
+    if (cached_has_bits & 0x00000010u) {
+      stored_verdict_cnt_ = from.stored_verdict_cnt_;
+    }
+    if (cached_has_bits & 0x00000020u) {
+      clicked_through_interstitial_ = from.clicked_through_interstitial_;
+    }
+    _has_bits_[0] |= cached_has_bits;
+  }
+}
+
+void LoginReputationClientRequest::CopyFrom(const LoginReputationClientRequest& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.LoginReputationClientRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool LoginReputationClientRequest::IsInitialized() const {
+  return true;
+}
+
+void LoginReputationClientRequest::Swap(LoginReputationClientRequest* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void LoginReputationClientRequest::InternalSwap(LoginReputationClientRequest* other) {
+  using std::swap;
+  frames_.InternalSwap(&other->frames_);
+  page_url_.Swap(&other->page_url_);
+  swap(password_reuse_event_, other->password_reuse_event_);
+  swap(population_, other->population_);
+  swap(trigger_type_, other->trigger_type_);
+  swap(stored_verdict_cnt_, other->stored_verdict_cnt_);
+  swap(clicked_through_interstitial_, other->clicked_through_interstitial_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::std::string LoginReputationClientRequest::GetTypeName() const {
+  return "safe_browsing.LoginReputationClientRequest";
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// LoginReputationClientRequest
+
+// optional string page_url = 1;
+bool LoginReputationClientRequest::has_page_url() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+void LoginReputationClientRequest::set_has_page_url() {
+  _has_bits_[0] |= 0x00000001u;
+}
+void LoginReputationClientRequest::clear_has_page_url() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+void LoginReputationClientRequest::clear_page_url() {
+  page_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_page_url();
+}
+const ::std::string& LoginReputationClientRequest::page_url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.page_url)
+  return page_url_.GetNoArena();
+}
+void LoginReputationClientRequest::set_page_url(const ::std::string& value) {
+  set_has_page_url();
+  page_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.page_url)
+}
+#if LANG_CXX11
+void LoginReputationClientRequest::set_page_url(::std::string&& value) {
+  set_has_page_url();
+  page_url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.LoginReputationClientRequest.page_url)
+}
+#endif
+void LoginReputationClientRequest::set_page_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_page_url();
+  page_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientRequest.page_url)
+}
+void LoginReputationClientRequest::set_page_url(const char* value, size_t size) {
+  set_has_page_url();
+  page_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientRequest.page_url)
+}
+::std::string* LoginReputationClientRequest::mutable_page_url() {
+  set_has_page_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.page_url)
+  return page_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* LoginReputationClientRequest::release_page_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.page_url)
+  clear_has_page_url();
+  return page_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void LoginReputationClientRequest::set_allocated_page_url(::std::string* page_url) {
+  if (page_url != NULL) {
+    set_has_page_url();
+  } else {
+    clear_has_page_url();
+  }
+  page_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), page_url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.page_url)
+}
+
+// optional .safe_browsing.LoginReputationClientRequest.TriggerType trigger_type = 2;
+bool LoginReputationClientRequest::has_trigger_type() const {
+  return (_has_bits_[0] & 0x00000008u) != 0;
+}
+void LoginReputationClientRequest::set_has_trigger_type() {
+  _has_bits_[0] |= 0x00000008u;
+}
+void LoginReputationClientRequest::clear_has_trigger_type() {
+  _has_bits_[0] &= ~0x00000008u;
+}
+void LoginReputationClientRequest::clear_trigger_type() {
+  trigger_type_ = 0;
+  clear_has_trigger_type();
+}
+::safe_browsing::LoginReputationClientRequest_TriggerType LoginReputationClientRequest::trigger_type() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.trigger_type)
+  return static_cast< ::safe_browsing::LoginReputationClientRequest_TriggerType >(trigger_type_);
+}
+void LoginReputationClientRequest::set_trigger_type(::safe_browsing::LoginReputationClientRequest_TriggerType value) {
+  assert(::safe_browsing::LoginReputationClientRequest_TriggerType_IsValid(value));
+  set_has_trigger_type();
+  trigger_type_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.trigger_type)
+}
+
+// repeated .safe_browsing.LoginReputationClientRequest.Frame frames = 3;
+int LoginReputationClientRequest::frames_size() const {
+  return frames_.size();
+}
+void LoginReputationClientRequest::clear_frames() {
+  frames_.Clear();
+}
+const ::safe_browsing::LoginReputationClientRequest_Frame& LoginReputationClientRequest::frames(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.frames)
+  return frames_.Get(index);
+}
+::safe_browsing::LoginReputationClientRequest_Frame* LoginReputationClientRequest::mutable_frames(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.frames)
+  return frames_.Mutable(index);
+}
+::safe_browsing::LoginReputationClientRequest_Frame* LoginReputationClientRequest::add_frames() {
+  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.frames)
+  return frames_.Add();
+}
+::google::protobuf::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame >*
+LoginReputationClientRequest::mutable_frames() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.LoginReputationClientRequest.frames)
+  return &frames_;
+}
+const ::google::protobuf::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame >&
+LoginReputationClientRequest::frames() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.LoginReputationClientRequest.frames)
+  return frames_;
+}
+
+// optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent password_reuse_event = 4;
+bool LoginReputationClientRequest::has_password_reuse_event() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+void LoginReputationClientRequest::set_has_password_reuse_event() {
+  _has_bits_[0] |= 0x00000002u;
+}
+void LoginReputationClientRequest::clear_has_password_reuse_event() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+void LoginReputationClientRequest::clear_password_reuse_event() {
+  if (password_reuse_event_ != NULL) password_reuse_event_->::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent::Clear();
+  clear_has_password_reuse_event();
+}
+const ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent& LoginReputationClientRequest::password_reuse_event() const {
+  const ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* p = password_reuse_event_;
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.password_reuse_event)
+  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent*>(
+      &::safe_browsing::_LoginReputationClientRequest_PasswordReuseEvent_default_instance_);
+}
+::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* LoginReputationClientRequest::mutable_password_reuse_event() {
+  set_has_password_reuse_event();
+  if (password_reuse_event_ == NULL) {
+    password_reuse_event_ = new ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent;
+  }
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.password_reuse_event)
+  return password_reuse_event_;
+}
+::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* LoginReputationClientRequest::release_password_reuse_event() {
+  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.password_reuse_event)
+  clear_has_password_reuse_event();
+  ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* temp = password_reuse_event_;
+  password_reuse_event_ = NULL;
+  return temp;
+}
+void LoginReputationClientRequest::set_allocated_password_reuse_event(::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* password_reuse_event) {
+  delete password_reuse_event_;
+  password_reuse_event_ = password_reuse_event;
+  if (password_reuse_event) {
+    set_has_password_reuse_event();
+  } else {
+    clear_has_password_reuse_event();
+  }
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.password_reuse_event)
+}
+
+// optional int32 stored_verdict_cnt = 5;
+bool LoginReputationClientRequest::has_stored_verdict_cnt() const {
+  return (_has_bits_[0] & 0x00000010u) != 0;
+}
+void LoginReputationClientRequest::set_has_stored_verdict_cnt() {
+  _has_bits_[0] |= 0x00000010u;
+}
+void LoginReputationClientRequest::clear_has_stored_verdict_cnt() {
+  _has_bits_[0] &= ~0x00000010u;
+}
+void LoginReputationClientRequest::clear_stored_verdict_cnt() {
+  stored_verdict_cnt_ = 0;
+  clear_has_stored_verdict_cnt();
+}
+::google::protobuf::int32 LoginReputationClientRequest::stored_verdict_cnt() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.stored_verdict_cnt)
+  return stored_verdict_cnt_;
+}
+void LoginReputationClientRequest::set_stored_verdict_cnt(::google::protobuf::int32 value) {
+  set_has_stored_verdict_cnt();
+  stored_verdict_cnt_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.stored_verdict_cnt)
+}
+
+// optional .safe_browsing.ChromeUserPopulation population = 6;
+bool LoginReputationClientRequest::has_population() const {
+  return (_has_bits_[0] & 0x00000004u) != 0;
+}
+void LoginReputationClientRequest::set_has_population() {
+  _has_bits_[0] |= 0x00000004u;
+}
+void LoginReputationClientRequest::clear_has_population() {
+  _has_bits_[0] &= ~0x00000004u;
+}
+void LoginReputationClientRequest::clear_population() {
+  if (population_ != NULL) population_->::safe_browsing::ChromeUserPopulation::Clear();
+  clear_has_population();
+}
+const ::safe_browsing::ChromeUserPopulation& LoginReputationClientRequest::population() const {
+  const ::safe_browsing::ChromeUserPopulation* p = population_;
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.population)
+  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ChromeUserPopulation*>(
+      &::safe_browsing::_ChromeUserPopulation_default_instance_);
+}
+::safe_browsing::ChromeUserPopulation* LoginReputationClientRequest::mutable_population() {
+  set_has_population();
+  if (population_ == NULL) {
+    population_ = new ::safe_browsing::ChromeUserPopulation;
+  }
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.population)
+  return population_;
+}
+::safe_browsing::ChromeUserPopulation* LoginReputationClientRequest::release_population() {
+  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.population)
+  clear_has_population();
+  ::safe_browsing::ChromeUserPopulation* temp = population_;
+  population_ = NULL;
+  return temp;
+}
+void LoginReputationClientRequest::set_allocated_population(::safe_browsing::ChromeUserPopulation* population) {
+  delete population_;
+  population_ = population;
+  if (population) {
+    set_has_population();
+  } else {
+    clear_has_population();
+  }
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.population)
+}
+
+// optional bool clicked_through_interstitial = 7;
+bool LoginReputationClientRequest::has_clicked_through_interstitial() const {
+  return (_has_bits_[0] & 0x00000020u) != 0;
+}
+void LoginReputationClientRequest::set_has_clicked_through_interstitial() {
+  _has_bits_[0] |= 0x00000020u;
+}
+void LoginReputationClientRequest::clear_has_clicked_through_interstitial() {
+  _has_bits_[0] &= ~0x00000020u;
+}
+void LoginReputationClientRequest::clear_clicked_through_interstitial() {
+  clicked_through_interstitial_ = false;
+  clear_has_clicked_through_interstitial();
+}
+bool LoginReputationClientRequest::clicked_through_interstitial() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.clicked_through_interstitial)
+  return clicked_through_interstitial_;
+}
+void LoginReputationClientRequest::set_clicked_through_interstitial(bool value) {
+  set_has_clicked_through_interstitial();
+  clicked_through_interstitial_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.clicked_through_interstitial)
+}
+
+#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int LoginReputationClientResponse::kVerdictTypeFieldNumber;
+const int LoginReputationClientResponse::kCacheDurationSecFieldNumber;
+const int LoginReputationClientResponse::kCacheExpressionFieldNumber;
+const int LoginReputationClientResponse::kDEPRECATEDCacheExpressionExactMatchFieldNumber;
+const int LoginReputationClientResponse::kVerdictTokenFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+LoginReputationClientResponse::LoginReputationClientResponse()
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    protobuf_csd_2eproto::InitDefaults();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:safe_browsing.LoginReputationClientResponse)
+}
+LoginReputationClientResponse::LoginReputationClientResponse(const LoginReputationClientResponse& from)
+  : ::google::protobuf::MessageLite(),
+      _internal_metadata_(NULL),
+      _has_bits_(from._has_bits_),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  cache_expression_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_cache_expression()) {
+    cache_expression_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.cache_expression_);
+  }
+  verdict_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_verdict_token()) {
+    verdict_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.verdict_token_);
+  }
+  ::memcpy(&cache_duration_sec_, &from.cache_duration_sec_,
+    static_cast<size_t>(reinterpret_cast<char*>(&deprecated_cache_expression_exact_match_) -
+    reinterpret_cast<char*>(&cache_duration_sec_)) + sizeof(deprecated_cache_expression_exact_match_));
+  // @@protoc_insertion_point(copy_constructor:safe_browsing.LoginReputationClientResponse)
+}
+
+void LoginReputationClientResponse::SharedCtor() {
+  _cached_size_ = 0;
+  cache_expression_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  verdict_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  ::memset(&cache_duration_sec_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&deprecated_cache_expression_exact_match_) -
+      reinterpret_cast<char*>(&cache_duration_sec_)) + sizeof(deprecated_cache_expression_exact_match_));
+}
+
+LoginReputationClientResponse::~LoginReputationClientResponse() {
+  // @@protoc_insertion_point(destructor:safe_browsing.LoginReputationClientResponse)
+  SharedDtor();
+}
+
+void LoginReputationClientResponse::SharedDtor() {
+  cache_expression_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  verdict_token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+void LoginReputationClientResponse::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const LoginReputationClientResponse& LoginReputationClientResponse::default_instance() {
+  protobuf_csd_2eproto::InitDefaults();
+  return *internal_default_instance();
+}
+
+LoginReputationClientResponse* LoginReputationClientResponse::New(::google::protobuf::Arena* arena) const {
+  LoginReputationClientResponse* n = new LoginReputationClientResponse;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void LoginReputationClientResponse::Clear() {
+// @@protoc_insertion_point(message_clear_start:safe_browsing.LoginReputationClientResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 3u) {
+    if (cached_has_bits & 0x00000001u) {
+      GOOGLE_DCHECK(!cache_expression_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+      (*cache_expression_.UnsafeRawStringPointer())->clear();
+    }
+    if (cached_has_bits & 0x00000002u) {
+      GOOGLE_DCHECK(!verdict_token_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+      (*verdict_token_.UnsafeRawStringPointer())->clear();
+    }
+  }
+  if (cached_has_bits & 28u) {
+    ::memset(&cache_duration_sec_, 0, static_cast<size_t>(
+        reinterpret_cast<char*>(&deprecated_cache_expression_exact_match_) -
+        reinterpret_cast<char*>(&cache_duration_sec_)) + sizeof(deprecated_cache_expression_exact_match_));
+  }
+  _has_bits_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool LoginReputationClientResponse::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
+      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
+          &::google::protobuf::internal::InternalMetadataWithArenaLite::
+              mutable_unknown_fields));
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string, false);
+  // @@protoc_insertion_point(parse_start:safe_browsing.LoginReputationClientResponse)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // optional .safe_browsing.LoginReputationClientResponse.VerdictType verdict_type = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+          int value;
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
+                 input, &value)));
+          if (::safe_browsing::LoginReputationClientResponse_VerdictType_IsValid(value)) {
+            set_verdict_type(static_cast< ::safe_browsing::LoginReputationClientResponse_VerdictType >(value));
+          } else {
+            unknown_fields_stream.WriteVarint32(8u);
+            unknown_fields_stream.WriteVarint32(
+                static_cast< ::google::protobuf::uint32>(value));
+          }
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional int64 cache_duration_sec = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+          set_has_cache_duration_sec();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
+                 input, &cache_duration_sec_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional string cache_expression = 3;
+      case 3: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_cache_expression()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional bool DEPRECATED_cache_expression_exact_match = 4 [deprecated = true];
+      case 4: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
+          set_has_deprecated_cache_expression_exact_match();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &deprecated_cache_expression_exact_match_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional bytes verdict_token = 5;
+      case 5: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
+                input, this->mutable_verdict_token()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:safe_browsing.LoginReputationClientResponse)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:safe_browsing.LoginReputationClientResponse)
+  return false;
+#undef DO_
+}
+
+void LoginReputationClientResponse::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:safe_browsing.LoginReputationClientResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  // optional .safe_browsing.LoginReputationClientResponse.VerdictType verdict_type = 1;
+  if (cached_has_bits & 0x00000008u) {
+    ::google::protobuf::internal::WireFormatLite::WriteEnum(
+      1, this->verdict_type(), output);
+  }
+
+  // optional int64 cache_duration_sec = 2;
+  if (cached_has_bits & 0x00000004u) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt64(2, this->cache_duration_sec(), output);
+  }
+
+  // optional string cache_expression = 3;
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      3, this->cache_expression(), output);
+  }
+
+  // optional bool DEPRECATED_cache_expression_exact_match = 4 [deprecated = true];
+  if (cached_has_bits & 0x00000010u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->deprecated_cache_expression_exact_match(), output);
+  }
+
+  // optional bytes verdict_token = 5;
+  if (cached_has_bits & 0x00000002u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
+      5, this->verdict_token(), output);
+  }
+
+  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
+                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
+  // @@protoc_insertion_point(serialize_end:safe_browsing.LoginReputationClientResponse)
+}
+
+size_t LoginReputationClientResponse::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:safe_browsing.LoginReputationClientResponse)
+  size_t total_size = 0;
+
+  total_size += _internal_metadata_.unknown_fields().size();
+
+  if (_has_bits_[0 / 32] & 31u) {
+    // optional string cache_expression = 3;
+    if (has_cache_expression()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->cache_expression());
+    }
+
+    // optional bytes verdict_token = 5;
+    if (has_verdict_token()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::BytesSize(
+          this->verdict_token());
+    }
+
+    // optional int64 cache_duration_sec = 2;
+    if (has_cache_duration_sec()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int64Size(
+          this->cache_duration_sec());
+    }
+
+    // optional .safe_browsing.LoginReputationClientResponse.VerdictType verdict_type = 1;
+    if (has_verdict_type()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::EnumSize(this->verdict_type());
+    }
+
+    // optional bool DEPRECATED_cache_expression_exact_match = 4 [deprecated = true];
+    if (has_deprecated_cache_expression_exact_match()) {
+      total_size += 1 + 1;
+    }
+
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void LoginReputationClientResponse::CheckTypeAndMergeFrom(
+    const ::google::protobuf::MessageLite& from) {
+  MergeFrom(*::google::protobuf::down_cast<const LoginReputationClientResponse*>(&from));
+}
+
+void LoginReputationClientResponse::MergeFrom(const LoginReputationClientResponse& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.LoginReputationClientResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = from._has_bits_[0];
+  if (cached_has_bits & 31u) {
+    if (cached_has_bits & 0x00000001u) {
+      set_has_cache_expression();
+      cache_expression_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.cache_expression_);
+    }
+    if (cached_has_bits & 0x00000002u) {
+      set_has_verdict_token();
+      verdict_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.verdict_token_);
+    }
+    if (cached_has_bits & 0x00000004u) {
+      cache_duration_sec_ = from.cache_duration_sec_;
+    }
+    if (cached_has_bits & 0x00000008u) {
+      verdict_type_ = from.verdict_type_;
+    }
+    if (cached_has_bits & 0x00000010u) {
+      deprecated_cache_expression_exact_match_ = from.deprecated_cache_expression_exact_match_;
+    }
+    _has_bits_[0] |= cached_has_bits;
+  }
+}
+
+void LoginReputationClientResponse::CopyFrom(const LoginReputationClientResponse& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.LoginReputationClientResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool LoginReputationClientResponse::IsInitialized() const {
+  return true;
+}
+
+void LoginReputationClientResponse::Swap(LoginReputationClientResponse* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void LoginReputationClientResponse::InternalSwap(LoginReputationClientResponse* other) {
+  using std::swap;
+  cache_expression_.Swap(&other->cache_expression_);
+  verdict_token_.Swap(&other->verdict_token_);
+  swap(cache_duration_sec_, other->cache_duration_sec_);
+  swap(verdict_type_, other->verdict_type_);
+  swap(deprecated_cache_expression_exact_match_, other->deprecated_cache_expression_exact_match_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::std::string LoginReputationClientResponse::GetTypeName() const {
+  return "safe_browsing.LoginReputationClientResponse";
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// LoginReputationClientResponse
+
+// optional .safe_browsing.LoginReputationClientResponse.VerdictType verdict_type = 1;
+bool LoginReputationClientResponse::has_verdict_type() const {
+  return (_has_bits_[0] & 0x00000008u) != 0;
+}
+void LoginReputationClientResponse::set_has_verdict_type() {
+  _has_bits_[0] |= 0x00000008u;
+}
+void LoginReputationClientResponse::clear_has_verdict_type() {
+  _has_bits_[0] &= ~0x00000008u;
+}
+void LoginReputationClientResponse::clear_verdict_type() {
+  verdict_type_ = 0;
+  clear_has_verdict_type();
+}
+::safe_browsing::LoginReputationClientResponse_VerdictType LoginReputationClientResponse::verdict_type() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.verdict_type)
+  return static_cast< ::safe_browsing::LoginReputationClientResponse_VerdictType >(verdict_type_);
+}
+void LoginReputationClientResponse::set_verdict_type(::safe_browsing::LoginReputationClientResponse_VerdictType value) {
+  assert(::safe_browsing::LoginReputationClientResponse_VerdictType_IsValid(value));
+  set_has_verdict_type();
+  verdict_type_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.verdict_type)
+}
+
+// optional int64 cache_duration_sec = 2;
+bool LoginReputationClientResponse::has_cache_duration_sec() const {
+  return (_has_bits_[0] & 0x00000004u) != 0;
+}
+void LoginReputationClientResponse::set_has_cache_duration_sec() {
+  _has_bits_[0] |= 0x00000004u;
+}
+void LoginReputationClientResponse::clear_has_cache_duration_sec() {
+  _has_bits_[0] &= ~0x00000004u;
+}
+void LoginReputationClientResponse::clear_cache_duration_sec() {
+  cache_duration_sec_ = GOOGLE_LONGLONG(0);
+  clear_has_cache_duration_sec();
+}
+::google::protobuf::int64 LoginReputationClientResponse::cache_duration_sec() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.cache_duration_sec)
+  return cache_duration_sec_;
+}
+void LoginReputationClientResponse::set_cache_duration_sec(::google::protobuf::int64 value) {
+  set_has_cache_duration_sec();
+  cache_duration_sec_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.cache_duration_sec)
+}
+
+// optional string cache_expression = 3;
+bool LoginReputationClientResponse::has_cache_expression() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+void LoginReputationClientResponse::set_has_cache_expression() {
+  _has_bits_[0] |= 0x00000001u;
+}
+void LoginReputationClientResponse::clear_has_cache_expression() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+void LoginReputationClientResponse::clear_cache_expression() {
+  cache_expression_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_cache_expression();
+}
+const ::std::string& LoginReputationClientResponse::cache_expression() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.cache_expression)
+  return cache_expression_.GetNoArena();
+}
+void LoginReputationClientResponse::set_cache_expression(const ::std::string& value) {
+  set_has_cache_expression();
+  cache_expression_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.cache_expression)
+}
+#if LANG_CXX11
+void LoginReputationClientResponse::set_cache_expression(::std::string&& value) {
+  set_has_cache_expression();
+  cache_expression_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.LoginReputationClientResponse.cache_expression)
+}
+#endif
+void LoginReputationClientResponse::set_cache_expression(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_cache_expression();
+  cache_expression_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientResponse.cache_expression)
+}
+void LoginReputationClientResponse::set_cache_expression(const char* value, size_t size) {
+  set_has_cache_expression();
+  cache_expression_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientResponse.cache_expression)
+}
+::std::string* LoginReputationClientResponse::mutable_cache_expression() {
+  set_has_cache_expression();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientResponse.cache_expression)
+  return cache_expression_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* LoginReputationClientResponse::release_cache_expression() {
+  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientResponse.cache_expression)
+  clear_has_cache_expression();
+  return cache_expression_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void LoginReputationClientResponse::set_allocated_cache_expression(::std::string* cache_expression) {
+  if (cache_expression != NULL) {
+    set_has_cache_expression();
+  } else {
+    clear_has_cache_expression();
+  }
+  cache_expression_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), cache_expression);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientResponse.cache_expression)
+}
+
+// optional bool DEPRECATED_cache_expression_exact_match = 4 [deprecated = true];
+bool LoginReputationClientResponse::has_deprecated_cache_expression_exact_match() const {
+  return (_has_bits_[0] & 0x00000010u) != 0;
+}
+void LoginReputationClientResponse::set_has_deprecated_cache_expression_exact_match() {
+  _has_bits_[0] |= 0x00000010u;
+}
+void LoginReputationClientResponse::clear_has_deprecated_cache_expression_exact_match() {
+  _has_bits_[0] &= ~0x00000010u;
+}
+void LoginReputationClientResponse::clear_deprecated_cache_expression_exact_match() {
+  deprecated_cache_expression_exact_match_ = false;
+  clear_has_deprecated_cache_expression_exact_match();
+}
+bool LoginReputationClientResponse::deprecated_cache_expression_exact_match() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.DEPRECATED_cache_expression_exact_match)
+  return deprecated_cache_expression_exact_match_;
+}
+void LoginReputationClientResponse::set_deprecated_cache_expression_exact_match(bool value) {
+  set_has_deprecated_cache_expression_exact_match();
+  deprecated_cache_expression_exact_match_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.DEPRECATED_cache_expression_exact_match)
+}
+
+// optional bytes verdict_token = 5;
+bool LoginReputationClientResponse::has_verdict_token() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+void LoginReputationClientResponse::set_has_verdict_token() {
+  _has_bits_[0] |= 0x00000002u;
+}
+void LoginReputationClientResponse::clear_has_verdict_token() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+void LoginReputationClientResponse::clear_verdict_token() {
+  verdict_token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_verdict_token();
+}
+const ::std::string& LoginReputationClientResponse::verdict_token() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.verdict_token)
+  return verdict_token_.GetNoArena();
+}
+void LoginReputationClientResponse::set_verdict_token(const ::std::string& value) {
+  set_has_verdict_token();
+  verdict_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.verdict_token)
+}
+#if LANG_CXX11
+void LoginReputationClientResponse::set_verdict_token(::std::string&& value) {
+  set_has_verdict_token();
+  verdict_token_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.LoginReputationClientResponse.verdict_token)
+}
+#endif
+void LoginReputationClientResponse::set_verdict_token(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_verdict_token();
+  verdict_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientResponse.verdict_token)
+}
+void LoginReputationClientResponse::set_verdict_token(const void* value, size_t size) {
+  set_has_verdict_token();
+  verdict_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientResponse.verdict_token)
+}
+::std::string* LoginReputationClientResponse::mutable_verdict_token() {
+  set_has_verdict_token();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientResponse.verdict_token)
+  return verdict_token_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* LoginReputationClientResponse::release_verdict_token() {
+  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientResponse.verdict_token)
+  clear_has_verdict_token();
+  return verdict_token_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void LoginReputationClientResponse::set_allocated_verdict_token(::std::string* verdict_token) {
+  if (verdict_token != NULL) {
+    set_has_verdict_token();
+  } else {
+    clear_has_verdict_token();
+  }
+  verdict_token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), verdict_token);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientResponse.verdict_token)
+}
+
+#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ClientMalwareResponse::kBlacklistFieldNumber;
 const int ClientMalwareResponse::kBadIpFieldNumber;
 const int ClientMalwareResponse::kBadUrlFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 ClientMalwareResponse::ClientMalwareResponse()
   : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
@@ -9909,861 +12874,35 @@ void ClientDownloadRequest_ArchivedBinar
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.ArchivedBinary.image_headers)
 }
 
 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
 
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
-const int ClientDownloadRequest_URLChainEntry::kUrlFieldNumber;
-const int ClientDownloadRequest_URLChainEntry::kTypeFieldNumber;
-const int ClientDownloadRequest_URLChainEntry::kIpAddressFieldNumber;
-const int ClientDownloadRequest_URLChainEntry::kReferrerFieldNumber;
-const int ClientDownloadRequest_URLChainEntry::kMainFrameReferrerFieldNumber;
-const int ClientDownloadRequest_URLChainEntry::kIsRetargetingFieldNumber;
-const int ClientDownloadRequest_URLChainEntry::kIsUserInitiatedFieldNumber;
-const int ClientDownloadRequest_URLChainEntry::kTimestampInMillisecFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
-
-ClientDownloadRequest_URLChainEntry::ClientDownloadRequest_URLChainEntry()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    protobuf_csd_2eproto::InitDefaults();
-  }
-  SharedCtor();
-  // @@protoc_insertion_point(constructor:safe_browsing.ClientDownloadRequest.URLChainEntry)
-}
-ClientDownloadRequest_URLChainEntry::ClientDownloadRequest_URLChainEntry(const ClientDownloadRequest_URLChainEntry& from)
-  : ::google::protobuf::MessageLite(),
-      _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_url()) {
-    url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
-  }
-  ip_address_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_ip_address()) {
-    ip_address_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.ip_address_);
-  }
-  referrer_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_referrer()) {
-    referrer_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_);
-  }
-  main_frame_referrer_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_main_frame_referrer()) {
-    main_frame_referrer_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.main_frame_referrer_);
-  }
-  ::memcpy(&timestamp_in_millisec_, &from.timestamp_in_millisec_,
-    static_cast<size_t>(reinterpret_cast<char*>(&type_) -
-    reinterpret_cast<char*>(&timestamp_in_millisec_)) + sizeof(type_));
-  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadRequest.URLChainEntry)
-}
-
-void ClientDownloadRequest_URLChainEntry::SharedCtor() {
-  _cached_size_ = 0;
-  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  ip_address_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  referrer_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  main_frame_referrer_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  ::memset(&timestamp_in_millisec_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&is_user_initiated_) -
-      reinterpret_cast<char*>(&timestamp_in_millisec_)) + sizeof(is_user_initiated_));
-  type_ = 1;
-}
-
-ClientDownloadRequest_URLChainEntry::~ClientDownloadRequest_URLChainEntry() {
-  // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadRequest.URLChainEntry)
-  SharedDtor();
-}
-
-void ClientDownloadRequest_URLChainEntry::SharedDtor() {
-  url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  ip_address_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  referrer_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  main_frame_referrer_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-
-void ClientDownloadRequest_URLChainEntry::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ClientDownloadRequest_URLChainEntry& ClientDownloadRequest_URLChainEntry::default_instance() {
-  protobuf_csd_2eproto::InitDefaults();
-  return *internal_default_instance();
-}
-
-ClientDownloadRequest_URLChainEntry* ClientDownloadRequest_URLChainEntry::New(::google::protobuf::Arena* arena) const {
-  ClientDownloadRequest_URLChainEntry* n = new ClientDownloadRequest_URLChainEntry;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
-
-void ClientDownloadRequest_URLChainEntry::Clear() {
-// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientDownloadRequest.URLChainEntry)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 15u) {
-    if (cached_has_bits & 0x00000001u) {
-      GOOGLE_DCHECK(!url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*url_.UnsafeRawStringPointer())->clear();
-    }
-    if (cached_has_bits & 0x00000002u) {
-      GOOGLE_DCHECK(!ip_address_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*ip_address_.UnsafeRawStringPointer())->clear();
-    }
-    if (cached_has_bits & 0x00000004u) {
-      GOOGLE_DCHECK(!referrer_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*referrer_.UnsafeRawStringPointer())->clear();
-    }
-    if (cached_has_bits & 0x00000008u) {
-      GOOGLE_DCHECK(!main_frame_referrer_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*main_frame_referrer_.UnsafeRawStringPointer())->clear();
-    }
-  }
-  if (cached_has_bits & 240u) {
-    ::memset(&timestamp_in_millisec_, 0, static_cast<size_t>(
-        reinterpret_cast<char*>(&is_user_initiated_) -
-        reinterpret_cast<char*>(&timestamp_in_millisec_)) + sizeof(is_user_initiated_));
-    type_ = 1;
-  }
-  _has_bits_.Clear();
-  _internal_metadata_.Clear();
-}
-
-bool ClientDownloadRequest_URLChainEntry::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
-      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
-          &::google::protobuf::internal::InternalMetadataWithArenaLite::
-              mutable_unknown_fields));
-  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
-      &unknown_fields_string, false);
-  // @@protoc_insertion_point(parse_start:safe_browsing.ClientDownloadRequest.URLChainEntry)
-  for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // optional string url = 1;
-      case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_url()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional .safe_browsing.ClientDownloadRequest.URLChainEntry.URLType type = 2;
-      case 2: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
-          int value;
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
-                 input, &value)));
-          if (::safe_browsing::ClientDownloadRequest_URLChainEntry_URLType_IsValid(value)) {
-            set_type(static_cast< ::safe_browsing::ClientDownloadRequest_URLChainEntry_URLType >(value));
-          } else {
-            unknown_fields_stream.WriteVarint32(16u);
-            unknown_fields_stream.WriteVarint32(
-                static_cast< ::google::protobuf::uint32>(value));
-          }
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional string ip_address = 3;
-      case 3: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_ip_address()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional string referrer = 4;
-      case 4: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_referrer()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional string main_frame_referrer = 5;
-      case 5: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_main_frame_referrer()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional bool is_retargeting = 6;
-      case 6: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(48u /* 48 & 0xFF */)) {
-          set_has_is_retargeting();
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
-                 input, &is_retargeting_)));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional bool is_user_initiated = 7;
-      case 7: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(56u /* 56 & 0xFF */)) {
-          set_has_is_user_initiated();
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
-                 input, &is_user_initiated_)));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional double timestamp_in_millisec = 8;
-      case 8: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(65u /* 65 & 0xFF */)) {
-          set_has_timestamp_in_millisec();
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
-                 input, &timestamp_in_millisec_)));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      default: {
-      handle_unusual:
-        if (tag == 0) {
-          goto success;
-        }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
-        break;
-      }
-    }
-  }
-success:
-  // @@protoc_insertion_point(parse_success:safe_browsing.ClientDownloadRequest.URLChainEntry)
-  return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientDownloadRequest.URLChainEntry)
-  return false;
-#undef DO_
-}
-
-void ClientDownloadRequest_URLChainEntry::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientDownloadRequest.URLChainEntry)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  // optional string url = 1;
-  if (cached_has_bits & 0x00000001u) {
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      1, this->url(), output);
-  }
-
-  // optional .safe_browsing.ClientDownloadRequest.URLChainEntry.URLType type = 2;
-  if (cached_has_bits & 0x00000080u) {
-    ::google::protobuf::internal::WireFormatLite::WriteEnum(
-      2, this->type(), output);
-  }
-
-  // optional string ip_address = 3;
-  if (cached_has_bits & 0x00000002u) {
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      3, this->ip_address(), output);
-  }
-
-  // optional string referrer = 4;
-  if (cached_has_bits & 0x00000004u) {
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      4, this->referrer(), output);
-  }
-
-  // optional string main_frame_referrer = 5;
-  if (cached_has_bits & 0x00000008u) {
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      5, this->main_frame_referrer(), output);
-  }
-
-  // optional bool is_retargeting = 6;
-  if (cached_has_bits & 0x00000020u) {
-    ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->is_retargeting(), output);
-  }
-
-  // optional bool is_user_initiated = 7;
-  if (cached_has_bits & 0x00000040u) {
-    ::google::protobuf::internal::WireFormatLite::WriteBool(7, this->is_user_initiated(), output);
-  }
-
-  // optional double timestamp_in_millisec = 8;
-  if (cached_has_bits & 0x00000010u) {
-    ::google::protobuf::internal::WireFormatLite::WriteDouble(8, this->timestamp_in_millisec(), output);
-  }
-
-  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
-                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
-  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadRequest.URLChainEntry)
-}
-
-size_t ClientDownloadRequest_URLChainEntry::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadRequest.URLChainEntry)
-  size_t total_size = 0;
-
-  total_size += _internal_metadata_.unknown_fields().size();
-
-  if (_has_bits_[0 / 32] & 255u) {
-    // optional string url = 1;
-    if (has_url()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->url());
-    }
-
-    // optional string ip_address = 3;
-    if (has_ip_address()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->ip_address());
-    }
-
-    // optional string referrer = 4;
-    if (has_referrer()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->referrer());
-    }
-
-    // optional string main_frame_referrer = 5;
-    if (has_main_frame_referrer()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->main_frame_referrer());
-    }
-
-    // optional double timestamp_in_millisec = 8;
-    if (has_timestamp_in_millisec()) {
-      total_size += 1 + 8;
-    }
-
-    // optional bool is_retargeting = 6;
-    if (has_is_retargeting()) {
-      total_size += 1 + 1;
-    }
-
-    // optional bool is_user_initiated = 7;
-    if (has_is_user_initiated()) {
-      total_size += 1 + 1;
-    }
-
-    // optional .safe_browsing.ClientDownloadRequest.URLChainEntry.URLType type = 2;
-    if (has_type()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
-    }
-
-  }
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void ClientDownloadRequest_URLChainEntry::CheckTypeAndMergeFrom(
-    const ::google::protobuf::MessageLite& from) {
-  MergeFrom(*::google::protobuf::down_cast<const ClientDownloadRequest_URLChainEntry*>(&from));
-}
-
-void ClientDownloadRequest_URLChainEntry::MergeFrom(const ClientDownloadRequest_URLChainEntry& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientDownloadRequest.URLChainEntry)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 255u) {
-    if (cached_has_bits & 0x00000001u) {
-      set_has_url();
-      url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
-    }
-    if (cached_has_bits & 0x00000002u) {
-      set_has_ip_address();
-      ip_address_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.ip_address_);
-    }
-    if (cached_has_bits & 0x00000004u) {
-      set_has_referrer();
-      referrer_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_);
-    }
-    if (cached_has_bits & 0x00000008u) {
-      set_has_main_frame_referrer();
-      main_frame_referrer_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.main_frame_referrer_);
-    }
-    if (cached_has_bits & 0x00000010u) {
-      timestamp_in_millisec_ = from.timestamp_in_millisec_;
-    }
-    if (cached_has_bits & 0x00000020u) {
-      is_retargeting_ = from.is_retargeting_;
-    }
-    if (cached_has_bits & 0x00000040u) {
-      is_user_initiated_ = from.is_user_initiated_;
-    }
-    if (cached_has_bits & 0x00000080u) {
-      type_ = from.type_;
-    }
-    _has_bits_[0] |= cached_has_bits;
-  }
-}
-
-void ClientDownloadRequest_URLChainEntry::CopyFrom(const ClientDownloadRequest_URLChainEntry& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadRequest.URLChainEntry)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool ClientDownloadRequest_URLChainEntry::IsInitialized() const {
-  return true;
-}
-
-void ClientDownloadRequest_URLChainEntry::Swap(ClientDownloadRequest_URLChainEntry* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
-void ClientDownloadRequest_URLChainEntry::InternalSwap(ClientDownloadRequest_URLChainEntry* other) {
-  using std::swap;
-  url_.Swap(&other->url_);
-  ip_address_.Swap(&other->ip_address_);
-  referrer_.Swap(&other->referrer_);
-  main_frame_referrer_.Swap(&other->main_frame_referrer_);
-  swap(timestamp_in_millisec_, other->timestamp_in_millisec_);
-  swap(is_retargeting_, other->is_retargeting_);
-  swap(is_user_initiated_, other->is_user_initiated_);
-  swap(type_, other->type_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
-}
-
-::std::string ClientDownloadRequest_URLChainEntry::GetTypeName() const {
-  return "safe_browsing.ClientDownloadRequest.URLChainEntry";
-}
-
-#if PROTOBUF_INLINE_NOT_IN_HEADERS
-// ClientDownloadRequest_URLChainEntry
-
-// optional string url = 1;
-bool ClientDownloadRequest_URLChainEntry::has_url() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-void ClientDownloadRequest_URLChainEntry::set_has_url() {
-  _has_bits_[0] |= 0x00000001u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_has_url() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_url() {
-  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_url();
-}
-const ::std::string& ClientDownloadRequest_URLChainEntry::url() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-  return url_.GetNoArena();
-}
-void ClientDownloadRequest_URLChainEntry::set_url(const ::std::string& value) {
-  set_has_url();
-  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-}
-#if LANG_CXX11
-void ClientDownloadRequest_URLChainEntry::set_url(::std::string&& value) {
-  set_has_url();
-  url_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-}
-#endif
-void ClientDownloadRequest_URLChainEntry::set_url(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_url();
-  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-}
-void ClientDownloadRequest_URLChainEntry::set_url(const char* value, size_t size) {
-  set_has_url();
-  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-}
-::std::string* ClientDownloadRequest_URLChainEntry::mutable_url() {
-  set_has_url();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-::std::string* ClientDownloadRequest_URLChainEntry::release_url() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-  clear_has_url();
-  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-void ClientDownloadRequest_URLChainEntry::set_allocated_url(::std::string* url) {
-  if (url != NULL) {
-    set_has_url();
-  } else {
-    clear_has_url();
-  }
-  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-}
-
-// optional .safe_browsing.ClientDownloadRequest.URLChainEntry.URLType type = 2;
-bool ClientDownloadRequest_URLChainEntry::has_type() const {
-  return (_has_bits_[0] & 0x00000080u) != 0;
-}
-void ClientDownloadRequest_URLChainEntry::set_has_type() {
-  _has_bits_[0] |= 0x00000080u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_has_type() {
-  _has_bits_[0] &= ~0x00000080u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_type() {
-  type_ = 1;
-  clear_has_type();
-}
-::safe_browsing::ClientDownloadRequest_URLChainEntry_URLType ClientDownloadRequest_URLChainEntry::type() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.type)
-  return static_cast< ::safe_browsing::ClientDownloadRequest_URLChainEntry_URLType >(type_);
-}
-void ClientDownloadRequest_URLChainEntry::set_type(::safe_browsing::ClientDownloadRequest_URLChainEntry_URLType value) {
-  assert(::safe_browsing::ClientDownloadRequest_URLChainEntry_URLType_IsValid(value));
-  set_has_type();
-  type_ = value;
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.type)
-}
-
-// optional string ip_address = 3;
-bool ClientDownloadRequest_URLChainEntry::has_ip_address() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-void ClientDownloadRequest_URLChainEntry::set_has_ip_address() {
-  _has_bits_[0] |= 0x00000002u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_has_ip_address() {
-  _has_bits_[0] &= ~0x00000002u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_ip_address() {
-  ip_address_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_ip_address();
-}
-const ::std::string& ClientDownloadRequest_URLChainEntry::ip_address() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-  return ip_address_.GetNoArena();
-}
-void ClientDownloadRequest_URLChainEntry::set_ip_address(const ::std::string& value) {
-  set_has_ip_address();
-  ip_address_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-}
-#if LANG_CXX11
-void ClientDownloadRequest_URLChainEntry::set_ip_address(::std::string&& value) {
-  set_has_ip_address();
-  ip_address_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-}
-#endif
-void ClientDownloadRequest_URLChainEntry::set_ip_address(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_ip_address();
-  ip_address_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-}
-void ClientDownloadRequest_URLChainEntry::set_ip_address(const char* value, size_t size) {
-  set_has_ip_address();
-  ip_address_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-}
-::std::string* ClientDownloadRequest_URLChainEntry::mutable_ip_address() {
-  set_has_ip_address();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-  return ip_address_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-::std::string* ClientDownloadRequest_URLChainEntry::release_ip_address() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-  clear_has_ip_address();
-  return ip_address_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-void ClientDownloadRequest_URLChainEntry::set_allocated_ip_address(::std::string* ip_address) {
-  if (ip_address != NULL) {
-    set_has_ip_address();
-  } else {
-    clear_has_ip_address();
-  }
-  ip_address_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ip_address);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-}
-
-// optional string referrer = 4;
-bool ClientDownloadRequest_URLChainEntry::has_referrer() const {
-  return (_has_bits_[0] & 0x00000004u) != 0;
-}
-void ClientDownloadRequest_URLChainEntry::set_has_referrer() {
-  _has_bits_[0] |= 0x00000004u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_has_referrer() {
-  _has_bits_[0] &= ~0x00000004u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_referrer() {
-  referrer_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_referrer();
-}
-const ::std::string& ClientDownloadRequest_URLChainEntry::referrer() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-  return referrer_.GetNoArena();
-}
-void ClientDownloadRequest_URLChainEntry::set_referrer(const ::std::string& value) {
-  set_has_referrer();
-  referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-}
-#if LANG_CXX11
-void ClientDownloadRequest_URLChainEntry::set_referrer(::std::string&& value) {
-  set_has_referrer();
-  referrer_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-}
-#endif
-void ClientDownloadRequest_URLChainEntry::set_referrer(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_referrer();
-  referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-}
-void ClientDownloadRequest_URLChainEntry::set_referrer(const char* value, size_t size) {
-  set_has_referrer();
-  referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-}
-::std::string* ClientDownloadRequest_URLChainEntry::mutable_referrer() {
-  set_has_referrer();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-  return referrer_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-::std::string* ClientDownloadRequest_URLChainEntry::release_referrer() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-  clear_has_referrer();
-  return referrer_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-void ClientDownloadRequest_URLChainEntry::set_allocated_referrer(::std::string* referrer) {
-  if (referrer != NULL) {
-    set_has_referrer();
-  } else {
-    clear_has_referrer();
-  }
-  referrer_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), referrer);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-}
-
-// optional string main_frame_referrer = 5;
-bool ClientDownloadRequest_URLChainEntry::has_main_frame_referrer() const {
-  return (_has_bits_[0] & 0x00000008u) != 0;
-}
-void ClientDownloadRequest_URLChainEntry::set_has_main_frame_referrer() {
-  _has_bits_[0] |= 0x00000008u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_has_main_frame_referrer() {
-  _has_bits_[0] &= ~0x00000008u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_main_frame_referrer() {
-  main_frame_referrer_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_main_frame_referrer();
-}
-const ::std::string& ClientDownloadRequest_URLChainEntry::main_frame_referrer() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-  return main_frame_referrer_.GetNoArena();
-}
-void ClientDownloadRequest_URLChainEntry::set_main_frame_referrer(const ::std::string& value) {
-  set_has_main_frame_referrer();
-  main_frame_referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-}
-#if LANG_CXX11
-void ClientDownloadRequest_URLChainEntry::set_main_frame_referrer(::std::string&& value) {
-  set_has_main_frame_referrer();
-  main_frame_referrer_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-}
-#endif
-void ClientDownloadRequest_URLChainEntry::set_main_frame_referrer(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_main_frame_referrer();
-  main_frame_referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-}
-void ClientDownloadRequest_URLChainEntry::set_main_frame_referrer(const char* value, size_t size) {
-  set_has_main_frame_referrer();
-  main_frame_referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-}
-::std::string* ClientDownloadRequest_URLChainEntry::mutable_main_frame_referrer() {
-  set_has_main_frame_referrer();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-  return main_frame_referrer_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-::std::string* ClientDownloadRequest_URLChainEntry::release_main_frame_referrer() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-  clear_has_main_frame_referrer();
-  return main_frame_referrer_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-void ClientDownloadRequest_URLChainEntry::set_allocated_main_frame_referrer(::std::string* main_frame_referrer) {
-  if (main_frame_referrer != NULL) {
-    set_has_main_frame_referrer();
-  } else {
-    clear_has_main_frame_referrer();
-  }
-  main_frame_referrer_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), main_frame_referrer);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-}
-
-// optional bool is_retargeting = 6;
-bool ClientDownloadRequest_URLChainEntry::has_is_retargeting() const {
-  return (_has_bits_[0] & 0x00000020u) != 0;
-}
-void ClientDownloadRequest_URLChainEntry::set_has_is_retargeting() {
-  _has_bits_[0] |= 0x00000020u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_has_is_retargeting() {
-  _has_bits_[0] &= ~0x00000020u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_is_retargeting() {
-  is_retargeting_ = false;
-  clear_has_is_retargeting();
-}
-bool ClientDownloadRequest_URLChainEntry::is_retargeting() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.is_retargeting)
-  return is_retargeting_;
-}
-void ClientDownloadRequest_URLChainEntry::set_is_retargeting(bool value) {
-  set_has_is_retargeting();
-  is_retargeting_ = value;
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.is_retargeting)
-}
-
-// optional bool is_user_initiated = 7;
-bool ClientDownloadRequest_URLChainEntry::has_is_user_initiated() const {
-  return (_has_bits_[0] & 0x00000040u) != 0;
-}
-void ClientDownloadRequest_URLChainEntry::set_has_is_user_initiated() {
-  _has_bits_[0] |= 0x00000040u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_has_is_user_initiated() {
-  _has_bits_[0] &= ~0x00000040u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_is_user_initiated() {
-  is_user_initiated_ = false;
-  clear_has_is_user_initiated();
-}
-bool ClientDownloadRequest_URLChainEntry::is_user_initiated() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.is_user_initiated)
-  return is_user_initiated_;
-}
-void ClientDownloadRequest_URLChainEntry::set_is_user_initiated(bool value) {
-  set_has_is_user_initiated();
-  is_user_initiated_ = value;
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.is_user_initiated)
-}
-
-// optional double timestamp_in_millisec = 8;
-bool ClientDownloadRequest_URLChainEntry::has_timestamp_in_millisec() const {
-  return (_has_bits_[0] & 0x00000010u) != 0;
-}
-void ClientDownloadRequest_URLChainEntry::set_has_timestamp_in_millisec() {
-  _has_bits_[0] |= 0x00000010u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_has_timestamp_in_millisec() {
-  _has_bits_[0] &= ~0x00000010u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_timestamp_in_millisec() {
-  timestamp_in_millisec_ = 0;
-  clear_has_timestamp_in_millisec();
-}
-double ClientDownloadRequest_URLChainEntry::timestamp_in_millisec() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.timestamp_in_millisec)
-  return timestamp_in_millisec_;
-}
-void ClientDownloadRequest_URLChainEntry::set_timestamp_in_millisec(double value) {
-  set_has_timestamp_in_millisec();
-  timestamp_in_millisec_ = value;
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.timestamp_in_millisec)
-}
-
-#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
-
-// ===================================================================
-
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ClientDownloadRequest::kUrlFieldNumber;
 const int ClientDownloadRequest::kDigestsFieldNumber;
 const int ClientDownloadRequest::kLengthFieldNumber;
 const int ClientDownloadRequest::kResourcesFieldNumber;
 const int ClientDownloadRequest::kSignatureFieldNumber;
 const int ClientDownloadRequest::kUserInitiatedFieldNumber;
 const int ClientDownloadRequest::kFileBasenameFieldNumber;
 const int ClientDownloadRequest::kDownloadTypeFieldNumber;
 const int ClientDownloadRequest::kLocaleFieldNumber;
 const int ClientDownloadRequest::kImageHeadersFieldNumber;
 const int ClientDownloadRequest::kArchivedBinaryFieldNumber;
 const int ClientDownloadRequest::kPopulationFieldNumber;
 const int ClientDownloadRequest::kArchiveValidFieldNumber;
 const int ClientDownloadRequest::kSkippedUrlWhitelistFieldNumber;
 const int ClientDownloadRequest::kSkippedCertificateWhitelistFieldNumber;
 const int ClientDownloadRequest::kAlternateExtensionsFieldNumber;
-const int ClientDownloadRequest::kUrlChainFieldNumber;
+const int ClientDownloadRequest::kReferrerChainFieldNumber;
+const int ClientDownloadRequest::kDEPRECATEDDownloadAttributionFinchEnabledFieldNumber;
+const int ClientDownloadRequest::kUdifCodeSignatureFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 ClientDownloadRequest::ClientDownloadRequest()
   : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_csd_2eproto::InitDefaults();
   }
   SharedCtor();
@@ -10772,30 +12911,34 @@ ClientDownloadRequest::ClientDownloadReq
 ClientDownloadRequest::ClientDownloadRequest(const ClientDownloadRequest& from)
   : ::google::protobuf::MessageLite(),
       _internal_metadata_(NULL),
       _has_bits_(from._has_bits_),
       _cached_size_(0),
       resources_(from.resources_),
       archived_binary_(from.archived_binary_),
       alternate_extensions_(from.alternate_extensions_),
-      url_chain_(from.url_chain_) {
+      referrer_chain_(from.referrer_chain_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (from.has_url()) {
     url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
   }
   file_basename_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (from.has_file_basename()) {
     file_basename_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.file_basename_);
   }
   locale_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (from.has_locale()) {
     locale_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.locale_);
   }
+  udif_code_signature_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_udif_code_signature()) {
+    udif_code_signature_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.udif_code_signature_);
+  }
   if (from.has_digests()) {
     digests_ = new ::safe_browsing::ClientDownloadRequest_Digests(*from.digests_);
   } else {
     digests_ = NULL;
   }
   if (from.has_signature()) {
     signature_ = new ::safe_browsing::ClientDownloadRequest_SignatureInfo(*from.signature_);
   } else {
@@ -10817,30 +12960,32 @@ ClientDownloadRequest::ClientDownloadReq
   // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadRequest)
 }
 
 void ClientDownloadRequest::SharedCtor() {
   _cached_size_ = 0;
   url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   file_basename_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   locale_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  udif_code_signature_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   ::memset(&digests_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&skipped_certificate_whitelist_) -
       reinterpret_cast<char*>(&digests_)) + sizeof(skipped_certificate_whitelist_));
 }
 
 ClientDownloadRequest::~ClientDownloadRequest() {
   // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadRequest)
   SharedDtor();
 }
 
 void ClientDownloadRequest::SharedDtor() {
   url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   file_basename_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   locale_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  udif_code_signature_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (this != internal_default_instance()) delete digests_;
   if (this != internal_default_instance()) delete signature_;
   if (this != internal_default_instance()) delete image_headers_;
   if (this != internal_default_instance()) delete population_;
 }
 
 void ClientDownloadRequest::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
@@ -10864,53 +13009,56 @@ void ClientDownloadRequest::Clear() {
 // @@protoc_insertion_point(message_clear_start:safe_browsing.ClientDownloadRequest)
   ::google::protobuf::uint32 cached_has_bits = 0;
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
   resources_.Clear();
   archived_binary_.Clear();
   alternate_extensions_.Clear();
-  url_chain_.Clear();
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 127u) {
+  referrer_chain_.Clear();
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 255u) {
     if (cached_has_bits & 0x00000001u) {
       GOOGLE_DCHECK(!url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
       (*url_.UnsafeRawStringPointer())->clear();
     }
     if (cached_has_bits & 0x00000002u) {
       GOOGLE_DCHECK(!file_basename_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
       (*file_basename_.UnsafeRawStringPointer())->clear();
     }
     if (cached_has_bits & 0x00000004u) {
       GOOGLE_DCHECK(!locale_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
       (*locale_.UnsafeRawStringPointer())->clear();
     }
     if (cached_has_bits & 0x00000008u) {
-      GOOGLE_DCHECK(digests_ != NULL);
-      digests_->::safe_browsing::ClientDownloadRequest_Digests::Clear();
+      GOOGLE_DCHECK(!udif_code_signature_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+      (*udif_code_signature_.UnsafeRawStringPointer())->clear();
     }
     if (cached_has_bits & 0x00000010u) {
+      GOOGLE_DCHECK(digests_ != NULL);
+      digests_->::safe_browsing::ClientDownloadRequest_Digests::Clear();
+    }
+    if (cached_has_bits & 0x00000020u) {
       GOOGLE_DCHECK(signature_ != NULL);
       signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
     }
-    if (cached_has_bits & 0x00000020u) {
+    if (cached_has_bits & 0x00000040u) {
       GOOGLE_DCHECK(image_headers_ != NULL);
       image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
     }
-    if (cached_has_bits & 0x00000040u) {
+    if (cached_has_bits & 0x00000080u) {
       GOOGLE_DCHECK(population_ != NULL);
       population_->::safe_browsing::ChromeUserPopulation::Clear();
     }
   }
-  length_ = GOOGLE_LONGLONG(0);
-  if (cached_has_bits & 7936u) {
-    ::memset(&download_type_, 0, static_cast<size_t>(
+  if (cached_has_bits & 32512u) {
+    ::memset(&length_, 0, static_cast<size_t>(
         reinterpret_cast<char*>(&skipped_certificate_whitelist_) -
-        reinterpret_cast<char*>(&download_type_)) + sizeof(skipped_certificate_whitelist_));
+        reinterpret_cast<char*>(&length_)) + sizeof(skipped_certificate_whitelist_));
   }
   _has_bits_.Clear();
   _internal_metadata_.Clear();
 }
 
 bool ClientDownloadRequest::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
@@ -11133,22 +13281,48 @@ bool ClientDownloadRequest::MergePartial
           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                 input, this->add_alternate_extensions()));
         } else {
           goto handle_unusual;
         }
         break;
       }
 
-      // repeated .safe_browsing.ClientDownloadRequest.URLChainEntry url_chain = 36;
+      // repeated .safe_browsing.ReferrerChainEntry referrer_chain = 36;
       case 36: {
         if (static_cast< ::google::protobuf::uint8>(tag) ==
             static_cast< ::google::protobuf::uint8>(34u /* 290 & 0xFF */)) {
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-                input, add_url_chain()));
+                input, add_referrer_chain()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional bool DEPRECATED_download_attribution_finch_enabled = 39 [deprecated = true];
+      case 39: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(56u /* 312 & 0xFF */)) {
+          set_has_deprecated_download_attribution_finch_enabled();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &deprecated_download_attribution_finch_enabled_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional bytes udif_code_signature = 40;
+      case 40: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(66u /* 322 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
+                input, this->mutable_udif_code_signature()));
         } else {
           goto handle_unusual;
         }
         break;
       }
 
       default: {
       handle_unusual:
@@ -11179,107 +13353,118 @@ void ClientDownloadRequest::SerializeWit
   cached_has_bits = _has_bits_[0];
   // required string url = 1;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
       1, this->url(), output);
   }
 
   // required .safe_browsing.ClientDownloadRequest.Digests digests = 2;
-  if (cached_has_bits & 0x00000008u) {
+  if (cached_has_bits & 0x00000010u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       2, *this->digests_, output);
   }
 
   // required int64 length = 3;
-  if (cached_has_bits & 0x00000080u) {
+  if (cached_has_bits & 0x00000100u) {
     ::google::protobuf::internal::WireFormatLite::WriteInt64(3, this->length(), output);
   }
 
   // repeated .safe_browsing.ClientDownloadRequest.Resource resources = 4;
   for (unsigned int i = 0,
       n = static_cast<unsigned int>(this->resources_size()); i < n; i++) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       4, this->resources(static_cast<int>(i)), output);
   }
 
   // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
-  if (cached_has_bits & 0x00000010u) {
+  if (cached_has_bits & 0x00000020u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       5, *this->signature_, output);
   }
 
   // optional bool user_initiated = 6;
-  if (cached_has_bits & 0x00000200u) {
+  if (cached_has_bits & 0x00000800u) {
     ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->user_initiated(), output);
   }
 
   // optional string file_basename = 9;
   if (cached_has_bits & 0x00000002u) {
     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
       9, this->file_basename(), output);
   }
 
   // optional .safe_browsing.ClientDownloadRequest.DownloadType download_type = 10 [default = WIN_EXECUTABLE];
-  if (cached_has_bits & 0x00000100u) {
+  if (cached_has_bits & 0x00000400u) {
     ::google::protobuf::internal::WireFormatLite::WriteEnum(
       10, this->download_type(), output);
   }
 
   // optional string locale = 11;
   if (cached_has_bits & 0x00000004u) {
     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
       11, this->locale(), output);
   }
 
   // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 18;
-  if (cached_has_bits & 0x00000020u) {
+  if (cached_has_bits & 0x00000040u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       18, *this->image_headers_, output);
   }
 
   // repeated .safe_browsing.ClientDownloadRequest.ArchivedBinary archived_binary = 22;
   for (unsigned int i = 0,
       n = static_cast<unsigned int>(this->archived_binary_size()); i < n; i++) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       22, this->archived_binary(static_cast<int>(i)), output);
   }
 
   // optional .safe_browsing.ChromeUserPopulation population = 24;
-  if (cached_has_bits & 0x00000040u) {
+  if (cached_has_bits & 0x00000080u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       24, *this->population_, output);
   }
 
   // optional bool archive_valid = 26;
-  if (cached_has_bits & 0x00000400u) {
+  if (cached_has_bits & 0x00001000u) {
     ::google::protobuf::internal::WireFormatLite::WriteBool(26, this->archive_valid(), output);
   }
 
   // optional bool skipped_url_whitelist = 28;
-  if (cached_has_bits & 0x00000800u) {
+  if (cached_has_bits & 0x00002000u) {
     ::google::protobuf::internal::WireFormatLite::WriteBool(28, this->skipped_url_whitelist(), output);
   }
 
   // optional bool skipped_certificate_whitelist = 31;
-  if (cached_has_bits & 0x00001000u) {
+  if (cached_has_bits & 0x00004000u) {
     ::google::protobuf::internal::WireFormatLite::WriteBool(31, this->skipped_certificate_whitelist(), output);
   }
 
   // repeated string alternate_extensions = 35;
   for (int i = 0, n = this->alternate_extensions_size(); i < n; i++) {
     ::google::protobuf::internal::WireFormatLite::WriteString(
       35, this->alternate_extensions(i), output);
   }
 
-  // repeated .safe_browsing.ClientDownloadRequest.URLChainEntry url_chain = 36;
+  // repeated .safe_browsing.ReferrerChainEntry referrer_chain = 36;
   for (unsigned int i = 0,
-      n = static_cast<unsigned int>(this->url_chain_size()); i < n; i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      36, this->url_chain(static_cast<int>(i)), output);
+      n = static_cast<unsigned int>(this->referrer_chain_size()); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessage(
+      36, this->referrer_chain(static_cast<int>(i)), output);
+  }
+
+  // optional bool DEPRECATED_download_attribution_finch_enabled = 39 [deprecated = true];
+  if (cached_has_bits & 0x00000200u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(39, this->deprecated_download_attribution_finch_enabled(), output);
+  }
+
+  // optional bytes udif_code_signature = 40;
+  if (cached_has_bits & 0x00000008u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
+      40, this->udif_code_signature(), output);
   }
 
   output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                    static_cast<int>(_internal_metadata_.unknown_fields().size()));
   // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadRequest)
 }
 
 size_t ClientDownloadRequest::RequiredFieldsByteSizeFallback() const {
@@ -11310,17 +13495,17 @@ size_t ClientDownloadRequest::RequiredFi
   return total_size;
 }
 size_t ClientDownloadRequest::ByteSizeLong() const {
 // @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadRequest)
   size_t total_size = 0;
 
   total_size += _internal_metadata_.unknown_fields().size();
 
-  if (((_has_bits_[0] & 0x00000089) ^ 0x00000089) == 0) {  // All required fields are present.
+  if (((_has_bits_[0] & 0x00000111) ^ 0x00000111) == 0) {  // All required fields are present.
     // required string url = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::StringSize(
         this->url());
 
     // required .safe_browsing.ClientDownloadRequest.Digests digests = 2;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
@@ -11359,44 +13544,51 @@ size_t ClientDownloadRequest::ByteSizeLo
   // repeated string alternate_extensions = 35;
   total_size += 2 *
       ::google::protobuf::internal::FromIntSize(this->alternate_extensions_size());
   for (int i = 0, n = this->alternate_extensions_size(); i < n; i++) {
     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
       this->alternate_extensions(i));
   }
 
-  // repeated .safe_browsing.ClientDownloadRequest.URLChainEntry url_chain = 36;
+  // repeated .safe_browsing.ReferrerChainEntry referrer_chain = 36;
   {
-    unsigned int count = static_cast<unsigned int>(this->url_chain_size());
+    unsigned int count = static_cast<unsigned int>(this->referrer_chain_size());
     total_size += 2UL * count;
     for (unsigned int i = 0; i < count; i++) {
       total_size +=
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          this->url_chain(static_cast<int>(i)));
-    }
-  }
-
-  if (_has_bits_[0 / 32] & 6u) {
+          this->referrer_chain(static_cast<int>(i)));
+    }
+  }
+
+  if (_has_bits_[0 / 32] & 14u) {
     // optional string file_basename = 9;
     if (has_file_basename()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::StringSize(
           this->file_basename());
     }
 
     // optional string locale = 11;
     if (has_locale()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::StringSize(
           this->locale());
     }
 
-  }
-  if (_has_bits_[0 / 32] & 112u) {
+    // optional bytes udif_code_signature = 40;
+    if (has_udif_code_signature()) {
+      total_size += 2 +
+        ::google::protobuf::internal::WireFormatLite::BytesSize(
+          this->udif_code_signature());
+    }
+
+  }
+  if (_has_bits_[0 / 32] & 224u) {
     // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
     if (has_signature()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           *this->signature_);
     }
 
     // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 18;
@@ -11409,17 +13601,22 @@ size_t ClientDownloadRequest::ByteSizeLo
     // optional .safe_browsing.ChromeUserPopulation population = 24;
     if (has_population()) {
       total_size += 2 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           *this->population_);
     }
 
   }
-  if (_has_bits_[8 / 32] & 7936u) {
+  if (_has_bits_[8 / 32] & 32256u) {
+    // optional bool DEPRECATED_download_attribution_finch_enabled = 39 [deprecated = true];
+    if (has_deprecated_download_attribution_finch_enabled()) {
+      total_size += 2 + 1;
+    }
+
     // optional .safe_browsing.ClientDownloadRequest.DownloadType download_type = 10 [default = WIN_EXECUTABLE];
     if (has_download_type()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::EnumSize(this->download_type());
     }
 
     // optional bool user_initiated = 6;
     if (has_user_initiated()) {
@@ -11459,77 +13656,83 @@ void ClientDownloadRequest::MergeFrom(co
   GOOGLE_DCHECK_NE(&from, this);
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   ::google::protobuf::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
   resources_.MergeFrom(from.resources_);
   archived_binary_.MergeFrom(from.archived_binary_);
   alternate_extensions_.MergeFrom(from.alternate_extensions_);
-  url_chain_.MergeFrom(from.url_chain_);
+  referrer_chain_.MergeFrom(from.referrer_chain_);
   cached_has_bits = from._has_bits_[0];
   if (cached_has_bits & 255u) {
     if (cached_has_bits & 0x00000001u) {
       set_has_url();
       url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
     }
     if (cached_has_bits & 0x00000002u) {
       set_has_file_basename();
       file_basename_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.file_basename_);
     }
     if (cached_has_bits & 0x00000004u) {
       set_has_locale();
       locale_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.locale_);
     }
     if (cached_has_bits & 0x00000008u) {
-      mutable_digests()->::safe_browsing::ClientDownloadRequest_Digests::MergeFrom(from.digests());
+      set_has_udif_code_signature();
+      udif_code_signature_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.udif_code_signature_);
     }
     if (cached_has_bits & 0x00000010u) {
-      mutable_signature()->::safe_browsing::ClientDownloadRequest_SignatureInfo::MergeFrom(from.signature());
+      mutable_digests()->::safe_browsing::ClientDownloadRequest_Digests::MergeFrom(from.digests());
     }
     if (cached_has_bits & 0x00000020u) {
-      mutable_image_headers()->::safe_browsing::ClientDownloadRequest_ImageHeaders::MergeFrom(from.image_headers());
+      mutable_signature()->::safe_browsing::ClientDownloadRequest_SignatureInfo::MergeFrom(from.signature());
     }
     if (cached_has_bits & 0x00000040u) {
-      mutable_population()->::safe_browsing::ChromeUserPopulation::MergeFrom(from.population());
+      mutable_image_headers()->::safe_browsing::ClientDownloadRequest_ImageHeaders::MergeFrom(from.image_headers());
     }
     if (cached_has_bits & 0x00000080u) {
+      mutable_population()->::safe_browsing::ChromeUserPopulation::MergeFrom(from.population());
+    }
+  }
+  if (cached_has_bits & 32512u) {
+    if (cached_has_bits & 0x00000100u) {
       length_ = from.length_;
     }
-    _has_bits_[0] |= cached_has_bits;
-  }
-  if (cached_has_bits & 7936u) {
-    if (cached_has_bits & 0x00000100u) {
-      download_type_ = from.download_type_;
-    }
     if (cached_has_bits & 0x00000200u) {
-      user_initiated_ = from.user_initiated_;
+      deprecated_download_attribution_finch_enabled_ = from.deprecated_download_attribution_finch_enabled_;
     }
     if (cached_has_bits & 0x00000400u) {
-      archive_valid_ = from.archive_valid_;
+      download_type_ = from.download_type_;
     }
     if (cached_has_bits & 0x00000800u) {
-      skipped_url_whitelist_ = from.skipped_url_whitelist_;
+      user_initiated_ = from.user_initiated_;
     }
     if (cached_has_bits & 0x00001000u) {
+      archive_valid_ = from.archive_valid_;
+    }
+    if (cached_has_bits & 0x00002000u) {
+      skipped_url_whitelist_ = from.skipped_url_whitelist_;
+    }
+    if (cached_has_bits & 0x00004000u) {
       skipped_certificate_whitelist_ = from.skipped_certificate_whitelist_;
     }
     _has_bits_[0] |= cached_has_bits;
   }
 }
 
 void ClientDownloadRequest::CopyFrom(const ClientDownloadRequest& from) {
 // @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadRequest)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool ClientDownloadRequest::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000089) != 0x00000089) return false;
+  if ((_has_bits_[0] & 0x00000111) != 0x00000111) return false;
   if (!::google::protobuf::internal::AllAreInitialized(this->resources())) return false;
   if (!::google::protobuf::internal::AllAreInitialized(this->archived_binary())) return false;
   if (has_signature()) {
     if (!this->signature_->IsInitialized()) return false;
   }
   if (has_image_headers()) {
     if (!this->image_headers_->IsInitialized()) return false;
   }
@@ -11540,25 +13743,27 @@ void ClientDownloadRequest::Swap(ClientD
   if (other == this) return;
   InternalSwap(other);
 }
 void ClientDownloadRequest::InternalSwap(ClientDownloadRequest* other) {
   using std::swap;
   resources_.InternalSwap(&other->resources_);
   archived_binary_.InternalSwap(&other->archived_binary_);
   alternate_extensions_.InternalSwap(&other->alternate_extensions_);
-  url_chain_.InternalSwap(&other->url_chain_);
+  referrer_chain_.InternalSwap(&other->referrer_chain_);
   url_.Swap(&other->url_);
   file_basename_.Swap(&other->file_basename_);
   locale_.Swap(&other->locale_);
+  udif_code_signature_.Swap(&other->udif_code_signature_);
   swap(digests_, other->digests_);
   swap(signature_, other->signature_);
   swap(image_headers_, other->image_headers_);
   swap(population_, other->population_);
   swap(length_, other->length_);
+  swap(deprecated_download_attribution_finch_enabled_, other->deprecated_download_attribution_finch_enabled_);
   swap(download_type_, other->download_type_);
   swap(user_initiated_, other->user_initiated_);
   swap(archive_valid_, other->archive_valid_);
   swap(skipped_url_whitelist_, other->skipped_url_whitelist_);
   swap(skipped_certificate_whitelist_, other->skipped_certificate_whitelist_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
   swap(_cached_size_, other->_cached_size_);
@@ -11631,23 +13836,23 @@ void ClientDownloadRequest::set_allocate
     clear_has_url();
   }
   url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.url)
 }
 
 // required .safe_browsing.ClientDownloadRequest.Digests digests = 2;
 bool ClientDownloadRequest::has_digests() const {
-  return (_has_bits_[0] & 0x00000008u) != 0;
+  return (_has_bits_[0] & 0x00000010u) != 0;
 }
 void ClientDownloadRequest::set_has_digests() {
-  _has_bits_[0] |= 0x00000008u;
+  _has_bits_[0] |= 0x00000010u;
 }
 void ClientDownloadRequest::clear_has_digests() {
-  _has_bits_[0] &= ~0x00000008u;
+  _has_bits_[0] &= ~0x00000010u;
 }
 void ClientDownloadRequest::clear_digests() {
   if (digests_ != NULL) digests_->::safe_browsing::ClientDownloadRequest_Digests::Clear();
   clear_has_digests();
 }
 const ::safe_browsing::ClientDownloadRequest_Digests& ClientDownloadRequest::digests() const {
   const ::safe_browsing::ClientDownloadRequest_Digests* p = digests_;
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.digests)
@@ -11677,23 +13882,23 @@ void ClientDownloadRequest::set_allocate
   } else {
     clear_has_digests();
   }
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.digests)
 }
 
 // required int64 length = 3;
 bool ClientDownloadRequest::has_length() const {
-  return (_has_bits_[0] & 0x00000080u) != 0;
+  return (_has_bits_[0] & 0x00000100u) != 0;
 }
 void ClientDownloadRequest::set_has_length() {
-  _has_bits_[0] |= 0x00000080u;
+  _has_bits_[0] |= 0x00000100u;
 }
 void ClientDownloadRequest::clear_has_length() {
-  _has_bits_[0] &= ~0x00000080u;
+  _has_bits_[0] &= ~0x00000100u;
 }
 void ClientDownloadRequest::clear_length() {
   length_ = GOOGLE_LONGLONG(0);
   clear_has_length();
 }
 ::google::protobuf::int64 ClientDownloadRequest::length() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.length)
   return length_;
@@ -11731,23 +13936,23 @@ ClientDownloadRequest::mutable_resources
 const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_Resource >&
 ClientDownloadRequest::resources() const {
   // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.resources)
   return resources_;
 }
 
 // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
 bool ClientDownloadRequest::has_signature() const {
-  return (_has_bits_[0] & 0x00000010u) != 0;
+  return (_has_bits_[0] & 0x00000020u) != 0;
 }
 void ClientDownloadRequest::set_has_signature() {
-  _has_bits_[0] |= 0x00000010u;
+  _has_bits_[0] |= 0x00000020u;
 }
 void ClientDownloadRequest::clear_has_signature() {
-  _has_bits_[0] &= ~0x00000010u;
+  _has_bits_[0] &= ~0x00000020u;
 }
 void ClientDownloadRequest::clear_signature() {
   if (signature_ != NULL) signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
   clear_has_signature();
 }
 const ::safe_browsing::ClientDownloadRequest_SignatureInfo& ClientDownloadRequest::signature() const {
   const ::safe_browsing::ClientDownloadRequest_SignatureInfo* p = signature_;
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.signature)
@@ -11777,23 +13982,23 @@ void ClientDownloadRequest::set_allocate
   } else {
     clear_has_signature();
   }
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.signature)
 }
 
 // optional bool user_initiated = 6;
 bool ClientDownloadRequest::has_user_initiated() const {
-  return (_has_bits_[0] & 0x00000200u) != 0;
+  return (_has_bits_[0] & 0x00000800u) != 0;
 }
 void ClientDownloadRequest::set_has_user_initiated() {
-  _has_bits_[0] |= 0x00000200u;
+  _has_bits_[0] |= 0x00000800u;
 }
 void ClientDownloadRequest::clear_has_user_initiated() {
-  _has_bits_[0] &= ~0x00000200u;
+  _has_bits_[0] &= ~0x00000800u;
 }
 void ClientDownloadRequest::clear_user_initiated() {
   user_initiated_ = false;
   clear_has_user_initiated();
 }
 bool ClientDownloadRequest::user_initiated() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.user_initiated)
   return user_initiated_;
@@ -11864,23 +14069,23 @@ void ClientDownloadRequest::set_allocate
     clear_has_file_basename();
   }
   file_basename_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), file_basename);
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.file_basename)
 }
 
 // optional .safe_browsing.ClientDownloadRequest.DownloadType download_type = 10 [default = WIN_EXECUTABLE];
 bool ClientDownloadRequest::has_download_type() const {
-  return (_has_bits_[0] & 0x00000100u) != 0;
+  return (_has_bits_[0] & 0x00000400u) != 0;
 }
 void ClientDownloadRequest::set_has_download_type() {
-  _has_bits_[0] |= 0x00000100u;
+  _has_bits_[0] |= 0x00000400u;
 }
 void ClientDownloadRequest::clear_has_download_type() {
-  _has_bits_[0] &= ~0x00000100u;
+  _has_bits_[0] &= ~0x00000400u;
 }
 void ClientDownloadRequest::clear_download_type() {
   download_type_ = 0;
   clear_has_download_type();
 }
 ::safe_browsing::ClientDownloadRequest_DownloadType ClientDownloadRequest::download_type() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.download_type)
   return static_cast< ::safe_browsing::ClientDownloadRequest_DownloadType >(download_type_);
@@ -11952,23 +14157,23 @@ void ClientDownloadRequest::set_allocate
     clear_has_locale();
   }
   locale_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), locale);
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.locale)
 }
 
 // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 18;
 bool ClientDownloadRequest::has_image_headers() const {
-  return (_has_bits_[0] & 0x00000020u) != 0;
+  return (_has_bits_[0] & 0x00000040u) != 0;
 }
 void ClientDownloadRequest::set_has_image_headers() {
-  _has_bits_[0] |= 0x00000020u;
+  _has_bits_[0] |= 0x00000040u;
 }
 void ClientDownloadRequest::clear_has_image_headers() {
-  _has_bits_[0] &= ~0x00000020u;
+  _has_bits_[0] &= ~0x00000040u;
 }
 void ClientDownloadRequest::clear_image_headers() {
   if (image_headers_ != NULL) image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
   clear_has_image_headers();
 }
 const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientDownloadRequest::image_headers() const {
   const ::safe_browsing::ClientDownloadRequest_ImageHeaders* p = image_headers_;
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.image_headers)
@@ -12028,23 +14233,23 @@ ClientDownloadRequest::mutable_archived_
 const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_ArchivedBinary >&
 ClientDownloadRequest::archived_binary() const {
   // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.archived_binary)
   return archived_binary_;
 }
 
 // optional .safe_browsing.ChromeUserPopulation population = 24;
 bool ClientDownloadRequest::has_population() const {
-  return (_has_bits_[0] & 0x00000040u) != 0;
+  return (_has_bits_[0] & 0x00000080u) != 0;
 }
 void ClientDownloadRequest::set_has_population() {
-  _has_bits_[0] |= 0x00000040u;
+  _has_bits_[0] |= 0x00000080u;
 }
 void ClientDownloadRequest::clear_has_population() {
-  _has_bits_[0] &= ~0x00000040u;
+  _has_bits_[0] &= ~0x00000080u;
 }
 void ClientDownloadRequest::clear_population() {
   if (population_ != NULL) population_->::safe_browsing::ChromeUserPopulation::Clear();
   clear_has_population();
 }
 const ::safe_browsing::ChromeUserPopulation& ClientDownloadRequest::population() const {
   const ::safe_browsing::ChromeUserPopulation* p = population_;
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.population)
@@ -12074,23 +14279,23 @@ void ClientDownloadRequest::set_allocate
   } else {
     clear_has_population();
   }
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.population)
 }
 
 // optional bool archive_valid = 26;
 bool ClientDownloadRequest::has_archive_valid() const {
-  return (_has_bits_[0] & 0x00000400u) != 0;
+  return (_has_bits_[0] & 0x00001000u) != 0;
 }
 void ClientDownloadRequest::set_has_archive_valid() {
-  _has_bits_[0] |= 0x00000400u;
+  _has_bits_[0] |= 0x00001000u;
 }
 void ClientDownloadRequest::clear_has_archive_valid() {
-  _has_bits_[0] &= ~0x00000400u;
+  _has_bits_[0] &= ~0x00001000u;
 }
 void ClientDownloadRequest::clear_archive_valid() {
   archive_valid_ = false;
   clear_has_archive_valid();
 }
 bool ClientDownloadRequest::archive_valid() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.archive_valid)
   return archive_valid_;
@@ -12098,23 +14303,23 @@ bool ClientDownloadRequest::archive_vali
 void ClientDownloadRequest::set_archive_valid(bool value) {
   set_has_archive_valid();
   archive_valid_ = value;
   // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.archive_valid)
 }
 
 // optional bool skipped_url_whitelist = 28;
 bool ClientDownloadRequest::has_skipped_url_whitelist() const {
-  return (_has_bits_[0] & 0x00000800u) != 0;
+  return (_has_bits_[0] & 0x00002000u) != 0;
 }
 void ClientDownloadRequest::set_has_skipped_url_whitelist() {
-  _has_bits_[0] |= 0x00000800u;
+  _has_bits_[0] |= 0x00002000u;
 }
 void ClientDownloadRequest::clear_has_skipped_url_whitelist() {
-  _has_bits_[0] &= ~0x00000800u;
+  _has_bits_[0] &= ~0x00002000u;
 }
 void ClientDownloadRequest::clear_skipped_url_whitelist() {
   skipped_url_whitelist_ = false;
   clear_has_skipped_url_whitelist();
 }
 bool ClientDownloadRequest::skipped_url_whitelist() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.skipped_url_whitelist)
   return skipped_url_whitelist_;
@@ -12122,23 +14327,23 @@ bool ClientDownloadRequest::skipped_url_
 void ClientDownloadRequest::set_skipped_url_whitelist(bool value) {
   set_has_skipped_url_whitelist();
   skipped_url_whitelist_ = value;
   // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.skipped_url_whitelist)
 }
 
 // optional bool skipped_certificate_whitelist = 31;
 bool ClientDownloadRequest::has_skipped_certificate_whitelist() const {
-  return (_has_bits_[0] & 0x00001000u) != 0;
+  return (_has_bits_[0] & 0x00004000u) != 0;
 }
 void ClientDownloadRequest::set_has_skipped_certificate_whitelist() {
-  _has_bits_[0] |= 0x00001000u;
+  _has_bits_[0] |= 0x00004000u;
 }
 void ClientDownloadRequest::clear_has_skipped_certificate_whitelist() {
-  _has_bits_[0] &= ~0x00001000u;
+  _has_bits_[0] &= ~0x00004000u;
 }
 void ClientDownloadRequest::clear_skipped_certificate_whitelist() {
   skipped_certificate_whitelist_ = false;
   clear_has_skipped_certificate_whitelist();
 }
 bool ClientDownloadRequest::skipped_certificate_whitelist() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.skipped_certificate_whitelist)
   return skipped_certificate_whitelist_;
@@ -12213,44 +14418,1343 @@ ClientDownloadRequest::alternate_extensi
   return alternate_extensions_;
 }
 ::google::protobuf::RepeatedPtrField< ::std::string>*
 ClientDownloadRequest::mutable_alternate_extensions() {
   // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.alternate_extensions)
   return &alternate_extensions_;
 }
 
-// repeated .safe_browsing.ClientDownloadRequest.URLChainEntry url_chain = 36;
-int ClientDownloadRequest::url_chain_size() const {
-  return url_chain_.size();
-}
-void ClientDownloadRequest::clear_url_chain() {
-  url_chain_.Clear();
-}
-const ::safe_browsing::ClientDownloadRequest_URLChainEntry& ClientDownloadRequest::url_chain(int index) const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.url_chain)
-  return url_chain_.Get(index);
-}
-::safe_browsing::ClientDownloadRequest_URLChainEntry* ClientDownloadRequest::mutable_url_chain(int index) {
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.url_chain)
-  return url_chain_.Mutable(index);
-}
-::safe_browsing::ClientDownloadRequest_URLChainEntry* ClientDownloadRequest::add_url_chain() {
-  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.url_chain)
-  return url_chain_.Add();
-}
-::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_URLChainEntry >*
-ClientDownloadRequest::mutable_url_chain() {
-  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.url_chain)
-  return &url_chain_;
-}
-const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_URLChainEntry >&
-ClientDownloadRequest::url_chain() const {
-  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.url_chain)
-  return url_chain_;
+// repeated .safe_browsing.ReferrerChainEntry referrer_chain = 36;
+int ClientDownloadRequest::referrer_chain_size() const {
+  return referrer_chain_.size();
+}
+void ClientDownloadRequest::clear_referrer_chain() {
+  referrer_chain_.Clear();
+}
+const ::safe_browsing::ReferrerChainEntry& ClientDownloadRequest::referrer_chain(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.referrer_chain)
+  return referrer_chain_.Get(index);
+}
+::safe_browsing::ReferrerChainEntry* ClientDownloadRequest::mutable_referrer_chain(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.referrer_chain)
+  return referrer_chain_.Mutable(index);
+}
+::safe_browsing::ReferrerChainEntry* ClientDownloadRequest::add_referrer_chain() {
+  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.referrer_chain)
+  return referrer_chain_.Add();
+}
+::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >*
+ClientDownloadRequest::mutable_referrer_chain() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.referrer_chain)
+  return &referrer_chain_;
+}
+const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >&
+ClientDownloadRequest::referrer_chain() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.referrer_chain)
+  return referrer_chain_;
+}
+
+// optional bool DEPRECATED_download_attribution_finch_enabled = 39 [deprecated = true];
+bool ClientDownloadRequest::has_deprecated_download_attribution_finch_enabled() const {
+  return (_has_bits_[0] & 0x00000200u) != 0;
+}
+void ClientDownloadRequest::set_has_deprecated_download_attribution_finch_enabled() {
+  _has_bits_[0] |= 0x00000200u;
+}
+void ClientDownloadRequest::clear_has_deprecated_download_attribution_finch_enabled() {
+  _has_bits_[0] &= ~0x00000200u;
+}
+void ClientDownloadRequest::clear_deprecated_download_attribution_finch_enabled() {
+  deprecated_download_attribution_finch_enabled_ = false;
+  clear_has_deprecated_download_attribution_finch_enabled();
+}
+bool ClientDownloadRequest::deprecated_download_attribution_finch_enabled() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.DEPRECATED_download_attribution_finch_enabled)
+  return deprecated_download_attribution_finch_enabled_;
+}
+void ClientDownloadRequest::set_deprecated_download_attribution_finch_enabled(bool value) {
+  set_has_deprecated_download_attribution_finch_enabled();
+  deprecated_download_attribution_finch_enabled_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.DEPRECATED_download_attribution_finch_enabled)
+}
+
+// optional bytes udif_code_signature = 40;
+bool ClientDownloadRequest::has_udif_code_signature() const {
+  return (_has_bits_[0] & 0x00000008u) != 0;
+}
+void ClientDownloadRequest::set_has_udif_code_signature() {
+  _has_bits_[0] |= 0x00000008u;
+}
+void ClientDownloadRequest::clear_has_udif_code_signature() {
+  _has_bits_[0] &= ~0x00000008u;
+}
+void ClientDownloadRequest::clear_udif_code_signature() {
+  udif_code_signature_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_udif_code_signature();
+}
+const ::std::string& ClientDownloadRequest::udif_code_signature() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.udif_code_signature)
+  return udif_code_signature_.GetNoArena();
+}
+void ClientDownloadRequest::set_udif_code_signature(const ::std::string& value) {
+  set_has_udif_code_signature();
+  udif_code_signature_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.udif_code_signature)
+}
+#if LANG_CXX11
+void ClientDownloadRequest::set_udif_code_signature(::std::string&& value) {
+  set_has_udif_code_signature();
+  udif_code_signature_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.udif_code_signature)
+}
+#endif
+void ClientDownloadRequest::set_udif_code_signature(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_udif_code_signature();
+  udif_code_signature_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.udif_code_signature)
+}
+void ClientDownloadRequest::set_udif_code_signature(const void* value, size_t size) {
+  set_has_udif_code_signature();
+  udif_code_signature_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.udif_code_signature)
+}
+::std::string* ClientDownloadRequest::mutable_udif_code_signature() {
+  set_has_udif_code_signature();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.udif_code_signature)
+  return udif_code_signature_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* ClientDownloadRequest::release_udif_code_signature() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.udif_code_signature)
+  clear_has_udif_code_signature();
+  return udif_code_signature_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void ClientDownloadRequest::set_allocated_udif_code_signature(::std::string* udif_code_signature) {
+  if (udif_code_signature != NULL) {
+    set_has_udif_code_signature();
+  } else {
+    clear_has_udif_code_signature();
+  }
+  udif_code_signature_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), udif_code_signature);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.udif_code_signature)
+}
+
+#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int ReferrerChainEntry_ServerRedirect::kUrlFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+ReferrerChainEntry_ServerRedirect::ReferrerChainEntry_ServerRedirect()
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    protobuf_csd_2eproto::InitDefaults();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:safe_browsing.ReferrerChainEntry.ServerRedirect)
+}
+ReferrerChainEntry_ServerRedirect::ReferrerChainEntry_ServerRedirect(const ReferrerChainEntry_ServerRedirect& from)
+  : ::google::protobuf::MessageLite(),
+      _internal_metadata_(NULL),
+      _has_bits_(from._has_bits_),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_url()) {
+    url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
+  }
+  // @@protoc_insertion_point(copy_constructor:safe_browsing.ReferrerChainEntry.ServerRedirect)
+}
+
+void ReferrerChainEntry_ServerRedirect::SharedCtor() {
+  _cached_size_ = 0;
+  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+ReferrerChainEntry_ServerRedirect::~ReferrerChainEntry_ServerRedirect() {
+  // @@protoc_insertion_point(destructor:safe_browsing.ReferrerChainEntry.ServerRedirect)
+  SharedDtor();
+}
+
+void ReferrerChainEntry_ServerRedirect::SharedDtor() {
+  url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+void ReferrerChainEntry_ServerRedirect::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ReferrerChainEntry_ServerRedirect& ReferrerChainEntry_ServerRedirect::default_instance() {
+  protobuf_csd_2eproto::InitDefaults();
+  return *internal_default_instance();
+}
+
+ReferrerChainEntry_ServerRedirect* ReferrerChainEntry_ServerRedirect::New(::google::protobuf::Arena* arena) const {
+  ReferrerChainEntry_ServerRedirect* n = new ReferrerChainEntry_ServerRedirect;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void ReferrerChainEntry_ServerRedirect::Clear() {
+// @@protoc_insertion_point(message_clear_start:safe_browsing.ReferrerChainEntry.ServerRedirect)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  if (has_url()) {
+    GOOGLE_DCHECK(!url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+    (*url_.UnsafeRawStringPointer())->clear();
+  }
+  _has_bits_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool ReferrerChainEntry_ServerRedirect::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
+      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
+          &::google::protobuf::internal::InternalMetadataWithArenaLite::
+              mutable_unknown_fields));
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string, false);
+  // @@protoc_insertion_point(parse_start:safe_browsing.ReferrerChainEntry.ServerRedirect)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // optional string url = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_url()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:safe_browsing.ReferrerChainEntry.ServerRedirect)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:safe_browsing.ReferrerChainEntry.ServerRedirect)
+  return false;
+#undef DO_
+}
+
+void ReferrerChainEntry_ServerRedirect::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:safe_browsing.ReferrerChainEntry.ServerRedirect)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  // optional string url = 1;
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      1, this->url(), output);
+  }
+
+  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
+                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
+  // @@protoc_insertion_point(serialize_end:safe_browsing.ReferrerChainEntry.ServerRedirect)
+}
+
+size_t ReferrerChainEntry_ServerRedirect::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ReferrerChainEntry.ServerRedirect)
+  size_t total_size = 0;
+
+  total_size += _internal_metadata_.unknown_fields().size();
+
+  // optional string url = 1;
+  if (has_url()) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::StringSize(
+        this->url());
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void ReferrerChainEntry_ServerRedirect::CheckTypeAndMergeFrom(
+    const ::google::protobuf::MessageLite& from) {
+  MergeFrom(*::google::protobuf::down_cast<const ReferrerChainEntry_ServerRedirect*>(&from));
+}
+
+void ReferrerChainEntry_ServerRedirect::MergeFrom(const ReferrerChainEntry_ServerRedirect& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ReferrerChainEntry.ServerRedirect)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.has_url()) {
+    set_has_url();
+    url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
+  }
+}
+
+void ReferrerChainEntry_ServerRedirect::CopyFrom(const ReferrerChainEntry_ServerRedirect& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ReferrerChainEntry.ServerRedirect)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool ReferrerChainEntry_ServerRedirect::IsInitialized() const {
+  return true;
+}
+
+void ReferrerChainEntry_ServerRedirect::Swap(ReferrerChainEntry_ServerRedirect* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void ReferrerChainEntry_ServerRedirect::InternalSwap(ReferrerChainEntry_ServerRedirect* other) {
+  using std::swap;
+  url_.Swap(&other->url_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::std::string ReferrerChainEntry_ServerRedirect::GetTypeName() const {
+  return "safe_browsing.ReferrerChainEntry.ServerRedirect";
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// ReferrerChainEntry_ServerRedirect
+
+// optional string url = 1;
+bool ReferrerChainEntry_ServerRedirect::has_url() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+void ReferrerChainEntry_ServerRedirect::set_has_url() {
+  _has_bits_[0] |= 0x00000001u;
+}
+void ReferrerChainEntry_ServerRedirect::clear_has_url() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+void ReferrerChainEntry_ServerRedirect::clear_url() {
+  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_url();
+}
+const ::std::string& ReferrerChainEntry_ServerRedirect::url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+  return url_.GetNoArena();
+}
+void ReferrerChainEntry_ServerRedirect::set_url(const ::std::string& value) {
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+}
+#if LANG_CXX11
+void ReferrerChainEntry_ServerRedirect::set_url(::std::string&& value) {
+  set_has_url();
+  url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+}
+#endif
+void ReferrerChainEntry_ServerRedirect::set_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+}
+void ReferrerChainEntry_ServerRedirect::set_url(const char* value, size_t size) {
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+}
+::std::string* ReferrerChainEntry_ServerRedirect::mutable_url() {
+  set_has_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* ReferrerChainEntry_ServerRedirect::release_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+  clear_has_url();
+  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void ReferrerChainEntry_ServerRedirect::set_allocated_url(::std::string* url) {
+  if (url != NULL) {
+    set_has_url();
+  } else {
+    clear_has_url();
+  }
+  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+}
+
+#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int ReferrerChainEntry::kUrlFieldNumber;
+const int ReferrerChainEntry::kMainFrameUrlFieldNumber;
+const int ReferrerChainEntry::kTypeFieldNumber;
+const int ReferrerChainEntry::kIpAddressesFieldNumber;
+const int ReferrerChainEntry::kReferrerUrlFieldNumber;
+const int ReferrerChainEntry::kReferrerMainFrameUrlFieldNumber;
+const int ReferrerChainEntry::kIsRetargetingFieldNumber;
+const int ReferrerChainEntry::kNavigationTimeMsecFieldNumber;
+const int ReferrerChainEntry::kServerRedirectChainFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+ReferrerChainEntry::ReferrerChainEntry()
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    protobuf_csd_2eproto::InitDefaults();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:safe_browsing.ReferrerChainEntry)
+}
+ReferrerChainEntry::ReferrerChainEntry(const ReferrerChainEntry& from)
+  : ::google::protobuf::MessageLite(),
+      _internal_metadata_(NULL),
+      _has_bits_(from._has_bits_),
+      _cached_size_(0),
+      ip_addresses_(from.ip_addresses_),
+      server_redirect_chain_(from.server_redirect_chain_) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_url()) {
+    url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
+  }
+  referrer_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_referrer_url()) {
+    referrer_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_url_);
+  }
+  referrer_main_frame_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_referrer_main_frame_url()) {
+    referrer_main_frame_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_main_frame_url_);
+  }
+  main_frame_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_main_frame_url()) {
+    main_frame_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.main_frame_url_);
+  }
+  ::memcpy(&navigation_time_msec_, &from.navigation_time_msec_,
+    static_cast<size_t>(reinterpret_cast<char*>(&type_) -
+    reinterpret_cast<char*>(&navigation_time_msec_)) + sizeof(type_));
+  // @@protoc_insertion_point(copy_constructor:safe_browsing.ReferrerChainEntry)
+}
+
+void ReferrerChainEntry::SharedCtor() {
+  _cached_size_ = 0;
+  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  referrer_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  referrer_main_frame_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  main_frame_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  ::memset(&navigation_time_msec_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&is_retargeting_) -
+      reinterpret_cast<char*>(&navigation_time_msec_)) + sizeof(is_retargeting_));
+  type_ = 4;
+}
+
+ReferrerChainEntry::~ReferrerChainEntry() {
+  // @@protoc_insertion_point(destructor:safe_browsing.ReferrerChainEntry)
+  SharedDtor();
+}
+
+void ReferrerChainEntry::SharedDtor() {
+  url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  referrer_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  referrer_main_frame_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  main_frame_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+void ReferrerChainEntry::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ReferrerChainEntry& ReferrerChainEntry::default_instance() {
+  protobuf_csd_2eproto::InitDefaults();
+  return *internal_default_instance();
+}
+
+ReferrerChainEntry* ReferrerChainEntry::New(::google::protobuf::Arena* arena) const {
+  ReferrerChainEntry* n = new ReferrerChainEntry;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void ReferrerChainEntry::Clear() {
+// @@protoc_insertion_point(message_clear_start:safe_browsing.ReferrerChainEntry)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  ip_addresses_.Clear();
+  server_redirect_chain_.Clear();
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 15u) {
+    if (cached_has_bits & 0x00000001u) {
+      GOOGLE_DCHECK(!url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+      (*url_.UnsafeRawStringPointer())->clear();
+    }
+    if (cached_has_bits & 0x00000002u) {
+      GOOGLE_DCHECK(!referrer_url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+      (*referrer_url_.UnsafeRawStringPointer())->clear();
+    }
+    if (cached_has_bits & 0x00000004u) {
+      GOOGLE_DCHECK(!referrer_main_frame_url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+      (*referrer_main_frame_url_.UnsafeRawStringPointer())->clear();
+    }
+    if (cached_has_bits & 0x00000008u) {
+      GOOGLE_DCHECK(!main_frame_url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+      (*main_frame_url_.UnsafeRawStringPointer())->clear();
+    }
+  }
+  if (cached_has_bits & 112u) {
+    ::memset(&navigation_time_msec_, 0, static_cast<size_t>(
+        reinterpret_cast<char*>(&is_retargeting_) -
+        reinterpret_cast<char*>(&navigation_time_msec_)) + sizeof(is_retargeting_));
+    type_ = 4;
+  }
+  _has_bits_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool ReferrerChainEntry::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
+      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
+          &::google::protobuf::internal::InternalMetadataWithArenaLite::
+              mutable_unknown_fields));
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string, false);
+  // @@protoc_insertion_point(parse_start:safe_browsing.ReferrerChainEntry)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // optional string url = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_url()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional .safe_browsing.ReferrerChainEntry.URLType type = 2 [default = CLIENT_REDIRECT];
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+          int value;
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
+                 input, &value)));
+          if (::safe_browsing::ReferrerChainEntry_URLType_IsValid(value)) {
+            set_type(static_cast< ::safe_browsing::ReferrerChainEntry_URLType >(value));
+          } else {
+            unknown_fields_stream.WriteVarint32(16u);
+            unknown_fields_stream.WriteVarint32(
+                static_cast< ::google::protobuf::uint32>(value));
+          }
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // repeated string ip_addresses = 3;
+      case 3: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->add_ip_addresses()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional string referrer_url = 4;
+      case 4: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_referrer_url()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional string referrer_main_frame_url = 5;
+      case 5: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_referrer_main_frame_url()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional bool is_retargeting = 6;
+      case 6: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(48u /* 48 & 0xFF */)) {
+          set_has_is_retargeting();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &is_retargeting_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional double navigation_time_msec = 7;
+      case 7: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(57u /* 57 & 0xFF */)) {
+          set_has_navigation_time_msec();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
+                 input, &navigation_time_msec_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // repeated .safe_browsing.ReferrerChainEntry.ServerRedirect server_redirect_chain = 8;
+      case 8: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(66u /* 66 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+                input, add_server_redirect_chain()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional string main_frame_url = 9;
+      case 9: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(74u /* 74 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_main_frame_url()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:safe_browsing.ReferrerChainEntry)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:safe_browsing.ReferrerChainEntry)
+  return false;
+#undef DO_
+}
+
+void ReferrerChainEntry::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:safe_browsing.ReferrerChainEntry)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  // optional string url = 1;
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      1, this->url(), output);
+  }
+
+  // optional .safe_browsing.ReferrerChainEntry.URLType type = 2 [default = CLIENT_REDIRECT];
+  if (cached_has_bits & 0x00000040u) {
+    ::google::protobuf::internal::WireFormatLite::WriteEnum(
+      2, this->type(), output);
+  }
+
+  // repeated string ip_addresses = 3;
+  for (int i = 0, n = this->ip_addresses_size(); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteString(
+      3, this->ip_addresses(i), output);
+  }
+
+  // optional string referrer_url = 4;
+  if (cached_has_bits & 0x00000002u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      4, this->referrer_url(), output);
+  }
+
+  // optional string referrer_main_frame_url = 5;
+  if (cached_has_bits & 0x00000004u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      5, this->referrer_main_frame_url(), output);
+  }
+
+  // optional bool is_retargeting = 6;
+  if (cached_has_bits & 0x00000020u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->is_retargeting(), output);
+  }
+
+  // optional double navigation_time_msec = 7;
+  if (cached_has_bits & 0x00000010u) {
+    ::google::protobuf::internal::WireFormatLite::WriteDouble(7, this->navigation_time_msec(), output);
+  }
+
+  // repeated .safe_browsing.ReferrerChainEntry.ServerRedirect server_redirect_chain = 8;
+  for (unsigned int i = 0,
+      n = static_cast<unsigned int>(this->server_redirect_chain_size()); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessage(
+      8, this->server_redirect_chain(static_cast<int>(i)), output);
+  }
+
+  // optional string main_frame_url = 9;
+  if (cached_has_bits & 0x00000008u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      9, this->main_frame_url(), output);
+  }
+
+  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
+                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
+  // @@protoc_insertion_point(serialize_end:safe_browsing.ReferrerChainEntry)
+}
+
+size_t ReferrerChainEntry::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ReferrerChainEntry)
+  size_t total_size = 0;
+
+  total_size += _internal_metadata_.unknown_fields().size();
+
+  // repeated string ip_addresses = 3;
+  total_size += 1 *
+      ::google::protobuf::internal::FromIntSize(this->ip_addresses_size());
+  for (int i = 0, n = this->ip_addresses_size(); i < n; i++) {
+    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
+      this->ip_addresses(i));
+  }
+
+  // repeated .safe_browsing.ReferrerChainEntry.ServerRedirect server_redirect_chain = 8;
+  {
+    unsigned int count = static_cast<unsigned int>(this->server_redirect_chain_size());
+    total_size += 1UL * count;
+    for (unsigned int i = 0; i < count; i++) {
+      total_size +=
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          this->server_redirect_chain(static_cast<int>(i)));
+    }
+  }
+
+  if (_has_bits_[0 / 32] & 127u) {
+    // optional string url = 1;
+    if (has_url()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->url());
+    }
+
+    // optional string referrer_url = 4;
+    if (has_referrer_url()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->referrer_url());
+    }
+
+    // optional string referrer_main_frame_url = 5;
+    if (has_referrer_main_frame_url()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->referrer_main_frame_url());
+    }
+
+    // optional string main_frame_url = 9;
+    if (has_main_frame_url()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->main_frame_url());
+    }
+
+    // optional double navigation_time_msec = 7;
+    if (has_navigation_time_msec()) {
+      total_size += 1 + 8;
+    }
+
+    // optional bool is_retargeting = 6;
+    if (has_is_retargeting()) {
+      total_size += 1 + 1;
+    }
+
+    // optional .safe_browsing.ReferrerChainEntry.URLType type = 2 [default = CLIENT_REDIRECT];
+    if (has_type()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
+    }
+
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void ReferrerChainEntry::CheckTypeAndMergeFrom(
+    const ::google::protobuf::MessageLite& from) {
+  MergeFrom(*::google::protobuf::down_cast<const ReferrerChainEntry*>(&from));
+}
+
+void ReferrerChainEntry::MergeFrom(const ReferrerChainEntry& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ReferrerChainEntry)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  ip_addresses_.MergeFrom(from.ip_addresses_);
+  server_redirect_chain_.MergeFrom(from.server_redirect_chain_);
+  cached_has_bits = from._has_bits_[0];
+  if (cached_has_bits & 127u) {
+    if (cached_has_bits & 0x00000001u) {
+      set_has_url();
+      url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
+    }
+    if (cached_has_bits & 0x00000002u) {
+      set_has_referrer_url();
+      referrer_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_url_);
+    }
+    if (cached_has_bits & 0x00000004u) {
+      set_has_referrer_main_frame_url();
+      referrer_main_frame_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_main_frame_url_);
+    }
+    if (cached_has_bits & 0x00000008u) {
+      set_has_main_frame_url();
+      main_frame_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.main_frame_url_);
+    }
+    if (cached_has_bits & 0x00000010u) {
+      navigation_time_msec_ = from.navigation_time_msec_;
+    }
+    if (cached_has_bits & 0x00000020u) {
+      is_retargeting_ = from.is_retargeting_;
+    }
+    if (cached_has_bits & 0x00000040u) {
+      type_ = from.type_;
+    }
+    _has_bits_[0] |= cached_has_bits;
+  }
+}
+
+void ReferrerChainEntry::CopyFrom(const ReferrerChainEntry& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ReferrerChainEntry)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool ReferrerChainEntry::IsInitialized() const {
+  return true;
+}
+
+void ReferrerChainEntry::Swap(ReferrerChainEntry* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void ReferrerChainEntry::InternalSwap(ReferrerChainEntry* other) {
+  using std::swap;
+  ip_addresses_.InternalSwap(&other->ip_addresses_);
+  server_redirect_chain_.InternalSwap(&other->server_redirect_chain_);
+  url_.Swap(&other->url_);
+  referrer_url_.Swap(&other->referrer_url_);
+  referrer_main_frame_url_.Swap(&other->referrer_main_frame_url_);
+  main_frame_url_.Swap(&other->main_frame_url_);
+  swap(navigation_time_msec_, other->navigation_time_msec_);
+  swap(is_retargeting_, other->is_retargeting_);
+  swap(type_, other->type_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::std::string ReferrerChainEntry::GetTypeName() const {
+  return "safe_browsing.ReferrerChainEntry";
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// ReferrerChainEntry
+
+// optional string url = 1;
+bool ReferrerChainEntry::has_url() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+void ReferrerChainEntry::set_has_url() {
+  _has_bits_[0] |= 0x00000001u;
+}
+void ReferrerChainEntry::clear_has_url() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+void ReferrerChainEntry::clear_url() {
+  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_url();
+}
+const ::std::string& ReferrerChainEntry::url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.url)
+  return url_.GetNoArena();
+}
+void ReferrerChainEntry::set_url(const ::std::string& value) {
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.url)
+}
+#if LANG_CXX11
+void ReferrerChainEntry::set_url(::std::string&& value) {
+  set_has_url();
+  url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ReferrerChainEntry.url)
+}
+#endif
+void ReferrerChainEntry::set_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.url)
+}
+void ReferrerChainEntry::set_url(const char* value, size_t size) {
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.url)
+}
+::std::string* ReferrerChainEntry::mutable_url() {
+  set_has_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.url)
+  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* ReferrerChainEntry::release_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.url)
+  clear_has_url();
+  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void ReferrerChainEntry::set_allocated_url(::std::string* url) {
+  if (url != NULL) {
+    set_has_url();
+  } else {
+    clear_has_url();
+  }
+  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.url)
+}
+
+// optional string main_frame_url = 9;
+bool ReferrerChainEntry::has_main_frame_url() const {
+  return (_has_bits_[0] & 0x00000008u) != 0;
+}
+void ReferrerChainEntry::set_has_main_frame_url() {
+  _has_bits_[0] |= 0x00000008u;
+}
+void ReferrerChainEntry::clear_has_main_frame_url() {
+  _has_bits_[0] &= ~0x00000008u;
+}
+void ReferrerChainEntry::clear_main_frame_url() {
+  main_frame_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_main_frame_url();
+}
+const ::std::string& ReferrerChainEntry::main_frame_url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.main_frame_url)
+  return main_frame_url_.GetNoArena();
+}
+void ReferrerChainEntry::set_main_frame_url(const ::std::string& value) {
+  set_has_main_frame_url();
+  main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.main_frame_url)
+}
+#if LANG_CXX11
+void ReferrerChainEntry::set_main_frame_url(::std::string&& value) {
+  set_has_main_frame_url();
+  main_frame_url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ReferrerChainEntry.main_frame_url)
+}
+#endif
+void ReferrerChainEntry::set_main_frame_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_main_frame_url();
+  main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.main_frame_url)
+}
+void ReferrerChainEntry::set_main_frame_url(const char* value, size_t size) {
+  set_has_main_frame_url();
+  main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.main_frame_url)
+}
+::std::string* ReferrerChainEntry::mutable_main_frame_url() {
+  set_has_main_frame_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.main_frame_url)
+  return main_frame_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* ReferrerChainEntry::release_main_frame_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.main_frame_url)
+  clear_has_main_frame_url();
+  return main_frame_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void ReferrerChainEntry::set_allocated_main_frame_url(::std::string* main_frame_url) {
+  if (main_frame_url != NULL) {
+    set_has_main_frame_url();
+  } else {
+    clear_has_main_frame_url();
+  }
+  main_frame_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), main_frame_url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.main_frame_url)
+}
+
+// optional .safe_browsing.ReferrerChainEntry.URLType type = 2 [default = CLIENT_REDIRECT];
+bool ReferrerChainEntry::has_type() const {
+  return (_has_bits_[0] & 0x00000040u) != 0;
+}
+void ReferrerChainEntry::set_has_type() {
+  _has_bits_[0] |= 0x00000040u;
+}
+void ReferrerChainEntry::clear_has_type() {
+  _has_bits_[0] &= ~0x00000040u;
+}
+void ReferrerChainEntry::clear_type() {
+  type_ = 4;
+  clear_has_type();
+}
+::safe_browsing::ReferrerChainEntry_URLType ReferrerChainEntry::type() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.type)
+  return static_cast< ::safe_browsing::ReferrerChainEntry_URLType >(type_);
+}
+void ReferrerChainEntry::set_type(::safe_browsing::ReferrerChainEntry_URLType value) {
+  assert(::safe_browsing::ReferrerChainEntry_URLType_IsValid(value));
+  set_has_type();
+  type_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.type)
+}
+
+// repeated string ip_addresses = 3;
+int ReferrerChainEntry::ip_addresses_size() const {
+  return ip_addresses_.size();
+}
+void ReferrerChainEntry::clear_ip_addresses() {
+  ip_addresses_.Clear();
+}
+const ::std::string& ReferrerChainEntry::ip_addresses(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.ip_addresses)
+  return ip_addresses_.Get(index);
+}
+::std::string* ReferrerChainEntry::mutable_ip_addresses(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.ip_addresses)
+  return ip_addresses_.Mutable(index);
+}
+void ReferrerChainEntry::set_ip_addresses(int index, const ::std::string& value) {
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.ip_addresses)
+  ip_addresses_.Mutable(index)->assign(value);
+}
+#if LANG_CXX11
+void ReferrerChainEntry::set_ip_addresses(int index, ::std::string&& value) {
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.ip_addresses)
+  ip_addresses_.Mutable(index)->assign(std::move(value));
+}
+#endif
+void ReferrerChainEntry::set_ip_addresses(int index, const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  ip_addresses_.Mutable(index)->assign(value);
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.ip_addresses)
+}
+void ReferrerChainEntry::set_ip_addresses(int index, const char* value, size_t size) {
+  ip_addresses_.Mutable(index)->assign(
+    reinterpret_cast<const char*>(value), size);
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.ip_addresses)
+}
+::std::string* ReferrerChainEntry::add_ip_addresses() {
+  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ReferrerChainEntry.ip_addresses)
+  return ip_addresses_.Add();
+}
+void ReferrerChainEntry::add_ip_addresses(const ::std::string& value) {
+  ip_addresses_.Add()->assign(value);
+  // @@protoc_insertion_point(field_add:safe_browsing.ReferrerChainEntry.ip_addresses)
+}
+#if LANG_CXX11
+void ReferrerChainEntry::add_ip_addresses(::std::string&& value) {
+  ip_addresses_.Add(std::move(value));
+  // @@protoc_insertion_point(field_add:safe_browsing.ReferrerChainEntry.ip_addresses)
+}
+#endif
+void ReferrerChainEntry::add_ip_addresses(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  ip_addresses_.Add()->assign(value);
+  // @@protoc_insertion_point(field_add_char:safe_browsing.ReferrerChainEntry.ip_addresses)
+}
+void ReferrerChainEntry::add_ip_addresses(const char* value, size_t size) {
+  ip_addresses_.Add()->assign(reinterpret_cast<const char*>(value), size);
+  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ReferrerChainEntry.ip_addresses)
+}
+const ::google::protobuf::RepeatedPtrField< ::std::string>&
+ReferrerChainEntry::ip_addresses() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.ReferrerChainEntry.ip_addresses)
+  return ip_addresses_;
+}
+::google::protobuf::RepeatedPtrField< ::std::string>*
+ReferrerChainEntry::mutable_ip_addresses() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ReferrerChainEntry.ip_addresses)
+  return &ip_addresses_;
+}
+
+// optional string referrer_url = 4;
+bool ReferrerChainEntry::has_referrer_url() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+void ReferrerChainEntry::set_has_referrer_url() {
+  _has_bits_[0] |= 0x00000002u;
+}
+void ReferrerChainEntry::clear_has_referrer_url() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+void ReferrerChainEntry::clear_referrer_url() {
+  referrer_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_referrer_url();
+}
+const ::std::string& ReferrerChainEntry::referrer_url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.referrer_url)
+  return referrer_url_.GetNoArena();
+}
+void ReferrerChainEntry::set_referrer_url(const ::std::string& value) {
+  set_has_referrer_url();
+  referrer_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.referrer_url)
+}
+#if LANG_CXX11
+void ReferrerChainEntry::set_referrer_url(::std::string&& value) {
+  set_has_referrer_url();
+  referrer_url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ReferrerChainEntry.referrer_url)
+}
+#endif
+void ReferrerChainEntry::set_referrer_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_referrer_url();
+  referrer_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.referrer_url)
+}
+void ReferrerChainEntry::set_referrer_url(const char* value, size_t size) {
+  set_has_referrer_url();
+  referrer_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.referrer_url)
+}
+::std::string* ReferrerChainEntry::mutable_referrer_url() {
+  set_has_referrer_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.referrer_url)
+  return referrer_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* ReferrerChainEntry::release_referrer_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.referrer_url)
+  clear_has_referrer_url();
+  return referrer_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void ReferrerChainEntry::set_allocated_referrer_url(::std::string* referrer_url) {
+  if (referrer_url != NULL) {
+    set_has_referrer_url();
+  } else {
+    clear_has_referrer_url();
+  }
+  referrer_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), referrer_url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.referrer_url)
+}
+
+// optional string referrer_main_frame_url = 5;
+bool ReferrerChainEntry::has_referrer_main_frame_url() const {
+  return (_has_bits_[0] & 0x00000004u) != 0;
+}
+void ReferrerChainEntry::set_has_referrer_main_frame_url() {
+  _has_bits_[0] |= 0x00000004u;
+}
+void ReferrerChainEntry::clear_has_referrer_main_frame_url() {
+  _has_bits_[0] &= ~0x00000004u;
+}
+void ReferrerChainEntry::clear_referrer_main_frame_url() {
+  referrer_main_frame_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_referrer_main_frame_url();
+}
+const ::std::string& ReferrerChainEntry::referrer_main_frame_url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+  return referrer_main_frame_url_.GetNoArena();
+}
+void ReferrerChainEntry::set_referrer_main_frame_url(const ::std::string& value) {
+  set_has_referrer_main_frame_url();
+  referrer_main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+}
+#if LANG_CXX11
+void ReferrerChainEntry::set_referrer_main_frame_url(::std::string&& value) {
+  set_has_referrer_main_frame_url();
+  referrer_main_frame_url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+}
+#endif
+void ReferrerChainEntry::set_referrer_main_frame_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_referrer_main_frame_url();
+  referrer_main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+}
+void ReferrerChainEntry::set_referrer_main_frame_url(const char* value, size_t size) {
+  set_has_referrer_main_frame_url();
+  referrer_main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+}
+::std::string* ReferrerChainEntry::mutable_referrer_main_frame_url() {
+  set_has_referrer_main_frame_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+  return referrer_main_frame_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* ReferrerChainEntry::release_referrer_main_frame_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+  clear_has_referrer_main_frame_url();
+  return referrer_main_frame_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void ReferrerChainEntry::set_allocated_referrer_main_frame_url(::std::string* referrer_main_frame_url) {
+  if (referrer_main_frame_url != NULL) {
+    set_has_referrer_main_frame_url();
+  } else {
+    clear_has_referrer_main_frame_url();
+  }
+  referrer_main_frame_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), referrer_main_frame_url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+}
+
+// optional bool is_retargeting = 6;
+bool ReferrerChainEntry::has_is_retargeting() const {
+  return (_has_bits_[0] & 0x00000020u) != 0;
+}
+void ReferrerChainEntry::set_has_is_retargeting() {
+  _has_bits_[0] |= 0x00000020u;
+}
+void ReferrerChainEntry::clear_has_is_retargeting() {
+  _has_bits_[0] &= ~0x00000020u;
+}
+void ReferrerChainEntry::clear_is_retargeting() {
+  is_retargeting_ = false;
+  clear_has_is_retargeting();
+}
+bool ReferrerChainEntry::is_retargeting() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.is_retargeting)
+  return is_retargeting_;
+}
+void ReferrerChainEntry::set_is_retargeting(bool value) {
+  set_has_is_retargeting();
+  is_retargeting_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.is_retargeting)
+}
+
+// optional double navigation_time_msec = 7;
+bool ReferrerChainEntry::has_navigation_time_msec() const {
+  return (_has_bits_[0] & 0x00000010u) != 0;
+}
+void ReferrerChainEntry::set_has_navigation_time_msec() {
+  _has_bits_[0] |= 0x00000010u;
+}
+void ReferrerChainEntry::clear_has_navigation_time_msec() {
+  _has_bits_[0] &= ~0x00000010u;
+}
+void ReferrerChainEntry::clear_navigation_time_msec() {
+  navigation_time_msec_ = 0;
+  clear_has_navigation_time_msec();
+}
+double ReferrerChainEntry::navigation_time_msec() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.navigation_time_msec)
+  return navigation_time_msec_;
+}
+void ReferrerChainEntry::set_navigation_time_msec(double value) {
+  set_has_navigation_time_msec();
+  navigation_time_msec_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.navigation_time_msec)
+}
+
+// repeated .safe_browsing.ReferrerChainEntry.ServerRedirect server_redirect_chain = 8;
+int ReferrerChainEntry::server_redirect_chain_size() const {
+  return server_redirect_chain_.size();
+}
+void ReferrerChainEntry::clear_server_redirect_chain() {
+  server_redirect_chain_.Clear();
+}
+const ::safe_browsing::ReferrerChainEntry_ServerRedirect& ReferrerChainEntry::server_redirect_chain(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.server_redirect_chain)
+  return server_redirect_chain_.Get(index);
+}
+::safe_browsing::ReferrerChainEntry_ServerRedirect* ReferrerChainEntry::mutable_server_redirect_chain(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.server_redirect_chain)
+  return server_redirect_chain_.Mutable(index);
+}
+::safe_browsing::ReferrerChainEntry_ServerRedirect* ReferrerChainEntry::add_server_redirect_chain() {
+  // @@protoc_insertion_point(field_add:safe_browsing.ReferrerChainEntry.server_redirect_chain)
+  return server_redirect_chain_.Add();
+}
+::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry_ServerRedirect >*
+ReferrerChainEntry::mutable_server_redirect_chain() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ReferrerChainEntry.server_redirect_chain)
+  return &server_redirect_chain_;
+}
+const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry_ServerRedirect >&
+ReferrerChainEntry::server_redirect_chain() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.ReferrerChainEntry.server_redirect_chain)
+  return server_redirect_chain_;
 }
 
 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
 
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ClientDownloadResponse_MoreInfo::kDescriptionFieldNumber;
@@ -12635,16 +16139,17 @@ void ClientDownloadResponse_MoreInfo::se
 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
 
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ClientDownloadResponse::kVerdictFieldNumber;
 const int ClientDownloadResponse::kMoreInfoFieldNumber;
 const int ClientDownloadResponse::kTokenFieldNumber;
+const int ClientDownloadResponse::kUploadFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 ClientDownloadResponse::ClientDownloadResponse()
   : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_csd_2eproto::InitDefaults();
   }
   SharedCtor();
@@ -12660,26 +16165,28 @@ ClientDownloadResponse::ClientDownloadRe
   if (from.has_token()) {
     token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_);
   }
   if (from.has_more_info()) {
     more_info_ = new ::safe_browsing::ClientDownloadResponse_MoreInfo(*from.more_info_);
   } else {
     more_info_ = NULL;
   }
-  verdict_ = from.verdict_;
+  ::memcpy(&verdict_, &from.verdict_,
+    static_cast<size_t>(reinterpret_cast<char*>(&upload_) -
+    reinterpret_cast<char*>(&verdict_)) + sizeof(upload_));
   // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadResponse)
 }
 
 void ClientDownloadResponse::SharedCtor() {
   _cached_size_ = 0;
   token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   ::memset(&more_info_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&verdict_) -
-      reinterpret_cast<char*>(&more_info_)) + sizeof(verdict_));
+      reinterpret_cast<char*>(&upload_) -
+      reinterpret_cast<char*>(&more_info_)) + sizeof(upload_));
 }
 
 ClientDownloadResponse::~ClientDownloadResponse() {
   // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadResponse)
   SharedDtor();
 }
 
 void ClientDownloadResponse::SharedDtor() {
@@ -12717,17 +16224,21 @@ void ClientDownloadResponse::Clear() {
       GOOGLE_DCHECK(!token_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
       (*token_.UnsafeRawStringPointer())->clear();
     }
     if (cached_has_bits & 0x00000002u) {
       GOOGLE_DCHECK(more_info_ != NULL);
       more_info_->::safe_browsing::ClientDownloadResponse_MoreInfo::Clear();
     }
   }
-  verdict_ = 0;
+  if (cached_has_bits & 12u) {
+    ::memset(&verdict_, 0, static_cast<size_t>(
+        reinterpret_cast<char*>(&upload_) -
+        reinterpret_cast<char*>(&verdict_)) + sizeof(upload_));
+  }
   _has_bits_.Clear();
   _internal_metadata_.Clear();
 }
 
 bool ClientDownloadResponse::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   ::google::protobuf::uint32 tag;
@@ -12783,16 +16294,30 @@ bool ClientDownloadResponse::MergePartia
           DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                 input, this->mutable_token()));
         } else {
           goto handle_unusual;
         }
         break;
       }
 
+      // optional bool upload = 5;
+      case 5: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
+          set_has_upload();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &upload_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
       default: {
       handle_unusual:
         if (tag == 0) {
           goto success;
         }
         DO_(::google::protobuf::internal::WireFormatLite::SkipField(
             input, tag, &unknown_fields_stream));
         break;
@@ -12828,28 +16353,33 @@ void ClientDownloadResponse::SerializeWi
   }
 
   // optional bytes token = 3;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
       3, this->token(), output);
   }
 
+  // optional bool upload = 5;
+  if (cached_has_bits & 0x00000008u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->upload(), output);
+  }
+
   output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                    static_cast<int>(_internal_metadata_.unknown_fields().size()));
   // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadResponse)
 }
 
 size_t ClientDownloadResponse::ByteSizeLong() const {
 // @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadResponse)
   size_t total_size = 0;
 
   total_size += _internal_metadata_.unknown_fields().size();
 
-  if (_has_bits_[0 / 32] & 7u) {
+  if (_has_bits_[0 / 32] & 15u) {
     // optional bytes token = 3;
     if (has_token()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::BytesSize(
           this->token());
     }
 
     // optional .safe_browsing.ClientDownloadResponse.MoreInfo more_info = 2;
@@ -12860,16 +16390,21 @@ size_t ClientDownloadResponse::ByteSizeL
     }
 
     // optional .safe_browsing.ClientDownloadResponse.Verdict verdict = 1 [default = SAFE];
     if (has_verdict()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::EnumSize(this->verdict());
     }
 
+    // optional bool upload = 5;
+    if (has_upload()) {
+      total_size += 1 + 1;
+    }
+
   }
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = cached_size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
@@ -12881,27 +16416,30 @@ void ClientDownloadResponse::CheckTypeAn
 void ClientDownloadResponse::MergeFrom(const ClientDownloadResponse& from) {
 // @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientDownloadResponse)
   GOOGLE_DCHECK_NE(&from, this);
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   ::google::protobuf::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
   cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 7u) {
+  if (cached_has_bits & 15u) {
     if (cached_has_bits & 0x00000001u) {
       set_has_token();
       token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_);
     }
     if (cached_has_bits & 0x00000002u) {
       mutable_more_info()->::safe_browsing::ClientDownloadResponse_MoreInfo::MergeFrom(from.more_info());
     }
     if (cached_has_bits & 0x00000004u) {
       verdict_ = from.verdict_;
     }
+    if (cached_has_bits & 0x00000008u) {
+      upload_ = from.upload_;
+    }
     _has_bits_[0] |= cached_has_bits;
   }
 }
 
 void ClientDownloadResponse::CopyFrom(const ClientDownloadResponse& from) {
 // @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadResponse)
   if (&from == this) return;
   Clear();
@@ -12916,16 +16454,17 @@ void ClientDownloadResponse::Swap(Client
   if (other == this) return;
   InternalSwap(other);
 }
 void ClientDownloadResponse::InternalSwap(ClientDownloadResponse* other) {
   using std::swap;
   token_.Swap(&other->token_);
   swap(more_info_, other->more_info_);
   swap(verdict_, other->verdict_);
+  swap(upload_, other->upload_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
   swap(_cached_size_, other->_cached_size_);
 }
 
 ::std::string ClientDownloadResponse::GetTypeName() const {
   return "safe_browsing.ClientDownloadResponse";
 }
@@ -13062,16 +16601,40 @@ void ClientDownloadResponse::set_allocat
     set_has_token();
   } else {
     clear_has_token();
   }
   token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), token);
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadResponse.token)
 }
 
+// optional bool upload = 5;
+bool ClientDownloadResponse::has_upload() const {
+  return (_has_bits_[0] & 0x00000008u) != 0;
+}
+void ClientDownloadResponse::set_has_upload() {
+  _has_bits_[0] |= 0x00000008u;
+}
+void ClientDownloadResponse::clear_has_upload() {
+  _has_bits_[0] &= ~0x00000008u;
+}
+void ClientDownloadResponse::clear_upload() {
+  upload_ = false;
+  clear_has_upload();
+}
+bool ClientDownloadResponse::upload() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadResponse.upload)
+  return upload_;
+}
+void ClientDownloadResponse::set_upload(bool value) {
+  set_has_upload();
+  upload_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadResponse.upload)
+}
+
 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
 
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ClientDownloadReport_UserInformation::kEmailFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
@@ -15890,995 +19453,16 @@ ClientIncidentReport_IncidentData_Binary
   return contained_file_;
 }
 
 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
 
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
-const int ClientIncidentReport_IncidentData_BlacklistLoadIncident::kPathFieldNumber;
-const int ClientIncidentReport_IncidentData_BlacklistLoadIncident::kDigestFieldNumber;
-const int ClientIncidentReport_IncidentData_BlacklistLoadIncident::kVersionFieldNumber;
-const int ClientIncidentReport_IncidentData_BlacklistLoadIncident::kBlacklistInitializedFieldNumber;
-const int ClientIncidentReport_IncidentData_BlacklistLoadIncident::kSignatureFieldNumber;
-const int ClientIncidentReport_IncidentData_BlacklistLoadIncident::kImageHeadersFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
-
-ClientIncidentReport_IncidentData_BlacklistLoadIncident::ClientIncidentReport_IncidentData_BlacklistLoadIncident()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    protobuf_csd_2eproto::InitDefaults();
-  }
-  SharedCtor();
-  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-}
-ClientIncidentReport_IncidentData_BlacklistLoadIncident::ClientIncidentReport_IncidentData_BlacklistLoadIncident(const ClientIncidentReport_IncidentData_BlacklistLoadIncident& from)
-  : ::google::protobuf::MessageLite(),
-      _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  path_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_path()) {
-    path_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.path_);
-  }
-  version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_version()) {
-    version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_);
-  }
-  if (from.has_digest()) {
-    digest_ = new ::safe_browsing::ClientDownloadRequest_Digests(*from.digest_);
-  } else {
-    digest_ = NULL;
-  }
-  if (from.has_signature()) {
-    signature_ = new ::safe_browsing::ClientDownloadRequest_SignatureInfo(*from.signature_);
-  } else {
-    signature_ = NULL;
-  }
-  if (from.has_image_headers()) {
-    image_headers_ = new ::safe_browsing::ClientDownloadRequest_ImageHeaders(*from.image_headers_);
-  } else {
-    image_headers_ = NULL;
-  }
-  blacklist_initialized_ = from.blacklist_initialized_;
-  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-}
-
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::SharedCtor() {
-  _cached_size_ = 0;
-  path_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  ::memset(&digest_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&blacklist_initialized_) -
-      reinterpret_cast<char*>(&digest_)) + sizeof(blacklist_initialized_));
-}
-
-ClientIncidentReport_IncidentData_BlacklistLoadIncident::~ClientIncidentReport_IncidentData_BlacklistLoadIncident() {
-  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-  SharedDtor();
-}
-
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::SharedDtor() {
-  path_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  version_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (this != internal_default_instance()) delete digest_;
-  if (this != internal_default_instance()) delete signature_;
-  if (this != internal_default_instance()) delete image_headers_;
-}
-
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ClientIncidentReport_IncidentData_BlacklistLoadIncident& ClientIncidentReport_IncidentData_BlacklistLoadIncident::default_instance() {
-  protobuf_csd_2eproto::InitDefaults();
-  return *internal_default_instance();
-}
-
-ClientIncidentReport_IncidentData_BlacklistLoadIncident* ClientIncidentReport_IncidentData_BlacklistLoadIncident::New(::google::protobuf::Arena* arena) const {
-  ClientIncidentReport_IncidentData_BlacklistLoadIncident* n = new ClientIncidentReport_IncidentData_BlacklistLoadIncident;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
-
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::Clear() {
-// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 31u) {
-    if (cached_has_bits & 0x00000001u) {
-      GOOGLE_DCHECK(!path_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*path_.UnsafeRawStringPointer())->clear();
-    }
-    if (cached_has_bits & 0x00000002u) {
-      GOOGLE_DCHECK(!version_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*version_.UnsafeRawStringPointer())->clear();
-    }
-    if (cached_has_bits & 0x00000004u) {
-      GOOGLE_DCHECK(digest_ != NULL);
-      digest_->::safe_browsing::ClientDownloadRequest_Digests::Clear();
-    }
-    if (cached_has_bits & 0x00000008u) {
-      GOOGLE_DCHECK(signature_ != NULL);
-      signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
-    }
-    if (cached_has_bits & 0x00000010u) {
-      GOOGLE_DCHECK(image_headers_ != NULL);
-      image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
-    }
-  }
-  blacklist_initialized_ = false;
-  _has_bits_.Clear();
-  _internal_metadata_.Clear();
-}
-
-bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
-      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
-          &::google::protobuf::internal::InternalMetadataWithArenaLite::
-              mutable_unknown_fields));
-  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
-      &unknown_fields_string, false);
-  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-  for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // optional string path = 1;
-      case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_path()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional .safe_browsing.ClientDownloadRequest.Digests digest = 2;
-      case 2: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_digest()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional string version = 3;
-      case 3: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_version()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional bool blacklist_initialized = 4;
-      case 4: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
-          set_has_blacklist_initialized();
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
-                 input, &blacklist_initialized_)));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
-      case 5: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_signature()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 6;
-      case 6: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_image_headers()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      default: {
-      handle_unusual:
-        if (tag == 0) {
-          goto success;
-        }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
-        break;
-      }
-    }
-  }
-success:
-  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-  return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-  return false;
-#undef DO_
-}
-
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  // optional string path = 1;
-  if (cached_has_bits & 0x00000001u) {
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      1, this->path(), output);
-  }
-
-  // optional .safe_browsing.ClientDownloadRequest.Digests digest = 2;
-  if (cached_has_bits & 0x00000004u) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      2, *this->digest_, output);
-  }
-
-  // optional string version = 3;
-  if (cached_has_bits & 0x00000002u) {
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      3, this->version(), output);
-  }
-
-  // optional bool blacklist_initialized = 4;
-  if (cached_has_bits & 0x00000020u) {
-    ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->blacklist_initialized(), output);
-  }
-
-  // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
-  if (cached_has_bits & 0x00000008u) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      5, *this->signature_, output);
-  }
-
-  // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 6;
-  if (cached_has_bits & 0x00000010u) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      6, *this->image_headers_, output);
-  }
-
-  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
-                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
-  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-}
-
-size_t ClientIncidentReport_IncidentData_BlacklistLoadIncident::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-  size_t total_size = 0;
-
-  total_size += _internal_metadata_.unknown_fields().size();
-
-  if (_has_bits_[0 / 32] & 63u) {
-    // optional string path = 1;
-    if (has_path()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->path());
-    }
-
-    // optional string version = 3;
-    if (has_version()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->version());
-    }
-
-    // optional .safe_browsing.ClientDownloadRequest.Digests digest = 2;
-    if (has_digest()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          *this->digest_);
-    }
-
-    // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
-    if (has_signature()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          *this->signature_);
-    }
-
-    // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 6;
-    if (has_image_headers()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          *this->image_headers_);
-    }
-
-    // optional bool blacklist_initialized = 4;
-    if (has_blacklist_initialized()) {
-      total_size += 1 + 1;
-    }
-
-  }
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::CheckTypeAndMergeFrom(
-    const ::google::protobuf::MessageLite& from) {
-  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_IncidentData_BlacklistLoadIncident*>(&from));
-}
-
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::MergeFrom(const ClientIncidentReport_IncidentData_BlacklistLoadIncident& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 63u) {
-    if (cached_has_bits & 0x00000001u) {
-      set_has_path();
-      path_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.path_);
-    }
-    if (cached_has_bits & 0x00000002u) {
-      set_has_version();
-      version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_);
-    }
-    if (cached_has_bits & 0x00000004u) {
-      mutable_digest()->::safe_browsing::ClientDownloadRequest_Digests::MergeFrom(from.digest());
-    }
-    if (cached_has_bits & 0x00000008u) {
-      mutable_signature()->::safe_browsing::ClientDownloadRequest_SignatureInfo::MergeFrom(from.signature());
-    }
-    if (cached_has_bits & 0x00000010u) {
-      mutable_image_headers()->::safe_browsing::ClientDownloadRequest_ImageHeaders::MergeFrom(from.image_headers());
-    }
-    if (cached_has_bits & 0x00000020u) {
-      blacklist_initialized_ = from.blacklist_initialized_;
-    }
-    _has_bits_[0] |= cached_has_bits;
-  }
-}
-
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::CopyFrom(const ClientIncidentReport_IncidentData_BlacklistLoadIncident& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::IsInitialized() const {
-  if (has_signature()) {
-    if (!this->signature_->IsInitialized()) return false;
-  }
-  if (has_image_headers()) {
-    if (!this->image_headers_->IsInitialized()) return false;
-  }
-  return true;
-}
-
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::Swap(ClientIncidentReport_IncidentData_BlacklistLoadIncident* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::InternalSwap(ClientIncidentReport_IncidentData_BlacklistLoadIncident* other) {
-  using std::swap;
-  path_.Swap(&other->path_);
-  version_.Swap(&other->version_);
-  swap(digest_, other->digest_);
-  swap(signature_, other->signature_);
-  swap(image_headers_, other->image_headers_);
-  swap(blacklist_initialized_, other->blacklist_initialized_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
-}
-
-::std::string ClientIncidentReport_IncidentData_BlacklistLoadIncident::GetTypeName() const {
-  return "safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident";
-}
-
-#if PROTOBUF_INLINE_NOT_IN_HEADERS
-// ClientIncidentReport_IncidentData_BlacklistLoadIncident
-
-// optional string path = 1;
-bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::has_path() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_has_path() {
-  _has_bits_[0] |= 0x00000001u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_has_path() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_path() {
-  path_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_path();
-}
-const ::std::string& ClientIncidentReport_IncidentData_BlacklistLoadIncident::path() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-  return path_.GetNoArena();
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_path(const ::std::string& value) {
-  set_has_path();
-  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-}
-#if LANG_CXX11
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_path(::std::string&& value) {
-  set_has_path();
-  path_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-}
-#endif
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_path(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_path();
-  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_path(const char* value, size_t size) {
-  set_has_path();
-  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-}
-::std::string* ClientIncidentReport_IncidentData_BlacklistLoadIncident::mutable_path() {
-  set_has_path();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-  return path_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-::std::string* ClientIncidentReport_IncidentData_BlacklistLoadIncident::release_path() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-  clear_has_path();
-  return path_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_allocated_path(::std::string* path) {
-  if (path != NULL) {
-    set_has_path();
-  } else {
-    clear_has_path();
-  }
-  path_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), path);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-}
-
-// optional .safe_browsing.ClientDownloadRequest.Digests digest = 2;
-bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::has_digest() const {
-  return (_has_bits_[0] & 0x00000004u) != 0;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_has_digest() {
-  _has_bits_[0] |= 0x00000004u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_has_digest() {
-  _has_bits_[0] &= ~0x00000004u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_digest() {
-  if (digest_ != NULL) digest_->::safe_browsing::ClientDownloadRequest_Digests::Clear();
-  clear_has_digest();
-}
-const ::safe_browsing::ClientDownloadRequest_Digests& ClientIncidentReport_IncidentData_BlacklistLoadIncident::digest() const {
-  const ::safe_browsing::ClientDownloadRequest_Digests* p = digest_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.digest)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_Digests*>(
-      &::safe_browsing::_ClientDownloadRequest_Digests_default_instance_);
-}
-::safe_browsing::ClientDownloadRequest_Digests* ClientIncidentReport_IncidentData_BlacklistLoadIncident::mutable_digest() {
-  set_has_digest();
-  if (digest_ == NULL) {
-    digest_ = new ::safe_browsing::ClientDownloadRequest_Digests;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.digest)
-  return digest_;
-}
-::safe_browsing::ClientDownloadRequest_Digests* ClientIncidentReport_IncidentData_BlacklistLoadIncident::release_digest() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.digest)
-  clear_has_digest();
-  ::safe_browsing::ClientDownloadRequest_Digests* temp = digest_;
-  digest_ = NULL;
-  return temp;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_allocated_digest(::safe_browsing::ClientDownloadRequest_Digests* digest) {
-  delete digest_;
-  digest_ = digest;
-  if (digest) {
-    set_has_digest();
-  } else {
-    clear_has_digest();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.digest)
-}
-
-// optional string version = 3;
-bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::has_version() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_has_version() {
-  _has_bits_[0] |= 0x00000002u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_has_version() {
-  _has_bits_[0] &= ~0x00000002u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_version() {
-  version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_version();
-}
-const ::std::string& ClientIncidentReport_IncidentData_BlacklistLoadIncident::version() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-  return version_.GetNoArena();
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_version(const ::std::string& value) {
-  set_has_version();
-  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-}
-#if LANG_CXX11
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_version(::std::string&& value) {
-  set_has_version();
-  version_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-}
-#endif
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_version(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_version();
-  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_version(const char* value, size_t size) {
-  set_has_version();
-  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-}
-::std::string* ClientIncidentReport_IncidentData_BlacklistLoadIncident::mutable_version() {
-  set_has_version();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-  return version_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-::std::string* ClientIncidentReport_IncidentData_BlacklistLoadIncident::release_version() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-  clear_has_version();
-  return version_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_allocated_version(::std::string* version) {
-  if (version != NULL) {
-    set_has_version();
-  } else {
-    clear_has_version();
-  }
-  version_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), version);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-}
-
-// optional bool blacklist_initialized = 4;
-bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::has_blacklist_initialized() const {
-  return (_has_bits_[0] & 0x00000020u) != 0;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_has_blacklist_initialized() {
-  _has_bits_[0] |= 0x00000020u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_has_blacklist_initialized() {
-  _has_bits_[0] &= ~0x00000020u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_blacklist_initialized() {
-  blacklist_initialized_ = false;
-  clear_has_blacklist_initialized();
-}
-bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::blacklist_initialized() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.blacklist_initialized)
-  return blacklist_initialized_;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_blacklist_initialized(bool value) {
-  set_has_blacklist_initialized();
-  blacklist_initialized_ = value;
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.blacklist_initialized)
-}
-
-// optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
-bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::has_signature() const {
-  return (_has_bits_[0] & 0x00000008u) != 0;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_has_signature() {
-  _has_bits_[0] |= 0x00000008u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_has_signature() {
-  _has_bits_[0] &= ~0x00000008u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_signature() {
-  if (signature_ != NULL) signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
-  clear_has_signature();
-}
-const ::safe_browsing::ClientDownloadRequest_SignatureInfo& ClientIncidentReport_IncidentData_BlacklistLoadIncident::signature() const {
-  const ::safe_browsing::ClientDownloadRequest_SignatureInfo* p = signature_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.signature)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
-      &::safe_browsing::_ClientDownloadRequest_SignatureInfo_default_instance_);
-}
-::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_BlacklistLoadIncident::mutable_signature() {
-  set_has_signature();
-  if (signature_ == NULL) {
-    signature_ = new ::safe_browsing::ClientDownloadRequest_SignatureInfo;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.signature)
-  return signature_;
-}
-::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_BlacklistLoadIncident::release_signature() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.signature)
-  clear_has_signature();
-  ::safe_browsing::ClientDownloadRequest_SignatureInfo* temp = signature_;
-  signature_ = NULL;
-  return temp;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_allocated_signature(::safe_browsing::ClientDownloadRequest_SignatureInfo* signature) {
-  delete signature_;
-  signature_ = signature;
-  if (signature) {
-    set_has_signature();
-  } else {
-    clear_has_signature();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.signature)
-}
-
-// optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 6;
-bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::has_image_headers() const {
-  return (_has_bits_[0] & 0x00000010u) != 0;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_has_image_headers() {
-  _has_bits_[0] |= 0x00000010u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_has_image_headers() {
-  _has_bits_[0] &= ~0x00000010u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_image_headers() {
-  if (image_headers_ != NULL) image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
-  clear_has_image_headers();
-}
-const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientIncidentReport_IncidentData_BlacklistLoadIncident::image_headers() const {
-  const ::safe_browsing::ClientDownloadRequest_ImageHeaders* p = image_headers_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.image_headers)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
-      &::safe_browsing::_ClientDownloadRequest_ImageHeaders_default_instance_);
-}
-::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_BlacklistLoadIncident::mutable_image_headers() {
-  set_has_image_headers();
-  if (image_headers_ == NULL) {
-    image_headers_ = new ::safe_browsing::ClientDownloadRequest_ImageHeaders;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.image_headers)
-  return image_headers_;
-}
-::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_BlacklistLoadIncident::release_image_headers() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.image_headers)
-  clear_has_image_headers();
-  ::safe_browsing::ClientDownloadRequest_ImageHeaders* temp = image_headers_;
-  image_headers_ = NULL;
-  return temp;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers) {
-  delete image_headers_;
-  image_headers_ = image_headers;
-  if (image_headers) {
-    set_has_image_headers();
-  } else {
-    clear_has_image_headers();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.image_headers)
-}
-
-#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
-
-// ===================================================================
-
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
-const int ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::kVariationsSeedSignatureFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
-
-ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    protobuf_csd_2eproto::InitDefaults();
-  }
-  SharedCtor();
-  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-}
-ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident(const ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident& from)
-  : ::google::protobuf::MessageLite(),
-      _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  variations_seed_signature_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_variations_seed_signature()) {
-    variations_seed_signature_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.variations_seed_signature_);
-  }
-  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-}
-
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::SharedCtor() {
-  _cached_size_ = 0;
-  variations_seed_signature_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-
-ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::~ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident() {
-  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-  SharedDtor();
-}
-
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::SharedDtor() {
-  variations_seed_signature_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident& ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::default_instance() {
-  protobuf_csd_2eproto::InitDefaults();
-  return *internal_default_instance();
-}
-
-ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::New(::google::protobuf::Arena* arena) const {
-  ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* n = new ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
-
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::Clear() {
-// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  if (has_variations_seed_signature()) {
-    GOOGLE_DCHECK(!variations_seed_signature_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-    (*variations_seed_signature_.UnsafeRawStringPointer())->clear();
-  }
-  _has_bits_.Clear();
-  _internal_metadata_.Clear();
-}
-
-bool ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
-      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
-          &::google::protobuf::internal::InternalMetadataWithArenaLite::
-              mutable_unknown_fields));
-  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
-      &unknown_fields_string, false);
-  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-  for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // optional string variations_seed_signature = 1;
-      case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_variations_seed_signature()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      default: {
-      handle_unusual:
-        if (tag == 0) {
-          goto success;
-        }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
-        break;
-      }
-    }
-  }
-success:
-  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-  return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-  return false;
-#undef DO_
-}
-
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  // optional string variations_seed_signature = 1;
-  if (cached_has_bits & 0x00000001u) {
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      1, this->variations_seed_signature(), output);
-  }
-
-  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
-                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
-  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-}
-
-size_t ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-  size_t total_size = 0;
-
-  total_size += _internal_metadata_.unknown_fields().size();
-
-  // optional string variations_seed_signature = 1;
-  if (has_variations_seed_signature()) {
-    total_size += 1 +
-      ::google::protobuf::internal::WireFormatLite::StringSize(
-        this->variations_seed_signature());
-  }
-
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::CheckTypeAndMergeFrom(
-    const ::google::protobuf::MessageLite& from) {
-  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident*>(&from));
-}
-
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::MergeFrom(const ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  if (from.has_variations_seed_signature()) {
-    set_has_variations_seed_signature();
-    variations_seed_signature_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.variations_seed_signature_);
-  }
-}
-
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::CopyFrom(const ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::IsInitialized() const {
-  return true;
-}
-
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::Swap(ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::InternalSwap(ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* other) {
-  using std::swap;
-  variations_seed_signature_.Swap(&other->variations_seed_signature_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
-}
-
-::std::string ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::GetTypeName() const {
-  return "safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident";
-}
-
-#if PROTOBUF_INLINE_NOT_IN_HEADERS
-// ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident
-
-// optional string variations_seed_signature = 1;
-bool ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::has_variations_seed_signature() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::set_has_variations_seed_signature() {
-  _has_bits_[0] |= 0x00000001u;
-}
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::clear_has_variations_seed_signature() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::clear_variations_seed_signature() {
-  variations_seed_signature_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_variations_seed_signature();
-}
-const ::std::string& ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::variations_seed_signature() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-  return variations_seed_signature_.GetNoArena();
-}
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::set_variations_seed_signature(const ::std::string& value) {
-  set_has_variations_seed_signature();
-  variations_seed_signature_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-}
-#if LANG_CXX11
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::set_variations_seed_signature(::std::string&& value) {
-  set_has_variations_seed_signature();
-  variations_seed_signature_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-}
-#endif
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::set_variations_seed_signature(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_variations_seed_signature();
-  variations_seed_signature_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-}
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::set_variations_seed_signature(const char* value, size_t size) {
-  set_has_variations_seed_signature();
-  variations_seed_signature_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-}
-::std::string* ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::mutable_variations_seed_signature() {
-  set_has_variations_seed_signature();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-  return variations_seed_signature_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-::std::string* ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::release_variations_seed_signature() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-  clear_has_variations_seed_signature();
-  return variations_seed_signature_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::set_allocated_variations_seed_signature(::std::string* variations_seed_signature) {
-  if (variations_seed_signature != NULL) {
-    set_has_variations_seed_signature();
-  } else {
-    clear_has_variations_seed_signature();
-  }
-  variations_seed_signature_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), variations_seed_signature);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-}
-
-#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
-
-// ===================================================================
-
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ClientIncidentReport_IncidentData_ResourceRequestIncident::kDigestFieldNumber;
 const int ClientIncidentReport_IncidentData_ResourceRequestIncident::kOriginFieldNumber;
 const int ClientIncidentReport_IncidentData_ResourceRequestIncident::kTypeFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 ClientIncidentReport_IncidentData_ResourceRequestIncident::ClientIncidentReport_IncidentData_ResourceRequestIncident()
   : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
@@ -17320,674 +19904,20 @@ void ClientIncidentReport_IncidentData_R
   // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.type)
 }
 
 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
 
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
-const int ClientIncidentReport_IncidentData_SuspiciousModuleIncident::kPathFieldNumber;
-const int ClientIncidentReport_IncidentData_SuspiciousModuleIncident::kDigestFieldNumber;
-const int ClientIncidentReport_IncidentData_SuspiciousModuleIncident::kVersionFieldNumber;
-const int ClientIncidentReport_IncidentData_SuspiciousModuleIncident::kSignatureFieldNumber;
-const int ClientIncidentReport_IncidentData_SuspiciousModuleIncident::kImageHeadersFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
-
-ClientIncidentReport_IncidentData_SuspiciousModuleIncident::ClientIncidentReport_IncidentData_SuspiciousModuleIncident()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    protobuf_csd_2eproto::InitDefaults();
-  }
-  SharedCtor();
-  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-}
-ClientIncidentReport_IncidentData_SuspiciousModuleIncident::ClientIncidentReport_IncidentData_SuspiciousModuleIncident(const ClientIncidentReport_IncidentData_SuspiciousModuleIncident& from)
-  : ::google::protobuf::MessageLite(),
-      _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  path_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_path()) {
-    path_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.path_);
-  }
-  version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_version()) {
-    version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_);
-  }
-  if (from.has_digest()) {
-    digest_ = new ::safe_browsing::ClientDownloadRequest_Digests(*from.digest_);
-  } else {
-    digest_ = NULL;
-  }
-  if (from.has_signature()) {
-    signature_ = new ::safe_browsing::ClientDownloadRequest_SignatureInfo(*from.signature_);
-  } else {
-    signature_ = NULL;
-  }
-  if (from.has_image_headers()) {
-    image_headers_ = new ::safe_browsing::ClientDownloadRequest_ImageHeaders(*from.image_headers_);
-  } else {
-    image_headers_ = NULL;
-  }
-  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-}
-
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::SharedCtor() {
-  _cached_size_ = 0;
-  path_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  ::memset(&digest_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&image_headers_) -
-      reinterpret_cast<char*>(&digest_)) + sizeof(image_headers_));
-}
-
-ClientIncidentReport_IncidentData_SuspiciousModuleIncident::~ClientIncidentReport_IncidentData_SuspiciousModuleIncident() {
-  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-  SharedDtor();
-}
-
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::SharedDtor() {
-  path_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  version_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (this != internal_default_instance()) delete digest_;
-  if (this != internal_default_instance()) delete signature_;
-  if (this != internal_default_instance()) delete image_headers_;
-}
-
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ClientIncidentReport_IncidentData_SuspiciousModuleIncident& ClientIncidentReport_IncidentData_SuspiciousModuleIncident::default_instance() {
-  protobuf_csd_2eproto::InitDefaults();
-  return *internal_default_instance();
-}
-
-ClientIncidentReport_IncidentData_SuspiciousModuleIncident* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::New(::google::protobuf::Arena* arena) const {
-  ClientIncidentReport_IncidentData_SuspiciousModuleIncident* n = new ClientIncidentReport_IncidentData_SuspiciousModuleIncident;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
-
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::Clear() {
-// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 31u) {
-    if (cached_has_bits & 0x00000001u) {
-      GOOGLE_DCHECK(!path_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*path_.UnsafeRawStringPointer())->clear();
-    }
-    if (cached_has_bits & 0x00000002u) {
-      GOOGLE_DCHECK(!version_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*version_.UnsafeRawStringPointer())->clear();
-    }
-    if (cached_has_bits & 0x00000004u) {
-      GOOGLE_DCHECK(digest_ != NULL);
-      digest_->::safe_browsing::ClientDownloadRequest_Digests::Clear();
-    }
-    if (cached_has_bits & 0x00000008u) {
-      GOOGLE_DCHECK(signature_ != NULL);
-      signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
-    }
-    if (cached_has_bits & 0x00000010u) {
-      GOOGLE_DCHECK(image_headers_ != NULL);
-      image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
-    }
-  }
-  _has_bits_.Clear();
-  _internal_metadata_.Clear();
-}
-
-bool ClientIncidentReport_IncidentData_SuspiciousModuleIncident::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
-      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
-          &::google::protobuf::internal::InternalMetadataWithArenaLite::
-              mutable_unknown_fields));
-  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
-      &unknown_fields_string, false);
-  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-  for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // optional string path = 1;
-      case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_path()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional .safe_browsing.ClientDownloadRequest.Digests digest = 2;
-      case 2: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_digest()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional string version = 3;
-      case 3: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_version()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 4;
-      case 4: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_signature()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 5;
-      case 5: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_image_headers()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      default: {
-      handle_unusual:
-        if (tag == 0) {
-          goto success;
-        }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
-        break;
-      }
-    }
-  }
-success:
-  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-  return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-  return false;
-#undef DO_
-}
-
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  // optional string path = 1;
-  if (cached_has_bits & 0x00000001u) {
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      1, this->path(), output);
-  }
-
-  // optional .safe_browsing.ClientDownloadRequest.Digests digest = 2;
-  if (cached_has_bits & 0x00000004u) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      2, *this->digest_, output);
-  }
-
-  // optional string version = 3;
-  if (cached_has_bits & 0x00000002u) {
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      3, this->version(), output);
-  }
-
-  // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 4;
-  if (cached_has_bits & 0x00000008u) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      4, *this->signature_, output);
-  }
-
-  // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 5;
-  if (cached_has_bits & 0x00000010u) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      5, *this->image_headers_, output);
-  }
-
-  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
-                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
-  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-}
-
-size_t ClientIncidentReport_IncidentData_SuspiciousModuleIncident::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-  size_t total_size = 0;
-
-  total_size += _internal_metadata_.unknown_fields().size();
-
-  if (_has_bits_[0 / 32] & 31u) {
-    // optional string path = 1;
-    if (has_path()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->path());
-    }
-
-    // optional string version = 3;
-    if (has_version()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->version());
-    }
-
-    // optional .safe_browsing.ClientDownloadRequest.Digests digest = 2;
-    if (has_digest()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          *this->digest_);
-    }
-
-    // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 4;
-    if (has_signature()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          *this->signature_);
-    }
-
-    // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 5;
-    if (has_image_headers()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          *this->image_headers_);
-    }
-
-  }
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::CheckTypeAndMergeFrom(
-    const ::google::protobuf::MessageLite& from) {
-  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_IncidentData_SuspiciousModuleIncident*>(&from));
-}
-
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::MergeFrom(const ClientIncidentReport_IncidentData_SuspiciousModuleIncident& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 31u) {
-    if (cached_has_bits & 0x00000001u) {
-      set_has_path();
-      path_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.path_);
-    }
-    if (cached_has_bits & 0x00000002u) {
-      set_has_version();
-      version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_);
-    }
-    if (cached_has_bits & 0x00000004u) {
-      mutable_digest()->::safe_browsing::ClientDownloadRequest_Digests::MergeFrom(from.digest());
-    }
-    if (cached_has_bits & 0x00000008u) {
-      mutable_signature()->::safe_browsing::ClientDownloadRequest_SignatureInfo::MergeFrom(from.signature());
-    }
-    if (cached_has_bits & 0x00000010u) {
-      mutable_image_headers()->::safe_browsing::ClientDownloadRequest_ImageHeaders::MergeFrom(from.image_headers());
-    }
-  }
-}
-
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::CopyFrom(const ClientIncidentReport_IncidentData_SuspiciousModuleIncident& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool ClientIncidentReport_IncidentData_SuspiciousModuleIncident::IsInitialized() const {
-  if (has_signature()) {
-    if (!this->signature_->IsInitialized()) return false;
-  }
-  if (has_image_headers()) {
-    if (!this->image_headers_->IsInitialized()) return false;
-  }
-  return true;
-}
-
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::Swap(ClientIncidentReport_IncidentData_SuspiciousModuleIncident* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::InternalSwap(ClientIncidentReport_IncidentData_SuspiciousModuleIncident* other) {
-  using std::swap;
-  path_.Swap(&other->path_);
-  version_.Swap(&other->version_);
-  swap(digest_, other->digest_);
-  swap(signature_, other->signature_);
-  swap(image_headers_, other->image_headers_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
-}
-
-::std::string ClientIncidentReport_IncidentData_SuspiciousModuleIncident::GetTypeName() const {
-  return "safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident";
-}
-
-#if PROTOBUF_INLINE_NOT_IN_HEADERS
-// ClientIncidentReport_IncidentData_SuspiciousModuleIncident
-
-// optional string path = 1;
-bool ClientIncidentReport_IncidentData_SuspiciousModuleIncident::has_path() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_has_path() {
-  _has_bits_[0] |= 0x00000001u;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_has_path() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_path() {
-  path_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_path();
-}
-const ::std::string& ClientIncidentReport_IncidentData_SuspiciousModuleIncident::path() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-  return path_.GetNoArena();
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_path(const ::std::string& value) {
-  set_has_path();
-  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-}
-#if LANG_CXX11
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_path(::std::string&& value) {
-  set_has_path();
-  path_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-}
-#endif
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_path(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_path();
-  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_path(const char* value, size_t size) {
-  set_has_path();
-  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-}
-::std::string* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::mutable_path() {
-  set_has_path();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-  return path_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-::std::string* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::release_path() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-  clear_has_path();
-  return path_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_allocated_path(::std::string* path) {
-  if (path != NULL) {
-    set_has_path();
-  } else {
-    clear_has_path();
-  }
-  path_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), path);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-}
-
-// optional .safe_browsing.ClientDownloadRequest.Digests digest = 2;
-bool ClientIncidentReport_IncidentData_SuspiciousModuleIncident::has_digest() const {
-  return (_has_bits_[0] & 0x00000004u) != 0;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_has_digest() {
-  _has_bits_[0] |= 0x00000004u;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_has_digest() {
-  _has_bits_[0] &= ~0x00000004u;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_digest() {
-  if (digest_ != NULL) digest_->::safe_browsing::ClientDownloadRequest_Digests::Clear();
-  clear_has_digest();
-}
-const ::safe_browsing::ClientDownloadRequest_Digests& ClientIncidentReport_IncidentData_SuspiciousModuleIncident::digest() const {
-  const ::safe_browsing::ClientDownloadRequest_Digests* p = digest_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.digest)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_Digests*>(
-      &::safe_browsing::_ClientDownloadRequest_Digests_default_instance_);
-}
-::safe_browsing::ClientDownloadRequest_Digests* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::mutable_digest() {
-  set_has_digest();
-  if (digest_ == NULL) {
-    digest_ = new ::safe_browsing::ClientDownloadRequest_Digests;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.digest)
-  return digest_;
-}
-::safe_browsing::ClientDownloadRequest_Digests* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::release_digest() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.digest)
-  clear_has_digest();
-  ::safe_browsing::ClientDownloadRequest_Digests* temp = digest_;
-  digest_ = NULL;
-  return temp;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_allocated_digest(::safe_browsing::ClientDownloadRequest_Digests* digest) {
-  delete digest_;
-  digest_ = digest;
-  if (digest) {
-    set_has_digest();
-  } else {
-    clear_has_digest();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.digest)
-}
-
-// optional string version = 3;
-bool ClientIncidentReport_IncidentData_SuspiciousModuleIncident::has_version() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_has_version() {
-  _has_bits_[0] |= 0x00000002u;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_has_version() {
-  _has_bits_[0] &= ~0x00000002u;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_version() {
-  version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_version();
-}
-const ::std::string& ClientIncidentReport_IncidentData_SuspiciousModuleIncident::version() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-  return version_.GetNoArena();
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_version(const ::std::string& value) {
-  set_has_version();
-  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-}
-#if LANG_CXX11
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_version(::std::string&& value) {
-  set_has_version();
-  version_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-}
-#endif
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_version(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_version();
-  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_version(const char* value, size_t size) {
-  set_has_version();
-  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-}
-::std::string* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::mutable_version() {
-  set_has_version();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-  return version_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-::std::string* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::release_version() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-  clear_has_version();
-  return version_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_allocated_version(::std::string* version) {
-  if (version != NULL) {
-    set_has_version();
-  } else {
-    clear_has_version();
-  }
-  version_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), version);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-}
-
-// optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 4;
-bool ClientIncidentReport_IncidentData_SuspiciousModuleIncident::has_signature() const {
-  return (_has_bits_[0] & 0x00000008u) != 0;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_has_signature() {
-  _has_bits_[0] |= 0x00000008u;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_has_signature() {
-  _has_bits_[0] &= ~0x00000008u;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_signature() {
-  if (signature_ != NULL) signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
-  clear_has_signature();
-}
-const ::safe_browsing::ClientDownloadRequest_SignatureInfo& ClientIncidentReport_IncidentData_SuspiciousModuleIncident::signature() const {
-  const ::safe_browsing::ClientDownloadRequest_SignatureInfo* p = signature_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.signature)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
-      &::safe_browsing::_ClientDownloadRequest_SignatureInfo_default_instance_);
-}
-::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::mutable_signature() {
-  set_has_signature();
-  if (signature_ == NULL) {
-    signature_ = new ::safe_browsing::ClientDownloadRequest_SignatureInfo;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.signature)
-  return signature_;
-}
-::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::release_signature() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.signature)
-  clear_has_signature();
-  ::safe_browsing::ClientDownloadRequest_SignatureInfo* temp = signature_;
-  signature_ = NULL;
-  return temp;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_allocated_signature(::safe_browsing::ClientDownloadRequest_SignatureInfo* signature) {
-  delete signature_;
-  signature_ = signature;
-  if (signature) {
-    set_has_signature();
-  } else {
-    clear_has_signature();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.signature)
-}
-
-// optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 5;
-bool ClientIncidentReport_IncidentData_SuspiciousModuleIncident::has_image_headers() const {
-  return (_has_bits_[0] & 0x00000010u) != 0;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_has_image_headers() {
-  _has_bits_[0] |= 0x00000010u;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_has_image_headers() {
-  _has_bits_[0] &= ~0x00000010u;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_image_headers() {
-  if (image_headers_ != NULL) image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
-  clear_has_image_headers();
-}
-const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientIncidentReport_IncidentData_SuspiciousModuleIncident::image_headers() const {
-  const ::safe_browsing::ClientDownloadRequest_ImageHeaders* p = image_headers_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.image_headers)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
-      &::safe_browsing::_ClientDownloadRequest_ImageHeaders_default_instance_);
-}
-::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::mutable_image_headers() {
-  set_has_image_headers();
-  if (image_headers_ == NULL) {
-    image_headers_ = new ::safe_browsing::ClientDownloadRequest_ImageHeaders;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.image_headers)
-  return image_headers_;
-}
-::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::release_image_headers() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.image_headers)
-  clear_has_image_headers();
-  ::safe_browsing::ClientDownloadRequest_ImageHeaders* temp = image_headers_;
-  image_headers_ = NULL;
-  return temp;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers) {
-  delete image_headers_;
-  image_headers_ = image_headers;
-  if (image_headers) {
-    set_has_image_headers();
-  } else {
-    clear_has_image_headers();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.image_headers)
-}
-
-#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
-
-// ===================================================================
-
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ClientIncidentReport_IncidentData::kIncidentTimeMsecFieldNumber;
 const int ClientIncidentReport_IncidentData::kTrackedPreferenceFieldNumber;
 const int ClientIncidentReport_IncidentData::kBinaryIntegrityFieldNumber;
-const int ClientIncidentReport_IncidentData::kBlacklistLoadFieldNumber;
-const int ClientIncidentReport_IncidentData::kVariationsSeedSignatureFieldNumber;
 const int ClientIncidentReport_IncidentData::kResourceRequestFieldNumber;
-const int ClientIncidentReport_IncidentData::kSuspiciousModuleFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 ClientIncidentReport_IncidentData::ClientIncidentReport_IncidentData()
   : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_csd_2eproto::InitDefaults();
   }
   SharedCtor();
@@ -18004,36 +19934,21 @@ ClientIncidentReport_IncidentData::Clien
   } else {
     tracked_preference_ = NULL;
   }
   if (from.has_binary_integrity()) {
     binary_integrity_ = new ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident(*from.binary_integrity_);
   } else {
     binary_integrity_ = NULL;
   }
-  if (from.has_blacklist_load()) {
-    blacklist_load_ = new ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident(*from.blacklist_load_);
-  } else {
-    blacklist_load_ = NULL;
-  }
-  if (from.has_variations_seed_signature()) {
-    variations_seed_signature_ = new ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident(*from.variations_seed_signature_);
-  } else {
-    variations_seed_signature_ = NULL;
-  }
   if (from.has_resource_request()) {
     resource_request_ = new ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident(*from.resource_request_);
   } else {
     resource_request_ = NULL;
   }
-  if (from.has_suspicious_module()) {
-    suspicious_module_ = new ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident(*from.suspicious_module_);
-  } else {
-    suspicious_module_ = NULL;
-  }
   incident_time_msec_ = from.incident_time_msec_;
   // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.IncidentData)
 }
 
 void ClientIncidentReport_IncidentData::SharedCtor() {
   _cached_size_ = 0;
   ::memset(&tracked_preference_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&incident_time_msec_) -
@@ -18043,20 +19958,17 @@ void ClientIncidentReport_IncidentData::
 ClientIncidentReport_IncidentData::~ClientIncidentReport_IncidentData() {
   // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.IncidentData)
   SharedDtor();
 }
 
 void ClientIncidentReport_IncidentData::SharedDtor() {
   if (this != internal_default_instance()) delete tracked_preference_;
   if (this != internal_default_instance()) delete binary_integrity_;
-  if (this != internal_default_instance()) delete blacklist_load_;
-  if (this != internal_default_instance()) delete variations_seed_signature_;
   if (this != internal_default_instance()) delete resource_request_;
-  if (this != internal_default_instance()) delete suspicious_module_;
 }
 
 void ClientIncidentReport_IncidentData::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const ClientIncidentReport_IncidentData& ClientIncidentReport_IncidentData::default_instance() {
@@ -18074,41 +19986,29 @@ ClientIncidentReport_IncidentData* Clien
 
 void ClientIncidentReport_IncidentData::Clear() {
 // @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.IncidentData)
   ::google::protobuf::uint32 cached_has_bits = 0;
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 63u) {
+  if (cached_has_bits & 7u) {
     if (cached_has_bits & 0x00000001u) {
       GOOGLE_DCHECK(tracked_preference_ != NULL);
       tracked_preference_->::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident::Clear();
     }
     if (cached_has_bits & 0x00000002u) {
       GOOGLE_DCHECK(binary_integrity_ != NULL);
       binary_integrity_->::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident::Clear();
     }
     if (cached_has_bits & 0x00000004u) {
-      GOOGLE_DCHECK(blacklist_load_ != NULL);
-      blacklist_load_->::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident::Clear();
-    }
-    if (cached_has_bits & 0x00000008u) {
-      GOOGLE_DCHECK(variations_seed_signature_ != NULL);
-      variations_seed_signature_->::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::Clear();
-    }
-    if (cached_has_bits & 0x00000010u) {
       GOOGLE_DCHECK(resource_request_ != NULL);
       resource_request_->::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident::Clear();
     }
-    if (cached_has_bits & 0x00000020u) {
-      GOOGLE_DCHECK(suspicious_module_ != NULL);
-      suspicious_module_->::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident::Clear();
-    }
   }
   incident_time_msec_ = GOOGLE_LONGLONG(0);
   _has_bits_.Clear();
   _internal_metadata_.Clear();
 }
 
 bool ClientIncidentReport_IncidentData::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
@@ -18159,64 +20059,28 @@ bool ClientIncidentReport_IncidentData::
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_binary_integrity()));
         } else {
           goto handle_unusual;
         }
         break;
       }
 
-      // optional .safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident blacklist_load = 4;
-      case 4: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_blacklist_load()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional .safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident variations_seed_signature = 6;
-      case 6: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_variations_seed_signature()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
       // optional .safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident resource_request = 7;
       case 7: {
         if (static_cast< ::google::protobuf::uint8>(tag) ==
             static_cast< ::google::protobuf::uint8>(58u /* 58 & 0xFF */)) {
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_resource_request()));
         } else {
           goto handle_unusual;
         }
         break;
       }
 
-      // optional .safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident suspicious_module = 8;
-      case 8: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(66u /* 66 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_suspicious_module()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
       default: {
       handle_unusual:
         if (tag == 0) {
           goto success;
         }
         DO_(::google::protobuf::internal::WireFormatLite::SkipField(
             input, tag, &unknown_fields_stream));
         break;
@@ -18235,110 +20099,71 @@ failure:
 void ClientIncidentReport_IncidentData::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
   // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.IncidentData)
   ::google::protobuf::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
   // optional int64 incident_time_msec = 1;
-  if (cached_has_bits & 0x00000040u) {
+  if (cached_has_bits & 0x00000008u) {
     ::google::protobuf::internal::WireFormatLite::WriteInt64(1, this->incident_time_msec(), output);
   }
 
   // optional .safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident tracked_preference = 2;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       2, *this->tracked_preference_, output);
   }
 
   // optional .safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident binary_integrity = 3;
   if (cached_has_bits & 0x00000002u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       3, *this->binary_integrity_, output);
   }
 
-  // optional .safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident blacklist_load = 4;
-  if (cached_has_bits & 0x00000004u) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      4, *this->blacklist_load_, output);
-  }
-
-  // optional .safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident variations_seed_signature = 6;
-  if (cached_has_bits & 0x00000008u) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      6, *this->variations_seed_signature_, output);
-  }
-
   // optional .safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident resource_request = 7;
-  if (cached_has_bits & 0x00000010u) {
+  if (cached_has_bits & 0x00000004u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       7, *this->resource_request_, output);
   }
 
-  // optional .safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident suspicious_module = 8;
-  if (cached_has_bits & 0x00000020u) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      8, *this->suspicious_module_, output);
-  }
-
   output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                    static_cast<int>(_internal_metadata_.unknown_fields().size()));
   // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.IncidentData)
 }
 
 size_t ClientIncidentReport_IncidentData::ByteSizeLong() const {
 // @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.IncidentData)
   size_t total_size = 0;
 
   total_size += _internal_metadata_.unknown_fields().size();
 
-  if (_has_bits_[0 / 32] & 127u) {
+  if (_has_bits_[0 / 32] & 15u) {
     // optional .safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident tracked_preference = 2;
     if (has_tracked_preference()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           *this->tracked_preference_);
     }
 
     // optional .safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident binary_integrity = 3;
     if (has_binary_integrity()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           *this->binary_integrity_);
     }
 
-    // optional .safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident blacklist_load = 4;
-    if (has_blacklist_load()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          *this->blacklist_load_);
-    }
-
-    // optional .safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident variations_seed_signature = 6;
-    if (has_variations_seed_signature()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          *this->variations_seed_signature_);
-    }
-
     // optional .safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident resource_request = 7;
     if (has_resource_request()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           *this->resource_request_);
     }
 
-    // optional .safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident suspicious_module = 8;
-    if (has_suspicious_module()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          *this->suspicious_module_);
-    }
-
     // optional int64 incident_time_msec = 1;
     if (has_incident_time_msec()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::Int64Size(
           this->incident_time_msec());
     }
 
   }
@@ -18357,36 +20182,27 @@ void ClientIncidentReport_IncidentData::
 void ClientIncidentReport_IncidentData::MergeFrom(const ClientIncidentReport_IncidentData& from) {
 // @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.IncidentData)
   GOOGLE_DCHECK_NE(&from, this);
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   ::google::protobuf::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
   cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 127u) {
+  if (cached_has_bits & 15u) {
     if (cached_has_bits & 0x00000001u) {
       mutable_tracked_preference()->::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident::MergeFrom(from.tracked_preference());
     }
     if (cached_has_bits & 0x00000002u) {
       mutable_binary_integrity()->::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident::MergeFrom(from.binary_integrity());
     }
     if (cached_has_bits & 0x00000004u) {
-      mutable_blacklist_load()->::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident::MergeFrom(from.blacklist_load());
-    }
-    if (cached_has_bits & 0x00000008u) {
-      mutable_variations_seed_signature()->::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::MergeFrom(from.variations_seed_signature());
-    }
-    if (cached_has_bits & 0x00000010u) {
       mutable_resource_request()->::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident::MergeFrom(from.resource_request());
     }
-    if (cached_has_bits & 0x00000020u) {
-      mutable_suspicious_module()->::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident::MergeFrom(from.suspicious_module());
-    }
-    if (cached_has_bits & 0x00000040u) {
+    if (cached_has_bits & 0x00000008u) {
       incident_time_msec_ = from.incident_time_msec_;
     }
     _has_bits_[0] |= cached_has_bits;
   }
 }
 
 void ClientIncidentReport_IncidentData::CopyFrom(const ClientIncidentReport_IncidentData& from) {
 // @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.IncidentData)
@@ -18394,59 +20210,50 @@ void ClientIncidentReport_IncidentData::
   Clear();
   MergeFrom(from);
 }
 
 bool ClientIncidentReport_IncidentData::IsInitialized() const {
   if (has_binary_integrity()) {
     if (!this->binary_integrity_->IsInitialized()) return false;
   }
-  if (has_blacklist_load()) {
-    if (!this->blacklist_load_->IsInitialized()) return false;
-  }
-  if (has_suspicious_module()) {
-    if (!this->suspicious_module_->IsInitialized()) return false;
-  }
   return true;
 }
 
 void ClientIncidentReport_IncidentData::Swap(ClientIncidentReport_IncidentData* other) {
   if (other == this) return;
   InternalSwap(other);
 }
 void ClientIncidentReport_IncidentData::InternalSwap(ClientIncidentReport_IncidentData* other) {
   using std::swap;
   swap(tracked_preference_, other->tracked_preference_);
   swap(binary_integrity_, other->binary_integrity_);
-  swap(blacklist_load_, other->blacklist_load_);
-  swap(variations_seed_signature_, other->variations_seed_signature_);
   swap(resource_request_, other->resource_request_);
-  swap(suspicious_module_, other->suspicious_module_);
   swap(incident_time_msec_, other->incident_time_msec_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
   swap(_cached_size_, other->_cached_size_);
 }
 
 ::std::string ClientIncidentReport_IncidentData::GetTypeName() const {
   return "safe_browsing.ClientIncidentReport.IncidentData";
 }
 
 #if PROTOBUF_INLINE_NOT_IN_HEADERS
 // ClientIncidentReport_IncidentData
 
 // optional int64 incident_time_msec = 1;
 bool ClientIncidentReport_IncidentData::has_incident_time_msec() const {
-  return (_has_bits_[0] & 0x00000040u) != 0;
+  return (_has_bits_[0] & 0x00000008u) != 0;
 }
 void ClientIncidentReport_IncidentData::set_has_incident_time_msec() {
-  _has_bits_[0] |= 0x00000040u;
+  _has_bits_[0] |= 0x00000008u;
 }
 void ClientIncidentReport_IncidentData::clear_has_incident_time_msec() {
-  _has_bits_[0] &= ~0x00000040u;
+  _has_bits_[0] &= ~0x00000008u;
 }
 void ClientIncidentReport_IncidentData::clear_incident_time_msec() {
   incident_time_msec_ = GOOGLE_LONGLONG(0);
   clear_has_incident_time_msec();
 }
 ::google::protobuf::int64 ClientIncidentReport_IncidentData::incident_time_msec() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.incident_time_msec)
   return incident_time_msec_;
@@ -18544,117 +20351,25 @@ void ClientIncidentReport_IncidentData::
   if (binary_integrity) {
     set_has_binary_integrity();
   } else {
     clear_has_binary_integrity();
   }
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.binary_integrity)
 }
 
-// optional .safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident blacklist_load = 4;
-bool ClientIncidentReport_IncidentData::has_blacklist_load() const {
-  return (_has_bits_[0] & 0x00000004u) != 0;
-}
-void ClientIncidentReport_IncidentData::set_has_blacklist_load() {
-  _has_bits_[0] |= 0x00000004u;
-}
-void ClientIncidentReport_IncidentData::clear_has_blacklist_load() {
-  _has_bits_[0] &= ~0x00000004u;
-}
-void ClientIncidentReport_IncidentData::clear_blacklist_load() {
-  if (blacklist_load_ != NULL) blacklist_load_->::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident::Clear();
-  clear_has_blacklist_load();
-}
-const ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident& ClientIncidentReport_IncidentData::blacklist_load() const {
-  const ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident* p = blacklist_load_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.blacklist_load)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident*>(
-      &::safe_browsing::_ClientIncidentReport_IncidentData_BlacklistLoadIncident_default_instance_);
-}
-::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident* ClientIncidentReport_IncidentData::mutable_blacklist_load() {
-  set_has_blacklist_load();
-  if (blacklist_load_ == NULL) {
-    blacklist_load_ = new ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.blacklist_load)
-  return blacklist_load_;
-}
-::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident* ClientIncidentReport_IncidentData::release_blacklist_load() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.blacklist_load)
-  clear_has_blacklist_load();
-  ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident* temp = blacklist_load_;
-  blacklist_load_ = NULL;
-  return temp;
-}
-void ClientIncidentReport_IncidentData::set_allocated_blacklist_load(::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident* blacklist_load) {
-  delete blacklist_load_;
-  blacklist_load_ = blacklist_load;
-  if (blacklist_load) {
-    set_has_blacklist_load();
-  } else {
-    clear_has_blacklist_load();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.blacklist_load)
-}
-
-// optional .safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident variations_seed_signature = 6;
-bool ClientIncidentReport_IncidentData::has_variations_seed_signature() const {
-  return (_has_bits_[0] & 0x00000008u) != 0;
-}
-void ClientIncidentReport_IncidentData::set_has_variations_seed_signature() {
-  _has_bits_[0] |= 0x00000008u;
-}
-void ClientIncidentReport_IncidentData::clear_has_variations_seed_signature() {
-  _has_bits_[0] &= ~0x00000008u;
-}
-void ClientIncidentReport_IncidentData::clear_variations_seed_signature() {
-  if (variations_seed_signature_ != NULL) variations_seed_signature_->::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::Clear();
-  clear_has_variations_seed_signature();
-}
-const ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident& ClientIncidentReport_IncidentData::variations_seed_signature() const {
-  const ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* p = variations_seed_signature_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.variations_seed_signature)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident*>(
-      &::safe_browsing::_ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident_default_instance_);
-}
-::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* ClientIncidentReport_IncidentData::mutable_variations_seed_signature() {
-  set_has_variations_seed_signature();
-  if (variations_seed_signature_ == NULL) {
-    variations_seed_signature_ = new ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.variations_seed_signature)
-  return variations_seed_signature_;
-}
-::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* ClientIncidentReport_IncidentData::release_variations_seed_signature() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.variations_seed_signature)
-  clear_has_variations_seed_signature();
-  ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* temp = variations_seed_signature_;
-  variations_seed_signature_ = NULL;
-  return temp;
-}
-void ClientIncidentReport_IncidentData::set_allocated_variations_seed_signature(::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* variations_seed_signature) {
-  delete variations_seed_signature_;
-  variations_seed_signature_ = variations_seed_signature;
-  if (variations_seed_signature) {
-    set_has_variations_seed_signature();
-  } else {
-    clear_has_variations_seed_signature();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.variations_seed_signature)
-}
-
 // optional .safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident resource_request = 7;
 bool ClientIncidentReport_IncidentData::has_resource_request() const {
-  return (_has_bits_[0] & 0x00000010u) != 0;
+  return (_has_bits_[0] & 0x00000004u) != 0;
 }
 void ClientIncidentReport_IncidentData::set_has_resource_request() {
-  _has_bits_[0] |= 0x00000010u;
+  _has_bits_[0] |= 0x00000004u;
 }
 void ClientIncidentReport_IncidentData::clear_has_resource_request() {
-  _has_bits_[0] &= ~0x00000010u;
+  _has_bits_[0] &= ~0x00000004u;
 }
 void ClientIncidentReport_IncidentData::clear_resource_request() {
   if (resource_request_ != NULL) resource_request_->::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident::Clear();
   clear_has_resource_request();
 }
 const ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident& ClientIncidentReport_IncidentData::resource_request() const {
   const ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* p = resource_request_;
   // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.resource_request)
@@ -18682,62 +20397,16 @@ void ClientIncidentReport_IncidentData::
   if (resource_request) {
     set_has_resource_request();
   } else {
     clear_has_resource_request();
   }
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.resource_request)
 }
 
-// optional .safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident suspicious_module = 8;
-bool ClientIncidentReport_IncidentData::has_suspicious_module() const {
-  return (_has_bits_[0] & 0x00000020u) != 0;
-}
-void ClientIncidentReport_IncidentData::set_has_suspicious_module() {
-  _has_bits_[0] |= 0x00000020u;
-}
-void ClientIncidentReport_IncidentData::clear_has_suspicious_module() {
-  _has_bits_[0] &= ~0x00000020u;
-}
-void ClientIncidentReport_IncidentData::clear_suspicious_module() {
-  if (suspicious_module_ != NULL) suspicious_module_->::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident::Clear();
-  clear_has_suspicious_module();
-}
-const ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident& ClientIncidentReport_IncidentData::suspicious_module() const {
-  const ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident* p = suspicious_module_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.suspicious_module)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident*>(
-      &::safe_browsing::_ClientIncidentReport_IncidentData_SuspiciousModuleIncident_default_instance_);
-}
-::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident* ClientIncidentReport_IncidentData::mutable_suspicious_module() {
-  set_has_suspicious_module();
-  if (suspicious_module_ == NULL) {
-    suspicious_module_ = new ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.suspicious_module)
-  return suspicious_module_;
-}
-::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident* ClientIncidentReport_IncidentData::release_suspicious_module() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.suspicious_module)
-  clear_has_suspicious_module();
-  ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident* temp = suspicious_module_;
-  suspicious_module_ = NULL;
-  return temp;
-}
-void ClientIncidentReport_IncidentData::set_allocated_suspicious_module(::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident* suspicious_module) {
-  delete suspicious_module_;
-  suspicious_module_ = suspicious_module;
-  if (suspicious_module) {
-    set_has_suspicious_module();
-  } else {
-    clear_has_suspicious_module();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.suspicious_module)