/* Generated by the protocol buffer compiler.  DO NOT EDIT! */
/* Generated from: ledger/rwset/kvrwset/kv_rwset.proto */

/* Do not generate deprecated warnings for self */
#ifndef PROTOBUF_C__NO_DEPRECATED
#define PROTOBUF_C__NO_DEPRECATED
#endif

#include "ledger/rwset/kvrwset/kv_rwset.pb-c.h"
void   kvrwset__kvrwset__init
                     (Kvrwset__KVRWSet         *message)
{
  static Kvrwset__KVRWSet init_value = KVRWSET__KVRWSET__INIT;
  *message = init_value;
}
size_t kvrwset__kvrwset__get_packed_size
                     (const Kvrwset__KVRWSet *message)
{
  assert(message->base.descriptor == &kvrwset__kvrwset__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t kvrwset__kvrwset__pack
                     (const Kvrwset__KVRWSet *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &kvrwset__kvrwset__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t kvrwset__kvrwset__pack_to_buffer
                     (const Kvrwset__KVRWSet *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &kvrwset__kvrwset__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Kvrwset__KVRWSet *
       kvrwset__kvrwset__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Kvrwset__KVRWSet *)
     protobuf_c_message_unpack (&kvrwset__kvrwset__descriptor,
                                allocator, len, data);
}
void   kvrwset__kvrwset__free_unpacked
                     (Kvrwset__KVRWSet *message,
                      ProtobufCAllocator *allocator)
{
  assert(message->base.descriptor == &kvrwset__kvrwset__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   kvrwset__hashed_rwset__init
                     (Kvrwset__HashedRWSet         *message)
{
  static Kvrwset__HashedRWSet init_value = KVRWSET__HASHED_RWSET__INIT;
  *message = init_value;
}
size_t kvrwset__hashed_rwset__get_packed_size
                     (const Kvrwset__HashedRWSet *message)
{
  assert(message->base.descriptor == &kvrwset__hashed_rwset__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t kvrwset__hashed_rwset__pack
                     (const Kvrwset__HashedRWSet *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &kvrwset__hashed_rwset__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t kvrwset__hashed_rwset__pack_to_buffer
                     (const Kvrwset__HashedRWSet *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &kvrwset__hashed_rwset__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Kvrwset__HashedRWSet *
       kvrwset__hashed_rwset__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Kvrwset__HashedRWSet *)
     protobuf_c_message_unpack (&kvrwset__hashed_rwset__descriptor,
                                allocator, len, data);
}
void   kvrwset__hashed_rwset__free_unpacked
                     (Kvrwset__HashedRWSet *message,
                      ProtobufCAllocator *allocator)
{
  assert(message->base.descriptor == &kvrwset__hashed_rwset__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   kvrwset__kvread__init
                     (Kvrwset__KVRead         *message)
{
  static Kvrwset__KVRead init_value = KVRWSET__KVREAD__INIT;
  *message = init_value;
}
size_t kvrwset__kvread__get_packed_size
                     (const Kvrwset__KVRead *message)
{
  assert(message->base.descriptor == &kvrwset__kvread__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t kvrwset__kvread__pack
                     (const Kvrwset__KVRead *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &kvrwset__kvread__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t kvrwset__kvread__pack_to_buffer
                     (const Kvrwset__KVRead *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &kvrwset__kvread__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Kvrwset__KVRead *
       kvrwset__kvread__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Kvrwset__KVRead *)
     protobuf_c_message_unpack (&kvrwset__kvread__descriptor,
                                allocator, len, data);
}
void   kvrwset__kvread__free_unpacked
                     (Kvrwset__KVRead *message,
                      ProtobufCAllocator *allocator)
{
  assert(message->base.descriptor == &kvrwset__kvread__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   kvrwset__kvwrite__init
                     (Kvrwset__KVWrite         *message)
{
  static Kvrwset__KVWrite init_value = KVRWSET__KVWRITE__INIT;
  *message = init_value;
}
size_t kvrwset__kvwrite__get_packed_size
                     (const Kvrwset__KVWrite *message)
{
  assert(message->base.descriptor == &kvrwset__kvwrite__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t kvrwset__kvwrite__pack
                     (const Kvrwset__KVWrite *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &kvrwset__kvwrite__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t kvrwset__kvwrite__pack_to_buffer
                     (const Kvrwset__KVWrite *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &kvrwset__kvwrite__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Kvrwset__KVWrite *
       kvrwset__kvwrite__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Kvrwset__KVWrite *)
     protobuf_c_message_unpack (&kvrwset__kvwrite__descriptor,
                                allocator, len, data);
}
void   kvrwset__kvwrite__free_unpacked
                     (Kvrwset__KVWrite *message,
                      ProtobufCAllocator *allocator)
{
  assert(message->base.descriptor == &kvrwset__kvwrite__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   kvrwset__kvmetadata_write__init
                     (Kvrwset__KVMetadataWrite         *message)
{
  static Kvrwset__KVMetadataWrite init_value = KVRWSET__KVMETADATA_WRITE__INIT;
  *message = init_value;
}
size_t kvrwset__kvmetadata_write__get_packed_size
                     (const Kvrwset__KVMetadataWrite *message)
{
  assert(message->base.descriptor == &kvrwset__kvmetadata_write__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t kvrwset__kvmetadata_write__pack
                     (const Kvrwset__KVMetadataWrite *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &kvrwset__kvmetadata_write__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t kvrwset__kvmetadata_write__pack_to_buffer
                     (const Kvrwset__KVMetadataWrite *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &kvrwset__kvmetadata_write__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Kvrwset__KVMetadataWrite *
       kvrwset__kvmetadata_write__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Kvrwset__KVMetadataWrite *)
     protobuf_c_message_unpack (&kvrwset__kvmetadata_write__descriptor,
                                allocator, len, data);
}
void   kvrwset__kvmetadata_write__free_unpacked
                     (Kvrwset__KVMetadataWrite *message,
                      ProtobufCAllocator *allocator)
{
  assert(message->base.descriptor == &kvrwset__kvmetadata_write__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   kvrwset__kvread_hash__init
                     (Kvrwset__KVReadHash         *message)
{
  static Kvrwset__KVReadHash init_value = KVRWSET__KVREAD_HASH__INIT;
  *message = init_value;
}
size_t kvrwset__kvread_hash__get_packed_size
                     (const Kvrwset__KVReadHash *message)
{
  assert(message->base.descriptor == &kvrwset__kvread_hash__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t kvrwset__kvread_hash__pack
                     (const Kvrwset__KVReadHash *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &kvrwset__kvread_hash__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t kvrwset__kvread_hash__pack_to_buffer
                     (const Kvrwset__KVReadHash *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &kvrwset__kvread_hash__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Kvrwset__KVReadHash *
       kvrwset__kvread_hash__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Kvrwset__KVReadHash *)
     protobuf_c_message_unpack (&kvrwset__kvread_hash__descriptor,
                                allocator, len, data);
}
void   kvrwset__kvread_hash__free_unpacked
                     (Kvrwset__KVReadHash *message,
                      ProtobufCAllocator *allocator)
{
  assert(message->base.descriptor == &kvrwset__kvread_hash__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   kvrwset__kvwrite_hash__init
                     (Kvrwset__KVWriteHash         *message)
{
  static Kvrwset__KVWriteHash init_value = KVRWSET__KVWRITE_HASH__INIT;
  *message = init_value;
}
size_t kvrwset__kvwrite_hash__get_packed_size
                     (const Kvrwset__KVWriteHash *message)
{
  assert(message->base.descriptor == &kvrwset__kvwrite_hash__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t kvrwset__kvwrite_hash__pack
                     (const Kvrwset__KVWriteHash *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &kvrwset__kvwrite_hash__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t kvrwset__kvwrite_hash__pack_to_buffer
                     (const Kvrwset__KVWriteHash *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &kvrwset__kvwrite_hash__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Kvrwset__KVWriteHash *
       kvrwset__kvwrite_hash__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Kvrwset__KVWriteHash *)
     protobuf_c_message_unpack (&kvrwset__kvwrite_hash__descriptor,
                                allocator, len, data);
}
void   kvrwset__kvwrite_hash__free_unpacked
                     (Kvrwset__KVWriteHash *message,
                      ProtobufCAllocator *allocator)
{
  assert(message->base.descriptor == &kvrwset__kvwrite_hash__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   kvrwset__kvmetadata_write_hash__init
                     (Kvrwset__KVMetadataWriteHash         *message)
{
  static Kvrwset__KVMetadataWriteHash init_value = KVRWSET__KVMETADATA_WRITE_HASH__INIT;
  *message = init_value;
}
size_t kvrwset__kvmetadata_write_hash__get_packed_size
                     (const Kvrwset__KVMetadataWriteHash *message)
{
  assert(message->base.descriptor == &kvrwset__kvmetadata_write_hash__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t kvrwset__kvmetadata_write_hash__pack
                     (const Kvrwset__KVMetadataWriteHash *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &kvrwset__kvmetadata_write_hash__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t kvrwset__kvmetadata_write_hash__pack_to_buffer
                     (const Kvrwset__KVMetadataWriteHash *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &kvrwset__kvmetadata_write_hash__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Kvrwset__KVMetadataWriteHash *
       kvrwset__kvmetadata_write_hash__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Kvrwset__KVMetadataWriteHash *)
     protobuf_c_message_unpack (&kvrwset__kvmetadata_write_hash__descriptor,
                                allocator, len, data);
}
void   kvrwset__kvmetadata_write_hash__free_unpacked
                     (Kvrwset__KVMetadataWriteHash *message,
                      ProtobufCAllocator *allocator)
{
  assert(message->base.descriptor == &kvrwset__kvmetadata_write_hash__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   kvrwset__kvmetadata_entry__init
                     (Kvrwset__KVMetadataEntry         *message)
{
  static Kvrwset__KVMetadataEntry init_value = KVRWSET__KVMETADATA_ENTRY__INIT;
  *message = init_value;
}
size_t kvrwset__kvmetadata_entry__get_packed_size
                     (const Kvrwset__KVMetadataEntry *message)
{
  assert(message->base.descriptor == &kvrwset__kvmetadata_entry__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t kvrwset__kvmetadata_entry__pack
                     (const Kvrwset__KVMetadataEntry *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &kvrwset__kvmetadata_entry__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t kvrwset__kvmetadata_entry__pack_to_buffer
                     (const Kvrwset__KVMetadataEntry *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &kvrwset__kvmetadata_entry__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Kvrwset__KVMetadataEntry *
       kvrwset__kvmetadata_entry__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Kvrwset__KVMetadataEntry *)
     protobuf_c_message_unpack (&kvrwset__kvmetadata_entry__descriptor,
                                allocator, len, data);
}
void   kvrwset__kvmetadata_entry__free_unpacked
                     (Kvrwset__KVMetadataEntry *message,
                      ProtobufCAllocator *allocator)
{
  assert(message->base.descriptor == &kvrwset__kvmetadata_entry__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   kvrwset__version__init
                     (Kvrwset__Version         *message)
{
  static Kvrwset__Version init_value = KVRWSET__VERSION__INIT;
  *message = init_value;
}
size_t kvrwset__version__get_packed_size
                     (const Kvrwset__Version *message)
{
  assert(message->base.descriptor == &kvrwset__version__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t kvrwset__version__pack
                     (const Kvrwset__Version *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &kvrwset__version__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t kvrwset__version__pack_to_buffer
                     (const Kvrwset__Version *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &kvrwset__version__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Kvrwset__Version *
       kvrwset__version__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Kvrwset__Version *)
     protobuf_c_message_unpack (&kvrwset__version__descriptor,
                                allocator, len, data);
}
void   kvrwset__version__free_unpacked
                     (Kvrwset__Version *message,
                      ProtobufCAllocator *allocator)
{
  assert(message->base.descriptor == &kvrwset__version__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   kvrwset__range_query_info__init
                     (Kvrwset__RangeQueryInfo         *message)
{
  static Kvrwset__RangeQueryInfo init_value = KVRWSET__RANGE_QUERY_INFO__INIT;
  *message = init_value;
}
size_t kvrwset__range_query_info__get_packed_size
                     (const Kvrwset__RangeQueryInfo *message)
{
  assert(message->base.descriptor == &kvrwset__range_query_info__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t kvrwset__range_query_info__pack
                     (const Kvrwset__RangeQueryInfo *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &kvrwset__range_query_info__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t kvrwset__range_query_info__pack_to_buffer
                     (const Kvrwset__RangeQueryInfo *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &kvrwset__range_query_info__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Kvrwset__RangeQueryInfo *
       kvrwset__range_query_info__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Kvrwset__RangeQueryInfo *)
     protobuf_c_message_unpack (&kvrwset__range_query_info__descriptor,
                                allocator, len, data);
}
void   kvrwset__range_query_info__free_unpacked
                     (Kvrwset__RangeQueryInfo *message,
                      ProtobufCAllocator *allocator)
{
  assert(message->base.descriptor == &kvrwset__range_query_info__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   kvrwset__query_reads__init
                     (Kvrwset__QueryReads         *message)
{
  static Kvrwset__QueryReads init_value = KVRWSET__QUERY_READS__INIT;
  *message = init_value;
}
size_t kvrwset__query_reads__get_packed_size
                     (const Kvrwset__QueryReads *message)
{
  assert(message->base.descriptor == &kvrwset__query_reads__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t kvrwset__query_reads__pack
                     (const Kvrwset__QueryReads *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &kvrwset__query_reads__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t kvrwset__query_reads__pack_to_buffer
                     (const Kvrwset__QueryReads *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &kvrwset__query_reads__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Kvrwset__QueryReads *
       kvrwset__query_reads__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Kvrwset__QueryReads *)
     protobuf_c_message_unpack (&kvrwset__query_reads__descriptor,
                                allocator, len, data);
}
void   kvrwset__query_reads__free_unpacked
                     (Kvrwset__QueryReads *message,
                      ProtobufCAllocator *allocator)
{
  assert(message->base.descriptor == &kvrwset__query_reads__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   kvrwset__query_reads_merkle_summary__init
                     (Kvrwset__QueryReadsMerkleSummary         *message)
{
  static Kvrwset__QueryReadsMerkleSummary init_value = KVRWSET__QUERY_READS_MERKLE_SUMMARY__INIT;
  *message = init_value;
}
size_t kvrwset__query_reads_merkle_summary__get_packed_size
                     (const Kvrwset__QueryReadsMerkleSummary *message)
{
  assert(message->base.descriptor == &kvrwset__query_reads_merkle_summary__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t kvrwset__query_reads_merkle_summary__pack
                     (const Kvrwset__QueryReadsMerkleSummary *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &kvrwset__query_reads_merkle_summary__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t kvrwset__query_reads_merkle_summary__pack_to_buffer
                     (const Kvrwset__QueryReadsMerkleSummary *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &kvrwset__query_reads_merkle_summary__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Kvrwset__QueryReadsMerkleSummary *
       kvrwset__query_reads_merkle_summary__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Kvrwset__QueryReadsMerkleSummary *)
     protobuf_c_message_unpack (&kvrwset__query_reads_merkle_summary__descriptor,
                                allocator, len, data);
}
void   kvrwset__query_reads_merkle_summary__free_unpacked
                     (Kvrwset__QueryReadsMerkleSummary *message,
                      ProtobufCAllocator *allocator)
{
  assert(message->base.descriptor == &kvrwset__query_reads_merkle_summary__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
static const ProtobufCFieldDescriptor kvrwset__kvrwset__field_descriptors[4] =
{
  {
    "reads",
    1,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Kvrwset__KVRWSet, n_reads),
    offsetof(Kvrwset__KVRWSet, reads),
    &kvrwset__kvread__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "range_queries_info",
    2,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Kvrwset__KVRWSet, n_range_queries_info),
    offsetof(Kvrwset__KVRWSet, range_queries_info),
    &kvrwset__range_query_info__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "writes",
    3,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Kvrwset__KVRWSet, n_writes),
    offsetof(Kvrwset__KVRWSet, writes),
    &kvrwset__kvwrite__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "metadata_writes",
    4,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Kvrwset__KVRWSet, n_metadata_writes),
    offsetof(Kvrwset__KVRWSet, metadata_writes),
    &kvrwset__kvmetadata_write__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned kvrwset__kvrwset__field_indices_by_name[] = {
  3,   /* field[3] = metadata_writes */
  1,   /* field[1] = range_queries_info */
  0,   /* field[0] = reads */
  2,   /* field[2] = writes */
};
static const ProtobufCIntRange kvrwset__kvrwset__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 4 }
};
const ProtobufCMessageDescriptor kvrwset__kvrwset__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "kvrwset.KVRWSet",
  "KVRWSet",
  "Kvrwset__KVRWSet",
  "kvrwset",
  sizeof(Kvrwset__KVRWSet),
  4,
  kvrwset__kvrwset__field_descriptors,
  kvrwset__kvrwset__field_indices_by_name,
  1,  kvrwset__kvrwset__number_ranges,
  (ProtobufCMessageInit) kvrwset__kvrwset__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor kvrwset__hashed_rwset__field_descriptors[3] =
{
  {
    "hashed_reads",
    1,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Kvrwset__HashedRWSet, n_hashed_reads),
    offsetof(Kvrwset__HashedRWSet, hashed_reads),
    &kvrwset__kvread_hash__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "hashed_writes",
    2,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Kvrwset__HashedRWSet, n_hashed_writes),
    offsetof(Kvrwset__HashedRWSet, hashed_writes),
    &kvrwset__kvwrite_hash__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "metadata_writes",
    3,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Kvrwset__HashedRWSet, n_metadata_writes),
    offsetof(Kvrwset__HashedRWSet, metadata_writes),
    &kvrwset__kvmetadata_write_hash__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned kvrwset__hashed_rwset__field_indices_by_name[] = {
  0,   /* field[0] = hashed_reads */
  1,   /* field[1] = hashed_writes */
  2,   /* field[2] = metadata_writes */
};
static const ProtobufCIntRange kvrwset__hashed_rwset__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 3 }
};
const ProtobufCMessageDescriptor kvrwset__hashed_rwset__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "kvrwset.HashedRWSet",
  "HashedRWSet",
  "Kvrwset__HashedRWSet",
  "kvrwset",
  sizeof(Kvrwset__HashedRWSet),
  3,
  kvrwset__hashed_rwset__field_descriptors,
  kvrwset__hashed_rwset__field_indices_by_name,
  1,  kvrwset__hashed_rwset__number_ranges,
  (ProtobufCMessageInit) kvrwset__hashed_rwset__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor kvrwset__kvread__field_descriptors[2] =
{
  {
    "key",
    1,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Kvrwset__KVRead, key),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "version",
    2,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Kvrwset__KVRead, version),
    &kvrwset__version__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned kvrwset__kvread__field_indices_by_name[] = {
  0,   /* field[0] = key */
  1,   /* field[1] = version */
};
static const ProtobufCIntRange kvrwset__kvread__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor kvrwset__kvread__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "kvrwset.KVRead",
  "KVRead",
  "Kvrwset__KVRead",
  "kvrwset",
  sizeof(Kvrwset__KVRead),
  2,
  kvrwset__kvread__field_descriptors,
  kvrwset__kvread__field_indices_by_name,
  1,  kvrwset__kvread__number_ranges,
  (ProtobufCMessageInit) kvrwset__kvread__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor kvrwset__kvwrite__field_descriptors[3] =
{
  {
    "key",
    1,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Kvrwset__KVWrite, key),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "is_delete",
    2,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(Kvrwset__KVWrite, has_is_delete),
    offsetof(Kvrwset__KVWrite, is_delete),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "value",
    3,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(Kvrwset__KVWrite, has_value),
    offsetof(Kvrwset__KVWrite, value),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned kvrwset__kvwrite__field_indices_by_name[] = {
  1,   /* field[1] = is_delete */
  0,   /* field[0] = key */
  2,   /* field[2] = value */
};
static const ProtobufCIntRange kvrwset__kvwrite__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 3 }
};
const ProtobufCMessageDescriptor kvrwset__kvwrite__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "kvrwset.KVWrite",
  "KVWrite",
  "Kvrwset__KVWrite",
  "kvrwset",
  sizeof(Kvrwset__KVWrite),
  3,
  kvrwset__kvwrite__field_descriptors,
  kvrwset__kvwrite__field_indices_by_name,
  1,  kvrwset__kvwrite__number_ranges,
  (ProtobufCMessageInit) kvrwset__kvwrite__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor kvrwset__kvmetadata_write__field_descriptors[2] =
{
  {
    "key",
    1,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Kvrwset__KVMetadataWrite, key),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "entries",
    2,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Kvrwset__KVMetadataWrite, n_entries),
    offsetof(Kvrwset__KVMetadataWrite, entries),
    &kvrwset__kvmetadata_entry__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned kvrwset__kvmetadata_write__field_indices_by_name[] = {
  1,   /* field[1] = entries */
  0,   /* field[0] = key */
};
static const ProtobufCIntRange kvrwset__kvmetadata_write__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor kvrwset__kvmetadata_write__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "kvrwset.KVMetadataWrite",
  "KVMetadataWrite",
  "Kvrwset__KVMetadataWrite",
  "kvrwset",
  sizeof(Kvrwset__KVMetadataWrite),
  2,
  kvrwset__kvmetadata_write__field_descriptors,
  kvrwset__kvmetadata_write__field_indices_by_name,
  1,  kvrwset__kvmetadata_write__number_ranges,
  (ProtobufCMessageInit) kvrwset__kvmetadata_write__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor kvrwset__kvread_hash__field_descriptors[2] =
{
  {
    "key_hash",
    1,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(Kvrwset__KVReadHash, has_key_hash),
    offsetof(Kvrwset__KVReadHash, key_hash),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "version",
    2,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Kvrwset__KVReadHash, version),
    &kvrwset__version__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned kvrwset__kvread_hash__field_indices_by_name[] = {
  0,   /* field[0] = key_hash */
  1,   /* field[1] = version */
};
static const ProtobufCIntRange kvrwset__kvread_hash__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor kvrwset__kvread_hash__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "kvrwset.KVReadHash",
  "KVReadHash",
  "Kvrwset__KVReadHash",
  "kvrwset",
  sizeof(Kvrwset__KVReadHash),
  2,
  kvrwset__kvread_hash__field_descriptors,
  kvrwset__kvread_hash__field_indices_by_name,
  1,  kvrwset__kvread_hash__number_ranges,
  (ProtobufCMessageInit) kvrwset__kvread_hash__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor kvrwset__kvwrite_hash__field_descriptors[3] =
{
  {
    "key_hash",
    1,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(Kvrwset__KVWriteHash, has_key_hash),
    offsetof(Kvrwset__KVWriteHash, key_hash),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "is_delete",
    2,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(Kvrwset__KVWriteHash, has_is_delete),
    offsetof(Kvrwset__KVWriteHash, is_delete),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "value_hash",
    3,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(Kvrwset__KVWriteHash, has_value_hash),
    offsetof(Kvrwset__KVWriteHash, value_hash),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned kvrwset__kvwrite_hash__field_indices_by_name[] = {
  1,   /* field[1] = is_delete */
  0,   /* field[0] = key_hash */
  2,   /* field[2] = value_hash */
};
static const ProtobufCIntRange kvrwset__kvwrite_hash__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 3 }
};
const ProtobufCMessageDescriptor kvrwset__kvwrite_hash__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "kvrwset.KVWriteHash",
  "KVWriteHash",
  "Kvrwset__KVWriteHash",
  "kvrwset",
  sizeof(Kvrwset__KVWriteHash),
  3,
  kvrwset__kvwrite_hash__field_descriptors,
  kvrwset__kvwrite_hash__field_indices_by_name,
  1,  kvrwset__kvwrite_hash__number_ranges,
  (ProtobufCMessageInit) kvrwset__kvwrite_hash__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor kvrwset__kvmetadata_write_hash__field_descriptors[2] =
{
  {
    "key_hash",
    1,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(Kvrwset__KVMetadataWriteHash, has_key_hash),
    offsetof(Kvrwset__KVMetadataWriteHash, key_hash),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "entries",
    2,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Kvrwset__KVMetadataWriteHash, n_entries),
    offsetof(Kvrwset__KVMetadataWriteHash, entries),
    &kvrwset__kvmetadata_entry__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned kvrwset__kvmetadata_write_hash__field_indices_by_name[] = {
  1,   /* field[1] = entries */
  0,   /* field[0] = key_hash */
};
static const ProtobufCIntRange kvrwset__kvmetadata_write_hash__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor kvrwset__kvmetadata_write_hash__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "kvrwset.KVMetadataWriteHash",
  "KVMetadataWriteHash",
  "Kvrwset__KVMetadataWriteHash",
  "kvrwset",
  sizeof(Kvrwset__KVMetadataWriteHash),
  2,
  kvrwset__kvmetadata_write_hash__field_descriptors,
  kvrwset__kvmetadata_write_hash__field_indices_by_name,
  1,  kvrwset__kvmetadata_write_hash__number_ranges,
  (ProtobufCMessageInit) kvrwset__kvmetadata_write_hash__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor kvrwset__kvmetadata_entry__field_descriptors[2] =
{
  {
    "name",
    1,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Kvrwset__KVMetadataEntry, name),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "value",
    2,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(Kvrwset__KVMetadataEntry, has_value),
    offsetof(Kvrwset__KVMetadataEntry, value),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned kvrwset__kvmetadata_entry__field_indices_by_name[] = {
  0,   /* field[0] = name */
  1,   /* field[1] = value */
};
static const ProtobufCIntRange kvrwset__kvmetadata_entry__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor kvrwset__kvmetadata_entry__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "kvrwset.KVMetadataEntry",
  "KVMetadataEntry",
  "Kvrwset__KVMetadataEntry",
  "kvrwset",
  sizeof(Kvrwset__KVMetadataEntry),
  2,
  kvrwset__kvmetadata_entry__field_descriptors,
  kvrwset__kvmetadata_entry__field_indices_by_name,
  1,  kvrwset__kvmetadata_entry__number_ranges,
  (ProtobufCMessageInit) kvrwset__kvmetadata_entry__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor kvrwset__version__field_descriptors[2] =
{
  {
    "block_num",
    1,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_UINT64,
    offsetof(Kvrwset__Version, has_block_num),
    offsetof(Kvrwset__Version, block_num),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "tx_num",
    2,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_UINT64,
    offsetof(Kvrwset__Version, has_tx_num),
    offsetof(Kvrwset__Version, tx_num),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned kvrwset__version__field_indices_by_name[] = {
  0,   /* field[0] = block_num */
  1,   /* field[1] = tx_num */
};
static const ProtobufCIntRange kvrwset__version__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor kvrwset__version__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "kvrwset.Version",
  "Version",
  "Kvrwset__Version",
  "kvrwset",
  sizeof(Kvrwset__Version),
  2,
  kvrwset__version__field_descriptors,
  kvrwset__version__field_indices_by_name,
  1,  kvrwset__version__number_ranges,
  (ProtobufCMessageInit) kvrwset__version__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor kvrwset__range_query_info__field_descriptors[5] =
{
  {
    "start_key",
    1,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Kvrwset__RangeQueryInfo, start_key),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "end_key",
    2,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Kvrwset__RangeQueryInfo, end_key),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "itr_exhausted",
    3,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(Kvrwset__RangeQueryInfo, has_itr_exhausted),
    offsetof(Kvrwset__RangeQueryInfo, itr_exhausted),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "raw_reads",
    4,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Kvrwset__RangeQueryInfo, reads_info_case),
    offsetof(Kvrwset__RangeQueryInfo, raw_reads),
    &kvrwset__query_reads__descriptor,
    NULL,
    0 | PROTOBUF_C_FIELD_FLAG_ONEOF,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "reads_merkle_hashes",
    5,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Kvrwset__RangeQueryInfo, reads_info_case),
    offsetof(Kvrwset__RangeQueryInfo, reads_merkle_hashes),
    &kvrwset__query_reads_merkle_summary__descriptor,
    NULL,
    0 | PROTOBUF_C_FIELD_FLAG_ONEOF,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned kvrwset__range_query_info__field_indices_by_name[] = {
  1,   /* field[1] = end_key */
  2,   /* field[2] = itr_exhausted */
  3,   /* field[3] = raw_reads */
  4,   /* field[4] = reads_merkle_hashes */
  0,   /* field[0] = start_key */
};
static const ProtobufCIntRange kvrwset__range_query_info__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 5 }
};
const ProtobufCMessageDescriptor kvrwset__range_query_info__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "kvrwset.RangeQueryInfo",
  "RangeQueryInfo",
  "Kvrwset__RangeQueryInfo",
  "kvrwset",
  sizeof(Kvrwset__RangeQueryInfo),
  5,
  kvrwset__range_query_info__field_descriptors,
  kvrwset__range_query_info__field_indices_by_name,
  1,  kvrwset__range_query_info__number_ranges,
  (ProtobufCMessageInit) kvrwset__range_query_info__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor kvrwset__query_reads__field_descriptors[1] =
{
  {
    "kv_reads",
    1,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Kvrwset__QueryReads, n_kv_reads),
    offsetof(Kvrwset__QueryReads, kv_reads),
    &kvrwset__kvread__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned kvrwset__query_reads__field_indices_by_name[] = {
  0,   /* field[0] = kv_reads */
};
static const ProtobufCIntRange kvrwset__query_reads__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 1 }
};
const ProtobufCMessageDescriptor kvrwset__query_reads__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "kvrwset.QueryReads",
  "QueryReads",
  "Kvrwset__QueryReads",
  "kvrwset",
  sizeof(Kvrwset__QueryReads),
  1,
  kvrwset__query_reads__field_descriptors,
  kvrwset__query_reads__field_indices_by_name,
  1,  kvrwset__query_reads__number_ranges,
  (ProtobufCMessageInit) kvrwset__query_reads__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor kvrwset__query_reads_merkle_summary__field_descriptors[3] =
{
  {
    "max_degree",
    1,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_UINT32,
    offsetof(Kvrwset__QueryReadsMerkleSummary, has_max_degree),
    offsetof(Kvrwset__QueryReadsMerkleSummary, max_degree),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "max_level",
    2,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_UINT32,
    offsetof(Kvrwset__QueryReadsMerkleSummary, has_max_level),
    offsetof(Kvrwset__QueryReadsMerkleSummary, max_level),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "max_level_hashes",
    3,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(Kvrwset__QueryReadsMerkleSummary, n_max_level_hashes),
    offsetof(Kvrwset__QueryReadsMerkleSummary, max_level_hashes),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned kvrwset__query_reads_merkle_summary__field_indices_by_name[] = {
  0,   /* field[0] = max_degree */
  1,   /* field[1] = max_level */
  2,   /* field[2] = max_level_hashes */
};
static const ProtobufCIntRange kvrwset__query_reads_merkle_summary__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 3 }
};
const ProtobufCMessageDescriptor kvrwset__query_reads_merkle_summary__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "kvrwset.QueryReadsMerkleSummary",
  "QueryReadsMerkleSummary",
  "Kvrwset__QueryReadsMerkleSummary",
  "kvrwset",
  sizeof(Kvrwset__QueryReadsMerkleSummary),
  3,
  kvrwset__query_reads_merkle_summary__field_descriptors,
  kvrwset__query_reads_merkle_summary__field_indices_by_name,
  1,  kvrwset__query_reads_merkle_summary__number_ranges,
  (ProtobufCMessageInit) kvrwset__query_reads_merkle_summary__init,
  NULL,NULL,NULL    /* reserved[123] */
};
