You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by rx...@apache.org on 2020/06/23 02:57:09 UTC

[pulsar-client-go] branch master updated: Use gogofast to have in-place protobuf serialization (#294)

This is an automated email from the ASF dual-hosted git repository.

rxl pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar-client-go.git


The following commit(s) were added to refs/heads/master by this push:
     new 549874b  Use gogofast to have in-place protobuf serialization (#294)
549874b is described below

commit 549874bcc71b1bdae94d97dc46d36dbcd97c08ad
Author: Matteo Merli <mm...@apache.org>
AuthorDate: Mon Jun 22 19:56:50 2020 -0700

    Use gogofast to have in-place protobuf serialization (#294)
---
 go.mod                                       |     2 +-
 go.sum                                       |    18 +-
 integration-tests/license_test.go            |     2 +-
 pulsar/client_impl.go                        |     4 +-
 pulsar/consumer_impl.go                      |     2 +-
 pulsar/consumer_partition.go                 |     4 +-
 pulsar/consumer_partition_test.go            |     2 +-
 pulsar/helper.go                             |     4 +-
 pulsar/impl_message.go                       |     4 +-
 pulsar/internal/batch_builder.go             |     4 +-
 pulsar/internal/commands.go                  |    39 +-
 pulsar/internal/connection.go                |    13 +-
 pulsar/internal/connection_reader.go         |     4 +-
 pulsar/internal/lookup_service.go            |     4 +-
 pulsar/internal/lookup_service_test.go       |     4 +-
 pulsar/internal/pb/PulsarApi.pb.go           |  6188 ------
 pulsar/internal/pulsar_proto/PulsarApi.pb.go | 25852 +++++++++++++++++++++++++
 pulsar/internal/pulsar_proto/PulsarApi.proto |   941 +
 pulsar/internal/pulsar_proto/README.md       |    13 +
 pulsar/internal/rpc_client.go                |     4 +-
 pulsar/producer_partition.go                 |     4 +-
 21 files changed, 26875 insertions(+), 6237 deletions(-)

diff --git a/go.mod b/go.mod
index 21c774d..f26abd0 100644
--- a/go.mod
+++ b/go.mod
@@ -6,7 +6,7 @@ require (
 	github.com/DataDog/zstd v1.4.6-0.20200617134701-89f69fb7df32
 	github.com/beefsack/go-rate v0.0.0-20180408011153-efa7637bb9b6
 	github.com/bmizerany/perks v0.0.0-20141205001514-d9a9656a3a4b
-	github.com/golang/protobuf v1.3.1
+	github.com/gogo/protobuf v1.3.1
 	github.com/inconshreveable/mousetrap v1.0.0 // indirect
 	github.com/klauspost/compress v1.10.8
 	github.com/pierrec/lz4 v2.0.5+incompatible
diff --git a/go.sum b/go.sum
index 333286d..302cf5b 100644
--- a/go.sum
+++ b/go.sum
@@ -14,14 +14,19 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/dimfeld/httptreemux v5.0.1+incompatible h1:Qj3gVcDNoOthBAqftuD596rm4wg/adLLz5xh5CmpiCA=
 github.com/dimfeld/httptreemux v5.0.1+incompatible/go.mod h1:rbUlSV+CCpv/SuqUTP/8Bk2O3LyUV436/yaRGkhP6Z0=
-github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
-github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls=
+github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
+github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
+github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
+github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
 github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
 github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
 github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
 github.com/jawher/mow.cli v1.0.4/go.mod h1:5hQj2V8g+qYmLUVWqu4Wuja1pI57M83EChYLVZ0sMKk=
 github.com/jawher/mow.cli v1.1.0/go.mod h1:aNaQlc7ozF3vw6IJ2dHjp2ZFiA4ozMIYY6PyuRJwlUg=
+github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
+github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
 github.com/klauspost/compress v1.10.5 h1:7q6vHIqubShURwQz8cQK6yIe/xC3IF0Vm7TGfqjewrc=
 github.com/klauspost/compress v1.10.5/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
 github.com/klauspost/compress v1.10.8 h1:eLeJ3dr/Y9+XRfJT4l+8ZjmtB5RPJhucH2HeCV5+IZY=
@@ -68,8 +73,17 @@ golang.org/x/sys v0.0.0-20190804053845-51ab0e2deafa/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20190808195139-e713427fea3f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
+google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
+google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
+google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
+google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
+google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM=
+google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
diff --git a/integration-tests/license_test.go b/integration-tests/license_test.go
index 02794de..4ab26f0 100644
--- a/integration-tests/license_test.go
+++ b/integration-tests/license_test.go
@@ -65,7 +65,7 @@ var otherCheck = regexp.MustCompile(`#
 `)
 
 var skip = map[string]bool{
-	"../pulsar/internal/pb/PulsarApi.pb.go": true,
+	"../pulsar/internal/pulsar_proto/PulsarApi.pb.go": true,
 }
 
 func TestLicense(t *testing.T) {
diff --git a/pulsar/client_impl.go b/pulsar/client_impl.go
index d731183..e0d6f47 100644
--- a/pulsar/client_impl.go
+++ b/pulsar/client_impl.go
@@ -23,13 +23,13 @@ import (
 	"net/url"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"github.com/gogo/protobuf/proto"
 
 	log "github.com/sirupsen/logrus"
 
 	"github.com/apache/pulsar-client-go/pulsar/internal"
 	"github.com/apache/pulsar-client-go/pulsar/internal/auth"
-	"github.com/apache/pulsar-client-go/pulsar/internal/pb"
+	pb "github.com/apache/pulsar-client-go/pulsar/internal/pulsar_proto"
 )
 
 const (
diff --git a/pulsar/consumer_impl.go b/pulsar/consumer_impl.go
index a3fed32..0a3220a 100644
--- a/pulsar/consumer_impl.go
+++ b/pulsar/consumer_impl.go
@@ -28,7 +28,7 @@ import (
 	log "github.com/sirupsen/logrus"
 
 	"github.com/apache/pulsar-client-go/pulsar/internal"
-	"github.com/apache/pulsar-client-go/pulsar/internal/pb"
+	pb "github.com/apache/pulsar-client-go/pulsar/internal/pulsar_proto"
 )
 
 var ErrConsumerClosed = errors.New("consumer closed")
diff --git a/pulsar/consumer_partition.go b/pulsar/consumer_partition.go
index dc4607b..bb4045e 100644
--- a/pulsar/consumer_partition.go
+++ b/pulsar/consumer_partition.go
@@ -23,13 +23,13 @@ import (
 	"sync"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"github.com/gogo/protobuf/proto"
 
 	log "github.com/sirupsen/logrus"
 
 	"github.com/apache/pulsar-client-go/pulsar/internal"
 	"github.com/apache/pulsar-client-go/pulsar/internal/compression"
-	"github.com/apache/pulsar-client-go/pulsar/internal/pb"
+	pb "github.com/apache/pulsar-client-go/pulsar/internal/pulsar_proto"
 )
 
 type consumerState int
diff --git a/pulsar/consumer_partition_test.go b/pulsar/consumer_partition_test.go
index 5ed1e06..5a5a94e 100644
--- a/pulsar/consumer_partition_test.go
+++ b/pulsar/consumer_partition_test.go
@@ -21,7 +21,7 @@ import (
 	"testing"
 
 	"github.com/apache/pulsar-client-go/pulsar/internal/compression"
-	"github.com/apache/pulsar-client-go/pulsar/internal/pb"
+	pb "github.com/apache/pulsar-client-go/pulsar/internal/pulsar_proto"
 
 	"github.com/stretchr/testify/assert"
 
diff --git a/pulsar/helper.go b/pulsar/helper.go
index 5c9b54d..0f8cf20 100644
--- a/pulsar/helper.go
+++ b/pulsar/helper.go
@@ -22,10 +22,10 @@ import (
 
 	pkgerrors "github.com/pkg/errors"
 
-	"github.com/golang/protobuf/proto"
+	"github.com/gogo/protobuf/proto"
 
 	"github.com/apache/pulsar-client-go/pulsar/internal"
-	"github.com/apache/pulsar-client-go/pulsar/internal/pb"
+	pb "github.com/apache/pulsar-client-go/pulsar/internal/pulsar_proto"
 )
 
 // NewUnexpectedErrMsg instantiates an ErrUnexpectedMsg error.
diff --git a/pulsar/impl_message.go b/pulsar/impl_message.go
index 3a5d4b6..a9b1950 100644
--- a/pulsar/impl_message.go
+++ b/pulsar/impl_message.go
@@ -23,9 +23,9 @@ import (
 	"sync"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"github.com/gogo/protobuf/proto"
 
-	"github.com/apache/pulsar-client-go/pulsar/internal/pb"
+	pb "github.com/apache/pulsar-client-go/pulsar/internal/pulsar_proto"
 )
 
 type messageID struct {
diff --git a/pulsar/internal/batch_builder.go b/pulsar/internal/batch_builder.go
index db6074e..90e1b9a 100644
--- a/pulsar/internal/batch_builder.go
+++ b/pulsar/internal/batch_builder.go
@@ -21,8 +21,8 @@ import (
 	"time"
 
 	"github.com/apache/pulsar-client-go/pulsar/internal/compression"
-	"github.com/apache/pulsar-client-go/pulsar/internal/pb"
-	"github.com/golang/protobuf/proto"
+	pb "github.com/apache/pulsar-client-go/pulsar/internal/pulsar_proto"
+	"github.com/gogo/protobuf/proto"
 
 	log "github.com/sirupsen/logrus"
 )
diff --git a/pulsar/internal/commands.go b/pulsar/internal/commands.go
index 0fb1125..c32262e 100644
--- a/pulsar/internal/commands.go
+++ b/pulsar/internal/commands.go
@@ -23,11 +23,11 @@ import (
 
 	"github.com/apache/pulsar-client-go/pulsar/internal/compression"
 
-	"github.com/golang/protobuf/proto"
+	"github.com/gogo/protobuf/proto"
 
 	log "github.com/sirupsen/logrus"
 
-	"github.com/apache/pulsar-client-go/pulsar/internal/pb"
+	pb "github.com/apache/pulsar-client-go/pulsar/internal/pulsar_proto"
 )
 
 const (
@@ -202,37 +202,42 @@ func baseCommand(cmdType pb.BaseCommand_Type, msg proto.Message) *pb.BaseCommand
 	return cmd
 }
 
-func addSingleMessageToBatch(wb Buffer, smm proto.Message, payload []byte) {
-	serialized, err := proto.Marshal(smm)
+func addSingleMessageToBatch(wb Buffer, smm *pb.SingleMessageMetadata, payload []byte) {
+	metadataSize := uint32(smm.Size())
+	wb.WriteUint32(metadataSize)
+
+	wb.ResizeIfNeeded(metadataSize)
+	_, err := smm.MarshalToSizedBuffer(wb.WritableSlice()[:metadataSize])
 	if err != nil {
 		log.WithError(err).Fatal("Protobuf serialization error")
 	}
 
-	wb.WriteUint32(uint32(len(serialized)))
-	wb.Write(serialized)
+	wb.WrittenBytes(metadataSize)
 	wb.Write(payload)
 }
 
-func serializeBatch(wb Buffer, cmdSend proto.Message, msgMetadata proto.Message,
+func serializeBatch(wb Buffer,
+	cmdSend *pb.BaseCommand,
+	msgMetadata *pb.MessageMetadata,
 	uncompressedPayload Buffer,
 	compressionProvider compression.Provider) {
 	// Wire format
 	// [TOTAL_SIZE] [CMD_SIZE][CMD] [MAGIC_NUMBER][CHECKSUM] [METADATA_SIZE][METADATA] [PAYLOAD]
-	cmdSize := proto.Size(cmdSend)
-	msgMetadataSize := proto.Size(msgMetadata)
+	cmdSize := uint32(proto.Size(cmdSend))
+	msgMetadataSize := uint32(proto.Size(msgMetadata))
 
 	frameSizeIdx := wb.WriterIndex()
 	wb.WriteUint32(0) // Skip frame size until we now the size
 	frameStartIdx := wb.WriterIndex()
 
 	// Write cmd
-	wb.WriteUint32(uint32(cmdSize))
-	serialized, err := proto.Marshal(cmdSend)
+	wb.WriteUint32(cmdSize)
+	wb.ResizeIfNeeded(cmdSize)
+	_, err := cmdSend.MarshalToSizedBuffer(wb.WritableSlice()[:cmdSize])
 	if err != nil {
 		log.WithError(err).Fatal("Protobuf error when serializing cmdSend")
 	}
-
-	wb.Write(serialized)
+	wb.WrittenBytes(cmdSize)
 
 	// Create checksum placeholder
 	wb.WriteUint16(magicCrc32c)
@@ -241,13 +246,13 @@ func serializeBatch(wb Buffer, cmdSend proto.Message, msgMetadata proto.Message,
 
 	// Write metadata
 	metadataStartIdx := wb.WriterIndex()
-	wb.WriteUint32(uint32(msgMetadataSize))
-	serialized, err = proto.Marshal(msgMetadata)
+	wb.WriteUint32(msgMetadataSize)
+	wb.ResizeIfNeeded(msgMetadataSize)
+	_, err = msgMetadata.MarshalToSizedBuffer(wb.WritableSlice()[:msgMetadataSize])
 	if err != nil {
 		log.WithError(err).Fatal("Protobuf error when serializing msgMetadata")
 	}
-
-	wb.Write(serialized)
+	wb.WrittenBytes(msgMetadataSize)
 
 	// Make sure the buffer has enough space to hold the compressed data
 	// and perform the compression in-place
diff --git a/pulsar/internal/connection.go b/pulsar/internal/connection.go
index 9e6d79f..071309a 100644
--- a/pulsar/internal/connection.go
+++ b/pulsar/internal/connection.go
@@ -29,11 +29,11 @@ import (
 	"sync/atomic"
 	"time"
 
-	"github.com/golang/protobuf/proto"
+	"github.com/gogo/protobuf/proto"
 	log "github.com/sirupsen/logrus"
 
 	"github.com/apache/pulsar-client-go/pulsar/internal/auth"
-	"github.com/apache/pulsar-client-go/pulsar/internal/pb"
+	pb "github.com/apache/pulsar-client-go/pulsar/internal/pulsar_proto"
 )
 
 const (
@@ -390,10 +390,10 @@ func (c *connection) internalWriteData(data Buffer) {
 	}
 }
 
-func (c *connection) writeCommand(cmd proto.Message) {
+func (c *connection) writeCommand(cmd *pb.BaseCommand) {
 	// Wire format
 	// [FRAME_SIZE] [CMD_SIZE][CMD]
-	cmdSize := uint32(proto.Size(cmd))
+	cmdSize := uint32(cmd.Size())
 	frameSize := cmdSize + 4
 
 	c.writeBufferLock.Lock()
@@ -401,13 +401,14 @@ func (c *connection) writeCommand(cmd proto.Message) {
 
 	c.writeBuffer.Clear()
 	c.writeBuffer.WriteUint32(frameSize)
+
 	c.writeBuffer.WriteUint32(cmdSize)
-	serialized, err := proto.Marshal(cmd)
+	_, err := cmd.MarshalToSizedBuffer(c.writeBuffer.WritableSlice()[:cmdSize])
 	if err != nil {
 		c.log.WithError(err).Fatal("Protobuf serialization error")
 	}
 
-	c.writeBuffer.Write(serialized)
+	c.writeBuffer.WrittenBytes(cmdSize)
 	c.internalWriteData(c.writeBuffer)
 }
 
diff --git a/pulsar/internal/connection_reader.go b/pulsar/internal/connection_reader.go
index 10ad97b..60c179d 100644
--- a/pulsar/internal/connection_reader.go
+++ b/pulsar/internal/connection_reader.go
@@ -21,8 +21,8 @@ import (
 	"bufio"
 	"io"
 
-	"github.com/apache/pulsar-client-go/pulsar/internal/pb"
-	"github.com/golang/protobuf/proto"
+	pb "github.com/apache/pulsar-client-go/pulsar/internal/pulsar_proto"
+	"github.com/gogo/protobuf/proto"
 	"github.com/pkg/errors"
 )
 
diff --git a/pulsar/internal/lookup_service.go b/pulsar/internal/lookup_service.go
index 54d15ef..9537c57 100644
--- a/pulsar/internal/lookup_service.go
+++ b/pulsar/internal/lookup_service.go
@@ -22,8 +22,8 @@ import (
 	"fmt"
 	"net/url"
 
-	"github.com/apache/pulsar-client-go/pulsar/internal/pb"
-	"github.com/golang/protobuf/proto"
+	pb "github.com/apache/pulsar-client-go/pulsar/internal/pulsar_proto"
+	"github.com/gogo/protobuf/proto"
 
 	log "github.com/sirupsen/logrus"
 )
diff --git a/pulsar/internal/lookup_service_test.go b/pulsar/internal/lookup_service_test.go
index 2eeb566..1eead50 100644
--- a/pulsar/internal/lookup_service_test.go
+++ b/pulsar/internal/lookup_service_test.go
@@ -21,8 +21,8 @@ import (
 	"net/url"
 	"testing"
 
-	"github.com/apache/pulsar-client-go/pulsar/internal/pb"
-	"github.com/golang/protobuf/proto"
+	pb "github.com/apache/pulsar-client-go/pulsar/internal/pulsar_proto"
+	"github.com/gogo/protobuf/proto"
 	"github.com/stretchr/testify/assert"
 )
 
diff --git a/pulsar/internal/pb/PulsarApi.pb.go b/pulsar/internal/pb/PulsarApi.pb.go
deleted file mode 100644
index 4423da9..0000000
--- a/pulsar/internal/pb/PulsarApi.pb.go
+++ /dev/null
@@ -1,6188 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: PulsarApi.proto
-
-package pb
-
-import (
-	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
-	math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-
-type CompressionType int32
-
-const (
-	CompressionType_NONE   CompressionType = 0
-	CompressionType_LZ4    CompressionType = 1
-	CompressionType_ZLIB   CompressionType = 2
-	CompressionType_ZSTD   CompressionType = 3
-	CompressionType_SNAPPY CompressionType = 4
-)
-
-var CompressionType_name = map[int32]string{
-	0: "NONE",
-	1: "LZ4",
-	2: "ZLIB",
-	3: "ZSTD",
-	4: "SNAPPY",
-}
-
-var CompressionType_value = map[string]int32{
-	"NONE":   0,
-	"LZ4":    1,
-	"ZLIB":   2,
-	"ZSTD":   3,
-	"SNAPPY": 4,
-}
-
-func (x CompressionType) Enum() *CompressionType {
-	p := new(CompressionType)
-	*p = x
-	return p
-}
-
-func (x CompressionType) String() string {
-	return proto.EnumName(CompressionType_name, int32(x))
-}
-
-func (x *CompressionType) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(CompressionType_value, data, "CompressionType")
-	if err != nil {
-		return err
-	}
-	*x = CompressionType(value)
-	return nil
-}
-
-func (CompressionType) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{0}
-}
-
-type ServerError int32
-
-const (
-	ServerError_UnknownError        ServerError = 0
-	ServerError_MetadataError       ServerError = 1
-	ServerError_PersistenceError    ServerError = 2
-	ServerError_AuthenticationError ServerError = 3
-	ServerError_AuthorizationError  ServerError = 4
-	ServerError_ConsumerBusy        ServerError = 5
-	// other consumers are connected
-	ServerError_ServiceNotReady                       ServerError = 6
-	ServerError_ProducerBlockedQuotaExceededError     ServerError = 7
-	ServerError_ProducerBlockedQuotaExceededException ServerError = 8
-	ServerError_ChecksumError                         ServerError = 9
-	ServerError_UnsupportedVersionError               ServerError = 10
-	ServerError_TopicNotFound                         ServerError = 11
-	ServerError_SubscriptionNotFound                  ServerError = 12
-	ServerError_ConsumerNotFound                      ServerError = 13
-	ServerError_TooManyRequests                       ServerError = 14
-	ServerError_TopicTerminatedError                  ServerError = 15
-	ServerError_ProducerBusy                          ServerError = 16
-	ServerError_InvalidTopicName                      ServerError = 17
-	ServerError_IncompatibleSchema                    ServerError = 18
-	ServerError_ConsumerAssignError                   ServerError = 19
-	ServerError_TransactionCoordinatorNotFound        ServerError = 20
-	ServerError_InvalidTxnStatus                      ServerError = 21
-)
-
-var ServerError_name = map[int32]string{
-	0:  "UnknownError",
-	1:  "MetadataError",
-	2:  "PersistenceError",
-	3:  "AuthenticationError",
-	4:  "AuthorizationError",
-	5:  "ConsumerBusy",
-	6:  "ServiceNotReady",
-	7:  "ProducerBlockedQuotaExceededError",
-	8:  "ProducerBlockedQuotaExceededException",
-	9:  "ChecksumError",
-	10: "UnsupportedVersionError",
-	11: "TopicNotFound",
-	12: "SubscriptionNotFound",
-	13: "ConsumerNotFound",
-	14: "TooManyRequests",
-	15: "TopicTerminatedError",
-	16: "ProducerBusy",
-	17: "InvalidTopicName",
-	18: "IncompatibleSchema",
-	19: "ConsumerAssignError",
-	20: "TransactionCoordinatorNotFound",
-	21: "InvalidTxnStatus",
-}
-
-var ServerError_value = map[string]int32{
-	"UnknownError":                          0,
-	"MetadataError":                         1,
-	"PersistenceError":                      2,
-	"AuthenticationError":                   3,
-	"AuthorizationError":                    4,
-	"ConsumerBusy":                          5,
-	"ServiceNotReady":                       6,
-	"ProducerBlockedQuotaExceededError":     7,
-	"ProducerBlockedQuotaExceededException": 8,
-	"ChecksumError":                         9,
-	"UnsupportedVersionError":               10,
-	"TopicNotFound":                         11,
-	"SubscriptionNotFound":                  12,
-	"ConsumerNotFound":                      13,
-	"TooManyRequests":                       14,
-	"TopicTerminatedError":                  15,
-	"ProducerBusy":                          16,
-	"InvalidTopicName":                      17,
-	"IncompatibleSchema":                    18,
-	"ConsumerAssignError":                   19,
-	"TransactionCoordinatorNotFound":        20,
-	"InvalidTxnStatus":                      21,
-}
-
-func (x ServerError) Enum() *ServerError {
-	p := new(ServerError)
-	*p = x
-	return p
-}
-
-func (x ServerError) String() string {
-	return proto.EnumName(ServerError_name, int32(x))
-}
-
-func (x *ServerError) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(ServerError_value, data, "ServerError")
-	if err != nil {
-		return err
-	}
-	*x = ServerError(value)
-	return nil
-}
-
-func (ServerError) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{1}
-}
-
-type AuthMethod int32
-
-const (
-	AuthMethod_AuthMethodNone   AuthMethod = 0
-	AuthMethod_AuthMethodYcaV1  AuthMethod = 1
-	AuthMethod_AuthMethodAthens AuthMethod = 2
-)
-
-var AuthMethod_name = map[int32]string{
-	0: "AuthMethodNone",
-	1: "AuthMethodYcaV1",
-	2: "AuthMethodAthens",
-}
-
-var AuthMethod_value = map[string]int32{
-	"AuthMethodNone":   0,
-	"AuthMethodYcaV1":  1,
-	"AuthMethodAthens": 2,
-}
-
-func (x AuthMethod) Enum() *AuthMethod {
-	p := new(AuthMethod)
-	*p = x
-	return p
-}
-
-func (x AuthMethod) String() string {
-	return proto.EnumName(AuthMethod_name, int32(x))
-}
-
-func (x *AuthMethod) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(AuthMethod_value, data, "AuthMethod")
-	if err != nil {
-		return err
-	}
-	*x = AuthMethod(value)
-	return nil
-}
-
-func (AuthMethod) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{2}
-}
-
-// Each protocol version identify new features that are
-// incrementally added to the protocol
-type ProtocolVersion int32
-
-const (
-	ProtocolVersion_v0  ProtocolVersion = 0
-	ProtocolVersion_v1  ProtocolVersion = 1
-	ProtocolVersion_v2  ProtocolVersion = 2
-	ProtocolVersion_v3  ProtocolVersion = 3
-	ProtocolVersion_v4  ProtocolVersion = 4
-	ProtocolVersion_v5  ProtocolVersion = 5
-	ProtocolVersion_v6  ProtocolVersion = 6
-	ProtocolVersion_v7  ProtocolVersion = 7
-	ProtocolVersion_v8  ProtocolVersion = 8
-	ProtocolVersion_v9  ProtocolVersion = 9
-	ProtocolVersion_v10 ProtocolVersion = 10
-	ProtocolVersion_v11 ProtocolVersion = 11
-	ProtocolVersion_v12 ProtocolVersion = 12
-	// Added CommandActiveConsumerChange
-	// Added CommandGetTopicsOfNamespace
-	ProtocolVersion_v13 ProtocolVersion = 13
-	ProtocolVersion_v14 ProtocolVersion = 14
-	// Added Key_Shared subscription
-	ProtocolVersion_v15 ProtocolVersion = 15
-)
-
-var ProtocolVersion_name = map[int32]string{
-	0:  "v0",
-	1:  "v1",
-	2:  "v2",
-	3:  "v3",
-	4:  "v4",
-	5:  "v5",
-	6:  "v6",
-	7:  "v7",
-	8:  "v8",
-	9:  "v9",
-	10: "v10",
-	11: "v11",
-	12: "v12",
-	13: "v13",
-	14: "v14",
-	15: "v15",
-}
-
-var ProtocolVersion_value = map[string]int32{
-	"v0":  0,
-	"v1":  1,
-	"v2":  2,
-	"v3":  3,
-	"v4":  4,
-	"v5":  5,
-	"v6":  6,
-	"v7":  7,
-	"v8":  8,
-	"v9":  9,
-	"v10": 10,
-	"v11": 11,
-	"v12": 12,
-	"v13": 13,
-	"v14": 14,
-	"v15": 15,
-}
-
-func (x ProtocolVersion) Enum() *ProtocolVersion {
-	p := new(ProtocolVersion)
-	*p = x
-	return p
-}
-
-func (x ProtocolVersion) String() string {
-	return proto.EnumName(ProtocolVersion_name, int32(x))
-}
-
-func (x *ProtocolVersion) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(ProtocolVersion_value, data, "ProtocolVersion")
-	if err != nil {
-		return err
-	}
-	*x = ProtocolVersion(value)
-	return nil
-}
-
-func (ProtocolVersion) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{3}
-}
-
-type KeySharedMode int32
-
-const (
-	KeySharedMode_AUTO_SPLIT KeySharedMode = 0
-	KeySharedMode_STICKY     KeySharedMode = 1
-)
-
-var KeySharedMode_name = map[int32]string{
-	0: "AUTO_SPLIT",
-	1: "STICKY",
-}
-
-var KeySharedMode_value = map[string]int32{
-	"AUTO_SPLIT": 0,
-	"STICKY":     1,
-}
-
-func (x KeySharedMode) Enum() *KeySharedMode {
-	p := new(KeySharedMode)
-	*p = x
-	return p
-}
-
-func (x KeySharedMode) String() string {
-	return proto.EnumName(KeySharedMode_name, int32(x))
-}
-
-func (x *KeySharedMode) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(KeySharedMode_value, data, "KeySharedMode")
-	if err != nil {
-		return err
-	}
-	*x = KeySharedMode(value)
-	return nil
-}
-
-func (KeySharedMode) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{4}
-}
-
-type TxnAction int32
-
-const (
-	TxnAction_COMMIT TxnAction = 0
-	TxnAction_ABORT  TxnAction = 1
-)
-
-var TxnAction_name = map[int32]string{
-	0: "COMMIT",
-	1: "ABORT",
-}
-
-var TxnAction_value = map[string]int32{
-	"COMMIT": 0,
-	"ABORT":  1,
-}
-
-func (x TxnAction) Enum() *TxnAction {
-	p := new(TxnAction)
-	*p = x
-	return p
-}
-
-func (x TxnAction) String() string {
-	return proto.EnumName(TxnAction_name, int32(x))
-}
-
-func (x *TxnAction) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(TxnAction_value, data, "TxnAction")
-	if err != nil {
-		return err
-	}
-	*x = TxnAction(value)
-	return nil
-}
-
-func (TxnAction) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{5}
-}
-
-type Schema_Type int32
-
-const (
-	Schema_None      Schema_Type = 0
-	Schema_String    Schema_Type = 1
-	Schema_Json      Schema_Type = 2
-	Schema_Protobuf  Schema_Type = 3
-	Schema_Avro      Schema_Type = 4
-	Schema_Bool      Schema_Type = 5
-	Schema_Int8      Schema_Type = 6
-	Schema_Int16     Schema_Type = 7
-	Schema_Int32     Schema_Type = 8
-	Schema_Int64     Schema_Type = 9
-	Schema_Float     Schema_Type = 10
-	Schema_Double    Schema_Type = 11
-	Schema_Date      Schema_Type = 12
-	Schema_Time      Schema_Type = 13
-	Schema_Timestamp Schema_Type = 14
-	Schema_KeyValue  Schema_Type = 15
-)
-
-var Schema_Type_name = map[int32]string{
-	0:  "None",
-	1:  "String",
-	2:  "Json",
-	3:  "Protobuf",
-	4:  "Avro",
-	5:  "Bool",
-	6:  "Int8",
-	7:  "Int16",
-	8:  "Int32",
-	9:  "Int64",
-	10: "Float",
-	11: "Double",
-	12: "Date",
-	13: "Time",
-	14: "Timestamp",
-	15: "KeyValue",
-}
-
-var Schema_Type_value = map[string]int32{
-	"None":      0,
-	"String":    1,
-	"Json":      2,
-	"Protobuf":  3,
-	"Avro":      4,
-	"Bool":      5,
-	"Int8":      6,
-	"Int16":     7,
-	"Int32":     8,
-	"Int64":     9,
-	"Float":     10,
-	"Double":    11,
-	"Date":      12,
-	"Time":      13,
-	"Timestamp": 14,
-	"KeyValue":  15,
-}
-
-func (x Schema_Type) Enum() *Schema_Type {
-	p := new(Schema_Type)
-	*p = x
-	return p
-}
-
-func (x Schema_Type) String() string {
-	return proto.EnumName(Schema_Type_name, int32(x))
-}
-
-func (x *Schema_Type) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(Schema_Type_value, data, "Schema_Type")
-	if err != nil {
-		return err
-	}
-	*x = Schema_Type(value)
-	return nil
-}
-
-func (Schema_Type) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{0, 0}
-}
-
-type CommandSubscribe_SubType int32
-
-const (
-	CommandSubscribe_Exclusive  CommandSubscribe_SubType = 0
-	CommandSubscribe_Shared     CommandSubscribe_SubType = 1
-	CommandSubscribe_Failover   CommandSubscribe_SubType = 2
-	CommandSubscribe_Key_Shared CommandSubscribe_SubType = 3
-)
-
-var CommandSubscribe_SubType_name = map[int32]string{
-	0: "Exclusive",
-	1: "Shared",
-	2: "Failover",
-	3: "Key_Shared",
-}
-
-var CommandSubscribe_SubType_value = map[string]int32{
-	"Exclusive":  0,
-	"Shared":     1,
-	"Failover":   2,
-	"Key_Shared": 3,
-}
-
-func (x CommandSubscribe_SubType) Enum() *CommandSubscribe_SubType {
-	p := new(CommandSubscribe_SubType)
-	*p = x
-	return p
-}
-
-func (x CommandSubscribe_SubType) String() string {
-	return proto.EnumName(CommandSubscribe_SubType_name, int32(x))
-}
-
-func (x *CommandSubscribe_SubType) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(CommandSubscribe_SubType_value, data, "CommandSubscribe_SubType")
-	if err != nil {
-		return err
-	}
-	*x = CommandSubscribe_SubType(value)
-	return nil
-}
-
-func (CommandSubscribe_SubType) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{15, 0}
-}
-
-type CommandSubscribe_InitialPosition int32
-
-const (
-	CommandSubscribe_Latest   CommandSubscribe_InitialPosition = 0
-	CommandSubscribe_Earliest CommandSubscribe_InitialPosition = 1
-)
-
-var CommandSubscribe_InitialPosition_name = map[int32]string{
-	0: "Latest",
-	1: "Earliest",
-}
-
-var CommandSubscribe_InitialPosition_value = map[string]int32{
-	"Latest":   0,
-	"Earliest": 1,
-}
-
-func (x CommandSubscribe_InitialPosition) Enum() *CommandSubscribe_InitialPosition {
-	p := new(CommandSubscribe_InitialPosition)
-	*p = x
-	return p
-}
-
-func (x CommandSubscribe_InitialPosition) String() string {
-	return proto.EnumName(CommandSubscribe_InitialPosition_name, int32(x))
-}
-
-func (x *CommandSubscribe_InitialPosition) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(CommandSubscribe_InitialPosition_value, data, "CommandSubscribe_InitialPosition")
-	if err != nil {
-		return err
-	}
-	*x = CommandSubscribe_InitialPosition(value)
-	return nil
-}
-
-func (CommandSubscribe_InitialPosition) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{15, 1}
-}
-
-type CommandPartitionedTopicMetadataResponse_LookupType int32
-
-const (
-	CommandPartitionedTopicMetadataResponse_Success CommandPartitionedTopicMetadataResponse_LookupType = 0
-	CommandPartitionedTopicMetadataResponse_Failed  CommandPartitionedTopicMetadataResponse_LookupType = 1
-)
-
-var CommandPartitionedTopicMetadataResponse_LookupType_name = map[int32]string{
-	0: "Success",
-	1: "Failed",
-}
-
-var CommandPartitionedTopicMetadataResponse_LookupType_value = map[string]int32{
-	"Success": 0,
-	"Failed":  1,
-}
-
-func (x CommandPartitionedTopicMetadataResponse_LookupType) Enum() *CommandPartitionedTopicMetadataResponse_LookupType {
-	p := new(CommandPartitionedTopicMetadataResponse_LookupType)
-	*p = x
-	return p
-}
-
-func (x CommandPartitionedTopicMetadataResponse_LookupType) String() string {
-	return proto.EnumName(CommandPartitionedTopicMetadataResponse_LookupType_name, int32(x))
-}
-
-func (x *CommandPartitionedTopicMetadataResponse_LookupType) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(CommandPartitionedTopicMetadataResponse_LookupType_value, data, "CommandPartitionedTopicMetadataResponse_LookupType")
-	if err != nil {
-		return err
-	}
-	*x = CommandPartitionedTopicMetadataResponse_LookupType(value)
-	return nil
-}
-
-func (CommandPartitionedTopicMetadataResponse_LookupType) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{17, 0}
-}
-
-type CommandLookupTopicResponse_LookupType int32
-
-const (
-	CommandLookupTopicResponse_Redirect CommandLookupTopicResponse_LookupType = 0
-	CommandLookupTopicResponse_Connect  CommandLookupTopicResponse_LookupType = 1
-	CommandLookupTopicResponse_Failed   CommandLookupTopicResponse_LookupType = 2
-)
-
-var CommandLookupTopicResponse_LookupType_name = map[int32]string{
-	0: "Redirect",
-	1: "Connect",
-	2: "Failed",
-}
-
-var CommandLookupTopicResponse_LookupType_value = map[string]int32{
-	"Redirect": 0,
-	"Connect":  1,
-	"Failed":   2,
-}
-
-func (x CommandLookupTopicResponse_LookupType) Enum() *CommandLookupTopicResponse_LookupType {
-	p := new(CommandLookupTopicResponse_LookupType)
-	*p = x
-	return p
-}
-
-func (x CommandLookupTopicResponse_LookupType) String() string {
-	return proto.EnumName(CommandLookupTopicResponse_LookupType_name, int32(x))
-}
-
-func (x *CommandLookupTopicResponse_LookupType) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(CommandLookupTopicResponse_LookupType_value, data, "CommandLookupTopicResponse_LookupType")
-	if err != nil {
-		return err
-	}
-	*x = CommandLookupTopicResponse_LookupType(value)
-	return nil
-}
-
-func (CommandLookupTopicResponse_LookupType) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{19, 0}
-}
-
-type CommandAck_AckType int32
-
-const (
-	CommandAck_Individual CommandAck_AckType = 0
-	CommandAck_Cumulative CommandAck_AckType = 1
-)
-
-var CommandAck_AckType_name = map[int32]string{
-	0: "Individual",
-	1: "Cumulative",
-}
-
-var CommandAck_AckType_value = map[string]int32{
-	"Individual": 0,
-	"Cumulative": 1,
-}
-
-func (x CommandAck_AckType) Enum() *CommandAck_AckType {
-	p := new(CommandAck_AckType)
-	*p = x
-	return p
-}
-
-func (x CommandAck_AckType) String() string {
-	return proto.EnumName(CommandAck_AckType_name, int32(x))
-}
-
-func (x *CommandAck_AckType) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(CommandAck_AckType_value, data, "CommandAck_AckType")
-	if err != nil {
-		return err
-	}
-	*x = CommandAck_AckType(value)
-	return nil
-}
-
-func (CommandAck_AckType) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{25, 0}
-}
-
-// Acks can contain a flag to indicate the consumer
-// received an invalid message that got discarded
-// before being passed on to the application.
-type CommandAck_ValidationError int32
-
-const (
-	CommandAck_UncompressedSizeCorruption CommandAck_ValidationError = 0
-	CommandAck_DecompressionError         CommandAck_ValidationError = 1
-	CommandAck_ChecksumMismatch           CommandAck_ValidationError = 2
-	CommandAck_BatchDeSerializeError      CommandAck_ValidationError = 3
-	CommandAck_DecryptionError            CommandAck_ValidationError = 4
-)
-
-var CommandAck_ValidationError_name = map[int32]string{
-	0: "UncompressedSizeCorruption",
-	1: "DecompressionError",
-	2: "ChecksumMismatch",
-	3: "BatchDeSerializeError",
-	4: "DecryptionError",
-}
-
-var CommandAck_ValidationError_value = map[string]int32{
-	"UncompressedSizeCorruption": 0,
-	"DecompressionError":         1,
-	"ChecksumMismatch":           2,
-	"BatchDeSerializeError":      3,
-	"DecryptionError":            4,
-}
-
-func (x CommandAck_ValidationError) Enum() *CommandAck_ValidationError {
-	p := new(CommandAck_ValidationError)
-	*p = x
-	return p
-}
-
-func (x CommandAck_ValidationError) String() string {
-	return proto.EnumName(CommandAck_ValidationError_name, int32(x))
-}
-
-func (x *CommandAck_ValidationError) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(CommandAck_ValidationError_value, data, "CommandAck_ValidationError")
-	if err != nil {
-		return err
-	}
-	*x = CommandAck_ValidationError(value)
-	return nil
-}
-
-func (CommandAck_ValidationError) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{25, 1}
-}
-
-type CommandGetTopicsOfNamespace_Mode int32
-
-const (
-	CommandGetTopicsOfNamespace_PERSISTENT     CommandGetTopicsOfNamespace_Mode = 0
-	CommandGetTopicsOfNamespace_NON_PERSISTENT CommandGetTopicsOfNamespace_Mode = 1
-	CommandGetTopicsOfNamespace_ALL            CommandGetTopicsOfNamespace_Mode = 2
-)
-
-var CommandGetTopicsOfNamespace_Mode_name = map[int32]string{
-	0: "PERSISTENT",
-	1: "NON_PERSISTENT",
-	2: "ALL",
-}
-
-var CommandGetTopicsOfNamespace_Mode_value = map[string]int32{
-	"PERSISTENT":     0,
-	"NON_PERSISTENT": 1,
-	"ALL":            2,
-}
-
-func (x CommandGetTopicsOfNamespace_Mode) Enum() *CommandGetTopicsOfNamespace_Mode {
-	p := new(CommandGetTopicsOfNamespace_Mode)
-	*p = x
-	return p
-}
-
-func (x CommandGetTopicsOfNamespace_Mode) String() string {
-	return proto.EnumName(CommandGetTopicsOfNamespace_Mode_name, int32(x))
-}
-
-func (x *CommandGetTopicsOfNamespace_Mode) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(CommandGetTopicsOfNamespace_Mode_value, data, "CommandGetTopicsOfNamespace_Mode")
-	if err != nil {
-		return err
-	}
-	*x = CommandGetTopicsOfNamespace_Mode(value)
-	return nil
-}
-
-func (CommandGetTopicsOfNamespace_Mode) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{44, 0}
-}
-
-type BaseCommand_Type int32
-
-const (
-	BaseCommand_CONNECT                           BaseCommand_Type = 2
-	BaseCommand_CONNECTED                         BaseCommand_Type = 3
-	BaseCommand_SUBSCRIBE                         BaseCommand_Type = 4
-	BaseCommand_PRODUCER                          BaseCommand_Type = 5
-	BaseCommand_SEND                              BaseCommand_Type = 6
-	BaseCommand_SEND_RECEIPT                      BaseCommand_Type = 7
-	BaseCommand_SEND_ERROR                        BaseCommand_Type = 8
-	BaseCommand_MESSAGE                           BaseCommand_Type = 9
-	BaseCommand_ACK                               BaseCommand_Type = 10
-	BaseCommand_FLOW                              BaseCommand_Type = 11
-	BaseCommand_UNSUBSCRIBE                       BaseCommand_Type = 12
-	BaseCommand_SUCCESS                           BaseCommand_Type = 13
-	BaseCommand_ERROR                             BaseCommand_Type = 14
-	BaseCommand_CLOSE_PRODUCER                    BaseCommand_Type = 15
-	BaseCommand_CLOSE_CONSUMER                    BaseCommand_Type = 16
-	BaseCommand_PRODUCER_SUCCESS                  BaseCommand_Type = 17
-	BaseCommand_PING                              BaseCommand_Type = 18
-	BaseCommand_PONG                              BaseCommand_Type = 19
-	BaseCommand_REDELIVER_UNACKNOWLEDGED_MESSAGES BaseCommand_Type = 20
-	BaseCommand_PARTITIONED_METADATA              BaseCommand_Type = 21
-	BaseCommand_PARTITIONED_METADATA_RESPONSE     BaseCommand_Type = 22
-	BaseCommand_LOOKUP                            BaseCommand_Type = 23
-	BaseCommand_LOOKUP_RESPONSE                   BaseCommand_Type = 24
-	BaseCommand_CONSUMER_STATS                    BaseCommand_Type = 25
-	BaseCommand_CONSUMER_STATS_RESPONSE           BaseCommand_Type = 26
-	BaseCommand_REACHED_END_OF_TOPIC              BaseCommand_Type = 27
-	BaseCommand_SEEK                              BaseCommand_Type = 28
-	BaseCommand_GET_LAST_MESSAGE_ID               BaseCommand_Type = 29
-	BaseCommand_GET_LAST_MESSAGE_ID_RESPONSE      BaseCommand_Type = 30
-	BaseCommand_ACTIVE_CONSUMER_CHANGE            BaseCommand_Type = 31
-	BaseCommand_GET_TOPICS_OF_NAMESPACE           BaseCommand_Type = 32
-	BaseCommand_GET_TOPICS_OF_NAMESPACE_RESPONSE  BaseCommand_Type = 33
-	BaseCommand_GET_SCHEMA                        BaseCommand_Type = 34
-	BaseCommand_GET_SCHEMA_RESPONSE               BaseCommand_Type = 35
-	BaseCommand_AUTH_CHALLENGE                    BaseCommand_Type = 36
-	BaseCommand_AUTH_RESPONSE                     BaseCommand_Type = 37
-	BaseCommand_ACK_RESPONSE                      BaseCommand_Type = 38
-	BaseCommand_GET_OR_CREATE_SCHEMA              BaseCommand_Type = 39
-	BaseCommand_GET_OR_CREATE_SCHEMA_RESPONSE     BaseCommand_Type = 40
-	// transaction related
-	BaseCommand_NEW_TXN                          BaseCommand_Type = 50
-	BaseCommand_NEW_TXN_RESPONSE                 BaseCommand_Type = 51
-	BaseCommand_ADD_PARTITION_TO_TXN             BaseCommand_Type = 52
-	BaseCommand_ADD_PARTITION_TO_TXN_RESPONSE    BaseCommand_Type = 53
-	BaseCommand_ADD_SUBSCRIPTION_TO_TXN          BaseCommand_Type = 54
-	BaseCommand_ADD_SUBSCRIPTION_TO_TXN_RESPONSE BaseCommand_Type = 55
-	BaseCommand_END_TXN                          BaseCommand_Type = 56
-	BaseCommand_END_TXN_RESPONSE                 BaseCommand_Type = 57
-	BaseCommand_END_TXN_ON_PARTITION             BaseCommand_Type = 58
-	BaseCommand_END_TXN_ON_PARTITION_RESPONSE    BaseCommand_Type = 59
-	BaseCommand_END_TXN_ON_SUBSCRIPTION          BaseCommand_Type = 60
-	BaseCommand_END_TXN_ON_SUBSCRIPTION_RESPONSE BaseCommand_Type = 61
-)
-
-var BaseCommand_Type_name = map[int32]string{
-	2:  "CONNECT",
-	3:  "CONNECTED",
-	4:  "SUBSCRIBE",
-	5:  "PRODUCER",
-	6:  "SEND",
-	7:  "SEND_RECEIPT",
-	8:  "SEND_ERROR",
-	9:  "MESSAGE",
-	10: "ACK",
-	11: "FLOW",
-	12: "UNSUBSCRIBE",
-	13: "SUCCESS",
-	14: "ERROR",
-	15: "CLOSE_PRODUCER",
-	16: "CLOSE_CONSUMER",
-	17: "PRODUCER_SUCCESS",
-	18: "PING",
-	19: "PONG",
-	20: "REDELIVER_UNACKNOWLEDGED_MESSAGES",
-	21: "PARTITIONED_METADATA",
-	22: "PARTITIONED_METADATA_RESPONSE",
-	23: "LOOKUP",
-	24: "LOOKUP_RESPONSE",
-	25: "CONSUMER_STATS",
-	26: "CONSUMER_STATS_RESPONSE",
-	27: "REACHED_END_OF_TOPIC",
-	28: "SEEK",
-	29: "GET_LAST_MESSAGE_ID",
-	30: "GET_LAST_MESSAGE_ID_RESPONSE",
-	31: "ACTIVE_CONSUMER_CHANGE",
-	32: "GET_TOPICS_OF_NAMESPACE",
-	33: "GET_TOPICS_OF_NAMESPACE_RESPONSE",
-	34: "GET_SCHEMA",
-	35: "GET_SCHEMA_RESPONSE",
-	36: "AUTH_CHALLENGE",
-	37: "AUTH_RESPONSE",
-	38: "ACK_RESPONSE",
-	39: "GET_OR_CREATE_SCHEMA",
-	40: "GET_OR_CREATE_SCHEMA_RESPONSE",
-	50: "NEW_TXN",
-	51: "NEW_TXN_RESPONSE",
-	52: "ADD_PARTITION_TO_TXN",
-	53: "ADD_PARTITION_TO_TXN_RESPONSE",
-	54: "ADD_SUBSCRIPTION_TO_TXN",
-	55: "ADD_SUBSCRIPTION_TO_TXN_RESPONSE",
-	56: "END_TXN",
-	57: "END_TXN_RESPONSE",
-	58: "END_TXN_ON_PARTITION",
-	59: "END_TXN_ON_PARTITION_RESPONSE",
-	60: "END_TXN_ON_SUBSCRIPTION",
-	61: "END_TXN_ON_SUBSCRIPTION_RESPONSE",
-}
-
-var BaseCommand_Type_value = map[string]int32{
-	"CONNECT":                           2,
-	"CONNECTED":                         3,
-	"SUBSCRIBE":                         4,
-	"PRODUCER":                          5,
-	"SEND":                              6,
-	"SEND_RECEIPT":                      7,
-	"SEND_ERROR":                        8,
-	"MESSAGE":                           9,
-	"ACK":                               10,
-	"FLOW":                              11,
-	"UNSUBSCRIBE":                       12,
-	"SUCCESS":                           13,
-	"ERROR":                             14,
-	"CLOSE_PRODUCER":                    15,
-	"CLOSE_CONSUMER":                    16,
-	"PRODUCER_SUCCESS":                  17,
-	"PING":                              18,
-	"PONG":                              19,
-	"REDELIVER_UNACKNOWLEDGED_MESSAGES": 20,
-	"PARTITIONED_METADATA":              21,
-	"PARTITIONED_METADATA_RESPONSE":     22,
-	"LOOKUP":                            23,
-	"LOOKUP_RESPONSE":                   24,
-	"CONSUMER_STATS":                    25,
-	"CONSUMER_STATS_RESPONSE":           26,
-	"REACHED_END_OF_TOPIC":              27,
-	"SEEK":                              28,
-	"GET_LAST_MESSAGE_ID":               29,
-	"GET_LAST_MESSAGE_ID_RESPONSE":      30,
-	"ACTIVE_CONSUMER_CHANGE":            31,
-	"GET_TOPICS_OF_NAMESPACE":           32,
-	"GET_TOPICS_OF_NAMESPACE_RESPONSE":  33,
-	"GET_SCHEMA":                        34,
-	"GET_SCHEMA_RESPONSE":               35,
-	"AUTH_CHALLENGE":                    36,
-	"AUTH_RESPONSE":                     37,
-	"ACK_RESPONSE":                      38,
-	"GET_OR_CREATE_SCHEMA":              39,
-	"GET_OR_CREATE_SCHEMA_RESPONSE":     40,
-	"NEW_TXN":                           50,
-	"NEW_TXN_RESPONSE":                  51,
-	"ADD_PARTITION_TO_TXN":              52,
-	"ADD_PARTITION_TO_TXN_RESPONSE":     53,
-	"ADD_SUBSCRIPTION_TO_TXN":           54,
-	"ADD_SUBSCRIPTION_TO_TXN_RESPONSE":  55,
-	"END_TXN":                           56,
-	"END_TXN_RESPONSE":                  57,
-	"END_TXN_ON_PARTITION":              58,
-	"END_TXN_ON_PARTITION_RESPONSE":     59,
-	"END_TXN_ON_SUBSCRIPTION":           60,
-	"END_TXN_ON_SUBSCRIPTION_RESPONSE":  61,
-}
-
-func (x BaseCommand_Type) Enum() *BaseCommand_Type {
-	p := new(BaseCommand_Type)
-	*p = x
-	return p
-}
-
-func (x BaseCommand_Type) String() string {
-	return proto.EnumName(BaseCommand_Type_name, int32(x))
-}
-
-func (x *BaseCommand_Type) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(BaseCommand_Type_value, data, "BaseCommand_Type")
-	if err != nil {
-		return err
-	}
-	*x = BaseCommand_Type(value)
-	return nil
-}
-
-func (BaseCommand_Type) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{63, 0}
-}
-
-type Schema struct {
-	Name                 *string      `protobuf:"bytes,1,req,name=name" json:"name,omitempty"`
-	SchemaData           []byte       `protobuf:"bytes,3,req,name=schema_data,json=schemaData" json:"schema_data,omitempty"`
-	Type                 *Schema_Type `protobuf:"varint,4,req,name=type,enum=pulsar.proto.Schema_Type" json:"type,omitempty"`
-	Properties           []*KeyValue  `protobuf:"bytes,5,rep,name=properties" json:"properties,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
-}
-
-func (m *Schema) Reset()         { *m = Schema{} }
-func (m *Schema) String() string { return proto.CompactTextString(m) }
-func (*Schema) ProtoMessage()    {}
-func (*Schema) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{0}
-}
-
-func (m *Schema) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Schema.Unmarshal(m, b)
-}
-func (m *Schema) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Schema.Marshal(b, m, deterministic)
-}
-func (m *Schema) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Schema.Merge(m, src)
-}
-func (m *Schema) XXX_Size() int {
-	return xxx_messageInfo_Schema.Size(m)
-}
-func (m *Schema) XXX_DiscardUnknown() {
-	xxx_messageInfo_Schema.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Schema proto.InternalMessageInfo
-
-func (m *Schema) GetName() string {
-	if m != nil && m.Name != nil {
-		return *m.Name
-	}
-	return ""
-}
-
-func (m *Schema) GetSchemaData() []byte {
-	if m != nil {
-		return m.SchemaData
-	}
-	return nil
-}
-
-func (m *Schema) GetType() Schema_Type {
-	if m != nil && m.Type != nil {
-		return *m.Type
-	}
-	return Schema_None
-}
-
-func (m *Schema) GetProperties() []*KeyValue {
-	if m != nil {
-		return m.Properties
-	}
-	return nil
-}
-
-type MessageIdData struct {
-	LedgerId             *uint64  `protobuf:"varint,1,req,name=ledgerId" json:"ledgerId,omitempty"`
-	EntryId              *uint64  `protobuf:"varint,2,req,name=entryId" json:"entryId,omitempty"`
-	Partition            *int32   `protobuf:"varint,3,opt,name=partition,def=-1" json:"partition,omitempty"`
-	BatchIndex           *int32   `protobuf:"varint,4,opt,name=batch_index,json=batchIndex,def=-1" json:"batch_index,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *MessageIdData) Reset()         { *m = MessageIdData{} }
-func (m *MessageIdData) String() string { return proto.CompactTextString(m) }
-func (*MessageIdData) ProtoMessage()    {}
-func (*MessageIdData) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{1}
-}
-
-func (m *MessageIdData) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_MessageIdData.Unmarshal(m, b)
-}
-func (m *MessageIdData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_MessageIdData.Marshal(b, m, deterministic)
-}
-func (m *MessageIdData) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_MessageIdData.Merge(m, src)
-}
-func (m *MessageIdData) XXX_Size() int {
-	return xxx_messageInfo_MessageIdData.Size(m)
-}
-func (m *MessageIdData) XXX_DiscardUnknown() {
-	xxx_messageInfo_MessageIdData.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_MessageIdData proto.InternalMessageInfo
-
-const Default_MessageIdData_Partition int32 = -1
-const Default_MessageIdData_BatchIndex int32 = -1
-
-func (m *MessageIdData) GetLedgerId() uint64 {
-	if m != nil && m.LedgerId != nil {
-		return *m.LedgerId
-	}
-	return 0
-}
-
-func (m *MessageIdData) GetEntryId() uint64 {
-	if m != nil && m.EntryId != nil {
-		return *m.EntryId
-	}
-	return 0
-}
-
-func (m *MessageIdData) GetPartition() int32 {
-	if m != nil && m.Partition != nil {
-		return *m.Partition
-	}
-	return Default_MessageIdData_Partition
-}
-
-func (m *MessageIdData) GetBatchIndex() int32 {
-	if m != nil && m.BatchIndex != nil {
-		return *m.BatchIndex
-	}
-	return Default_MessageIdData_BatchIndex
-}
-
-type KeyValue struct {
-	Key                  *string  `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
-	Value                *string  `protobuf:"bytes,2,req,name=value" json:"value,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *KeyValue) Reset()         { *m = KeyValue{} }
-func (m *KeyValue) String() string { return proto.CompactTextString(m) }
-func (*KeyValue) ProtoMessage()    {}
-func (*KeyValue) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{2}
-}
-
-func (m *KeyValue) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_KeyValue.Unmarshal(m, b)
-}
-func (m *KeyValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_KeyValue.Marshal(b, m, deterministic)
-}
-func (m *KeyValue) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_KeyValue.Merge(m, src)
-}
-func (m *KeyValue) XXX_Size() int {
-	return xxx_messageInfo_KeyValue.Size(m)
-}
-func (m *KeyValue) XXX_DiscardUnknown() {
-	xxx_messageInfo_KeyValue.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_KeyValue proto.InternalMessageInfo
-
-func (m *KeyValue) GetKey() string {
-	if m != nil && m.Key != nil {
-		return *m.Key
-	}
-	return ""
-}
-
-func (m *KeyValue) GetValue() string {
-	if m != nil && m.Value != nil {
-		return *m.Value
-	}
-	return ""
-}
-
-type KeyLongValue struct {
-	Key                  *string  `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
-	Value                *uint64  `protobuf:"varint,2,req,name=value" json:"value,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *KeyLongValue) Reset()         { *m = KeyLongValue{} }
-func (m *KeyLongValue) String() string { return proto.CompactTextString(m) }
-func (*KeyLongValue) ProtoMessage()    {}
-func (*KeyLongValue) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{3}
-}
-
-func (m *KeyLongValue) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_KeyLongValue.Unmarshal(m, b)
-}
-func (m *KeyLongValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_KeyLongValue.Marshal(b, m, deterministic)
-}
-func (m *KeyLongValue) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_KeyLongValue.Merge(m, src)
-}
-func (m *KeyLongValue) XXX_Size() int {
-	return xxx_messageInfo_KeyLongValue.Size(m)
-}
-func (m *KeyLongValue) XXX_DiscardUnknown() {
-	xxx_messageInfo_KeyLongValue.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_KeyLongValue proto.InternalMessageInfo
-
-func (m *KeyLongValue) GetKey() string {
-	if m != nil && m.Key != nil {
-		return *m.Key
-	}
-	return ""
-}
-
-func (m *KeyLongValue) GetValue() uint64 {
-	if m != nil && m.Value != nil {
-		return *m.Value
-	}
-	return 0
-}
-
-type IntRange struct {
-	Start                *int32   `protobuf:"varint,1,req,name=start" json:"start,omitempty"`
-	End                  *int32   `protobuf:"varint,2,req,name=end" json:"end,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *IntRange) Reset()         { *m = IntRange{} }
-func (m *IntRange) String() string { return proto.CompactTextString(m) }
-func (*IntRange) ProtoMessage()    {}
-func (*IntRange) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{4}
-}
-
-func (m *IntRange) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_IntRange.Unmarshal(m, b)
-}
-func (m *IntRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_IntRange.Marshal(b, m, deterministic)
-}
-func (m *IntRange) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_IntRange.Merge(m, src)
-}
-func (m *IntRange) XXX_Size() int {
-	return xxx_messageInfo_IntRange.Size(m)
-}
-func (m *IntRange) XXX_DiscardUnknown() {
-	xxx_messageInfo_IntRange.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_IntRange proto.InternalMessageInfo
-
-func (m *IntRange) GetStart() int32 {
-	if m != nil && m.Start != nil {
-		return *m.Start
-	}
-	return 0
-}
-
-func (m *IntRange) GetEnd() int32 {
-	if m != nil && m.End != nil {
-		return *m.End
-	}
-	return 0
-}
-
-type EncryptionKeys struct {
-	Key                  *string     `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
-	Value                []byte      `protobuf:"bytes,2,req,name=value" json:"value,omitempty"`
-	Metadata             []*KeyValue `protobuf:"bytes,3,rep,name=metadata" json:"metadata,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
-	XXX_unrecognized     []byte      `json:"-"`
-	XXX_sizecache        int32       `json:"-"`
-}
-
-func (m *EncryptionKeys) Reset()         { *m = EncryptionKeys{} }
-func (m *EncryptionKeys) String() string { return proto.CompactTextString(m) }
-func (*EncryptionKeys) ProtoMessage()    {}
-func (*EncryptionKeys) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{5}
-}
-
-func (m *EncryptionKeys) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_EncryptionKeys.Unmarshal(m, b)
-}
-func (m *EncryptionKeys) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_EncryptionKeys.Marshal(b, m, deterministic)
-}
-func (m *EncryptionKeys) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_EncryptionKeys.Merge(m, src)
-}
-func (m *EncryptionKeys) XXX_Size() int {
-	return xxx_messageInfo_EncryptionKeys.Size(m)
-}
-func (m *EncryptionKeys) XXX_DiscardUnknown() {
-	xxx_messageInfo_EncryptionKeys.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EncryptionKeys proto.InternalMessageInfo
-
-func (m *EncryptionKeys) GetKey() string {
-	if m != nil && m.Key != nil {
-		return *m.Key
-	}
-	return ""
-}
-
-func (m *EncryptionKeys) GetValue() []byte {
-	if m != nil {
-		return m.Value
-	}
-	return nil
-}
-
-func (m *EncryptionKeys) GetMetadata() []*KeyValue {
-	if m != nil {
-		return m.Metadata
-	}
-	return nil
-}
-
-type MessageMetadata struct {
-	ProducerName *string     `protobuf:"bytes,1,req,name=producer_name,json=producerName" json:"producer_name,omitempty"`
-	SequenceId   *uint64     `protobuf:"varint,2,req,name=sequence_id,json=sequenceId" json:"sequence_id,omitempty"`
-	PublishTime  *uint64     `protobuf:"varint,3,req,name=publish_time,json=publishTime" json:"publish_time,omitempty"`
-	Properties   []*KeyValue `protobuf:"bytes,4,rep,name=properties" json:"properties,omitempty"`
-	// Property set on replicated message,
-	// includes the source cluster name
-	ReplicatedFrom *string `protobuf:"bytes,5,opt,name=replicated_from,json=replicatedFrom" json:"replicated_from,omitempty"`
-	//key to decide partition for the msg
-	PartitionKey *string `protobuf:"bytes,6,opt,name=partition_key,json=partitionKey" json:"partition_key,omitempty"`
-	// Override namespace's replication
-	ReplicateTo      []string         `protobuf:"bytes,7,rep,name=replicate_to,json=replicateTo" json:"replicate_to,omitempty"`
-	Compression      *CompressionType `protobuf:"varint,8,opt,name=compression,enum=pulsar.proto.CompressionType,def=0" json:"compression,omitempty"`
-	UncompressedSize *uint32          `protobuf:"varint,9,opt,name=uncompressed_size,json=uncompressedSize,def=0" json:"uncompressed_size,omitempty"`
-	// Removed below checksum field from Metadata as
-	// it should be part of send-command which keeps checksum of header + payload
-	//optional sfixed64 checksum = 10;
-	// differentiate single and batch message metadata
-	NumMessagesInBatch *int32 `protobuf:"varint,11,opt,name=num_messages_in_batch,json=numMessagesInBatch,def=1" json:"num_messages_in_batch,omitempty"`
-	// the timestamp that this event occurs. it is typically set by applications.
-	// if this field is omitted, `publish_time` can be used for the purpose of `event_time`.
-	EventTime *uint64 `protobuf:"varint,12,opt,name=event_time,json=eventTime,def=0" json:"event_time,omitempty"`
-	// Contains encryption key name, encrypted key and metadata to describe the key
-	EncryptionKeys []*EncryptionKeys `protobuf:"bytes,13,rep,name=encryption_keys,json=encryptionKeys" json:"encryption_keys,omitempty"`
-	// Algorithm used to encrypt data key
-	EncryptionAlgo *string `protobuf:"bytes,14,opt,name=encryption_algo,json=encryptionAlgo" json:"encryption_algo,omitempty"`
-	// Additional parameters required by encryption
-	EncryptionParam        []byte `protobuf:"bytes,15,opt,name=encryption_param,json=encryptionParam" json:"encryption_param,omitempty"`
-	SchemaVersion          []byte `protobuf:"bytes,16,opt,name=schema_version,json=schemaVersion" json:"schema_version,omitempty"`
-	PartitionKeyB64Encoded *bool  `protobuf:"varint,17,opt,name=partition_key_b64_encoded,json=partitionKeyB64Encoded,def=0" json:"partition_key_b64_encoded,omitempty"`
-	// Specific a key to overwrite the message key which used for ordering dispatch in Key_Shared mode.
-	OrderingKey []byte `protobuf:"bytes,18,opt,name=ordering_key,json=orderingKey" json:"ordering_key,omitempty"`
-	// Mark the message to be delivered at or after the specified timestamp
-	DeliverAtTime *int64 `protobuf:"varint,19,opt,name=deliver_at_time,json=deliverAtTime" json:"deliver_at_time,omitempty"`
-	// Identify whether a message is a "marker" message used for
-	// internal metadata instead of application published data.
-	// Markers will generally not be propagated back to clients
-	MarkerType *int32 `protobuf:"varint,20,opt,name=marker_type,json=markerType" json:"marker_type,omitempty"`
-	// transaction related message info
-	TxnidLeastBits *uint64 `protobuf:"varint,22,opt,name=txnid_least_bits,json=txnidLeastBits,def=0" json:"txnid_least_bits,omitempty"`
-	TxnidMostBits  *uint64 `protobuf:"varint,23,opt,name=txnid_most_bits,json=txnidMostBits,def=0" json:"txnid_most_bits,omitempty"`
-	/// Add highest sequence id to support batch message with external sequence id
-	HighestSequenceId    *uint64  `protobuf:"varint,24,opt,name=highest_sequence_id,json=highestSequenceId,def=0" json:"highest_sequence_id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *MessageMetadata) Reset()         { *m = MessageMetadata{} }
-func (m *MessageMetadata) String() string { return proto.CompactTextString(m) }
-func (*MessageMetadata) ProtoMessage()    {}
-func (*MessageMetadata) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{6}
-}
-
-func (m *MessageMetadata) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_MessageMetadata.Unmarshal(m, b)
-}
-func (m *MessageMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_MessageMetadata.Marshal(b, m, deterministic)
-}
-func (m *MessageMetadata) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_MessageMetadata.Merge(m, src)
-}
-func (m *MessageMetadata) XXX_Size() int {
-	return xxx_messageInfo_MessageMetadata.Size(m)
-}
-func (m *MessageMetadata) XXX_DiscardUnknown() {
-	xxx_messageInfo_MessageMetadata.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_MessageMetadata proto.InternalMessageInfo
-
-const Default_MessageMetadata_Compression CompressionType = CompressionType_NONE
-const Default_MessageMetadata_UncompressedSize uint32 = 0
-const Default_MessageMetadata_NumMessagesInBatch int32 = 1
-const Default_MessageMetadata_EventTime uint64 = 0
-const Default_MessageMetadata_PartitionKeyB64Encoded bool = false
-const Default_MessageMetadata_TxnidLeastBits uint64 = 0
-const Default_MessageMetadata_TxnidMostBits uint64 = 0
-const Default_MessageMetadata_HighestSequenceId uint64 = 0
-
-func (m *MessageMetadata) GetProducerName() string {
-	if m != nil && m.ProducerName != nil {
-		return *m.ProducerName
-	}
-	return ""
-}
-
-func (m *MessageMetadata) GetSequenceId() uint64 {
-	if m != nil && m.SequenceId != nil {
-		return *m.SequenceId
-	}
-	return 0
-}
-
-func (m *MessageMetadata) GetPublishTime() uint64 {
-	if m != nil && m.PublishTime != nil {
-		return *m.PublishTime
-	}
-	return 0
-}
-
-func (m *MessageMetadata) GetProperties() []*KeyValue {
-	if m != nil {
-		return m.Properties
-	}
-	return nil
-}
-
-func (m *MessageMetadata) GetReplicatedFrom() string {
-	if m != nil && m.ReplicatedFrom != nil {
-		return *m.ReplicatedFrom
-	}
-	return ""
-}
-
-func (m *MessageMetadata) GetPartitionKey() string {
-	if m != nil && m.PartitionKey != nil {
-		return *m.PartitionKey
-	}
-	return ""
-}
-
-func (m *MessageMetadata) GetReplicateTo() []string {
-	if m != nil {
-		return m.ReplicateTo
-	}
-	return nil
-}
-
-func (m *MessageMetadata) GetCompression() CompressionType {
-	if m != nil && m.Compression != nil {
-		return *m.Compression
-	}
-	return Default_MessageMetadata_Compression
-}
-
-func (m *MessageMetadata) GetUncompressedSize() uint32 {
-	if m != nil && m.UncompressedSize != nil {
-		return *m.UncompressedSize
-	}
-	return Default_MessageMetadata_UncompressedSize
-}
-
-func (m *MessageMetadata) GetNumMessagesInBatch() int32 {
-	if m != nil && m.NumMessagesInBatch != nil {
-		return *m.NumMessagesInBatch
-	}
-	return Default_MessageMetadata_NumMessagesInBatch
-}
-
-func (m *MessageMetadata) GetEventTime() uint64 {
-	if m != nil && m.EventTime != nil {
-		return *m.EventTime
-	}
-	return Default_MessageMetadata_EventTime
-}
-
-func (m *MessageMetadata) GetEncryptionKeys() []*EncryptionKeys {
-	if m != nil {
-		return m.EncryptionKeys
-	}
-	return nil
-}
-
-func (m *MessageMetadata) GetEncryptionAlgo() string {
-	if m != nil && m.EncryptionAlgo != nil {
-		return *m.EncryptionAlgo
-	}
-	return ""
-}
-
-func (m *MessageMetadata) GetEncryptionParam() []byte {
-	if m != nil {
-		return m.EncryptionParam
-	}
-	return nil
-}
-
-func (m *MessageMetadata) GetSchemaVersion() []byte {
-	if m != nil {
-		return m.SchemaVersion
-	}
-	return nil
-}
-
-func (m *MessageMetadata) GetPartitionKeyB64Encoded() bool {
-	if m != nil && m.PartitionKeyB64Encoded != nil {
-		return *m.PartitionKeyB64Encoded
-	}
-	return Default_MessageMetadata_PartitionKeyB64Encoded
-}
-
-func (m *MessageMetadata) GetOrderingKey() []byte {
-	if m != nil {
-		return m.OrderingKey
-	}
-	return nil
-}
-
-func (m *MessageMetadata) GetDeliverAtTime() int64 {
-	if m != nil && m.DeliverAtTime != nil {
-		return *m.DeliverAtTime
-	}
-	return 0
-}
-
-func (m *MessageMetadata) GetMarkerType() int32 {
-	if m != nil && m.MarkerType != nil {
-		return *m.MarkerType
-	}
-	return 0
-}
-
-func (m *MessageMetadata) GetTxnidLeastBits() uint64 {
-	if m != nil && m.TxnidLeastBits != nil {
-		return *m.TxnidLeastBits
-	}
-	return Default_MessageMetadata_TxnidLeastBits
-}
-
-func (m *MessageMetadata) GetTxnidMostBits() uint64 {
-	if m != nil && m.TxnidMostBits != nil {
-		return *m.TxnidMostBits
-	}
-	return Default_MessageMetadata_TxnidMostBits
-}
-
-func (m *MessageMetadata) GetHighestSequenceId() uint64 {
-	if m != nil && m.HighestSequenceId != nil {
-		return *m.HighestSequenceId
-	}
-	return Default_MessageMetadata_HighestSequenceId
-}
-
-type SingleMessageMetadata struct {
-	Properties   []*KeyValue `protobuf:"bytes,1,rep,name=properties" json:"properties,omitempty"`
-	PartitionKey *string     `protobuf:"bytes,2,opt,name=partition_key,json=partitionKey" json:"partition_key,omitempty"`
-	PayloadSize  *int32      `protobuf:"varint,3,req,name=payload_size,json=payloadSize" json:"payload_size,omitempty"`
-	CompactedOut *bool       `protobuf:"varint,4,opt,name=compacted_out,json=compactedOut,def=0" json:"compacted_out,omitempty"`
-	// the timestamp that this event occurs. it is typically set by applications.
-	// if this field is omitted, `publish_time` can be used for the purpose of `event_time`.
-	EventTime              *uint64 `protobuf:"varint,5,opt,name=event_time,json=eventTime,def=0" json:"event_time,omitempty"`
-	PartitionKeyB64Encoded *bool   `protobuf:"varint,6,opt,name=partition_key_b64_encoded,json=partitionKeyB64Encoded,def=0" json:"partition_key_b64_encoded,omitempty"`
-	// Specific a key to overwrite the message key which used for ordering dispatch in Key_Shared mode.
-	OrderingKey []byte `protobuf:"bytes,7,opt,name=ordering_key,json=orderingKey" json:"ordering_key,omitempty"`
-	// Allows consumer retrieve the sequence id that the producer set.
-	SequenceId           *uint64  `protobuf:"varint,8,opt,name=sequence_id,json=sequenceId" json:"sequence_id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *SingleMessageMetadata) Reset()         { *m = SingleMessageMetadata{} }
-func (m *SingleMessageMetadata) String() string { return proto.CompactTextString(m) }
-func (*SingleMessageMetadata) ProtoMessage()    {}
-func (*SingleMessageMetadata) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{7}
-}
-
-func (m *SingleMessageMetadata) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_SingleMessageMetadata.Unmarshal(m, b)
-}
-func (m *SingleMessageMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_SingleMessageMetadata.Marshal(b, m, deterministic)
-}
-func (m *SingleMessageMetadata) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_SingleMessageMetadata.Merge(m, src)
-}
-func (m *SingleMessageMetadata) XXX_Size() int {
-	return xxx_messageInfo_SingleMessageMetadata.Size(m)
-}
-func (m *SingleMessageMetadata) XXX_DiscardUnknown() {
-	xxx_messageInfo_SingleMessageMetadata.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_SingleMessageMetadata proto.InternalMessageInfo
-
-const Default_SingleMessageMetadata_CompactedOut bool = false
-const Default_SingleMessageMetadata_EventTime uint64 = 0
-const Default_SingleMessageMetadata_PartitionKeyB64Encoded bool = false
-
-func (m *SingleMessageMetadata) GetProperties() []*KeyValue {
-	if m != nil {
-		return m.Properties
-	}
-	return nil
-}
-
-func (m *SingleMessageMetadata) GetPartitionKey() string {
-	if m != nil && m.PartitionKey != nil {
-		return *m.PartitionKey
-	}
-	return ""
-}
-
-func (m *SingleMessageMetadata) GetPayloadSize() int32 {
-	if m != nil && m.PayloadSize != nil {
-		return *m.PayloadSize
-	}
-	return 0
-}
-
-func (m *SingleMessageMetadata) GetCompactedOut() bool {
-	if m != nil && m.CompactedOut != nil {
-		return *m.CompactedOut
-	}
-	return Default_SingleMessageMetadata_CompactedOut
-}
-
-func (m *SingleMessageMetadata) GetEventTime() uint64 {
-	if m != nil && m.EventTime != nil {
-		return *m.EventTime
-	}
-	return Default_SingleMessageMetadata_EventTime
-}
-
-func (m *SingleMessageMetadata) GetPartitionKeyB64Encoded() bool {
-	if m != nil && m.PartitionKeyB64Encoded != nil {
-		return *m.PartitionKeyB64Encoded
-	}
-	return Default_SingleMessageMetadata_PartitionKeyB64Encoded
-}
-
-func (m *SingleMessageMetadata) GetOrderingKey() []byte {
-	if m != nil {
-		return m.OrderingKey
-	}
-	return nil
-}
-
-func (m *SingleMessageMetadata) GetSequenceId() uint64 {
-	if m != nil && m.SequenceId != nil {
-		return *m.SequenceId
-	}
-	return 0
-}
-
-type CommandConnect struct {
-	ClientVersion   *string     `protobuf:"bytes,1,req,name=client_version,json=clientVersion" json:"client_version,omitempty"`
-	AuthMethod      *AuthMethod `protobuf:"varint,2,opt,name=auth_method,json=authMethod,enum=pulsar.proto.AuthMethod" json:"auth_method,omitempty"`
-	AuthMethodName  *string     `protobuf:"bytes,5,opt,name=auth_method_name,json=authMethodName" json:"auth_method_name,omitempty"`
-	AuthData        []byte      `protobuf:"bytes,3,opt,name=auth_data,json=authData" json:"auth_data,omitempty"`
-	ProtocolVersion *int32      `protobuf:"varint,4,opt,name=protocol_version,json=protocolVersion,def=0" json:"protocol_version,omitempty"`
-	// Client can ask to be proxyied to a specific broker
-	// This is only honored by a Pulsar proxy
-	ProxyToBrokerUrl *string `protobuf:"bytes,6,opt,name=proxy_to_broker_url,json=proxyToBrokerUrl" json:"proxy_to_broker_url,omitempty"`
-	// Original principal that was verified by
-	// a Pulsar proxy. In this case the auth info above
-	// will be the auth of the proxy itself
-	OriginalPrincipal *string `protobuf:"bytes,7,opt,name=original_principal,json=originalPrincipal" json:"original_principal,omitempty"`
-	// Original auth role and auth Method that was passed
-	// to the proxy. In this case the auth info above
-	// will be the auth of the proxy itself
-	OriginalAuthData   *string `protobuf:"bytes,8,opt,name=original_auth_data,json=originalAuthData" json:"original_auth_data,omitempty"`
-	OriginalAuthMethod *string `protobuf:"bytes,9,opt,name=original_auth_method,json=originalAuthMethod" json:"original_auth_method,omitempty"`
-	// Feature flags
-	FeatureFlags         *FeatureFlags `protobuf:"bytes,10,opt,name=feature_flags,json=featureFlags" json:"feature_flags,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
-	XXX_unrecognized     []byte        `json:"-"`
-	XXX_sizecache        int32         `json:"-"`
-}
-
-func (m *CommandConnect) Reset()         { *m = CommandConnect{} }
-func (m *CommandConnect) String() string { return proto.CompactTextString(m) }
-func (*CommandConnect) ProtoMessage()    {}
-func (*CommandConnect) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{8}
-}
-
-func (m *CommandConnect) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandConnect.Unmarshal(m, b)
-}
-func (m *CommandConnect) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandConnect.Marshal(b, m, deterministic)
-}
-func (m *CommandConnect) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandConnect.Merge(m, src)
-}
-func (m *CommandConnect) XXX_Size() int {
-	return xxx_messageInfo_CommandConnect.Size(m)
-}
-func (m *CommandConnect) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandConnect.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandConnect proto.InternalMessageInfo
-
-const Default_CommandConnect_ProtocolVersion int32 = 0
-
-func (m *CommandConnect) GetClientVersion() string {
-	if m != nil && m.ClientVersion != nil {
-		return *m.ClientVersion
-	}
-	return ""
-}
-
-func (m *CommandConnect) GetAuthMethod() AuthMethod {
-	if m != nil && m.AuthMethod != nil {
-		return *m.AuthMethod
-	}
-	return AuthMethod_AuthMethodNone
-}
-
-func (m *CommandConnect) GetAuthMethodName() string {
-	if m != nil && m.AuthMethodName != nil {
-		return *m.AuthMethodName
-	}
-	return ""
-}
-
-func (m *CommandConnect) GetAuthData() []byte {
-	if m != nil {
-		return m.AuthData
-	}
-	return nil
-}
-
-func (m *CommandConnect) GetProtocolVersion() int32 {
-	if m != nil && m.ProtocolVersion != nil {
-		return *m.ProtocolVersion
-	}
-	return Default_CommandConnect_ProtocolVersion
-}
-
-func (m *CommandConnect) GetProxyToBrokerUrl() string {
-	if m != nil && m.ProxyToBrokerUrl != nil {
-		return *m.ProxyToBrokerUrl
-	}
-	return ""
-}
-
-func (m *CommandConnect) GetOriginalPrincipal() string {
-	if m != nil && m.OriginalPrincipal != nil {
-		return *m.OriginalPrincipal
-	}
-	return ""
-}
-
-func (m *CommandConnect) GetOriginalAuthData() string {
-	if m != nil && m.OriginalAuthData != nil {
-		return *m.OriginalAuthData
-	}
-	return ""
-}
-
-func (m *CommandConnect) GetOriginalAuthMethod() string {
-	if m != nil && m.OriginalAuthMethod != nil {
-		return *m.OriginalAuthMethod
-	}
-	return ""
-}
-
-func (m *CommandConnect) GetFeatureFlags() *FeatureFlags {
-	if m != nil {
-		return m.FeatureFlags
-	}
-	return nil
-}
-
-type FeatureFlags struct {
-	SupportsAuthRefresh  *bool    `protobuf:"varint,1,opt,name=supports_auth_refresh,json=supportsAuthRefresh,def=0" json:"supports_auth_refresh,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *FeatureFlags) Reset()         { *m = FeatureFlags{} }
-func (m *FeatureFlags) String() string { return proto.CompactTextString(m) }
-func (*FeatureFlags) ProtoMessage()    {}
-func (*FeatureFlags) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{9}
-}
-
-func (m *FeatureFlags) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_FeatureFlags.Unmarshal(m, b)
-}
-func (m *FeatureFlags) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_FeatureFlags.Marshal(b, m, deterministic)
-}
-func (m *FeatureFlags) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_FeatureFlags.Merge(m, src)
-}
-func (m *FeatureFlags) XXX_Size() int {
-	return xxx_messageInfo_FeatureFlags.Size(m)
-}
-func (m *FeatureFlags) XXX_DiscardUnknown() {
-	xxx_messageInfo_FeatureFlags.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_FeatureFlags proto.InternalMessageInfo
-
-const Default_FeatureFlags_SupportsAuthRefresh bool = false
-
-func (m *FeatureFlags) GetSupportsAuthRefresh() bool {
-	if m != nil && m.SupportsAuthRefresh != nil {
-		return *m.SupportsAuthRefresh
-	}
-	return Default_FeatureFlags_SupportsAuthRefresh
-}
-
-type CommandConnected struct {
-	ServerVersion        *string  `protobuf:"bytes,1,req,name=server_version,json=serverVersion" json:"server_version,omitempty"`
-	ProtocolVersion      *int32   `protobuf:"varint,2,opt,name=protocol_version,json=protocolVersion,def=0" json:"protocol_version,omitempty"`
-	MaxMessageSize       *int32   `protobuf:"varint,3,opt,name=max_message_size,json=maxMessageSize" json:"max_message_size,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CommandConnected) Reset()         { *m = CommandConnected{} }
-func (m *CommandConnected) String() string { return proto.CompactTextString(m) }
-func (*CommandConnected) ProtoMessage()    {}
-func (*CommandConnected) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{10}
-}
-
-func (m *CommandConnected) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandConnected.Unmarshal(m, b)
-}
-func (m *CommandConnected) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandConnected.Marshal(b, m, deterministic)
-}
-func (m *CommandConnected) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandConnected.Merge(m, src)
-}
-func (m *CommandConnected) XXX_Size() int {
-	return xxx_messageInfo_CommandConnected.Size(m)
-}
-func (m *CommandConnected) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandConnected.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandConnected proto.InternalMessageInfo
-
-const Default_CommandConnected_ProtocolVersion int32 = 0
-
-func (m *CommandConnected) GetServerVersion() string {
-	if m != nil && m.ServerVersion != nil {
-		return *m.ServerVersion
-	}
-	return ""
-}
-
-func (m *CommandConnected) GetProtocolVersion() int32 {
-	if m != nil && m.ProtocolVersion != nil {
-		return *m.ProtocolVersion
-	}
-	return Default_CommandConnected_ProtocolVersion
-}
-
-func (m *CommandConnected) GetMaxMessageSize() int32 {
-	if m != nil && m.MaxMessageSize != nil {
-		return *m.MaxMessageSize
-	}
-	return 0
-}
-
-type CommandAuthResponse struct {
-	ClientVersion        *string   `protobuf:"bytes,1,opt,name=client_version,json=clientVersion" json:"client_version,omitempty"`
-	Response             *AuthData `protobuf:"bytes,2,opt,name=response" json:"response,omitempty"`
-	ProtocolVersion      *int32    `protobuf:"varint,3,opt,name=protocol_version,json=protocolVersion,def=0" json:"protocol_version,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
-	XXX_unrecognized     []byte    `json:"-"`
-	XXX_sizecache        int32     `json:"-"`
-}
-
-func (m *CommandAuthResponse) Reset()         { *m = CommandAuthResponse{} }
-func (m *CommandAuthResponse) String() string { return proto.CompactTextString(m) }
-func (*CommandAuthResponse) ProtoMessage()    {}
-func (*CommandAuthResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{11}
-}
-
-func (m *CommandAuthResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandAuthResponse.Unmarshal(m, b)
-}
-func (m *CommandAuthResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandAuthResponse.Marshal(b, m, deterministic)
-}
-func (m *CommandAuthResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandAuthResponse.Merge(m, src)
-}
-func (m *CommandAuthResponse) XXX_Size() int {
-	return xxx_messageInfo_CommandAuthResponse.Size(m)
-}
-func (m *CommandAuthResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandAuthResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandAuthResponse proto.InternalMessageInfo
-
-const Default_CommandAuthResponse_ProtocolVersion int32 = 0
-
-func (m *CommandAuthResponse) GetClientVersion() string {
-	if m != nil && m.ClientVersion != nil {
-		return *m.ClientVersion
-	}
-	return ""
-}
-
-func (m *CommandAuthResponse) GetResponse() *AuthData {
-	if m != nil {
-		return m.Response
-	}
-	return nil
-}
-
-func (m *CommandAuthResponse) GetProtocolVersion() int32 {
-	if m != nil && m.ProtocolVersion != nil {
-		return *m.ProtocolVersion
-	}
-	return Default_CommandAuthResponse_ProtocolVersion
-}
-
-type CommandAuthChallenge struct {
-	ServerVersion        *string   `protobuf:"bytes,1,opt,name=server_version,json=serverVersion" json:"server_version,omitempty"`
-	Challenge            *AuthData `protobuf:"bytes,2,opt,name=challenge" json:"challenge,omitempty"`
-	ProtocolVersion      *int32    `protobuf:"varint,3,opt,name=protocol_version,json=protocolVersion,def=0" json:"protocol_version,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
-	XXX_unrecognized     []byte    `json:"-"`
-	XXX_sizecache        int32     `json:"-"`
-}
-
-func (m *CommandAuthChallenge) Reset()         { *m = CommandAuthChallenge{} }
-func (m *CommandAuthChallenge) String() string { return proto.CompactTextString(m) }
-func (*CommandAuthChallenge) ProtoMessage()    {}
-func (*CommandAuthChallenge) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{12}
-}
-
-func (m *CommandAuthChallenge) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandAuthChallenge.Unmarshal(m, b)
-}
-func (m *CommandAuthChallenge) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandAuthChallenge.Marshal(b, m, deterministic)
-}
-func (m *CommandAuthChallenge) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandAuthChallenge.Merge(m, src)
-}
-func (m *CommandAuthChallenge) XXX_Size() int {
-	return xxx_messageInfo_CommandAuthChallenge.Size(m)
-}
-func (m *CommandAuthChallenge) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandAuthChallenge.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandAuthChallenge proto.InternalMessageInfo
-
-const Default_CommandAuthChallenge_ProtocolVersion int32 = 0
-
-func (m *CommandAuthChallenge) GetServerVersion() string {
-	if m != nil && m.ServerVersion != nil {
-		return *m.ServerVersion
-	}
-	return ""
-}
-
-func (m *CommandAuthChallenge) GetChallenge() *AuthData {
-	if m != nil {
-		return m.Challenge
-	}
-	return nil
-}
-
-func (m *CommandAuthChallenge) GetProtocolVersion() int32 {
-	if m != nil && m.ProtocolVersion != nil {
-		return *m.ProtocolVersion
-	}
-	return Default_CommandAuthChallenge_ProtocolVersion
-}
-
-// To support mutual authentication type, such as Sasl, reuse this command to mutual auth.
-type AuthData struct {
-	AuthMethodName       *string  `protobuf:"bytes,1,opt,name=auth_method_name,json=authMethodName" json:"auth_method_name,omitempty"`
-	AuthData             []byte   `protobuf:"bytes,2,opt,name=auth_data,json=authData" json:"auth_data,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *AuthData) Reset()         { *m = AuthData{} }
-func (m *AuthData) String() string { return proto.CompactTextString(m) }
-func (*AuthData) ProtoMessage()    {}
-func (*AuthData) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{13}
-}
-
-func (m *AuthData) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_AuthData.Unmarshal(m, b)
-}
-func (m *AuthData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_AuthData.Marshal(b, m, deterministic)
-}
-func (m *AuthData) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_AuthData.Merge(m, src)
-}
-func (m *AuthData) XXX_Size() int {
-	return xxx_messageInfo_AuthData.Size(m)
-}
-func (m *AuthData) XXX_DiscardUnknown() {
-	xxx_messageInfo_AuthData.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_AuthData proto.InternalMessageInfo
-
-func (m *AuthData) GetAuthMethodName() string {
-	if m != nil && m.AuthMethodName != nil {
-		return *m.AuthMethodName
-	}
-	return ""
-}
-
-func (m *AuthData) GetAuthData() []byte {
-	if m != nil {
-		return m.AuthData
-	}
-	return nil
-}
-
-type KeySharedMeta struct {
-	KeySharedMode        *KeySharedMode `protobuf:"varint,1,req,name=keySharedMode,enum=pulsar.proto.KeySharedMode" json:"keySharedMode,omitempty"`
-	HashRanges           []*IntRange    `protobuf:"bytes,3,rep,name=hashRanges" json:"hashRanges,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
-	XXX_unrecognized     []byte         `json:"-"`
-	XXX_sizecache        int32          `json:"-"`
-}
-
-func (m *KeySharedMeta) Reset()         { *m = KeySharedMeta{} }
-func (m *KeySharedMeta) String() string { return proto.CompactTextString(m) }
-func (*KeySharedMeta) ProtoMessage()    {}
-func (*KeySharedMeta) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{14}
-}
-
-func (m *KeySharedMeta) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_KeySharedMeta.Unmarshal(m, b)
-}
-func (m *KeySharedMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_KeySharedMeta.Marshal(b, m, deterministic)
-}
-func (m *KeySharedMeta) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_KeySharedMeta.Merge(m, src)
-}
-func (m *KeySharedMeta) XXX_Size() int {
-	return xxx_messageInfo_KeySharedMeta.Size(m)
-}
-func (m *KeySharedMeta) XXX_DiscardUnknown() {
-	xxx_messageInfo_KeySharedMeta.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_KeySharedMeta proto.InternalMessageInfo
-
-func (m *KeySharedMeta) GetKeySharedMode() KeySharedMode {
-	if m != nil && m.KeySharedMode != nil {
-		return *m.KeySharedMode
-	}
-	return KeySharedMode_AUTO_SPLIT
-}
-
-func (m *KeySharedMeta) GetHashRanges() []*IntRange {
-	if m != nil {
-		return m.HashRanges
-	}
-	return nil
-}
-
-type CommandSubscribe struct {
-	Topic         *string                   `protobuf:"bytes,1,req,name=topic" json:"topic,omitempty"`
-	Subscription  *string                   `protobuf:"bytes,2,req,name=subscription" json:"subscription,omitempty"`
-	SubType       *CommandSubscribe_SubType `protobuf:"varint,3,req,name=subType,enum=pulsar.proto.CommandSubscribe_SubType" json:"subType,omitempty"`
-	ConsumerId    *uint64                   `protobuf:"varint,4,req,name=consumer_id,json=consumerId" json:"consumer_id,omitempty"`
-	RequestId     *uint64                   `protobuf:"varint,5,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	ConsumerName  *string                   `protobuf:"bytes,6,opt,name=consumer_name,json=consumerName" json:"consumer_name,omitempty"`
-	PriorityLevel *int32                    `protobuf:"varint,7,opt,name=priority_level,json=priorityLevel" json:"priority_level,omitempty"`
-	// Signal wether the subscription should be backed by a
-	// durable cursor or not
-	Durable *bool `protobuf:"varint,8,opt,name=durable,def=1" json:"durable,omitempty"`
-	// If specified, the subscription will position the cursor
-	// markd-delete position  on the particular message id and
-	// will send messages from that point
-	StartMessageId *MessageIdData `protobuf:"bytes,9,opt,name=start_message_id,json=startMessageId" json:"start_message_id,omitempty"`
-	/// Add optional metadata key=value to this consumer
-	Metadata      []*KeyValue `protobuf:"bytes,10,rep,name=metadata" json:"metadata,omitempty"`
-	ReadCompacted *bool       `protobuf:"varint,11,opt,name=read_compacted,json=readCompacted" json:"read_compacted,omitempty"`
-	Schema        *Schema     `protobuf:"bytes,12,opt,name=schema" json:"schema,omitempty"`
-	// Signal whether the subscription will initialize on latest
-	// or not -- earliest
-	InitialPosition *CommandSubscribe_InitialPosition `protobuf:"varint,13,opt,name=initialPosition,enum=pulsar.proto.CommandSubscribe_InitialPosition,def=0" json:"initialPosition,omitempty"`
-	// Mark the subscription as "replicated". Pulsar will make sure
-	// to periodically sync the state of replicated subscriptions
-	// across different clusters (when using geo-replication).
-	ReplicateSubscriptionState *bool `protobuf:"varint,14,opt,name=replicate_subscription_state,json=replicateSubscriptionState" json:"replicate_subscription_state,omitempty"`
-	// If true, the subscribe operation will cause a topic to be
-	// created if it does not exist already (and if topic auto-creation
-	// is allowed by broker.
-	// If false, the subscribe operation will fail if the topic
-	// does not exist.
-	ForceTopicCreation *bool `protobuf:"varint,15,opt,name=force_topic_creation,json=forceTopicCreation,def=1" json:"force_topic_creation,omitempty"`
-	// If specified, the subscription will reset cursor's position back
-	// to specified seconds and  will send messages from that point
-	StartMessageRollbackDurationSec *uint64        `protobuf:"varint,16,opt,name=start_message_rollback_duration_sec,json=startMessageRollbackDurationSec,def=0" json:"start_message_rollback_duration_sec,omitempty"`
-	KeySharedMeta                   *KeySharedMeta `protobuf:"bytes,17,opt,name=keySharedMeta" json:"keySharedMeta,omitempty"`
-	XXX_NoUnkeyedLiteral            struct{}       `json:"-"`
-	XXX_unrecognized                []byte         `json:"-"`
-	XXX_sizecache                   int32          `json:"-"`
-}
-
-func (m *CommandSubscribe) Reset()         { *m = CommandSubscribe{} }
-func (m *CommandSubscribe) String() string { return proto.CompactTextString(m) }
-func (*CommandSubscribe) ProtoMessage()    {}
-func (*CommandSubscribe) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{15}
-}
-
-func (m *CommandSubscribe) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandSubscribe.Unmarshal(m, b)
-}
-func (m *CommandSubscribe) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandSubscribe.Marshal(b, m, deterministic)
-}
-func (m *CommandSubscribe) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandSubscribe.Merge(m, src)
-}
-func (m *CommandSubscribe) XXX_Size() int {
-	return xxx_messageInfo_CommandSubscribe.Size(m)
-}
-func (m *CommandSubscribe) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandSubscribe.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandSubscribe proto.InternalMessageInfo
-
-const Default_CommandSubscribe_Durable bool = true
-const Default_CommandSubscribe_InitialPosition CommandSubscribe_InitialPosition = CommandSubscribe_Latest
-const Default_CommandSubscribe_ForceTopicCreation bool = true
-const Default_CommandSubscribe_StartMessageRollbackDurationSec uint64 = 0
-
-func (m *CommandSubscribe) GetTopic() string {
-	if m != nil && m.Topic != nil {
-		return *m.Topic
-	}
-	return ""
-}
-
-func (m *CommandSubscribe) GetSubscription() string {
-	if m != nil && m.Subscription != nil {
-		return *m.Subscription
-	}
-	return ""
-}
-
-func (m *CommandSubscribe) GetSubType() CommandSubscribe_SubType {
-	if m != nil && m.SubType != nil {
-		return *m.SubType
-	}
-	return CommandSubscribe_Exclusive
-}
-
-func (m *CommandSubscribe) GetConsumerId() uint64 {
-	if m != nil && m.ConsumerId != nil {
-		return *m.ConsumerId
-	}
-	return 0
-}
-
-func (m *CommandSubscribe) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandSubscribe) GetConsumerName() string {
-	if m != nil && m.ConsumerName != nil {
-		return *m.ConsumerName
-	}
-	return ""
-}
-
-func (m *CommandSubscribe) GetPriorityLevel() int32 {
-	if m != nil && m.PriorityLevel != nil {
-		return *m.PriorityLevel
-	}
-	return 0
-}
-
-func (m *CommandSubscribe) GetDurable() bool {
-	if m != nil && m.Durable != nil {
-		return *m.Durable
-	}
-	return Default_CommandSubscribe_Durable
-}
-
-func (m *CommandSubscribe) GetStartMessageId() *MessageIdData {
-	if m != nil {
-		return m.StartMessageId
-	}
-	return nil
-}
-
-func (m *CommandSubscribe) GetMetadata() []*KeyValue {
-	if m != nil {
-		return m.Metadata
-	}
-	return nil
-}
-
-func (m *CommandSubscribe) GetReadCompacted() bool {
-	if m != nil && m.ReadCompacted != nil {
-		return *m.ReadCompacted
-	}
-	return false
-}
-
-func (m *CommandSubscribe) GetSchema() *Schema {
-	if m != nil {
-		return m.Schema
-	}
-	return nil
-}
-
-func (m *CommandSubscribe) GetInitialPosition() CommandSubscribe_InitialPosition {
-	if m != nil && m.InitialPosition != nil {
-		return *m.InitialPosition
-	}
-	return Default_CommandSubscribe_InitialPosition
-}
-
-func (m *CommandSubscribe) GetReplicateSubscriptionState() bool {
-	if m != nil && m.ReplicateSubscriptionState != nil {
-		return *m.ReplicateSubscriptionState
-	}
-	return false
-}
-
-func (m *CommandSubscribe) GetForceTopicCreation() bool {
-	if m != nil && m.ForceTopicCreation != nil {
-		return *m.ForceTopicCreation
-	}
-	return Default_CommandSubscribe_ForceTopicCreation
-}
-
-func (m *CommandSubscribe) GetStartMessageRollbackDurationSec() uint64 {
-	if m != nil && m.StartMessageRollbackDurationSec != nil {
-		return *m.StartMessageRollbackDurationSec
-	}
-	return Default_CommandSubscribe_StartMessageRollbackDurationSec
-}
-
-func (m *CommandSubscribe) GetKeySharedMeta() *KeySharedMeta {
-	if m != nil {
-		return m.KeySharedMeta
-	}
-	return nil
-}
-
-type CommandPartitionedTopicMetadata struct {
-	Topic     *string `protobuf:"bytes,1,req,name=topic" json:"topic,omitempty"`
-	RequestId *uint64 `protobuf:"varint,2,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	// TODO - Remove original_principal, original_auth_data, original_auth_method
-	// Original principal that was verified by
-	// a Pulsar proxy.
-	OriginalPrincipal *string `protobuf:"bytes,3,opt,name=original_principal,json=originalPrincipal" json:"original_principal,omitempty"`
-	// Original auth role and auth Method that was passed
-	// to the proxy.
-	OriginalAuthData     *string  `protobuf:"bytes,4,opt,name=original_auth_data,json=originalAuthData" json:"original_auth_data,omitempty"`
-	OriginalAuthMethod   *string  `protobuf:"bytes,5,opt,name=original_auth_method,json=originalAuthMethod" json:"original_auth_method,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CommandPartitionedTopicMetadata) Reset()         { *m = CommandPartitionedTopicMetadata{} }
-func (m *CommandPartitionedTopicMetadata) String() string { return proto.CompactTextString(m) }
-func (*CommandPartitionedTopicMetadata) ProtoMessage()    {}
-func (*CommandPartitionedTopicMetadata) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{16}
-}
-
-func (m *CommandPartitionedTopicMetadata) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandPartitionedTopicMetadata.Unmarshal(m, b)
-}
-func (m *CommandPartitionedTopicMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandPartitionedTopicMetadata.Marshal(b, m, deterministic)
-}
-func (m *CommandPartitionedTopicMetadata) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandPartitionedTopicMetadata.Merge(m, src)
-}
-func (m *CommandPartitionedTopicMetadata) XXX_Size() int {
-	return xxx_messageInfo_CommandPartitionedTopicMetadata.Size(m)
-}
-func (m *CommandPartitionedTopicMetadata) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandPartitionedTopicMetadata.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandPartitionedTopicMetadata proto.InternalMessageInfo
-
-func (m *CommandPartitionedTopicMetadata) GetTopic() string {
-	if m != nil && m.Topic != nil {
-		return *m.Topic
-	}
-	return ""
-}
-
-func (m *CommandPartitionedTopicMetadata) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandPartitionedTopicMetadata) GetOriginalPrincipal() string {
-	if m != nil && m.OriginalPrincipal != nil {
-		return *m.OriginalPrincipal
-	}
-	return ""
-}
-
-func (m *CommandPartitionedTopicMetadata) GetOriginalAuthData() string {
-	if m != nil && m.OriginalAuthData != nil {
-		return *m.OriginalAuthData
-	}
-	return ""
-}
-
-func (m *CommandPartitionedTopicMetadata) GetOriginalAuthMethod() string {
-	if m != nil && m.OriginalAuthMethod != nil {
-		return *m.OriginalAuthMethod
-	}
-	return ""
-}
-
-type CommandPartitionedTopicMetadataResponse struct {
-	Partitions           *uint32                                             `protobuf:"varint,1,opt,name=partitions" json:"partitions,omitempty"`
-	RequestId            *uint64                                             `protobuf:"varint,2,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	Response             *CommandPartitionedTopicMetadataResponse_LookupType `protobuf:"varint,3,opt,name=response,enum=pulsar.proto.CommandPartitionedTopicMetadataResponse_LookupType" json:"response,omitempty"`
-	Error                *ServerError                                        `protobuf:"varint,4,opt,name=error,enum=pulsar.proto.ServerError" json:"error,omitempty"`
-	Message              *string                                             `protobuf:"bytes,5,opt,name=message" json:"message,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                                            `json:"-"`
-	XXX_unrecognized     []byte                                              `json:"-"`
-	XXX_sizecache        int32                                               `json:"-"`
-}
-
-func (m *CommandPartitionedTopicMetadataResponse) Reset() {
-	*m = CommandPartitionedTopicMetadataResponse{}
-}
-func (m *CommandPartitionedTopicMetadataResponse) String() string { return proto.CompactTextString(m) }
-func (*CommandPartitionedTopicMetadataResponse) ProtoMessage()    {}
-func (*CommandPartitionedTopicMetadataResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{17}
-}
-
-func (m *CommandPartitionedTopicMetadataResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandPartitionedTopicMetadataResponse.Unmarshal(m, b)
-}
-func (m *CommandPartitionedTopicMetadataResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandPartitionedTopicMetadataResponse.Marshal(b, m, deterministic)
-}
-func (m *CommandPartitionedTopicMetadataResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandPartitionedTopicMetadataResponse.Merge(m, src)
-}
-func (m *CommandPartitionedTopicMetadataResponse) XXX_Size() int {
-	return xxx_messageInfo_CommandPartitionedTopicMetadataResponse.Size(m)
-}
-func (m *CommandPartitionedTopicMetadataResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandPartitionedTopicMetadataResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandPartitionedTopicMetadataResponse proto.InternalMessageInfo
-
-func (m *CommandPartitionedTopicMetadataResponse) GetPartitions() uint32 {
-	if m != nil && m.Partitions != nil {
-		return *m.Partitions
-	}
-	return 0
-}
-
-func (m *CommandPartitionedTopicMetadataResponse) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandPartitionedTopicMetadataResponse) GetResponse() CommandPartitionedTopicMetadataResponse_LookupType {
-	if m != nil && m.Response != nil {
-		return *m.Response
-	}
-	return CommandPartitionedTopicMetadataResponse_Success
-}
-
-func (m *CommandPartitionedTopicMetadataResponse) GetError() ServerError {
-	if m != nil && m.Error != nil {
-		return *m.Error
-	}
-	return ServerError_UnknownError
-}
-
-func (m *CommandPartitionedTopicMetadataResponse) GetMessage() string {
-	if m != nil && m.Message != nil {
-		return *m.Message
-	}
-	return ""
-}
-
-type CommandLookupTopic struct {
-	Topic         *string `protobuf:"bytes,1,req,name=topic" json:"topic,omitempty"`
-	RequestId     *uint64 `protobuf:"varint,2,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	Authoritative *bool   `protobuf:"varint,3,opt,name=authoritative,def=0" json:"authoritative,omitempty"`
-	// TODO - Remove original_principal, original_auth_data, original_auth_method
-	// Original principal that was verified by
-	// a Pulsar proxy.
-	OriginalPrincipal *string `protobuf:"bytes,4,opt,name=original_principal,json=originalPrincipal" json:"original_principal,omitempty"`
-	// Original auth role and auth Method that was passed
-	// to the proxy.
-	OriginalAuthData     *string  `protobuf:"bytes,5,opt,name=original_auth_data,json=originalAuthData" json:"original_auth_data,omitempty"`
-	OriginalAuthMethod   *string  `protobuf:"bytes,6,opt,name=original_auth_method,json=originalAuthMethod" json:"original_auth_method,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CommandLookupTopic) Reset()         { *m = CommandLookupTopic{} }
-func (m *CommandLookupTopic) String() string { return proto.CompactTextString(m) }
-func (*CommandLookupTopic) ProtoMessage()    {}
-func (*CommandLookupTopic) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{18}
-}
-
-func (m *CommandLookupTopic) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandLookupTopic.Unmarshal(m, b)
-}
-func (m *CommandLookupTopic) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandLookupTopic.Marshal(b, m, deterministic)
-}
-func (m *CommandLookupTopic) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandLookupTopic.Merge(m, src)
-}
-func (m *CommandLookupTopic) XXX_Size() int {
-	return xxx_messageInfo_CommandLookupTopic.Size(m)
-}
-func (m *CommandLookupTopic) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandLookupTopic.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandLookupTopic proto.InternalMessageInfo
-
-const Default_CommandLookupTopic_Authoritative bool = false
-
-func (m *CommandLookupTopic) GetTopic() string {
-	if m != nil && m.Topic != nil {
-		return *m.Topic
-	}
-	return ""
-}
-
-func (m *CommandLookupTopic) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandLookupTopic) GetAuthoritative() bool {
-	if m != nil && m.Authoritative != nil {
-		return *m.Authoritative
-	}
-	return Default_CommandLookupTopic_Authoritative
-}
-
-func (m *CommandLookupTopic) GetOriginalPrincipal() string {
-	if m != nil && m.OriginalPrincipal != nil {
-		return *m.OriginalPrincipal
-	}
-	return ""
-}
-
-func (m *CommandLookupTopic) GetOriginalAuthData() string {
-	if m != nil && m.OriginalAuthData != nil {
-		return *m.OriginalAuthData
-	}
-	return ""
-}
-
-func (m *CommandLookupTopic) GetOriginalAuthMethod() string {
-	if m != nil && m.OriginalAuthMethod != nil {
-		return *m.OriginalAuthMethod
-	}
-	return ""
-}
-
-type CommandLookupTopicResponse struct {
-	BrokerServiceUrl    *string                                `protobuf:"bytes,1,opt,name=brokerServiceUrl" json:"brokerServiceUrl,omitempty"`
-	BrokerServiceUrlTls *string                                `protobuf:"bytes,2,opt,name=brokerServiceUrlTls" json:"brokerServiceUrlTls,omitempty"`
-	Response            *CommandLookupTopicResponse_LookupType `protobuf:"varint,3,opt,name=response,enum=pulsar.proto.CommandLookupTopicResponse_LookupType" json:"response,omitempty"`
-	RequestId           *uint64                                `protobuf:"varint,4,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	Authoritative       *bool                                  `protobuf:"varint,5,opt,name=authoritative,def=0" json:"authoritative,omitempty"`
-	Error               *ServerError                           `protobuf:"varint,6,opt,name=error,enum=pulsar.proto.ServerError" json:"error,omitempty"`
-	Message             *string                                `protobuf:"bytes,7,opt,name=message" json:"message,omitempty"`
-	// If it's true, indicates to the client that it must
-	// always connect through the service url after the
-	// lookup has been completed.
-	ProxyThroughServiceUrl *bool    `protobuf:"varint,8,opt,name=proxy_through_service_url,json=proxyThroughServiceUrl,def=0" json:"proxy_through_service_url,omitempty"`
-	XXX_NoUnkeyedLiteral   struct{} `json:"-"`
-	XXX_unrecognized       []byte   `json:"-"`
-	XXX_sizecache          int32    `json:"-"`
-}
-
-func (m *CommandLookupTopicResponse) Reset()         { *m = CommandLookupTopicResponse{} }
-func (m *CommandLookupTopicResponse) String() string { return proto.CompactTextString(m) }
-func (*CommandLookupTopicResponse) ProtoMessage()    {}
-func (*CommandLookupTopicResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{19}
-}
-
-func (m *CommandLookupTopicResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandLookupTopicResponse.Unmarshal(m, b)
-}
-func (m *CommandLookupTopicResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandLookupTopicResponse.Marshal(b, m, deterministic)
-}
-func (m *CommandLookupTopicResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandLookupTopicResponse.Merge(m, src)
-}
-func (m *CommandLookupTopicResponse) XXX_Size() int {
-	return xxx_messageInfo_CommandLookupTopicResponse.Size(m)
-}
-func (m *CommandLookupTopicResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandLookupTopicResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandLookupTopicResponse proto.InternalMessageInfo
-
-const Default_CommandLookupTopicResponse_Authoritative bool = false
-const Default_CommandLookupTopicResponse_ProxyThroughServiceUrl bool = false
-
-func (m *CommandLookupTopicResponse) GetBrokerServiceUrl() string {
-	if m != nil && m.BrokerServiceUrl != nil {
-		return *m.BrokerServiceUrl
-	}
-	return ""
-}
-
-func (m *CommandLookupTopicResponse) GetBrokerServiceUrlTls() string {
-	if m != nil && m.BrokerServiceUrlTls != nil {
-		return *m.BrokerServiceUrlTls
-	}
-	return ""
-}
-
-func (m *CommandLookupTopicResponse) GetResponse() CommandLookupTopicResponse_LookupType {
-	if m != nil && m.Response != nil {
-		return *m.Response
-	}
-	return CommandLookupTopicResponse_Redirect
-}
-
-func (m *CommandLookupTopicResponse) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandLookupTopicResponse) GetAuthoritative() bool {
-	if m != nil && m.Authoritative != nil {
-		return *m.Authoritative
-	}
-	return Default_CommandLookupTopicResponse_Authoritative
-}
-
-func (m *CommandLookupTopicResponse) GetError() ServerError {
-	if m != nil && m.Error != nil {
-		return *m.Error
-	}
-	return ServerError_UnknownError
-}
-
-func (m *CommandLookupTopicResponse) GetMessage() string {
-	if m != nil && m.Message != nil {
-		return *m.Message
-	}
-	return ""
-}
-
-func (m *CommandLookupTopicResponse) GetProxyThroughServiceUrl() bool {
-	if m != nil && m.ProxyThroughServiceUrl != nil {
-		return *m.ProxyThroughServiceUrl
-	}
-	return Default_CommandLookupTopicResponse_ProxyThroughServiceUrl
-}
-
-/// Create a new Producer on a topic, assigning the given producer_id,
-/// all messages sent with this producer_id will be persisted on the topic
-type CommandProducer struct {
-	Topic      *string `protobuf:"bytes,1,req,name=topic" json:"topic,omitempty"`
-	ProducerId *uint64 `protobuf:"varint,2,req,name=producer_id,json=producerId" json:"producer_id,omitempty"`
-	RequestId  *uint64 `protobuf:"varint,3,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	/// If a producer name is specified, the name will be used,
-	/// otherwise the broker will generate a unique name
-	ProducerName *string `protobuf:"bytes,4,opt,name=producer_name,json=producerName" json:"producer_name,omitempty"`
-	Encrypted    *bool   `protobuf:"varint,5,opt,name=encrypted,def=0" json:"encrypted,omitempty"`
-	/// Add optional metadata key=value to this producer
-	Metadata []*KeyValue `protobuf:"bytes,6,rep,name=metadata" json:"metadata,omitempty"`
-	Schema   *Schema     `protobuf:"bytes,7,opt,name=schema" json:"schema,omitempty"`
-	// If producer reconnect to broker, the epoch of this producer will +1
-	Epoch *uint64 `protobuf:"varint,8,opt,name=epoch,def=0" json:"epoch,omitempty"`
-	// Indicate the name of the producer is generated or user provided
-	// Use default true here is in order to be forward compatible with the client
-	UserProvidedProducerName *bool    `protobuf:"varint,9,opt,name=user_provided_producer_name,json=userProvidedProducerName,def=1" json:"user_provided_producer_name,omitempty"`
-	XXX_NoUnkeyedLiteral     struct{} `json:"-"`
-	XXX_unrecognized         []byte   `json:"-"`
-	XXX_sizecache            int32    `json:"-"`
-}
-
-func (m *CommandProducer) Reset()         { *m = CommandProducer{} }
-func (m *CommandProducer) String() string { return proto.CompactTextString(m) }
-func (*CommandProducer) ProtoMessage()    {}
-func (*CommandProducer) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{20}
-}
-
-func (m *CommandProducer) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandProducer.Unmarshal(m, b)
-}
-func (m *CommandProducer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandProducer.Marshal(b, m, deterministic)
-}
-func (m *CommandProducer) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandProducer.Merge(m, src)
-}
-func (m *CommandProducer) XXX_Size() int {
-	return xxx_messageInfo_CommandProducer.Size(m)
-}
-func (m *CommandProducer) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandProducer.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandProducer proto.InternalMessageInfo
-
-const Default_CommandProducer_Encrypted bool = false
-const Default_CommandProducer_Epoch uint64 = 0
-const Default_CommandProducer_UserProvidedProducerName bool = true
-
-func (m *CommandProducer) GetTopic() string {
-	if m != nil && m.Topic != nil {
-		return *m.Topic
-	}
-	return ""
-}
-
-func (m *CommandProducer) GetProducerId() uint64 {
-	if m != nil && m.ProducerId != nil {
-		return *m.ProducerId
-	}
-	return 0
-}
-
-func (m *CommandProducer) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandProducer) GetProducerName() string {
-	if m != nil && m.ProducerName != nil {
-		return *m.ProducerName
-	}
-	return ""
-}
-
-func (m *CommandProducer) GetEncrypted() bool {
-	if m != nil && m.Encrypted != nil {
-		return *m.Encrypted
-	}
-	return Default_CommandProducer_Encrypted
-}
-
-func (m *CommandProducer) GetMetadata() []*KeyValue {
-	if m != nil {
-		return m.Metadata
-	}
-	return nil
-}
-
-func (m *CommandProducer) GetSchema() *Schema {
-	if m != nil {
-		return m.Schema
-	}
-	return nil
-}
-
-func (m *CommandProducer) GetEpoch() uint64 {
-	if m != nil && m.Epoch != nil {
-		return *m.Epoch
-	}
-	return Default_CommandProducer_Epoch
-}
-
-func (m *CommandProducer) GetUserProvidedProducerName() bool {
-	if m != nil && m.UserProvidedProducerName != nil {
-		return *m.UserProvidedProducerName
-	}
-	return Default_CommandProducer_UserProvidedProducerName
-}
-
-type CommandSend struct {
-	ProducerId     *uint64 `protobuf:"varint,1,req,name=producer_id,json=producerId" json:"producer_id,omitempty"`
-	SequenceId     *uint64 `protobuf:"varint,2,req,name=sequence_id,json=sequenceId" json:"sequence_id,omitempty"`
-	NumMessages    *int32  `protobuf:"varint,3,opt,name=num_messages,json=numMessages,def=1" json:"num_messages,omitempty"`
-	TxnidLeastBits *uint64 `protobuf:"varint,4,opt,name=txnid_least_bits,json=txnidLeastBits,def=0" json:"txnid_least_bits,omitempty"`
-	TxnidMostBits  *uint64 `protobuf:"varint,5,opt,name=txnid_most_bits,json=txnidMostBits,def=0" json:"txnid_most_bits,omitempty"`
-	/// Add highest sequence id to support batch message with external sequence id
-	HighestSequenceId    *uint64  `protobuf:"varint,6,opt,name=highest_sequence_id,json=highestSequenceId,def=0" json:"highest_sequence_id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CommandSend) Reset()         { *m = CommandSend{} }
-func (m *CommandSend) String() string { return proto.CompactTextString(m) }
-func (*CommandSend) ProtoMessage()    {}
-func (*CommandSend) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{21}
-}
-
-func (m *CommandSend) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandSend.Unmarshal(m, b)
-}
-func (m *CommandSend) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandSend.Marshal(b, m, deterministic)
-}
-func (m *CommandSend) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandSend.Merge(m, src)
-}
-func (m *CommandSend) XXX_Size() int {
-	return xxx_messageInfo_CommandSend.Size(m)
-}
-func (m *CommandSend) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandSend.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandSend proto.InternalMessageInfo
-
-const Default_CommandSend_NumMessages int32 = 1
-const Default_CommandSend_TxnidLeastBits uint64 = 0
-const Default_CommandSend_TxnidMostBits uint64 = 0
-const Default_CommandSend_HighestSequenceId uint64 = 0
-
-func (m *CommandSend) GetProducerId() uint64 {
-	if m != nil && m.ProducerId != nil {
-		return *m.ProducerId
-	}
-	return 0
-}
-
-func (m *CommandSend) GetSequenceId() uint64 {
-	if m != nil && m.SequenceId != nil {
-		return *m.SequenceId
-	}
-	return 0
-}
-
-func (m *CommandSend) GetNumMessages() int32 {
-	if m != nil && m.NumMessages != nil {
-		return *m.NumMessages
-	}
-	return Default_CommandSend_NumMessages
-}
-
-func (m *CommandSend) GetTxnidLeastBits() uint64 {
-	if m != nil && m.TxnidLeastBits != nil {
-		return *m.TxnidLeastBits
-	}
-	return Default_CommandSend_TxnidLeastBits
-}
-
-func (m *CommandSend) GetTxnidMostBits() uint64 {
-	if m != nil && m.TxnidMostBits != nil {
-		return *m.TxnidMostBits
-	}
-	return Default_CommandSend_TxnidMostBits
-}
-
-func (m *CommandSend) GetHighestSequenceId() uint64 {
-	if m != nil && m.HighestSequenceId != nil {
-		return *m.HighestSequenceId
-	}
-	return Default_CommandSend_HighestSequenceId
-}
-
-type CommandSendReceipt struct {
-	ProducerId           *uint64        `protobuf:"varint,1,req,name=producer_id,json=producerId" json:"producer_id,omitempty"`
-	SequenceId           *uint64        `protobuf:"varint,2,req,name=sequence_id,json=sequenceId" json:"sequence_id,omitempty"`
-	MessageId            *MessageIdData `protobuf:"bytes,3,opt,name=message_id,json=messageId" json:"message_id,omitempty"`
-	HighestSequenceId    *uint64        `protobuf:"varint,4,opt,name=highest_sequence_id,json=highestSequenceId,def=0" json:"highest_sequence_id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
-	XXX_unrecognized     []byte         `json:"-"`
-	XXX_sizecache        int32          `json:"-"`
-}
-
-func (m *CommandSendReceipt) Reset()         { *m = CommandSendReceipt{} }
-func (m *CommandSendReceipt) String() string { return proto.CompactTextString(m) }
-func (*CommandSendReceipt) ProtoMessage()    {}
-func (*CommandSendReceipt) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{22}
-}
-
-func (m *CommandSendReceipt) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandSendReceipt.Unmarshal(m, b)
-}
-func (m *CommandSendReceipt) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandSendReceipt.Marshal(b, m, deterministic)
-}
-func (m *CommandSendReceipt) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandSendReceipt.Merge(m, src)
-}
-func (m *CommandSendReceipt) XXX_Size() int {
-	return xxx_messageInfo_CommandSendReceipt.Size(m)
-}
-func (m *CommandSendReceipt) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandSendReceipt.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandSendReceipt proto.InternalMessageInfo
-
-const Default_CommandSendReceipt_HighestSequenceId uint64 = 0
-
-func (m *CommandSendReceipt) GetProducerId() uint64 {
-	if m != nil && m.ProducerId != nil {
-		return *m.ProducerId
-	}
-	return 0
-}
-
-func (m *CommandSendReceipt) GetSequenceId() uint64 {
-	if m != nil && m.SequenceId != nil {
-		return *m.SequenceId
-	}
-	return 0
-}
-
-func (m *CommandSendReceipt) GetMessageId() *MessageIdData {
-	if m != nil {
-		return m.MessageId
-	}
-	return nil
-}
-
-func (m *CommandSendReceipt) GetHighestSequenceId() uint64 {
-	if m != nil && m.HighestSequenceId != nil {
-		return *m.HighestSequenceId
-	}
-	return Default_CommandSendReceipt_HighestSequenceId
-}
-
-type CommandSendError struct {
-	ProducerId           *uint64      `protobuf:"varint,1,req,name=producer_id,json=producerId" json:"producer_id,omitempty"`
-	SequenceId           *uint64      `protobuf:"varint,2,req,name=sequence_id,json=sequenceId" json:"sequence_id,omitempty"`
-	Error                *ServerError `protobuf:"varint,3,req,name=error,enum=pulsar.proto.ServerError" json:"error,omitempty"`
-	Message              *string      `protobuf:"bytes,4,req,name=message" json:"message,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
-}
-
-func (m *CommandSendError) Reset()         { *m = CommandSendError{} }
-func (m *CommandSendError) String() string { return proto.CompactTextString(m) }
-func (*CommandSendError) ProtoMessage()    {}
-func (*CommandSendError) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{23}
-}
-
-func (m *CommandSendError) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandSendError.Unmarshal(m, b)
-}
-func (m *CommandSendError) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandSendError.Marshal(b, m, deterministic)
-}
-func (m *CommandSendError) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandSendError.Merge(m, src)
-}
-func (m *CommandSendError) XXX_Size() int {
-	return xxx_messageInfo_CommandSendError.Size(m)
-}
-func (m *CommandSendError) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandSendError.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandSendError proto.InternalMessageInfo
-
-func (m *CommandSendError) GetProducerId() uint64 {
-	if m != nil && m.ProducerId != nil {
-		return *m.ProducerId
-	}
-	return 0
-}
-
-func (m *CommandSendError) GetSequenceId() uint64 {
-	if m != nil && m.SequenceId != nil {
-		return *m.SequenceId
-	}
-	return 0
-}
-
-func (m *CommandSendError) GetError() ServerError {
-	if m != nil && m.Error != nil {
-		return *m.Error
-	}
-	return ServerError_UnknownError
-}
-
-func (m *CommandSendError) GetMessage() string {
-	if m != nil && m.Message != nil {
-		return *m.Message
-	}
-	return ""
-}
-
-type CommandMessage struct {
-	ConsumerId           *uint64        `protobuf:"varint,1,req,name=consumer_id,json=consumerId" json:"consumer_id,omitempty"`
-	MessageId            *MessageIdData `protobuf:"bytes,2,req,name=message_id,json=messageId" json:"message_id,omitempty"`
-	RedeliveryCount      *uint32        `protobuf:"varint,3,opt,name=redelivery_count,json=redeliveryCount,def=0" json:"redelivery_count,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
-	XXX_unrecognized     []byte         `json:"-"`
-	XXX_sizecache        int32          `json:"-"`
-}
-
-func (m *CommandMessage) Reset()         { *m = CommandMessage{} }
-func (m *CommandMessage) String() string { return proto.CompactTextString(m) }
-func (*CommandMessage) ProtoMessage()    {}
-func (*CommandMessage) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{24}
-}
-
-func (m *CommandMessage) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandMessage.Unmarshal(m, b)
-}
-func (m *CommandMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandMessage.Marshal(b, m, deterministic)
-}
-func (m *CommandMessage) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandMessage.Merge(m, src)
-}
-func (m *CommandMessage) XXX_Size() int {
-	return xxx_messageInfo_CommandMessage.Size(m)
-}
-func (m *CommandMessage) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandMessage.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandMessage proto.InternalMessageInfo
-
-const Default_CommandMessage_RedeliveryCount uint32 = 0
-
-func (m *CommandMessage) GetConsumerId() uint64 {
-	if m != nil && m.ConsumerId != nil {
-		return *m.ConsumerId
-	}
-	return 0
-}
-
-func (m *CommandMessage) GetMessageId() *MessageIdData {
-	if m != nil {
-		return m.MessageId
-	}
-	return nil
-}
-
-func (m *CommandMessage) GetRedeliveryCount() uint32 {
-	if m != nil && m.RedeliveryCount != nil {
-		return *m.RedeliveryCount
-	}
-	return Default_CommandMessage_RedeliveryCount
-}
-
-type CommandAck struct {
-	ConsumerId *uint64             `protobuf:"varint,1,req,name=consumer_id,json=consumerId" json:"consumer_id,omitempty"`
-	AckType    *CommandAck_AckType `protobuf:"varint,2,req,name=ack_type,json=ackType,enum=pulsar.proto.CommandAck_AckType" json:"ack_type,omitempty"`
-	// In case of individual acks, the client can pass a list of message ids
-	MessageId            []*MessageIdData            `protobuf:"bytes,3,rep,name=message_id,json=messageId" json:"message_id,omitempty"`
-	ValidationError      *CommandAck_ValidationError `protobuf:"varint,4,opt,name=validation_error,json=validationError,enum=pulsar.proto.CommandAck_ValidationError" json:"validation_error,omitempty"`
-	Properties           []*KeyLongValue             `protobuf:"bytes,5,rep,name=properties" json:"properties,omitempty"`
-	TxnidLeastBits       *uint64                     `protobuf:"varint,6,opt,name=txnid_least_bits,json=txnidLeastBits,def=0" json:"txnid_least_bits,omitempty"`
-	TxnidMostBits        *uint64                     `protobuf:"varint,7,opt,name=txnid_most_bits,json=txnidMostBits,def=0" json:"txnid_most_bits,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
-	XXX_unrecognized     []byte                      `json:"-"`
-	XXX_sizecache        int32                       `json:"-"`
-}
-
-func (m *CommandAck) Reset()         { *m = CommandAck{} }
-func (m *CommandAck) String() string { return proto.CompactTextString(m) }
-func (*CommandAck) ProtoMessage()    {}
-func (*CommandAck) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{25}
-}
-
-func (m *CommandAck) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandAck.Unmarshal(m, b)
-}
-func (m *CommandAck) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandAck.Marshal(b, m, deterministic)
-}
-func (m *CommandAck) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandAck.Merge(m, src)
-}
-func (m *CommandAck) XXX_Size() int {
-	return xxx_messageInfo_CommandAck.Size(m)
-}
-func (m *CommandAck) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandAck.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandAck proto.InternalMessageInfo
-
-const Default_CommandAck_TxnidLeastBits uint64 = 0
-const Default_CommandAck_TxnidMostBits uint64 = 0
-
-func (m *CommandAck) GetConsumerId() uint64 {
-	if m != nil && m.ConsumerId != nil {
-		return *m.ConsumerId
-	}
-	return 0
-}
-
-func (m *CommandAck) GetAckType() CommandAck_AckType {
-	if m != nil && m.AckType != nil {
-		return *m.AckType
-	}
-	return CommandAck_Individual
-}
-
-func (m *CommandAck) GetMessageId() []*MessageIdData {
-	if m != nil {
-		return m.MessageId
-	}
-	return nil
-}
-
-func (m *CommandAck) GetValidationError() CommandAck_ValidationError {
-	if m != nil && m.ValidationError != nil {
-		return *m.ValidationError
-	}
-	return CommandAck_UncompressedSizeCorruption
-}
-
-func (m *CommandAck) GetProperties() []*KeyLongValue {
-	if m != nil {
-		return m.Properties
-	}
-	return nil
-}
-
-func (m *CommandAck) GetTxnidLeastBits() uint64 {
-	if m != nil && m.TxnidLeastBits != nil {
-		return *m.TxnidLeastBits
-	}
-	return Default_CommandAck_TxnidLeastBits
-}
-
-func (m *CommandAck) GetTxnidMostBits() uint64 {
-	if m != nil && m.TxnidMostBits != nil {
-		return *m.TxnidMostBits
-	}
-	return Default_CommandAck_TxnidMostBits
-}
-
-type CommandAckResponse struct {
-	ConsumerId           *uint64      `protobuf:"varint,1,req,name=consumer_id,json=consumerId" json:"consumer_id,omitempty"`
-	TxnidLeastBits       *uint64      `protobuf:"varint,2,opt,name=txnid_least_bits,json=txnidLeastBits,def=0" json:"txnid_least_bits,omitempty"`
-	TxnidMostBits        *uint64      `protobuf:"varint,3,opt,name=txnid_most_bits,json=txnidMostBits,def=0" json:"txnid_most_bits,omitempty"`
-	Error                *ServerError `protobuf:"varint,4,opt,name=error,enum=pulsar.proto.ServerError" json:"error,omitempty"`
-	Message              *string      `protobuf:"bytes,5,opt,name=message" json:"message,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
-}
-
-func (m *CommandAckResponse) Reset()         { *m = CommandAckResponse{} }
-func (m *CommandAckResponse) String() string { return proto.CompactTextString(m) }
-func (*CommandAckResponse) ProtoMessage()    {}
-func (*CommandAckResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{26}
-}
-
-func (m *CommandAckResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandAckResponse.Unmarshal(m, b)
-}
-func (m *CommandAckResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandAckResponse.Marshal(b, m, deterministic)
-}
-func (m *CommandAckResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandAckResponse.Merge(m, src)
-}
-func (m *CommandAckResponse) XXX_Size() int {
-	return xxx_messageInfo_CommandAckResponse.Size(m)
-}
-func (m *CommandAckResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandAckResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandAckResponse proto.InternalMessageInfo
-
-const Default_CommandAckResponse_TxnidLeastBits uint64 = 0
-const Default_CommandAckResponse_TxnidMostBits uint64 = 0
-
-func (m *CommandAckResponse) GetConsumerId() uint64 {
-	if m != nil && m.ConsumerId != nil {
-		return *m.ConsumerId
-	}
-	return 0
-}
-
-func (m *CommandAckResponse) GetTxnidLeastBits() uint64 {
-	if m != nil && m.TxnidLeastBits != nil {
-		return *m.TxnidLeastBits
-	}
-	return Default_CommandAckResponse_TxnidLeastBits
-}
-
-func (m *CommandAckResponse) GetTxnidMostBits() uint64 {
-	if m != nil && m.TxnidMostBits != nil {
-		return *m.TxnidMostBits
-	}
-	return Default_CommandAckResponse_TxnidMostBits
-}
-
-func (m *CommandAckResponse) GetError() ServerError {
-	if m != nil && m.Error != nil {
-		return *m.Error
-	}
-	return ServerError_UnknownError
-}
-
-func (m *CommandAckResponse) GetMessage() string {
-	if m != nil && m.Message != nil {
-		return *m.Message
-	}
-	return ""
-}
-
-// changes on active consumer
-type CommandActiveConsumerChange struct {
-	ConsumerId           *uint64  `protobuf:"varint,1,req,name=consumer_id,json=consumerId" json:"consumer_id,omitempty"`
-	IsActive             *bool    `protobuf:"varint,2,opt,name=is_active,json=isActive,def=0" json:"is_active,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CommandActiveConsumerChange) Reset()         { *m = CommandActiveConsumerChange{} }
-func (m *CommandActiveConsumerChange) String() string { return proto.CompactTextString(m) }
-func (*CommandActiveConsumerChange) ProtoMessage()    {}
-func (*CommandActiveConsumerChange) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{27}
-}
-
-func (m *CommandActiveConsumerChange) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandActiveConsumerChange.Unmarshal(m, b)
-}
-func (m *CommandActiveConsumerChange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandActiveConsumerChange.Marshal(b, m, deterministic)
-}
-func (m *CommandActiveConsumerChange) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandActiveConsumerChange.Merge(m, src)
-}
-func (m *CommandActiveConsumerChange) XXX_Size() int {
-	return xxx_messageInfo_CommandActiveConsumerChange.Size(m)
-}
-func (m *CommandActiveConsumerChange) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandActiveConsumerChange.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandActiveConsumerChange proto.InternalMessageInfo
-
-const Default_CommandActiveConsumerChange_IsActive bool = false
-
-func (m *CommandActiveConsumerChange) GetConsumerId() uint64 {
-	if m != nil && m.ConsumerId != nil {
-		return *m.ConsumerId
-	}
-	return 0
-}
-
-func (m *CommandActiveConsumerChange) GetIsActive() bool {
-	if m != nil && m.IsActive != nil {
-		return *m.IsActive
-	}
-	return Default_CommandActiveConsumerChange_IsActive
-}
-
-type CommandFlow struct {
-	ConsumerId *uint64 `protobuf:"varint,1,req,name=consumer_id,json=consumerId" json:"consumer_id,omitempty"`
-	// Max number of messages to prefetch, in addition
-	// of any number previously specified
-	MessagePermits       *uint32  `protobuf:"varint,2,req,name=messagePermits" json:"messagePermits,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CommandFlow) Reset()         { *m = CommandFlow{} }
-func (m *CommandFlow) String() string { return proto.CompactTextString(m) }
-func (*CommandFlow) ProtoMessage()    {}
-func (*CommandFlow) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{28}
-}
-
-func (m *CommandFlow) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandFlow.Unmarshal(m, b)
-}
-func (m *CommandFlow) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandFlow.Marshal(b, m, deterministic)
-}
-func (m *CommandFlow) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandFlow.Merge(m, src)
-}
-func (m *CommandFlow) XXX_Size() int {
-	return xxx_messageInfo_CommandFlow.Size(m)
-}
-func (m *CommandFlow) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandFlow.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandFlow proto.InternalMessageInfo
-
-func (m *CommandFlow) GetConsumerId() uint64 {
-	if m != nil && m.ConsumerId != nil {
-		return *m.ConsumerId
-	}
-	return 0
-}
-
-func (m *CommandFlow) GetMessagePermits() uint32 {
-	if m != nil && m.MessagePermits != nil {
-		return *m.MessagePermits
-	}
-	return 0
-}
-
-type CommandUnsubscribe struct {
-	ConsumerId           *uint64  `protobuf:"varint,1,req,name=consumer_id,json=consumerId" json:"consumer_id,omitempty"`
-	RequestId            *uint64  `protobuf:"varint,2,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CommandUnsubscribe) Reset()         { *m = CommandUnsubscribe{} }
-func (m *CommandUnsubscribe) String() string { return proto.CompactTextString(m) }
-func (*CommandUnsubscribe) ProtoMessage()    {}
-func (*CommandUnsubscribe) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{29}
-}
-
-func (m *CommandUnsubscribe) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandUnsubscribe.Unmarshal(m, b)
-}
-func (m *CommandUnsubscribe) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandUnsubscribe.Marshal(b, m, deterministic)
-}
-func (m *CommandUnsubscribe) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandUnsubscribe.Merge(m, src)
-}
-func (m *CommandUnsubscribe) XXX_Size() int {
-	return xxx_messageInfo_CommandUnsubscribe.Size(m)
-}
-func (m *CommandUnsubscribe) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandUnsubscribe.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandUnsubscribe proto.InternalMessageInfo
-
-func (m *CommandUnsubscribe) GetConsumerId() uint64 {
-	if m != nil && m.ConsumerId != nil {
-		return *m.ConsumerId
-	}
-	return 0
-}
-
-func (m *CommandUnsubscribe) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-// Reset an existing consumer to a particular message id
-type CommandSeek struct {
-	ConsumerId           *uint64        `protobuf:"varint,1,req,name=consumer_id,json=consumerId" json:"consumer_id,omitempty"`
-	RequestId            *uint64        `protobuf:"varint,2,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	MessageId            *MessageIdData `protobuf:"bytes,3,opt,name=message_id,json=messageId" json:"message_id,omitempty"`
-	MessagePublishTime   *uint64        `protobuf:"varint,4,opt,name=message_publish_time,json=messagePublishTime" json:"message_publish_time,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
-	XXX_unrecognized     []byte         `json:"-"`
-	XXX_sizecache        int32          `json:"-"`
-}
-
-func (m *CommandSeek) Reset()         { *m = CommandSeek{} }
-func (m *CommandSeek) String() string { return proto.CompactTextString(m) }
-func (*CommandSeek) ProtoMessage()    {}
-func (*CommandSeek) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{30}
-}
-
-func (m *CommandSeek) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandSeek.Unmarshal(m, b)
-}
-func (m *CommandSeek) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandSeek.Marshal(b, m, deterministic)
-}
-func (m *CommandSeek) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandSeek.Merge(m, src)
-}
-func (m *CommandSeek) XXX_Size() int {
-	return xxx_messageInfo_CommandSeek.Size(m)
-}
-func (m *CommandSeek) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandSeek.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandSeek proto.InternalMessageInfo
-
-func (m *CommandSeek) GetConsumerId() uint64 {
-	if m != nil && m.ConsumerId != nil {
-		return *m.ConsumerId
-	}
-	return 0
-}
-
-func (m *CommandSeek) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandSeek) GetMessageId() *MessageIdData {
-	if m != nil {
-		return m.MessageId
-	}
-	return nil
-}
-
-func (m *CommandSeek) GetMessagePublishTime() uint64 {
-	if m != nil && m.MessagePublishTime != nil {
-		return *m.MessagePublishTime
-	}
-	return 0
-}
-
-// Message sent by broker to client when a topic
-// has been forcefully terminated and there are no more
-// messages left to consume
-type CommandReachedEndOfTopic struct {
-	ConsumerId           *uint64  `protobuf:"varint,1,req,name=consumer_id,json=consumerId" json:"consumer_id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CommandReachedEndOfTopic) Reset()         { *m = CommandReachedEndOfTopic{} }
-func (m *CommandReachedEndOfTopic) String() string { return proto.CompactTextString(m) }
-func (*CommandReachedEndOfTopic) ProtoMessage()    {}
-func (*CommandReachedEndOfTopic) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{31}
-}
-
-func (m *CommandReachedEndOfTopic) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandReachedEndOfTopic.Unmarshal(m, b)
-}
-func (m *CommandReachedEndOfTopic) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandReachedEndOfTopic.Marshal(b, m, deterministic)
-}
-func (m *CommandReachedEndOfTopic) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandReachedEndOfTopic.Merge(m, src)
-}
-func (m *CommandReachedEndOfTopic) XXX_Size() int {
-	return xxx_messageInfo_CommandReachedEndOfTopic.Size(m)
-}
-func (m *CommandReachedEndOfTopic) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandReachedEndOfTopic.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandReachedEndOfTopic proto.InternalMessageInfo
-
-func (m *CommandReachedEndOfTopic) GetConsumerId() uint64 {
-	if m != nil && m.ConsumerId != nil {
-		return *m.ConsumerId
-	}
-	return 0
-}
-
-type CommandCloseProducer struct {
-	ProducerId           *uint64  `protobuf:"varint,1,req,name=producer_id,json=producerId" json:"producer_id,omitempty"`
-	RequestId            *uint64  `protobuf:"varint,2,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CommandCloseProducer) Reset()         { *m = CommandCloseProducer{} }
-func (m *CommandCloseProducer) String() string { return proto.CompactTextString(m) }
-func (*CommandCloseProducer) ProtoMessage()    {}
-func (*CommandCloseProducer) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{32}
-}
-
-func (m *CommandCloseProducer) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandCloseProducer.Unmarshal(m, b)
-}
-func (m *CommandCloseProducer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandCloseProducer.Marshal(b, m, deterministic)
-}
-func (m *CommandCloseProducer) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandCloseProducer.Merge(m, src)
-}
-func (m *CommandCloseProducer) XXX_Size() int {
-	return xxx_messageInfo_CommandCloseProducer.Size(m)
-}
-func (m *CommandCloseProducer) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandCloseProducer.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandCloseProducer proto.InternalMessageInfo
-
-func (m *CommandCloseProducer) GetProducerId() uint64 {
-	if m != nil && m.ProducerId != nil {
-		return *m.ProducerId
-	}
-	return 0
-}
-
-func (m *CommandCloseProducer) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-type CommandCloseConsumer struct {
-	ConsumerId           *uint64  `protobuf:"varint,1,req,name=consumer_id,json=consumerId" json:"consumer_id,omitempty"`
-	RequestId            *uint64  `protobuf:"varint,2,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CommandCloseConsumer) Reset()         { *m = CommandCloseConsumer{} }
-func (m *CommandCloseConsumer) String() string { return proto.CompactTextString(m) }
-func (*CommandCloseConsumer) ProtoMessage()    {}
-func (*CommandCloseConsumer) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{33}
-}
-
-func (m *CommandCloseConsumer) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandCloseConsumer.Unmarshal(m, b)
-}
-func (m *CommandCloseConsumer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandCloseConsumer.Marshal(b, m, deterministic)
-}
-func (m *CommandCloseConsumer) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandCloseConsumer.Merge(m, src)
-}
-func (m *CommandCloseConsumer) XXX_Size() int {
-	return xxx_messageInfo_CommandCloseConsumer.Size(m)
-}
-func (m *CommandCloseConsumer) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandCloseConsumer.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandCloseConsumer proto.InternalMessageInfo
-
-func (m *CommandCloseConsumer) GetConsumerId() uint64 {
-	if m != nil && m.ConsumerId != nil {
-		return *m.ConsumerId
-	}
-	return 0
-}
-
-func (m *CommandCloseConsumer) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-type CommandRedeliverUnacknowledgedMessages struct {
-	ConsumerId           *uint64          `protobuf:"varint,1,req,name=consumer_id,json=consumerId" json:"consumer_id,omitempty"`
-	MessageIds           []*MessageIdData `protobuf:"bytes,2,rep,name=message_ids,json=messageIds" json:"message_ids,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
-	XXX_unrecognized     []byte           `json:"-"`
-	XXX_sizecache        int32            `json:"-"`
-}
-
-func (m *CommandRedeliverUnacknowledgedMessages) Reset() {
-	*m = CommandRedeliverUnacknowledgedMessages{}
-}
-func (m *CommandRedeliverUnacknowledgedMessages) String() string { return proto.CompactTextString(m) }
-func (*CommandRedeliverUnacknowledgedMessages) ProtoMessage()    {}
-func (*CommandRedeliverUnacknowledgedMessages) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{34}
-}
-
-func (m *CommandRedeliverUnacknowledgedMessages) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandRedeliverUnacknowledgedMessages.Unmarshal(m, b)
-}
-func (m *CommandRedeliverUnacknowledgedMessages) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandRedeliverUnacknowledgedMessages.Marshal(b, m, deterministic)
-}
-func (m *CommandRedeliverUnacknowledgedMessages) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandRedeliverUnacknowledgedMessages.Merge(m, src)
-}
-func (m *CommandRedeliverUnacknowledgedMessages) XXX_Size() int {
-	return xxx_messageInfo_CommandRedeliverUnacknowledgedMessages.Size(m)
-}
-func (m *CommandRedeliverUnacknowledgedMessages) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandRedeliverUnacknowledgedMessages.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandRedeliverUnacknowledgedMessages proto.InternalMessageInfo
-
-func (m *CommandRedeliverUnacknowledgedMessages) GetConsumerId() uint64 {
-	if m != nil && m.ConsumerId != nil {
-		return *m.ConsumerId
-	}
-	return 0
-}
-
-func (m *CommandRedeliverUnacknowledgedMessages) GetMessageIds() []*MessageIdData {
-	if m != nil {
-		return m.MessageIds
-	}
-	return nil
-}
-
-type CommandSuccess struct {
-	RequestId            *uint64  `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	Schema               *Schema  `protobuf:"bytes,2,opt,name=schema" json:"schema,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CommandSuccess) Reset()         { *m = CommandSuccess{} }
-func (m *CommandSuccess) String() string { return proto.CompactTextString(m) }
-func (*CommandSuccess) ProtoMessage()    {}
-func (*CommandSuccess) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{35}
-}
-
-func (m *CommandSuccess) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandSuccess.Unmarshal(m, b)
-}
-func (m *CommandSuccess) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandSuccess.Marshal(b, m, deterministic)
-}
-func (m *CommandSuccess) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandSuccess.Merge(m, src)
-}
-func (m *CommandSuccess) XXX_Size() int {
-	return xxx_messageInfo_CommandSuccess.Size(m)
-}
-func (m *CommandSuccess) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandSuccess.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandSuccess proto.InternalMessageInfo
-
-func (m *CommandSuccess) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandSuccess) GetSchema() *Schema {
-	if m != nil {
-		return m.Schema
-	}
-	return nil
-}
-
-/// Response from CommandProducer
-type CommandProducerSuccess struct {
-	RequestId    *uint64 `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	ProducerName *string `protobuf:"bytes,2,req,name=producer_name,json=producerName" json:"producer_name,omitempty"`
-	// The last sequence id that was stored by this producer in the previous session
-	// This will only be meaningful if deduplication has been enabled.
-	LastSequenceId       *int64   `protobuf:"varint,3,opt,name=last_sequence_id,json=lastSequenceId,def=-1" json:"last_sequence_id,omitempty"`
-	SchemaVersion        []byte   `protobuf:"bytes,4,opt,name=schema_version,json=schemaVersion" json:"schema_version,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CommandProducerSuccess) Reset()         { *m = CommandProducerSuccess{} }
-func (m *CommandProducerSuccess) String() string { return proto.CompactTextString(m) }
-func (*CommandProducerSuccess) ProtoMessage()    {}
-func (*CommandProducerSuccess) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{36}
-}
-
-func (m *CommandProducerSuccess) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandProducerSuccess.Unmarshal(m, b)
-}
-func (m *CommandProducerSuccess) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandProducerSuccess.Marshal(b, m, deterministic)
-}
-func (m *CommandProducerSuccess) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandProducerSuccess.Merge(m, src)
-}
-func (m *CommandProducerSuccess) XXX_Size() int {
-	return xxx_messageInfo_CommandProducerSuccess.Size(m)
-}
-func (m *CommandProducerSuccess) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandProducerSuccess.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandProducerSuccess proto.InternalMessageInfo
-
-const Default_CommandProducerSuccess_LastSequenceId int64 = -1
-
-func (m *CommandProducerSuccess) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandProducerSuccess) GetProducerName() string {
-	if m != nil && m.ProducerName != nil {
-		return *m.ProducerName
-	}
-	return ""
-}
-
-func (m *CommandProducerSuccess) GetLastSequenceId() int64 {
-	if m != nil && m.LastSequenceId != nil {
-		return *m.LastSequenceId
-	}
-	return Default_CommandProducerSuccess_LastSequenceId
-}
-
-func (m *CommandProducerSuccess) GetSchemaVersion() []byte {
-	if m != nil {
-		return m.SchemaVersion
-	}
-	return nil
-}
-
-type CommandError struct {
-	RequestId            *uint64      `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	Error                *ServerError `protobuf:"varint,2,req,name=error,enum=pulsar.proto.ServerError" json:"error,omitempty"`
-	Message              *string      `protobuf:"bytes,3,req,name=message" json:"message,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
-}
-
-func (m *CommandError) Reset()         { *m = CommandError{} }
-func (m *CommandError) String() string { return proto.CompactTextString(m) }
-func (*CommandError) ProtoMessage()    {}
-func (*CommandError) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{37}
-}
-
-func (m *CommandError) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandError.Unmarshal(m, b)
-}
-func (m *CommandError) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandError.Marshal(b, m, deterministic)
-}
-func (m *CommandError) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandError.Merge(m, src)
-}
-func (m *CommandError) XXX_Size() int {
-	return xxx_messageInfo_CommandError.Size(m)
-}
-func (m *CommandError) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandError.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandError proto.InternalMessageInfo
-
-func (m *CommandError) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandError) GetError() ServerError {
-	if m != nil && m.Error != nil {
-		return *m.Error
-	}
-	return ServerError_UnknownError
-}
-
-func (m *CommandError) GetMessage() string {
-	if m != nil && m.Message != nil {
-		return *m.Message
-	}
-	return ""
-}
-
-// Commands to probe the state of connection.
-// When either client or broker doesn't receive commands for certain
-// amount of time, they will send a Ping probe.
-type CommandPing struct {
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CommandPing) Reset()         { *m = CommandPing{} }
-func (m *CommandPing) String() string { return proto.CompactTextString(m) }
-func (*CommandPing) ProtoMessage()    {}
-func (*CommandPing) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{38}
-}
-
-func (m *CommandPing) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandPing.Unmarshal(m, b)
-}
-func (m *CommandPing) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandPing.Marshal(b, m, deterministic)
-}
-func (m *CommandPing) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandPing.Merge(m, src)
-}
-func (m *CommandPing) XXX_Size() int {
-	return xxx_messageInfo_CommandPing.Size(m)
-}
-func (m *CommandPing) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandPing.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandPing proto.InternalMessageInfo
-
-type CommandPong struct {
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CommandPong) Reset()         { *m = CommandPong{} }
-func (m *CommandPong) String() string { return proto.CompactTextString(m) }
-func (*CommandPong) ProtoMessage()    {}
-func (*CommandPong) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{39}
-}
-
-func (m *CommandPong) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandPong.Unmarshal(m, b)
-}
-func (m *CommandPong) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandPong.Marshal(b, m, deterministic)
-}
-func (m *CommandPong) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandPong.Merge(m, src)
-}
-func (m *CommandPong) XXX_Size() int {
-	return xxx_messageInfo_CommandPong.Size(m)
-}
-func (m *CommandPong) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandPong.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandPong proto.InternalMessageInfo
-
-type CommandConsumerStats struct {
-	RequestId *uint64 `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	// required string topic_name         = 2;
-	// required string subscription_name  = 3;
-	ConsumerId           *uint64  `protobuf:"varint,4,req,name=consumer_id,json=consumerId" json:"consumer_id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CommandConsumerStats) Reset()         { *m = CommandConsumerStats{} }
-func (m *CommandConsumerStats) String() string { return proto.CompactTextString(m) }
-func (*CommandConsumerStats) ProtoMessage()    {}
-func (*CommandConsumerStats) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{40}
-}
-
-func (m *CommandConsumerStats) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandConsumerStats.Unmarshal(m, b)
-}
-func (m *CommandConsumerStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandConsumerStats.Marshal(b, m, deterministic)
-}
-func (m *CommandConsumerStats) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandConsumerStats.Merge(m, src)
-}
-func (m *CommandConsumerStats) XXX_Size() int {
-	return xxx_messageInfo_CommandConsumerStats.Size(m)
-}
-func (m *CommandConsumerStats) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandConsumerStats.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandConsumerStats proto.InternalMessageInfo
-
-func (m *CommandConsumerStats) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandConsumerStats) GetConsumerId() uint64 {
-	if m != nil && m.ConsumerId != nil {
-		return *m.ConsumerId
-	}
-	return 0
-}
-
-type CommandConsumerStatsResponse struct {
-	RequestId    *uint64      `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	ErrorCode    *ServerError `protobuf:"varint,2,opt,name=error_code,json=errorCode,enum=pulsar.proto.ServerError" json:"error_code,omitempty"`
-	ErrorMessage *string      `protobuf:"bytes,3,opt,name=error_message,json=errorMessage" json:"error_message,omitempty"`
-	/// Total rate of messages delivered to the consumer. msg/s
-	MsgRateOut *float64 `protobuf:"fixed64,4,opt,name=msgRateOut" json:"msgRateOut,omitempty"`
-	/// Total throughput delivered to the consumer. bytes/s
-	MsgThroughputOut *float64 `protobuf:"fixed64,5,opt,name=msgThroughputOut" json:"msgThroughputOut,omitempty"`
-	/// Total rate of messages redelivered by this consumer. msg/s
-	MsgRateRedeliver *float64 `protobuf:"fixed64,6,opt,name=msgRateRedeliver" json:"msgRateRedeliver,omitempty"`
-	/// Name of the consumer
-	ConsumerName *string `protobuf:"bytes,7,opt,name=consumerName" json:"consumerName,omitempty"`
-	/// Number of available message permits for the consumer
-	AvailablePermits *uint64 `protobuf:"varint,8,opt,name=availablePermits" json:"availablePermits,omitempty"`
-	/// Number of unacknowledged messages for the consumer
-	UnackedMessages *uint64 `protobuf:"varint,9,opt,name=unackedMessages" json:"unackedMessages,omitempty"`
-	/// Flag to verify if consumer is blocked due to reaching threshold of unacked messages
-	BlockedConsumerOnUnackedMsgs *bool `protobuf:"varint,10,opt,name=blockedConsumerOnUnackedMsgs" json:"blockedConsumerOnUnackedMsgs,omitempty"`
-	/// Address of this consumer
-	Address *string `protobuf:"bytes,11,opt,name=address" json:"address,omitempty"`
-	/// Timestamp of connection
-	ConnectedSince *string `protobuf:"bytes,12,opt,name=connectedSince" json:"connectedSince,omitempty"`
-	/// Whether this subscription is Exclusive or Shared or Failover
-	Type *string `protobuf:"bytes,13,opt,name=type" json:"type,omitempty"`
-	/// Total rate of messages expired on this subscription. msg/s
-	MsgRateExpired *float64 `protobuf:"fixed64,14,opt,name=msgRateExpired" json:"msgRateExpired,omitempty"`
-	/// Number of messages in the subscription backlog
-	MsgBacklog           *uint64  `protobuf:"varint,15,opt,name=msgBacklog" json:"msgBacklog,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CommandConsumerStatsResponse) Reset()         { *m = CommandConsumerStatsResponse{} }
-func (m *CommandConsumerStatsResponse) String() string { return proto.CompactTextString(m) }
-func (*CommandConsumerStatsResponse) ProtoMessage()    {}
-func (*CommandConsumerStatsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{41}
-}
-
-func (m *CommandConsumerStatsResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandConsumerStatsResponse.Unmarshal(m, b)
-}
-func (m *CommandConsumerStatsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandConsumerStatsResponse.Marshal(b, m, deterministic)
-}
-func (m *CommandConsumerStatsResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandConsumerStatsResponse.Merge(m, src)
-}
-func (m *CommandConsumerStatsResponse) XXX_Size() int {
-	return xxx_messageInfo_CommandConsumerStatsResponse.Size(m)
-}
-func (m *CommandConsumerStatsResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandConsumerStatsResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandConsumerStatsResponse proto.InternalMessageInfo
-
-func (m *CommandConsumerStatsResponse) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandConsumerStatsResponse) GetErrorCode() ServerError {
-	if m != nil && m.ErrorCode != nil {
-		return *m.ErrorCode
-	}
-	return ServerError_UnknownError
-}
-
-func (m *CommandConsumerStatsResponse) GetErrorMessage() string {
-	if m != nil && m.ErrorMessage != nil {
-		return *m.ErrorMessage
-	}
-	return ""
-}
-
-func (m *CommandConsumerStatsResponse) GetMsgRateOut() float64 {
-	if m != nil && m.MsgRateOut != nil {
-		return *m.MsgRateOut
-	}
-	return 0
-}
-
-func (m *CommandConsumerStatsResponse) GetMsgThroughputOut() float64 {
-	if m != nil && m.MsgThroughputOut != nil {
-		return *m.MsgThroughputOut
-	}
-	return 0
-}
-
-func (m *CommandConsumerStatsResponse) GetMsgRateRedeliver() float64 {
-	if m != nil && m.MsgRateRedeliver != nil {
-		return *m.MsgRateRedeliver
-	}
-	return 0
-}
-
-func (m *CommandConsumerStatsResponse) GetConsumerName() string {
-	if m != nil && m.ConsumerName != nil {
-		return *m.ConsumerName
-	}
-	return ""
-}
-
-func (m *CommandConsumerStatsResponse) GetAvailablePermits() uint64 {
-	if m != nil && m.AvailablePermits != nil {
-		return *m.AvailablePermits
-	}
-	return 0
-}
-
-func (m *CommandConsumerStatsResponse) GetUnackedMessages() uint64 {
-	if m != nil && m.UnackedMessages != nil {
-		return *m.UnackedMessages
-	}
-	return 0
-}
-
-func (m *CommandConsumerStatsResponse) GetBlockedConsumerOnUnackedMsgs() bool {
-	if m != nil && m.BlockedConsumerOnUnackedMsgs != nil {
-		return *m.BlockedConsumerOnUnackedMsgs
-	}
-	return false
-}
-
-func (m *CommandConsumerStatsResponse) GetAddress() string {
-	if m != nil && m.Address != nil {
-		return *m.Address
-	}
-	return ""
-}
-
-func (m *CommandConsumerStatsResponse) GetConnectedSince() string {
-	if m != nil && m.ConnectedSince != nil {
-		return *m.ConnectedSince
-	}
-	return ""
-}
-
-func (m *CommandConsumerStatsResponse) GetType() string {
-	if m != nil && m.Type != nil {
-		return *m.Type
-	}
-	return ""
-}
-
-func (m *CommandConsumerStatsResponse) GetMsgRateExpired() float64 {
-	if m != nil && m.MsgRateExpired != nil {
-		return *m.MsgRateExpired
-	}
-	return 0
-}
-
-func (m *CommandConsumerStatsResponse) GetMsgBacklog() uint64 {
-	if m != nil && m.MsgBacklog != nil {
-		return *m.MsgBacklog
-	}
-	return 0
-}
-
-type CommandGetLastMessageId struct {
-	ConsumerId           *uint64  `protobuf:"varint,1,req,name=consumer_id,json=consumerId" json:"consumer_id,omitempty"`
-	RequestId            *uint64  `protobuf:"varint,2,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CommandGetLastMessageId) Reset()         { *m = CommandGetLastMessageId{} }
-func (m *CommandGetLastMessageId) String() string { return proto.CompactTextString(m) }
-func (*CommandGetLastMessageId) ProtoMessage()    {}
-func (*CommandGetLastMessageId) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{42}
-}
-
-func (m *CommandGetLastMessageId) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandGetLastMessageId.Unmarshal(m, b)
-}
-func (m *CommandGetLastMessageId) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandGetLastMessageId.Marshal(b, m, deterministic)
-}
-func (m *CommandGetLastMessageId) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandGetLastMessageId.Merge(m, src)
-}
-func (m *CommandGetLastMessageId) XXX_Size() int {
-	return xxx_messageInfo_CommandGetLastMessageId.Size(m)
-}
-func (m *CommandGetLastMessageId) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandGetLastMessageId.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandGetLastMessageId proto.InternalMessageInfo
-
-func (m *CommandGetLastMessageId) GetConsumerId() uint64 {
-	if m != nil && m.ConsumerId != nil {
-		return *m.ConsumerId
-	}
-	return 0
-}
-
-func (m *CommandGetLastMessageId) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-type CommandGetLastMessageIdResponse struct {
-	LastMessageId        *MessageIdData `protobuf:"bytes,1,req,name=last_message_id,json=lastMessageId" json:"last_message_id,omitempty"`
-	RequestId            *uint64        `protobuf:"varint,2,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
-	XXX_unrecognized     []byte         `json:"-"`
-	XXX_sizecache        int32          `json:"-"`
-}
-
-func (m *CommandGetLastMessageIdResponse) Reset()         { *m = CommandGetLastMessageIdResponse{} }
-func (m *CommandGetLastMessageIdResponse) String() string { return proto.CompactTextString(m) }
-func (*CommandGetLastMessageIdResponse) ProtoMessage()    {}
-func (*CommandGetLastMessageIdResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{43}
-}
-
-func (m *CommandGetLastMessageIdResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandGetLastMessageIdResponse.Unmarshal(m, b)
-}
-func (m *CommandGetLastMessageIdResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandGetLastMessageIdResponse.Marshal(b, m, deterministic)
-}
-func (m *CommandGetLastMessageIdResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandGetLastMessageIdResponse.Merge(m, src)
-}
-func (m *CommandGetLastMessageIdResponse) XXX_Size() int {
-	return xxx_messageInfo_CommandGetLastMessageIdResponse.Size(m)
-}
-func (m *CommandGetLastMessageIdResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandGetLastMessageIdResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandGetLastMessageIdResponse proto.InternalMessageInfo
-
-func (m *CommandGetLastMessageIdResponse) GetLastMessageId() *MessageIdData {
-	if m != nil {
-		return m.LastMessageId
-	}
-	return nil
-}
-
-func (m *CommandGetLastMessageIdResponse) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-type CommandGetTopicsOfNamespace struct {
-	RequestId            *uint64                           `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	Namespace            *string                           `protobuf:"bytes,2,req,name=namespace" json:"namespace,omitempty"`
-	Mode                 *CommandGetTopicsOfNamespace_Mode `protobuf:"varint,3,opt,name=mode,enum=pulsar.proto.CommandGetTopicsOfNamespace_Mode,def=0" json:"mode,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                          `json:"-"`
-	XXX_unrecognized     []byte                            `json:"-"`
-	XXX_sizecache        int32                             `json:"-"`
-}
-
-func (m *CommandGetTopicsOfNamespace) Reset()         { *m = CommandGetTopicsOfNamespace{} }
-func (m *CommandGetTopicsOfNamespace) String() string { return proto.CompactTextString(m) }
-func (*CommandGetTopicsOfNamespace) ProtoMessage()    {}
-func (*CommandGetTopicsOfNamespace) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{44}
-}
-
-func (m *CommandGetTopicsOfNamespace) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandGetTopicsOfNamespace.Unmarshal(m, b)
-}
-func (m *CommandGetTopicsOfNamespace) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandGetTopicsOfNamespace.Marshal(b, m, deterministic)
-}
-func (m *CommandGetTopicsOfNamespace) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandGetTopicsOfNamespace.Merge(m, src)
-}
-func (m *CommandGetTopicsOfNamespace) XXX_Size() int {
-	return xxx_messageInfo_CommandGetTopicsOfNamespace.Size(m)
-}
-func (m *CommandGetTopicsOfNamespace) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandGetTopicsOfNamespace.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandGetTopicsOfNamespace proto.InternalMessageInfo
-
-const Default_CommandGetTopicsOfNamespace_Mode CommandGetTopicsOfNamespace_Mode = CommandGetTopicsOfNamespace_PERSISTENT
-
-func (m *CommandGetTopicsOfNamespace) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandGetTopicsOfNamespace) GetNamespace() string {
-	if m != nil && m.Namespace != nil {
-		return *m.Namespace
-	}
-	return ""
-}
-
-func (m *CommandGetTopicsOfNamespace) GetMode() CommandGetTopicsOfNamespace_Mode {
-	if m != nil && m.Mode != nil {
-		return *m.Mode
-	}
-	return Default_CommandGetTopicsOfNamespace_Mode
-}
-
-type CommandGetTopicsOfNamespaceResponse struct {
-	RequestId            *uint64  `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	Topics               []string `protobuf:"bytes,2,rep,name=topics" json:"topics,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CommandGetTopicsOfNamespaceResponse) Reset()         { *m = CommandGetTopicsOfNamespaceResponse{} }
-func (m *CommandGetTopicsOfNamespaceResponse) String() string { return proto.CompactTextString(m) }
-func (*CommandGetTopicsOfNamespaceResponse) ProtoMessage()    {}
-func (*CommandGetTopicsOfNamespaceResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{45}
-}
-
-func (m *CommandGetTopicsOfNamespaceResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandGetTopicsOfNamespaceResponse.Unmarshal(m, b)
-}
-func (m *CommandGetTopicsOfNamespaceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandGetTopicsOfNamespaceResponse.Marshal(b, m, deterministic)
-}
-func (m *CommandGetTopicsOfNamespaceResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandGetTopicsOfNamespaceResponse.Merge(m, src)
-}
-func (m *CommandGetTopicsOfNamespaceResponse) XXX_Size() int {
-	return xxx_messageInfo_CommandGetTopicsOfNamespaceResponse.Size(m)
-}
-func (m *CommandGetTopicsOfNamespaceResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandGetTopicsOfNamespaceResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandGetTopicsOfNamespaceResponse proto.InternalMessageInfo
-
-func (m *CommandGetTopicsOfNamespaceResponse) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandGetTopicsOfNamespaceResponse) GetTopics() []string {
-	if m != nil {
-		return m.Topics
-	}
-	return nil
-}
-
-type CommandGetSchema struct {
-	RequestId            *uint64  `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	Topic                *string  `protobuf:"bytes,2,req,name=topic" json:"topic,omitempty"`
-	SchemaVersion        []byte   `protobuf:"bytes,3,opt,name=schema_version,json=schemaVersion" json:"schema_version,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CommandGetSchema) Reset()         { *m = CommandGetSchema{} }
-func (m *CommandGetSchema) String() string { return proto.CompactTextString(m) }
-func (*CommandGetSchema) ProtoMessage()    {}
-func (*CommandGetSchema) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{46}
-}
-
-func (m *CommandGetSchema) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandGetSchema.Unmarshal(m, b)
-}
-func (m *CommandGetSchema) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandGetSchema.Marshal(b, m, deterministic)
-}
-func (m *CommandGetSchema) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandGetSchema.Merge(m, src)
-}
-func (m *CommandGetSchema) XXX_Size() int {
-	return xxx_messageInfo_CommandGetSchema.Size(m)
-}
-func (m *CommandGetSchema) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandGetSchema.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandGetSchema proto.InternalMessageInfo
-
-func (m *CommandGetSchema) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandGetSchema) GetTopic() string {
-	if m != nil && m.Topic != nil {
-		return *m.Topic
-	}
-	return ""
-}
-
-func (m *CommandGetSchema) GetSchemaVersion() []byte {
-	if m != nil {
-		return m.SchemaVersion
-	}
-	return nil
-}
-
-type CommandGetSchemaResponse struct {
-	RequestId            *uint64      `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	ErrorCode            *ServerError `protobuf:"varint,2,opt,name=error_code,json=errorCode,enum=pulsar.proto.ServerError" json:"error_code,omitempty"`
-	ErrorMessage         *string      `protobuf:"bytes,3,opt,name=error_message,json=errorMessage" json:"error_message,omitempty"`
-	Schema               *Schema      `protobuf:"bytes,4,opt,name=schema" json:"schema,omitempty"`
-	SchemaVersion        []byte       `protobuf:"bytes,5,opt,name=schema_version,json=schemaVersion" json:"schema_version,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
-}
-
-func (m *CommandGetSchemaResponse) Reset()         { *m = CommandGetSchemaResponse{} }
-func (m *CommandGetSchemaResponse) String() string { return proto.CompactTextString(m) }
-func (*CommandGetSchemaResponse) ProtoMessage()    {}
-func (*CommandGetSchemaResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{47}
-}
-
-func (m *CommandGetSchemaResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandGetSchemaResponse.Unmarshal(m, b)
-}
-func (m *CommandGetSchemaResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandGetSchemaResponse.Marshal(b, m, deterministic)
-}
-func (m *CommandGetSchemaResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandGetSchemaResponse.Merge(m, src)
-}
-func (m *CommandGetSchemaResponse) XXX_Size() int {
-	return xxx_messageInfo_CommandGetSchemaResponse.Size(m)
-}
-func (m *CommandGetSchemaResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandGetSchemaResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandGetSchemaResponse proto.InternalMessageInfo
-
-func (m *CommandGetSchemaResponse) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandGetSchemaResponse) GetErrorCode() ServerError {
-	if m != nil && m.ErrorCode != nil {
-		return *m.ErrorCode
-	}
-	return ServerError_UnknownError
-}
-
-func (m *CommandGetSchemaResponse) GetErrorMessage() string {
-	if m != nil && m.ErrorMessage != nil {
-		return *m.ErrorMessage
-	}
-	return ""
-}
-
-func (m *CommandGetSchemaResponse) GetSchema() *Schema {
-	if m != nil {
-		return m.Schema
-	}
-	return nil
-}
-
-func (m *CommandGetSchemaResponse) GetSchemaVersion() []byte {
-	if m != nil {
-		return m.SchemaVersion
-	}
-	return nil
-}
-
-type CommandGetOrCreateSchema struct {
-	RequestId            *uint64  `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	Topic                *string  `protobuf:"bytes,2,req,name=topic" json:"topic,omitempty"`
-	Schema               *Schema  `protobuf:"bytes,3,req,name=schema" json:"schema,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CommandGetOrCreateSchema) Reset()         { *m = CommandGetOrCreateSchema{} }
-func (m *CommandGetOrCreateSchema) String() string { return proto.CompactTextString(m) }
-func (*CommandGetOrCreateSchema) ProtoMessage()    {}
-func (*CommandGetOrCreateSchema) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{48}
-}
-
-func (m *CommandGetOrCreateSchema) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandGetOrCreateSchema.Unmarshal(m, b)
-}
-func (m *CommandGetOrCreateSchema) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandGetOrCreateSchema.Marshal(b, m, deterministic)
-}
-func (m *CommandGetOrCreateSchema) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandGetOrCreateSchema.Merge(m, src)
-}
-func (m *CommandGetOrCreateSchema) XXX_Size() int {
-	return xxx_messageInfo_CommandGetOrCreateSchema.Size(m)
-}
-func (m *CommandGetOrCreateSchema) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandGetOrCreateSchema.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandGetOrCreateSchema proto.InternalMessageInfo
-
-func (m *CommandGetOrCreateSchema) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandGetOrCreateSchema) GetTopic() string {
-	if m != nil && m.Topic != nil {
-		return *m.Topic
-	}
-	return ""
-}
-
-func (m *CommandGetOrCreateSchema) GetSchema() *Schema {
-	if m != nil {
-		return m.Schema
-	}
-	return nil
-}
-
-type CommandGetOrCreateSchemaResponse struct {
-	RequestId            *uint64      `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	ErrorCode            *ServerError `protobuf:"varint,2,opt,name=error_code,json=errorCode,enum=pulsar.proto.ServerError" json:"error_code,omitempty"`
-	ErrorMessage         *string      `protobuf:"bytes,3,opt,name=error_message,json=errorMessage" json:"error_message,omitempty"`
-	SchemaVersion        []byte       `protobuf:"bytes,4,opt,name=schema_version,json=schemaVersion" json:"schema_version,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
-}
-
-func (m *CommandGetOrCreateSchemaResponse) Reset()         { *m = CommandGetOrCreateSchemaResponse{} }
-func (m *CommandGetOrCreateSchemaResponse) String() string { return proto.CompactTextString(m) }
-func (*CommandGetOrCreateSchemaResponse) ProtoMessage()    {}
-func (*CommandGetOrCreateSchemaResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{49}
-}
-
-func (m *CommandGetOrCreateSchemaResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandGetOrCreateSchemaResponse.Unmarshal(m, b)
-}
-func (m *CommandGetOrCreateSchemaResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandGetOrCreateSchemaResponse.Marshal(b, m, deterministic)
-}
-func (m *CommandGetOrCreateSchemaResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandGetOrCreateSchemaResponse.Merge(m, src)
-}
-func (m *CommandGetOrCreateSchemaResponse) XXX_Size() int {
-	return xxx_messageInfo_CommandGetOrCreateSchemaResponse.Size(m)
-}
-func (m *CommandGetOrCreateSchemaResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandGetOrCreateSchemaResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandGetOrCreateSchemaResponse proto.InternalMessageInfo
-
-func (m *CommandGetOrCreateSchemaResponse) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandGetOrCreateSchemaResponse) GetErrorCode() ServerError {
-	if m != nil && m.ErrorCode != nil {
-		return *m.ErrorCode
-	}
-	return ServerError_UnknownError
-}
-
-func (m *CommandGetOrCreateSchemaResponse) GetErrorMessage() string {
-	if m != nil && m.ErrorMessage != nil {
-		return *m.ErrorMessage
-	}
-	return ""
-}
-
-func (m *CommandGetOrCreateSchemaResponse) GetSchemaVersion() []byte {
-	if m != nil {
-		return m.SchemaVersion
-	}
-	return nil
-}
-
-type CommandNewTxn struct {
-	RequestId            *uint64  `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	TxnTtlSeconds        *uint64  `protobuf:"varint,2,opt,name=txn_ttl_seconds,json=txnTtlSeconds,def=0" json:"txn_ttl_seconds,omitempty"`
-	TcId                 *uint64  `protobuf:"varint,3,opt,name=tc_id,json=tcId,def=0" json:"tc_id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CommandNewTxn) Reset()         { *m = CommandNewTxn{} }
-func (m *CommandNewTxn) String() string { return proto.CompactTextString(m) }
-func (*CommandNewTxn) ProtoMessage()    {}
-func (*CommandNewTxn) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{50}
-}
-
-func (m *CommandNewTxn) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandNewTxn.Unmarshal(m, b)
-}
-func (m *CommandNewTxn) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandNewTxn.Marshal(b, m, deterministic)
-}
-func (m *CommandNewTxn) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandNewTxn.Merge(m, src)
-}
-func (m *CommandNewTxn) XXX_Size() int {
-	return xxx_messageInfo_CommandNewTxn.Size(m)
-}
-func (m *CommandNewTxn) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandNewTxn.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandNewTxn proto.InternalMessageInfo
-
-const Default_CommandNewTxn_TxnTtlSeconds uint64 = 0
-const Default_CommandNewTxn_TcId uint64 = 0
-
-func (m *CommandNewTxn) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandNewTxn) GetTxnTtlSeconds() uint64 {
-	if m != nil && m.TxnTtlSeconds != nil {
-		return *m.TxnTtlSeconds
-	}
-	return Default_CommandNewTxn_TxnTtlSeconds
-}
-
-func (m *CommandNewTxn) GetTcId() uint64 {
-	if m != nil && m.TcId != nil {
-		return *m.TcId
-	}
-	return Default_CommandNewTxn_TcId
-}
-
-type CommandNewTxnResponse struct {
-	RequestId            *uint64      `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	TxnidLeastBits       *uint64      `protobuf:"varint,2,opt,name=txnid_least_bits,json=txnidLeastBits,def=0" json:"txnid_least_bits,omitempty"`
-	TxnidMostBits        *uint64      `protobuf:"varint,3,opt,name=txnid_most_bits,json=txnidMostBits,def=0" json:"txnid_most_bits,omitempty"`
-	Error                *ServerError `protobuf:"varint,4,opt,name=error,enum=pulsar.proto.ServerError" json:"error,omitempty"`
-	Message              *string      `protobuf:"bytes,5,opt,name=message" json:"message,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
-}
-
-func (m *CommandNewTxnResponse) Reset()         { *m = CommandNewTxnResponse{} }
-func (m *CommandNewTxnResponse) String() string { return proto.CompactTextString(m) }
-func (*CommandNewTxnResponse) ProtoMessage()    {}
-func (*CommandNewTxnResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{51}
-}
-
-func (m *CommandNewTxnResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandNewTxnResponse.Unmarshal(m, b)
-}
-func (m *CommandNewTxnResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandNewTxnResponse.Marshal(b, m, deterministic)
-}
-func (m *CommandNewTxnResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandNewTxnResponse.Merge(m, src)
-}
-func (m *CommandNewTxnResponse) XXX_Size() int {
-	return xxx_messageInfo_CommandNewTxnResponse.Size(m)
-}
-func (m *CommandNewTxnResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandNewTxnResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandNewTxnResponse proto.InternalMessageInfo
-
-const Default_CommandNewTxnResponse_TxnidLeastBits uint64 = 0
-const Default_CommandNewTxnResponse_TxnidMostBits uint64 = 0
-
-func (m *CommandNewTxnResponse) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandNewTxnResponse) GetTxnidLeastBits() uint64 {
-	if m != nil && m.TxnidLeastBits != nil {
-		return *m.TxnidLeastBits
-	}
-	return Default_CommandNewTxnResponse_TxnidLeastBits
-}
-
-func (m *CommandNewTxnResponse) GetTxnidMostBits() uint64 {
-	if m != nil && m.TxnidMostBits != nil {
-		return *m.TxnidMostBits
-	}
-	return Default_CommandNewTxnResponse_TxnidMostBits
-}
-
-func (m *CommandNewTxnResponse) GetError() ServerError {
-	if m != nil && m.Error != nil {
-		return *m.Error
-	}
-	return ServerError_UnknownError
-}
-
-func (m *CommandNewTxnResponse) GetMessage() string {
-	if m != nil && m.Message != nil {
-		return *m.Message
-	}
-	return ""
-}
-
-type CommandAddPartitionToTxn struct {
-	RequestId            *uint64  `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	TxnidLeastBits       *uint64  `protobuf:"varint,2,opt,name=txnid_least_bits,json=txnidLeastBits,def=0" json:"txnid_least_bits,omitempty"`
-	TxnidMostBits        *uint64  `protobuf:"varint,3,opt,name=txnid_most_bits,json=txnidMostBits,def=0" json:"txnid_most_bits,omitempty"`
-	Partitions           []string `protobuf:"bytes,4,rep,name=partitions" json:"partitions,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CommandAddPartitionToTxn) Reset()         { *m = CommandAddPartitionToTxn{} }
-func (m *CommandAddPartitionToTxn) String() string { return proto.CompactTextString(m) }
-func (*CommandAddPartitionToTxn) ProtoMessage()    {}
-func (*CommandAddPartitionToTxn) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{52}
-}
-
-func (m *CommandAddPartitionToTxn) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandAddPartitionToTxn.Unmarshal(m, b)
-}
-func (m *CommandAddPartitionToTxn) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandAddPartitionToTxn.Marshal(b, m, deterministic)
-}
-func (m *CommandAddPartitionToTxn) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandAddPartitionToTxn.Merge(m, src)
-}
-func (m *CommandAddPartitionToTxn) XXX_Size() int {
-	return xxx_messageInfo_CommandAddPartitionToTxn.Size(m)
-}
-func (m *CommandAddPartitionToTxn) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandAddPartitionToTxn.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandAddPartitionToTxn proto.InternalMessageInfo
-
-const Default_CommandAddPartitionToTxn_TxnidLeastBits uint64 = 0
-const Default_CommandAddPartitionToTxn_TxnidMostBits uint64 = 0
-
-func (m *CommandAddPartitionToTxn) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandAddPartitionToTxn) GetTxnidLeastBits() uint64 {
-	if m != nil && m.TxnidLeastBits != nil {
-		return *m.TxnidLeastBits
-	}
-	return Default_CommandAddPartitionToTxn_TxnidLeastBits
-}
-
-func (m *CommandAddPartitionToTxn) GetTxnidMostBits() uint64 {
-	if m != nil && m.TxnidMostBits != nil {
-		return *m.TxnidMostBits
-	}
-	return Default_CommandAddPartitionToTxn_TxnidMostBits
-}
-
-func (m *CommandAddPartitionToTxn) GetPartitions() []string {
-	if m != nil {
-		return m.Partitions
-	}
-	return nil
-}
-
-type CommandAddPartitionToTxnResponse struct {
-	RequestId            *uint64      `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	TxnidLeastBits       *uint64      `protobuf:"varint,2,opt,name=txnid_least_bits,json=txnidLeastBits,def=0" json:"txnid_least_bits,omitempty"`
-	TxnidMostBits        *uint64      `protobuf:"varint,3,opt,name=txnid_most_bits,json=txnidMostBits,def=0" json:"txnid_most_bits,omitempty"`
-	Error                *ServerError `protobuf:"varint,4,opt,name=error,enum=pulsar.proto.ServerError" json:"error,omitempty"`
-	Message              *string      `protobuf:"bytes,5,opt,name=message" json:"message,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
-}
-
-func (m *CommandAddPartitionToTxnResponse) Reset()         { *m = CommandAddPartitionToTxnResponse{} }
-func (m *CommandAddPartitionToTxnResponse) String() string { return proto.CompactTextString(m) }
-func (*CommandAddPartitionToTxnResponse) ProtoMessage()    {}
-func (*CommandAddPartitionToTxnResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{53}
-}
-
-func (m *CommandAddPartitionToTxnResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandAddPartitionToTxnResponse.Unmarshal(m, b)
-}
-func (m *CommandAddPartitionToTxnResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandAddPartitionToTxnResponse.Marshal(b, m, deterministic)
-}
-func (m *CommandAddPartitionToTxnResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandAddPartitionToTxnResponse.Merge(m, src)
-}
-func (m *CommandAddPartitionToTxnResponse) XXX_Size() int {
-	return xxx_messageInfo_CommandAddPartitionToTxnResponse.Size(m)
-}
-func (m *CommandAddPartitionToTxnResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandAddPartitionToTxnResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandAddPartitionToTxnResponse proto.InternalMessageInfo
-
-const Default_CommandAddPartitionToTxnResponse_TxnidLeastBits uint64 = 0
-const Default_CommandAddPartitionToTxnResponse_TxnidMostBits uint64 = 0
-
-func (m *CommandAddPartitionToTxnResponse) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandAddPartitionToTxnResponse) GetTxnidLeastBits() uint64 {
-	if m != nil && m.TxnidLeastBits != nil {
-		return *m.TxnidLeastBits
-	}
-	return Default_CommandAddPartitionToTxnResponse_TxnidLeastBits
-}
-
-func (m *CommandAddPartitionToTxnResponse) GetTxnidMostBits() uint64 {
-	if m != nil && m.TxnidMostBits != nil {
-		return *m.TxnidMostBits
-	}
-	return Default_CommandAddPartitionToTxnResponse_TxnidMostBits
-}
-
-func (m *CommandAddPartitionToTxnResponse) GetError() ServerError {
-	if m != nil && m.Error != nil {
-		return *m.Error
-	}
-	return ServerError_UnknownError
-}
-
-func (m *CommandAddPartitionToTxnResponse) GetMessage() string {
-	if m != nil && m.Message != nil {
-		return *m.Message
-	}
-	return ""
-}
-
-type Subscription struct {
-	Topic                *string  `protobuf:"bytes,1,req,name=topic" json:"topic,omitempty"`
-	Subscription         *string  `protobuf:"bytes,2,req,name=subscription" json:"subscription,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *Subscription) Reset()         { *m = Subscription{} }
-func (m *Subscription) String() string { return proto.CompactTextString(m) }
-func (*Subscription) ProtoMessage()    {}
-func (*Subscription) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{54}
-}
-
-func (m *Subscription) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Subscription.Unmarshal(m, b)
-}
-func (m *Subscription) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Subscription.Marshal(b, m, deterministic)
-}
-func (m *Subscription) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Subscription.Merge(m, src)
-}
-func (m *Subscription) XXX_Size() int {
-	return xxx_messageInfo_Subscription.Size(m)
-}
-func (m *Subscription) XXX_DiscardUnknown() {
-	xxx_messageInfo_Subscription.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Subscription proto.InternalMessageInfo
-
-func (m *Subscription) GetTopic() string {
-	if m != nil && m.Topic != nil {
-		return *m.Topic
-	}
-	return ""
-}
-
-func (m *Subscription) GetSubscription() string {
-	if m != nil && m.Subscription != nil {
-		return *m.Subscription
-	}
-	return ""
-}
-
-type CommandAddSubscriptionToTxn struct {
-	RequestId            *uint64         `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	TxnidLeastBits       *uint64         `protobuf:"varint,2,opt,name=txnid_least_bits,json=txnidLeastBits,def=0" json:"txnid_least_bits,omitempty"`
-	TxnidMostBits        *uint64         `protobuf:"varint,3,opt,name=txnid_most_bits,json=txnidMostBits,def=0" json:"txnid_most_bits,omitempty"`
-	Subscription         []*Subscription `protobuf:"bytes,4,rep,name=subscription" json:"subscription,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
-	XXX_unrecognized     []byte          `json:"-"`
-	XXX_sizecache        int32           `json:"-"`
-}
-
-func (m *CommandAddSubscriptionToTxn) Reset()         { *m = CommandAddSubscriptionToTxn{} }
-func (m *CommandAddSubscriptionToTxn) String() string { return proto.CompactTextString(m) }
-func (*CommandAddSubscriptionToTxn) ProtoMessage()    {}
-func (*CommandAddSubscriptionToTxn) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{55}
-}
-
-func (m *CommandAddSubscriptionToTxn) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandAddSubscriptionToTxn.Unmarshal(m, b)
-}
-func (m *CommandAddSubscriptionToTxn) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandAddSubscriptionToTxn.Marshal(b, m, deterministic)
-}
-func (m *CommandAddSubscriptionToTxn) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandAddSubscriptionToTxn.Merge(m, src)
-}
-func (m *CommandAddSubscriptionToTxn) XXX_Size() int {
-	return xxx_messageInfo_CommandAddSubscriptionToTxn.Size(m)
-}
-func (m *CommandAddSubscriptionToTxn) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandAddSubscriptionToTxn.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandAddSubscriptionToTxn proto.InternalMessageInfo
-
-const Default_CommandAddSubscriptionToTxn_TxnidLeastBits uint64 = 0
-const Default_CommandAddSubscriptionToTxn_TxnidMostBits uint64 = 0
-
-func (m *CommandAddSubscriptionToTxn) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandAddSubscriptionToTxn) GetTxnidLeastBits() uint64 {
-	if m != nil && m.TxnidLeastBits != nil {
-		return *m.TxnidLeastBits
-	}
-	return Default_CommandAddSubscriptionToTxn_TxnidLeastBits
-}
-
-func (m *CommandAddSubscriptionToTxn) GetTxnidMostBits() uint64 {
-	if m != nil && m.TxnidMostBits != nil {
-		return *m.TxnidMostBits
-	}
-	return Default_CommandAddSubscriptionToTxn_TxnidMostBits
-}
-
-func (m *CommandAddSubscriptionToTxn) GetSubscription() []*Subscription {
-	if m != nil {
-		return m.Subscription
-	}
-	return nil
-}
-
-type CommandAddSubscriptionToTxnResponse struct {
-	RequestId            *uint64      `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	TxnidLeastBits       *uint64      `protobuf:"varint,2,opt,name=txnid_least_bits,json=txnidLeastBits,def=0" json:"txnid_least_bits,omitempty"`
-	TxnidMostBits        *uint64      `protobuf:"varint,3,opt,name=txnid_most_bits,json=txnidMostBits,def=0" json:"txnid_most_bits,omitempty"`
-	Error                *ServerError `protobuf:"varint,4,opt,name=error,enum=pulsar.proto.ServerError" json:"error,omitempty"`
-	Message              *string      `protobuf:"bytes,5,opt,name=message" json:"message,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
-}
-
-func (m *CommandAddSubscriptionToTxnResponse) Reset()         { *m = CommandAddSubscriptionToTxnResponse{} }
-func (m *CommandAddSubscriptionToTxnResponse) String() string { return proto.CompactTextString(m) }
-func (*CommandAddSubscriptionToTxnResponse) ProtoMessage()    {}
-func (*CommandAddSubscriptionToTxnResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{56}
-}
-
-func (m *CommandAddSubscriptionToTxnResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandAddSubscriptionToTxnResponse.Unmarshal(m, b)
-}
-func (m *CommandAddSubscriptionToTxnResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandAddSubscriptionToTxnResponse.Marshal(b, m, deterministic)
-}
-func (m *CommandAddSubscriptionToTxnResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandAddSubscriptionToTxnResponse.Merge(m, src)
-}
-func (m *CommandAddSubscriptionToTxnResponse) XXX_Size() int {
-	return xxx_messageInfo_CommandAddSubscriptionToTxnResponse.Size(m)
-}
-func (m *CommandAddSubscriptionToTxnResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandAddSubscriptionToTxnResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandAddSubscriptionToTxnResponse proto.InternalMessageInfo
-
-const Default_CommandAddSubscriptionToTxnResponse_TxnidLeastBits uint64 = 0
-const Default_CommandAddSubscriptionToTxnResponse_TxnidMostBits uint64 = 0
-
-func (m *CommandAddSubscriptionToTxnResponse) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandAddSubscriptionToTxnResponse) GetTxnidLeastBits() uint64 {
-	if m != nil && m.TxnidLeastBits != nil {
-		return *m.TxnidLeastBits
-	}
-	return Default_CommandAddSubscriptionToTxnResponse_TxnidLeastBits
-}
-
-func (m *CommandAddSubscriptionToTxnResponse) GetTxnidMostBits() uint64 {
-	if m != nil && m.TxnidMostBits != nil {
-		return *m.TxnidMostBits
-	}
-	return Default_CommandAddSubscriptionToTxnResponse_TxnidMostBits
-}
-
-func (m *CommandAddSubscriptionToTxnResponse) GetError() ServerError {
-	if m != nil && m.Error != nil {
-		return *m.Error
-	}
-	return ServerError_UnknownError
-}
-
-func (m *CommandAddSubscriptionToTxnResponse) GetMessage() string {
-	if m != nil && m.Message != nil {
-		return *m.Message
-	}
-	return ""
-}
-
-type CommandEndTxn struct {
-	RequestId            *uint64    `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	TxnidLeastBits       *uint64    `protobuf:"varint,2,opt,name=txnid_least_bits,json=txnidLeastBits,def=0" json:"txnid_least_bits,omitempty"`
-	TxnidMostBits        *uint64    `protobuf:"varint,3,opt,name=txnid_most_bits,json=txnidMostBits,def=0" json:"txnid_most_bits,omitempty"`
-	TxnAction            *TxnAction `protobuf:"varint,4,opt,name=txn_action,json=txnAction,enum=pulsar.proto.TxnAction" json:"txn_action,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
-	XXX_unrecognized     []byte     `json:"-"`
-	XXX_sizecache        int32      `json:"-"`
-}
-
-func (m *CommandEndTxn) Reset()         { *m = CommandEndTxn{} }
-func (m *CommandEndTxn) String() string { return proto.CompactTextString(m) }
-func (*CommandEndTxn) ProtoMessage()    {}
-func (*CommandEndTxn) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{57}
-}
-
-func (m *CommandEndTxn) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandEndTxn.Unmarshal(m, b)
-}
-func (m *CommandEndTxn) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandEndTxn.Marshal(b, m, deterministic)
-}
-func (m *CommandEndTxn) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandEndTxn.Merge(m, src)
-}
-func (m *CommandEndTxn) XXX_Size() int {
-	return xxx_messageInfo_CommandEndTxn.Size(m)
-}
-func (m *CommandEndTxn) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandEndTxn.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandEndTxn proto.InternalMessageInfo
-
-const Default_CommandEndTxn_TxnidLeastBits uint64 = 0
-const Default_CommandEndTxn_TxnidMostBits uint64 = 0
-
-func (m *CommandEndTxn) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandEndTxn) GetTxnidLeastBits() uint64 {
-	if m != nil && m.TxnidLeastBits != nil {
-		return *m.TxnidLeastBits
-	}
-	return Default_CommandEndTxn_TxnidLeastBits
-}
-
-func (m *CommandEndTxn) GetTxnidMostBits() uint64 {
-	if m != nil && m.TxnidMostBits != nil {
-		return *m.TxnidMostBits
-	}
-	return Default_CommandEndTxn_TxnidMostBits
-}
-
-func (m *CommandEndTxn) GetTxnAction() TxnAction {
-	if m != nil && m.TxnAction != nil {
-		return *m.TxnAction
-	}
-	return TxnAction_COMMIT
-}
-
-type CommandEndTxnResponse struct {
-	RequestId            *uint64      `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	TxnidLeastBits       *uint64      `protobuf:"varint,2,opt,name=txnid_least_bits,json=txnidLeastBits,def=0" json:"txnid_least_bits,omitempty"`
-	TxnidMostBits        *uint64      `protobuf:"varint,3,opt,name=txnid_most_bits,json=txnidMostBits,def=0" json:"txnid_most_bits,omitempty"`
-	Error                *ServerError `protobuf:"varint,4,opt,name=error,enum=pulsar.proto.ServerError" json:"error,omitempty"`
-	Message              *string      `protobuf:"bytes,5,opt,name=message" json:"message,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
-}
-
-func (m *CommandEndTxnResponse) Reset()         { *m = CommandEndTxnResponse{} }
-func (m *CommandEndTxnResponse) String() string { return proto.CompactTextString(m) }
-func (*CommandEndTxnResponse) ProtoMessage()    {}
-func (*CommandEndTxnResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{58}
-}
-
-func (m *CommandEndTxnResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandEndTxnResponse.Unmarshal(m, b)
-}
-func (m *CommandEndTxnResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandEndTxnResponse.Marshal(b, m, deterministic)
-}
-func (m *CommandEndTxnResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandEndTxnResponse.Merge(m, src)
-}
-func (m *CommandEndTxnResponse) XXX_Size() int {
-	return xxx_messageInfo_CommandEndTxnResponse.Size(m)
-}
-func (m *CommandEndTxnResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandEndTxnResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandEndTxnResponse proto.InternalMessageInfo
-
-const Default_CommandEndTxnResponse_TxnidLeastBits uint64 = 0
-const Default_CommandEndTxnResponse_TxnidMostBits uint64 = 0
-
-func (m *CommandEndTxnResponse) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandEndTxnResponse) GetTxnidLeastBits() uint64 {
-	if m != nil && m.TxnidLeastBits != nil {
-		return *m.TxnidLeastBits
-	}
-	return Default_CommandEndTxnResponse_TxnidLeastBits
-}
-
-func (m *CommandEndTxnResponse) GetTxnidMostBits() uint64 {
-	if m != nil && m.TxnidMostBits != nil {
-		return *m.TxnidMostBits
-	}
-	return Default_CommandEndTxnResponse_TxnidMostBits
-}
-
-func (m *CommandEndTxnResponse) GetError() ServerError {
-	if m != nil && m.Error != nil {
-		return *m.Error
-	}
-	return ServerError_UnknownError
-}
-
-func (m *CommandEndTxnResponse) GetMessage() string {
-	if m != nil && m.Message != nil {
-		return *m.Message
-	}
-	return ""
-}
-
-type CommandEndTxnOnPartition struct {
-	RequestId            *uint64    `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	TxnidLeastBits       *uint64    `protobuf:"varint,2,opt,name=txnid_least_bits,json=txnidLeastBits,def=0" json:"txnid_least_bits,omitempty"`
-	TxnidMostBits        *uint64    `protobuf:"varint,3,opt,name=txnid_most_bits,json=txnidMostBits,def=0" json:"txnid_most_bits,omitempty"`
-	Topic                *string    `protobuf:"bytes,4,opt,name=topic" json:"topic,omitempty"`
-	TxnAction            *TxnAction `protobuf:"varint,5,opt,name=txn_action,json=txnAction,enum=pulsar.proto.TxnAction" json:"txn_action,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
-	XXX_unrecognized     []byte     `json:"-"`
-	XXX_sizecache        int32      `json:"-"`
-}
-
-func (m *CommandEndTxnOnPartition) Reset()         { *m = CommandEndTxnOnPartition{} }
-func (m *CommandEndTxnOnPartition) String() string { return proto.CompactTextString(m) }
-func (*CommandEndTxnOnPartition) ProtoMessage()    {}
-func (*CommandEndTxnOnPartition) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{59}
-}
-
-func (m *CommandEndTxnOnPartition) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandEndTxnOnPartition.Unmarshal(m, b)
-}
-func (m *CommandEndTxnOnPartition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandEndTxnOnPartition.Marshal(b, m, deterministic)
-}
-func (m *CommandEndTxnOnPartition) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandEndTxnOnPartition.Merge(m, src)
-}
-func (m *CommandEndTxnOnPartition) XXX_Size() int {
-	return xxx_messageInfo_CommandEndTxnOnPartition.Size(m)
-}
-func (m *CommandEndTxnOnPartition) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandEndTxnOnPartition.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandEndTxnOnPartition proto.InternalMessageInfo
-
-const Default_CommandEndTxnOnPartition_TxnidLeastBits uint64 = 0
-const Default_CommandEndTxnOnPartition_TxnidMostBits uint64 = 0
-
-func (m *CommandEndTxnOnPartition) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandEndTxnOnPartition) GetTxnidLeastBits() uint64 {
-	if m != nil && m.TxnidLeastBits != nil {
-		return *m.TxnidLeastBits
-	}
-	return Default_CommandEndTxnOnPartition_TxnidLeastBits
-}
-
-func (m *CommandEndTxnOnPartition) GetTxnidMostBits() uint64 {
-	if m != nil && m.TxnidMostBits != nil {
-		return *m.TxnidMostBits
-	}
-	return Default_CommandEndTxnOnPartition_TxnidMostBits
-}
-
-func (m *CommandEndTxnOnPartition) GetTopic() string {
-	if m != nil && m.Topic != nil {
-		return *m.Topic
-	}
-	return ""
-}
-
-func (m *CommandEndTxnOnPartition) GetTxnAction() TxnAction {
-	if m != nil && m.TxnAction != nil {
-		return *m.TxnAction
-	}
-	return TxnAction_COMMIT
-}
-
-type CommandEndTxnOnPartitionResponse struct {
-	RequestId            *uint64      `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	TxnidLeastBits       *uint64      `protobuf:"varint,2,opt,name=txnid_least_bits,json=txnidLeastBits,def=0" json:"txnid_least_bits,omitempty"`
-	TxnidMostBits        *uint64      `protobuf:"varint,3,opt,name=txnid_most_bits,json=txnidMostBits,def=0" json:"txnid_most_bits,omitempty"`
-	Error                *ServerError `protobuf:"varint,4,opt,name=error,enum=pulsar.proto.ServerError" json:"error,omitempty"`
-	Message              *string      `protobuf:"bytes,5,opt,name=message" json:"message,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
-}
-
-func (m *CommandEndTxnOnPartitionResponse) Reset()         { *m = CommandEndTxnOnPartitionResponse{} }
-func (m *CommandEndTxnOnPartitionResponse) String() string { return proto.CompactTextString(m) }
-func (*CommandEndTxnOnPartitionResponse) ProtoMessage()    {}
-func (*CommandEndTxnOnPartitionResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{60}
-}
-
-func (m *CommandEndTxnOnPartitionResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandEndTxnOnPartitionResponse.Unmarshal(m, b)
-}
-func (m *CommandEndTxnOnPartitionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandEndTxnOnPartitionResponse.Marshal(b, m, deterministic)
-}
-func (m *CommandEndTxnOnPartitionResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandEndTxnOnPartitionResponse.Merge(m, src)
-}
-func (m *CommandEndTxnOnPartitionResponse) XXX_Size() int {
-	return xxx_messageInfo_CommandEndTxnOnPartitionResponse.Size(m)
-}
-func (m *CommandEndTxnOnPartitionResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandEndTxnOnPartitionResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandEndTxnOnPartitionResponse proto.InternalMessageInfo
-
-const Default_CommandEndTxnOnPartitionResponse_TxnidLeastBits uint64 = 0
-const Default_CommandEndTxnOnPartitionResponse_TxnidMostBits uint64 = 0
-
-func (m *CommandEndTxnOnPartitionResponse) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandEndTxnOnPartitionResponse) GetTxnidLeastBits() uint64 {
-	if m != nil && m.TxnidLeastBits != nil {
-		return *m.TxnidLeastBits
-	}
-	return Default_CommandEndTxnOnPartitionResponse_TxnidLeastBits
-}
-
-func (m *CommandEndTxnOnPartitionResponse) GetTxnidMostBits() uint64 {
-	if m != nil && m.TxnidMostBits != nil {
-		return *m.TxnidMostBits
-	}
-	return Default_CommandEndTxnOnPartitionResponse_TxnidMostBits
-}
-
-func (m *CommandEndTxnOnPartitionResponse) GetError() ServerError {
-	if m != nil && m.Error != nil {
-		return *m.Error
-	}
-	return ServerError_UnknownError
-}
-
-func (m *CommandEndTxnOnPartitionResponse) GetMessage() string {
-	if m != nil && m.Message != nil {
-		return *m.Message
-	}
-	return ""
-}
-
-type CommandEndTxnOnSubscription struct {
-	RequestId            *uint64       `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	TxnidLeastBits       *uint64       `protobuf:"varint,2,opt,name=txnid_least_bits,json=txnidLeastBits,def=0" json:"txnid_least_bits,omitempty"`
-	TxnidMostBits        *uint64       `protobuf:"varint,3,opt,name=txnid_most_bits,json=txnidMostBits,def=0" json:"txnid_most_bits,omitempty"`
-	Subscription         *Subscription `protobuf:"bytes,4,opt,name=subscription" json:"subscription,omitempty"`
-	TxnAction            *TxnAction    `protobuf:"varint,5,opt,name=txn_action,json=txnAction,enum=pulsar.proto.TxnAction" json:"txn_action,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
-	XXX_unrecognized     []byte        `json:"-"`
-	XXX_sizecache        int32         `json:"-"`
-}
-
-func (m *CommandEndTxnOnSubscription) Reset()         { *m = CommandEndTxnOnSubscription{} }
-func (m *CommandEndTxnOnSubscription) String() string { return proto.CompactTextString(m) }
-func (*CommandEndTxnOnSubscription) ProtoMessage()    {}
-func (*CommandEndTxnOnSubscription) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{61}
-}
-
-func (m *CommandEndTxnOnSubscription) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandEndTxnOnSubscription.Unmarshal(m, b)
-}
-func (m *CommandEndTxnOnSubscription) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandEndTxnOnSubscription.Marshal(b, m, deterministic)
-}
-func (m *CommandEndTxnOnSubscription) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandEndTxnOnSubscription.Merge(m, src)
-}
-func (m *CommandEndTxnOnSubscription) XXX_Size() int {
-	return xxx_messageInfo_CommandEndTxnOnSubscription.Size(m)
-}
-func (m *CommandEndTxnOnSubscription) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandEndTxnOnSubscription.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandEndTxnOnSubscription proto.InternalMessageInfo
-
-const Default_CommandEndTxnOnSubscription_TxnidLeastBits uint64 = 0
-const Default_CommandEndTxnOnSubscription_TxnidMostBits uint64 = 0
-
-func (m *CommandEndTxnOnSubscription) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandEndTxnOnSubscription) GetTxnidLeastBits() uint64 {
-	if m != nil && m.TxnidLeastBits != nil {
-		return *m.TxnidLeastBits
-	}
-	return Default_CommandEndTxnOnSubscription_TxnidLeastBits
-}
-
-func (m *CommandEndTxnOnSubscription) GetTxnidMostBits() uint64 {
-	if m != nil && m.TxnidMostBits != nil {
-		return *m.TxnidMostBits
-	}
-	return Default_CommandEndTxnOnSubscription_TxnidMostBits
-}
-
-func (m *CommandEndTxnOnSubscription) GetSubscription() *Subscription {
-	if m != nil {
-		return m.Subscription
-	}
-	return nil
-}
-
-func (m *CommandEndTxnOnSubscription) GetTxnAction() TxnAction {
-	if m != nil && m.TxnAction != nil {
-		return *m.TxnAction
-	}
-	return TxnAction_COMMIT
-}
-
-type CommandEndTxnOnSubscriptionResponse struct {
-	RequestId            *uint64      `protobuf:"varint,1,req,name=request_id,json=requestId" json:"request_id,omitempty"`
-	TxnidLeastBits       *uint64      `protobuf:"varint,2,opt,name=txnid_least_bits,json=txnidLeastBits,def=0" json:"txnid_least_bits,omitempty"`
-	TxnidMostBits        *uint64      `protobuf:"varint,3,opt,name=txnid_most_bits,json=txnidMostBits,def=0" json:"txnid_most_bits,omitempty"`
-	Error                *ServerError `protobuf:"varint,4,opt,name=error,enum=pulsar.proto.ServerError" json:"error,omitempty"`
-	Message              *string      `protobuf:"bytes,5,opt,name=message" json:"message,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
-}
-
-func (m *CommandEndTxnOnSubscriptionResponse) Reset()         { *m = CommandEndTxnOnSubscriptionResponse{} }
-func (m *CommandEndTxnOnSubscriptionResponse) String() string { return proto.CompactTextString(m) }
-func (*CommandEndTxnOnSubscriptionResponse) ProtoMessage()    {}
-func (*CommandEndTxnOnSubscriptionResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{62}
-}
-
-func (m *CommandEndTxnOnSubscriptionResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CommandEndTxnOnSubscriptionResponse.Unmarshal(m, b)
-}
-func (m *CommandEndTxnOnSubscriptionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CommandEndTxnOnSubscriptionResponse.Marshal(b, m, deterministic)
-}
-func (m *CommandEndTxnOnSubscriptionResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CommandEndTxnOnSubscriptionResponse.Merge(m, src)
-}
-func (m *CommandEndTxnOnSubscriptionResponse) XXX_Size() int {
-	return xxx_messageInfo_CommandEndTxnOnSubscriptionResponse.Size(m)
-}
-func (m *CommandEndTxnOnSubscriptionResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_CommandEndTxnOnSubscriptionResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CommandEndTxnOnSubscriptionResponse proto.InternalMessageInfo
-
-const Default_CommandEndTxnOnSubscriptionResponse_TxnidLeastBits uint64 = 0
-const Default_CommandEndTxnOnSubscriptionResponse_TxnidMostBits uint64 = 0
-
-func (m *CommandEndTxnOnSubscriptionResponse) GetRequestId() uint64 {
-	if m != nil && m.RequestId != nil {
-		return *m.RequestId
-	}
-	return 0
-}
-
-func (m *CommandEndTxnOnSubscriptionResponse) GetTxnidLeastBits() uint64 {
-	if m != nil && m.TxnidLeastBits != nil {
-		return *m.TxnidLeastBits
-	}
-	return Default_CommandEndTxnOnSubscriptionResponse_TxnidLeastBits
-}
-
-func (m *CommandEndTxnOnSubscriptionResponse) GetTxnidMostBits() uint64 {
-	if m != nil && m.TxnidMostBits != nil {
-		return *m.TxnidMostBits
-	}
-	return Default_CommandEndTxnOnSubscriptionResponse_TxnidMostBits
-}
-
-func (m *CommandEndTxnOnSubscriptionResponse) GetError() ServerError {
-	if m != nil && m.Error != nil {
-		return *m.Error
-	}
-	return ServerError_UnknownError
-}
-
-func (m *CommandEndTxnOnSubscriptionResponse) GetMessage() string {
-	if m != nil && m.Message != nil {
-		return *m.Message
-	}
-	return ""
-}
-
-type BaseCommand struct {
-	Type                            *BaseCommand_Type                        `protobuf:"varint,1,req,name=type,enum=pulsar.proto.BaseCommand_Type" json:"type,omitempty"`
-	Connect                         *CommandConnect                          `protobuf:"bytes,2,opt,name=connect" json:"connect,omitempty"`
-	Connected                       *CommandConnected                        `protobuf:"bytes,3,opt,name=connected" json:"connected,omitempty"`
-	Subscribe                       *CommandSubscribe                        `protobuf:"bytes,4,opt,name=subscribe" json:"subscribe,omitempty"`
-	Producer                        *CommandProducer                         `protobuf:"bytes,5,opt,name=producer" json:"producer,omitempty"`
-	Send                            *CommandSend                             `protobuf:"bytes,6,opt,name=send" json:"send,omitempty"`
-	SendReceipt                     *CommandSendReceipt                      `protobuf:"bytes,7,opt,name=send_receipt,json=sendReceipt" json:"send_receipt,omitempty"`
-	SendError                       *CommandSendError                        `protobuf:"bytes,8,opt,name=send_error,json=sendError" json:"send_error,omitempty"`
-	Message                         *CommandMessage                          `protobuf:"bytes,9,opt,name=message" json:"message,omitempty"`
-	Ack                             *CommandAck                              `protobuf:"bytes,10,opt,name=ack" json:"ack,omitempty"`
-	Flow                            *CommandFlow                             `protobuf:"bytes,11,opt,name=flow" json:"flow,omitempty"`
-	Unsubscribe                     *CommandUnsubscribe                      `protobuf:"bytes,12,opt,name=unsubscribe" json:"unsubscribe,omitempty"`
-	Success                         *CommandSuccess                          `protobuf:"bytes,13,opt,name=success" json:"success,omitempty"`
-	Error                           *CommandError                            `protobuf:"bytes,14,opt,name=error" json:"error,omitempty"`
-	CloseProducer                   *CommandCloseProducer                    `protobuf:"bytes,15,opt,name=close_producer,json=closeProducer" json:"close_producer,omitempty"`
-	CloseConsumer                   *CommandCloseConsumer                    `protobuf:"bytes,16,opt,name=close_consumer,json=closeConsumer" json:"close_consumer,omitempty"`
-	ProducerSuccess                 *CommandProducerSuccess                  `protobuf:"bytes,17,opt,name=producer_success,json=producerSuccess" json:"producer_success,omitempty"`
-	Ping                            *CommandPing                             `protobuf:"bytes,18,opt,name=ping" json:"ping,omitempty"`
-	Pong                            *CommandPong                             `protobuf:"bytes,19,opt,name=pong" json:"pong,omitempty"`
-	RedeliverUnacknowledgedMessages *CommandRedeliverUnacknowledgedMessages  `protobuf:"bytes,20,opt,name=redeliverUnacknowledgedMessages" json:"redeliverUnacknowledgedMessages,omitempty"`
-	PartitionMetadata               *CommandPartitionedTopicMetadata         `protobuf:"bytes,21,opt,name=partitionMetadata" json:"partitionMetadata,omitempty"`
-	PartitionMetadataResponse       *CommandPartitionedTopicMetadataResponse `protobuf:"bytes,22,opt,name=partitionMetadataResponse" json:"partitionMetadataResponse,omitempty"`
-	LookupTopic                     *CommandLookupTopic                      `protobuf:"bytes,23,opt,name=lookupTopic" json:"lookupTopic,omitempty"`
-	LookupTopicResponse             *CommandLookupTopicResponse              `protobuf:"bytes,24,opt,name=lookupTopicResponse" json:"lookupTopicResponse,omitempty"`
-	ConsumerStats                   *CommandConsumerStats                    `protobuf:"bytes,25,opt,name=consumerStats" json:"consumerStats,omitempty"`
-	ConsumerStatsResponse           *CommandConsumerStatsResponse            `protobuf:"bytes,26,opt,name=consumerStatsResponse" json:"consumerStatsResponse,omitempty"`
-	ReachedEndOfTopic               *CommandReachedEndOfTopic                `protobuf:"bytes,27,opt,name=reachedEndOfTopic" json:"reachedEndOfTopic,omitempty"`
-	Seek                            *CommandSeek                             `protobuf:"bytes,28,opt,name=seek" json:"seek,omitempty"`
-	GetLastMessageId                *CommandGetLastMessageId                 `protobuf:"bytes,29,opt,name=getLastMessageId" json:"getLastMessageId,omitempty"`
-	GetLastMessageIdResponse        *CommandGetLastMessageIdResponse         `protobuf:"bytes,30,opt,name=getLastMessageIdResponse" json:"getLastMessageIdResponse,omitempty"`
-	ActiveConsumerChange            *CommandActiveConsumerChange             `protobuf:"bytes,31,opt,name=active_consumer_change,json=activeConsumerChange" json:"active_consumer_change,omitempty"`
-	GetTopicsOfNamespace            *CommandGetTopicsOfNamespace             `protobuf:"bytes,32,opt,name=getTopicsOfNamespace" json:"getTopicsOfNamespace,omitempty"`
-	GetTopicsOfNamespaceResponse    *CommandGetTopicsOfNamespaceResponse     `protobuf:"bytes,33,opt,name=getTopicsOfNamespaceResponse" json:"getTopicsOfNamespaceResponse,omitempty"`
-	GetSchema                       *CommandGetSchema                        `protobuf:"bytes,34,opt,name=getSchema" json:"getSchema,omitempty"`
-	GetSchemaResponse               *CommandGetSchemaResponse                `protobuf:"bytes,35,opt,name=getSchemaResponse" json:"getSchemaResponse,omitempty"`
-	AuthChallenge                   *CommandAuthChallenge                    `protobuf:"bytes,36,opt,name=authChallenge" json:"authChallenge,omitempty"`
-	AuthResponse                    *CommandAuthResponse                     `protobuf:"bytes,37,opt,name=authResponse" json:"authResponse,omitempty"`
-	AckResponse                     *CommandAckResponse                      `protobuf:"bytes,38,opt,name=ackResponse" json:"ackResponse,omitempty"`
-	GetOrCreateSchema               *CommandGetOrCreateSchema                `protobuf:"bytes,39,opt,name=getOrCreateSchema" json:"getOrCreateSchema,omitempty"`
-	GetOrCreateSchemaResponse       *CommandGetOrCreateSchemaResponse        `protobuf:"bytes,40,opt,name=getOrCreateSchemaResponse" json:"getOrCreateSchemaResponse,omitempty"`
-	// transaction related
-	NewTxn                       *CommandNewTxn                       `protobuf:"bytes,50,opt,name=newTxn" json:"newTxn,omitempty"`
-	NewTxnResponse               *CommandNewTxnResponse               `protobuf:"bytes,51,opt,name=newTxnResponse" json:"newTxnResponse,omitempty"`
-	AddPartitionToTxn            *CommandAddPartitionToTxn            `protobuf:"bytes,52,opt,name=addPartitionToTxn" json:"addPartitionToTxn,omitempty"`
-	AddPartitionToTxnResponse    *CommandAddPartitionToTxnResponse    `protobuf:"bytes,53,opt,name=addPartitionToTxnResponse" json:"addPartitionToTxnResponse,omitempty"`
-	AddSubscriptionToTxn         *CommandAddSubscriptionToTxn         `protobuf:"bytes,54,opt,name=addSubscriptionToTxn" json:"addSubscriptionToTxn,omitempty"`
-	AddSubscriptionToTxnResponse *CommandAddSubscriptionToTxnResponse `protobuf:"bytes,55,opt,name=addSubscriptionToTxnResponse" json:"addSubscriptionToTxnResponse,omitempty"`
-	EndTxn                       *CommandEndTxn                       `protobuf:"bytes,56,opt,name=endTxn" json:"endTxn,omitempty"`
-	EndTxnResponse               *CommandEndTxnResponse               `protobuf:"bytes,57,opt,name=endTxnResponse" json:"endTxnResponse,omitempty"`
-	EndTxnOnPartition            *CommandEndTxnOnPartition            `protobuf:"bytes,58,opt,name=endTxnOnPartition" json:"endTxnOnPartition,omitempty"`
-	EndTxnOnPartitionResponse    *CommandEndTxnOnPartitionResponse    `protobuf:"bytes,59,opt,name=endTxnOnPartitionResponse" json:"endTxnOnPartitionResponse,omitempty"`
-	EndTxnOnSubscription         *CommandEndTxnOnSubscription         `protobuf:"bytes,60,opt,name=endTxnOnSubscription" json:"endTxnOnSubscription,omitempty"`
-	EndTxnOnSubscriptionResponse *CommandEndTxnOnSubscriptionResponse `protobuf:"bytes,61,opt,name=endTxnOnSubscriptionResponse" json:"endTxnOnSubscriptionResponse,omitempty"`
-	XXX_NoUnkeyedLiteral         struct{}                             `json:"-"`
-	XXX_unrecognized             []byte                               `json:"-"`
-	XXX_sizecache                int32                                `json:"-"`
-}
-
-func (m *BaseCommand) Reset()         { *m = BaseCommand{} }
-func (m *BaseCommand) String() string { return proto.CompactTextString(m) }
-func (*BaseCommand) ProtoMessage()    {}
-func (*BaseCommand) Descriptor() ([]byte, []int) {
-	return fileDescriptor_39529ba7ad9caeb8, []int{63}
-}
-
-func (m *BaseCommand) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_BaseCommand.Unmarshal(m, b)
-}
-func (m *BaseCommand) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_BaseCommand.Marshal(b, m, deterministic)
-}
-func (m *BaseCommand) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_BaseCommand.Merge(m, src)
-}
-func (m *BaseCommand) XXX_Size() int {
-	return xxx_messageInfo_BaseCommand.Size(m)
-}
-func (m *BaseCommand) XXX_DiscardUnknown() {
-	xxx_messageInfo_BaseCommand.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_BaseCommand proto.InternalMessageInfo
-
-func (m *BaseCommand) GetType() BaseCommand_Type {
-	if m != nil && m.Type != nil {
-		return *m.Type
-	}
-	return BaseCommand_CONNECT
-}
-
-func (m *BaseCommand) GetConnect() *CommandConnect {
-	if m != nil {
-		return m.Connect
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetConnected() *CommandConnected {
-	if m != nil {
-		return m.Connected
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetSubscribe() *CommandSubscribe {
-	if m != nil {
-		return m.Subscribe
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetProducer() *CommandProducer {
-	if m != nil {
-		return m.Producer
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetSend() *CommandSend {
-	if m != nil {
-		return m.Send
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetSendReceipt() *CommandSendReceipt {
-	if m != nil {
-		return m.SendReceipt
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetSendError() *CommandSendError {
-	if m != nil {
-		return m.SendError
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetMessage() *CommandMessage {
-	if m != nil {
-		return m.Message
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetAck() *CommandAck {
-	if m != nil {
-		return m.Ack
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetFlow() *CommandFlow {
-	if m != nil {
-		return m.Flow
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetUnsubscribe() *CommandUnsubscribe {
-	if m != nil {
-		return m.Unsubscribe
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetSuccess() *CommandSuccess {
-	if m != nil {
-		return m.Success
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetError() *CommandError {
-	if m != nil {
-		return m.Error
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetCloseProducer() *CommandCloseProducer {
-	if m != nil {
-		return m.CloseProducer
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetCloseConsumer() *CommandCloseConsumer {
-	if m != nil {
-		return m.CloseConsumer
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetProducerSuccess() *CommandProducerSuccess {
-	if m != nil {
-		return m.ProducerSuccess
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetPing() *CommandPing {
-	if m != nil {
-		return m.Ping
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetPong() *CommandPong {
-	if m != nil {
-		return m.Pong
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetRedeliverUnacknowledgedMessages() *CommandRedeliverUnacknowledgedMessages {
-	if m != nil {
-		return m.RedeliverUnacknowledgedMessages
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetPartitionMetadata() *CommandPartitionedTopicMetadata {
-	if m != nil {
-		return m.PartitionMetadata
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetPartitionMetadataResponse() *CommandPartitionedTopicMetadataResponse {
-	if m != nil {
-		return m.PartitionMetadataResponse
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetLookupTopic() *CommandLookupTopic {
-	if m != nil {
-		return m.LookupTopic
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetLookupTopicResponse() *CommandLookupTopicResponse {
-	if m != nil {
-		return m.LookupTopicResponse
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetConsumerStats() *CommandConsumerStats {
-	if m != nil {
-		return m.ConsumerStats
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetConsumerStatsResponse() *CommandConsumerStatsResponse {
-	if m != nil {
-		return m.ConsumerStatsResponse
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetReachedEndOfTopic() *CommandReachedEndOfTopic {
-	if m != nil {
-		return m.ReachedEndOfTopic
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetSeek() *CommandSeek {
-	if m != nil {
-		return m.Seek
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetGetLastMessageId() *CommandGetLastMessageId {
-	if m != nil {
-		return m.GetLastMessageId
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetGetLastMessageIdResponse() *CommandGetLastMessageIdResponse {
-	if m != nil {
-		return m.GetLastMessageIdResponse
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetActiveConsumerChange() *CommandActiveConsumerChange {
-	if m != nil {
-		return m.ActiveConsumerChange
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetGetTopicsOfNamespace() *CommandGetTopicsOfNamespace {
-	if m != nil {
-		return m.GetTopicsOfNamespace
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetGetTopicsOfNamespaceResponse() *CommandGetTopicsOfNamespaceResponse {
-	if m != nil {
-		return m.GetTopicsOfNamespaceResponse
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetGetSchema() *CommandGetSchema {
-	if m != nil {
-		return m.GetSchema
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetGetSchemaResponse() *CommandGetSchemaResponse {
-	if m != nil {
-		return m.GetSchemaResponse
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetAuthChallenge() *CommandAuthChallenge {
-	if m != nil {
-		return m.AuthChallenge
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetAuthResponse() *CommandAuthResponse {
-	if m != nil {
-		return m.AuthResponse
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetAckResponse() *CommandAckResponse {
-	if m != nil {
-		return m.AckResponse
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetGetOrCreateSchema() *CommandGetOrCreateSchema {
-	if m != nil {
-		return m.GetOrCreateSchema
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetGetOrCreateSchemaResponse() *CommandGetOrCreateSchemaResponse {
-	if m != nil {
-		return m.GetOrCreateSchemaResponse
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetNewTxn() *CommandNewTxn {
-	if m != nil {
-		return m.NewTxn
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetNewTxnResponse() *CommandNewTxnResponse {
-	if m != nil {
-		return m.NewTxnResponse
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetAddPartitionToTxn() *CommandAddPartitionToTxn {
-	if m != nil {
-		return m.AddPartitionToTxn
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetAddPartitionToTxnResponse() *CommandAddPartitionToTxnResponse {
-	if m != nil {
-		return m.AddPartitionToTxnResponse
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetAddSubscriptionToTxn() *CommandAddSubscriptionToTxn {
-	if m != nil {
-		return m.AddSubscriptionToTxn
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetAddSubscriptionToTxnResponse() *CommandAddSubscriptionToTxnResponse {
-	if m != nil {
-		return m.AddSubscriptionToTxnResponse
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetEndTxn() *CommandEndTxn {
-	if m != nil {
-		return m.EndTxn
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetEndTxnResponse() *CommandEndTxnResponse {
-	if m != nil {
-		return m.EndTxnResponse
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetEndTxnOnPartition() *CommandEndTxnOnPartition {
-	if m != nil {
-		return m.EndTxnOnPartition
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetEndTxnOnPartitionResponse() *CommandEndTxnOnPartitionResponse {
-	if m != nil {
-		return m.EndTxnOnPartitionResponse
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetEndTxnOnSubscription() *CommandEndTxnOnSubscription {
-	if m != nil {
-		return m.EndTxnOnSubscription
-	}
-	return nil
-}
-
-func (m *BaseCommand) GetEndTxnOnSubscriptionResponse() *CommandEndTxnOnSubscriptionResponse {
-	if m != nil {
-		return m.EndTxnOnSubscriptionResponse
-	}
-	return nil
-}
-
-func init() {
-	proto.RegisterEnum("pulsar.proto.CompressionType", CompressionType_name, CompressionType_value)
-	proto.RegisterEnum("pulsar.proto.ServerError", ServerError_name, ServerError_value)
-	proto.RegisterEnum("pulsar.proto.AuthMethod", AuthMethod_name, AuthMethod_value)
-	proto.RegisterEnum("pulsar.proto.ProtocolVersion", ProtocolVersion_name, ProtocolVersion_value)
-	proto.RegisterEnum("pulsar.proto.KeySharedMode", KeySharedMode_name, KeySharedMode_value)
-	proto.RegisterEnum("pulsar.proto.TxnAction", TxnAction_name, TxnAction_value)
-	proto.RegisterEnum("pulsar.proto.Schema_Type", Schema_Type_name, Schema_Type_value)
-	proto.RegisterEnum("pulsar.proto.CommandSubscribe_SubType", CommandSubscribe_SubType_name, CommandSubscribe_SubType_value)
-	proto.RegisterEnum("pulsar.proto.CommandSubscribe_InitialPosition", CommandSubscribe_InitialPosition_name, CommandSubscribe_InitialPosition_value)
-	proto.RegisterEnum("pulsar.proto.CommandPartitionedTopicMetadataResponse_LookupType", CommandPartitionedTopicMetadataResponse_LookupType_name, CommandPartitionedTopicMetadataResponse_LookupType_value)
-	proto.RegisterEnum("pulsar.proto.CommandLookupTopicResponse_LookupType", CommandLookupTopicResponse_LookupType_name, CommandLookupTopicResponse_LookupType_value)
-	proto.RegisterEnum("pulsar.proto.CommandAck_AckType", CommandAck_AckType_name, CommandAck_AckType_value)
-	proto.RegisterEnum("pulsar.proto.CommandAck_ValidationError", CommandAck_ValidationError_name, CommandAck_ValidationError_value)
-	proto.RegisterEnum("pulsar.proto.CommandGetTopicsOfNamespace_Mode", CommandGetTopicsOfNamespace_Mode_name, CommandGetTopicsOfNamespace_Mode_value)
-	proto.RegisterEnum("pulsar.proto.BaseCommand_Type", BaseCommand_Type_name, BaseCommand_Type_value)
-	proto.RegisterType((*Schema)(nil), "pulsar.proto.Schema")
-	proto.RegisterType((*MessageIdData)(nil), "pulsar.proto.MessageIdData")
-	proto.RegisterType((*KeyValue)(nil), "pulsar.proto.KeyValue")
-	proto.RegisterType((*KeyLongValue)(nil), "pulsar.proto.KeyLongValue")
-	proto.RegisterType((*IntRange)(nil), "pulsar.proto.IntRange")
-	proto.RegisterType((*EncryptionKeys)(nil), "pulsar.proto.EncryptionKeys")
-	proto.RegisterType((*MessageMetadata)(nil), "pulsar.proto.MessageMetadata")
-	proto.RegisterType((*SingleMessageMetadata)(nil), "pulsar.proto.SingleMessageMetadata")
-	proto.RegisterType((*CommandConnect)(nil), "pulsar.proto.CommandConnect")
-	proto.RegisterType((*FeatureFlags)(nil), "pulsar.proto.FeatureFlags")
-	proto.RegisterType((*CommandConnected)(nil), "pulsar.proto.CommandConnected")
-	proto.RegisterType((*CommandAuthResponse)(nil), "pulsar.proto.CommandAuthResponse")
-	proto.RegisterType((*CommandAuthChallenge)(nil), "pulsar.proto.CommandAuthChallenge")
-	proto.RegisterType((*AuthData)(nil), "pulsar.proto.AuthData")
-	proto.RegisterType((*KeySharedMeta)(nil), "pulsar.proto.KeySharedMeta")
-	proto.RegisterType((*CommandSubscribe)(nil), "pulsar.proto.CommandSubscribe")
-	proto.RegisterType((*CommandPartitionedTopicMetadata)(nil), "pulsar.proto.CommandPartitionedTopicMetadata")
-	proto.RegisterType((*CommandPartitionedTopicMetadataResponse)(nil), "pulsar.proto.CommandPartitionedTopicMetadataResponse")
-	proto.RegisterType((*CommandLookupTopic)(nil), "pulsar.proto.CommandLookupTopic")
-	proto.RegisterType((*CommandLookupTopicResponse)(nil), "pulsar.proto.CommandLookupTopicResponse")
-	proto.RegisterType((*CommandProducer)(nil), "pulsar.proto.CommandProducer")
-	proto.RegisterType((*CommandSend)(nil), "pulsar.proto.CommandSend")
-	proto.RegisterType((*CommandSendReceipt)(nil), "pulsar.proto.CommandSendReceipt")
-	proto.RegisterType((*CommandSendError)(nil), "pulsar.proto.CommandSendError")
-	proto.RegisterType((*CommandMessage)(nil), "pulsar.proto.CommandMessage")
-	proto.RegisterType((*CommandAck)(nil), "pulsar.proto.CommandAck")
-	proto.RegisterType((*CommandAckResponse)(nil), "pulsar.proto.CommandAckResponse")
-	proto.RegisterType((*CommandActiveConsumerChange)(nil), "pulsar.proto.CommandActiveConsumerChange")
-	proto.RegisterType((*CommandFlow)(nil), "pulsar.proto.CommandFlow")
-	proto.RegisterType((*CommandUnsubscribe)(nil), "pulsar.proto.CommandUnsubscribe")
-	proto.RegisterType((*CommandSeek)(nil), "pulsar.proto.CommandSeek")
-	proto.RegisterType((*CommandReachedEndOfTopic)(nil), "pulsar.proto.CommandReachedEndOfTopic")
-	proto.RegisterType((*CommandCloseProducer)(nil), "pulsar.proto.CommandCloseProducer")
-	proto.RegisterType((*CommandCloseConsumer)(nil), "pulsar.proto.CommandCloseConsumer")
-	proto.RegisterType((*CommandRedeliverUnacknowledgedMessages)(nil), "pulsar.proto.CommandRedeliverUnacknowledgedMessages")
-	proto.RegisterType((*CommandSuccess)(nil), "pulsar.proto.CommandSuccess")
-	proto.RegisterType((*CommandProducerSuccess)(nil), "pulsar.proto.CommandProducerSuccess")
-	proto.RegisterType((*CommandError)(nil), "pulsar.proto.CommandError")
-	proto.RegisterType((*CommandPing)(nil), "pulsar.proto.CommandPing")
-	proto.RegisterType((*CommandPong)(nil), "pulsar.proto.CommandPong")
-	proto.RegisterType((*CommandConsumerStats)(nil), "pulsar.proto.CommandConsumerStats")
-	proto.RegisterType((*CommandConsumerStatsResponse)(nil), "pulsar.proto.CommandConsumerStatsResponse")
-	proto.RegisterType((*CommandGetLastMessageId)(nil), "pulsar.proto.CommandGetLastMessageId")
-	proto.RegisterType((*CommandGetLastMessageIdResponse)(nil), "pulsar.proto.CommandGetLastMessageIdResponse")
-	proto.RegisterType((*CommandGetTopicsOfNamespace)(nil), "pulsar.proto.CommandGetTopicsOfNamespace")
-	proto.RegisterType((*CommandGetTopicsOfNamespaceResponse)(nil), "pulsar.proto.CommandGetTopicsOfNamespaceResponse")
-	proto.RegisterType((*CommandGetSchema)(nil), "pulsar.proto.CommandGetSchema")
-	proto.RegisterType((*CommandGetSchemaResponse)(nil), "pulsar.proto.CommandGetSchemaResponse")
-	proto.RegisterType((*CommandGetOrCreateSchema)(nil), "pulsar.proto.CommandGetOrCreateSchema")
-	proto.RegisterType((*CommandGetOrCreateSchemaResponse)(nil), "pulsar.proto.CommandGetOrCreateSchemaResponse")
-	proto.RegisterType((*CommandNewTxn)(nil), "pulsar.proto.CommandNewTxn")
-	proto.RegisterType((*CommandNewTxnResponse)(nil), "pulsar.proto.CommandNewTxnResponse")
-	proto.RegisterType((*CommandAddPartitionToTxn)(nil), "pulsar.proto.CommandAddPartitionToTxn")
-	proto.RegisterType((*CommandAddPartitionToTxnResponse)(nil), "pulsar.proto.CommandAddPartitionToTxnResponse")
-	proto.RegisterType((*Subscription)(nil), "pulsar.proto.Subscription")
-	proto.RegisterType((*CommandAddSubscriptionToTxn)(nil), "pulsar.proto.CommandAddSubscriptionToTxn")
-	proto.RegisterType((*CommandAddSubscriptionToTxnResponse)(nil), "pulsar.proto.CommandAddSubscriptionToTxnResponse")
-	proto.RegisterType((*CommandEndTxn)(nil), "pulsar.proto.CommandEndTxn")
-	proto.RegisterType((*CommandEndTxnResponse)(nil), "pulsar.proto.CommandEndTxnResponse")
-	proto.RegisterType((*CommandEndTxnOnPartition)(nil), "pulsar.proto.CommandEndTxnOnPartition")
-	proto.RegisterType((*CommandEndTxnOnPartitionResponse)(nil), "pulsar.proto.CommandEndTxnOnPartitionResponse")
-	proto.RegisterType((*CommandEndTxnOnSubscription)(nil), "pulsar.proto.CommandEndTxnOnSubscription")
-	proto.RegisterType((*CommandEndTxnOnSubscriptionResponse)(nil), "pulsar.proto.CommandEndTxnOnSubscriptionResponse")
-	proto.RegisterType((*BaseCommand)(nil), "pulsar.proto.BaseCommand")
-}
-
-func init() { proto.RegisterFile("PulsarApi.proto", fileDescriptor_39529ba7ad9caeb8) }
-
-var fileDescriptor_39529ba7ad9caeb8 = []byte{
-	// 5579 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x7c, 0xcd, 0x6f, 0x1b, 0x49,
-	0x76, 0xb8, 0x9b, 0x1f, 0x12, 0xf9, 0x28, 0x92, 0xe5, 0xb2, 0xec, 0xe9, 0xb1, 0x3d, 0xb6, 0xa6,
-	0x3d, 0xf6, 0x68, 0x3c, 0x63, 0xfd, 0x6c, 0xd9, 0xe3, 0x9d, 0xf1, 0xcc, 0xfe, 0x32, 0x14, 0x45,
-	0xdb, 0x8c, 0x24, 0x52, 0x5b, 0xa4, 0xbc, 0x99, 0xcd, 0x2e, 0x7a, 0x5b, 0xdd, 0x65, 0xaa, 0xa1,
-	0x66, 0x37, 0xb7, 0xbb, 0xa9, 0x91, 0x06, 0x48, 0x90, 0xcb, 0x22, 0x40, 0xb0, 0x40, 0x90, 0x53,
-	0x0e, 0x01, 0x12, 0xe4, 0x94, 0xf3, 0xde, 0x02, 0x2c, 0x90, 0x5b, 0x90, 0x1c, 0x72, 0xcc, 0x21,
-	0x7b, 0x5a, 0x20, 0xc8, 0xc7, 0x61, 0xb1, 0x40, 0xf2, 0x1f, 0x04, 0x55, 0x5d, 0xfd, 0x45, 0x36,
-	0x49, 0x69, 0x66, 0x83, 0xdd, 0xcc, 0x89, 0xdd, 0xaf, 0xde, 0x7b, 0xf5, 0xea, 0xbd, 0x57, 0xaf,
-	0x5e, 0xbd, 0xaa, 0x26, 0xd4, 0xf7, 0xc7, 0x96, 0xa7, 0xb9, 0x8d, 0x91, 0xb9, 0x31, 0x72, 0x1d,
-	0xdf, 0xc1, 0x2b, 0x23, 0x0e, 0x08, 0xde, 0x94, 0x7f, 0xcd, 0xc1, 0x52, 0x4f, 0x3f, 0xa2, 0x43,
-	0x0d, 0x63, 0x28, 0xd8, 0xda, 0x90, 0xca, 0xd2, 0x5a, 0x6e, 0xbd, 0x4c, 0xf8, 0x33, 0xbe, 0x0d,
-	0x15, 0x8f, 0xb7, 0xaa, 0x86, 0xe6, 0x6b, 0x72, 0x7e, 0x2d, 0xb7, 0xbe, 0x42, 0x20, 0x00, 0x6d,
-	0x6b, 0xbe, 0x86, 0x1f, 0x40, 0xc1, 0x3f, 0x1b, 0x51, 0xb9, 0xb0, 0x96, 0x5b, 0xaf, 0x6d, 0xbe,
-	0xb9, 0x91, 0x64, 0xbe, 0x11, 0x30, 0xde, 0xe8, 0x9f, 0x8d, 0x28, 0xe1, 0x68, 0xf8, 0x29, 0xc0,
-	0xc8, 0x75, 0x46, 0xd4, 0xf5, 0x4d, 0xea, 0xc9, 0xc5, 0xb5, 0xfc, 0x7a, 0x65, 0xf3, 0x5a, 0x9a,
-	0x68, 0x87, 0x9e, 0xbd, 0xd2, 0xac, 0x31, 0x25, 0x09, 0x4c, 0xe5, 0x67, 0x12, 0x14, 0x18, 0x1b,
-	0x5c, 0x82, 0x42, 0xc7, 0xb1, 0x29, 0xba, 0x84, 0x01, 0x96, 0x7a, 0xbe, 0x6b, 0xda, 0x03, 0x24,
-	0x31, 0xe8, 0xef, 0x7a, 0x8e, 0x8d, 0x72, 0x78, 0x05, 0x4a, 0xfb, 0x8c, 0xcd, 0xe1, 0xf8, 0x35,
-	0xca, 0x33, 0x78, 0xe3, 0xc4, 0x75, 0x50, 0x81, 0x3d, 0x6d, 0x39, 0x8e, 0x85, 0x8a, 0xec, 0xa9,
-	0x6d, 0xfb, 0x1f, 0xa1, 0x25, 0x5c, 0x86, 0x62, 0xdb, 0xf6, 0x1f, 0x3d, 0x45, 0xcb, 0xe2, 0xf1,
-	0xf1, 0x26, 0x2a, 0x89, 0xc7, 0xa7, 0x4f, 0x50, 0x99, 0x3d, 0x3e, 0xb7, 0x1c, 0xcd, 0x47, 0xc0,
-	0x7a, 0xdb, 0x76, 0xc6, 0x87, 0x16, 0x45, 0x15, 0xc6, 0x61, 0x5b, 0xf3, 0x29, 0x5a, 0x61, 0x4f,
-	0x7d, 0x73, 0x48, 0x51, 0x15, 0x57, 0xa1, 0xcc, 0x9e, 0x3c, 0x5f, 0x1b, 0x8e, 0x50, 0x8d, 0x89,
-	0x11, 0x8e, 0x03, 0xd5, 0x95, 0x9f, 0x48, 0x50, 0xdd, 0xa3, 0x9e, 0xa7, 0x0d, 0x68, 0xdb, 0xe0,
-	0x6a, 0xbb, 0x0e, 0x25, 0x8b, 0x1a, 0x03, 0xea, 0xb6, 0x0d, 0xae, 0xef, 0x02, 0x89, 0xde, 0xb1,
-	0x0c, 0xcb, 0xd4, 0xf6, 0xdd, 0xb3, 0xb6, 0x21, 0xe7, 0x78, 0x53, 0xf8, 0x8a, 0xd7, 0xa0, 0x3c,
-	0xd2, 0x5c, 0xdf, 0xf4, 0x4d, 0xc7, 0x96, 0xf3, 0x6b, 0xd2, 0x7a, 0xf1, 0x59, 0xee, 0xc1, 0x23,
-	0x12, 0x03, 0xf1, 0x1d, 0xa8, 0x1c, 0x6a, 0xbe, 0x7e, 0xa4, 0x9a, 0xb6, 0x41, 0x4f, 0xe5, 0x42,
-	0x84, 0x03, 0x1c, 0xdc, 0x66, 0x50, 0x65, 0x33, 0x16, 0x0e, 0x23, 0xc8, 0x1f, 0xd3, 0x33, 0x61,
-	0x73, 0xf6, 0x88, 0x57, 0xa1, 0x78, 0xc2, 0x9a, 0x78, 0xe7, 0x65, 0x12, 0xbc, 0x28, 0x4f, 0x61,
-	0x65, 0x87, 0x9e, 0xed, 0x3a, 0xf6, 0xe0, 0x5c, 0x74, 0x85, 0x90, 0x6e, 0x13, 0x4a, 0x6d, 0xdb,
-	0x27, 0x9a, 0x3d, 0xa0, 0x0c, 0xc3, 0xf3, 0x35, 0xd7, 0xe7, 0x54, 0x45, 0x12, 0xbc, 0x30, 0x4e,
-	0xd4, 0x0e, 0x86, 0x5a, 0x24, 0xec, 0x51, 0xb1, 0xa0, 0xd6, 0xb2, 0x75, 0xf7, 0x6c, 0xc4, 0x86,
-	0xb4, 0x43, 0xcf, 0xbc, 0x45, 0xbd, 0xad, 0x88, 0xde, 0xf0, 0x26, 0x94, 0x86, 0xd4, 0xd7, 0x84,
-	0xaf, 0xce, 0x73, 0xae, 0x08, 0x4f, 0xf9, 0xd5, 0x32, 0xd4, 0x85, 0x71, 0xf6, 0x04, 0x0c, 0xdf,
-	0x81, 0xea, 0xc8, 0x75, 0x8c, 0xb1, 0x4e, 0x5d, 0x35, 0x31, 0x27, 0x56, 0x42, 0x60, 0x27, 0x9c,
-	0x1b, 0xf4, 0x47, 0x63, 0x6a, 0xeb, 0x54, 0x35, 0x43, 0x5b, 0x41, 0x08, 0x6a, 0x1b, 0xf8, 0x6d,
-	0x58, 0x19, 0x8d, 0x0f, 0x2d, 0xd3, 0x3b, 0x52, 0x7d, 0x73, 0x48, 0xf9, 0xec, 0x29, 0x90, 0x8a,
-	0x80, 0x31, 0x77, 0x99, 0x98, 0x0f, 0x85, 0xf3, 0xce, 0x07, 0xfc, 0x2e, 0xd4, 0x5d, 0x3a, 0xb2,
-	0x4c, 0x5d, 0xf3, 0xa9, 0xa1, 0xbe, 0x76, 0x9d, 0xa1, 0x5c, 0x5c, 0x93, 0xd6, 0xcb, 0xa4, 0x16,
-	0x83, 0x9f, 0xbb, 0xce, 0x90, 0x8f, 0x24, 0xf4, 0x0e, 0x95, 0xe9, 0x70, 0x89, 0xa3, 0xad, 0x44,
-	0xc0, 0x1d, 0x7a, 0xc6, 0x04, 0x8d, 0xc8, 0x54, 0xdf, 0x91, 0x97, 0xd7, 0xf2, 0xeb, 0x65, 0x52,
-	0x89, 0x60, 0x7d, 0x07, 0xb7, 0xa0, 0xa2, 0x3b, 0xc3, 0x91, 0x4b, 0x3d, 0x8f, 0x39, 0x5f, 0x69,
-	0x4d, 0x5a, 0xaf, 0x6d, 0xbe, 0x95, 0x96, 0xb4, 0x19, 0x23, 0xb0, 0xb9, 0xfa, 0xac, 0xd0, 0xe9,
-	0x76, 0x5a, 0x24, 0x49, 0x87, 0x37, 0xe0, 0xf2, 0xd8, 0x0e, 0x01, 0xd4, 0x50, 0x3d, 0xf3, 0x4b,
-	0x2a, 0x97, 0xd7, 0xa4, 0xf5, 0xea, 0x33, 0xe9, 0x21, 0x41, 0xc9, 0xb6, 0x9e, 0xf9, 0x25, 0xc5,
-	0x4f, 0xe0, 0xaa, 0x3d, 0x1e, 0xaa, 0xc3, 0xc0, 0x3e, 0x9e, 0x6a, 0xda, 0x2a, 0x77, 0x64, 0xb9,
-	0xc2, 0x3d, 0x5b, 0x7a, 0x44, 0xb0, 0x3d, 0x1e, 0x0a, 0xf3, 0x79, 0x6d, 0x7b, 0x8b, 0x35, 0xe2,
-	0x35, 0x00, 0x7a, 0x42, 0x6d, 0x3f, 0x50, 0xfb, 0xca, 0x9a, 0xb4, 0x5e, 0x60, 0xec, 0xcb, 0x1c,
-	0xc8, 0xf5, 0xde, 0x82, 0x3a, 0x8d, 0x5c, 0x8c, 0xe9, 0xc5, 0x93, 0xab, 0x5c, 0xf9, 0x37, 0xd3,
-	0x43, 0x4a, 0xfb, 0x21, 0xa9, 0xd1, 0xb4, 0x5f, 0xbe, 0x9b, 0x62, 0xa3, 0x59, 0x03, 0x47, 0xae,
-	0x05, 0x66, 0x88, 0xc1, 0x0d, 0x6b, 0xe0, 0xe0, 0xf7, 0x00, 0x25, 0x10, 0x47, 0x9a, 0xab, 0x0d,
-	0xe5, 0xfa, 0x9a, 0xb4, 0xbe, 0x42, 0x12, 0x0c, 0xf6, 0x19, 0x18, 0xdf, 0x85, 0x9a, 0x08, 0xb9,
-	0x27, 0xd4, 0xe5, 0xca, 0x46, 0x1c, 0xb1, 0x1a, 0x40, 0x5f, 0x05, 0x40, 0xfc, 0x19, 0xbc, 0x99,
-	0x32, 0xac, 0x7a, 0xf8, 0xf4, 0x89, 0x4a, 0x6d, 0xdd, 0x31, 0xa8, 0x21, 0x5f, 0x5e, 0x93, 0xd6,
-	0x4b, 0xcf, 0x8a, 0xaf, 0x35, 0xcb, 0xa3, 0xe4, 0x5a, 0xd2, 0xd6, 0x5b, 0x4f, 0x9f, 0xb4, 0x02,
-	0x24, 0x66, 0x75, 0xc7, 0x35, 0x28, 0x0b, 0xa1, 0xdc, 0x33, 0x30, 0xef, 0xa6, 0x12, 0xc2, 0x98,
-	0x63, 0xdc, 0x83, 0xba, 0x41, 0x2d, 0xf3, 0x84, 0xba, 0xaa, 0x26, 0xb4, 0x79, 0x65, 0x4d, 0x5a,
-	0xcf, 0x93, 0xaa, 0x00, 0x37, 0x02, 0x75, 0xde, 0x86, 0xca, 0x50, 0x73, 0x8f, 0xa9, 0xab, 0xf2,
-	0xc5, 0x60, 0x95, 0x19, 0x87, 0x40, 0x00, 0xe2, 0x61, 0xfb, 0x7d, 0x40, 0xfe, 0xa9, 0x6d, 0x1a,
-	0xaa, 0x45, 0x35, 0xcf, 0x57, 0x0f, 0x4d, 0xdf, 0x93, 0xaf, 0x85, 0x76, 0xa9, 0xf1, 0xa6, 0x5d,
-	0xd6, 0xb2, 0x65, 0xfa, 0x1e, 0x7e, 0x0f, 0xea, 0x01, 0xf2, 0xd0, 0x09, 0x71, 0xdf, 0x08, 0x71,
-	0xab, 0xbc, 0x65, 0xcf, 0x11, 0xa8, 0x8f, 0xe0, 0xca, 0x91, 0x39, 0x38, 0xa2, 0x9e, 0xaf, 0x26,
-	0xe7, 0xa2, 0x1c, 0xa2, 0x5f, 0x16, 0xad, 0xbd, 0x68, 0x56, 0x2a, 0xbf, 0xcc, 0xc1, 0xd5, 0x9e,
-	0x69, 0x0f, 0x2c, 0x3a, 0x39, 0xeb, 0xd3, 0x93, 0x51, 0x3a, 0xf7, 0x64, 0x9c, 0x9a, 0x63, 0xb9,
-	0xec, 0x39, 0x36, 0xd2, 0xce, 0x2c, 0x47, 0x13, 0x4e, 0x9f, 0xe7, 0xf1, 0xae, 0x22, 0x60, 0xdc,
-	0xd9, 0xef, 0x43, 0x95, 0xb9, 0xbf, 0xa6, 0xb3, 0x39, 0xed, 0x8c, 0x7d, 0x1e, 0xbe, 0x23, 0x33,
-	0xae, 0x44, 0x6d, 0xdd, 0xb1, 0x3f, 0xe1, 0xe2, 0xc5, 0x0c, 0x17, 0x9f, 0xeb, 0x20, 0x4b, 0x5f,
-	0xc5, 0x41, 0x96, 0xa7, 0x1d, 0x64, 0x22, 0x06, 0xb2, 0xb0, 0x90, 0x8a, 0x81, 0xca, 0x7f, 0xe4,
-	0xa1, 0xd6, 0x74, 0x86, 0x43, 0xcd, 0x36, 0x9a, 0x8e, 0x6d, 0x53, 0xdd, 0x67, 0x0e, 0xae, 0x5b,
-	0x26, 0x93, 0x3d, 0x74, 0xf0, 0x20, 0xba, 0x56, 0x03, 0x68, 0xe8, 0xe0, 0x1f, 0x43, 0x45, 0x1b,
-	0xfb, 0x47, 0xea, 0x90, 0xfa, 0x47, 0x8e, 0xc1, 0x75, 0x5a, 0xdb, 0x94, 0xd3, 0xe6, 0x68, 0x8c,
-	0xfd, 0xa3, 0x3d, 0xde, 0x4e, 0x40, 0x8b, 0x9e, 0xf1, 0x3a, 0xa0, 0x04, 0x69, 0x10, 0xc1, 0x45,
-	0x78, 0x8c, 0xb1, 0x78, 0x0c, 0xbf, 0x01, 0x65, 0x8e, 0x29, 0x56, 0x0c, 0x36, 0xbe, 0x12, 0x03,
-	0xf0, 0x45, 0xfa, 0x03, 0x40, 0xbc, 0x1b, 0xdd, 0xb1, 0x22, 0x51, 0x83, 0x15, 0x55, 0x7a, 0x48,
-	0xea, 0x61, 0x53, 0x28, 0xef, 0x03, 0xb8, 0x32, 0x72, 0x9d, 0xd3, 0x33, 0xd5, 0x77, 0xd4, 0x43,
-	0xd7, 0x61, 0x93, 0x61, 0xec, 0x5a, 0x22, 0xde, 0x22, 0xde, 0xd4, 0x77, 0xb6, 0x78, 0xc3, 0x81,
-	0x6b, 0xe1, 0x07, 0x80, 0x1d, 0xd7, 0x1c, 0x98, 0xb6, 0x66, 0xa9, 0x23, 0xd7, 0xb4, 0x75, 0x73,
-	0xa4, 0x59, 0x5c, 0xc5, 0x65, 0x72, 0x39, 0x6c, 0xd9, 0x0f, 0x1b, 0xf0, 0x07, 0x09, 0xf4, 0x58,
-	0xe2, 0x52, 0xc0, 0x3c, 0x6c, 0x69, 0x84, 0x92, 0x3f, 0x84, 0xd5, 0x34, 0xb6, 0x50, 0x62, 0x99,
-	0xe3, 0xe3, 0x24, 0xbe, 0x50, 0xd9, 0xef, 0x40, 0xf5, 0x35, 0xd5, 0xfc, 0xb1, 0x4b, 0xd5, 0xd7,
-	0x96, 0x36, 0xf0, 0x64, 0x58, 0x93, 0xd6, 0x2b, 0x9b, 0xd7, 0xd3, 0xfa, 0x7e, 0x1e, 0xa0, 0x3c,
-	0x67, 0x18, 0x64, 0xe5, 0x75, 0xe2, 0x4d, 0x69, 0xc3, 0x4a, 0xb2, 0x15, 0x7f, 0x0c, 0x57, 0xbd,
-	0xf1, 0x68, 0xe4, 0xb8, 0xbe, 0x17, 0x88, 0xe0, 0xd2, 0xd7, 0x2e, 0xf5, 0x8e, 0x64, 0x29, 0xe9,
-	0x7a, 0x57, 0x42, 0x1c, 0x26, 0x0a, 0x09, 0x30, 0x94, 0x3f, 0x93, 0x00, 0xa5, 0x7d, 0x86, 0x1a,
-	0x3c, 0x2c, 0x52, 0x97, 0x45, 0xa2, 0x09, 0xaf, 0x09, 0xa0, 0xa1, 0x15, 0xb2, 0x6c, 0x96, 0x9b,
-	0x69, 0xb3, 0x75, 0x40, 0x43, 0xed, 0x34, 0x5c, 0x5e, 0xc2, 0x89, 0xc9, 0x82, 0x57, 0x6d, 0xa8,
-	0x9d, 0x8a, 0xf8, 0xc0, 0xe6, 0xa6, 0xf2, 0x97, 0x12, 0x5c, 0x11, 0x32, 0x05, 0xa2, 0x7a, 0x23,
-	0xc7, 0xf6, 0x68, 0xa6, 0x33, 0x4b, 0xd3, 0xce, 0xbc, 0x09, 0x25, 0x57, 0x90, 0x70, 0x71, 0xa6,
-	0x02, 0x4b, 0x68, 0x3a, 0x12, 0xe1, 0x65, 0x0e, 0x25, 0x3f, 0x6b, 0x28, 0xca, 0x5f, 0x4b, 0xb0,
-	0x9a, 0x10, 0xb0, 0x79, 0xa4, 0x59, 0x16, 0x65, 0x59, 0x57, 0x96, 0xe2, 0xa4, 0x69, 0xc5, 0x3d,
-	0x81, 0xb2, 0x1e, 0xd2, 0x2c, 0x10, 0x31, 0x46, 0xbc, 0xa0, 0x8c, 0xdf, 0x81, 0x52, 0xe4, 0xa2,
-	0x59, 0x73, 0x54, 0x5a, 0x3c, 0x47, 0x73, 0xe9, 0x39, 0xaa, 0xfc, 0x89, 0x04, 0xd5, 0x1d, 0x7a,
-	0xd6, 0x3b, 0xd2, 0x5c, 0x6a, 0xb0, 0x48, 0x8e, 0x1b, 0x50, 0x3d, 0x8e, 0x00, 0x8e, 0x11, 0xe4,
-	0x6e, 0xb5, 0xcd, 0x1b, 0x53, 0x81, 0x3c, 0x46, 0x21, 0x69, 0x0a, 0xb6, 0x10, 0x1c, 0x69, 0xde,
-	0x11, 0xcf, 0x5a, 0xbd, 0xec, 0x44, 0x32, 0x4c, 0x6a, 0x49, 0x02, 0x53, 0xf9, 0xe5, 0x72, 0xe4,
-	0xb8, 0xbd, 0xf1, 0xa1, 0xa7, 0xbb, 0xe6, 0x21, 0xcf, 0x7a, 0x7d, 0x67, 0x64, 0xea, 0xc2, 0x5f,
-	0x83, 0x17, 0xac, 0xc0, 0x8a, 0x17, 0xa0, 0xf0, 0xa5, 0x5f, 0x24, 0xdb, 0x29, 0x18, 0xfe, 0x0c,
-	0x96, 0xbd, 0xf1, 0x21, 0x5b, 0x3f, 0xf9, 0x6a, 0x51, 0xdb, 0xbc, 0x37, 0x95, 0x6f, 0xa5, 0xba,
-	0xda, 0xe8, 0x05, 0xd8, 0x24, 0x24, 0x63, 0xe1, 0x59, 0x77, 0x6c, 0x6f, 0x3c, 0xa4, 0x2e, 0x0b,
-	0xcf, 0x85, 0x20, 0x45, 0x0d, 0x41, 0x6d, 0x03, 0xbf, 0x05, 0xe0, 0xb2, 0x60, 0xed, 0xf9, 0xac,
-	0xbd, 0xc8, 0xdb, 0xcb, 0x02, 0xd2, 0x36, 0xd8, 0xca, 0x16, 0xd1, 0x73, 0x0b, 0x89, 0xec, 0x31,
-	0x04, 0x72, 0xfb, 0xdc, 0x85, 0xda, 0xc8, 0x35, 0x1d, 0xd7, 0xf4, 0xcf, 0x54, 0x8b, 0x9e, 0xd0,
-	0x20, 0x8a, 0x15, 0x49, 0x35, 0x84, 0xee, 0x32, 0x20, 0xbe, 0x05, 0xcb, 0xc6, 0xd8, 0xd5, 0x0e,
-	0x2d, 0xca, 0xc3, 0x56, 0xe9, 0x59, 0xc1, 0x77, 0xc7, 0x94, 0x84, 0x40, 0xdc, 0x02, 0xc4, 0x37,
-	0x04, 0xd1, 0x6c, 0x34, 0x83, 0x78, 0x55, 0x99, 0x34, 0x5d, 0x6a, 0x27, 0x45, 0x6a, 0x9c, 0x28,
-	0x82, 0xa5, 0xb6, 0x00, 0x70, 0xbe, 0x2d, 0x00, 0x1b, 0x81, 0x4b, 0x35, 0x43, 0x8d, 0x56, 0x58,
-	0x9e, 0x5e, 0x96, 0x48, 0x95, 0x41, 0x9b, 0x21, 0x10, 0x7f, 0x00, 0x4b, 0x41, 0x0e, 0xc6, 0x53,
-	0xca, 0xca, 0xe6, 0x6a, 0xd6, 0x6e, 0x97, 0x08, 0x1c, 0xfc, 0x43, 0xa8, 0x9b, 0xb6, 0xe9, 0x9b,
-	0x9a, 0xb5, 0xef, 0x78, 0xc1, 0x96, 0xad, 0xca, 0xd7, 0xb0, 0x8d, 0x05, 0x56, 0x6c, 0xa7, 0xa9,
-	0x9e, 0x2d, 0xed, 0x6a, 0x3e, 0xf5, 0x7c, 0x32, 0xc9, 0x0e, 0x7f, 0x06, 0x37, 0xe3, 0xb4, 0x3d,
-	0xe9, 0x39, 0xaa, 0xe7, 0x6b, 0x3e, 0xe5, 0xa9, 0x68, 0x89, 0x5c, 0x8f, 0x70, 0x7a, 0x09, 0x94,
-	0x1e, 0xc3, 0xc0, 0x4f, 0x61, 0xf5, 0xb5, 0xe3, 0xea, 0x2c, 0xe9, 0x1f, 0x99, 0xba, 0xaa, 0xbb,
-	0x54, 0xe3, 0x82, 0xd6, 0x13, 0x06, 0xc2, 0x1c, 0xa3, 0xcf, 0x10, 0x9a, 0xa2, 0x1d, 0x77, 0xe1,
-	0x4e, 0xda, 0x56, 0xae, 0x63, 0x59, 0x87, 0x9a, 0x7e, 0xac, 0x32, 0x6b, 0x06, 0x22, 0x50, 0x9d,
-	0x27, 0xae, 0x3c, 0x2d, 0xb9, 0x9d, 0x34, 0x12, 0x11, 0xb8, 0xdb, 0x02, 0xb5, 0x47, 0xf5, 0xf4,
-	0xa4, 0xa5, 0xbe, 0xc6, 0x33, 0xd8, 0xca, 0xec, 0x49, 0x4b, 0x7d, 0x8d, 0xa4, 0x29, 0x94, 0x2d,
-	0x58, 0x16, 0xfe, 0xcf, 0x36, 0xe3, 0xad, 0x53, 0xdd, 0x1a, 0x7b, 0xe6, 0x49, 0x58, 0x29, 0xe0,
-	0x78, 0x48, 0x62, 0x1b, 0xf3, 0xe7, 0x9a, 0x69, 0x39, 0x27, 0xd4, 0x45, 0x39, 0x5c, 0x03, 0xd8,
-	0xa1, 0x67, 0xaa, 0x68, 0xcd, 0x2b, 0xef, 0x43, 0x7d, 0x42, 0xfb, 0x8c, 0x38, 0xd0, 0x3f, 0xba,
-	0xc4, 0x88, 0x5b, 0x9a, 0x6b, 0x99, 0xec, 0x4d, 0x52, 0xfe, 0x5d, 0x82, 0xdb, 0xc2, 0x78, 0xfb,
-	0x61, 0x02, 0x45, 0x0d, 0xae, 0xa8, 0x28, 0xa5, 0xcc, 0x9e, 0xfc, 0xe9, 0x59, 0x97, 0x9b, 0x9c,
-	0x75, 0xd9, 0xa9, 0x41, 0xfe, 0x62, 0xa9, 0x41, 0xe1, 0x82, 0xa9, 0x41, 0x71, 0x56, 0x6a, 0xa0,
-	0xfc, 0x6d, 0x0e, 0xde, 0x5d, 0x30, 0xce, 0x68, 0x39, 0xbc, 0x05, 0x10, 0x25, 0x93, 0x1e, 0x8f,
-	0xe7, 0x55, 0x92, 0x80, 0x2c, 0x1a, 0xf9, 0xf7, 0x13, 0xcb, 0x64, 0x9e, 0x4f, 0x96, 0xcf, 0x32,
-	0x27, 0xcb, 0x22, 0x39, 0x36, 0x76, 0x1d, 0xe7, 0x78, 0x3c, 0xe2, 0xc1, 0x30, 0x5e, 0x50, 0xff,
-	0x1f, 0x14, 0xa9, 0xeb, 0x3a, 0x2e, 0xd7, 0xcd, 0x74, 0xb1, 0x8a, 0x2f, 0x87, 0x2d, 0x86, 0x40,
-	0x02, 0x3c, 0x2c, 0xc3, 0xb2, 0x70, 0x70, 0xa1, 0x9e, 0xf0, 0x55, 0xb9, 0x0b, 0x10, 0x77, 0x81,
-	0x2b, 0xcc, 0xf5, 0x74, 0x9d, 0x7a, 0x5e, 0xe0, 0x6d, 0xcc, 0xc3, 0x98, 0xb7, 0x29, 0x3f, 0xce,
-	0x01, 0x16, 0x22, 0x0b, 0x74, 0x6e, 0xff, 0xaf, 0xe4, 0x15, 0xef, 0x43, 0x95, 0xd9, 0x8b, 0x45,
-	0x54, 0xcd, 0x37, 0x4f, 0x02, 0x05, 0x45, 0x89, 0x54, 0xba, 0x6d, 0x86, 0x0b, 0x15, 0x2e, 0xe6,
-	0x42, 0xc5, 0x0b, 0xba, 0xd0, 0xd2, 0x4c, 0x17, 0xfa, 0x79, 0x1e, 0xae, 0x4f, 0xeb, 0x21, 0xf2,
-	0x9a, 0xfb, 0x80, 0x82, 0x8c, 0x99, 0xd9, 0xc0, 0xd4, 0xe9, 0x81, 0x6b, 0x89, 0x5c, 0x60, 0x0a,
-	0x8e, 0x1f, 0xc2, 0x95, 0x49, 0x58, 0xdf, 0xf2, 0xc4, 0x96, 0x2b, 0xab, 0x09, 0x77, 0xa7, 0x9c,
-	0xea, 0x71, 0xa6, 0x53, 0x65, 0x48, 0x96, 0xed, 0x47, 0x69, 0x43, 0x15, 0x16, 0x1a, 0xaa, 0x38,
-	0xc7, 0x50, 0x91, 0x4f, 0x2e, 0x5d, 0xdc, 0x27, 0x97, 0x53, 0x3e, 0xc9, 0x37, 0x7c, 0xc1, 0x06,
-	0xe4, 0xc8, 0x75, 0xc6, 0x83, 0x23, 0xd5, 0x0b, 0xd4, 0xc0, 0xb7, 0x21, 0xa5, 0xf4, 0x86, 0x8f,
-	0xef, 0x46, 0x02, 0xb4, 0x58, 0x59, 0xca, 0xe3, 0x94, 0x57, 0xaf, 0x40, 0x89, 0x50, 0xc3, 0x74,
-	0xa9, 0xce, 0x62, 0x5f, 0x05, 0x96, 0x45, 0x32, 0x8e, 0xa4, 0x84, 0x8f, 0xe7, 0x94, 0xff, 0xce,
-	0x41, 0x3d, 0x9c, 0x96, 0xa2, 0x3c, 0x36, 0xc3, 0xc1, 0x6f, 0x43, 0x25, 0xaa, 0xaa, 0xc5, 0x05,
-	0xb3, 0x10, 0x34, 0x95, 0x8d, 0xe4, 0x33, 0xb2, 0x91, 0x74, 0x55, 0xae, 0x20, 0xf6, 0xd9, 0xc9,
-	0xaa, 0xdc, 0x1d, 0x28, 0x8b, 0x8a, 0x0a, 0x35, 0xd2, 0x9a, 0x8f, 0xe1, 0xa9, 0x24, 0x61, 0xe9,
-	0x9c, 0x49, 0x42, 0xbc, 0xfa, 0x2f, 0x9f, 0x63, 0xf5, 0x7f, 0x03, 0x8a, 0x74, 0xe4, 0xe8, 0x47,
-	0xc1, 0x96, 0x98, 0xad, 0x81, 0xc1, 0x3b, 0x6e, 0xc2, 0x8d, 0xb1, 0x47, 0x5d, 0x75, 0xe4, 0x3a,
-	0x27, 0xa6, 0x41, 0x0d, 0x35, 0x3d, 0xa4, 0x72, 0x62, 0xe5, 0x95, 0x19, 0xe2, 0xbe, 0xc0, 0xdb,
-	0x4f, 0x0c, 0x52, 0xf9, 0xa3, 0x1c, 0x54, 0xc2, 0xbc, 0x81, 0xda, 0xc6, 0xa4, 0x66, 0xa5, 0x29,
-	0xcd, 0x2e, 0xac, 0x55, 0xbe, 0x03, 0x2b, 0xc9, 0x42, 0x5b, 0x98, 0xc4, 0x3f, 0x22, 0x95, 0x44,
-	0x7d, 0x2d, 0xb3, 0x8c, 0x53, 0xb8, 0x40, 0x19, 0xa7, 0x78, 0xb1, 0x32, 0xce, 0xd2, 0x9c, 0x32,
-	0xce, 0xdf, 0x4b, 0x51, 0x68, 0x65, 0x2a, 0x20, 0x54, 0xa7, 0xe6, 0xc8, 0xff, 0x35, 0x68, 0xe2,
-	0x19, 0x40, 0x22, 0x03, 0xcd, 0x2f, 0xce, 0x40, 0xcb, 0xc3, 0x28, 0xf9, 0x9c, 0x31, 0x8e, 0xc2,
-	0x9c, 0x71, 0xfc, 0x55, 0xbc, 0xd9, 0x65, 0xe3, 0xe0, 0x73, 0xfd, 0xd7, 0x30, 0x8a, 0x28, 0xae,
-	0xe4, 0x33, 0x0f, 0x66, 0xe6, 0xc6, 0x95, 0x02, 0x9f, 0xb4, 0xd1, 0x5a, 0xf7, 0x17, 0x52, 0x54,
-	0xc2, 0x11, 0x03, 0x9f, 0xdc, 0x57, 0x48, 0x53, 0xfb, 0x8a, 0xb4, 0x12, 0x99, 0x78, 0xe7, 0x57,
-	0xe2, 0x07, 0x80, 0x5c, 0x2a, 0xea, 0x8b, 0x67, 0xaa, 0xee, 0x8c, 0x6d, 0x9f, 0x9b, 0x81, 0x97,
-	0x88, 0xeb, 0x71, 0x53, 0x93, 0xb5, 0x28, 0xff, 0x54, 0x00, 0x08, 0xf7, 0xbd, 0xfa, 0xf1, 0x62,
-	0xc9, 0x3e, 0x81, 0x12, 0xcb, 0x53, 0x79, 0x9d, 0x32, 0xc7, 0x75, 0xb3, 0x96, 0xb9, 0x1a, 0x34,
-	0xf4, 0xe3, 0x8d, 0x86, 0x7e, 0x1c, 0xec, 0xa7, 0xb4, 0xe0, 0x61, 0xca, 0x37, 0xf2, 0x17, 0x18,
-	0x56, 0x0f, 0xd0, 0x89, 0x66, 0x99, 0x46, 0x90, 0x1e, 0x27, 0x13, 0x91, 0xf5, 0x99, 0x02, 0xbc,
-	0x8a, 0x08, 0x02, 0x5b, 0xd5, 0x4f, 0xd2, 0x00, 0x26, 0xd0, 0xd4, 0x79, 0xda, 0xf5, 0xa9, 0x50,
-	0x16, 0x1d, 0xdb, 0xa4, 0xca, 0x96, 0x59, 0x93, 0x79, 0xe9, 0x02, 0x93, 0x79, 0x39, 0x7b, 0x32,
-	0x2b, 0xef, 0xc1, 0xb2, 0x50, 0x1c, 0xcb, 0xaf, 0xdb, 0xb6, 0x61, 0x9e, 0x98, 0xc6, 0x58, 0xb3,
-	0xd0, 0x25, 0xf6, 0xde, 0x1c, 0x0f, 0xc7, 0x16, 0x5f, 0xfb, 0x90, 0xa4, 0xfc, 0xa9, 0x04, 0xf5,
-	0x89, 0x31, 0xe2, 0x5b, 0x70, 0xfd, 0x60, 0xe2, 0x18, 0xa0, 0xe9, 0xb8, 0xee, 0x98, 0x6f, 0x5b,
-	0xd0, 0x25, 0x7c, 0x0d, 0xf0, 0x36, 0x4d, 0x9c, 0x29, 0x70, 0x2a, 0x24, 0xe1, 0x55, 0x40, 0xcd,
-	0x23, 0xaa, 0x1f, 0x7b, 0xe3, 0xe1, 0x9e, 0xe9, 0x0d, 0x35, 0x5f, 0x3f, 0x42, 0x39, 0xfc, 0x26,
-	0x5c, 0xe5, 0x67, 0x02, 0xdb, 0xb4, 0x47, 0x5d, 0x53, 0xb3, 0xcc, 0x2f, 0x69, 0x40, 0x90, 0xc7,
-	0x57, 0xa0, 0xbe, 0x4d, 0xc3, 0xda, 0x7b, 0x00, 0x2c, 0x28, 0xff, 0x12, 0x87, 0x95, 0x86, 0x7e,
-	0x1c, 0x65, 0x28, 0x0b, 0xdd, 0x2a, 0x4b, 0x99, 0xb9, 0x0b, 0x28, 0x33, 0x3f, 0x23, 0x32, 0xfe,
-	0x1a, 0x73, 0xd6, 0x43, 0xb8, 0x11, 0x8d, 0x8c, 0xe9, 0xbf, 0x29, 0xa4, 0x6f, 0x1e, 0xf1, 0xd3,
-	0xb9, 0x85, 0x43, 0x54, 0xa0, 0x6c, 0x7a, 0xaa, 0xc6, 0x69, 0xf9, 0xd8, 0xa2, 0x95, 0xb5, 0x64,
-	0x7a, 0x01, 0x4b, 0xe5, 0x55, 0xb4, 0x2e, 0x3d, 0xb7, 0x9c, 0x2f, 0x16, 0xf3, 0xbc, 0x07, 0x35,
-	0x21, 0xde, 0x3e, 0x75, 0x87, 0x81, 0xd2, 0x72, 0xeb, 0x55, 0x32, 0x01, 0x55, 0xfa, 0x91, 0x55,
-	0x0e, 0x6c, 0x2f, 0x2a, 0xad, 0x2c, 0x64, 0x3f, 0x3f, 0xa5, 0x56, 0x7e, 0x26, 0x25, 0x96, 0x51,
-	0x7a, 0xfc, 0x75, 0xf9, 0x7d, 0xad, 0xa5, 0xe3, 0x21, 0xac, 0x86, 0xb4, 0xa9, 0x43, 0x43, 0xbe,
-	0x76, 0x10, 0x1c, 0xea, 0x23, 0x3e, 0x3b, 0x54, 0x3e, 0x01, 0x59, 0x08, 0x4f, 0xa8, 0xa6, 0x1f,
-	0x51, 0xa3, 0x65, 0x1b, 0xdd, 0xd7, 0xfd, 0x30, 0xd5, 0x9a, 0x3b, 0x12, 0xe5, 0x55, 0x54, 0x2d,
-	0x6c, 0x5a, 0x8e, 0x47, 0xa3, 0xcc, 0x6d, 0xe1, 0xca, 0xb3, 0x40, 0xa5, 0x13, 0x7c, 0x43, 0x1f,
-	0xfb, 0xda, 0xa6, 0xfa, 0x63, 0x09, 0xee, 0x45, 0xa3, 0x15, 0x2b, 0xc0, 0x81, 0xad, 0xe9, 0xc7,
-	0xb6, 0xf3, 0x05, 0x3f, 0x39, 0x37, 0xa2, 0x24, 0x65, 0x61, 0x57, 0x9f, 0x42, 0x25, 0x36, 0x13,
-	0xf3, 0xb8, 0x85, 0x61, 0x1c, 0x22, 0x3b, 0x79, 0xca, 0x0f, 0xa2, 0xd5, 0x50, 0xec, 0xf9, 0x26,
-	0x44, 0x97, 0x26, 0xbd, 0x22, 0x4e, 0x1c, 0x73, 0x8b, 0x13, 0x47, 0xe5, 0xa7, 0x12, 0x5c, 0x9b,
-	0x48, 0xa7, 0xcf, 0xd9, 0xcf, 0x54, 0x7a, 0x9c, 0xcb, 0x38, 0xb4, 0xfe, 0x00, 0x90, 0xa5, 0x4d,
-	0xa4, 0x27, 0xcc, 0x51, 0xf3, 0xfc, 0x96, 0x40, 0x8d, 0xb5, 0xc5, 0xc9, 0x49, 0xc6, 0x59, 0x64,
-	0x21, 0xe3, 0x2c, 0x52, 0x39, 0x85, 0x15, 0x21, 0x72, 0x10, 0xc2, 0x17, 0x08, 0x1a, 0xc5, 0xb4,
-	0xdc, 0xc5, 0x73, 0x93, 0x7c, 0x3a, 0x37, 0xa9, 0x46, 0x13, 0x78, 0xdf, 0xb4, 0x07, 0xc9, 0x57,
-	0xc7, 0x1e, 0x24, 0x9d, 0x51, 0x58, 0xbf, 0xe7, 0x6b, 0xfe, 0x42, 0x45, 0x2e, 0xaa, 0x9a, 0x2a,
-	0xff, 0x55, 0x80, 0x9b, 0x59, 0x8c, 0x49, 0xf6, 0x0e, 0x71, 0xaa, 0x83, 0x8f, 0x00, 0xf8, 0xc0,
-	0x54, 0xdd, 0x31, 0xa8, 0x38, 0xd9, 0x9a, 0xa3, 0x85, 0x32, 0x47, 0x6e, 0x3a, 0x06, 0xdb, 0xdd,
-	0x54, 0x03, 0xca, 0x58, 0x1f, 0x7c, 0x0b, 0xc4, 0x81, 0x61, 0x76, 0x76, 0x0b, 0x60, 0xe8, 0x0d,
-	0x88, 0xe6, 0xd3, 0xae, 0x38, 0x44, 0x94, 0x48, 0x02, 0xc2, 0xb6, 0xdb, 0x43, 0x6f, 0x20, 0xb6,
-	0x7f, 0xa3, 0xb1, 0xcf, 0xb0, 0x8a, 0x1c, 0x6b, 0x0a, 0x2e, 0x70, 0x19, 0x65, 0x34, 0xed, 0x78,
-	0x92, 0x10, 0xe0, 0xa6, 0xe0, 0x58, 0x81, 0x54, 0x61, 0x58, 0xec, 0x4f, 0xd3, 0xc5, 0xe2, 0xfb,
-	0x80, 0xb4, 0x13, 0xcd, 0xb4, 0xb4, 0x43, 0x2b, 0x0a, 0xf9, 0xc1, 0xa9, 0xe1, 0x14, 0x1c, 0xaf,
-	0x43, 0x7d, 0xcc, 0xa6, 0x78, 0x3c, 0xb7, 0xf9, 0xf6, 0xa8, 0x40, 0x26, 0xc1, 0x78, 0x0b, 0x6e,
-	0x1e, 0x5a, 0x0e, 0x03, 0x85, 0xf6, 0xe8, 0xda, 0x07, 0x02, 0xc7, 0x13, 0x87, 0x59, 0x25, 0x32,
-	0x17, 0x87, 0x39, 0x99, 0x66, 0x18, 0x2c, 0xa9, 0xe0, 0xd5, 0xdf, 0x32, 0x09, 0x5f, 0xd9, 0x22,
-	0xa5, 0x87, 0xe7, 0x50, 0x3d, 0xd3, 0xd6, 0x83, 0x2b, 0x05, 0x65, 0x32, 0x01, 0xc5, 0x58, 0xdc,
-	0x85, 0xaa, 0xf2, 0xd6, 0xe0, 0xc2, 0x13, 0x5b, 0xe0, 0x02, 0x3d, 0xb5, 0x4e, 0x47, 0xa6, 0x4b,
-	0x0d, 0x5e, 0x95, 0x95, 0xc8, 0x04, 0x54, 0xd8, 0x6c, 0x4b, 0xd3, 0x8f, 0x2d, 0x67, 0xc0, 0xeb,
-	0xaf, 0x05, 0x92, 0x80, 0x28, 0x9f, 0xc3, 0x1b, 0xc2, 0xe3, 0x5e, 0x50, 0x7f, 0x57, 0xf3, 0x12,
-	0x15, 0xef, 0xaf, 0x1b, 0x5a, 0x7f, 0x1c, 0xd7, 0x31, 0x27, 0x79, 0x47, 0x0e, 0xdd, 0x84, 0x3a,
-	0x0f, 0x1b, 0x89, 0xe5, 0x4d, 0x5a, 0x9c, 0xd4, 0x57, 0xad, 0x94, 0xa0, 0x0b, 0xe4, 0xf8, 0x85,
-	0x14, 0x25, 0x28, 0x2f, 0xa8, 0xcf, 0xd7, 0x31, 0xaf, 0xfb, 0x9a, 0x79, 0x8d, 0x37, 0xd2, 0xf4,
-	0x85, 0x93, 0xea, 0x26, 0x94, 0xed, 0x10, 0x57, 0x84, 0xbe, 0x18, 0x80, 0x3b, 0x50, 0x18, 0xb2,
-	0xc9, 0x96, 0x9f, 0x53, 0x82, 0xcf, 0xea, 0x75, 0x63, 0xcf, 0x31, 0xe8, 0x33, 0xd8, 0x6f, 0x91,
-	0x5e, 0xbb, 0xd7, 0x6f, 0x75, 0xfa, 0x84, 0xf3, 0x51, 0x1e, 0x43, 0x81, 0x1f, 0x15, 0xd5, 0x20,
-	0xd1, 0x86, 0x2e, 0x61, 0x0c, 0xb5, 0x4e, 0xb7, 0xa3, 0x26, 0x60, 0x12, 0x5e, 0x86, 0x7c, 0x63,
-	0x77, 0x17, 0xe5, 0x94, 0xef, 0xc3, 0x9d, 0x39, 0x5d, 0x9d, 0x37, 0x7a, 0x5c, 0x83, 0x25, 0x5e,
-	0x4f, 0x09, 0x56, 0xae, 0x32, 0x11, 0x6f, 0x8a, 0x1d, 0x6d, 0x24, 0x5f, 0x50, 0x5f, 0xdc, 0xe9,
-	0x5b, 0xc0, 0x2a, 0xaa, 0xd3, 0xe4, 0x92, 0x75, 0x9a, 0xe9, 0xa8, 0x9f, 0xcf, 0x8a, 0xfa, 0xbf,
-	0x92, 0xa2, 0x04, 0x24, 0xea, 0xf0, 0xb7, 0x24, 0x02, 0xc6, 0x4b, 0x6e, 0xe1, 0x1c, 0xb5, 0x9a,
-	0xe9, 0xf1, 0x16, 0xb3, 0xc6, 0xfb, 0x07, 0xc9, 0xe1, 0x76, 0x5d, 0x7e, 0x18, 0x42, 0xbf, 0x8e,
-	0x9e, 0x63, 0x29, 0xf3, 0x7c, 0x2e, 0xcd, 0x4f, 0x0c, 0xfe, 0x41, 0x82, 0xb5, 0x59, 0xfd, 0xff,
-	0x96, 0xa8, 0xfd, 0x9c, 0xe9, 0xc2, 0x8f, 0xa0, 0x2a, 0x06, 0xd2, 0xa1, 0x5f, 0xf4, 0x4f, 0xed,
-	0x45, 0x52, 0x07, 0xdb, 0x25, 0xd5, 0xf7, 0x2d, 0xd5, 0xa3, 0xba, 0x63, 0x1b, 0x89, 0xad, 0x15,
-	0xdb, 0x2e, 0xf5, 0x7d, 0xab, 0x17, 0xc0, 0xf1, 0x35, 0x28, 0xfa, 0x7a, 0x98, 0xd3, 0x70, 0x84,
-	0x82, 0xaf, 0xb7, 0x0d, 0xe5, 0xe7, 0x12, 0x5c, 0x4d, 0xf5, 0x79, 0x5e, 0x8d, 0xfd, 0x1f, 0xd8,
-	0xd7, 0xfd, 0x34, 0x9e, 0x87, 0x0d, 0x23, 0x3e, 0x1a, 0xe9, 0x3b, 0xe7, 0x50, 0xed, 0xff, 0xd6,
-	0xf0, 0xd2, 0xe7, 0x40, 0x05, 0x1e, 0xa7, 0x12, 0x10, 0xe5, 0xdf, 0x62, 0x67, 0x9e, 0x92, 0xf9,
-	0x1b, 0x64, 0x9a, 0x97, 0xb0, 0x92, 0x3c, 0x74, 0xfd, 0xea, 0x77, 0x01, 0x94, 0x7f, 0x8e, 0x17,
-	0xc7, 0x86, 0x61, 0x24, 0x99, 0xfe, 0x46, 0xed, 0xfc, 0xff, 0x27, 0x44, 0x2f, 0x64, 0x55, 0xa0,
-	0x92, 0xd2, 0x4e, 0x0c, 0xeb, 0x3f, 0xa5, 0x68, 0x49, 0xcc, 0x1a, 0xd6, 0x37, 0xc8, 0x15, 0xfe,
-	0x4e, 0x8a, 0xa2, 0x5e, 0xcb, 0x36, 0x7e, 0x83, 0x26, 0x7b, 0x0a, 0xc0, 0xa2, 0xa9, 0xa6, 0xfb,
-	0x61, 0x80, 0xae, 0x6d, 0xbe, 0x91, 0x1e, 0x58, 0xff, 0xd4, 0x6e, 0xf0, 0x66, 0x52, 0xf6, 0xc3,
-	0xc7, 0x64, 0x08, 0x0d, 0x06, 0xf0, 0x0d, 0x32, 0xce, 0x2f, 0xe2, 0x10, 0x1a, 0x8c, 0xad, 0x6b,
-	0x47, 0x31, 0xe9, 0x37, 0x35, 0xbc, 0x28, 0x56, 0x04, 0xa7, 0x5c, 0x22, 0x56, 0xa4, 0xad, 0x57,
-	0x3c, 0xb7, 0xf5, 0x12, 0x01, 0x77, 0x6a, 0x84, 0xdf, 0x20, 0x43, 0xfe, 0x24, 0x17, 0x85, 0xc9,
-	0x70, 0x98, 0xa9, 0x00, 0xfc, 0x5b, 0x13, 0x26, 0xa5, 0x8b, 0x84, 0xc9, 0xaf, 0x6c, 0xf5, 0x44,
-	0x78, 0xcd, 0x52, 0xc7, 0x37, 0xc8, 0xf0, 0xff, 0xb8, 0x0e, 0x95, 0x2d, 0xcd, 0xa3, 0x62, 0xb4,
-	0x78, 0x53, 0xec, 0xc5, 0x83, 0xcb, 0x7f, 0xb7, 0xd2, 0x9c, 0x13, 0x88, 0xe9, 0x8f, 0x93, 0x96,
-	0xc5, 0x8e, 0x5e, 0x54, 0xea, 0x6e, 0x66, 0x6e, 0x13, 0xc5, 0x31, 0x38, 0x09, 0x91, 0xf1, 0xa7,
-	0x50, 0x8e, 0x2a, 0x01, 0xa2, 0xea, 0x7b, 0x6b, 0x1e, 0x25, 0x35, 0x48, 0x4c, 0xc0, 0xa8, 0xa3,
-	0x8a, 0xb6, 0x70, 0x8c, 0x5b, 0xf3, 0x6f, 0x88, 0x91, 0x98, 0x00, 0x7f, 0x0c, 0xa5, 0xb0, 0xbe,
-	0xc7, 0x55, 0x52, 0xc9, 0xf8, 0x28, 0x23, 0x59, 0x4b, 0x24, 0x11, 0x3a, 0x7e, 0x00, 0x05, 0x8f,
-	0xda, 0xc1, 0x29, 0x6b, 0x65, 0x52, 0xf9, 0xc9, 0xa3, 0x55, 0x8e, 0x86, 0x9b, 0xb0, 0xc2, 0x7e,
-	0x55, 0x37, 0x38, 0x69, 0x15, 0xa7, 0xe0, 0x6b, 0xb3, 0xc9, 0x02, 0x3c, 0x52, 0xf1, 0x12, 0xc7,
-	0xb3, 0xdf, 0x06, 0xe0, 0x4c, 0x02, 0xb3, 0x97, 0xe6, 0x8d, 0x36, 0x3c, 0x0c, 0x25, 0x65, 0x2f,
-	0x3a, 0x17, 0x7d, 0x1a, 0xdb, 0xbf, 0x3c, 0xc7, 0x42, 0xe1, 0x45, 0xb3, 0xe8, 0x6a, 0xc4, 0x7d,
-	0xc8, 0x6b, 0xfa, 0xb1, 0xb8, 0xd3, 0x2c, 0xcf, 0x3a, 0x6e, 0x23, 0x0c, 0x89, 0xa9, 0xe5, 0xb5,
-	0xe5, 0x7c, 0xc1, 0x8b, 0x40, 0xb3, 0xd4, 0xf2, 0xdc, 0x72, 0xbe, 0x20, 0x1c, 0x0d, 0x6f, 0x41,
-	0x65, 0x1c, 0x1f, 0x49, 0x88, 0x9b, 0x81, 0xd9, 0x5a, 0x49, 0x1c, 0x5d, 0x90, 0x24, 0x11, 0x1b,
-	0x96, 0x17, 0xd4, 0x78, 0x79, 0xed, 0x68, 0xd6, 0xb0, 0x44, 0x1d, 0x98, 0x84, 0xc8, 0xf8, 0x61,
-	0x38, 0x7f, 0x6a, 0x59, 0xf1, 0x24, 0x59, 0x92, 0x0d, 0x27, 0x50, 0x1b, 0x6a, 0xba, 0xe5, 0x78,
-	0x34, 0xba, 0x75, 0xc0, 0x4b, 0x4d, 0x95, 0x4d, 0x25, 0xdb, 0x5f, 0x93, 0x47, 0x03, 0xa4, 0xaa,
-	0xa7, 0x4e, 0x0a, 0x22, 0x56, 0x61, 0xa5, 0x89, 0x5f, 0xf7, 0x9b, 0xcb, 0x2a, 0x2c, 0xbc, 0x09,
-	0x56, 0xd1, 0xe1, 0x40, 0x97, 0xdf, 0x22, 0x0e, 0x2a, 0xd7, 0xa1, 0x22, 0x82, 0x0b, 0x80, 0xef,
-	0xcc, 0x75, 0xe6, 0x50, 0x21, 0xf5, 0xd1, 0x44, 0xa5, 0xfc, 0x01, 0x14, 0x46, 0xa6, 0x3d, 0xe0,
-	0x9f, 0xb4, 0xcc, 0xb2, 0xe1, 0xbe, 0x69, 0x0f, 0x08, 0x47, 0xe3, 0xe8, 0x8e, 0x3d, 0xe0, 0xdf,
-	0xb6, 0xcc, 0x44, 0x77, 0x38, 0xba, 0x63, 0x0f, 0xf0, 0x1f, 0xc2, 0x6d, 0x77, 0xfe, 0x19, 0x04,
-	0xff, 0x02, 0xa6, 0xb2, 0xf9, 0x24, 0x93, 0xd3, 0x82, 0xf3, 0x0b, 0xb2, 0x88, 0x39, 0xfe, 0x7d,
-	0xb8, 0x1c, 0x6d, 0xa5, 0xc2, 0x9b, 0x6f, 0xf2, 0x55, 0xde, 0xe3, 0x83, 0x8b, 0x5d, 0x97, 0x9b,
-	0xe6, 0x83, 0xbd, 0xc4, 0x67, 0x23, 0x93, 0xd7, 0xea, 0xf8, 0x27, 0x3b, 0x95, 0xcd, 0x0f, 0xbf,
-	0xd2, 0x9d, 0x3c, 0x32, 0x9b, 0x2f, 0x9b, 0x44, 0x56, 0x7c, 0xfb, 0x8a, 0x7f, 0xed, 0x33, 0x6b,
-	0x12, 0x25, 0x6f, 0x69, 0x25, 0x89, 0xf0, 0xf7, 0xe0, 0x8a, 0x35, 0x7d, 0x83, 0x8b, 0x7f, 0x0a,
-	0x54, 0x99, 0x71, 0xc4, 0x9e, 0x71, 0xe3, 0x8b, 0x64, 0x31, 0xc1, 0x2f, 0xe3, 0x7b, 0xd0, 0xbc,
-	0xd0, 0x2f, 0xbf, 0x39, 0xcf, 0xd5, 0x53, 0x47, 0x02, 0x69, 0x42, 0xfc, 0x43, 0xb8, 0xaa, 0x67,
-	0x1d, 0x19, 0xc8, 0xd7, 0x39, 0xc7, 0xfb, 0xe7, 0xe0, 0x18, 0x4a, 0x9a, 0xcd, 0x08, 0xf7, 0xe1,
-	0xb2, 0x3b, 0x79, 0x1e, 0x28, 0xdf, 0xe0, 0xdc, 0xef, 0xcd, 0xf0, 0xc7, 0x09, 0x6c, 0x32, 0xcd,
-	0x20, 0x58, 0x2c, 0xe8, 0xb1, 0x7c, 0x73, 0xee, 0x62, 0x41, 0x8f, 0x09, 0x47, 0xc3, 0xdf, 0x01,
-	0x34, 0x98, 0xa8, 0x25, 0xcb, 0x6f, 0x71, 0xd2, 0xbb, 0xb3, 0x4a, 0xaf, 0xe9, 0xc2, 0xf3, 0x14,
-	0x39, 0x36, 0x41, 0x1e, 0xcc, 0x28, 0x4f, 0xcb, 0xb7, 0xe6, 0x38, 0xff, 0xac, 0x9a, 0x36, 0x99,
-	0xc9, 0x0e, 0xab, 0x70, 0x2d, 0x38, 0xe6, 0x8e, 0x62, 0x9b, 0xaa, 0xf3, 0x43, 0x72, 0xf9, 0x36,
-	0xef, 0xe8, 0xbd, 0x19, 0x2b, 0xc8, 0xf4, 0xa9, 0x3a, 0x59, 0xd5, 0xb2, 0xce, 0xda, 0x7f, 0x00,
-	0xab, 0x83, 0x8c, 0x0a, 0xb0, 0xbc, 0x36, 0x87, 0x7d, 0x66, 0xc9, 0x38, 0x93, 0x0d, 0x1e, 0xc3,
-	0xcd, 0xc1, 0x9c, 0x02, 0xb3, 0xfc, 0x36, 0xef, 0xe6, 0xd1, 0xf9, 0xbb, 0x09, 0x55, 0x36, 0x97,
-	0x2d, 0xcb, 0x64, 0x06, 0x61, 0x21, 0x58, 0x56, 0xe6, 0xac, 0xed, 0x71, 0xb9, 0x38, 0x26, 0x60,
-	0x7e, 0x3b, 0x98, 0x2c, 0x23, 0xcb, 0x77, 0xe6, 0xf8, 0xed, 0x54, 0xd1, 0x99, 0x4c, 0x33, 0x60,
-	0x33, 0x57, 0x4b, 0x7e, 0x0e, 0x23, 0xbf, 0x33, 0x67, 0xe6, 0xa6, 0x3e, 0x9c, 0x21, 0x69, 0x42,
-	0xdc, 0x82, 0x15, 0x2d, 0xf1, 0xe5, 0x8f, 0x7c, 0x97, 0x33, 0x7a, 0x7b, 0x26, 0xa3, 0x48, 0xaa,
-	0x14, 0x19, 0x0b, 0x75, 0x5a, 0x7c, 0xb1, 0x44, 0xbe, 0x37, 0x27, 0xd4, 0x25, 0x2e, 0xa0, 0x90,
-	0x24, 0x91, 0x50, 0x55, 0xba, 0x04, 0x2c, 0xbf, 0x3b, 0x5f, 0x55, 0x13, 0x05, 0xe3, 0x69, 0x06,
-	0xd8, 0x82, 0x37, 0x07, 0xb3, 0x0a, 0xcb, 0xf2, 0x3a, 0xe7, 0xbe, 0x71, 0x4e, 0xee, 0x51, 0xc8,
-	0x9f, 0xc9, 0x10, 0x3f, 0x86, 0x25, 0x9b, 0x57, 0x62, 0xe5, 0xcd, 0xac, 0x7b, 0x12, 0xe9, 0x62,
-	0xad, 0x40, 0xc5, 0x3b, 0x50, 0xb3, 0x53, 0xe5, 0x5b, 0xf9, 0x31, 0x27, 0xbe, 0x33, 0x8f, 0x38,
-	0x14, 0x66, 0x82, 0x94, 0x69, 0x51, 0x9b, 0xac, 0x3d, 0xca, 0x4f, 0xe6, 0x68, 0x71, 0xba, 0x52,
-	0x39, 0xcd, 0x80, 0x69, 0x51, 0x9b, 0x55, 0xd1, 0x94, 0x3f, 0x9c, 0xa3, 0xc5, 0x99, 0x75, 0x50,
-	0x32, 0x9b, 0x21, 0x0b, 0x24, 0x5a, 0x46, 0xdd, 0x4c, 0x7e, 0x3a, 0x2f, 0x4e, 0x65, 0x15, 0xda,
-	0x32, 0xd9, 0xb0, 0x40, 0xa2, 0xcd, 0x29, 0xcb, 0xc9, 0xdf, 0x9a, 0x13, 0x48, 0xe6, 0xd5, 0xf3,
-	0xc8, 0x5c, 0xb6, 0xcc, 0x37, 0x28, 0xdf, 0xae, 0xca, 0x1f, 0xcd, 0xf1, 0x0d, 0x51, 0x85, 0x12,
-	0xa8, 0xcc, 0x37, 0x68, 0xaa, 0x2e, 0x25, 0x7f, 0x3c, 0xc7, 0x37, 0xd2, 0x25, 0x2c, 0x32, 0x41,
-	0xca, 0x7c, 0x83, 0x4e, 0x96, 0x49, 0xe4, 0x67, 0x73, 0x7c, 0x63, 0xba, 0xa8, 0x32, 0xcd, 0x80,
-	0xf9, 0x06, 0x9d, 0x55, 0x7c, 0x91, 0x3f, 0x99, 0xe3, 0x1b, 0x33, 0x4b, 0x36, 0x64, 0x36, 0x43,
-	0xe6, 0x1b, 0x34, 0x63, 0xd3, 0x2f, 0x7f, 0x3a, 0xc7, 0x37, 0x32, 0xab, 0x04, 0x99, 0x6c, 0x98,
-	0x6f, 0xd0, 0x39, 0x35, 0x05, 0xf9, 0xdb, 0x73, 0x7c, 0x63, 0x5e, 0x31, 0x82, 0xcc, 0x65, 0xab,
-	0xfc, 0xa2, 0x24, 0xfe, 0x09, 0xa4, 0x02, 0xcb, 0xcd, 0x6e, 0xa7, 0xd3, 0x6a, 0xf6, 0x51, 0x0e,
-	0x57, 0xa1, 0x2c, 0x5e, 0x5a, 0xdb, 0x28, 0xcf, 0x5e, 0x7b, 0x07, 0x5b, 0xbd, 0x26, 0x69, 0x6f,
-	0xb5, 0x50, 0x81, 0xff, 0x29, 0x08, 0xe9, 0x6e, 0x1f, 0x34, 0x5b, 0x24, 0xf8, 0x03, 0x90, 0x5e,
-	0xab, 0xb3, 0x8d, 0x96, 0x30, 0x82, 0x15, 0xf6, 0xa4, 0x92, 0x56, 0xb3, 0xd5, 0xde, 0xef, 0xa3,
-	0x65, 0x5c, 0x03, 0xe0, 0x90, 0x16, 0x21, 0x5d, 0x82, 0x4a, 0xac, 0x93, 0xbd, 0x56, 0xaf, 0xd7,
-	0x78, 0xd1, 0x42, 0x65, 0x7e, 0x8e, 0xdb, 0xdc, 0x41, 0xc0, 0x38, 0x3c, 0xdf, 0xed, 0x7e, 0x17,
-	0x55, 0x70, 0x1d, 0x2a, 0x07, 0x9d, 0xb8, 0xab, 0x15, 0xfe, 0x29, 0xc8, 0x41, 0xb3, 0xd9, 0xea,
-	0xf5, 0x50, 0x15, 0x97, 0xa1, 0x18, 0x30, 0xaa, 0x61, 0x0c, 0xb5, 0xe6, 0x6e, 0xb7, 0xd7, 0x52,
-	0x23, 0x41, 0xea, 0x31, 0xac, 0xd9, 0xed, 0xf4, 0x0e, 0xf6, 0x5a, 0x04, 0x21, 0xbc, 0x0a, 0x28,
-	0xc4, 0x50, 0x43, 0x46, 0x97, 0x59, 0x87, 0xfb, 0xed, 0xce, 0x0b, 0x84, 0xf9, 0x53, 0xb7, 0xf3,
-	0x02, 0x5d, 0xc1, 0x77, 0xe1, 0x6d, 0xd2, 0xda, 0x6e, 0xed, 0xb6, 0x5f, 0xb5, 0x88, 0x7a, 0xd0,
-	0x69, 0x34, 0x77, 0x3a, 0xdd, 0xef, 0xee, 0xb6, 0xb6, 0x5f, 0xb4, 0xb6, 0x55, 0x21, 0x73, 0x0f,
-	0xad, 0x62, 0x19, 0x56, 0xf7, 0x1b, 0xa4, 0xdf, 0xee, 0xb7, 0xbb, 0x1d, 0xde, 0xd2, 0x6f, 0x6c,
-	0x37, 0xfa, 0x0d, 0x74, 0x15, 0xbf, 0x0d, 0x6f, 0x65, 0xb5, 0xa8, 0xa4, 0xd5, 0xdb, 0xef, 0x76,
-	0x7a, 0x2d, 0x74, 0x8d, 0x7f, 0xfc, 0xd4, 0xed, 0xee, 0x1c, 0xec, 0xa3, 0x37, 0xf0, 0x15, 0xa8,
-	0x07, 0xcf, 0x31, 0x82, 0xcc, 0x87, 0x20, 0x84, 0x57, 0x7b, 0xfd, 0x46, 0xbf, 0x87, 0xde, 0xc4,
-	0x37, 0xe0, 0x8d, 0x34, 0x2c, 0x26, 0xb8, 0xce, 0xc4, 0x21, 0xad, 0x46, 0xf3, 0x65, 0x6b, 0x5b,
-	0x65, 0x7a, 0xee, 0x3e, 0x57, 0xfb, 0xdd, 0xfd, 0x76, 0x13, 0xdd, 0x08, 0xcc, 0xd2, 0xda, 0x41,
-	0x37, 0xf1, 0x1b, 0x70, 0xe5, 0x45, 0xab, 0xaf, 0xee, 0x36, 0x7a, 0xfd, 0x70, 0x24, 0x6a, 0x7b,
-	0x1b, 0xbd, 0x85, 0xd7, 0xe0, 0x66, 0x46, 0x43, 0xcc, 0xfe, 0x16, 0xbe, 0x0e, 0xd7, 0x1a, 0xcd,
-	0x7e, 0xfb, 0x55, 0xac, 0x53, 0xb5, 0xf9, 0xb2, 0xd1, 0x79, 0xd1, 0x42, 0xb7, 0x99, 0x5c, 0x8c,
-	0x9a, 0xf7, 0xd7, 0x63, 0x3d, 0x77, 0x1a, 0x7b, 0xad, 0xde, 0x7e, 0xa3, 0xd9, 0x42, 0x6b, 0xf8,
-	0x1d, 0x58, 0x9b, 0xd1, 0x18, 0xb3, 0x7f, 0x9b, 0xb9, 0x07, 0xc3, 0xea, 0x35, 0x5f, 0xb6, 0xf6,
-	0x1a, 0x48, 0x09, 0x25, 0x0d, 0xde, 0x63, 0xc4, 0x3b, 0x4c, 0x2f, 0x8d, 0x83, 0xfe, 0x4b, 0xd6,
-	0xf9, 0xee, 0x6e, 0x8b, 0xf5, 0xff, 0x0e, 0xbe, 0x0c, 0x55, 0x0e, 0x8b, 0xd0, 0xee, 0x32, 0x07,
-	0x6c, 0x34, 0x77, 0x62, 0xc8, 0x3d, 0xa6, 0x1f, 0xc6, 0xb1, 0x4b, 0xd4, 0x26, 0x69, 0x35, 0xfa,
-	0xad, 0xb0, 0xaf, 0x77, 0x99, 0xb9, 0xb2, 0x5a, 0x62, 0xe2, 0x75, 0xe6, 0x7c, 0x9d, 0xd6, 0x77,
-	0xd5, 0xfe, 0xef, 0x75, 0xd0, 0x26, 0xf3, 0x24, 0xf1, 0x12, 0xa3, 0x3c, 0x66, 0xfc, 0x1b, 0xdb,
-	0xdb, 0x6a, 0x64, 0x78, 0xb5, 0xdf, 0xe5, 0xf8, 0x4f, 0x18, 0xff, 0xac, 0x96, 0x98, 0xf8, 0x43,
-	0xa6, 0x41, 0x86, 0x22, 0xfc, 0x7d, 0x3f, 0x49, 0xff, 0x94, 0x69, 0x70, 0x46, 0x63, 0xcc, 0xe2,
-	0x5b, 0x4c, 0x44, 0x66, 0x77, 0x46, 0xf2, 0x11, 0x13, 0x51, 0xbc, 0xc4, 0x28, 0x1f, 0x33, 0x11,
-	0x43, 0x68, 0xb7, 0x13, 0xcb, 0x83, 0x9e, 0x31, 0x11, 0xb3, 0x5a, 0x62, 0xe2, 0x4f, 0x98, 0x88,
-	0x09, 0x94, 0xa4, 0x30, 0xe8, 0x53, 0x26, 0xe2, 0x8c, 0xc6, 0x98, 0xc5, 0xb7, 0xef, 0x6f, 0xf3,
-	0xef, 0x59, 0x92, 0xff, 0x64, 0xc2, 0xff, 0x75, 0xa8, 0xdb, 0x69, 0xa1, 0x4b, 0x2c, 0x06, 0xec,
-	0x7e, 0xef, 0x49, 0xf0, 0x97, 0x43, 0xdf, 0xdb, 0x6d, 0x6f, 0xa1, 0x1c, 0x7f, 0xea, 0xf5, 0x59,
-	0xd8, 0x01, 0x58, 0xea, 0x75, 0x1a, 0xfb, 0xfb, 0x9f, 0xa3, 0xc2, 0xfd, 0xbf, 0x29, 0x40, 0x25,
-	0x51, 0xc1, 0x64, 0xa6, 0x3e, 0xb0, 0xd9, 0x66, 0x5e, 0x5c, 0x35, 0xbe, 0xc4, 0xfc, 0x21, 0xdc,
-	0x08, 0x27, 0xee, 0x30, 0xef, 0x53, 0xd7, 0x33, 0x3d, 0x9f, 0xda, 0xba, 0xb8, 0xa8, 0x9c, 0x63,
-	0x5e, 0xc6, 0x12, 0x4a, 0x6a, 0xfb, 0xa6, 0x1e, 0x5f, 0x94, 0x46, 0x79, 0x7c, 0x0d, 0x70, 0x23,
-	0xf8, 0x9a, 0xe8, 0xcb, 0x04, 0xbc, 0xc0, 0xfa, 0x0a, 0x37, 0x1c, 0x5b, 0x63, 0xef, 0x0c, 0x15,
-	0xd9, 0xe4, 0x15, 0xdf, 0xf9, 0x74, 0x1c, 0x9f, 0x50, 0xcd, 0x38, 0x43, 0x4b, 0x2c, 0x82, 0x84,
-	0x95, 0x94, 0xad, 0xe0, 0x66, 0xd4, 0x77, 0xc6, 0x8e, 0xaf, 0xb5, 0x4e, 0x75, 0x4a, 0x0d, 0x1a,
-	0x14, 0x8e, 0xd0, 0x32, 0x7e, 0x0f, 0xee, 0xce, 0x45, 0x3b, 0xd5, 0x69, 0x70, 0x37, 0xbb, 0xc4,
-	0x86, 0x14, 0xde, 0xc1, 0x0e, 0xa8, 0xcb, 0xcc, 0x20, 0x07, 0xb6, 0xf8, 0xca, 0x9f, 0x1a, 0xe2,
-	0x0a, 0x40, 0xd0, 0x08, 0x0c, 0x9f, 0x6f, 0x27, 0x3a, 0x8e, 0xff, 0xdc, 0x19, 0xdb, 0x06, 0xaa,
-	0x30, 0xeb, 0x27, 0xe3, 0x7e, 0xd4, 0xb2, 0xc2, 0x2f, 0x78, 0x87, 0x57, 0xc9, 0x42, 0x68, 0x95,
-	0x8d, 0xac, 0xef, 0x38, 0x7b, 0x9a, 0x7d, 0x46, 0x82, 0x7a, 0xb5, 0x87, 0x6a, 0x8c, 0x09, 0xe7,
-	0xdb, 0xa7, 0xee, 0xd0, 0xb4, 0x35, 0x3f, 0x1c, 0x4c, 0x9d, 0xa9, 0x26, 0x1a, 0x0c, 0x53, 0x0d,
-	0x8f, 0xb8, 0x6d, 0x9b, 0xdf, 0xab, 0x0f, 0x44, 0xd1, 0x86, 0x14, 0x5d, 0x66, 0xaa, 0x6d, 0xf3,
-	0x5b, 0xe8, 0x9a, 0x6f, 0x1e, 0x5a, 0x22, 0x79, 0x45, 0x98, 0xd9, 0x22, 0x14, 0xa2, 0xe1, 0x79,
-	0xe6, 0x40, 0x0c, 0xe5, 0x0a, 0x56, 0xe0, 0x56, 0xdf, 0xd5, 0x6c, 0x2f, 0xa8, 0xd1, 0x37, 0x1d,
-	0xc7, 0x35, 0x58, 0xcf, 0x4e, 0x2c, 0xeb, 0x6a, 0xb2, 0xab, 0x53, 0xfe, 0x05, 0xee, 0xd8, 0x43,
-	0x57, 0xef, 0xef, 0x00, 0x24, 0xfe, 0x88, 0x81, 0x45, 0x8e, 0xf8, 0xfb, 0xf7, 0xe0, 0xaf, 0xae,
-	0xae, 0x40, 0x3d, 0x86, 0x7d, 0xae, 0x6b, 0xaf, 0x1e, 0x05, 0xbe, 0x12, 0x03, 0x1b, 0xcc, 0x3d,
-	0x3c, 0x94, 0xbb, 0xff, 0xe7, 0x12, 0xd4, 0xf7, 0x27, 0xfe, 0xe5, 0x60, 0x09, 0x72, 0x27, 0x0f,
-	0xd1, 0x25, 0xfe, 0xcb, 0x28, 0xd9, 0xef, 0x26, 0xca, 0xf1, 0xdf, 0xc7, 0x28, 0xcf, 0x7f, 0x9f,
-	0xa0, 0x02, 0xff, 0xfd, 0x10, 0x15, 0xf9, 0xef, 0x53, 0xb4, 0xc4, 0x7f, 0xbf, 0x85, 0x96, 0xf9,
-	0xef, 0x47, 0xa8, 0xc4, 0x7f, 0x3f, 0x0e, 0xd6, 0xc1, 0x93, 0x47, 0x0f, 0x11, 0x04, 0x0f, 0x8f,
-	0x50, 0x25, 0x78, 0xd8, 0x44, 0x2b, 0xc1, 0xc3, 0x63, 0x54, 0x0d, 0x1e, 0x9e, 0xa0, 0x5a, 0xf0,
-	0xf0, 0x21, 0xaa, 0xdf, 0x7f, 0x3f, 0xf9, 0xa1, 0xbe, 0xb8, 0x3a, 0xd5, 0x38, 0xe8, 0x77, 0xd5,
-	0xde, 0xfe, 0x6e, 0xbb, 0x2f, 0x3e, 0xd3, 0xed, 0xb7, 0x9b, 0x3b, 0x9f, 0x23, 0xe9, 0xbe, 0x02,
-	0xe5, 0xe8, 0x40, 0x83, 0x35, 0x34, 0xbb, 0x7b, 0x7b, 0x1c, 0xa9, 0x0c, 0xc5, 0xc6, 0x56, 0x97,
-	0xf4, 0x91, 0xb4, 0x75, 0x0f, 0x14, 0xc7, 0x1d, 0x6c, 0x68, 0x23, 0x4d, 0x3f, 0xa2, 0x61, 0x9a,
-	0xa1, 0x3b, 0xc3, 0xa1, 0x63, 0x6f, 0x68, 0xe1, 0xdf, 0x9d, 0xbd, 0xcc, 0xff, 0x4f, 0x00, 0x00,
-	0x00, 0xff, 0xff, 0x0f, 0x45, 0xf1, 0xce, 0x02, 0x4d, 0x00, 0x00,
-}
diff --git a/pulsar/internal/pulsar_proto/PulsarApi.pb.go b/pulsar/internal/pulsar_proto/PulsarApi.pb.go
new file mode 100644
index 0000000..f995b92
--- /dev/null
+++ b/pulsar/internal/pulsar_proto/PulsarApi.pb.go
@@ -0,0 +1,25852 @@
+// Code generated by protoc-gen-gogo. DO NOT EDIT.
+// source: PulsarApi.proto
+
+package pulsar_proto
+
+import (
+	encoding_binary "encoding/binary"
+	fmt "fmt"
+	github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto"
+	proto "github.com/gogo/protobuf/proto"
+	io "io"
+	math "math"
+	math_bits "math/bits"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
+
+type CompressionType int32
+
+const (
+	CompressionType_NONE   CompressionType = 0
+	CompressionType_LZ4    CompressionType = 1
+	CompressionType_ZLIB   CompressionType = 2
+	CompressionType_ZSTD   CompressionType = 3
+	CompressionType_SNAPPY CompressionType = 4
+)
+
+var CompressionType_name = map[int32]string{
+	0: "NONE",
+	1: "LZ4",
+	2: "ZLIB",
+	3: "ZSTD",
+	4: "SNAPPY",
+}
+
+var CompressionType_value = map[string]int32{
+	"NONE":   0,
+	"LZ4":    1,
+	"ZLIB":   2,
+	"ZSTD":   3,
+	"SNAPPY": 4,
+}
+
+func (x CompressionType) Enum() *CompressionType {
+	p := new(CompressionType)
+	*p = x
+	return p
+}
+
+func (x CompressionType) String() string {
+	return proto.EnumName(CompressionType_name, int32(x))
+}
+
+func (x *CompressionType) UnmarshalJSON(data []byte) error {
+	value, err := proto.UnmarshalJSONEnum(CompressionType_value, data, "CompressionType")
+	if err != nil {
+		return err
+	}
+	*x = CompressionType(value)
+	return nil
+}
+
+func (CompressionType) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{0}
+}
+
+type ServerError int32
+
+const (
+	ServerError_UnknownError        ServerError = 0
+	ServerError_MetadataError       ServerError = 1
+	ServerError_PersistenceError    ServerError = 2
+	ServerError_AuthenticationError ServerError = 3
+	ServerError_AuthorizationError  ServerError = 4
+	ServerError_ConsumerBusy        ServerError = 5
+	// other consumers are connected
+	ServerError_ServiceNotReady                       ServerError = 6
+	ServerError_ProducerBlockedQuotaExceededError     ServerError = 7
+	ServerError_ProducerBlockedQuotaExceededException ServerError = 8
+	ServerError_ChecksumError                         ServerError = 9
+	ServerError_UnsupportedVersionError               ServerError = 10
+	ServerError_TopicNotFound                         ServerError = 11
+	ServerError_SubscriptionNotFound                  ServerError = 12
+	ServerError_ConsumerNotFound                      ServerError = 13
+	ServerError_TooManyRequests                       ServerError = 14
+	ServerError_TopicTerminatedError                  ServerError = 15
+	ServerError_ProducerBusy                          ServerError = 16
+	ServerError_InvalidTopicName                      ServerError = 17
+	ServerError_IncompatibleSchema                    ServerError = 18
+	ServerError_ConsumerAssignError                   ServerError = 19
+	ServerError_TransactionCoordinatorNotFound        ServerError = 20
+	ServerError_InvalidTxnStatus                      ServerError = 21
+)
+
+var ServerError_name = map[int32]string{
+	0:  "UnknownError",
+	1:  "MetadataError",
+	2:  "PersistenceError",
+	3:  "AuthenticationError",
+	4:  "AuthorizationError",
+	5:  "ConsumerBusy",
+	6:  "ServiceNotReady",
+	7:  "ProducerBlockedQuotaExceededError",
+	8:  "ProducerBlockedQuotaExceededException",
+	9:  "ChecksumError",
+	10: "UnsupportedVersionError",
+	11: "TopicNotFound",
+	12: "SubscriptionNotFound",
+	13: "ConsumerNotFound",
+	14: "TooManyRequests",
+	15: "TopicTerminatedError",
+	16: "ProducerBusy",
+	17: "InvalidTopicName",
+	18: "IncompatibleSchema",
+	19: "ConsumerAssignError",
+	20: "TransactionCoordinatorNotFound",
+	21: "InvalidTxnStatus",
+}
+
+var ServerError_value = map[string]int32{
+	"UnknownError":                          0,
+	"MetadataError":                         1,
+	"PersistenceError":                      2,
+	"AuthenticationError":                   3,
+	"AuthorizationError":                    4,
+	"ConsumerBusy":                          5,
+	"ServiceNotReady":                       6,
+	"ProducerBlockedQuotaExceededError":     7,
+	"ProducerBlockedQuotaExceededException": 8,
+	"ChecksumError":                         9,
+	"UnsupportedVersionError":               10,
+	"TopicNotFound":                         11,
+	"SubscriptionNotFound":                  12,
+	"ConsumerNotFound":                      13,
+	"TooManyRequests":                       14,
+	"TopicTerminatedError":                  15,
+	"ProducerBusy":                          16,
+	"InvalidTopicName":                      17,
+	"IncompatibleSchema":                    18,
+	"ConsumerAssignError":                   19,
+	"TransactionCoordinatorNotFound":        20,
+	"InvalidTxnStatus":                      21,
+}
+
+func (x ServerError) Enum() *ServerError {
+	p := new(ServerError)
+	*p = x
+	return p
+}
+
+func (x ServerError) String() string {
+	return proto.EnumName(ServerError_name, int32(x))
+}
+
+func (x *ServerError) UnmarshalJSON(data []byte) error {
+	value, err := proto.UnmarshalJSONEnum(ServerError_value, data, "ServerError")
+	if err != nil {
+		return err
+	}
+	*x = ServerError(value)
+	return nil
+}
+
+func (ServerError) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{1}
+}
+
+type AuthMethod int32
+
+const (
+	AuthMethod_AuthMethodNone   AuthMethod = 0
+	AuthMethod_AuthMethodYcaV1  AuthMethod = 1
+	AuthMethod_AuthMethodAthens AuthMethod = 2
+)
+
+var AuthMethod_name = map[int32]string{
+	0: "AuthMethodNone",
+	1: "AuthMethodYcaV1",
+	2: "AuthMethodAthens",
+}
+
+var AuthMethod_value = map[string]int32{
+	"AuthMethodNone":   0,
+	"AuthMethodYcaV1":  1,
+	"AuthMethodAthens": 2,
+}
+
+func (x AuthMethod) Enum() *AuthMethod {
+	p := new(AuthMethod)
+	*p = x
+	return p
+}
+
+func (x AuthMethod) String() string {
+	return proto.EnumName(AuthMethod_name, int32(x))
+}
+
+func (x *AuthMethod) UnmarshalJSON(data []byte) error {
+	value, err := proto.UnmarshalJSONEnum(AuthMethod_value, data, "AuthMethod")
+	if err != nil {
+		return err
+	}
+	*x = AuthMethod(value)
+	return nil
+}
+
+func (AuthMethod) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{2}
+}
+
+// Each protocol version identify new features that are
+// incrementally added to the protocol
+type ProtocolVersion int32
+
+const (
+	ProtocolVersion_v0  ProtocolVersion = 0
+	ProtocolVersion_v1  ProtocolVersion = 1
+	ProtocolVersion_v2  ProtocolVersion = 2
+	ProtocolVersion_v3  ProtocolVersion = 3
+	ProtocolVersion_v4  ProtocolVersion = 4
+	ProtocolVersion_v5  ProtocolVersion = 5
+	ProtocolVersion_v6  ProtocolVersion = 6
+	ProtocolVersion_v7  ProtocolVersion = 7
+	ProtocolVersion_v8  ProtocolVersion = 8
+	ProtocolVersion_v9  ProtocolVersion = 9
+	ProtocolVersion_v10 ProtocolVersion = 10
+	ProtocolVersion_v11 ProtocolVersion = 11
+	ProtocolVersion_v12 ProtocolVersion = 12
+	// Added CommandActiveConsumerChange
+	// Added CommandGetTopicsOfNamespace
+	ProtocolVersion_v13 ProtocolVersion = 13
+	ProtocolVersion_v14 ProtocolVersion = 14
+	// Added Key_Shared subscription
+	ProtocolVersion_v15 ProtocolVersion = 15
+)
+
+var ProtocolVersion_name = map[int32]string{
+	0:  "v0",
+	1:  "v1",
+	2:  "v2",
+	3:  "v3",
+	4:  "v4",
+	5:  "v5",
+	6:  "v6",
+	7:  "v7",
+	8:  "v8",
+	9:  "v9",
+	10: "v10",
+	11: "v11",
+	12: "v12",
+	13: "v13",
+	14: "v14",
+	15: "v15",
+}
+
+var ProtocolVersion_value = map[string]int32{
+	"v0":  0,
+	"v1":  1,
+	"v2":  2,
+	"v3":  3,
+	"v4":  4,
+	"v5":  5,
+	"v6":  6,
+	"v7":  7,
+	"v8":  8,
+	"v9":  9,
+	"v10": 10,
+	"v11": 11,
+	"v12": 12,
+	"v13": 13,
+	"v14": 14,
+	"v15": 15,
+}
+
+func (x ProtocolVersion) Enum() *ProtocolVersion {
+	p := new(ProtocolVersion)
+	*p = x
+	return p
+}
+
+func (x ProtocolVersion) String() string {
+	return proto.EnumName(ProtocolVersion_name, int32(x))
+}
+
+func (x *ProtocolVersion) UnmarshalJSON(data []byte) error {
+	value, err := proto.UnmarshalJSONEnum(ProtocolVersion_value, data, "ProtocolVersion")
+	if err != nil {
+		return err
+	}
+	*x = ProtocolVersion(value)
+	return nil
+}
+
+func (ProtocolVersion) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{3}
+}
+
+type KeySharedMode int32
+
+const (
+	KeySharedMode_AUTO_SPLIT KeySharedMode = 0
+	KeySharedMode_STICKY     KeySharedMode = 1
+)
+
+var KeySharedMode_name = map[int32]string{
+	0: "AUTO_SPLIT",
+	1: "STICKY",
+}
+
+var KeySharedMode_value = map[string]int32{
+	"AUTO_SPLIT": 0,
+	"STICKY":     1,
+}
+
+func (x KeySharedMode) Enum() *KeySharedMode {
+	p := new(KeySharedMode)
+	*p = x
+	return p
+}
+
+func (x KeySharedMode) String() string {
+	return proto.EnumName(KeySharedMode_name, int32(x))
+}
+
+func (x *KeySharedMode) UnmarshalJSON(data []byte) error {
+	value, err := proto.UnmarshalJSONEnum(KeySharedMode_value, data, "KeySharedMode")
+	if err != nil {
+		return err
+	}
+	*x = KeySharedMode(value)
+	return nil
+}
+
+func (KeySharedMode) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{4}
+}
+
+type TxnAction int32
+
+const (
+	TxnAction_COMMIT TxnAction = 0
+	TxnAction_ABORT  TxnAction = 1
+)
+
+var TxnAction_name = map[int32]string{
+	0: "COMMIT",
+	1: "ABORT",
+}
+
+var TxnAction_value = map[string]int32{
+	"COMMIT": 0,
+	"ABORT":  1,
+}
+
+func (x TxnAction) Enum() *TxnAction {
+	p := new(TxnAction)
+	*p = x
+	return p
+}
+
+func (x TxnAction) String() string {
+	return proto.EnumName(TxnAction_name, int32(x))
+}
+
+func (x *TxnAction) UnmarshalJSON(data []byte) error {
+	value, err := proto.UnmarshalJSONEnum(TxnAction_value, data, "TxnAction")
+	if err != nil {
+		return err
+	}
+	*x = TxnAction(value)
+	return nil
+}
+
+func (TxnAction) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{5}
+}
+
+type Schema_Type int32
+
+const (
+	Schema_None      Schema_Type = 0
+	Schema_String    Schema_Type = 1
+	Schema_Json      Schema_Type = 2
+	Schema_Protobuf  Schema_Type = 3
+	Schema_Avro      Schema_Type = 4
+	Schema_Bool      Schema_Type = 5
+	Schema_Int8      Schema_Type = 6
+	Schema_Int16     Schema_Type = 7
+	Schema_Int32     Schema_Type = 8
+	Schema_Int64     Schema_Type = 9
+	Schema_Float     Schema_Type = 10
+	Schema_Double    Schema_Type = 11
+	Schema_Date      Schema_Type = 12
+	Schema_Time      Schema_Type = 13
+	Schema_Timestamp Schema_Type = 14
+	Schema_KeyValue  Schema_Type = 15
+)
+
+var Schema_Type_name = map[int32]string{
+	0:  "None",
+	1:  "String",
+	2:  "Json",
+	3:  "Protobuf",
+	4:  "Avro",
+	5:  "Bool",
+	6:  "Int8",
+	7:  "Int16",
+	8:  "Int32",
+	9:  "Int64",
+	10: "Float",
+	11: "Double",
+	12: "Date",
+	13: "Time",
+	14: "Timestamp",
+	15: "KeyValue",
+}
+
+var Schema_Type_value = map[string]int32{
+	"None":      0,
+	"String":    1,
+	"Json":      2,
+	"Protobuf":  3,
+	"Avro":      4,
+	"Bool":      5,
+	"Int8":      6,
+	"Int16":     7,
+	"Int32":     8,
+	"Int64":     9,
+	"Float":     10,
+	"Double":    11,
+	"Date":      12,
+	"Time":      13,
+	"Timestamp": 14,
+	"KeyValue":  15,
+}
+
+func (x Schema_Type) Enum() *Schema_Type {
+	p := new(Schema_Type)
+	*p = x
+	return p
+}
+
+func (x Schema_Type) String() string {
+	return proto.EnumName(Schema_Type_name, int32(x))
+}
+
+func (x *Schema_Type) UnmarshalJSON(data []byte) error {
+	value, err := proto.UnmarshalJSONEnum(Schema_Type_value, data, "Schema_Type")
+	if err != nil {
+		return err
+	}
+	*x = Schema_Type(value)
+	return nil
+}
+
+func (Schema_Type) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{0, 0}
+}
+
+type CommandSubscribe_SubType int32
+
+const (
+	CommandSubscribe_Exclusive  CommandSubscribe_SubType = 0
+	CommandSubscribe_Shared     CommandSubscribe_SubType = 1
+	CommandSubscribe_Failover   CommandSubscribe_SubType = 2
+	CommandSubscribe_Key_Shared CommandSubscribe_SubType = 3
+)
+
+var CommandSubscribe_SubType_name = map[int32]string{
+	0: "Exclusive",
+	1: "Shared",
+	2: "Failover",
+	3: "Key_Shared",
+}
+
+var CommandSubscribe_SubType_value = map[string]int32{
+	"Exclusive":  0,
+	"Shared":     1,
+	"Failover":   2,
+	"Key_Shared": 3,
+}
+
+func (x CommandSubscribe_SubType) Enum() *CommandSubscribe_SubType {
+	p := new(CommandSubscribe_SubType)
+	*p = x
+	return p
+}
+
+func (x CommandSubscribe_SubType) String() string {
+	return proto.EnumName(CommandSubscribe_SubType_name, int32(x))
+}
+
+func (x *CommandSubscribe_SubType) UnmarshalJSON(data []byte) error {
+	value, err := proto.UnmarshalJSONEnum(CommandSubscribe_SubType_value, data, "CommandSubscribe_SubType")
+	if err != nil {
+		return err
+	}
+	*x = CommandSubscribe_SubType(value)
+	return nil
+}
+
+func (CommandSubscribe_SubType) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{15, 0}
+}
+
+type CommandSubscribe_InitialPosition int32
+
+const (
+	CommandSubscribe_Latest   CommandSubscribe_InitialPosition = 0
+	CommandSubscribe_Earliest CommandSubscribe_InitialPosition = 1
+)
+
+var CommandSubscribe_InitialPosition_name = map[int32]string{
+	0: "Latest",
+	1: "Earliest",
+}
+
+var CommandSubscribe_InitialPosition_value = map[string]int32{
+	"Latest":   0,
+	"Earliest": 1,
+}
+
+func (x CommandSubscribe_InitialPosition) Enum() *CommandSubscribe_InitialPosition {
+	p := new(CommandSubscribe_InitialPosition)
+	*p = x
+	return p
+}
+
+func (x CommandSubscribe_InitialPosition) String() string {
+	return proto.EnumName(CommandSubscribe_InitialPosition_name, int32(x))
+}
+
+func (x *CommandSubscribe_InitialPosition) UnmarshalJSON(data []byte) error {
+	value, err := proto.UnmarshalJSONEnum(CommandSubscribe_InitialPosition_value, data, "CommandSubscribe_InitialPosition")
+	if err != nil {
+		return err
+	}
+	*x = CommandSubscribe_InitialPosition(value)
+	return nil
+}
+
+func (CommandSubscribe_InitialPosition) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{15, 1}
+}
+
+type CommandPartitionedTopicMetadataResponse_LookupType int32
+
+const (
+	CommandPartitionedTopicMetadataResponse_Success CommandPartitionedTopicMetadataResponse_LookupType = 0
+	CommandPartitionedTopicMetadataResponse_Failed  CommandPartitionedTopicMetadataResponse_LookupType = 1
+)
+
+var CommandPartitionedTopicMetadataResponse_LookupType_name = map[int32]string{
+	0: "Success",
+	1: "Failed",
+}
+
+var CommandPartitionedTopicMetadataResponse_LookupType_value = map[string]int32{
+	"Success": 0,
+	"Failed":  1,
+}
+
+func (x CommandPartitionedTopicMetadataResponse_LookupType) Enum() *CommandPartitionedTopicMetadataResponse_LookupType {
+	p := new(CommandPartitionedTopicMetadataResponse_LookupType)
+	*p = x
+	return p
+}
+
+func (x CommandPartitionedTopicMetadataResponse_LookupType) String() string {
+	return proto.EnumName(CommandPartitionedTopicMetadataResponse_LookupType_name, int32(x))
+}
+
+func (x *CommandPartitionedTopicMetadataResponse_LookupType) UnmarshalJSON(data []byte) error {
+	value, err := proto.UnmarshalJSONEnum(CommandPartitionedTopicMetadataResponse_LookupType_value, data, "CommandPartitionedTopicMetadataResponse_LookupType")
+	if err != nil {
+		return err
+	}
+	*x = CommandPartitionedTopicMetadataResponse_LookupType(value)
+	return nil
+}
+
+func (CommandPartitionedTopicMetadataResponse_LookupType) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{17, 0}
+}
+
+type CommandLookupTopicResponse_LookupType int32
+
+const (
+	CommandLookupTopicResponse_Redirect CommandLookupTopicResponse_LookupType = 0
+	CommandLookupTopicResponse_Connect  CommandLookupTopicResponse_LookupType = 1
+	CommandLookupTopicResponse_Failed   CommandLookupTopicResponse_LookupType = 2
+)
+
+var CommandLookupTopicResponse_LookupType_name = map[int32]string{
+	0: "Redirect",
+	1: "Connect",
+	2: "Failed",
+}
+
+var CommandLookupTopicResponse_LookupType_value = map[string]int32{
+	"Redirect": 0,
+	"Connect":  1,
+	"Failed":   2,
+}
+
+func (x CommandLookupTopicResponse_LookupType) Enum() *CommandLookupTopicResponse_LookupType {
+	p := new(CommandLookupTopicResponse_LookupType)
+	*p = x
+	return p
+}
+
+func (x CommandLookupTopicResponse_LookupType) String() string {
+	return proto.EnumName(CommandLookupTopicResponse_LookupType_name, int32(x))
+}
+
+func (x *CommandLookupTopicResponse_LookupType) UnmarshalJSON(data []byte) error {
+	value, err := proto.UnmarshalJSONEnum(CommandLookupTopicResponse_LookupType_value, data, "CommandLookupTopicResponse_LookupType")
+	if err != nil {
+		return err
+	}
+	*x = CommandLookupTopicResponse_LookupType(value)
+	return nil
+}
+
+func (CommandLookupTopicResponse_LookupType) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{19, 0}
+}
+
+type CommandAck_AckType int32
+
+const (
+	CommandAck_Individual CommandAck_AckType = 0
+	CommandAck_Cumulative CommandAck_AckType = 1
+)
+
+var CommandAck_AckType_name = map[int32]string{
+	0: "Individual",
+	1: "Cumulative",
+}
+
+var CommandAck_AckType_value = map[string]int32{
+	"Individual": 0,
+	"Cumulative": 1,
+}
+
+func (x CommandAck_AckType) Enum() *CommandAck_AckType {
+	p := new(CommandAck_AckType)
+	*p = x
+	return p
+}
+
+func (x CommandAck_AckType) String() string {
+	return proto.EnumName(CommandAck_AckType_name, int32(x))
+}
+
+func (x *CommandAck_AckType) UnmarshalJSON(data []byte) error {
+	value, err := proto.UnmarshalJSONEnum(CommandAck_AckType_value, data, "CommandAck_AckType")
+	if err != nil {
+		return err
+	}
+	*x = CommandAck_AckType(value)
+	return nil
+}
+
+func (CommandAck_AckType) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{25, 0}
+}
+
+// Acks can contain a flag to indicate the consumer
+// received an invalid message that got discarded
+// before being passed on to the application.
+type CommandAck_ValidationError int32
+
+const (
+	CommandAck_UncompressedSizeCorruption CommandAck_ValidationError = 0
+	CommandAck_DecompressionError         CommandAck_ValidationError = 1
+	CommandAck_ChecksumMismatch           CommandAck_ValidationError = 2
+	CommandAck_BatchDeSerializeError      CommandAck_ValidationError = 3
+	CommandAck_DecryptionError            CommandAck_ValidationError = 4
+)
+
+var CommandAck_ValidationError_name = map[int32]string{
+	0: "UncompressedSizeCorruption",
+	1: "DecompressionError",
+	2: "ChecksumMismatch",
+	3: "BatchDeSerializeError",
+	4: "DecryptionError",
+}
+
+var CommandAck_ValidationError_value = map[string]int32{
+	"UncompressedSizeCorruption": 0,
+	"DecompressionError":         1,
+	"ChecksumMismatch":           2,
+	"BatchDeSerializeError":      3,
+	"DecryptionError":            4,
+}
+
+func (x CommandAck_ValidationError) Enum() *CommandAck_ValidationError {
+	p := new(CommandAck_ValidationError)
+	*p = x
+	return p
+}
+
+func (x CommandAck_ValidationError) String() string {
+	return proto.EnumName(CommandAck_ValidationError_name, int32(x))
+}
+
+func (x *CommandAck_ValidationError) UnmarshalJSON(data []byte) error {
+	value, err := proto.UnmarshalJSONEnum(CommandAck_ValidationError_value, data, "CommandAck_ValidationError")
+	if err != nil {
+		return err
+	}
+	*x = CommandAck_ValidationError(value)
+	return nil
+}
+
+func (CommandAck_ValidationError) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{25, 1}
+}
+
+type CommandGetTopicsOfNamespace_Mode int32
+
+const (
+	CommandGetTopicsOfNamespace_PERSISTENT     CommandGetTopicsOfNamespace_Mode = 0
+	CommandGetTopicsOfNamespace_NON_PERSISTENT CommandGetTopicsOfNamespace_Mode = 1
+	CommandGetTopicsOfNamespace_ALL            CommandGetTopicsOfNamespace_Mode = 2
+)
+
+var CommandGetTopicsOfNamespace_Mode_name = map[int32]string{
+	0: "PERSISTENT",
+	1: "NON_PERSISTENT",
+	2: "ALL",
+}
+
+var CommandGetTopicsOfNamespace_Mode_value = map[string]int32{
+	"PERSISTENT":     0,
+	"NON_PERSISTENT": 1,
+	"ALL":            2,
+}
+
+func (x CommandGetTopicsOfNamespace_Mode) Enum() *CommandGetTopicsOfNamespace_Mode {
+	p := new(CommandGetTopicsOfNamespace_Mode)
+	*p = x
+	return p
+}
+
+func (x CommandGetTopicsOfNamespace_Mode) String() string {
+	return proto.EnumName(CommandGetTopicsOfNamespace_Mode_name, int32(x))
+}
+
+func (x *CommandGetTopicsOfNamespace_Mode) UnmarshalJSON(data []byte) error {
+	value, err := proto.UnmarshalJSONEnum(CommandGetTopicsOfNamespace_Mode_value, data, "CommandGetTopicsOfNamespace_Mode")
+	if err != nil {
+		return err
+	}
+	*x = CommandGetTopicsOfNamespace_Mode(value)
+	return nil
+}
+
+func (CommandGetTopicsOfNamespace_Mode) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{44, 0}
+}
+
+type BaseCommand_Type int32
+
+const (
+	BaseCommand_CONNECT                           BaseCommand_Type = 2
+	BaseCommand_CONNECTED                         BaseCommand_Type = 3
+	BaseCommand_SUBSCRIBE                         BaseCommand_Type = 4
+	BaseCommand_PRODUCER                          BaseCommand_Type = 5
+	BaseCommand_SEND                              BaseCommand_Type = 6
+	BaseCommand_SEND_RECEIPT                      BaseCommand_Type = 7
+	BaseCommand_SEND_ERROR                        BaseCommand_Type = 8
+	BaseCommand_MESSAGE                           BaseCommand_Type = 9
+	BaseCommand_ACK                               BaseCommand_Type = 10
+	BaseCommand_FLOW                              BaseCommand_Type = 11
+	BaseCommand_UNSUBSCRIBE                       BaseCommand_Type = 12
+	BaseCommand_SUCCESS                           BaseCommand_Type = 13
+	BaseCommand_ERROR                             BaseCommand_Type = 14
+	BaseCommand_CLOSE_PRODUCER                    BaseCommand_Type = 15
+	BaseCommand_CLOSE_CONSUMER                    BaseCommand_Type = 16
+	BaseCommand_PRODUCER_SUCCESS                  BaseCommand_Type = 17
+	BaseCommand_PING                              BaseCommand_Type = 18
+	BaseCommand_PONG                              BaseCommand_Type = 19
+	BaseCommand_REDELIVER_UNACKNOWLEDGED_MESSAGES BaseCommand_Type = 20
+	BaseCommand_PARTITIONED_METADATA              BaseCommand_Type = 21
+	BaseCommand_PARTITIONED_METADATA_RESPONSE     BaseCommand_Type = 22
+	BaseCommand_LOOKUP                            BaseCommand_Type = 23
+	BaseCommand_LOOKUP_RESPONSE                   BaseCommand_Type = 24
+	BaseCommand_CONSUMER_STATS                    BaseCommand_Type = 25
+	BaseCommand_CONSUMER_STATS_RESPONSE           BaseCommand_Type = 26
+	BaseCommand_REACHED_END_OF_TOPIC              BaseCommand_Type = 27
+	BaseCommand_SEEK                              BaseCommand_Type = 28
+	BaseCommand_GET_LAST_MESSAGE_ID               BaseCommand_Type = 29
+	BaseCommand_GET_LAST_MESSAGE_ID_RESPONSE      BaseCommand_Type = 30
+	BaseCommand_ACTIVE_CONSUMER_CHANGE            BaseCommand_Type = 31
+	BaseCommand_GET_TOPICS_OF_NAMESPACE           BaseCommand_Type = 32
+	BaseCommand_GET_TOPICS_OF_NAMESPACE_RESPONSE  BaseCommand_Type = 33
+	BaseCommand_GET_SCHEMA                        BaseCommand_Type = 34
+	BaseCommand_GET_SCHEMA_RESPONSE               BaseCommand_Type = 35
+	BaseCommand_AUTH_CHALLENGE                    BaseCommand_Type = 36
+	BaseCommand_AUTH_RESPONSE                     BaseCommand_Type = 37
+	BaseCommand_ACK_RESPONSE                      BaseCommand_Type = 38
+	BaseCommand_GET_OR_CREATE_SCHEMA              BaseCommand_Type = 39
+	BaseCommand_GET_OR_CREATE_SCHEMA_RESPONSE     BaseCommand_Type = 40
+	// transaction related
+	BaseCommand_NEW_TXN                          BaseCommand_Type = 50
+	BaseCommand_NEW_TXN_RESPONSE                 BaseCommand_Type = 51
+	BaseCommand_ADD_PARTITION_TO_TXN             BaseCommand_Type = 52
+	BaseCommand_ADD_PARTITION_TO_TXN_RESPONSE    BaseCommand_Type = 53
+	BaseCommand_ADD_SUBSCRIPTION_TO_TXN          BaseCommand_Type = 54
+	BaseCommand_ADD_SUBSCRIPTION_TO_TXN_RESPONSE BaseCommand_Type = 55
+	BaseCommand_END_TXN                          BaseCommand_Type = 56
+	BaseCommand_END_TXN_RESPONSE                 BaseCommand_Type = 57
+	BaseCommand_END_TXN_ON_PARTITION             BaseCommand_Type = 58
+	BaseCommand_END_TXN_ON_PARTITION_RESPONSE    BaseCommand_Type = 59
+	BaseCommand_END_TXN_ON_SUBSCRIPTION          BaseCommand_Type = 60
+	BaseCommand_END_TXN_ON_SUBSCRIPTION_RESPONSE BaseCommand_Type = 61
+)
+
+var BaseCommand_Type_name = map[int32]string{
+	2:  "CONNECT",
+	3:  "CONNECTED",
+	4:  "SUBSCRIBE",
+	5:  "PRODUCER",
+	6:  "SEND",
+	7:  "SEND_RECEIPT",
+	8:  "SEND_ERROR",
+	9:  "MESSAGE",
+	10: "ACK",
+	11: "FLOW",
+	12: "UNSUBSCRIBE",
+	13: "SUCCESS",
+	14: "ERROR",
+	15: "CLOSE_PRODUCER",
+	16: "CLOSE_CONSUMER",
+	17: "PRODUCER_SUCCESS",
+	18: "PING",
+	19: "PONG",
+	20: "REDELIVER_UNACKNOWLEDGED_MESSAGES",
+	21: "PARTITIONED_METADATA",
+	22: "PARTITIONED_METADATA_RESPONSE",
+	23: "LOOKUP",
+	24: "LOOKUP_RESPONSE",
+	25: "CONSUMER_STATS",
+	26: "CONSUMER_STATS_RESPONSE",
+	27: "REACHED_END_OF_TOPIC",
+	28: "SEEK",
+	29: "GET_LAST_MESSAGE_ID",
+	30: "GET_LAST_MESSAGE_ID_RESPONSE",
+	31: "ACTIVE_CONSUMER_CHANGE",
+	32: "GET_TOPICS_OF_NAMESPACE",
+	33: "GET_TOPICS_OF_NAMESPACE_RESPONSE",
+	34: "GET_SCHEMA",
+	35: "GET_SCHEMA_RESPONSE",
+	36: "AUTH_CHALLENGE",
+	37: "AUTH_RESPONSE",
+	38: "ACK_RESPONSE",
+	39: "GET_OR_CREATE_SCHEMA",
+	40: "GET_OR_CREATE_SCHEMA_RESPONSE",
+	50: "NEW_TXN",
+	51: "NEW_TXN_RESPONSE",
+	52: "ADD_PARTITION_TO_TXN",
+	53: "ADD_PARTITION_TO_TXN_RESPONSE",
+	54: "ADD_SUBSCRIPTION_TO_TXN",
+	55: "ADD_SUBSCRIPTION_TO_TXN_RESPONSE",
+	56: "END_TXN",
+	57: "END_TXN_RESPONSE",
+	58: "END_TXN_ON_PARTITION",
+	59: "END_TXN_ON_PARTITION_RESPONSE",
+	60: "END_TXN_ON_SUBSCRIPTION",
+	61: "END_TXN_ON_SUBSCRIPTION_RESPONSE",
+}
+
+var BaseCommand_Type_value = map[string]int32{
+	"CONNECT":                           2,
+	"CONNECTED":                         3,
+	"SUBSCRIBE":                         4,
+	"PRODUCER":                          5,
+	"SEND":                              6,
+	"SEND_RECEIPT":                      7,
+	"SEND_ERROR":                        8,
+	"MESSAGE":                           9,
+	"ACK":                               10,
+	"FLOW":                              11,
+	"UNSUBSCRIBE":                       12,
+	"SUCCESS":                           13,
+	"ERROR":                             14,
+	"CLOSE_PRODUCER":                    15,
+	"CLOSE_CONSUMER":                    16,
+	"PRODUCER_SUCCESS":                  17,
+	"PING":                              18,
+	"PONG":                              19,
+	"REDELIVER_UNACKNOWLEDGED_MESSAGES": 20,
+	"PARTITIONED_METADATA":              21,
+	"PARTITIONED_METADATA_RESPONSE":     22,
+	"LOOKUP":                            23,
+	"LOOKUP_RESPONSE":                   24,
+	"CONSUMER_STATS":                    25,
+	"CONSUMER_STATS_RESPONSE":           26,
+	"REACHED_END_OF_TOPIC":              27,
+	"SEEK":                              28,
+	"GET_LAST_MESSAGE_ID":               29,
+	"GET_LAST_MESSAGE_ID_RESPONSE":      30,
+	"ACTIVE_CONSUMER_CHANGE":            31,
+	"GET_TOPICS_OF_NAMESPACE":           32,
+	"GET_TOPICS_OF_NAMESPACE_RESPONSE":  33,
+	"GET_SCHEMA":                        34,
+	"GET_SCHEMA_RESPONSE":               35,
+	"AUTH_CHALLENGE":                    36,
+	"AUTH_RESPONSE":                     37,
+	"ACK_RESPONSE":                      38,
+	"GET_OR_CREATE_SCHEMA":              39,
+	"GET_OR_CREATE_SCHEMA_RESPONSE":     40,
+	"NEW_TXN":                           50,
+	"NEW_TXN_RESPONSE":                  51,
+	"ADD_PARTITION_TO_TXN":              52,
+	"ADD_PARTITION_TO_TXN_RESPONSE":     53,
+	"ADD_SUBSCRIPTION_TO_TXN":           54,
+	"ADD_SUBSCRIPTION_TO_TXN_RESPONSE":  55,
+	"END_TXN":                           56,
+	"END_TXN_RESPONSE":                  57,
+	"END_TXN_ON_PARTITION":              58,
+	"END_TXN_ON_PARTITION_RESPONSE":     59,
+	"END_TXN_ON_SUBSCRIPTION":           60,
+	"END_TXN_ON_SUBSCRIPTION_RESPONSE":  61,
+}
+
+func (x BaseCommand_Type) Enum() *BaseCommand_Type {
+	p := new(BaseCommand_Type)
+	*p = x
+	return p
+}
+
+func (x BaseCommand_Type) String() string {
+	return proto.EnumName(BaseCommand_Type_name, int32(x))
+}
+
+func (x *BaseCommand_Type) UnmarshalJSON(data []byte) error {
+	value, err := proto.UnmarshalJSONEnum(BaseCommand_Type_value, data, "BaseCommand_Type")
+	if err != nil {
+		return err
+	}
+	*x = BaseCommand_Type(value)
+	return nil
+}
+
+func (BaseCommand_Type) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{63, 0}
+}
+
+type Schema struct {
+	Name                 *string      `protobuf:"bytes,1,req,name=name" json:"name,omitempty"`
+	SchemaData           []byte       `protobuf:"bytes,3,req,name=schema_data,json=schemaData" json:"schema_data,omitempty"`
+	Type                 *Schema_Type `protobuf:"varint,4,req,name=type,enum=pulsar.proto.Schema_Type" json:"type,omitempty"`
+	Properties           []*KeyValue  `protobuf:"bytes,5,rep,name=properties" json:"properties,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
+	XXX_unrecognized     []byte       `json:"-"`
+	XXX_sizecache        int32        `json:"-"`
+}
+
+func (m *Schema) Reset()         { *m = Schema{} }
+func (m *Schema) String() string { return proto.CompactTextString(m) }
+func (*Schema) ProtoMessage()    {}
+func (*Schema) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{0}
+}
+func (m *Schema) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *Schema) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_Schema.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *Schema) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Schema.Merge(m, src)
+}
+func (m *Schema) XXX_Size() int {
+	return m.Size()
+}
+func (m *Schema) XXX_DiscardUnknown() {
+	xxx_messageInfo_Schema.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Schema proto.InternalMessageInfo
+
+func (m *Schema) GetName() string {
+	if m != nil && m.Name != nil {
+		return *m.Name
+	}
+	return ""
+}
+
+func (m *Schema) GetSchemaData() []byte {
+	if m != nil {
+		return m.SchemaData
+	}
+	return nil
+}
+
+func (m *Schema) GetType() Schema_Type {
+	if m != nil && m.Type != nil {
+		return *m.Type
+	}
+	return Schema_None
+}
+
+func (m *Schema) GetProperties() []*KeyValue {
+	if m != nil {
+		return m.Properties
+	}
+	return nil
+}
+
+type MessageIdData struct {
+	LedgerId             *uint64  `protobuf:"varint,1,req,name=ledgerId" json:"ledgerId,omitempty"`
+	EntryId              *uint64  `protobuf:"varint,2,req,name=entryId" json:"entryId,omitempty"`
+	Partition            *int32   `protobuf:"varint,3,opt,name=partition,def=-1" json:"partition,omitempty"`
+	BatchIndex           *int32   `protobuf:"varint,4,opt,name=batch_index,json=batchIndex,def=-1" json:"batch_index,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *MessageIdData) Reset()         { *m = MessageIdData{} }
+func (m *MessageIdData) String() string { return proto.CompactTextString(m) }
+func (*MessageIdData) ProtoMessage()    {}
+func (*MessageIdData) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{1}
+}
+func (m *MessageIdData) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *MessageIdData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_MessageIdData.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *MessageIdData) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_MessageIdData.Merge(m, src)
+}
+func (m *MessageIdData) XXX_Size() int {
+	return m.Size()
+}
+func (m *MessageIdData) XXX_DiscardUnknown() {
+	xxx_messageInfo_MessageIdData.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MessageIdData proto.InternalMessageInfo
+
+const Default_MessageIdData_Partition int32 = -1
+const Default_MessageIdData_BatchIndex int32 = -1
+
+func (m *MessageIdData) GetLedgerId() uint64 {
+	if m != nil && m.LedgerId != nil {
+		return *m.LedgerId
+	}
+	return 0
+}
+
+func (m *MessageIdData) GetEntryId() uint64 {
+	if m != nil && m.EntryId != nil {
+		return *m.EntryId
+	}
+	return 0
+}
+
+func (m *MessageIdData) GetPartition() int32 {
+	if m != nil && m.Partition != nil {
+		return *m.Partition
+	}
+	return Default_MessageIdData_Partition
+}
+
+func (m *MessageIdData) GetBatchIndex() int32 {
+	if m != nil && m.BatchIndex != nil {
+		return *m.BatchIndex
+	}
+	return Default_MessageIdData_BatchIndex
+}
+
+type KeyValue struct {
+	Key                  *string  `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
+	Value                *string  `protobuf:"bytes,2,req,name=value" json:"value,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *KeyValue) Reset()         { *m = KeyValue{} }
+func (m *KeyValue) String() string { return proto.CompactTextString(m) }
+func (*KeyValue) ProtoMessage()    {}
+func (*KeyValue) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{2}
+}
+func (m *KeyValue) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *KeyValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_KeyValue.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *KeyValue) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_KeyValue.Merge(m, src)
+}
+func (m *KeyValue) XXX_Size() int {
+	return m.Size()
+}
+func (m *KeyValue) XXX_DiscardUnknown() {
+	xxx_messageInfo_KeyValue.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_KeyValue proto.InternalMessageInfo
+
+func (m *KeyValue) GetKey() string {
+	if m != nil && m.Key != nil {
+		return *m.Key
+	}
+	return ""
+}
+
+func (m *KeyValue) GetValue() string {
+	if m != nil && m.Value != nil {
+		return *m.Value
+	}
+	return ""
+}
+
+type KeyLongValue struct {
+	Key                  *string  `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
+	Value                *uint64  `protobuf:"varint,2,req,name=value" json:"value,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *KeyLongValue) Reset()         { *m = KeyLongValue{} }
+func (m *KeyLongValue) String() string { return proto.CompactTextString(m) }
+func (*KeyLongValue) ProtoMessage()    {}
+func (*KeyLongValue) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{3}
+}
+func (m *KeyLongValue) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *KeyLongValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_KeyLongValue.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *KeyLongValue) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_KeyLongValue.Merge(m, src)
+}
+func (m *KeyLongValue) XXX_Size() int {
+	return m.Size()
+}
+func (m *KeyLongValue) XXX_DiscardUnknown() {
+	xxx_messageInfo_KeyLongValue.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_KeyLongValue proto.InternalMessageInfo
+
+func (m *KeyLongValue) GetKey() string {
+	if m != nil && m.Key != nil {
+		return *m.Key
+	}
+	return ""
+}
+
+func (m *KeyLongValue) GetValue() uint64 {
+	if m != nil && m.Value != nil {
+		return *m.Value
+	}
+	return 0
+}
+
+type IntRange struct {
+	Start                *int32   `protobuf:"varint,1,req,name=start" json:"start,omitempty"`
+	End                  *int32   `protobuf:"varint,2,req,name=end" json:"end,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *IntRange) Reset()         { *m = IntRange{} }
+func (m *IntRange) String() string { return proto.CompactTextString(m) }
+func (*IntRange) ProtoMessage()    {}
+func (*IntRange) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{4}
+}
+func (m *IntRange) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *IntRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_IntRange.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *IntRange) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_IntRange.Merge(m, src)
+}
+func (m *IntRange) XXX_Size() int {
+	return m.Size()
+}
+func (m *IntRange) XXX_DiscardUnknown() {
+	xxx_messageInfo_IntRange.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_IntRange proto.InternalMessageInfo
+
+func (m *IntRange) GetStart() int32 {
+	if m != nil && m.Start != nil {
+		return *m.Start
+	}
+	return 0
+}
+
+func (m *IntRange) GetEnd() int32 {
+	if m != nil && m.End != nil {
+		return *m.End
+	}
+	return 0
+}
+
+type EncryptionKeys struct {
+	Key                  *string     `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
+	Value                []byte      `protobuf:"bytes,2,req,name=value" json:"value,omitempty"`
+	Metadata             []*KeyValue `protobuf:"bytes,3,rep,name=metadata" json:"metadata,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
+	XXX_unrecognized     []byte      `json:"-"`
+	XXX_sizecache        int32       `json:"-"`
+}
+
+func (m *EncryptionKeys) Reset()         { *m = EncryptionKeys{} }
+func (m *EncryptionKeys) String() string { return proto.CompactTextString(m) }
+func (*EncryptionKeys) ProtoMessage()    {}
+func (*EncryptionKeys) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{5}
+}
+func (m *EncryptionKeys) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *EncryptionKeys) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_EncryptionKeys.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *EncryptionKeys) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_EncryptionKeys.Merge(m, src)
+}
+func (m *EncryptionKeys) XXX_Size() int {
+	return m.Size()
+}
+func (m *EncryptionKeys) XXX_DiscardUnknown() {
+	xxx_messageInfo_EncryptionKeys.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_EncryptionKeys proto.InternalMessageInfo
+
+func (m *EncryptionKeys) GetKey() string {
+	if m != nil && m.Key != nil {
+		return *m.Key
+	}
+	return ""
+}
+
+func (m *EncryptionKeys) GetValue() []byte {
+	if m != nil {
+		return m.Value
+	}
+	return nil
+}
+
+func (m *EncryptionKeys) GetMetadata() []*KeyValue {
+	if m != nil {
+		return m.Metadata
+	}
+	return nil
+}
+
+type MessageMetadata struct {
+	ProducerName *string     `protobuf:"bytes,1,req,name=producer_name,json=producerName" json:"producer_name,omitempty"`
+	SequenceId   *uint64     `protobuf:"varint,2,req,name=sequence_id,json=sequenceId" json:"sequence_id,omitempty"`
+	PublishTime  *uint64     `protobuf:"varint,3,req,name=publish_time,json=publishTime" json:"publish_time,omitempty"`
+	Properties   []*KeyValue `protobuf:"bytes,4,rep,name=properties" json:"properties,omitempty"`
+	// Property set on replicated message,
+	// includes the source cluster name
+	ReplicatedFrom *string `protobuf:"bytes,5,opt,name=replicated_from,json=replicatedFrom" json:"replicated_from,omitempty"`
+	//key to decide partition for the msg
+	PartitionKey *string `protobuf:"bytes,6,opt,name=partition_key,json=partitionKey" json:"partition_key,omitempty"`
+	// Override namespace's replication
+	ReplicateTo      []string         `protobuf:"bytes,7,rep,name=replicate_to,json=replicateTo" json:"replicate_to,omitempty"`
+	Compression      *CompressionType `protobuf:"varint,8,opt,name=compression,enum=pulsar.proto.CompressionType,def=0" json:"compression,omitempty"`
+	UncompressedSize *uint32          `protobuf:"varint,9,opt,name=uncompressed_size,json=uncompressedSize,def=0" json:"uncompressed_size,omitempty"`
+	// Removed below checksum field from Metadata as
+	// it should be part of send-command which keeps checksum of header + payload
+	//optional sfixed64 checksum = 10;
+	// differentiate single and batch message metadata
+	NumMessagesInBatch *int32 `protobuf:"varint,11,opt,name=num_messages_in_batch,json=numMessagesInBatch,def=1" json:"num_messages_in_batch,omitempty"`
+	// the timestamp that this event occurs. it is typically set by applications.
+	// if this field is omitted, `publish_time` can be used for the purpose of `event_time`.
+	EventTime *uint64 `protobuf:"varint,12,opt,name=event_time,json=eventTime,def=0" json:"event_time,omitempty"`
+	// Contains encryption key name, encrypted key and metadata to describe the key
+	EncryptionKeys []*EncryptionKeys `protobuf:"bytes,13,rep,name=encryption_keys,json=encryptionKeys" json:"encryption_keys,omitempty"`
+	// Algorithm used to encrypt data key
+	EncryptionAlgo *string `protobuf:"bytes,14,opt,name=encryption_algo,json=encryptionAlgo" json:"encryption_algo,omitempty"`
+	// Additional parameters required by encryption
+	EncryptionParam        []byte `protobuf:"bytes,15,opt,name=encryption_param,json=encryptionParam" json:"encryption_param,omitempty"`
+	SchemaVersion          []byte `protobuf:"bytes,16,opt,name=schema_version,json=schemaVersion" json:"schema_version,omitempty"`
+	PartitionKeyB64Encoded *bool  `protobuf:"varint,17,opt,name=partition_key_b64_encoded,json=partitionKeyB64Encoded,def=0" json:"partition_key_b64_encoded,omitempty"`
+	// Specific a key to overwrite the message key which used for ordering dispatch in Key_Shared mode.
+	OrderingKey []byte `protobuf:"bytes,18,opt,name=ordering_key,json=orderingKey" json:"ordering_key,omitempty"`
+	// Mark the message to be delivered at or after the specified timestamp
+	DeliverAtTime *int64 `protobuf:"varint,19,opt,name=deliver_at_time,json=deliverAtTime" json:"deliver_at_time,omitempty"`
+	// Identify whether a message is a "marker" message used for
+	// internal metadata instead of application published data.
+	// Markers will generally not be propagated back to clients
+	MarkerType *int32 `protobuf:"varint,20,opt,name=marker_type,json=markerType" json:"marker_type,omitempty"`
+	// transaction related message info
+	TxnidLeastBits *uint64 `protobuf:"varint,22,opt,name=txnid_least_bits,json=txnidLeastBits,def=0" json:"txnid_least_bits,omitempty"`
+	TxnidMostBits  *uint64 `protobuf:"varint,23,opt,name=txnid_most_bits,json=txnidMostBits,def=0" json:"txnid_most_bits,omitempty"`
+	/// Add highest sequence id to support batch message with external sequence id
+	HighestSequenceId    *uint64  `protobuf:"varint,24,opt,name=highest_sequence_id,json=highestSequenceId,def=0" json:"highest_sequence_id,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *MessageMetadata) Reset()         { *m = MessageMetadata{} }
+func (m *MessageMetadata) String() string { return proto.CompactTextString(m) }
+func (*MessageMetadata) ProtoMessage()    {}
+func (*MessageMetadata) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{6}
+}
+func (m *MessageMetadata) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *MessageMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_MessageMetadata.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *MessageMetadata) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_MessageMetadata.Merge(m, src)
+}
+func (m *MessageMetadata) XXX_Size() int {
+	return m.Size()
+}
+func (m *MessageMetadata) XXX_DiscardUnknown() {
+	xxx_messageInfo_MessageMetadata.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MessageMetadata proto.InternalMessageInfo
+
+const Default_MessageMetadata_Compression CompressionType = CompressionType_NONE
+const Default_MessageMetadata_UncompressedSize uint32 = 0
+const Default_MessageMetadata_NumMessagesInBatch int32 = 1
+const Default_MessageMetadata_EventTime uint64 = 0
+const Default_MessageMetadata_PartitionKeyB64Encoded bool = false
+const Default_MessageMetadata_TxnidLeastBits uint64 = 0
+const Default_MessageMetadata_TxnidMostBits uint64 = 0
+const Default_MessageMetadata_HighestSequenceId uint64 = 0
+
+func (m *MessageMetadata) GetProducerName() string {
+	if m != nil && m.ProducerName != nil {
+		return *m.ProducerName
+	}
+	return ""
+}
+
+func (m *MessageMetadata) GetSequenceId() uint64 {
+	if m != nil && m.SequenceId != nil {
+		return *m.SequenceId
+	}
+	return 0
+}
+
+func (m *MessageMetadata) GetPublishTime() uint64 {
+	if m != nil && m.PublishTime != nil {
+		return *m.PublishTime
+	}
+	return 0
+}
+
+func (m *MessageMetadata) GetProperties() []*KeyValue {
+	if m != nil {
+		return m.Properties
+	}
+	return nil
+}
+
+func (m *MessageMetadata) GetReplicatedFrom() string {
+	if m != nil && m.ReplicatedFrom != nil {
+		return *m.ReplicatedFrom
+	}
+	return ""
+}
+
+func (m *MessageMetadata) GetPartitionKey() string {
+	if m != nil && m.PartitionKey != nil {
+		return *m.PartitionKey
+	}
+	return ""
+}
+
+func (m *MessageMetadata) GetReplicateTo() []string {
+	if m != nil {
+		return m.ReplicateTo
+	}
+	return nil
+}
+
+func (m *MessageMetadata) GetCompression() CompressionType {
+	if m != nil && m.Compression != nil {
+		return *m.Compression
+	}
+	return Default_MessageMetadata_Compression
+}
+
+func (m *MessageMetadata) GetUncompressedSize() uint32 {
+	if m != nil && m.UncompressedSize != nil {
+		return *m.UncompressedSize
+	}
+	return Default_MessageMetadata_UncompressedSize
+}
+
+func (m *MessageMetadata) GetNumMessagesInBatch() int32 {
+	if m != nil && m.NumMessagesInBatch != nil {
+		return *m.NumMessagesInBatch
+	}
+	return Default_MessageMetadata_NumMessagesInBatch
+}
+
+func (m *MessageMetadata) GetEventTime() uint64 {
+	if m != nil && m.EventTime != nil {
+		return *m.EventTime
+	}
+	return Default_MessageMetadata_EventTime
+}
+
+func (m *MessageMetadata) GetEncryptionKeys() []*EncryptionKeys {
+	if m != nil {
+		return m.EncryptionKeys
+	}
+	return nil
+}
+
+func (m *MessageMetadata) GetEncryptionAlgo() string {
+	if m != nil && m.EncryptionAlgo != nil {
+		return *m.EncryptionAlgo
+	}
+	return ""
+}
+
+func (m *MessageMetadata) GetEncryptionParam() []byte {
+	if m != nil {
+		return m.EncryptionParam
+	}
+	return nil
+}
+
+func (m *MessageMetadata) GetSchemaVersion() []byte {
+	if m != nil {
+		return m.SchemaVersion
+	}
+	return nil
+}
+
+func (m *MessageMetadata) GetPartitionKeyB64Encoded() bool {
+	if m != nil && m.PartitionKeyB64Encoded != nil {
+		return *m.PartitionKeyB64Encoded
+	}
+	return Default_MessageMetadata_PartitionKeyB64Encoded
+}
+
+func (m *MessageMetadata) GetOrderingKey() []byte {
+	if m != nil {
+		return m.OrderingKey
+	}
+	return nil
+}
+
+func (m *MessageMetadata) GetDeliverAtTime() int64 {
+	if m != nil && m.DeliverAtTime != nil {
+		return *m.DeliverAtTime
+	}
+	return 0
+}
+
+func (m *MessageMetadata) GetMarkerType() int32 {
+	if m != nil && m.MarkerType != nil {
+		return *m.MarkerType
+	}
+	return 0
+}
+
+func (m *MessageMetadata) GetTxnidLeastBits() uint64 {
+	if m != nil && m.TxnidLeastBits != nil {
+		return *m.TxnidLeastBits
+	}
+	return Default_MessageMetadata_TxnidLeastBits
+}
+
+func (m *MessageMetadata) GetTxnidMostBits() uint64 {
+	if m != nil && m.TxnidMostBits != nil {
+		return *m.TxnidMostBits
+	}
+	return Default_MessageMetadata_TxnidMostBits
+}
+
+func (m *MessageMetadata) GetHighestSequenceId() uint64 {
+	if m != nil && m.HighestSequenceId != nil {
+		return *m.HighestSequenceId
+	}
+	return Default_MessageMetadata_HighestSequenceId
+}
+
+type SingleMessageMetadata struct {
+	Properties   []*KeyValue `protobuf:"bytes,1,rep,name=properties" json:"properties,omitempty"`
+	PartitionKey *string     `protobuf:"bytes,2,opt,name=partition_key,json=partitionKey" json:"partition_key,omitempty"`
+	PayloadSize  *int32      `protobuf:"varint,3,req,name=payload_size,json=payloadSize" json:"payload_size,omitempty"`
+	CompactedOut *bool       `protobuf:"varint,4,opt,name=compacted_out,json=compactedOut,def=0" json:"compacted_out,omitempty"`
+	// the timestamp that this event occurs. it is typically set by applications.
+	// if this field is omitted, `publish_time` can be used for the purpose of `event_time`.
+	EventTime              *uint64 `protobuf:"varint,5,opt,name=event_time,json=eventTime,def=0" json:"event_time,omitempty"`
+	PartitionKeyB64Encoded *bool   `protobuf:"varint,6,opt,name=partition_key_b64_encoded,json=partitionKeyB64Encoded,def=0" json:"partition_key_b64_encoded,omitempty"`
+	// Specific a key to overwrite the message key which used for ordering dispatch in Key_Shared mode.
+	OrderingKey []byte `protobuf:"bytes,7,opt,name=ordering_key,json=orderingKey" json:"ordering_key,omitempty"`
+	// Allows consumer retrieve the sequence id that the producer set.
+	SequenceId           *uint64  `protobuf:"varint,8,opt,name=sequence_id,json=sequenceId" json:"sequence_id,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *SingleMessageMetadata) Reset()         { *m = SingleMessageMetadata{} }
+func (m *SingleMessageMetadata) String() string { return proto.CompactTextString(m) }
+func (*SingleMessageMetadata) ProtoMessage()    {}
+func (*SingleMessageMetadata) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{7}
+}
+func (m *SingleMessageMetadata) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *SingleMessageMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_SingleMessageMetadata.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *SingleMessageMetadata) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SingleMessageMetadata.Merge(m, src)
+}
+func (m *SingleMessageMetadata) XXX_Size() int {
+	return m.Size()
+}
+func (m *SingleMessageMetadata) XXX_DiscardUnknown() {
+	xxx_messageInfo_SingleMessageMetadata.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_SingleMessageMetadata proto.InternalMessageInfo
+
+const Default_SingleMessageMetadata_CompactedOut bool = false
+const Default_SingleMessageMetadata_EventTime uint64 = 0
+const Default_SingleMessageMetadata_PartitionKeyB64Encoded bool = false
+
+func (m *SingleMessageMetadata) GetProperties() []*KeyValue {
+	if m != nil {
+		return m.Properties
+	}
+	return nil
+}
+
+func (m *SingleMessageMetadata) GetPartitionKey() string {
+	if m != nil && m.PartitionKey != nil {
+		return *m.PartitionKey
+	}
+	return ""
+}
+
+func (m *SingleMessageMetadata) GetPayloadSize() int32 {
+	if m != nil && m.PayloadSize != nil {
+		return *m.PayloadSize
+	}
+	return 0
+}
+
+func (m *SingleMessageMetadata) GetCompactedOut() bool {
+	if m != nil && m.CompactedOut != nil {
+		return *m.CompactedOut
+	}
+	return Default_SingleMessageMetadata_CompactedOut
+}
+
+func (m *SingleMessageMetadata) GetEventTime() uint64 {
+	if m != nil && m.EventTime != nil {
+		return *m.EventTime
+	}
+	return Default_SingleMessageMetadata_EventTime
+}
+
+func (m *SingleMessageMetadata) GetPartitionKeyB64Encoded() bool {
+	if m != nil && m.PartitionKeyB64Encoded != nil {
+		return *m.PartitionKeyB64Encoded
+	}
+	return Default_SingleMessageMetadata_PartitionKeyB64Encoded
+}
+
+func (m *SingleMessageMetadata) GetOrderingKey() []byte {
+	if m != nil {
+		return m.OrderingKey
+	}
+	return nil
+}
+
+func (m *SingleMessageMetadata) GetSequenceId() uint64 {
+	if m != nil && m.SequenceId != nil {
+		return *m.SequenceId
+	}
+	return 0
+}
+
+type CommandConnect struct {
+	ClientVersion   *string     `protobuf:"bytes,1,req,name=client_version,json=clientVersion" json:"client_version,omitempty"`
+	AuthMethod      *AuthMethod `protobuf:"varint,2,opt,name=auth_method,json=authMethod,enum=pulsar.proto.AuthMethod" json:"auth_method,omitempty"`
+	AuthMethodName  *string     `protobuf:"bytes,5,opt,name=auth_method_name,json=authMethodName" json:"auth_method_name,omitempty"`
+	AuthData        []byte      `protobuf:"bytes,3,opt,name=auth_data,json=authData" json:"auth_data,omitempty"`
+	ProtocolVersion *int32      `protobuf:"varint,4,opt,name=protocol_version,json=protocolVersion,def=0" json:"protocol_version,omitempty"`
+	// Client can ask to be proxyied to a specific broker
+	// This is only honored by a Pulsar proxy
+	ProxyToBrokerUrl *string `protobuf:"bytes,6,opt,name=proxy_to_broker_url,json=proxyToBrokerUrl" json:"proxy_to_broker_url,omitempty"`
+	// Original principal that was verified by
+	// a Pulsar proxy. In this case the auth info above
+	// will be the auth of the proxy itself
+	OriginalPrincipal *string `protobuf:"bytes,7,opt,name=original_principal,json=originalPrincipal" json:"original_principal,omitempty"`
+	// Original auth role and auth Method that was passed
+	// to the proxy. In this case the auth info above
+	// will be the auth of the proxy itself
+	OriginalAuthData   *string `protobuf:"bytes,8,opt,name=original_auth_data,json=originalAuthData" json:"original_auth_data,omitempty"`
+	OriginalAuthMethod *string `protobuf:"bytes,9,opt,name=original_auth_method,json=originalAuthMethod" json:"original_auth_method,omitempty"`
+	// Feature flags
+	FeatureFlags         *FeatureFlags `protobuf:"bytes,10,opt,name=feature_flags,json=featureFlags" json:"feature_flags,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
+	XXX_unrecognized     []byte        `json:"-"`
+	XXX_sizecache        int32         `json:"-"`
+}
+
+func (m *CommandConnect) Reset()         { *m = CommandConnect{} }
+func (m *CommandConnect) String() string { return proto.CompactTextString(m) }
+func (*CommandConnect) ProtoMessage()    {}
+func (*CommandConnect) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{8}
+}
+func (m *CommandConnect) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *CommandConnect) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_CommandConnect.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *CommandConnect) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CommandConnect.Merge(m, src)
+}
+func (m *CommandConnect) XXX_Size() int {
+	return m.Size()
+}
+func (m *CommandConnect) XXX_DiscardUnknown() {
+	xxx_messageInfo_CommandConnect.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CommandConnect proto.InternalMessageInfo
+
+const Default_CommandConnect_ProtocolVersion int32 = 0
+
+func (m *CommandConnect) GetClientVersion() string {
+	if m != nil && m.ClientVersion != nil {
+		return *m.ClientVersion
+	}
+	return ""
+}
+
+func (m *CommandConnect) GetAuthMethod() AuthMethod {
+	if m != nil && m.AuthMethod != nil {
+		return *m.AuthMethod
+	}
+	return AuthMethod_AuthMethodNone
+}
+
+func (m *CommandConnect) GetAuthMethodName() string {
+	if m != nil && m.AuthMethodName != nil {
+		return *m.AuthMethodName
+	}
+	return ""
+}
+
+func (m *CommandConnect) GetAuthData() []byte {
+	if m != nil {
+		return m.AuthData
+	}
+	return nil
+}
+
+func (m *CommandConnect) GetProtocolVersion() int32 {
+	if m != nil && m.ProtocolVersion != nil {
+		return *m.ProtocolVersion
+	}
+	return Default_CommandConnect_ProtocolVersion
+}
+
+func (m *CommandConnect) GetProxyToBrokerUrl() string {
+	if m != nil && m.ProxyToBrokerUrl != nil {
+		return *m.ProxyToBrokerUrl
+	}
+	return ""
+}
+
+func (m *CommandConnect) GetOriginalPrincipal() string {
+	if m != nil && m.OriginalPrincipal != nil {
+		return *m.OriginalPrincipal
+	}
+	return ""
+}
+
+func (m *CommandConnect) GetOriginalAuthData() string {
+	if m != nil && m.OriginalAuthData != nil {
+		return *m.OriginalAuthData
+	}
+	return ""
+}
+
+func (m *CommandConnect) GetOriginalAuthMethod() string {
+	if m != nil && m.OriginalAuthMethod != nil {
+		return *m.OriginalAuthMethod
+	}
+	return ""
+}
+
+func (m *CommandConnect) GetFeatureFlags() *FeatureFlags {
+	if m != nil {
+		return m.FeatureFlags
+	}
+	return nil
+}
+
+type FeatureFlags struct {
+	SupportsAuthRefresh  *bool    `protobuf:"varint,1,opt,name=supports_auth_refresh,json=supportsAuthRefresh,def=0" json:"supports_auth_refresh,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *FeatureFlags) Reset()         { *m = FeatureFlags{} }
+func (m *FeatureFlags) String() string { return proto.CompactTextString(m) }
+func (*FeatureFlags) ProtoMessage()    {}
+func (*FeatureFlags) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{9}
+}
+func (m *FeatureFlags) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *FeatureFlags) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_FeatureFlags.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *FeatureFlags) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_FeatureFlags.Merge(m, src)
+}
+func (m *FeatureFlags) XXX_Size() int {
+	return m.Size()
+}
+func (m *FeatureFlags) XXX_DiscardUnknown() {
+	xxx_messageInfo_FeatureFlags.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_FeatureFlags proto.InternalMessageInfo
+
+const Default_FeatureFlags_SupportsAuthRefresh bool = false
+
+func (m *FeatureFlags) GetSupportsAuthRefresh() bool {
+	if m != nil && m.SupportsAuthRefresh != nil {
+		return *m.SupportsAuthRefresh
+	}
+	return Default_FeatureFlags_SupportsAuthRefresh
+}
+
+type CommandConnected struct {
+	ServerVersion        *string  `protobuf:"bytes,1,req,name=server_version,json=serverVersion" json:"server_version,omitempty"`
+	ProtocolVersion      *int32   `protobuf:"varint,2,opt,name=protocol_version,json=protocolVersion,def=0" json:"protocol_version,omitempty"`
+	MaxMessageSize       *int32   `protobuf:"varint,3,opt,name=max_message_size,json=maxMessageSize" json:"max_message_size,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *CommandConnected) Reset()         { *m = CommandConnected{} }
+func (m *CommandConnected) String() string { return proto.CompactTextString(m) }
+func (*CommandConnected) ProtoMessage()    {}
+func (*CommandConnected) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{10}
+}
+func (m *CommandConnected) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *CommandConnected) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_CommandConnected.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *CommandConnected) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CommandConnected.Merge(m, src)
+}
+func (m *CommandConnected) XXX_Size() int {
+	return m.Size()
+}
+func (m *CommandConnected) XXX_DiscardUnknown() {
+	xxx_messageInfo_CommandConnected.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CommandConnected proto.InternalMessageInfo
+
+const Default_CommandConnected_ProtocolVersion int32 = 0
+
+func (m *CommandConnected) GetServerVersion() string {
+	if m != nil && m.ServerVersion != nil {
+		return *m.ServerVersion
+	}
+	return ""
+}
+
+func (m *CommandConnected) GetProtocolVersion() int32 {
+	if m != nil && m.ProtocolVersion != nil {
+		return *m.ProtocolVersion
+	}
+	return Default_CommandConnected_ProtocolVersion
+}
+
+func (m *CommandConnected) GetMaxMessageSize() int32 {
+	if m != nil && m.MaxMessageSize != nil {
+		return *m.MaxMessageSize
+	}
+	return 0
+}
+
+type CommandAuthResponse struct {
+	ClientVersion        *string   `protobuf:"bytes,1,opt,name=client_version,json=clientVersion" json:"client_version,omitempty"`
+	Response             *AuthData `protobuf:"bytes,2,opt,name=response" json:"response,omitempty"`
+	ProtocolVersion      *int32    `protobuf:"varint,3,opt,name=protocol_version,json=protocolVersion,def=0" json:"protocol_version,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
+	XXX_unrecognized     []byte    `json:"-"`
+	XXX_sizecache        int32     `json:"-"`
+}
+
+func (m *CommandAuthResponse) Reset()         { *m = CommandAuthResponse{} }
+func (m *CommandAuthResponse) String() string { return proto.CompactTextString(m) }
+func (*CommandAuthResponse) ProtoMessage()    {}
+func (*CommandAuthResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{11}
+}
+func (m *CommandAuthResponse) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *CommandAuthResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_CommandAuthResponse.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *CommandAuthResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CommandAuthResponse.Merge(m, src)
+}
+func (m *CommandAuthResponse) XXX_Size() int {
+	return m.Size()
+}
+func (m *CommandAuthResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_CommandAuthResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CommandAuthResponse proto.InternalMessageInfo
+
+const Default_CommandAuthResponse_ProtocolVersion int32 = 0
+
+func (m *CommandAuthResponse) GetClientVersion() string {
+	if m != nil && m.ClientVersion != nil {
+		return *m.ClientVersion
+	}
+	return ""
+}
+
+func (m *CommandAuthResponse) GetResponse() *AuthData {
+	if m != nil {
+		return m.Response
+	}
+	return nil
+}
+
+func (m *CommandAuthResponse) GetProtocolVersion() int32 {
+	if m != nil && m.ProtocolVersion != nil {
+		return *m.ProtocolVersion
+	}
+	return Default_CommandAuthResponse_ProtocolVersion
+}
+
+type CommandAuthChallenge struct {
+	ServerVersion        *string   `protobuf:"bytes,1,opt,name=server_version,json=serverVersion" json:"server_version,omitempty"`
+	Challenge            *AuthData `protobuf:"bytes,2,opt,name=challenge" json:"challenge,omitempty"`
+	ProtocolVersion      *int32    `protobuf:"varint,3,opt,name=protocol_version,json=protocolVersion,def=0" json:"protocol_version,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
+	XXX_unrecognized     []byte    `json:"-"`
+	XXX_sizecache        int32     `json:"-"`
+}
+
+func (m *CommandAuthChallenge) Reset()         { *m = CommandAuthChallenge{} }
+func (m *CommandAuthChallenge) String() string { return proto.CompactTextString(m) }
+func (*CommandAuthChallenge) ProtoMessage()    {}
+func (*CommandAuthChallenge) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{12}
+}
+func (m *CommandAuthChallenge) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *CommandAuthChallenge) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_CommandAuthChallenge.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *CommandAuthChallenge) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CommandAuthChallenge.Merge(m, src)
+}
+func (m *CommandAuthChallenge) XXX_Size() int {
+	return m.Size()
+}
+func (m *CommandAuthChallenge) XXX_DiscardUnknown() {
+	xxx_messageInfo_CommandAuthChallenge.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CommandAuthChallenge proto.InternalMessageInfo
+
+const Default_CommandAuthChallenge_ProtocolVersion int32 = 0
+
+func (m *CommandAuthChallenge) GetServerVersion() string {
+	if m != nil && m.ServerVersion != nil {
+		return *m.ServerVersion
+	}
+	return ""
+}
+
+func (m *CommandAuthChallenge) GetChallenge() *AuthData {
+	if m != nil {
+		return m.Challenge
+	}
+	return nil
+}
+
+func (m *CommandAuthChallenge) GetProtocolVersion() int32 {
+	if m != nil && m.ProtocolVersion != nil {
+		return *m.ProtocolVersion
+	}
+	return Default_CommandAuthChallenge_ProtocolVersion
+}
+
+// To support mutual authentication type, such as Sasl, reuse this command to mutual auth.
+type AuthData struct {
+	AuthMethodName       *string  `protobuf:"bytes,1,opt,name=auth_method_name,json=authMethodName" json:"auth_method_name,omitempty"`
+	AuthData             []byte   `protobuf:"bytes,2,opt,name=auth_data,json=authData" json:"auth_data,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *AuthData) Reset()         { *m = AuthData{} }
+func (m *AuthData) String() string { return proto.CompactTextString(m) }
+func (*AuthData) ProtoMessage()    {}
+func (*AuthData) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{13}
+}
+func (m *AuthData) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *AuthData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_AuthData.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *AuthData) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_AuthData.Merge(m, src)
+}
+func (m *AuthData) XXX_Size() int {
+	return m.Size()
+}
+func (m *AuthData) XXX_DiscardUnknown() {
+	xxx_messageInfo_AuthData.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AuthData proto.InternalMessageInfo
+
+func (m *AuthData) GetAuthMethodName() string {
+	if m != nil && m.AuthMethodName != nil {
+		return *m.AuthMethodName
+	}
+	return ""
+}
+
+func (m *AuthData) GetAuthData() []byte {
+	if m != nil {
+		return m.AuthData
+	}
+	return nil
+}
+
+type KeySharedMeta struct {
+	KeySharedMode           *KeySharedMode `protobuf:"varint,1,req,name=keySharedMode,enum=pulsar.proto.KeySharedMode" json:"keySharedMode,omitempty"`
+	HashRanges              []*IntRange    `protobuf:"bytes,3,rep,name=hashRanges" json:"hashRanges,omitempty"`
+	AllowOutOfOrderDelivery *bool          `protobuf:"varint,4,opt,name=allowOutOfOrderDelivery,def=0" json:"allowOutOfOrderDelivery,omitempty"`
+	XXX_NoUnkeyedLiteral    struct{}       `json:"-"`
+	XXX_unrecognized        []byte         `json:"-"`
+	XXX_sizecache           int32          `json:"-"`
+}
+
+func (m *KeySharedMeta) Reset()         { *m = KeySharedMeta{} }
+func (m *KeySharedMeta) String() string { return proto.CompactTextString(m) }
+func (*KeySharedMeta) ProtoMessage()    {}
+func (*KeySharedMeta) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{14}
+}
+func (m *KeySharedMeta) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *KeySharedMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_KeySharedMeta.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *KeySharedMeta) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_KeySharedMeta.Merge(m, src)
+}
+func (m *KeySharedMeta) XXX_Size() int {
+	return m.Size()
+}
+func (m *KeySharedMeta) XXX_DiscardUnknown() {
+	xxx_messageInfo_KeySharedMeta.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_KeySharedMeta proto.InternalMessageInfo
+
+const Default_KeySharedMeta_AllowOutOfOrderDelivery bool = false
+
+func (m *KeySharedMeta) GetKeySharedMode() KeySharedMode {
+	if m != nil && m.KeySharedMode != nil {
+		return *m.KeySharedMode
+	}
+	return KeySharedMode_AUTO_SPLIT
+}
+
+func (m *KeySharedMeta) GetHashRanges() []*IntRange {
+	if m != nil {
+		return m.HashRanges
+	}
+	return nil
+}
+
+func (m *KeySharedMeta) GetAllowOutOfOrderDelivery() bool {
+	if m != nil && m.AllowOutOfOrderDelivery != nil {
+		return *m.AllowOutOfOrderDelivery
+	}
+	return Default_KeySharedMeta_AllowOutOfOrderDelivery
+}
+
+type CommandSubscribe struct {
+	Topic         *string                   `protobuf:"bytes,1,req,name=topic" json:"topic,omitempty"`
+	Subscription  *string                   `protobuf:"bytes,2,req,name=subscription" json:"subscription,omitempty"`
+	SubType       *CommandSubscribe_SubType `protobuf:"varint,3,req,name=subType,enum=pulsar.proto.CommandSubscribe_SubType" json:"subType,omitempty"`
+	ConsumerId    *uint64                   `protobuf:"varint,4,req,name=consumer_id,json=consumerId" json:"consumer_id,omitempty"`
+	RequestId     *uint64                   `protobuf:"varint,5,req,name=request_id,json=requestId" json:"request_id,omitempty"`
+	ConsumerName  *string                   `protobuf:"bytes,6,opt,name=consumer_name,json=consumerName" json:"consumer_name,omitempty"`
+	PriorityLevel *int32                    `protobuf:"varint,7,opt,name=priority_level,json=priorityLevel" json:"priority_level,omitempty"`
+	// Signal wether the subscription should be backed by a
+	// durable cursor or not
+	Durable *bool `protobuf:"varint,8,opt,name=durable,def=1" json:"durable,omitempty"`
+	// If specified, the subscription will position the cursor
+	// markd-delete position  on the particular message id and
+	// will send messages from that point
+	StartMessageId *MessageIdData `protobuf:"bytes,9,opt,name=start_message_id,json=startMessageId" json:"start_message_id,omitempty"`
+	/// Add optional metadata key=value to this consumer
+	Metadata      []*KeyValue `protobuf:"bytes,10,rep,name=metadata" json:"metadata,omitempty"`
+	ReadCompacted *bool       `protobuf:"varint,11,opt,name=read_compacted,json=readCompacted" json:"read_compacted,omitempty"`
+	Schema        *Schema     `protobuf:"bytes,12,opt,name=schema" json:"schema,omitempty"`
+	// Signal whether the subscription will initialize on latest
+	// or not -- earliest
+	InitialPosition *CommandSubscribe_InitialPosition `protobuf:"varint,13,opt,name=initialPosition,enum=pulsar.proto.CommandSubscribe_InitialPosition,def=0" json:"initialPosition,omitempty"`
+	// Mark the subscription as "replicated". Pulsar will make sure
+	// to periodically sync the state of replicated subscriptions
+	// across different clusters (when using geo-replication).
+	ReplicateSubscriptionState *bool `protobuf:"varint,14,opt,name=replicate_subscription_state,json=replicateSubscriptionState" json:"replicate_subscription_state,omitempty"`
+	// If true, the subscribe operation will cause a topic to be
+	// created if it does not exist already (and if topic auto-creation
+	// is allowed by broker.
+	// If false, the subscribe operation will fail if the topic
+	// does not exist.
+	ForceTopicCreation *bool `protobuf:"varint,15,opt,name=force_topic_creation,json=forceTopicCreation,def=1" json:"force_topic_creation,omitempty"`
+	// If specified, the subscription will reset cursor's position back
+	// to specified seconds and  will send messages from that point
+	StartMessageRollbackDurationSec *uint64        `protobuf:"varint,16,opt,name=start_message_rollback_duration_sec,json=startMessageRollbackDurationSec,def=0" json:"start_message_rollback_duration_sec,omitempty"`
+	KeySharedMeta                   *KeySharedMeta `protobuf:"bytes,17,opt,name=keySharedMeta" json:"keySharedMeta,omitempty"`
+	XXX_NoUnkeyedLiteral            struct{}       `json:"-"`
+	XXX_unrecognized                []byte         `json:"-"`
+	XXX_sizecache                   int32          `json:"-"`
+}
+
+func (m *CommandSubscribe) Reset()         { *m = CommandSubscribe{} }
+func (m *CommandSubscribe) String() string { return proto.CompactTextString(m) }
+func (*CommandSubscribe) ProtoMessage()    {}
+func (*CommandSubscribe) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{15}
+}
+func (m *CommandSubscribe) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *CommandSubscribe) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_CommandSubscribe.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *CommandSubscribe) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CommandSubscribe.Merge(m, src)
+}
+func (m *CommandSubscribe) XXX_Size() int {
+	return m.Size()
+}
+func (m *CommandSubscribe) XXX_DiscardUnknown() {
+	xxx_messageInfo_CommandSubscribe.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CommandSubscribe proto.InternalMessageInfo
+
+const Default_CommandSubscribe_Durable bool = true
+const Default_CommandSubscribe_InitialPosition CommandSubscribe_InitialPosition = CommandSubscribe_Latest
+const Default_CommandSubscribe_ForceTopicCreation bool = true
+const Default_CommandSubscribe_StartMessageRollbackDurationSec uint64 = 0
+
+func (m *CommandSubscribe) GetTopic() string {
+	if m != nil && m.Topic != nil {
+		return *m.Topic
+	}
+	return ""
+}
+
+func (m *CommandSubscribe) GetSubscription() string {
+	if m != nil && m.Subscription != nil {
+		return *m.Subscription
+	}
+	return ""
+}
+
+func (m *CommandSubscribe) GetSubType() CommandSubscribe_SubType {
+	if m != nil && m.SubType != nil {
+		return *m.SubType
+	}
+	return CommandSubscribe_Exclusive
+}
+
+func (m *CommandSubscribe) GetConsumerId() uint64 {
+	if m != nil && m.ConsumerId != nil {
+		return *m.ConsumerId
+	}
+	return 0
+}
+
+func (m *CommandSubscribe) GetRequestId() uint64 {
+	if m != nil && m.RequestId != nil {
+		return *m.RequestId
+	}
+	return 0
+}
+
+func (m *CommandSubscribe) GetConsumerName() string {
+	if m != nil && m.ConsumerName != nil {
+		return *m.ConsumerName
+	}
+	return ""
+}
+
+func (m *CommandSubscribe) GetPriorityLevel() int32 {
+	if m != nil && m.PriorityLevel != nil {
+		return *m.PriorityLevel
+	}
+	return 0
+}
+
+func (m *CommandSubscribe) GetDurable() bool {
+	if m != nil && m.Durable != nil {
+		return *m.Durable
+	}
+	return Default_CommandSubscribe_Durable
+}
+
+func (m *CommandSubscribe) GetStartMessageId() *MessageIdData {
+	if m != nil {
+		return m.StartMessageId
+	}
+	return nil
+}
+
+func (m *CommandSubscribe) GetMetadata() []*KeyValue {
+	if m != nil {
+		return m.Metadata
+	}
+	return nil
+}
+
+func (m *CommandSubscribe) GetReadCompacted() bool {
+	if m != nil && m.ReadCompacted != nil {
+		return *m.ReadCompacted
+	}
+	return false
+}
+
+func (m *CommandSubscribe) GetSchema() *Schema {
+	if m != nil {
+		return m.Schema
+	}
+	return nil
+}
+
+func (m *CommandSubscribe) GetInitialPosition() CommandSubscribe_InitialPosition {
+	if m != nil && m.InitialPosition != nil {
+		return *m.InitialPosition
+	}
+	return Default_CommandSubscribe_InitialPosition
+}
+
+func (m *CommandSubscribe) GetReplicateSubscriptionState() bool {
+	if m != nil && m.ReplicateSubscriptionState != nil {
+		return *m.ReplicateSubscriptionState
+	}
+	return false
+}
+
+func (m *CommandSubscribe) GetForceTopicCreation() bool {
+	if m != nil && m.ForceTopicCreation != nil {
+		return *m.ForceTopicCreation
+	}
+	return Default_CommandSubscribe_ForceTopicCreation
+}
+
+func (m *CommandSubscribe) GetStartMessageRollbackDurationSec() uint64 {
+	if m != nil && m.StartMessageRollbackDurationSec != nil {
+		return *m.StartMessageRollbackDurationSec
+	}
+	return Default_CommandSubscribe_StartMessageRollbackDurationSec
+}
+
+func (m *CommandSubscribe) GetKeySharedMeta() *KeySharedMeta {
+	if m != nil {
+		return m.KeySharedMeta
+	}
+	return nil
+}
+
+type CommandPartitionedTopicMetadata struct {
+	Topic     *string `protobuf:"bytes,1,req,name=topic" json:"topic,omitempty"`
+	RequestId *uint64 `protobuf:"varint,2,req,name=request_id,json=requestId" json:"request_id,omitempty"`
+	// TODO - Remove original_principal, original_auth_data, original_auth_method
+	// Original principal that was verified by
+	// a Pulsar proxy.
+	OriginalPrincipal *string `protobuf:"bytes,3,opt,name=original_principal,json=originalPrincipal" json:"original_principal,omitempty"`
+	// Original auth role and auth Method that was passed
+	// to the proxy.
+	OriginalAuthData     *string  `protobuf:"bytes,4,opt,name=original_auth_data,json=originalAuthData" json:"original_auth_data,omitempty"`
+	OriginalAuthMethod   *string  `protobuf:"bytes,5,opt,name=original_auth_method,json=originalAuthMethod" json:"original_auth_method,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *CommandPartitionedTopicMetadata) Reset()         { *m = CommandPartitionedTopicMetadata{} }
+func (m *CommandPartitionedTopicMetadata) String() string { return proto.CompactTextString(m) }
+func (*CommandPartitionedTopicMetadata) ProtoMessage()    {}
+func (*CommandPartitionedTopicMetadata) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{16}
+}
+func (m *CommandPartitionedTopicMetadata) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *CommandPartitionedTopicMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_CommandPartitionedTopicMetadata.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *CommandPartitionedTopicMetadata) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CommandPartitionedTopicMetadata.Merge(m, src)
+}
+func (m *CommandPartitionedTopicMetadata) XXX_Size() int {
+	return m.Size()
+}
+func (m *CommandPartitionedTopicMetadata) XXX_DiscardUnknown() {
+	xxx_messageInfo_CommandPartitionedTopicMetadata.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CommandPartitionedTopicMetadata proto.InternalMessageInfo
+
+func (m *CommandPartitionedTopicMetadata) GetTopic() string {
+	if m != nil && m.Topic != nil {
+		return *m.Topic
+	}
+	return ""
+}
+
+func (m *CommandPartitionedTopicMetadata) GetRequestId() uint64 {
+	if m != nil && m.RequestId != nil {
+		return *m.RequestId
+	}
+	return 0
+}
+
+func (m *CommandPartitionedTopicMetadata) GetOriginalPrincipal() string {
+	if m != nil && m.OriginalPrincipal != nil {
+		return *m.OriginalPrincipal
+	}
+	return ""
+}
+
+func (m *CommandPartitionedTopicMetadata) GetOriginalAuthData() string {
+	if m != nil && m.OriginalAuthData != nil {
+		return *m.OriginalAuthData
+	}
+	return ""
+}
+
+func (m *CommandPartitionedTopicMetadata) GetOriginalAuthMethod() string {
+	if m != nil && m.OriginalAuthMethod != nil {
+		return *m.OriginalAuthMethod
+	}
+	return ""
+}
+
+type CommandPartitionedTopicMetadataResponse struct {
+	Partitions           *uint32                                             `protobuf:"varint,1,opt,name=partitions" json:"partitions,omitempty"`
+	RequestId            *uint64                                             `protobuf:"varint,2,req,name=request_id,json=requestId" json:"request_id,omitempty"`
+	Response             *CommandPartitionedTopicMetadataResponse_LookupType `protobuf:"varint,3,opt,name=response,enum=pulsar.proto.CommandPartitionedTopicMetadataResponse_LookupType" json:"response,omitempty"`
+	Error                *ServerError                                        `protobuf:"varint,4,opt,name=error,enum=pulsar.proto.ServerError" json:"error,omitempty"`
+	Message              *string                                             `protobuf:"bytes,5,opt,name=message" json:"message,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                                            `json:"-"`
+	XXX_unrecognized     []byte                                              `json:"-"`
+	XXX_sizecache        int32                                               `json:"-"`
+}
+
+func (m *CommandPartitionedTopicMetadataResponse) Reset() {
+	*m = CommandPartitionedTopicMetadataResponse{}
+}
+func (m *CommandPartitionedTopicMetadataResponse) String() string { return proto.CompactTextString(m) }
+func (*CommandPartitionedTopicMetadataResponse) ProtoMessage()    {}
+func (*CommandPartitionedTopicMetadataResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{17}
+}
+func (m *CommandPartitionedTopicMetadataResponse) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *CommandPartitionedTopicMetadataResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_CommandPartitionedTopicMetadataResponse.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *CommandPartitionedTopicMetadataResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CommandPartitionedTopicMetadataResponse.Merge(m, src)
+}
+func (m *CommandPartitionedTopicMetadataResponse) XXX_Size() int {
+	return m.Size()
+}
+func (m *CommandPartitionedTopicMetadataResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_CommandPartitionedTopicMetadataResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CommandPartitionedTopicMetadataResponse proto.InternalMessageInfo
+
+func (m *CommandPartitionedTopicMetadataResponse) GetPartitions() uint32 {
+	if m != nil && m.Partitions != nil {
+		return *m.Partitions
+	}
+	return 0
+}
+
+func (m *CommandPartitionedTopicMetadataResponse) GetRequestId() uint64 {
+	if m != nil && m.RequestId != nil {
+		return *m.RequestId
+	}
+	return 0
+}
+
+func (m *CommandPartitionedTopicMetadataResponse) GetResponse() CommandPartitionedTopicMetadataResponse_LookupType {
+	if m != nil && m.Response != nil {
+		return *m.Response
+	}
+	return CommandPartitionedTopicMetadataResponse_Success
+}
+
+func (m *CommandPartitionedTopicMetadataResponse) GetError() ServerError {
+	if m != nil && m.Error != nil {
+		return *m.Error
+	}
+	return ServerError_UnknownError
+}
+
+func (m *CommandPartitionedTopicMetadataResponse) GetMessage() string {
+	if m != nil && m.Message != nil {
+		return *m.Message
+	}
+	return ""
+}
+
+type CommandLookupTopic struct {
+	Topic         *string `protobuf:"bytes,1,req,name=topic" json:"topic,omitempty"`
+	RequestId     *uint64 `protobuf:"varint,2,req,name=request_id,json=requestId" json:"request_id,omitempty"`
+	Authoritative *bool   `protobuf:"varint,3,opt,name=authoritative,def=0" json:"authoritative,omitempty"`
+	// TODO - Remove original_principal, original_auth_data, original_auth_method
+	// Original principal that was verified by
+	// a Pulsar proxy.
+	OriginalPrincipal *string `protobuf:"bytes,4,opt,name=original_principal,json=originalPrincipal" json:"original_principal,omitempty"`
+	// Original auth role and auth Method that was passed
+	// to the proxy.
+	OriginalAuthData     *string  `protobuf:"bytes,5,opt,name=original_auth_data,json=originalAuthData" json:"original_auth_data,omitempty"`
+	OriginalAuthMethod   *string  `protobuf:"bytes,6,opt,name=original_auth_method,json=originalAuthMethod" json:"original_auth_method,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *CommandLookupTopic) Reset()         { *m = CommandLookupTopic{} }
+func (m *CommandLookupTopic) String() string { return proto.CompactTextString(m) }
+func (*CommandLookupTopic) ProtoMessage()    {}
+func (*CommandLookupTopic) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{18}
+}
+func (m *CommandLookupTopic) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *CommandLookupTopic) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_CommandLookupTopic.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *CommandLookupTopic) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CommandLookupTopic.Merge(m, src)
+}
+func (m *CommandLookupTopic) XXX_Size() int {
+	return m.Size()
+}
+func (m *CommandLookupTopic) XXX_DiscardUnknown() {
+	xxx_messageInfo_CommandLookupTopic.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CommandLookupTopic proto.InternalMessageInfo
+
+const Default_CommandLookupTopic_Authoritative bool = false
+
+func (m *CommandLookupTopic) GetTopic() string {
+	if m != nil && m.Topic != nil {
+		return *m.Topic
+	}
+	return ""
+}
+
+func (m *CommandLookupTopic) GetRequestId() uint64 {
+	if m != nil && m.RequestId != nil {
+		return *m.RequestId
+	}
+	return 0
+}
+
+func (m *CommandLookupTopic) GetAuthoritative() bool {
+	if m != nil && m.Authoritative != nil {
+		return *m.Authoritative
+	}
+	return Default_CommandLookupTopic_Authoritative
+}
+
+func (m *CommandLookupTopic) GetOriginalPrincipal() string {
+	if m != nil && m.OriginalPrincipal != nil {
+		return *m.OriginalPrincipal
+	}
+	return ""
+}
+
+func (m *CommandLookupTopic) GetOriginalAuthData() string {
+	if m != nil && m.OriginalAuthData != nil {
+		return *m.OriginalAuthData
+	}
+	return ""
+}
+
+func (m *CommandLookupTopic) GetOriginalAuthMethod() string {
+	if m != nil && m.OriginalAuthMethod != nil {
+		return *m.OriginalAuthMethod
+	}
+	return ""
+}
+
+type CommandLookupTopicResponse struct {
+	BrokerServiceUrl    *string                                `protobuf:"bytes,1,opt,name=brokerServiceUrl" json:"brokerServiceUrl,omitempty"`
+	BrokerServiceUrlTls *string                                `protobuf:"bytes,2,opt,name=brokerServiceUrlTls" json:"brokerServiceUrlTls,omitempty"`
+	Response            *CommandLookupTopicResponse_LookupType `protobuf:"varint,3,opt,name=response,enum=pulsar.proto.CommandLookupTopicResponse_LookupType" json:"response,omitempty"`
+	RequestId           *uint64                                `protobuf:"varint,4,req,name=request_id,json=requestId" json:"request_id,omitempty"`
+	Authoritative       *bool                                  `protobuf:"varint,5,opt,name=authoritative,def=0" json:"authoritative,omitempty"`
+	Error               *ServerError                           `protobuf:"varint,6,opt,name=error,enum=pulsar.proto.ServerError" json:"error,omitempty"`
+	Message             *string                                `protobuf:"bytes,7,opt,name=message" json:"message,omitempty"`
+	// If it's true, indicates to the client that it must
+	// always connect through the service url after the
+	// lookup has been completed.
+	ProxyThroughServiceUrl *bool    `protobuf:"varint,8,opt,name=proxy_through_service_url,json=proxyThroughServiceUrl,def=0" json:"proxy_through_service_url,omitempty"`
+	XXX_NoUnkeyedLiteral   struct{} `json:"-"`
+	XXX_unrecognized       []byte   `json:"-"`
+	XXX_sizecache          int32    `json:"-"`
+}
+
+func (m *CommandLookupTopicResponse) Reset()         { *m = CommandLookupTopicResponse{} }
+func (m *CommandLookupTopicResponse) String() string { return proto.CompactTextString(m) }
+func (*CommandLookupTopicResponse) ProtoMessage()    {}
+func (*CommandLookupTopicResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{19}
+}
+func (m *CommandLookupTopicResponse) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *CommandLookupTopicResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_CommandLookupTopicResponse.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *CommandLookupTopicResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CommandLookupTopicResponse.Merge(m, src)
+}
+func (m *CommandLookupTopicResponse) XXX_Size() int {
+	return m.Size()
+}
+func (m *CommandLookupTopicResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_CommandLookupTopicResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CommandLookupTopicResponse proto.InternalMessageInfo
+
+const Default_CommandLookupTopicResponse_Authoritative bool = false
+const Default_CommandLookupTopicResponse_ProxyThroughServiceUrl bool = false
+
+func (m *CommandLookupTopicResponse) GetBrokerServiceUrl() string {
+	if m != nil && m.BrokerServiceUrl != nil {
+		return *m.BrokerServiceUrl
+	}
+	return ""
+}
+
+func (m *CommandLookupTopicResponse) GetBrokerServiceUrlTls() string {
+	if m != nil && m.BrokerServiceUrlTls != nil {
+		return *m.BrokerServiceUrlTls
+	}
+	return ""
+}
+
+func (m *CommandLookupTopicResponse) GetResponse() CommandLookupTopicResponse_LookupType {
+	if m != nil && m.Response != nil {
+		return *m.Response
+	}
+	return CommandLookupTopicResponse_Redirect
+}
+
+func (m *CommandLookupTopicResponse) GetRequestId() uint64 {
+	if m != nil && m.RequestId != nil {
+		return *m.RequestId
+	}
+	return 0
+}
+
+func (m *CommandLookupTopicResponse) GetAuthoritative() bool {
+	if m != nil && m.Authoritative != nil {
+		return *m.Authoritative
+	}
+	return Default_CommandLookupTopicResponse_Authoritative
+}
+
+func (m *CommandLookupTopicResponse) GetError() ServerError {
+	if m != nil && m.Error != nil {
+		return *m.Error
+	}
+	return ServerError_UnknownError
+}
+
+func (m *CommandLookupTopicResponse) GetMessage() string {
+	if m != nil && m.Message != nil {
+		return *m.Message
+	}
+	return ""
+}
+
+func (m *CommandLookupTopicResponse) GetProxyThroughServiceUrl() bool {
+	if m != nil && m.ProxyThroughServiceUrl != nil {
+		return *m.ProxyThroughServiceUrl
+	}
+	return Default_CommandLookupTopicResponse_ProxyThroughServiceUrl
+}
+
+/// Create a new Producer on a topic, assigning the given producer_id,
+/// all messages sent with this producer_id will be persisted on the topic
+type CommandProducer struct {
+	Topic      *string `protobuf:"bytes,1,req,name=topic" json:"topic,omitempty"`
+	ProducerId *uint64 `protobuf:"varint,2,req,name=producer_id,json=producerId" json:"producer_id,omitempty"`
+	RequestId  *uint64 `protobuf:"varint,3,req,name=request_id,json=requestId" json:"request_id,omitempty"`
+	/// If a producer name is specified, the name will be used,
+	/// otherwise the broker will generate a unique name
+	ProducerName *string `protobuf:"bytes,4,opt,name=producer_name,json=producerName" json:"producer_name,omitempty"`
+	Encrypted    *bool   `protobuf:"varint,5,opt,name=encrypted,def=0" json:"encrypted,omitempty"`
+	/// Add optional metadata key=value to this producer
+	Metadata []*KeyValue `protobuf:"bytes,6,rep,name=metadata" json:"metadata,omitempty"`
+	Schema   *Schema     `protobuf:"bytes,7,opt,name=schema" json:"schema,omitempty"`
+	// If producer reconnect to broker, the epoch of this producer will +1
+	Epoch *uint64 `protobuf:"varint,8,opt,name=epoch,def=0" json:"epoch,omitempty"`
+	// Indicate the name of the producer is generated or user provided
+	// Use default true here is in order to be forward compatible with the client
+	UserProvidedProducerName *bool    `protobuf:"varint,9,opt,name=user_provided_producer_name,json=userProvidedProducerName,def=1" json:"user_provided_producer_name,omitempty"`
+	XXX_NoUnkeyedLiteral     struct{} `json:"-"`
+	XXX_unrecognized         []byte   `json:"-"`
+	XXX_sizecache            int32    `json:"-"`
+}
+
+func (m *CommandProducer) Reset()         { *m = CommandProducer{} }
+func (m *CommandProducer) String() string { return proto.CompactTextString(m) }
+func (*CommandProducer) ProtoMessage()    {}
+func (*CommandProducer) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{20}
+}
+func (m *CommandProducer) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *CommandProducer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_CommandProducer.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *CommandProducer) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CommandProducer.Merge(m, src)
+}
+func (m *CommandProducer) XXX_Size() int {
+	return m.Size()
+}
+func (m *CommandProducer) XXX_DiscardUnknown() {
+	xxx_messageInfo_CommandProducer.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CommandProducer proto.InternalMessageInfo
+
+const Default_CommandProducer_Encrypted bool = false
+const Default_CommandProducer_Epoch uint64 = 0
+const Default_CommandProducer_UserProvidedProducerName bool = true
+
+func (m *CommandProducer) GetTopic() string {
+	if m != nil && m.Topic != nil {
+		return *m.Topic
+	}
+	return ""
+}
+
+func (m *CommandProducer) GetProducerId() uint64 {
+	if m != nil && m.ProducerId != nil {
+		return *m.ProducerId
+	}
+	return 0
+}
+
+func (m *CommandProducer) GetRequestId() uint64 {
+	if m != nil && m.RequestId != nil {
+		return *m.RequestId
+	}
+	return 0
+}
+
+func (m *CommandProducer) GetProducerName() string {
+	if m != nil && m.ProducerName != nil {
+		return *m.ProducerName
+	}
+	return ""
+}
+
+func (m *CommandProducer) GetEncrypted() bool {
+	if m != nil && m.Encrypted != nil {
+		return *m.Encrypted
+	}
+	return Default_CommandProducer_Encrypted
+}
+
+func (m *CommandProducer) GetMetadata() []*KeyValue {
+	if m != nil {
+		return m.Metadata
+	}
+	return nil
+}
+
+func (m *CommandProducer) GetSchema() *Schema {
+	if m != nil {
+		return m.Schema
+	}
+	return nil
+}
+
+func (m *CommandProducer) GetEpoch() uint64 {
+	if m != nil && m.Epoch != nil {
+		return *m.Epoch
+	}
+	return Default_CommandProducer_Epoch
+}
+
+func (m *CommandProducer) GetUserProvidedProducerName() bool {
+	if m != nil && m.UserProvidedProducerName != nil {
+		return *m.UserProvidedProducerName
+	}
+	return Default_CommandProducer_UserProvidedProducerName
+}
+
+type CommandSend struct {
+	ProducerId     *uint64 `protobuf:"varint,1,req,name=producer_id,json=producerId" json:"producer_id,omitempty"`
+	SequenceId     *uint64 `protobuf:"varint,2,req,name=sequence_id,json=sequenceId" json:"sequence_id,omitempty"`
+	NumMessages    *int32  `protobuf:"varint,3,opt,name=num_messages,json=numMessages,def=1" json:"num_messages,omitempty"`
+	TxnidLeastBits *uint64 `protobuf:"varint,4,opt,name=txnid_least_bits,json=txnidLeastBits,def=0" json:"txnid_least_bits,omitempty"`
+	TxnidMostBits  *uint64 `protobuf:"varint,5,opt,name=txnid_most_bits,json=txnidMostBits,def=0" json:"txnid_most_bits,omitempty"`
+	/// Add highest sequence id to support batch message with external sequence id
+	HighestSequenceId    *uint64  `protobuf:"varint,6,opt,name=highest_sequence_id,json=highestSequenceId,def=0" json:"highest_sequence_id,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *CommandSend) Reset()         { *m = CommandSend{} }
+func (m *CommandSend) String() string { return proto.CompactTextString(m) }
+func (*CommandSend) ProtoMessage()    {}
+func (*CommandSend) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{21}
+}
+func (m *CommandSend) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *CommandSend) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_CommandSend.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *CommandSend) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CommandSend.Merge(m, src)
+}
+func (m *CommandSend) XXX_Size() int {
+	return m.Size()
+}
+func (m *CommandSend) XXX_DiscardUnknown() {
+	xxx_messageInfo_CommandSend.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CommandSend proto.InternalMessageInfo
+
+const Default_CommandSend_NumMessages int32 = 1
+const Default_CommandSend_TxnidLeastBits uint64 = 0
+const Default_CommandSend_TxnidMostBits uint64 = 0
+const Default_CommandSend_HighestSequenceId uint64 = 0
+
+func (m *CommandSend) GetProducerId() uint64 {
+	if m != nil && m.ProducerId != nil {
+		return *m.ProducerId
+	}
+	return 0
+}
+
+func (m *CommandSend) GetSequenceId() uint64 {
+	if m != nil && m.SequenceId != nil {
+		return *m.SequenceId
+	}
+	return 0
+}
+
+func (m *CommandSend) GetNumMessages() int32 {
+	if m != nil && m.NumMessages != nil {
+		return *m.NumMessages
+	}
+	return Default_CommandSend_NumMessages
+}
+
+func (m *CommandSend) GetTxnidLeastBits() uint64 {
+	if m != nil && m.TxnidLeastBits != nil {
+		return *m.TxnidLeastBits
+	}
+	return Default_CommandSend_TxnidLeastBits
+}
+
+func (m *CommandSend) GetTxnidMostBits() uint64 {
+	if m != nil && m.TxnidMostBits != nil {
+		return *m.TxnidMostBits
+	}
+	return Default_CommandSend_TxnidMostBits
+}
+
+func (m *CommandSend) GetHighestSequenceId() uint64 {
+	if m != nil && m.HighestSequenceId != nil {
+		return *m.HighestSequenceId
+	}
+	return Default_CommandSend_HighestSequenceId
+}
+
+type CommandSendReceipt struct {
+	ProducerId           *uint64        `protobuf:"varint,1,req,name=producer_id,json=producerId" json:"producer_id,omitempty"`
+	SequenceId           *uint64        `protobuf:"varint,2,req,name=sequence_id,json=sequenceId" json:"sequence_id,omitempty"`
+	MessageId            *MessageIdData `protobuf:"bytes,3,opt,name=message_id,json=messageId" json:"message_id,omitempty"`
+	HighestSequenceId    *uint64        `protobuf:"varint,4,opt,name=highest_sequence_id,json=highestSequenceId,def=0" json:"highest_sequence_id,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
+	XXX_unrecognized     []byte         `json:"-"`
+	XXX_sizecache        int32          `json:"-"`
+}
+
+func (m *CommandSendReceipt) Reset()         { *m = CommandSendReceipt{} }
+func (m *CommandSendReceipt) String() string { return proto.CompactTextString(m) }
+func (*CommandSendReceipt) ProtoMessage()    {}
+func (*CommandSendReceipt) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{22}
+}
+func (m *CommandSendReceipt) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *CommandSendReceipt) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_CommandSendReceipt.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *CommandSendReceipt) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CommandSendReceipt.Merge(m, src)
+}
+func (m *CommandSendReceipt) XXX_Size() int {
+	return m.Size()
+}
+func (m *CommandSendReceipt) XXX_DiscardUnknown() {
+	xxx_messageInfo_CommandSendReceipt.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CommandSendReceipt proto.InternalMessageInfo
+
+const Default_CommandSendReceipt_HighestSequenceId uint64 = 0
+
+func (m *CommandSendReceipt) GetProducerId() uint64 {
+	if m != nil && m.ProducerId != nil {
+		return *m.ProducerId
+	}
+	return 0
+}
+
+func (m *CommandSendReceipt) GetSequenceId() uint64 {
+	if m != nil && m.SequenceId != nil {
+		return *m.SequenceId
+	}
+	return 0
+}
+
+func (m *CommandSendReceipt) GetMessageId() *MessageIdData {
+	if m != nil {
+		return m.MessageId
+	}
+	return nil
+}
+
+func (m *CommandSendReceipt) GetHighestSequenceId() uint64 {
+	if m != nil && m.HighestSequenceId != nil {
+		return *m.HighestSequenceId
+	}
+	return Default_CommandSendReceipt_HighestSequenceId
+}
+
+type CommandSendError struct {
+	ProducerId           *uint64      `protobuf:"varint,1,req,name=producer_id,json=producerId" json:"producer_id,omitempty"`
+	SequenceId           *uint64      `protobuf:"varint,2,req,name=sequence_id,json=sequenceId" json:"sequence_id,omitempty"`
+	Error                *ServerError `protobuf:"varint,3,req,name=error,enum=pulsar.proto.ServerError" json:"error,omitempty"`
+	Message              *string      `protobuf:"bytes,4,req,name=message" json:"message,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
+	XXX_unrecognized     []byte       `json:"-"`
+	XXX_sizecache        int32        `json:"-"`
+}
+
+func (m *CommandSendError) Reset()         { *m = CommandSendError{} }
+func (m *CommandSendError) String() string { return proto.CompactTextString(m) }
+func (*CommandSendError) ProtoMessage()    {}
+func (*CommandSendError) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{23}
+}
+func (m *CommandSendError) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *CommandSendError) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_CommandSendError.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *CommandSendError) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CommandSendError.Merge(m, src)
+}
+func (m *CommandSendError) XXX_Size() int {
+	return m.Size()
+}
+func (m *CommandSendError) XXX_DiscardUnknown() {
+	xxx_messageInfo_CommandSendError.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CommandSendError proto.InternalMessageInfo
+
+func (m *CommandSendError) GetProducerId() uint64 {
+	if m != nil && m.ProducerId != nil {
+		return *m.ProducerId
+	}
+	return 0
+}
+
+func (m *CommandSendError) GetSequenceId() uint64 {
+	if m != nil && m.SequenceId != nil {
+		return *m.SequenceId
+	}
+	return 0
+}
+
+func (m *CommandSendError) GetError() ServerError {
+	if m != nil && m.Error != nil {
+		return *m.Error
+	}
+	return ServerError_UnknownError
+}
+
+func (m *CommandSendError) GetMessage() string {
+	if m != nil && m.Message != nil {
+		return *m.Message
+	}
+	return ""
+}
+
+type CommandMessage struct {
+	ConsumerId           *uint64        `protobuf:"varint,1,req,name=consumer_id,json=consumerId" json:"consumer_id,omitempty"`
+	MessageId            *MessageIdData `protobuf:"bytes,2,req,name=message_id,json=messageId" json:"message_id,omitempty"`
+	RedeliveryCount      *uint32        `protobuf:"varint,3,opt,name=redelivery_count,json=redeliveryCount,def=0" json:"redelivery_count,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
+	XXX_unrecognized     []byte         `json:"-"`
+	XXX_sizecache        int32          `json:"-"`
+}
+
+func (m *CommandMessage) Reset()         { *m = CommandMessage{} }
+func (m *CommandMessage) String() string { return proto.CompactTextString(m) }
+func (*CommandMessage) ProtoMessage()    {}
+func (*CommandMessage) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{24}
+}
+func (m *CommandMessage) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *CommandMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_CommandMessage.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *CommandMessage) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CommandMessage.Merge(m, src)
+}
+func (m *CommandMessage) XXX_Size() int {
+	return m.Size()
+}
+func (m *CommandMessage) XXX_DiscardUnknown() {
+	xxx_messageInfo_CommandMessage.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CommandMessage proto.InternalMessageInfo
+
+const Default_CommandMessage_RedeliveryCount uint32 = 0
+
+func (m *CommandMessage) GetConsumerId() uint64 {
+	if m != nil && m.ConsumerId != nil {
+		return *m.ConsumerId
+	}
+	return 0
+}
+
+func (m *CommandMessage) GetMessageId() *MessageIdData {
+	if m != nil {
+		return m.MessageId
+	}
+	return nil
+}
+
+func (m *CommandMessage) GetRedeliveryCount() uint32 {
+	if m != nil && m.RedeliveryCount != nil {
+		return *m.RedeliveryCount
+	}
+	return Default_CommandMessage_RedeliveryCount
+}
+
+type CommandAck struct {
+	ConsumerId *uint64             `protobuf:"varint,1,req,name=consumer_id,json=consumerId" json:"consumer_id,omitempty"`
+	AckType    *CommandAck_AckType `protobuf:"varint,2,req,name=ack_type,json=ackType,enum=pulsar.proto.CommandAck_AckType" json:"ack_type,omitempty"`
+	// In case of individual acks, the client can pass a list of message ids
+	MessageId            []*MessageIdData            `protobuf:"bytes,3,rep,name=message_id,json=messageId" json:"message_id,omitempty"`
+	ValidationError      *CommandAck_ValidationError `protobuf:"varint,4,opt,name=validation_error,json=validationError,enum=pulsar.proto.CommandAck_ValidationError" json:"validation_error,omitempty"`
+	Properties           []*KeyLongValue             `protobuf:"bytes,5,rep,name=properties" json:"properties,omitempty"`
+	TxnidLeastBits       *uint64                     `protobuf:"varint,6,opt,name=txnid_least_bits,json=txnidLeastBits,def=0" json:"txnid_least_bits,omitempty"`
+	TxnidMostBits        *uint64                     `protobuf:"varint,7,opt,name=txnid_most_bits,json=txnidMostBits,def=0" json:"txnid_most_bits,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
+	XXX_unrecognized     []byte                      `json:"-"`
+	XXX_sizecache        int32                       `json:"-"`
+}
+
+func (m *CommandAck) Reset()         { *m = CommandAck{} }
+func (m *CommandAck) String() string { return proto.CompactTextString(m) }
+func (*CommandAck) ProtoMessage()    {}
+func (*CommandAck) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{25}
+}
+func (m *CommandAck) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *CommandAck) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_CommandAck.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *CommandAck) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CommandAck.Merge(m, src)
+}
+func (m *CommandAck) XXX_Size() int {
+	return m.Size()
+}
+func (m *CommandAck) XXX_DiscardUnknown() {
+	xxx_messageInfo_CommandAck.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CommandAck proto.InternalMessageInfo
+
+const Default_CommandAck_TxnidLeastBits uint64 = 0
+const Default_CommandAck_TxnidMostBits uint64 = 0
+
+func (m *CommandAck) GetConsumerId() uint64 {
+	if m != nil && m.ConsumerId != nil {
+		return *m.ConsumerId
+	}
+	return 0
+}
+
+func (m *CommandAck) GetAckType() CommandAck_AckType {
+	if m != nil && m.AckType != nil {
+		return *m.AckType
+	}
+	return CommandAck_Individual
+}
+
+func (m *CommandAck) GetMessageId() []*MessageIdData {
+	if m != nil {
+		return m.MessageId
+	}
+	return nil
+}
+
+func (m *CommandAck) GetValidationError() CommandAck_ValidationError {
+	if m != nil && m.ValidationError != nil {
+		return *m.ValidationError
+	}
+	return CommandAck_UncompressedSizeCorruption
+}
+
+func (m *CommandAck) GetProperties() []*KeyLongValue {
+	if m != nil {
+		return m.Properties
+	}
+	return nil
+}
+
+func (m *CommandAck) GetTxnidLeastBits() uint64 {
+	if m != nil && m.TxnidLeastBits != nil {
+		return *m.TxnidLeastBits
+	}
+	return Default_CommandAck_TxnidLeastBits
+}
+
+func (m *CommandAck) GetTxnidMostBits() uint64 {
+	if m != nil && m.TxnidMostBits != nil {
+		return *m.TxnidMostBits
+	}
+	return Default_CommandAck_TxnidMostBits
+}
+
+type CommandAckResponse struct {
+	ConsumerId           *uint64      `protobuf:"varint,1,req,name=consumer_id,json=consumerId" json:"consumer_id,omitempty"`
+	TxnidLeastBits       *uint64      `protobuf:"varint,2,opt,name=txnid_least_bits,json=txnidLeastBits,def=0" json:"txnid_least_bits,omitempty"`
+	TxnidMostBits        *uint64      `protobuf:"varint,3,opt,name=txnid_most_bits,json=txnidMostBits,def=0" json:"txnid_most_bits,omitempty"`
+	Error                *ServerError `protobuf:"varint,4,opt,name=error,enum=pulsar.proto.ServerError" json:"error,omitempty"`
+	Message              *string      `protobuf:"bytes,5,opt,name=message" json:"message,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
+	XXX_unrecognized     []byte       `json:"-"`
+	XXX_sizecache        int32        `json:"-"`
+}
+
+func (m *CommandAckResponse) Reset()         { *m = CommandAckResponse{} }
+func (m *CommandAckResponse) String() string { return proto.CompactTextString(m) }
+func (*CommandAckResponse) ProtoMessage()    {}
+func (*CommandAckResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{26}
+}
+func (m *CommandAckResponse) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *CommandAckResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_CommandAckResponse.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *CommandAckResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CommandAckResponse.Merge(m, src)
+}
+func (m *CommandAckResponse) XXX_Size() int {
+	return m.Size()
+}
+func (m *CommandAckResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_CommandAckResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CommandAckResponse proto.InternalMessageInfo
+
+const Default_CommandAckResponse_TxnidLeastBits uint64 = 0
+const Default_CommandAckResponse_TxnidMostBits uint64 = 0
+
+func (m *CommandAckResponse) GetConsumerId() uint64 {
+	if m != nil && m.ConsumerId != nil {
+		return *m.ConsumerId
+	}
+	return 0
+}
+
+func (m *CommandAckResponse) GetTxnidLeastBits() uint64 {
+	if m != nil && m.TxnidLeastBits != nil {
+		return *m.TxnidLeastBits
+	}
+	return Default_CommandAckResponse_TxnidLeastBits
+}
+
+func (m *CommandAckResponse) GetTxnidMostBits() uint64 {
+	if m != nil && m.TxnidMostBits != nil {
+		return *m.TxnidMostBits
+	}
+	return Default_CommandAckResponse_TxnidMostBits
+}
+
+func (m *CommandAckResponse) GetError() ServerError {
+	if m != nil && m.Error != nil {
+		return *m.Error
+	}
+	return ServerError_UnknownError
+}
+
+func (m *CommandAckResponse) GetMessage() string {
+	if m != nil && m.Message != nil {
+		return *m.Message
+	}
+	return ""
+}
+
+// changes on active consumer
+type CommandActiveConsumerChange struct {
+	ConsumerId           *uint64  `protobuf:"varint,1,req,name=consumer_id,json=consumerId" json:"consumer_id,omitempty"`
+	IsActive             *bool    `protobuf:"varint,2,opt,name=is_active,json=isActive,def=0" json:"is_active,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *CommandActiveConsumerChange) Reset()         { *m = CommandActiveConsumerChange{} }
+func (m *CommandActiveConsumerChange) String() string { return proto.CompactTextString(m) }
+func (*CommandActiveConsumerChange) ProtoMessage()    {}
+func (*CommandActiveConsumerChange) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39529ba7ad9caeb8, []int{27}
+}
+func (m *CommandActiveConsumerChange) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *CommandActiveConsumerChange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_CommandActiveConsumerChange.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalToSizedBuffer(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *CommandActiveConsumerChange) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CommandActiveConsumerChange.Merge(m, src)
+}
+func (m *CommandActiveConsumerChange) XXX_Size() int {
+	return m.Size()
+}
+func (m *CommandActiveConsumerChange) XXX_DiscardUnknown() {
+	xxx_messageInfo_CommandActiveConsumerChange.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CommandActiveConsumerChange proto.InternalMessageInfo
+
+const Default_CommandActiveConsumerChange_IsActive bool = false
+
+func (m *CommandActiveConsumerChange) GetConsumerId() uint64 {
... 23453 lines suppressed ...