liuxiaolong
2020-03-06 e15c83fc33ab00707c8ac75261fe4f5bd51943b9
es.pb.go
@@ -107,6 +107,98 @@
   return ""
}
type PersonCar struct {
   Id            string  `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Tableid       string  `protobuf:"bytes,2,opt,name=tableid,proto3" json:"tableid,omitempty"`
   FaceFeature   string  `protobuf:"bytes,3,opt,name=faceFeature,proto3" json:"faceFeature,omitempty"`
   CompareScore  float32 `protobuf:"fixed32,4,opt,name=compareScore,proto3" json:"compareScore,omitempty"`
   Enable        int32   `protobuf:"varint,5,opt,name=enable,proto3" json:"enable,omitempty"`
   AnalyServerId string  `protobuf:"bytes,6,opt,name=analyServerId,proto3" json:"analyServerId,omitempty"`
   CarNo         string  `protobuf:"bytes,7,opt,name=carNo,proto3" json:"carNo,omitempty"`
}
func (m *PersonCar) Reset()         { *m = PersonCar{} }
func (m *PersonCar) String() string { return proto.CompactTextString(m) }
func (*PersonCar) ProtoMessage()    {}
func (*PersonCar) Descriptor() ([]byte, []int) {
   return fileDescriptor_718db5c20d0f3738, []int{1}
}
func (m *PersonCar) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
}
func (m *PersonCar) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   if deterministic {
      return xxx_messageInfo_PersonCar.Marshal(b, m, deterministic)
   } else {
      b = b[:cap(b)]
      n, err := m.MarshalTo(b)
      if err != nil {
         return nil, err
      }
      return b[:n], nil
   }
}
func (m *PersonCar) XXX_Merge(src proto.Message) {
   xxx_messageInfo_PersonCar.Merge(m, src)
}
func (m *PersonCar) XXX_Size() int {
   return m.Size()
}
func (m *PersonCar) XXX_DiscardUnknown() {
   xxx_messageInfo_PersonCar.DiscardUnknown(m)
}
var xxx_messageInfo_PersonCar proto.InternalMessageInfo
func (m *PersonCar) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *PersonCar) GetTableid() string {
   if m != nil {
      return m.Tableid
   }
   return ""
}
func (m *PersonCar) GetFaceFeature() string {
   if m != nil {
      return m.FaceFeature
   }
   return ""
}
func (m *PersonCar) GetCompareScore() float32 {
   if m != nil {
      return m.CompareScore
   }
   return 0
}
func (m *PersonCar) GetEnable() int32 {
   if m != nil {
      return m.Enable
   }
   return 0
}
func (m *PersonCar) GetAnalyServerId() string {
   if m != nil {
      return m.AnalyServerId
   }
   return ""
}
func (m *PersonCar) GetCarNo() string {
   if m != nil {
      return m.CarNo
   }
   return ""
}
type MultiFeaCache struct {
   EsInfo         *Esinfo         `protobuf:"bytes,1,opt,name=esInfo,proto3" json:"esInfo,omitempty"`
   AttachFeature  string          `protobuf:"bytes,2,opt,name=attachFeature,proto3" json:"attachFeature,omitempty"`
@@ -119,7 +211,7 @@
func (m *MultiFeaCache) String() string { return proto.CompactTextString(m) }
func (*MultiFeaCache) ProtoMessage()    {}
func (*MultiFeaCache) Descriptor() ([]byte, []int) {
   return fileDescriptor_718db5c20d0f3738, []int{1}
   return fileDescriptor_718db5c20d0f3738, []int{2}
}
func (m *MultiFeaCache) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -194,7 +286,7 @@
func (m *LinkEsInfo) String() string { return proto.CompactTextString(m) }
func (*LinkEsInfo) ProtoMessage()    {}
func (*LinkEsInfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_718db5c20d0f3738, []int{2}
   return fileDescriptor_718db5c20d0f3738, []int{3}
}
func (m *LinkEsInfo) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -275,7 +367,7 @@
func (m *Dbperson) String() string { return proto.CompactTextString(m) }
func (*Dbperson) ProtoMessage()    {}
func (*Dbperson) Descriptor() ([]byte, []int) {
   return fileDescriptor_718db5c20d0f3738, []int{3}
   return fileDescriptor_718db5c20d0f3738, []int{4}
}
func (m *Dbperson) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -445,7 +537,7 @@
func (m *Dbtable) String() string { return proto.CompactTextString(m) }
func (*Dbtable) ProtoMessage()    {}
func (*Dbtable) Descriptor() ([]byte, []int) {
   return fileDescriptor_718db5c20d0f3738, []int{4}
   return fileDescriptor_718db5c20d0f3738, []int{5}
}
func (m *Dbtable) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -581,6 +673,7 @@
func init() {
   proto.RegisterType((*Esinfo)(nil), "protomsg.Esinfo")
   proto.RegisterType((*PersonCar)(nil), "protomsg.PersonCar")
   proto.RegisterType((*MultiFeaCache)(nil), "protomsg.MultiFeaCache")
   proto.RegisterType((*LinkEsInfo)(nil), "protomsg.LinkEsInfo")
   proto.RegisterType((*Dbperson)(nil), "protomsg.Dbperson")
@@ -590,49 +683,51 @@
func init() { proto.RegisterFile("es.proto", fileDescriptor_718db5c20d0f3738) }
var fileDescriptor_718db5c20d0f3738 = []byte{
   // 669 bytes of a gzipped FileDescriptorProto
   0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0x41, 0x4e, 0xdb, 0x40,
   0x14, 0x86, 0x71, 0x0c, 0x89, 0xfd, 0x42, 0x80, 0x5a, 0x55, 0x35, 0x42, 0xc8, 0x8a, 0xa2, 0x2e,
   0xb2, 0x62, 0x41, 0x7b, 0x80, 0x0a, 0x02, 0x52, 0x24, 0x8a, 0x2a, 0x43, 0x0f, 0x30, 0xb1, 0x5f,
   0x60, 0x54, 0xdb, 0x63, 0x8d, 0x27, 0x94, 0xdc, 0xa2, 0xe7, 0xe8, 0xa6, 0xbb, 0x9e, 0xa1, 0x4b,
   0x96, 0x5d, 0x74, 0x51, 0x91, 0x23, 0xf4, 0x02, 0xd5, 0xcc, 0xd8, 0xb1, 0x9d, 0x50, 0xda, 0xae,
   0x92, 0xff, 0xff, 0xed, 0x99, 0xf7, 0xe6, 0x7b, 0x63, 0x70, 0x30, 0x3f, 0xcc, 0x04, 0x97, 0xdc,
   0x73, 0xf4, 0x4f, 0x92, 0x5f, 0xef, 0xf7, 0x28, 0xe3, 0x21, 0xd2, 0xd4, 0x04, 0x83, 0xaf, 0x16,
   0xb4, 0x4f, 0x73, 0x96, 0x4e, 0xb9, 0xb7, 0x03, 0x2d, 0x16, 0x11, 0xab, 0x6f, 0x0d, 0xdd, 0xa0,
   0xc5, 0x22, 0x8f, 0x40, 0x47, 0xd2, 0x49, 0x8c, 0x2c, 0x22, 0x2d, 0x6d, 0x96, 0xd2, 0xeb, 0x43,
   0x77, 0x4a, 0x43, 0x3c, 0x43, 0x2a, 0x67, 0x02, 0x89, 0xad, 0xd3, 0xba, 0xe5, 0x0d, 0x60, 0x3b,
   0xe4, 0x49, 0x46, 0x05, 0x5e, 0x86, 0x5c, 0x20, 0xd9, 0xec, 0x5b, 0xc3, 0x56, 0xd0, 0xf0, 0xbc,
   0x17, 0xd0, 0xc6, 0x54, 0xad, 0x48, 0xb6, 0xfa, 0xd6, 0x70, 0x2b, 0x28, 0x94, 0xf7, 0x12, 0x7a,
   0x34, 0xa5, 0xf1, 0xfc, 0x12, 0xc5, 0x2d, 0x8a, 0x71, 0x44, 0xda, 0x7a, 0xfd, 0xa6, 0x39, 0xf8,
   0x65, 0x41, 0xef, 0xed, 0x2c, 0x96, 0xec, 0x0c, 0xe9, 0x09, 0x0d, 0x6f, 0xd0, 0x1b, 0x42, 0x1b,
   0xf3, 0x71, 0x3a, 0xe5, 0xba, 0x87, 0xee, 0xd1, 0xde, 0x61, 0xd9, 0xf4, 0xa1, 0xe9, 0x30, 0x28,
   0x72, 0xbd, 0x83, 0x94, 0x34, 0xbc, 0x29, 0x3b, 0x68, 0x15, 0x3b, 0xd4, 0x4d, 0x6f, 0x1f, 0x9c,
   0x90, 0x26, 0x28, 0xe8, 0x38, 0x2a, 0x5a, 0x5c, 0x6a, 0xef, 0x35, 0x40, 0xcc, 0xd2, 0x0f, 0xa7,
   0x66, 0xbf, 0xcd, 0xbe, 0x3d, 0xec, 0x1e, 0x3d, 0xaf, 0xf6, 0x3b, 0x5f, 0x66, 0x41, 0xed, 0x39,
   0xef, 0x0d, 0xec, 0x48, 0x2a, 0xae, 0x51, 0x9e, 0xf3, 0x90, 0x4a, 0xc6, 0x53, 0xdd, 0x79, 0xf7,
   0x88, 0x54, 0x6f, 0x5e, 0x35, 0xf2, 0x60, 0xe5, 0xf9, 0xc1, 0x67, 0x0b, 0xa0, 0x5a, 0xbc, 0x51,
   0xa2, 0xb5, 0x52, 0x22, 0x81, 0xce, 0xb4, 0xd1, 0x5e, 0x29, 0xd7, 0xdb, 0xb7, 0x1f, 0x6b, 0x7f,
   0xbd, 0xd8, 0xcd, 0xff, 0x2c, 0xf6, 0x87, 0x0d, 0xce, 0x68, 0x92, 0xa1, 0xc8, 0x79, 0xfa, 0xc7,
   0xe9, 0x1a, 0x37, 0xa7, 0x6b, 0xfc, 0x8f, 0xd3, 0x65, 0x56, 0x7d, 0xc7, 0xc2, 0xf7, 0x22, 0xd6,
   0x85, 0xb9, 0x41, 0xc3, 0xf3, 0x7c, 0x00, 0xa3, 0x2f, 0x68, 0x62, 0x26, 0xcc, 0x0d, 0x6a, 0x8e,
   0xb7, 0x07, 0x36, 0xbd, 0xc6, 0x62, 0xb6, 0xd4, 0x5f, 0xe5, 0xe4, 0x78, 0x47, 0x3a, 0xc6, 0xc9,
   0xf1, 0x4e, 0x4d, 0x28, 0x8b, 0x4e, 0xa8, 0x88, 0x88, 0xa3, 0xcd, 0x42, 0xa9, 0xda, 0x33, 0x16,
   0x8e, 0x30, 0x0f, 0x89, 0x6b, 0x6a, 0x2f, 0xa4, 0x02, 0x92, 0xdd, 0xf0, 0x14, 0x2f, 0x66, 0x09,
   0x01, 0x03, 0xa4, 0xd4, 0xaa, 0xa2, 0x50, 0x20, 0x95, 0x78, 0xc5, 0x12, 0x24, 0x5d, 0x53, 0x51,
   0xe5, 0xa8, 0x7c, 0x96, 0x45, 0x65, 0xbe, 0x6d, 0xf2, 0xca, 0xd1, 0xb0, 0xf5, 0xd3, 0xc7, 0x73,
   0xd2, 0x2b, 0x60, 0x17, 0x5a, 0x65, 0x2c, 0x1f, 0x61, 0x8c, 0x12, 0xc9, 0x8e, 0xbe, 0x4d, 0x4b,
   0xad, 0x4e, 0x2b, 0xe1, 0x29, 0x93, 0x5c, 0x9c, 0xe3, 0x2d, 0xc6, 0x64, 0xd7, 0x9c, 0x56, 0xdd,
   0xab, 0xdd, 0xc5, 0xbd, 0xc6, 0x5d, 0xdc, 0x07, 0x47, 0x60, 0xae, 0xee, 0x5c, 0x44, 0x9e, 0x99,
   0x3d, 0x4b, 0x3d, 0xf8, 0x62, 0x43, 0x67, 0x34, 0xd1, 0xd4, 0xd6, 0xe8, 0x1e, 0x80, 0xab, 0x03,
   0x7d, 0xf8, 0x86, 0x6f, 0x65, 0x2c, 0x53, 0x7d, 0x82, 0x76, 0x2d, 0xd5, 0x67, 0x58, 0xa6, 0x57,
   0xf3, 0x0c, 0x0b, 0xb4, 0x95, 0xa1, 0x2a, 0x9d, 0x7c, 0xd4, 0x91, 0x61, 0x5a, 0x28, 0xf5, 0x56,
   0x2e, 0xa9, 0x90, 0xfa, 0xf0, 0x0c, 0xd5, 0xca, 0x50, 0xc4, 0x30, 0x8d, 0x74, 0x66, 0xf8, 0x96,
   0x72, 0x85, 0x8a, 0xf3, 0x17, 0x2a, 0xee, 0x93, 0x54, 0xe0, 0x09, 0x2a, 0xdd, 0x15, 0x2a, 0x07,
   0xe0, 0xb2, 0xfc, 0x8c, 0x0b, 0xbc, 0x45, 0x51, 0xc0, 0xae, 0x8c, 0x1a, 0x8f, 0x5e, 0x83, 0x87,
   0x9a, 0xc8, 0xfc, 0x72, 0x9e, 0x86, 0x9a, 0xb2, 0x9a, 0x48, 0xad, 0xd6, 0xbf, 0x99, 0xbb, 0x8f,
   0x7c, 0x33, 0x8f, 0xc9, 0xb7, 0x07, 0xdf, 0xba, 0x7f, 0xf0, 0xad, 0x9f, 0x0f, 0xbe, 0xf5, 0x69,
   0xe1, 0x6f, 0xdc, 0x2f, 0xfc, 0x8d, 0xef, 0x0b, 0x7f, 0x63, 0xd2, 0xd6, 0x77, 0xfa, 0xd5, 0xef,
   0x00, 0x00, 0x00, 0xff, 0xff, 0x33, 0x20, 0xa3, 0x6a, 0x32, 0x06, 0x00, 0x00,
   // 694 bytes of a gzipped FileDescriptorProto
   0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x94, 0x41, 0x4e, 0xdb, 0x4e,
   0x14, 0xc6, 0x71, 0x02, 0x49, 0xfc, 0x42, 0x80, 0xff, 0x08, 0xfd, 0x35, 0x42, 0x28, 0x8a, 0xa2,
   0x2e, 0xb2, 0x62, 0x41, 0x7b, 0x80, 0x0a, 0x02, 0x52, 0x24, 0x8a, 0x90, 0xa1, 0x07, 0x98, 0x8c,
   0x5f, 0x60, 0xd4, 0xd8, 0x63, 0x8d, 0x27, 0xb4, 0xb9, 0x45, 0xcf, 0xd1, 0x4d, 0x77, 0x3d, 0x43,
   0x77, 0x65, 0xd9, 0x45, 0x17, 0x15, 0x1c, 0xa1, 0x17, 0xa8, 0x66, 0xc6, 0x8e, 0xed, 0x84, 0xd2,
   0x76, 0xd9, 0x55, 0xf2, 0x7d, 0x9f, 0x3d, 0xf3, 0xe6, 0xfd, 0xde, 0x18, 0x5a, 0x98, 0x1e, 0x24,
   0x4a, 0x6a, 0x49, 0x5a, 0xf6, 0x27, 0x4a, 0xaf, 0xf7, 0x3a, 0x4c, 0x48, 0x8e, 0x2c, 0x76, 0x41,
   0xff, 0x93, 0x07, 0x8d, 0x93, 0x54, 0xc4, 0x13, 0x49, 0xb6, 0xa0, 0x26, 0x42, 0xea, 0xf5, 0xbc,
   0x81, 0x1f, 0xd4, 0x44, 0x48, 0x28, 0x34, 0x35, 0x1b, 0x4f, 0x51, 0x84, 0xb4, 0x66, 0xcd, 0x5c,
   0x92, 0x1e, 0xb4, 0x27, 0x8c, 0xe3, 0x29, 0x32, 0x3d, 0x53, 0x48, 0xeb, 0x36, 0x2d, 0x5b, 0xa4,
   0x0f, 0x9b, 0x5c, 0x46, 0x09, 0x53, 0x78, 0xc9, 0xa5, 0x42, 0xba, 0xde, 0xf3, 0x06, 0xb5, 0xa0,
   0xe2, 0x91, 0xff, 0xa1, 0x81, 0xb1, 0x59, 0x91, 0x6e, 0xf4, 0xbc, 0xc1, 0x46, 0x90, 0x29, 0xf2,
   0x0c, 0x3a, 0x2c, 0x66, 0xd3, 0xf9, 0x25, 0xaa, 0x5b, 0x54, 0xa3, 0x90, 0x36, 0xec, 0xfa, 0x55,
   0xb3, 0xff, 0xc5, 0x03, 0xff, 0x02, 0x55, 0x2a, 0xe3, 0x63, 0xa6, 0xfe, 0xad, 0xda, 0xc9, 0x2e,
   0x6c, 0x70, 0xa6, 0xce, 0x25, 0x6d, 0xda, 0xd4, 0x89, 0xfe, 0x0f, 0x0f, 0x3a, 0xaf, 0x66, 0x53,
   0x2d, 0x4e, 0x91, 0x1d, 0x33, 0x7e, 0x83, 0x64, 0x00, 0x0d, 0x4c, 0x47, 0xf1, 0x44, 0xda, 0x93,
   0xb5, 0x0f, 0x77, 0x0e, 0x72, 0x8c, 0x07, 0x8e, 0x59, 0x90, 0xe5, 0x76, 0x5f, 0xad, 0x19, 0xbf,
   0xc9, 0xcf, 0x55, 0xcb, 0xf6, 0x2d, 0x9b, 0x64, 0x0f, 0x5a, 0x9c, 0x45, 0xa8, 0xd8, 0x28, 0xcc,
   0x0e, 0xbe, 0xd0, 0xe4, 0x05, 0xc0, 0x54, 0xc4, 0x6f, 0x4e, 0xdc, 0x7e, 0xeb, 0xbd, 0xfa, 0xa0,
   0x7d, 0xb8, 0x5b, 0xec, 0x77, 0xb6, 0xc8, 0x82, 0xd2, 0x73, 0xe4, 0x25, 0x6c, 0x69, 0xa6, 0xae,
   0x51, 0x9f, 0x49, 0xce, 0xb4, 0x90, 0xb1, 0xed, 0x47, 0xfb, 0x90, 0x16, 0x6f, 0x5e, 0x55, 0xf2,
   0x60, 0xe9, 0xf9, 0xfe, 0x07, 0x0f, 0xa0, 0x58, 0xbc, 0x52, 0xa2, 0xb7, 0x54, 0x22, 0x85, 0xe6,
   0xa4, 0x72, 0xbc, 0x5c, 0xae, 0x1e, 0xbf, 0xfe, 0xd8, 0xf1, 0x57, 0x8b, 0x5d, 0xff, 0xcb, 0x62,
   0xbf, 0xd5, 0xa1, 0x35, 0x1c, 0x27, 0x76, 0xec, 0x7e, 0x39, 0x73, 0xa3, 0xea, 0xcc, 0x8d, 0xfe,
   0x70, 0xe6, 0xdc, 0xaa, 0x17, 0x82, 0xbf, 0x56, 0x53, 0x5b, 0x98, 0x1f, 0x54, 0x3c, 0xd2, 0x05,
   0x70, 0xfa, 0x9c, 0x45, 0x6e, 0xee, 0xfc, 0xa0, 0xe4, 0x90, 0x1d, 0xa8, 0xb3, 0x6b, 0xcc, 0x26,
   0xce, 0xfc, 0x35, 0x4e, 0x8a, 0xef, 0xb2, 0x29, 0x33, 0x7f, 0xcd, 0xdc, 0x8a, 0xf0, 0x98, 0xa9,
   0x90, 0xb6, 0xac, 0x99, 0x29, 0x53, 0x7b, 0x22, 0xf8, 0x10, 0x53, 0x4e, 0x7d, 0x57, 0x7b, 0x26,
   0x0d, 0x90, 0xe4, 0x46, 0xc6, 0x78, 0x3e, 0x8b, 0x28, 0x38, 0x20, 0xb9, 0x36, 0x15, 0x71, 0x85,
   0x4c, 0xe3, 0x95, 0x88, 0x90, 0xb6, 0x5d, 0x45, 0x85, 0x63, 0xf2, 0x59, 0x12, 0xe6, 0xf9, 0xa6,
   0xcb, 0x0b, 0xc7, 0xc2, 0xb6, 0x4f, 0x1f, 0xcd, 0x69, 0x27, 0x83, 0x9d, 0x69, 0x93, 0x89, 0x74,
   0x88, 0x53, 0xd4, 0x48, 0xb7, 0xec, 0x1d, 0x5b, 0x68, 0xd3, 0xad, 0x48, 0xc6, 0x42, 0x4b, 0x75,
   0x86, 0xb7, 0x38, 0xa5, 0xdb, 0xae, 0x5b, 0x65, 0xaf, 0x74, 0x43, 0x77, 0x2a, 0x37, 0x74, 0x0f,
   0x5a, 0x0a, 0x53, 0x73, 0x13, 0x43, 0xfa, 0x9f, 0xdb, 0x33, 0xd7, 0xfd, 0x8f, 0x75, 0x68, 0x0e,
   0xc7, 0x96, 0xda, 0x0a, 0xdd, 0x7d, 0xf0, 0x6d, 0x60, 0x9b, 0xef, 0xf8, 0x16, 0xc6, 0x22, 0xb5,
   0x1d, 0xac, 0x97, 0x52, 0xdb, 0xc3, 0x3c, 0xbd, 0x9a, 0x27, 0x98, 0xa1, 0x2d, 0x0c, 0x53, 0xe9,
   0xf8, 0xad, 0x8d, 0x1c, 0xd3, 0x4c, 0x99, 0xb7, 0x52, 0xcd, 0x94, 0xb6, 0xcd, 0x73, 0x54, 0x0b,
   0xc3, 0x10, 0xc3, 0x38, 0xb4, 0x99, 0xe3, 0x9b, 0xcb, 0x25, 0x2a, 0xad, 0xdf, 0x50, 0xf1, 0x9f,
   0xa4, 0x02, 0x4f, 0x50, 0x69, 0x2f, 0x51, 0xd9, 0x07, 0x5f, 0xa4, 0xa7, 0x52, 0xe1, 0x2d, 0xaa,
   0x0c, 0x76, 0x61, 0x94, 0x78, 0x74, 0x2a, 0x3c, 0xcc, 0x44, 0xa6, 0x97, 0xf3, 0x98, 0x5b, 0xca,
   0x66, 0x22, 0xad, 0x5a, 0xfd, 0x92, 0x6e, 0x3f, 0xf2, 0x25, 0x3d, 0xa2, 0x9f, 0xef, 0xbb, 0xde,
   0xdd, 0x7d, 0xd7, 0xfb, 0x7e, 0xdf, 0xf5, 0xde, 0x3f, 0x74, 0xd7, 0xee, 0x1e, 0xba, 0x6b, 0x5f,
   0x1f, 0xba, 0x6b, 0xe3, 0x86, 0xbd, 0xd3, 0xcf, 0x7f, 0x06, 0x00, 0x00, 0xff, 0xff, 0x10, 0xd0,
   0xf5, 0x4a, 0x04, 0x07, 0x00, 0x00,
}
func (m *Esinfo) Marshal() (dAtA []byte, err error) {
@@ -684,6 +779,65 @@
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.AnalyServerId)))
      i += copy(dAtA[i:], m.AnalyServerId)
   }
   return i, nil
}
func (m *PersonCar) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalTo(dAtA)
   if err != nil {
      return nil, err
   }
   return dAtA[:n], nil
}
func (m *PersonCar) MarshalTo(dAtA []byte) (int, error) {
   var i int
   _ = i
   var l int
   _ = l
   if len(m.Id) > 0 {
      dAtA[i] = 0xa
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.Id)))
      i += copy(dAtA[i:], m.Id)
   }
   if len(m.Tableid) > 0 {
      dAtA[i] = 0x12
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.Tableid)))
      i += copy(dAtA[i:], m.Tableid)
   }
   if len(m.FaceFeature) > 0 {
      dAtA[i] = 0x1a
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.FaceFeature)))
      i += copy(dAtA[i:], m.FaceFeature)
   }
   if m.CompareScore != 0 {
      dAtA[i] = 0x25
      i++
      encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.CompareScore))))
      i += 4
   }
   if m.Enable != 0 {
      dAtA[i] = 0x28
      i++
      i = encodeVarintEs(dAtA, i, uint64(m.Enable))
   }
   if len(m.AnalyServerId) > 0 {
      dAtA[i] = 0x32
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.AnalyServerId)))
      i += copy(dAtA[i:], m.AnalyServerId)
   }
   if len(m.CarNo) > 0 {
      dAtA[i] = 0x3a
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.CarNo)))
      i += copy(dAtA[i:], m.CarNo)
   }
   return i, nil
}
@@ -1058,6 +1212,41 @@
      n += 1 + sovEs(uint64(m.Enable))
   }
   l = len(m.AnalyServerId)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   return n
}
func (m *PersonCar) Size() (n int) {
   if m == nil {
      return 0
   }
   var l int
   _ = l
   l = len(m.Id)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.Tableid)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.FaceFeature)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   if m.CompareScore != 0 {
      n += 5
   }
   if m.Enable != 0 {
      n += 1 + sovEs(uint64(m.Enable))
   }
   l = len(m.AnalyServerId)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.CarNo)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
@@ -1479,6 +1668,249 @@
   }
   return nil
}
func (m *PersonCar) Unmarshal(dAtA []byte) error {
   l := len(dAtA)
   iNdEx := 0
   for iNdEx < l {
      preIndex := iNdEx
      var wire uint64
      for shift := uint(0); ; shift += 7 {
         if shift >= 64 {
            return ErrIntOverflowEs
         }
         if iNdEx >= l {
            return io.ErrUnexpectedEOF
         }
         b := dAtA[iNdEx]
         iNdEx++
         wire |= uint64(b&0x7F) << shift
         if b < 0x80 {
            break
         }
      }
      fieldNum := int32(wire >> 3)
      wireType := int(wire & 0x7)
      if wireType == 4 {
         return fmt.Errorf("proto: PersonCar: wiretype end group for non-group")
      }
      if fieldNum <= 0 {
         return fmt.Errorf("proto: PersonCar: illegal tag %d (wire type %d)", fieldNum, wire)
      }
      switch fieldNum {
      case 1:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            stringLen |= uint64(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         intStringLen := int(stringLen)
         if intStringLen < 0 {
            return ErrInvalidLengthEs
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthEs
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.Id = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 2:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Tableid", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            stringLen |= uint64(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         intStringLen := int(stringLen)
         if intStringLen < 0 {
            return ErrInvalidLengthEs
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthEs
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.Tableid = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 3:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field FaceFeature", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            stringLen |= uint64(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         intStringLen := int(stringLen)
         if intStringLen < 0 {
            return ErrInvalidLengthEs
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthEs
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.FaceFeature = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 4:
         if wireType != 5 {
            return fmt.Errorf("proto: wrong wireType = %d for field CompareScore", wireType)
         }
         var v uint32
         if (iNdEx + 4) > l {
            return io.ErrUnexpectedEOF
         }
         v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:]))
         iNdEx += 4
         m.CompareScore = float32(math.Float32frombits(v))
      case 5:
         if wireType != 0 {
            return fmt.Errorf("proto: wrong wireType = %d for field Enable", wireType)
         }
         m.Enable = 0
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            m.Enable |= int32(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
      case 6:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field AnalyServerId", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            stringLen |= uint64(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         intStringLen := int(stringLen)
         if intStringLen < 0 {
            return ErrInvalidLengthEs
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthEs
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.AnalyServerId = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 7:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field CarNo", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            stringLen |= uint64(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         intStringLen := int(stringLen)
         if intStringLen < 0 {
            return ErrInvalidLengthEs
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthEs
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.CarNo = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      default:
         iNdEx = preIndex
         skippy, err := skipEs(dAtA[iNdEx:])
         if err != nil {
            return err
         }
         if skippy < 0 {
            return ErrInvalidLengthEs
         }
         if (iNdEx + skippy) < 0 {
            return ErrInvalidLengthEs
         }
         if (iNdEx + skippy) > l {
            return io.ErrUnexpectedEOF
         }
         iNdEx += skippy
      }
   }
   if iNdEx > l {
      return io.ErrUnexpectedEOF
   }
   return nil
}
func (m *MultiFeaCache) Unmarshal(dAtA []byte) error {
   l := len(dAtA)
   iNdEx := 0