zhangzengfei
2024-05-08 e2c32868dc935c0f9773b51ed88de5e94b2ea874
protomsg.pb.go
New file
@@ -0,0 +1,3695 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: protomsg.proto
package protomsg
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
// TableChanged enum
type TableChanged int32
const (
   TableChanged_T_Camera                TableChanged = 0
   TableChanged_T_CameraRule            TableChanged = 1
   TableChanged_T_Sdk                   TableChanged = 2
   TableChanged_T_CameraPolygon         TableChanged = 3
   TableChanged_T_TimeRule              TableChanged = 4
   TableChanged_T_Server                TableChanged = 5
   TableChanged_T_PollConfig            TableChanged = 6
   TableChanged_T_File                  TableChanged = 7
   TableChanged_T_FileSetting           TableChanged = 8
   TableChanged_T_SdkChanSet            TableChanged = 9
   TableChanged_T_FileStack             TableChanged = 10
   TableChanged_T_ResourceConfig        TableChanged = 11
   TableChanged_T_CalculationPower      TableChanged = 12
   TableChanged_T_EventPush             TableChanged = 13
   TableChanged_T_Cluster               TableChanged = 14
   TableChanged_T_CameraPolygonRelation TableChanged = 15
   TableChanged_T_Voice                 TableChanged = 16
)
var TableChanged_name = map[int32]string{
   0:  "T_Camera",
   1:  "T_CameraRule",
   2:  "T_Sdk",
   3:  "T_CameraPolygon",
   4:  "T_TimeRule",
   5:  "T_Server",
   6:  "T_PollConfig",
   7:  "T_File",
   8:  "T_FileSetting",
   9:  "T_SdkChanSet",
   10: "T_FileStack",
   11: "T_ResourceConfig",
   12: "T_CalculationPower",
   13: "T_EventPush",
   14: "T_Cluster",
   15: "T_CameraPolygonRelation",
   16: "T_Voice",
}
var TableChanged_value = map[string]int32{
   "T_Camera":                0,
   "T_CameraRule":            1,
   "T_Sdk":                   2,
   "T_CameraPolygon":         3,
   "T_TimeRule":              4,
   "T_Server":                5,
   "T_PollConfig":            6,
   "T_File":                  7,
   "T_FileSetting":           8,
   "T_SdkChanSet":            9,
   "T_FileStack":             10,
   "T_ResourceConfig":        11,
   "T_CalculationPower":      12,
   "T_EventPush":             13,
   "T_Cluster":               14,
   "T_CameraPolygonRelation": 15,
   "T_Voice":                 16,
}
func (x TableChanged) String() string {
   return proto.EnumName(TableChanged_name, int32(x))
}
func (TableChanged) EnumDescriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{0}
}
type DbAction int32
const (
   DbAction_Insert DbAction = 0
   DbAction_Update DbAction = 1
   DbAction_Delete DbAction = 2
)
var DbAction_name = map[int32]string{
   0: "Insert",
   1: "Update",
   2: "Delete",
}
var DbAction_value = map[string]int32{
   "Insert": 0,
   "Update": 1,
   "Delete": 2,
}
func (x DbAction) String() string {
   return proto.EnumName(DbAction_name, int32(x))
}
func (DbAction) EnumDescriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{1}
}
type CompareEventType int32
const (
   CompareEventType_ReInitCache CompareEventType = 0
   CompareEventType_UpdateCache CompareEventType = 1
   CompareEventType_Compare     CompareEventType = 2
   CompareEventType_DeleteCache CompareEventType = 3
)
var CompareEventType_name = map[int32]string{
   0: "ReInitCache",
   1: "UpdateCache",
   2: "Compare",
   3: "DeleteCache",
}
var CompareEventType_value = map[string]int32{
   "ReInitCache": 0,
   "UpdateCache": 1,
   "Compare":     2,
   "DeleteCache": 3,
}
func (x CompareEventType) String() string {
   return proto.EnumName(CompareEventType_name, int32(x))
}
func (CompareEventType) EnumDescriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []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_protomsg_ab9bd340535ac30f, []int{3}
}
// Area结构体
type Area struct {
   Id                   int32    `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
   Parentid             int32    `protobuf:"varint,2,opt,name=parentid,proto3" json:"parentid,omitempty"`
   Name                 string   `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *Area) Reset()         { *m = Area{} }
func (m *Area) String() string { return proto.CompactTextString(m) }
func (*Area) ProtoMessage()    {}
func (*Area) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{0}
}
func (m *Area) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Area.Unmarshal(m, b)
}
func (m *Area) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Area.Marshal(b, m, deterministic)
}
func (dst *Area) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Area.Merge(dst, src)
}
func (m *Area) XXX_Size() int {
   return xxx_messageInfo_Area.Size(m)
}
func (m *Area) XXX_DiscardUnknown() {
   xxx_messageInfo_Area.DiscardUnknown(m)
}
var xxx_messageInfo_Area proto.InternalMessageInfo
func (m *Area) GetId() int32 {
   if m != nil {
      return m.Id
   }
   return 0
}
func (m *Area) GetParentid() int32 {
   if m != nil {
      return m.Parentid
   }
   return 0
}
func (m *Area) GetName() string {
   if m != nil {
      return m.Name
   }
   return ""
}
// Camera结构体
type Camera struct {
   Id                   string    `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Name                 string    `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   Alias                string    `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"`
   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"`
   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"`
   Username             string    `protobuf:"bytes,13,opt,name=username,proto3" json:"username,omitempty"`
   Password             string    `protobuf:"bytes,14,opt,name=password,proto3" json:"password,omitempty"`
   Brand                string    `protobuf:"bytes,15,opt,name=brand,proto3" json:"brand,omitempty"`
   Reserved             string    `protobuf:"bytes,16,opt,name=reserved,proto3" json:"reserved,omitempty"`
   IsRunning            bool      `protobuf:"varint,17,opt,name=is_running,json=isRunning,proto3" json:"is_running,omitempty"`
   RunEnable            bool      `protobuf:"varint,18,opt,name=run_enable,json=runEnable,proto3" json:"run_enable,omitempty"`
   RunType              int32     `protobuf:"varint,19,opt,name=run_type,json=runType,proto3" json:"run_type,omitempty"`
   RunServerId          string    `protobuf:"bytes,20,opt,name=run_server_id,json=runServerId,proto3" json:"run_server_id,omitempty"`
   ResolutionWidth      int32     `protobuf:"varint,21,opt,name=resolution_width,json=resolutionWidth,proto3" json:"resolution_width,omitempty"`
   ResolutionHeight     int32     `protobuf:"varint,22,opt,name=resolution_height,json=resolutionHeight,proto3" json:"resolution_height,omitempty"`
   Fps                  int32     `protobuf:"varint,23,opt,name=fps,proto3" json:"fps,omitempty"`
   Sensors              []*Sensor `protobuf:"bytes,24,rep,name=sensors,proto3" json:"sensors,omitempty"`
   VoiceEnable          bool      `protobuf:"varint,25,opt,name=voiceEnable,proto3" json:"voiceEnable,omitempty"`
   VoiceId              string    `protobuf:"bytes,26,opt,name=voiceId,proto3" json:"voiceId,omitempty"`
   CoordTransform       string    `protobuf:"bytes,27,opt,name=coordTransform,proto3" json:"coordTransform,omitempty"`
   Status               int32     `protobuf:"varint,28,opt,name=status,proto3" json:"status,omitempty"`
   XXX_NoUnkeyedLiteral struct{}  `json:"-"`
   XXX_unrecognized     []byte    `json:"-"`
   XXX_sizecache        int32     `json:"-"`
}
func (m *Camera) Reset()         { *m = Camera{} }
func (m *Camera) String() string { return proto.CompactTextString(m) }
func (*Camera) ProtoMessage()    {}
func (*Camera) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{1}
}
func (m *Camera) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Camera.Unmarshal(m, b)
}
func (m *Camera) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Camera.Marshal(b, m, deterministic)
}
func (dst *Camera) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Camera.Merge(dst, src)
}
func (m *Camera) XXX_Size() int {
   return xxx_messageInfo_Camera.Size(m)
}
func (m *Camera) XXX_DiscardUnknown() {
   xxx_messageInfo_Camera.DiscardUnknown(m)
}
var xxx_messageInfo_Camera proto.InternalMessageInfo
func (m *Camera) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *Camera) GetName() string {
   if m != nil {
      return m.Name
   }
   return ""
}
func (m *Camera) GetAlias() string {
   if m != nil {
      return m.Alias
   }
   return ""
}
func (m *Camera) GetSnapshotUrl() string {
   if m != nil {
      return m.SnapshotUrl
   }
   return ""
}
func (m *Camera) GetType() int32 {
   if m != nil {
      return m.Type
   }
   return 0
}
func (m *Camera) GetAddr() string {
   if m != nil {
      return m.Addr
   }
   return ""
}
func (m *Camera) GetLongitude() float32 {
   if m != nil {
      return m.Longitude
   }
   return 0
}
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
}
func (m *Camera) GetRtsp() string {
   if m != nil {
      return m.Rtsp
   }
   return ""
}
func (m *Camera) GetIp() string {
   if m != nil {
      return m.Ip
   }
   return ""
}
func (m *Camera) GetPort() int32 {
   if m != nil {
      return m.Port
   }
   return 0
}
func (m *Camera) GetUsername() string {
   if m != nil {
      return m.Username
   }
   return ""
}
func (m *Camera) GetPassword() string {
   if m != nil {
      return m.Password
   }
   return ""
}
func (m *Camera) GetBrand() string {
   if m != nil {
      return m.Brand
   }
   return ""
}
func (m *Camera) GetReserved() string {
   if m != nil {
      return m.Reserved
   }
   return ""
}
func (m *Camera) GetIsRunning() bool {
   if m != nil {
      return m.IsRunning
   }
   return false
}
func (m *Camera) GetRunEnable() bool {
   if m != nil {
      return m.RunEnable
   }
   return false
}
func (m *Camera) GetRunType() int32 {
   if m != nil {
      return m.RunType
   }
   return 0
}
func (m *Camera) GetRunServerId() string {
   if m != nil {
      return m.RunServerId
   }
   return ""
}
func (m *Camera) GetResolutionWidth() int32 {
   if m != nil {
      return m.ResolutionWidth
   }
   return 0
}
func (m *Camera) GetResolutionHeight() int32 {
   if m != nil {
      return m.ResolutionHeight
   }
   return 0
}
func (m *Camera) GetFps() int32 {
   if m != nil {
      return m.Fps
   }
   return 0
}
func (m *Camera) GetSensors() []*Sensor {
   if m != nil {
      return m.Sensors
   }
   return nil
}
func (m *Camera) GetVoiceEnable() bool {
   if m != nil {
      return m.VoiceEnable
   }
   return false
}
func (m *Camera) GetVoiceId() string {
   if m != nil {
      return m.VoiceId
   }
   return ""
}
func (m *Camera) GetCoordTransform() string {
   if m != nil {
      return m.CoordTransform
   }
   return ""
}
func (m *Camera) GetStatus() int32 {
   if m != nil {
      return m.Status
   }
   return 0
}
type Sensor struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Type                 string   `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
   Ip                   string   `protobuf:"bytes,3,opt,name=ip,proto3" json:"ip,omitempty"`
   Port                 int32    `protobuf:"varint,4,opt,name=port,proto3" json:"port,omitempty"`
   Username             string   `protobuf:"bytes,5,opt,name=username,proto3" json:"username,omitempty"`
   Password             string   `protobuf:"bytes,6,opt,name=password,proto3" json:"password,omitempty"`
   Threshold            int32    `protobuf:"varint,7,opt,name=threshold,proto3" json:"threshold,omitempty"`
   Enable               bool     `protobuf:"varint,8,opt,name=enable,proto3" json:"enable,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *Sensor) Reset()         { *m = Sensor{} }
func (m *Sensor) String() string { return proto.CompactTextString(m) }
func (*Sensor) ProtoMessage()    {}
func (*Sensor) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{2}
}
func (m *Sensor) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Sensor.Unmarshal(m, b)
}
func (m *Sensor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Sensor.Marshal(b, m, deterministic)
}
func (dst *Sensor) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Sensor.Merge(dst, src)
}
func (m *Sensor) XXX_Size() int {
   return xxx_messageInfo_Sensor.Size(m)
}
func (m *Sensor) XXX_DiscardUnknown() {
   xxx_messageInfo_Sensor.DiscardUnknown(m)
}
var xxx_messageInfo_Sensor proto.InternalMessageInfo
func (m *Sensor) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *Sensor) GetType() string {
   if m != nil {
      return m.Type
   }
   return ""
}
func (m *Sensor) GetIp() string {
   if m != nil {
      return m.Ip
   }
   return ""
}
func (m *Sensor) GetPort() int32 {
   if m != nil {
      return m.Port
   }
   return 0
}
func (m *Sensor) GetUsername() string {
   if m != nil {
      return m.Username
   }
   return ""
}
func (m *Sensor) GetPassword() string {
   if m != nil {
      return m.Password
   }
   return ""
}
func (m *Sensor) GetThreshold() int32 {
   if m != nil {
      return m.Threshold
   }
   return 0
}
func (m *Sensor) GetEnable() bool {
   if m != nil {
      return m.Enable
   }
   return false
}
// 摄像机联动
type CameraLink struct {
   CameraIds            string   `protobuf:"bytes,1,opt,name=camera_ids,json=cameraIds,proto3" json:"camera_ids,omitempty"`
   LinkTaskId           string   `protobuf:"bytes,2,opt,name=link_task_id,json=linkTaskId,proto3" json:"link_task_id,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *CameraLink) Reset()         { *m = CameraLink{} }
func (m *CameraLink) String() string { return proto.CompactTextString(m) }
func (*CameraLink) ProtoMessage()    {}
func (*CameraLink) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{3}
}
func (m *CameraLink) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CameraLink.Unmarshal(m, b)
}
func (m *CameraLink) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CameraLink.Marshal(b, m, deterministic)
}
func (dst *CameraLink) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraLink.Merge(dst, src)
}
func (m *CameraLink) XXX_Size() int {
   return xxx_messageInfo_CameraLink.Size(m)
}
func (m *CameraLink) XXX_DiscardUnknown() {
   xxx_messageInfo_CameraLink.DiscardUnknown(m)
}
var xxx_messageInfo_CameraLink proto.InternalMessageInfo
func (m *CameraLink) GetCameraIds() string {
   if m != nil {
      return m.CameraIds
   }
   return ""
}
func (m *CameraLink) GetLinkTaskId() string {
   if m != nil {
      return m.LinkTaskId
   }
   return ""
}
type SdkRun struct {
   IpcId                string   `protobuf:"bytes,1,opt,name=ipc_id,json=ipcId,proto3" json:"ipc_id,omitempty"`
   SdkType              string   `protobuf:"bytes,2,opt,name=sdk_type,json=sdkType,proto3" json:"sdk_type,omitempty"`
   IsTriggerByPreSdk    int32    `protobuf:"varint,3,opt,name=isTriggerByPreSdk,proto3" json:"isTriggerByPreSdk,omitempty"`
   Confidence           int32    `protobuf:"varint,4,opt,name=confidence,proto3" json:"confidence,omitempty"`
   BReid                bool     `protobuf:"varint,5,opt,name=bReid,proto3" json:"bReid,omitempty"`
   TriggerNextSdkType   int32    `protobuf:"varint,6,opt,name=triggerNextSdkType,proto3" json:"triggerNextSdkType,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *SdkRun) Reset()         { *m = SdkRun{} }
func (m *SdkRun) String() string { return proto.CompactTextString(m) }
func (*SdkRun) ProtoMessage()    {}
func (*SdkRun) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{4}
}
func (m *SdkRun) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_SdkRun.Unmarshal(m, b)
}
func (m *SdkRun) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_SdkRun.Marshal(b, m, deterministic)
}
func (dst *SdkRun) XXX_Merge(src proto.Message) {
   xxx_messageInfo_SdkRun.Merge(dst, src)
}
func (m *SdkRun) XXX_Size() int {
   return xxx_messageInfo_SdkRun.Size(m)
}
func (m *SdkRun) XXX_DiscardUnknown() {
   xxx_messageInfo_SdkRun.DiscardUnknown(m)
}
var xxx_messageInfo_SdkRun proto.InternalMessageInfo
func (m *SdkRun) GetIpcId() string {
   if m != nil {
      return m.IpcId
   }
   return ""
}
func (m *SdkRun) GetSdkType() string {
   if m != nil {
      return m.SdkType
   }
   return ""
}
func (m *SdkRun) GetIsTriggerByPreSdk() int32 {
   if m != nil {
      return m.IsTriggerByPreSdk
   }
   return 0
}
func (m *SdkRun) GetConfidence() int32 {
   if m != nil {
      return m.Confidence
   }
   return 0
}
func (m *SdkRun) GetBReid() bool {
   if m != nil {
      return m.BReid
   }
   return false
}
func (m *SdkRun) GetTriggerNextSdkType() int32 {
   if m != nil {
      return m.TriggerNextSdkType
   }
   return 0
}
// 摄像机布防的时间规则,可以设置多个,用id关联到具体的规则配置中
type CameraTimerule struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Name                 string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   TimeRule             string   `protobuf:"bytes,3,opt,name=time_rule,json=timeRule,proto3" json:"time_rule,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *CameraTimerule) Reset()         { *m = CameraTimerule{} }
func (m *CameraTimerule) String() string { return proto.CompactTextString(m) }
func (*CameraTimerule) ProtoMessage()    {}
func (*CameraTimerule) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{5}
}
func (m *CameraTimerule) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CameraTimerule.Unmarshal(m, b)
}
func (m *CameraTimerule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CameraTimerule.Marshal(b, m, deterministic)
}
func (dst *CameraTimerule) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraTimerule.Merge(dst, src)
}
func (m *CameraTimerule) XXX_Size() int {
   return xxx_messageInfo_CameraTimerule.Size(m)
}
func (m *CameraTimerule) XXX_DiscardUnknown() {
   xxx_messageInfo_CameraTimerule.DiscardUnknown(m)
}
var xxx_messageInfo_CameraTimerule proto.InternalMessageInfo
func (m *CameraTimerule) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *CameraTimerule) GetName() string {
   if m != nil {
      return m.Name
   }
   return ""
}
func (m *CameraTimerule) GetTimeRule() string {
   if m != nil {
      return m.TimeRule
   }
   return ""
}
// DayCtl struct   每天的时间控制规则
type DayCtl struct {
   Day                  int32        `protobuf:"varint,1,opt,name=day,proto3" json:"day,omitempty"`
   TimeRange            []*TimeRange `protobuf:"bytes,2,rep,name=time_range,json=timeRange,proto3" json:"time_range,omitempty"`
   XXX_NoUnkeyedLiteral struct{}     `json:"-"`
   XXX_unrecognized     []byte       `json:"-"`
   XXX_sizecache        int32        `json:"-"`
}
func (m *DayCtl) Reset()         { *m = DayCtl{} }
func (m *DayCtl) String() string { return proto.CompactTextString(m) }
func (*DayCtl) ProtoMessage()    {}
func (*DayCtl) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{6}
}
func (m *DayCtl) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_DayCtl.Unmarshal(m, b)
}
func (m *DayCtl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_DayCtl.Marshal(b, m, deterministic)
}
func (dst *DayCtl) XXX_Merge(src proto.Message) {
   xxx_messageInfo_DayCtl.Merge(dst, src)
}
func (m *DayCtl) XXX_Size() int {
   return xxx_messageInfo_DayCtl.Size(m)
}
func (m *DayCtl) XXX_DiscardUnknown() {
   xxx_messageInfo_DayCtl.DiscardUnknown(m)
}
var xxx_messageInfo_DayCtl proto.InternalMessageInfo
func (m *DayCtl) GetDay() int32 {
   if m != nil {
      return m.Day
   }
   return 0
}
func (m *DayCtl) GetTimeRange() []*TimeRange {
   if m != nil {
      return m.TimeRange
   }
   return nil
}
// 时间起始范围
type TimeRange struct {
   Start                string   `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"`
   End                  string   `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *TimeRange) Reset()         { *m = TimeRange{} }
func (m *TimeRange) String() string { return proto.CompactTextString(m) }
func (*TimeRange) ProtoMessage()    {}
func (*TimeRange) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{7}
}
func (m *TimeRange) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_TimeRange.Unmarshal(m, b)
}
func (m *TimeRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_TimeRange.Marshal(b, m, deterministic)
}
func (dst *TimeRange) XXX_Merge(src proto.Message) {
   xxx_messageInfo_TimeRange.Merge(dst, src)
}
func (m *TimeRange) XXX_Size() int {
   return xxx_messageInfo_TimeRange.Size(m)
}
func (m *TimeRange) XXX_DiscardUnknown() {
   xxx_messageInfo_TimeRange.DiscardUnknown(m)
}
var xxx_messageInfo_TimeRange proto.InternalMessageInfo
func (m *TimeRange) GetStart() string {
   if m != nil {
      return m.Start
   }
   return ""
}
func (m *TimeRange) GetEnd() string {
   if m != nil {
      return m.End
   }
   return ""
}
// Polygon struct
type Polygon struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Name                 string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   Points               []*Point `protobuf:"bytes,3,rep,name=points,proto3" json:"points,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *Polygon) Reset()         { *m = Polygon{} }
func (m *Polygon) String() string { return proto.CompactTextString(m) }
func (*Polygon) ProtoMessage()    {}
func (*Polygon) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{8}
}
func (m *Polygon) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Polygon.Unmarshal(m, b)
}
func (m *Polygon) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Polygon.Marshal(b, m, deterministic)
}
func (dst *Polygon) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Polygon.Merge(dst, src)
}
func (m *Polygon) XXX_Size() int {
   return xxx_messageInfo_Polygon.Size(m)
}
func (m *Polygon) XXX_DiscardUnknown() {
   xxx_messageInfo_Polygon.DiscardUnknown(m)
}
var xxx_messageInfo_Polygon proto.InternalMessageInfo
func (m *Polygon) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *Polygon) GetName() string {
   if m != nil {
      return m.Name
   }
   return ""
}
func (m *Polygon) GetPoints() []*Point {
   if m != nil {
      return m.Points
   }
   return nil
}
type CameraInfo struct {
   RunServerName        string   `protobuf:"bytes,1,opt,name=runServerName,proto3" json:"runServerName,omitempty"`
   Id                   string   `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
   Name                 string   `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
   RunType              int32    `protobuf:"varint,4,opt,name=run_type,json=runType,proto3" json:"run_type,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *CameraInfo) Reset()         { *m = CameraInfo{} }
func (m *CameraInfo) String() string { return proto.CompactTextString(m) }
func (*CameraInfo) ProtoMessage()    {}
func (*CameraInfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{9}
}
func (m *CameraInfo) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CameraInfo.Unmarshal(m, b)
}
func (m *CameraInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CameraInfo.Marshal(b, m, deterministic)
}
func (dst *CameraInfo) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraInfo.Merge(dst, src)
}
func (m *CameraInfo) XXX_Size() int {
   return xxx_messageInfo_CameraInfo.Size(m)
}
func (m *CameraInfo) XXX_DiscardUnknown() {
   xxx_messageInfo_CameraInfo.DiscardUnknown(m)
}
var xxx_messageInfo_CameraInfo proto.InternalMessageInfo
func (m *CameraInfo) GetRunServerName() string {
   if m != nil {
      return m.RunServerName
   }
   return ""
}
func (m *CameraInfo) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *CameraInfo) GetName() string {
   if m != nil {
      return m.Name
   }
   return ""
}
func (m *CameraInfo) GetRunType() int32 {
   if m != nil {
      return m.RunType
   }
   return 0
}
type CameraAndRules struct {
   CameraInfo           *CameraInfo  `protobuf:"bytes,1,opt,name=cameraInfo,proto3" json:"cameraInfo,omitempty"`
   Rules                []*GroupRule `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"`
   XXX_NoUnkeyedLiteral struct{}     `json:"-"`
   XXX_unrecognized     []byte       `json:"-"`
   XXX_sizecache        int32        `json:"-"`
}
func (m *CameraAndRules) Reset()         { *m = CameraAndRules{} }
func (m *CameraAndRules) String() string { return proto.CompactTextString(m) }
func (*CameraAndRules) ProtoMessage()    {}
func (*CameraAndRules) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{10}
}
func (m *CameraAndRules) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CameraAndRules.Unmarshal(m, b)
}
func (m *CameraAndRules) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CameraAndRules.Marshal(b, m, deterministic)
}
func (dst *CameraAndRules) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraAndRules.Merge(dst, src)
}
func (m *CameraAndRules) XXX_Size() int {
   return xxx_messageInfo_CameraAndRules.Size(m)
}
func (m *CameraAndRules) XXX_DiscardUnknown() {
   xxx_messageInfo_CameraAndRules.DiscardUnknown(m)
}
var xxx_messageInfo_CameraAndRules proto.InternalMessageInfo
func (m *CameraAndRules) GetCameraInfo() *CameraInfo {
   if m != nil {
      return m.CameraInfo
   }
   return nil
}
func (m *CameraAndRules) GetRules() []*GroupRule {
   if m != nil {
      return m.Rules
   }
   return nil
}
type GroupRule struct {
   CameraIds            []string `protobuf:"bytes,1,rep,name=cameraIds,proto3" json:"cameraIds,omitempty"`
   Id                   string   `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
   GroupText            string   `protobuf:"bytes,3,opt,name=group_text,json=groupText,proto3" json:"group_text,omitempty"`
   AlarmLevel           int32    `protobuf:"varint,4,opt,name=alarm_level,json=alarmLevel,proto3" json:"alarm_level,omitempty"`
   Rules                []*Rule  `protobuf:"bytes,5,rep,name=rules,proto3" json:"rules,omitempty"`
   SetType              string   `protobuf:"bytes,6,opt,name=set_type,json=setType,proto3" json:"set_type,omitempty"`
   TemplateId           string   `protobuf:"bytes,7,opt,name=template_id,json=templateId,proto3" json:"template_id,omitempty"`
   TemplateRule         string   `protobuf:"bytes,8,opt,name=template_rule,json=templateRule,proto3" json:"template_rule,omitempty"`
   TimeRuleId           string   `protobuf:"bytes,9,opt,name=time_rule_id,json=timeRuleId,proto3" json:"time_rule_id,omitempty"`
   SceneName            string   `protobuf:"bytes,10,opt,name=scene_name,json=sceneName,proto3" json:"scene_name,omitempty"`
   Desc                 string   `protobuf:"bytes,11,opt,name=desc,proto3" json:"desc,omitempty"`
   Enable               bool     `protobuf:"varint,12,opt,name=enable,proto3" json:"enable,omitempty"`
   VoiceId              string   `protobuf:"bytes,13,opt,name=voiceId,proto3" json:"voiceId,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *GroupRule) Reset()         { *m = GroupRule{} }
func (m *GroupRule) String() string { return proto.CompactTextString(m) }
func (*GroupRule) ProtoMessage()    {}
func (*GroupRule) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{11}
}
func (m *GroupRule) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_GroupRule.Unmarshal(m, b)
}
func (m *GroupRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_GroupRule.Marshal(b, m, deterministic)
}
func (dst *GroupRule) XXX_Merge(src proto.Message) {
   xxx_messageInfo_GroupRule.Merge(dst, src)
}
func (m *GroupRule) XXX_Size() int {
   return xxx_messageInfo_GroupRule.Size(m)
}
func (m *GroupRule) XXX_DiscardUnknown() {
   xxx_messageInfo_GroupRule.DiscardUnknown(m)
}
var xxx_messageInfo_GroupRule proto.InternalMessageInfo
func (m *GroupRule) GetCameraIds() []string {
   if m != nil {
      return m.CameraIds
   }
   return nil
}
func (m *GroupRule) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *GroupRule) GetGroupText() string {
   if m != nil {
      return m.GroupText
   }
   return ""
}
func (m *GroupRule) GetAlarmLevel() int32 {
   if m != nil {
      return m.AlarmLevel
   }
   return 0
}
func (m *GroupRule) GetRules() []*Rule {
   if m != nil {
      return m.Rules
   }
   return nil
}
func (m *GroupRule) GetSetType() string {
   if m != nil {
      return m.SetType
   }
   return ""
}
func (m *GroupRule) GetTemplateId() string {
   if m != nil {
      return m.TemplateId
   }
   return ""
}
func (m *GroupRule) GetTemplateRule() string {
   if m != nil {
      return m.TemplateRule
   }
   return ""
}
func (m *GroupRule) GetTimeRuleId() string {
   if m != nil {
      return m.TimeRuleId
   }
   return ""
}
func (m *GroupRule) GetSceneName() string {
   if m != nil {
      return m.SceneName
   }
   return ""
}
func (m *GroupRule) GetDesc() string {
   if m != nil {
      return m.Desc
   }
   return ""
}
func (m *GroupRule) GetEnable() bool {
   if m != nil {
      return m.Enable
   }
   return false
}
func (m *GroupRule) GetVoiceId() string {
   if m != nil {
      return m.VoiceId
   }
   return ""
}
type GroupRuleSdks struct {
   Id                   string    `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   SceneName            string    `protobuf:"bytes,2,opt,name=scene_name,json=sceneName,proto3" json:"scene_name,omitempty"`
   Sdks                 []*SdkRun `protobuf:"bytes,3,rep,name=sdks,proto3" json:"sdks,omitempty"`
   SdkIds               []string  `protobuf:"bytes,4,rep,name=sdkIds,proto3" json:"sdkIds,omitempty"`
   XXX_NoUnkeyedLiteral struct{}  `json:"-"`
   XXX_unrecognized     []byte    `json:"-"`
   XXX_sizecache        int32     `json:"-"`
}
func (m *GroupRuleSdks) Reset()         { *m = GroupRuleSdks{} }
func (m *GroupRuleSdks) String() string { return proto.CompactTextString(m) }
func (*GroupRuleSdks) ProtoMessage()    {}
func (*GroupRuleSdks) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{12}
}
func (m *GroupRuleSdks) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_GroupRuleSdks.Unmarshal(m, b)
}
func (m *GroupRuleSdks) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_GroupRuleSdks.Marshal(b, m, deterministic)
}
func (dst *GroupRuleSdks) XXX_Merge(src proto.Message) {
   xxx_messageInfo_GroupRuleSdks.Merge(dst, src)
}
func (m *GroupRuleSdks) XXX_Size() int {
   return xxx_messageInfo_GroupRuleSdks.Size(m)
}
func (m *GroupRuleSdks) XXX_DiscardUnknown() {
   xxx_messageInfo_GroupRuleSdks.DiscardUnknown(m)
}
var xxx_messageInfo_GroupRuleSdks proto.InternalMessageInfo
func (m *GroupRuleSdks) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *GroupRuleSdks) GetSceneName() string {
   if m != nil {
      return m.SceneName
   }
   return ""
}
func (m *GroupRuleSdks) GetSdks() []*SdkRun {
   if m != nil {
      return m.Sdks
   }
   return nil
}
func (m *GroupRuleSdks) GetSdkIds() []string {
   if m != nil {
      return m.SdkIds
   }
   return nil
}
type Rule struct {
   Id                   string        `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   CameraId             string        `protobuf:"bytes,2,opt,name=camera_id,json=cameraId,proto3" json:"camera_id,omitempty"`
   PolygonId            string        `protobuf:"bytes,3,opt,name=polygon_id,json=polygonId,proto3" json:"polygon_id,omitempty"`
   SdkId                string        `protobuf:"bytes,4,opt,name=sdk_id,json=sdkId,proto3" json:"sdk_id,omitempty"`
   SdkSet               []*SdkSetBase `protobuf:"bytes,5,rep,name=sdk_set,json=sdkSet,proto3" json:"sdk_set,omitempty"`
   RuleWithPre          string        `protobuf:"bytes,6,opt,name=rule_with_pre,json=ruleWithPre,proto3" json:"rule_with_pre,omitempty"`
   IsSaveAnyhow         bool          `protobuf:"varint,7,opt,name=is_save_anyhow,json=isSaveAnyhow,proto3" json:"is_save_anyhow,omitempty"`
   GroupId              string        `protobuf:"bytes,8,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
   Sort                 int32         `protobuf:"varint,9,opt,name=sort,proto3" json:"sort,omitempty"`
   XXX_NoUnkeyedLiteral struct{}      `json:"-"`
   XXX_unrecognized     []byte        `json:"-"`
   XXX_sizecache        int32         `json:"-"`
}
func (m *Rule) Reset()         { *m = Rule{} }
func (m *Rule) String() string { return proto.CompactTextString(m) }
func (*Rule) ProtoMessage()    {}
func (*Rule) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{13}
}
func (m *Rule) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Rule.Unmarshal(m, b)
}
func (m *Rule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Rule.Marshal(b, m, deterministic)
}
func (dst *Rule) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Rule.Merge(dst, src)
}
func (m *Rule) XXX_Size() int {
   return xxx_messageInfo_Rule.Size(m)
}
func (m *Rule) XXX_DiscardUnknown() {
   xxx_messageInfo_Rule.DiscardUnknown(m)
}
var xxx_messageInfo_Rule proto.InternalMessageInfo
func (m *Rule) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *Rule) GetCameraId() string {
   if m != nil {
      return m.CameraId
   }
   return ""
}
func (m *Rule) GetPolygonId() string {
   if m != nil {
      return m.PolygonId
   }
   return ""
}
func (m *Rule) GetSdkId() string {
   if m != nil {
      return m.SdkId
   }
   return ""
}
func (m *Rule) GetSdkSet() []*SdkSetBase {
   if m != nil {
      return m.SdkSet
   }
   return nil
}
func (m *Rule) GetRuleWithPre() string {
   if m != nil {
      return m.RuleWithPre
   }
   return ""
}
func (m *Rule) GetIsSaveAnyhow() bool {
   if m != nil {
      return m.IsSaveAnyhow
   }
   return false
}
func (m *Rule) GetGroupId() string {
   if m != nil {
      return m.GroupId
   }
   return ""
}
func (m *Rule) GetSort() int32 {
   if m != nil {
      return m.Sort
   }
   return 0
}
type RuleTemplate struct {
   Id                   string         `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Name                 string         `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   Desc                 string         `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"`
   Txt                  string         `protobuf:"bytes,4,opt,name=txt,proto3" json:"txt,omitempty"`
   Rules                []*TemplateArg `protobuf:"bytes,5,rep,name=rules,proto3" json:"rules,omitempty"`
   XXX_NoUnkeyedLiteral struct{}       `json:"-"`
   XXX_unrecognized     []byte         `json:"-"`
   XXX_sizecache        int32          `json:"-"`
}
func (m *RuleTemplate) Reset()         { *m = RuleTemplate{} }
func (m *RuleTemplate) String() string { return proto.CompactTextString(m) }
func (*RuleTemplate) ProtoMessage()    {}
func (*RuleTemplate) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{14}
}
func (m *RuleTemplate) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_RuleTemplate.Unmarshal(m, b)
}
func (m *RuleTemplate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_RuleTemplate.Marshal(b, m, deterministic)
}
func (dst *RuleTemplate) XXX_Merge(src proto.Message) {
   xxx_messageInfo_RuleTemplate.Merge(dst, src)
}
func (m *RuleTemplate) XXX_Size() int {
   return xxx_messageInfo_RuleTemplate.Size(m)
}
func (m *RuleTemplate) XXX_DiscardUnknown() {
   xxx_messageInfo_RuleTemplate.DiscardUnknown(m)
}
var xxx_messageInfo_RuleTemplate proto.InternalMessageInfo
func (m *RuleTemplate) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *RuleTemplate) GetName() string {
   if m != nil {
      return m.Name
   }
   return ""
}
func (m *RuleTemplate) GetDesc() string {
   if m != nil {
      return m.Desc
   }
   return ""
}
func (m *RuleTemplate) GetTxt() string {
   if m != nil {
      return m.Txt
   }
   return ""
}
func (m *RuleTemplate) GetRules() []*TemplateArg {
   if m != nil {
      return m.Rules
   }
   return nil
}
type RuleTemplateList struct {
   List                 []*RuleTemplate `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"`
   XXX_NoUnkeyedLiteral struct{}        `json:"-"`
   XXX_unrecognized     []byte          `json:"-"`
   XXX_sizecache        int32           `json:"-"`
}
func (m *RuleTemplateList) Reset()         { *m = RuleTemplateList{} }
func (m *RuleTemplateList) String() string { return proto.CompactTextString(m) }
func (*RuleTemplateList) ProtoMessage()    {}
func (*RuleTemplateList) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{15}
}
func (m *RuleTemplateList) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_RuleTemplateList.Unmarshal(m, b)
}
func (m *RuleTemplateList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_RuleTemplateList.Marshal(b, m, deterministic)
}
func (dst *RuleTemplateList) XXX_Merge(src proto.Message) {
   xxx_messageInfo_RuleTemplateList.Merge(dst, src)
}
func (m *RuleTemplateList) XXX_Size() int {
   return xxx_messageInfo_RuleTemplateList.Size(m)
}
func (m *RuleTemplateList) XXX_DiscardUnknown() {
   xxx_messageInfo_RuleTemplateList.DiscardUnknown(m)
}
var xxx_messageInfo_RuleTemplateList proto.InternalMessageInfo
func (m *RuleTemplateList) GetList() []*RuleTemplate {
   if m != nil {
      return m.List
   }
   return nil
}
type TemplateArg struct {
   SdkId                string   `protobuf:"bytes,1,opt,name=sdk_id,json=sdkId,proto3" json:"sdk_id,omitempty"`
   SdkArgAlias          string   `protobuf:"bytes,2,opt,name=sdk_arg_alias,json=sdkArgAlias,proto3" json:"sdk_arg_alias,omitempty"`
   Operator             string   `protobuf:"bytes,3,opt,name=operator,proto3" json:"operator,omitempty"`
   SdkArgValue          string   `protobuf:"bytes,4,opt,name=sdk_arg_value,json=sdkArgValue,proto3" json:"sdk_arg_value,omitempty"`
   Sort                 string   `protobuf:"bytes,5,opt,name=sort,proto3" json:"sort,omitempty"`
   RuleWithPre          string   `protobuf:"bytes,6,opt,name=rule_with_pre,json=ruleWithPre,proto3" json:"rule_with_pre,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *TemplateArg) Reset()         { *m = TemplateArg{} }
func (m *TemplateArg) String() string { return proto.CompactTextString(m) }
func (*TemplateArg) ProtoMessage()    {}
func (*TemplateArg) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{16}
}
func (m *TemplateArg) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_TemplateArg.Unmarshal(m, b)
}
func (m *TemplateArg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_TemplateArg.Marshal(b, m, deterministic)
}
func (dst *TemplateArg) XXX_Merge(src proto.Message) {
   xxx_messageInfo_TemplateArg.Merge(dst, src)
}
func (m *TemplateArg) XXX_Size() int {
   return xxx_messageInfo_TemplateArg.Size(m)
}
func (m *TemplateArg) XXX_DiscardUnknown() {
   xxx_messageInfo_TemplateArg.DiscardUnknown(m)
}
var xxx_messageInfo_TemplateArg proto.InternalMessageInfo
func (m *TemplateArg) GetSdkId() string {
   if m != nil {
      return m.SdkId
   }
   return ""
}
func (m *TemplateArg) GetSdkArgAlias() string {
   if m != nil {
      return m.SdkArgAlias
   }
   return ""
}
func (m *TemplateArg) GetOperator() string {
   if m != nil {
      return m.Operator
   }
   return ""
}
func (m *TemplateArg) GetSdkArgValue() string {
   if m != nil {
      return m.SdkArgValue
   }
   return ""
}
func (m *TemplateArg) GetSort() string {
   if m != nil {
      return m.Sort
   }
   return ""
}
func (m *TemplateArg) GetRuleWithPre() string {
   if m != nil {
      return m.RuleWithPre
   }
   return ""
}
type SdkSetBase struct {
   SdkArgAlias          string   `protobuf:"bytes,1,opt,name=sdk_arg_alias,json=sdkArgAlias,proto3" json:"sdk_arg_alias,omitempty"`
   Operator             string   `protobuf:"bytes,2,opt,name=operator,proto3" json:"operator,omitempty"`
   OperatorType         string   `protobuf:"bytes,3,opt,name=operator_type,json=operatorType,proto3" json:"operator_type,omitempty"`
   SdkArgValue          string   `protobuf:"bytes,4,opt,name=sdk_arg_value,json=sdkArgValue,proto3" json:"sdk_arg_value,omitempty"`
   Sort                 int32    `protobuf:"varint,5,opt,name=sort,proto3" json:"sort,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *SdkSetBase) Reset()         { *m = SdkSetBase{} }
func (m *SdkSetBase) String() string { return proto.CompactTextString(m) }
func (*SdkSetBase) ProtoMessage()    {}
func (*SdkSetBase) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{17}
}
func (m *SdkSetBase) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_SdkSetBase.Unmarshal(m, b)
}
func (m *SdkSetBase) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_SdkSetBase.Marshal(b, m, deterministic)
}
func (dst *SdkSetBase) XXX_Merge(src proto.Message) {
   xxx_messageInfo_SdkSetBase.Merge(dst, src)
}
func (m *SdkSetBase) XXX_Size() int {
   return xxx_messageInfo_SdkSetBase.Size(m)
}
func (m *SdkSetBase) XXX_DiscardUnknown() {
   xxx_messageInfo_SdkSetBase.DiscardUnknown(m)
}
var xxx_messageInfo_SdkSetBase proto.InternalMessageInfo
func (m *SdkSetBase) GetSdkArgAlias() string {
   if m != nil {
      return m.SdkArgAlias
   }
   return ""
}
func (m *SdkSetBase) GetOperator() string {
   if m != nil {
      return m.Operator
   }
   return ""
}
func (m *SdkSetBase) GetOperatorType() string {
   if m != nil {
      return m.OperatorType
   }
   return ""
}
func (m *SdkSetBase) GetSdkArgValue() string {
   if m != nil {
      return m.SdkArgValue
   }
   return ""
}
func (m *SdkSetBase) GetSort() int32 {
   if m != nil {
      return m.Sort
   }
   return 0
}
// Sdk struct
type Sdk struct {
   Id                   string    `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   IpcId                string    `protobuf:"bytes,2,opt,name=ipc_id,json=ipcId,proto3" json:"ipc_id,omitempty"`
   SdkType              string    `protobuf:"bytes,3,opt,name=sdk_type,json=sdkType,proto3" json:"sdk_type,omitempty"`
   SdkName              string    `protobuf:"bytes,4,opt,name=sdk_name,json=sdkName,proto3" json:"sdk_name,omitempty"`
   Args                 []*SdkArg `protobuf:"bytes,5,rep,name=args,proto3" json:"args,omitempty"`
   Icon                 string    `protobuf:"bytes,6,opt,name=icon,proto3" json:"icon,omitempty"`
   Url                  string    `protobuf:"bytes,7,opt,name=url,proto3" json:"url,omitempty"`
   CreateTime           string    `protobuf:"bytes,8,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   UpdateTime           string    `protobuf:"bytes,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
   CreateBy             string    `protobuf:"bytes,10,opt,name=create_by,json=createBy,proto3" json:"create_by,omitempty"`
   Enable               bool      `protobuf:"varint,11,opt,name=enable,proto3" json:"enable,omitempty"`
   DelFlag              int32     `protobuf:"varint,12,opt,name=del_flag,json=delFlag,proto3" json:"del_flag,omitempty"`
   IconBlob             string    `protobuf:"bytes,13,opt,name=iconBlob,proto3" json:"iconBlob,omitempty"`
   Version              string    `protobuf:"bytes,14,opt,name=version,proto3" json:"version,omitempty"`
   EnTrack              bool      `protobuf:"varint,15,opt,name=enTrack,proto3" json:"enTrack,omitempty"`
   ArgDef               string    `protobuf:"bytes,16,opt,name=argDef,proto3" json:"argDef,omitempty"`
   RuleSo               string    `protobuf:"bytes,17,opt,name=ruleSo,proto3" json:"ruleSo,omitempty"`
   IconBlob2            string    `protobuf:"bytes,18,opt,name=iconBlob2,proto3" json:"iconBlob2,omitempty"`
   ActivateCode         string    `protobuf:"bytes,19,opt,name=activateCode,proto3" json:"activateCode,omitempty"`
   XXX_NoUnkeyedLiteral struct{}  `json:"-"`
   XXX_unrecognized     []byte    `json:"-"`
   XXX_sizecache        int32     `json:"-"`
}
func (m *Sdk) Reset()         { *m = Sdk{} }
func (m *Sdk) String() string { return proto.CompactTextString(m) }
func (*Sdk) ProtoMessage()    {}
func (*Sdk) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{18}
}
func (m *Sdk) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Sdk.Unmarshal(m, b)
}
func (m *Sdk) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Sdk.Marshal(b, m, deterministic)
}
func (dst *Sdk) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Sdk.Merge(dst, src)
}
func (m *Sdk) XXX_Size() int {
   return xxx_messageInfo_Sdk.Size(m)
}
func (m *Sdk) XXX_DiscardUnknown() {
   xxx_messageInfo_Sdk.DiscardUnknown(m)
}
var xxx_messageInfo_Sdk proto.InternalMessageInfo
func (m *Sdk) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *Sdk) GetIpcId() string {
   if m != nil {
      return m.IpcId
   }
   return ""
}
func (m *Sdk) GetSdkType() string {
   if m != nil {
      return m.SdkType
   }
   return ""
}
func (m *Sdk) GetSdkName() string {
   if m != nil {
      return m.SdkName
   }
   return ""
}
func (m *Sdk) GetArgs() []*SdkArg {
   if m != nil {
      return m.Args
   }
   return nil
}
func (m *Sdk) GetIcon() string {
   if m != nil {
      return m.Icon
   }
   return ""
}
func (m *Sdk) GetUrl() string {
   if m != nil {
      return m.Url
   }
   return ""
}
func (m *Sdk) GetCreateTime() string {
   if m != nil {
      return m.CreateTime
   }
   return ""
}
func (m *Sdk) GetUpdateTime() string {
   if m != nil {
      return m.UpdateTime
   }
   return ""
}
func (m *Sdk) GetCreateBy() string {
   if m != nil {
      return m.CreateBy
   }
   return ""
}
func (m *Sdk) GetEnable() bool {
   if m != nil {
      return m.Enable
   }
   return false
}
func (m *Sdk) GetDelFlag() int32 {
   if m != nil {
      return m.DelFlag
   }
   return 0
}
func (m *Sdk) GetIconBlob() string {
   if m != nil {
      return m.IconBlob
   }
   return ""
}
func (m *Sdk) GetVersion() string {
   if m != nil {
      return m.Version
   }
   return ""
}
func (m *Sdk) GetEnTrack() bool {
   if m != nil {
      return m.EnTrack
   }
   return false
}
func (m *Sdk) GetArgDef() string {
   if m != nil {
      return m.ArgDef
   }
   return ""
}
func (m *Sdk) GetRuleSo() string {
   if m != nil {
      return m.RuleSo
   }
   return ""
}
func (m *Sdk) GetIconBlob2() string {
   if m != nil {
      return m.IconBlob2
   }
   return ""
}
func (m *Sdk) GetActivateCode() string {
   if m != nil {
      return m.ActivateCode
   }
   return ""
}
// 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"`
   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"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *SdkArg) Reset()         { *m = SdkArg{} }
func (m *SdkArg) String() string { return proto.CompactTextString(m) }
func (*SdkArg) ProtoMessage()    {}
func (*SdkArg) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{19}
}
func (m *SdkArg) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_SdkArg.Unmarshal(m, b)
}
func (m *SdkArg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_SdkArg.Marshal(b, m, deterministic)
}
func (dst *SdkArg) XXX_Merge(src proto.Message) {
   xxx_messageInfo_SdkArg.Merge(dst, src)
}
func (m *SdkArg) XXX_Size() int {
   return xxx_messageInfo_SdkArg.Size(m)
}
func (m *SdkArg) XXX_DiscardUnknown() {
   xxx_messageInfo_SdkArg.DiscardUnknown(m)
}
var xxx_messageInfo_SdkArg proto.InternalMessageInfo
func (m *SdkArg) GetAlias() string {
   if m != nil {
      return m.Alias
   }
   return ""
}
func (m *SdkArg) GetName() string {
   if m != nil {
      return m.Name
   }
   return ""
}
func (m *SdkArg) GetType() string {
   if m != nil {
      return m.Type
   }
   return ""
}
func (m *SdkArg) GetMust() bool {
   if m != nil {
      return m.Must
   }
   return false
}
func (m *SdkArg) GetUnit() string {
   if m != nil {
      return m.Unit
   }
   return ""
}
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 ""
}
func (m *SdkArg) GetSort() int32 {
   if m != nil {
      return m.Sort
   }
   return 0
}
type SdkChanSet struct {
   SdkType              string   `protobuf:"bytes,1,opt,name=sdk_type,json=sdkType,proto3" json:"sdk_type,omitempty"`
   ChanNum              int32    `protobuf:"varint,2,opt,name=chan_num,json=chanNum,proto3" json:"chan_num,omitempty"`
   ConfidenceInc        int32    `protobuf:"varint,3,opt,name=confidenceInc,proto3" json:"confidenceInc,omitempty"`
   MinMovePos           int32    `protobuf:"varint,4,opt,name=minMovePos,proto3" json:"minMovePos,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *SdkChanSet) Reset()         { *m = SdkChanSet{} }
func (m *SdkChanSet) String() string { return proto.CompactTextString(m) }
func (*SdkChanSet) ProtoMessage()    {}
func (*SdkChanSet) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{20}
}
func (m *SdkChanSet) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_SdkChanSet.Unmarshal(m, b)
}
func (m *SdkChanSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_SdkChanSet.Marshal(b, m, deterministic)
}
func (dst *SdkChanSet) XXX_Merge(src proto.Message) {
   xxx_messageInfo_SdkChanSet.Merge(dst, src)
}
func (m *SdkChanSet) XXX_Size() int {
   return xxx_messageInfo_SdkChanSet.Size(m)
}
func (m *SdkChanSet) XXX_DiscardUnknown() {
   xxx_messageInfo_SdkChanSet.DiscardUnknown(m)
}
var xxx_messageInfo_SdkChanSet proto.InternalMessageInfo
func (m *SdkChanSet) GetSdkType() string {
   if m != nil {
      return m.SdkType
   }
   return ""
}
func (m *SdkChanSet) GetChanNum() int32 {
   if m != nil {
      return m.ChanNum
   }
   return 0
}
func (m *SdkChanSet) GetConfidenceInc() int32 {
   if m != nil {
      return m.ConfidenceInc
   }
   return 0
}
func (m *SdkChanSet) GetMinMovePos() int32 {
   if m != nil {
      return m.MinMovePos
   }
   return 0
}
// publish db change message
type DbChangeMessage struct {
   Table                TableChanged `protobuf:"varint,1,opt,name=table,proto3,enum=protomsg.TableChanged" json:"table,omitempty"`
   Id                   string       `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
   Action               DbAction     `protobuf:"varint,3,opt,name=action,proto3,enum=protomsg.DbAction" json:"action,omitempty"`
   Info                 string       `protobuf:"bytes,4,opt,name=info,proto3" json:"info,omitempty"`
   XXX_NoUnkeyedLiteral struct{}     `json:"-"`
   XXX_unrecognized     []byte       `json:"-"`
   XXX_sizecache        int32        `json:"-"`
}
func (m *DbChangeMessage) Reset()         { *m = DbChangeMessage{} }
func (m *DbChangeMessage) String() string { return proto.CompactTextString(m) }
func (*DbChangeMessage) ProtoMessage()    {}
func (*DbChangeMessage) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{21}
}
func (m *DbChangeMessage) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_DbChangeMessage.Unmarshal(m, b)
}
func (m *DbChangeMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_DbChangeMessage.Marshal(b, m, deterministic)
}
func (dst *DbChangeMessage) XXX_Merge(src proto.Message) {
   xxx_messageInfo_DbChangeMessage.Merge(dst, src)
}
func (m *DbChangeMessage) XXX_Size() int {
   return xxx_messageInfo_DbChangeMessage.Size(m)
}
func (m *DbChangeMessage) XXX_DiscardUnknown() {
   xxx_messageInfo_DbChangeMessage.DiscardUnknown(m)
}
var xxx_messageInfo_DbChangeMessage proto.InternalMessageInfo
func (m *DbChangeMessage) GetTable() TableChanged {
   if m != nil {
      return m.Table
   }
   return TableChanged_T_Camera
}
func (m *DbChangeMessage) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *DbChangeMessage) GetAction() DbAction {
   if m != nil {
      return m.Action
   }
   return DbAction_Insert
}
func (m *DbChangeMessage) GetInfo() string {
   if m != nil {
      return m.Info
   }
   return ""
}
type CameraPolygon struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   CameraId             string   `protobuf:"bytes,2,opt,name=camera_id,json=cameraId,proto3" json:"camera_id,omitempty"`
   Name                 string   `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
   Polygon              string   `protobuf:"bytes,4,opt,name=polygon,proto3" json:"polygon,omitempty"`
   TriggerLine          string   `protobuf:"bytes,5,opt,name=trigger_line,json=triggerLine,proto3" json:"trigger_line,omitempty"`
   DirectionLine        string   `protobuf:"bytes,6,opt,name=direction_line,json=directionLine,proto3" json:"direction_line,omitempty"`
   Type                 string   `protobuf:"bytes,7,opt,name=type,proto3" json:"type,omitempty"`
   DefenceState         int32    `protobuf:"varint,8,opt,name=defence_state,json=defenceState,proto3" json:"defence_state,omitempty"`
   CameraName           string   `protobuf:"bytes,9,opt,name=camera_name,json=cameraName,proto3" json:"camera_name,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *CameraPolygon) Reset()         { *m = CameraPolygon{} }
func (m *CameraPolygon) String() string { return proto.CompactTextString(m) }
func (*CameraPolygon) ProtoMessage()    {}
func (*CameraPolygon) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{22}
}
func (m *CameraPolygon) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CameraPolygon.Unmarshal(m, b)
}
func (m *CameraPolygon) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CameraPolygon.Marshal(b, m, deterministic)
}
func (dst *CameraPolygon) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraPolygon.Merge(dst, src)
}
func (m *CameraPolygon) XXX_Size() int {
   return xxx_messageInfo_CameraPolygon.Size(m)
}
func (m *CameraPolygon) XXX_DiscardUnknown() {
   xxx_messageInfo_CameraPolygon.DiscardUnknown(m)
}
var xxx_messageInfo_CameraPolygon proto.InternalMessageInfo
func (m *CameraPolygon) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *CameraPolygon) GetCameraId() string {
   if m != nil {
      return m.CameraId
   }
   return ""
}
func (m *CameraPolygon) GetName() string {
   if m != nil {
      return m.Name
   }
   return ""
}
func (m *CameraPolygon) GetPolygon() string {
   if m != nil {
      return m.Polygon
   }
   return ""
}
func (m *CameraPolygon) GetTriggerLine() string {
   if m != nil {
      return m.TriggerLine
   }
   return ""
}
func (m *CameraPolygon) GetDirectionLine() string {
   if m != nil {
      return m.DirectionLine
   }
   return ""
}
func (m *CameraPolygon) GetType() string {
   if m != nil {
      return m.Type
   }
   return ""
}
func (m *CameraPolygon) GetDefenceState() int32 {
   if m != nil {
      return m.DefenceState
   }
   return 0
}
func (m *CameraPolygon) GetCameraName() string {
   if m != nil {
      return m.CameraName
   }
   return ""
}
type CameraPolygonRelation struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   SourceCameraId       string   `protobuf:"bytes,2,opt,name=source_camera_id,json=sourceCameraId,proto3" json:"source_camera_id,omitempty"`
   SourcePolygonId      string   `protobuf:"bytes,3,opt,name=source_polygon_id,json=sourcePolygonId,proto3" json:"source_polygon_id,omitempty"`
   TargetCameraId       string   `protobuf:"bytes,4,opt,name=target_camera_id,json=targetCameraId,proto3" json:"target_camera_id,omitempty"`
   TargetPolygonId      string   `protobuf:"bytes,5,opt,name=target_polygon_id,json=targetPolygonId,proto3" json:"target_polygon_id,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *CameraPolygonRelation) Reset()         { *m = CameraPolygonRelation{} }
func (m *CameraPolygonRelation) String() string { return proto.CompactTextString(m) }
func (*CameraPolygonRelation) ProtoMessage()    {}
func (*CameraPolygonRelation) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{23}
}
func (m *CameraPolygonRelation) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CameraPolygonRelation.Unmarshal(m, b)
}
func (m *CameraPolygonRelation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CameraPolygonRelation.Marshal(b, m, deterministic)
}
func (dst *CameraPolygonRelation) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraPolygonRelation.Merge(dst, src)
}
func (m *CameraPolygonRelation) XXX_Size() int {
   return xxx_messageInfo_CameraPolygonRelation.Size(m)
}
func (m *CameraPolygonRelation) XXX_DiscardUnknown() {
   xxx_messageInfo_CameraPolygonRelation.DiscardUnknown(m)
}
var xxx_messageInfo_CameraPolygonRelation proto.InternalMessageInfo
func (m *CameraPolygonRelation) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *CameraPolygonRelation) GetSourceCameraId() string {
   if m != nil {
      return m.SourceCameraId
   }
   return ""
}
func (m *CameraPolygonRelation) GetSourcePolygonId() string {
   if m != nil {
      return m.SourcePolygonId
   }
   return ""
}
func (m *CameraPolygonRelation) GetTargetCameraId() string {
   if m != nil {
      return m.TargetCameraId
   }
   return ""
}
func (m *CameraPolygonRelation) GetTargetPolygonId() string {
   if m != nil {
      return m.TargetPolygonId
   }
   return ""
}
type VideotapeInfo struct {
   EsDataId             string   `protobuf:"bytes,1,opt,name=esDataId,proto3" json:"esDataId,omitempty"`
   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"`
   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"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *VideotapeInfo) Reset()         { *m = VideotapeInfo{} }
func (m *VideotapeInfo) String() string { return proto.CompactTextString(m) }
func (*VideotapeInfo) ProtoMessage()    {}
func (*VideotapeInfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{24}
}
func (m *VideotapeInfo) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_VideotapeInfo.Unmarshal(m, b)
}
func (m *VideotapeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_VideotapeInfo.Marshal(b, m, deterministic)
}
func (dst *VideotapeInfo) XXX_Merge(src proto.Message) {
   xxx_messageInfo_VideotapeInfo.Merge(dst, src)
}
func (m *VideotapeInfo) XXX_Size() int {
   return xxx_messageInfo_VideotapeInfo.Size(m)
}
func (m *VideotapeInfo) XXX_DiscardUnknown() {
   xxx_messageInfo_VideotapeInfo.DiscardUnknown(m)
}
var xxx_messageInfo_VideotapeInfo proto.InternalMessageInfo
func (m *VideotapeInfo) GetEsDataId() string {
   if m != nil {
      return m.EsDataId
   }
   return ""
}
func (m *VideotapeInfo) GetCameraId() string {
   if m != nil {
      return m.CameraId
   }
   return ""
}
func (m *VideotapeInfo) GetTaskId() string {
   if m != nil {
      return m.TaskId
   }
   return ""
}
func (m *VideotapeInfo) GetImgId() int64 {
   if m != nil {
      return m.ImgId
   }
   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
   }
   return nil
}
func (m *VideotapeInfo) GetType() int32 {
   if m != nil {
      return m.Type
   }
   return 0
}
type Voice struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Name                 string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   Path                 string   `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *Voice) Reset()         { *m = Voice{} }
func (m *Voice) String() string { return proto.CompactTextString(m) }
func (*Voice) ProtoMessage()    {}
func (*Voice) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{25}
}
func (m *Voice) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Voice.Unmarshal(m, b)
}
func (m *Voice) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Voice.Marshal(b, m, deterministic)
}
func (dst *Voice) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Voice.Merge(dst, src)
}
func (m *Voice) XXX_Size() int {
   return xxx_messageInfo_Voice.Size(m)
}
func (m *Voice) XXX_DiscardUnknown() {
   xxx_messageInfo_Voice.DiscardUnknown(m)
}
var xxx_messageInfo_Voice proto.InternalMessageInfo
func (m *Voice) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *Voice) GetName() string {
   if m != nil {
      return m.Name
   }
   return ""
}
func (m *Voice) GetPath() string {
   if m != nil {
      return m.Path
   }
   return ""
}
type VoiceList struct {
   List                 []*Voice `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *VoiceList) Reset()         { *m = VoiceList{} }
func (m *VoiceList) String() string { return proto.CompactTextString(m) }
func (*VoiceList) ProtoMessage()    {}
func (*VoiceList) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{26}
}
func (m *VoiceList) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_VoiceList.Unmarshal(m, b)
}
func (m *VoiceList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_VoiceList.Marshal(b, m, deterministic)
}
func (dst *VoiceList) XXX_Merge(src proto.Message) {
   xxx_messageInfo_VoiceList.Merge(dst, src)
}
func (m *VoiceList) XXX_Size() int {
   return xxx_messageInfo_VoiceList.Size(m)
}
func (m *VoiceList) XXX_DiscardUnknown() {
   xxx_messageInfo_VoiceList.DiscardUnknown(m)
}
var xxx_messageInfo_VoiceList proto.InternalMessageInfo
func (m *VoiceList) GetList() []*Voice {
   if m != nil {
      return m.List
   }
   return nil
}
type CompareArgs struct {
   TableIds             []string `protobuf:"bytes,1,rep,name=tableIds,proto3" json:"tableIds,omitempty"`
   CompareThreshold     float32  `protobuf:"fixed32,2,opt,name=compareThreshold,proto3" json:"compareThreshold,omitempty"`
   FaceFeature          []byte   `protobuf:"bytes,3,opt,name=faceFeature,proto3" json:"faceFeature,omitempty"`
   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,opt,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"`
   Source               bool     `protobuf:"varint,11,opt,name=source,proto3" json:"source,omitempty"`
   AnalyServerId        string   `protobuf:"bytes,12,opt,name=analyServerId,proto3" json:"analyServerId,omitempty"`
   CompareTarget        string   `protobuf:"bytes,13,opt,name=compareTarget,proto3" json:"compareTarget,omitempty"`
   IsCompareAll         bool     `protobuf:"varint,14,opt,name=isCompareAll,proto3" json:"isCompareAll,omitempty"`
   ServerIds            []string `protobuf:"bytes,15,rep,name=serverIds,proto3" json:"serverIds,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *CompareArgs) Reset()         { *m = CompareArgs{} }
func (m *CompareArgs) String() string { return proto.CompactTextString(m) }
func (*CompareArgs) ProtoMessage()    {}
func (*CompareArgs) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{27}
}
func (m *CompareArgs) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CompareArgs.Unmarshal(m, b)
}
func (m *CompareArgs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CompareArgs.Marshal(b, m, deterministic)
}
func (dst *CompareArgs) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CompareArgs.Merge(dst, src)
}
func (m *CompareArgs) XXX_Size() int {
   return xxx_messageInfo_CompareArgs.Size(m)
}
func (m *CompareArgs) XXX_DiscardUnknown() {
   xxx_messageInfo_CompareArgs.DiscardUnknown(m)
}
var xxx_messageInfo_CompareArgs proto.InternalMessageInfo
func (m *CompareArgs) GetTableIds() []string {
   if m != nil {
      return m.TableIds
   }
   return nil
}
func (m *CompareArgs) GetCompareThreshold() float32 {
   if m != nil {
      return m.CompareThreshold
   }
   return 0
}
func (m *CompareArgs) GetFaceFeature() []byte {
   if m != nil {
      return m.FaceFeature
   }
   return nil
}
func (m *CompareArgs) GetTasks() []string {
   if m != nil {
      return m.Tasks
   }
   return nil
}
func (m *CompareArgs) GetTreeNodes() []string {
   if m != nil {
      return m.TreeNodes
   }
   return nil
}
func (m *CompareArgs) GetTabs() []string {
   if m != nil {
      return m.Tabs
   }
   return nil
}
func (m *CompareArgs) GetAlarmLevel() string {
   if m != nil {
      return m.AlarmLevel
   }
   return ""
}
func (m *CompareArgs) GetSearchTime() []string {
   if m != nil {
      return m.SearchTime
   }
   return nil
}
func (m *CompareArgs) GetInputValue() string {
   if m != nil {
      return m.InputValue
   }
   return ""
}
func (m *CompareArgs) GetCollection() string {
   if m != nil {
      return m.Collection
   }
   return ""
}
func (m *CompareArgs) GetSource() bool {
   if m != nil {
      return m.Source
   }
   return false
}
func (m *CompareArgs) GetAnalyServerId() string {
   if m != nil {
      return m.AnalyServerId
   }
   return ""
}
func (m *CompareArgs) GetCompareTarget() string {
   if m != nil {
      return m.CompareTarget
   }
   return ""
}
func (m *CompareArgs) GetIsCompareAll() bool {
   if m != nil {
      return m.IsCompareAll
   }
   return false
}
func (m *CompareArgs) GetServerIds() []string {
   if m != nil {
      return m.ServerIds
   }
   return nil
}
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"`
   XXX_NoUnkeyedLiteral struct{}         `json:"-"`
   XXX_unrecognized     []byte           `json:"-"`
   XXX_sizecache        int32            `json:"-"`
}
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_protomsg_ab9bd340535ac30f, []int{28}
}
func (m *CompareEvent) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CompareEvent.Unmarshal(m, b)
}
func (m *CompareEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CompareEvent.Marshal(b, m, deterministic)
}
func (dst *CompareEvent) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CompareEvent.Merge(dst, src)
}
func (m *CompareEvent) XXX_Size() int {
   return xxx_messageInfo_CompareEvent.Size(m)
}
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"`
   CompareScore         float32  `protobuf:"fixed32,3,opt,name=compareScore,proto3" json:"compareScore,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *SdkCompareEach) Reset()         { *m = SdkCompareEach{} }
func (m *SdkCompareEach) String() string { return proto.CompactTextString(m) }
func (*SdkCompareEach) ProtoMessage()    {}
func (*SdkCompareEach) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{29}
}
func (m *SdkCompareEach) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_SdkCompareEach.Unmarshal(m, b)
}
func (m *SdkCompareEach) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_SdkCompareEach.Marshal(b, m, deterministic)
}
func (dst *SdkCompareEach) XXX_Merge(src proto.Message) {
   xxx_messageInfo_SdkCompareEach.Merge(dst, src)
}
func (m *SdkCompareEach) XXX_Size() int {
   return xxx_messageInfo_SdkCompareEach.Size(m)
}
func (m *SdkCompareEach) XXX_DiscardUnknown() {
   xxx_messageInfo_SdkCompareEach.DiscardUnknown(m)
}
var xxx_messageInfo_SdkCompareEach proto.InternalMessageInfo
func (m *SdkCompareEach) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *SdkCompareEach) GetTableid() string {
   if m != nil {
      return m.Tableid
   }
   return ""
}
func (m *SdkCompareEach) GetCompareScore() float32 {
   if m != nil {
      return m.CompareScore
   }
   return 0
}
type SdkCompareResult struct {
   CompareResult        []*SdkCompareEach `protobuf:"bytes,1,rep,name=compareResult,proto3" json:"compareResult,omitempty"`
   XXX_NoUnkeyedLiteral struct{}          `json:"-"`
   XXX_unrecognized     []byte            `json:"-"`
   XXX_sizecache        int32             `json:"-"`
}
func (m *SdkCompareResult) Reset()         { *m = SdkCompareResult{} }
func (m *SdkCompareResult) String() string { return proto.CompactTextString(m) }
func (*SdkCompareResult) ProtoMessage()    {}
func (*SdkCompareResult) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{30}
}
func (m *SdkCompareResult) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_SdkCompareResult.Unmarshal(m, b)
}
func (m *SdkCompareResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_SdkCompareResult.Marshal(b, m, deterministic)
}
func (dst *SdkCompareResult) XXX_Merge(src proto.Message) {
   xxx_messageInfo_SdkCompareResult.Merge(dst, src)
}
func (m *SdkCompareResult) XXX_Size() int {
   return xxx_messageInfo_SdkCompareResult.Size(m)
}
func (m *SdkCompareResult) XXX_DiscardUnknown() {
   xxx_messageInfo_SdkCompareResult.DiscardUnknown(m)
}
var xxx_messageInfo_SdkCompareResult proto.InternalMessageInfo
func (m *SdkCompareResult) GetCompareResult() []*SdkCompareEach {
   if m != nil {
      return m.CompareResult
   }
   return nil
}
type EventPush struct {
   Id                   string            `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Name                 string            `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   TimeStart            string            `protobuf:"bytes,3,opt,name=time_start,json=timeStart,proto3" json:"time_start,omitempty"`
   TimeEnd              string            `protobuf:"bytes,4,opt,name=time_end,json=timeEnd,proto3" json:"time_end,omitempty"`
   IsSatisfyAll         bool              `protobuf:"varint,5,opt,name=is_satisfy_all,json=isSatisfyAll,proto3" json:"is_satisfy_all,omitempty"`
   RuleText             string            `protobuf:"bytes,6,opt,name=rule_text,json=ruleText,proto3" json:"rule_text,omitempty"`
   Enable               bool              `protobuf:"varint,7,opt,name=enable,proto3" json:"enable,omitempty"`
   LinkType             string            `protobuf:"bytes,8,opt,name=link_type,json=linkType,proto3" json:"link_type,omitempty"`
   LinkDevice           string            `protobuf:"bytes,9,opt,name=link_device,json=linkDevice,proto3" json:"link_device,omitempty"`
   IpPorts              []*PushIpPort     `protobuf:"bytes,10,rep,name=ip_ports,json=ipPorts,proto3" json:"ip_ports,omitempty"`
   Urls                 []*PushUrl        `protobuf:"bytes,11,rep,name=urls,proto3" json:"urls,omitempty"`
   Rules                []*EventPushRule  `protobuf:"bytes,12,rep,name=rules,proto3" json:"rules,omitempty"`
   FiltRename           map[string]string `protobuf:"bytes,13,rep,name=filtRename,proto3" json:"filtRename,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   PushSet              []*PushSetMenu    `protobuf:"bytes,14,rep,name=push_set,json=pushSet,proto3" json:"push_set,omitempty"`
   XXX_NoUnkeyedLiteral struct{}          `json:"-"`
   XXX_unrecognized     []byte            `json:"-"`
   XXX_sizecache        int32             `json:"-"`
}
func (m *EventPush) Reset()         { *m = EventPush{} }
func (m *EventPush) String() string { return proto.CompactTextString(m) }
func (*EventPush) ProtoMessage()    {}
func (*EventPush) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{31}
}
func (m *EventPush) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_EventPush.Unmarshal(m, b)
}
func (m *EventPush) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_EventPush.Marshal(b, m, deterministic)
}
func (dst *EventPush) XXX_Merge(src proto.Message) {
   xxx_messageInfo_EventPush.Merge(dst, src)
}
func (m *EventPush) XXX_Size() int {
   return xxx_messageInfo_EventPush.Size(m)
}
func (m *EventPush) XXX_DiscardUnknown() {
   xxx_messageInfo_EventPush.DiscardUnknown(m)
}
var xxx_messageInfo_EventPush proto.InternalMessageInfo
func (m *EventPush) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *EventPush) GetName() string {
   if m != nil {
      return m.Name
   }
   return ""
}
func (m *EventPush) GetTimeStart() string {
   if m != nil {
      return m.TimeStart
   }
   return ""
}
func (m *EventPush) GetTimeEnd() string {
   if m != nil {
      return m.TimeEnd
   }
   return ""
}
func (m *EventPush) GetIsSatisfyAll() bool {
   if m != nil {
      return m.IsSatisfyAll
   }
   return false
}
func (m *EventPush) GetRuleText() string {
   if m != nil {
      return m.RuleText
   }
   return ""
}
func (m *EventPush) GetEnable() bool {
   if m != nil {
      return m.Enable
   }
   return false
}
func (m *EventPush) GetLinkType() string {
   if m != nil {
      return m.LinkType
   }
   return ""
}
func (m *EventPush) GetLinkDevice() string {
   if m != nil {
      return m.LinkDevice
   }
   return ""
}
func (m *EventPush) GetIpPorts() []*PushIpPort {
   if m != nil {
      return m.IpPorts
   }
   return nil
}
func (m *EventPush) GetUrls() []*PushUrl {
   if m != nil {
      return m.Urls
   }
   return nil
}
func (m *EventPush) GetRules() []*EventPushRule {
   if m != nil {
      return m.Rules
   }
   return nil
}
func (m *EventPush) GetFiltRename() map[string]string {
   if m != nil {
      return m.FiltRename
   }
   return nil
}
func (m *EventPush) GetPushSet() []*PushSetMenu {
   if m != nil {
      return m.PushSet
   }
   return nil
}
type PushSetMenu struct {
   Id                   string         `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Name                 string         `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   Checked              bool           `protobuf:"varint,3,opt,name=checked,proto3" json:"checked,omitempty"`
   Alias                string         `protobuf:"bytes,4,opt,name=alias,proto3" json:"alias,omitempty"`
   Children             []*PushSetMenu `protobuf:"bytes,5,rep,name=children,proto3" json:"children,omitempty"`
   XXX_NoUnkeyedLiteral struct{}       `json:"-"`
   XXX_unrecognized     []byte         `json:"-"`
   XXX_sizecache        int32          `json:"-"`
}
func (m *PushSetMenu) Reset()         { *m = PushSetMenu{} }
func (m *PushSetMenu) String() string { return proto.CompactTextString(m) }
func (*PushSetMenu) ProtoMessage()    {}
func (*PushSetMenu) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{32}
}
func (m *PushSetMenu) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_PushSetMenu.Unmarshal(m, b)
}
func (m *PushSetMenu) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_PushSetMenu.Marshal(b, m, deterministic)
}
func (dst *PushSetMenu) XXX_Merge(src proto.Message) {
   xxx_messageInfo_PushSetMenu.Merge(dst, src)
}
func (m *PushSetMenu) XXX_Size() int {
   return xxx_messageInfo_PushSetMenu.Size(m)
}
func (m *PushSetMenu) XXX_DiscardUnknown() {
   xxx_messageInfo_PushSetMenu.DiscardUnknown(m)
}
var xxx_messageInfo_PushSetMenu proto.InternalMessageInfo
func (m *PushSetMenu) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *PushSetMenu) GetName() string {
   if m != nil {
      return m.Name
   }
   return ""
}
func (m *PushSetMenu) GetChecked() bool {
   if m != nil {
      return m.Checked
   }
   return false
}
func (m *PushSetMenu) GetAlias() string {
   if m != nil {
      return m.Alias
   }
   return ""
}
func (m *PushSetMenu) GetChildren() []*PushSetMenu {
   if m != nil {
      return m.Children
   }
   return nil
}
type EventPushRule struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   TopicType            string   `protobuf:"bytes,2,opt,name=topic_type,json=topicType,proto3" json:"topic_type,omitempty"`
   TopicArg             string   `protobuf:"bytes,3,opt,name=topic_arg,json=topicArg,proto3" json:"topic_arg,omitempty"`
   Operator             string   `protobuf:"bytes,4,opt,name=operator,proto3" json:"operator,omitempty"`
   OperatorType         string   `protobuf:"bytes,5,opt,name=operator_type,json=operatorType,proto3" json:"operator_type,omitempty"`
   RuleValue            string   `protobuf:"bytes,6,opt,name=rule_value,json=ruleValue,proto3" json:"rule_value,omitempty"`
   EventPushId          string   `protobuf:"bytes,7,opt,name=event_push_id,json=eventPushId,proto3" json:"event_push_id,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *EventPushRule) Reset()         { *m = EventPushRule{} }
func (m *EventPushRule) String() string { return proto.CompactTextString(m) }
func (*EventPushRule) ProtoMessage()    {}
func (*EventPushRule) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{33}
}
func (m *EventPushRule) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_EventPushRule.Unmarshal(m, b)
}
func (m *EventPushRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_EventPushRule.Marshal(b, m, deterministic)
}
func (dst *EventPushRule) XXX_Merge(src proto.Message) {
   xxx_messageInfo_EventPushRule.Merge(dst, src)
}
func (m *EventPushRule) XXX_Size() int {
   return xxx_messageInfo_EventPushRule.Size(m)
}
func (m *EventPushRule) XXX_DiscardUnknown() {
   xxx_messageInfo_EventPushRule.DiscardUnknown(m)
}
var xxx_messageInfo_EventPushRule proto.InternalMessageInfo
func (m *EventPushRule) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *EventPushRule) GetTopicType() string {
   if m != nil {
      return m.TopicType
   }
   return ""
}
func (m *EventPushRule) GetTopicArg() string {
   if m != nil {
      return m.TopicArg
   }
   return ""
}
func (m *EventPushRule) GetOperator() string {
   if m != nil {
      return m.Operator
   }
   return ""
}
func (m *EventPushRule) GetOperatorType() string {
   if m != nil {
      return m.OperatorType
   }
   return ""
}
func (m *EventPushRule) GetRuleValue() string {
   if m != nil {
      return m.RuleValue
   }
   return ""
}
func (m *EventPushRule) GetEventPushId() string {
   if m != nil {
      return m.EventPushId
   }
   return ""
}
type PushIpPort struct {
   ServerIp             string   `protobuf:"bytes,1,opt,name=server_ip,json=serverIp,proto3" json:"server_ip,omitempty"`
   Port                 int32    `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
   Enable               bool     `protobuf:"varint,3,opt,name=enable,proto3" json:"enable,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *PushIpPort) Reset()         { *m = PushIpPort{} }
func (m *PushIpPort) String() string { return proto.CompactTextString(m) }
func (*PushIpPort) ProtoMessage()    {}
func (*PushIpPort) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{34}
}
func (m *PushIpPort) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_PushIpPort.Unmarshal(m, b)
}
func (m *PushIpPort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_PushIpPort.Marshal(b, m, deterministic)
}
func (dst *PushIpPort) XXX_Merge(src proto.Message) {
   xxx_messageInfo_PushIpPort.Merge(dst, src)
}
func (m *PushIpPort) XXX_Size() int {
   return xxx_messageInfo_PushIpPort.Size(m)
}
func (m *PushIpPort) XXX_DiscardUnknown() {
   xxx_messageInfo_PushIpPort.DiscardUnknown(m)
}
var xxx_messageInfo_PushIpPort proto.InternalMessageInfo
func (m *PushIpPort) GetServerIp() string {
   if m != nil {
      return m.ServerIp
   }
   return ""
}
func (m *PushIpPort) GetPort() int32 {
   if m != nil {
      return m.Port
   }
   return 0
}
func (m *PushIpPort) GetEnable() bool {
   if m != nil {
      return m.Enable
   }
   return false
}
type PushUrl struct {
   Url                  string   `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
   Enable               bool     `protobuf:"varint,2,opt,name=enable,proto3" json:"enable,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *PushUrl) Reset()         { *m = PushUrl{} }
func (m *PushUrl) String() string { return proto.CompactTextString(m) }
func (*PushUrl) ProtoMessage()    {}
func (*PushUrl) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{35}
}
func (m *PushUrl) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_PushUrl.Unmarshal(m, b)
}
func (m *PushUrl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_PushUrl.Marshal(b, m, deterministic)
}
func (dst *PushUrl) XXX_Merge(src proto.Message) {
   xxx_messageInfo_PushUrl.Merge(dst, src)
}
func (m *PushUrl) XXX_Size() int {
   return xxx_messageInfo_PushUrl.Size(m)
}
func (m *PushUrl) XXX_DiscardUnknown() {
   xxx_messageInfo_PushUrl.DiscardUnknown(m)
}
var xxx_messageInfo_PushUrl proto.InternalMessageInfo
func (m *PushUrl) GetUrl() string {
   if m != nil {
      return m.Url
   }
   return ""
}
func (m *PushUrl) GetEnable() bool {
   if m != nil {
      return m.Enable
   }
   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"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
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_protomsg_ab9bd340535ac30f, []int{36}
}
func (m *PushAttach) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_PushAttach.Unmarshal(m, b)
}
func (m *PushAttach) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_PushAttach.Marshal(b, m, deterministic)
}
func (dst *PushAttach) XXX_Merge(src proto.Message) {
   xxx_messageInfo_PushAttach.Merge(dst, src)
}
func (m *PushAttach) XXX_Size() int {
   return xxx_messageInfo_PushAttach.Size(m)
}
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 {
   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"`
   CarNo                string         `protobuf:"bytes,7,opt,name=carNo,proto3" json:"carNo,omitempty"`
   XXX_NoUnkeyedLiteral struct{}       `json:"-"`
   XXX_unrecognized     []byte         `json:"-"`
   XXX_sizecache        int32          `json:"-"`
}
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_protomsg_ab9bd340535ac30f, []int{37}
}
func (m *EsPersonCacheChange) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_EsPersonCacheChange.Unmarshal(m, b)
}
func (m *EsPersonCacheChange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_EsPersonCacheChange.Marshal(b, m, deterministic)
}
func (dst *EsPersonCacheChange) XXX_Merge(src proto.Message) {
   xxx_messageInfo_EsPersonCacheChange.Merge(dst, src)
}
func (m *EsPersonCacheChange) XXX_Size() int {
   return xxx_messageInfo_EsPersonCacheChange.Size(m)
}
func (m *EsPersonCacheChange) XXX_DiscardUnknown() {
   xxx_messageInfo_EsPersonCacheChange.DiscardUnknown(m)
}
var xxx_messageInfo_EsPersonCacheChange proto.InternalMessageInfo
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 nil
}
func (m *EsPersonCacheChange) GetPersonId() string {
   if m != nil {
      return m.PersonId
   }
   return ""
}
func (m *EsPersonCacheChange) GetFeature() string {
   if m != nil {
      return m.Feature
   }
   return ""
}
func (m *EsPersonCacheChange) GetAction() DbAction {
   if m != nil {
      return m.Action
   }
   return DbAction_Insert
}
func (m *EsPersonCacheChange) GetEnable() int32 {
   if m != nil {
      return m.Enable
   }
   return 0
}
func (m *EsPersonCacheChange) GetCarNo() string {
   if m != nil {
      return m.CarNo
   }
   return ""
}
type ClusterAndNodes struct {
   ClusterId            string   `protobuf:"bytes,1,opt,name=clusterId,proto3" json:"clusterId,omitempty"`
   ClusterName          string   `protobuf:"bytes,2,opt,name=clusterName,proto3" json:"clusterName,omitempty"`
   Nodes                []*Node  `protobuf:"bytes,3,rep,name=nodes,proto3" json:"nodes,omitempty"`
   VirtualIp            string   `protobuf:"bytes,4,opt,name=virtualIp,proto3" json:"virtualIp,omitempty"`
   Password             string   `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *ClusterAndNodes) Reset()         { *m = ClusterAndNodes{} }
func (m *ClusterAndNodes) String() string { return proto.CompactTextString(m) }
func (*ClusterAndNodes) ProtoMessage()    {}
func (*ClusterAndNodes) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{38}
}
func (m *ClusterAndNodes) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_ClusterAndNodes.Unmarshal(m, b)
}
func (m *ClusterAndNodes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_ClusterAndNodes.Marshal(b, m, deterministic)
}
func (dst *ClusterAndNodes) XXX_Merge(src proto.Message) {
   xxx_messageInfo_ClusterAndNodes.Merge(dst, src)
}
func (m *ClusterAndNodes) XXX_Size() int {
   return xxx_messageInfo_ClusterAndNodes.Size(m)
}
func (m *ClusterAndNodes) XXX_DiscardUnknown() {
   xxx_messageInfo_ClusterAndNodes.DiscardUnknown(m)
}
var xxx_messageInfo_ClusterAndNodes proto.InternalMessageInfo
func (m *ClusterAndNodes) GetClusterId() string {
   if m != nil {
      return m.ClusterId
   }
   return ""
}
func (m *ClusterAndNodes) GetClusterName() string {
   if m != nil {
      return m.ClusterName
   }
   return ""
}
func (m *ClusterAndNodes) GetNodes() []*Node {
   if m != nil {
      return m.Nodes
   }
   return nil
}
func (m *ClusterAndNodes) GetVirtualIp() string {
   if m != nil {
      return m.VirtualIp
   }
   return ""
}
func (m *ClusterAndNodes) GetPassword() string {
   if m != nil {
      return m.Password
   }
   return ""
}
type Node struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   ClusterId            string   `protobuf:"bytes,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
   NodeName             string   `protobuf:"bytes,3,opt,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"`
   NodeId               string   `protobuf:"bytes,4,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
   NodeIp               string   `protobuf:"bytes,5,opt,name=node_ip,json=nodeIp,proto3" json:"node_ip,omitempty"`
   CreateTime           string   `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   IsDelete             bool     `protobuf:"varint,7,opt,name=isDelete,proto3" json:"isDelete,omitempty"`
   DriftState           string   `protobuf:"bytes,8,opt,name=drift_state,json=driftState,proto3" json:"drift_state,omitempty"`
   DeviceType           string   `protobuf:"bytes,9,opt,name=device_type,json=deviceType,proto3" json:"device_type,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *Node) Reset()         { *m = Node{} }
func (m *Node) String() string { return proto.CompactTextString(m) }
func (*Node) ProtoMessage()    {}
func (*Node) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{39}
}
func (m *Node) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Node.Unmarshal(m, b)
}
func (m *Node) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Node.Marshal(b, m, deterministic)
}
func (dst *Node) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Node.Merge(dst, src)
}
func (m *Node) XXX_Size() int {
   return xxx_messageInfo_Node.Size(m)
}
func (m *Node) XXX_DiscardUnknown() {
   xxx_messageInfo_Node.DiscardUnknown(m)
}
var xxx_messageInfo_Node proto.InternalMessageInfo
func (m *Node) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *Node) GetClusterId() string {
   if m != nil {
      return m.ClusterId
   }
   return ""
}
func (m *Node) GetNodeName() string {
   if m != nil {
      return m.NodeName
   }
   return ""
}
func (m *Node) GetNodeId() string {
   if m != nil {
      return m.NodeId
   }
   return ""
}
func (m *Node) GetNodeIp() string {
   if m != nil {
      return m.NodeIp
   }
   return ""
}
func (m *Node) GetCreateTime() string {
   if m != nil {
      return m.CreateTime
   }
   return ""
}
func (m *Node) GetIsDelete() bool {
   if m != nil {
      return m.IsDelete
   }
   return false
}
func (m *Node) GetDriftState() string {
   if m != nil {
      return m.DriftState
   }
   return ""
}
func (m *Node) GetDeviceType() string {
   if m != nil {
      return m.DeviceType
   }
   return ""
}
type Dic struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Value                string   `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
   Name                 string   `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
   Type                 string   `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"`
   Description          string   `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
   Sort                 int32    `protobuf:"varint,6,opt,name=sort,proto3" json:"sort,omitempty"`
   ParentId             string   `protobuf:"bytes,7,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *Dic) Reset()         { *m = Dic{} }
func (m *Dic) String() string { return proto.CompactTextString(m) }
func (*Dic) ProtoMessage()    {}
func (*Dic) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{40}
}
func (m *Dic) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Dic.Unmarshal(m, b)
}
func (m *Dic) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Dic.Marshal(b, m, deterministic)
}
func (dst *Dic) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Dic.Merge(dst, src)
}
func (m *Dic) XXX_Size() int {
   return xxx_messageInfo_Dic.Size(m)
}
func (m *Dic) XXX_DiscardUnknown() {
   xxx_messageInfo_Dic.DiscardUnknown(m)
}
var xxx_messageInfo_Dic proto.InternalMessageInfo
func (m *Dic) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *Dic) GetValue() string {
   if m != nil {
      return m.Value
   }
   return ""
}
func (m *Dic) GetName() string {
   if m != nil {
      return m.Name
   }
   return ""
}
func (m *Dic) GetType() string {
   if m != nil {
      return m.Type
   }
   return ""
}
func (m *Dic) GetDescription() string {
   if m != nil {
      return m.Description
   }
   return ""
}
func (m *Dic) GetSort() int32 {
   if m != nil {
      return m.Sort
   }
   return 0
}
func (m *Dic) GetParentId() string {
   if m != nil {
      return m.ParentId
   }
   return ""
}
func init() {
   proto.RegisterType((*Area)(nil), "protomsg.Area")
   proto.RegisterType((*Camera)(nil), "protomsg.Camera")
   proto.RegisterType((*Sensor)(nil), "protomsg.Sensor")
   proto.RegisterType((*CameraLink)(nil), "protomsg.CameraLink")
   proto.RegisterType((*SdkRun)(nil), "protomsg.SdkRun")
   proto.RegisterType((*CameraTimerule)(nil), "protomsg.CameraTimerule")
   proto.RegisterType((*DayCtl)(nil), "protomsg.DayCtl")
   proto.RegisterType((*TimeRange)(nil), "protomsg.TimeRange")
   proto.RegisterType((*Polygon)(nil), "protomsg.Polygon")
   proto.RegisterType((*CameraInfo)(nil), "protomsg.CameraInfo")
   proto.RegisterType((*CameraAndRules)(nil), "protomsg.CameraAndRules")
   proto.RegisterType((*GroupRule)(nil), "protomsg.GroupRule")
   proto.RegisterType((*GroupRuleSdks)(nil), "protomsg.GroupRuleSdks")
   proto.RegisterType((*Rule)(nil), "protomsg.Rule")
   proto.RegisterType((*RuleTemplate)(nil), "protomsg.RuleTemplate")
   proto.RegisterType((*RuleTemplateList)(nil), "protomsg.RuleTemplateList")
   proto.RegisterType((*TemplateArg)(nil), "protomsg.TemplateArg")
   proto.RegisterType((*SdkSetBase)(nil), "protomsg.SdkSetBase")
   proto.RegisterType((*Sdk)(nil), "protomsg.Sdk")
   proto.RegisterType((*SdkArg)(nil), "protomsg.SdkArg")
   proto.RegisterType((*SdkChanSet)(nil), "protomsg.SdkChanSet")
   proto.RegisterType((*DbChangeMessage)(nil), "protomsg.DbChangeMessage")
   proto.RegisterType((*CameraPolygon)(nil), "protomsg.CameraPolygon")
   proto.RegisterType((*CameraPolygonRelation)(nil), "protomsg.CameraPolygonRelation")
   proto.RegisterType((*VideotapeInfo)(nil), "protomsg.VideotapeInfo")
   proto.RegisterType((*Voice)(nil), "protomsg.Voice")
   proto.RegisterType((*VoiceList)(nil), "protomsg.VoiceList")
   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.RegisterMapType((map[string]string)(nil), "protomsg.EventPush.FiltRenameEntry")
   proto.RegisterType((*PushSetMenu)(nil), "protomsg.PushSetMenu")
   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")
   proto.RegisterType((*ClusterAndNodes)(nil), "protomsg.ClusterAndNodes")
   proto.RegisterType((*Node)(nil), "protomsg.Node")
   proto.RegisterType((*Dic)(nil), "protomsg.Dic")
   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)
}
func init() { proto.RegisterFile("protomsg.proto", fileDescriptor_protomsg_ab9bd340535ac30f) }
var fileDescriptor_protomsg_ab9bd340535ac30f = []byte{
   // 3355 bytes of a gzipped FileDescriptorProto
   0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x59, 0x5f, 0x6f, 0x1c, 0x47,
   0x72, 0xd7, 0xfe, 0xdf, 0xa9, 0x5d, 0x2e, 0x47, 0xa3, 0x7f, 0x23, 0x52, 0xb6, 0xe9, 0x91, 0x9c,
   0xc8, 0xb4, 0xad, 0x38, 0xb2, 0x1f, 0x8c, 0x00, 0x71, 0x40, 0x91, 0x52, 0xb2, 0x80, 0xa4, 0x30,
   0xc3, 0x95, 0xfc, 0x96, 0xc1, 0x70, 0xa6, 0xb9, 0x3b, 0xd8, 0xe1, 0xcc, 0xb8, 0xbb, 0x87, 0x12,
   0x81, 0x3c, 0x25, 0x08, 0x92, 0x27, 0x07, 0x01, 0xf2, 0x19, 0x02, 0xe4, 0x31, 0x6f, 0xf7, 0x72,
   0xe7, 0xfb, 0x04, 0xf7, 0x72, 0x1f, 0xe0, 0x9e, 0x0e, 0xb8, 0xb7, 0xfb, 0x0a, 0x87, 0xaa, 0xee,
   0x9e, 0x3f, 0x24, 0x65, 0xeb, 0x9e, 0xb6, 0xeb, 0x57, 0xd5, 0x3d, 0xd5, 0xd5, 0x55, 0xd5, 0x55,
   0xbd, 0x30, 0x2b, 0x78, 0x2e, 0xf3, 0x53, 0xb1, 0x7c, 0x44, 0x03, 0x67, 0x6c, 0xe8, 0x2d, 0x38,
   0x0e, 0x05, 0x53, 0xa8, 0xf7, 0x0c, 0xfa, 0x7b, 0x9c, 0x85, 0xce, 0x0c, 0xba, 0x49, 0xec, 0x76,
   0x76, 0x3a, 0x0f, 0x07, 0x7e, 0x37, 0x89, 0x9d, 0x2d, 0x18, 0x17, 0x21, 0x67, 0x99, 0x4c, 0x62,
   0xb7, 0x4b, 0x68, 0x45, 0x3b, 0x0e, 0xf4, 0xb3, 0xf0, 0x94, 0xb9, 0xbd, 0x9d, 0xce, 0x43, 0xcb,
   0xa7, 0xb1, 0xf7, 0xc3, 0x10, 0x86, 0xfb, 0xe1, 0x29, 0xe3, 0xcd, 0xa5, 0x2c, 0x5a, 0xca, 0x88,
   0x77, 0x6b, 0x71, 0xe7, 0x26, 0x0c, 0xc2, 0x34, 0x09, 0x85, 0x5e, 0x43, 0x11, 0xce, 0xc7, 0x30,
   0x15, 0x59, 0x58, 0x88, 0x55, 0x2e, 0x83, 0x92, 0xa7, 0x6e, 0x9f, 0x98, 0x13, 0x83, 0xbd, 0xe2,
   0x29, 0x2e, 0x26, 0xcf, 0x0b, 0xe6, 0x0e, 0x48, 0x27, 0x1a, 0x23, 0x16, 0xc6, 0x31, 0x77, 0x87,
   0xea, 0x03, 0x38, 0x76, 0xee, 0x81, 0x95, 0xe6, 0xd9, 0x32, 0x91, 0x65, 0xcc, 0xdc, 0xd1, 0x4e,
   0xe7, 0x61, 0xd7, 0xaf, 0x01, 0xdc, 0x5d, 0x1a, 0x4a, 0xc5, 0x1c, 0x13, 0xb3, 0xa2, 0x51, 0xb5,
   0x93, 0x34, 0xcf, 0xb9, 0x6b, 0xd1, 0x27, 0x14, 0x81, 0xdf, 0xe0, 0x52, 0x14, 0x2e, 0xa8, 0x6f,
   0xe0, 0x98, 0x36, 0x5a, 0xb8, 0x13, 0xbd, 0xd1, 0x02, 0x65, 0x8a, 0x9c, 0x4b, 0x77, 0xaa, 0x74,
   0xc3, 0x31, 0x7e, 0xa9, 0x14, 0x8c, 0x93, 0x01, 0x36, 0x48, 0xb2, 0xa2, 0x95, 0x8d, 0x85, 0x78,
   0x93, 0xf3, 0xd8, 0x9d, 0x29, 0x9e, 0xa1, 0x51, 0x8b, 0x63, 0x1e, 0x66, 0xb1, 0xbb, 0xa9, 0x0c,
   0x44, 0x04, 0xce, 0xe0, 0x4c, 0x30, 0x7e, 0xc6, 0x62, 0xd7, 0x56, 0x33, 0x0c, 0xed, 0x7c, 0x00,
   0x90, 0x88, 0x80, 0x97, 0x59, 0x96, 0x64, 0x4b, 0xf7, 0xfa, 0x4e, 0xe7, 0xe1, 0xd8, 0xb7, 0x12,
   0xe1, 0x2b, 0x00, 0xd9, 0xbc, 0xcc, 0x02, 0x96, 0x85, 0xc7, 0x29, 0x73, 0x1d, 0xc5, 0xe6, 0x65,
   0xf6, 0x94, 0x00, 0xe7, 0x2e, 0x8c, 0x91, 0x4d, 0xb6, 0xbd, 0x41, 0xfa, 0x8f, 0x78, 0x99, 0x2d,
   0xd0, 0xbc, 0x1e, 0x6c, 0x20, 0x8b, 0x3e, 0xc3, 0x83, 0x24, 0x76, 0x6f, 0xaa, 0x63, 0xe1, 0x65,
   0x76, 0x44, 0xd8, 0x3c, 0x76, 0x3e, 0x05, 0x9b, 0x33, 0x91, 0xa7, 0xa5, 0x4c, 0xf2, 0x2c, 0x78,
   0x93, 0xc4, 0x72, 0xe5, 0xde, 0xa2, 0x65, 0x36, 0x6b, 0xfc, 0x3b, 0x84, 0x9d, 0xcf, 0xe0, 0x7a,
   0x43, 0x74, 0xc5, 0x92, 0xe5, 0x4a, 0xba, 0xb7, 0x49, 0xb6, 0xb1, 0xc6, 0x3f, 0x10, 0xee, 0xd8,
   0xd0, 0x3b, 0x29, 0x84, 0x7b, 0x87, 0xd8, 0x38, 0x74, 0x76, 0x61, 0x24, 0x58, 0x26, 0x72, 0x2e,
   0x5c, 0x77, 0xa7, 0xf7, 0x70, 0xf2, 0xd8, 0x7e, 0x54, 0x39, 0xfa, 0x11, 0x31, 0x7c, 0x23, 0xe0,
   0xec, 0xc0, 0xe4, 0x2c, 0x4f, 0x22, 0xa6, 0xf6, 0xe8, 0xde, 0xa5, 0x4d, 0x37, 0x21, 0xc7, 0x85,
   0x11, 0x91, 0xf3, 0xd8, 0xdd, 0xa2, 0x5d, 0x19, 0xd2, 0xf9, 0x0b, 0x98, 0x45, 0x79, 0xce, 0xe3,
   0x05, 0x0f, 0x33, 0x71, 0x92, 0xf3, 0x53, 0x77, 0x9b, 0x04, 0x2e, 0xa0, 0xce, 0x6d, 0x18, 0x0a,
   0x19, 0xca, 0x52, 0xb8, 0xf7, 0x48, 0x49, 0x4d, 0x79, 0xbf, 0xea, 0xc0, 0x50, 0xe9, 0x73, 0x55,
   0x40, 0x90, 0x9d, 0x75, 0x40, 0x90, 0x0f, 0x2b, 0x5f, 0xea, 0x5d, 0xf2, 0xa5, 0xfe, 0x3b, 0x7c,
   0x69, 0xf0, 0x13, 0xbe, 0x34, 0xbc, 0xe0, 0x4b, 0xf7, 0xc0, 0x92, 0x2b, 0xce, 0xc4, 0x2a, 0x4f,
   0x63, 0x8a, 0x85, 0x81, 0x5f, 0x03, 0xb8, 0x01, 0xed, 0x14, 0x63, 0xb2, 0x8f, 0xa6, 0xbc, 0x17,
   0x00, 0x2a, 0xa0, 0x9f, 0x27, 0xd9, 0x1a, 0xdd, 0x27, 0x22, 0x2a, 0x48, 0x62, 0xa1, 0xf7, 0x62,
   0x29, 0x64, 0x1e, 0xa3, 0xa5, 0xa7, 0x69, 0x92, 0xad, 0x03, 0x19, 0x8a, 0x75, 0xa0, 0x53, 0x86,
   0xe5, 0x03, 0x62, 0x8b, 0x50, 0xac, 0xe7, 0xb1, 0xf7, 0x1b, 0xb4, 0x47, 0xbc, 0xf6, 0xcb, 0xcc,
   0xb9, 0x05, 0xc3, 0xa4, 0x88, 0x82, 0xca, 0x26, 0x83, 0xa4, 0x88, 0xe6, 0x31, 0xba, 0xa0, 0x88,
   0xd7, 0x41, 0xc3, 0x34, 0x23, 0x11, 0xaf, 0xc9, 0x05, 0x3f, 0x87, 0xeb, 0x89, 0x58, 0xf0, 0x64,
   0xb9, 0x64, 0xfc, 0xc9, 0xf9, 0x21, 0x67, 0x47, 0xf1, 0x9a, 0x8c, 0x35, 0xf0, 0x2f, 0x33, 0x9c,
   0x0f, 0x01, 0xa2, 0x3c, 0x3b, 0x49, 0x62, 0x96, 0x45, 0x4c, 0x5b, 0xb0, 0x81, 0x50, 0x6c, 0xf9,
   0x2c, 0x89, 0xc9, 0x88, 0x63, 0x5f, 0x11, 0xce, 0x23, 0x70, 0xa4, 0x5a, 0xe8, 0x25, 0x7b, 0x2b,
   0x8f, 0xd4, 0x97, 0xc9, 0x96, 0x03, 0xff, 0x0a, 0x8e, 0xf7, 0x4f, 0x30, 0x53, 0xf6, 0x59, 0x24,
   0xa7, 0x8c, 0x97, 0x29, 0x7b, 0xaf, 0xc4, 0xb7, 0x0d, 0x96, 0x4c, 0x4e, 0x59, 0x80, 0x13, 0xf4,
   0x71, 0x8f, 0x11, 0xf0, 0xcb, 0x94, 0x79, 0x2f, 0x61, 0x78, 0x10, 0x9e, 0xef, 0xcb, 0x14, 0xfd,
   0x3e, 0x0e, 0xcf, 0x75, 0x3e, 0xc6, 0xa1, 0xf3, 0x18, 0x40, 0x4d, 0x0c, 0xb3, 0x25, 0x2e, 0x89,
   0xae, 0x7f, 0xa3, 0x76, 0x7d, 0x54, 0xc2, 0x47, 0x96, 0x4f, 0xeb, 0xd3, 0xd0, 0xfb, 0x0a, 0xac,
   0x0a, 0xc7, 0x5d, 0x0b, 0x19, 0x72, 0x69, 0x8c, 0x4e, 0x04, 0x7e, 0x88, 0x65, 0xe6, 0xbc, 0x70,
   0xe8, 0xbd, 0x86, 0xd1, 0x61, 0x9e, 0x9e, 0x2f, 0xf3, 0xec, 0xbd, 0x36, 0xf4, 0x97, 0x30, 0x2c,
   0xf2, 0x24, 0x93, 0x98, 0xca, 0x51, 0xa7, 0xcd, 0x5a, 0xa7, 0x43, 0xc4, 0x7d, 0xcd, 0xf6, 0xbe,
   0x37, 0xfe, 0x34, 0xcf, 0x4e, 0x72, 0xe7, 0x01, 0x25, 0x15, 0x95, 0x3f, 0x5e, 0xe2, 0x9a, 0xea,
   0x2b, 0x6d, 0x50, 0x2b, 0xd0, 0xbd, 0xa4, 0x40, 0xe3, 0xe6, 0x69, 0x65, 0xae, 0x7e, 0x2b, 0x73,
   0x79, 0xdf, 0x9b, 0x23, 0xda, 0xcb, 0x62, 0x34, 0xb0, 0x70, 0xbe, 0x36, 0x6e, 0x8c, 0x4a, 0xd0,
   0x37, 0x27, 0x8f, 0x6f, 0xd6, 0x1a, 0xd7, 0x0a, 0xfa, 0x0d, 0x39, 0xe7, 0x53, 0x18, 0xe0, 0x79,
   0x89, 0xcb, 0x66, 0xff, 0x7b, 0x9e, 0x97, 0x05, 0x2e, 0xed, 0x2b, 0x09, 0xef, 0x3f, 0x7a, 0x60,
   0x55, 0x20, 0x46, 0x5e, 0x15, 0x23, 0x6e, 0x67, 0xa7, 0xd7, 0x0e, 0x9a, 0x8b, 0xbb, 0xfb, 0x00,
   0x60, 0x89, 0x53, 0x03, 0xc9, 0xde, 0x4a, 0xbd, 0x47, 0x8b, 0x90, 0x05, 0x7b, 0x2b, 0x9d, 0x8f,
   0x60, 0x12, 0xa6, 0x21, 0x3f, 0x0d, 0x52, 0x76, 0xc6, 0x52, 0xe3, 0xd7, 0x04, 0x3d, 0x47, 0xc4,
   0x79, 0x60, 0xd4, 0x1c, 0x90, 0x9a, 0xb3, 0x5a, 0xcd, 0x86, 0x86, 0x14, 0x66, 0x4c, 0x2a, 0x7b,
   0x0d, 0x75, 0x98, 0x31, 0x49, 0x61, 0xf6, 0x11, 0x4c, 0x24, 0x3b, 0x2d, 0xd2, 0x50, 0x32, 0x8c,
   0xce, 0x91, 0x0a, 0x62, 0x03, 0xcd, 0x63, 0xe7, 0x3e, 0x6c, 0x54, 0x02, 0xe4, 0xc1, 0x63, 0x12,
   0x99, 0x1a, 0x90, 0x36, 0xbd, 0x03, 0xd3, 0xca, 0xc5, 0x71, 0x19, 0x4b, 0x2f, 0xa3, 0xbd, 0x7c,
   0x4e, 0x1b, 0x15, 0x11, 0xcb, 0x58, 0x40, 0x87, 0xa9, 0xae, 0x54, 0x8b, 0x10, 0x3a, 0x75, 0x07,
   0xfa, 0x31, 0x13, 0x91, 0xbe, 0x59, 0x69, 0xdc, 0xc8, 0x52, 0xd3, 0x66, 0x96, 0x6a, 0x26, 0xf0,
   0x8d, 0x56, 0x02, 0xf7, 0xfe, 0x05, 0x36, 0xaa, 0x83, 0x38, 0x8a, 0xd7, 0xe2, 0x92, 0x37, 0xb7,
   0xb5, 0xe8, 0x5e, 0xd4, 0xe2, 0x01, 0xf4, 0x45, 0xbc, 0x36, 0x6e, 0xdd, 0xbc, 0x65, 0x28, 0x8b,
   0xf9, 0xc4, 0xa5, 0xf4, 0x1f, 0xaf, 0xf1, 0x78, 0xfb, 0x74, 0xbc, 0x9a, 0xf2, 0xfe, 0xbb, 0x0b,
   0x7d, 0xff, 0xaa, 0xa4, 0xb0, 0x6d, 0x5c, 0xa2, 0x4e, 0x93, 0x63, 0xe3, 0x12, 0xa8, 0x52, 0xa1,
   0x62, 0x0f, 0xb9, 0xda, 0x03, 0x34, 0x32, 0x8f, 0x31, 0x71, 0x62, 0x86, 0x4c, 0x62, 0x5d, 0x19,
   0x0d, 0xe8, 0x63, 0xce, 0x17, 0x80, 0x89, 0x32, 0x10, 0x4c, 0xea, 0x93, 0xbf, 0xd9, 0x52, 0xf6,
   0x88, 0xc9, 0x27, 0xa1, 0x60, 0xa4, 0xda, 0x11, 0x93, 0xea, 0x3e, 0x4f, 0x59, 0xf0, 0x26, 0x91,
   0xab, 0xa0, 0xe0, 0xc6, 0x0b, 0x26, 0x08, 0x7e, 0x97, 0xc8, 0xd5, 0x21, 0xc7, 0xcd, 0xcf, 0x12,
   0x11, 0x88, 0xf0, 0x8c, 0x05, 0x61, 0x76, 0xbe, 0xca, 0xdf, 0x90, 0x33, 0x8c, 0xfd, 0x69, 0x22,
   0x8e, 0xc2, 0x33, 0xb6, 0x47, 0x18, 0xba, 0x92, 0x72, 0xd8, 0x24, 0xd6, 0x9e, 0x30, 0x22, 0x7a,
   0x4e, 0x91, 0x2a, 0xf0, 0xfe, 0x52, 0x45, 0x14, 0x8d, 0xbd, 0x7f, 0xef, 0xc0, 0x14, 0x6d, 0xb2,
   0xd0, 0xde, 0xf2, 0x5e, 0xf9, 0xc5, 0x38, 0x43, 0xaf, 0xe1, 0x0c, 0x36, 0xf4, 0xe4, 0x5b, 0xa9,
   0x8d, 0x80, 0x43, 0xe7, 0xb3, 0xb6, 0xeb, 0xdf, 0x6a, 0x24, 0x46, 0xfd, 0xb1, 0x3d, 0xbe, 0x34,
   0x31, 0xfa, 0x2d, 0xd8, 0x4d, 0x35, 0x9e, 0x27, 0x42, 0x3a, 0xbb, 0xd0, 0x4f, 0x13, 0x21, 0x29,
   0x48, 0x27, 0x8f, 0x6f, 0xb7, 0x43, 0xc7, 0x48, 0xfa, 0x24, 0xe3, 0xfd, 0xba, 0x03, 0x93, 0xc6,
   0xb2, 0x8d, 0x63, 0xe9, 0x34, 0x8f, 0xc5, 0x83, 0x0d, 0x84, 0x43, 0xbe, 0x0c, 0x54, 0xad, 0xdb,
   0xd5, 0xe5, 0x6c, 0xbc, 0xde, 0xe3, 0xcb, 0x3d, 0xaa, 0x78, 0xb7, 0x60, 0x9c, 0x17, 0x8c, 0x87,
   0x32, 0xe7, 0xe6, 0x36, 0x30, 0x74, 0x73, 0xfe, 0x59, 0x98, 0x96, 0xac, 0x2a, 0x87, 0x69, 0xfe,
   0x6b, 0x84, 0x2a, 0x33, 0xab, 0x72, 0x80, 0xc6, 0xef, 0x73, 0xbe, 0xde, 0xff, 0x75, 0x00, 0x6a,
   0xd7, 0xb8, 0xac, 0x6a, 0xe7, 0xa7, 0x55, 0xed, 0x5e, 0x50, 0xf5, 0x3e, 0x6c, 0x98, 0xb1, 0x4a,
   0x2c, 0x6a, 0x2f, 0x53, 0x03, 0x9a, 0x3a, 0xf2, 0xcf, 0xda, 0x8f, 0x71, 0x9b, 0x7f, 0xed, 0x43,
   0x0f, 0xaf, 0xf5, 0x8b, 0xde, 0x52, 0x97, 0x11, 0xdd, 0x77, 0x95, 0x11, 0xbd, 0x76, 0x19, 0xa1,
   0x59, 0xe4, 0x63, 0xfd, 0x8a, 0x65, 0xa2, 0x3d, 0xe4, 0x4b, 0xe3, 0x3f, 0xed, 0x68, 0x47, 0xd7,
   0x21, 0x2e, 0xaa, 0x97, 0x44, 0x79, 0x66, 0x3a, 0x0d, 0x1c, 0xa3, 0x33, 0x62, 0xaf, 0xa2, 0x92,
   0x25, 0x0e, 0x31, 0x8d, 0x46, 0x9c, 0x61, 0x8e, 0xc4, 0x9c, 0xa7, 0x23, 0x03, 0x14, 0x84, 0xf7,
   0x31, 0x0a, 0x94, 0x45, 0x5c, 0x09, 0xe8, 0x04, 0xa9, 0x20, 0x12, 0xc0, 0x24, 0xa1, 0x56, 0x38,
   0x3e, 0xd7, 0xf9, 0x71, 0xac, 0x80, 0x27, 0xe7, 0x8d, 0x54, 0x38, 0x69, 0xa5, 0xc2, 0xbb, 0x30,
   0x8e, 0x59, 0x1a, 0x9c, 0xa4, 0xe1, 0x52, 0xb7, 0x20, 0xa3, 0x98, 0xa5, 0xcf, 0xd2, 0x70, 0x89,
   0x67, 0x87, 0xba, 0x3e, 0x49, 0xf3, 0x63, 0xd3, 0x85, 0x18, 0x9a, 0x32, 0x28, 0xe3, 0x22, 0xc9,
   0x33, 0xdd, 0x84, 0x18, 0x12, 0x39, 0x2c, 0x5b, 0xf0, 0x30, 0x5a, 0x53, 0x17, 0x32, 0xf6, 0x0d,
   0x89, 0x2a, 0x84, 0x7c, 0x79, 0xc0, 0x4e, 0x74, 0x17, 0xa2, 0x29, 0xc4, 0xd1, 0xcb, 0x8e, 0x72,
   0xea, 0x3f, 0x2c, 0x5f, 0x53, 0x78, 0x0f, 0x9a, 0xef, 0x3d, 0xa6, 0xde, 0xc3, 0xf2, 0x6b, 0xc0,
   0xf1, 0x60, 0x1a, 0x46, 0x32, 0x39, 0x0b, 0x25, 0xdb, 0xcf, 0x63, 0xd5, 0x7f, 0x58, 0x7e, 0x0b,
   0xf3, 0xfe, 0xa0, 0xca, 0x47, 0x0c, 0xb7, 0xaa, 0x77, 0xec, 0x34, 0x7b, 0xc7, 0x77, 0xe4, 0x8e,
   0x86, 0x1b, 0x54, 0xcd, 0xe2, 0x69, 0x29, 0x54, 0xf2, 0x18, 0xfb, 0x34, 0x46, 0xac, 0xcc, 0x92,
   0x2a, 0x8a, 0x70, 0x8c, 0x5f, 0x51, 0xa5, 0x96, 0x3a, 0x6b, 0x45, 0xa0, 0xa3, 0xc7, 0xec, 0x24,
   0x2c, 0x53, 0xa9, 0x7d, 0x58, 0x1d, 0xfb, 0x54, 0x83, 0xca, 0x89, 0x3f, 0x05, 0xdb, 0x08, 0x55,
   0x11, 0xa3, 0x9c, 0x60, 0x53, 0xe3, 0xff, 0x68, 0x02, 0xe7, 0xaa, 0x34, 0xf9, 0x9f, 0x2a, 0x36,
   0xf7, 0x57, 0x61, 0x86, 0xe9, 0xba, 0xe9, 0xcf, 0x9d, 0x4b, 0xfe, 0x1c, 0xad, 0xc2, 0x2c, 0xc8,
   0xca, 0x53, 0xdd, 0xa4, 0x8f, 0x90, 0x7e, 0x59, 0x9e, 0x62, 0x7d, 0x55, 0x57, 0xbc, 0xf3, 0x2c,
   0xd2, 0xd5, 0x72, 0x1b, 0xc4, 0x4a, 0xf9, 0x34, 0xc9, 0x5e, 0xe4, 0x67, 0xec, 0x30, 0x17, 0xa6,
   0xa2, 0xa8, 0x11, 0xef, 0xbf, 0x3a, 0xb0, 0x79, 0x70, 0x8c, 0x9a, 0x2c, 0xd9, 0x0b, 0x26, 0x44,
   0xb8, 0xc4, 0x5a, 0x7c, 0x20, 0xc9, 0xfb, 0x50, 0x99, 0x59, 0x33, 0x55, 0x2e, 0x10, 0x56, 0xc2,
   0xb1, 0xaf, 0x84, 0x2e, 0xd5, 0x38, 0xbb, 0x30, 0xc4, 0x73, 0xcd, 0x33, 0x52, 0x68, 0xf6, 0xd8,
   0xa9, 0xa7, 0x1f, 0x1c, 0xef, 0x11, 0xc7, 0xd7, 0x12, 0x14, 0x6d, 0x58, 0xa6, 0xf5, 0x75, 0xb4,
   0x65, 0x27, 0xb9, 0xf7, 0x43, 0x17, 0x36, 0x54, 0x95, 0xf6, 0xae, 0x22, 0xf5, 0x27, 0x2f, 0xd8,
   0xab, 0x0a, 0x48, 0x17, 0x46, 0xfa, 0x8a, 0x35, 0x49, 0x41, 0x93, 0xce, 0xc7, 0x30, 0xd5, 0x85,
   0x7f, 0x90, 0x26, 0x99, 0x69, 0xba, 0x26, 0x1a, 0x7b, 0x9e, 0x64, 0xcc, 0xf9, 0x04, 0x66, 0x71,
   0xc2, 0x19, 0x29, 0xac, 0x84, 0x94, 0xbf, 0x6c, 0x54, 0x28, 0x89, 0x19, 0x4f, 0x1c, 0x35, 0x3c,
   0x51, 0xf9, 0x12, 0x1e, 0x45, 0x80, 0x3d, 0xa3, 0x4a, 0x14, 0x03, 0xf2, 0x25, 0x04, 0x8f, 0x10,
   0xa3, 0x5c, 0xa2, 0x76, 0x43, 0x7a, 0xeb, 0x54, 0xa1, 0x20, 0x4c, 0x5c, 0xde, 0x6f, 0x3b, 0x70,
   0xab, 0x65, 0x10, 0x9f, 0xa5, 0x21, 0x99, 0xef, 0xa2, 0x61, 0x1e, 0x82, 0x2d, 0xf2, 0x92, 0x47,
   0x2c, 0xb8, 0x68, 0x9f, 0x99, 0xc2, 0xf7, 0x8d, 0x95, 0x76, 0xe1, 0xba, 0x96, 0xbc, 0x54, 0x8d,
   0x6c, 0x2a, 0xc6, 0x61, 0x55, 0x93, 0x3c, 0x04, 0x5b, 0x86, 0x7c, 0xc9, 0x64, 0x63, 0x55, 0x65,
   0xc6, 0x99, 0xc2, 0x9b, 0xab, 0x6a, 0xc9, 0xc6, 0xaa, 0xca, 0xa4, 0x9b, 0x8a, 0x51, 0xad, 0xea,
   0xfd, 0xb2, 0x03, 0x1b, 0xaf, 0x93, 0x98, 0xe5, 0x32, 0x2c, 0x18, 0xd5, 0xe0, 0x5b, 0x30, 0x66,
   0xe2, 0x20, 0x94, 0xe1, 0xdc, 0xec, 0xa9, 0xa2, 0x91, 0x67, 0x4e, 0xf8, 0xd2, 0x89, 0xdf, 0x86,
   0xa1, 0xa4, 0x0e, 0x54, 0x6f, 0x40, 0x53, 0x18, 0xdf, 0xc9, 0xe9, 0x72, 0xae, 0x94, 0xed, 0xf9,
   0x8a, 0xc0, 0x95, 0xce, 0xf0, 0xb3, 0xaf, 0x78, 0x6a, 0x5a, 0x6c, 0x43, 0x37, 0x4a, 0xbd, 0x61,
   0xb3, 0xd4, 0x6b, 0x9d, 0xad, 0x7e, 0x92, 0xf2, 0xfe, 0x0e, 0x06, 0xaf, 0xb1, 0x0e, 0x7d, 0xdf,
   0x12, 0xa7, 0x08, 0xe5, 0xca, 0x38, 0x25, 0x8e, 0xbd, 0x2f, 0xc1, 0xa2, 0x05, 0xa8, 0x38, 0xb9,
   0xdf, 0x2a, 0x4e, 0x1a, 0x1d, 0x16, 0x89, 0xe8, 0xaa, 0xe4, 0xf7, 0x3d, 0x98, 0xec, 0xe7, 0xa7,
   0x45, 0xc8, 0xb1, 0x28, 0xa1, 0xfb, 0x9a, 0x42, 0xb0, 0x6e, 0x3d, 0x2a, 0xda, 0xd9, 0x05, 0x3b,
   0x52, 0xa2, 0x8b, 0xea, 0x61, 0xa0, 0x4b, 0xef, 0x60, 0x97, 0x70, 0x67, 0x07, 0x26, 0x27, 0x61,
   0xc4, 0x9e, 0xb1, 0x50, 0x96, 0x5c, 0x45, 0xce, 0xd4, 0x6f, 0x42, 0x68, 0x4a, 0x34, 0xaa, 0x29,
   0x81, 0x15, 0x41, 0xaf, 0x0e, 0x9c, 0xb1, 0x97, 0x79, 0xac, 0xcb, 0x32, 0xcb, 0xaf, 0x01, 0x32,
   0x5a, 0x78, 0x6c, 0x4c, 0x49, 0x63, 0xcc, 0x46, 0x75, 0x37, 0x63, 0xba, 0x8f, 0x46, 0x7f, 0xf3,
   0x21, 0x80, 0x60, 0x21, 0x8f, 0x56, 0x0b, 0x75, 0xad, 0xe2, 0xcc, 0x06, 0x82, 0xfc, 0x24, 0x2b,
   0x4a, 0x95, 0x85, 0x4d, 0xa8, 0xd4, 0x88, 0x7a, 0x17, 0x48, 0x53, 0x15, 0x96, 0xfa, 0x5a, 0x6d,
   0x20, 0x74, 0xc0, 0xe4, 0xdd, 0xe6, 0x62, 0x55, 0x14, 0xe6, 0xd2, 0x30, 0x0b, 0xd3, 0x73, 0xf3,
   0xda, 0x45, 0xb7, 0xab, 0xe5, 0xb7, 0x41, 0x95, 0x71, 0x95, 0xed, 0xc8, 0x99, 0xf5, 0x45, 0xdb,
   0x06, 0xf1, 0xae, 0x4b, 0x84, 0x39, 0xa6, 0x34, 0xa5, 0x2b, 0x97, 0xca, 0xea, 0x1a, 0x43, 0xcb,
   0x09, 0xbd, 0xaa, 0x70, 0x37, 0x95, 0xe5, 0x2a, 0xc0, 0x3b, 0x86, 0xa9, 0x96, 0x7d, 0x7a, 0xc6,
   0x32, 0xe9, 0x7c, 0x03, 0x16, 0xc3, 0xc1, 0xc2, 0x5c, 0x10, 0xb3, 0xc7, 0x5b, 0x8d, 0x8e, 0xb6,
   0x21, 0x8a, 0x12, 0x7e, 0x2d, 0x4c, 0x89, 0x2f, 0x3c, 0x4f, 0xf3, 0x50, 0x1d, 0xfe, 0xd4, 0x37,
   0xa4, 0xf7, 0xcf, 0x30, 0xc3, 0x1b, 0x48, 0xcf, 0x0d, 0xa3, 0xd5, 0x25, 0x3f, 0x76, 0x61, 0x44,
   0xde, 0x54, 0xe5, 0x10, 0x43, 0xe2, 0x0e, 0xf5, 0x96, 0x8f, 0xa2, 0x5c, 0x3b, 0x4c, 0xd7, 0x6f,
   0x61, 0x9e, 0x0f, 0x76, 0xbd, 0xbe, 0xcf, 0x44, 0x99, 0x4a, 0xe7, 0xdb, 0xca, 0x7e, 0x0a, 0xd0,
   0xde, 0xee, 0xb6, 0x4a, 0xb1, 0x86, 0x4a, 0x7e, 0x5b, 0xdc, 0xfb, 0xb1, 0x0f, 0x16, 0x6d, 0xf3,
   0xb0, 0x14, 0xab, 0xf7, 0x8a, 0xbb, 0x0f, 0xf4, 0x93, 0x8a, 0x7a, 0x16, 0xd1, 0xdd, 0x16, 0x22,
   0x47, 0xf4, 0x34, 0x72, 0x17, 0xe8, 0x65, 0x26, 0x60, 0x99, 0xc9, 0x68, 0x23, 0xa4, 0x9f, 0x66,
   0x71, 0xd5, 0x1e, 0xc9, 0x44, 0x9c, 0x9c, 0x07, 0x61, 0x9a, 0xea, 0xa7, 0x24, 0x6a, 0x8f, 0x08,
   0xc4, 0x73, 0xdc, 0x06, 0x8b, 0x0a, 0x71, 0x6a, 0xe7, 0xf5, 0xa3, 0x1c, 0xa7, 0x76, 0xe2, 0xad,
   0x6c, 0x54, 0x71, 0xa3, 0x56, 0x15, 0xb7, 0x0d, 0x96, 0x7a, 0x49, 0xc3, 0xe3, 0x54, 0x55, 0xc3,
   0x98, 0x9e, 0xd1, 0x74, 0x83, 0x4e, 0xcc, 0x98, 0x9d, 0x25, 0x51, 0xe5, 0xe2, 0x08, 0x1d, 0x10,
   0xe2, 0xfc, 0x15, 0x8c, 0x93, 0x22, 0x28, 0x72, 0x2e, 0x85, 0x0b, 0x17, 0x7b, 0x41, 0x34, 0xcc,
   0xbc, 0x38, 0xcc, 0xb9, 0xf4, 0x47, 0x09, 0xfd, 0x0a, 0xe7, 0x13, 0xe8, 0x97, 0x3c, 0x15, 0xee,
   0x84, 0x84, 0xaf, 0xb7, 0x85, 0x5f, 0xf1, 0xd4, 0x27, 0xb6, 0xf3, 0x85, 0xe9, 0xaf, 0xa6, 0x24,
   0x77, 0xa7, 0x96, 0xab, 0x4c, 0xde, 0x7c, 0x63, 0xd8, 0x07, 0x38, 0x49, 0x52, 0xe9, 0x33, 0xfd,
   0xee, 0x8d, 0x73, 0xee, 0x5f, 0x31, 0xe7, 0xd1, 0xb3, 0x4a, 0xea, 0x69, 0x26, 0xf9, 0xb9, 0xdf,
   0x98, 0xe6, 0x7c, 0x09, 0xe3, 0xa2, 0x14, 0x2b, 0xea, 0x6b, 0x67, 0x17, 0xdb, 0x3a, 0x9c, 0x7d,
   0xc4, 0xe4, 0x0b, 0x96, 0x95, 0xfe, 0xa8, 0x50, 0xc4, 0xd6, 0xdf, 0xc2, 0xe6, 0x85, 0x05, 0xb1,
   0x3a, 0x5f, 0xb3, 0x73, 0xed, 0x08, 0x38, 0xc4, 0x6c, 0xa5, 0x4a, 0x37, 0xdd, 0x35, 0x10, 0xf1,
   0x37, 0xdd, 0x6f, 0x3a, 0xde, 0xff, 0x74, 0x60, 0xd2, 0x58, 0xf7, 0xbd, 0x7c, 0xc8, 0x85, 0x51,
   0xb4, 0x62, 0xd1, 0x9a, 0xa9, 0xfb, 0x65, 0xec, 0x1b, 0xb2, 0x2e, 0x53, 0xfb, 0xcd, 0x32, 0xf5,
   0xaf, 0xb1, 0x64, 0x4b, 0xd2, 0x98, 0xb3, 0xec, 0x72, 0xaf, 0xda, 0xdc, 0x54, 0x25, 0xe6, 0xfd,
   0xae, 0x03, 0x1b, 0x2d, 0x2b, 0x5f, 0xf5, 0x92, 0x21, 0xf3, 0x22, 0x89, 0x9a, 0x6f, 0xa7, 0x16,
   0x21, 0xe4, 0x35, 0xdb, 0xa0, 0x08, 0x6c, 0xbd, 0xaa, 0x37, 0x47, 0x04, 0xb0, 0x9a, 0x6e, 0xb6,
   0x75, 0xfd, 0x9f, 0x6b, 0xeb, 0x06, 0x57, 0xb4, 0x75, 0xf4, 0xc7, 0x42, 0xca, 0x74, 0x3d, 0xac,
   0xdc, 0x9c, 0xfc, 0x5e, 0x25, 0x5d, 0x0f, 0x36, 0x28, 0xe3, 0x04, 0x74, 0x96, 0xd5, 0xab, 0xd2,
   0x84, 0x99, 0x1d, 0xcd, 0x63, 0xef, 0x15, 0x40, 0xed, 0x9b, 0xa8, 0xae, 0xf9, 0xaf, 0xa1, 0x30,
   0x57, 0xbd, 0x4e, 0x7f, 0xf5, 0xbb, 0x78, 0xb7, 0xf1, 0x2e, 0x5e, 0x87, 0x52, 0xaf, 0xf5, 0x82,
   0xfd, 0x15, 0x8c, 0xb4, 0x17, 0x9b, 0x26, 0xad, 0x53, 0x37, 0x69, 0xf5, 0xa4, 0x6e, 0x6b, 0xd2,
   0x8f, 0x1d, 0xa5, 0xcc, 0x9e, 0x94, 0x98, 0xf7, 0xee, 0xc0, 0xc8, 0x28, 0xae, 0x26, 0x0f, 0x0b,
   0xd2, 0xd9, 0xf1, 0xa0, 0x17, 0x85, 0xaa, 0xec, 0x6e, 0xf5, 0x8b, 0xaa, 0xdc, 0xf1, 0x91, 0xd9,
   0xdc, 0x89, 0x29, 0x3f, 0xcc, 0x4e, 0x62, 0x8c, 0x65, 0xcd, 0x6c, 0xf4, 0xa3, 0x20, 0xea, 0xc7,
   0xcf, 0xbb, 0x30, 0x4e, 0xf3, 0x28, 0x4c, 0xd1, 0x0c, 0xca, 0xf0, 0x23, 0xa2, 0xe7, 0x05, 0x2e,
   0x4c, 0x65, 0x09, 0xfd, 0x4b, 0x36, 0x6c, 0xd7, 0x29, 0xde, 0x1f, 0x3b, 0x70, 0xe3, 0xa9, 0x38,
   0x64, 0x5c, 0xe4, 0xd9, 0x7e, 0x18, 0xad, 0x74, 0x49, 0xee, 0x7c, 0xae, 0xeb, 0x14, 0x75, 0x47,
   0x34, 0xf2, 0xea, 0x53, 0xd1, 0x10, 0x8b, 0x75, 0x75, 0x7a, 0x57, 0x97, 0x0f, 0xaa, 0x4a, 0xec,
   0x55, 0x19, 0x7e, 0x4e, 0x15, 0x76, 0x41, 0xab, 0x37, 0xb6, 0xa5, 0x80, 0x39, 0x5d, 0x0c, 0x27,
   0xba, 0x54, 0xd0, 0x49, 0x53, 0x93, 0x8d, 0xd2, 0x7f, 0xf0, 0xb3, 0xa5, 0x7f, 0x7d, 0x3a, 0xea,
   0x01, 0xde, 0x64, 0xc7, 0x9b, 0x30, 0x88, 0x42, 0xfe, 0x32, 0xd7, 0x5e, 0xa4, 0x08, 0xef, 0xff,
   0x3b, 0xb0, 0xb9, 0x9f, 0x96, 0x42, 0x32, 0xbe, 0x97, 0xc5, 0xaa, 0xc0, 0xb8, 0x07, 0x56, 0xa4,
   0xa0, 0xaa, 0x60, 0xac, 0x01, 0x2c, 0x6a, 0x34, 0xf1, 0xb2, 0x8e, 0xe8, 0x26, 0xe4, 0x3c, 0x80,
   0x41, 0x46, 0xa5, 0x4b, 0xef, 0xe2, 0x63, 0x2a, 0xae, 0xef, 0x2b, 0x26, 0x7e, 0xe5, 0x2c, 0xe1,
   0xb2, 0xc4, 0x53, 0xd1, 0xfb, 0xad, 0x81, 0xd6, 0x9f, 0x32, 0x83, 0xf6, 0x9f, 0x32, 0xde, 0xbf,
   0x75, 0xa1, 0x8f, 0x2b, 0x5d, 0x15, 0xcc, 0x5a, 0x8f, 0xba, 0x40, 0x6f, 0x68, 0xbe, 0x0d, 0x16,
   0x7e, 0x3a, 0x68, 0xb4, 0x31, 0x63, 0x04, 0x48, 0xe9, 0x3b, 0x30, 0x22, 0x66, 0x55, 0x83, 0x0f,
   0x91, 0x9c, 0xc7, 0x35, 0xc3, 0xb8, 0x92, 0x62, 0x14, 0x17, 0xdf, 0x2a, 0x86, 0x97, 0xde, 0x2a,
   0xb6, 0x60, 0x9c, 0x88, 0x03, 0x96, 0x32, 0x69, 0x6e, 0xaa, 0x8a, 0xc6, 0xc9, 0x31, 0x4f, 0x4e,
   0x64, 0xa3, 0x7f, 0xb1, 0x7c, 0x20, 0xa8, 0xea, 0x5e, 0xd4, 0x55, 0xa5, 0xd2, 0x87, 0xbe, 0xaf,
   0x14, 0x44, 0x2f, 0xf4, 0xff, 0xdb, 0x81, 0xde, 0x41, 0x12, 0x5d, 0x32, 0xc2, 0x95, 0x49, 0xfa,
   0xca, 0xee, 0xcd, 0x54, 0xdf, 0xfd, 0x46, 0x67, 0xb5, 0x83, 0x9f, 0x15, 0x11, 0x4f, 0x8a, 0xca,
   0xdd, 0x2c, 0xbf, 0x09, 0x55, 0x7d, 0xf7, 0xb0, 0xee, 0xbb, 0xc9, 0xad, 0xe9, 0x2f, 0xee, 0x3a,
   0x4b, 0xe9, 0xff, 0xbc, 0xe7, 0xf1, 0xee, 0x2f, 0xba, 0x30, 0x6d, 0xf6, 0xb7, 0xce, 0x14, 0xc6,
   0x8b, 0x40, 0x05, 0xbb, 0x7d, 0xcd, 0xb1, 0x61, 0x6a, 0x28, 0xcc, 0xd0, 0x76, 0xc7, 0xb1, 0x60,
   0xb0, 0x08, 0x8e, 0xe2, 0xb5, 0xdd, 0x75, 0x6e, 0xc0, 0xa6, 0x61, 0xea, 0x0e, 0xc7, 0xee, 0x39,
   0x33, 0x80, 0x45, 0xb0, 0xd0, 0x6f, 0xe2, 0x76, 0x5f, 0xad, 0xa7, 0x8a, 0x49, 0x7b, 0xa0, 0xd6,
   0x3b, 0xcc, 0xd3, 0x74, 0x1f, 0xfb, 0xf5, 0xa5, 0x3d, 0x74, 0x00, 0x86, 0x8b, 0xe0, 0x59, 0x92,
   0x32, 0x7b, 0xe4, 0x5c, 0x87, 0x0d, 0x35, 0x3e, 0x62, 0x52, 0x26, 0xd9, 0xd2, 0x1e, 0xab, 0x09,
   0xf5, 0xab, 0x81, 0x6d, 0x39, 0x9b, 0x30, 0xd1, 0x42, 0x32, 0x8c, 0xd6, 0x36, 0x38, 0x37, 0xc1,
   0x5e, 0x04, 0x3e, 0xd3, 0xbd, 0x9e, 0x5a, 0x77, 0xe2, 0xdc, 0x06, 0x07, 0x95, 0x4b, 0xa3, 0x52,
   0xb5, 0x8d, 0x87, 0xf9, 0x1b, 0xc6, 0xed, 0xa9, 0x9a, 0x5e, 0x5d, 0x3b, 0xf6, 0x86, 0xb3, 0x01,
   0xd6, 0x22, 0xd0, 0x51, 0x66, 0xcf, 0x9c, 0x6d, 0xb8, 0x73, 0x61, 0x53, 0xa6, 0xf1, 0xb4, 0x37,
   0x9d, 0x09, 0x8c, 0x16, 0x01, 0x35, 0x27, 0xb6, 0xbd, 0xfb, 0x08, 0xc6, 0x26, 0xbe, 0x71, 0x17,
   0xf3, 0x4c, 0x30, 0x2e, 0xed, 0x6b, 0x38, 0x7e, 0x45, 0x4f, 0x5e, 0x76, 0x07, 0xc7, 0xca, 0xa7,
   0xec, 0xee, 0xae, 0x0f, 0xf6, 0xc5, 0xaa, 0x15, 0xb5, 0xf1, 0xd9, 0x3c, 0x4b, 0x24, 0x65, 0x2a,
   0xfb, 0x1a, 0x02, 0x6a, 0xb2, 0x02, 0x3a, 0xf8, 0x49, 0x3d, 0xcb, 0xee, 0x22, 0x57, 0x2d, 0xa7,
   0xb8, 0xbd, 0xdd, 0xaf, 0x61, 0xd6, 0xce, 0x72, 0x6a, 0x3b, 0x07, 0xc7, 0x74, 0xa6, 0xf6, 0x35,
   0x75, 0x46, 0x9a, 0x54, 0xa9, 0xd3, 0xee, 0x1c, 0x0f, 0x29, 0xe6, 0xbf, 0xfa, 0x53, 0x00, 0x00,
   0x00, 0xff, 0xff, 0x1c, 0x86, 0x6a, 0xce, 0x4b, 0x21, 0x00, 0x00,
}