liuxiaolong
2019-11-19 3e7fd5950d794150c2045b6fc2d764f72602c94e
protomsg.pb.go
@@ -9,7 +9,6 @@
   proto "github.com/gogo/protobuf/proto"
   io "io"
   math "math"
   math_bits "math/bits"
)
// Reference imports to suppress errors if they are not otherwise used.
@@ -104,6 +103,59 @@
   return fileDescriptor_32de24555f916688, []int{1}
}
type CompareEventType int32
const (
   CompareEventType_ReInitCache CompareEventType = 0
   CompareEventType_UpdateCache CompareEventType = 1
   CompareEventType_Compare     CompareEventType = 2
)
var CompareEventType_name = map[int32]string{
   0: "ReInitCache",
   1: "UpdateCache",
   2: "Compare",
}
var CompareEventType_value = map[string]int32{
   "ReInitCache": 0,
   "UpdateCache": 1,
   "Compare":     2,
}
func (x CompareEventType) String() string {
   return proto.EnumName(CompareEventType_name, int32(x))
}
func (CompareEventType) EnumDescriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{2}
}
type EsCacheChanged int32
const (
   EsCacheChanged_T_DbTable       EsCacheChanged = 0
   EsCacheChanged_T_DbTablePerson EsCacheChanged = 1
)
var EsCacheChanged_name = map[int32]string{
   0: "T_DbTable",
   1: "T_DbTablePerson",
}
var EsCacheChanged_value = map[string]int32{
   "T_DbTable":       0,
   "T_DbTablePerson": 1,
}
func (x EsCacheChanged) String() string {
   return proto.EnumName(EsCacheChanged_name, int32(x))
}
func (EsCacheChanged) EnumDescriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{3}
}
//Area结构体
type Area struct {
   Id       int32  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
@@ -173,9 +225,9 @@
   SnapshotUrl string  `protobuf:"bytes,4,opt,name=snapshot_url,json=snapshotUrl,proto3" json:"snapshot_url,omitempty"`
   Type        int32   `protobuf:"varint,5,opt,name=type,proto3" json:"type,omitempty"`
   Addr        string  `protobuf:"bytes,6,opt,name=addr,proto3" json:"addr,omitempty"`
   Areaid      int32   `protobuf:"varint,7,opt,name=areaid,proto3" json:"areaid,omitempty"`
   Longitude   float32 `protobuf:"fixed32,8,opt,name=longitude,proto3" json:"longitude,omitempty"`
   Latitude    float32 `protobuf:"fixed32,9,opt,name=latitude,proto3" json:"latitude,omitempty"`
   Longitude   float32 `protobuf:"fixed32,7,opt,name=longitude,proto3" json:"longitude,omitempty"`
   Latitude    float32 `protobuf:"fixed32,8,opt,name=latitude,proto3" json:"latitude,omitempty"`
   Floor       int32   `protobuf:"varint,9,opt,name=floor,proto3" json:"floor,omitempty"`
   Rtsp        string  `protobuf:"bytes,10,opt,name=rtsp,proto3" json:"rtsp,omitempty"`
   Ip          string  `protobuf:"bytes,11,opt,name=ip,proto3" json:"ip,omitempty"`
   Port        int32   `protobuf:"varint,12,opt,name=port,proto3" json:"port,omitempty"`
@@ -264,13 +316,6 @@
   return ""
}
func (m *Camera) GetAreaid() int32 {
   if m != nil {
      return m.Areaid
   }
   return 0
}
func (m *Camera) GetLongitude() float32 {
   if m != nil {
      return m.Longitude
@@ -281,6 +326,13 @@
func (m *Camera) GetLatitude() float32 {
   if m != nil {
      return m.Latitude
   }
   return 0
}
func (m *Camera) GetFloor() int32 {
   if m != nil {
      return m.Floor
   }
   return 0
}
@@ -1692,13 +1744,15 @@
//SdkArg struct
type SdkArg struct {
   Alias string `protobuf:"bytes,1,opt,name=alias,proto3" json:"alias,omitempty"`
   Name  string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   Type  string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
   Must  bool   `protobuf:"varint,4,opt,name=must,proto3" json:"must,omitempty"`
   Unit  string `protobuf:"bytes,5,opt,name=unit,proto3" json:"unit,omitempty"`
   Range string `protobuf:"bytes,6,opt,name=range,proto3" json:"range,omitempty"`
   Sort  int32  `protobuf:"varint,7,opt,name=sort,proto3" json:"sort,omitempty"`
   Alias           string `protobuf:"bytes,1,opt,name=alias,proto3" json:"alias,omitempty"`
   Name            string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   Type            string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
   Must            bool   `protobuf:"varint,4,opt,name=must,proto3" json:"must,omitempty"`
   Unit            string `protobuf:"bytes,5,opt,name=unit,proto3" json:"unit,omitempty"`
   Range           string `protobuf:"bytes,6,opt,name=range,proto3" json:"range,omitempty"`
   DefaultValue    string `protobuf:"bytes,7,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"`
   DefaultOperator string `protobuf:"bytes,8,opt,name=default_operator,json=defaultOperator,proto3" json:"default_operator,omitempty"`
   Sort            int32  `protobuf:"varint,9,opt,name=sort,proto3" json:"sort,omitempty"`
}
func (m *SdkArg) Reset()         { *m = SdkArg{} }
@@ -1772,6 +1826,20 @@
func (m *SdkArg) GetRange() string {
   if m != nil {
      return m.Range
   }
   return ""
}
func (m *SdkArg) GetDefaultValue() string {
   if m != nil {
      return m.DefaultValue
   }
   return ""
}
func (m *SdkArg) GetDefaultOperator() string {
   if m != nil {
      return m.DefaultOperator
   }
   return ""
}
@@ -1957,8 +2025,9 @@
   CameraId string   `protobuf:"bytes,2,opt,name=cameraId,proto3" json:"cameraId,omitempty"`
   TaskId   string   `protobuf:"bytes,3,opt,name=taskId,proto3" json:"taskId,omitempty"`
   ImgId    int64    `protobuf:"varint,4,opt,name=imgId,proto3" json:"imgId,omitempty"`
   SdkIds   []string `protobuf:"bytes,5,rep,name=sdkIds,proto3" json:"sdkIds,omitempty"`
   Type     int32    `protobuf:"varint,6,opt,name=type,proto3" json:"type,omitempty"`
   VideoUrl string   `protobuf:"bytes,5,opt,name=videoUrl,proto3" json:"videoUrl,omitempty"`
   SdkIds   []string `protobuf:"bytes,6,rep,name=sdkIds,proto3" json:"sdkIds,omitempty"`
   Type     int32    `protobuf:"varint,7,opt,name=type,proto3" json:"type,omitempty"`
}
func (m *VideotapeInfo) Reset()         { *m = VideotapeInfo{} }
@@ -2022,6 +2091,13 @@
   return 0
}
func (m *VideotapeInfo) GetVideoUrl() string {
   if m != nil {
      return m.VideoUrl
   }
   return ""
}
func (m *VideotapeInfo) GetSdkIds() []string {
   if m != nil {
      return m.SdkIds
@@ -2043,7 +2119,7 @@
   Tasks            []string `protobuf:"bytes,4,rep,name=tasks,proto3" json:"tasks,omitempty"`
   TreeNodes        []string `protobuf:"bytes,5,rep,name=treeNodes,proto3" json:"treeNodes,omitempty"`
   Tabs             []string `protobuf:"bytes,6,rep,name=tabs,proto3" json:"tabs,omitempty"`
   AlarmLevel       []string `protobuf:"bytes,7,rep,name=alarmLevel,proto3" json:"alarmLevel,omitempty"`
   AlarmLevel       []int32  `protobuf:"varint,7,rep,packed,name=alarmLevel,proto3" json:"alarmLevel,omitempty"`
   SearchTime       []string `protobuf:"bytes,8,rep,name=searchTime,proto3" json:"searchTime,omitempty"`
   InputValue       string   `protobuf:"bytes,9,opt,name=inputValue,proto3" json:"inputValue,omitempty"`
   Collection       string   `protobuf:"bytes,10,opt,name=collection,proto3" json:"collection,omitempty"`
@@ -2126,7 +2202,7 @@
   return nil
}
func (m *CompareArgs) GetAlarmLevel() []string {
func (m *CompareArgs) GetAlarmLevel() []int32 {
   if m != nil {
      return m.AlarmLevel
   }
@@ -2168,6 +2244,58 @@
   return ""
}
type CompareEvent struct {
   EventType CompareEventType `protobuf:"varint,1,opt,name=eventType,proto3,enum=protomsg.CompareEventType" json:"eventType,omitempty"`
   Payload   []byte           `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
}
func (m *CompareEvent) Reset()         { *m = CompareEvent{} }
func (m *CompareEvent) String() string { return proto.CompactTextString(m) }
func (*CompareEvent) ProtoMessage()    {}
func (*CompareEvent) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{25}
}
func (m *CompareEvent) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
}
func (m *CompareEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   if deterministic {
      return xxx_messageInfo_CompareEvent.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 *CompareEvent) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CompareEvent.Merge(m, src)
}
func (m *CompareEvent) XXX_Size() int {
   return m.Size()
}
func (m *CompareEvent) XXX_DiscardUnknown() {
   xxx_messageInfo_CompareEvent.DiscardUnknown(m)
}
var xxx_messageInfo_CompareEvent proto.InternalMessageInfo
func (m *CompareEvent) GetEventType() CompareEventType {
   if m != nil {
      return m.EventType
   }
   return CompareEventType_ReInitCache
}
func (m *CompareEvent) GetPayload() []byte {
   if m != nil {
      return m.Payload
   }
   return nil
}
type SdkCompareEach 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"`
@@ -2178,7 +2306,7 @@
func (m *SdkCompareEach) String() string { return proto.CompactTextString(m) }
func (*SdkCompareEach) ProtoMessage()    {}
func (*SdkCompareEach) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{25}
   return fileDescriptor_32de24555f916688, []int{26}
}
func (m *SdkCompareEach) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -2236,7 +2364,7 @@
func (m *SdkCompareResult) String() string { return proto.CompactTextString(m) }
func (*SdkCompareResult) ProtoMessage()    {}
func (*SdkCompareResult) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{26}
   return fileDescriptor_32de24555f916688, []int{27}
}
func (m *SdkCompareResult) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -2291,7 +2419,7 @@
func (m *EventPush) String() string { return proto.CompactTextString(m) }
func (*EventPush) ProtoMessage()    {}
func (*EventPush) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{27}
   return fileDescriptor_32de24555f916688, []int{28}
}
func (m *EventPush) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -2418,7 +2546,7 @@
func (m *EventPushRule) String() string { return proto.CompactTextString(m) }
func (*EventPushRule) ProtoMessage()    {}
func (*EventPushRule) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{28}
   return fileDescriptor_32de24555f916688, []int{29}
}
func (m *EventPushRule) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -2506,7 +2634,7 @@
func (m *PushIpPort) String() string { return proto.CompactTextString(m) }
func (*PushIpPort) ProtoMessage()    {}
func (*PushIpPort) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{29}
   return fileDescriptor_32de24555f916688, []int{30}
}
func (m *PushIpPort) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -2565,7 +2693,7 @@
func (m *PushUrl) String() string { return proto.CompactTextString(m) }
func (*PushUrl) ProtoMessage()    {}
func (*PushUrl) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{30}
   return fileDescriptor_32de24555f916688, []int{31}
}
func (m *PushUrl) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -2608,18 +2736,104 @@
   return false
}
type PushAttach struct {
   PushId     string  `protobuf:"bytes,1,opt,name=push_id,json=pushId,proto3" json:"push_id,omitempty"`
   Cam        *Camera `protobuf:"bytes,2,opt,name=cam,proto3" json:"cam,omitempty"`
   ServerId   string  `protobuf:"bytes,3,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"`
   ServerName string  `protobuf:"bytes,4,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"`
   LocalIp    string  `protobuf:"bytes,5,opt,name=local_ip,json=localIp,proto3" json:"local_ip,omitempty"`
   VideoUrl   string  `protobuf:"bytes,6,opt,name=video_url,json=videoUrl,proto3" json:"video_url,omitempty"`
}
func (m *PushAttach) Reset()         { *m = PushAttach{} }
func (m *PushAttach) String() string { return proto.CompactTextString(m) }
func (*PushAttach) ProtoMessage()    {}
func (*PushAttach) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{32}
}
func (m *PushAttach) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
}
func (m *PushAttach) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   if deterministic {
      return xxx_messageInfo_PushAttach.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 *PushAttach) XXX_Merge(src proto.Message) {
   xxx_messageInfo_PushAttach.Merge(m, src)
}
func (m *PushAttach) XXX_Size() int {
   return m.Size()
}
func (m *PushAttach) XXX_DiscardUnknown() {
   xxx_messageInfo_PushAttach.DiscardUnknown(m)
}
var xxx_messageInfo_PushAttach proto.InternalMessageInfo
func (m *PushAttach) GetPushId() string {
   if m != nil {
      return m.PushId
   }
   return ""
}
func (m *PushAttach) GetCam() *Camera {
   if m != nil {
      return m.Cam
   }
   return nil
}
func (m *PushAttach) GetServerId() string {
   if m != nil {
      return m.ServerId
   }
   return ""
}
func (m *PushAttach) GetServerName() string {
   if m != nil {
      return m.ServerName
   }
   return ""
}
func (m *PushAttach) GetLocalIp() string {
   if m != nil {
      return m.LocalIp
   }
   return ""
}
func (m *PushAttach) GetVideoUrl() string {
   if m != nil {
      return m.VideoUrl
   }
   return ""
}
type EsPersonCacheChange struct {
   TableId  string   `protobuf:"bytes,1,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
   PersonId string   `protobuf:"bytes,2,opt,name=person_id,json=personId,proto3" json:"person_id,omitempty"`
   Feature  []byte   `protobuf:"bytes,3,opt,name=feature,proto3" json:"feature,omitempty"`
   Action   DbAction `protobuf:"varint,4,opt,name=action,proto3,enum=protomsg.DbAction" json:"action,omitempty"`
   Type     EsCacheChanged `protobuf:"varint,1,opt,name=type,proto3,enum=protomsg.EsCacheChanged" json:"type,omitempty"`
   TableId  []string       `protobuf:"bytes,2,rep,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
   PersonId string         `protobuf:"bytes,3,opt,name=person_id,json=personId,proto3" json:"person_id,omitempty"`
   Feature  string         `protobuf:"bytes,4,opt,name=feature,proto3" json:"feature,omitempty"`
   Action   DbAction       `protobuf:"varint,5,opt,name=action,proto3,enum=protomsg.DbAction" json:"action,omitempty"`
   Enable   int32          `protobuf:"varint,6,opt,name=enable,proto3" json:"enable,omitempty"`
}
func (m *EsPersonCacheChange) Reset()         { *m = EsPersonCacheChange{} }
func (m *EsPersonCacheChange) String() string { return proto.CompactTextString(m) }
func (*EsPersonCacheChange) ProtoMessage()    {}
func (*EsPersonCacheChange) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{31}
   return fileDescriptor_32de24555f916688, []int{33}
}
func (m *EsPersonCacheChange) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -2648,11 +2862,18 @@
var xxx_messageInfo_EsPersonCacheChange proto.InternalMessageInfo
func (m *EsPersonCacheChange) GetTableId() string {
func (m *EsPersonCacheChange) GetType() EsCacheChanged {
   if m != nil {
      return m.Type
   }
   return EsCacheChanged_T_DbTable
}
func (m *EsPersonCacheChange) GetTableId() []string {
   if m != nil {
      return m.TableId
   }
   return ""
   return nil
}
func (m *EsPersonCacheChange) GetPersonId() string {
@@ -2662,11 +2883,11 @@
   return ""
}
func (m *EsPersonCacheChange) GetFeature() []byte {
func (m *EsPersonCacheChange) GetFeature() string {
   if m != nil {
      return m.Feature
   }
   return nil
   return ""
}
func (m *EsPersonCacheChange) GetAction() DbAction {
@@ -2676,9 +2897,18 @@
   return DbAction_Insert
}
func (m *EsPersonCacheChange) GetEnable() int32 {
   if m != nil {
      return m.Enable
   }
   return 0
}
func init() {
   proto.RegisterEnum("protomsg.TableChanged", TableChanged_name, TableChanged_value)
   proto.RegisterEnum("protomsg.DbAction", DbAction_name, DbAction_value)
   proto.RegisterEnum("protomsg.CompareEventType", CompareEventType_name, CompareEventType_value)
   proto.RegisterEnum("protomsg.EsCacheChanged", EsCacheChanged_name, EsCacheChanged_value)
   proto.RegisterType((*Area)(nil), "protomsg.Area")
   proto.RegisterType((*Camera)(nil), "protomsg.Camera")
   proto.RegisterType((*CameraAndTaskInfo)(nil), "protomsg.CameraAndTaskInfo")
@@ -2704,165 +2934,181 @@
   proto.RegisterType((*CameraPolygon)(nil), "protomsg.CameraPolygon")
   proto.RegisterType((*VideotapeInfo)(nil), "protomsg.VideotapeInfo")
   proto.RegisterType((*CompareArgs)(nil), "protomsg.CompareArgs")
   proto.RegisterType((*CompareEvent)(nil), "protomsg.CompareEvent")
   proto.RegisterType((*SdkCompareEach)(nil), "protomsg.SdkCompareEach")
   proto.RegisterType((*SdkCompareResult)(nil), "protomsg.SdkCompareResult")
   proto.RegisterType((*EventPush)(nil), "protomsg.EventPush")
   proto.RegisterType((*EventPushRule)(nil), "protomsg.EventPushRule")
   proto.RegisterType((*PushIpPort)(nil), "protomsg.PushIpPort")
   proto.RegisterType((*PushUrl)(nil), "protomsg.PushUrl")
   proto.RegisterType((*PushAttach)(nil), "protomsg.PushAttach")
   proto.RegisterType((*EsPersonCacheChange)(nil), "protomsg.EsPersonCacheChange")
}
func init() { proto.RegisterFile("protomsg.proto", fileDescriptor_32de24555f916688) }
var fileDescriptor_32de24555f916688 = []byte{
   // 2330 bytes of a gzipped FileDescriptorProto
   0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x58, 0x4f, 0x6f, 0xdc, 0xc6,
   0x15, 0x37, 0xf7, 0x3f, 0xdf, 0xee, 0xca, 0xeb, 0xb1, 0x9b, 0x30, 0x4e, 0xa3, 0xc8, 0xac, 0x83,
   0x08, 0x46, 0xe3, 0x16, 0x72, 0x4e, 0x3d, 0x14, 0x50, 0x64, 0xbb, 0x58, 0x20, 0x35, 0x54, 0x4a,
   0x76, 0x6f, 0x25, 0x66, 0xc9, 0xd1, 0x8a, 0xd0, 0x88, 0x24, 0x66, 0x48, 0x25, 0x3a, 0xf4, 0x03,
   0xf4, 0xd4, 0x02, 0xbd, 0xf4, 0xda, 0x6f, 0x52, 0xf4, 0xd4, 0x43, 0x0f, 0x39, 0xf6, 0x96, 0xc2,
   0x06, 0x7a, 0x29, 0xfa, 0x11, 0x5a, 0x14, 0xef, 0xcd, 0xf0, 0xdf, 0xae, 0x9c, 0xf8, 0xb4, 0xf3,
   0x7e, 0xef, 0x71, 0xe6, 0xcd, 0xfb, 0x3f, 0x0b, 0x3b, 0xb9, 0xca, 0x8a, 0xec, 0x52, 0xaf, 0x1f,
   0xd3, 0x82, 0x4d, 0x2a, 0xfa, 0x3e, 0xac, 0xb8, 0x16, 0x06, 0xf5, 0x9f, 0xc3, 0xe0, 0x50, 0x09,
   0xce, 0x76, 0xa0, 0x97, 0xc4, 0x9e, 0xb3, 0xe7, 0xec, 0x0f, 0x83, 0x5e, 0x12, 0xb3, 0xfb, 0x30,
   0xc9, 0xb9, 0x12, 0x69, 0x91, 0xc4, 0x5e, 0x8f, 0xd0, 0x9a, 0x66, 0x0c, 0x06, 0x29, 0xbf, 0x14,
   0x5e, 0x7f, 0xcf, 0xd9, 0x77, 0x03, 0x5a, 0xfb, 0xff, 0xeb, 0xc3, 0xe8, 0x88, 0x5f, 0x0a, 0xd5,
   0xde, 0xca, 0xa5, 0xad, 0x2a, 0xf1, 0x5e, 0x23, 0xce, 0xee, 0xc1, 0x90, 0xcb, 0x84, 0x6b, 0xbb,
   0x87, 0x21, 0xd8, 0x03, 0x98, 0xe9, 0x94, 0xe7, 0xfa, 0x3c, 0x2b, 0xc2, 0x52, 0x49, 0x6f, 0x40,
   0xcc, 0x69, 0x85, 0xbd, 0x54, 0x12, 0x37, 0x2b, 0xae, 0x73, 0xe1, 0x0d, 0x49, 0x27, 0x5a, 0x23,
   0xc6, 0xe3, 0x58, 0x79, 0x23, 0x73, 0x00, 0xae, 0xd9, 0x7b, 0x30, 0xe2, 0x4a, 0xf0, 0x24, 0xf6,
   0xc6, 0x24, 0x69, 0x29, 0xf6, 0x43, 0x70, 0x65, 0x96, 0xae, 0x93, 0xa2, 0x8c, 0x85, 0x37, 0xd9,
   0x73, 0xf6, 0x7b, 0x41, 0x03, 0xe0, 0xad, 0x25, 0x2f, 0x0c, 0xd3, 0x25, 0x66, 0x4d, 0xe3, 0x29,
   0xaa, 0xd0, 0xb9, 0x07, 0xe6, 0x14, 0x5c, 0xd3, 0x55, 0x73, 0x6f, 0x6a, 0xaf, 0x9a, 0xa3, 0x4c,
   0x9e, 0xa9, 0xc2, 0x9b, 0x19, 0xed, 0x70, 0x8d, 0x7b, 0x96, 0x5a, 0x28, 0x32, 0xc1, 0x9c, 0x24,
   0x6b, 0xda, 0x58, 0x59, 0xeb, 0xaf, 0x32, 0x15, 0x7b, 0x3b, 0x86, 0x57, 0xd1, 0x68, 0xa2, 0x95,
   0xe2, 0x69, 0xec, 0xdd, 0x36, 0x26, 0x22, 0x02, 0xbf, 0x50, 0x42, 0x0b, 0x75, 0x25, 0x62, 0x6f,
   0x61, 0xbe, 0xa8, 0x68, 0xf6, 0x11, 0x40, 0xa2, 0x43, 0x55, 0xa6, 0x69, 0x92, 0xae, 0xbd, 0x3b,
   0x7b, 0xce, 0xfe, 0x24, 0x70, 0x13, 0x1d, 0x18, 0x00, 0xd9, 0xaa, 0x4c, 0x43, 0x91, 0xf2, 0x95,
   0x14, 0x1e, 0x33, 0x6c, 0x55, 0xa6, 0xcf, 0x08, 0x60, 0x1f, 0xc0, 0x04, 0xd9, 0x64, 0xdd, 0xbb,
   0xa4, 0xff, 0x58, 0x95, 0xe9, 0x29, 0x1a, 0xd8, 0x87, 0x39, 0xb2, 0xe8, 0x18, 0x15, 0x26, 0xb1,
   0x77, 0xcf, 0x38, 0x46, 0x95, 0xe9, 0x09, 0x61, 0xcb, 0xd8, 0x8f, 0xe0, 0x8e, 0xf1, 0xff, 0x61,
   0x1a, 0x9f, 0x72, 0x7d, 0xb1, 0x4c, 0xcf, 0x32, 0xb6, 0x0f, 0xa3, 0x88, 0x40, 0x0a, 0x87, 0xe9,
   0xc1, 0xe2, 0x71, 0x1d, 0x94, 0x46, 0x38, 0xb0, 0x7c, 0xf6, 0x10, 0x86, 0x05, 0xd7, 0x17, 0xda,
   0xeb, 0xed, 0xf5, 0xf7, 0xa7, 0x07, 0x3b, 0x8d, 0x20, 0x6e, 0x16, 0x18, 0xa6, 0xff, 0xad, 0x03,
   0x03, 0xa4, 0xd1, 0xbd, 0x88, 0xd4, 0x71, 0x66, 0x29, 0x34, 0x0f, 0xae, 0x5a, 0xf1, 0x56, 0xd3,
   0xec, 0x43, 0x70, 0x23, 0x25, 0x78, 0x21, 0x42, 0x5e, 0xd8, 0xb8, 0x9b, 0x18, 0xe0, 0xb0, 0x68,
   0x31, 0x57, 0xd7, 0x36, 0xee, 0x2c, 0xf3, 0x8b, 0x6b, 0x64, 0x96, 0x79, 0x6c, 0xbf, 0x1c, 0x5a,
   0x1f, 0x12, 0x70, 0x58, 0xa0, 0x2a, 0xd6, 0xa4, 0x23, 0x32, 0xa9, 0xa5, 0xd0, 0x9e, 0x89, 0x0e,
   0xb9, 0xe4, 0xea, 0x92, 0x62, 0x70, 0x12, 0x8c, 0x13, 0x7d, 0x88, 0x24, 0xb2, 0x62, 0x21, 0xc3,
   0x33, 0xc9, 0xd7, 0x14, 0x83, 0x93, 0x60, 0x1c, 0x0b, 0xf9, 0x5c, 0xf2, 0xb5, 0x7f, 0x0a, 0x53,
   0xbc, 0xe0, 0x49, 0x6c, 0x0c, 0xe8, 0xc3, 0x00, 0xf5, 0xb7, 0xe6, 0xdb, 0xb4, 0x0a, 0xf1, 0xd8,
   0x03, 0x18, 0xe8, 0xb8, 0xb6, 0xdc, 0xbc, 0x91, 0x39, 0x89, 0x2f, 0x02, 0x62, 0xf9, 0x3f, 0x83,
   0x11, 0x12, 0x65, 0xca, 0x7e, 0x00, 0xa3, 0x24, 0x8f, 0xc2, 0xda, 0x70, 0xc3, 0x24, 0x8f, 0x96,
   0x31, 0x6a, 0xa4, 0xe3, 0x0b, 0xe3, 0x7c, 0x63, 0xb7, 0xb1, 0x8e, 0x2f, 0xd0, 0xf9, 0xfe, 0x2b,
   0x00, 0xab, 0x11, 0x7e, 0xff, 0x2e, 0x0a, 0x3d, 0xec, 0x28, 0xb4, 0xe8, 0x2a, 0x54, 0xa6, 0x56,
   0xa7, 0x7f, 0xf5, 0x00, 0x4c, 0x10, 0x90, 0x47, 0x37, 0xab, 0x06, 0x3a, 0x84, 0xb8, 0xa1, 0xad,
   0x40, 0xe8, 0x10, 0x02, 0x96, 0x31, 0x7b, 0x1f, 0xc6, 0x78, 0x12, 0xb2, 0xfa, 0x8d, 0xff, 0x97,
   0x31, 0xfb, 0x0c, 0xdc, 0x22, 0xb9, 0x14, 0xa1, 0x2a, 0xa5, 0xf0, 0x06, 0x9b, 0xe7, 0x3f, 0xe5,
   0xd7, 0x47, 0x85, 0x0c, 0x26, 0x28, 0x12, 0x94, 0x52, 0x50, 0x4a, 0x08, 0x1e, 0x15, 0x46, 0xde,
   0x78, 0xd6, 0x25, 0x84, 0xd8, 0x0f, 0x60, 0x66, 0xd8, 0xb1, 0xb8, 0x4a, 0x22, 0x61, 0x0b, 0xcc,
   0x94, 0xb0, 0xa7, 0x04, 0x75, 0x5c, 0x39, 0xee, 0xb8, 0x92, 0x7d, 0x0c, 0x53, 0x1b, 0x35, 0x2d,
   0x47, 0x83, 0x81, 0x48, 0xa0, 0x89, 0x1c, 0xb7, 0x13, 0x39, 0x0c, 0x06, 0x1a, 0xab, 0x08, 0x98,
   0x2a, 0x82, 0x6b, 0xbc, 0x71, 0xa2, 0xc3, 0xb3, 0x52, 0x4a, 0x2a, 0x37, 0x93, 0x60, 0x94, 0xe8,
   0xe7, 0xa5, 0x94, 0x6c, 0x0f, 0x66, 0x32, 0x49, 0x2f, 0xc2, 0xca, 0x1e, 0x33, 0xd2, 0x11, 0x10,
   0xa3, 0x34, 0x8c, 0xfd, 0x5f, 0xc1, 0x8e, 0xb5, 0x73, 0x72, 0x29, 0xf0, 0xa2, 0xef, 0x54, 0xa1,
   0x3f, 0x6c, 0x5b, 0xd2, 0x66, 0x4b, 0x65, 0x37, 0xff, 0x05, 0x8c, 0x8c, 0x2d, 0xd9, 0x02, 0xfa,
   0x31, 0xbf, 0xb6, 0x8d, 0x03, 0x97, 0xec, 0x00, 0xc0, 0x7c, 0xc8, 0xd3, 0xb5, 0xb0, 0x31, 0x70,
   0xb7, 0x15, 0x27, 0xb8, 0x07, 0xb2, 0x02, 0xda, 0x9f, 0x96, 0xfe, 0x13, 0x70, 0x6b, 0x1c, 0x0b,
   0x9f, 0x2e, 0xb8, 0x2a, 0xaa, 0x08, 0x25, 0x02, 0x0f, 0x12, 0x69, 0x15, 0x09, 0xb8, 0xf4, 0x5f,
   0xc1, 0xf8, 0x38, 0x93, 0xd7, 0xeb, 0x2c, 0x7d, 0xa7, 0x0b, 0x7d, 0x0a, 0xa3, 0x3c, 0x4b, 0xd2,
   0x02, 0x7b, 0x0e, 0xea, 0x74, 0xbb, 0xd1, 0xe9, 0x18, 0xf1, 0xc0, 0xb2, 0xfd, 0xa8, 0xb6, 0x17,
   0xd7, 0x17, 0x87, 0x6a, 0xad, 0xbb, 0xb1, 0xe8, 0x6c, 0xc4, 0xe2, 0xe7, 0xe0, 0x92, 0xed, 0xb9,
   0x5a, 0x57, 0x21, 0xff, 0x7e, 0x37, 0x2d, 0x7e, 0xa1, 0xb2, 0x32, 0xc7, 0x8d, 0x4c, 0x31, 0xc2,
   0x95, 0x7f, 0x05, 0xf3, 0x0e, 0xab, 0x1d, 0xd2, 0x4e, 0x27, 0xa4, 0x3f, 0x87, 0xe9, 0x1a, 0xa5,
   0xc8, 0x13, 0x7a, 0xdb, 0xa0, 0xb4, 0x05, 0x7a, 0x25, 0x80, 0x75, 0xb5, 0xd4, 0xad, 0xd8, 0xea,
   0xb7, 0x63, 0xcb, 0xff, 0xbb, 0x03, 0x6e, 0xfd, 0x05, 0x46, 0xaf, 0xd9, 0xbb, 0x3e, 0x75, 0x4c,
   0xf4, 0x92, 0x9a, 0x89, 0x61, 0x15, 0xe2, 0xeb, 0xc2, 0x1a, 0xd2, 0x25, 0xe4, 0x54, 0x7c, 0x5d,
   0x60, 0x70, 0x53, 0x69, 0x0b, 0xa5, 0xb8, 0x12, 0x92, 0x0e, 0x19, 0x06, 0x40, 0xd0, 0x97, 0x88,
   0x60, 0x41, 0x37, 0x0a, 0x0f, 0x36, 0x0b, 0x3a, 0xe9, 0x6a, 0x98, 0x54, 0x77, 0x44, 0x11, 0xd6,
   0x2d, 0x1d, 0xeb, 0x8e, 0x28, 0xa8, 0xe9, 0xfc, 0x08, 0xe6, 0xb1, 0x38, 0x13, 0x69, 0x24, 0x42,
   0x5d, 0xf0, 0xa2, 0x2a, 0xaf, 0x33, 0x0b, 0x9e, 0x20, 0xe6, 0xff, 0xbb, 0x07, 0x83, 0xe0, 0xa6,
   0x90, 0x7e, 0x08, 0x3b, 0xd6, 0x65, 0x95, 0x55, 0xcd, 0x15, 0x66, 0x51, 0xed, 0xda, 0xe5, 0x46,
   0x91, 0xe9, 0x6f, 0x38, 0xf6, 0x23, 0x80, 0xdc, 0xc4, 0x17, 0x72, 0x4d, 0x4f, 0x70, 0x2d, 0xb2,
   0x8c, 0xb1, 0x92, 0x62, 0xc9, 0x4c, 0x62, 0xab, 0xf8, 0x50, 0xc7, 0xb8, 0xa5, 0x0f, 0x73, 0x84,
   0xb9, 0x5a, 0x87, 0x66, 0xc2, 0xb1, 0x45, 0x43, 0xc7, 0xe8, 0xf8, 0x43, 0x9a, 0x73, 0xee, 0xc3,
   0x24, 0xcb, 0x85, 0xe2, 0x45, 0xa6, 0xa8, 0x68, 0xb8, 0x41, 0x4d, 0xe3, 0xb5, 0xab, 0xb5, 0x31,
   0xcb, 0xc4, 0xe8, 0x5d, 0x81, 0x55, 0x43, 0xae, 0x0e, 0xb9, 0xe2, 0xb2, 0x34, 0x05, 0xa4, 0x3e,
   0xe4, 0x15, 0x42, 0x37, 0x56, 0x11, 0x6a, 0xe4, 0x52, 0x84, 0x5f, 0x25, 0xc5, 0x79, 0x98, 0x2b,
   0x61, 0x47, 0x97, 0x29, 0x82, 0xbf, 0x4e, 0x8a, 0xf3, 0x63, 0xd5, 0x8d, 0x89, 0x59, 0x27, 0x26,
   0xfc, 0xbf, 0xf4, 0xa0, 0x7f, 0x12, 0x6f, 0xd7, 0xea, 0xa6, 0xa9, 0xf4, 0xde, 0xd6, 0x54, 0xfa,
   0x9d, 0xa6, 0x52, 0xb1, 0x28, 0x49, 0x07, 0x35, 0xeb, 0x05, 0xe6, 0xe9, 0x43, 0x18, 0x50, 0x2a,
   0x0d, 0x6f, 0xe8, 0x1e, 0x87, 0x6a, 0x1d, 0x10, 0x17, 0x6f, 0x97, 0x44, 0x59, 0x5a, 0xcd, 0x7c,
   0xb8, 0xc6, 0x12, 0x81, 0x53, 0xa3, 0xb1, 0x28, 0x2e, 0x31, 0x4a, 0x6d, 0x57, 0xc7, 0x5a, 0x63,
   0x4d, 0x09, 0x06, 0xc2, 0x82, 0xd3, 0xaa, 0xd1, 0x24, 0x60, 0xcc, 0x68, 0x6b, 0x34, 0x09, 0x74,
   0xe6, 0x02, 0xd8, 0x98, 0x0b, 0x9a, 0x24, 0x9b, 0x6e, 0xb6, 0xfe, 0xba, 0x29, 0x98, 0x51, 0xb0,
   0xee, 0xef, 0x59, 0xdd, 0xdf, 0x29, 0x6c, 0xed, 0x1c, 0xb3, 0xdc, 0x4c, 0xfa, 0x66, 0xe7, 0x5e,
   0x67, 0xe7, 0x9f, 0x92, 0xdd, 0x28, 0xc5, 0x6d, 0x19, 0xbb, 0xb7, 0xd1, 0x5e, 0xa5, 0x38, 0x11,
   0x45, 0x50, 0x4b, 0xf9, 0x25, 0x40, 0x83, 0x53, 0x6d, 0x8d, 0x9b, 0xe3, 0x6c, 0xcc, 0xde, 0x03,
   0xe3, 0xb1, 0xae, 0xfb, 0x3e, 0xad, 0x32, 0xd8, 0x1c, 0x74, 0x67, 0xeb, 0xa0, 0x2a, 0x89, 0xab,
   0x48, 0x1b, 0x34, 0x91, 0xe6, 0xff, 0x16, 0xc6, 0xd5, 0x1d, 0x37, 0xa3, 0x65, 0x2b, 0x43, 0x7a,
   0xdf, 0x9d, 0x21, 0xfd, 0x8d, 0x0c, 0xd9, 0x0a, 0xfe, 0xc1, 0x56, 0xf0, 0xfb, 0x7f, 0x72, 0x68,
   0xe2, 0x39, 0x54, 0xeb, 0xe6, 0xa9, 0xe1, 0xb4, 0x9f, 0x1a, 0x37, 0x75, 0x88, 0xea, 0x6d, 0x61,
   0xdf, 0x35, 0xd5, 0xdb, 0xe2, 0xb2, 0xd4, 0xe6, 0x6e, 0x93, 0x80, 0xd6, 0x88, 0x95, 0x69, 0x52,
   0x4d, 0x82, 0xb4, 0xc6, 0x53, 0x4c, 0xc3, 0x33, 0x01, 0x69, 0x88, 0xda, 0x32, 0xe3, 0x96, 0x65,
   0x7e, 0xef, 0xc0, 0xed, 0xa7, 0xab, 0xa3, 0x73, 0x14, 0xf8, 0xa5, 0xd0, 0x9a, 0xaf, 0x05, 0xfb,
   0x31, 0x4e, 0xbf, 0xe8, 0x6d, 0xd4, 0x71, 0xe7, 0xe0, 0xbd, 0x76, 0xff, 0x58, 0x49, 0x61, 0x84,
   0xe3, 0xc0, 0x08, 0x59, 0x83, 0xf6, 0x6a, 0x83, 0x3e, 0x82, 0x11, 0x8f, 0x8a, 0x24, 0x4b, 0x49,
   0xf3, 0x9d, 0x03, 0xd6, 0x9a, 0x78, 0x56, 0x87, 0xc4, 0x09, 0xac, 0x04, 0xe5, 0x4d, 0x7a, 0x96,
   0x59, 0x9b, 0xd1, 0xda, 0xff, 0x8f, 0x03, 0x73, 0xd3, 0xf1, 0xde, 0xd6, 0x4f, 0xbf, 0x73, 0x18,
   0xbb, 0xe1, 0x39, 0xc8, 0x3c, 0x18, 0xdb, 0x4a, 0x59, 0xa5, 0xb7, 0x25, 0x71, 0xa6, 0x2a, 0x54,
   0xb2, 0x5e, 0x0b, 0x15, 0xca, 0x24, 0xad, 0xaa, 0xfe, 0xd4, 0x62, 0x5f, 0x26, 0xa9, 0x60, 0x9f,
   0xc0, 0x4e, 0x9c, 0x28, 0x41, 0x0a, 0x1b, 0x21, 0x63, 0xd4, 0x79, 0x8d, 0x92, 0x58, 0xe5, 0xae,
   0x71, 0xcb, 0x5d, 0x5b, 0x4d, 0x63, 0x42, 0x96, 0xef, 0x36, 0x8d, 0x3f, 0x3b, 0x30, 0x7f, 0x95,
   0xc4, 0x22, 0x2b, 0x78, 0x2e, 0x68, 0xcc, 0xbe, 0x0f, 0x13, 0xa1, 0x9f, 0xf2, 0x82, 0xd7, 0x99,
   0x51, 0xd3, 0xc8, 0xab, 0xae, 0xba, 0x75, 0xf5, 0x26, 0x7d, 0xbb, 0x63, 0x28, 0x26, 0xd4, 0xe5,
   0x7a, 0x69, 0xba, 0x46, 0x3f, 0x30, 0x04, 0x4a, 0x53, 0xbe, 0x99, 0xda, 0xe6, 0x06, 0x96, 0xaa,
   0x2f, 0x32, 0x6a, 0xde, 0xb4, 0xfe, 0x7f, 0x7b, 0x30, 0x3d, 0xca, 0x2e, 0xf1, 0xcd, 0x4d, 0xe3,
   0x01, 0x3d, 0x6c, 0x56, 0x52, 0xe0, 0xd7, 0x0e, 0x7d, 0x5d, 0xd3, 0xec, 0x11, 0x2c, 0x22, 0x23,
   0x7a, 0x7a, 0xae, 0x84, 0x3e, 0xcf, 0xa4, 0xd1, 0xb4, 0x17, 0x6c, 0xe1, 0x6c, 0x0f, 0xa6, 0x67,
   0x3c, 0x12, 0xcf, 0x05, 0x2f, 0x4a, 0x65, 0x7c, 0x36, 0x0b, 0xda, 0x10, 0xea, 0x6e, 0x5e, 0x62,
   0x03, 0x3a, 0xc6, 0x10, 0xf8, 0x6e, 0x2e, 0x94, 0x10, 0x2f, 0xb2, 0x58, 0x54, 0xea, 0x37, 0x00,
   0xdd, 0x80, 0xaf, 0xb0, 0xd7, 0xf5, 0xc9, 0x15, 0x7c, 0xa5, 0xd9, 0x2e, 0xb4, 0xc6, 0x01, 0x6f,
   0x4c, 0x9c, 0xf6, 0x80, 0xb0, 0x0b, 0xa0, 0x05, 0x57, 0xd1, 0xf9, 0xa9, 0x29, 0xcd, 0xc4, 0x6f,
   0x10, 0xe4, 0x27, 0x69, 0x5e, 0x16, 0xaf, 0x5a, 0x0d, 0xae, 0x85, 0x20, 0x3f, 0xca, 0xa4, 0x34,
   0x01, 0x61, 0x4b, 0x73, 0x0b, 0x21, 0x6b, 0x67, 0xa5, 0x8a, 0xea, 0xe2, 0x6c, 0x28, 0xf6, 0x10,
   0xe6, 0x3c, 0xe5, 0xf2, 0xba, 0x7a, 0xb9, 0xda, 0x26, 0xd7, 0x05, 0xfd, 0xdf, 0xc0, 0xce, 0x49,
   0x7c, 0x61, 0x3d, 0xf0, 0x8c, 0x47, 0xe7, 0x5b, 0x39, 0xe1, 0xe1, 0xc0, 0xb6, 0x92, 0xa2, 0xce,
   0x88, 0x8a, 0x64, 0x3e, 0xcc, 0xac, 0xdd, 0x4f, 0xa2, 0xcc, 0x1a, 0xb9, 0x17, 0x74, 0x30, 0x3f,
   0x80, 0x45, 0xb3, 0x7f, 0x20, 0x74, 0x29, 0x0b, 0xf6, 0x73, 0x98, 0x47, 0x6d, 0x80, 0x1c, 0x3d,
   0x3d, 0xf0, 0x3a, 0x85, 0xb7, 0xa5, 0x52, 0xd0, 0x15, 0xf7, 0x7f, 0xd7, 0x07, 0xf7, 0xd9, 0x95,
   0x48, 0x8b, 0xe3, 0x52, 0x9f, 0xbf, 0xd3, 0x4c, 0xfc, 0x91, 0x9d, 0xd5, 0xcd, 0xbc, 0x6d, 0x62,
   0x98, 0xc6, 0xf2, 0x13, 0x9a, 0xb9, 0x3f, 0x00, 0x1a, 0xf9, 0x43, 0x1c, 0xbc, 0x6d, 0x1a, 0x23,
   0xfd, 0x2c, 0xa5, 0xf9, 0x2a, 0xd1, 0xa1, 0xe6, 0x45, 0xa2, 0xcf, 0xae, 0x43, 0x2e, 0x25, 0x25,
   0xf2, 0x24, 0x98, 0x25, 0xfa, 0xc4, 0x80, 0x87, 0x52, 0x62, 0xdd, 0xa0, 0x79, 0x83, 0x66, 0xc8,
   0x91, 0xfd, 0xbb, 0xa2, 0x94, 0x82, 0x46, 0xc8, 0xa6, 0xc7, 0x8d, 0x3b, 0x3d, 0xee, 0x43, 0x70,
   0xcd, 0x8b, 0xa6, 0x99, 0x7e, 0x26, 0xf4, 0x9c, 0xc1, 0x04, 0xff, 0x18, 0xa6, 0xc4, 0xb4, 0x2f,
   0x32, 0xb7, 0x79, 0xed, 0xd8, 0x07, 0xd9, 0x4f, 0x60, 0x92, 0xe4, 0x61, 0x9e, 0xa9, 0x42, 0x7b,
   0xb0, 0xd9, 0x21, 0xd1, 0x30, 0xcb, 0xfc, 0x38, 0x53, 0x45, 0x30, 0x4e, 0xe8, 0x57, 0xb3, 0x4f,
   0x60, 0x50, 0x2a, 0xa9, 0xbd, 0xe9, 0x66, 0x97, 0x43, 0xe1, 0x97, 0x4a, 0x06, 0xc4, 0x66, 0x9f,
   0x55, 0xdd, 0x70, 0xb6, 0x39, 0xe2, 0xd7, 0x26, 0x6f, 0xf5, 0x44, 0xff, 0x5b, 0x07, 0xe6, 0x1d,
   0xc6, 0x96, 0x3f, 0xd0, 0xf6, 0x59, 0x9e, 0x44, 0xed, 0x47, 0xb7, 0x4b, 0x08, 0x5d, 0x14, 0xdf,
   0x5f, 0xc4, 0xe6, 0x6a, 0x5d, 0xbf, 0xbf, 0x10, 0xc0, 0x9e, 0xd6, 0x6e, 0x8f, 0x83, 0xef, 0x1b,
   0x20, 0x87, 0x37, 0x0c, 0x90, 0xf4, 0x5f, 0x90, 0x14, 0xb6, 0x81, 0x8e, 0xec, 0xc3, 0xb7, 0x94,
   0xc2, 0xe4, 0x96, 0x0f, 0x73, 0x81, 0xca, 0x87, 0x79, 0xa9, 0xcf, 0x43, 0xfb, 0x27, 0x9a, 0x1b,
   0x4c, 0x45, 0x75, 0xa3, 0x65, 0xec, 0xbf, 0x04, 0x68, 0xcc, 0x89, 0xea, 0x56, 0x7f, 0x0f, 0xe5,
   0x55, 0x09, 0x35, 0xc0, 0xb2, 0xf9, 0x5b, 0xac, 0xd7, 0xfa, 0x5b, 0xec, 0x6d, 0x0f, 0x94, 0x27,
   0x30, 0xb6, 0x86, 0xaf, 0xe6, 0x39, 0xa7, 0x99, 0xe7, 0xde, 0x32, 0x16, 0xf9, 0x7f, 0x74, 0xe0,
   0xee, 0x33, 0x7d, 0x2c, 0x94, 0xce, 0xd2, 0x23, 0x1e, 0x9d, 0xdb, 0x8e, 0x49, 0x01, 0x8c, 0x02,
   0xad, 0xf7, 0x8d, 0xad, 0x9a, 0xa8, 0x70, 0x4e, 0xf2, 0xad, 0x96, 0x66, 0x80, 0x25, 0xe5, 0xf6,
   0x59, 0xa7, 0x42, 0x56, 0x64, 0xab, 0xd7, 0x0e, 0xbe, 0xaf, 0xd7, 0x3e, 0xfa, 0xab, 0x03, 0xb3,
   0x76, 0xff, 0x66, 0x33, 0x98, 0x9c, 0x86, 0xa6, 0xd3, 0x2e, 0x6e, 0xb1, 0x05, 0xcc, 0x2a, 0x0a,
   0x47, 0xc2, 0x85, 0xc3, 0xee, 0xc1, 0xa2, 0x8d, 0x60, 0xe1, 0x5f, 0xf4, 0x18, 0xc0, 0xe8, 0x34,
   0x24, 0x89, 0x3e, 0x9b, 0x83, 0x6b, 0xd6, 0x27, 0xf1, 0xc5, 0x62, 0xc0, 0xee, 0xc0, 0xbc, 0x26,
   0x31, 0xc8, 0x16, 0x43, 0xe6, 0xc2, 0xf0, 0x34, 0x44, 0xee, 0x88, 0xdd, 0x85, 0xdb, 0xd5, 0x76,
   0xb6, 0xb1, 0x2f, 0xc6, 0x6c, 0x07, 0xe0, 0x34, 0x3c, 0xb5, 0x0f, 0xf9, 0xc5, 0xc4, 0xe8, 0x64,
   0xca, 0xde, 0xc2, 0x35, 0x3a, 0x1d, 0x67, 0x52, 0x1e, 0x65, 0xe9, 0x59, 0xb2, 0x5e, 0xc0, 0xa3,
   0xc7, 0x30, 0xa9, 0x2e, 0x86, 0x9a, 0x2c, 0x53, 0x2d, 0x54, 0xb1, 0xb8, 0x85, 0xeb, 0x97, 0x34,
   0x26, 0x2f, 0x1c, 0x5c, 0x3f, 0x15, 0x52, 0x14, 0x62, 0xd1, 0xfb, 0xc2, 0xfb, 0xdb, 0xeb, 0x5d,
   0xe7, 0x9b, 0xd7, 0xbb, 0xce, 0x3f, 0x5f, 0xef, 0x3a, 0x7f, 0x78, 0xb3, 0x7b, 0xeb, 0x9b, 0x37,
   0xbb, 0xb7, 0xfe, 0xf1, 0x66, 0xf7, 0xd6, 0x6a, 0x44, 0x96, 0x7a, 0xf2, 0xff, 0x00, 0x00, 0x00,
   0xff, 0xff, 0x91, 0x8d, 0x1e, 0xcf, 0x99, 0x16, 0x00, 0x00,
   // 2551 bytes of a gzipped FileDescriptorProto
   0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x38, 0xcb, 0x6e, 0x1c, 0xc7,
   0xb5, 0xec, 0x79, 0xcf, 0x99, 0x19, 0xaa, 0x55, 0xd2, 0xb5, 0x5b, 0xf2, 0x35, 0x4d, 0xf7, 0x95,
   0x61, 0x5d, 0xc1, 0xf6, 0xbd, 0x90, 0xbd, 0x08, 0xb2, 0x08, 0x30, 0xd6, 0x23, 0x18, 0xc0, 0x71,
   0x98, 0x26, 0xa5, 0xec, 0xd2, 0xa8, 0x99, 0x2e, 0x0e, 0x1b, 0x2c, 0x76, 0x37, 0xaa, 0xba, 0x69,
   0x73, 0x91, 0x0f, 0xc8, 0x2a, 0xf9, 0xa1, 0x20, 0x41, 0x56, 0x59, 0x64, 0xe1, 0x65, 0xb2, 0x72,
   0x60, 0x03, 0x41, 0x80, 0x20, 0x7f, 0x90, 0x00, 0xc1, 0x39, 0x55, 0xd5, 0x8f, 0x21, 0x65, 0x6b,
   0x35, 0x75, 0x1e, 0x5d, 0x75, 0xde, 0x8f, 0x81, 0xfd, 0x42, 0xe5, 0x65, 0x7e, 0xa1, 0xb7, 0x1f,
   0xd1, 0x81, 0x4d, 0x1c, 0x7c, 0x1f, 0xd6, 0x5c, 0x0b, 0x83, 0x0d, 0x9f, 0xc3, 0x60, 0xa9, 0x04,
   0x67, 0xfb, 0xd0, 0x4b, 0x93, 0xc0, 0x3b, 0xf4, 0x1e, 0x0e, 0xa3, 0x5e, 0x9a, 0xb0, 0xfb, 0x30,
   0x29, 0xb8, 0x12, 0x59, 0x99, 0x26, 0x41, 0x8f, 0xb0, 0x35, 0xcc, 0x18, 0x0c, 0x32, 0x7e, 0x21,
   0x82, 0xfe, 0xa1, 0xf7, 0x70, 0x1a, 0xd1, 0x39, 0xfc, 0x57, 0x1f, 0x46, 0x4f, 0xf8, 0x85, 0x50,
   0xed, 0xab, 0xa6, 0x74, 0x95, 0x63, 0xef, 0x35, 0xec, 0xec, 0x2e, 0x0c, 0xb9, 0x4c, 0xb9, 0xb6,
   0x77, 0x18, 0x80, 0xbd, 0x0b, 0x73, 0x9d, 0xf1, 0x42, 0x9f, 0xe5, 0x65, 0x5c, 0x29, 0x19, 0x0c,
   0x88, 0x38, 0x73, 0xb8, 0x17, 0x4a, 0xe2, 0x65, 0xe5, 0x55, 0x21, 0x82, 0x21, 0xc9, 0x44, 0x67,
   0xc4, 0xf1, 0x24, 0x51, 0xc1, 0xc8, 0x3c, 0x80, 0x67, 0xf6, 0xdf, 0x30, 0x95, 0x79, 0xb6, 0x4d,
   0xcb, 0x2a, 0x11, 0xc1, 0xf8, 0xd0, 0x7b, 0xd8, 0x8b, 0x1a, 0x04, 0x6a, 0x27, 0x79, 0x69, 0x88,
   0x13, 0x22, 0xd6, 0x30, 0x8a, 0x76, 0x2a, 0xf3, 0x5c, 0x05, 0x53, 0x7a, 0xc2, 0x00, 0xf8, 0x86,
   0x2a, 0x75, 0x11, 0x80, 0x79, 0x03, 0xcf, 0xa4, 0x68, 0x11, 0xcc, 0xac, 0xa2, 0x05, 0xf2, 0x14,
   0xb9, 0x2a, 0x83, 0xb9, 0x91, 0x0d, 0xcf, 0xf8, 0x52, 0xa5, 0x85, 0x22, 0x03, 0x2c, 0x88, 0xb3,
   0x86, 0x8d, 0x8d, 0xb5, 0xfe, 0x22, 0x57, 0x49, 0xb0, 0x6f, 0x68, 0x0e, 0x46, 0x29, 0xd6, 0x8a,
   0x67, 0x49, 0x70, 0xcb, 0x18, 0x88, 0x00, 0xfc, 0x42, 0x09, 0x2d, 0xd4, 0xa5, 0x48, 0x02, 0xdf,
   0x7c, 0xe1, 0x60, 0xf6, 0x36, 0x40, 0xaa, 0x63, 0x55, 0x65, 0x59, 0x9a, 0x6d, 0x83, 0xdb, 0x87,
   0xde, 0xc3, 0x49, 0x34, 0x4d, 0x75, 0x64, 0x10, 0x48, 0x56, 0x55, 0x16, 0x8b, 0x8c, 0xaf, 0xa5,
   0x08, 0x98, 0x21, 0xab, 0x2a, 0x7b, 0x46, 0x08, 0x76, 0x0f, 0x26, 0x48, 0x26, 0xdb, 0xde, 0x21,
   0xf9, 0xc7, 0xaa, 0xca, 0x4e, 0xd0, 0xbc, 0x21, 0x2c, 0x90, 0x44, 0xcf, 0xa8, 0x38, 0x4d, 0x82,
   0xbb, 0xc6, 0x2d, 0xaa, 0xca, 0x8e, 0x09, 0xb7, 0x4a, 0xc2, 0x0d, 0xdc, 0x36, 0xde, 0x5f, 0x66,
   0xc9, 0x09, 0xd7, 0xe7, 0xab, 0xec, 0x34, 0x67, 0x0f, 0x61, 0xb4, 0x21, 0x24, 0x05, 0xc3, 0xec,
   0xb1, 0xff, 0x51, 0x1d, 0x92, 0x86, 0x39, 0xb2, 0x74, 0xf6, 0x00, 0x86, 0x25, 0xd7, 0xe7, 0x3a,
   0xe8, 0x1d, 0xf6, 0x1f, 0xce, 0x1e, 0xef, 0x37, 0x8c, 0x78, 0x59, 0x64, 0x88, 0xe1, 0xd7, 0x1e,
   0x0c, 0x10, 0x66, 0x6f, 0xc0, 0x08, 0x31, 0x75, 0x94, 0x59, 0x08, 0xcd, 0x83, 0xa7, 0x56, 0xb4,
   0xd5, 0x30, 0x7b, 0x0b, 0xa6, 0x1b, 0x25, 0x78, 0x29, 0x62, 0x5e, 0xda, 0xa8, 0x9b, 0x18, 0xc4,
   0xb2, 0x6c, 0x11, 0xd7, 0x57, 0x36, 0xea, 0x2c, 0xf1, 0xd3, 0x2b, 0x24, 0x56, 0x45, 0x62, 0xbf,
   0x1c, 0x5a, 0x1f, 0x12, 0x62, 0x59, 0xa2, 0x28, 0xd6, 0xa4, 0x23, 0x32, 0xa9, 0x85, 0xd0, 0x9e,
   0xa9, 0x8e, 0xb9, 0xe4, 0xea, 0x82, 0xc2, 0x6f, 0x12, 0x8d, 0x53, 0xbd, 0x44, 0x10, 0x49, 0x89,
   0x90, 0xf1, 0xa9, 0xe4, 0x5b, 0x0a, 0xbe, 0x49, 0x34, 0x4e, 0x84, 0x7c, 0x2e, 0xf9, 0x36, 0x3c,
   0x81, 0x19, 0x2a, 0x78, 0x9c, 0x18, 0x03, 0x86, 0x30, 0x40, 0xf9, 0xad, 0xf9, 0x76, 0xad, 0x42,
   0x34, 0xf6, 0x2e, 0x0c, 0x74, 0x52, 0x5b, 0x6e, 0xd1, 0xf0, 0x1c, 0x27, 0xe7, 0x11, 0x91, 0xc2,
   0x1f, 0xc2, 0x08, 0x81, 0x2a, 0x63, 0xff, 0x05, 0xa3, 0xb4, 0xd8, 0xc4, 0xb5, 0xe1, 0x86, 0x69,
   0xb1, 0x59, 0x25, 0x28, 0x91, 0x4e, 0xce, 0x8d, 0xf3, 0x8d, 0xdd, 0xc6, 0x3a, 0x39, 0x47, 0xe7,
   0x87, 0x2f, 0x01, 0xac, 0x44, 0xf8, 0xfd, 0xeb, 0x08, 0xf4, 0xa0, 0x23, 0x90, 0xdf, 0x15, 0xa8,
   0xca, 0xac, 0x4c, 0x7f, 0xeb, 0x01, 0x98, 0x20, 0x20, 0x8f, 0xee, 0xd6, 0x0c, 0x74, 0x08, 0x51,
   0x63, 0x5b, 0x7f, 0xd0, 0x21, 0x84, 0x58, 0x25, 0xec, 0x4d, 0x18, 0xe3, 0x4b, 0x48, 0xea, 0x37,
   0xfe, 0x5f, 0x25, 0xec, 0x43, 0x98, 0x96, 0xe9, 0x85, 0x88, 0x55, 0x25, 0x45, 0x30, 0xd8, 0x7d,
   0xff, 0x29, 0xbf, 0x7a, 0x52, 0xca, 0x68, 0x82, 0x2c, 0x51, 0x25, 0x05, 0xa5, 0x84, 0xe0, 0x9b,
   0xd2, 0xf0, 0x1b, 0xcf, 0x4e, 0x09, 0x43, 0xe4, 0x77, 0x61, 0x6e, 0xc8, 0x89, 0xb8, 0x4c, 0x37,
   0xc2, 0x96, 0x97, 0x19, 0xe1, 0x9e, 0x12, 0xaa, 0xe3, 0xca, 0x71, 0xc7, 0x95, 0xec, 0x1d, 0x98,
   0xd9, 0xa8, 0x69, 0x39, 0x1a, 0x0c, 0x8a, 0x18, 0x9a, 0xc8, 0x99, 0x76, 0x22, 0x87, 0xc1, 0x40,
   0x63, 0x15, 0x01, 0x53, 0x45, 0xf0, 0x8c, 0x1a, 0xa7, 0x3a, 0x3e, 0xad, 0xa4, 0xa4, 0x72, 0x33,
   0x89, 0x46, 0xa9, 0x7e, 0x5e, 0x49, 0xc9, 0x0e, 0x61, 0x2e, 0xd3, 0xec, 0x3c, 0x76, 0xf6, 0x98,
   0x93, 0x8c, 0x80, 0x38, 0x4a, 0xc3, 0x24, 0xfc, 0x19, 0xec, 0x5b, 0x3b, 0xa7, 0x17, 0x02, 0x15,
   0x7d, 0xad, 0xfa, 0xfc, 0x56, 0xdb, 0x92, 0x36, 0x5b, 0x9c, 0xdd, 0xc2, 0xcf, 0x61, 0x64, 0x6c,
   0xc9, 0x7c, 0xe8, 0x27, 0xfc, 0xca, 0xb6, 0x0d, 0x3c, 0xb2, 0xc7, 0x00, 0xe6, 0x43, 0x9e, 0x6d,
   0x85, 0x8d, 0x81, 0x3b, 0xad, 0x38, 0xc1, 0x3b, 0x90, 0x14, 0xd1, 0xfd, 0x74, 0x0c, 0x3f, 0x86,
   0x69, 0x8d, 0xc7, 0xc2, 0xa7, 0x4b, 0xae, 0x4a, 0x17, 0xa1, 0x04, 0xe0, 0x43, 0x22, 0x73, 0x91,
   0x80, 0xc7, 0xf0, 0x25, 0x8c, 0x8f, 0x72, 0x79, 0xb5, 0xcd, 0xb3, 0xd7, 0x52, 0xe8, 0x7d, 0x18,
   0x15, 0x79, 0x9a, 0x95, 0xd8, 0x71, 0x50, 0xa6, 0x5b, 0x8d, 0x4c, 0x47, 0x88, 0x8f, 0x2c, 0x39,
   0xdc, 0xd4, 0xf6, 0xe2, 0xfa, 0x7c, 0xa9, 0xb6, 0xba, 0x1b, 0x8b, 0xde, 0x4e, 0x2c, 0x7e, 0x02,
   0x53, 0xb2, 0x3d, 0x57, 0x5b, 0x17, 0xf2, 0x6f, 0x76, 0xd3, 0xe2, 0xc7, 0x2a, 0xaf, 0x0a, 0xbc,
   0xc8, 0x14, 0x23, 0x3c, 0x85, 0x97, 0xb0, 0xe8, 0x90, 0xda, 0x21, 0xed, 0x75, 0x42, 0xfa, 0x13,
   0x98, 0x6d, 0x91, 0x8b, 0x3c, 0xa1, 0xaf, 0x1b, 0x94, 0xae, 0x40, 0xaf, 0x44, 0xb0, 0x75, 0x47,
   0xdd, 0x8a, 0xad, 0x7e, 0x3b, 0xb6, 0xc2, 0x3f, 0x79, 0x30, 0xad, 0xbf, 0xc0, 0xe8, 0x35, 0x77,
   0xd7, 0xaf, 0x8e, 0x09, 0x5e, 0x51, 0x33, 0x31, 0xa4, 0x52, 0x7c, 0x59, 0x5a, 0x43, 0x4e, 0x09,
   0x73, 0x22, 0xbe, 0x2c, 0x31, 0xb8, 0xa9, 0xb4, 0xc5, 0x52, 0x5c, 0x0a, 0x49, 0x8f, 0x0c, 0x23,
   0x20, 0xd4, 0x67, 0x88, 0xc1, 0x82, 0x6e, 0x04, 0x1e, 0xec, 0x16, 0x74, 0x92, 0xd5, 0x10, 0xa9,
   0xee, 0x88, 0x32, 0xae, 0x1b, 0x3a, 0xd6, 0x1d, 0x51, 0x52, 0xd3, 0xf9, 0x1f, 0x58, 0x24, 0xe2,
   0x54, 0x64, 0x1b, 0x11, 0xeb, 0x92, 0x97, 0xae, 0xbc, 0xce, 0x2d, 0xf2, 0x18, 0x71, 0xe1, 0x3f,
   0x7a, 0x30, 0x88, 0x6e, 0x0a, 0xe9, 0x07, 0xb0, 0x6f, 0x5d, 0xe6, 0xac, 0x6a, 0x54, 0x98, 0x6f,
   0x6a, 0xd7, 0xae, 0x76, 0x8a, 0x4c, 0x7f, 0xc7, 0xb1, 0x6f, 0x03, 0x14, 0x26, 0xbe, 0x90, 0x6a,
   0x7a, 0xc2, 0xd4, 0x62, 0x56, 0x09, 0x56, 0x52, 0x2c, 0x99, 0x69, 0x62, 0x05, 0x1f, 0xea, 0x04,
   0xaf, 0x0c, 0x61, 0x81, 0x68, 0xae, 0xb6, 0xb1, 0x99, 0x6f, 0x6c, 0xd1, 0xd0, 0x09, 0x3a, 0x7e,
   0x49, 0x53, 0xce, 0x7d, 0x98, 0xe4, 0x85, 0x50, 0xbc, 0xcc, 0x15, 0x15, 0x8d, 0x69, 0x54, 0xc3,
   0xa8, 0xb6, 0x3b, 0x1b, 0xb3, 0x4c, 0x8c, 0xdc, 0x0e, 0xe9, 0x1a, 0xb2, 0x7b, 0xe4, 0x92, 0xcb,
   0xca, 0x14, 0x90, 0xfa, 0x91, 0x97, 0x88, 0xba, 0xb1, 0x8a, 0x50, 0x23, 0x97, 0x22, 0xfe, 0x22,
   0x2d, 0xcf, 0xe2, 0x42, 0x09, 0x3b, 0xba, 0xcc, 0x10, 0xf9, 0xf3, 0xb4, 0x3c, 0x3b, 0x52, 0xdd,
   0x98, 0x98, 0x77, 0x62, 0x22, 0xfc, 0x7d, 0x0f, 0xfa, 0xc7, 0xc9, 0xf5, 0x5a, 0xdd, 0x34, 0x95,
   0xde, 0xab, 0x9a, 0x4a, 0xbf, 0xd3, 0x54, 0x1c, 0x89, 0x92, 0x74, 0x50, 0x93, 0x3e, 0xc7, 0x3c,
   0x7d, 0x00, 0x03, 0x4a, 0xa5, 0xe1, 0x0d, 0xdd, 0x63, 0xa9, 0xb6, 0x11, 0x51, 0x51, 0xbb, 0x74,
   0x93, 0x67, 0x6e, 0xe2, 0xc3, 0x33, 0x96, 0x08, 0x9c, 0x19, 0x8d, 0x45, 0xf1, 0x88, 0x51, 0x6a,
   0xbb, 0x3a, 0xd6, 0x1a, 0x6b, 0x4a, 0x30, 0x28, 0x2c, 0x38, 0xad, 0x1a, 0x4d, 0x0c, 0xc6, 0x8c,
   0xb6, 0x46, 0x13, 0x43, 0x67, 0x2e, 0x80, 0x9d, 0xb9, 0xa0, 0x49, 0xb2, 0xd9, 0x6e, 0xeb, 0xaf,
   0x9b, 0x82, 0x19, 0x05, 0xeb, 0xfe, 0x9e, 0xd7, 0xfd, 0x9d, 0xc2, 0xd6, 0xce, 0x31, 0xab, 0xdd,
   0xa4, 0x6f, 0x6e, 0xee, 0x75, 0x6e, 0xfe, 0x7f, 0xb2, 0x1b, 0xa5, 0xb8, 0x2d, 0x63, 0x77, 0x77,
   0xda, 0xab, 0x14, 0xc7, 0xa2, 0x8c, 0x6a, 0xae, 0xb0, 0x02, 0x68, 0xf0, 0x54, 0x5b, 0x93, 0xe6,
   0x39, 0x1b, 0xb3, 0x77, 0xc1, 0x78, 0xac, 0xeb, 0xbe, 0xf7, 0x5d, 0x06, 0x9b, 0x87, 0x6e, 0x5f,
   0x7b, 0xc8, 0x25, 0xb1, 0x8b, 0xb4, 0x41, 0x13, 0x69, 0xe1, 0x2f, 0x61, 0xec, 0x74, 0xdc, 0x8d,
   0x96, 0x6b, 0x19, 0xd2, 0xfb, 0xee, 0x0c, 0xe9, 0xef, 0x64, 0xc8, 0xb5, 0xe0, 0x1f, 0x5c, 0x0b,
   0xfe, 0xf0, 0xef, 0x1e, 0x4d, 0x3c, 0x4b, 0xb5, 0x6d, 0x16, 0x0d, 0xaf, 0xbd, 0x68, 0xdc, 0xd4,
   0x21, 0xdc, 0x66, 0x61, 0xb7, 0x1a, 0xb7, 0x59, 0x5c, 0x54, 0xda, 0xe8, 0x36, 0x89, 0xe8, 0x8c,
   0xb8, 0x2a, 0x4b, 0xdd, 0x24, 0x48, 0x67, 0x7c, 0xc5, 0x34, 0x3c, 0x13, 0x90, 0x06, 0xb0, 0x35,
   0x8c, 0x57, 0xb2, 0xb4, 0xa2, 0x9a, 0xd8, 0x9c, 0x5b, 0xa4, 0x49, 0xd4, 0xff, 0x05, 0xdf, 0x31,
   0xd5, 0x3a, 0x9b, 0x48, 0xbd, 0x65, 0xf1, 0x3f, 0x75, 0xaa, 0x3b, 0x4b, 0x4f, 0x5b, 0x96, 0xfe,
   0xb5, 0x07, 0xb7, 0x9e, 0xae, 0x9f, 0x9c, 0xe1, 0x83, 0x3f, 0x11, 0x5a, 0xf3, 0xad, 0x60, 0x1f,
   0xe0, 0x34, 0x8d, 0xd1, 0x83, 0x3a, 0xef, 0x3f, 0x7e, 0xa3, 0xdd, 0x8f, 0xd6, 0x52, 0x18, 0xe6,
   0x24, 0x32, 0x4c, 0xd6, 0x41, 0xbd, 0xda, 0x41, 0x8f, 0x60, 0xc4, 0x37, 0x65, 0x9a, 0x67, 0x64,
   0x89, 0xfd, 0xc7, 0xac, 0x35, 0x41, 0xad, 0x97, 0x44, 0x89, 0x2c, 0x07, 0xe5, 0x61, 0x76, 0x9a,
   0x5b, 0x1f, 0xd0, 0x39, 0xfc, 0xa7, 0x07, 0x0b, 0xd3, 0x41, 0x5f, 0xd5, 0x9f, 0xbf, 0x73, 0xb8,
   0xbb, 0x61, 0xb9, 0x64, 0x01, 0x8c, 0x6d, 0xe5, 0x75, 0xe5, 0xc2, 0x82, 0x38, 0xa3, 0x95, 0x2a,
   0xdd, 0x6e, 0x85, 0x8a, 0x65, 0x9a, 0xb9, 0x2e, 0x32, 0xb3, 0xb8, 0xcf, 0xd2, 0x4c, 0xb0, 0xf7,
   0x60, 0x3f, 0x49, 0x95, 0x20, 0x81, 0x0d, 0x93, 0x71, 0xd2, 0xa2, 0xc6, 0x12, 0x9b, 0x73, 0xff,
   0xb8, 0xe5, 0xfe, 0x6b, 0x4d, 0x68, 0x42, 0x96, 0xef, 0x36, 0xa1, 0xdf, 0x7a, 0xb0, 0x78, 0x99,
   0x26, 0x22, 0x2f, 0x79, 0x21, 0x68, 0x6c, 0xbf, 0x0f, 0x13, 0xa1, 0x9f, 0xf2, 0x92, 0xd7, 0x99,
   0x56, 0xc3, 0x48, 0x73, 0xaa, 0x5e, 0x53, 0xbd, 0x29, 0x07, 0xdd, 0xb1, 0x16, 0x13, 0xf4, 0x62,
   0xbb, 0x32, 0x5d, 0xa8, 0x1f, 0x19, 0x00, 0x6f, 0xba, 0xc4, 0x67, 0x5f, 0x28, 0xe9, 0xb6, 0x12,
   0x07, 0xe3, 0x4d, 0x94, 0xdb, 0xd8, 0x7f, 0xfa, 0x78, 0x93, 0x81, 0x3a, 0x4a, 0xda, 0xed, 0x39,
   0xfc, 0x77, 0x0f, 0x66, 0x4f, 0xf2, 0x0b, 0xdc, 0xee, 0x69, 0x14, 0xa1, 0x25, 0x6a, 0x2d, 0x05,
   0x7e, 0xed, 0xd1, 0xd7, 0x35, 0xcc, 0x1e, 0x81, 0xbf, 0x31, 0xac, 0x27, 0x67, 0x4a, 0xe8, 0xb3,
   0x5c, 0x1a, 0x2d, 0x7a, 0xd1, 0x35, 0x3c, 0x3b, 0x84, 0xd9, 0x29, 0xdf, 0x88, 0xe7, 0x82, 0x97,
   0x95, 0x32, 0xfe, 0x9c, 0x47, 0x6d, 0x14, 0xea, 0x65, 0xb6, 0xbe, 0x01, 0x3d, 0x63, 0x00, 0xdc,
   0xdc, 0x4b, 0x25, 0xc4, 0xe7, 0x79, 0x22, 0x4c, 0x1b, 0x98, 0x46, 0x0d, 0x82, 0x34, 0xe0, 0x6b,
   0xa7, 0x17, 0x9d, 0xd9, 0x01, 0xb4, 0x46, 0x8f, 0x60, 0x7c, 0xd8, 0xdf, 0x19, 0x46, 0x0e, 0x00,
   0xb4, 0xe0, 0x6a, 0x73, 0x76, 0x62, 0xda, 0x00, 0x7e, 0xd9, 0xc2, 0x20, 0x3d, 0xcd, 0x8a, 0xca,
   0x24, 0xa4, 0xeb, 0x02, 0x0d, 0x06, 0xe9, 0x9b, 0x5c, 0x4a, 0x13, 0x2c, 0xb6, 0x0d, 0xb4, 0x30,
   0x64, 0xed, 0xbc, 0x52, 0x9b, 0xba, 0x11, 0x18, 0x88, 0x3d, 0x80, 0x05, 0xcf, 0xb8, 0xbc, 0x72,
   0x5b, 0xb2, 0x6d, 0xa8, 0x5d, 0x64, 0xb8, 0x86, 0xb9, 0x35, 0xff, 0xb3, 0x4b, 0x91, 0x95, 0xec,
   0x07, 0x30, 0x15, 0x78, 0xc0, 0x4e, 0x69, 0x33, 0xf8, 0x7e, 0x6b, 0x71, 0x6e, 0xb1, 0x22, 0x47,
   0xd4, 0x30, 0x53, 0x9a, 0xf0, 0x2b, 0x99, 0x73, 0xe3, 0x94, 0x79, 0xe4, 0xc0, 0xf0, 0x17, 0xb0,
   0x7f, 0x9c, 0x9c, 0xbb, 0x6f, 0xf9, 0xe6, 0xec, 0x5a, 0x4e, 0x06, 0x38, 0x80, 0xae, 0xa5, 0xa8,
   0x33, 0xd2, 0x81, 0x2c, 0x84, 0xb9, 0xf5, 0xed, 0xf1, 0x26, 0xb7, 0x8e, 0xec, 0x45, 0x1d, 0x5c,
   0x18, 0x81, 0xdf, 0xdc, 0x1f, 0x09, 0x5d, 0xc9, 0x92, 0xfd, 0x08, 0x16, 0x9b, 0x36, 0x82, 0x82,
   0x69, 0xf6, 0x38, 0xe8, 0x34, 0x92, 0x96, 0x48, 0x51, 0x97, 0x3d, 0xfc, 0x55, 0x1f, 0xa6, 0xa4,
   0xe6, 0x51, 0xa5, 0xcf, 0x5e, 0x6b, 0xc6, 0x7f, 0xdb, 0xee, 0x1e, 0x66, 0x7f, 0x30, 0x39, 0x44,
   0x6b, 0xc6, 0x31, 0xed, 0x10, 0xf7, 0x80, 0x56, 0x98, 0x18, 0x17, 0x09, 0x5b, 0x46, 0x10, 0x7e,
   0x96, 0xd1, 0xbc, 0x98, 0xea, 0x58, 0xf3, 0x32, 0xd5, 0xa7, 0x57, 0x31, 0x97, 0x26, 0xa3, 0x26,
   0xd1, 0x3c, 0xd5, 0xc7, 0x06, 0xb9, 0x94, 0x12, 0xeb, 0x16, 0xcd, 0x4f, 0x34, 0x13, 0x8f, 0xec,
   0xdf, 0x2f, 0x95, 0x14, 0x34, 0x12, 0x37, 0x3d, 0x7b, 0xdc, 0xe9, 0xd9, 0x6f, 0xc1, 0xd4, 0x6c,
   0x68, 0xcd, 0x34, 0x37, 0xa1, 0xf5, 0x0c, 0x3d, 0xf6, 0x0e, 0xcc, 0x88, 0x68, 0x37, 0xcc, 0x69,
   0xb3, 0xbd, 0xd9, 0x05, 0xf3, 0xff, 0x60, 0x92, 0x16, 0x71, 0x91, 0xab, 0x52, 0x07, 0xb0, 0xdb,
   0xf1, 0xd1, 0x30, 0xab, 0xe2, 0x28, 0x57, 0x65, 0x34, 0x4e, 0xe9, 0x57, 0xb3, 0xf7, 0x60, 0x50,
   0x29, 0xa9, 0x83, 0xd9, 0x6e, 0xd7, 0x46, 0xe6, 0x17, 0x4a, 0x46, 0x44, 0x66, 0x1f, 0xba, 0xee,
   0x3e, 0xdf, 0x5d, 0x59, 0x6a, 0x93, 0xb7, 0x7a, 0x7c, 0xf8, 0xb5, 0x07, 0x8b, 0x0e, 0xe1, 0x9a,
   0x3f, 0xd0, 0xf6, 0x79, 0x91, 0x6e, 0xda, 0x7f, 0x22, 0x4c, 0x09, 0x43, 0x8a, 0xe2, 0x3e, 0x49,
   0x64, 0xae, 0xb6, 0xf5, 0x3e, 0x89, 0x08, 0xec, 0xd1, 0xed, 0x76, 0x3f, 0xf8, 0xbe, 0x81, 0x78,
   0x78, 0xc3, 0x40, 0x4c, 0xff, 0x6d, 0x49, 0x61, 0xbb, 0xec, 0xc8, 0x2e, 0xf2, 0x95, 0x14, 0x26,
   0x7f, 0x43, 0x58, 0x50, 0x92, 0xc4, 0x45, 0xa5, 0xcf, 0xb0, 0xe7, 0x98, 0x1a, 0x3f, 0x13, 0x4e,
   0xa3, 0x55, 0x12, 0xbe, 0x00, 0x68, 0xcc, 0x89, 0xe2, 0xba, 0xbf, 0xbb, 0x0a, 0x57, 0xc2, 0x0d,
   0x62, 0xd5, 0xfc, 0xcd, 0xd7, 0x6b, 0xfd, 0xcd, 0xf7, 0xaa, 0x85, 0xeb, 0x63, 0x18, 0x5b, 0xc3,
   0xbb, 0xf9, 0xd4, 0x6b, 0xe6, 0xd3, 0x57, 0x8c, 0x79, 0xe1, 0xef, 0x3c, 0x23, 0xcc, 0xb2, 0x2c,
   0x31, 0x55, 0xdf, 0x84, 0xb1, 0x13, 0xdc, 0x8e, 0x89, 0x05, 0xc9, 0xcc, 0x42, 0xe8, 0x6f, 0xf8,
   0x05, 0x7d, 0x7c, 0xd3, 0x9f, 0x6b, 0x48, 0x6c, 0x6b, 0x52, 0xef, 0x38, 0x56, 0x93, 0x04, 0xc3,
   0xcf, 0x12, 0x5b, 0xa3, 0x38, 0x18, 0x14, 0x4d, 0xe3, 0xf7, 0x60, 0x22, 0xf3, 0x0d, 0x97, 0x68,
   0x06, 0xbb, 0xa0, 0x11, 0xbc, 0x2a, 0xf0, 0x62, 0x6a, 0x37, 0xf4, 0x47, 0xed, 0xa8, 0xdb, 0x7f,
   0xc2, 0xbf, 0x78, 0x70, 0xe7, 0x99, 0x3e, 0x12, 0x4a, 0xe7, 0xd9, 0x13, 0xbe, 0x39, 0xb3, 0x33,
   0x07, 0xfb, 0xc0, 0xf6, 0x1f, 0x53, 0xd6, 0x5a, 0xa5, 0xe0, 0x99, 0x6e, 0xb1, 0x25, 0xb6, 0xfd,
   0xde, 0xb3, 0x9d, 0xc8, 0x8c, 0x09, 0xfd, 0xba, 0x28, 0x99, 0xd5, 0xad, 0xa0, 0xdb, 0x5b, 0x6a,
   0x19, 0xc4, 0x8a, 0x6a, 0xd9, 0xa9, 0xed, 0x3a, 0x36, 0xcf, 0x2d, 0xd8, 0x9a, 0x6d, 0x86, 0xdf,
   0x3b, 0xdb, 0x74, 0xff, 0xd9, 0x1b, 0x3a, 0xef, 0x3c, 0xfa, 0x83, 0x07, 0xf3, 0xf6, 0x1c, 0xc5,
   0xe6, 0x30, 0x39, 0x89, 0x8d, 0xcd, 0xfd, 0x3d, 0xe6, 0xc3, 0xdc, 0x41, 0x38, 0xea, 0xfb, 0x1e,
   0xbb, 0x0b, 0x7e, 0x1b, 0x83, 0x4d, 0xd6, 0xef, 0x31, 0x80, 0xd1, 0x49, 0x4c, 0x1c, 0x7d, 0xb6,
   0x80, 0xa9, 0x39, 0x1f, 0x27, 0xe7, 0xfe, 0x80, 0xdd, 0x86, 0x45, 0x0d, 0x62, 0xb2, 0xf9, 0x43,
   0x36, 0x85, 0xe1, 0x49, 0x8c, 0xd4, 0x11, 0xbb, 0x03, 0xb7, 0xdc, 0x75, 0x76, 0xc0, 0xf2, 0xc7,
   0x6c, 0x1f, 0xe0, 0x24, 0x3e, 0xb1, 0x7f, 0xd0, 0xf8, 0x13, 0x23, 0x93, 0x69, 0x31, 0xfe, 0xd4,
   0xc8, 0x74, 0x94, 0x4b, 0xf9, 0x24, 0xcf, 0x4e, 0xd3, 0xad, 0x0f, 0x8f, 0x3e, 0x82, 0x89, 0x53,
   0x18, 0x25, 0x59, 0x65, 0x5a, 0xa8, 0xd2, 0xdf, 0xc3, 0xf3, 0x0b, 0x5a, 0x7f, 0x7c, 0x0f, 0xcf,
   0x4f, 0x85, 0x14, 0xa5, 0xf0, 0x7b, 0x8f, 0x96, 0xe0, 0xef, 0x76, 0x1e, 0x76, 0x0b, 0x66, 0x91,
   0x58, 0x65, 0x69, 0x49, 0xae, 0xf3, 0xf7, 0x10, 0x61, 0x3e, 0x36, 0x08, 0x8f, 0xcd, 0x60, 0x6c,
   0xbf, 0xf2, 0x7b, 0x8f, 0x3e, 0x81, 0xfd, 0xae, 0x97, 0x8d, 0xda, 0x4f, 0xd7, 0x64, 0x4c, 0x7f,
   0xcf, 0x28, 0x66, 0x41, 0x13, 0x3a, 0xbe, 0xf7, 0x69, 0xf0, 0xc7, 0x6f, 0x0e, 0xbc, 0xaf, 0xbe,
   0x39, 0xf0, 0xfe, 0xfa, 0xcd, 0x81, 0xf7, 0x9b, 0x6f, 0x0f, 0xf6, 0xbe, 0xfa, 0xf6, 0x60, 0xef,
   0xcf, 0xdf, 0x1e, 0xec, 0xad, 0x47, 0xe4, 0xba, 0x8f, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0xb7,
   0x29, 0x90, 0xe3, 0xe8, 0x18, 0x00, 0x00,
}
func (m *Area) Marshal() (dAtA []byte, err error) {
@@ -2949,22 +3195,22 @@
      i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Addr)))
      i += copy(dAtA[i:], m.Addr)
   }
   if m.Areaid != 0 {
      dAtA[i] = 0x38
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.Areaid))
   }
   if m.Longitude != 0 {
      dAtA[i] = 0x45
      dAtA[i] = 0x3d
      i++
      encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Longitude))))
      i += 4
   }
   if m.Latitude != 0 {
      dAtA[i] = 0x4d
      dAtA[i] = 0x45
      i++
      encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Latitude))))
      i += 4
   }
   if m.Floor != 0 {
      dAtA[i] = 0x48
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.Floor))
   }
   if len(m.Rtsp) > 0 {
      dAtA[i] = 0x52
@@ -4056,8 +4302,20 @@
      i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Range)))
      i += copy(dAtA[i:], m.Range)
   }
   if len(m.DefaultValue) > 0 {
      dAtA[i] = 0x3a
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(len(m.DefaultValue)))
      i += copy(dAtA[i:], m.DefaultValue)
   }
   if len(m.DefaultOperator) > 0 {
      dAtA[i] = 0x42
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(len(m.DefaultOperator)))
      i += copy(dAtA[i:], m.DefaultOperator)
   }
   if m.Sort != 0 {
      dAtA[i] = 0x38
      dAtA[i] = 0x48
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.Sort))
   }
@@ -4207,9 +4465,15 @@
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.ImgId))
   }
   if len(m.VideoUrl) > 0 {
      dAtA[i] = 0x2a
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(len(m.VideoUrl)))
      i += copy(dAtA[i:], m.VideoUrl)
   }
   if len(m.SdkIds) > 0 {
      for _, s := range m.SdkIds {
         dAtA[i] = 0x2a
         dAtA[i] = 0x32
         i++
         l = len(s)
         for l >= 1<<7 {
@@ -4223,7 +4487,7 @@
      }
   }
   if m.Type != 0 {
      dAtA[i] = 0x30
      dAtA[i] = 0x38
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.Type))
   }
@@ -4318,19 +4582,22 @@
      }
   }
   if len(m.AlarmLevel) > 0 {
      for _, s := range m.AlarmLevel {
         dAtA[i] = 0x3a
         i++
         l = len(s)
         for l >= 1<<7 {
            dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
            l >>= 7
            i++
      dAtA5 := make([]byte, len(m.AlarmLevel)*10)
      var j4 int
      for _, num1 := range m.AlarmLevel {
         num := uint64(num1)
         for num >= 1<<7 {
            dAtA5[j4] = uint8(uint64(num)&0x7f | 0x80)
            num >>= 7
            j4++
         }
         dAtA[i] = uint8(l)
         i++
         i += copy(dAtA[i:], s)
         dAtA5[j4] = uint8(num)
         j4++
      }
      dAtA[i] = 0x3a
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(j4))
      i += copy(dAtA[i:], dAtA5[:j4])
   }
   if len(m.SearchTime) > 0 {
      for _, s := range m.SearchTime {
@@ -4374,6 +4641,35 @@
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(len(m.AnalyServerId)))
      i += copy(dAtA[i:], m.AnalyServerId)
   }
   return i, nil
}
func (m *CompareEvent) 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 *CompareEvent) MarshalTo(dAtA []byte) (int, error) {
   var i int
   _ = i
   var l int
   _ = l
   if m.EventType != 0 {
      dAtA[i] = 0x8
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.EventType))
   }
   if len(m.Payload) > 0 {
      dAtA[i] = 0x12
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Payload)))
      i += copy(dAtA[i:], m.Payload)
   }
   return i, nil
}
@@ -4693,6 +4989,64 @@
   return i, nil
}
func (m *PushAttach) 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 *PushAttach) MarshalTo(dAtA []byte) (int, error) {
   var i int
   _ = i
   var l int
   _ = l
   if len(m.PushId) > 0 {
      dAtA[i] = 0xa
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(len(m.PushId)))
      i += copy(dAtA[i:], m.PushId)
   }
   if m.Cam != nil {
      dAtA[i] = 0x12
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.Cam.Size()))
      n6, err6 := m.Cam.MarshalTo(dAtA[i:])
      if err6 != nil {
         return 0, err6
      }
      i += n6
   }
   if len(m.ServerId) > 0 {
      dAtA[i] = 0x1a
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(len(m.ServerId)))
      i += copy(dAtA[i:], m.ServerId)
   }
   if len(m.ServerName) > 0 {
      dAtA[i] = 0x22
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(len(m.ServerName)))
      i += copy(dAtA[i:], m.ServerName)
   }
   if len(m.LocalIp) > 0 {
      dAtA[i] = 0x2a
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(len(m.LocalIp)))
      i += copy(dAtA[i:], m.LocalIp)
   }
   if len(m.VideoUrl) > 0 {
      dAtA[i] = 0x32
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(len(m.VideoUrl)))
      i += copy(dAtA[i:], m.VideoUrl)
   }
   return i, nil
}
func (m *EsPersonCacheChange) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
@@ -4708,28 +5062,47 @@
   _ = i
   var l int
   _ = l
   if len(m.TableId) > 0 {
      dAtA[i] = 0xa
   if m.Type != 0 {
      dAtA[i] = 0x8
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(len(m.TableId)))
      i += copy(dAtA[i:], m.TableId)
      i = encodeVarintProtomsg(dAtA, i, uint64(m.Type))
   }
   if len(m.TableId) > 0 {
      for _, s := range m.TableId {
         dAtA[i] = 0x12
         i++
         l = len(s)
         for l >= 1<<7 {
            dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
            l >>= 7
            i++
         }
         dAtA[i] = uint8(l)
         i++
         i += copy(dAtA[i:], s)
      }
   }
   if len(m.PersonId) > 0 {
      dAtA[i] = 0x12
      dAtA[i] = 0x1a
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(len(m.PersonId)))
      i += copy(dAtA[i:], m.PersonId)
   }
   if len(m.Feature) > 0 {
      dAtA[i] = 0x1a
      dAtA[i] = 0x22
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Feature)))
      i += copy(dAtA[i:], m.Feature)
   }
   if m.Action != 0 {
      dAtA[i] = 0x20
      dAtA[i] = 0x28
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.Action))
   }
   if m.Enable != 0 {
      dAtA[i] = 0x30
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.Enable))
   }
   return i, nil
}
@@ -4791,14 +5164,14 @@
   if l > 0 {
      n += 1 + l + sovProtomsg(uint64(l))
   }
   if m.Areaid != 0 {
      n += 1 + sovProtomsg(uint64(m.Areaid))
   }
   if m.Longitude != 0 {
      n += 5
   }
   if m.Latitude != 0 {
      n += 5
   }
   if m.Floor != 0 {
      n += 1 + sovProtomsg(uint64(m.Floor))
   }
   l = len(m.Rtsp)
   if l > 0 {
@@ -5377,6 +5750,14 @@
   if l > 0 {
      n += 1 + l + sovProtomsg(uint64(l))
   }
   l = len(m.DefaultValue)
   if l > 0 {
      n += 1 + l + sovProtomsg(uint64(l))
   }
   l = len(m.DefaultOperator)
   if l > 0 {
      n += 1 + l + sovProtomsg(uint64(l))
   }
   if m.Sort != 0 {
      n += 1 + sovProtomsg(uint64(m.Sort))
   }
@@ -5467,6 +5848,10 @@
   if m.ImgId != 0 {
      n += 1 + sovProtomsg(uint64(m.ImgId))
   }
   l = len(m.VideoUrl)
   if l > 0 {
      n += 1 + l + sovProtomsg(uint64(l))
   }
   if len(m.SdkIds) > 0 {
      for _, s := range m.SdkIds {
         l = len(s)
@@ -5517,10 +5902,11 @@
      }
   }
   if len(m.AlarmLevel) > 0 {
      for _, s := range m.AlarmLevel {
         l = len(s)
         n += 1 + l + sovProtomsg(uint64(l))
      l = 0
      for _, e := range m.AlarmLevel {
         l += sovProtomsg(uint64(e))
      }
      n += 1 + sovProtomsg(uint64(l)) + l
   }
   if len(m.SearchTime) > 0 {
      for _, s := range m.SearchTime {
@@ -5540,6 +5926,22 @@
      n += 2
   }
   l = len(m.AnalyServerId)
   if l > 0 {
      n += 1 + l + sovProtomsg(uint64(l))
   }
   return n
}
func (m *CompareEvent) Size() (n int) {
   if m == nil {
      return 0
   }
   var l int
   _ = l
   if m.EventType != 0 {
      n += 1 + sovProtomsg(uint64(m.EventType))
   }
   l = len(m.Payload)
   if l > 0 {
      n += 1 + l + sovProtomsg(uint64(l))
   }
@@ -5714,15 +6116,53 @@
   return n
}
func (m *PushAttach) Size() (n int) {
   if m == nil {
      return 0
   }
   var l int
   _ = l
   l = len(m.PushId)
   if l > 0 {
      n += 1 + l + sovProtomsg(uint64(l))
   }
   if m.Cam != nil {
      l = m.Cam.Size()
      n += 1 + l + sovProtomsg(uint64(l))
   }
   l = len(m.ServerId)
   if l > 0 {
      n += 1 + l + sovProtomsg(uint64(l))
   }
   l = len(m.ServerName)
   if l > 0 {
      n += 1 + l + sovProtomsg(uint64(l))
   }
   l = len(m.LocalIp)
   if l > 0 {
      n += 1 + l + sovProtomsg(uint64(l))
   }
   l = len(m.VideoUrl)
   if l > 0 {
      n += 1 + l + sovProtomsg(uint64(l))
   }
   return n
}
func (m *EsPersonCacheChange) Size() (n int) {
   if m == nil {
      return 0
   }
   var l int
   _ = l
   l = len(m.TableId)
   if l > 0 {
      n += 1 + l + sovProtomsg(uint64(l))
   if m.Type != 0 {
      n += 1 + sovProtomsg(uint64(m.Type))
   }
   if len(m.TableId) > 0 {
      for _, s := range m.TableId {
         l = len(s)
         n += 1 + l + sovProtomsg(uint64(l))
      }
   }
   l = len(m.PersonId)
   if l > 0 {
@@ -5735,11 +6175,21 @@
   if m.Action != 0 {
      n += 1 + sovProtomsg(uint64(m.Action))
   }
   if m.Enable != 0 {
      n += 1 + sovProtomsg(uint64(m.Enable))
   }
   return n
}
func sovProtomsg(x uint64) (n int) {
   return (math_bits.Len64(x|1) + 6) / 7
   for {
      n++
      x >>= 7
      if x == 0 {
         break
      }
   }
   return n
}
func sozProtomsg(x uint64) (n int) {
   return sovProtomsg(uint64((x << 1) ^ uint64((int64(x) >> 63))))
@@ -6076,25 +6526,6 @@
         m.Addr = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 7:
         if wireType != 0 {
            return fmt.Errorf("proto: wrong wireType = %d for field Areaid", wireType)
         }
         m.Areaid = 0
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowProtomsg
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            m.Areaid |= int32(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
      case 8:
         if wireType != 5 {
            return fmt.Errorf("proto: wrong wireType = %d for field Longitude", wireType)
         }
@@ -6105,7 +6536,7 @@
         v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:]))
         iNdEx += 4
         m.Longitude = float32(math.Float32frombits(v))
      case 9:
      case 8:
         if wireType != 5 {
            return fmt.Errorf("proto: wrong wireType = %d for field Latitude", wireType)
         }
@@ -6116,6 +6547,25 @@
         v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:]))
         iNdEx += 4
         m.Latitude = float32(math.Float32frombits(v))
      case 9:
         if wireType != 0 {
            return fmt.Errorf("proto: wrong wireType = %d for field Floor", wireType)
         }
         m.Floor = 0
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowProtomsg
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            m.Floor |= int32(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
      case 10:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Rtsp", wireType)
@@ -10120,6 +10570,70 @@
         m.Range = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 7:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field DefaultValue", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowProtomsg
            }
            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 ErrInvalidLengthProtomsg
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthProtomsg
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.DefaultValue = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 8:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field DefaultOperator", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowProtomsg
            }
            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 ErrInvalidLengthProtomsg
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthProtomsg
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.DefaultOperator = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 9:
         if wireType != 0 {
            return fmt.Errorf("proto: wrong wireType = %d for field Sort", wireType)
         }
@@ -10759,6 +11273,38 @@
         }
      case 5:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field VideoUrl", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowProtomsg
            }
            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 ErrInvalidLengthProtomsg
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthProtomsg
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.VideoUrl = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 6:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field SdkIds", wireType)
         }
         var stringLen uint64
@@ -10789,7 +11335,7 @@
         }
         m.SdkIds = append(m.SdkIds, string(dAtA[iNdEx:postIndex]))
         iNdEx = postIndex
      case 6:
      case 7:
         if wireType != 0 {
            return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
         }
@@ -11035,37 +11581,81 @@
         m.Tabs = append(m.Tabs, string(dAtA[iNdEx:postIndex]))
         iNdEx = postIndex
      case 7:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field AlarmLevel", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowProtomsg
         if wireType == 0 {
            var v int32
            for shift := uint(0); ; shift += 7 {
               if shift >= 64 {
                  return ErrIntOverflowProtomsg
               }
               if iNdEx >= l {
                  return io.ErrUnexpectedEOF
               }
               b := dAtA[iNdEx]
               iNdEx++
               v |= int32(b&0x7F) << shift
               if b < 0x80 {
                  break
               }
            }
            if iNdEx >= l {
            m.AlarmLevel = append(m.AlarmLevel, v)
         } else if wireType == 2 {
            var packedLen int
            for shift := uint(0); ; shift += 7 {
               if shift >= 64 {
                  return ErrIntOverflowProtomsg
               }
               if iNdEx >= l {
                  return io.ErrUnexpectedEOF
               }
               b := dAtA[iNdEx]
               iNdEx++
               packedLen |= int(b&0x7F) << shift
               if b < 0x80 {
                  break
               }
            }
            if packedLen < 0 {
               return ErrInvalidLengthProtomsg
            }
            postIndex := iNdEx + packedLen
            if postIndex < 0 {
               return ErrInvalidLengthProtomsg
            }
            if postIndex > l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            stringLen |= uint64(b&0x7F) << shift
            if b < 0x80 {
               break
            var elementCount int
            var count int
            for _, integer := range dAtA[iNdEx:postIndex] {
               if integer < 128 {
                  count++
               }
            }
            elementCount = count
            if elementCount != 0 && len(m.AlarmLevel) == 0 {
               m.AlarmLevel = make([]int32, 0, elementCount)
            }
            for iNdEx < postIndex {
               var v int32
               for shift := uint(0); ; shift += 7 {
                  if shift >= 64 {
                     return ErrIntOverflowProtomsg
                  }
                  if iNdEx >= l {
                     return io.ErrUnexpectedEOF
                  }
                  b := dAtA[iNdEx]
                  iNdEx++
                  v |= int32(b&0x7F) << shift
                  if b < 0x80 {
                     break
                  }
               }
               m.AlarmLevel = append(m.AlarmLevel, v)
            }
         } else {
            return fmt.Errorf("proto: wrong wireType = %d for field AlarmLevel", wireType)
         }
         intStringLen := int(stringLen)
         if intStringLen < 0 {
            return ErrInvalidLengthProtomsg
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthProtomsg
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.AlarmLevel = append(m.AlarmLevel, string(dAtA[iNdEx:postIndex]))
         iNdEx = postIndex
      case 8:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field SearchTime", wireType)
@@ -11213,6 +11803,112 @@
            return io.ErrUnexpectedEOF
         }
         m.AnalyServerId = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      default:
         iNdEx = preIndex
         skippy, err := skipProtomsg(dAtA[iNdEx:])
         if err != nil {
            return err
         }
         if skippy < 0 {
            return ErrInvalidLengthProtomsg
         }
         if (iNdEx + skippy) < 0 {
            return ErrInvalidLengthProtomsg
         }
         if (iNdEx + skippy) > l {
            return io.ErrUnexpectedEOF
         }
         iNdEx += skippy
      }
   }
   if iNdEx > l {
      return io.ErrUnexpectedEOF
   }
   return nil
}
func (m *CompareEvent) 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 ErrIntOverflowProtomsg
         }
         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: CompareEvent: wiretype end group for non-group")
      }
      if fieldNum <= 0 {
         return fmt.Errorf("proto: CompareEvent: illegal tag %d (wire type %d)", fieldNum, wire)
      }
      switch fieldNum {
      case 1:
         if wireType != 0 {
            return fmt.Errorf("proto: wrong wireType = %d for field EventType", wireType)
         }
         m.EventType = 0
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowProtomsg
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            m.EventType |= CompareEventType(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
      case 2:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Payload", wireType)
         }
         var byteLen int
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowProtomsg
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            byteLen |= int(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         if byteLen < 0 {
            return ErrInvalidLengthProtomsg
         }
         postIndex := iNdEx + byteLen
         if postIndex < 0 {
            return ErrInvalidLengthProtomsg
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.Payload = append(m.Payload[:0], dAtA[iNdEx:postIndex]...)
         if m.Payload == nil {
            m.Payload = []byte{}
         }
         iNdEx = postIndex
      default:
         iNdEx = preIndex
@@ -12378,6 +13074,255 @@
   }
   return nil
}
func (m *PushAttach) 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 ErrIntOverflowProtomsg
         }
         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: PushAttach: wiretype end group for non-group")
      }
      if fieldNum <= 0 {
         return fmt.Errorf("proto: PushAttach: illegal tag %d (wire type %d)", fieldNum, wire)
      }
      switch fieldNum {
      case 1:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field PushId", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowProtomsg
            }
            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 ErrInvalidLengthProtomsg
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthProtomsg
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.PushId = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 2:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Cam", wireType)
         }
         var msglen int
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowProtomsg
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            msglen |= int(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         if msglen < 0 {
            return ErrInvalidLengthProtomsg
         }
         postIndex := iNdEx + msglen
         if postIndex < 0 {
            return ErrInvalidLengthProtomsg
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         if m.Cam == nil {
            m.Cam = &Camera{}
         }
         if err := m.Cam.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
            return err
         }
         iNdEx = postIndex
      case 3:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field ServerId", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowProtomsg
            }
            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 ErrInvalidLengthProtomsg
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthProtomsg
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.ServerId = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 4:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field ServerName", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowProtomsg
            }
            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 ErrInvalidLengthProtomsg
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthProtomsg
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.ServerName = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 5:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field LocalIp", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowProtomsg
            }
            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 ErrInvalidLengthProtomsg
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthProtomsg
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.LocalIp = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 6:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field VideoUrl", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowProtomsg
            }
            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 ErrInvalidLengthProtomsg
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthProtomsg
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.VideoUrl = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      default:
         iNdEx = preIndex
         skippy, err := skipProtomsg(dAtA[iNdEx:])
         if err != nil {
            return err
         }
         if skippy < 0 {
            return ErrInvalidLengthProtomsg
         }
         if (iNdEx + skippy) < 0 {
            return ErrInvalidLengthProtomsg
         }
         if (iNdEx + skippy) > l {
            return io.ErrUnexpectedEOF
         }
         iNdEx += skippy
      }
   }
   if iNdEx > l {
      return io.ErrUnexpectedEOF
   }
   return nil
}
func (m *EsPersonCacheChange) Unmarshal(dAtA []byte) error {
   l := len(dAtA)
   iNdEx := 0
@@ -12408,6 +13353,25 @@
      }
      switch fieldNum {
      case 1:
         if wireType != 0 {
            return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
         }
         m.Type = 0
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowProtomsg
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            m.Type |= EsCacheChanged(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
      case 2:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field TableId", wireType)
         }
@@ -12437,9 +13401,9 @@
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.TableId = string(dAtA[iNdEx:postIndex])
         m.TableId = append(m.TableId, string(dAtA[iNdEx:postIndex]))
         iNdEx = postIndex
      case 2:
      case 3:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field PersonId", wireType)
         }
@@ -12471,11 +13435,11 @@
         }
         m.PersonId = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 3:
      case 4:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Feature", wireType)
         }
         var byteLen int
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowProtomsg
@@ -12485,27 +13449,25 @@
            }
            b := dAtA[iNdEx]
            iNdEx++
            byteLen |= int(b&0x7F) << shift
            stringLen |= uint64(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         if byteLen < 0 {
         intStringLen := int(stringLen)
         if intStringLen < 0 {
            return ErrInvalidLengthProtomsg
         }
         postIndex := iNdEx + byteLen
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthProtomsg
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.Feature = append(m.Feature[:0], dAtA[iNdEx:postIndex]...)
         if m.Feature == nil {
            m.Feature = []byte{}
         }
         m.Feature = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 4:
      case 5:
         if wireType != 0 {
            return fmt.Errorf("proto: wrong wireType = %d for field Action", wireType)
         }
@@ -12524,6 +13486,25 @@
               break
            }
         }
      case 6:
         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 ErrIntOverflowProtomsg
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            m.Enable |= int32(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
      default:
         iNdEx = preIndex
         skippy, err := skipProtomsg(dAtA[iNdEx:])