1// Code generated by protoc-gen-gogo. DO NOT EDIT.
2// source: lib/protocol/bep.proto
3
4package protocol
5
6import (
7	fmt "fmt"
8	_ "github.com/gogo/protobuf/gogoproto"
9	proto "github.com/gogo/protobuf/proto"
10	_ "github.com/syncthing/syncthing/proto/ext"
11	io "io"
12	math "math"
13	math_bits "math/bits"
14)
15
16// Reference imports to suppress errors if they are not otherwise used.
17var _ = proto.Marshal
18var _ = fmt.Errorf
19var _ = math.Inf
20
21// This is a compile-time assertion to ensure that this generated file
22// is compatible with the proto package it is being compiled against.
23// A compilation error at this line likely means your copy of the
24// proto package needs to be updated.
25const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
26
27type MessageType int32
28
29const (
30	MessageTypeClusterConfig    MessageType = 0
31	MessageTypeIndex            MessageType = 1
32	MessageTypeIndexUpdate      MessageType = 2
33	MessageTypeRequest          MessageType = 3
34	MessageTypeResponse         MessageType = 4
35	MessageTypeDownloadProgress MessageType = 5
36	MessageTypePing             MessageType = 6
37	MessageTypeClose            MessageType = 7
38)
39
40var MessageType_name = map[int32]string{
41	0: "MESSAGE_TYPE_CLUSTER_CONFIG",
42	1: "MESSAGE_TYPE_INDEX",
43	2: "MESSAGE_TYPE_INDEX_UPDATE",
44	3: "MESSAGE_TYPE_REQUEST",
45	4: "MESSAGE_TYPE_RESPONSE",
46	5: "MESSAGE_TYPE_DOWNLOAD_PROGRESS",
47	6: "MESSAGE_TYPE_PING",
48	7: "MESSAGE_TYPE_CLOSE",
49}
50
51var MessageType_value = map[string]int32{
52	"MESSAGE_TYPE_CLUSTER_CONFIG":    0,
53	"MESSAGE_TYPE_INDEX":             1,
54	"MESSAGE_TYPE_INDEX_UPDATE":      2,
55	"MESSAGE_TYPE_REQUEST":           3,
56	"MESSAGE_TYPE_RESPONSE":          4,
57	"MESSAGE_TYPE_DOWNLOAD_PROGRESS": 5,
58	"MESSAGE_TYPE_PING":              6,
59	"MESSAGE_TYPE_CLOSE":             7,
60}
61
62func (x MessageType) String() string {
63	return proto.EnumName(MessageType_name, int32(x))
64}
65
66func (MessageType) EnumDescriptor() ([]byte, []int) {
67	return fileDescriptor_311ef540e10d9705, []int{0}
68}
69
70type MessageCompression int32
71
72const (
73	MessageCompressionNone MessageCompression = 0
74	MessageCompressionLZ4  MessageCompression = 1
75)
76
77var MessageCompression_name = map[int32]string{
78	0: "MESSAGE_COMPRESSION_NONE",
79	1: "MESSAGE_COMPRESSION_LZ4",
80}
81
82var MessageCompression_value = map[string]int32{
83	"MESSAGE_COMPRESSION_NONE": 0,
84	"MESSAGE_COMPRESSION_LZ4":  1,
85}
86
87func (x MessageCompression) String() string {
88	return proto.EnumName(MessageCompression_name, int32(x))
89}
90
91func (MessageCompression) EnumDescriptor() ([]byte, []int) {
92	return fileDescriptor_311ef540e10d9705, []int{1}
93}
94
95type Compression int32
96
97const (
98	CompressionMetadata Compression = 0
99	CompressionNever    Compression = 1
100	CompressionAlways   Compression = 2
101)
102
103var Compression_name = map[int32]string{
104	0: "COMPRESSION_METADATA",
105	1: "COMPRESSION_NEVER",
106	2: "COMPRESSION_ALWAYS",
107}
108
109var Compression_value = map[string]int32{
110	"COMPRESSION_METADATA": 0,
111	"COMPRESSION_NEVER":    1,
112	"COMPRESSION_ALWAYS":   2,
113}
114
115func (x Compression) String() string {
116	return proto.EnumName(Compression_name, int32(x))
117}
118
119func (Compression) EnumDescriptor() ([]byte, []int) {
120	return fileDescriptor_311ef540e10d9705, []int{2}
121}
122
123type FileInfoType int32
124
125const (
126	FileInfoTypeFile             FileInfoType = 0
127	FileInfoTypeDirectory        FileInfoType = 1
128	FileInfoTypeSymlinkFile      FileInfoType = 2 // Deprecated: Do not use.
129	FileInfoTypeSymlinkDirectory FileInfoType = 3 // Deprecated: Do not use.
130	FileInfoTypeSymlink          FileInfoType = 4
131)
132
133var FileInfoType_name = map[int32]string{
134	0: "FILE_INFO_TYPE_FILE",
135	1: "FILE_INFO_TYPE_DIRECTORY",
136	2: "FILE_INFO_TYPE_SYMLINK_FILE",
137	3: "FILE_INFO_TYPE_SYMLINK_DIRECTORY",
138	4: "FILE_INFO_TYPE_SYMLINK",
139}
140
141var FileInfoType_value = map[string]int32{
142	"FILE_INFO_TYPE_FILE":              0,
143	"FILE_INFO_TYPE_DIRECTORY":         1,
144	"FILE_INFO_TYPE_SYMLINK_FILE":      2,
145	"FILE_INFO_TYPE_SYMLINK_DIRECTORY": 3,
146	"FILE_INFO_TYPE_SYMLINK":           4,
147}
148
149func (x FileInfoType) String() string {
150	return proto.EnumName(FileInfoType_name, int32(x))
151}
152
153func (FileInfoType) EnumDescriptor() ([]byte, []int) {
154	return fileDescriptor_311ef540e10d9705, []int{3}
155}
156
157type ErrorCode int32
158
159const (
160	ErrorCodeNoError     ErrorCode = 0
161	ErrorCodeGeneric     ErrorCode = 1
162	ErrorCodeNoSuchFile  ErrorCode = 2
163	ErrorCodeInvalidFile ErrorCode = 3
164)
165
166var ErrorCode_name = map[int32]string{
167	0: "ERROR_CODE_NO_ERROR",
168	1: "ERROR_CODE_GENERIC",
169	2: "ERROR_CODE_NO_SUCH_FILE",
170	3: "ERROR_CODE_INVALID_FILE",
171}
172
173var ErrorCode_value = map[string]int32{
174	"ERROR_CODE_NO_ERROR":     0,
175	"ERROR_CODE_GENERIC":      1,
176	"ERROR_CODE_NO_SUCH_FILE": 2,
177	"ERROR_CODE_INVALID_FILE": 3,
178}
179
180func (x ErrorCode) String() string {
181	return proto.EnumName(ErrorCode_name, int32(x))
182}
183
184func (ErrorCode) EnumDescriptor() ([]byte, []int) {
185	return fileDescriptor_311ef540e10d9705, []int{4}
186}
187
188type FileDownloadProgressUpdateType int32
189
190const (
191	FileDownloadProgressUpdateTypeAppend FileDownloadProgressUpdateType = 0
192	FileDownloadProgressUpdateTypeForget FileDownloadProgressUpdateType = 1
193)
194
195var FileDownloadProgressUpdateType_name = map[int32]string{
196	0: "FILE_DOWNLOAD_PROGRESS_UPDATE_TYPE_APPEND",
197	1: "FILE_DOWNLOAD_PROGRESS_UPDATE_TYPE_FORGET",
198}
199
200var FileDownloadProgressUpdateType_value = map[string]int32{
201	"FILE_DOWNLOAD_PROGRESS_UPDATE_TYPE_APPEND": 0,
202	"FILE_DOWNLOAD_PROGRESS_UPDATE_TYPE_FORGET": 1,
203}
204
205func (x FileDownloadProgressUpdateType) String() string {
206	return proto.EnumName(FileDownloadProgressUpdateType_name, int32(x))
207}
208
209func (FileDownloadProgressUpdateType) EnumDescriptor() ([]byte, []int) {
210	return fileDescriptor_311ef540e10d9705, []int{5}
211}
212
213type Hello struct {
214	DeviceName    string `protobuf:"bytes,1,opt,name=device_name,json=deviceName,proto3" json:"deviceName" xml:"deviceName"`
215	ClientName    string `protobuf:"bytes,2,opt,name=client_name,json=clientName,proto3" json:"clientName" xml:"clientName"`
216	ClientVersion string `protobuf:"bytes,3,opt,name=client_version,json=clientVersion,proto3" json:"clientVersion" xml:"clientVersion"`
217}
218
219func (m *Hello) Reset()         { *m = Hello{} }
220func (m *Hello) String() string { return proto.CompactTextString(m) }
221func (*Hello) ProtoMessage()    {}
222func (*Hello) Descriptor() ([]byte, []int) {
223	return fileDescriptor_311ef540e10d9705, []int{0}
224}
225func (m *Hello) XXX_Unmarshal(b []byte) error {
226	return m.Unmarshal(b)
227}
228func (m *Hello) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
229	if deterministic {
230		return xxx_messageInfo_Hello.Marshal(b, m, deterministic)
231	} else {
232		b = b[:cap(b)]
233		n, err := m.MarshalToSizedBuffer(b)
234		if err != nil {
235			return nil, err
236		}
237		return b[:n], nil
238	}
239}
240func (m *Hello) XXX_Merge(src proto.Message) {
241	xxx_messageInfo_Hello.Merge(m, src)
242}
243func (m *Hello) XXX_Size() int {
244	return m.ProtoSize()
245}
246func (m *Hello) XXX_DiscardUnknown() {
247	xxx_messageInfo_Hello.DiscardUnknown(m)
248}
249
250var xxx_messageInfo_Hello proto.InternalMessageInfo
251
252type Header struct {
253	Type        MessageType        `protobuf:"varint,1,opt,name=type,proto3,enum=protocol.MessageType" json:"type" xml:"type"`
254	Compression MessageCompression `protobuf:"varint,2,opt,name=compression,proto3,enum=protocol.MessageCompression" json:"compression" xml:"compression"`
255}
256
257func (m *Header) Reset()         { *m = Header{} }
258func (m *Header) String() string { return proto.CompactTextString(m) }
259func (*Header) ProtoMessage()    {}
260func (*Header) Descriptor() ([]byte, []int) {
261	return fileDescriptor_311ef540e10d9705, []int{1}
262}
263func (m *Header) XXX_Unmarshal(b []byte) error {
264	return m.Unmarshal(b)
265}
266func (m *Header) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
267	if deterministic {
268		return xxx_messageInfo_Header.Marshal(b, m, deterministic)
269	} else {
270		b = b[:cap(b)]
271		n, err := m.MarshalToSizedBuffer(b)
272		if err != nil {
273			return nil, err
274		}
275		return b[:n], nil
276	}
277}
278func (m *Header) XXX_Merge(src proto.Message) {
279	xxx_messageInfo_Header.Merge(m, src)
280}
281func (m *Header) XXX_Size() int {
282	return m.ProtoSize()
283}
284func (m *Header) XXX_DiscardUnknown() {
285	xxx_messageInfo_Header.DiscardUnknown(m)
286}
287
288var xxx_messageInfo_Header proto.InternalMessageInfo
289
290type ClusterConfig struct {
291	Folders []Folder `protobuf:"bytes,1,rep,name=folders,proto3" json:"folders" xml:"folder"`
292}
293
294func (m *ClusterConfig) Reset()         { *m = ClusterConfig{} }
295func (m *ClusterConfig) String() string { return proto.CompactTextString(m) }
296func (*ClusterConfig) ProtoMessage()    {}
297func (*ClusterConfig) Descriptor() ([]byte, []int) {
298	return fileDescriptor_311ef540e10d9705, []int{2}
299}
300func (m *ClusterConfig) XXX_Unmarshal(b []byte) error {
301	return m.Unmarshal(b)
302}
303func (m *ClusterConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
304	if deterministic {
305		return xxx_messageInfo_ClusterConfig.Marshal(b, m, deterministic)
306	} else {
307		b = b[:cap(b)]
308		n, err := m.MarshalToSizedBuffer(b)
309		if err != nil {
310			return nil, err
311		}
312		return b[:n], nil
313	}
314}
315func (m *ClusterConfig) XXX_Merge(src proto.Message) {
316	xxx_messageInfo_ClusterConfig.Merge(m, src)
317}
318func (m *ClusterConfig) XXX_Size() int {
319	return m.ProtoSize()
320}
321func (m *ClusterConfig) XXX_DiscardUnknown() {
322	xxx_messageInfo_ClusterConfig.DiscardUnknown(m)
323}
324
325var xxx_messageInfo_ClusterConfig proto.InternalMessageInfo
326
327type Folder struct {
328	ID                 string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id" xml:"id"`
329	Label              string   `protobuf:"bytes,2,opt,name=label,proto3" json:"label" xml:"label"`
330	ReadOnly           bool     `protobuf:"varint,3,opt,name=read_only,json=readOnly,proto3" json:"readOnly" xml:"readOnly"`
331	IgnorePermissions  bool     `protobuf:"varint,4,opt,name=ignore_permissions,json=ignorePermissions,proto3" json:"ignorePermissions" xml:"ignorePermissions"`
332	IgnoreDelete       bool     `protobuf:"varint,5,opt,name=ignore_delete,json=ignoreDelete,proto3" json:"ignoreDelete" xml:"ignoreDelete"`
333	DisableTempIndexes bool     `protobuf:"varint,6,opt,name=disable_temp_indexes,json=disableTempIndexes,proto3" json:"disableTempIndexes" xml:"disableTempIndexes"`
334	Paused             bool     `protobuf:"varint,7,opt,name=paused,proto3" json:"paused" xml:"paused"`
335	Devices            []Device `protobuf:"bytes,16,rep,name=devices,proto3" json:"devices" xml:"device"`
336}
337
338func (m *Folder) Reset()         { *m = Folder{} }
339func (m *Folder) String() string { return proto.CompactTextString(m) }
340func (*Folder) ProtoMessage()    {}
341func (*Folder) Descriptor() ([]byte, []int) {
342	return fileDescriptor_311ef540e10d9705, []int{3}
343}
344func (m *Folder) XXX_Unmarshal(b []byte) error {
345	return m.Unmarshal(b)
346}
347func (m *Folder) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
348	if deterministic {
349		return xxx_messageInfo_Folder.Marshal(b, m, deterministic)
350	} else {
351		b = b[:cap(b)]
352		n, err := m.MarshalToSizedBuffer(b)
353		if err != nil {
354			return nil, err
355		}
356		return b[:n], nil
357	}
358}
359func (m *Folder) XXX_Merge(src proto.Message) {
360	xxx_messageInfo_Folder.Merge(m, src)
361}
362func (m *Folder) XXX_Size() int {
363	return m.ProtoSize()
364}
365func (m *Folder) XXX_DiscardUnknown() {
366	xxx_messageInfo_Folder.DiscardUnknown(m)
367}
368
369var xxx_messageInfo_Folder proto.InternalMessageInfo
370
371type Device struct {
372	ID                       DeviceID    `protobuf:"bytes,1,opt,name=id,proto3,customtype=DeviceID" json:"id" xml:"id"`
373	Name                     string      `protobuf:"bytes,2,opt,name=name,proto3" json:"name" xml:"name"`
374	Addresses                []string    `protobuf:"bytes,3,rep,name=addresses,proto3" json:"addresses" xml:"address"`
375	Compression              Compression `protobuf:"varint,4,opt,name=compression,proto3,enum=protocol.Compression" json:"compression" xml:"compression"`
376	CertName                 string      `protobuf:"bytes,5,opt,name=cert_name,json=certName,proto3" json:"certName" xml:"certName"`
377	MaxSequence              int64       `protobuf:"varint,6,opt,name=max_sequence,json=maxSequence,proto3" json:"maxSequence" xml:"maxSequence"`
378	Introducer               bool        `protobuf:"varint,7,opt,name=introducer,proto3" json:"introducer" xml:"introducer"`
379	IndexID                  IndexID     `protobuf:"varint,8,opt,name=index_id,json=indexId,proto3,customtype=IndexID" json:"indexId" xml:"indexId"`
380	SkipIntroductionRemovals bool        `protobuf:"varint,9,opt,name=skip_introduction_removals,json=skipIntroductionRemovals,proto3" json:"skipIntroductionRemovals" xml:"skipIntroductionRemovals"`
381	EncryptionPasswordToken  []byte      `protobuf:"bytes,10,opt,name=encryption_password_token,json=encryptionPasswordToken,proto3" json:"encryptionPasswordToken" xml:"encryptionPasswordToken"`
382}
383
384func (m *Device) Reset()         { *m = Device{} }
385func (m *Device) String() string { return proto.CompactTextString(m) }
386func (*Device) ProtoMessage()    {}
387func (*Device) Descriptor() ([]byte, []int) {
388	return fileDescriptor_311ef540e10d9705, []int{4}
389}
390func (m *Device) XXX_Unmarshal(b []byte) error {
391	return m.Unmarshal(b)
392}
393func (m *Device) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
394	if deterministic {
395		return xxx_messageInfo_Device.Marshal(b, m, deterministic)
396	} else {
397		b = b[:cap(b)]
398		n, err := m.MarshalToSizedBuffer(b)
399		if err != nil {
400			return nil, err
401		}
402		return b[:n], nil
403	}
404}
405func (m *Device) XXX_Merge(src proto.Message) {
406	xxx_messageInfo_Device.Merge(m, src)
407}
408func (m *Device) XXX_Size() int {
409	return m.ProtoSize()
410}
411func (m *Device) XXX_DiscardUnknown() {
412	xxx_messageInfo_Device.DiscardUnknown(m)
413}
414
415var xxx_messageInfo_Device proto.InternalMessageInfo
416
417type Index struct {
418	Folder string     `protobuf:"bytes,1,opt,name=folder,proto3" json:"folder" xml:"folder"`
419	Files  []FileInfo `protobuf:"bytes,2,rep,name=files,proto3" json:"files" xml:"file"`
420}
421
422func (m *Index) Reset()         { *m = Index{} }
423func (m *Index) String() string { return proto.CompactTextString(m) }
424func (*Index) ProtoMessage()    {}
425func (*Index) Descriptor() ([]byte, []int) {
426	return fileDescriptor_311ef540e10d9705, []int{5}
427}
428func (m *Index) XXX_Unmarshal(b []byte) error {
429	return m.Unmarshal(b)
430}
431func (m *Index) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
432	if deterministic {
433		return xxx_messageInfo_Index.Marshal(b, m, deterministic)
434	} else {
435		b = b[:cap(b)]
436		n, err := m.MarshalToSizedBuffer(b)
437		if err != nil {
438			return nil, err
439		}
440		return b[:n], nil
441	}
442}
443func (m *Index) XXX_Merge(src proto.Message) {
444	xxx_messageInfo_Index.Merge(m, src)
445}
446func (m *Index) XXX_Size() int {
447	return m.ProtoSize()
448}
449func (m *Index) XXX_DiscardUnknown() {
450	xxx_messageInfo_Index.DiscardUnknown(m)
451}
452
453var xxx_messageInfo_Index proto.InternalMessageInfo
454
455type IndexUpdate struct {
456	Folder string     `protobuf:"bytes,1,opt,name=folder,proto3" json:"folder" xml:"folder"`
457	Files  []FileInfo `protobuf:"bytes,2,rep,name=files,proto3" json:"files" xml:"file"`
458}
459
460func (m *IndexUpdate) Reset()         { *m = IndexUpdate{} }
461func (m *IndexUpdate) String() string { return proto.CompactTextString(m) }
462func (*IndexUpdate) ProtoMessage()    {}
463func (*IndexUpdate) Descriptor() ([]byte, []int) {
464	return fileDescriptor_311ef540e10d9705, []int{6}
465}
466func (m *IndexUpdate) XXX_Unmarshal(b []byte) error {
467	return m.Unmarshal(b)
468}
469func (m *IndexUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
470	if deterministic {
471		return xxx_messageInfo_IndexUpdate.Marshal(b, m, deterministic)
472	} else {
473		b = b[:cap(b)]
474		n, err := m.MarshalToSizedBuffer(b)
475		if err != nil {
476			return nil, err
477		}
478		return b[:n], nil
479	}
480}
481func (m *IndexUpdate) XXX_Merge(src proto.Message) {
482	xxx_messageInfo_IndexUpdate.Merge(m, src)
483}
484func (m *IndexUpdate) XXX_Size() int {
485	return m.ProtoSize()
486}
487func (m *IndexUpdate) XXX_DiscardUnknown() {
488	xxx_messageInfo_IndexUpdate.DiscardUnknown(m)
489}
490
491var xxx_messageInfo_IndexUpdate proto.InternalMessageInfo
492
493type FileInfo struct {
494	Name          string       `protobuf:"bytes,1,opt,name=name,proto3" json:"name" xml:"name"`
495	Size          int64        `protobuf:"varint,3,opt,name=size,proto3" json:"size" xml:"size"`
496	ModifiedS     int64        `protobuf:"varint,5,opt,name=modified_s,json=modifiedS,proto3" json:"modifiedS" xml:"modifiedS"`
497	ModifiedBy    ShortID      `protobuf:"varint,12,opt,name=modified_by,json=modifiedBy,proto3,customtype=ShortID" json:"modifiedBy" xml:"modifiedBy"`
498	Version       Vector       `protobuf:"bytes,9,opt,name=version,proto3" json:"version" xml:"version"`
499	Sequence      int64        `protobuf:"varint,10,opt,name=sequence,proto3" json:"sequence" xml:"sequence"`
500	Blocks        []BlockInfo  `protobuf:"bytes,16,rep,name=blocks,proto3" json:"blocks" xml:"block"`
501	SymlinkTarget string       `protobuf:"bytes,17,opt,name=symlink_target,json=symlinkTarget,proto3" json:"symlinkTarget" xml:"symlinkTarget"`
502	BlocksHash    []byte       `protobuf:"bytes,18,opt,name=blocks_hash,json=blocksHash,proto3" json:"blocksHash" xml:"blocksHash"`
503	Encrypted     []byte       `protobuf:"bytes,19,opt,name=encrypted,proto3" json:"encrypted" xml:"encrypted"`
504	Type          FileInfoType `protobuf:"varint,2,opt,name=type,proto3,enum=protocol.FileInfoType" json:"type" xml:"type"`
505	Permissions   uint32       `protobuf:"varint,4,opt,name=permissions,proto3" json:"permissions" xml:"permissions"`
506	ModifiedNs    int          `protobuf:"varint,11,opt,name=modified_ns,json=modifiedNs,proto3,casttype=int" json:"modifiedNs" xml:"modifiedNs"`
507	RawBlockSize  int          `protobuf:"varint,13,opt,name=block_size,json=blockSize,proto3,casttype=int" json:"blockSize" xml:"blockSize"`
508	// The local_flags fields stores flags that are relevant to the local
509	// host only. It is not part of the protocol, doesn't get sent or
510	// received (we make sure to zero it), nonetheless we need it on our
511	// struct and to be able to serialize it to/from the database.
512	LocalFlags uint32 `protobuf:"varint,1000,opt,name=local_flags,json=localFlags,proto3" json:"localFlags" xml:"localFlags"`
513	// The version_hash is an implementation detail and not part of the wire
514	// format.
515	VersionHash   []byte `protobuf:"bytes,1001,opt,name=version_hash,json=versionHash,proto3" json:"versionHash" xml:"versionHash"`
516	Deleted       bool   `protobuf:"varint,6,opt,name=deleted,proto3" json:"deleted" xml:"deleted"`
517	RawInvalid    bool   `protobuf:"varint,7,opt,name=invalid,proto3" json:"invalid" xml:"invalid"`
518	NoPermissions bool   `protobuf:"varint,8,opt,name=no_permissions,json=noPermissions,proto3" json:"noPermissions" xml:"noPermissions"`
519}
520
521func (m *FileInfo) Reset()      { *m = FileInfo{} }
522func (*FileInfo) ProtoMessage() {}
523func (*FileInfo) Descriptor() ([]byte, []int) {
524	return fileDescriptor_311ef540e10d9705, []int{7}
525}
526func (m *FileInfo) XXX_Unmarshal(b []byte) error {
527	return m.Unmarshal(b)
528}
529func (m *FileInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
530	if deterministic {
531		return xxx_messageInfo_FileInfo.Marshal(b, m, deterministic)
532	} else {
533		b = b[:cap(b)]
534		n, err := m.MarshalToSizedBuffer(b)
535		if err != nil {
536			return nil, err
537		}
538		return b[:n], nil
539	}
540}
541func (m *FileInfo) XXX_Merge(src proto.Message) {
542	xxx_messageInfo_FileInfo.Merge(m, src)
543}
544func (m *FileInfo) XXX_Size() int {
545	return m.ProtoSize()
546}
547func (m *FileInfo) XXX_DiscardUnknown() {
548	xxx_messageInfo_FileInfo.DiscardUnknown(m)
549}
550
551var xxx_messageInfo_FileInfo proto.InternalMessageInfo
552
553type BlockInfo struct {
554	Hash     []byte `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash" xml:"hash"`
555	Offset   int64  `protobuf:"varint,1,opt,name=offset,proto3" json:"offset" xml:"offset"`
556	Size     int    `protobuf:"varint,2,opt,name=size,proto3,casttype=int" json:"size" xml:"size"`
557	WeakHash uint32 `protobuf:"varint,4,opt,name=weak_hash,json=weakHash,proto3" json:"weakHash" xml:"weakHash"`
558}
559
560func (m *BlockInfo) Reset()      { *m = BlockInfo{} }
561func (*BlockInfo) ProtoMessage() {}
562func (*BlockInfo) Descriptor() ([]byte, []int) {
563	return fileDescriptor_311ef540e10d9705, []int{8}
564}
565func (m *BlockInfo) XXX_Unmarshal(b []byte) error {
566	return m.Unmarshal(b)
567}
568func (m *BlockInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
569	if deterministic {
570		return xxx_messageInfo_BlockInfo.Marshal(b, m, deterministic)
571	} else {
572		b = b[:cap(b)]
573		n, err := m.MarshalToSizedBuffer(b)
574		if err != nil {
575			return nil, err
576		}
577		return b[:n], nil
578	}
579}
580func (m *BlockInfo) XXX_Merge(src proto.Message) {
581	xxx_messageInfo_BlockInfo.Merge(m, src)
582}
583func (m *BlockInfo) XXX_Size() int {
584	return m.ProtoSize()
585}
586func (m *BlockInfo) XXX_DiscardUnknown() {
587	xxx_messageInfo_BlockInfo.DiscardUnknown(m)
588}
589
590var xxx_messageInfo_BlockInfo proto.InternalMessageInfo
591
592type Vector struct {
593	Counters []Counter `protobuf:"bytes,1,rep,name=counters,proto3" json:"counters" xml:"counter"`
594}
595
596func (m *Vector) Reset()         { *m = Vector{} }
597func (m *Vector) String() string { return proto.CompactTextString(m) }
598func (*Vector) ProtoMessage()    {}
599func (*Vector) Descriptor() ([]byte, []int) {
600	return fileDescriptor_311ef540e10d9705, []int{9}
601}
602func (m *Vector) XXX_Unmarshal(b []byte) error {
603	return m.Unmarshal(b)
604}
605func (m *Vector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
606	if deterministic {
607		return xxx_messageInfo_Vector.Marshal(b, m, deterministic)
608	} else {
609		b = b[:cap(b)]
610		n, err := m.MarshalToSizedBuffer(b)
611		if err != nil {
612			return nil, err
613		}
614		return b[:n], nil
615	}
616}
617func (m *Vector) XXX_Merge(src proto.Message) {
618	xxx_messageInfo_Vector.Merge(m, src)
619}
620func (m *Vector) XXX_Size() int {
621	return m.ProtoSize()
622}
623func (m *Vector) XXX_DiscardUnknown() {
624	xxx_messageInfo_Vector.DiscardUnknown(m)
625}
626
627var xxx_messageInfo_Vector proto.InternalMessageInfo
628
629type Counter struct {
630	ID    ShortID `protobuf:"varint,1,opt,name=id,proto3,customtype=ShortID" json:"id" xml:"id"`
631	Value uint64  `protobuf:"varint,2,opt,name=value,proto3" json:"value" xml:"value"`
632}
633
634func (m *Counter) Reset()         { *m = Counter{} }
635func (m *Counter) String() string { return proto.CompactTextString(m) }
636func (*Counter) ProtoMessage()    {}
637func (*Counter) Descriptor() ([]byte, []int) {
638	return fileDescriptor_311ef540e10d9705, []int{10}
639}
640func (m *Counter) XXX_Unmarshal(b []byte) error {
641	return m.Unmarshal(b)
642}
643func (m *Counter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
644	if deterministic {
645		return xxx_messageInfo_Counter.Marshal(b, m, deterministic)
646	} else {
647		b = b[:cap(b)]
648		n, err := m.MarshalToSizedBuffer(b)
649		if err != nil {
650			return nil, err
651		}
652		return b[:n], nil
653	}
654}
655func (m *Counter) XXX_Merge(src proto.Message) {
656	xxx_messageInfo_Counter.Merge(m, src)
657}
658func (m *Counter) XXX_Size() int {
659	return m.ProtoSize()
660}
661func (m *Counter) XXX_DiscardUnknown() {
662	xxx_messageInfo_Counter.DiscardUnknown(m)
663}
664
665var xxx_messageInfo_Counter proto.InternalMessageInfo
666
667type Request struct {
668	ID            int    `protobuf:"varint,1,opt,name=id,proto3,casttype=int" json:"id" xml:"id"`
669	Folder        string `protobuf:"bytes,2,opt,name=folder,proto3" json:"folder" xml:"folder"`
670	Name          string `protobuf:"bytes,3,opt,name=name,proto3" json:"name" xml:"name"`
671	Offset        int64  `protobuf:"varint,4,opt,name=offset,proto3" json:"offset" xml:"offset"`
672	Size          int    `protobuf:"varint,5,opt,name=size,proto3,casttype=int" json:"size" xml:"size"`
673	Hash          []byte `protobuf:"bytes,6,opt,name=hash,proto3" json:"hash" xml:"hash"`
674	FromTemporary bool   `protobuf:"varint,7,opt,name=from_temporary,json=fromTemporary,proto3" json:"fromTemporary" xml:"fromTemporary"`
675	WeakHash      uint32 `protobuf:"varint,8,opt,name=weak_hash,json=weakHash,proto3" json:"weakHash" xml:"weakHash"`
676	BlockNo       int    `protobuf:"varint,9,opt,name=block_no,json=blockNo,proto3,casttype=int" json:"blockNo" xml:"blockNo"`
677}
678
679func (m *Request) Reset()         { *m = Request{} }
680func (m *Request) String() string { return proto.CompactTextString(m) }
681func (*Request) ProtoMessage()    {}
682func (*Request) Descriptor() ([]byte, []int) {
683	return fileDescriptor_311ef540e10d9705, []int{11}
684}
685func (m *Request) XXX_Unmarshal(b []byte) error {
686	return m.Unmarshal(b)
687}
688func (m *Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
689	if deterministic {
690		return xxx_messageInfo_Request.Marshal(b, m, deterministic)
691	} else {
692		b = b[:cap(b)]
693		n, err := m.MarshalToSizedBuffer(b)
694		if err != nil {
695			return nil, err
696		}
697		return b[:n], nil
698	}
699}
700func (m *Request) XXX_Merge(src proto.Message) {
701	xxx_messageInfo_Request.Merge(m, src)
702}
703func (m *Request) XXX_Size() int {
704	return m.ProtoSize()
705}
706func (m *Request) XXX_DiscardUnknown() {
707	xxx_messageInfo_Request.DiscardUnknown(m)
708}
709
710var xxx_messageInfo_Request proto.InternalMessageInfo
711
712type Response struct {
713	ID   int       `protobuf:"varint,1,opt,name=id,proto3,casttype=int" json:"id" xml:"id"`
714	Data []byte    `protobuf:"bytes,2,opt,name=data,proto3" json:"data" xml:"data"`
715	Code ErrorCode `protobuf:"varint,3,opt,name=code,proto3,enum=protocol.ErrorCode" json:"code" xml:"code"`
716}
717
718func (m *Response) Reset()         { *m = Response{} }
719func (m *Response) String() string { return proto.CompactTextString(m) }
720func (*Response) ProtoMessage()    {}
721func (*Response) Descriptor() ([]byte, []int) {
722	return fileDescriptor_311ef540e10d9705, []int{12}
723}
724func (m *Response) XXX_Unmarshal(b []byte) error {
725	return m.Unmarshal(b)
726}
727func (m *Response) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
728	if deterministic {
729		return xxx_messageInfo_Response.Marshal(b, m, deterministic)
730	} else {
731		b = b[:cap(b)]
732		n, err := m.MarshalToSizedBuffer(b)
733		if err != nil {
734			return nil, err
735		}
736		return b[:n], nil
737	}
738}
739func (m *Response) XXX_Merge(src proto.Message) {
740	xxx_messageInfo_Response.Merge(m, src)
741}
742func (m *Response) XXX_Size() int {
743	return m.ProtoSize()
744}
745func (m *Response) XXX_DiscardUnknown() {
746	xxx_messageInfo_Response.DiscardUnknown(m)
747}
748
749var xxx_messageInfo_Response proto.InternalMessageInfo
750
751type DownloadProgress struct {
752	Folder  string                       `protobuf:"bytes,1,opt,name=folder,proto3" json:"folder" xml:"folder"`
753	Updates []FileDownloadProgressUpdate `protobuf:"bytes,2,rep,name=updates,proto3" json:"updates" xml:"update"`
754}
755
756func (m *DownloadProgress) Reset()         { *m = DownloadProgress{} }
757func (m *DownloadProgress) String() string { return proto.CompactTextString(m) }
758func (*DownloadProgress) ProtoMessage()    {}
759func (*DownloadProgress) Descriptor() ([]byte, []int) {
760	return fileDescriptor_311ef540e10d9705, []int{13}
761}
762func (m *DownloadProgress) XXX_Unmarshal(b []byte) error {
763	return m.Unmarshal(b)
764}
765func (m *DownloadProgress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
766	if deterministic {
767		return xxx_messageInfo_DownloadProgress.Marshal(b, m, deterministic)
768	} else {
769		b = b[:cap(b)]
770		n, err := m.MarshalToSizedBuffer(b)
771		if err != nil {
772			return nil, err
773		}
774		return b[:n], nil
775	}
776}
777func (m *DownloadProgress) XXX_Merge(src proto.Message) {
778	xxx_messageInfo_DownloadProgress.Merge(m, src)
779}
780func (m *DownloadProgress) XXX_Size() int {
781	return m.ProtoSize()
782}
783func (m *DownloadProgress) XXX_DiscardUnknown() {
784	xxx_messageInfo_DownloadProgress.DiscardUnknown(m)
785}
786
787var xxx_messageInfo_DownloadProgress proto.InternalMessageInfo
788
789type FileDownloadProgressUpdate struct {
790	UpdateType   FileDownloadProgressUpdateType `protobuf:"varint,1,opt,name=update_type,json=updateType,proto3,enum=protocol.FileDownloadProgressUpdateType" json:"updateType" xml:"updateType"`
791	Name         string                         `protobuf:"bytes,2,opt,name=name,proto3" json:"name" xml:"name"`
792	Version      Vector                         `protobuf:"bytes,3,opt,name=version,proto3" json:"version" xml:"version"`
793	BlockIndexes []int                          `protobuf:"varint,4,rep,name=block_indexes,json=blockIndexes,proto3,casttype=int" json:"blockIndexes" xml:"blockIndexe"`
794	BlockSize    int                            `protobuf:"varint,5,opt,name=block_size,json=blockSize,proto3,casttype=int" json:"blockSize" xml:"blockSize"`
795}
796
797func (m *FileDownloadProgressUpdate) Reset()         { *m = FileDownloadProgressUpdate{} }
798func (m *FileDownloadProgressUpdate) String() string { return proto.CompactTextString(m) }
799func (*FileDownloadProgressUpdate) ProtoMessage()    {}
800func (*FileDownloadProgressUpdate) Descriptor() ([]byte, []int) {
801	return fileDescriptor_311ef540e10d9705, []int{14}
802}
803func (m *FileDownloadProgressUpdate) XXX_Unmarshal(b []byte) error {
804	return m.Unmarshal(b)
805}
806func (m *FileDownloadProgressUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
807	if deterministic {
808		return xxx_messageInfo_FileDownloadProgressUpdate.Marshal(b, m, deterministic)
809	} else {
810		b = b[:cap(b)]
811		n, err := m.MarshalToSizedBuffer(b)
812		if err != nil {
813			return nil, err
814		}
815		return b[:n], nil
816	}
817}
818func (m *FileDownloadProgressUpdate) XXX_Merge(src proto.Message) {
819	xxx_messageInfo_FileDownloadProgressUpdate.Merge(m, src)
820}
821func (m *FileDownloadProgressUpdate) XXX_Size() int {
822	return m.ProtoSize()
823}
824func (m *FileDownloadProgressUpdate) XXX_DiscardUnknown() {
825	xxx_messageInfo_FileDownloadProgressUpdate.DiscardUnknown(m)
826}
827
828var xxx_messageInfo_FileDownloadProgressUpdate proto.InternalMessageInfo
829
830type Ping struct {
831}
832
833func (m *Ping) Reset()         { *m = Ping{} }
834func (m *Ping) String() string { return proto.CompactTextString(m) }
835func (*Ping) ProtoMessage()    {}
836func (*Ping) Descriptor() ([]byte, []int) {
837	return fileDescriptor_311ef540e10d9705, []int{15}
838}
839func (m *Ping) XXX_Unmarshal(b []byte) error {
840	return m.Unmarshal(b)
841}
842func (m *Ping) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
843	if deterministic {
844		return xxx_messageInfo_Ping.Marshal(b, m, deterministic)
845	} else {
846		b = b[:cap(b)]
847		n, err := m.MarshalToSizedBuffer(b)
848		if err != nil {
849			return nil, err
850		}
851		return b[:n], nil
852	}
853}
854func (m *Ping) XXX_Merge(src proto.Message) {
855	xxx_messageInfo_Ping.Merge(m, src)
856}
857func (m *Ping) XXX_Size() int {
858	return m.ProtoSize()
859}
860func (m *Ping) XXX_DiscardUnknown() {
861	xxx_messageInfo_Ping.DiscardUnknown(m)
862}
863
864var xxx_messageInfo_Ping proto.InternalMessageInfo
865
866type Close struct {
867	Reason string `protobuf:"bytes,1,opt,name=reason,proto3" json:"reason" xml:"reason"`
868}
869
870func (m *Close) Reset()         { *m = Close{} }
871func (m *Close) String() string { return proto.CompactTextString(m) }
872func (*Close) ProtoMessage()    {}
873func (*Close) Descriptor() ([]byte, []int) {
874	return fileDescriptor_311ef540e10d9705, []int{16}
875}
876func (m *Close) XXX_Unmarshal(b []byte) error {
877	return m.Unmarshal(b)
878}
879func (m *Close) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
880	if deterministic {
881		return xxx_messageInfo_Close.Marshal(b, m, deterministic)
882	} else {
883		b = b[:cap(b)]
884		n, err := m.MarshalToSizedBuffer(b)
885		if err != nil {
886			return nil, err
887		}
888		return b[:n], nil
889	}
890}
891func (m *Close) XXX_Merge(src proto.Message) {
892	xxx_messageInfo_Close.Merge(m, src)
893}
894func (m *Close) XXX_Size() int {
895	return m.ProtoSize()
896}
897func (m *Close) XXX_DiscardUnknown() {
898	xxx_messageInfo_Close.DiscardUnknown(m)
899}
900
901var xxx_messageInfo_Close proto.InternalMessageInfo
902
903func init() {
904	proto.RegisterEnum("protocol.MessageType", MessageType_name, MessageType_value)
905	proto.RegisterEnum("protocol.MessageCompression", MessageCompression_name, MessageCompression_value)
906	proto.RegisterEnum("protocol.Compression", Compression_name, Compression_value)
907	proto.RegisterEnum("protocol.FileInfoType", FileInfoType_name, FileInfoType_value)
908	proto.RegisterEnum("protocol.ErrorCode", ErrorCode_name, ErrorCode_value)
909	proto.RegisterEnum("protocol.FileDownloadProgressUpdateType", FileDownloadProgressUpdateType_name, FileDownloadProgressUpdateType_value)
910	proto.RegisterType((*Hello)(nil), "protocol.Hello")
911	proto.RegisterType((*Header)(nil), "protocol.Header")
912	proto.RegisterType((*ClusterConfig)(nil), "protocol.ClusterConfig")
913	proto.RegisterType((*Folder)(nil), "protocol.Folder")
914	proto.RegisterType((*Device)(nil), "protocol.Device")
915	proto.RegisterType((*Index)(nil), "protocol.Index")
916	proto.RegisterType((*IndexUpdate)(nil), "protocol.IndexUpdate")
917	proto.RegisterType((*FileInfo)(nil), "protocol.FileInfo")
918	proto.RegisterType((*BlockInfo)(nil), "protocol.BlockInfo")
919	proto.RegisterType((*Vector)(nil), "protocol.Vector")
920	proto.RegisterType((*Counter)(nil), "protocol.Counter")
921	proto.RegisterType((*Request)(nil), "protocol.Request")
922	proto.RegisterType((*Response)(nil), "protocol.Response")
923	proto.RegisterType((*DownloadProgress)(nil), "protocol.DownloadProgress")
924	proto.RegisterType((*FileDownloadProgressUpdate)(nil), "protocol.FileDownloadProgressUpdate")
925	proto.RegisterType((*Ping)(nil), "protocol.Ping")
926	proto.RegisterType((*Close)(nil), "protocol.Close")
927}
928
929func init() { proto.RegisterFile("lib/protocol/bep.proto", fileDescriptor_311ef540e10d9705) }
930
931var fileDescriptor_311ef540e10d9705 = []byte{
932	// 2681 bytes of a gzipped FileDescriptorProto
933	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0x4d, 0x6c, 0x1b, 0xc7,
934	0xf5, 0xd7, 0x92, 0x94, 0x44, 0x8d, 0x24, 0x87, 0x1a, 0x7f, 0x6d, 0x68, 0x9b, 0xcb, 0xff, 0xc4,
935	0xf9, 0x57, 0x51, 0x1a, 0x39, 0x51, 0x92, 0x36, 0x4d, 0x52, 0x07, 0xfc, 0x92, 0xc4, 0x44, 0x22,
936	0xd9, 0x21, 0xed, 0xd4, 0x46, 0x0b, 0x62, 0xc5, 0x1d, 0x51, 0x0b, 0x2f, 0x77, 0xd9, 0x5d, 0x4a,
937	0xb6, 0x82, 0x5e, 0xda, 0x5e, 0x02, 0x1e, 0x8a, 0x22, 0xa7, 0xa2, 0x28, 0xd1, 0xa0, 0x97, 0xde,
938	0x0a, 0xf4, 0xd0, 0x4b, 0x4e, 0x3d, 0xe6, 0x68, 0x04, 0x28, 0x50, 0xf4, 0xb0, 0x80, 0xed, 0x4b,
939	0xcb, 0x23, 0x8f, 0x3d, 0x15, 0xf3, 0xb1, 0xbb, 0xb3, 0xa2, 0x14, 0xc8, 0xc9, 0xa1, 0xb7, 0x7d,
940	0xbf, 0xf7, 0x7b, 0x6f, 0x86, 0x6f, 0xde, 0x7b, 0xf3, 0x76, 0x09, 0xae, 0x58, 0xe6, 0xde, 0xad,
941	0xbe, 0xeb, 0x0c, 0x9c, 0x8e, 0x63, 0xdd, 0xda, 0x23, 0xfd, 0x75, 0x26, 0xc0, 0x74, 0x80, 0x65,
942	0x17, 0xc8, 0xa3, 0x01, 0x07, 0xb3, 0x2f, 0xb9, 0xa4, 0xef, 0x78, 0x9c, 0xbe, 0x77, 0xb8, 0x7f,
943	0xab, 0xeb, 0x74, 0x1d, 0x26, 0xb0, 0x27, 0x4e, 0x42, 0x4f, 0x15, 0x30, 0xbb, 0x4d, 0x2c, 0xcb,
944	0x81, 0x25, 0xb0, 0x68, 0x90, 0x23, 0xb3, 0x43, 0xda, 0xb6, 0xde, 0x23, 0xaa, 0x92, 0x57, 0x56,
945	0x17, 0x8a, 0x68, 0xec, 0x6b, 0x80, 0xc3, 0x35, 0xbd, 0x47, 0x26, 0xbe, 0x96, 0x79, 0xd4, 0xb3,
946	0xde, 0x45, 0x11, 0x84, 0xb0, 0xa4, 0xa7, 0x4e, 0x3a, 0x96, 0x49, 0xec, 0x01, 0x77, 0x92, 0x88,
947	0x9c, 0x70, 0x38, 0xe6, 0x24, 0x82, 0x10, 0x96, 0xf4, 0xb0, 0x0e, 0x2e, 0x08, 0x27, 0x47, 0xc4,
948	0xf5, 0x4c, 0xc7, 0x56, 0x93, 0xcc, 0xcf, 0xea, 0xd8, 0xd7, 0x96, 0xb9, 0xe6, 0x2e, 0x57, 0x4c,
949	0x7c, 0xed, 0xa2, 0xe4, 0x4a, 0xa0, 0x08, 0xc7, 0x59, 0xe8, 0x2f, 0x0a, 0x98, 0xdb, 0x26, 0xba,
950	0x41, 0x5c, 0x58, 0x00, 0xa9, 0xc1, 0x71, 0x9f, 0xff, 0xbc, 0x0b, 0x1b, 0x97, 0xd7, 0x83, 0xc0,
951	0xad, 0xef, 0x12, 0xcf, 0xd3, 0xbb, 0xa4, 0x75, 0xdc, 0x27, 0xc5, 0x2b, 0x63, 0x5f, 0x63, 0xb4,
952	0x89, 0xaf, 0x01, 0xe6, 0x9f, 0x0a, 0x08, 0x33, 0x0c, 0x1a, 0x60, 0xb1, 0xe3, 0xf4, 0xfa, 0x2e,
953	0xf1, 0xd8, 0xde, 0x12, 0xcc, 0xd3, 0xf5, 0x29, 0x4f, 0xa5, 0x88, 0x53, 0xbc, 0x39, 0xf6, 0x35,
954	0xd9, 0x68, 0xe2, 0x6b, 0x2b, 0x7c, 0xdf, 0x11, 0x86, 0xb0, 0xcc, 0x40, 0x3f, 0x01, 0xcb, 0x25,
955	0xeb, 0xd0, 0x1b, 0x10, 0xb7, 0xe4, 0xd8, 0xfb, 0x66, 0x17, 0x7e, 0x04, 0xe6, 0xf7, 0x1d, 0xcb,
956	0x20, 0xae, 0xa7, 0x2a, 0xf9, 0xe4, 0xea, 0xe2, 0x46, 0x26, 0x5a, 0x72, 0x93, 0x29, 0x8a, 0xda,
957	0x97, 0xbe, 0x36, 0x33, 0xf6, 0xb5, 0x80, 0x38, 0xf1, 0xb5, 0x25, 0xb6, 0x0c, 0x97, 0x11, 0x0e,
958	0x14, 0xe8, 0x8b, 0x14, 0x98, 0xe3, 0x46, 0x70, 0x1d, 0x24, 0x4c, 0x43, 0x1c, 0x77, 0xee, 0xa9,
959	0xaf, 0x25, 0xaa, 0xe5, 0xb1, 0xaf, 0x25, 0x4c, 0x63, 0xe2, 0x6b, 0x69, 0x66, 0x6d, 0x1a, 0xe8,
960	0xb3, 0xc7, 0x37, 0x13, 0xd5, 0x32, 0x4e, 0x98, 0x06, 0x5c, 0x07, 0xb3, 0x96, 0xbe, 0x47, 0x2c,
961	0x71, 0xb8, 0xea, 0xd8, 0xd7, 0x38, 0x30, 0xf1, 0xb5, 0x45, 0xc6, 0x67, 0x12, 0xc2, 0x1c, 0x85,
962	0xef, 0x81, 0x05, 0x97, 0xe8, 0x46, 0xdb, 0xb1, 0xad, 0x63, 0x76, 0x90, 0xe9, 0x62, 0x6e, 0xec,
963	0x6b, 0x69, 0x0a, 0xd6, 0x6d, 0xeb, 0x78, 0xe2, 0x6b, 0x17, 0x98, 0x59, 0x00, 0x20, 0x1c, 0xea,
964	0x60, 0x1b, 0x40, 0xb3, 0x6b, 0x3b, 0x2e, 0x69, 0xf7, 0x89, 0xdb, 0x33, 0x59, 0x68, 0x3c, 0x35,
965	0xc5, 0xbc, 0xbc, 0x3e, 0xf6, 0xb5, 0x15, 0xae, 0x6d, 0x44, 0xca, 0x89, 0xaf, 0x5d, 0xe5, 0xbb,
966	0x3e, 0xa9, 0x41, 0x78, 0x9a, 0x0d, 0x3f, 0x02, 0xcb, 0x62, 0x01, 0x83, 0x58, 0x64, 0x40, 0xd4,
967	0x59, 0xe6, 0xfb, 0xff, 0xc7, 0xbe, 0xb6, 0xc4, 0x15, 0x65, 0x86, 0x4f, 0x7c, 0x0d, 0x4a, 0x6e,
968	0x39, 0x88, 0x70, 0x8c, 0x03, 0x0d, 0x70, 0xc9, 0x30, 0x3d, 0x7d, 0xcf, 0x22, 0xed, 0x01, 0xe9,
969	0xf5, 0xdb, 0xa6, 0x6d, 0x90, 0x47, 0xc4, 0x53, 0xe7, 0x98, 0xcf, 0x8d, 0xb1, 0xaf, 0x41, 0xa1,
970	0x6f, 0x91, 0x5e, 0xbf, 0xca, 0xb5, 0x13, 0x5f, 0x53, 0x79, 0x4d, 0x4d, 0xa9, 0x10, 0x3e, 0x85,
971	0x0f, 0x37, 0xc0, 0x5c, 0x5f, 0x3f, 0xf4, 0x88, 0xa1, 0xce, 0x33, 0xbf, 0xd9, 0xb1, 0xaf, 0x09,
972	0x24, 0x3c, 0x70, 0x2e, 0x22, 0x2c, 0x70, 0x9a, 0x3c, 0xbc, 0x4a, 0x3d, 0x35, 0x73, 0x32, 0x79,
973	0xca, 0x4c, 0x11, 0x25, 0x8f, 0x20, 0x86, 0xbe, 0xb8, 0x8c, 0x70, 0xa0, 0x40, 0x7f, 0x9b, 0x03,
974	0x73, 0xdc, 0x08, 0x16, 0xc3, 0xe4, 0x59, 0x2a, 0x6e, 0x50, 0x07, 0xff, 0xf4, 0xb5, 0x34, 0xd7,
975	0x55, 0xcb, 0x67, 0x25, 0xd3, 0xa7, 0x8f, 0x6f, 0x2a, 0x52, 0x42, 0xad, 0x81, 0x94, 0xd4, 0x2c,
976	0x58, 0xed, 0xd9, 0xbc, 0x4d, 0xf0, 0xda, 0xb3, 0x59, 0x83, 0x60, 0x18, 0x7c, 0x1f, 0x2c, 0xe8,
977	0x86, 0x41, 0x6b, 0x84, 0x78, 0x6a, 0x32, 0x9f, 0xa4, 0x39, 0x3b, 0xf6, 0xb5, 0x08, 0x9c, 0xf8,
978	0xda, 0x32, 0xb3, 0x12, 0x08, 0xc2, 0x91, 0x0e, 0xfe, 0x34, 0x5e, 0xb9, 0xa9, 0x93, 0x3d, 0xe0,
979	0xdb, 0x95, 0x2c, 0xcd, 0xf4, 0x0e, 0x71, 0x45, 0xeb, 0x9b, 0xe5, 0x05, 0x45, 0x33, 0x9d, 0x82,
980	0xa2, 0xf1, 0xf1, 0x4c, 0x0f, 0x00, 0x84, 0x43, 0x1d, 0xdc, 0x02, 0x4b, 0x3d, 0xfd, 0x51, 0xdb,
981	0x23, 0x3f, 0x3b, 0x24, 0x76, 0x87, 0xb0, 0x9c, 0x49, 0xf2, 0x5d, 0xf4, 0xf4, 0x47, 0x4d, 0x01,
982	0x87, 0xbb, 0x90, 0x30, 0x84, 0x65, 0x06, 0x2c, 0x02, 0x60, 0xda, 0x03, 0xd7, 0x31, 0x0e, 0x3b,
983	0xc4, 0x15, 0x29, 0xc2, 0x3a, 0x70, 0x84, 0x86, 0x1d, 0x38, 0x82, 0x10, 0x96, 0xf4, 0xb0, 0x0b,
984	0xd2, 0x2c, 0x77, 0xdb, 0xa6, 0xa1, 0xa6, 0xf3, 0xca, 0x6a, 0xaa, 0xb8, 0x23, 0x0e, 0x77, 0x9e,
985	0x65, 0x21, 0x3b, 0xdb, 0xe0, 0x91, 0xe6, 0x0c, 0x63, 0x57, 0x8d, 0x30, 0xfa, 0x42, 0xa6, 0x7d,
986	0x23, 0xa0, 0xfd, 0x2e, 0x7a, 0xc4, 0x01, 0x1f, 0xfe, 0x1c, 0x64, 0xbd, 0x07, 0x26, 0xad, 0x14,
987	0xbe, 0xf6, 0xc0, 0x74, 0xec, 0xb6, 0x4b, 0x7a, 0xce, 0x91, 0x6e, 0x79, 0xea, 0x02, 0xdb, 0xfc,
988	0xed, 0xb1, 0xaf, 0xa9, 0x94, 0x55, 0x95, 0x48, 0x58, 0x70, 0x26, 0xbe, 0x96, 0x63, 0x2b, 0x9e,
989	0x45, 0x40, 0xf8, 0x4c, 0x5b, 0xf8, 0x08, 0xbc, 0x48, 0xec, 0x8e, 0x7b, 0xdc, 0x67, 0xcb, 0xf6,
990	0x75, 0xcf, 0x7b, 0xe8, 0xb8, 0x46, 0x7b, 0xe0, 0x3c, 0x20, 0xb6, 0x0a, 0x58, 0x52, 0xbf, 0x3f,
991	0xf6, 0xb5, 0xab, 0x11, 0xa9, 0x21, 0x38, 0x2d, 0x4a, 0x99, 0xf8, 0xda, 0x0d, 0xb6, 0xf6, 0x19,
992	0x7a, 0x84, 0xcf, 0xb2, 0x44, 0xbf, 0x54, 0xc0, 0x2c, 0x0b, 0x06, 0xad, 0x66, 0xde, 0x94, 0x45,
993	0x0b, 0x66, 0xd5, 0xcc, 0x91, 0xa9, 0xf6, 0x2d, 0x70, 0x58, 0x01, 0xb3, 0xfb, 0xa6, 0x45, 0x3c,
994	0x35, 0xc1, 0x6a, 0x19, 0x4a, 0x17, 0x81, 0x69, 0x91, 0xaa, 0xbd, 0xef, 0x14, 0xaf, 0x89, 0x6a,
995	0xe6, 0xc4, 0xb0, 0x96, 0xa8, 0x84, 0x30, 0x07, 0xd1, 0xa7, 0x0a, 0x58, 0x64, 0x9b, 0xb8, 0xd3,
996	0x37, 0xf4, 0x01, 0xf9, 0x5f, 0x6e, 0xe5, 0x09, 0x00, 0xe9, 0xc0, 0x20, 0x6c, 0x08, 0xca, 0x39,
997	0x1a, 0xc2, 0x1a, 0x48, 0x79, 0xe6, 0x27, 0x84, 0x5d, 0x2c, 0x49, 0xce, 0xa5, 0x72, 0xc8, 0xa5,
998	0x02, 0xc2, 0x0c, 0x83, 0x1f, 0x00, 0xd0, 0x73, 0x0c, 0x73, 0xdf, 0x24, 0x46, 0xdb, 0x63, 0x05,
999	0x9a, 0x2c, 0xe6, 0x69, 0xf7, 0x08, 0xd0, 0xe6, 0xc4, 0xd7, 0x5e, 0xe0, 0xe5, 0x15, 0x20, 0x08,
1000	0x47, 0x5a, 0xda, 0x3f, 0x42, 0x07, 0x7b, 0xc7, 0xea, 0x12, 0xab, 0x8c, 0xf7, 0x83, 0xca, 0x68,
1001	0x1e, 0x38, 0xee, 0x80, 0x95, 0x43, 0xb8, 0x4c, 0xf1, 0x38, 0x2c, 0xb5, 0x08, 0x42, 0xb4, 0x12,
1002	0x04, 0x19, 0x4b, 0x54, 0xb8, 0x03, 0xe6, 0x83, 0x81, 0x87, 0x66, 0x7e, 0xac, 0x49, 0xdf, 0x25,
1003	0x9d, 0x81, 0xe3, 0x16, 0xf3, 0x41, 0x93, 0x3e, 0x0a, 0x07, 0x20, 0x5e, 0x70, 0x47, 0xc1, 0xe8,
1004	0x13, 0x68, 0xe0, 0xbb, 0x20, 0x1d, 0x36, 0x13, 0xc0, 0x7e, 0x2b, 0x6b, 0x46, 0x5e, 0xd4, 0x49,
1005	0x78, 0x33, 0xf2, 0xc2, 0x36, 0x12, 0xea, 0xe0, 0x87, 0x60, 0x6e, 0xcf, 0x72, 0x3a, 0x0f, 0x82,
1006	0xdb, 0xe2, 0x62, 0xb4, 0x91, 0x22, 0xc5, 0xd9, 0xb9, 0xde, 0x10, 0x7b, 0x11, 0xd4, 0xf0, 0xfa,
1007	0x67, 0x22, 0xc2, 0x02, 0xa6, 0xd3, 0x9c, 0x77, 0xdc, 0xb3, 0x4c, 0xfb, 0x41, 0x7b, 0xa0, 0xbb,
1008	0x5d, 0x32, 0x50, 0x57, 0xa2, 0x69, 0x4e, 0x68, 0x5a, 0x4c, 0x11, 0x4e, 0x73, 0x31, 0x14, 0xe1,
1009	0x38, 0x8b, 0xce, 0x98, 0xdc, 0x75, 0xfb, 0x40, 0xf7, 0x0e, 0x54, 0xc8, 0xea, 0x94, 0x75, 0x38,
1010	0x0e, 0x6f, 0xeb, 0xde, 0x41, 0x18, 0xf6, 0x08, 0x42, 0x58, 0xd2, 0xc3, 0xdb, 0x60, 0x41, 0xd4,
1011	0x26, 0x31, 0xd4, 0x8b, 0xcc, 0x05, 0x4b, 0x85, 0x10, 0x0c, 0x53, 0x21, 0x44, 0x10, 0x8e, 0xb4,
1012	0xb0, 0x28, 0xe6, 0x48, 0x3e, 0xfd, 0x5d, 0x99, 0x4e, 0xfb, 0x73, 0x0c, 0x92, 0x9b, 0x60, 0xf1,
1013	0xe4, 0x54, 0xb3, 0xcc, 0x3b, 0x7e, 0x3f, 0x36, 0xcf, 0xf0, 0x8e, 0xdf, 0x97, 0x27, 0x19, 0x99,
1014	0x01, 0x3f, 0x94, 0xd2, 0xd2, 0xf6, 0xd4, 0xc5, 0xbc, 0xb2, 0x3a, 0x5b, 0x7c, 0x45, 0xce, 0xc3,
1015	0x9a, 0x37, 0x95, 0x87, 0x35, 0x0f, 0xfd, 0xc7, 0xd7, 0x92, 0xa6, 0x3d, 0xc0, 0x12, 0x0d, 0xee,
1016	0x03, 0x1e, 0xa5, 0x36, 0xab, 0xaa, 0x65, 0xe6, 0x6a, 0xeb, 0xa9, 0xaf, 0x2d, 0x61, 0xfd, 0x21,
1017	0x3b, 0xfa, 0xa6, 0xf9, 0x09, 0xa1, 0x81, 0xda, 0x0b, 0x84, 0x30, 0x50, 0x21, 0x12, 0x38, 0xfe,
1018	0xec, 0xf1, 0xcd, 0x98, 0x19, 0x8e, 0x8c, 0x60, 0x19, 0x2c, 0x5a, 0x4e, 0x47, 0xb7, 0xda, 0xfb,
1019	0x96, 0xde, 0xf5, 0xd4, 0x7f, 0xcd, 0xb3, 0x1f, 0xcf, 0x4e, 0x91, 0xe1, 0x9b, 0x14, 0x0e, 0x37,
1020	0x1d, 0x41, 0x08, 0x4b, 0x7a, 0xb8, 0x0d, 0x96, 0x44, 0xba, 0xf3, 0x5c, 0xf8, 0xf7, 0x3c, 0x3b,
1021	0x49, 0x16, 0x43, 0xa1, 0x10, 0xd9, 0xb0, 0x22, 0x57, 0x09, 0x4f, 0x07, 0x99, 0x01, 0xbf, 0x47,
1022	0x07, 0x24, 0x3a, 0xc4, 0x19, 0x62, 0x5a, 0xbb, 0xce, 0x47, 0x21, 0x06, 0x85, 0x55, 0x26, 0x64,
1023	0x36, 0x0b, 0xb1, 0x27, 0x88, 0xc1, 0xbc, 0x69, 0x1f, 0xe9, 0x96, 0x19, 0x4c, 0x63, 0xef, 0x3c,
1024	0xf5, 0x35, 0x80, 0xf5, 0x87, 0x55, 0x8e, 0xf2, 0xcb, 0x91, 0x3d, 0x4a, 0x97, 0x23, 0x93, 0xe9,
1025	0xe5, 0x28, 0x31, 0x71, 0xc0, 0xa3, 0x15, 0x63, 0x3b, 0xb1, 0x81, 0x37, 0xcd, 0x5c, 0xb3, 0x8a,
1026	0xb1, 0x9d, 0xf8, 0xb0, 0xcb, 0x2b, 0x26, 0x86, 0x22, 0x1c, 0x67, 0xbd, 0x9b, 0xfa, 0xed, 0xe7,
1027	0xda, 0x0c, 0x7a, 0xa2, 0x80, 0x85, 0xb0, 0x7a, 0x69, 0xe3, 0x64, 0x21, 0x4b, 0xb2, 0x88, 0xb1,
1028	0x44, 0x3d, 0xe0, 0xa1, 0xe2, 0x89, 0x7a, 0xc0, 0x62, 0xc4, 0x30, 0x7a, 0x31, 0x38, 0xfb, 0xfb,
1029	0x1e, 0x19, 0xb0, 0x96, 0x9c, 0xe4, 0x17, 0x03, 0x47, 0xc2, 0x8b, 0x81, 0x8b, 0x08, 0x0b, 0x1c,
1030	0xbe, 0x21, 0x1a, 0x73, 0x82, 0xa5, 0xd0, 0x8d, 0xd3, 0x1b, 0x73, 0x90, 0x81, 0xbc, 0x3f, 0xbf,
1031	0x07, 0x16, 0x1e, 0x12, 0xfd, 0x01, 0x3f, 0x4a, 0x5e, 0x0d, 0xac, 0x65, 0x51, 0x50, 0x1c, 0x23,
1032	0x6f, 0x59, 0x01, 0x80, 0x70, 0xa8, 0x13, 0xbf, 0xf1, 0x3e, 0x98, 0xe3, 0x9d, 0x12, 0x36, 0x40,
1033	0xba, 0xe3, 0x1c, 0xda, 0x83, 0xe8, 0x7d, 0x69, 0x45, 0x1e, 0xf4, 0x98, 0xa6, 0xf8, 0x7f, 0xa2,
1034	0x85, 0x85, 0xd4, 0xf0, 0x8c, 0x04, 0x40, 0x27, 0x34, 0xa1, 0x42, 0xbf, 0x52, 0xc0, 0xbc, 0x30,
1035	0x84, 0xdb, 0xe1, 0xdc, 0x9b, 0x2a, 0xbe, 0x73, 0xe2, 0x02, 0xf8, 0xfa, 0x77, 0x28, 0xb9, 0xf9,
1036	0x8b, 0xd7, 0xa9, 0x23, 0xdd, 0x3a, 0xe4, 0x81, 0x4a, 0xf1, 0xd7, 0x29, 0x06, 0x84, 0xfd, 0x94,
1037	0x49, 0x08, 0x73, 0x14, 0xfd, 0x22, 0x05, 0xe6, 0x31, 0xed, 0xd3, 0xde, 0x00, 0xbe, 0x1d, 0xee,
1038	0x62, 0xb6, 0xf8, 0xf2, 0x59, 0xcb, 0x46, 0xc5, 0x18, 0x0c, 0xdc, 0xd1, 0x3d, 0x9f, 0x38, 0xf7,
1039	0x3d, 0x1f, 0xdc, 0xc9, 0xc9, 0x73, 0xdc, 0xc9, 0x51, 0xba, 0xa4, 0x9e, 0x3b, 0x5d, 0x66, 0xcf,
1040	0x9f, 0x2e, 0x41, 0x06, 0xcf, 0x9d, 0x23, 0x83, 0xeb, 0xe0, 0xc2, 0xbe, 0xeb, 0xf4, 0xd8, 0x6b,
1041	0x99, 0xe3, 0xea, 0xee, 0xb1, 0xa8, 0x56, 0x56, 0x52, 0x54, 0xd3, 0x0a, 0x14, 0x61, 0x49, 0xc5,
1042	0x50, 0x84, 0xe3, 0xac, 0x78, 0xae, 0xa6, 0x9f, 0x2f, 0x57, 0xe1, 0x6d, 0x90, 0xe6, 0x4d, 0xd6,
1043	0x76, 0xd8, 0x4d, 0x3f, 0x5b, 0x7c, 0x89, 0xf6, 0x09, 0x86, 0xd5, 0x9c, 0x30, 0x07, 0x85, 0x1c,
1044	0xfe, 0xec, 0x80, 0x80, 0xfe, 0xac, 0x80, 0x34, 0x26, 0x5e, 0xdf, 0xb1, 0x3d, 0xf2, 0x4d, 0x93,
1045	0x60, 0x0d, 0xa4, 0x0c, 0x7d, 0xa0, 0xb3, 0x14, 0x10, 0xd1, 0xa3, 0x72, 0x18, 0x3d, 0x2a, 0x20,
1046	0xcc, 0x30, 0xf8, 0x01, 0x48, 0x75, 0x1c, 0x83, 0x1f, 0xfe, 0x05, 0x79, 0x18, 0xa8, 0xb8, 0xae,
1047	0xe3, 0x96, 0x1c, 0x43, 0xdc, 0x74, 0x94, 0x14, 0x3a, 0xa0, 0x02, 0xc2, 0x0c, 0x43, 0x7f, 0x52,
1048	0x40, 0xa6, 0xec, 0x3c, 0xb4, 0x2d, 0x47, 0x37, 0x1a, 0xae, 0xd3, 0xa5, 0x6f, 0x4c, 0xdf, 0x68,
1049	0xdc, 0x6c, 0x83, 0xf9, 0x43, 0x36, 0xac, 0x06, 0x03, 0xe7, 0xcd, 0xf8, 0xcd, 0x7b, 0x72, 0x11,
1050	0x3e, 0xd9, 0x46, 0xef, 0xb6, 0xc2, 0x38, 0xf4, 0xcf, 0x65, 0x84, 0x03, 0x05, 0xfa, 0x63, 0x12,
1051	0x64, 0xcf, 0x76, 0x04, 0x7b, 0x60, 0x91, 0x33, 0xdb, 0xd2, 0x57, 0xa4, 0xd5, 0xf3, 0xec, 0x81,
1052	0xcd, 0x03, 0xec, 0x7e, 0x3b, 0x0c, 0xe5, 0xf0, 0x7e, 0x8b, 0x20, 0x84, 0x25, 0xfd, 0x73, 0xbd,
1053	0x1a, 0x4b, 0xd3, 0x63, 0xf2, 0xdb, 0x4f, 0x8f, 0x4d, 0xb0, 0xcc, 0x53, 0x34, 0xf8, 0x86, 0x91,
1054	0xca, 0x27, 0x57, 0x67, 0x8b, 0xeb, 0x63, 0x5f, 0x5b, 0xda, 0xe3, 0x97, 0x48, 0xf0, 0xf5, 0x62,
1055	0x25, 0x4a, 0x56, 0x0e, 0x06, 0xd9, 0x96, 0x99, 0xc1, 0x31, 0x2e, 0xdc, 0x8c, 0x0d, 0x17, 0xbc,
1056	0xd4, 0xbf, 0x73, 0xce, 0x61, 0x42, 0x1a, 0x1e, 0xd0, 0x1c, 0x48, 0x35, 0x4c, 0xbb, 0x8b, 0xde,
1057	0x03, 0xb3, 0x25, 0xcb, 0xf1, 0x58, 0xc7, 0x71, 0x89, 0xee, 0x39, 0xb6, 0x9c, 0x4a, 0x1c, 0x09,
1058	0x8f, 0x9a, 0x8b, 0x08, 0x0b, 0x7c, 0xed, 0x8b, 0x24, 0x58, 0x94, 0x3e, 0xfa, 0xc1, 0x1f, 0x82,
1059	0x6b, 0xbb, 0x95, 0x66, 0xb3, 0xb0, 0x55, 0x69, 0xb7, 0xee, 0x35, 0x2a, 0xed, 0xd2, 0xce, 0x9d,
1060	0x66, 0xab, 0x82, 0xdb, 0xa5, 0x7a, 0x6d, 0xb3, 0xba, 0x95, 0x99, 0xc9, 0x5e, 0x1f, 0x8e, 0xf2,
1061	0xaa, 0x64, 0x11, 0xff, 0x3c, 0xf7, 0x5d, 0x00, 0x63, 0xe6, 0xd5, 0x5a, 0xb9, 0xf2, 0xe3, 0x8c,
1062	0x92, 0xbd, 0x34, 0x1c, 0xe5, 0x33, 0x92, 0x15, 0x7f, 0xeb, 0xfb, 0x01, 0x78, 0x71, 0x9a, 0xdd,
1063	0xbe, 0xd3, 0x28, 0x17, 0x5a, 0x95, 0x4c, 0x22, 0x9b, 0x1d, 0x8e, 0xf2, 0x57, 0x4e, 0x1a, 0x89,
1064	0x14, 0x7c, 0x1d, 0x5c, 0x8a, 0x99, 0xe2, 0xca, 0x8f, 0xee, 0x54, 0x9a, 0xad, 0x4c, 0x32, 0x7b,
1065	0x65, 0x38, 0xca, 0x43, 0xc9, 0x2a, 0xb8, 0x26, 0x36, 0xc0, 0xe5, 0x13, 0x16, 0xcd, 0x46, 0xbd,
1066	0xd6, 0xac, 0x64, 0x52, 0xd9, 0xab, 0xc3, 0x51, 0xfe, 0x62, 0xcc, 0x44, 0x74, 0x95, 0x12, 0xc8,
1067	0xc5, 0x6c, 0xca, 0xf5, 0x8f, 0x6b, 0x3b, 0xf5, 0x42, 0xb9, 0xdd, 0xc0, 0xf5, 0x2d, 0x5c, 0x69,
1068	0x36, 0x33, 0xb3, 0x59, 0x6d, 0x38, 0xca, 0x5f, 0x93, 0x8c, 0xa7, 0x2a, 0x7c, 0x0d, 0xac, 0xc4,
1069	0x9c, 0x34, 0xaa, 0xb5, 0xad, 0xcc, 0x5c, 0xf6, 0xe2, 0x70, 0x94, 0x7f, 0x41, 0xb2, 0xa3, 0x67,
1070	0x39, 0x15, 0xbf, 0xd2, 0x4e, 0xbd, 0x59, 0xc9, 0xcc, 0x4f, 0xc5, 0x8f, 0x1d, 0xf8, 0xda, 0x1f,
1071	0x14, 0x00, 0xa7, 0xbf, 0xb3, 0xc2, 0x77, 0x80, 0x1a, 0x38, 0x29, 0xd5, 0x77, 0x1b, 0x74, 0x9f,
1072	0xd5, 0x7a, 0xad, 0x5d, 0xab, 0xd7, 0x2a, 0x99, 0x99, 0x58, 0x54, 0x25, 0xab, 0x9a, 0x63, 0x13,
1073	0x58, 0x07, 0x57, 0x4f, 0xb3, 0xdc, 0xb9, 0xff, 0x56, 0x46, 0xc9, 0x6e, 0x0c, 0x47, 0xf9, 0xcb,
1074	0xd3, 0x86, 0x3b, 0xf7, 0xdf, 0xfa, 0xea, 0xd7, 0x2f, 0x9f, 0xae, 0x58, 0xfb, 0xbd, 0x02, 0x16,
1075	0xe5, 0xad, 0xbd, 0x01, 0x2e, 0xc9, 0x8e, 0x77, 0x2b, 0xad, 0x42, 0xb9, 0xd0, 0x2a, 0x64, 0x66,
1076	0xf8, 0x19, 0x48, 0xd4, 0x5d, 0x32, 0xd0, 0x59, 0xdb, 0x7d, 0x15, 0xac, 0xc4, 0x7e, 0x45, 0xe5,
1077	0x6e, 0x05, 0x07, 0x19, 0x25, 0xef, 0x9f, 0x1c, 0x11, 0x17, 0xbe, 0x06, 0xa0, 0x4c, 0x2e, 0xec,
1078	0x7c, 0x5c, 0xb8, 0xd7, 0xcc, 0x24, 0xb2, 0x97, 0x87, 0xa3, 0xfc, 0x8a, 0xc4, 0x2e, 0x58, 0x0f,
1079	0xf5, 0x63, 0x6f, 0xed, 0xaf, 0x09, 0xb0, 0x24, 0xbf, 0xaa, 0xc0, 0xd7, 0xc0, 0xc5, 0xcd, 0xea,
1080	0x0e, 0xcd, 0xc4, 0xcd, 0x3a, 0x3f, 0x01, 0x2a, 0x66, 0x66, 0xf8, 0x72, 0x32, 0x95, 0x3e, 0xc3,
1081	0xef, 0x03, 0xf5, 0x04, 0xbd, 0x5c, 0xc5, 0x95, 0x52, 0xab, 0x8e, 0xef, 0x65, 0x94, 0xec, 0x8b,
1082	0x34, 0x60, 0xb2, 0x4d, 0xd9, 0x74, 0x59, 0x0b, 0x3a, 0x86, 0xb7, 0xc1, 0xb5, 0x13, 0x86, 0xcd,
1083	0x7b, 0xbb, 0x3b, 0xd5, 0xda, 0x47, 0x7c, 0xbd, 0x44, 0xf6, 0xc6, 0x70, 0x94, 0xbf, 0x2a, 0xdb,
1084	0x36, 0xf9, 0xdb, 0x1f, 0x85, 0xd2, 0x0a, 0xdc, 0x06, 0xf9, 0x33, 0xec, 0xa3, 0x0d, 0x24, 0xb3,
1085	0x68, 0x38, 0xca, 0x5f, 0x3f, 0xc5, 0x49, 0xb8, 0x8f, 0xb4, 0x02, 0xdf, 0x04, 0x57, 0x4e, 0xf7,
1086	0x14, 0xd4, 0xc5, 0x29, 0xf6, 0x6b, 0x7f, 0x57, 0xc0, 0x42, 0x78, 0xeb, 0xd1, 0xa0, 0x55, 0x30,
1087	0xae, 0xd3, 0x26, 0x51, 0xae, 0xb4, 0x6b, 0xf5, 0x36, 0x93, 0x82, 0xa0, 0x85, 0xbc, 0x9a, 0xc3,
1088	0x1e, 0x69, 0x8e, 0x4b, 0xf4, 0xad, 0x4a, 0xad, 0x82, 0xab, 0xa5, 0xe0, 0x44, 0x43, 0xf6, 0x16,
1089	0xb1, 0x89, 0x6b, 0x76, 0xe0, 0x5b, 0xe0, 0x6a, 0xdc, 0x79, 0xf3, 0x4e, 0x69, 0x3b, 0x88, 0x12,
1090	0xdb, 0xa0, 0xb4, 0x40, 0xf3, 0xb0, 0x73, 0xc0, 0x0e, 0xe6, 0xed, 0x98, 0x55, 0xb5, 0x76, 0xb7,
1091	0xb0, 0x53, 0x2d, 0x73, 0xab, 0x64, 0x56, 0x1d, 0x8e, 0xf2, 0x97, 0x42, 0x2b, 0xf1, 0xe2, 0x41,
1092	0xcd, 0xd6, 0xbe, 0x52, 0x40, 0xee, 0xeb, 0x2f, 0x2f, 0xf8, 0x31, 0x78, 0x85, 0xc5, 0x6b, 0xaa,
1093	0x15, 0x88, 0xbe, 0xc5, 0x63, 0x58, 0x68, 0x34, 0x2a, 0xb5, 0x72, 0x66, 0x26, 0xbb, 0x3a, 0x1c,
1094	0xe5, 0x6f, 0x7e, 0xbd, 0xcb, 0x42, 0xbf, 0x4f, 0x6c, 0xe3, 0x9c, 0x8e, 0x37, 0xeb, 0x78, 0xab,
1095	0xd2, 0xca, 0x28, 0xe7, 0x71, 0xbc, 0xe9, 0xb8, 0x5d, 0x32, 0x28, 0xee, 0x7e, 0xf9, 0x24, 0x37,
1096	0xf3, 0xf8, 0x49, 0x6e, 0xe6, 0xcb, 0xa7, 0x39, 0xe5, 0xf1, 0xd3, 0x9c, 0xf2, 0x9b, 0x67, 0xb9,
1097	0x99, 0xcf, 0x9f, 0xe5, 0x94, 0xc7, 0xcf, 0x72, 0x33, 0xff, 0x78, 0x96, 0x9b, 0xb9, 0xff, 0x6a,
1098	0xd7, 0x1c, 0x1c, 0x1c, 0xee, 0xad, 0x77, 0x9c, 0xde, 0x2d, 0xef, 0xd8, 0xee, 0x0c, 0x0e, 0x4c,
1099	0xbb, 0x2b, 0x3d, 0xc9, 0xff, 0xb7, 0xed, 0xcd, 0xb1, 0xa7, 0x37, 0xff, 0x1b, 0x00, 0x00, 0xff,
1100	0xff, 0xf7, 0xe3, 0xa9, 0xd7, 0x86, 0x1b, 0x00, 0x00,
1101}
1102
1103func (m *Hello) Marshal() (dAtA []byte, err error) {
1104	size := m.ProtoSize()
1105	dAtA = make([]byte, size)
1106	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1107	if err != nil {
1108		return nil, err
1109	}
1110	return dAtA[:n], nil
1111}
1112
1113func (m *Hello) MarshalTo(dAtA []byte) (int, error) {
1114	size := m.ProtoSize()
1115	return m.MarshalToSizedBuffer(dAtA[:size])
1116}
1117
1118func (m *Hello) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1119	i := len(dAtA)
1120	_ = i
1121	var l int
1122	_ = l
1123	if len(m.ClientVersion) > 0 {
1124		i -= len(m.ClientVersion)
1125		copy(dAtA[i:], m.ClientVersion)
1126		i = encodeVarintBep(dAtA, i, uint64(len(m.ClientVersion)))
1127		i--
1128		dAtA[i] = 0x1a
1129	}
1130	if len(m.ClientName) > 0 {
1131		i -= len(m.ClientName)
1132		copy(dAtA[i:], m.ClientName)
1133		i = encodeVarintBep(dAtA, i, uint64(len(m.ClientName)))
1134		i--
1135		dAtA[i] = 0x12
1136	}
1137	if len(m.DeviceName) > 0 {
1138		i -= len(m.DeviceName)
1139		copy(dAtA[i:], m.DeviceName)
1140		i = encodeVarintBep(dAtA, i, uint64(len(m.DeviceName)))
1141		i--
1142		dAtA[i] = 0xa
1143	}
1144	return len(dAtA) - i, nil
1145}
1146
1147func (m *Header) Marshal() (dAtA []byte, err error) {
1148	size := m.ProtoSize()
1149	dAtA = make([]byte, size)
1150	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1151	if err != nil {
1152		return nil, err
1153	}
1154	return dAtA[:n], nil
1155}
1156
1157func (m *Header) MarshalTo(dAtA []byte) (int, error) {
1158	size := m.ProtoSize()
1159	return m.MarshalToSizedBuffer(dAtA[:size])
1160}
1161
1162func (m *Header) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1163	i := len(dAtA)
1164	_ = i
1165	var l int
1166	_ = l
1167	if m.Compression != 0 {
1168		i = encodeVarintBep(dAtA, i, uint64(m.Compression))
1169		i--
1170		dAtA[i] = 0x10
1171	}
1172	if m.Type != 0 {
1173		i = encodeVarintBep(dAtA, i, uint64(m.Type))
1174		i--
1175		dAtA[i] = 0x8
1176	}
1177	return len(dAtA) - i, nil
1178}
1179
1180func (m *ClusterConfig) Marshal() (dAtA []byte, err error) {
1181	size := m.ProtoSize()
1182	dAtA = make([]byte, size)
1183	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1184	if err != nil {
1185		return nil, err
1186	}
1187	return dAtA[:n], nil
1188}
1189
1190func (m *ClusterConfig) MarshalTo(dAtA []byte) (int, error) {
1191	size := m.ProtoSize()
1192	return m.MarshalToSizedBuffer(dAtA[:size])
1193}
1194
1195func (m *ClusterConfig) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1196	i := len(dAtA)
1197	_ = i
1198	var l int
1199	_ = l
1200	if len(m.Folders) > 0 {
1201		for iNdEx := len(m.Folders) - 1; iNdEx >= 0; iNdEx-- {
1202			{
1203				size, err := m.Folders[iNdEx].MarshalToSizedBuffer(dAtA[:i])
1204				if err != nil {
1205					return 0, err
1206				}
1207				i -= size
1208				i = encodeVarintBep(dAtA, i, uint64(size))
1209			}
1210			i--
1211			dAtA[i] = 0xa
1212		}
1213	}
1214	return len(dAtA) - i, nil
1215}
1216
1217func (m *Folder) Marshal() (dAtA []byte, err error) {
1218	size := m.ProtoSize()
1219	dAtA = make([]byte, size)
1220	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1221	if err != nil {
1222		return nil, err
1223	}
1224	return dAtA[:n], nil
1225}
1226
1227func (m *Folder) MarshalTo(dAtA []byte) (int, error) {
1228	size := m.ProtoSize()
1229	return m.MarshalToSizedBuffer(dAtA[:size])
1230}
1231
1232func (m *Folder) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1233	i := len(dAtA)
1234	_ = i
1235	var l int
1236	_ = l
1237	if len(m.Devices) > 0 {
1238		for iNdEx := len(m.Devices) - 1; iNdEx >= 0; iNdEx-- {
1239			{
1240				size, err := m.Devices[iNdEx].MarshalToSizedBuffer(dAtA[:i])
1241				if err != nil {
1242					return 0, err
1243				}
1244				i -= size
1245				i = encodeVarintBep(dAtA, i, uint64(size))
1246			}
1247			i--
1248			dAtA[i] = 0x1
1249			i--
1250			dAtA[i] = 0x82
1251		}
1252	}
1253	if m.Paused {
1254		i--
1255		if m.Paused {
1256			dAtA[i] = 1
1257		} else {
1258			dAtA[i] = 0
1259		}
1260		i--
1261		dAtA[i] = 0x38
1262	}
1263	if m.DisableTempIndexes {
1264		i--
1265		if m.DisableTempIndexes {
1266			dAtA[i] = 1
1267		} else {
1268			dAtA[i] = 0
1269		}
1270		i--
1271		dAtA[i] = 0x30
1272	}
1273	if m.IgnoreDelete {
1274		i--
1275		if m.IgnoreDelete {
1276			dAtA[i] = 1
1277		} else {
1278			dAtA[i] = 0
1279		}
1280		i--
1281		dAtA[i] = 0x28
1282	}
1283	if m.IgnorePermissions {
1284		i--
1285		if m.IgnorePermissions {
1286			dAtA[i] = 1
1287		} else {
1288			dAtA[i] = 0
1289		}
1290		i--
1291		dAtA[i] = 0x20
1292	}
1293	if m.ReadOnly {
1294		i--
1295		if m.ReadOnly {
1296			dAtA[i] = 1
1297		} else {
1298			dAtA[i] = 0
1299		}
1300		i--
1301		dAtA[i] = 0x18
1302	}
1303	if len(m.Label) > 0 {
1304		i -= len(m.Label)
1305		copy(dAtA[i:], m.Label)
1306		i = encodeVarintBep(dAtA, i, uint64(len(m.Label)))
1307		i--
1308		dAtA[i] = 0x12
1309	}
1310	if len(m.ID) > 0 {
1311		i -= len(m.ID)
1312		copy(dAtA[i:], m.ID)
1313		i = encodeVarintBep(dAtA, i, uint64(len(m.ID)))
1314		i--
1315		dAtA[i] = 0xa
1316	}
1317	return len(dAtA) - i, nil
1318}
1319
1320func (m *Device) Marshal() (dAtA []byte, err error) {
1321	size := m.ProtoSize()
1322	dAtA = make([]byte, size)
1323	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1324	if err != nil {
1325		return nil, err
1326	}
1327	return dAtA[:n], nil
1328}
1329
1330func (m *Device) MarshalTo(dAtA []byte) (int, error) {
1331	size := m.ProtoSize()
1332	return m.MarshalToSizedBuffer(dAtA[:size])
1333}
1334
1335func (m *Device) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1336	i := len(dAtA)
1337	_ = i
1338	var l int
1339	_ = l
1340	if len(m.EncryptionPasswordToken) > 0 {
1341		i -= len(m.EncryptionPasswordToken)
1342		copy(dAtA[i:], m.EncryptionPasswordToken)
1343		i = encodeVarintBep(dAtA, i, uint64(len(m.EncryptionPasswordToken)))
1344		i--
1345		dAtA[i] = 0x52
1346	}
1347	if m.SkipIntroductionRemovals {
1348		i--
1349		if m.SkipIntroductionRemovals {
1350			dAtA[i] = 1
1351		} else {
1352			dAtA[i] = 0
1353		}
1354		i--
1355		dAtA[i] = 0x48
1356	}
1357	if m.IndexID != 0 {
1358		i = encodeVarintBep(dAtA, i, uint64(m.IndexID))
1359		i--
1360		dAtA[i] = 0x40
1361	}
1362	if m.Introducer {
1363		i--
1364		if m.Introducer {
1365			dAtA[i] = 1
1366		} else {
1367			dAtA[i] = 0
1368		}
1369		i--
1370		dAtA[i] = 0x38
1371	}
1372	if m.MaxSequence != 0 {
1373		i = encodeVarintBep(dAtA, i, uint64(m.MaxSequence))
1374		i--
1375		dAtA[i] = 0x30
1376	}
1377	if len(m.CertName) > 0 {
1378		i -= len(m.CertName)
1379		copy(dAtA[i:], m.CertName)
1380		i = encodeVarintBep(dAtA, i, uint64(len(m.CertName)))
1381		i--
1382		dAtA[i] = 0x2a
1383	}
1384	if m.Compression != 0 {
1385		i = encodeVarintBep(dAtA, i, uint64(m.Compression))
1386		i--
1387		dAtA[i] = 0x20
1388	}
1389	if len(m.Addresses) > 0 {
1390		for iNdEx := len(m.Addresses) - 1; iNdEx >= 0; iNdEx-- {
1391			i -= len(m.Addresses[iNdEx])
1392			copy(dAtA[i:], m.Addresses[iNdEx])
1393			i = encodeVarintBep(dAtA, i, uint64(len(m.Addresses[iNdEx])))
1394			i--
1395			dAtA[i] = 0x1a
1396		}
1397	}
1398	if len(m.Name) > 0 {
1399		i -= len(m.Name)
1400		copy(dAtA[i:], m.Name)
1401		i = encodeVarintBep(dAtA, i, uint64(len(m.Name)))
1402		i--
1403		dAtA[i] = 0x12
1404	}
1405	{
1406		size := m.ID.ProtoSize()
1407		i -= size
1408		if _, err := m.ID.MarshalTo(dAtA[i:]); err != nil {
1409			return 0, err
1410		}
1411		i = encodeVarintBep(dAtA, i, uint64(size))
1412	}
1413	i--
1414	dAtA[i] = 0xa
1415	return len(dAtA) - i, nil
1416}
1417
1418func (m *Index) Marshal() (dAtA []byte, err error) {
1419	size := m.ProtoSize()
1420	dAtA = make([]byte, size)
1421	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1422	if err != nil {
1423		return nil, err
1424	}
1425	return dAtA[:n], nil
1426}
1427
1428func (m *Index) MarshalTo(dAtA []byte) (int, error) {
1429	size := m.ProtoSize()
1430	return m.MarshalToSizedBuffer(dAtA[:size])
1431}
1432
1433func (m *Index) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1434	i := len(dAtA)
1435	_ = i
1436	var l int
1437	_ = l
1438	if len(m.Files) > 0 {
1439		for iNdEx := len(m.Files) - 1; iNdEx >= 0; iNdEx-- {
1440			{
1441				size, err := m.Files[iNdEx].MarshalToSizedBuffer(dAtA[:i])
1442				if err != nil {
1443					return 0, err
1444				}
1445				i -= size
1446				i = encodeVarintBep(dAtA, i, uint64(size))
1447			}
1448			i--
1449			dAtA[i] = 0x12
1450		}
1451	}
1452	if len(m.Folder) > 0 {
1453		i -= len(m.Folder)
1454		copy(dAtA[i:], m.Folder)
1455		i = encodeVarintBep(dAtA, i, uint64(len(m.Folder)))
1456		i--
1457		dAtA[i] = 0xa
1458	}
1459	return len(dAtA) - i, nil
1460}
1461
1462func (m *IndexUpdate) Marshal() (dAtA []byte, err error) {
1463	size := m.ProtoSize()
1464	dAtA = make([]byte, size)
1465	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1466	if err != nil {
1467		return nil, err
1468	}
1469	return dAtA[:n], nil
1470}
1471
1472func (m *IndexUpdate) MarshalTo(dAtA []byte) (int, error) {
1473	size := m.ProtoSize()
1474	return m.MarshalToSizedBuffer(dAtA[:size])
1475}
1476
1477func (m *IndexUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1478	i := len(dAtA)
1479	_ = i
1480	var l int
1481	_ = l
1482	if len(m.Files) > 0 {
1483		for iNdEx := len(m.Files) - 1; iNdEx >= 0; iNdEx-- {
1484			{
1485				size, err := m.Files[iNdEx].MarshalToSizedBuffer(dAtA[:i])
1486				if err != nil {
1487					return 0, err
1488				}
1489				i -= size
1490				i = encodeVarintBep(dAtA, i, uint64(size))
1491			}
1492			i--
1493			dAtA[i] = 0x12
1494		}
1495	}
1496	if len(m.Folder) > 0 {
1497		i -= len(m.Folder)
1498		copy(dAtA[i:], m.Folder)
1499		i = encodeVarintBep(dAtA, i, uint64(len(m.Folder)))
1500		i--
1501		dAtA[i] = 0xa
1502	}
1503	return len(dAtA) - i, nil
1504}
1505
1506func (m *FileInfo) Marshal() (dAtA []byte, err error) {
1507	size := m.ProtoSize()
1508	dAtA = make([]byte, size)
1509	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1510	if err != nil {
1511		return nil, err
1512	}
1513	return dAtA[:n], nil
1514}
1515
1516func (m *FileInfo) MarshalTo(dAtA []byte) (int, error) {
1517	size := m.ProtoSize()
1518	return m.MarshalToSizedBuffer(dAtA[:size])
1519}
1520
1521func (m *FileInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1522	i := len(dAtA)
1523	_ = i
1524	var l int
1525	_ = l
1526	if len(m.VersionHash) > 0 {
1527		i -= len(m.VersionHash)
1528		copy(dAtA[i:], m.VersionHash)
1529		i = encodeVarintBep(dAtA, i, uint64(len(m.VersionHash)))
1530		i--
1531		dAtA[i] = 0x3e
1532		i--
1533		dAtA[i] = 0xca
1534	}
1535	if m.LocalFlags != 0 {
1536		i = encodeVarintBep(dAtA, i, uint64(m.LocalFlags))
1537		i--
1538		dAtA[i] = 0x3e
1539		i--
1540		dAtA[i] = 0xc0
1541	}
1542	if len(m.Encrypted) > 0 {
1543		i -= len(m.Encrypted)
1544		copy(dAtA[i:], m.Encrypted)
1545		i = encodeVarintBep(dAtA, i, uint64(len(m.Encrypted)))
1546		i--
1547		dAtA[i] = 0x1
1548		i--
1549		dAtA[i] = 0x9a
1550	}
1551	if len(m.BlocksHash) > 0 {
1552		i -= len(m.BlocksHash)
1553		copy(dAtA[i:], m.BlocksHash)
1554		i = encodeVarintBep(dAtA, i, uint64(len(m.BlocksHash)))
1555		i--
1556		dAtA[i] = 0x1
1557		i--
1558		dAtA[i] = 0x92
1559	}
1560	if len(m.SymlinkTarget) > 0 {
1561		i -= len(m.SymlinkTarget)
1562		copy(dAtA[i:], m.SymlinkTarget)
1563		i = encodeVarintBep(dAtA, i, uint64(len(m.SymlinkTarget)))
1564		i--
1565		dAtA[i] = 0x1
1566		i--
1567		dAtA[i] = 0x8a
1568	}
1569	if len(m.Blocks) > 0 {
1570		for iNdEx := len(m.Blocks) - 1; iNdEx >= 0; iNdEx-- {
1571			{
1572				size, err := m.Blocks[iNdEx].MarshalToSizedBuffer(dAtA[:i])
1573				if err != nil {
1574					return 0, err
1575				}
1576				i -= size
1577				i = encodeVarintBep(dAtA, i, uint64(size))
1578			}
1579			i--
1580			dAtA[i] = 0x1
1581			i--
1582			dAtA[i] = 0x82
1583		}
1584	}
1585	if m.RawBlockSize != 0 {
1586		i = encodeVarintBep(dAtA, i, uint64(m.RawBlockSize))
1587		i--
1588		dAtA[i] = 0x68
1589	}
1590	if m.ModifiedBy != 0 {
1591		i = encodeVarintBep(dAtA, i, uint64(m.ModifiedBy))
1592		i--
1593		dAtA[i] = 0x60
1594	}
1595	if m.ModifiedNs != 0 {
1596		i = encodeVarintBep(dAtA, i, uint64(m.ModifiedNs))
1597		i--
1598		dAtA[i] = 0x58
1599	}
1600	if m.Sequence != 0 {
1601		i = encodeVarintBep(dAtA, i, uint64(m.Sequence))
1602		i--
1603		dAtA[i] = 0x50
1604	}
1605	{
1606		size, err := m.Version.MarshalToSizedBuffer(dAtA[:i])
1607		if err != nil {
1608			return 0, err
1609		}
1610		i -= size
1611		i = encodeVarintBep(dAtA, i, uint64(size))
1612	}
1613	i--
1614	dAtA[i] = 0x4a
1615	if m.NoPermissions {
1616		i--
1617		if m.NoPermissions {
1618			dAtA[i] = 1
1619		} else {
1620			dAtA[i] = 0
1621		}
1622		i--
1623		dAtA[i] = 0x40
1624	}
1625	if m.RawInvalid {
1626		i--
1627		if m.RawInvalid {
1628			dAtA[i] = 1
1629		} else {
1630			dAtA[i] = 0
1631		}
1632		i--
1633		dAtA[i] = 0x38
1634	}
1635	if m.Deleted {
1636		i--
1637		if m.Deleted {
1638			dAtA[i] = 1
1639		} else {
1640			dAtA[i] = 0
1641		}
1642		i--
1643		dAtA[i] = 0x30
1644	}
1645	if m.ModifiedS != 0 {
1646		i = encodeVarintBep(dAtA, i, uint64(m.ModifiedS))
1647		i--
1648		dAtA[i] = 0x28
1649	}
1650	if m.Permissions != 0 {
1651		i = encodeVarintBep(dAtA, i, uint64(m.Permissions))
1652		i--
1653		dAtA[i] = 0x20
1654	}
1655	if m.Size != 0 {
1656		i = encodeVarintBep(dAtA, i, uint64(m.Size))
1657		i--
1658		dAtA[i] = 0x18
1659	}
1660	if m.Type != 0 {
1661		i = encodeVarintBep(dAtA, i, uint64(m.Type))
1662		i--
1663		dAtA[i] = 0x10
1664	}
1665	if len(m.Name) > 0 {
1666		i -= len(m.Name)
1667		copy(dAtA[i:], m.Name)
1668		i = encodeVarintBep(dAtA, i, uint64(len(m.Name)))
1669		i--
1670		dAtA[i] = 0xa
1671	}
1672	return len(dAtA) - i, nil
1673}
1674
1675func (m *BlockInfo) Marshal() (dAtA []byte, err error) {
1676	size := m.ProtoSize()
1677	dAtA = make([]byte, size)
1678	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1679	if err != nil {
1680		return nil, err
1681	}
1682	return dAtA[:n], nil
1683}
1684
1685func (m *BlockInfo) MarshalTo(dAtA []byte) (int, error) {
1686	size := m.ProtoSize()
1687	return m.MarshalToSizedBuffer(dAtA[:size])
1688}
1689
1690func (m *BlockInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1691	i := len(dAtA)
1692	_ = i
1693	var l int
1694	_ = l
1695	if m.WeakHash != 0 {
1696		i = encodeVarintBep(dAtA, i, uint64(m.WeakHash))
1697		i--
1698		dAtA[i] = 0x20
1699	}
1700	if len(m.Hash) > 0 {
1701		i -= len(m.Hash)
1702		copy(dAtA[i:], m.Hash)
1703		i = encodeVarintBep(dAtA, i, uint64(len(m.Hash)))
1704		i--
1705		dAtA[i] = 0x1a
1706	}
1707	if m.Size != 0 {
1708		i = encodeVarintBep(dAtA, i, uint64(m.Size))
1709		i--
1710		dAtA[i] = 0x10
1711	}
1712	if m.Offset != 0 {
1713		i = encodeVarintBep(dAtA, i, uint64(m.Offset))
1714		i--
1715		dAtA[i] = 0x8
1716	}
1717	return len(dAtA) - i, nil
1718}
1719
1720func (m *Vector) Marshal() (dAtA []byte, err error) {
1721	size := m.ProtoSize()
1722	dAtA = make([]byte, size)
1723	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1724	if err != nil {
1725		return nil, err
1726	}
1727	return dAtA[:n], nil
1728}
1729
1730func (m *Vector) MarshalTo(dAtA []byte) (int, error) {
1731	size := m.ProtoSize()
1732	return m.MarshalToSizedBuffer(dAtA[:size])
1733}
1734
1735func (m *Vector) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1736	i := len(dAtA)
1737	_ = i
1738	var l int
1739	_ = l
1740	if len(m.Counters) > 0 {
1741		for iNdEx := len(m.Counters) - 1; iNdEx >= 0; iNdEx-- {
1742			{
1743				size, err := m.Counters[iNdEx].MarshalToSizedBuffer(dAtA[:i])
1744				if err != nil {
1745					return 0, err
1746				}
1747				i -= size
1748				i = encodeVarintBep(dAtA, i, uint64(size))
1749			}
1750			i--
1751			dAtA[i] = 0xa
1752		}
1753	}
1754	return len(dAtA) - i, nil
1755}
1756
1757func (m *Counter) Marshal() (dAtA []byte, err error) {
1758	size := m.ProtoSize()
1759	dAtA = make([]byte, size)
1760	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1761	if err != nil {
1762		return nil, err
1763	}
1764	return dAtA[:n], nil
1765}
1766
1767func (m *Counter) MarshalTo(dAtA []byte) (int, error) {
1768	size := m.ProtoSize()
1769	return m.MarshalToSizedBuffer(dAtA[:size])
1770}
1771
1772func (m *Counter) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1773	i := len(dAtA)
1774	_ = i
1775	var l int
1776	_ = l
1777	if m.Value != 0 {
1778		i = encodeVarintBep(dAtA, i, uint64(m.Value))
1779		i--
1780		dAtA[i] = 0x10
1781	}
1782	if m.ID != 0 {
1783		i = encodeVarintBep(dAtA, i, uint64(m.ID))
1784		i--
1785		dAtA[i] = 0x8
1786	}
1787	return len(dAtA) - i, nil
1788}
1789
1790func (m *Request) Marshal() (dAtA []byte, err error) {
1791	size := m.ProtoSize()
1792	dAtA = make([]byte, size)
1793	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1794	if err != nil {
1795		return nil, err
1796	}
1797	return dAtA[:n], nil
1798}
1799
1800func (m *Request) MarshalTo(dAtA []byte) (int, error) {
1801	size := m.ProtoSize()
1802	return m.MarshalToSizedBuffer(dAtA[:size])
1803}
1804
1805func (m *Request) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1806	i := len(dAtA)
1807	_ = i
1808	var l int
1809	_ = l
1810	if m.BlockNo != 0 {
1811		i = encodeVarintBep(dAtA, i, uint64(m.BlockNo))
1812		i--
1813		dAtA[i] = 0x48
1814	}
1815	if m.WeakHash != 0 {
1816		i = encodeVarintBep(dAtA, i, uint64(m.WeakHash))
1817		i--
1818		dAtA[i] = 0x40
1819	}
1820	if m.FromTemporary {
1821		i--
1822		if m.FromTemporary {
1823			dAtA[i] = 1
1824		} else {
1825			dAtA[i] = 0
1826		}
1827		i--
1828		dAtA[i] = 0x38
1829	}
1830	if len(m.Hash) > 0 {
1831		i -= len(m.Hash)
1832		copy(dAtA[i:], m.Hash)
1833		i = encodeVarintBep(dAtA, i, uint64(len(m.Hash)))
1834		i--
1835		dAtA[i] = 0x32
1836	}
1837	if m.Size != 0 {
1838		i = encodeVarintBep(dAtA, i, uint64(m.Size))
1839		i--
1840		dAtA[i] = 0x28
1841	}
1842	if m.Offset != 0 {
1843		i = encodeVarintBep(dAtA, i, uint64(m.Offset))
1844		i--
1845		dAtA[i] = 0x20
1846	}
1847	if len(m.Name) > 0 {
1848		i -= len(m.Name)
1849		copy(dAtA[i:], m.Name)
1850		i = encodeVarintBep(dAtA, i, uint64(len(m.Name)))
1851		i--
1852		dAtA[i] = 0x1a
1853	}
1854	if len(m.Folder) > 0 {
1855		i -= len(m.Folder)
1856		copy(dAtA[i:], m.Folder)
1857		i = encodeVarintBep(dAtA, i, uint64(len(m.Folder)))
1858		i--
1859		dAtA[i] = 0x12
1860	}
1861	if m.ID != 0 {
1862		i = encodeVarintBep(dAtA, i, uint64(m.ID))
1863		i--
1864		dAtA[i] = 0x8
1865	}
1866	return len(dAtA) - i, nil
1867}
1868
1869func (m *Response) Marshal() (dAtA []byte, err error) {
1870	size := m.ProtoSize()
1871	dAtA = make([]byte, size)
1872	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1873	if err != nil {
1874		return nil, err
1875	}
1876	return dAtA[:n], nil
1877}
1878
1879func (m *Response) MarshalTo(dAtA []byte) (int, error) {
1880	size := m.ProtoSize()
1881	return m.MarshalToSizedBuffer(dAtA[:size])
1882}
1883
1884func (m *Response) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1885	i := len(dAtA)
1886	_ = i
1887	var l int
1888	_ = l
1889	if m.Code != 0 {
1890		i = encodeVarintBep(dAtA, i, uint64(m.Code))
1891		i--
1892		dAtA[i] = 0x18
1893	}
1894	if len(m.Data) > 0 {
1895		i -= len(m.Data)
1896		copy(dAtA[i:], m.Data)
1897		i = encodeVarintBep(dAtA, i, uint64(len(m.Data)))
1898		i--
1899		dAtA[i] = 0x12
1900	}
1901	if m.ID != 0 {
1902		i = encodeVarintBep(dAtA, i, uint64(m.ID))
1903		i--
1904		dAtA[i] = 0x8
1905	}
1906	return len(dAtA) - i, nil
1907}
1908
1909func (m *DownloadProgress) Marshal() (dAtA []byte, err error) {
1910	size := m.ProtoSize()
1911	dAtA = make([]byte, size)
1912	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1913	if err != nil {
1914		return nil, err
1915	}
1916	return dAtA[:n], nil
1917}
1918
1919func (m *DownloadProgress) MarshalTo(dAtA []byte) (int, error) {
1920	size := m.ProtoSize()
1921	return m.MarshalToSizedBuffer(dAtA[:size])
1922}
1923
1924func (m *DownloadProgress) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1925	i := len(dAtA)
1926	_ = i
1927	var l int
1928	_ = l
1929	if len(m.Updates) > 0 {
1930		for iNdEx := len(m.Updates) - 1; iNdEx >= 0; iNdEx-- {
1931			{
1932				size, err := m.Updates[iNdEx].MarshalToSizedBuffer(dAtA[:i])
1933				if err != nil {
1934					return 0, err
1935				}
1936				i -= size
1937				i = encodeVarintBep(dAtA, i, uint64(size))
1938			}
1939			i--
1940			dAtA[i] = 0x12
1941		}
1942	}
1943	if len(m.Folder) > 0 {
1944		i -= len(m.Folder)
1945		copy(dAtA[i:], m.Folder)
1946		i = encodeVarintBep(dAtA, i, uint64(len(m.Folder)))
1947		i--
1948		dAtA[i] = 0xa
1949	}
1950	return len(dAtA) - i, nil
1951}
1952
1953func (m *FileDownloadProgressUpdate) Marshal() (dAtA []byte, err error) {
1954	size := m.ProtoSize()
1955	dAtA = make([]byte, size)
1956	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1957	if err != nil {
1958		return nil, err
1959	}
1960	return dAtA[:n], nil
1961}
1962
1963func (m *FileDownloadProgressUpdate) MarshalTo(dAtA []byte) (int, error) {
1964	size := m.ProtoSize()
1965	return m.MarshalToSizedBuffer(dAtA[:size])
1966}
1967
1968func (m *FileDownloadProgressUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1969	i := len(dAtA)
1970	_ = i
1971	var l int
1972	_ = l
1973	if m.BlockSize != 0 {
1974		i = encodeVarintBep(dAtA, i, uint64(m.BlockSize))
1975		i--
1976		dAtA[i] = 0x28
1977	}
1978	if len(m.BlockIndexes) > 0 {
1979		for iNdEx := len(m.BlockIndexes) - 1; iNdEx >= 0; iNdEx-- {
1980			i = encodeVarintBep(dAtA, i, uint64(m.BlockIndexes[iNdEx]))
1981			i--
1982			dAtA[i] = 0x20
1983		}
1984	}
1985	{
1986		size, err := m.Version.MarshalToSizedBuffer(dAtA[:i])
1987		if err != nil {
1988			return 0, err
1989		}
1990		i -= size
1991		i = encodeVarintBep(dAtA, i, uint64(size))
1992	}
1993	i--
1994	dAtA[i] = 0x1a
1995	if len(m.Name) > 0 {
1996		i -= len(m.Name)
1997		copy(dAtA[i:], m.Name)
1998		i = encodeVarintBep(dAtA, i, uint64(len(m.Name)))
1999		i--
2000		dAtA[i] = 0x12
2001	}
2002	if m.UpdateType != 0 {
2003		i = encodeVarintBep(dAtA, i, uint64(m.UpdateType))
2004		i--
2005		dAtA[i] = 0x8
2006	}
2007	return len(dAtA) - i, nil
2008}
2009
2010func (m *Ping) Marshal() (dAtA []byte, err error) {
2011	size := m.ProtoSize()
2012	dAtA = make([]byte, size)
2013	n, err := m.MarshalToSizedBuffer(dAtA[:size])
2014	if err != nil {
2015		return nil, err
2016	}
2017	return dAtA[:n], nil
2018}
2019
2020func (m *Ping) MarshalTo(dAtA []byte) (int, error) {
2021	size := m.ProtoSize()
2022	return m.MarshalToSizedBuffer(dAtA[:size])
2023}
2024
2025func (m *Ping) MarshalToSizedBuffer(dAtA []byte) (int, error) {
2026	i := len(dAtA)
2027	_ = i
2028	var l int
2029	_ = l
2030	return len(dAtA) - i, nil
2031}
2032
2033func (m *Close) Marshal() (dAtA []byte, err error) {
2034	size := m.ProtoSize()
2035	dAtA = make([]byte, size)
2036	n, err := m.MarshalToSizedBuffer(dAtA[:size])
2037	if err != nil {
2038		return nil, err
2039	}
2040	return dAtA[:n], nil
2041}
2042
2043func (m *Close) MarshalTo(dAtA []byte) (int, error) {
2044	size := m.ProtoSize()
2045	return m.MarshalToSizedBuffer(dAtA[:size])
2046}
2047
2048func (m *Close) MarshalToSizedBuffer(dAtA []byte) (int, error) {
2049	i := len(dAtA)
2050	_ = i
2051	var l int
2052	_ = l
2053	if len(m.Reason) > 0 {
2054		i -= len(m.Reason)
2055		copy(dAtA[i:], m.Reason)
2056		i = encodeVarintBep(dAtA, i, uint64(len(m.Reason)))
2057		i--
2058		dAtA[i] = 0xa
2059	}
2060	return len(dAtA) - i, nil
2061}
2062
2063func encodeVarintBep(dAtA []byte, offset int, v uint64) int {
2064	offset -= sovBep(v)
2065	base := offset
2066	for v >= 1<<7 {
2067		dAtA[offset] = uint8(v&0x7f | 0x80)
2068		v >>= 7
2069		offset++
2070	}
2071	dAtA[offset] = uint8(v)
2072	return base
2073}
2074func (m *Hello) ProtoSize() (n int) {
2075	if m == nil {
2076		return 0
2077	}
2078	var l int
2079	_ = l
2080	l = len(m.DeviceName)
2081	if l > 0 {
2082		n += 1 + l + sovBep(uint64(l))
2083	}
2084	l = len(m.ClientName)
2085	if l > 0 {
2086		n += 1 + l + sovBep(uint64(l))
2087	}
2088	l = len(m.ClientVersion)
2089	if l > 0 {
2090		n += 1 + l + sovBep(uint64(l))
2091	}
2092	return n
2093}
2094
2095func (m *Header) ProtoSize() (n int) {
2096	if m == nil {
2097		return 0
2098	}
2099	var l int
2100	_ = l
2101	if m.Type != 0 {
2102		n += 1 + sovBep(uint64(m.Type))
2103	}
2104	if m.Compression != 0 {
2105		n += 1 + sovBep(uint64(m.Compression))
2106	}
2107	return n
2108}
2109
2110func (m *ClusterConfig) ProtoSize() (n int) {
2111	if m == nil {
2112		return 0
2113	}
2114	var l int
2115	_ = l
2116	if len(m.Folders) > 0 {
2117		for _, e := range m.Folders {
2118			l = e.ProtoSize()
2119			n += 1 + l + sovBep(uint64(l))
2120		}
2121	}
2122	return n
2123}
2124
2125func (m *Folder) ProtoSize() (n int) {
2126	if m == nil {
2127		return 0
2128	}
2129	var l int
2130	_ = l
2131	l = len(m.ID)
2132	if l > 0 {
2133		n += 1 + l + sovBep(uint64(l))
2134	}
2135	l = len(m.Label)
2136	if l > 0 {
2137		n += 1 + l + sovBep(uint64(l))
2138	}
2139	if m.ReadOnly {
2140		n += 2
2141	}
2142	if m.IgnorePermissions {
2143		n += 2
2144	}
2145	if m.IgnoreDelete {
2146		n += 2
2147	}
2148	if m.DisableTempIndexes {
2149		n += 2
2150	}
2151	if m.Paused {
2152		n += 2
2153	}
2154	if len(m.Devices) > 0 {
2155		for _, e := range m.Devices {
2156			l = e.ProtoSize()
2157			n += 2 + l + sovBep(uint64(l))
2158		}
2159	}
2160	return n
2161}
2162
2163func (m *Device) ProtoSize() (n int) {
2164	if m == nil {
2165		return 0
2166	}
2167	var l int
2168	_ = l
2169	l = m.ID.ProtoSize()
2170	n += 1 + l + sovBep(uint64(l))
2171	l = len(m.Name)
2172	if l > 0 {
2173		n += 1 + l + sovBep(uint64(l))
2174	}
2175	if len(m.Addresses) > 0 {
2176		for _, s := range m.Addresses {
2177			l = len(s)
2178			n += 1 + l + sovBep(uint64(l))
2179		}
2180	}
2181	if m.Compression != 0 {
2182		n += 1 + sovBep(uint64(m.Compression))
2183	}
2184	l = len(m.CertName)
2185	if l > 0 {
2186		n += 1 + l + sovBep(uint64(l))
2187	}
2188	if m.MaxSequence != 0 {
2189		n += 1 + sovBep(uint64(m.MaxSequence))
2190	}
2191	if m.Introducer {
2192		n += 2
2193	}
2194	if m.IndexID != 0 {
2195		n += 1 + sovBep(uint64(m.IndexID))
2196	}
2197	if m.SkipIntroductionRemovals {
2198		n += 2
2199	}
2200	l = len(m.EncryptionPasswordToken)
2201	if l > 0 {
2202		n += 1 + l + sovBep(uint64(l))
2203	}
2204	return n
2205}
2206
2207func (m *Index) ProtoSize() (n int) {
2208	if m == nil {
2209		return 0
2210	}
2211	var l int
2212	_ = l
2213	l = len(m.Folder)
2214	if l > 0 {
2215		n += 1 + l + sovBep(uint64(l))
2216	}
2217	if len(m.Files) > 0 {
2218		for _, e := range m.Files {
2219			l = e.ProtoSize()
2220			n += 1 + l + sovBep(uint64(l))
2221		}
2222	}
2223	return n
2224}
2225
2226func (m *IndexUpdate) ProtoSize() (n int) {
2227	if m == nil {
2228		return 0
2229	}
2230	var l int
2231	_ = l
2232	l = len(m.Folder)
2233	if l > 0 {
2234		n += 1 + l + sovBep(uint64(l))
2235	}
2236	if len(m.Files) > 0 {
2237		for _, e := range m.Files {
2238			l = e.ProtoSize()
2239			n += 1 + l + sovBep(uint64(l))
2240		}
2241	}
2242	return n
2243}
2244
2245func (m *FileInfo) ProtoSize() (n int) {
2246	if m == nil {
2247		return 0
2248	}
2249	var l int
2250	_ = l
2251	l = len(m.Name)
2252	if l > 0 {
2253		n += 1 + l + sovBep(uint64(l))
2254	}
2255	if m.Type != 0 {
2256		n += 1 + sovBep(uint64(m.Type))
2257	}
2258	if m.Size != 0 {
2259		n += 1 + sovBep(uint64(m.Size))
2260	}
2261	if m.Permissions != 0 {
2262		n += 1 + sovBep(uint64(m.Permissions))
2263	}
2264	if m.ModifiedS != 0 {
2265		n += 1 + sovBep(uint64(m.ModifiedS))
2266	}
2267	if m.Deleted {
2268		n += 2
2269	}
2270	if m.RawInvalid {
2271		n += 2
2272	}
2273	if m.NoPermissions {
2274		n += 2
2275	}
2276	l = m.Version.ProtoSize()
2277	n += 1 + l + sovBep(uint64(l))
2278	if m.Sequence != 0 {
2279		n += 1 + sovBep(uint64(m.Sequence))
2280	}
2281	if m.ModifiedNs != 0 {
2282		n += 1 + sovBep(uint64(m.ModifiedNs))
2283	}
2284	if m.ModifiedBy != 0 {
2285		n += 1 + sovBep(uint64(m.ModifiedBy))
2286	}
2287	if m.RawBlockSize != 0 {
2288		n += 1 + sovBep(uint64(m.RawBlockSize))
2289	}
2290	if len(m.Blocks) > 0 {
2291		for _, e := range m.Blocks {
2292			l = e.ProtoSize()
2293			n += 2 + l + sovBep(uint64(l))
2294		}
2295	}
2296	l = len(m.SymlinkTarget)
2297	if l > 0 {
2298		n += 2 + l + sovBep(uint64(l))
2299	}
2300	l = len(m.BlocksHash)
2301	if l > 0 {
2302		n += 2 + l + sovBep(uint64(l))
2303	}
2304	l = len(m.Encrypted)
2305	if l > 0 {
2306		n += 2 + l + sovBep(uint64(l))
2307	}
2308	if m.LocalFlags != 0 {
2309		n += 2 + sovBep(uint64(m.LocalFlags))
2310	}
2311	l = len(m.VersionHash)
2312	if l > 0 {
2313		n += 2 + l + sovBep(uint64(l))
2314	}
2315	return n
2316}
2317
2318func (m *BlockInfo) ProtoSize() (n int) {
2319	if m == nil {
2320		return 0
2321	}
2322	var l int
2323	_ = l
2324	if m.Offset != 0 {
2325		n += 1 + sovBep(uint64(m.Offset))
2326	}
2327	if m.Size != 0 {
2328		n += 1 + sovBep(uint64(m.Size))
2329	}
2330	l = len(m.Hash)
2331	if l > 0 {
2332		n += 1 + l + sovBep(uint64(l))
2333	}
2334	if m.WeakHash != 0 {
2335		n += 1 + sovBep(uint64(m.WeakHash))
2336	}
2337	return n
2338}
2339
2340func (m *Vector) ProtoSize() (n int) {
2341	if m == nil {
2342		return 0
2343	}
2344	var l int
2345	_ = l
2346	if len(m.Counters) > 0 {
2347		for _, e := range m.Counters {
2348			l = e.ProtoSize()
2349			n += 1 + l + sovBep(uint64(l))
2350		}
2351	}
2352	return n
2353}
2354
2355func (m *Counter) ProtoSize() (n int) {
2356	if m == nil {
2357		return 0
2358	}
2359	var l int
2360	_ = l
2361	if m.ID != 0 {
2362		n += 1 + sovBep(uint64(m.ID))
2363	}
2364	if m.Value != 0 {
2365		n += 1 + sovBep(uint64(m.Value))
2366	}
2367	return n
2368}
2369
2370func (m *Request) ProtoSize() (n int) {
2371	if m == nil {
2372		return 0
2373	}
2374	var l int
2375	_ = l
2376	if m.ID != 0 {
2377		n += 1 + sovBep(uint64(m.ID))
2378	}
2379	l = len(m.Folder)
2380	if l > 0 {
2381		n += 1 + l + sovBep(uint64(l))
2382	}
2383	l = len(m.Name)
2384	if l > 0 {
2385		n += 1 + l + sovBep(uint64(l))
2386	}
2387	if m.Offset != 0 {
2388		n += 1 + sovBep(uint64(m.Offset))
2389	}
2390	if m.Size != 0 {
2391		n += 1 + sovBep(uint64(m.Size))
2392	}
2393	l = len(m.Hash)
2394	if l > 0 {
2395		n += 1 + l + sovBep(uint64(l))
2396	}
2397	if m.FromTemporary {
2398		n += 2
2399	}
2400	if m.WeakHash != 0 {
2401		n += 1 + sovBep(uint64(m.WeakHash))
2402	}
2403	if m.BlockNo != 0 {
2404		n += 1 + sovBep(uint64(m.BlockNo))
2405	}
2406	return n
2407}
2408
2409func (m *Response) ProtoSize() (n int) {
2410	if m == nil {
2411		return 0
2412	}
2413	var l int
2414	_ = l
2415	if m.ID != 0 {
2416		n += 1 + sovBep(uint64(m.ID))
2417	}
2418	l = len(m.Data)
2419	if l > 0 {
2420		n += 1 + l + sovBep(uint64(l))
2421	}
2422	if m.Code != 0 {
2423		n += 1 + sovBep(uint64(m.Code))
2424	}
2425	return n
2426}
2427
2428func (m *DownloadProgress) ProtoSize() (n int) {
2429	if m == nil {
2430		return 0
2431	}
2432	var l int
2433	_ = l
2434	l = len(m.Folder)
2435	if l > 0 {
2436		n += 1 + l + sovBep(uint64(l))
2437	}
2438	if len(m.Updates) > 0 {
2439		for _, e := range m.Updates {
2440			l = e.ProtoSize()
2441			n += 1 + l + sovBep(uint64(l))
2442		}
2443	}
2444	return n
2445}
2446
2447func (m *FileDownloadProgressUpdate) ProtoSize() (n int) {
2448	if m == nil {
2449		return 0
2450	}
2451	var l int
2452	_ = l
2453	if m.UpdateType != 0 {
2454		n += 1 + sovBep(uint64(m.UpdateType))
2455	}
2456	l = len(m.Name)
2457	if l > 0 {
2458		n += 1 + l + sovBep(uint64(l))
2459	}
2460	l = m.Version.ProtoSize()
2461	n += 1 + l + sovBep(uint64(l))
2462	if len(m.BlockIndexes) > 0 {
2463		for _, e := range m.BlockIndexes {
2464			n += 1 + sovBep(uint64(e))
2465		}
2466	}
2467	if m.BlockSize != 0 {
2468		n += 1 + sovBep(uint64(m.BlockSize))
2469	}
2470	return n
2471}
2472
2473func (m *Ping) ProtoSize() (n int) {
2474	if m == nil {
2475		return 0
2476	}
2477	var l int
2478	_ = l
2479	return n
2480}
2481
2482func (m *Close) ProtoSize() (n int) {
2483	if m == nil {
2484		return 0
2485	}
2486	var l int
2487	_ = l
2488	l = len(m.Reason)
2489	if l > 0 {
2490		n += 1 + l + sovBep(uint64(l))
2491	}
2492	return n
2493}
2494
2495func sovBep(x uint64) (n int) {
2496	return (math_bits.Len64(x|1) + 6) / 7
2497}
2498func sozBep(x uint64) (n int) {
2499	return sovBep(uint64((x << 1) ^ uint64((int64(x) >> 63))))
2500}
2501func (m *Hello) Unmarshal(dAtA []byte) error {
2502	l := len(dAtA)
2503	iNdEx := 0
2504	for iNdEx < l {
2505		preIndex := iNdEx
2506		var wire uint64
2507		for shift := uint(0); ; shift += 7 {
2508			if shift >= 64 {
2509				return ErrIntOverflowBep
2510			}
2511			if iNdEx >= l {
2512				return io.ErrUnexpectedEOF
2513			}
2514			b := dAtA[iNdEx]
2515			iNdEx++
2516			wire |= uint64(b&0x7F) << shift
2517			if b < 0x80 {
2518				break
2519			}
2520		}
2521		fieldNum := int32(wire >> 3)
2522		wireType := int(wire & 0x7)
2523		if wireType == 4 {
2524			return fmt.Errorf("proto: Hello: wiretype end group for non-group")
2525		}
2526		if fieldNum <= 0 {
2527			return fmt.Errorf("proto: Hello: illegal tag %d (wire type %d)", fieldNum, wire)
2528		}
2529		switch fieldNum {
2530		case 1:
2531			if wireType != 2 {
2532				return fmt.Errorf("proto: wrong wireType = %d for field DeviceName", wireType)
2533			}
2534			var stringLen uint64
2535			for shift := uint(0); ; shift += 7 {
2536				if shift >= 64 {
2537					return ErrIntOverflowBep
2538				}
2539				if iNdEx >= l {
2540					return io.ErrUnexpectedEOF
2541				}
2542				b := dAtA[iNdEx]
2543				iNdEx++
2544				stringLen |= uint64(b&0x7F) << shift
2545				if b < 0x80 {
2546					break
2547				}
2548			}
2549			intStringLen := int(stringLen)
2550			if intStringLen < 0 {
2551				return ErrInvalidLengthBep
2552			}
2553			postIndex := iNdEx + intStringLen
2554			if postIndex < 0 {
2555				return ErrInvalidLengthBep
2556			}
2557			if postIndex > l {
2558				return io.ErrUnexpectedEOF
2559			}
2560			m.DeviceName = string(dAtA[iNdEx:postIndex])
2561			iNdEx = postIndex
2562		case 2:
2563			if wireType != 2 {
2564				return fmt.Errorf("proto: wrong wireType = %d for field ClientName", wireType)
2565			}
2566			var stringLen uint64
2567			for shift := uint(0); ; shift += 7 {
2568				if shift >= 64 {
2569					return ErrIntOverflowBep
2570				}
2571				if iNdEx >= l {
2572					return io.ErrUnexpectedEOF
2573				}
2574				b := dAtA[iNdEx]
2575				iNdEx++
2576				stringLen |= uint64(b&0x7F) << shift
2577				if b < 0x80 {
2578					break
2579				}
2580			}
2581			intStringLen := int(stringLen)
2582			if intStringLen < 0 {
2583				return ErrInvalidLengthBep
2584			}
2585			postIndex := iNdEx + intStringLen
2586			if postIndex < 0 {
2587				return ErrInvalidLengthBep
2588			}
2589			if postIndex > l {
2590				return io.ErrUnexpectedEOF
2591			}
2592			m.ClientName = string(dAtA[iNdEx:postIndex])
2593			iNdEx = postIndex
2594		case 3:
2595			if wireType != 2 {
2596				return fmt.Errorf("proto: wrong wireType = %d for field ClientVersion", wireType)
2597			}
2598			var stringLen uint64
2599			for shift := uint(0); ; shift += 7 {
2600				if shift >= 64 {
2601					return ErrIntOverflowBep
2602				}
2603				if iNdEx >= l {
2604					return io.ErrUnexpectedEOF
2605				}
2606				b := dAtA[iNdEx]
2607				iNdEx++
2608				stringLen |= uint64(b&0x7F) << shift
2609				if b < 0x80 {
2610					break
2611				}
2612			}
2613			intStringLen := int(stringLen)
2614			if intStringLen < 0 {
2615				return ErrInvalidLengthBep
2616			}
2617			postIndex := iNdEx + intStringLen
2618			if postIndex < 0 {
2619				return ErrInvalidLengthBep
2620			}
2621			if postIndex > l {
2622				return io.ErrUnexpectedEOF
2623			}
2624			m.ClientVersion = string(dAtA[iNdEx:postIndex])
2625			iNdEx = postIndex
2626		default:
2627			iNdEx = preIndex
2628			skippy, err := skipBep(dAtA[iNdEx:])
2629			if err != nil {
2630				return err
2631			}
2632			if (skippy < 0) || (iNdEx+skippy) < 0 {
2633				return ErrInvalidLengthBep
2634			}
2635			if (iNdEx + skippy) > l {
2636				return io.ErrUnexpectedEOF
2637			}
2638			iNdEx += skippy
2639		}
2640	}
2641
2642	if iNdEx > l {
2643		return io.ErrUnexpectedEOF
2644	}
2645	return nil
2646}
2647func (m *Header) Unmarshal(dAtA []byte) error {
2648	l := len(dAtA)
2649	iNdEx := 0
2650	for iNdEx < l {
2651		preIndex := iNdEx
2652		var wire uint64
2653		for shift := uint(0); ; shift += 7 {
2654			if shift >= 64 {
2655				return ErrIntOverflowBep
2656			}
2657			if iNdEx >= l {
2658				return io.ErrUnexpectedEOF
2659			}
2660			b := dAtA[iNdEx]
2661			iNdEx++
2662			wire |= uint64(b&0x7F) << shift
2663			if b < 0x80 {
2664				break
2665			}
2666		}
2667		fieldNum := int32(wire >> 3)
2668		wireType := int(wire & 0x7)
2669		if wireType == 4 {
2670			return fmt.Errorf("proto: Header: wiretype end group for non-group")
2671		}
2672		if fieldNum <= 0 {
2673			return fmt.Errorf("proto: Header: illegal tag %d (wire type %d)", fieldNum, wire)
2674		}
2675		switch fieldNum {
2676		case 1:
2677			if wireType != 0 {
2678				return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
2679			}
2680			m.Type = 0
2681			for shift := uint(0); ; shift += 7 {
2682				if shift >= 64 {
2683					return ErrIntOverflowBep
2684				}
2685				if iNdEx >= l {
2686					return io.ErrUnexpectedEOF
2687				}
2688				b := dAtA[iNdEx]
2689				iNdEx++
2690				m.Type |= MessageType(b&0x7F) << shift
2691				if b < 0x80 {
2692					break
2693				}
2694			}
2695		case 2:
2696			if wireType != 0 {
2697				return fmt.Errorf("proto: wrong wireType = %d for field Compression", wireType)
2698			}
2699			m.Compression = 0
2700			for shift := uint(0); ; shift += 7 {
2701				if shift >= 64 {
2702					return ErrIntOverflowBep
2703				}
2704				if iNdEx >= l {
2705					return io.ErrUnexpectedEOF
2706				}
2707				b := dAtA[iNdEx]
2708				iNdEx++
2709				m.Compression |= MessageCompression(b&0x7F) << shift
2710				if b < 0x80 {
2711					break
2712				}
2713			}
2714		default:
2715			iNdEx = preIndex
2716			skippy, err := skipBep(dAtA[iNdEx:])
2717			if err != nil {
2718				return err
2719			}
2720			if (skippy < 0) || (iNdEx+skippy) < 0 {
2721				return ErrInvalidLengthBep
2722			}
2723			if (iNdEx + skippy) > l {
2724				return io.ErrUnexpectedEOF
2725			}
2726			iNdEx += skippy
2727		}
2728	}
2729
2730	if iNdEx > l {
2731		return io.ErrUnexpectedEOF
2732	}
2733	return nil
2734}
2735func (m *ClusterConfig) Unmarshal(dAtA []byte) error {
2736	l := len(dAtA)
2737	iNdEx := 0
2738	for iNdEx < l {
2739		preIndex := iNdEx
2740		var wire uint64
2741		for shift := uint(0); ; shift += 7 {
2742			if shift >= 64 {
2743				return ErrIntOverflowBep
2744			}
2745			if iNdEx >= l {
2746				return io.ErrUnexpectedEOF
2747			}
2748			b := dAtA[iNdEx]
2749			iNdEx++
2750			wire |= uint64(b&0x7F) << shift
2751			if b < 0x80 {
2752				break
2753			}
2754		}
2755		fieldNum := int32(wire >> 3)
2756		wireType := int(wire & 0x7)
2757		if wireType == 4 {
2758			return fmt.Errorf("proto: ClusterConfig: wiretype end group for non-group")
2759		}
2760		if fieldNum <= 0 {
2761			return fmt.Errorf("proto: ClusterConfig: illegal tag %d (wire type %d)", fieldNum, wire)
2762		}
2763		switch fieldNum {
2764		case 1:
2765			if wireType != 2 {
2766				return fmt.Errorf("proto: wrong wireType = %d for field Folders", wireType)
2767			}
2768			var msglen int
2769			for shift := uint(0); ; shift += 7 {
2770				if shift >= 64 {
2771					return ErrIntOverflowBep
2772				}
2773				if iNdEx >= l {
2774					return io.ErrUnexpectedEOF
2775				}
2776				b := dAtA[iNdEx]
2777				iNdEx++
2778				msglen |= int(b&0x7F) << shift
2779				if b < 0x80 {
2780					break
2781				}
2782			}
2783			if msglen < 0 {
2784				return ErrInvalidLengthBep
2785			}
2786			postIndex := iNdEx + msglen
2787			if postIndex < 0 {
2788				return ErrInvalidLengthBep
2789			}
2790			if postIndex > l {
2791				return io.ErrUnexpectedEOF
2792			}
2793			m.Folders = append(m.Folders, Folder{})
2794			if err := m.Folders[len(m.Folders)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
2795				return err
2796			}
2797			iNdEx = postIndex
2798		default:
2799			iNdEx = preIndex
2800			skippy, err := skipBep(dAtA[iNdEx:])
2801			if err != nil {
2802				return err
2803			}
2804			if (skippy < 0) || (iNdEx+skippy) < 0 {
2805				return ErrInvalidLengthBep
2806			}
2807			if (iNdEx + skippy) > l {
2808				return io.ErrUnexpectedEOF
2809			}
2810			iNdEx += skippy
2811		}
2812	}
2813
2814	if iNdEx > l {
2815		return io.ErrUnexpectedEOF
2816	}
2817	return nil
2818}
2819func (m *Folder) Unmarshal(dAtA []byte) error {
2820	l := len(dAtA)
2821	iNdEx := 0
2822	for iNdEx < l {
2823		preIndex := iNdEx
2824		var wire uint64
2825		for shift := uint(0); ; shift += 7 {
2826			if shift >= 64 {
2827				return ErrIntOverflowBep
2828			}
2829			if iNdEx >= l {
2830				return io.ErrUnexpectedEOF
2831			}
2832			b := dAtA[iNdEx]
2833			iNdEx++
2834			wire |= uint64(b&0x7F) << shift
2835			if b < 0x80 {
2836				break
2837			}
2838		}
2839		fieldNum := int32(wire >> 3)
2840		wireType := int(wire & 0x7)
2841		if wireType == 4 {
2842			return fmt.Errorf("proto: Folder: wiretype end group for non-group")
2843		}
2844		if fieldNum <= 0 {
2845			return fmt.Errorf("proto: Folder: illegal tag %d (wire type %d)", fieldNum, wire)
2846		}
2847		switch fieldNum {
2848		case 1:
2849			if wireType != 2 {
2850				return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType)
2851			}
2852			var stringLen uint64
2853			for shift := uint(0); ; shift += 7 {
2854				if shift >= 64 {
2855					return ErrIntOverflowBep
2856				}
2857				if iNdEx >= l {
2858					return io.ErrUnexpectedEOF
2859				}
2860				b := dAtA[iNdEx]
2861				iNdEx++
2862				stringLen |= uint64(b&0x7F) << shift
2863				if b < 0x80 {
2864					break
2865				}
2866			}
2867			intStringLen := int(stringLen)
2868			if intStringLen < 0 {
2869				return ErrInvalidLengthBep
2870			}
2871			postIndex := iNdEx + intStringLen
2872			if postIndex < 0 {
2873				return ErrInvalidLengthBep
2874			}
2875			if postIndex > l {
2876				return io.ErrUnexpectedEOF
2877			}
2878			m.ID = string(dAtA[iNdEx:postIndex])
2879			iNdEx = postIndex
2880		case 2:
2881			if wireType != 2 {
2882				return fmt.Errorf("proto: wrong wireType = %d for field Label", wireType)
2883			}
2884			var stringLen uint64
2885			for shift := uint(0); ; shift += 7 {
2886				if shift >= 64 {
2887					return ErrIntOverflowBep
2888				}
2889				if iNdEx >= l {
2890					return io.ErrUnexpectedEOF
2891				}
2892				b := dAtA[iNdEx]
2893				iNdEx++
2894				stringLen |= uint64(b&0x7F) << shift
2895				if b < 0x80 {
2896					break
2897				}
2898			}
2899			intStringLen := int(stringLen)
2900			if intStringLen < 0 {
2901				return ErrInvalidLengthBep
2902			}
2903			postIndex := iNdEx + intStringLen
2904			if postIndex < 0 {
2905				return ErrInvalidLengthBep
2906			}
2907			if postIndex > l {
2908				return io.ErrUnexpectedEOF
2909			}
2910			m.Label = string(dAtA[iNdEx:postIndex])
2911			iNdEx = postIndex
2912		case 3:
2913			if wireType != 0 {
2914				return fmt.Errorf("proto: wrong wireType = %d for field ReadOnly", wireType)
2915			}
2916			var v int
2917			for shift := uint(0); ; shift += 7 {
2918				if shift >= 64 {
2919					return ErrIntOverflowBep
2920				}
2921				if iNdEx >= l {
2922					return io.ErrUnexpectedEOF
2923				}
2924				b := dAtA[iNdEx]
2925				iNdEx++
2926				v |= int(b&0x7F) << shift
2927				if b < 0x80 {
2928					break
2929				}
2930			}
2931			m.ReadOnly = bool(v != 0)
2932		case 4:
2933			if wireType != 0 {
2934				return fmt.Errorf("proto: wrong wireType = %d for field IgnorePermissions", wireType)
2935			}
2936			var v int
2937			for shift := uint(0); ; shift += 7 {
2938				if shift >= 64 {
2939					return ErrIntOverflowBep
2940				}
2941				if iNdEx >= l {
2942					return io.ErrUnexpectedEOF
2943				}
2944				b := dAtA[iNdEx]
2945				iNdEx++
2946				v |= int(b&0x7F) << shift
2947				if b < 0x80 {
2948					break
2949				}
2950			}
2951			m.IgnorePermissions = bool(v != 0)
2952		case 5:
2953			if wireType != 0 {
2954				return fmt.Errorf("proto: wrong wireType = %d for field IgnoreDelete", wireType)
2955			}
2956			var v int
2957			for shift := uint(0); ; shift += 7 {
2958				if shift >= 64 {
2959					return ErrIntOverflowBep
2960				}
2961				if iNdEx >= l {
2962					return io.ErrUnexpectedEOF
2963				}
2964				b := dAtA[iNdEx]
2965				iNdEx++
2966				v |= int(b&0x7F) << shift
2967				if b < 0x80 {
2968					break
2969				}
2970			}
2971			m.IgnoreDelete = bool(v != 0)
2972		case 6:
2973			if wireType != 0 {
2974				return fmt.Errorf("proto: wrong wireType = %d for field DisableTempIndexes", wireType)
2975			}
2976			var v int
2977			for shift := uint(0); ; shift += 7 {
2978				if shift >= 64 {
2979					return ErrIntOverflowBep
2980				}
2981				if iNdEx >= l {
2982					return io.ErrUnexpectedEOF
2983				}
2984				b := dAtA[iNdEx]
2985				iNdEx++
2986				v |= int(b&0x7F) << shift
2987				if b < 0x80 {
2988					break
2989				}
2990			}
2991			m.DisableTempIndexes = bool(v != 0)
2992		case 7:
2993			if wireType != 0 {
2994				return fmt.Errorf("proto: wrong wireType = %d for field Paused", wireType)
2995			}
2996			var v int
2997			for shift := uint(0); ; shift += 7 {
2998				if shift >= 64 {
2999					return ErrIntOverflowBep
3000				}
3001				if iNdEx >= l {
3002					return io.ErrUnexpectedEOF
3003				}
3004				b := dAtA[iNdEx]
3005				iNdEx++
3006				v |= int(b&0x7F) << shift
3007				if b < 0x80 {
3008					break
3009				}
3010			}
3011			m.Paused = bool(v != 0)
3012		case 16:
3013			if wireType != 2 {
3014				return fmt.Errorf("proto: wrong wireType = %d for field Devices", wireType)
3015			}
3016			var msglen int
3017			for shift := uint(0); ; shift += 7 {
3018				if shift >= 64 {
3019					return ErrIntOverflowBep
3020				}
3021				if iNdEx >= l {
3022					return io.ErrUnexpectedEOF
3023				}
3024				b := dAtA[iNdEx]
3025				iNdEx++
3026				msglen |= int(b&0x7F) << shift
3027				if b < 0x80 {
3028					break
3029				}
3030			}
3031			if msglen < 0 {
3032				return ErrInvalidLengthBep
3033			}
3034			postIndex := iNdEx + msglen
3035			if postIndex < 0 {
3036				return ErrInvalidLengthBep
3037			}
3038			if postIndex > l {
3039				return io.ErrUnexpectedEOF
3040			}
3041			m.Devices = append(m.Devices, Device{})
3042			if err := m.Devices[len(m.Devices)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
3043				return err
3044			}
3045			iNdEx = postIndex
3046		default:
3047			iNdEx = preIndex
3048			skippy, err := skipBep(dAtA[iNdEx:])
3049			if err != nil {
3050				return err
3051			}
3052			if (skippy < 0) || (iNdEx+skippy) < 0 {
3053				return ErrInvalidLengthBep
3054			}
3055			if (iNdEx + skippy) > l {
3056				return io.ErrUnexpectedEOF
3057			}
3058			iNdEx += skippy
3059		}
3060	}
3061
3062	if iNdEx > l {
3063		return io.ErrUnexpectedEOF
3064	}
3065	return nil
3066}
3067func (m *Device) Unmarshal(dAtA []byte) error {
3068	l := len(dAtA)
3069	iNdEx := 0
3070	for iNdEx < l {
3071		preIndex := iNdEx
3072		var wire uint64
3073		for shift := uint(0); ; shift += 7 {
3074			if shift >= 64 {
3075				return ErrIntOverflowBep
3076			}
3077			if iNdEx >= l {
3078				return io.ErrUnexpectedEOF
3079			}
3080			b := dAtA[iNdEx]
3081			iNdEx++
3082			wire |= uint64(b&0x7F) << shift
3083			if b < 0x80 {
3084				break
3085			}
3086		}
3087		fieldNum := int32(wire >> 3)
3088		wireType := int(wire & 0x7)
3089		if wireType == 4 {
3090			return fmt.Errorf("proto: Device: wiretype end group for non-group")
3091		}
3092		if fieldNum <= 0 {
3093			return fmt.Errorf("proto: Device: illegal tag %d (wire type %d)", fieldNum, wire)
3094		}
3095		switch fieldNum {
3096		case 1:
3097			if wireType != 2 {
3098				return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType)
3099			}
3100			var byteLen int
3101			for shift := uint(0); ; shift += 7 {
3102				if shift >= 64 {
3103					return ErrIntOverflowBep
3104				}
3105				if iNdEx >= l {
3106					return io.ErrUnexpectedEOF
3107				}
3108				b := dAtA[iNdEx]
3109				iNdEx++
3110				byteLen |= int(b&0x7F) << shift
3111				if b < 0x80 {
3112					break
3113				}
3114			}
3115			if byteLen < 0 {
3116				return ErrInvalidLengthBep
3117			}
3118			postIndex := iNdEx + byteLen
3119			if postIndex < 0 {
3120				return ErrInvalidLengthBep
3121			}
3122			if postIndex > l {
3123				return io.ErrUnexpectedEOF
3124			}
3125			if err := m.ID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
3126				return err
3127			}
3128			iNdEx = postIndex
3129		case 2:
3130			if wireType != 2 {
3131				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
3132			}
3133			var stringLen uint64
3134			for shift := uint(0); ; shift += 7 {
3135				if shift >= 64 {
3136					return ErrIntOverflowBep
3137				}
3138				if iNdEx >= l {
3139					return io.ErrUnexpectedEOF
3140				}
3141				b := dAtA[iNdEx]
3142				iNdEx++
3143				stringLen |= uint64(b&0x7F) << shift
3144				if b < 0x80 {
3145					break
3146				}
3147			}
3148			intStringLen := int(stringLen)
3149			if intStringLen < 0 {
3150				return ErrInvalidLengthBep
3151			}
3152			postIndex := iNdEx + intStringLen
3153			if postIndex < 0 {
3154				return ErrInvalidLengthBep
3155			}
3156			if postIndex > l {
3157				return io.ErrUnexpectedEOF
3158			}
3159			m.Name = string(dAtA[iNdEx:postIndex])
3160			iNdEx = postIndex
3161		case 3:
3162			if wireType != 2 {
3163				return fmt.Errorf("proto: wrong wireType = %d for field Addresses", wireType)
3164			}
3165			var stringLen uint64
3166			for shift := uint(0); ; shift += 7 {
3167				if shift >= 64 {
3168					return ErrIntOverflowBep
3169				}
3170				if iNdEx >= l {
3171					return io.ErrUnexpectedEOF
3172				}
3173				b := dAtA[iNdEx]
3174				iNdEx++
3175				stringLen |= uint64(b&0x7F) << shift
3176				if b < 0x80 {
3177					break
3178				}
3179			}
3180			intStringLen := int(stringLen)
3181			if intStringLen < 0 {
3182				return ErrInvalidLengthBep
3183			}
3184			postIndex := iNdEx + intStringLen
3185			if postIndex < 0 {
3186				return ErrInvalidLengthBep
3187			}
3188			if postIndex > l {
3189				return io.ErrUnexpectedEOF
3190			}
3191			m.Addresses = append(m.Addresses, string(dAtA[iNdEx:postIndex]))
3192			iNdEx = postIndex
3193		case 4:
3194			if wireType != 0 {
3195				return fmt.Errorf("proto: wrong wireType = %d for field Compression", wireType)
3196			}
3197			m.Compression = 0
3198			for shift := uint(0); ; shift += 7 {
3199				if shift >= 64 {
3200					return ErrIntOverflowBep
3201				}
3202				if iNdEx >= l {
3203					return io.ErrUnexpectedEOF
3204				}
3205				b := dAtA[iNdEx]
3206				iNdEx++
3207				m.Compression |= Compression(b&0x7F) << shift
3208				if b < 0x80 {
3209					break
3210				}
3211			}
3212		case 5:
3213			if wireType != 2 {
3214				return fmt.Errorf("proto: wrong wireType = %d for field CertName", wireType)
3215			}
3216			var stringLen uint64
3217			for shift := uint(0); ; shift += 7 {
3218				if shift >= 64 {
3219					return ErrIntOverflowBep
3220				}
3221				if iNdEx >= l {
3222					return io.ErrUnexpectedEOF
3223				}
3224				b := dAtA[iNdEx]
3225				iNdEx++
3226				stringLen |= uint64(b&0x7F) << shift
3227				if b < 0x80 {
3228					break
3229				}
3230			}
3231			intStringLen := int(stringLen)
3232			if intStringLen < 0 {
3233				return ErrInvalidLengthBep
3234			}
3235			postIndex := iNdEx + intStringLen
3236			if postIndex < 0 {
3237				return ErrInvalidLengthBep
3238			}
3239			if postIndex > l {
3240				return io.ErrUnexpectedEOF
3241			}
3242			m.CertName = string(dAtA[iNdEx:postIndex])
3243			iNdEx = postIndex
3244		case 6:
3245			if wireType != 0 {
3246				return fmt.Errorf("proto: wrong wireType = %d for field MaxSequence", wireType)
3247			}
3248			m.MaxSequence = 0
3249			for shift := uint(0); ; shift += 7 {
3250				if shift >= 64 {
3251					return ErrIntOverflowBep
3252				}
3253				if iNdEx >= l {
3254					return io.ErrUnexpectedEOF
3255				}
3256				b := dAtA[iNdEx]
3257				iNdEx++
3258				m.MaxSequence |= int64(b&0x7F) << shift
3259				if b < 0x80 {
3260					break
3261				}
3262			}
3263		case 7:
3264			if wireType != 0 {
3265				return fmt.Errorf("proto: wrong wireType = %d for field Introducer", wireType)
3266			}
3267			var v int
3268			for shift := uint(0); ; shift += 7 {
3269				if shift >= 64 {
3270					return ErrIntOverflowBep
3271				}
3272				if iNdEx >= l {
3273					return io.ErrUnexpectedEOF
3274				}
3275				b := dAtA[iNdEx]
3276				iNdEx++
3277				v |= int(b&0x7F) << shift
3278				if b < 0x80 {
3279					break
3280				}
3281			}
3282			m.Introducer = bool(v != 0)
3283		case 8:
3284			if wireType != 0 {
3285				return fmt.Errorf("proto: wrong wireType = %d for field IndexID", wireType)
3286			}
3287			m.IndexID = 0
3288			for shift := uint(0); ; shift += 7 {
3289				if shift >= 64 {
3290					return ErrIntOverflowBep
3291				}
3292				if iNdEx >= l {
3293					return io.ErrUnexpectedEOF
3294				}
3295				b := dAtA[iNdEx]
3296				iNdEx++
3297				m.IndexID |= IndexID(b&0x7F) << shift
3298				if b < 0x80 {
3299					break
3300				}
3301			}
3302		case 9:
3303			if wireType != 0 {
3304				return fmt.Errorf("proto: wrong wireType = %d for field SkipIntroductionRemovals", wireType)
3305			}
3306			var v int
3307			for shift := uint(0); ; shift += 7 {
3308				if shift >= 64 {
3309					return ErrIntOverflowBep
3310				}
3311				if iNdEx >= l {
3312					return io.ErrUnexpectedEOF
3313				}
3314				b := dAtA[iNdEx]
3315				iNdEx++
3316				v |= int(b&0x7F) << shift
3317				if b < 0x80 {
3318					break
3319				}
3320			}
3321			m.SkipIntroductionRemovals = bool(v != 0)
3322		case 10:
3323			if wireType != 2 {
3324				return fmt.Errorf("proto: wrong wireType = %d for field EncryptionPasswordToken", wireType)
3325			}
3326			var byteLen int
3327			for shift := uint(0); ; shift += 7 {
3328				if shift >= 64 {
3329					return ErrIntOverflowBep
3330				}
3331				if iNdEx >= l {
3332					return io.ErrUnexpectedEOF
3333				}
3334				b := dAtA[iNdEx]
3335				iNdEx++
3336				byteLen |= int(b&0x7F) << shift
3337				if b < 0x80 {
3338					break
3339				}
3340			}
3341			if byteLen < 0 {
3342				return ErrInvalidLengthBep
3343			}
3344			postIndex := iNdEx + byteLen
3345			if postIndex < 0 {
3346				return ErrInvalidLengthBep
3347			}
3348			if postIndex > l {
3349				return io.ErrUnexpectedEOF
3350			}
3351			m.EncryptionPasswordToken = append(m.EncryptionPasswordToken[:0], dAtA[iNdEx:postIndex]...)
3352			if m.EncryptionPasswordToken == nil {
3353				m.EncryptionPasswordToken = []byte{}
3354			}
3355			iNdEx = postIndex
3356		default:
3357			iNdEx = preIndex
3358			skippy, err := skipBep(dAtA[iNdEx:])
3359			if err != nil {
3360				return err
3361			}
3362			if (skippy < 0) || (iNdEx+skippy) < 0 {
3363				return ErrInvalidLengthBep
3364			}
3365			if (iNdEx + skippy) > l {
3366				return io.ErrUnexpectedEOF
3367			}
3368			iNdEx += skippy
3369		}
3370	}
3371
3372	if iNdEx > l {
3373		return io.ErrUnexpectedEOF
3374	}
3375	return nil
3376}
3377func (m *Index) Unmarshal(dAtA []byte) error {
3378	l := len(dAtA)
3379	iNdEx := 0
3380	for iNdEx < l {
3381		preIndex := iNdEx
3382		var wire uint64
3383		for shift := uint(0); ; shift += 7 {
3384			if shift >= 64 {
3385				return ErrIntOverflowBep
3386			}
3387			if iNdEx >= l {
3388				return io.ErrUnexpectedEOF
3389			}
3390			b := dAtA[iNdEx]
3391			iNdEx++
3392			wire |= uint64(b&0x7F) << shift
3393			if b < 0x80 {
3394				break
3395			}
3396		}
3397		fieldNum := int32(wire >> 3)
3398		wireType := int(wire & 0x7)
3399		if wireType == 4 {
3400			return fmt.Errorf("proto: Index: wiretype end group for non-group")
3401		}
3402		if fieldNum <= 0 {
3403			return fmt.Errorf("proto: Index: illegal tag %d (wire type %d)", fieldNum, wire)
3404		}
3405		switch fieldNum {
3406		case 1:
3407			if wireType != 2 {
3408				return fmt.Errorf("proto: wrong wireType = %d for field Folder", wireType)
3409			}
3410			var stringLen uint64
3411			for shift := uint(0); ; shift += 7 {
3412				if shift >= 64 {
3413					return ErrIntOverflowBep
3414				}
3415				if iNdEx >= l {
3416					return io.ErrUnexpectedEOF
3417				}
3418				b := dAtA[iNdEx]
3419				iNdEx++
3420				stringLen |= uint64(b&0x7F) << shift
3421				if b < 0x80 {
3422					break
3423				}
3424			}
3425			intStringLen := int(stringLen)
3426			if intStringLen < 0 {
3427				return ErrInvalidLengthBep
3428			}
3429			postIndex := iNdEx + intStringLen
3430			if postIndex < 0 {
3431				return ErrInvalidLengthBep
3432			}
3433			if postIndex > l {
3434				return io.ErrUnexpectedEOF
3435			}
3436			m.Folder = string(dAtA[iNdEx:postIndex])
3437			iNdEx = postIndex
3438		case 2:
3439			if wireType != 2 {
3440				return fmt.Errorf("proto: wrong wireType = %d for field Files", wireType)
3441			}
3442			var msglen int
3443			for shift := uint(0); ; shift += 7 {
3444				if shift >= 64 {
3445					return ErrIntOverflowBep
3446				}
3447				if iNdEx >= l {
3448					return io.ErrUnexpectedEOF
3449				}
3450				b := dAtA[iNdEx]
3451				iNdEx++
3452				msglen |= int(b&0x7F) << shift
3453				if b < 0x80 {
3454					break
3455				}
3456			}
3457			if msglen < 0 {
3458				return ErrInvalidLengthBep
3459			}
3460			postIndex := iNdEx + msglen
3461			if postIndex < 0 {
3462				return ErrInvalidLengthBep
3463			}
3464			if postIndex > l {
3465				return io.ErrUnexpectedEOF
3466			}
3467			m.Files = append(m.Files, FileInfo{})
3468			if err := m.Files[len(m.Files)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
3469				return err
3470			}
3471			iNdEx = postIndex
3472		default:
3473			iNdEx = preIndex
3474			skippy, err := skipBep(dAtA[iNdEx:])
3475			if err != nil {
3476				return err
3477			}
3478			if (skippy < 0) || (iNdEx+skippy) < 0 {
3479				return ErrInvalidLengthBep
3480			}
3481			if (iNdEx + skippy) > l {
3482				return io.ErrUnexpectedEOF
3483			}
3484			iNdEx += skippy
3485		}
3486	}
3487
3488	if iNdEx > l {
3489		return io.ErrUnexpectedEOF
3490	}
3491	return nil
3492}
3493func (m *IndexUpdate) Unmarshal(dAtA []byte) error {
3494	l := len(dAtA)
3495	iNdEx := 0
3496	for iNdEx < l {
3497		preIndex := iNdEx
3498		var wire uint64
3499		for shift := uint(0); ; shift += 7 {
3500			if shift >= 64 {
3501				return ErrIntOverflowBep
3502			}
3503			if iNdEx >= l {
3504				return io.ErrUnexpectedEOF
3505			}
3506			b := dAtA[iNdEx]
3507			iNdEx++
3508			wire |= uint64(b&0x7F) << shift
3509			if b < 0x80 {
3510				break
3511			}
3512		}
3513		fieldNum := int32(wire >> 3)
3514		wireType := int(wire & 0x7)
3515		if wireType == 4 {
3516			return fmt.Errorf("proto: IndexUpdate: wiretype end group for non-group")
3517		}
3518		if fieldNum <= 0 {
3519			return fmt.Errorf("proto: IndexUpdate: illegal tag %d (wire type %d)", fieldNum, wire)
3520		}
3521		switch fieldNum {
3522		case 1:
3523			if wireType != 2 {
3524				return fmt.Errorf("proto: wrong wireType = %d for field Folder", wireType)
3525			}
3526			var stringLen uint64
3527			for shift := uint(0); ; shift += 7 {
3528				if shift >= 64 {
3529					return ErrIntOverflowBep
3530				}
3531				if iNdEx >= l {
3532					return io.ErrUnexpectedEOF
3533				}
3534				b := dAtA[iNdEx]
3535				iNdEx++
3536				stringLen |= uint64(b&0x7F) << shift
3537				if b < 0x80 {
3538					break
3539				}
3540			}
3541			intStringLen := int(stringLen)
3542			if intStringLen < 0 {
3543				return ErrInvalidLengthBep
3544			}
3545			postIndex := iNdEx + intStringLen
3546			if postIndex < 0 {
3547				return ErrInvalidLengthBep
3548			}
3549			if postIndex > l {
3550				return io.ErrUnexpectedEOF
3551			}
3552			m.Folder = string(dAtA[iNdEx:postIndex])
3553			iNdEx = postIndex
3554		case 2:
3555			if wireType != 2 {
3556				return fmt.Errorf("proto: wrong wireType = %d for field Files", wireType)
3557			}
3558			var msglen int
3559			for shift := uint(0); ; shift += 7 {
3560				if shift >= 64 {
3561					return ErrIntOverflowBep
3562				}
3563				if iNdEx >= l {
3564					return io.ErrUnexpectedEOF
3565				}
3566				b := dAtA[iNdEx]
3567				iNdEx++
3568				msglen |= int(b&0x7F) << shift
3569				if b < 0x80 {
3570					break
3571				}
3572			}
3573			if msglen < 0 {
3574				return ErrInvalidLengthBep
3575			}
3576			postIndex := iNdEx + msglen
3577			if postIndex < 0 {
3578				return ErrInvalidLengthBep
3579			}
3580			if postIndex > l {
3581				return io.ErrUnexpectedEOF
3582			}
3583			m.Files = append(m.Files, FileInfo{})
3584			if err := m.Files[len(m.Files)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
3585				return err
3586			}
3587			iNdEx = postIndex
3588		default:
3589			iNdEx = preIndex
3590			skippy, err := skipBep(dAtA[iNdEx:])
3591			if err != nil {
3592				return err
3593			}
3594			if (skippy < 0) || (iNdEx+skippy) < 0 {
3595				return ErrInvalidLengthBep
3596			}
3597			if (iNdEx + skippy) > l {
3598				return io.ErrUnexpectedEOF
3599			}
3600			iNdEx += skippy
3601		}
3602	}
3603
3604	if iNdEx > l {
3605		return io.ErrUnexpectedEOF
3606	}
3607	return nil
3608}
3609func (m *FileInfo) Unmarshal(dAtA []byte) error {
3610	l := len(dAtA)
3611	iNdEx := 0
3612	for iNdEx < l {
3613		preIndex := iNdEx
3614		var wire uint64
3615		for shift := uint(0); ; shift += 7 {
3616			if shift >= 64 {
3617				return ErrIntOverflowBep
3618			}
3619			if iNdEx >= l {
3620				return io.ErrUnexpectedEOF
3621			}
3622			b := dAtA[iNdEx]
3623			iNdEx++
3624			wire |= uint64(b&0x7F) << shift
3625			if b < 0x80 {
3626				break
3627			}
3628		}
3629		fieldNum := int32(wire >> 3)
3630		wireType := int(wire & 0x7)
3631		if wireType == 4 {
3632			return fmt.Errorf("proto: FileInfo: wiretype end group for non-group")
3633		}
3634		if fieldNum <= 0 {
3635			return fmt.Errorf("proto: FileInfo: illegal tag %d (wire type %d)", fieldNum, wire)
3636		}
3637		switch fieldNum {
3638		case 1:
3639			if wireType != 2 {
3640				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
3641			}
3642			var stringLen uint64
3643			for shift := uint(0); ; shift += 7 {
3644				if shift >= 64 {
3645					return ErrIntOverflowBep
3646				}
3647				if iNdEx >= l {
3648					return io.ErrUnexpectedEOF
3649				}
3650				b := dAtA[iNdEx]
3651				iNdEx++
3652				stringLen |= uint64(b&0x7F) << shift
3653				if b < 0x80 {
3654					break
3655				}
3656			}
3657			intStringLen := int(stringLen)
3658			if intStringLen < 0 {
3659				return ErrInvalidLengthBep
3660			}
3661			postIndex := iNdEx + intStringLen
3662			if postIndex < 0 {
3663				return ErrInvalidLengthBep
3664			}
3665			if postIndex > l {
3666				return io.ErrUnexpectedEOF
3667			}
3668			m.Name = string(dAtA[iNdEx:postIndex])
3669			iNdEx = postIndex
3670		case 2:
3671			if wireType != 0 {
3672				return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
3673			}
3674			m.Type = 0
3675			for shift := uint(0); ; shift += 7 {
3676				if shift >= 64 {
3677					return ErrIntOverflowBep
3678				}
3679				if iNdEx >= l {
3680					return io.ErrUnexpectedEOF
3681				}
3682				b := dAtA[iNdEx]
3683				iNdEx++
3684				m.Type |= FileInfoType(b&0x7F) << shift
3685				if b < 0x80 {
3686					break
3687				}
3688			}
3689		case 3:
3690			if wireType != 0 {
3691				return fmt.Errorf("proto: wrong wireType = %d for field Size", wireType)
3692			}
3693			m.Size = 0
3694			for shift := uint(0); ; shift += 7 {
3695				if shift >= 64 {
3696					return ErrIntOverflowBep
3697				}
3698				if iNdEx >= l {
3699					return io.ErrUnexpectedEOF
3700				}
3701				b := dAtA[iNdEx]
3702				iNdEx++
3703				m.Size |= int64(b&0x7F) << shift
3704				if b < 0x80 {
3705					break
3706				}
3707			}
3708		case 4:
3709			if wireType != 0 {
3710				return fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType)
3711			}
3712			m.Permissions = 0
3713			for shift := uint(0); ; shift += 7 {
3714				if shift >= 64 {
3715					return ErrIntOverflowBep
3716				}
3717				if iNdEx >= l {
3718					return io.ErrUnexpectedEOF
3719				}
3720				b := dAtA[iNdEx]
3721				iNdEx++
3722				m.Permissions |= uint32(b&0x7F) << shift
3723				if b < 0x80 {
3724					break
3725				}
3726			}
3727		case 5:
3728			if wireType != 0 {
3729				return fmt.Errorf("proto: wrong wireType = %d for field ModifiedS", wireType)
3730			}
3731			m.ModifiedS = 0
3732			for shift := uint(0); ; shift += 7 {
3733				if shift >= 64 {
3734					return ErrIntOverflowBep
3735				}
3736				if iNdEx >= l {
3737					return io.ErrUnexpectedEOF
3738				}
3739				b := dAtA[iNdEx]
3740				iNdEx++
3741				m.ModifiedS |= int64(b&0x7F) << shift
3742				if b < 0x80 {
3743					break
3744				}
3745			}
3746		case 6:
3747			if wireType != 0 {
3748				return fmt.Errorf("proto: wrong wireType = %d for field Deleted", wireType)
3749			}
3750			var v int
3751			for shift := uint(0); ; shift += 7 {
3752				if shift >= 64 {
3753					return ErrIntOverflowBep
3754				}
3755				if iNdEx >= l {
3756					return io.ErrUnexpectedEOF
3757				}
3758				b := dAtA[iNdEx]
3759				iNdEx++
3760				v |= int(b&0x7F) << shift
3761				if b < 0x80 {
3762					break
3763				}
3764			}
3765			m.Deleted = bool(v != 0)
3766		case 7:
3767			if wireType != 0 {
3768				return fmt.Errorf("proto: wrong wireType = %d for field RawInvalid", wireType)
3769			}
3770			var v int
3771			for shift := uint(0); ; shift += 7 {
3772				if shift >= 64 {
3773					return ErrIntOverflowBep
3774				}
3775				if iNdEx >= l {
3776					return io.ErrUnexpectedEOF
3777				}
3778				b := dAtA[iNdEx]
3779				iNdEx++
3780				v |= int(b&0x7F) << shift
3781				if b < 0x80 {
3782					break
3783				}
3784			}
3785			m.RawInvalid = bool(v != 0)
3786		case 8:
3787			if wireType != 0 {
3788				return fmt.Errorf("proto: wrong wireType = %d for field NoPermissions", wireType)
3789			}
3790			var v int
3791			for shift := uint(0); ; shift += 7 {
3792				if shift >= 64 {
3793					return ErrIntOverflowBep
3794				}
3795				if iNdEx >= l {
3796					return io.ErrUnexpectedEOF
3797				}
3798				b := dAtA[iNdEx]
3799				iNdEx++
3800				v |= int(b&0x7F) << shift
3801				if b < 0x80 {
3802					break
3803				}
3804			}
3805			m.NoPermissions = bool(v != 0)
3806		case 9:
3807			if wireType != 2 {
3808				return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType)
3809			}
3810			var msglen int
3811			for shift := uint(0); ; shift += 7 {
3812				if shift >= 64 {
3813					return ErrIntOverflowBep
3814				}
3815				if iNdEx >= l {
3816					return io.ErrUnexpectedEOF
3817				}
3818				b := dAtA[iNdEx]
3819				iNdEx++
3820				msglen |= int(b&0x7F) << shift
3821				if b < 0x80 {
3822					break
3823				}
3824			}
3825			if msglen < 0 {
3826				return ErrInvalidLengthBep
3827			}
3828			postIndex := iNdEx + msglen
3829			if postIndex < 0 {
3830				return ErrInvalidLengthBep
3831			}
3832			if postIndex > l {
3833				return io.ErrUnexpectedEOF
3834			}
3835			if err := m.Version.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
3836				return err
3837			}
3838			iNdEx = postIndex
3839		case 10:
3840			if wireType != 0 {
3841				return fmt.Errorf("proto: wrong wireType = %d for field Sequence", wireType)
3842			}
3843			m.Sequence = 0
3844			for shift := uint(0); ; shift += 7 {
3845				if shift >= 64 {
3846					return ErrIntOverflowBep
3847				}
3848				if iNdEx >= l {
3849					return io.ErrUnexpectedEOF
3850				}
3851				b := dAtA[iNdEx]
3852				iNdEx++
3853				m.Sequence |= int64(b&0x7F) << shift
3854				if b < 0x80 {
3855					break
3856				}
3857			}
3858		case 11:
3859			if wireType != 0 {
3860				return fmt.Errorf("proto: wrong wireType = %d for field ModifiedNs", wireType)
3861			}
3862			m.ModifiedNs = 0
3863			for shift := uint(0); ; shift += 7 {
3864				if shift >= 64 {
3865					return ErrIntOverflowBep
3866				}
3867				if iNdEx >= l {
3868					return io.ErrUnexpectedEOF
3869				}
3870				b := dAtA[iNdEx]
3871				iNdEx++
3872				m.ModifiedNs |= int(b&0x7F) << shift
3873				if b < 0x80 {
3874					break
3875				}
3876			}
3877		case 12:
3878			if wireType != 0 {
3879				return fmt.Errorf("proto: wrong wireType = %d for field ModifiedBy", wireType)
3880			}
3881			m.ModifiedBy = 0
3882			for shift := uint(0); ; shift += 7 {
3883				if shift >= 64 {
3884					return ErrIntOverflowBep
3885				}
3886				if iNdEx >= l {
3887					return io.ErrUnexpectedEOF
3888				}
3889				b := dAtA[iNdEx]
3890				iNdEx++
3891				m.ModifiedBy |= ShortID(b&0x7F) << shift
3892				if b < 0x80 {
3893					break
3894				}
3895			}
3896		case 13:
3897			if wireType != 0 {
3898				return fmt.Errorf("proto: wrong wireType = %d for field RawBlockSize", wireType)
3899			}
3900			m.RawBlockSize = 0
3901			for shift := uint(0); ; shift += 7 {
3902				if shift >= 64 {
3903					return ErrIntOverflowBep
3904				}
3905				if iNdEx >= l {
3906					return io.ErrUnexpectedEOF
3907				}
3908				b := dAtA[iNdEx]
3909				iNdEx++
3910				m.RawBlockSize |= int(b&0x7F) << shift
3911				if b < 0x80 {
3912					break
3913				}
3914			}
3915		case 16:
3916			if wireType != 2 {
3917				return fmt.Errorf("proto: wrong wireType = %d for field Blocks", wireType)
3918			}
3919			var msglen int
3920			for shift := uint(0); ; shift += 7 {
3921				if shift >= 64 {
3922					return ErrIntOverflowBep
3923				}
3924				if iNdEx >= l {
3925					return io.ErrUnexpectedEOF
3926				}
3927				b := dAtA[iNdEx]
3928				iNdEx++
3929				msglen |= int(b&0x7F) << shift
3930				if b < 0x80 {
3931					break
3932				}
3933			}
3934			if msglen < 0 {
3935				return ErrInvalidLengthBep
3936			}
3937			postIndex := iNdEx + msglen
3938			if postIndex < 0 {
3939				return ErrInvalidLengthBep
3940			}
3941			if postIndex > l {
3942				return io.ErrUnexpectedEOF
3943			}
3944			m.Blocks = append(m.Blocks, BlockInfo{})
3945			if err := m.Blocks[len(m.Blocks)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
3946				return err
3947			}
3948			iNdEx = postIndex
3949		case 17:
3950			if wireType != 2 {
3951				return fmt.Errorf("proto: wrong wireType = %d for field SymlinkTarget", wireType)
3952			}
3953			var stringLen uint64
3954			for shift := uint(0); ; shift += 7 {
3955				if shift >= 64 {
3956					return ErrIntOverflowBep
3957				}
3958				if iNdEx >= l {
3959					return io.ErrUnexpectedEOF
3960				}
3961				b := dAtA[iNdEx]
3962				iNdEx++
3963				stringLen |= uint64(b&0x7F) << shift
3964				if b < 0x80 {
3965					break
3966				}
3967			}
3968			intStringLen := int(stringLen)
3969			if intStringLen < 0 {
3970				return ErrInvalidLengthBep
3971			}
3972			postIndex := iNdEx + intStringLen
3973			if postIndex < 0 {
3974				return ErrInvalidLengthBep
3975			}
3976			if postIndex > l {
3977				return io.ErrUnexpectedEOF
3978			}
3979			m.SymlinkTarget = string(dAtA[iNdEx:postIndex])
3980			iNdEx = postIndex
3981		case 18:
3982			if wireType != 2 {
3983				return fmt.Errorf("proto: wrong wireType = %d for field BlocksHash", wireType)
3984			}
3985			var byteLen int
3986			for shift := uint(0); ; shift += 7 {
3987				if shift >= 64 {
3988					return ErrIntOverflowBep
3989				}
3990				if iNdEx >= l {
3991					return io.ErrUnexpectedEOF
3992				}
3993				b := dAtA[iNdEx]
3994				iNdEx++
3995				byteLen |= int(b&0x7F) << shift
3996				if b < 0x80 {
3997					break
3998				}
3999			}
4000			if byteLen < 0 {
4001				return ErrInvalidLengthBep
4002			}
4003			postIndex := iNdEx + byteLen
4004			if postIndex < 0 {
4005				return ErrInvalidLengthBep
4006			}
4007			if postIndex > l {
4008				return io.ErrUnexpectedEOF
4009			}
4010			m.BlocksHash = append(m.BlocksHash[:0], dAtA[iNdEx:postIndex]...)
4011			if m.BlocksHash == nil {
4012				m.BlocksHash = []byte{}
4013			}
4014			iNdEx = postIndex
4015		case 19:
4016			if wireType != 2 {
4017				return fmt.Errorf("proto: wrong wireType = %d for field Encrypted", wireType)
4018			}
4019			var byteLen int
4020			for shift := uint(0); ; shift += 7 {
4021				if shift >= 64 {
4022					return ErrIntOverflowBep
4023				}
4024				if iNdEx >= l {
4025					return io.ErrUnexpectedEOF
4026				}
4027				b := dAtA[iNdEx]
4028				iNdEx++
4029				byteLen |= int(b&0x7F) << shift
4030				if b < 0x80 {
4031					break
4032				}
4033			}
4034			if byteLen < 0 {
4035				return ErrInvalidLengthBep
4036			}
4037			postIndex := iNdEx + byteLen
4038			if postIndex < 0 {
4039				return ErrInvalidLengthBep
4040			}
4041			if postIndex > l {
4042				return io.ErrUnexpectedEOF
4043			}
4044			m.Encrypted = append(m.Encrypted[:0], dAtA[iNdEx:postIndex]...)
4045			if m.Encrypted == nil {
4046				m.Encrypted = []byte{}
4047			}
4048			iNdEx = postIndex
4049		case 1000:
4050			if wireType != 0 {
4051				return fmt.Errorf("proto: wrong wireType = %d for field LocalFlags", wireType)
4052			}
4053			m.LocalFlags = 0
4054			for shift := uint(0); ; shift += 7 {
4055				if shift >= 64 {
4056					return ErrIntOverflowBep
4057				}
4058				if iNdEx >= l {
4059					return io.ErrUnexpectedEOF
4060				}
4061				b := dAtA[iNdEx]
4062				iNdEx++
4063				m.LocalFlags |= uint32(b&0x7F) << shift
4064				if b < 0x80 {
4065					break
4066				}
4067			}
4068		case 1001:
4069			if wireType != 2 {
4070				return fmt.Errorf("proto: wrong wireType = %d for field VersionHash", wireType)
4071			}
4072			var byteLen int
4073			for shift := uint(0); ; shift += 7 {
4074				if shift >= 64 {
4075					return ErrIntOverflowBep
4076				}
4077				if iNdEx >= l {
4078					return io.ErrUnexpectedEOF
4079				}
4080				b := dAtA[iNdEx]
4081				iNdEx++
4082				byteLen |= int(b&0x7F) << shift
4083				if b < 0x80 {
4084					break
4085				}
4086			}
4087			if byteLen < 0 {
4088				return ErrInvalidLengthBep
4089			}
4090			postIndex := iNdEx + byteLen
4091			if postIndex < 0 {
4092				return ErrInvalidLengthBep
4093			}
4094			if postIndex > l {
4095				return io.ErrUnexpectedEOF
4096			}
4097			m.VersionHash = append(m.VersionHash[:0], dAtA[iNdEx:postIndex]...)
4098			if m.VersionHash == nil {
4099				m.VersionHash = []byte{}
4100			}
4101			iNdEx = postIndex
4102		default:
4103			iNdEx = preIndex
4104			skippy, err := skipBep(dAtA[iNdEx:])
4105			if err != nil {
4106				return err
4107			}
4108			if (skippy < 0) || (iNdEx+skippy) < 0 {
4109				return ErrInvalidLengthBep
4110			}
4111			if (iNdEx + skippy) > l {
4112				return io.ErrUnexpectedEOF
4113			}
4114			iNdEx += skippy
4115		}
4116	}
4117
4118	if iNdEx > l {
4119		return io.ErrUnexpectedEOF
4120	}
4121	return nil
4122}
4123func (m *BlockInfo) Unmarshal(dAtA []byte) error {
4124	l := len(dAtA)
4125	iNdEx := 0
4126	for iNdEx < l {
4127		preIndex := iNdEx
4128		var wire uint64
4129		for shift := uint(0); ; shift += 7 {
4130			if shift >= 64 {
4131				return ErrIntOverflowBep
4132			}
4133			if iNdEx >= l {
4134				return io.ErrUnexpectedEOF
4135			}
4136			b := dAtA[iNdEx]
4137			iNdEx++
4138			wire |= uint64(b&0x7F) << shift
4139			if b < 0x80 {
4140				break
4141			}
4142		}
4143		fieldNum := int32(wire >> 3)
4144		wireType := int(wire & 0x7)
4145		if wireType == 4 {
4146			return fmt.Errorf("proto: BlockInfo: wiretype end group for non-group")
4147		}
4148		if fieldNum <= 0 {
4149			return fmt.Errorf("proto: BlockInfo: illegal tag %d (wire type %d)", fieldNum, wire)
4150		}
4151		switch fieldNum {
4152		case 1:
4153			if wireType != 0 {
4154				return fmt.Errorf("proto: wrong wireType = %d for field Offset", wireType)
4155			}
4156			m.Offset = 0
4157			for shift := uint(0); ; shift += 7 {
4158				if shift >= 64 {
4159					return ErrIntOverflowBep
4160				}
4161				if iNdEx >= l {
4162					return io.ErrUnexpectedEOF
4163				}
4164				b := dAtA[iNdEx]
4165				iNdEx++
4166				m.Offset |= int64(b&0x7F) << shift
4167				if b < 0x80 {
4168					break
4169				}
4170			}
4171		case 2:
4172			if wireType != 0 {
4173				return fmt.Errorf("proto: wrong wireType = %d for field Size", wireType)
4174			}
4175			m.Size = 0
4176			for shift := uint(0); ; shift += 7 {
4177				if shift >= 64 {
4178					return ErrIntOverflowBep
4179				}
4180				if iNdEx >= l {
4181					return io.ErrUnexpectedEOF
4182				}
4183				b := dAtA[iNdEx]
4184				iNdEx++
4185				m.Size |= int(b&0x7F) << shift
4186				if b < 0x80 {
4187					break
4188				}
4189			}
4190		case 3:
4191			if wireType != 2 {
4192				return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType)
4193			}
4194			var byteLen int
4195			for shift := uint(0); ; shift += 7 {
4196				if shift >= 64 {
4197					return ErrIntOverflowBep
4198				}
4199				if iNdEx >= l {
4200					return io.ErrUnexpectedEOF
4201				}
4202				b := dAtA[iNdEx]
4203				iNdEx++
4204				byteLen |= int(b&0x7F) << shift
4205				if b < 0x80 {
4206					break
4207				}
4208			}
4209			if byteLen < 0 {
4210				return ErrInvalidLengthBep
4211			}
4212			postIndex := iNdEx + byteLen
4213			if postIndex < 0 {
4214				return ErrInvalidLengthBep
4215			}
4216			if postIndex > l {
4217				return io.ErrUnexpectedEOF
4218			}
4219			m.Hash = append(m.Hash[:0], dAtA[iNdEx:postIndex]...)
4220			if m.Hash == nil {
4221				m.Hash = []byte{}
4222			}
4223			iNdEx = postIndex
4224		case 4:
4225			if wireType != 0 {
4226				return fmt.Errorf("proto: wrong wireType = %d for field WeakHash", wireType)
4227			}
4228			m.WeakHash = 0
4229			for shift := uint(0); ; shift += 7 {
4230				if shift >= 64 {
4231					return ErrIntOverflowBep
4232				}
4233				if iNdEx >= l {
4234					return io.ErrUnexpectedEOF
4235				}
4236				b := dAtA[iNdEx]
4237				iNdEx++
4238				m.WeakHash |= uint32(b&0x7F) << shift
4239				if b < 0x80 {
4240					break
4241				}
4242			}
4243		default:
4244			iNdEx = preIndex
4245			skippy, err := skipBep(dAtA[iNdEx:])
4246			if err != nil {
4247				return err
4248			}
4249			if (skippy < 0) || (iNdEx+skippy) < 0 {
4250				return ErrInvalidLengthBep
4251			}
4252			if (iNdEx + skippy) > l {
4253				return io.ErrUnexpectedEOF
4254			}
4255			iNdEx += skippy
4256		}
4257	}
4258
4259	if iNdEx > l {
4260		return io.ErrUnexpectedEOF
4261	}
4262	return nil
4263}
4264func (m *Vector) Unmarshal(dAtA []byte) error {
4265	l := len(dAtA)
4266	iNdEx := 0
4267	for iNdEx < l {
4268		preIndex := iNdEx
4269		var wire uint64
4270		for shift := uint(0); ; shift += 7 {
4271			if shift >= 64 {
4272				return ErrIntOverflowBep
4273			}
4274			if iNdEx >= l {
4275				return io.ErrUnexpectedEOF
4276			}
4277			b := dAtA[iNdEx]
4278			iNdEx++
4279			wire |= uint64(b&0x7F) << shift
4280			if b < 0x80 {
4281				break
4282			}
4283		}
4284		fieldNum := int32(wire >> 3)
4285		wireType := int(wire & 0x7)
4286		if wireType == 4 {
4287			return fmt.Errorf("proto: Vector: wiretype end group for non-group")
4288		}
4289		if fieldNum <= 0 {
4290			return fmt.Errorf("proto: Vector: illegal tag %d (wire type %d)", fieldNum, wire)
4291		}
4292		switch fieldNum {
4293		case 1:
4294			if wireType != 2 {
4295				return fmt.Errorf("proto: wrong wireType = %d for field Counters", wireType)
4296			}
4297			var msglen int
4298			for shift := uint(0); ; shift += 7 {
4299				if shift >= 64 {
4300					return ErrIntOverflowBep
4301				}
4302				if iNdEx >= l {
4303					return io.ErrUnexpectedEOF
4304				}
4305				b := dAtA[iNdEx]
4306				iNdEx++
4307				msglen |= int(b&0x7F) << shift
4308				if b < 0x80 {
4309					break
4310				}
4311			}
4312			if msglen < 0 {
4313				return ErrInvalidLengthBep
4314			}
4315			postIndex := iNdEx + msglen
4316			if postIndex < 0 {
4317				return ErrInvalidLengthBep
4318			}
4319			if postIndex > l {
4320				return io.ErrUnexpectedEOF
4321			}
4322			m.Counters = append(m.Counters, Counter{})
4323			if err := m.Counters[len(m.Counters)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
4324				return err
4325			}
4326			iNdEx = postIndex
4327		default:
4328			iNdEx = preIndex
4329			skippy, err := skipBep(dAtA[iNdEx:])
4330			if err != nil {
4331				return err
4332			}
4333			if (skippy < 0) || (iNdEx+skippy) < 0 {
4334				return ErrInvalidLengthBep
4335			}
4336			if (iNdEx + skippy) > l {
4337				return io.ErrUnexpectedEOF
4338			}
4339			iNdEx += skippy
4340		}
4341	}
4342
4343	if iNdEx > l {
4344		return io.ErrUnexpectedEOF
4345	}
4346	return nil
4347}
4348func (m *Counter) Unmarshal(dAtA []byte) error {
4349	l := len(dAtA)
4350	iNdEx := 0
4351	for iNdEx < l {
4352		preIndex := iNdEx
4353		var wire uint64
4354		for shift := uint(0); ; shift += 7 {
4355			if shift >= 64 {
4356				return ErrIntOverflowBep
4357			}
4358			if iNdEx >= l {
4359				return io.ErrUnexpectedEOF
4360			}
4361			b := dAtA[iNdEx]
4362			iNdEx++
4363			wire |= uint64(b&0x7F) << shift
4364			if b < 0x80 {
4365				break
4366			}
4367		}
4368		fieldNum := int32(wire >> 3)
4369		wireType := int(wire & 0x7)
4370		if wireType == 4 {
4371			return fmt.Errorf("proto: Counter: wiretype end group for non-group")
4372		}
4373		if fieldNum <= 0 {
4374			return fmt.Errorf("proto: Counter: illegal tag %d (wire type %d)", fieldNum, wire)
4375		}
4376		switch fieldNum {
4377		case 1:
4378			if wireType != 0 {
4379				return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType)
4380			}
4381			m.ID = 0
4382			for shift := uint(0); ; shift += 7 {
4383				if shift >= 64 {
4384					return ErrIntOverflowBep
4385				}
4386				if iNdEx >= l {
4387					return io.ErrUnexpectedEOF
4388				}
4389				b := dAtA[iNdEx]
4390				iNdEx++
4391				m.ID |= ShortID(b&0x7F) << shift
4392				if b < 0x80 {
4393					break
4394				}
4395			}
4396		case 2:
4397			if wireType != 0 {
4398				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
4399			}
4400			m.Value = 0
4401			for shift := uint(0); ; shift += 7 {
4402				if shift >= 64 {
4403					return ErrIntOverflowBep
4404				}
4405				if iNdEx >= l {
4406					return io.ErrUnexpectedEOF
4407				}
4408				b := dAtA[iNdEx]
4409				iNdEx++
4410				m.Value |= uint64(b&0x7F) << shift
4411				if b < 0x80 {
4412					break
4413				}
4414			}
4415		default:
4416			iNdEx = preIndex
4417			skippy, err := skipBep(dAtA[iNdEx:])
4418			if err != nil {
4419				return err
4420			}
4421			if (skippy < 0) || (iNdEx+skippy) < 0 {
4422				return ErrInvalidLengthBep
4423			}
4424			if (iNdEx + skippy) > l {
4425				return io.ErrUnexpectedEOF
4426			}
4427			iNdEx += skippy
4428		}
4429	}
4430
4431	if iNdEx > l {
4432		return io.ErrUnexpectedEOF
4433	}
4434	return nil
4435}
4436func (m *Request) Unmarshal(dAtA []byte) error {
4437	l := len(dAtA)
4438	iNdEx := 0
4439	for iNdEx < l {
4440		preIndex := iNdEx
4441		var wire uint64
4442		for shift := uint(0); ; shift += 7 {
4443			if shift >= 64 {
4444				return ErrIntOverflowBep
4445			}
4446			if iNdEx >= l {
4447				return io.ErrUnexpectedEOF
4448			}
4449			b := dAtA[iNdEx]
4450			iNdEx++
4451			wire |= uint64(b&0x7F) << shift
4452			if b < 0x80 {
4453				break
4454			}
4455		}
4456		fieldNum := int32(wire >> 3)
4457		wireType := int(wire & 0x7)
4458		if wireType == 4 {
4459			return fmt.Errorf("proto: Request: wiretype end group for non-group")
4460		}
4461		if fieldNum <= 0 {
4462			return fmt.Errorf("proto: Request: illegal tag %d (wire type %d)", fieldNum, wire)
4463		}
4464		switch fieldNum {
4465		case 1:
4466			if wireType != 0 {
4467				return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType)
4468			}
4469			m.ID = 0
4470			for shift := uint(0); ; shift += 7 {
4471				if shift >= 64 {
4472					return ErrIntOverflowBep
4473				}
4474				if iNdEx >= l {
4475					return io.ErrUnexpectedEOF
4476				}
4477				b := dAtA[iNdEx]
4478				iNdEx++
4479				m.ID |= int(b&0x7F) << shift
4480				if b < 0x80 {
4481					break
4482				}
4483			}
4484		case 2:
4485			if wireType != 2 {
4486				return fmt.Errorf("proto: wrong wireType = %d for field Folder", wireType)
4487			}
4488			var stringLen uint64
4489			for shift := uint(0); ; shift += 7 {
4490				if shift >= 64 {
4491					return ErrIntOverflowBep
4492				}
4493				if iNdEx >= l {
4494					return io.ErrUnexpectedEOF
4495				}
4496				b := dAtA[iNdEx]
4497				iNdEx++
4498				stringLen |= uint64(b&0x7F) << shift
4499				if b < 0x80 {
4500					break
4501				}
4502			}
4503			intStringLen := int(stringLen)
4504			if intStringLen < 0 {
4505				return ErrInvalidLengthBep
4506			}
4507			postIndex := iNdEx + intStringLen
4508			if postIndex < 0 {
4509				return ErrInvalidLengthBep
4510			}
4511			if postIndex > l {
4512				return io.ErrUnexpectedEOF
4513			}
4514			m.Folder = string(dAtA[iNdEx:postIndex])
4515			iNdEx = postIndex
4516		case 3:
4517			if wireType != 2 {
4518				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
4519			}
4520			var stringLen uint64
4521			for shift := uint(0); ; shift += 7 {
4522				if shift >= 64 {
4523					return ErrIntOverflowBep
4524				}
4525				if iNdEx >= l {
4526					return io.ErrUnexpectedEOF
4527				}
4528				b := dAtA[iNdEx]
4529				iNdEx++
4530				stringLen |= uint64(b&0x7F) << shift
4531				if b < 0x80 {
4532					break
4533				}
4534			}
4535			intStringLen := int(stringLen)
4536			if intStringLen < 0 {
4537				return ErrInvalidLengthBep
4538			}
4539			postIndex := iNdEx + intStringLen
4540			if postIndex < 0 {
4541				return ErrInvalidLengthBep
4542			}
4543			if postIndex > l {
4544				return io.ErrUnexpectedEOF
4545			}
4546			m.Name = string(dAtA[iNdEx:postIndex])
4547			iNdEx = postIndex
4548		case 4:
4549			if wireType != 0 {
4550				return fmt.Errorf("proto: wrong wireType = %d for field Offset", wireType)
4551			}
4552			m.Offset = 0
4553			for shift := uint(0); ; shift += 7 {
4554				if shift >= 64 {
4555					return ErrIntOverflowBep
4556				}
4557				if iNdEx >= l {
4558					return io.ErrUnexpectedEOF
4559				}
4560				b := dAtA[iNdEx]
4561				iNdEx++
4562				m.Offset |= int64(b&0x7F) << shift
4563				if b < 0x80 {
4564					break
4565				}
4566			}
4567		case 5:
4568			if wireType != 0 {
4569				return fmt.Errorf("proto: wrong wireType = %d for field Size", wireType)
4570			}
4571			m.Size = 0
4572			for shift := uint(0); ; shift += 7 {
4573				if shift >= 64 {
4574					return ErrIntOverflowBep
4575				}
4576				if iNdEx >= l {
4577					return io.ErrUnexpectedEOF
4578				}
4579				b := dAtA[iNdEx]
4580				iNdEx++
4581				m.Size |= int(b&0x7F) << shift
4582				if b < 0x80 {
4583					break
4584				}
4585			}
4586		case 6:
4587			if wireType != 2 {
4588				return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType)
4589			}
4590			var byteLen int
4591			for shift := uint(0); ; shift += 7 {
4592				if shift >= 64 {
4593					return ErrIntOverflowBep
4594				}
4595				if iNdEx >= l {
4596					return io.ErrUnexpectedEOF
4597				}
4598				b := dAtA[iNdEx]
4599				iNdEx++
4600				byteLen |= int(b&0x7F) << shift
4601				if b < 0x80 {
4602					break
4603				}
4604			}
4605			if byteLen < 0 {
4606				return ErrInvalidLengthBep
4607			}
4608			postIndex := iNdEx + byteLen
4609			if postIndex < 0 {
4610				return ErrInvalidLengthBep
4611			}
4612			if postIndex > l {
4613				return io.ErrUnexpectedEOF
4614			}
4615			m.Hash = append(m.Hash[:0], dAtA[iNdEx:postIndex]...)
4616			if m.Hash == nil {
4617				m.Hash = []byte{}
4618			}
4619			iNdEx = postIndex
4620		case 7:
4621			if wireType != 0 {
4622				return fmt.Errorf("proto: wrong wireType = %d for field FromTemporary", wireType)
4623			}
4624			var v int
4625			for shift := uint(0); ; shift += 7 {
4626				if shift >= 64 {
4627					return ErrIntOverflowBep
4628				}
4629				if iNdEx >= l {
4630					return io.ErrUnexpectedEOF
4631				}
4632				b := dAtA[iNdEx]
4633				iNdEx++
4634				v |= int(b&0x7F) << shift
4635				if b < 0x80 {
4636					break
4637				}
4638			}
4639			m.FromTemporary = bool(v != 0)
4640		case 8:
4641			if wireType != 0 {
4642				return fmt.Errorf("proto: wrong wireType = %d for field WeakHash", wireType)
4643			}
4644			m.WeakHash = 0
4645			for shift := uint(0); ; shift += 7 {
4646				if shift >= 64 {
4647					return ErrIntOverflowBep
4648				}
4649				if iNdEx >= l {
4650					return io.ErrUnexpectedEOF
4651				}
4652				b := dAtA[iNdEx]
4653				iNdEx++
4654				m.WeakHash |= uint32(b&0x7F) << shift
4655				if b < 0x80 {
4656					break
4657				}
4658			}
4659		case 9:
4660			if wireType != 0 {
4661				return fmt.Errorf("proto: wrong wireType = %d for field BlockNo", wireType)
4662			}
4663			m.BlockNo = 0
4664			for shift := uint(0); ; shift += 7 {
4665				if shift >= 64 {
4666					return ErrIntOverflowBep
4667				}
4668				if iNdEx >= l {
4669					return io.ErrUnexpectedEOF
4670				}
4671				b := dAtA[iNdEx]
4672				iNdEx++
4673				m.BlockNo |= int(b&0x7F) << shift
4674				if b < 0x80 {
4675					break
4676				}
4677			}
4678		default:
4679			iNdEx = preIndex
4680			skippy, err := skipBep(dAtA[iNdEx:])
4681			if err != nil {
4682				return err
4683			}
4684			if (skippy < 0) || (iNdEx+skippy) < 0 {
4685				return ErrInvalidLengthBep
4686			}
4687			if (iNdEx + skippy) > l {
4688				return io.ErrUnexpectedEOF
4689			}
4690			iNdEx += skippy
4691		}
4692	}
4693
4694	if iNdEx > l {
4695		return io.ErrUnexpectedEOF
4696	}
4697	return nil
4698}
4699func (m *Response) Unmarshal(dAtA []byte) error {
4700	l := len(dAtA)
4701	iNdEx := 0
4702	for iNdEx < l {
4703		preIndex := iNdEx
4704		var wire uint64
4705		for shift := uint(0); ; shift += 7 {
4706			if shift >= 64 {
4707				return ErrIntOverflowBep
4708			}
4709			if iNdEx >= l {
4710				return io.ErrUnexpectedEOF
4711			}
4712			b := dAtA[iNdEx]
4713			iNdEx++
4714			wire |= uint64(b&0x7F) << shift
4715			if b < 0x80 {
4716				break
4717			}
4718		}
4719		fieldNum := int32(wire >> 3)
4720		wireType := int(wire & 0x7)
4721		if wireType == 4 {
4722			return fmt.Errorf("proto: Response: wiretype end group for non-group")
4723		}
4724		if fieldNum <= 0 {
4725			return fmt.Errorf("proto: Response: illegal tag %d (wire type %d)", fieldNum, wire)
4726		}
4727		switch fieldNum {
4728		case 1:
4729			if wireType != 0 {
4730				return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType)
4731			}
4732			m.ID = 0
4733			for shift := uint(0); ; shift += 7 {
4734				if shift >= 64 {
4735					return ErrIntOverflowBep
4736				}
4737				if iNdEx >= l {
4738					return io.ErrUnexpectedEOF
4739				}
4740				b := dAtA[iNdEx]
4741				iNdEx++
4742				m.ID |= int(b&0x7F) << shift
4743				if b < 0x80 {
4744					break
4745				}
4746			}
4747		case 2:
4748			if wireType != 2 {
4749				return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
4750			}
4751			var byteLen int
4752			for shift := uint(0); ; shift += 7 {
4753				if shift >= 64 {
4754					return ErrIntOverflowBep
4755				}
4756				if iNdEx >= l {
4757					return io.ErrUnexpectedEOF
4758				}
4759				b := dAtA[iNdEx]
4760				iNdEx++
4761				byteLen |= int(b&0x7F) << shift
4762				if b < 0x80 {
4763					break
4764				}
4765			}
4766			if byteLen < 0 {
4767				return ErrInvalidLengthBep
4768			}
4769			postIndex := iNdEx + byteLen
4770			if postIndex < 0 {
4771				return ErrInvalidLengthBep
4772			}
4773			if postIndex > l {
4774				return io.ErrUnexpectedEOF
4775			}
4776			m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...)
4777			if m.Data == nil {
4778				m.Data = []byte{}
4779			}
4780			iNdEx = postIndex
4781		case 3:
4782			if wireType != 0 {
4783				return fmt.Errorf("proto: wrong wireType = %d for field Code", wireType)
4784			}
4785			m.Code = 0
4786			for shift := uint(0); ; shift += 7 {
4787				if shift >= 64 {
4788					return ErrIntOverflowBep
4789				}
4790				if iNdEx >= l {
4791					return io.ErrUnexpectedEOF
4792				}
4793				b := dAtA[iNdEx]
4794				iNdEx++
4795				m.Code |= ErrorCode(b&0x7F) << shift
4796				if b < 0x80 {
4797					break
4798				}
4799			}
4800		default:
4801			iNdEx = preIndex
4802			skippy, err := skipBep(dAtA[iNdEx:])
4803			if err != nil {
4804				return err
4805			}
4806			if (skippy < 0) || (iNdEx+skippy) < 0 {
4807				return ErrInvalidLengthBep
4808			}
4809			if (iNdEx + skippy) > l {
4810				return io.ErrUnexpectedEOF
4811			}
4812			iNdEx += skippy
4813		}
4814	}
4815
4816	if iNdEx > l {
4817		return io.ErrUnexpectedEOF
4818	}
4819	return nil
4820}
4821func (m *DownloadProgress) Unmarshal(dAtA []byte) error {
4822	l := len(dAtA)
4823	iNdEx := 0
4824	for iNdEx < l {
4825		preIndex := iNdEx
4826		var wire uint64
4827		for shift := uint(0); ; shift += 7 {
4828			if shift >= 64 {
4829				return ErrIntOverflowBep
4830			}
4831			if iNdEx >= l {
4832				return io.ErrUnexpectedEOF
4833			}
4834			b := dAtA[iNdEx]
4835			iNdEx++
4836			wire |= uint64(b&0x7F) << shift
4837			if b < 0x80 {
4838				break
4839			}
4840		}
4841		fieldNum := int32(wire >> 3)
4842		wireType := int(wire & 0x7)
4843		if wireType == 4 {
4844			return fmt.Errorf("proto: DownloadProgress: wiretype end group for non-group")
4845		}
4846		if fieldNum <= 0 {
4847			return fmt.Errorf("proto: DownloadProgress: illegal tag %d (wire type %d)", fieldNum, wire)
4848		}
4849		switch fieldNum {
4850		case 1:
4851			if wireType != 2 {
4852				return fmt.Errorf("proto: wrong wireType = %d for field Folder", wireType)
4853			}
4854			var stringLen uint64
4855			for shift := uint(0); ; shift += 7 {
4856				if shift >= 64 {
4857					return ErrIntOverflowBep
4858				}
4859				if iNdEx >= l {
4860					return io.ErrUnexpectedEOF
4861				}
4862				b := dAtA[iNdEx]
4863				iNdEx++
4864				stringLen |= uint64(b&0x7F) << shift
4865				if b < 0x80 {
4866					break
4867				}
4868			}
4869			intStringLen := int(stringLen)
4870			if intStringLen < 0 {
4871				return ErrInvalidLengthBep
4872			}
4873			postIndex := iNdEx + intStringLen
4874			if postIndex < 0 {
4875				return ErrInvalidLengthBep
4876			}
4877			if postIndex > l {
4878				return io.ErrUnexpectedEOF
4879			}
4880			m.Folder = string(dAtA[iNdEx:postIndex])
4881			iNdEx = postIndex
4882		case 2:
4883			if wireType != 2 {
4884				return fmt.Errorf("proto: wrong wireType = %d for field Updates", wireType)
4885			}
4886			var msglen int
4887			for shift := uint(0); ; shift += 7 {
4888				if shift >= 64 {
4889					return ErrIntOverflowBep
4890				}
4891				if iNdEx >= l {
4892					return io.ErrUnexpectedEOF
4893				}
4894				b := dAtA[iNdEx]
4895				iNdEx++
4896				msglen |= int(b&0x7F) << shift
4897				if b < 0x80 {
4898					break
4899				}
4900			}
4901			if msglen < 0 {
4902				return ErrInvalidLengthBep
4903			}
4904			postIndex := iNdEx + msglen
4905			if postIndex < 0 {
4906				return ErrInvalidLengthBep
4907			}
4908			if postIndex > l {
4909				return io.ErrUnexpectedEOF
4910			}
4911			m.Updates = append(m.Updates, FileDownloadProgressUpdate{})
4912			if err := m.Updates[len(m.Updates)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
4913				return err
4914			}
4915			iNdEx = postIndex
4916		default:
4917			iNdEx = preIndex
4918			skippy, err := skipBep(dAtA[iNdEx:])
4919			if err != nil {
4920				return err
4921			}
4922			if (skippy < 0) || (iNdEx+skippy) < 0 {
4923				return ErrInvalidLengthBep
4924			}
4925			if (iNdEx + skippy) > l {
4926				return io.ErrUnexpectedEOF
4927			}
4928			iNdEx += skippy
4929		}
4930	}
4931
4932	if iNdEx > l {
4933		return io.ErrUnexpectedEOF
4934	}
4935	return nil
4936}
4937func (m *FileDownloadProgressUpdate) Unmarshal(dAtA []byte) error {
4938	l := len(dAtA)
4939	iNdEx := 0
4940	for iNdEx < l {
4941		preIndex := iNdEx
4942		var wire uint64
4943		for shift := uint(0); ; shift += 7 {
4944			if shift >= 64 {
4945				return ErrIntOverflowBep
4946			}
4947			if iNdEx >= l {
4948				return io.ErrUnexpectedEOF
4949			}
4950			b := dAtA[iNdEx]
4951			iNdEx++
4952			wire |= uint64(b&0x7F) << shift
4953			if b < 0x80 {
4954				break
4955			}
4956		}
4957		fieldNum := int32(wire >> 3)
4958		wireType := int(wire & 0x7)
4959		if wireType == 4 {
4960			return fmt.Errorf("proto: FileDownloadProgressUpdate: wiretype end group for non-group")
4961		}
4962		if fieldNum <= 0 {
4963			return fmt.Errorf("proto: FileDownloadProgressUpdate: illegal tag %d (wire type %d)", fieldNum, wire)
4964		}
4965		switch fieldNum {
4966		case 1:
4967			if wireType != 0 {
4968				return fmt.Errorf("proto: wrong wireType = %d for field UpdateType", wireType)
4969			}
4970			m.UpdateType = 0
4971			for shift := uint(0); ; shift += 7 {
4972				if shift >= 64 {
4973					return ErrIntOverflowBep
4974				}
4975				if iNdEx >= l {
4976					return io.ErrUnexpectedEOF
4977				}
4978				b := dAtA[iNdEx]
4979				iNdEx++
4980				m.UpdateType |= FileDownloadProgressUpdateType(b&0x7F) << shift
4981				if b < 0x80 {
4982					break
4983				}
4984			}
4985		case 2:
4986			if wireType != 2 {
4987				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
4988			}
4989			var stringLen uint64
4990			for shift := uint(0); ; shift += 7 {
4991				if shift >= 64 {
4992					return ErrIntOverflowBep
4993				}
4994				if iNdEx >= l {
4995					return io.ErrUnexpectedEOF
4996				}
4997				b := dAtA[iNdEx]
4998				iNdEx++
4999				stringLen |= uint64(b&0x7F) << shift
5000				if b < 0x80 {
5001					break
5002				}
5003			}
5004			intStringLen := int(stringLen)
5005			if intStringLen < 0 {
5006				return ErrInvalidLengthBep
5007			}
5008			postIndex := iNdEx + intStringLen
5009			if postIndex < 0 {
5010				return ErrInvalidLengthBep
5011			}
5012			if postIndex > l {
5013				return io.ErrUnexpectedEOF
5014			}
5015			m.Name = string(dAtA[iNdEx:postIndex])
5016			iNdEx = postIndex
5017		case 3:
5018			if wireType != 2 {
5019				return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType)
5020			}
5021			var msglen int
5022			for shift := uint(0); ; shift += 7 {
5023				if shift >= 64 {
5024					return ErrIntOverflowBep
5025				}
5026				if iNdEx >= l {
5027					return io.ErrUnexpectedEOF
5028				}
5029				b := dAtA[iNdEx]
5030				iNdEx++
5031				msglen |= int(b&0x7F) << shift
5032				if b < 0x80 {
5033					break
5034				}
5035			}
5036			if msglen < 0 {
5037				return ErrInvalidLengthBep
5038			}
5039			postIndex := iNdEx + msglen
5040			if postIndex < 0 {
5041				return ErrInvalidLengthBep
5042			}
5043			if postIndex > l {
5044				return io.ErrUnexpectedEOF
5045			}
5046			if err := m.Version.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
5047				return err
5048			}
5049			iNdEx = postIndex
5050		case 4:
5051			if wireType == 0 {
5052				var v int
5053				for shift := uint(0); ; shift += 7 {
5054					if shift >= 64 {
5055						return ErrIntOverflowBep
5056					}
5057					if iNdEx >= l {
5058						return io.ErrUnexpectedEOF
5059					}
5060					b := dAtA[iNdEx]
5061					iNdEx++
5062					v |= int(b&0x7F) << shift
5063					if b < 0x80 {
5064						break
5065					}
5066				}
5067				m.BlockIndexes = append(m.BlockIndexes, v)
5068			} else if wireType == 2 {
5069				var packedLen int
5070				for shift := uint(0); ; shift += 7 {
5071					if shift >= 64 {
5072						return ErrIntOverflowBep
5073					}
5074					if iNdEx >= l {
5075						return io.ErrUnexpectedEOF
5076					}
5077					b := dAtA[iNdEx]
5078					iNdEx++
5079					packedLen |= int(b&0x7F) << shift
5080					if b < 0x80 {
5081						break
5082					}
5083				}
5084				if packedLen < 0 {
5085					return ErrInvalidLengthBep
5086				}
5087				postIndex := iNdEx + packedLen
5088				if postIndex < 0 {
5089					return ErrInvalidLengthBep
5090				}
5091				if postIndex > l {
5092					return io.ErrUnexpectedEOF
5093				}
5094				var elementCount int
5095				var count int
5096				for _, integer := range dAtA[iNdEx:postIndex] {
5097					if integer < 128 {
5098						count++
5099					}
5100				}
5101				elementCount = count
5102				if elementCount != 0 && len(m.BlockIndexes) == 0 {
5103					m.BlockIndexes = make([]int, 0, elementCount)
5104				}
5105				for iNdEx < postIndex {
5106					var v int
5107					for shift := uint(0); ; shift += 7 {
5108						if shift >= 64 {
5109							return ErrIntOverflowBep
5110						}
5111						if iNdEx >= l {
5112							return io.ErrUnexpectedEOF
5113						}
5114						b := dAtA[iNdEx]
5115						iNdEx++
5116						v |= int(b&0x7F) << shift
5117						if b < 0x80 {
5118							break
5119						}
5120					}
5121					m.BlockIndexes = append(m.BlockIndexes, v)
5122				}
5123			} else {
5124				return fmt.Errorf("proto: wrong wireType = %d for field BlockIndexes", wireType)
5125			}
5126		case 5:
5127			if wireType != 0 {
5128				return fmt.Errorf("proto: wrong wireType = %d for field BlockSize", wireType)
5129			}
5130			m.BlockSize = 0
5131			for shift := uint(0); ; shift += 7 {
5132				if shift >= 64 {
5133					return ErrIntOverflowBep
5134				}
5135				if iNdEx >= l {
5136					return io.ErrUnexpectedEOF
5137				}
5138				b := dAtA[iNdEx]
5139				iNdEx++
5140				m.BlockSize |= int(b&0x7F) << shift
5141				if b < 0x80 {
5142					break
5143				}
5144			}
5145		default:
5146			iNdEx = preIndex
5147			skippy, err := skipBep(dAtA[iNdEx:])
5148			if err != nil {
5149				return err
5150			}
5151			if (skippy < 0) || (iNdEx+skippy) < 0 {
5152				return ErrInvalidLengthBep
5153			}
5154			if (iNdEx + skippy) > l {
5155				return io.ErrUnexpectedEOF
5156			}
5157			iNdEx += skippy
5158		}
5159	}
5160
5161	if iNdEx > l {
5162		return io.ErrUnexpectedEOF
5163	}
5164	return nil
5165}
5166func (m *Ping) Unmarshal(dAtA []byte) error {
5167	l := len(dAtA)
5168	iNdEx := 0
5169	for iNdEx < l {
5170		preIndex := iNdEx
5171		var wire uint64
5172		for shift := uint(0); ; shift += 7 {
5173			if shift >= 64 {
5174				return ErrIntOverflowBep
5175			}
5176			if iNdEx >= l {
5177				return io.ErrUnexpectedEOF
5178			}
5179			b := dAtA[iNdEx]
5180			iNdEx++
5181			wire |= uint64(b&0x7F) << shift
5182			if b < 0x80 {
5183				break
5184			}
5185		}
5186		fieldNum := int32(wire >> 3)
5187		wireType := int(wire & 0x7)
5188		if wireType == 4 {
5189			return fmt.Errorf("proto: Ping: wiretype end group for non-group")
5190		}
5191		if fieldNum <= 0 {
5192			return fmt.Errorf("proto: Ping: illegal tag %d (wire type %d)", fieldNum, wire)
5193		}
5194		switch fieldNum {
5195		default:
5196			iNdEx = preIndex
5197			skippy, err := skipBep(dAtA[iNdEx:])
5198			if err != nil {
5199				return err
5200			}
5201			if (skippy < 0) || (iNdEx+skippy) < 0 {
5202				return ErrInvalidLengthBep
5203			}
5204			if (iNdEx + skippy) > l {
5205				return io.ErrUnexpectedEOF
5206			}
5207			iNdEx += skippy
5208		}
5209	}
5210
5211	if iNdEx > l {
5212		return io.ErrUnexpectedEOF
5213	}
5214	return nil
5215}
5216func (m *Close) Unmarshal(dAtA []byte) error {
5217	l := len(dAtA)
5218	iNdEx := 0
5219	for iNdEx < l {
5220		preIndex := iNdEx
5221		var wire uint64
5222		for shift := uint(0); ; shift += 7 {
5223			if shift >= 64 {
5224				return ErrIntOverflowBep
5225			}
5226			if iNdEx >= l {
5227				return io.ErrUnexpectedEOF
5228			}
5229			b := dAtA[iNdEx]
5230			iNdEx++
5231			wire |= uint64(b&0x7F) << shift
5232			if b < 0x80 {
5233				break
5234			}
5235		}
5236		fieldNum := int32(wire >> 3)
5237		wireType := int(wire & 0x7)
5238		if wireType == 4 {
5239			return fmt.Errorf("proto: Close: wiretype end group for non-group")
5240		}
5241		if fieldNum <= 0 {
5242			return fmt.Errorf("proto: Close: illegal tag %d (wire type %d)", fieldNum, wire)
5243		}
5244		switch fieldNum {
5245		case 1:
5246			if wireType != 2 {
5247				return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType)
5248			}
5249			var stringLen uint64
5250			for shift := uint(0); ; shift += 7 {
5251				if shift >= 64 {
5252					return ErrIntOverflowBep
5253				}
5254				if iNdEx >= l {
5255					return io.ErrUnexpectedEOF
5256				}
5257				b := dAtA[iNdEx]
5258				iNdEx++
5259				stringLen |= uint64(b&0x7F) << shift
5260				if b < 0x80 {
5261					break
5262				}
5263			}
5264			intStringLen := int(stringLen)
5265			if intStringLen < 0 {
5266				return ErrInvalidLengthBep
5267			}
5268			postIndex := iNdEx + intStringLen
5269			if postIndex < 0 {
5270				return ErrInvalidLengthBep
5271			}
5272			if postIndex > l {
5273				return io.ErrUnexpectedEOF
5274			}
5275			m.Reason = string(dAtA[iNdEx:postIndex])
5276			iNdEx = postIndex
5277		default:
5278			iNdEx = preIndex
5279			skippy, err := skipBep(dAtA[iNdEx:])
5280			if err != nil {
5281				return err
5282			}
5283			if (skippy < 0) || (iNdEx+skippy) < 0 {
5284				return ErrInvalidLengthBep
5285			}
5286			if (iNdEx + skippy) > l {
5287				return io.ErrUnexpectedEOF
5288			}
5289			iNdEx += skippy
5290		}
5291	}
5292
5293	if iNdEx > l {
5294		return io.ErrUnexpectedEOF
5295	}
5296	return nil
5297}
5298func skipBep(dAtA []byte) (n int, err error) {
5299	l := len(dAtA)
5300	iNdEx := 0
5301	depth := 0
5302	for iNdEx < l {
5303		var wire uint64
5304		for shift := uint(0); ; shift += 7 {
5305			if shift >= 64 {
5306				return 0, ErrIntOverflowBep
5307			}
5308			if iNdEx >= l {
5309				return 0, io.ErrUnexpectedEOF
5310			}
5311			b := dAtA[iNdEx]
5312			iNdEx++
5313			wire |= (uint64(b) & 0x7F) << shift
5314			if b < 0x80 {
5315				break
5316			}
5317		}
5318		wireType := int(wire & 0x7)
5319		switch wireType {
5320		case 0:
5321			for shift := uint(0); ; shift += 7 {
5322				if shift >= 64 {
5323					return 0, ErrIntOverflowBep
5324				}
5325				if iNdEx >= l {
5326					return 0, io.ErrUnexpectedEOF
5327				}
5328				iNdEx++
5329				if dAtA[iNdEx-1] < 0x80 {
5330					break
5331				}
5332			}
5333		case 1:
5334			iNdEx += 8
5335		case 2:
5336			var length int
5337			for shift := uint(0); ; shift += 7 {
5338				if shift >= 64 {
5339					return 0, ErrIntOverflowBep
5340				}
5341				if iNdEx >= l {
5342					return 0, io.ErrUnexpectedEOF
5343				}
5344				b := dAtA[iNdEx]
5345				iNdEx++
5346				length |= (int(b) & 0x7F) << shift
5347				if b < 0x80 {
5348					break
5349				}
5350			}
5351			if length < 0 {
5352				return 0, ErrInvalidLengthBep
5353			}
5354			iNdEx += length
5355		case 3:
5356			depth++
5357		case 4:
5358			if depth == 0 {
5359				return 0, ErrUnexpectedEndOfGroupBep
5360			}
5361			depth--
5362		case 5:
5363			iNdEx += 4
5364		default:
5365			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
5366		}
5367		if iNdEx < 0 {
5368			return 0, ErrInvalidLengthBep
5369		}
5370		if depth == 0 {
5371			return iNdEx, nil
5372		}
5373	}
5374	return 0, io.ErrUnexpectedEOF
5375}
5376
5377var (
5378	ErrInvalidLengthBep        = fmt.Errorf("proto: negative length found during unmarshaling")
5379	ErrIntOverflowBep          = fmt.Errorf("proto: integer overflow")
5380	ErrUnexpectedEndOfGroupBep = fmt.Errorf("proto: unexpected end of group")
5381)
5382