Browse Source

Final protobufs for postLA

Miti Mazmudar 4 years ago
parent
commit
397cdd13f8
4 changed files with 1505 additions and 1554 deletions
  1. 814 804
      PostLAMessages.pb.cc
  2. 623 706
      PostLAMessages.pb.h
  3. 10 9
      PostLAMessages.proto
  4. 58 35
      ProtobufLAMessages.proto

+ 814 - 804
PostLAMessages.pb.cc

@@ -1,1171 +1,1181 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: PostLAMessages.proto
 
+#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
 #include "PostLAMessages.pb.h"
 
 #include <algorithm>
 
+#include <google/protobuf/stubs/common.h>
+#include <google/protobuf/stubs/once.h>
 #include <google/protobuf/io/coded_stream.h>
-#include <google/protobuf/extension_set.h>
-#include <google/protobuf/wire_format_lite.h>
+#include <google/protobuf/wire_format_lite_inl.h>
 #include <google/protobuf/descriptor.h>
 #include <google/protobuf/generated_message_reflection.h>
 #include <google/protobuf/reflection_ops.h>
 #include <google/protobuf/wire_format.h>
 // @@protoc_insertion_point(includes)
-#include <google/protobuf/port_def.inc>
-extern PROTOBUF_INTERNAL_EXPORT_PostLAMessages_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ciphertext_client_data_field_PostLAMessages_2eproto;
-class ciphertext_client_data_fieldDefaultTypeInternal {
- public:
-  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ciphertext_client_data_field> _instance;
-} _ciphertext_client_data_field_default_instance_;
-class extension_to_decryptor_enclosed_msgDefaultTypeInternal {
- public:
-  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<extension_to_decryptor_enclosed_msg> _instance;
-} _extension_to_decryptor_enclosed_msg_default_instance_;
-class extension_to_decryptor_ciphertext_msgDefaultTypeInternal {
- public:
-  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<extension_to_decryptor_ciphertext_msg> _instance;
-} _extension_to_decryptor_ciphertext_msg_default_instance_;
-class decryptor_to_extension_msg_tDefaultTypeInternal {
- public:
-  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<decryptor_to_extension_msg_t> _instance;
-} _decryptor_to_extension_msg_t_default_instance_;
-static void InitDefaultsscc_info_ciphertext_client_data_field_PostLAMessages_2eproto() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::_ciphertext_client_data_field_default_instance_;
-    new (ptr) ::ciphertext_client_data_field();
-    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::ciphertext_client_data_field::InitAsDefaultInstance();
-}
-
-::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ciphertext_client_data_field_PostLAMessages_2eproto =
-    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsscc_info_ciphertext_client_data_field_PostLAMessages_2eproto}, {}};
 
-static void InitDefaultsscc_info_decryptor_to_extension_msg_t_PostLAMessages_2eproto() {
+namespace {
+
+const ::google::protobuf::Descriptor* ciphertext_data_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  ciphertext_data_reflection_ = NULL;
+const ::google::protobuf::Descriptor* extension_to_decryptor_msg_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  extension_to_decryptor_msg_reflection_ = NULL;
+const ::google::protobuf::Descriptor* decryptor_to_extension_msg_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  decryptor_to_extension_msg_reflection_ = NULL;
+const ::google::protobuf::Descriptor* mitigator_header_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  mitigator_header_reflection_ = NULL;
+
+}  // namespace
+
+
+void protobuf_AssignDesc_PostLAMessages_2eproto() {
+  protobuf_AddDesc_PostLAMessages_2eproto();
+  const ::google::protobuf::FileDescriptor* file =
+    ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
+      "PostLAMessages.proto");
+  GOOGLE_CHECK(file != NULL);
+  ciphertext_data_descriptor_ = file->message_type(0);
+  static const int ciphertext_data_offsets_[1] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ciphertext_data, field_),
+  };
+  ciphertext_data_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      ciphertext_data_descriptor_,
+      ciphertext_data::default_instance_,
+      ciphertext_data_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ciphertext_data, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ciphertext_data, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(ciphertext_data));
+  extension_to_decryptor_msg_descriptor_ = file->message_type(1);
+  static const int extension_to_decryptor_msg_offsets_[2] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(extension_to_decryptor_msg, ciphertext_client_public_key_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(extension_to_decryptor_msg, fields_),
+  };
+  extension_to_decryptor_msg_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      extension_to_decryptor_msg_descriptor_,
+      extension_to_decryptor_msg::default_instance_,
+      extension_to_decryptor_msg_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(extension_to_decryptor_msg, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(extension_to_decryptor_msg, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(extension_to_decryptor_msg));
+  decryptor_to_extension_msg_descriptor_ = file->message_type(2);
+  static const int decryptor_to_extension_msg_offsets_[1] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(decryptor_to_extension_msg, fields_),
+  };
+  decryptor_to_extension_msg_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      decryptor_to_extension_msg_descriptor_,
+      decryptor_to_extension_msg::default_instance_,
+      decryptor_to_extension_msg_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(decryptor_to_extension_msg, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(decryptor_to_extension_msg, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(decryptor_to_extension_msg));
+  mitigator_header_descriptor_ = file->message_type(3);
+  static const int mitigator_header_offsets_[2] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(mitigator_header, name_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(mitigator_header, value_),
+  };
+  mitigator_header_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      mitigator_header_descriptor_,
+      mitigator_header::default_instance_,
+      mitigator_header_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(mitigator_header, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(mitigator_header, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(mitigator_header));
+}
+
+namespace {
+
+GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
+inline void protobuf_AssignDescriptorsOnce() {
+  ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
+                 &protobuf_AssignDesc_PostLAMessages_2eproto);
+}
+
+void protobuf_RegisterTypes(const ::std::string&) {
+  protobuf_AssignDescriptorsOnce();
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    ciphertext_data_descriptor_, &ciphertext_data::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    extension_to_decryptor_msg_descriptor_, &extension_to_decryptor_msg::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    decryptor_to_extension_msg_descriptor_, &decryptor_to_extension_msg::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    mitigator_header_descriptor_, &mitigator_header::default_instance());
+}
+
+}  // namespace
+
+void protobuf_ShutdownFile_PostLAMessages_2eproto() {
+  delete ciphertext_data::default_instance_;
+  delete ciphertext_data_reflection_;
+  delete extension_to_decryptor_msg::default_instance_;
+  delete extension_to_decryptor_msg_reflection_;
+  delete decryptor_to_extension_msg::default_instance_;
+  delete decryptor_to_extension_msg_reflection_;
+  delete mitigator_header::default_instance_;
+  delete mitigator_header_reflection_;
+}
+
+void protobuf_AddDesc_PostLAMessages_2eproto() {
+  static bool already_here = false;
+  if (already_here) return;
+  already_here = true;
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-  {
-    void* ptr = &::_decryptor_to_extension_msg_t_default_instance_;
-    new (ptr) ::decryptor_to_extension_msg_t();
-    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
+  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
+    "\n\024PostLAMessages.proto\" \n\017ciphertext_dat"
+    "a\022\r\n\005field\030\001 \002(\014\"d\n\032extension_to_decrypt"
+    "or_msg\022$\n\034ciphertext_client_public_key\030\001"
+    " \002(\014\022 \n\006fields\030\002 \003(\0132\020.ciphertext_data\">"
+    "\n\032decryptor_to_extension_msg\022 \n\006fields\030\001"
+    " \003(\0132\020.ciphertext_data\"/\n\020mitigator_head"
+    "er\022\014\n\004name\030\001 \002(\014\022\r\n\005value\030\002 \002(\014", 271);
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
+    "PostLAMessages.proto", &protobuf_RegisterTypes);
+  ciphertext_data::default_instance_ = new ciphertext_data();
+  extension_to_decryptor_msg::default_instance_ = new extension_to_decryptor_msg();
+  decryptor_to_extension_msg::default_instance_ = new decryptor_to_extension_msg();
+  mitigator_header::default_instance_ = new mitigator_header();
+  ciphertext_data::default_instance_->InitAsDefaultInstance();
+  extension_to_decryptor_msg::default_instance_->InitAsDefaultInstance();
+  decryptor_to_extension_msg::default_instance_->InitAsDefaultInstance();
+  mitigator_header::default_instance_->InitAsDefaultInstance();
+  ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_PostLAMessages_2eproto);
+}
+
+// Force AddDescriptors() to be called at static initialization time.
+struct StaticDescriptorInitializer_PostLAMessages_2eproto {
+  StaticDescriptorInitializer_PostLAMessages_2eproto() {
+    protobuf_AddDesc_PostLAMessages_2eproto();
   }
-  ::decryptor_to_extension_msg_t::InitAsDefaultInstance();
-}
+} static_descriptor_initializer_PostLAMessages_2eproto_;
 
-::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_decryptor_to_extension_msg_t_PostLAMessages_2eproto =
-    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsscc_info_decryptor_to_extension_msg_t_PostLAMessages_2eproto}, {
-      &scc_info_ciphertext_client_data_field_PostLAMessages_2eproto.base,}};
+// ===================================================================
 
-static void InitDefaultsscc_info_extension_to_decryptor_ciphertext_msg_PostLAMessages_2eproto() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
+#ifndef _MSC_VER
+const int ciphertext_data::kFieldFieldNumber;
+#endif  // !_MSC_VER
 
-  {
-    void* ptr = &::_extension_to_decryptor_ciphertext_msg_default_instance_;
-    new (ptr) ::extension_to_decryptor_ciphertext_msg();
-    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::extension_to_decryptor_ciphertext_msg::InitAsDefaultInstance();
+ciphertext_data::ciphertext_data()
+  : ::google::protobuf::Message() {
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ciphertext_data)
 }
 
-::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_extension_to_decryptor_ciphertext_msg_PostLAMessages_2eproto =
-    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsscc_info_extension_to_decryptor_ciphertext_msg_PostLAMessages_2eproto}, {}};
-
-static void InitDefaultsscc_info_extension_to_decryptor_enclosed_msg_PostLAMessages_2eproto() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::_extension_to_decryptor_enclosed_msg_default_instance_;
-    new (ptr) ::extension_to_decryptor_enclosed_msg();
-    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::extension_to_decryptor_enclosed_msg::InitAsDefaultInstance();
-}
-
-::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_extension_to_decryptor_enclosed_msg_PostLAMessages_2eproto =
-    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsscc_info_extension_to_decryptor_enclosed_msg_PostLAMessages_2eproto}, {
-      &scc_info_ciphertext_client_data_field_PostLAMessages_2eproto.base,}};
-
-static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_PostLAMessages_2eproto[4];
-static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_PostLAMessages_2eproto = nullptr;
-static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_PostLAMessages_2eproto = nullptr;
-
-const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_PostLAMessages_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
-  ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::ciphertext_client_data_field, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::ciphertext_client_data_field, bytes_),
-  ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::extension_to_decryptor_enclosed_msg, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::extension_to_decryptor_enclosed_msg, ciphertext_client_public_key_),
-  PROTOBUF_FIELD_OFFSET(::extension_to_decryptor_enclosed_msg, ciphertext_fields_),
-  ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::extension_to_decryptor_ciphertext_msg, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::extension_to_decryptor_ciphertext_msg, bytes_),
-  ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::decryptor_to_extension_msg_t, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::decryptor_to_extension_msg_t, ciphertext_fields_),
-};
-static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
-  { 0, -1, sizeof(::ciphertext_client_data_field)},
-  { 6, -1, sizeof(::extension_to_decryptor_enclosed_msg)},
-  { 13, -1, sizeof(::extension_to_decryptor_ciphertext_msg)},
-  { 19, -1, sizeof(::decryptor_to_extension_msg_t)},
-};
-
-static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::_ciphertext_client_data_field_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::_extension_to_decryptor_enclosed_msg_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::_extension_to_decryptor_ciphertext_msg_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::_decryptor_to_extension_msg_t_default_instance_),
-};
-
-const char descriptor_table_protodef_PostLAMessages_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
-  "\n\024PostLAMessages.proto\"-\n\034ciphertext_cli"
-  "ent_data_field\022\r\n\005bytes\030\001 \003(\014\"\205\001\n#extens"
-  "ion_to_decryptor_enclosed_msg\022$\n\034ciphert"
-  "ext_client_public_key\030\001 \003(\014\0228\n\021ciphertex"
-  "t_fields\030\002 \003(\0132\035.ciphertext_client_data_"
-  "field\"6\n%extension_to_decryptor_cipherte"
-  "xt_msg\022\r\n\005bytes\030\001 \003(\014\"X\n\034decryptor_to_ex"
-  "tension_msg_t\0228\n\021ciphertext_fields\030\001 \003(\013"
-  "2\035.ciphertext_client_data_fieldb\006proto3"
-  ;
-static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_PostLAMessages_2eproto_deps[1] = {
-};
-static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_PostLAMessages_2eproto_sccs[4] = {
-  &scc_info_ciphertext_client_data_field_PostLAMessages_2eproto.base,
-  &scc_info_decryptor_to_extension_msg_t_PostLAMessages_2eproto.base,
-  &scc_info_extension_to_decryptor_ciphertext_msg_PostLAMessages_2eproto.base,
-  &scc_info_extension_to_decryptor_enclosed_msg_PostLAMessages_2eproto.base,
-};
-static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_PostLAMessages_2eproto_once;
-static bool descriptor_table_PostLAMessages_2eproto_initialized = false;
-const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_PostLAMessages_2eproto = {
-  &descriptor_table_PostLAMessages_2eproto_initialized, descriptor_table_protodef_PostLAMessages_2eproto, "PostLAMessages.proto", 359,
-  &descriptor_table_PostLAMessages_2eproto_once, descriptor_table_PostLAMessages_2eproto_sccs, descriptor_table_PostLAMessages_2eproto_deps, 4, 0,
-  schemas, file_default_instances, TableStruct_PostLAMessages_2eproto::offsets,
-  file_level_metadata_PostLAMessages_2eproto, 4, file_level_enum_descriptors_PostLAMessages_2eproto, file_level_service_descriptors_PostLAMessages_2eproto,
-};
-
-// Force running AddDescriptors() at dynamic initialization time.
-static bool dynamic_init_dummy_PostLAMessages_2eproto = (  ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptors(&descriptor_table_PostLAMessages_2eproto), true);
-
-// ===================================================================
-
-void ciphertext_client_data_field::InitAsDefaultInstance() {
+void ciphertext_data::InitAsDefaultInstance() {
 }
-class ciphertext_client_data_field::_Internal {
- public:
-};
 
-ciphertext_client_data_field::ciphertext_client_data_field()
-  : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
+ciphertext_data::ciphertext_data(const ciphertext_data& from)
+  : ::google::protobuf::Message() {
   SharedCtor();
-  // @@protoc_insertion_point(constructor:ciphertext_client_data_field)
-}
-ciphertext_client_data_field::ciphertext_client_data_field(const ciphertext_client_data_field& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message(),
-      _internal_metadata_(nullptr),
-      bytes_(from.bytes_) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  // @@protoc_insertion_point(copy_constructor:ciphertext_client_data_field)
+  MergeFrom(from);
+  // @@protoc_insertion_point(copy_constructor:ciphertext_data)
 }
 
-void ciphertext_client_data_field::SharedCtor() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_ciphertext_client_data_field_PostLAMessages_2eproto.base);
+void ciphertext_data::SharedCtor() {
+  ::google::protobuf::internal::GetEmptyString();
+  _cached_size_ = 0;
+  field_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
-ciphertext_client_data_field::~ciphertext_client_data_field() {
-  // @@protoc_insertion_point(destructor:ciphertext_client_data_field)
+ciphertext_data::~ciphertext_data() {
+  // @@protoc_insertion_point(destructor:ciphertext_data)
   SharedDtor();
 }
 
-void ciphertext_client_data_field::SharedDtor() {
+void ciphertext_data::SharedDtor() {
+  if (field_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    delete field_;
+  }
+  if (this != default_instance_) {
+  }
 }
 
-void ciphertext_client_data_field::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
+void ciphertext_data::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
-const ciphertext_client_data_field& ciphertext_client_data_field::default_instance() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_ciphertext_client_data_field_PostLAMessages_2eproto.base);
-  return *internal_default_instance();
+const ::google::protobuf::Descriptor* ciphertext_data::descriptor() {
+  protobuf_AssignDescriptorsOnce();
+  return ciphertext_data_descriptor_;
 }
 
+const ciphertext_data& ciphertext_data::default_instance() {
+  if (default_instance_ == NULL) protobuf_AddDesc_PostLAMessages_2eproto();
+  return *default_instance_;
+}
 
-void ciphertext_client_data_field::Clear() {
-// @@protoc_insertion_point(message_clear_start:ciphertext_client_data_field)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
+ciphertext_data* ciphertext_data::default_instance_ = NULL;
 
-  bytes_.Clear();
-  _internal_metadata_.Clear();
+ciphertext_data* ciphertext_data::New() const {
+  return new ciphertext_data;
 }
 
-#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
-const char* ciphertext_client_data_field::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // repeated bytes bytes = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          ptr -= 1;
-          do {
-            ptr += 1;
-            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(add_bytes(), ptr, ctx);
-            CHK_(ptr);
-            if (!ctx->DataAvailable(ptr)) break;
-          } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 10);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
-bool ciphertext_client_data_field::MergePartialFromCodedStream(
-    ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
-  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-  // @@protoc_insertion_point(parse_start:ciphertext_client_data_field)
+void ciphertext_data::Clear() {
+  if (has_field()) {
+    if (field_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+      field_->clear();
+    }
+  }
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->Clear();
+}
+
+bool ciphertext_data::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ciphertext_data)
   for (;;) {
-    ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
     tag = p.first;
     if (!p.second) goto handle_unusual;
-    switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // repeated bytes bytes = 1;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // required bytes field = 1;
       case 1: {
-        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (10 & 0xFF)) {
-          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadBytes(
-                input, this->add_bytes()));
+        if (tag == 10) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
+                input, this->mutable_field()));
         } else {
           goto handle_unusual;
         }
+        if (input->ExpectAtEnd()) goto success;
         break;
       }
 
       default: {
       handle_unusual:
-        if (tag == 0) {
+        if (tag == 0 ||
+            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
           goto success;
         }
-        DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
-              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, mutable_unknown_fields()));
         break;
       }
     }
   }
 success:
-  // @@protoc_insertion_point(parse_success:ciphertext_client_data_field)
+  // @@protoc_insertion_point(parse_success:ciphertext_data)
   return true;
 failure:
-  // @@protoc_insertion_point(parse_failure:ciphertext_client_data_field)
+  // @@protoc_insertion_point(parse_failure:ciphertext_data)
   return false;
 #undef DO_
 }
-#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
 
-::PROTOBUF_NAMESPACE_ID::uint8* ciphertext_client_data_field::InternalSerializeWithCachedSizesToArray(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:ciphertext_client_data_field)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
+void ciphertext_data::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ciphertext_data)
+  // required bytes field = 1;
+  if (has_field()) {
+    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
+      1, this->field(), output);
+  }
+
+  if (!unknown_fields().empty()) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        unknown_fields(), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ciphertext_data)
+}
 
-  // repeated bytes bytes = 1;
-  for (auto it = this->bytes().pointer_begin(),
-            end = this->bytes().pointer_end(); it < end; ++it) {
-    const auto& s = **it;
-    target = stream->WriteBytes(1, s, target);
+::google::protobuf::uint8* ciphertext_data::SerializeWithCachedSizesToArray(
+    ::google::protobuf::uint8* target) const {
+  // @@protoc_insertion_point(serialize_to_array_start:ciphertext_data)
+  // required bytes field = 1;
+  if (has_field()) {
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
+        1, this->field(), target);
   }
 
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields(), target, stream);
+  if (!unknown_fields().empty()) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        unknown_fields(), target);
   }
-  // @@protoc_insertion_point(serialize_to_array_end:ciphertext_client_data_field)
+  // @@protoc_insertion_point(serialize_to_array_end:ciphertext_data)
   return target;
 }
 
-size_t ciphertext_client_data_field::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:ciphertext_client_data_field)
-  size_t total_size = 0;
+int ciphertext_data::ByteSize() const {
+  int total_size = 0;
 
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    // required bytes field = 1;
+    if (has_field()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::BytesSize(
+          this->field());
+    }
 
-  // repeated bytes bytes = 1;
-  total_size += 1 *
-      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->bytes_size());
-  for (int i = 0, n = this->bytes_size(); i < n; i++) {
-    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
-      this->bytes(i));
   }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
+  if (!unknown_fields().empty()) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        unknown_fields());
   }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = total_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
-void ciphertext_client_data_field::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:ciphertext_client_data_field)
-  GOOGLE_DCHECK_NE(&from, this);
-  const ciphertext_client_data_field* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ciphertext_client_data_field>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ciphertext_client_data_field)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
+void ciphertext_data::MergeFrom(const ::google::protobuf::Message& from) {
+  GOOGLE_CHECK_NE(&from, this);
+  const ciphertext_data* source =
+    ::google::protobuf::internal::dynamic_cast_if_available<const ciphertext_data*>(
+      &from);
+  if (source == NULL) {
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:ciphertext_client_data_field)
     MergeFrom(*source);
   }
 }
 
-void ciphertext_client_data_field::MergeFrom(const ciphertext_client_data_field& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:ciphertext_client_data_field)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  bytes_.MergeFrom(from.bytes_);
+void ciphertext_data::MergeFrom(const ciphertext_data& from) {
+  GOOGLE_CHECK_NE(&from, this);
+  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (from.has_field()) {
+      set_field(from.field());
+    }
+  }
+  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
 }
 
-void ciphertext_client_data_field::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:ciphertext_client_data_field)
+void ciphertext_data::CopyFrom(const ::google::protobuf::Message& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
-void ciphertext_client_data_field::CopyFrom(const ciphertext_client_data_field& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:ciphertext_client_data_field)
+void ciphertext_data::CopyFrom(const ciphertext_data& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
-bool ciphertext_client_data_field::IsInitialized() const {
+bool ciphertext_data::IsInitialized() const {
+  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
+
   return true;
 }
 
-void ciphertext_client_data_field::InternalSwap(ciphertext_client_data_field* other) {
-  using std::swap;
-  _internal_metadata_.Swap(&other->_internal_metadata_);
-  bytes_.InternalSwap(CastToBase(&other->bytes_));
+void ciphertext_data::Swap(ciphertext_data* other) {
+  if (other != this) {
+    std::swap(field_, other->field_);
+    std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.Swap(&other->_unknown_fields_);
+    std::swap(_cached_size_, other->_cached_size_);
+  }
 }
 
-::PROTOBUF_NAMESPACE_ID::Metadata ciphertext_client_data_field::GetMetadata() const {
-  return GetMetadataStatic();
+::google::protobuf::Metadata ciphertext_data::GetMetadata() const {
+  protobuf_AssignDescriptorsOnce();
+  ::google::protobuf::Metadata metadata;
+  metadata.descriptor = ciphertext_data_descriptor_;
+  metadata.reflection = ciphertext_data_reflection_;
+  return metadata;
 }
 
 
 // ===================================================================
 
-void extension_to_decryptor_enclosed_msg::InitAsDefaultInstance() {
-}
-class extension_to_decryptor_enclosed_msg::_Internal {
- public:
-};
+#ifndef _MSC_VER
+const int extension_to_decryptor_msg::kCiphertextClientPublicKeyFieldNumber;
+const int extension_to_decryptor_msg::kFieldsFieldNumber;
+#endif  // !_MSC_VER
 
-extension_to_decryptor_enclosed_msg::extension_to_decryptor_enclosed_msg()
-  : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
+extension_to_decryptor_msg::extension_to_decryptor_msg()
+  : ::google::protobuf::Message() {
   SharedCtor();
-  // @@protoc_insertion_point(constructor:extension_to_decryptor_enclosed_msg)
+  // @@protoc_insertion_point(constructor:extension_to_decryptor_msg)
+}
+
+void extension_to_decryptor_msg::InitAsDefaultInstance() {
 }
-extension_to_decryptor_enclosed_msg::extension_to_decryptor_enclosed_msg(const extension_to_decryptor_enclosed_msg& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message(),
-      _internal_metadata_(nullptr),
-      ciphertext_client_public_key_(from.ciphertext_client_public_key_),
-      ciphertext_fields_(from.ciphertext_fields_) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  // @@protoc_insertion_point(copy_constructor:extension_to_decryptor_enclosed_msg)
+
+extension_to_decryptor_msg::extension_to_decryptor_msg(const extension_to_decryptor_msg& from)
+  : ::google::protobuf::Message() {
+  SharedCtor();
+  MergeFrom(from);
+  // @@protoc_insertion_point(copy_constructor:extension_to_decryptor_msg)
 }
 
-void extension_to_decryptor_enclosed_msg::SharedCtor() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_extension_to_decryptor_enclosed_msg_PostLAMessages_2eproto.base);
+void extension_to_decryptor_msg::SharedCtor() {
+  ::google::protobuf::internal::GetEmptyString();
+  _cached_size_ = 0;
+  ciphertext_client_public_key_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
-extension_to_decryptor_enclosed_msg::~extension_to_decryptor_enclosed_msg() {
-  // @@protoc_insertion_point(destructor:extension_to_decryptor_enclosed_msg)
+extension_to_decryptor_msg::~extension_to_decryptor_msg() {
+  // @@protoc_insertion_point(destructor:extension_to_decryptor_msg)
   SharedDtor();
 }
 
-void extension_to_decryptor_enclosed_msg::SharedDtor() {
-}
-
-void extension_to_decryptor_enclosed_msg::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-const extension_to_decryptor_enclosed_msg& extension_to_decryptor_enclosed_msg::default_instance() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_extension_to_decryptor_enclosed_msg_PostLAMessages_2eproto.base);
-  return *internal_default_instance();
-}
-
-
-void extension_to_decryptor_enclosed_msg::Clear() {
-// @@protoc_insertion_point(message_clear_start:extension_to_decryptor_enclosed_msg)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  ciphertext_client_public_key_.Clear();
-  ciphertext_fields_.Clear();
-  _internal_metadata_.Clear();
-}
-
-#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
-const char* extension_to_decryptor_enclosed_msg::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // repeated bytes ciphertext_client_public_key = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          ptr -= 1;
-          do {
-            ptr += 1;
-            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(add_ciphertext_client_public_key(), ptr, ctx);
-            CHK_(ptr);
-            if (!ctx->DataAvailable(ptr)) break;
-          } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 10);
-        } else goto handle_unusual;
-        continue;
-      // repeated .ciphertext_client_data_field ciphertext_fields = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
-          ptr -= 1;
-          do {
-            ptr += 1;
-            ptr = ctx->ParseMessage(add_ciphertext_fields(), ptr);
-            CHK_(ptr);
-            if (!ctx->DataAvailable(ptr)) break;
-          } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 18);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
-bool extension_to_decryptor_enclosed_msg::MergePartialFromCodedStream(
-    ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
-  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-  // @@protoc_insertion_point(parse_start:extension_to_decryptor_enclosed_msg)
+void extension_to_decryptor_msg::SharedDtor() {
+  if (ciphertext_client_public_key_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    delete ciphertext_client_public_key_;
+  }
+  if (this != default_instance_) {
+  }
+}
+
+void extension_to_decryptor_msg::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* extension_to_decryptor_msg::descriptor() {
+  protobuf_AssignDescriptorsOnce();
+  return extension_to_decryptor_msg_descriptor_;
+}
+
+const extension_to_decryptor_msg& extension_to_decryptor_msg::default_instance() {
+  if (default_instance_ == NULL) protobuf_AddDesc_PostLAMessages_2eproto();
+  return *default_instance_;
+}
+
+extension_to_decryptor_msg* extension_to_decryptor_msg::default_instance_ = NULL;
+
+extension_to_decryptor_msg* extension_to_decryptor_msg::New() const {
+  return new extension_to_decryptor_msg;
+}
+
+void extension_to_decryptor_msg::Clear() {
+  if (has_ciphertext_client_public_key()) {
+    if (ciphertext_client_public_key_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+      ciphertext_client_public_key_->clear();
+    }
+  }
+  fields_.Clear();
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->Clear();
+}
+
+bool extension_to_decryptor_msg::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:extension_to_decryptor_msg)
   for (;;) {
-    ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
     tag = p.first;
     if (!p.second) goto handle_unusual;
-    switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // repeated bytes ciphertext_client_public_key = 1;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // required bytes ciphertext_client_public_key = 1;
       case 1: {
-        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (10 & 0xFF)) {
-          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadBytes(
-                input, this->add_ciphertext_client_public_key()));
+        if (tag == 10) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
+                input, this->mutable_ciphertext_client_public_key()));
         } else {
           goto handle_unusual;
         }
+        if (input->ExpectTag(18)) goto parse_fields;
         break;
       }
 
-      // repeated .ciphertext_client_data_field ciphertext_fields = 2;
+      // repeated .ciphertext_data fields = 2;
       case 2: {
-        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (18 & 0xFF)) {
-          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
-                input, add_ciphertext_fields()));
+        if (tag == 18) {
+         parse_fields:
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+                input, add_fields()));
         } else {
           goto handle_unusual;
         }
+        if (input->ExpectTag(18)) goto parse_fields;
+        if (input->ExpectAtEnd()) goto success;
         break;
       }
 
       default: {
       handle_unusual:
-        if (tag == 0) {
+        if (tag == 0 ||
+            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
           goto success;
         }
-        DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
-              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, mutable_unknown_fields()));
         break;
       }
     }
   }
 success:
-  // @@protoc_insertion_point(parse_success:extension_to_decryptor_enclosed_msg)
+  // @@protoc_insertion_point(parse_success:extension_to_decryptor_msg)
   return true;
 failure:
-  // @@protoc_insertion_point(parse_failure:extension_to_decryptor_enclosed_msg)
+  // @@protoc_insertion_point(parse_failure:extension_to_decryptor_msg)
   return false;
 #undef DO_
 }
-#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
-
-::PROTOBUF_NAMESPACE_ID::uint8* extension_to_decryptor_enclosed_msg::InternalSerializeWithCachedSizesToArray(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:extension_to_decryptor_enclosed_msg)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
 
-  // repeated bytes ciphertext_client_public_key = 1;
-  for (auto it = this->ciphertext_client_public_key().pointer_begin(),
-            end = this->ciphertext_client_public_key().pointer_end(); it < end; ++it) {
-    const auto& s = **it;
-    target = stream->WriteBytes(1, s, target);
+void extension_to_decryptor_msg::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:extension_to_decryptor_msg)
+  // required bytes ciphertext_client_public_key = 1;
+  if (has_ciphertext_client_public_key()) {
+    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
+      1, this->ciphertext_client_public_key(), output);
   }
 
-  // repeated .ciphertext_client_data_field ciphertext_fields = 2;
-  for (auto it = this->ciphertext_fields().pointer_begin(),
-            end = this->ciphertext_fields().pointer_end(); it < end; ++it) {
-    stream->EnsureSpace(&target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-      InternalWriteMessageToArray(2, **it, target, stream);
+  // repeated .ciphertext_data fields = 2;
+  for (int i = 0; i < this->fields_size(); i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+      2, this->fields(i), output);
   }
 
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields(), target, stream);
+  if (!unknown_fields().empty()) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        unknown_fields(), output);
   }
-  // @@protoc_insertion_point(serialize_to_array_end:extension_to_decryptor_enclosed_msg)
-  return target;
+  // @@protoc_insertion_point(serialize_end:extension_to_decryptor_msg)
 }
 
-size_t extension_to_decryptor_enclosed_msg::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:extension_to_decryptor_enclosed_msg)
-  size_t total_size = 0;
+::google::protobuf::uint8* extension_to_decryptor_msg::SerializeWithCachedSizesToArray(
+    ::google::protobuf::uint8* target) const {
+  // @@protoc_insertion_point(serialize_to_array_start:extension_to_decryptor_msg)
+  // required bytes ciphertext_client_public_key = 1;
+  if (has_ciphertext_client_public_key()) {
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
+        1, this->ciphertext_client_public_key(), target);
+  }
 
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
+  // repeated .ciphertext_data fields = 2;
+  for (int i = 0; i < this->fields_size(); i++) {
+    target = ::google::protobuf::internal::WireFormatLite::
+      WriteMessageNoVirtualToArray(
+        2, this->fields(i), target);
+  }
 
-  // repeated bytes ciphertext_client_public_key = 1;
-  total_size += 1 *
-      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->ciphertext_client_public_key_size());
-  for (int i = 0, n = this->ciphertext_client_public_key_size(); i < n; i++) {
-    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
-      this->ciphertext_client_public_key(i));
+  if (!unknown_fields().empty()) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        unknown_fields(), target);
   }
+  // @@protoc_insertion_point(serialize_to_array_end:extension_to_decryptor_msg)
+  return target;
+}
 
-  // repeated .ciphertext_client_data_field ciphertext_fields = 2;
-  {
-    unsigned int count = static_cast<unsigned int>(this->ciphertext_fields_size());
-    total_size += 1UL * count;
-    for (unsigned int i = 0; i < count; i++) {
-      total_size +=
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
-          this->ciphertext_fields(static_cast<int>(i)));
+int extension_to_decryptor_msg::ByteSize() const {
+  int total_size = 0;
+
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    // required bytes ciphertext_client_public_key = 1;
+    if (has_ciphertext_client_public_key()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::BytesSize(
+          this->ciphertext_client_public_key());
     }
+
+  }
+  // repeated .ciphertext_data fields = 2;
+  total_size += 1 * this->fields_size();
+  for (int i = 0; i < this->fields_size(); i++) {
+    total_size +=
+      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+        this->fields(i));
   }
 
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
+  if (!unknown_fields().empty()) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        unknown_fields());
   }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = total_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
-void extension_to_decryptor_enclosed_msg::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:extension_to_decryptor_enclosed_msg)
-  GOOGLE_DCHECK_NE(&from, this);
-  const extension_to_decryptor_enclosed_msg* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<extension_to_decryptor_enclosed_msg>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:extension_to_decryptor_enclosed_msg)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
+void extension_to_decryptor_msg::MergeFrom(const ::google::protobuf::Message& from) {
+  GOOGLE_CHECK_NE(&from, this);
+  const extension_to_decryptor_msg* source =
+    ::google::protobuf::internal::dynamic_cast_if_available<const extension_to_decryptor_msg*>(
+      &from);
+  if (source == NULL) {
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:extension_to_decryptor_enclosed_msg)
     MergeFrom(*source);
   }
 }
 
-void extension_to_decryptor_enclosed_msg::MergeFrom(const extension_to_decryptor_enclosed_msg& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:extension_to_decryptor_enclosed_msg)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  ciphertext_client_public_key_.MergeFrom(from.ciphertext_client_public_key_);
-  ciphertext_fields_.MergeFrom(from.ciphertext_fields_);
+void extension_to_decryptor_msg::MergeFrom(const extension_to_decryptor_msg& from) {
+  GOOGLE_CHECK_NE(&from, this);
+  fields_.MergeFrom(from.fields_);
+  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (from.has_ciphertext_client_public_key()) {
+      set_ciphertext_client_public_key(from.ciphertext_client_public_key());
+    }
+  }
+  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
 }
 
-void extension_to_decryptor_enclosed_msg::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:extension_to_decryptor_enclosed_msg)
+void extension_to_decryptor_msg::CopyFrom(const ::google::protobuf::Message& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
-void extension_to_decryptor_enclosed_msg::CopyFrom(const extension_to_decryptor_enclosed_msg& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:extension_to_decryptor_enclosed_msg)
+void extension_to_decryptor_msg::CopyFrom(const extension_to_decryptor_msg& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
-bool extension_to_decryptor_enclosed_msg::IsInitialized() const {
+bool extension_to_decryptor_msg::IsInitialized() const {
+  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
+
+  if (!::google::protobuf::internal::AllAreInitialized(this->fields())) return false;
   return true;
 }
 
-void extension_to_decryptor_enclosed_msg::InternalSwap(extension_to_decryptor_enclosed_msg* other) {
-  using std::swap;
-  _internal_metadata_.Swap(&other->_internal_metadata_);
-  ciphertext_client_public_key_.InternalSwap(CastToBase(&other->ciphertext_client_public_key_));
-  CastToBase(&ciphertext_fields_)->InternalSwap(CastToBase(&other->ciphertext_fields_));
+void extension_to_decryptor_msg::Swap(extension_to_decryptor_msg* other) {
+  if (other != this) {
+    std::swap(ciphertext_client_public_key_, other->ciphertext_client_public_key_);
+    fields_.Swap(&other->fields_);
+    std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.Swap(&other->_unknown_fields_);
+    std::swap(_cached_size_, other->_cached_size_);
+  }
 }
 
-::PROTOBUF_NAMESPACE_ID::Metadata extension_to_decryptor_enclosed_msg::GetMetadata() const {
-  return GetMetadataStatic();
+::google::protobuf::Metadata extension_to_decryptor_msg::GetMetadata() const {
+  protobuf_AssignDescriptorsOnce();
+  ::google::protobuf::Metadata metadata;
+  metadata.descriptor = extension_to_decryptor_msg_descriptor_;
+  metadata.reflection = extension_to_decryptor_msg_reflection_;
+  return metadata;
 }
 
 
 // ===================================================================
 
-void extension_to_decryptor_ciphertext_msg::InitAsDefaultInstance() {
-}
-class extension_to_decryptor_ciphertext_msg::_Internal {
- public:
-};
+#ifndef _MSC_VER
+const int decryptor_to_extension_msg::kFieldsFieldNumber;
+#endif  // !_MSC_VER
 
-extension_to_decryptor_ciphertext_msg::extension_to_decryptor_ciphertext_msg()
-  : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
+decryptor_to_extension_msg::decryptor_to_extension_msg()
+  : ::google::protobuf::Message() {
   SharedCtor();
-  // @@protoc_insertion_point(constructor:extension_to_decryptor_ciphertext_msg)
+  // @@protoc_insertion_point(constructor:decryptor_to_extension_msg)
 }
-extension_to_decryptor_ciphertext_msg::extension_to_decryptor_ciphertext_msg(const extension_to_decryptor_ciphertext_msg& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message(),
-      _internal_metadata_(nullptr),
-      bytes_(from.bytes_) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  // @@protoc_insertion_point(copy_constructor:extension_to_decryptor_ciphertext_msg)
+
+void decryptor_to_extension_msg::InitAsDefaultInstance() {
 }
 
-void extension_to_decryptor_ciphertext_msg::SharedCtor() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_extension_to_decryptor_ciphertext_msg_PostLAMessages_2eproto.base);
+decryptor_to_extension_msg::decryptor_to_extension_msg(const decryptor_to_extension_msg& from)
+  : ::google::protobuf::Message() {
+  SharedCtor();
+  MergeFrom(from);
+  // @@protoc_insertion_point(copy_constructor:decryptor_to_extension_msg)
 }
 
-extension_to_decryptor_ciphertext_msg::~extension_to_decryptor_ciphertext_msg() {
-  // @@protoc_insertion_point(destructor:extension_to_decryptor_ciphertext_msg)
+void decryptor_to_extension_msg::SharedCtor() {
+  _cached_size_ = 0;
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+}
+
+decryptor_to_extension_msg::~decryptor_to_extension_msg() {
+  // @@protoc_insertion_point(destructor:decryptor_to_extension_msg)
   SharedDtor();
 }
 
-void extension_to_decryptor_ciphertext_msg::SharedDtor() {
+void decryptor_to_extension_msg::SharedDtor() {
+  if (this != default_instance_) {
+  }
 }
 
-void extension_to_decryptor_ciphertext_msg::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
+void decryptor_to_extension_msg::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
-const extension_to_decryptor_ciphertext_msg& extension_to_decryptor_ciphertext_msg::default_instance() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_extension_to_decryptor_ciphertext_msg_PostLAMessages_2eproto.base);
-  return *internal_default_instance();
+const ::google::protobuf::Descriptor* decryptor_to_extension_msg::descriptor() {
+  protobuf_AssignDescriptorsOnce();
+  return decryptor_to_extension_msg_descriptor_;
 }
 
+const decryptor_to_extension_msg& decryptor_to_extension_msg::default_instance() {
+  if (default_instance_ == NULL) protobuf_AddDesc_PostLAMessages_2eproto();
+  return *default_instance_;
+}
 
-void extension_to_decryptor_ciphertext_msg::Clear() {
-// @@protoc_insertion_point(message_clear_start:extension_to_decryptor_ciphertext_msg)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
+decryptor_to_extension_msg* decryptor_to_extension_msg::default_instance_ = NULL;
 
-  bytes_.Clear();
-  _internal_metadata_.Clear();
+decryptor_to_extension_msg* decryptor_to_extension_msg::New() const {
+  return new decryptor_to_extension_msg;
 }
 
-#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
-const char* extension_to_decryptor_ciphertext_msg::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // repeated bytes bytes = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          ptr -= 1;
-          do {
-            ptr += 1;
-            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(add_bytes(), ptr, ctx);
-            CHK_(ptr);
-            if (!ctx->DataAvailable(ptr)) break;
-          } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 10);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
-bool extension_to_decryptor_ciphertext_msg::MergePartialFromCodedStream(
-    ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
-  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-  // @@protoc_insertion_point(parse_start:extension_to_decryptor_ciphertext_msg)
+void decryptor_to_extension_msg::Clear() {
+  fields_.Clear();
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->Clear();
+}
+
+bool decryptor_to_extension_msg::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:decryptor_to_extension_msg)
   for (;;) {
-    ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
     tag = p.first;
     if (!p.second) goto handle_unusual;
-    switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // repeated bytes bytes = 1;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // repeated .ciphertext_data fields = 1;
       case 1: {
-        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (10 & 0xFF)) {
-          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadBytes(
-                input, this->add_bytes()));
+        if (tag == 10) {
+         parse_fields:
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+                input, add_fields()));
         } else {
           goto handle_unusual;
         }
+        if (input->ExpectTag(10)) goto parse_fields;
+        if (input->ExpectAtEnd()) goto success;
         break;
       }
 
       default: {
       handle_unusual:
-        if (tag == 0) {
+        if (tag == 0 ||
+            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
           goto success;
         }
-        DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
-              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, mutable_unknown_fields()));
         break;
       }
     }
   }
 success:
-  // @@protoc_insertion_point(parse_success:extension_to_decryptor_ciphertext_msg)
+  // @@protoc_insertion_point(parse_success:decryptor_to_extension_msg)
   return true;
 failure:
-  // @@protoc_insertion_point(parse_failure:extension_to_decryptor_ciphertext_msg)
+  // @@protoc_insertion_point(parse_failure:decryptor_to_extension_msg)
   return false;
 #undef DO_
 }
-#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
 
-::PROTOBUF_NAMESPACE_ID::uint8* extension_to_decryptor_ciphertext_msg::InternalSerializeWithCachedSizesToArray(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:extension_to_decryptor_ciphertext_msg)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
+void decryptor_to_extension_msg::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:decryptor_to_extension_msg)
+  // repeated .ciphertext_data fields = 1;
+  for (int i = 0; i < this->fields_size(); i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+      1, this->fields(i), output);
+  }
+
+  if (!unknown_fields().empty()) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        unknown_fields(), output);
+  }
+  // @@protoc_insertion_point(serialize_end:decryptor_to_extension_msg)
+}
 
-  // repeated bytes bytes = 1;
-  for (auto it = this->bytes().pointer_begin(),
-            end = this->bytes().pointer_end(); it < end; ++it) {
-    const auto& s = **it;
-    target = stream->WriteBytes(1, s, target);
+::google::protobuf::uint8* decryptor_to_extension_msg::SerializeWithCachedSizesToArray(
+    ::google::protobuf::uint8* target) const {
+  // @@protoc_insertion_point(serialize_to_array_start:decryptor_to_extension_msg)
+  // repeated .ciphertext_data fields = 1;
+  for (int i = 0; i < this->fields_size(); i++) {
+    target = ::google::protobuf::internal::WireFormatLite::
+      WriteMessageNoVirtualToArray(
+        1, this->fields(i), target);
   }
 
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields(), target, stream);
+  if (!unknown_fields().empty()) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        unknown_fields(), target);
   }
-  // @@protoc_insertion_point(serialize_to_array_end:extension_to_decryptor_ciphertext_msg)
+  // @@protoc_insertion_point(serialize_to_array_end:decryptor_to_extension_msg)
   return target;
 }
 
-size_t extension_to_decryptor_ciphertext_msg::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:extension_to_decryptor_ciphertext_msg)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
+int decryptor_to_extension_msg::ByteSize() const {
+  int total_size = 0;
 
-  // repeated bytes bytes = 1;
-  total_size += 1 *
-      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->bytes_size());
-  for (int i = 0, n = this->bytes_size(); i < n; i++) {
-    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
-      this->bytes(i));
+  // repeated .ciphertext_data fields = 1;
+  total_size += 1 * this->fields_size();
+  for (int i = 0; i < this->fields_size(); i++) {
+    total_size +=
+      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+        this->fields(i));
   }
 
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
+  if (!unknown_fields().empty()) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        unknown_fields());
   }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = total_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
-void extension_to_decryptor_ciphertext_msg::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:extension_to_decryptor_ciphertext_msg)
-  GOOGLE_DCHECK_NE(&from, this);
-  const extension_to_decryptor_ciphertext_msg* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<extension_to_decryptor_ciphertext_msg>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:extension_to_decryptor_ciphertext_msg)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
+void decryptor_to_extension_msg::MergeFrom(const ::google::protobuf::Message& from) {
+  GOOGLE_CHECK_NE(&from, this);
+  const decryptor_to_extension_msg* source =
+    ::google::protobuf::internal::dynamic_cast_if_available<const decryptor_to_extension_msg*>(
+      &from);
+  if (source == NULL) {
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:extension_to_decryptor_ciphertext_msg)
     MergeFrom(*source);
   }
 }
 
-void extension_to_decryptor_ciphertext_msg::MergeFrom(const extension_to_decryptor_ciphertext_msg& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:extension_to_decryptor_ciphertext_msg)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  bytes_.MergeFrom(from.bytes_);
+void decryptor_to_extension_msg::MergeFrom(const decryptor_to_extension_msg& from) {
+  GOOGLE_CHECK_NE(&from, this);
+  fields_.MergeFrom(from.fields_);
+  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
 }
 
-void extension_to_decryptor_ciphertext_msg::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:extension_to_decryptor_ciphertext_msg)
+void decryptor_to_extension_msg::CopyFrom(const ::google::protobuf::Message& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
-void extension_to_decryptor_ciphertext_msg::CopyFrom(const extension_to_decryptor_ciphertext_msg& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:extension_to_decryptor_ciphertext_msg)
+void decryptor_to_extension_msg::CopyFrom(const decryptor_to_extension_msg& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
-bool extension_to_decryptor_ciphertext_msg::IsInitialized() const {
+bool decryptor_to_extension_msg::IsInitialized() const {
+
+  if (!::google::protobuf::internal::AllAreInitialized(this->fields())) return false;
   return true;
 }
 
-void extension_to_decryptor_ciphertext_msg::InternalSwap(extension_to_decryptor_ciphertext_msg* other) {
-  using std::swap;
-  _internal_metadata_.Swap(&other->_internal_metadata_);
-  bytes_.InternalSwap(CastToBase(&other->bytes_));
+void decryptor_to_extension_msg::Swap(decryptor_to_extension_msg* other) {
+  if (other != this) {
+    fields_.Swap(&other->fields_);
+    std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.Swap(&other->_unknown_fields_);
+    std::swap(_cached_size_, other->_cached_size_);
+  }
 }
 
-::PROTOBUF_NAMESPACE_ID::Metadata extension_to_decryptor_ciphertext_msg::GetMetadata() const {
-  return GetMetadataStatic();
+::google::protobuf::Metadata decryptor_to_extension_msg::GetMetadata() const {
+  protobuf_AssignDescriptorsOnce();
+  ::google::protobuf::Metadata metadata;
+  metadata.descriptor = decryptor_to_extension_msg_descriptor_;
+  metadata.reflection = decryptor_to_extension_msg_reflection_;
+  return metadata;
 }
 
 
 // ===================================================================
 
-void decryptor_to_extension_msg_t::InitAsDefaultInstance() {
-}
-class decryptor_to_extension_msg_t::_Internal {
- public:
-};
+#ifndef _MSC_VER
+const int mitigator_header::kNameFieldNumber;
+const int mitigator_header::kValueFieldNumber;
+#endif  // !_MSC_VER
 
-decryptor_to_extension_msg_t::decryptor_to_extension_msg_t()
-  : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
+mitigator_header::mitigator_header()
+  : ::google::protobuf::Message() {
   SharedCtor();
-  // @@protoc_insertion_point(constructor:decryptor_to_extension_msg_t)
+  // @@protoc_insertion_point(constructor:mitigator_header)
+}
+
+void mitigator_header::InitAsDefaultInstance() {
 }
-decryptor_to_extension_msg_t::decryptor_to_extension_msg_t(const decryptor_to_extension_msg_t& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message(),
-      _internal_metadata_(nullptr),
-      ciphertext_fields_(from.ciphertext_fields_) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  // @@protoc_insertion_point(copy_constructor:decryptor_to_extension_msg_t)
+
+mitigator_header::mitigator_header(const mitigator_header& from)
+  : ::google::protobuf::Message() {
+  SharedCtor();
+  MergeFrom(from);
+  // @@protoc_insertion_point(copy_constructor:mitigator_header)
 }
 
-void decryptor_to_extension_msg_t::SharedCtor() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_decryptor_to_extension_msg_t_PostLAMessages_2eproto.base);
+void mitigator_header::SharedCtor() {
+  ::google::protobuf::internal::GetEmptyString();
+  _cached_size_ = 0;
+  name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
-decryptor_to_extension_msg_t::~decryptor_to_extension_msg_t() {
-  // @@protoc_insertion_point(destructor:decryptor_to_extension_msg_t)
+mitigator_header::~mitigator_header() {
+  // @@protoc_insertion_point(destructor:mitigator_header)
   SharedDtor();
 }
 
-void decryptor_to_extension_msg_t::SharedDtor() {
+void mitigator_header::SharedDtor() {
+  if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    delete name_;
+  }
+  if (value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    delete value_;
+  }
+  if (this != default_instance_) {
+  }
 }
 
-void decryptor_to_extension_msg_t::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
+void mitigator_header::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
-const decryptor_to_extension_msg_t& decryptor_to_extension_msg_t::default_instance() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_decryptor_to_extension_msg_t_PostLAMessages_2eproto.base);
-  return *internal_default_instance();
+const ::google::protobuf::Descriptor* mitigator_header::descriptor() {
+  protobuf_AssignDescriptorsOnce();
+  return mitigator_header_descriptor_;
 }
 
+const mitigator_header& mitigator_header::default_instance() {
+  if (default_instance_ == NULL) protobuf_AddDesc_PostLAMessages_2eproto();
+  return *default_instance_;
+}
 
-void decryptor_to_extension_msg_t::Clear() {
-// @@protoc_insertion_point(message_clear_start:decryptor_to_extension_msg_t)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
+mitigator_header* mitigator_header::default_instance_ = NULL;
 
-  ciphertext_fields_.Clear();
-  _internal_metadata_.Clear();
+mitigator_header* mitigator_header::New() const {
+  return new mitigator_header;
 }
 
-#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
-const char* decryptor_to_extension_msg_t::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // repeated .ciphertext_client_data_field ciphertext_fields = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          ptr -= 1;
-          do {
-            ptr += 1;
-            ptr = ctx->ParseMessage(add_ciphertext_fields(), ptr);
-            CHK_(ptr);
-            if (!ctx->DataAvailable(ptr)) break;
-          } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 10);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
+void mitigator_header::Clear() {
+  if (_has_bits_[0 / 32] & 3) {
+    if (has_name()) {
+      if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+        name_->clear();
       }
-    }  // switch
-  }  // while
-success:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
-bool decryptor_to_extension_msg_t::MergePartialFromCodedStream(
-    ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
-  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-  // @@protoc_insertion_point(parse_start:decryptor_to_extension_msg_t)
+    }
+    if (has_value()) {
+      if (value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+        value_->clear();
+      }
+    }
+  }
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->Clear();
+}
+
+bool mitigator_header::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:mitigator_header)
   for (;;) {
-    ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
     tag = p.first;
     if (!p.second) goto handle_unusual;
-    switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // repeated .ciphertext_client_data_field ciphertext_fields = 1;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // required bytes name = 1;
       case 1: {
-        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (10 & 0xFF)) {
-          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
-                input, add_ciphertext_fields()));
+        if (tag == 10) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
+                input, this->mutable_name()));
+        } else {
+          goto handle_unusual;
+        }
+        if (input->ExpectTag(18)) goto parse_value;
+        break;
+      }
+
+      // required bytes value = 2;
+      case 2: {
+        if (tag == 18) {
+         parse_value:
+          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
+                input, this->mutable_value()));
         } else {
           goto handle_unusual;
         }
+        if (input->ExpectAtEnd()) goto success;
         break;
       }
 
       default: {
       handle_unusual:
-        if (tag == 0) {
+        if (tag == 0 ||
+            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
           goto success;
         }
-        DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
-              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, mutable_unknown_fields()));
         break;
       }
     }
   }
 success:
-  // @@protoc_insertion_point(parse_success:decryptor_to_extension_msg_t)
+  // @@protoc_insertion_point(parse_success:mitigator_header)
   return true;
 failure:
-  // @@protoc_insertion_point(parse_failure:decryptor_to_extension_msg_t)
+  // @@protoc_insertion_point(parse_failure:mitigator_header)
   return false;
 #undef DO_
 }
-#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
 
-::PROTOBUF_NAMESPACE_ID::uint8* decryptor_to_extension_msg_t::InternalSerializeWithCachedSizesToArray(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:decryptor_to_extension_msg_t)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
+void mitigator_header::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:mitigator_header)
+  // required bytes name = 1;
+  if (has_name()) {
+    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
+      1, this->name(), output);
+  }
+
+  // required bytes value = 2;
+  if (has_value()) {
+    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
+      2, this->value(), output);
+  }
+
+  if (!unknown_fields().empty()) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        unknown_fields(), output);
+  }
+  // @@protoc_insertion_point(serialize_end:mitigator_header)
+}
+
+::google::protobuf::uint8* mitigator_header::SerializeWithCachedSizesToArray(
+    ::google::protobuf::uint8* target) const {
+  // @@protoc_insertion_point(serialize_to_array_start:mitigator_header)
+  // required bytes name = 1;
+  if (has_name()) {
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
+        1, this->name(), target);
+  }
 
-  // repeated .ciphertext_client_data_field ciphertext_fields = 1;
-  for (auto it = this->ciphertext_fields().pointer_begin(),
-            end = this->ciphertext_fields().pointer_end(); it < end; ++it) {
-    stream->EnsureSpace(&target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-      InternalWriteMessageToArray(1, **it, target, stream);
+  // required bytes value = 2;
+  if (has_value()) {
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
+        2, this->value(), target);
   }
 
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields(), target, stream);
+  if (!unknown_fields().empty()) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        unknown_fields(), target);
   }
-  // @@protoc_insertion_point(serialize_to_array_end:decryptor_to_extension_msg_t)
+  // @@protoc_insertion_point(serialize_to_array_end:mitigator_header)
   return target;
 }
 
-size_t decryptor_to_extension_msg_t::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:decryptor_to_extension_msg_t)
-  size_t total_size = 0;
+int mitigator_header::ByteSize() const {
+  int total_size = 0;
 
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    // required bytes name = 1;
+    if (has_name()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::BytesSize(
+          this->name());
+    }
 
-  // repeated .ciphertext_client_data_field ciphertext_fields = 1;
-  {
-    unsigned int count = static_cast<unsigned int>(this->ciphertext_fields_size());
-    total_size += 1UL * count;
-    for (unsigned int i = 0; i < count; i++) {
-      total_size +=
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
-          this->ciphertext_fields(static_cast<int>(i)));
+    // required bytes value = 2;
+    if (has_value()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::BytesSize(
+          this->value());
     }
-  }
 
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
   }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
+  if (!unknown_fields().empty()) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        unknown_fields());
+  }
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = total_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
-void decryptor_to_extension_msg_t::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:decryptor_to_extension_msg_t)
-  GOOGLE_DCHECK_NE(&from, this);
-  const decryptor_to_extension_msg_t* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<decryptor_to_extension_msg_t>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:decryptor_to_extension_msg_t)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
+void mitigator_header::MergeFrom(const ::google::protobuf::Message& from) {
+  GOOGLE_CHECK_NE(&from, this);
+  const mitigator_header* source =
+    ::google::protobuf::internal::dynamic_cast_if_available<const mitigator_header*>(
+      &from);
+  if (source == NULL) {
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:decryptor_to_extension_msg_t)
     MergeFrom(*source);
   }
 }
 
-void decryptor_to_extension_msg_t::MergeFrom(const decryptor_to_extension_msg_t& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:decryptor_to_extension_msg_t)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  ciphertext_fields_.MergeFrom(from.ciphertext_fields_);
+void mitigator_header::MergeFrom(const mitigator_header& from) {
+  GOOGLE_CHECK_NE(&from, this);
+  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (from.has_name()) {
+      set_name(from.name());
+    }
+    if (from.has_value()) {
+      set_value(from.value());
+    }
+  }
+  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
 }
 
-void decryptor_to_extension_msg_t::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:decryptor_to_extension_msg_t)
+void mitigator_header::CopyFrom(const ::google::protobuf::Message& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
-void decryptor_to_extension_msg_t::CopyFrom(const decryptor_to_extension_msg_t& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:decryptor_to_extension_msg_t)
+void mitigator_header::CopyFrom(const mitigator_header& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
-bool decryptor_to_extension_msg_t::IsInitialized() const {
+bool mitigator_header::IsInitialized() const {
+  if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
+
   return true;
 }
 
-void decryptor_to_extension_msg_t::InternalSwap(decryptor_to_extension_msg_t* other) {
-  using std::swap;
-  _internal_metadata_.Swap(&other->_internal_metadata_);
-  CastToBase(&ciphertext_fields_)->InternalSwap(CastToBase(&other->ciphertext_fields_));
+void mitigator_header::Swap(mitigator_header* other) {
+  if (other != this) {
+    std::swap(name_, other->name_);
+    std::swap(value_, other->value_);
+    std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.Swap(&other->_unknown_fields_);
+    std::swap(_cached_size_, other->_cached_size_);
+  }
 }
 
-::PROTOBUF_NAMESPACE_ID::Metadata decryptor_to_extension_msg_t::GetMetadata() const {
-  return GetMetadataStatic();
+::google::protobuf::Metadata mitigator_header::GetMetadata() const {
+  protobuf_AssignDescriptorsOnce();
+  ::google::protobuf::Metadata metadata;
+  metadata.descriptor = mitigator_header_descriptor_;
+  metadata.reflection = mitigator_header_reflection_;
+  return metadata;
 }
 
 
 // @@protoc_insertion_point(namespace_scope)
-PROTOBUF_NAMESPACE_OPEN
-template<> PROTOBUF_NOINLINE ::ciphertext_client_data_field* Arena::CreateMaybeMessage< ::ciphertext_client_data_field >(Arena* arena) {
-  return Arena::CreateInternal< ::ciphertext_client_data_field >(arena);
-}
-template<> PROTOBUF_NOINLINE ::extension_to_decryptor_enclosed_msg* Arena::CreateMaybeMessage< ::extension_to_decryptor_enclosed_msg >(Arena* arena) {
-  return Arena::CreateInternal< ::extension_to_decryptor_enclosed_msg >(arena);
-}
-template<> PROTOBUF_NOINLINE ::extension_to_decryptor_ciphertext_msg* Arena::CreateMaybeMessage< ::extension_to_decryptor_ciphertext_msg >(Arena* arena) {
-  return Arena::CreateInternal< ::extension_to_decryptor_ciphertext_msg >(arena);
-}
-template<> PROTOBUF_NOINLINE ::decryptor_to_extension_msg_t* Arena::CreateMaybeMessage< ::decryptor_to_extension_msg_t >(Arena* arena) {
-  return Arena::CreateInternal< ::decryptor_to_extension_msg_t >(arena);
-}
-PROTOBUF_NAMESPACE_CLOSE
 
 // @@protoc_insertion_point(global_scope)
-#include <google/protobuf/port_undef.inc>

+ 623 - 706
PostLAMessages.pb.h

@@ -1,881 +1,798 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: PostLAMessages.proto
 
-#ifndef GOOGLE_PROTOBUF_INCLUDED_PostLAMessages_2eproto
-#define GOOGLE_PROTOBUF_INCLUDED_PostLAMessages_2eproto
+#ifndef PROTOBUF_PostLAMessages_2eproto__INCLUDED
+#define PROTOBUF_PostLAMessages_2eproto__INCLUDED
 
-#include <limits>
 #include <string>
 
-#include <google/protobuf/port_def.inc>
-#if PROTOBUF_VERSION < 3009000
+#include <google/protobuf/stubs/common.h>
+
+#if GOOGLE_PROTOBUF_VERSION < 2006000
 #error This file was generated by a newer version of protoc which is
-#error incompatible with your Protocol Buffer headers. Please update
+#error incompatible with your Protocol Buffer headers.  Please update
 #error your headers.
 #endif
-#if 3009000 < PROTOBUF_MIN_PROTOC_VERSION
+#if 2006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
 #error This file was generated by an older version of protoc which is
-#error incompatible with your Protocol Buffer headers. Please
+#error incompatible with your Protocol Buffer headers.  Please
 #error regenerate this file with a newer version of protoc.
 #endif
 
-#include <google/protobuf/port_undef.inc>
-#include <google/protobuf/io/coded_stream.h>
-#include <google/protobuf/arena.h>
-#include <google/protobuf/arenastring.h>
-#include <google/protobuf/generated_message_table_driven.h>
 #include <google/protobuf/generated_message_util.h>
-#include <google/protobuf/inlined_string_field.h>
-#include <google/protobuf/metadata.h>
-#include <google/protobuf/generated_message_reflection.h>
 #include <google/protobuf/message.h>
-#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
-#include <google/protobuf/extension_set.h>  // IWYU pragma: export
+#include <google/protobuf/repeated_field.h>
+#include <google/protobuf/extension_set.h>
 #include <google/protobuf/unknown_field_set.h>
 // @@protoc_insertion_point(includes)
-#include <google/protobuf/port_def.inc>
-#define PROTOBUF_INTERNAL_EXPORT_PostLAMessages_2eproto
-PROTOBUF_NAMESPACE_OPEN
-namespace internal {
-class AnyMetadata;
-}  // namespace internal
-PROTOBUF_NAMESPACE_CLOSE
-
-// Internal implementation detail -- do not use these members.
-struct TableStruct_PostLAMessages_2eproto {
-  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
-    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
-  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
-    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
-  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[4]
-    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
-  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
-  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
-  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
-};
-extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_PostLAMessages_2eproto;
-class ciphertext_client_data_field;
-class ciphertext_client_data_fieldDefaultTypeInternal;
-extern ciphertext_client_data_fieldDefaultTypeInternal _ciphertext_client_data_field_default_instance_;
-class decryptor_to_extension_msg_t;
-class decryptor_to_extension_msg_tDefaultTypeInternal;
-extern decryptor_to_extension_msg_tDefaultTypeInternal _decryptor_to_extension_msg_t_default_instance_;
-class extension_to_decryptor_ciphertext_msg;
-class extension_to_decryptor_ciphertext_msgDefaultTypeInternal;
-extern extension_to_decryptor_ciphertext_msgDefaultTypeInternal _extension_to_decryptor_ciphertext_msg_default_instance_;
-class extension_to_decryptor_enclosed_msg;
-class extension_to_decryptor_enclosed_msgDefaultTypeInternal;
-extern extension_to_decryptor_enclosed_msgDefaultTypeInternal _extension_to_decryptor_enclosed_msg_default_instance_;
-PROTOBUF_NAMESPACE_OPEN
-template<> ::ciphertext_client_data_field* Arena::CreateMaybeMessage<::ciphertext_client_data_field>(Arena*);
-template<> ::decryptor_to_extension_msg_t* Arena::CreateMaybeMessage<::decryptor_to_extension_msg_t>(Arena*);
-template<> ::extension_to_decryptor_ciphertext_msg* Arena::CreateMaybeMessage<::extension_to_decryptor_ciphertext_msg>(Arena*);
-template<> ::extension_to_decryptor_enclosed_msg* Arena::CreateMaybeMessage<::extension_to_decryptor_enclosed_msg>(Arena*);
-PROTOBUF_NAMESPACE_CLOSE
+
+// Internal implementation detail -- do not call these.
+void  protobuf_AddDesc_PostLAMessages_2eproto();
+void protobuf_AssignDesc_PostLAMessages_2eproto();
+void protobuf_ShutdownFile_PostLAMessages_2eproto();
+
+class ciphertext_data;
+class extension_to_decryptor_msg;
+class decryptor_to_extension_msg;
+class mitigator_header;
 
 // ===================================================================
 
-class ciphertext_client_data_field :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:ciphertext_client_data_field) */ {
+class ciphertext_data : public ::google::protobuf::Message {
  public:
-  ciphertext_client_data_field();
-  virtual ~ciphertext_client_data_field();
+  ciphertext_data();
+  virtual ~ciphertext_data();
 
-  ciphertext_client_data_field(const ciphertext_client_data_field& from);
-  ciphertext_client_data_field(ciphertext_client_data_field&& from) noexcept
-    : ciphertext_client_data_field() {
-    *this = ::std::move(from);
-  }
+  ciphertext_data(const ciphertext_data& from);
 
-  inline ciphertext_client_data_field& operator=(const ciphertext_client_data_field& from) {
+  inline ciphertext_data& operator=(const ciphertext_data& from) {
     CopyFrom(from);
     return *this;
   }
-  inline ciphertext_client_data_field& operator=(ciphertext_client_data_field&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
 
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
+  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
+    return _unknown_fields_;
   }
-  static const ciphertext_client_data_field& default_instance();
 
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const ciphertext_client_data_field* internal_default_instance() {
-    return reinterpret_cast<const ciphertext_client_data_field*>(
-               &_ciphertext_client_data_field_default_instance_);
+  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
+    return &_unknown_fields_;
   }
-  static constexpr int kIndexInFileMessages =
-    0;
 
-  friend void swap(ciphertext_client_data_field& a, ciphertext_client_data_field& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(ciphertext_client_data_field* other) {
-    if (other == this) return;
-    InternalSwap(other);
-  }
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const ciphertext_data& default_instance();
 
-  // implements Message ----------------------------------------------
+  void Swap(ciphertext_data* other);
 
-  inline ciphertext_client_data_field* New() const final {
-    return CreateMaybeMessage<ciphertext_client_data_field>(nullptr);
-  }
+  // implements Message ----------------------------------------------
 
-  ciphertext_client_data_field* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<ciphertext_client_data_field>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const ciphertext_client_data_field& from);
-  void MergeFrom(const ciphertext_client_data_field& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
+  ciphertext_data* New() const;
+  void CopyFrom(const ::google::protobuf::Message& from);
+  void MergeFrom(const ::google::protobuf::Message& from);
+  void CopyFrom(const ciphertext_data& from);
+  void MergeFrom(const ciphertext_data& from);
+  void Clear();
+  bool IsInitialized() const;
 
-  size_t ByteSizeLong() const final;
-  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  #else
+  int ByteSize() const;
   bool MergePartialFromCodedStream(
-      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
-  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
-  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(ciphertext_client_data_field* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "ciphertext_client_data_field";
-  }
-  private:
-  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
-    return nullptr;
-  }
-  inline void* MaybeArenaPtr() const {
-    return nullptr;
-  }
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
+      ::google::protobuf::io::CodedInputStream* input);
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const;
+  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
+  int GetCachedSize() const { return _cached_size_; }
   private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_PostLAMessages_2eproto);
-    return ::descriptor_table_PostLAMessages_2eproto.file_level_metadata[kIndexInFileMessages];
-  }
-
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const;
   public:
+  ::google::protobuf::Metadata GetMetadata() const;
 
   // nested types ----------------------------------------------------
 
   // accessors -------------------------------------------------------
 
-  enum : int {
-    kFieldFieldNumber = 1,
-  };
-  // bytes field = 1;
-  void clear_field();
-  const std::string& field() const;
-  void set_field(const std::string& value);
-  void set_field(std::string&& value);
-  void set_field(const char* value);
-  void set_field(const void* value, size_t size);
-  std::string* mutable_field();
-  std::string* release_field();
-  void set_allocated_field(std::string* field);
-
-  // @@protoc_insertion_point(class_scope:ciphertext_client_data_field)
+  // required bytes field = 1;
+  inline bool has_field() const;
+  inline void clear_field();
+  static const int kFieldFieldNumber = 1;
+  inline const ::std::string& field() const;
+  inline void set_field(const ::std::string& value);
+  inline void set_field(const char* value);
+  inline void set_field(const void* value, size_t size);
+  inline ::std::string* mutable_field();
+  inline ::std::string* release_field();
+  inline void set_allocated_field(::std::string* field);
+
+  // @@protoc_insertion_point(class_scope:ciphertext_data)
  private:
-  class _Internal;
+  inline void set_has_field();
+  inline void clear_has_field();
+
+  ::google::protobuf::UnknownFieldSet _unknown_fields_;
 
-  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr field_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  friend struct ::TableStruct_PostLAMessages_2eproto;
+  ::google::protobuf::uint32 _has_bits_[1];
+  mutable int _cached_size_;
+  ::std::string* field_;
+  friend void  protobuf_AddDesc_PostLAMessages_2eproto();
+  friend void protobuf_AssignDesc_PostLAMessages_2eproto();
+  friend void protobuf_ShutdownFile_PostLAMessages_2eproto();
+
+  void InitAsDefaultInstance();
+  static ciphertext_data* default_instance_;
 };
 // -------------------------------------------------------------------
 
-class extension_to_decryptor_enclosed_msg :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:extension_to_decryptor_enclosed_msg) */ {
+class extension_to_decryptor_msg : public ::google::protobuf::Message {
  public:
-  extension_to_decryptor_enclosed_msg();
-  virtual ~extension_to_decryptor_enclosed_msg();
+  extension_to_decryptor_msg();
+  virtual ~extension_to_decryptor_msg();
 
-  extension_to_decryptor_enclosed_msg(const extension_to_decryptor_enclosed_msg& from);
-  extension_to_decryptor_enclosed_msg(extension_to_decryptor_enclosed_msg&& from) noexcept
-    : extension_to_decryptor_enclosed_msg() {
-    *this = ::std::move(from);
-  }
+  extension_to_decryptor_msg(const extension_to_decryptor_msg& from);
 
-  inline extension_to_decryptor_enclosed_msg& operator=(const extension_to_decryptor_enclosed_msg& from) {
+  inline extension_to_decryptor_msg& operator=(const extension_to_decryptor_msg& from) {
     CopyFrom(from);
     return *this;
   }
-  inline extension_to_decryptor_enclosed_msg& operator=(extension_to_decryptor_enclosed_msg&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
 
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
+  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
+    return _unknown_fields_;
   }
-  static const extension_to_decryptor_enclosed_msg& default_instance();
 
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const extension_to_decryptor_enclosed_msg* internal_default_instance() {
-    return reinterpret_cast<const extension_to_decryptor_enclosed_msg*>(
-               &_extension_to_decryptor_enclosed_msg_default_instance_);
+  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
+    return &_unknown_fields_;
   }
-  static constexpr int kIndexInFileMessages =
-    1;
 
-  friend void swap(extension_to_decryptor_enclosed_msg& a, extension_to_decryptor_enclosed_msg& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(extension_to_decryptor_enclosed_msg* other) {
-    if (other == this) return;
-    InternalSwap(other);
-  }
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const extension_to_decryptor_msg& default_instance();
 
-  // implements Message ----------------------------------------------
+  void Swap(extension_to_decryptor_msg* other);
 
-  inline extension_to_decryptor_enclosed_msg* New() const final {
-    return CreateMaybeMessage<extension_to_decryptor_enclosed_msg>(nullptr);
-  }
+  // implements Message ----------------------------------------------
 
-  extension_to_decryptor_enclosed_msg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<extension_to_decryptor_enclosed_msg>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const extension_to_decryptor_enclosed_msg& from);
-  void MergeFrom(const extension_to_decryptor_enclosed_msg& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
+  extension_to_decryptor_msg* New() const;
+  void CopyFrom(const ::google::protobuf::Message& from);
+  void MergeFrom(const ::google::protobuf::Message& from);
+  void CopyFrom(const extension_to_decryptor_msg& from);
+  void MergeFrom(const extension_to_decryptor_msg& from);
+  void Clear();
+  bool IsInitialized() const;
 
-  size_t ByteSizeLong() const final;
-  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  #else
+  int ByteSize() const;
   bool MergePartialFromCodedStream(
-      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
-  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
-  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(extension_to_decryptor_enclosed_msg* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "extension_to_decryptor_enclosed_msg";
-  }
+      ::google::protobuf::io::CodedInputStream* input);
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const;
+  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
+  int GetCachedSize() const { return _cached_size_; }
   private:
-  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
-    return nullptr;
-  }
-  inline void* MaybeArenaPtr() const {
-    return nullptr;
-  }
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_PostLAMessages_2eproto);
-    return ::descriptor_table_PostLAMessages_2eproto.file_level_metadata[kIndexInFileMessages];
-  }
-
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const;
   public:
+  ::google::protobuf::Metadata GetMetadata() const;
 
   // nested types ----------------------------------------------------
 
   // accessors -------------------------------------------------------
 
-  enum : int {
-    kCiphertextFieldsFieldNumber = 2,
-    kCiphertextClientPublicKeyFieldNumber = 1,
-  };
-  // repeated .ciphertext_client_data_field ciphertext_fields = 2;
-  int ciphertext_fields_size() const;
-  void clear_ciphertext_fields();
-  ::ciphertext_client_data_field* mutable_ciphertext_fields(int index);
-  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ciphertext_client_data_field >*
-      mutable_ciphertext_fields();
-  const ::ciphertext_client_data_field& ciphertext_fields(int index) const;
-  ::ciphertext_client_data_field* add_ciphertext_fields();
-  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ciphertext_client_data_field >&
-      ciphertext_fields() const;
-
-  // bytes ciphertext_client_public_key = 1;
-  void clear_ciphertext_client_public_key();
-  const std::string& ciphertext_client_public_key() const;
-  void set_ciphertext_client_public_key(const std::string& value);
-  void set_ciphertext_client_public_key(std::string&& value);
-  void set_ciphertext_client_public_key(const char* value);
-  void set_ciphertext_client_public_key(const void* value, size_t size);
-  std::string* mutable_ciphertext_client_public_key();
-  std::string* release_ciphertext_client_public_key();
-  void set_allocated_ciphertext_client_public_key(std::string* ciphertext_client_public_key);
-
-  // @@protoc_insertion_point(class_scope:extension_to_decryptor_enclosed_msg)
+  // required bytes ciphertext_client_public_key = 1;
+  inline bool has_ciphertext_client_public_key() const;
+  inline void clear_ciphertext_client_public_key();
+  static const int kCiphertextClientPublicKeyFieldNumber = 1;
+  inline const ::std::string& ciphertext_client_public_key() const;
+  inline void set_ciphertext_client_public_key(const ::std::string& value);
+  inline void set_ciphertext_client_public_key(const char* value);
+  inline void set_ciphertext_client_public_key(const void* value, size_t size);
+  inline ::std::string* mutable_ciphertext_client_public_key();
+  inline ::std::string* release_ciphertext_client_public_key();
+  inline void set_allocated_ciphertext_client_public_key(::std::string* ciphertext_client_public_key);
+
+  // repeated .ciphertext_data fields = 2;
+  inline int fields_size() const;
+  inline void clear_fields();
+  static const int kFieldsFieldNumber = 2;
+  inline const ::ciphertext_data& fields(int index) const;
+  inline ::ciphertext_data* mutable_fields(int index);
+  inline ::ciphertext_data* add_fields();
+  inline const ::google::protobuf::RepeatedPtrField< ::ciphertext_data >&
+      fields() const;
+  inline ::google::protobuf::RepeatedPtrField< ::ciphertext_data >*
+      mutable_fields();
+
+  // @@protoc_insertion_point(class_scope:extension_to_decryptor_msg)
  private:
-  class _Internal;
+  inline void set_has_ciphertext_client_public_key();
+  inline void clear_has_ciphertext_client_public_key();
+
+  ::google::protobuf::UnknownFieldSet _unknown_fields_;
 
-  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
-  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ciphertext_client_data_field > ciphertext_fields_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr ciphertext_client_public_key_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  friend struct ::TableStruct_PostLAMessages_2eproto;
+  ::google::protobuf::uint32 _has_bits_[1];
+  mutable int _cached_size_;
+  ::std::string* ciphertext_client_public_key_;
+  ::google::protobuf::RepeatedPtrField< ::ciphertext_data > fields_;
+  friend void  protobuf_AddDesc_PostLAMessages_2eproto();
+  friend void protobuf_AssignDesc_PostLAMessages_2eproto();
+  friend void protobuf_ShutdownFile_PostLAMessages_2eproto();
+
+  void InitAsDefaultInstance();
+  static extension_to_decryptor_msg* default_instance_;
 };
 // -------------------------------------------------------------------
 
-class extension_to_decryptor_ciphertext_msg :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:extension_to_decryptor_ciphertext_msg) */ {
+class decryptor_to_extension_msg : public ::google::protobuf::Message {
  public:
-  extension_to_decryptor_ciphertext_msg();
-  virtual ~extension_to_decryptor_ciphertext_msg();
+  decryptor_to_extension_msg();
+  virtual ~decryptor_to_extension_msg();
 
-  extension_to_decryptor_ciphertext_msg(const extension_to_decryptor_ciphertext_msg& from);
-  extension_to_decryptor_ciphertext_msg(extension_to_decryptor_ciphertext_msg&& from) noexcept
-    : extension_to_decryptor_ciphertext_msg() {
-    *this = ::std::move(from);
-  }
+  decryptor_to_extension_msg(const decryptor_to_extension_msg& from);
 
-  inline extension_to_decryptor_ciphertext_msg& operator=(const extension_to_decryptor_ciphertext_msg& from) {
+  inline decryptor_to_extension_msg& operator=(const decryptor_to_extension_msg& from) {
     CopyFrom(from);
     return *this;
   }
-  inline extension_to_decryptor_ciphertext_msg& operator=(extension_to_decryptor_ciphertext_msg&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
 
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
+  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
+    return _unknown_fields_;
   }
-  static const extension_to_decryptor_ciphertext_msg& default_instance();
 
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const extension_to_decryptor_ciphertext_msg* internal_default_instance() {
-    return reinterpret_cast<const extension_to_decryptor_ciphertext_msg*>(
-               &_extension_to_decryptor_ciphertext_msg_default_instance_);
+  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
+    return &_unknown_fields_;
   }
-  static constexpr int kIndexInFileMessages =
-    2;
 
-  friend void swap(extension_to_decryptor_ciphertext_msg& a, extension_to_decryptor_ciphertext_msg& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(extension_to_decryptor_ciphertext_msg* other) {
-    if (other == this) return;
-    InternalSwap(other);
-  }
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const decryptor_to_extension_msg& default_instance();
 
-  // implements Message ----------------------------------------------
+  void Swap(decryptor_to_extension_msg* other);
 
-  inline extension_to_decryptor_ciphertext_msg* New() const final {
-    return CreateMaybeMessage<extension_to_decryptor_ciphertext_msg>(nullptr);
-  }
+  // implements Message ----------------------------------------------
 
-  extension_to_decryptor_ciphertext_msg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<extension_to_decryptor_ciphertext_msg>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const extension_to_decryptor_ciphertext_msg& from);
-  void MergeFrom(const extension_to_decryptor_ciphertext_msg& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
+  decryptor_to_extension_msg* New() const;
+  void CopyFrom(const ::google::protobuf::Message& from);
+  void MergeFrom(const ::google::protobuf::Message& from);
+  void CopyFrom(const decryptor_to_extension_msg& from);
+  void MergeFrom(const decryptor_to_extension_msg& from);
+  void Clear();
+  bool IsInitialized() const;
 
-  size_t ByteSizeLong() const final;
-  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  #else
+  int ByteSize() const;
   bool MergePartialFromCodedStream(
-      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
-  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
-  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(extension_to_decryptor_ciphertext_msg* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "extension_to_decryptor_ciphertext_msg";
-  }
+      ::google::protobuf::io::CodedInputStream* input);
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const;
+  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
+  int GetCachedSize() const { return _cached_size_; }
   private:
-  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
-    return nullptr;
-  }
-  inline void* MaybeArenaPtr() const {
-    return nullptr;
-  }
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_PostLAMessages_2eproto);
-    return ::descriptor_table_PostLAMessages_2eproto.file_level_metadata[kIndexInFileMessages];
-  }
-
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const;
   public:
+  ::google::protobuf::Metadata GetMetadata() const;
 
   // nested types ----------------------------------------------------
 
   // accessors -------------------------------------------------------
 
-  enum : int {
-    kCiphertextBytesFieldNumber = 1,
-  };
-  // bytes ciphertext_bytes = 1;
-  void clear_ciphertext_bytes();
-  const std::string& ciphertext_bytes() const;
-  void set_ciphertext_bytes(const std::string& value);
-  void set_ciphertext_bytes(std::string&& value);
-  void set_ciphertext_bytes(const char* value);
-  void set_ciphertext_bytes(const void* value, size_t size);
-  std::string* mutable_ciphertext_bytes();
-  std::string* release_ciphertext_bytes();
-  void set_allocated_ciphertext_bytes(std::string* ciphertext_bytes);
-
-  // @@protoc_insertion_point(class_scope:extension_to_decryptor_ciphertext_msg)
+  // repeated .ciphertext_data fields = 1;
+  inline int fields_size() const;
+  inline void clear_fields();
+  static const int kFieldsFieldNumber = 1;
+  inline const ::ciphertext_data& fields(int index) const;
+  inline ::ciphertext_data* mutable_fields(int index);
+  inline ::ciphertext_data* add_fields();
+  inline const ::google::protobuf::RepeatedPtrField< ::ciphertext_data >&
+      fields() const;
+  inline ::google::protobuf::RepeatedPtrField< ::ciphertext_data >*
+      mutable_fields();
+
+  // @@protoc_insertion_point(class_scope:decryptor_to_extension_msg)
  private:
-  class _Internal;
 
-  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr ciphertext_bytes_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  friend struct ::TableStruct_PostLAMessages_2eproto;
+  ::google::protobuf::UnknownFieldSet _unknown_fields_;
+
+  ::google::protobuf::uint32 _has_bits_[1];
+  mutable int _cached_size_;
+  ::google::protobuf::RepeatedPtrField< ::ciphertext_data > fields_;
+  friend void  protobuf_AddDesc_PostLAMessages_2eproto();
+  friend void protobuf_AssignDesc_PostLAMessages_2eproto();
+  friend void protobuf_ShutdownFile_PostLAMessages_2eproto();
+
+  void InitAsDefaultInstance();
+  static decryptor_to_extension_msg* default_instance_;
 };
 // -------------------------------------------------------------------
 
-class decryptor_to_extension_msg_t :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:decryptor_to_extension_msg_t) */ {
+class mitigator_header : public ::google::protobuf::Message {
  public:
-  decryptor_to_extension_msg_t();
-  virtual ~decryptor_to_extension_msg_t();
+  mitigator_header();
+  virtual ~mitigator_header();
 
-  decryptor_to_extension_msg_t(const decryptor_to_extension_msg_t& from);
-  decryptor_to_extension_msg_t(decryptor_to_extension_msg_t&& from) noexcept
-    : decryptor_to_extension_msg_t() {
-    *this = ::std::move(from);
-  }
+  mitigator_header(const mitigator_header& from);
 
-  inline decryptor_to_extension_msg_t& operator=(const decryptor_to_extension_msg_t& from) {
+  inline mitigator_header& operator=(const mitigator_header& from) {
     CopyFrom(from);
     return *this;
   }
-  inline decryptor_to_extension_msg_t& operator=(decryptor_to_extension_msg_t&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
 
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
+  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
+    return _unknown_fields_;
   }
-  static const decryptor_to_extension_msg_t& default_instance();
 
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const decryptor_to_extension_msg_t* internal_default_instance() {
-    return reinterpret_cast<const decryptor_to_extension_msg_t*>(
-               &_decryptor_to_extension_msg_t_default_instance_);
+  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
+    return &_unknown_fields_;
   }
-  static constexpr int kIndexInFileMessages =
-    3;
 
-  friend void swap(decryptor_to_extension_msg_t& a, decryptor_to_extension_msg_t& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(decryptor_to_extension_msg_t* other) {
-    if (other == this) return;
-    InternalSwap(other);
-  }
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const mitigator_header& default_instance();
 
-  // implements Message ----------------------------------------------
+  void Swap(mitigator_header* other);
 
-  inline decryptor_to_extension_msg_t* New() const final {
-    return CreateMaybeMessage<decryptor_to_extension_msg_t>(nullptr);
-  }
+  // implements Message ----------------------------------------------
 
-  decryptor_to_extension_msg_t* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<decryptor_to_extension_msg_t>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const decryptor_to_extension_msg_t& from);
-  void MergeFrom(const decryptor_to_extension_msg_t& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
+  mitigator_header* New() const;
+  void CopyFrom(const ::google::protobuf::Message& from);
+  void MergeFrom(const ::google::protobuf::Message& from);
+  void CopyFrom(const mitigator_header& from);
+  void MergeFrom(const mitigator_header& from);
+  void Clear();
+  bool IsInitialized() const;
 
-  size_t ByteSizeLong() const final;
-  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  #else
+  int ByteSize() const;
   bool MergePartialFromCodedStream(
-      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
-  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
-  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(decryptor_to_extension_msg_t* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "decryptor_to_extension_msg_t";
-  }
-  private:
-  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
-    return nullptr;
-  }
-  inline void* MaybeArenaPtr() const {
-    return nullptr;
-  }
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
+      ::google::protobuf::io::CodedInputStream* input);
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const;
+  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
+  int GetCachedSize() const { return _cached_size_; }
   private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_PostLAMessages_2eproto);
-    return ::descriptor_table_PostLAMessages_2eproto.file_level_metadata[kIndexInFileMessages];
-  }
-
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const;
   public:
+  ::google::protobuf::Metadata GetMetadata() const;
 
   // nested types ----------------------------------------------------
 
   // accessors -------------------------------------------------------
 
-  enum : int {
-    kCiphertextFieldsFieldNumber = 1,
-  };
-  // repeated .ciphertext_client_data_field ciphertext_fields = 1;
-  int ciphertext_fields_size() const;
-  void clear_ciphertext_fields();
-  ::ciphertext_client_data_field* mutable_ciphertext_fields(int index);
-  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ciphertext_client_data_field >*
-      mutable_ciphertext_fields();
-  const ::ciphertext_client_data_field& ciphertext_fields(int index) const;
-  ::ciphertext_client_data_field* add_ciphertext_fields();
-  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ciphertext_client_data_field >&
-      ciphertext_fields() const;
-
-  // @@protoc_insertion_point(class_scope:decryptor_to_extension_msg_t)
+  // required bytes name = 1;
+  inline bool has_name() const;
+  inline void clear_name();
+  static const int kNameFieldNumber = 1;
+  inline const ::std::string& name() const;
+  inline void set_name(const ::std::string& value);
+  inline void set_name(const char* value);
+  inline void set_name(const void* value, size_t size);
+  inline ::std::string* mutable_name();
+  inline ::std::string* release_name();
+  inline void set_allocated_name(::std::string* name);
+
+  // required bytes value = 2;
+  inline bool has_value() const;
+  inline void clear_value();
+  static const int kValueFieldNumber = 2;
+  inline const ::std::string& value() const;
+  inline void set_value(const ::std::string& value);
+  inline void set_value(const char* value);
+  inline void set_value(const void* value, size_t size);
+  inline ::std::string* mutable_value();
+  inline ::std::string* release_value();
+  inline void set_allocated_value(::std::string* value);
+
+  // @@protoc_insertion_point(class_scope:mitigator_header)
  private:
-  class _Internal;
-
-  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
-  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ciphertext_client_data_field > ciphertext_fields_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  friend struct ::TableStruct_PostLAMessages_2eproto;
+  inline void set_has_name();
+  inline void clear_has_name();
+  inline void set_has_value();
+  inline void clear_has_value();
+
+  ::google::protobuf::UnknownFieldSet _unknown_fields_;
+
+  ::google::protobuf::uint32 _has_bits_[1];
+  mutable int _cached_size_;
+  ::std::string* name_;
+  ::std::string* value_;
+  friend void  protobuf_AddDesc_PostLAMessages_2eproto();
+  friend void protobuf_AssignDesc_PostLAMessages_2eproto();
+  friend void protobuf_ShutdownFile_PostLAMessages_2eproto();
+
+  void InitAsDefaultInstance();
+  static mitigator_header* default_instance_;
 };
 // ===================================================================
 
 
 // ===================================================================
 
-#ifdef __GNUC__
-  #pragma GCC diagnostic push
-  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
-#endif  // __GNUC__
-// ciphertext_client_data_field
-
-// bytes field = 1;
-inline void ciphertext_client_data_field::clear_field() {
-  field_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-inline const std::string& ciphertext_client_data_field::field() const {
-  // @@protoc_insertion_point(field_get:ciphertext_client_data_field.field)
-  return field_.GetNoArena();
-}
-inline void ciphertext_client_data_field::set_field(const std::string& value) {
-  
-  field_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:ciphertext_client_data_field.field)
-}
-inline void ciphertext_client_data_field::set_field(std::string&& value) {
-  
-  field_.SetNoArena(
-    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:ciphertext_client_data_field.field)
-}
-inline void ciphertext_client_data_field::set_field(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  
-  field_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:ciphertext_client_data_field.field)
-}
-inline void ciphertext_client_data_field::set_field(const void* value, size_t size) {
-  
-  field_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:ciphertext_client_data_field.field)
-}
-inline std::string* ciphertext_client_data_field::mutable_field() {
-  
-  // @@protoc_insertion_point(field_mutable:ciphertext_client_data_field.field)
-  return field_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-inline std::string* ciphertext_client_data_field::release_field() {
-  // @@protoc_insertion_point(field_release:ciphertext_client_data_field.field)
-  
-  return field_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-inline void ciphertext_client_data_field::set_allocated_field(std::string* field) {
-  if (field != nullptr) {
-    
+// ciphertext_data
+
+// required bytes field = 1;
+inline bool ciphertext_data::has_field() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void ciphertext_data::set_has_field() {
+  _has_bits_[0] |= 0x00000001u;
+}
+inline void ciphertext_data::clear_has_field() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+inline void ciphertext_data::clear_field() {
+  if (field_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    field_->clear();
+  }
+  clear_has_field();
+}
+inline const ::std::string& ciphertext_data::field() const {
+  // @@protoc_insertion_point(field_get:ciphertext_data.field)
+  return *field_;
+}
+inline void ciphertext_data::set_field(const ::std::string& value) {
+  set_has_field();
+  if (field_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    field_ = new ::std::string;
+  }
+  field_->assign(value);
+  // @@protoc_insertion_point(field_set:ciphertext_data.field)
+}
+inline void ciphertext_data::set_field(const char* value) {
+  set_has_field();
+  if (field_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    field_ = new ::std::string;
+  }
+  field_->assign(value);
+  // @@protoc_insertion_point(field_set_char:ciphertext_data.field)
+}
+inline void ciphertext_data::set_field(const void* value, size_t size) {
+  set_has_field();
+  if (field_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    field_ = new ::std::string;
+  }
+  field_->assign(reinterpret_cast<const char*>(value), size);
+  // @@protoc_insertion_point(field_set_pointer:ciphertext_data.field)
+}
+inline ::std::string* ciphertext_data::mutable_field() {
+  set_has_field();
+  if (field_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    field_ = new ::std::string;
+  }
+  // @@protoc_insertion_point(field_mutable:ciphertext_data.field)
+  return field_;
+}
+inline ::std::string* ciphertext_data::release_field() {
+  clear_has_field();
+  if (field_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    return NULL;
+  } else {
+    ::std::string* temp = field_;
+    field_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+    return temp;
+  }
+}
+inline void ciphertext_data::set_allocated_field(::std::string* field) {
+  if (field_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    delete field_;
+  }
+  if (field) {
+    set_has_field();
+    field_ = field;
   } else {
-    
+    clear_has_field();
+    field_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   }
-  field_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), field);
-  // @@protoc_insertion_point(field_set_allocated:ciphertext_client_data_field.field)
+  // @@protoc_insertion_point(field_set_allocated:ciphertext_data.field)
 }
 
 // -------------------------------------------------------------------
 
-// extension_to_decryptor_enclosed_msg
-
-// bytes ciphertext_client_public_key = 1;
-inline void extension_to_decryptor_enclosed_msg::clear_ciphertext_client_public_key() {
-  ciphertext_client_public_key_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-inline const std::string& extension_to_decryptor_enclosed_msg::ciphertext_client_public_key() const {
-  // @@protoc_insertion_point(field_get:extension_to_decryptor_enclosed_msg.ciphertext_client_public_key)
-  return ciphertext_client_public_key_.GetNoArena();
-}
-inline void extension_to_decryptor_enclosed_msg::set_ciphertext_client_public_key(const std::string& value) {
-  
-  ciphertext_client_public_key_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:extension_to_decryptor_enclosed_msg.ciphertext_client_public_key)
-}
-inline void extension_to_decryptor_enclosed_msg::set_ciphertext_client_public_key(std::string&& value) {
-  
-  ciphertext_client_public_key_.SetNoArena(
-    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:extension_to_decryptor_enclosed_msg.ciphertext_client_public_key)
-}
-inline void extension_to_decryptor_enclosed_msg::set_ciphertext_client_public_key(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  
-  ciphertext_client_public_key_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:extension_to_decryptor_enclosed_msg.ciphertext_client_public_key)
-}
-inline void extension_to_decryptor_enclosed_msg::set_ciphertext_client_public_key(const void* value, size_t size) {
-  
-  ciphertext_client_public_key_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:extension_to_decryptor_enclosed_msg.ciphertext_client_public_key)
-}
-inline std::string* extension_to_decryptor_enclosed_msg::mutable_ciphertext_client_public_key() {
-  
-  // @@protoc_insertion_point(field_mutable:extension_to_decryptor_enclosed_msg.ciphertext_client_public_key)
-  return ciphertext_client_public_key_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-inline std::string* extension_to_decryptor_enclosed_msg::release_ciphertext_client_public_key() {
-  // @@protoc_insertion_point(field_release:extension_to_decryptor_enclosed_msg.ciphertext_client_public_key)
-  
-  return ciphertext_client_public_key_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-inline void extension_to_decryptor_enclosed_msg::set_allocated_ciphertext_client_public_key(std::string* ciphertext_client_public_key) {
-  if (ciphertext_client_public_key != nullptr) {
-    
+// extension_to_decryptor_msg
+
+// required bytes ciphertext_client_public_key = 1;
+inline bool extension_to_decryptor_msg::has_ciphertext_client_public_key() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void extension_to_decryptor_msg::set_has_ciphertext_client_public_key() {
+  _has_bits_[0] |= 0x00000001u;
+}
+inline void extension_to_decryptor_msg::clear_has_ciphertext_client_public_key() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+inline void extension_to_decryptor_msg::clear_ciphertext_client_public_key() {
+  if (ciphertext_client_public_key_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    ciphertext_client_public_key_->clear();
+  }
+  clear_has_ciphertext_client_public_key();
+}
+inline const ::std::string& extension_to_decryptor_msg::ciphertext_client_public_key() const {
+  // @@protoc_insertion_point(field_get:extension_to_decryptor_msg.ciphertext_client_public_key)
+  return *ciphertext_client_public_key_;
+}
+inline void extension_to_decryptor_msg::set_ciphertext_client_public_key(const ::std::string& value) {
+  set_has_ciphertext_client_public_key();
+  if (ciphertext_client_public_key_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    ciphertext_client_public_key_ = new ::std::string;
+  }
+  ciphertext_client_public_key_->assign(value);
+  // @@protoc_insertion_point(field_set:extension_to_decryptor_msg.ciphertext_client_public_key)
+}
+inline void extension_to_decryptor_msg::set_ciphertext_client_public_key(const char* value) {
+  set_has_ciphertext_client_public_key();
+  if (ciphertext_client_public_key_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    ciphertext_client_public_key_ = new ::std::string;
+  }
+  ciphertext_client_public_key_->assign(value);
+  // @@protoc_insertion_point(field_set_char:extension_to_decryptor_msg.ciphertext_client_public_key)
+}
+inline void extension_to_decryptor_msg::set_ciphertext_client_public_key(const void* value, size_t size) {
+  set_has_ciphertext_client_public_key();
+  if (ciphertext_client_public_key_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    ciphertext_client_public_key_ = new ::std::string;
+  }
+  ciphertext_client_public_key_->assign(reinterpret_cast<const char*>(value), size);
+  // @@protoc_insertion_point(field_set_pointer:extension_to_decryptor_msg.ciphertext_client_public_key)
+}
+inline ::std::string* extension_to_decryptor_msg::mutable_ciphertext_client_public_key() {
+  set_has_ciphertext_client_public_key();
+  if (ciphertext_client_public_key_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    ciphertext_client_public_key_ = new ::std::string;
+  }
+  // @@protoc_insertion_point(field_mutable:extension_to_decryptor_msg.ciphertext_client_public_key)
+  return ciphertext_client_public_key_;
+}
+inline ::std::string* extension_to_decryptor_msg::release_ciphertext_client_public_key() {
+  clear_has_ciphertext_client_public_key();
+  if (ciphertext_client_public_key_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    return NULL;
   } else {
-    
+    ::std::string* temp = ciphertext_client_public_key_;
+    ciphertext_client_public_key_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+    return temp;
   }
-  ciphertext_client_public_key_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ciphertext_client_public_key);
-  // @@protoc_insertion_point(field_set_allocated:extension_to_decryptor_enclosed_msg.ciphertext_client_public_key)
+}
+inline void extension_to_decryptor_msg::set_allocated_ciphertext_client_public_key(::std::string* ciphertext_client_public_key) {
+  if (ciphertext_client_public_key_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    delete ciphertext_client_public_key_;
+  }
+  if (ciphertext_client_public_key) {
+    set_has_ciphertext_client_public_key();
+    ciphertext_client_public_key_ = ciphertext_client_public_key;
+  } else {
+    clear_has_ciphertext_client_public_key();
+    ciphertext_client_public_key_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  }
+  // @@protoc_insertion_point(field_set_allocated:extension_to_decryptor_msg.ciphertext_client_public_key)
 }
 
-// repeated .ciphertext_client_data_field ciphertext_fields = 2;
-inline int extension_to_decryptor_enclosed_msg::ciphertext_fields_size() const {
-  return ciphertext_fields_.size();
+// repeated .ciphertext_data fields = 2;
+inline int extension_to_decryptor_msg::fields_size() const {
+  return fields_.size();
 }
-inline void extension_to_decryptor_enclosed_msg::clear_ciphertext_fields() {
-  ciphertext_fields_.Clear();
+inline void extension_to_decryptor_msg::clear_fields() {
+  fields_.Clear();
 }
-inline ::ciphertext_client_data_field* extension_to_decryptor_enclosed_msg::mutable_ciphertext_fields(int index) {
-  // @@protoc_insertion_point(field_mutable:extension_to_decryptor_enclosed_msg.ciphertext_fields)
-  return ciphertext_fields_.Mutable(index);
+inline const ::ciphertext_data& extension_to_decryptor_msg::fields(int index) const {
+  // @@protoc_insertion_point(field_get:extension_to_decryptor_msg.fields)
+  return fields_.Get(index);
 }
-inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ciphertext_client_data_field >*
-extension_to_decryptor_enclosed_msg::mutable_ciphertext_fields() {
-  // @@protoc_insertion_point(field_mutable_list:extension_to_decryptor_enclosed_msg.ciphertext_fields)
-  return &ciphertext_fields_;
+inline ::ciphertext_data* extension_to_decryptor_msg::mutable_fields(int index) {
+  // @@protoc_insertion_point(field_mutable:extension_to_decryptor_msg.fields)
+  return fields_.Mutable(index);
 }
-inline const ::ciphertext_client_data_field& extension_to_decryptor_enclosed_msg::ciphertext_fields(int index) const {
-  // @@protoc_insertion_point(field_get:extension_to_decryptor_enclosed_msg.ciphertext_fields)
-  return ciphertext_fields_.Get(index);
+inline ::ciphertext_data* extension_to_decryptor_msg::add_fields() {
+  // @@protoc_insertion_point(field_add:extension_to_decryptor_msg.fields)
+  return fields_.Add();
 }
-inline ::ciphertext_client_data_field* extension_to_decryptor_enclosed_msg::add_ciphertext_fields() {
-  // @@protoc_insertion_point(field_add:extension_to_decryptor_enclosed_msg.ciphertext_fields)
-  return ciphertext_fields_.Add();
+inline const ::google::protobuf::RepeatedPtrField< ::ciphertext_data >&
+extension_to_decryptor_msg::fields() const {
+  // @@protoc_insertion_point(field_list:extension_to_decryptor_msg.fields)
+  return fields_;
 }
-inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ciphertext_client_data_field >&
-extension_to_decryptor_enclosed_msg::ciphertext_fields() const {
-  // @@protoc_insertion_point(field_list:extension_to_decryptor_enclosed_msg.ciphertext_fields)
-  return ciphertext_fields_;
+inline ::google::protobuf::RepeatedPtrField< ::ciphertext_data >*
+extension_to_decryptor_msg::mutable_fields() {
+  // @@protoc_insertion_point(field_mutable_list:extension_to_decryptor_msg.fields)
+  return &fields_;
 }
 
 // -------------------------------------------------------------------
 
-// extension_to_decryptor_ciphertext_msg
-
-// bytes ciphertext_bytes = 1;
-inline void extension_to_decryptor_ciphertext_msg::clear_ciphertext_bytes() {
-  ciphertext_bytes_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-inline const std::string& extension_to_decryptor_ciphertext_msg::ciphertext_bytes() const {
-  // @@protoc_insertion_point(field_get:extension_to_decryptor_ciphertext_msg.ciphertext_bytes)
-  return ciphertext_bytes_.GetNoArena();
-}
-inline void extension_to_decryptor_ciphertext_msg::set_ciphertext_bytes(const std::string& value) {
-  
-  ciphertext_bytes_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:extension_to_decryptor_ciphertext_msg.ciphertext_bytes)
-}
-inline void extension_to_decryptor_ciphertext_msg::set_ciphertext_bytes(std::string&& value) {
-  
-  ciphertext_bytes_.SetNoArena(
-    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:extension_to_decryptor_ciphertext_msg.ciphertext_bytes)
-}
-inline void extension_to_decryptor_ciphertext_msg::set_ciphertext_bytes(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  
-  ciphertext_bytes_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:extension_to_decryptor_ciphertext_msg.ciphertext_bytes)
-}
-inline void extension_to_decryptor_ciphertext_msg::set_ciphertext_bytes(const void* value, size_t size) {
-  
-  ciphertext_bytes_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:extension_to_decryptor_ciphertext_msg.ciphertext_bytes)
-}
-inline std::string* extension_to_decryptor_ciphertext_msg::mutable_ciphertext_bytes() {
-  
-  // @@protoc_insertion_point(field_mutable:extension_to_decryptor_ciphertext_msg.ciphertext_bytes)
-  return ciphertext_bytes_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-inline std::string* extension_to_decryptor_ciphertext_msg::release_ciphertext_bytes() {
-  // @@protoc_insertion_point(field_release:extension_to_decryptor_ciphertext_msg.ciphertext_bytes)
-  
-  return ciphertext_bytes_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-inline void extension_to_decryptor_ciphertext_msg::set_allocated_ciphertext_bytes(std::string* ciphertext_bytes) {
-  if (ciphertext_bytes != nullptr) {
-    
-  } else {
-    
-  }
-  ciphertext_bytes_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ciphertext_bytes);
-  // @@protoc_insertion_point(field_set_allocated:extension_to_decryptor_ciphertext_msg.ciphertext_bytes)
+// decryptor_to_extension_msg
+
+// repeated .ciphertext_data fields = 1;
+inline int decryptor_to_extension_msg::fields_size() const {
+  return fields_.size();
+}
+inline void decryptor_to_extension_msg::clear_fields() {
+  fields_.Clear();
+}
+inline const ::ciphertext_data& decryptor_to_extension_msg::fields(int index) const {
+  // @@protoc_insertion_point(field_get:decryptor_to_extension_msg.fields)
+  return fields_.Get(index);
+}
+inline ::ciphertext_data* decryptor_to_extension_msg::mutable_fields(int index) {
+  // @@protoc_insertion_point(field_mutable:decryptor_to_extension_msg.fields)
+  return fields_.Mutable(index);
+}
+inline ::ciphertext_data* decryptor_to_extension_msg::add_fields() {
+  // @@protoc_insertion_point(field_add:decryptor_to_extension_msg.fields)
+  return fields_.Add();
+}
+inline const ::google::protobuf::RepeatedPtrField< ::ciphertext_data >&
+decryptor_to_extension_msg::fields() const {
+  // @@protoc_insertion_point(field_list:decryptor_to_extension_msg.fields)
+  return fields_;
+}
+inline ::google::protobuf::RepeatedPtrField< ::ciphertext_data >*
+decryptor_to_extension_msg::mutable_fields() {
+  // @@protoc_insertion_point(field_mutable_list:decryptor_to_extension_msg.fields)
+  return &fields_;
 }
 
 // -------------------------------------------------------------------
 
-// decryptor_to_extension_msg_t
+// mitigator_header
 
-// repeated .ciphertext_client_data_field ciphertext_fields = 1;
-inline int decryptor_to_extension_msg_t::ciphertext_fields_size() const {
-  return ciphertext_fields_.size();
+// required bytes name = 1;
+inline bool mitigator_header::has_name() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void mitigator_header::set_has_name() {
+  _has_bits_[0] |= 0x00000001u;
 }
-inline void decryptor_to_extension_msg_t::clear_ciphertext_fields() {
-  ciphertext_fields_.Clear();
+inline void mitigator_header::clear_has_name() {
+  _has_bits_[0] &= ~0x00000001u;
 }
-inline ::ciphertext_client_data_field* decryptor_to_extension_msg_t::mutable_ciphertext_fields(int index) {
-  // @@protoc_insertion_point(field_mutable:decryptor_to_extension_msg_t.ciphertext_fields)
-  return ciphertext_fields_.Mutable(index);
+inline void mitigator_header::clear_name() {
+  if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    name_->clear();
+  }
+  clear_has_name();
+}
+inline const ::std::string& mitigator_header::name() const {
+  // @@protoc_insertion_point(field_get:mitigator_header.name)
+  return *name_;
 }
-inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ciphertext_client_data_field >*
-decryptor_to_extension_msg_t::mutable_ciphertext_fields() {
-  // @@protoc_insertion_point(field_mutable_list:decryptor_to_extension_msg_t.ciphertext_fields)
-  return &ciphertext_fields_;
+inline void mitigator_header::set_name(const ::std::string& value) {
+  set_has_name();
+  if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    name_ = new ::std::string;
+  }
+  name_->assign(value);
+  // @@protoc_insertion_point(field_set:mitigator_header.name)
 }
-inline const ::ciphertext_client_data_field& decryptor_to_extension_msg_t::ciphertext_fields(int index) const {
-  // @@protoc_insertion_point(field_get:decryptor_to_extension_msg_t.ciphertext_fields)
-  return ciphertext_fields_.Get(index);
+inline void mitigator_header::set_name(const char* value) {
+  set_has_name();
+  if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    name_ = new ::std::string;
+  }
+  name_->assign(value);
+  // @@protoc_insertion_point(field_set_char:mitigator_header.name)
 }
-inline ::ciphertext_client_data_field* decryptor_to_extension_msg_t::add_ciphertext_fields() {
-  // @@protoc_insertion_point(field_add:decryptor_to_extension_msg_t.ciphertext_fields)
-  return ciphertext_fields_.Add();
+inline void mitigator_header::set_name(const void* value, size_t size) {
+  set_has_name();
+  if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    name_ = new ::std::string;
+  }
+  name_->assign(reinterpret_cast<const char*>(value), size);
+  // @@protoc_insertion_point(field_set_pointer:mitigator_header.name)
 }
-inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ciphertext_client_data_field >&
-decryptor_to_extension_msg_t::ciphertext_fields() const {
-  // @@protoc_insertion_point(field_list:decryptor_to_extension_msg_t.ciphertext_fields)
-  return ciphertext_fields_;
+inline ::std::string* mitigator_header::mutable_name() {
+  set_has_name();
+  if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    name_ = new ::std::string;
+  }
+  // @@protoc_insertion_point(field_mutable:mitigator_header.name)
+  return name_;
+}
+inline ::std::string* mitigator_header::release_name() {
+  clear_has_name();
+  if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    return NULL;
+  } else {
+    ::std::string* temp = name_;
+    name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+    return temp;
+  }
+}
+inline void mitigator_header::set_allocated_name(::std::string* name) {
+  if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    delete name_;
+  }
+  if (name) {
+    set_has_name();
+    name_ = name;
+  } else {
+    clear_has_name();
+    name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  }
+  // @@protoc_insertion_point(field_set_allocated:mitigator_header.name)
 }
 
-#ifdef __GNUC__
-  #pragma GCC diagnostic pop
-#endif  // __GNUC__
-// -------------------------------------------------------------------
+// required bytes value = 2;
+inline bool mitigator_header::has_value() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+inline void mitigator_header::set_has_value() {
+  _has_bits_[0] |= 0x00000002u;
+}
+inline void mitigator_header::clear_has_value() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+inline void mitigator_header::clear_value() {
+  if (value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    value_->clear();
+  }
+  clear_has_value();
+}
+inline const ::std::string& mitigator_header::value() const {
+  // @@protoc_insertion_point(field_get:mitigator_header.value)
+  return *value_;
+}
+inline void mitigator_header::set_value(const ::std::string& value) {
+  set_has_value();
+  if (value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    value_ = new ::std::string;
+  }
+  value_->assign(value);
+  // @@protoc_insertion_point(field_set:mitigator_header.value)
+}
+inline void mitigator_header::set_value(const char* value) {
+  set_has_value();
+  if (value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    value_ = new ::std::string;
+  }
+  value_->assign(value);
+  // @@protoc_insertion_point(field_set_char:mitigator_header.value)
+}
+inline void mitigator_header::set_value(const void* value, size_t size) {
+  set_has_value();
+  if (value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    value_ = new ::std::string;
+  }
+  value_->assign(reinterpret_cast<const char*>(value), size);
+  // @@protoc_insertion_point(field_set_pointer:mitigator_header.value)
+}
+inline ::std::string* mitigator_header::mutable_value() {
+  set_has_value();
+  if (value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    value_ = new ::std::string;
+  }
+  // @@protoc_insertion_point(field_mutable:mitigator_header.value)
+  return value_;
+}
+inline ::std::string* mitigator_header::release_value() {
+  clear_has_value();
+  if (value_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    return NULL;
+  } else {
+    ::std::string* temp = value_;
+    value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+    return temp;
+  }
+}
+inline void mitigator_header::set_allocated_value(::std::string* value) {
+  if (value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    delete value_;
+  }
+  if (value) {
+    set_has_value();
+    value_ = value;
+  } else {
+    clear_has_value();
+    value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  }
+  // @@protoc_insertion_point(field_set_allocated:mitigator_header.value)
+}
 
-// -------------------------------------------------------------------
 
-// -------------------------------------------------------------------
+// @@protoc_insertion_point(namespace_scope)
 
+#ifndef SWIG
+namespace google {
+namespace protobuf {
 
-// @@protoc_insertion_point(namespace_scope)
 
+}  // namespace google
+}  // namespace protobuf
+#endif  // SWIG
 
 // @@protoc_insertion_point(global_scope)
 
-#include <google/protobuf/port_undef.inc>
-#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_PostLAMessages_2eproto
+#endif  // PROTOBUF_PostLAMessages_2eproto__INCLUDED

+ 10 - 9
PostLAMessages.proto

@@ -1,18 +1,19 @@
 syntax = "proto2";
 
-message ciphertext_client_data_field {
-    bytes field = 1;
+message ciphertext_data {
+    required bytes field = 1;
 }
 
-message extension_to_decryptor_enclosed_msg {
-    bytes ciphertext_client_public_key = 1;
-    repeated ciphertext_client_data_field ciphertext_fields = 2;
+message extension_to_decryptor_msg {
+    required bytes ciphertext_client_public_key = 1;
+    repeated ciphertext_data fields = 2;
 }
 
-message extension_to_decryptor_ciphertext_msg {
-    bytes ciphertext_bytes = 1;
+message decryptor_to_extension_msg {
+    repeated ciphertext_data fields = 1;
 }
 
-message decryptor_to_extension_msg_t {
-    repeated ciphertext_client_data_field ciphertext_fields= 1;
+message mitigator_header {
+    required bytes name = 1;
+    required bytes value = 2;
 }

+ 58 - 35
ProtobufLAMessages.proto

@@ -10,74 +10,97 @@
 // "Repeated" - can be repeated 0 or more times - however, arrays in C or CPP with fixed size that have all their elements defined - are a stricter version of this. (Protobuf doesn't let you define constant-sized arrays.)
 // packed=true is necessary to ensure successive, efficient 'packing'
 
-syntax = "proto3";
+syntax = "proto2";
+option optimize_for = LITE_RUNTIME;
 // LITE_RUNTIME supports serializetocodedstream - which is helpful to read/write multiple messages - https://groups.google.com/forum/#!topic/protobuf/MlUMUPp5WDc and https://developers.google.com/protocol-buffers/docs/techniques?csw=1#streaming
 
 // Only have base classes for those structs in the composite structs that have more than 1 element - this causes a significant reduction in the size of the generated .cc and .h files.
 
+/*
+message protobuf_sgx_cpu_svn_t {
+  repeated uint32 svn = 1 [packed=true];
+}
+
+message protobuf_sgx_report_data_t {
+  repeated uint32 d = 1 [packed=true];
+}
+
+message protobuf_sgx_key_id_t {
+  repeated uint32 id = 1 [packed=true];
+}
+
+message protobuf_sgx_mac_t {
+  repeated uint32 mac = 1 [packed=true];
+}
+
+message protobuf_sgx_measurement_t {
+  repeated uint32 m = 1 [packed=true];
+}
+*/
+
 message  protobuf_sgx_attributes_t {
-  uint64 flags = 1;
-  uint64 xfrm = 2;
+  required uint64 flags = 1;
+  required uint64 xfrm = 2;
 }
 
 message protobuf_sgx_ec256_public_t {
-  repeated uint32 gx = 1 ;
-  repeated uint32 gy = 2 ;
+  repeated uint32 gx = 1 [packed=true];
+  repeated uint32 gy = 2 [packed=true];
 }
 
 // Composite message types
-// Tag numbers - first all the repeated ones (arrays) and then the  ones, as per the docs.
+// Tag numbers - first all the repeated ones (arrays) and then the required ones, as per the docs.
 message protobuf_sgx_report_body_t {
-  repeated uint32 cpu_svn = 1 ;
-   uint32 misc_select = 9;
-  repeated uint32 reserved1 = 2 ;
-   protobuf_sgx_attributes_t attributes = 10;
-  repeated uint32 mr_enclave = 3 ;
-  repeated uint32 reserved2 = 4 ;
-  repeated uint32 mr_signer = 5 ;
-  repeated uint32 reserved3 = 6 ;
-   uint32 isv_prod_id = 11;
-   uint32 isv_svn = 12;
-  repeated uint32 reserved4 = 7 ;
-  repeated uint32 report_data = 8 ;
+  repeated uint32 cpu_svn = 1 [packed=true];
+  required uint32 misc_select = 9;
+  repeated uint32 reserved1 = 2 [packed=true];
+  required protobuf_sgx_attributes_t attributes = 10;
+  repeated uint32 mr_enclave = 3 [packed=true];
+  repeated uint32 reserved2 = 4 [packed=true];
+  repeated uint32 mr_signer = 5 [packed=true];
+  repeated uint32 reserved3 = 6 [packed=true];
+  required uint32 isv_prod_id = 11;
+  required uint32 isv_svn = 12;
+  repeated uint32 reserved4 = 7 [packed=true];
+  repeated uint32 report_data = 8 [packed=true];
 }
 
 message protobuf_sgx_report_t {
-   protobuf_sgx_report_body_t body = 1;
-  repeated uint32 key_id = 2 ;
-  repeated uint32 mac = 3 ;
+  required protobuf_sgx_report_body_t body = 1;
+  repeated uint32 key_id = 2 [packed=true];
+  repeated uint32 mac = 3 [packed=true];
 }
 
 message protobuf_sgx_target_info_t {
-  repeated uint32 mr_enclave = 1 ;
-   protobuf_sgx_attributes_t attributes = 4;
-  repeated uint32 reserved1 = 2 ;
-   uint32 misc_select = 5;
-  repeated uint32 reserved2 = 3 ;
+  repeated uint32 mr_enclave = 1 [packed=true];
+  required protobuf_sgx_attributes_t attributes = 4;
+  repeated uint32 reserved1 = 2 [packed=true];
+  required uint32 misc_select = 5;
+  repeated uint32 reserved2 = 3 [packed=true];
 }
 
 message protobuf_sgx_dh_msg1_t {
-   protobuf_sgx_ec256_public_t g_a = 1;
-   protobuf_sgx_target_info_t target = 2;
+  required protobuf_sgx_ec256_public_t g_a = 1;
+  required protobuf_sgx_target_info_t target = 2;
 }
 
 message protobuf_sgx_dh_msg2_t {
-   protobuf_sgx_ec256_public_t  g_b = 1;
-   protobuf_sgx_report_t        report = 2;
-  repeated uint32 cmac = 3 ;
+  required protobuf_sgx_ec256_public_t  g_b = 1;
+  required protobuf_sgx_report_t        report = 2;
+  repeated uint32 cmac = 3 [packed=true];
 }
 
 message protobuf_sgx_dh_msg3_body_t {
-   protobuf_sgx_report_t report = 1;
+  required protobuf_sgx_report_t report = 1;
   repeated uint32 additional_prop = 2;
 }
 
 message protobuf_sgx_dh_msg3_t {
-   protobuf_sgx_dh_msg3_body_t msg3_body = 1;
-  repeated uint32 cmac = 2 ;
+  required protobuf_sgx_dh_msg3_body_t msg3_body = 1;
+  repeated uint32 cmac = 2 [packed=true];
 }
 
 // for post-LA key establishment and other msgs (in particular, between Apache and Decryptor)
 message protobuf_post_LA_encrypted_msg_t {
-   bytes msg = 1 ; 	
+  required bytes msg = 1 ; 	
 }