554325746@qq.com
2019-07-05 f0513d7f1b644337a2f78a66dea50495f0f1a61e
Merge branch 'master' of ssh://192.168.1.14:29418/pubsub/protomsg
2个文件已修改
496 ■■■■■ 已修改文件
protomsg.pb.go 459 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
protomsg.proto 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
protomsg.pb.go
@@ -9,6 +9,7 @@
    proto "github.com/gogo/protobuf/proto"
    io "io"
    math "math"
    math_bits "math/bits"
)
// Reference imports to suppress errors if they are not otherwise used.
@@ -35,6 +36,7 @@
    TableChanged_T_Sdk            TableChanged = 6
    TableChanged_T_CameraPolygon  TableChanged = 7
    TableChanged_T_TimeRule       TableChanged = 8
    TableChanged_T_Server         TableChanged = 9
)
var TableChanged_name = map[int32]string{
@@ -47,6 +49,7 @@
    6: "T_Sdk",
    7: "T_CameraPolygon",
    8: "T_TimeRule",
    9: "T_Server",
}
var TableChanged_value = map[string]int32{
@@ -59,6 +62,7 @@
    "T_Sdk":            6,
    "T_CameraPolygon":  7,
    "T_TimeRule":       8,
    "T_Server":         9,
}
func (x TableChanged) String() string {
@@ -162,22 +166,24 @@
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"`
    Type        int32   `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"`
    Addr        string  `protobuf:"bytes,4,opt,name=addr,proto3" json:"addr,omitempty"`
    Areaid      int32   `protobuf:"varint,5,opt,name=areaid,proto3" json:"areaid,omitempty"`
    Longitude   float32 `protobuf:"fixed32,6,opt,name=longitude,proto3" json:"longitude,omitempty"`
    Latitude    float32 `protobuf:"fixed32,7,opt,name=latitude,proto3" json:"latitude,omitempty"`
    Rtsp        string  `protobuf:"bytes,8,opt,name=rtsp,proto3" json:"rtsp,omitempty"`
    Ip          string  `protobuf:"bytes,9,opt,name=ip,proto3" json:"ip,omitempty"`
    Port        int32   `protobuf:"varint,10,opt,name=port,proto3" json:"port,omitempty"`
    Username    string  `protobuf:"bytes,11,opt,name=username,proto3" json:"username,omitempty"`
    Password    string  `protobuf:"bytes,12,opt,name=password,proto3" json:"password,omitempty"`
    Brand       string  `protobuf:"bytes,13,opt,name=brand,proto3" json:"brand,omitempty"`
    Reserved    string  `protobuf:"bytes,14,opt,name=reserved,proto3" json:"reserved,omitempty"`
    IsRunning   bool    `protobuf:"varint,15,opt,name=is_running,json=isRunning,proto3" json:"is_running,omitempty"`
    RunEnable   bool    `protobuf:"varint,16,opt,name=run_enable,json=runEnable,proto3" json:"run_enable,omitempty"`
    RunType     int32   `protobuf:"varint,17,opt,name=run_type,json=runType,proto3" json:"run_type,omitempty"`
    RunServerId string  `protobuf:"bytes,18,opt,name=run_server_id,json=runServerId,proto3" json:"run_server_id,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"`
    Areaid      int32   `protobuf:"varint,7,opt,name=areaid,proto3" json:"areaid,omitempty"`
    Longitude   float32 `protobuf:"fixed32,8,opt,name=longitude,proto3" json:"longitude,omitempty"`
    Latitude    float32 `protobuf:"fixed32,9,opt,name=latitude,proto3" json:"latitude,omitempty"`
    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"`
}
func (m *Camera) Reset()         { *m = Camera{} }
@@ -223,6 +229,20 @@
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 ""
}
@@ -1015,6 +1035,7 @@
    GroupText  string  `protobuf:"bytes,2,opt,name=group_text,json=groupText,proto3" json:"group_text,omitempty"`
    AlarmLevel int32   `protobuf:"varint,3,opt,name=alarm_level,json=alarmLevel,proto3" json:"alarm_level,omitempty"`
    Rules      []*Rule `protobuf:"bytes,4,rep,name=rules,proto3" json:"rules,omitempty"`
    SetType    string  `protobuf:"bytes,5,opt,name=set_type,json=setType,proto3" json:"set_type,omitempty"`
}
func (m *GroupRule) Reset()         { *m = GroupRule{} }
@@ -1076,6 +1097,13 @@
        return m.Rules
    }
    return nil
}
func (m *GroupRule) GetSetType() string {
    if m != nil {
        return m.SetType
    }
    return ""
}
type Rule struct {
@@ -1623,101 +1651,105 @@
func init() { proto.RegisterFile("protomsg.proto", fileDescriptor_32de24555f916688) }
var fileDescriptor_32de24555f916688 = []byte{
    // 1501 bytes of a gzipped FileDescriptorProto
    0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x56, 0xcd, 0x8e, 0x14, 0x47,
    0x12, 0x9e, 0xea, 0xff, 0x8a, 0xfe, 0x99, 0x26, 0x61, 0xa1, 0x80, 0x65, 0x76, 0x28, 0x58, 0xed,
    0x08, 0xed, 0x72, 0x18, 0x78, 0x81, 0x86, 0x59, 0xac, 0x96, 0x30, 0xc2, 0x35, 0x6d, 0x7c, 0x73,
    0x29, 0xbb, 0x33, 0xa7, 0x29, 0x4d, 0x4d, 0x55, 0x2b, 0x33, 0x6b, 0x60, 0xde, 0xc1, 0x92, 0x7d,
    0xf4, 0xd9, 0x37, 0x3f, 0x88, 0x25, 0x1f, 0x39, 0xfa, 0x66, 0x0b, 0x24, 0x5f, 0x2c, 0xbf, 0x83,
    0x15, 0x91, 0x59, 0xd5, 0xd5, 0x0d, 0xb6, 0xb9, 0x45, 0x7c, 0x11, 0x95, 0x19, 0xf9, 0xc5, 0x97,
    0x91, 0x05, 0xa3, 0x95, 0xca, 0x4d, 0x7e, 0xa6, 0x97, 0xf7, 0xc9, 0x60, 0xbd, 0xd2, 0xbf, 0x01,
    0x73, 0xae, 0xa5, 0x45, 0xc3, 0x27, 0xd0, 0x9a, 0x28, 0xc9, 0xd9, 0x08, 0x1a, 0x89, 0x08, 0xbc,
    0x7d, 0xef, 0xa0, 0x1d, 0x35, 0x12, 0xc1, 0x6e, 0x40, 0x6f, 0xc5, 0x95, 0xcc, 0x4c, 0x22, 0x82,
    0x06, 0xa1, 0x95, 0xcf, 0x18, 0xb4, 0x32, 0x7e, 0x26, 0x83, 0xe6, 0xbe, 0x77, 0xe0, 0x47, 0x64,
    0x87, 0x3f, 0x34, 0xa1, 0xf3, 0x98, 0x9f, 0x49, 0x55, 0x5f, 0xca, 0xa7, 0xa5, 0xca, 0xf4, 0xc6,
    0x3a, 0x1d, 0x31, 0x73, 0xb1, 0xb2, 0x4b, 0xb4, 0x23, 0xb2, 0x11, 0xe3, 0x42, 0xa8, 0xa0, 0x65,
    0xf3, 0xd0, 0x66, 0x57, 0xa1, 0xc3, 0x95, 0xe4, 0x89, 0x08, 0xda, 0x94, 0xe9, 0x3c, 0xf6, 0x4f,
    0xf0, 0xd3, 0x3c, 0x5b, 0x26, 0xa6, 0x10, 0x32, 0xe8, 0xec, 0x7b, 0x07, 0x8d, 0x68, 0x0d, 0x60,
    0xf1, 0x29, 0x37, 0x36, 0xd8, 0xa5, 0x60, 0xe5, 0xe3, 0x2e, 0xca, 0xe8, 0x55, 0xd0, 0xb3, 0xbb,
    0xa0, 0x4d, 0x15, 0xaf, 0x02, 0xdf, 0x55, 0xbc, 0xc2, 0x9c, 0x55, 0xae, 0x4c, 0x00, 0xb6, 0x3a,
    0xb4, 0x71, 0xcd, 0x42, 0x4b, 0x45, 0x27, 0xe9, 0x53, 0x66, 0xe5, 0x5b, 0xb2, 0xb4, 0x7e, 0x95,
    0x2b, 0x11, 0x0c, 0x6c, 0xac, 0xf4, 0xd9, 0x15, 0x68, 0xcf, 0x15, 0xcf, 0x44, 0x30, 0xa4, 0x80,
    0x75, 0xf0, 0x0b, 0x25, 0xb5, 0x54, 0xe7, 0x52, 0x04, 0x23, 0xfb, 0x45, 0xe9, 0xb3, 0x5b, 0x00,
    0x89, 0x8e, 0x55, 0x91, 0x65, 0x49, 0xb6, 0x0c, 0x76, 0xf7, 0xbd, 0x83, 0x5e, 0xe4, 0x27, 0x3a,
    0xb2, 0x00, 0x86, 0x55, 0x91, 0xc5, 0x32, 0xe3, 0xf3, 0x54, 0x06, 0x63, 0x1b, 0x56, 0x45, 0xf6,
    0x7f, 0x02, 0xd8, 0x75, 0xe8, 0x61, 0x98, 0xd8, 0xbd, 0x44, 0xf5, 0x77, 0x55, 0x91, 0xcd, 0x90,
    0xe0, 0x10, 0x86, 0x18, 0xa2, 0x6d, 0x54, 0x9c, 0x88, 0x80, 0xd1, 0xce, 0x7d, 0x55, 0x64, 0xc7,
    0x84, 0x4d, 0x45, 0xb8, 0x80, 0x4b, 0xb6, 0x8d, 0x93, 0x4c, 0xcc, 0xb8, 0x3e, 0x9d, 0x66, 0x27,
    0x39, 0x3b, 0x80, 0xce, 0x82, 0x40, 0xea, 0x6a, 0xff, 0x70, 0x7c, 0xbf, 0xd2, 0x96, 0x4d, 0x8e,
    0x5c, 0x9c, 0xdd, 0x85, 0xb6, 0xe1, 0xfa, 0x54, 0x07, 0x8d, 0xfd, 0xe6, 0x41, 0xff, 0x70, 0xb4,
    0x4e, 0xc4, 0xc5, 0x22, 0x1b, 0x0c, 0x7f, 0xf6, 0xa0, 0x85, 0x3e, 0xb6, 0x17, 0x91, 0x4a, 0x2e,
    0xce, 0x43, 0x7a, 0xd0, 0xaa, 0xc9, 0xa6, 0xf2, 0xd9, 0x4d, 0xf0, 0x17, 0x4a, 0x72, 0x23, 0x63,
    0x6e, 0x9c, 0x04, 0x7b, 0x16, 0x98, 0x98, 0x5a, 0x70, 0x7e, 0xe1, 0x84, 0xe4, 0x82, 0x8f, 0x2e,
    0x30, 0x58, 0xac, 0x84, 0xfb, 0xb2, 0xed, 0x7a, 0x48, 0xc0, 0xc4, 0x60, 0x29, 0x8e, 0xd2, 0x0e,
    0x51, 0xea, 0x3c, 0xe4, 0x33, 0xd1, 0x31, 0x4f, 0xb9, 0x3a, 0x23, 0x2d, 0xf5, 0xa2, 0x6e, 0xa2,
    0x27, 0xe8, 0x62, 0x48, 0xc8, 0x34, 0x3e, 0x49, 0xf9, 0x92, 0xe4, 0xd4, 0x8b, 0xba, 0x42, 0xa6,
    0x4f, 0x52, 0xbe, 0x0c, 0x67, 0xd0, 0xc7, 0x03, 0x1e, 0x0b, 0x4b, 0x60, 0x08, 0x2d, 0xac, 0xdf,
    0xd1, 0xb7, 0xcd, 0x0a, 0xc5, 0xd8, 0x6d, 0x68, 0x69, 0x51, 0x31, 0x37, 0x5c, 0xe7, 0x1c, 0x8b,
    0xd3, 0x88, 0x42, 0xe1, 0xaf, 0x0d, 0x00, 0x4b, 0x38, 0xb1, 0xb7, 0x7d, 0xd1, 0xf0, 0xf0, 0x14,
    0x8d, 0xdd, 0xa5, 0xc5, 0xc3, 0x13, 0x30, 0x15, 0xec, 0x1a, 0x74, 0x71, 0x1b, 0x0c, 0x35, 0xd7,
    0x5c, 0x4f, 0x05, 0xfb, 0x1f, 0xf8, 0x26, 0x39, 0x93, 0xb1, 0x2a, 0x52, 0x19, 0xb4, 0x68, 0xf3,
    0x5a, 0x7f, 0x8f, 0xf8, 0xc5, 0x63, 0x93, 0x46, 0x3d, 0x4c, 0x89, 0x8a, 0x54, 0x92, 0xfc, 0x24,
    0x5f, 0x18, 0x9b, 0x6f, 0x59, 0xf4, 0x09, 0xa1, 0xf0, 0x6d, 0x18, 0xd8, 0xb0, 0x90, 0xe7, 0xc9,
    0xc2, 0x92, 0x89, 0x12, 0x43, 0xec, 0x88, 0xa0, 0x0d, 0xda, 0xba, 0x1b, 0xb4, 0xb1, 0x7f, 0x41,
    0xdf, 0x75, 0xa8, 0x46, 0x2a, 0x58, 0x88, 0x12, 0xd6, 0x5d, 0xf2, 0x37, 0xba, 0xc4, 0xa0, 0xa5,
    0x6b, 0x37, 0x16, 0x6d, 0x3c, 0x71, 0xa2, 0xe3, 0x93, 0x22, 0x4d, 0xe9, 0xc2, 0xf6, 0xa2, 0x4e,
    0xa2, 0x9f, 0x14, 0x69, 0xca, 0xf6, 0x61, 0x90, 0x26, 0xd9, 0x69, 0x5c, 0xf2, 0x61, 0xaf, 0x2c,
    0x20, 0x46, 0x92, 0x17, 0xe1, 0x67, 0x30, 0x72, 0x3c, 0x27, 0x67, 0x12, 0x0f, 0xfa, 0x51, 0x43,
    0xed, 0x66, 0x9d, 0x49, 0xa7, 0xcc, 0x92, 0xb7, 0xf0, 0x19, 0x74, 0x2c, 0x97, 0x6c, 0x0c, 0x4d,
    0xc1, 0x2f, 0xdc, 0xac, 0x45, 0x93, 0x1d, 0x02, 0xd8, 0x0f, 0x79, 0xb6, 0x94, 0x4e, 0x00, 0x97,
    0x6b, 0x22, 0xc1, 0x35, 0x30, 0x14, 0xd1, 0xfa, 0x64, 0x86, 0x0f, 0xc0, 0xaf, 0x70, 0x1c, 0x32,
    0xda, 0x70, 0x65, 0x5c, 0x81, 0xd6, 0xc1, 0x8d, 0x64, 0x56, 0x2a, 0x01, 0xcd, 0xf0, 0x05, 0x74,
    0x9f, 0xe7, 0xe9, 0xc5, 0x32, 0xcf, 0x3e, 0xea, 0x40, 0xff, 0x81, 0xce, 0x2a, 0x4f, 0x32, 0xa3,
    0x83, 0x26, 0xd5, 0xb4, 0xbb, 0xae, 0xe9, 0x39, 0xe2, 0x91, 0x0b, 0x87, 0x8b, 0x8a, 0x2f, 0xae,
    0x4f, 0x27, 0x6a, 0xa9, 0x37, 0xb5, 0xe8, 0x6d, 0x69, 0xf1, 0x21, 0xf8, 0xc4, 0x3d, 0x57, 0xcb,
    0x52, 0xef, 0xd7, 0x36, 0xef, 0xc4, 0x27, 0x2a, 0x2f, 0x56, 0xb8, 0x90, 0xbd, 0xf8, 0x68, 0x85,
    0x5f, 0xc2, 0x70, 0x23, 0x54, 0x97, 0xb4, 0xb7, 0x21, 0xe9, 0x87, 0xd0, 0x5f, 0x62, 0x16, 0x75,
    0x42, 0xbf, 0x4f, 0x28, 0x2d, 0x81, 0x5d, 0x89, 0x60, 0x59, 0x9a, 0x3a, 0xfc, 0xca, 0x03, 0xbf,
    0x8a, 0xa0, 0x4a, 0xed, 0x1a, 0xd5, 0xea, 0x5d, 0xf2, 0xa7, 0x34, 0xa0, 0x6d, 0xc8, 0xc8, 0xd7,
    0xc6, 0x11, 0xe6, 0x13, 0x32, 0x93, 0xaf, 0x0d, 0x8a, 0x98, 0xc6, 0x45, 0x9c, 0xca, 0x73, 0x99,
    0xba, 0x27, 0x0e, 0x08, 0x7a, 0x8a, 0x08, 0x0e, 0x49, 0x5b, 0x58, 0x6b, 0x7b, 0x48, 0x52, 0x4d,
    0x36, 0x18, 0xfe, 0xd6, 0x80, 0x56, 0xf4, 0x21, 0xe9, 0xdd, 0x85, 0x91, 0xa3, 0xb6, 0x3c, 0xbd,
    0x2d, 0x61, 0xb0, 0xa8, 0x5a, 0x30, 0xdd, 0x1a, 0x06, 0xcd, 0xad, 0x06, 0xdc, 0x02, 0x58, 0x59,
    0x1d, 0x60, 0xd4, 0xce, 0x49, 0xdf, 0x21, 0x53, 0xc1, 0xfe, 0x01, 0x1d, 0x2d, 0x68, 0xe5, 0xb6,
    0xd3, 0x93, 0xc0, 0x25, 0x43, 0x18, 0x22, 0xcc, 0xd5, 0x32, 0xe6, 0x69, 0xc2, 0x75, 0x79, 0xb9,
    0xb5, 0xc0, 0x06, 0x4d, 0x10, 0xc2, 0xc9, 0x9d, 0xaf, 0xa4, 0xe2, 0x26, 0x57, 0x74, 0xb9, 0xfd,
    0xa8, 0xf2, 0xd9, 0x1d, 0x18, 0x96, 0xb6, 0x7d, 0x9f, 0xec, 0x1b, 0x3c, 0x28, 0xc1, 0xf2, 0x91,
    0x2a, 0x37, 0x39, 0xe7, 0x69, 0x21, 0xdd, 0xb3, 0xec, 0x36, 0x79, 0x81, 0xd0, 0x07, 0x6f, 0x3b,
    0x3d, 0x6e, 0xa9, 0x8c, 0x5f, 0x25, 0xe6, 0x65, 0xbc, 0x52, 0xe5, 0x23, 0xdd, 0x47, 0xf0, 0x8b,
    0xc4, 0xbc, 0x7c, 0xae, 0x36, 0x7b, 0x3a, 0xd8, 0xe8, 0x69, 0xf8, 0x7d, 0x03, 0x9a, 0xc7, 0xe2,
    0xfd, 0x99, 0x7a, 0x1d, 0x7a, 0x58, 0x0e, 0x95, 0x6b, 0x69, 0xee, 0x6a, 0x71, 0x4a, 0x95, 0xba,
    0x50, 0xed, 0x57, 0x08, 0x43, 0xcf, 0xf0, 0xe2, 0xdc, 0x85, 0x16, 0x69, 0xfb, 0xbd, 0x71, 0x7a,
    0x4c, 0xa7, 0x88, 0x28, 0x8a, 0xc7, 0x48, 0x16, 0x79, 0xe6, 0x48, 0x26, 0x1b, 0xef, 0x6c, 0xa1,
    0x52, 0xc7, 0x2c, 0x9a, 0x28, 0x27, 0xf7, 0xa4, 0xe1, 0xe5, 0x77, 0xa4, 0x82, 0x85, 0x70, 0x02,
    0xd4, 0x86, 0x26, 0x25, 0x58, 0x52, 0xdd, 0xd0, 0xa4, 0x84, 0x8d, 0x47, 0xd1, 0xdf, 0x7a, 0x14,
    0xd7, 0x13, 0x15, 0xb6, 0xdf, 0xbd, 0x6a, 0x4a, 0xf7, 0xed, 0x7f, 0x44, 0xf9, 0xb8, 0x7d, 0xeb,
    0x41, 0xc7, 0x1e, 0x04, 0x07, 0x8f, 0x95, 0x82, 0x1b, 0x3c, 0xe4, 0xfc, 0xed, 0x1f, 0x9f, 0xbf,
    0xfe, 0xe3, 0x3b, 0x2b, 0xb4, 0x21, 0x01, 0xf6, 0x22, 0xb2, 0x11, 0x2b, 0xb2, 0xa4, 0x7c, 0x9f,
    0xc9, 0xc6, 0x5d, 0xec, 0x68, 0xb4, 0xb4, 0x58, 0xa7, 0x52, 0x41, 0x77, 0xad, 0x82, 0xf0, 0x6b,
    0x0f, 0x76, 0x8f, 0xe6, 0x8f, 0x5f, 0x62, 0xc2, 0xa7, 0x52, 0x6b, 0xbe, 0x94, 0xec, 0xbf, 0xf8,
    0x4f, 0x82, 0x07, 0xc4, 0x1a, 0x47, 0x87, 0x57, 0xeb, 0x93, 0x66, 0x9e, 0x4a, 0x9b, 0x2c, 0x22,
    0x9b, 0xe4, 0x04, 0xd0, 0xa8, 0x04, 0x70, 0x0f, 0x3a, 0x7c, 0x61, 0x92, 0x3c, 0xa3, 0xca, 0x47,
    0x87, 0xac, 0xf6, 0x36, 0xce, 0x27, 0x14, 0x89, 0x5c, 0x06, 0x35, 0x34, 0x3b, 0xc9, 0xcb, 0x3f,
    0x58, 0xb4, 0xc3, 0xdf, 0x3d, 0x18, 0xda, 0xd9, 0xf8, 0x67, 0x93, 0xf7, 0x2f, 0x9f, 0xed, 0x0f,
    0xfc, 0x6b, 0xb3, 0x00, 0xba, 0xee, 0xae, 0xba, 0x9d, 0x4a, 0x17, 0x5f, 0x5f, 0xa3, 0x92, 0xe5,
    0x52, 0xaa, 0x38, 0x4d, 0xb2, 0xf2, 0x79, 0xee, 0x3b, 0xec, 0x69, 0x92, 0x49, 0xf6, 0x6f, 0x18,
    0x89, 0x44, 0x49, 0x2a, 0xd8, 0x26, 0x59, 0x52, 0x87, 0x15, 0x4a, 0x69, 0x65, 0xbb, 0xba, 0xb5,
    0x76, 0xdd, 0x81, 0xa1, 0x90, 0x27, 0x32, 0x5b, 0xc8, 0x58, 0x1b, 0x6e, 0xac, 0xd4, 0xda, 0xd1,
    0xc0, 0x81, 0xc7, 0x88, 0xdd, 0xfb, 0xce, 0x83, 0x41, 0x9d, 0x57, 0x36, 0x80, 0xde, 0x2c, 0xb6,
    0x0c, 0x8c, 0x77, 0xd8, 0x18, 0x06, 0xa5, 0x87, 0x83, 0x6a, 0xec, 0xb1, 0x2b, 0x30, 0xae, 0x23,
    0x38, 0xd9, 0xc7, 0x0d, 0x06, 0xd0, 0x99, 0xc5, 0x94, 0xd1, 0x64, 0x43, 0xf0, 0xad, 0x7d, 0x2c,
    0x4e, 0xc7, 0x2d, 0x76, 0x09, 0x86, 0x95, 0x8b, 0x03, 0x72, 0xdc, 0x66, 0x3e, 0xb4, 0x67, 0x31,
    0x46, 0x3b, 0xec, 0x32, 0xec, 0x96, 0xcb, 0x39, 0xc2, 0xc7, 0x5d, 0x36, 0x02, 0x98, 0xc5, 0x33,
    0xf7, 0x14, 0x8f, 0x7b, 0xf7, 0xee, 0x43, 0xaf, 0x6c, 0x1e, 0xee, 0x34, 0xcd, 0xb4, 0x54, 0x66,
    0xbc, 0x83, 0xf6, 0xe7, 0x74, 0x6f, 0xc6, 0x1e, 0xda, 0x47, 0x32, 0x95, 0x46, 0x8e, 0x1b, 0x8f,
    0x82, 0x1f, 0xdf, 0xee, 0x79, 0x6f, 0xde, 0xee, 0x79, 0xbf, 0xbc, 0xdd, 0xf3, 0xbe, 0x79, 0xb7,
    0xb7, 0xf3, 0xe6, 0xdd, 0xde, 0xce, 0x4f, 0xef, 0xf6, 0x76, 0xe6, 0x1d, 0x52, 0xc3, 0x83, 0x3f,
    0x02, 0x00, 0x00, 0xff, 0xff, 0xb0, 0x66, 0x5f, 0x69, 0x6e, 0x0d, 0x00, 0x00,
    // 1556 bytes of a gzipped FileDescriptorProto
    0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x56, 0xcd, 0x6e, 0xdc, 0xc8,
    0x11, 0x16, 0xe7, 0x97, 0xac, 0xf9, 0x11, 0xdd, 0x76, 0x76, 0x19, 0x6f, 0x56, 0x91, 0xb9, 0x0e,
    0x22, 0x18, 0x89, 0x0f, 0xda, 0x7d, 0x81, 0x59, 0x2b, 0x0e, 0x06, 0xd8, 0x2c, 0x1c, 0x6a, 0x76,
    0x73, 0x0b, 0xd1, 0x33, 0xdd, 0x1a, 0x11, 0x43, 0x91, 0x83, 0xee, 0xa6, 0x6c, 0x3d, 0x45, 0x72,
    0xcc, 0x1b, 0x04, 0xb9, 0xe5, 0x31, 0x72, 0xf4, 0x31, 0xb7, 0x04, 0x36, 0x90, 0x4b, 0x90, 0x57,
    0x08, 0x82, 0xaa, 0x6e, 0x72, 0x38, 0x63, 0x65, 0xe1, 0x5b, 0xd5, 0x57, 0xc5, 0x66, 0xf5, 0x57,
    0x5f, 0x57, 0x37, 0x4c, 0xb7, 0xaa, 0x34, 0xe5, 0x8d, 0x5e, 0x3f, 0x27, 0x83, 0xf9, 0xb5, 0xff,
    0x18, 0x96, 0x5c, 0x4b, 0x8b, 0xc6, 0x2f, 0xa1, 0x37, 0x53, 0x92, 0xb3, 0x29, 0x74, 0x32, 0x11,
    0x79, 0xa7, 0xde, 0x59, 0x3f, 0xe9, 0x64, 0x82, 0x3d, 0x06, 0x7f, 0xcb, 0x95, 0x2c, 0x4c, 0x26,
    0xa2, 0x0e, 0xa1, 0x8d, 0xcf, 0x18, 0xf4, 0x0a, 0x7e, 0x23, 0xa3, 0xee, 0xa9, 0x77, 0x16, 0x24,
    0x64, 0xc7, 0xff, 0xed, 0xc2, 0xe0, 0x05, 0xbf, 0x91, 0xaa, 0xbd, 0x54, 0x40, 0x4b, 0xd5, 0xe9,
    0x9d, 0x5d, 0x3a, 0x7b, 0x04, 0x7d, 0x9e, 0x67, 0x5c, 0xbb, 0x35, 0xac, 0xc3, 0x9e, 0xc0, 0x58,
    0x17, 0x7c, 0xab, 0xaf, 0x4b, 0x93, 0x56, 0x2a, 0x8f, 0x7a, 0x14, 0x1c, 0xd5, 0xd8, 0x77, 0x2a,
    0xc7, 0xc5, 0xcc, 0xdd, 0x56, 0x46, 0x7d, 0xaa, 0x89, 0x6c, 0xc4, 0xb8, 0x10, 0x2a, 0x1a, 0xd8,
    0x1f, 0xa0, 0xcd, 0x3e, 0x81, 0x01, 0x57, 0x92, 0x67, 0x22, 0x1a, 0x52, 0xa6, 0xf3, 0xd8, 0x4f,
    0x20, 0xc8, 0xcb, 0x62, 0x9d, 0x99, 0x4a, 0xc8, 0xc8, 0x3f, 0xf5, 0xce, 0x3a, 0xc9, 0x0e, 0xc0,
    0x5d, 0xe7, 0xdc, 0xd8, 0x60, 0x40, 0xc1, 0xc6, 0xc7, 0xbf, 0x28, 0xa3, 0xb7, 0x11, 0xd8, 0xbf,
    0xa0, 0x4d, 0x5b, 0xdd, 0x46, 0x23, 0xb7, 0xd5, 0x2d, 0xe6, 0x6c, 0x4b, 0x65, 0xa2, 0xb1, 0xad,
    0x0e, 0x6d, 0x5c, 0xb3, 0xd2, 0x52, 0x11, 0x05, 0x13, 0xca, 0x6c, 0x7c, 0xcb, 0xb2, 0xd6, 0xaf,
    0x4b, 0x25, 0xa2, 0xa9, 0x8d, 0xd5, 0x3e, 0x52, 0xb4, 0x54, 0xbc, 0x10, 0xd1, 0xb1, 0xa5, 0x88,
    0x1c, 0xfc, 0x42, 0x49, 0x2d, 0xd5, 0xad, 0x14, 0x51, 0x68, 0xbf, 0xa8, 0x7d, 0xf6, 0x39, 0x40,
    0xa6, 0x53, 0x55, 0x15, 0x45, 0x56, 0xac, 0xa3, 0x07, 0xa7, 0xde, 0x99, 0x9f, 0x04, 0x99, 0x4e,
    0x2c, 0x80, 0x61, 0x55, 0x15, 0xa9, 0x2c, 0xf8, 0x32, 0x97, 0x11, 0xb3, 0x61, 0x55, 0x15, 0xbf,
    0x22, 0x80, 0xfd, 0x18, 0x7c, 0x0c, 0x13, 0xbb, 0x0f, 0xa9, 0xfe, 0xa1, 0xaa, 0x8a, 0x05, 0x12,
    0x1c, 0xc3, 0x04, 0x43, 0xf4, 0x1b, 0x95, 0x66, 0x22, 0x7a, 0x64, 0x1b, 0xa3, 0xaa, 0xe2, 0x92,
    0xb0, 0xb9, 0x88, 0x57, 0xf0, 0xc0, 0xf6, 0x7f, 0x56, 0x88, 0x05, 0xd7, 0x9b, 0x79, 0x71, 0x55,
    0xb2, 0x33, 0x18, 0xac, 0x08, 0x24, 0x39, 0x8c, 0xce, 0xc3, 0xe7, 0x8d, 0x28, 0x6d, 0x72, 0xe2,
    0xe2, 0xec, 0x29, 0xf4, 0x0d, 0xd7, 0x1b, 0x1d, 0x75, 0x4e, 0xbb, 0x67, 0xa3, 0xf3, 0xe9, 0x2e,
    0x11, 0x17, 0x4b, 0x6c, 0x30, 0xfe, 0x87, 0x07, 0x3d, 0xf4, 0xb1, 0xbd, 0x88, 0x34, 0x3a, 0x73,
    0x1e, 0xd2, 0x83, 0x56, 0x4b, 0x6f, 0x8d, 0xcf, 0x3e, 0x83, 0x60, 0xa5, 0x24, 0x37, 0x32, 0xe5,
    0xc6, 0xe9, 0xce, 0xb7, 0xc0, 0xcc, 0xb4, 0x82, 0xcb, 0x3b, 0xa7, 0x3b, 0x17, 0xfc, 0xfa, 0x0e,
    0x83, 0xd5, 0x56, 0xb8, 0x2f, 0xfb, 0xae, 0x87, 0x04, 0xcc, 0x0c, 0x96, 0xe2, 0x28, 0x1d, 0x10,
    0xa5, 0xce, 0x43, 0x3e, 0x33, 0x9d, 0xf2, 0x9c, 0xab, 0x1b, 0xd2, 0xa0, 0x9f, 0x0c, 0x33, 0x3d,
    0x43, 0x17, 0x43, 0x42, 0xe6, 0xe9, 0x55, 0xce, 0xd7, 0xa4, 0x41, 0x3f, 0x19, 0x0a, 0x99, 0xbf,
    0xcc, 0xf9, 0x3a, 0x5e, 0xc0, 0x08, 0x37, 0x78, 0x29, 0x2c, 0x81, 0x31, 0xf4, 0xb0, 0x7e, 0x47,
    0xdf, 0x21, 0x2b, 0x14, 0x63, 0x4f, 0xa0, 0xa7, 0x45, 0xc3, 0xdc, 0x64, 0x97, 0x73, 0x29, 0x36,
    0x09, 0x85, 0xe2, 0x7f, 0x75, 0x00, 0x2c, 0xe1, 0xc4, 0xde, 0xe1, 0x09, 0xc5, 0xcd, 0x53, 0x34,
    0x75, 0xa7, 0x1d, 0x37, 0x4f, 0xc0, 0x5c, 0xb0, 0x4f, 0x61, 0x88, 0xbf, 0xc1, 0x50, 0x77, 0xc7,
    0xf5, 0x5c, 0xb0, 0x5f, 0x42, 0x60, 0xb2, 0x1b, 0x99, 0xaa, 0x2a, 0x97, 0x51, 0x8f, 0x7e, 0xde,
    0xea, 0xef, 0x05, 0xbf, 0x7b, 0x61, 0xf2, 0xc4, 0xc7, 0x94, 0xa4, 0xca, 0x25, 0xc9, 0x4f, 0xf2,
    0x95, 0xb1, 0xf9, 0x96, 0xc5, 0x80, 0x10, 0x0a, 0x3f, 0x81, 0xb1, 0x0d, 0x0b, 0x79, 0x9b, 0xad,
    0xa4, 0x3b, 0xcc, 0x23, 0xc2, 0x2e, 0x08, 0xda, 0xa3, 0x6d, 0xb8, 0x47, 0x1b, 0xfb, 0x29, 0x8c,
    0x5c, 0x87, 0x5a, 0xa4, 0x82, 0x85, 0x28, 0x61, 0xd7, 0xa5, 0x60, 0xaf, 0x4b, 0x0c, 0x7a, 0x1a,
    0x4f, 0x2c, 0xd8, 0x13, 0x8b, 0x36, 0xee, 0x38, 0xd3, 0xe9, 0x55, 0x95, 0xe7, 0x74, 0xb4, 0xfd,
    0x64, 0x90, 0xe9, 0x97, 0x55, 0x9e, 0xb3, 0x53, 0x18, 0xe7, 0x59, 0xb1, 0x49, 0x6b, 0x3e, 0xc6,
    0x54, 0x23, 0x20, 0x46, 0x92, 0x17, 0xf1, 0x6f, 0x61, 0xea, 0x78, 0xce, 0x6e, 0x24, 0x6e, 0xf4,
    0xa3, 0xa6, 0xe1, 0x67, 0x6d, 0x26, 0x9d, 0x32, 0x6b, 0xde, 0xe2, 0x6f, 0x61, 0x60, 0xb9, 0x64,
    0x21, 0x74, 0x05, 0xbf, 0x73, 0x43, 0x1a, 0x4d, 0x76, 0x0e, 0x60, 0x3f, 0xe4, 0xc5, 0x5a, 0x3a,
    0x01, 0x3c, 0x6c, 0x89, 0x04, 0xd7, 0xc0, 0x50, 0x42, 0xeb, 0x93, 0x19, 0x7f, 0x09, 0x41, 0x83,
    0xe3, 0x90, 0xd1, 0x86, 0x2b, 0xe3, 0x0a, 0xb4, 0x0e, 0xfe, 0x48, 0x16, 0xb5, 0x12, 0xd0, 0x8c,
    0xbf, 0x87, 0xe1, 0xab, 0x32, 0xbf, 0x5b, 0x97, 0xc5, 0x47, 0x6d, 0xe8, 0xe7, 0x30, 0xd8, 0x96,
    0x59, 0x61, 0x70, 0xbe, 0x63, 0x4d, 0xc7, 0xbb, 0x9a, 0x5e, 0x21, 0x9e, 0xb8, 0x70, 0xbc, 0x6a,
    0xf8, 0xe2, 0x7a, 0x33, 0x53, 0x6b, 0xbd, 0xaf, 0x45, 0xef, 0x40, 0x8b, 0x5f, 0x41, 0x40, 0xdc,
    0x73, 0xb5, 0xae, 0xf5, 0xfe, 0xe9, 0xfe, 0x99, 0xf8, 0xb5, 0x2a, 0xab, 0x2d, 0x2e, 0x64, 0x0f,
    0x3e, 0x5a, 0xf1, 0xef, 0x61, 0xb2, 0x17, 0x6a, 0x4b, 0xda, 0xdb, 0x93, 0xf4, 0x57, 0x30, 0x5a,
    0x63, 0x16, 0x75, 0x42, 0x7f, 0x48, 0x28, 0x2d, 0x81, 0x5d, 0x49, 0x60, 0x5d, 0x9b, 0x3a, 0xfe,
    0xb3, 0x07, 0x41, 0x13, 0x41, 0x95, 0xda, 0x35, 0x9a, 0xd5, 0x87, 0xe4, 0xcf, 0x69, 0x40, 0xdb,
    0x90, 0x91, 0x6f, 0x8c, 0x23, 0x2c, 0x20, 0x64, 0x21, 0xdf, 0x18, 0x14, 0x31, 0x8d, 0x8b, 0x34,
    0x97, 0xb7, 0x32, 0x27, 0x21, 0xf4, 0x13, 0x20, 0xe8, 0x1b, 0x44, 0x70, 0x48, 0xda, 0xc2, 0x7a,
    0x87, 0x43, 0x92, 0x6a, 0xb2, 0x41, 0x2c, 0x40, 0x4b, 0x93, 0x36, 0xd7, 0x64, 0x90, 0x0c, 0xb5,
    0x34, 0x38, 0xc8, 0xe3, 0x7f, 0x77, 0xa0, 0x97, 0xdc, 0xa7, 0xca, 0xa7, 0x30, 0x75, 0xac, 0xd7,
    0xc4, 0xd8, 0xea, 0xc6, 0xab, 0xa6, 0x3b, 0xf3, 0x83, 0x39, 0xd1, 0x3d, 0xe8, 0xcd, 0xe7, 0x00,
    0x5b, 0x2b, 0x11, 0x8c, 0xda, 0x11, 0x1a, 0x38, 0x64, 0x2e, 0xd8, 0x8f, 0x60, 0xa0, 0x05, 0xad,
    0xdc, 0x77, 0x52, 0x13, 0xb8, 0x64, 0x0c, 0x13, 0x84, 0xb9, 0x5a, 0xa7, 0xf6, 0x41, 0xe0, 0xce,
    0xbd, 0x16, 0xd8, 0xbb, 0x19, 0x3d, 0x0b, 0x1e, 0x83, 0x5f, 0x6e, 0xa5, 0xe2, 0xa6, 0x54, 0x74,
    0xee, 0x83, 0xa4, 0xf1, 0xd9, 0x17, 0x30, 0xa9, 0x6d, 0xbb, 0x63, 0xdf, 0xd6, 0x5d, 0x83, 0xf5,
    0xfd, 0x55, 0xff, 0xe4, 0x96, 0xe7, 0x95, 0x9d, 0x01, 0xcd, 0x4f, 0xbe, 0x47, 0xe8, 0xde, 0x41,
    0x40, 0xf7, 0x5e, 0x2e, 0xd3, 0xd7, 0x99, 0xb9, 0x4e, 0xb7, 0x4a, 0xba, 0x9b, 0x7e, 0x84, 0xe0,
    0xef, 0x32, 0x73, 0xfd, 0x4a, 0xed, 0xb7, 0x7b, 0xbc, 0xd7, 0xee, 0xf8, 0x2f, 0x1d, 0xe8, 0x5e,
    0x8a, 0x0f, 0xc7, 0x2d, 0x36, 0x48, 0x6c, 0x6c, 0xb9, 0x1d, 0xd7, 0x20, 0xb1, 0xa1, 0x4a, 0x5d,
    0xa8, 0xf5, 0xbc, 0xc2, 0xd0, 0xb7, 0x78, 0xa6, 0x9e, 0x42, 0x8f, 0x64, 0xff, 0xc1, 0xa4, 0xbd,
    0xa4, 0x5d, 0x24, 0x14, 0xc5, 0x6d, 0x64, 0xab, 0xb2, 0x70, 0x24, 0x93, 0x8d, 0xc7, 0x19, 0x5f,
    0x53, 0x96, 0x59, 0x34, 0x51, 0x69, 0xee, 0xb6, 0xc3, 0xb9, 0xe0, 0x48, 0x05, 0x0b, 0xe1, 0x70,
    0x68, 0xcd, 0x53, 0x4a, 0xb0, 0xa4, 0xba, 0x79, 0x4a, 0x09, 0x7b, 0xf7, 0x65, 0x70, 0x70, 0x5f,
    0xee, 0x86, 0x2d, 0x1c, 0x5e, 0x89, 0xcd, 0x00, 0x1f, 0xd9, 0x27, 0x46, 0x7d, 0xef, 0xfd, 0xc9,
    0x83, 0x81, 0xdd, 0xc8, 0xee, 0x6d, 0xe8, 0xb5, 0xdf, 0x86, 0xf7, 0x8d, 0x99, 0xfa, 0x31, 0xe8,
    0x1e, 0xa2, 0xf5, 0x63, 0xf0, 0xa6, 0xd2, 0x86, 0x04, 0xe8, 0x27, 0x64, 0x23, 0x56, 0x15, 0x59,
    0x7d, 0x75, 0x93, 0x8d, 0x7f, 0xb1, 0x53, 0xd3, 0xd2, 0x62, 0x9d, 0x46, 0x05, 0xc3, 0x9d, 0x0a,
    0xe2, 0x3f, 0x78, 0x70, 0x7c, 0xb1, 0x7c, 0x71, 0x8d, 0x09, 0xbf, 0x91, 0x5a, 0xf3, 0xb5, 0x64,
    0xbf, 0xc0, 0xe7, 0x0a, 0x6e, 0x10, 0x6b, 0x9c, 0x9e, 0x7f, 0xd2, 0x1e, 0x42, 0xcb, 0x5c, 0xda,
    0x64, 0x91, 0xd8, 0x24, 0x27, 0x80, 0x4e, 0x23, 0x80, 0x67, 0x30, 0xe0, 0x2b, 0x93, 0x95, 0x05,
    0x55, 0x3e, 0x3d, 0x67, 0xad, 0x6b, 0x73, 0x39, 0xa3, 0x48, 0xe2, 0x32, 0xa8, 0xa1, 0xc5, 0x55,
    0xe9, 0x0e, 0x14, 0xd9, 0xf1, 0x7f, 0x3c, 0x98, 0xd8, 0xb1, 0xf9, 0xff, 0x86, 0xf2, 0x0f, 0xde,
    0xe8, 0xf7, 0xbc, 0xdf, 0x59, 0x04, 0x43, 0x77, 0x56, 0xdd, 0x9f, 0x6a, 0x17, 0x2f, 0x66, 0xa3,
    0xb2, 0xf5, 0x5a, 0xaa, 0x34, 0xcf, 0x8a, 0x7a, 0xa4, 0x8c, 0x1c, 0xf6, 0x4d, 0x56, 0x48, 0xf6,
    0x33, 0x98, 0x8a, 0x4c, 0x49, 0x2a, 0xd8, 0x26, 0x59, 0x52, 0x27, 0x0d, 0x4a, 0x69, 0x75, 0xbb,
    0x86, 0xad, 0x76, 0x7d, 0x01, 0x13, 0x21, 0xaf, 0x64, 0xb1, 0x92, 0xa9, 0x36, 0xdc, 0x58, 0xa9,
    0xf5, 0x93, 0xb1, 0x03, 0x2f, 0x11, 0x7b, 0xf6, 0x57, 0x0f, 0xc6, 0x6d, 0x5e, 0xd9, 0x18, 0xfc,
    0x45, 0x6a, 0x19, 0x08, 0x8f, 0x58, 0x08, 0xe3, 0xda, 0xc3, 0x41, 0x15, 0x7a, 0xec, 0x11, 0x84,
    0x6d, 0x04, 0x87, 0x7e, 0xd8, 0x61, 0x00, 0x83, 0x45, 0x4a, 0x19, 0x5d, 0x36, 0x81, 0xc0, 0xda,
    0x97, 0x62, 0x13, 0xf6, 0xd8, 0x03, 0x98, 0x34, 0x2e, 0x0e, 0xc8, 0xb0, 0xcf, 0x02, 0xe8, 0x2f,
    0x52, 0x8c, 0x0e, 0xd8, 0x43, 0x38, 0xae, 0x97, 0x73, 0x84, 0x87, 0x43, 0x36, 0x05, 0x58, 0xa4,
    0x0b, 0x77, 0x4b, 0x87, 0xbe, 0xad, 0xc9, 0x3e, 0x87, 0xc3, 0xe0, 0xd9, 0x73, 0xf0, 0xeb, 0x56,
    0xe2, 0x7f, 0xe7, 0x85, 0x96, 0xca, 0x84, 0x47, 0x68, 0x7f, 0x47, 0xa7, 0x28, 0xf4, 0xd0, 0xbe,
    0x90, 0xb9, 0x34, 0x32, 0xec, 0x7c, 0x1d, 0xfd, 0xed, 0xdd, 0x89, 0xf7, 0xf6, 0xdd, 0x89, 0xf7,
    0xcf, 0x77, 0x27, 0xde, 0x1f, 0xdf, 0x9f, 0x1c, 0xbd, 0x7d, 0x7f, 0x72, 0xf4, 0xf7, 0xf7, 0x27,
    0x47, 0xcb, 0x01, 0x69, 0xe3, 0xcb, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0xa2, 0x7f, 0x9a, 0x93,
    0xd0, 0x0d, 0x00, 0x00,
}
func (m *Area) Marshal() (dAtA []byte, err error) {
@@ -1781,77 +1813,93 @@
        i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Name)))
        i += copy(dAtA[i:], m.Name)
    }
    if len(m.Alias) > 0 {
        dAtA[i] = 0x1a
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Alias)))
        i += copy(dAtA[i:], m.Alias)
    }
    if len(m.SnapshotUrl) > 0 {
        dAtA[i] = 0x22
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(len(m.SnapshotUrl)))
        i += copy(dAtA[i:], m.SnapshotUrl)
    }
    if m.Type != 0 {
        dAtA[i] = 0x18
        dAtA[i] = 0x28
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(m.Type))
    }
    if len(m.Addr) > 0 {
        dAtA[i] = 0x22
        dAtA[i] = 0x32
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Addr)))
        i += copy(dAtA[i:], m.Addr)
    }
    if m.Areaid != 0 {
        dAtA[i] = 0x28
        dAtA[i] = 0x38
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(m.Areaid))
    }
    if m.Longitude != 0 {
        dAtA[i] = 0x35
        dAtA[i] = 0x45
        i++
        encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Longitude))))
        i += 4
    }
    if m.Latitude != 0 {
        dAtA[i] = 0x3d
        dAtA[i] = 0x4d
        i++
        encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Latitude))))
        i += 4
    }
    if len(m.Rtsp) > 0 {
        dAtA[i] = 0x42
        dAtA[i] = 0x52
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Rtsp)))
        i += copy(dAtA[i:], m.Rtsp)
    }
    if len(m.Ip) > 0 {
        dAtA[i] = 0x4a
        dAtA[i] = 0x5a
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Ip)))
        i += copy(dAtA[i:], m.Ip)
    }
    if m.Port != 0 {
        dAtA[i] = 0x50
        dAtA[i] = 0x60
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(m.Port))
    }
    if len(m.Username) > 0 {
        dAtA[i] = 0x5a
        dAtA[i] = 0x6a
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Username)))
        i += copy(dAtA[i:], m.Username)
    }
    if len(m.Password) > 0 {
        dAtA[i] = 0x62
        dAtA[i] = 0x72
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Password)))
        i += copy(dAtA[i:], m.Password)
    }
    if len(m.Brand) > 0 {
        dAtA[i] = 0x6a
        dAtA[i] = 0x7a
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Brand)))
        i += copy(dAtA[i:], m.Brand)
    }
    if len(m.Reserved) > 0 {
        dAtA[i] = 0x72
        dAtA[i] = 0x82
        i++
        dAtA[i] = 0x1
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Reserved)))
        i += copy(dAtA[i:], m.Reserved)
    }
    if m.IsRunning {
        dAtA[i] = 0x78
        dAtA[i] = 0x88
        i++
        dAtA[i] = 0x1
        i++
        if m.IsRunning {
            dAtA[i] = 1
@@ -1861,7 +1909,7 @@
        i++
    }
    if m.RunEnable {
        dAtA[i] = 0x80
        dAtA[i] = 0x90
        i++
        dAtA[i] = 0x1
        i++
@@ -1873,14 +1921,14 @@
        i++
    }
    if m.RunType != 0 {
        dAtA[i] = 0x88
        dAtA[i] = 0x98
        i++
        dAtA[i] = 0x1
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(m.RunType))
    }
    if len(m.RunServerId) > 0 {
        dAtA[i] = 0x92
        dAtA[i] = 0xa2
        i++
        dAtA[i] = 0x1
        i++
@@ -2418,6 +2466,12 @@
            i += n
        }
    }
    if len(m.SetType) > 0 {
        dAtA[i] = 0x2a
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(len(m.SetType)))
        i += copy(dAtA[i:], m.SetType)
    }
    return i, nil
}
@@ -2813,6 +2867,14 @@
    if l > 0 {
        n += 1 + l + sovProtomsg(uint64(l))
    }
    l = len(m.Alias)
    if l > 0 {
        n += 1 + l + sovProtomsg(uint64(l))
    }
    l = len(m.SnapshotUrl)
    if l > 0 {
        n += 1 + l + sovProtomsg(uint64(l))
    }
    if m.Type != 0 {
        n += 1 + sovProtomsg(uint64(m.Type))
    }
@@ -2854,10 +2916,10 @@
    }
    l = len(m.Reserved)
    if l > 0 {
        n += 1 + l + sovProtomsg(uint64(l))
        n += 2 + l + sovProtomsg(uint64(l))
    }
    if m.IsRunning {
        n += 2
        n += 3
    }
    if m.RunEnable {
        n += 3
@@ -3142,6 +3204,10 @@
            n += 1 + l + sovProtomsg(uint64(l))
        }
    }
    l = len(m.SetType)
    if l > 0 {
        n += 1 + l + sovProtomsg(uint64(l))
    }
    return n
}
@@ -3353,14 +3419,7 @@
}
func sovProtomsg(x uint64) (n int) {
    for {
        n++
        x >>= 7
        if x == 0 {
            break
        }
    }
    return n
    return (math_bits.Len64(x|1) + 6) / 7
}
func sozProtomsg(x uint64) (n int) {
    return sovProtomsg(uint64((x << 1) ^ uint64((int64(x) >> 63))))
@@ -3582,6 +3641,70 @@
            m.Name = string(dAtA[iNdEx:postIndex])
            iNdEx = postIndex
        case 3:
            if wireType != 2 {
                return fmt.Errorf("proto: wrong wireType = %d for field Alias", wireType)
            }
            var stringLen uint64
            for shift := uint(0); ; shift += 7 {
                if shift >= 64 {
                    return ErrIntOverflowProtomsg
                }
                if iNdEx >= l {
                    return io.ErrUnexpectedEOF
                }
                b := dAtA[iNdEx]
                iNdEx++
                stringLen |= uint64(b&0x7F) << shift
                if b < 0x80 {
                    break
                }
            }
            intStringLen := int(stringLen)
            if intStringLen < 0 {
                return ErrInvalidLengthProtomsg
            }
            postIndex := iNdEx + intStringLen
            if postIndex < 0 {
                return ErrInvalidLengthProtomsg
            }
            if postIndex > l {
                return io.ErrUnexpectedEOF
            }
            m.Alias = string(dAtA[iNdEx:postIndex])
            iNdEx = postIndex
        case 4:
            if wireType != 2 {
                return fmt.Errorf("proto: wrong wireType = %d for field SnapshotUrl", wireType)
            }
            var stringLen uint64
            for shift := uint(0); ; shift += 7 {
                if shift >= 64 {
                    return ErrIntOverflowProtomsg
                }
                if iNdEx >= l {
                    return io.ErrUnexpectedEOF
                }
                b := dAtA[iNdEx]
                iNdEx++
                stringLen |= uint64(b&0x7F) << shift
                if b < 0x80 {
                    break
                }
            }
            intStringLen := int(stringLen)
            if intStringLen < 0 {
                return ErrInvalidLengthProtomsg
            }
            postIndex := iNdEx + intStringLen
            if postIndex < 0 {
                return ErrInvalidLengthProtomsg
            }
            if postIndex > l {
                return io.ErrUnexpectedEOF
            }
            m.SnapshotUrl = string(dAtA[iNdEx:postIndex])
            iNdEx = postIndex
        case 5:
            if wireType != 0 {
                return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
            }
@@ -3600,7 +3723,7 @@
                    break
                }
            }
        case 4:
        case 6:
            if wireType != 2 {
                return fmt.Errorf("proto: wrong wireType = %d for field Addr", wireType)
            }
@@ -3632,7 +3755,7 @@
            }
            m.Addr = string(dAtA[iNdEx:postIndex])
            iNdEx = postIndex
        case 5:
        case 7:
            if wireType != 0 {
                return fmt.Errorf("proto: wrong wireType = %d for field Areaid", wireType)
            }
@@ -3651,7 +3774,7 @@
                    break
                }
            }
        case 6:
        case 8:
            if wireType != 5 {
                return fmt.Errorf("proto: wrong wireType = %d for field Longitude", wireType)
            }
@@ -3662,7 +3785,7 @@
            v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:]))
            iNdEx += 4
            m.Longitude = float32(math.Float32frombits(v))
        case 7:
        case 9:
            if wireType != 5 {
                return fmt.Errorf("proto: wrong wireType = %d for field Latitude", wireType)
            }
@@ -3673,7 +3796,7 @@
            v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:]))
            iNdEx += 4
            m.Latitude = float32(math.Float32frombits(v))
        case 8:
        case 10:
            if wireType != 2 {
                return fmt.Errorf("proto: wrong wireType = %d for field Rtsp", wireType)
            }
@@ -3705,7 +3828,7 @@
            }
            m.Rtsp = string(dAtA[iNdEx:postIndex])
            iNdEx = postIndex
        case 9:
        case 11:
            if wireType != 2 {
                return fmt.Errorf("proto: wrong wireType = %d for field Ip", wireType)
            }
@@ -3737,7 +3860,7 @@
            }
            m.Ip = string(dAtA[iNdEx:postIndex])
            iNdEx = postIndex
        case 10:
        case 12:
            if wireType != 0 {
                return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
            }
@@ -3756,7 +3879,7 @@
                    break
                }
            }
        case 11:
        case 13:
            if wireType != 2 {
                return fmt.Errorf("proto: wrong wireType = %d for field Username", wireType)
            }
@@ -3788,7 +3911,7 @@
            }
            m.Username = string(dAtA[iNdEx:postIndex])
            iNdEx = postIndex
        case 12:
        case 14:
            if wireType != 2 {
                return fmt.Errorf("proto: wrong wireType = %d for field Password", wireType)
            }
@@ -3820,7 +3943,7 @@
            }
            m.Password = string(dAtA[iNdEx:postIndex])
            iNdEx = postIndex
        case 13:
        case 15:
            if wireType != 2 {
                return fmt.Errorf("proto: wrong wireType = %d for field Brand", wireType)
            }
@@ -3852,7 +3975,7 @@
            }
            m.Brand = string(dAtA[iNdEx:postIndex])
            iNdEx = postIndex
        case 14:
        case 16:
            if wireType != 2 {
                return fmt.Errorf("proto: wrong wireType = %d for field Reserved", wireType)
            }
@@ -3884,7 +4007,7 @@
            }
            m.Reserved = string(dAtA[iNdEx:postIndex])
            iNdEx = postIndex
        case 15:
        case 17:
            if wireType != 0 {
                return fmt.Errorf("proto: wrong wireType = %d for field IsRunning", wireType)
            }
@@ -3904,7 +4027,7 @@
                }
            }
            m.IsRunning = bool(v != 0)
        case 16:
        case 18:
            if wireType != 0 {
                return fmt.Errorf("proto: wrong wireType = %d for field RunEnable", wireType)
            }
@@ -3924,7 +4047,7 @@
                }
            }
            m.RunEnable = bool(v != 0)
        case 17:
        case 19:
            if wireType != 0 {
                return fmt.Errorf("proto: wrong wireType = %d for field RunType", wireType)
            }
@@ -3943,7 +4066,7 @@
                    break
                }
            }
        case 18:
        case 20:
            if wireType != 2 {
                return fmt.Errorf("proto: wrong wireType = %d for field RunServerId", wireType)
            }
@@ -5803,6 +5926,38 @@
                return err
            }
            iNdEx = postIndex
        case 5:
            if wireType != 2 {
                return fmt.Errorf("proto: wrong wireType = %d for field SetType", wireType)
            }
            var stringLen uint64
            for shift := uint(0); ; shift += 7 {
                if shift >= 64 {
                    return ErrIntOverflowProtomsg
                }
                if iNdEx >= l {
                    return io.ErrUnexpectedEOF
                }
                b := dAtA[iNdEx]
                iNdEx++
                stringLen |= uint64(b&0x7F) << shift
                if b < 0x80 {
                    break
                }
            }
            intStringLen := int(stringLen)
            if intStringLen < 0 {
                return ErrInvalidLengthProtomsg
            }
            postIndex := iNdEx + intStringLen
            if postIndex < 0 {
                return ErrInvalidLengthProtomsg
            }
            if postIndex > l {
                return io.ErrUnexpectedEOF
            }
            m.SetType = string(dAtA[iNdEx:postIndex])
            iNdEx = postIndex
        default:
            iNdEx = preIndex
            skippy, err := skipProtomsg(dAtA[iNdEx:])
protomsg.proto
@@ -16,23 +16,26 @@
message Camera {
    string id = 1;
    string name = 2;
    int32 type = 3;
    string addr = 4;
    int32 areaid = 5;
    float longitude = 6;
    float latitude = 7;
    string rtsp = 8;
    string ip = 9;
    int32 port = 10;
    string username = 11;
    string password = 12;
    string brand = 13;
    string reserved = 14;
    string alias = 3;
    string snapshot_url = 4;//摄像机底图快照
    int32 type = 5;
    string addr = 6;
    int32 areaid = 7;
    float longitude = 8;
    float latitude = 9;
    string rtsp = 10;
    string ip = 11;
    int32 port = 12;
    string username = 13;
    string password = 14;
    string brand = 15;
    string reserved = 16;
    bool is_running = 15;//是否正在做任务(0:否,1:是)
    bool run_enable = 16;//是否启用实时或轮询(0:否,1:是)
    int32 run_type = 17;//做任务的类型(0:轮询,1:实时)
    string run_server_id = 18;//当前正在哪台服务器上做任务
    bool is_running = 17;//是否正在做任务(0:否,1:是)
    bool run_enable = 18;//是否启用实时或轮询(0:否,1:是)
    int32 run_type = 19;//做任务的类型(0:轮询,1:实时)
    string run_server_id = 20;//当前正在哪台服务器上做任务
}
//摄像机的任务信息
@@ -115,6 +118,7 @@
    string group_text = 2;
    int32 alarm_level = 3;
    repeated Rule rules = 4;
    string set_type = 5;
}
message Rule {
@@ -169,6 +173,7 @@
    T_Sdk = 6;//sdk变化
    T_CameraPolygon = 7;//摄像机多边形变化
    T_TimeRule = 8;//时间规则变化
    T_Server = 9;//服务器信息变化
}
enum DbAction {