1// Code generated by protoc-gen-gogo.
2// source: stat.proto
3// DO NOT EDIT!
4
5/*
6	Package fsutil is a generated protocol buffer package.
7
8	It is generated from these files:
9		stat.proto
10		wire.proto
11
12	It has these top-level messages:
13		Stat
14		Packet
15*/
16package fsutil
17
18import proto "github.com/gogo/protobuf/proto"
19import fmt "fmt"
20import math "math"
21
22import bytes "bytes"
23
24import strings "strings"
25import reflect "reflect"
26import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys"
27
28import io "io"
29
30// Reference imports to suppress errors if they are not otherwise used.
31var _ = proto.Marshal
32var _ = fmt.Errorf
33var _ = math.Inf
34
35// This is a compile-time assertion to ensure that this generated file
36// is compatible with the proto package it is being compiled against.
37// A compilation error at this line likely means your copy of the
38// proto package needs to be updated.
39const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
40
41type Stat struct {
42	Path    string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
43	Mode    uint32 `protobuf:"varint,2,opt,name=mode,proto3" json:"mode,omitempty"`
44	Uid     uint32 `protobuf:"varint,3,opt,name=uid,proto3" json:"uid,omitempty"`
45	Gid     uint32 `protobuf:"varint,4,opt,name=gid,proto3" json:"gid,omitempty"`
46	Size_   int64  `protobuf:"varint,5,opt,name=size,proto3" json:"size,omitempty"`
47	ModTime int64  `protobuf:"varint,6,opt,name=modTime,proto3" json:"modTime,omitempty"`
48	// int32 typeflag = 7;
49	Linkname string            `protobuf:"bytes,7,opt,name=linkname,proto3" json:"linkname,omitempty"`
50	Devmajor int64             `protobuf:"varint,8,opt,name=devmajor,proto3" json:"devmajor,omitempty"`
51	Devminor int64             `protobuf:"varint,9,opt,name=devminor,proto3" json:"devminor,omitempty"`
52	Xattrs   map[string][]byte `protobuf:"bytes,10,rep,name=xattrs" json:"xattrs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
53}
54
55func (m *Stat) Reset()                    { *m = Stat{} }
56func (*Stat) ProtoMessage()               {}
57func (*Stat) Descriptor() ([]byte, []int) { return fileDescriptorStat, []int{0} }
58
59func (m *Stat) GetPath() string {
60	if m != nil {
61		return m.Path
62	}
63	return ""
64}
65
66func (m *Stat) GetMode() uint32 {
67	if m != nil {
68		return m.Mode
69	}
70	return 0
71}
72
73func (m *Stat) GetUid() uint32 {
74	if m != nil {
75		return m.Uid
76	}
77	return 0
78}
79
80func (m *Stat) GetGid() uint32 {
81	if m != nil {
82		return m.Gid
83	}
84	return 0
85}
86
87func (m *Stat) GetSize_() int64 {
88	if m != nil {
89		return m.Size_
90	}
91	return 0
92}
93
94func (m *Stat) GetModTime() int64 {
95	if m != nil {
96		return m.ModTime
97	}
98	return 0
99}
100
101func (m *Stat) GetLinkname() string {
102	if m != nil {
103		return m.Linkname
104	}
105	return ""
106}
107
108func (m *Stat) GetDevmajor() int64 {
109	if m != nil {
110		return m.Devmajor
111	}
112	return 0
113}
114
115func (m *Stat) GetDevminor() int64 {
116	if m != nil {
117		return m.Devminor
118	}
119	return 0
120}
121
122func (m *Stat) GetXattrs() map[string][]byte {
123	if m != nil {
124		return m.Xattrs
125	}
126	return nil
127}
128
129func init() {
130	proto.RegisterType((*Stat)(nil), "fsutil.Stat")
131}
132func (this *Stat) Equal(that interface{}) bool {
133	if that == nil {
134		if this == nil {
135			return true
136		}
137		return false
138	}
139
140	that1, ok := that.(*Stat)
141	if !ok {
142		that2, ok := that.(Stat)
143		if ok {
144			that1 = &that2
145		} else {
146			return false
147		}
148	}
149	if that1 == nil {
150		if this == nil {
151			return true
152		}
153		return false
154	} else if this == nil {
155		return false
156	}
157	if this.Path != that1.Path {
158		return false
159	}
160	if this.Mode != that1.Mode {
161		return false
162	}
163	if this.Uid != that1.Uid {
164		return false
165	}
166	if this.Gid != that1.Gid {
167		return false
168	}
169	if this.Size_ != that1.Size_ {
170		return false
171	}
172	if this.ModTime != that1.ModTime {
173		return false
174	}
175	if this.Linkname != that1.Linkname {
176		return false
177	}
178	if this.Devmajor != that1.Devmajor {
179		return false
180	}
181	if this.Devminor != that1.Devminor {
182		return false
183	}
184	if len(this.Xattrs) != len(that1.Xattrs) {
185		return false
186	}
187	for i := range this.Xattrs {
188		if !bytes.Equal(this.Xattrs[i], that1.Xattrs[i]) {
189			return false
190		}
191	}
192	return true
193}
194func (this *Stat) GoString() string {
195	if this == nil {
196		return "nil"
197	}
198	s := make([]string, 0, 14)
199	s = append(s, "&fsutil.Stat{")
200	s = append(s, "Path: "+fmt.Sprintf("%#v", this.Path)+",\n")
201	s = append(s, "Mode: "+fmt.Sprintf("%#v", this.Mode)+",\n")
202	s = append(s, "Uid: "+fmt.Sprintf("%#v", this.Uid)+",\n")
203	s = append(s, "Gid: "+fmt.Sprintf("%#v", this.Gid)+",\n")
204	s = append(s, "Size_: "+fmt.Sprintf("%#v", this.Size_)+",\n")
205	s = append(s, "ModTime: "+fmt.Sprintf("%#v", this.ModTime)+",\n")
206	s = append(s, "Linkname: "+fmt.Sprintf("%#v", this.Linkname)+",\n")
207	s = append(s, "Devmajor: "+fmt.Sprintf("%#v", this.Devmajor)+",\n")
208	s = append(s, "Devminor: "+fmt.Sprintf("%#v", this.Devminor)+",\n")
209	keysForXattrs := make([]string, 0, len(this.Xattrs))
210	for k, _ := range this.Xattrs {
211		keysForXattrs = append(keysForXattrs, k)
212	}
213	github_com_gogo_protobuf_sortkeys.Strings(keysForXattrs)
214	mapStringForXattrs := "map[string][]byte{"
215	for _, k := range keysForXattrs {
216		mapStringForXattrs += fmt.Sprintf("%#v: %#v,", k, this.Xattrs[k])
217	}
218	mapStringForXattrs += "}"
219	if this.Xattrs != nil {
220		s = append(s, "Xattrs: "+mapStringForXattrs+",\n")
221	}
222	s = append(s, "}")
223	return strings.Join(s, "")
224}
225func valueToGoStringStat(v interface{}, typ string) string {
226	rv := reflect.ValueOf(v)
227	if rv.IsNil() {
228		return "nil"
229	}
230	pv := reflect.Indirect(rv).Interface()
231	return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
232}
233func (m *Stat) Marshal() (dAtA []byte, err error) {
234	size := m.Size()
235	dAtA = make([]byte, size)
236	n, err := m.MarshalTo(dAtA)
237	if err != nil {
238		return nil, err
239	}
240	return dAtA[:n], nil
241}
242
243func (m *Stat) MarshalTo(dAtA []byte) (int, error) {
244	var i int
245	_ = i
246	var l int
247	_ = l
248	if len(m.Path) > 0 {
249		dAtA[i] = 0xa
250		i++
251		i = encodeVarintStat(dAtA, i, uint64(len(m.Path)))
252		i += copy(dAtA[i:], m.Path)
253	}
254	if m.Mode != 0 {
255		dAtA[i] = 0x10
256		i++
257		i = encodeVarintStat(dAtA, i, uint64(m.Mode))
258	}
259	if m.Uid != 0 {
260		dAtA[i] = 0x18
261		i++
262		i = encodeVarintStat(dAtA, i, uint64(m.Uid))
263	}
264	if m.Gid != 0 {
265		dAtA[i] = 0x20
266		i++
267		i = encodeVarintStat(dAtA, i, uint64(m.Gid))
268	}
269	if m.Size_ != 0 {
270		dAtA[i] = 0x28
271		i++
272		i = encodeVarintStat(dAtA, i, uint64(m.Size_))
273	}
274	if m.ModTime != 0 {
275		dAtA[i] = 0x30
276		i++
277		i = encodeVarintStat(dAtA, i, uint64(m.ModTime))
278	}
279	if len(m.Linkname) > 0 {
280		dAtA[i] = 0x3a
281		i++
282		i = encodeVarintStat(dAtA, i, uint64(len(m.Linkname)))
283		i += copy(dAtA[i:], m.Linkname)
284	}
285	if m.Devmajor != 0 {
286		dAtA[i] = 0x40
287		i++
288		i = encodeVarintStat(dAtA, i, uint64(m.Devmajor))
289	}
290	if m.Devminor != 0 {
291		dAtA[i] = 0x48
292		i++
293		i = encodeVarintStat(dAtA, i, uint64(m.Devminor))
294	}
295	if len(m.Xattrs) > 0 {
296		for k, _ := range m.Xattrs {
297			dAtA[i] = 0x52
298			i++
299			v := m.Xattrs[k]
300			byteSize := 0
301			if len(v) > 0 {
302				byteSize = 1 + len(v) + sovStat(uint64(len(v)))
303			}
304			mapSize := 1 + len(k) + sovStat(uint64(len(k))) + byteSize
305			i = encodeVarintStat(dAtA, i, uint64(mapSize))
306			dAtA[i] = 0xa
307			i++
308			i = encodeVarintStat(dAtA, i, uint64(len(k)))
309			i += copy(dAtA[i:], k)
310			if len(v) > 0 {
311				dAtA[i] = 0x12
312				i++
313				i = encodeVarintStat(dAtA, i, uint64(len(v)))
314				i += copy(dAtA[i:], v)
315			}
316		}
317	}
318	return i, nil
319}
320
321func encodeFixed64Stat(dAtA []byte, offset int, v uint64) int {
322	dAtA[offset] = uint8(v)
323	dAtA[offset+1] = uint8(v >> 8)
324	dAtA[offset+2] = uint8(v >> 16)
325	dAtA[offset+3] = uint8(v >> 24)
326	dAtA[offset+4] = uint8(v >> 32)
327	dAtA[offset+5] = uint8(v >> 40)
328	dAtA[offset+6] = uint8(v >> 48)
329	dAtA[offset+7] = uint8(v >> 56)
330	return offset + 8
331}
332func encodeFixed32Stat(dAtA []byte, offset int, v uint32) int {
333	dAtA[offset] = uint8(v)
334	dAtA[offset+1] = uint8(v >> 8)
335	dAtA[offset+2] = uint8(v >> 16)
336	dAtA[offset+3] = uint8(v >> 24)
337	return offset + 4
338}
339func encodeVarintStat(dAtA []byte, offset int, v uint64) int {
340	for v >= 1<<7 {
341		dAtA[offset] = uint8(v&0x7f | 0x80)
342		v >>= 7
343		offset++
344	}
345	dAtA[offset] = uint8(v)
346	return offset + 1
347}
348func (m *Stat) Size() (n int) {
349	var l int
350	_ = l
351	l = len(m.Path)
352	if l > 0 {
353		n += 1 + l + sovStat(uint64(l))
354	}
355	if m.Mode != 0 {
356		n += 1 + sovStat(uint64(m.Mode))
357	}
358	if m.Uid != 0 {
359		n += 1 + sovStat(uint64(m.Uid))
360	}
361	if m.Gid != 0 {
362		n += 1 + sovStat(uint64(m.Gid))
363	}
364	if m.Size_ != 0 {
365		n += 1 + sovStat(uint64(m.Size_))
366	}
367	if m.ModTime != 0 {
368		n += 1 + sovStat(uint64(m.ModTime))
369	}
370	l = len(m.Linkname)
371	if l > 0 {
372		n += 1 + l + sovStat(uint64(l))
373	}
374	if m.Devmajor != 0 {
375		n += 1 + sovStat(uint64(m.Devmajor))
376	}
377	if m.Devminor != 0 {
378		n += 1 + sovStat(uint64(m.Devminor))
379	}
380	if len(m.Xattrs) > 0 {
381		for k, v := range m.Xattrs {
382			_ = k
383			_ = v
384			l = 0
385			if len(v) > 0 {
386				l = 1 + len(v) + sovStat(uint64(len(v)))
387			}
388			mapEntrySize := 1 + len(k) + sovStat(uint64(len(k))) + l
389			n += mapEntrySize + 1 + sovStat(uint64(mapEntrySize))
390		}
391	}
392	return n
393}
394
395func sovStat(x uint64) (n int) {
396	for {
397		n++
398		x >>= 7
399		if x == 0 {
400			break
401		}
402	}
403	return n
404}
405func sozStat(x uint64) (n int) {
406	return sovStat(uint64((x << 1) ^ uint64((int64(x) >> 63))))
407}
408func (this *Stat) String() string {
409	if this == nil {
410		return "nil"
411	}
412	keysForXattrs := make([]string, 0, len(this.Xattrs))
413	for k, _ := range this.Xattrs {
414		keysForXattrs = append(keysForXattrs, k)
415	}
416	github_com_gogo_protobuf_sortkeys.Strings(keysForXattrs)
417	mapStringForXattrs := "map[string][]byte{"
418	for _, k := range keysForXattrs {
419		mapStringForXattrs += fmt.Sprintf("%v: %v,", k, this.Xattrs[k])
420	}
421	mapStringForXattrs += "}"
422	s := strings.Join([]string{`&Stat{`,
423		`Path:` + fmt.Sprintf("%v", this.Path) + `,`,
424		`Mode:` + fmt.Sprintf("%v", this.Mode) + `,`,
425		`Uid:` + fmt.Sprintf("%v", this.Uid) + `,`,
426		`Gid:` + fmt.Sprintf("%v", this.Gid) + `,`,
427		`Size_:` + fmt.Sprintf("%v", this.Size_) + `,`,
428		`ModTime:` + fmt.Sprintf("%v", this.ModTime) + `,`,
429		`Linkname:` + fmt.Sprintf("%v", this.Linkname) + `,`,
430		`Devmajor:` + fmt.Sprintf("%v", this.Devmajor) + `,`,
431		`Devminor:` + fmt.Sprintf("%v", this.Devminor) + `,`,
432		`Xattrs:` + mapStringForXattrs + `,`,
433		`}`,
434	}, "")
435	return s
436}
437func valueToStringStat(v interface{}) string {
438	rv := reflect.ValueOf(v)
439	if rv.IsNil() {
440		return "nil"
441	}
442	pv := reflect.Indirect(rv).Interface()
443	return fmt.Sprintf("*%v", pv)
444}
445func (m *Stat) Unmarshal(dAtA []byte) error {
446	l := len(dAtA)
447	iNdEx := 0
448	for iNdEx < l {
449		preIndex := iNdEx
450		var wire uint64
451		for shift := uint(0); ; shift += 7 {
452			if shift >= 64 {
453				return ErrIntOverflowStat
454			}
455			if iNdEx >= l {
456				return io.ErrUnexpectedEOF
457			}
458			b := dAtA[iNdEx]
459			iNdEx++
460			wire |= (uint64(b) & 0x7F) << shift
461			if b < 0x80 {
462				break
463			}
464		}
465		fieldNum := int32(wire >> 3)
466		wireType := int(wire & 0x7)
467		if wireType == 4 {
468			return fmt.Errorf("proto: Stat: wiretype end group for non-group")
469		}
470		if fieldNum <= 0 {
471			return fmt.Errorf("proto: Stat: illegal tag %d (wire type %d)", fieldNum, wire)
472		}
473		switch fieldNum {
474		case 1:
475			if wireType != 2 {
476				return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType)
477			}
478			var stringLen uint64
479			for shift := uint(0); ; shift += 7 {
480				if shift >= 64 {
481					return ErrIntOverflowStat
482				}
483				if iNdEx >= l {
484					return io.ErrUnexpectedEOF
485				}
486				b := dAtA[iNdEx]
487				iNdEx++
488				stringLen |= (uint64(b) & 0x7F) << shift
489				if b < 0x80 {
490					break
491				}
492			}
493			intStringLen := int(stringLen)
494			if intStringLen < 0 {
495				return ErrInvalidLengthStat
496			}
497			postIndex := iNdEx + intStringLen
498			if postIndex > l {
499				return io.ErrUnexpectedEOF
500			}
501			m.Path = string(dAtA[iNdEx:postIndex])
502			iNdEx = postIndex
503		case 2:
504			if wireType != 0 {
505				return fmt.Errorf("proto: wrong wireType = %d for field Mode", wireType)
506			}
507			m.Mode = 0
508			for shift := uint(0); ; shift += 7 {
509				if shift >= 64 {
510					return ErrIntOverflowStat
511				}
512				if iNdEx >= l {
513					return io.ErrUnexpectedEOF
514				}
515				b := dAtA[iNdEx]
516				iNdEx++
517				m.Mode |= (uint32(b) & 0x7F) << shift
518				if b < 0x80 {
519					break
520				}
521			}
522		case 3:
523			if wireType != 0 {
524				return fmt.Errorf("proto: wrong wireType = %d for field Uid", wireType)
525			}
526			m.Uid = 0
527			for shift := uint(0); ; shift += 7 {
528				if shift >= 64 {
529					return ErrIntOverflowStat
530				}
531				if iNdEx >= l {
532					return io.ErrUnexpectedEOF
533				}
534				b := dAtA[iNdEx]
535				iNdEx++
536				m.Uid |= (uint32(b) & 0x7F) << shift
537				if b < 0x80 {
538					break
539				}
540			}
541		case 4:
542			if wireType != 0 {
543				return fmt.Errorf("proto: wrong wireType = %d for field Gid", wireType)
544			}
545			m.Gid = 0
546			for shift := uint(0); ; shift += 7 {
547				if shift >= 64 {
548					return ErrIntOverflowStat
549				}
550				if iNdEx >= l {
551					return io.ErrUnexpectedEOF
552				}
553				b := dAtA[iNdEx]
554				iNdEx++
555				m.Gid |= (uint32(b) & 0x7F) << shift
556				if b < 0x80 {
557					break
558				}
559			}
560		case 5:
561			if wireType != 0 {
562				return fmt.Errorf("proto: wrong wireType = %d for field Size_", wireType)
563			}
564			m.Size_ = 0
565			for shift := uint(0); ; shift += 7 {
566				if shift >= 64 {
567					return ErrIntOverflowStat
568				}
569				if iNdEx >= l {
570					return io.ErrUnexpectedEOF
571				}
572				b := dAtA[iNdEx]
573				iNdEx++
574				m.Size_ |= (int64(b) & 0x7F) << shift
575				if b < 0x80 {
576					break
577				}
578			}
579		case 6:
580			if wireType != 0 {
581				return fmt.Errorf("proto: wrong wireType = %d for field ModTime", wireType)
582			}
583			m.ModTime = 0
584			for shift := uint(0); ; shift += 7 {
585				if shift >= 64 {
586					return ErrIntOverflowStat
587				}
588				if iNdEx >= l {
589					return io.ErrUnexpectedEOF
590				}
591				b := dAtA[iNdEx]
592				iNdEx++
593				m.ModTime |= (int64(b) & 0x7F) << shift
594				if b < 0x80 {
595					break
596				}
597			}
598		case 7:
599			if wireType != 2 {
600				return fmt.Errorf("proto: wrong wireType = %d for field Linkname", wireType)
601			}
602			var stringLen uint64
603			for shift := uint(0); ; shift += 7 {
604				if shift >= 64 {
605					return ErrIntOverflowStat
606				}
607				if iNdEx >= l {
608					return io.ErrUnexpectedEOF
609				}
610				b := dAtA[iNdEx]
611				iNdEx++
612				stringLen |= (uint64(b) & 0x7F) << shift
613				if b < 0x80 {
614					break
615				}
616			}
617			intStringLen := int(stringLen)
618			if intStringLen < 0 {
619				return ErrInvalidLengthStat
620			}
621			postIndex := iNdEx + intStringLen
622			if postIndex > l {
623				return io.ErrUnexpectedEOF
624			}
625			m.Linkname = string(dAtA[iNdEx:postIndex])
626			iNdEx = postIndex
627		case 8:
628			if wireType != 0 {
629				return fmt.Errorf("proto: wrong wireType = %d for field Devmajor", wireType)
630			}
631			m.Devmajor = 0
632			for shift := uint(0); ; shift += 7 {
633				if shift >= 64 {
634					return ErrIntOverflowStat
635				}
636				if iNdEx >= l {
637					return io.ErrUnexpectedEOF
638				}
639				b := dAtA[iNdEx]
640				iNdEx++
641				m.Devmajor |= (int64(b) & 0x7F) << shift
642				if b < 0x80 {
643					break
644				}
645			}
646		case 9:
647			if wireType != 0 {
648				return fmt.Errorf("proto: wrong wireType = %d for field Devminor", wireType)
649			}
650			m.Devminor = 0
651			for shift := uint(0); ; shift += 7 {
652				if shift >= 64 {
653					return ErrIntOverflowStat
654				}
655				if iNdEx >= l {
656					return io.ErrUnexpectedEOF
657				}
658				b := dAtA[iNdEx]
659				iNdEx++
660				m.Devminor |= (int64(b) & 0x7F) << shift
661				if b < 0x80 {
662					break
663				}
664			}
665		case 10:
666			if wireType != 2 {
667				return fmt.Errorf("proto: wrong wireType = %d for field Xattrs", wireType)
668			}
669			var msglen int
670			for shift := uint(0); ; shift += 7 {
671				if shift >= 64 {
672					return ErrIntOverflowStat
673				}
674				if iNdEx >= l {
675					return io.ErrUnexpectedEOF
676				}
677				b := dAtA[iNdEx]
678				iNdEx++
679				msglen |= (int(b) & 0x7F) << shift
680				if b < 0x80 {
681					break
682				}
683			}
684			if msglen < 0 {
685				return ErrInvalidLengthStat
686			}
687			postIndex := iNdEx + msglen
688			if postIndex > l {
689				return io.ErrUnexpectedEOF
690			}
691			var keykey uint64
692			for shift := uint(0); ; shift += 7 {
693				if shift >= 64 {
694					return ErrIntOverflowStat
695				}
696				if iNdEx >= l {
697					return io.ErrUnexpectedEOF
698				}
699				b := dAtA[iNdEx]
700				iNdEx++
701				keykey |= (uint64(b) & 0x7F) << shift
702				if b < 0x80 {
703					break
704				}
705			}
706			var stringLenmapkey uint64
707			for shift := uint(0); ; shift += 7 {
708				if shift >= 64 {
709					return ErrIntOverflowStat
710				}
711				if iNdEx >= l {
712					return io.ErrUnexpectedEOF
713				}
714				b := dAtA[iNdEx]
715				iNdEx++
716				stringLenmapkey |= (uint64(b) & 0x7F) << shift
717				if b < 0x80 {
718					break
719				}
720			}
721			intStringLenmapkey := int(stringLenmapkey)
722			if intStringLenmapkey < 0 {
723				return ErrInvalidLengthStat
724			}
725			postStringIndexmapkey := iNdEx + intStringLenmapkey
726			if postStringIndexmapkey > l {
727				return io.ErrUnexpectedEOF
728			}
729			mapkey := string(dAtA[iNdEx:postStringIndexmapkey])
730			iNdEx = postStringIndexmapkey
731			if m.Xattrs == nil {
732				m.Xattrs = make(map[string][]byte)
733			}
734			if iNdEx < postIndex {
735				var valuekey uint64
736				for shift := uint(0); ; shift += 7 {
737					if shift >= 64 {
738						return ErrIntOverflowStat
739					}
740					if iNdEx >= l {
741						return io.ErrUnexpectedEOF
742					}
743					b := dAtA[iNdEx]
744					iNdEx++
745					valuekey |= (uint64(b) & 0x7F) << shift
746					if b < 0x80 {
747						break
748					}
749				}
750				var mapbyteLen uint64
751				for shift := uint(0); ; shift += 7 {
752					if shift >= 64 {
753						return ErrIntOverflowStat
754					}
755					if iNdEx >= l {
756						return io.ErrUnexpectedEOF
757					}
758					b := dAtA[iNdEx]
759					iNdEx++
760					mapbyteLen |= (uint64(b) & 0x7F) << shift
761					if b < 0x80 {
762						break
763					}
764				}
765				intMapbyteLen := int(mapbyteLen)
766				if intMapbyteLen < 0 {
767					return ErrInvalidLengthStat
768				}
769				postbytesIndex := iNdEx + intMapbyteLen
770				if postbytesIndex > l {
771					return io.ErrUnexpectedEOF
772				}
773				mapvalue := make([]byte, mapbyteLen)
774				copy(mapvalue, dAtA[iNdEx:postbytesIndex])
775				iNdEx = postbytesIndex
776				m.Xattrs[mapkey] = mapvalue
777			} else {
778				var mapvalue []byte
779				m.Xattrs[mapkey] = mapvalue
780			}
781			iNdEx = postIndex
782		default:
783			iNdEx = preIndex
784			skippy, err := skipStat(dAtA[iNdEx:])
785			if err != nil {
786				return err
787			}
788			if skippy < 0 {
789				return ErrInvalidLengthStat
790			}
791			if (iNdEx + skippy) > l {
792				return io.ErrUnexpectedEOF
793			}
794			iNdEx += skippy
795		}
796	}
797
798	if iNdEx > l {
799		return io.ErrUnexpectedEOF
800	}
801	return nil
802}
803func skipStat(dAtA []byte) (n int, err error) {
804	l := len(dAtA)
805	iNdEx := 0
806	for iNdEx < l {
807		var wire uint64
808		for shift := uint(0); ; shift += 7 {
809			if shift >= 64 {
810				return 0, ErrIntOverflowStat
811			}
812			if iNdEx >= l {
813				return 0, io.ErrUnexpectedEOF
814			}
815			b := dAtA[iNdEx]
816			iNdEx++
817			wire |= (uint64(b) & 0x7F) << shift
818			if b < 0x80 {
819				break
820			}
821		}
822		wireType := int(wire & 0x7)
823		switch wireType {
824		case 0:
825			for shift := uint(0); ; shift += 7 {
826				if shift >= 64 {
827					return 0, ErrIntOverflowStat
828				}
829				if iNdEx >= l {
830					return 0, io.ErrUnexpectedEOF
831				}
832				iNdEx++
833				if dAtA[iNdEx-1] < 0x80 {
834					break
835				}
836			}
837			return iNdEx, nil
838		case 1:
839			iNdEx += 8
840			return iNdEx, nil
841		case 2:
842			var length int
843			for shift := uint(0); ; shift += 7 {
844				if shift >= 64 {
845					return 0, ErrIntOverflowStat
846				}
847				if iNdEx >= l {
848					return 0, io.ErrUnexpectedEOF
849				}
850				b := dAtA[iNdEx]
851				iNdEx++
852				length |= (int(b) & 0x7F) << shift
853				if b < 0x80 {
854					break
855				}
856			}
857			iNdEx += length
858			if length < 0 {
859				return 0, ErrInvalidLengthStat
860			}
861			return iNdEx, nil
862		case 3:
863			for {
864				var innerWire uint64
865				var start int = iNdEx
866				for shift := uint(0); ; shift += 7 {
867					if shift >= 64 {
868						return 0, ErrIntOverflowStat
869					}
870					if iNdEx >= l {
871						return 0, io.ErrUnexpectedEOF
872					}
873					b := dAtA[iNdEx]
874					iNdEx++
875					innerWire |= (uint64(b) & 0x7F) << shift
876					if b < 0x80 {
877						break
878					}
879				}
880				innerWireType := int(innerWire & 0x7)
881				if innerWireType == 4 {
882					break
883				}
884				next, err := skipStat(dAtA[start:])
885				if err != nil {
886					return 0, err
887				}
888				iNdEx = start + next
889			}
890			return iNdEx, nil
891		case 4:
892			return iNdEx, nil
893		case 5:
894			iNdEx += 4
895			return iNdEx, nil
896		default:
897			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
898		}
899	}
900	panic("unreachable")
901}
902
903var (
904	ErrInvalidLengthStat = fmt.Errorf("proto: negative length found during unmarshaling")
905	ErrIntOverflowStat   = fmt.Errorf("proto: integer overflow")
906)
907
908func init() { proto.RegisterFile("stat.proto", fileDescriptorStat) }
909
910var fileDescriptorStat = []byte{
911	// 303 bytes of a gzipped FileDescriptorProto
912	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x4c, 0x91, 0xb1, 0x4e, 0xf3, 0x30,
913	0x14, 0x85, 0x73, 0x9b, 0x36, 0x6d, 0xdd, 0xff, 0x97, 0x90, 0xc5, 0x70, 0xd5, 0xc1, 0x8a, 0x98,
914	0x32, 0xa0, 0x08, 0xc1, 0x02, 0x8c, 0x48, 0xbc, 0x40, 0x60, 0x60, 0x35, 0xb2, 0x29, 0xa6, 0x4d,
915	0x5c, 0x25, 0x4e, 0x45, 0x99, 0x78, 0x04, 0x1e, 0x83, 0xd7, 0x60, 0x63, 0xec, 0xc8, 0x48, 0xcc,
916	0xc2, 0xd8, 0x47, 0x40, 0x76, 0xda, 0xc2, 0x76, 0xce, 0x77, 0x7c, 0x65, 0x9d, 0x7b, 0x09, 0xa9,
917	0x0c, 0x37, 0xe9, 0xbc, 0xd4, 0x46, 0xd3, 0xe8, 0xae, 0xaa, 0x8d, 0x9a, 0x1d, 0xbc, 0x75, 0x48,
918	0xf7, 0xca, 0x70, 0x43, 0x29, 0xe9, 0xce, 0xb9, 0xb9, 0x47, 0x88, 0x21, 0x19, 0x66, 0x5e, 0x3b,
919	0x96, 0x6b, 0x21, 0xb1, 0x13, 0x43, 0xf2, 0x3f, 0xf3, 0x9a, 0xee, 0x91, 0xb0, 0x56, 0x02, 0x43,
920	0x8f, 0x9c, 0x74, 0x64, 0xa2, 0x04, 0x76, 0x5b, 0x32, 0x51, 0xc2, 0xcd, 0x55, 0xea, 0x49, 0x62,
921	0x2f, 0x86, 0x24, 0xcc, 0xbc, 0xa6, 0x48, 0xfa, 0xb9, 0x16, 0xd7, 0x2a, 0x97, 0x18, 0x79, 0xbc,
922	0xb5, 0x74, 0x4c, 0x06, 0x33, 0x55, 0x4c, 0x0b, 0x9e, 0x4b, 0xec, 0xfb, 0xdf, 0x77, 0xde, 0x65,
923	0x42, 0x2e, 0x72, 0xfe, 0xa0, 0x4b, 0x1c, 0xf8, 0xb1, 0x9d, 0xdf, 0x66, 0xaa, 0xd0, 0x25, 0x0e,
924	0x7f, 0x33, 0xe7, 0xe9, 0x11, 0x89, 0x1e, 0xb9, 0x31, 0x65, 0x85, 0x24, 0x0e, 0x93, 0xd1, 0x31,
925	0xa6, 0x6d, 0xdf, 0xd4, 0x75, 0x4d, 0x6f, 0x7c, 0x74, 0x59, 0x98, 0x72, 0x99, 0x6d, 0xde, 0x8d,
926	0xcf, 0xc8, 0xe8, 0x0f, 0x76, 0xa5, 0xa6, 0x72, 0xb9, 0xd9, 0x86, 0x93, 0x74, 0x9f, 0xf4, 0x16,
927	0x7c, 0x56, 0xb7, 0xdb, 0xf8, 0x97, 0xb5, 0xe6, 0xbc, 0x73, 0x0a, 0x17, 0x87, 0xab, 0x86, 0x05,
928	0x1f, 0x0d, 0x0b, 0xd6, 0x0d, 0x83, 0x67, 0xcb, 0xe0, 0xd5, 0x32, 0x78, 0xb7, 0x0c, 0x56, 0x96,
929	0xc1, 0xa7, 0x65, 0xf0, 0x6d, 0x59, 0xb0, 0xb6, 0x0c, 0x5e, 0xbe, 0x58, 0x70, 0x1b, 0xf9, 0x03,
930	0x9c, 0xfc, 0x04, 0x00, 0x00, 0xff, 0xff, 0x19, 0x97, 0x14, 0xf4, 0x8e, 0x01, 0x00, 0x00,
931}
932