liuxiaolong
2019-06-14 bdaaccef1c9f4cf7210a5e2c16305c79ff2ba19c
CameraTaskArgs messsages
2个文件已修改
604 ■■■■ 已修改文件
protomsg.pb.go 574 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
protomsg.proto 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
protomsg.pb.go
@@ -931,7 +931,7 @@
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,4,rep,name=points,proto3" json:"points,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:"-"`
@@ -984,21 +984,11 @@
}
type CameraTaskArgs struct {
    Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    CameraTaskId         string   `protobuf:"bytes,2,opt,name=camera_task_id,json=cameraTaskId,proto3" json:"camera_task_id,omitempty"`
    CameraId             string   `protobuf:"bytes,3,opt,name=camera_id,json=cameraId,proto3" json:"camera_id,omitempty"`
    PolygonId            string   `protobuf:"bytes,4,opt,name=polygon_id,json=polygonId,proto3" json:"polygon_id,omitempty"`
    SdkId                string   `protobuf:"bytes,5,opt,name=sdk_id,json=sdkId,proto3" json:"sdk_id,omitempty"`
    SdkArgAlias          string   `protobuf:"bytes,6,opt,name=sdk_arg_alias,json=sdkArgAlias,proto3" json:"sdk_arg_alias,omitempty"`
    Operator             string   `protobuf:"bytes,7,opt,name=operator,proto3" json:"operator,omitempty"`
    OperatorType         string   `protobuf:"bytes,8,opt,name=operator_type,json=operatorType,proto3" json:"operator_type,omitempty"`
    SdkArgValue          string   `protobuf:"bytes,9,opt,name=sdk_arg_value,json=sdkArgValue,proto3" json:"sdk_arg_value,omitempty"`
    Sort                 int32    `protobuf:"varint,10,opt,name=sort,proto3" json:"sort,omitempty"`
    RuleWithNext         string   `protobuf:"bytes,11,opt,name=rule_with_next,json=ruleWithNext,proto3" json:"rule_with_next,omitempty"`
    GroupId              string   `protobuf:"bytes,12,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
    CameraId             string           `protobuf:"bytes,1,opt,name=camera_id,json=cameraId,proto3" json:"camera_id,omitempty"`
    TaskArgs             []*TaskGroupArgs `protobuf:"bytes,2,rep,name=task_args,json=taskArgs,proto3" json:"task_args,omitempty"`
    XXX_NoUnkeyedLiteral struct{}         `json:"-"`
    XXX_unrecognized     []byte           `json:"-"`
    XXX_sizecache        int32            `json:"-"`
}
func (m *CameraTaskArgs) Reset()         { *m = CameraTaskArgs{} }
@@ -1026,20 +1016,6 @@
var xxx_messageInfo_CameraTaskArgs proto.InternalMessageInfo
func (m *CameraTaskArgs) GetId() string {
    if m != nil {
        return m.Id
    }
    return ""
}
func (m *CameraTaskArgs) GetCameraTaskId() string {
    if m != nil {
        return m.CameraTaskId
    }
    return ""
}
func (m *CameraTaskArgs) GetCameraId() string {
    if m != nil {
        return m.CameraId
@@ -1047,63 +1023,181 @@
    return ""
}
func (m *CameraTaskArgs) GetPolygonId() string {
func (m *CameraTaskArgs) GetTaskArgs() []*TaskGroupArgs {
    if m != nil {
        return m.TaskArgs
    }
    return nil
}
type TaskGroupArgs struct {
    TaskId               string      `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
    GroupArgs            []*TaskArgs `protobuf:"bytes,2,rep,name=group_args,json=groupArgs,proto3" json:"group_args,omitempty"`
    XXX_NoUnkeyedLiteral struct{}    `json:"-"`
    XXX_unrecognized     []byte      `json:"-"`
    XXX_sizecache        int32       `json:"-"`
}
func (m *TaskGroupArgs) Reset()         { *m = TaskGroupArgs{} }
func (m *TaskGroupArgs) String() string { return proto.CompactTextString(m) }
func (*TaskGroupArgs) ProtoMessage()    {}
func (*TaskGroupArgs) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{14}
}
func (m *TaskGroupArgs) XXX_Unmarshal(b []byte) error {
    return xxx_messageInfo_TaskGroupArgs.Unmarshal(m, b)
}
func (m *TaskGroupArgs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    return xxx_messageInfo_TaskGroupArgs.Marshal(b, m, deterministic)
}
func (m *TaskGroupArgs) XXX_Merge(src proto.Message) {
    xxx_messageInfo_TaskGroupArgs.Merge(m, src)
}
func (m *TaskGroupArgs) XXX_Size() int {
    return xxx_messageInfo_TaskGroupArgs.Size(m)
}
func (m *TaskGroupArgs) XXX_DiscardUnknown() {
    xxx_messageInfo_TaskGroupArgs.DiscardUnknown(m)
}
var xxx_messageInfo_TaskGroupArgs proto.InternalMessageInfo
func (m *TaskGroupArgs) GetTaskId() string {
    if m != nil {
        return m.TaskId
    }
    return ""
}
func (m *TaskGroupArgs) GetGroupArgs() []*TaskArgs {
    if m != nil {
        return m.GroupArgs
    }
    return nil
}
type TaskArgs struct {
    Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    CameraTaskId         string   `protobuf:"bytes,2,opt,name=camera_task_id,json=cameraTaskId,proto3" json:"camera_task_id,omitempty"`
    CameraId             string   `protobuf:"bytes,3,opt,name=camera_id,json=cameraId,proto3" json:"camera_id,omitempty"`
    PolygonId            string   `protobuf:"bytes,4,opt,name=polygon_id,json=polygonId,proto3" json:"polygon_id,omitempty"`
    SdkId                string   `protobuf:"bytes,5,opt,name=sdk_id,json=sdkId,proto3" json:"sdk_id,omitempty"`
    SdkArgAlias          string   `protobuf:"bytes,6,opt,name=sdk_arg_alias,json=sdkArgAlias,proto3" json:"sdk_arg_alias,omitempty"`
    Operator             string   `protobuf:"bytes,7,opt,name=operator,proto3" json:"operator,omitempty"`
    OperatorType         string   `protobuf:"bytes,8,opt,name=operator_type,json=operatorType,proto3" json:"operator_type,omitempty"`
    SdkArgValue          string   `protobuf:"bytes,9,opt,name=sdk_arg_value,json=sdkArgValue,proto3" json:"sdk_arg_value,omitempty"`
    Sort                 int32    `protobuf:"varint,10,opt,name=sort,proto3" json:"sort,omitempty"`
    RuleWithPre          string   `protobuf:"bytes,11,opt,name=rule_with_pre,json=ruleWithPre,proto3" json:"rule_with_pre,omitempty"`
    GroupId              string   `protobuf:"bytes,12,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}
func (m *TaskArgs) Reset()         { *m = TaskArgs{} }
func (m *TaskArgs) String() string { return proto.CompactTextString(m) }
func (*TaskArgs) ProtoMessage()    {}
func (*TaskArgs) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{15}
}
func (m *TaskArgs) XXX_Unmarshal(b []byte) error {
    return xxx_messageInfo_TaskArgs.Unmarshal(m, b)
}
func (m *TaskArgs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    return xxx_messageInfo_TaskArgs.Marshal(b, m, deterministic)
}
func (m *TaskArgs) XXX_Merge(src proto.Message) {
    xxx_messageInfo_TaskArgs.Merge(m, src)
}
func (m *TaskArgs) XXX_Size() int {
    return xxx_messageInfo_TaskArgs.Size(m)
}
func (m *TaskArgs) XXX_DiscardUnknown() {
    xxx_messageInfo_TaskArgs.DiscardUnknown(m)
}
var xxx_messageInfo_TaskArgs proto.InternalMessageInfo
func (m *TaskArgs) GetId() string {
    if m != nil {
        return m.Id
    }
    return ""
}
func (m *TaskArgs) GetCameraTaskId() string {
    if m != nil {
        return m.CameraTaskId
    }
    return ""
}
func (m *TaskArgs) GetCameraId() string {
    if m != nil {
        return m.CameraId
    }
    return ""
}
func (m *TaskArgs) GetPolygonId() string {
    if m != nil {
        return m.PolygonId
    }
    return ""
}
func (m *CameraTaskArgs) GetSdkId() string {
func (m *TaskArgs) GetSdkId() string {
    if m != nil {
        return m.SdkId
    }
    return ""
}
func (m *CameraTaskArgs) GetSdkArgAlias() string {
func (m *TaskArgs) GetSdkArgAlias() string {
    if m != nil {
        return m.SdkArgAlias
    }
    return ""
}
func (m *CameraTaskArgs) GetOperator() string {
func (m *TaskArgs) GetOperator() string {
    if m != nil {
        return m.Operator
    }
    return ""
}
func (m *CameraTaskArgs) GetOperatorType() string {
func (m *TaskArgs) GetOperatorType() string {
    if m != nil {
        return m.OperatorType
    }
    return ""
}
func (m *CameraTaskArgs) GetSdkArgValue() string {
func (m *TaskArgs) GetSdkArgValue() string {
    if m != nil {
        return m.SdkArgValue
    }
    return ""
}
func (m *CameraTaskArgs) GetSort() int32 {
func (m *TaskArgs) GetSort() int32 {
    if m != nil {
        return m.Sort
    }
    return 0
}
func (m *CameraTaskArgs) GetRuleWithNext() string {
func (m *TaskArgs) GetRuleWithPre() string {
    if m != nil {
        return m.RuleWithNext
        return m.RuleWithPre
    }
    return ""
}
func (m *CameraTaskArgs) GetGroupId() string {
func (m *TaskArgs) GetGroupId() string {
    if m != nil {
        return m.GroupId
    }
@@ -1132,7 +1226,7 @@
func (m *Sdk) String() string { return proto.CompactTextString(m) }
func (*Sdk) ProtoMessage()    {}
func (*Sdk) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{14}
    return fileDescriptor_32de24555f916688, []int{16}
}
func (m *Sdk) XXX_Unmarshal(b []byte) error {
@@ -1247,7 +1341,7 @@
func (m *SdkArg) String() string { return proto.CompactTextString(m) }
func (*SdkArg) ProtoMessage()    {}
func (*SdkArg) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{15}
    return fileDescriptor_32de24555f916688, []int{17}
}
func (m *SdkArg) XXX_Unmarshal(b []byte) error {
@@ -1323,7 +1417,7 @@
func (m *Point) String() string { return proto.CompactTextString(m) }
func (*Point) ProtoMessage()    {}
func (*Point) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{16}
    return fileDescriptor_32de24555f916688, []int{18}
}
func (m *Point) XXX_Unmarshal(b []byte) error {
@@ -1372,7 +1466,7 @@
func (m *Rect) String() string { return proto.CompactTextString(m) }
func (*Rect) ProtoMessage()    {}
func (*Rect) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{17}
    return fileDescriptor_32de24555f916688, []int{19}
}
func (m *Rect) XXX_Unmarshal(b []byte) error {
@@ -1435,7 +1529,7 @@
func (m *FaceAngle) String() string { return proto.CompactTextString(m) }
func (*FaceAngle) ProtoMessage()    {}
func (*FaceAngle) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{18}
    return fileDescriptor_32de24555f916688, []int{20}
}
func (m *FaceAngle) XXX_Unmarshal(b []byte) error {
@@ -1499,7 +1593,7 @@
func (m *ThftResult) String() string { return proto.CompactTextString(m) }
func (*ThftResult) ProtoMessage()    {}
func (*ThftResult) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{19}
    return fileDescriptor_32de24555f916688, []int{21}
}
func (m *ThftResult) XXX_Unmarshal(b []byte) error {
@@ -1573,7 +1667,7 @@
func (m *FacePos) String() string { return proto.CompactTextString(m) }
func (*FacePos) ProtoMessage()    {}
func (*FacePos) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{20}
    return fileDescriptor_32de24555f916688, []int{22}
}
func (m *FacePos) XXX_Unmarshal(b []byte) error {
@@ -1669,7 +1763,7 @@
func (m *FaceInfo) String() string { return proto.CompactTextString(m) }
func (*FaceInfo) ProtoMessage()    {}
func (*FaceInfo) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{21}
    return fileDescriptor_32de24555f916688, []int{23}
}
func (m *FaceInfo) XXX_Unmarshal(b []byte) error {
@@ -1766,7 +1860,7 @@
func (m *ObjInfo) String() string { return proto.CompactTextString(m) }
func (*ObjInfo) ProtoMessage()    {}
func (*ObjInfo) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{22}
    return fileDescriptor_32de24555f916688, []int{24}
}
func (m *ObjInfo) XXX_Unmarshal(b []byte) error {
@@ -1821,7 +1915,7 @@
func (m *ParamFacePos) String() string { return proto.CompactTextString(m) }
func (*ParamFacePos) ProtoMessage()    {}
func (*ParamFacePos) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{23}
    return fileDescriptor_32de24555f916688, []int{25}
}
func (m *ParamFacePos) XXX_Unmarshal(b []byte) error {
@@ -1869,7 +1963,7 @@
func (m *ParamFaceCompare) String() string { return proto.CompactTextString(m) }
func (*ParamFaceCompare) ProtoMessage()    {}
func (*ParamFaceCompare) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{24}
    return fileDescriptor_32de24555f916688, []int{26}
}
func (m *ParamFaceCompare) XXX_Unmarshal(b []byte) error {
@@ -1917,7 +2011,7 @@
func (m *ParamFaceProperty) String() string { return proto.CompactTextString(m) }
func (*ParamFaceProperty) ProtoMessage()    {}
func (*ParamFaceProperty) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{25}
    return fileDescriptor_32de24555f916688, []int{27}
}
func (m *ParamFaceProperty) XXX_Unmarshal(b []byte) error {
@@ -1965,7 +2059,7 @@
func (m *ParamYoloObj) String() string { return proto.CompactTextString(m) }
func (*ParamYoloObj) ProtoMessage()    {}
func (*ParamYoloObj) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{26}
    return fileDescriptor_32de24555f916688, []int{28}
}
func (m *ParamYoloObj) XXX_Unmarshal(b []byte) error {
@@ -2015,7 +2109,7 @@
func (m *DbChangeMessage) String() string { return proto.CompactTextString(m) }
func (*DbChangeMessage) ProtoMessage()    {}
func (*DbChangeMessage) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{27}
    return fileDescriptor_32de24555f916688, []int{29}
}
func (m *DbChangeMessage) XXX_Unmarshal(b []byte) error {
@@ -2082,7 +2176,7 @@
func (m *CameraPolygon) String() string { return proto.CompactTextString(m) }
func (*CameraPolygon) ProtoMessage()    {}
func (*CameraPolygon) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{28}
    return fileDescriptor_32de24555f916688, []int{30}
}
func (m *CameraPolygon) XXX_Unmarshal(b []byte) error {
@@ -2159,133 +2253,6 @@
    return 0
}
type CameraTaskArg struct {
    Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    CameraTaskId         string   `protobuf:"bytes,2,opt,name=camera_task_id,json=cameraTaskId,proto3" json:"camera_task_id,omitempty"`
    CameraId             string   `protobuf:"bytes,3,opt,name=camera_id,json=cameraId,proto3" json:"camera_id,omitempty"`
    PolygonId            string   `protobuf:"bytes,4,opt,name=polygon_id,json=polygonId,proto3" json:"polygon_id,omitempty"`
    SdkId                string   `protobuf:"bytes,5,opt,name=sdk_id,json=sdkId,proto3" json:"sdk_id,omitempty"`
    SdkArgAlias          string   `protobuf:"bytes,6,opt,name=sdk_arg_alias,json=sdkArgAlias,proto3" json:"sdk_arg_alias,omitempty"`
    Operator             string   `protobuf:"bytes,7,opt,name=operator,proto3" json:"operator,omitempty"`
    OperatorType         string   `protobuf:"bytes,8,opt,name=operator_type,json=operatorType,proto3" json:"operator_type,omitempty"`
    SdkArgValue          string   `protobuf:"bytes,9,opt,name=sdk_arg_value,json=sdkArgValue,proto3" json:"sdk_arg_value,omitempty"`
    Sort                 int32    `protobuf:"varint,10,opt,name=sort,proto3" json:"sort,omitempty"`
    RuleWithPre          string   `protobuf:"bytes,11,opt,name=rule_with_pre,json=ruleWithPre,proto3" json:"rule_with_pre,omitempty"`
    GroupId              string   `protobuf:"bytes,12,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}
func (m *CameraTaskArg) Reset()         { *m = CameraTaskArg{} }
func (m *CameraTaskArg) String() string { return proto.CompactTextString(m) }
func (*CameraTaskArg) ProtoMessage()    {}
func (*CameraTaskArg) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{29}
}
func (m *CameraTaskArg) XXX_Unmarshal(b []byte) error {
    return xxx_messageInfo_CameraTaskArg.Unmarshal(m, b)
}
func (m *CameraTaskArg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    return xxx_messageInfo_CameraTaskArg.Marshal(b, m, deterministic)
}
func (m *CameraTaskArg) XXX_Merge(src proto.Message) {
    xxx_messageInfo_CameraTaskArg.Merge(m, src)
}
func (m *CameraTaskArg) XXX_Size() int {
    return xxx_messageInfo_CameraTaskArg.Size(m)
}
func (m *CameraTaskArg) XXX_DiscardUnknown() {
    xxx_messageInfo_CameraTaskArg.DiscardUnknown(m)
}
var xxx_messageInfo_CameraTaskArg proto.InternalMessageInfo
func (m *CameraTaskArg) GetId() string {
    if m != nil {
        return m.Id
    }
    return ""
}
func (m *CameraTaskArg) GetCameraTaskId() string {
    if m != nil {
        return m.CameraTaskId
    }
    return ""
}
func (m *CameraTaskArg) GetCameraId() string {
    if m != nil {
        return m.CameraId
    }
    return ""
}
func (m *CameraTaskArg) GetPolygonId() string {
    if m != nil {
        return m.PolygonId
    }
    return ""
}
func (m *CameraTaskArg) GetSdkId() string {
    if m != nil {
        return m.SdkId
    }
    return ""
}
func (m *CameraTaskArg) GetSdkArgAlias() string {
    if m != nil {
        return m.SdkArgAlias
    }
    return ""
}
func (m *CameraTaskArg) GetOperator() string {
    if m != nil {
        return m.Operator
    }
    return ""
}
func (m *CameraTaskArg) GetOperatorType() string {
    if m != nil {
        return m.OperatorType
    }
    return ""
}
func (m *CameraTaskArg) GetSdkArgValue() string {
    if m != nil {
        return m.SdkArgValue
    }
    return ""
}
func (m *CameraTaskArg) GetSort() int32 {
    if m != nil {
        return m.Sort
    }
    return 0
}
func (m *CameraTaskArg) GetRuleWithPre() string {
    if m != nil {
        return m.RuleWithPre
    }
    return ""
}
func (m *CameraTaskArg) GetGroupId() string {
    if m != nil {
        return m.GroupId
    }
    return ""
}
func init() {
    proto.RegisterEnum("protomsg.TableChanged", TableChanged_name, TableChanged_value)
    proto.RegisterEnum("protomsg.DbAction", DbAction_name, DbAction_value)
@@ -2303,6 +2270,8 @@
    proto.RegisterType((*TimeRange)(nil), "protomsg.TimeRange")
    proto.RegisterType((*Polygon)(nil), "protomsg.Polygon")
    proto.RegisterType((*CameraTaskArgs)(nil), "protomsg.CameraTaskArgs")
    proto.RegisterType((*TaskGroupArgs)(nil), "protomsg.TaskGroupArgs")
    proto.RegisterType((*TaskArgs)(nil), "protomsg.TaskArgs")
    proto.RegisterType((*Sdk)(nil), "protomsg.Sdk")
    proto.RegisterType((*SdkArg)(nil), "protomsg.SdkArg")
    proto.RegisterType((*Point)(nil), "protomsg.Point")
@@ -2318,129 +2287,130 @@
    proto.RegisterType((*ParamYoloObj)(nil), "protomsg.ParamYoloObj")
    proto.RegisterType((*DbChangeMessage)(nil), "protomsg.DbChangeMessage")
    proto.RegisterType((*CameraPolygon)(nil), "protomsg.CameraPolygon")
    proto.RegisterType((*CameraTaskArg)(nil), "protomsg.CameraTaskArg")
}
func init() { proto.RegisterFile("protomsg.proto", fileDescriptor_32de24555f916688) }
var fileDescriptor_32de24555f916688 = []byte{
    // 1885 bytes of a gzipped FileDescriptorProto
    0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x58, 0x4b, 0x93, 0x23, 0x47,
    0x11, 0xb6, 0x5a, 0xcf, 0x4e, 0x3d, 0xac, 0x2d, 0x16, 0x23, 0xdb, 0x3c, 0x66, 0x7b, 0x07, 0x3c,
    0x2c, 0x66, 0x09, 0xc6, 0x77, 0x22, 0x86, 0x1d, 0x96, 0x50, 0xc4, 0x7a, 0x3d, 0xae, 0x19, 0x2f,
    0x81, 0x2f, 0x1d, 0xa5, 0xae, 0x52, 0xab, 0xad, 0x56, 0x77, 0x53, 0x5d, 0xda, 0x19, 0x1d, 0xb8,
    0x71, 0xe7, 0x87, 0xf0, 0x47, 0x38, 0xf0, 0x1f, 0x38, 0x71, 0x21, 0x82, 0x1b, 0x11, 0x5c, 0x89,
    0xcc, 0xaa, 0x6e, 0xb5, 0x66, 0x66, 0x89, 0x89, 0xe0, 0xea, 0x5b, 0xbe, 0x94, 0x95, 0xf9, 0x55,
    0x66, 0x56, 0xb6, 0x60, 0x52, 0xe8, 0xdc, 0xe4, 0x9b, 0x32, 0x7e, 0x4e, 0x04, 0x1b, 0x54, 0x7c,
    0xf0, 0x25, 0xf8, 0x57, 0xa2, 0x5c, 0xbf, 0x12, 0x0b, 0x95, 0xb2, 0x0f, 0xa0, 0x67, 0x44, 0xb9,
    0x4e, 0xe4, 0xac, 0x75, 0xd4, 0x3a, 0xf1, 0xb9, 0xe3, 0x50, 0x5e, 0xca, 0x75, 0x22, 0xcb, 0x99,
    0x77, 0xd4, 0x46, 0xb9, 0xe5, 0xd8, 0x63, 0xe8, 0x26, 0x99, 0x54, 0x37, 0xb3, 0xf6, 0x51, 0xeb,
    0xa4, 0xcb, 0x2d, 0x13, 0x08, 0x80, 0x4b, 0xb9, 0xfe, 0x5c, 0x95, 0xa5, 0x88, 0x15, 0x9b, 0x42,
    0x3b, 0xaa, 0x1d, 0x22, 0xc9, 0x7e, 0x0e, 0x7d, 0xf4, 0x9b, 0x8a, 0xc5, 0xcc, 0x3b, 0x6a, 0x9d,
    0x0c, 0x4f, 0xbf, 0xf3, 0xbc, 0x0e, 0xaf, 0x8e, 0x85, 0x57, 0x36, 0x8c, 0x41, 0x47, 0x0a, 0x23,
    0xe8, 0x8c, 0x11, 0x27, 0x3a, 0x98, 0x43, 0x77, 0xbe, 0x41, 0xef, 0x8f, 0xa1, 0x7b, 0x9d, 0x48,
    0xb3, 0x22, 0xff, 0x5d, 0x6e, 0x19, 0x8c, 0x77, 0xa5, 0x92, 0x78, 0x65, 0xe8, 0x80, 0x2e, 0x77,
    0xdc, 0xbd, 0xae, 0x5e, 0x42, 0xe7, 0x4c, 0x2b, 0xc1, 0x26, 0xe0, 0xb9, 0x30, 0xbb, 0xdc, 0x4b,
    0x24, 0xfb, 0x08, 0x06, 0x85, 0xd0, 0x2a, 0x33, 0x89, 0x74, 0x5e, 0x6a, 0x1e, 0xfd, 0x64, 0x62,
    0xa3, 0xc8, 0x8f, 0xcf, 0x89, 0x0e, 0xfe, 0xea, 0x41, 0xef, 0x85, 0xd8, 0x28, 0xdd, 0x74, 0xe5,
    0x93, 0xab, 0xca, 0xdc, 0xdb, 0x9b, 0xa3, 0xcc, 0xec, 0x0a, 0xe5, 0x90, 0x23, 0x1a, 0x65, 0x42,
    0x4a, 0x3d, 0xeb, 0x58, 0x3b, 0xa4, 0x31, 0x15, 0xa1, 0x95, 0x48, 0xe4, 0xac, 0x6b, 0x53, 0xb1,
    0x1c, 0xfb, 0x3e, 0xf8, 0x69, 0x9e, 0xc5, 0x89, 0xd9, 0x4a, 0x35, 0xeb, 0x1d, 0xb5, 0x4e, 0x3c,
    0xbe, 0x17, 0x60, 0xf0, 0xa9, 0x30, 0x56, 0xd9, 0x27, 0x65, 0xcd, 0xe3, 0x29, 0xda, 0x94, 0xc5,
    0x6c, 0x60, 0x4f, 0x41, 0x9a, 0x22, 0x2e, 0x66, 0xbe, 0x8b, 0xb8, 0x40, 0x9b, 0x22, 0xd7, 0x66,
    0x06, 0x36, 0x3a, 0xa4, 0xd1, 0xe7, 0xb6, 0x54, 0x9a, 0x32, 0x19, 0x92, 0x65, 0xcd, 0x5b, 0xb0,
    0xca, 0xf2, 0x3a, 0xd7, 0x72, 0x36, 0xb2, 0xba, 0x8a, 0xc7, 0x2b, 0x5a, 0x68, 0x91, 0xc9, 0xd9,
    0x98, 0x14, 0x96, 0xc1, 0x5f, 0x68, 0x55, 0x2a, 0xfd, 0x56, 0xc9, 0xd9, 0xc4, 0xfe, 0xa2, 0xe2,
    0x83, 0x08, 0x1e, 0x59, 0x24, 0xcf, 0x32, 0x89, 0x05, 0x31, 0xcf, 0x96, 0x39, 0x3b, 0x81, 0x5e,
    0x44, 0x42, 0x02, 0x76, 0x78, 0x3a, 0xdd, 0x17, 0x8d, 0x35, 0xe6, 0x4e, 0xcf, 0x8e, 0xa1, 0x8b,
    0xb5, 0x63, 0x8b, 0x75, 0x78, 0x3a, 0x39, 0xac, 0x2e, 0x6e, 0x95, 0xc1, 0xdf, 0x5b, 0xd0, 0x41,
    0xfe, 0x9d, 0x45, 0xff, 0x11, 0x0c, 0x90, 0x6a, 0xdc, 0x5c, 0xcd, 0xb3, 0x8f, 0xc1, 0x8f, 0xb4,
    0x12, 0x46, 0x85, 0xc2, 0xb8, 0x2a, 0x18, 0x58, 0xc1, 0x99, 0x69, 0x28, 0x17, 0x3b, 0x77, 0x97,
    0x4e, 0xf9, 0xeb, 0x1d, 0x2a, 0xb7, 0x85, 0x74, 0xbf, 0xec, 0x3a, 0x18, 0x49, 0x70, 0x66, 0x30,
    0x14, 0x95, 0x89, 0x45, 0x6a, 0x6f, 0x74, 0xc0, 0x1d, 0xc7, 0x3e, 0x84, 0x41, 0x52, 0x86, 0x22,
    0x15, 0x7a, 0x43, 0xd7, 0x39, 0xe0, 0xfd, 0xa4, 0x3c, 0x43, 0x16, 0x55, 0x52, 0xa5, 0xe1, 0x32,
    0x15, 0x31, 0xdd, 0xe8, 0x80, 0xf7, 0xa5, 0x4a, 0x5f, 0xa6, 0x22, 0x0e, 0xae, 0x60, 0x88, 0x09,
    0x5e, 0x4a, 0x0b, 0x60, 0x00, 0x1d, 0x8c, 0xdf, 0xc1, 0x77, 0x1b, 0x15, 0xd2, 0xb1, 0x27, 0xd0,
    0x29, 0x65, 0x8d, 0xdc, 0x78, 0x6f, 0x73, 0x29, 0xd7, 0x9c, 0x54, 0xc1, 0x3f, 0x3d, 0x00, 0x0b,
    0x38, 0xa1, 0x77, 0xbb, 0xd6, 0x7f, 0x00, 0x60, 0xaf, 0x21, 0xb4, 0xe3, 0x02, 0xe5, 0xbe, 0x95,
    0xcc, 0x65, 0xc9, 0xbe, 0x67, 0x7b, 0x3f, 0x4c, 0xa4, 0x83, 0x8d, 0xd0, 0x9e, 0xe3, 0x50, 0xf0,
    0x4d, 0xb2, 0x51, 0xa1, 0xde, 0xa6, 0x6a, 0xd6, 0xa1, 0xe3, 0x1b, 0x37, 0x7c, 0x2e, 0x76, 0x2f,
    0x4c, 0xca, 0x07, 0x68, 0xc2, 0xb7, 0xa9, 0xc2, 0x63, 0xb4, 0x12, 0x91, 0xb1, 0xf6, 0x16, 0x47,
    0x9f, 0x24, 0xa4, 0x7e, 0x02, 0x23, 0xab, 0x96, 0xea, 0x6d, 0x12, 0x59, 0x38, 0x7d, 0x3e, 0x24,
    0xd9, 0x39, 0x89, 0x0e, 0x80, 0xeb, 0x1f, 0x00, 0xc7, 0x7e, 0x04, 0x43, 0x77, 0x47, 0x0d, 0x58,
    0xc1, 0x8a, 0xc8, 0x60, 0x7f, 0x4f, 0xfe, 0xc1, 0x3d, 0x31, 0xe8, 0x94, 0x8d, 0xb6, 0x41, 0x1a,
    0x33, 0x4e, 0xca, 0x70, 0xb9, 0x4d, 0x53, 0xea, 0x9a, 0x01, 0xef, 0x25, 0xe5, 0xcb, 0x6d, 0x9a,
    0xb2, 0x00, 0xc6, 0x69, 0x92, 0xad, 0xc3, 0x58, 0xe7, 0xdb, 0x02, 0x01, 0xb1, 0x8d, 0x33, 0x44,
    0xe1, 0x6f, 0x51, 0x36, 0x97, 0xc1, 0x97, 0x30, 0x71, 0x58, 0x27, 0x1b, 0x85, 0xa9, 0x3e, 0x68,
    0xb6, 0x7c, 0xdc, 0xc4, 0xd2, 0x55, 0x67, 0x85, 0x5c, 0xf0, 0x1a, 0x7a, 0x16, 0x4d, 0x9c, 0xcc,
    0x52, 0xec, 0xdc, 0xc8, 0x43, 0x92, 0x9d, 0x02, 0xd8, 0x1f, 0x8a, 0x2c, 0x56, 0xae, 0x08, 0x9a,
    0xc3, 0x19, 0x7d, 0xa0, 0x8a, 0x93, 0x7f, 0x22, 0x83, 0xcf, 0xc0, 0xaf, 0xe5, 0xd8, 0xeb, 0xa5,
    0x11, 0xda, 0xb8, 0x00, 0x2d, 0x83, 0x07, 0xa9, 0x4c, 0xba, 0x10, 0x91, 0x0c, 0xde, 0x40, 0xff,
    0x22, 0x4f, 0x77, 0x71, 0x9e, 0x3d, 0x28, 0xa1, 0x4f, 0xa0, 0x57, 0xe4, 0x49, 0x66, 0x4a, 0x57,
    0x19, 0xef, 0xef, 0x63, 0xba, 0x40, 0x39, 0x77, 0xea, 0xe0, 0x3f, 0x5e, 0x0d, 0x98, 0x28, 0xd7,
    0x67, 0x3a, 0x2e, 0xef, 0xf8, 0x3f, 0x86, 0x89, 0x2b, 0xd0, 0xaa, 0x10, 0xed, 0x49, 0xa3, 0xa8,
    0xfe, 0xdd, 0x5c, 0x52, 0x0f, 0x57, 0x65, 0x5c, 0x37, 0xb8, 0xab, 0x62, 0x2c, 0xbe, 0xc2, 0x46,
    0x8f, 0x5a, 0xdb, 0xe1, 0xbe, 0x93, 0xcc, 0x25, 0xfb, 0x2e, 0xbd, 0x96, 0xa1, 0x1b, 0xd9, 0x88,
    0x82, 0x44, 0x97, 0x01, 0x8c, 0x51, 0x2c, 0x74, 0x1c, 0x8a, 0x34, 0x11, 0x65, 0x55, 0x94, 0xa5,
    0xc4, 0x40, 0xcf, 0x50, 0x84, 0x33, 0x27, 0x2f, 0x94, 0x16, 0x26, 0xd7, 0x54, 0x94, 0x3e, 0xaf,
    0x79, 0xf6, 0x14, 0xc6, 0x15, 0x1d, 0xd2, 0xd3, 0x61, 0x07, 0xf8, 0xa8, 0x12, 0x5e, 0xe1, 0x13,
    0xd2, 0x38, 0xe4, 0xad, 0x48, 0xb7, 0xca, 0xcd, 0x74, 0x77, 0xc8, 0x1b, 0x14, 0xdd, 0x5b, 0xa5,
    0xc7, 0x30, 0xc1, 0x6a, 0x09, 0xaf, 0x13, 0xb3, 0x0a, 0x33, 0x75, 0x63, 0xdc, 0x88, 0x1f, 0xa1,
    0xf4, 0x77, 0x89, 0x59, 0xbd, 0x56, 0x37, 0x06, 0x7b, 0xe6, 0x56, 0xb5, 0xf6, 0x63, 0x57, 0xa9,
    0x7f, 0xf1, 0xa0, 0x7d, 0x29, 0xef, 0xce, 0x83, 0x0f, 0x61, 0x80, 0x01, 0x51, 0xc0, 0x16, 0xe8,
    0x7e, 0x29, 0xd7, 0x14, 0xab, 0x53, 0x35, 0x5e, 0x52, 0x54, 0xbd, 0xc6, 0x0b, 0x3f, 0x86, 0x8e,
    0xd0, 0x71, 0x79, 0x77, 0x10, 0x5c, 0x52, 0x1e, 0x9c, 0xb4, 0x98, 0x48, 0x12, 0xe5, 0x99, 0x83,
    0x99, 0x68, 0xac, 0xb5, 0xad, 0x4e, 0x1d, 0xb6, 0x48, 0x62, 0x37, 0xbb, 0x71, 0x8c, 0x45, 0xeb,
    0x60, 0x05, 0x2b, 0xc2, 0xca, 0x6d, 0xb4, 0x3b, 0x19, 0x58, 0x58, 0x5d, 0xbb, 0x93, 0xc1, 0xc1,
    0x40, 0xf7, 0x6f, 0x0d, 0xf4, 0x19, 0xf4, 0x6d, 0xf7, 0x4b, 0x02, 0xd4, 0xe7, 0x15, 0x7b, 0x30,
    0x61, 0x2c, 0x9a, 0xf5, 0x68, 0xfe, 0x53, 0x0b, 0x7a, 0x36, 0x15, 0x6c, 0x19, 0x5b, 0x0e, 0x16,
    0x1d, 0xcb, 0xdc, 0xb7, 0x61, 0xd4, 0x2b, 0x83, 0x5b, 0x0f, 0xaa, 0x95, 0x61, 0xb3, 0x2d, 0xed,
    0x4b, 0x32, 0xe0, 0x44, 0xa3, 0x47, 0xdb, 0xc0, 0x16, 0x04, 0xcb, 0xd4, 0xb7, 0xde, 0xdf, 0xdf,
    0x7a, 0xf0, 0x14, 0xba, 0xd4, 0x3f, 0x6c, 0x04, 0xad, 0x1b, 0x37, 0x08, 0x5a, 0x37, 0xc8, 0xed,
    0xdc, 0xce, 0xd3, 0xda, 0x05, 0x5f, 0x43, 0x87, 0xab, 0x88, 0x96, 0xa7, 0x54, 0x2d, 0x8d, 0x33,
    0x23, 0x1a, 0xd1, 0x36, 0x79, 0xe1, 0x6c, 0x91, 0xa4, 0xc3, 0x69, 0xf3, 0x72, 0x2b, 0x21, 0x31,
    0x38, 0x30, 0x17, 0xb9, 0x31, 0xf9, 0x86, 0x82, 0xef, 0x72, 0xc7, 0x05, 0x31, 0xf8, 0x2f, 0x45,
    0xa4, 0xce, 0xb2, 0x38, 0xa5, 0x4d, 0x71, 0x27, 0xae, 0xab, 0x79, 0xb4, 0x13, 0xd7, 0xe8, 0xac,
    0x48, 0x4c, 0xb4, 0x72, 0x07, 0x58, 0x86, 0x16, 0x98, 0x3c, 0x4d, 0xab, 0xd5, 0x09, 0x69, 0xf6,
    0x43, 0x80, 0x28, 0xcf, 0x96, 0x89, 0x54, 0x59, 0x64, 0x11, 0xf2, 0x78, 0x43, 0x12, 0xdc, 0x00,
    0x5c, 0xad, 0x96, 0x86, 0xab, 0x72, 0x9b, 0x52, 0x38, 0xb1, 0xca, 0xa4, 0xd2, 0xee, 0x30, 0xc7,
    0x61, 0x04, 0x22, 0x56, 0x55, 0x3a, 0xc2, 0xa2, 0xa6, 0x45, 0x54, 0xaf, 0x69, 0x48, 0x53, 0x32,
    0x4a, 0x6c, 0xcd, 0xae, 0x4e, 0x86, 0x38, 0x1a, 0x7e, 0x9b, 0xc4, 0x3d, 0x47, 0x5d, 0x6e, 0x99,
    0xe0, 0x6f, 0x1e, 0xf4, 0x31, 0xc7, 0x8b, 0xbc, 0x64, 0x3f, 0x81, 0x9e, 0x8e, 0x90, 0xb9, 0xfb,
    0x08, 0x23, 0xc4, 0xdc, 0x69, 0xf1, 0x31, 0x2c, 0xcc, 0x2b, 0xb5, 0x34, 0xbf, 0xd9, 0x29, 0xb7,
    0x23, 0xdf, 0x19, 0x79, 0x7b, 0x0b, 0xf6, 0x0b, 0x80, 0xc2, 0x70, 0x04, 0x1a, 0xed, 0xdb, 0xf7,
    0xdb, 0x37, 0x4c, 0xd8, 0x4f, 0xa1, 0x5f, 0x98, 0xcf, 0xf3, 0xad, 0x59, 0x51, 0x0a, 0xf7, 0x58,
    0x57, 0x7a, 0x1a, 0xbd, 0xe6, 0x75, 0x5e, 0xda, 0xac, 0xee, 0x1d, 0xbd, 0xa4, 0x66, 0x3f, 0x83,
    0xde, 0x92, 0xee, 0x91, 0xca, 0xee, 0xe0, 0xdd, 0xa8, 0xaf, 0x98, 0x3b, 0x13, 0x6c, 0x9a, 0x3f,
    0x6c, 0x45, 0x9a, 0x98, 0x9d, 0xab, 0xc7, 0x8a, 0xc5, 0x8b, 0x5c, 0x8a, 0x28, 0x11, 0xe9, 0x39,
    0x2e, 0xea, 0x03, 0x5a, 0xd4, 0x1b, 0x92, 0xe0, 0x1f, 0x1e, 0x0c, 0xd0, 0x1f, 0xad, 0x34, 0xdf,
    0xe2, 0xf9, 0xff, 0xe2, 0x89, 0xc5, 0xbc, 0x44, 0x38, 0xcf, 0x69, 0xb0, 0xb5, 0xb9, 0xe3, 0x82,
    0xaf, 0xa0, 0xff, 0xc5, 0xe2, 0x1b, 0x42, 0xf9, 0x18, 0xba, 0x3a, 0xfa, 0x62, 0xf1, 0xcd, 0x3b,
    0x40, 0xb6, 0x4a, 0x1a, 0x05, 0xbb, 0xfd, 0x28, 0xd8, 0xd9, 0x8f, 0x08, 0x9d, 0x2f, 0x08, 0x40,
    0x8f, 0x13, 0x1d, 0xbc, 0x81, 0xd1, 0x85, 0xd0, 0x62, 0x53, 0x75, 0xc4, 0x53, 0x68, 0x17, 0x79,
    0xe9, 0x3c, 0x3f, 0x3a, 0x4c, 0xf1, 0x22, 0x2f, 0x39, 0x6a, 0xd9, 0x13, 0x68, 0x27, 0x9b, 0xf8,
    0xee, 0xc5, 0xd1, 0x27, 0x20, 0x47, 0x5d, 0xf0, 0x2b, 0x98, 0xd6, 0x7e, 0x5f, 0xe4, 0x1b, 0xfc,
    0x52, 0xc3, 0x7e, 0x5c, 0x2a, 0x61, 0x7e, 0x49, 0xde, 0x47, 0xdc, 0x32, 0x95, 0xf4, 0x94, 0xdc,
    0x39, 0xe9, 0x69, 0x20, 0xe1, 0xd1, 0x3e, 0x2e, 0x8d, 0x4f, 0xaa, 0xd9, 0xb1, 0x4f, 0xa1, 0xa7,
    0x69, 0x60, 0xb8, 0xf8, 0x1e, 0x37, 0x56, 0xa1, 0x7a, 0x98, 0x70, 0x67, 0xf3, 0x90, 0x28, 0xbf,
    0x76, 0xd9, 0xff, 0x3e, 0x4f, 0x73, 0xc4, 0xec, 0x13, 0xfc, 0x7e, 0x5e, 0x52, 0xfe, 0xed, 0xc3,
    0xfc, 0x1d, 0xf6, 0xdc, 0xea, 0x1f, 0xe2, 0xfb, 0xcf, 0x2d, 0x78, 0xff, 0x7c, 0xf1, 0x62, 0x85,
    0xc3, 0xbe, 0xfa, 0xf6, 0xfe, 0x14, 0xbf, 0x84, 0x70, 0x4d, 0xc5, 0xf8, 0x27, 0xa7, 0x1f, 0x34,
    0x77, 0xfe, 0x45, 0xaa, 0xac, 0xb1, 0xe4, 0xd6, 0xc8, 0x3d, 0xdd, 0x5e, 0xfd, 0x74, 0x3f, 0x83,
    0x9e, 0x88, 0x4c, 0x92, 0x67, 0x74, 0x83, 0x93, 0x53, 0xd6, 0xd8, 0xc7, 0x17, 0x67, 0xa4, 0xe1,
    0xce, 0x82, 0x9e, 0xe2, 0x6c, 0x99, 0x57, 0x6f, 0x13, 0xd2, 0xc1, 0xbf, 0x5a, 0x30, 0xb6, 0xcb,
    0xd8, 0xbb, 0x76, 0xbd, 0x83, 0x2d, 0xcb, 0xbb, 0xb5, 0x65, 0xdd, 0xf7, 0x04, 0xce, 0xa0, 0xef,
    0xf6, 0x2c, 0x77, 0x52, 0xc5, 0xe2, 0xc6, 0x6f, 0x74, 0x12, 0xc7, 0x4a, 0x87, 0x69, 0x92, 0x55,
    0x9f, 0x04, 0x43, 0x27, 0x7b, 0x95, 0x64, 0x8a, 0xfd, 0x18, 0x26, 0x32, 0xd1, 0x8a, 0x02, 0xb6,
    0x46, 0xf6, 0x81, 0x1c, 0xd7, 0x52, 0x32, 0xab, 0x9e, 0xd9, 0x7e, 0xe3, 0x99, 0x7d, 0x0a, 0x63,
    0xa9, 0x96, 0xf8, 0x92, 0x84, 0xa5, 0x11, 0xc6, 0x2e, 0x09, 0x5d, 0x3e, 0x72, 0xc2, 0x4b, 0x94,
    0x05, 0xff, 0xf6, 0xaa, 0x7c, 0xdd, 0xf2, 0xf9, 0xed, 0xee, 0xf9, 0xa0, 0xdd, 0x33, 0x80, 0xf1,
    0x7e, 0xf7, 0x2c, 0x74, 0xf5, 0xef, 0xc2, 0xb0, 0x5a, 0x3d, 0x2f, 0xb4, 0xfa, 0x1f, 0x9b, 0xe7,
    0xb3, 0x3f, 0xc2, 0xa8, 0x59, 0xcd, 0x6c, 0x04, 0x83, 0xab, 0xd0, 0xde, 0xc3, 0xf4, 0x3d, 0x36,
    0x85, 0x51, 0xc5, 0x21, 0xbc, 0xd3, 0x16, 0x7b, 0x0c, 0xd3, 0xa6, 0x04, 0x3f, 0x12, 0xa6, 0x1e,
    0x03, 0xe8, 0x5d, 0x85, 0x64, 0xd1, 0x66, 0x63, 0xf0, 0x2d, 0x7d, 0x29, 0xd7, 0xd3, 0x0e, 0x7b,
    0x04, 0xe3, 0x9a, 0xc5, 0x4f, 0xa8, 0x69, 0x97, 0xf9, 0xd0, 0xbd, 0x0a, 0x51, 0xdb, 0x7b, 0xf6,
    0x1c, 0x06, 0x55, 0x37, 0xa0, 0x93, 0x79, 0x56, 0x2a, 0x6d, 0xa6, 0xef, 0x21, 0xfd, 0x15, 0xad,
    0x90, 0xd3, 0x16, 0xd2, 0xe7, 0x2a, 0x55, 0x46, 0x4d, 0xbd, 0x45, 0x8f, 0x9a, 0xe8, 0xb3, 0xff,
    0x06, 0x00, 0x00, 0xff, 0xff, 0x9a, 0xfb, 0x97, 0xdf, 0x93, 0x13, 0x00, 0x00,
    // 1909 bytes of a gzipped FileDescriptorProto
    0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x58, 0x5f, 0x93, 0x1b, 0x47,
    0x11, 0x8f, 0x56, 0xff, 0x76, 0x5b, 0xd2, 0x45, 0x1e, 0x4c, 0xa2, 0x24, 0x04, 0xce, 0x6b, 0x43,
    0x0e, 0x13, 0x4c, 0xe5, 0xc2, 0x33, 0x55, 0x87, 0x0f, 0x53, 0xaa, 0x72, 0x9c, 0xcb, 0xdc, 0xc5,
    0x14, 0xe1, 0x61, 0x6b, 0xb4, 0x33, 0x5a, 0xad, 0xb5, 0xda, 0x5d, 0x66, 0x47, 0x3e, 0xeb, 0x81,
    0x37, 0xde, 0xf9, 0x20, 0x7c, 0x11, 0x1e, 0xf8, 0x0e, 0x3c, 0xf1, 0x42, 0x15, 0xc5, 0x57, 0xa0,
    0xba, 0x67, 0x76, 0xb5, 0xba, 0x3b, 0x57, 0xb9, 0x8a, 0x57, 0xde, 0xfa, 0x9f, 0x7a, 0xba, 0x7f,
    0x3d, 0xd3, 0xdd, 0x2b, 0x38, 0x2a, 0x75, 0x61, 0x8a, 0x4d, 0x95, 0x3c, 0x21, 0x82, 0xf9, 0x35,
    0x1f, 0x7e, 0x03, 0xc1, 0x95, 0xa8, 0xd6, 0xcf, 0xc5, 0x42, 0x65, 0xec, 0x03, 0x18, 0x18, 0x51,
    0xad, 0x53, 0x39, 0xeb, 0x1c, 0x77, 0x4e, 0x02, 0xee, 0x38, 0x94, 0x57, 0x72, 0x9d, 0xca, 0x6a,
    0xe6, 0x1d, 0x77, 0x51, 0x6e, 0x39, 0x76, 0x1f, 0xfa, 0x69, 0x2e, 0xd5, 0x9b, 0x59, 0xf7, 0xb8,
    0x73, 0xd2, 0xe7, 0x96, 0x09, 0x05, 0xc0, 0xa5, 0x5c, 0x7f, 0xa5, 0xaa, 0x4a, 0x24, 0x8a, 0x4d,
    0xa1, 0x1b, 0x37, 0x0e, 0x91, 0x64, 0x3f, 0x87, 0x21, 0xfa, 0xcd, 0xc4, 0x62, 0xe6, 0x1d, 0x77,
    0x4e, 0x46, 0xa7, 0xdf, 0x7b, 0xd2, 0x84, 0xd7, 0xc4, 0xc2, 0x6b, 0x1b, 0xc6, 0xa0, 0x27, 0x85,
    0x11, 0x74, 0xc6, 0x98, 0x13, 0x1d, 0xce, 0xa1, 0x3f, 0xdf, 0xa0, 0xf7, 0xfb, 0xd0, 0xbf, 0x4e,
    0xa5, 0x59, 0x91, 0xff, 0x3e, 0xb7, 0x0c, 0xc6, 0xbb, 0x52, 0x69, 0xb2, 0x32, 0x74, 0x40, 0x9f,
    0x3b, 0xee, 0x4e, 0x57, 0xcf, 0xa0, 0x77, 0xa6, 0x95, 0x60, 0x47, 0xe0, 0xb9, 0x30, 0xfb, 0xdc,
    0x4b, 0x25, 0xfb, 0x18, 0xfc, 0x52, 0x68, 0x95, 0x9b, 0x54, 0x3a, 0x2f, 0x0d, 0x8f, 0x7e, 0x72,
    0xb1, 0x51, 0xe4, 0x27, 0xe0, 0x44, 0x87, 0x7f, 0xf3, 0x60, 0xf0, 0x54, 0x6c, 0x94, 0x6e, 0xbb,
    0x0a, 0xc8, 0x55, 0x6d, 0xee, 0xed, 0xcd, 0x51, 0x66, 0x76, 0xa5, 0x72, 0xc8, 0x11, 0x8d, 0x32,
    0x21, 0xa5, 0x9e, 0xf5, 0xac, 0x1d, 0xd2, 0x98, 0x8a, 0xd0, 0x4a, 0xa4, 0x72, 0xd6, 0xb7, 0xa9,
    0x58, 0x8e, 0xfd, 0x00, 0x82, 0xac, 0xc8, 0x93, 0xd4, 0x6c, 0xa5, 0x9a, 0x0d, 0x8e, 0x3b, 0x27,
    0x1e, 0xdf, 0x0b, 0x30, 0xf8, 0x4c, 0x18, 0xab, 0x1c, 0x92, 0xb2, 0xe1, 0xf1, 0x14, 0x6d, 0xaa,
    0x72, 0xe6, 0xdb, 0x53, 0x90, 0xa6, 0x88, 0xcb, 0x59, 0xe0, 0x22, 0x2e, 0xd1, 0xa6, 0x2c, 0xb4,
    0x99, 0x81, 0x8d, 0x0e, 0x69, 0xf4, 0xb9, 0xad, 0x94, 0xa6, 0x4c, 0x46, 0x64, 0xd9, 0xf0, 0x16,
    0xac, 0xaa, 0xba, 0x2e, 0xb4, 0x9c, 0x8d, 0xad, 0xae, 0xe6, 0xb1, 0x44, 0x0b, 0x2d, 0x72, 0x39,
    0x9b, 0x90, 0xc2, 0x32, 0xf8, 0x0b, 0xad, 0x2a, 0xa5, 0x5f, 0x2b, 0x39, 0x3b, 0xb2, 0xbf, 0xa8,
    0xf9, 0x30, 0x86, 0x7b, 0x16, 0xc9, 0xb3, 0x5c, 0xe2, 0x85, 0x98, 0xe7, 0xcb, 0x82, 0x9d, 0xc0,
    0x20, 0x26, 0x21, 0x01, 0x3b, 0x3a, 0x9d, 0xee, 0x2f, 0x8d, 0x35, 0xe6, 0x4e, 0xcf, 0x1e, 0x41,
    0x1f, 0xef, 0x8e, 0xbd, 0xac, 0xa3, 0xd3, 0xa3, 0xc3, 0xdb, 0xc5, 0xad, 0x32, 0xfc, 0x47, 0x07,
    0x7a, 0xc8, 0xbf, 0xf5, 0xd2, 0x7f, 0x0c, 0x3e, 0x52, 0xad, 0xca, 0x35, 0x3c, 0xfb, 0x04, 0x82,
    0x58, 0x2b, 0x61, 0x54, 0x24, 0x8c, 0xbb, 0x05, 0xbe, 0x15, 0x9c, 0x99, 0x96, 0x72, 0xb1, 0x73,
    0xb5, 0x74, 0xca, 0x5f, 0xef, 0x50, 0xb9, 0x2d, 0xa5, 0xfb, 0x65, 0xdf, 0xc1, 0x48, 0x82, 0x33,
    0x83, 0xa1, 0xa8, 0x5c, 0x2c, 0x32, 0x5b, 0x51, 0x9f, 0x3b, 0x8e, 0x7d, 0x04, 0x7e, 0x5a, 0x45,
    0x22, 0x13, 0x7a, 0x43, 0xe5, 0xf4, 0xf9, 0x30, 0xad, 0xce, 0x90, 0x45, 0x95, 0x54, 0x59, 0xb4,
    0xcc, 0x44, 0x42, 0x15, 0xf5, 0xf9, 0x50, 0xaa, 0xec, 0x59, 0x26, 0x92, 0xf0, 0x0a, 0x46, 0x98,
    0xe0, 0xa5, 0xb4, 0x00, 0x86, 0xd0, 0xc3, 0xf8, 0x1d, 0x7c, 0x37, 0x51, 0x21, 0x1d, 0x7b, 0x00,
    0xbd, 0x4a, 0x36, 0xc8, 0x4d, 0xf6, 0x36, 0x97, 0x72, 0xcd, 0x49, 0x15, 0xfe, 0xcb, 0x03, 0xb0,
    0x80, 0x13, 0x7a, 0x37, 0xef, 0xfa, 0xa7, 0x00, 0xb6, 0x0c, 0x91, 0x6d, 0x17, 0x28, 0x0f, 0xac,
    0x64, 0x2e, 0x2b, 0xf6, 0xa1, 0x7d, 0xfb, 0x51, 0x2a, 0x1d, 0x6c, 0x84, 0xf6, 0x1c, 0x9b, 0x42,
    0x60, 0xd2, 0x8d, 0x8a, 0xf4, 0x36, 0x53, 0xb3, 0x1e, 0x1d, 0xdf, 0xaa, 0xf0, 0xb9, 0xd8, 0x3d,
    0x35, 0x19, 0xf7, 0xd1, 0x84, 0x6f, 0x33, 0x85, 0xc7, 0x68, 0x25, 0x62, 0x63, 0xed, 0x2d, 0x8e,
    0x01, 0x49, 0x48, 0xfd, 0x00, 0xc6, 0x56, 0x2d, 0xd5, 0xeb, 0x34, 0xb6, 0x70, 0x06, 0x7c, 0x44,
    0xb2, 0x73, 0x12, 0x1d, 0x00, 0x37, 0x3c, 0x00, 0x8e, 0xfd, 0x08, 0x46, 0xae, 0x46, 0x2d, 0x58,
    0xc1, 0x8a, 0xc8, 0x60, 0x5f, 0xa7, 0xe0, 0xa0, 0x4e, 0x0c, 0x7a, 0x55, 0xeb, 0xd9, 0x20, 0x8d,
    0x19, 0xa7, 0x55, 0xb4, 0xdc, 0x66, 0x19, 0xbd, 0x1a, 0x9f, 0x0f, 0xd2, 0xea, 0xd9, 0x36, 0xcb,
    0x58, 0x08, 0x93, 0x2c, 0xcd, 0xd7, 0x51, 0xa2, 0x8b, 0x6d, 0x89, 0x80, 0xd8, 0x87, 0x33, 0x42,
    0xe1, 0x6f, 0x51, 0x36, 0x97, 0xe1, 0x37, 0x70, 0xe4, 0xb0, 0x4e, 0x37, 0x0a, 0x53, 0x7d, 0xa7,
    0xde, 0xf2, 0x49, 0x1b, 0x4b, 0x77, 0x3b, 0x6b, 0xe4, 0xc2, 0x17, 0x30, 0xb0, 0x68, 0x62, 0x67,
    0x96, 0x62, 0xe7, 0x5a, 0x1e, 0x92, 0xec, 0x14, 0xc0, 0xfe, 0x50, 0xe4, 0x89, 0x72, 0x97, 0xa0,
    0xdd, 0x9c, 0xd1, 0x07, 0xaa, 0x38, 0xf9, 0x27, 0x32, 0xfc, 0x12, 0x82, 0x46, 0x8e, 0x6f, 0xbd,
    0x32, 0x42, 0x1b, 0x17, 0xa0, 0x65, 0xf0, 0x20, 0x95, 0x4b, 0x17, 0x22, 0x92, 0xe1, 0x4b, 0x18,
    0x5e, 0x14, 0xd9, 0x2e, 0x29, 0xf2, 0x77, 0x4a, 0xe8, 0x33, 0x18, 0x94, 0x45, 0x9a, 0x9b, 0x6a,
    0xd6, 0xa5, 0x98, 0xde, 0xdf, 0xc7, 0x74, 0x81, 0x72, 0xee, 0xd4, 0x61, 0xdc, 0xe0, 0x25, 0xaa,
    0xf5, 0x99, 0x4e, 0x2a, 0x7a, 0x8c, 0xf5, 0x7d, 0x74, 0xa7, 0xf8, 0xf5, 0x75, 0x64, 0xbf, 0x84,
    0x80, 0x6e, 0xa3, 0xd0, 0x49, 0x7d, 0xe7, 0x3f, 0x3c, 0x7c, 0x17, 0x54, 0x08, 0x74, 0x64, 0x1f,
    0x3f, 0x52, 0xe1, 0x1f, 0x60, 0x72, 0xa0, 0x6a, 0x5f, 0xea, 0xce, 0xc1, 0xa5, 0xfe, 0x02, 0xc0,
    0x56, 0xb7, 0x75, 0x00, 0x3b, 0x3c, 0x80, 0x7c, 0x07, 0x49, 0xed, 0x2b, 0xfc, 0x8f, 0x07, 0x7e,
    0x13, 0xfc, 0x4d, 0x6c, 0x1e, 0xc1, 0x91, 0x4b, 0xa6, 0x3e, 0xcf, 0xa2, 0x34, 0x8e, 0x9b, 0xa4,
    0xe7, 0xf2, 0x30, 0xe5, 0xee, 0x8d, 0x94, 0x3f, 0x05, 0x28, 0x2d, 0xf2, 0xa8, 0xb5, 0xdd, 0x29,
    0x70, 0x92, 0xb9, 0x64, 0xdf, 0xa7, 0x49, 0x1f, 0xb9, 0x71, 0x83, 0x15, 0x94, 0xe8, 0x32, 0x84,
    0x09, 0x8a, 0x85, 0x4e, 0x22, 0x91, 0xa5, 0xa2, 0xaa, 0x1f, 0x54, 0x25, 0x31, 0xd0, 0x33, 0x14,
    0x61, 0xbf, 0x2c, 0x4a, 0xa5, 0x85, 0x29, 0x34, 0x3d, 0xa8, 0x80, 0x37, 0x3c, 0x7b, 0x08, 0x93,
    0x9a, 0x8e, 0x68, 0xec, 0xd9, 0xe1, 0x33, 0xae, 0x85, 0x57, 0x38, 0xfe, 0x5a, 0x87, 0xbc, 0x16,
    0xd9, 0x56, 0xb9, 0x79, 0xe4, 0x0e, 0x79, 0x89, 0xa2, 0x3b, 0x5f, 0x58, 0x08, 0x13, 0xbc, 0xe9,
    0xd1, 0x75, 0x6a, 0x56, 0x51, 0xa9, 0xeb, 0xe9, 0x34, 0x42, 0xe1, 0xef, 0x52, 0xb3, 0xba, 0xd0,
    0xf4, 0xda, 0x6f, 0xbc, 0xb3, 0x61, 0xe2, 0xde, 0xd8, 0x5f, 0x3d, 0xe8, 0x5e, 0xca, 0xdb, 0x9d,
    0xec, 0x23, 0xf0, 0x31, 0x1c, 0x0a, 0xd7, 0xc2, 0x3c, 0xac, 0xe4, 0x9a, 0x22, 0x75, 0xaa, 0xd6,
    0x0e, 0x80, 0xaa, 0x17, 0x78, 0x55, 0x1f, 0x41, 0x8f, 0x8a, 0x7d, 0xab, 0x85, 0x5d, 0x52, 0x16,
    0x9c, 0xb4, 0x98, 0x46, 0x1a, 0x17, 0xb9, 0x03, 0x99, 0x68, 0x7c, 0x25, 0x5b, 0x9d, 0x39, 0x64,
    0x91, 0xc4, 0x3e, 0xe4, 0x06, 0x09, 0x3e, 0x37, 0x07, 0x2a, 0x58, 0x11, 0xbe, 0xb9, 0x56, 0xa3,
    0x22, 0x03, 0x0b, 0xaa, 0x6b, 0x54, 0x64, 0x70, 0x30, 0x8a, 0x82, 0x1b, 0xa3, 0x68, 0x06, 0x43,
    0xdb, 0xb7, 0x24, 0xc1, 0x19, 0xf0, 0x9a, 0x3d, 0xe8, 0x8d, 0x16, 0xcc, 0x66, 0xa8, 0xfc, 0xb9,
    0x03, 0x03, 0x9b, 0x0a, 0x3e, 0x76, 0x7b, 0x19, 0x2c, 0x3a, 0x96, 0xb9, 0x6b, 0x37, 0x6a, 0x96,
    0x1d, 0xb7, 0xd8, 0xd4, 0xcb, 0xce, 0x66, 0x5b, 0xd9, 0x19, 0xe8, 0x73, 0xa2, 0xd1, 0xa3, 0x6d,
    0x3d, 0x16, 0x04, 0xcb, 0x34, 0x35, 0x1f, 0xee, 0x6b, 0x1e, 0x3e, 0x84, 0x3e, 0xbd, 0x7c, 0x36,
    0x86, 0xce, 0x1b, 0xd7, 0xc2, 0x3a, 0x6f, 0x90, 0xdb, 0xb9, 0x6d, 0xad, 0xb3, 0x0b, 0xbf, 0x83,
    0x1e, 0x57, 0x31, 0xad, 0x7d, 0x99, 0x5a, 0x1a, 0x67, 0x46, 0x34, 0xa2, 0x6d, 0x8a, 0xd2, 0xd9,
    0x22, 0x49, 0x87, 0xd3, 0xce, 0xe8, 0x96, 0x59, 0x62, 0xb0, 0xd5, 0x2f, 0x0a, 0x63, 0x8a, 0x0d,
    0x05, 0xdf, 0xe7, 0x8e, 0x0b, 0x13, 0x08, 0x9e, 0x89, 0x58, 0x9d, 0xe5, 0x49, 0x46, 0x3b, 0xee,
    0x4e, 0x5c, 0xd7, 0x9d, 0x74, 0x27, 0xae, 0xd1, 0x59, 0x99, 0x9a, 0x78, 0xe5, 0x0e, 0xb0, 0x0c,
    0xad, 0x5e, 0x45, 0x96, 0xd5, 0x4b, 0x1f, 0xd2, 0xec, 0x87, 0x00, 0x71, 0x91, 0x2f, 0x53, 0xa9,
    0xf2, 0xd8, 0x22, 0xe4, 0xf1, 0x96, 0x24, 0x7c, 0x03, 0x70, 0xb5, 0x5a, 0x1a, 0xae, 0xaa, 0x6d,
    0x46, 0xe1, 0x24, 0x2a, 0x97, 0x4a, 0xbb, 0xc3, 0x1c, 0x87, 0x11, 0x88, 0x44, 0xd5, 0xe9, 0x08,
    0x8b, 0x9a, 0x16, 0x71, 0xb3, 0x60, 0x22, 0x4d, 0xc9, 0x28, 0xb1, 0x35, 0xbb, 0x26, 0x19, 0xe2,
    0xa8, 0x6d, 0x6f, 0x52, 0x37, 0x48, 0xfb, 0xdc, 0x32, 0xe1, 0xdf, 0x3d, 0x18, 0x62, 0x8e, 0x17,
    0x45, 0xc5, 0x7e, 0x02, 0x03, 0x1d, 0x23, 0x73, 0x7b, 0x7d, 0x40, 0x88, 0xb9, 0xd3, 0xe2, 0x18,
    0x2f, 0xcd, 0x73, 0xb5, 0x34, 0xbf, 0xd9, 0x29, 0xb7, 0xdd, 0xdf, 0x6a, 0xd6, 0x7b, 0x0b, 0xf6,
    0x0b, 0x80, 0xd2, 0x70, 0x04, 0x1a, 0xed, 0xbb, 0x77, 0xdb, 0xb7, 0x4c, 0xd8, 0x4f, 0x61, 0x58,
    0x9a, 0xaf, 0x8a, 0xad, 0x59, 0x51, 0x0a, 0x77, 0x58, 0xd7, 0x7a, 0x1a, 0x1a, 0xe6, 0x45, 0x51,
    0xd9, 0xac, 0xee, 0x1c, 0x1a, 0xa4, 0x66, 0x3f, 0x83, 0xc1, 0x92, 0xea, 0x48, 0xd7, 0xee, 0x60,
    0xe2, 0x35, 0x25, 0xe6, 0xce, 0x04, 0x1f, 0xcd, 0x1f, 0xb7, 0x22, 0x4b, 0xcd, 0xce, 0xdd, 0xc7,
    0x9a, 0xc5, 0x42, 0x2e, 0x45, 0x9c, 0x8a, 0xec, 0x1c, 0x3f, 0x31, 0x7c, 0xfa, 0xc4, 0x68, 0x49,
    0xc2, 0x7f, 0x7a, 0xe0, 0xa3, 0x3f, 0x5a, 0xc6, 0xfe, 0x8f, 0xe7, 0xff, 0x8a, 0x27, 0x5e, 0xe6,
    0x25, 0xc2, 0x79, 0x4e, 0x8d, 0xad, 0xcb, 0x1d, 0x17, 0x7e, 0x0b, 0xc3, 0xaf, 0x17, 0xaf, 0x08,
    0xe5, 0x47, 0xd0, 0xd7, 0xf1, 0xd7, 0x8b, 0x57, 0x6f, 0x01, 0xd9, 0x2a, 0xa9, 0x15, 0xec, 0xf6,
    0xad, 0x60, 0x67, 0x3f, 0x7f, 0x74, 0xb1, 0x20, 0x00, 0x3d, 0x4e, 0x74, 0xf8, 0x12, 0xc6, 0x17,
    0x42, 0x8b, 0x4d, 0xfd, 0x22, 0x1e, 0x42, 0xb7, 0x2c, 0x2a, 0xe7, 0xf9, 0xde, 0x61, 0x8a, 0x17,
    0x45, 0xc5, 0x51, 0xcb, 0x1e, 0x40, 0x37, 0xdd, 0x24, 0xb7, 0x0b, 0x47, 0x1f, 0xaf, 0x1c, 0x75,
    0xe1, 0xaf, 0x60, 0xda, 0xf8, 0x7d, 0x5a, 0x6c, 0xf0, 0x1b, 0x13, 0xdf, 0xe3, 0x52, 0x09, 0xf3,
    0x05, 0x79, 0x1f, 0x73, 0xcb, 0xd4, 0xd2, 0x53, 0x72, 0xe7, 0xa4, 0xa7, 0xa1, 0x84, 0x7b, 0xfb,
    0xb8, 0x34, 0x0e, 0x54, 0xb3, 0x63, 0x9f, 0xc3, 0x40, 0x53, 0xc3, 0x70, 0xf1, 0xdd, 0x6f, 0x2d,
    0x1d, 0x4d, 0x33, 0xe1, 0xce, 0xe6, 0x5d, 0xa2, 0xfc, 0xce, 0x65, 0xff, 0xfb, 0x22, 0x2b, 0x10,
    0xb3, 0xcf, 0xf0, 0xcb, 0x7f, 0x49, 0xf9, 0x77, 0x0f, 0xf3, 0x77, 0xd8, 0x73, 0xab, 0x7f, 0x17,
    0xdf, 0x7f, 0xe9, 0xc0, 0xfb, 0xe7, 0x8b, 0xa7, 0x2b, 0x6c, 0xf6, 0xf5, 0xbf, 0x06, 0x9f, 0xe3,
    0x37, 0x1c, 0x2e, 0xd8, 0x18, 0xff, 0xd1, 0xe9, 0x07, 0xed, 0xa5, 0x69, 0x91, 0x29, 0x6b, 0x2c,
    0xb9, 0x35, 0x72, 0xa3, 0xdb, 0x6b, 0x46, 0xf7, 0x63, 0x18, 0x88, 0xd8, 0xa4, 0x45, 0x4e, 0x15,
    0x3c, 0x6a, 0xef, 0x5c, 0xe7, 0x8b, 0x33, 0xd2, 0x70, 0x67, 0x41, 0xa3, 0x38, 0x5f, 0x16, 0xf5,
    0x6c, 0x42, 0x3a, 0xfc, 0x77, 0x07, 0x26, 0x76, 0x8f, 0x7c, 0xdb, 0x96, 0x7a, 0xb0, 0x63, 0x79,
    0x37, 0x76, 0xac, 0xbb, 0x46, 0xe0, 0x0c, 0x86, 0x6e, 0xcb, 0x72, 0x27, 0xd5, 0x2c, 0x7e, 0xab,
    0x18, 0x9d, 0x26, 0x89, 0xd2, 0x51, 0x96, 0xe6, 0xf5, 0xc7, 0xcc, 0xc8, 0xc9, 0x9e, 0xa7, 0xb9,
    0x62, 0x3f, 0x86, 0x23, 0x99, 0x6a, 0x45, 0x01, 0x5b, 0x23, 0x3b, 0x20, 0x27, 0x8d, 0x94, 0xcc,
    0xea, 0x31, 0x3b, 0x6c, 0x8d, 0xd9, 0x87, 0x30, 0x91, 0x6a, 0x89, 0x93, 0x24, 0xaa, 0x8c, 0x30,
    0x76, 0x49, 0xe8, 0xf3, 0xb1, 0x13, 0x5e, 0xa2, 0xec, 0xf1, 0x9f, 0x60, 0xdc, 0x86, 0x95, 0x8d,
    0xc1, 0xbf, 0x8a, 0x2c, 0x00, 0xd3, 0xf7, 0xd8, 0x14, 0xc6, 0x35, 0x87, 0x1b, 0xe6, 0xb4, 0xc3,
    0xee, 0xc3, 0xb4, 0x2d, 0xc1, 0x5d, 0x75, 0xea, 0x31, 0x80, 0xc1, 0x55, 0x44, 0x16, 0x5d, 0x36,
    0x81, 0xc0, 0xd2, 0x97, 0x72, 0x3d, 0xed, 0xb1, 0x7b, 0x30, 0x69, 0x58, 0xfc, 0x0a, 0x99, 0xf6,
    0x59, 0x00, 0xfd, 0xab, 0x08, 0xb5, 0x83, 0xc7, 0x4f, 0xc0, 0xaf, 0xcb, 0x82, 0x4e, 0xe6, 0x79,
    0xa5, 0xb4, 0x99, 0xbe, 0x87, 0xf4, 0xb7, 0xb4, 0xcb, 0x4c, 0x3b, 0x48, 0x9f, 0xab, 0x4c, 0x19,
    0x35, 0xf5, 0x16, 0x03, 0xaa, 0xe6, 0x97, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x28, 0x3d, 0xf1,
    0x85, 0xd6, 0x12, 0x00, 0x00,
}
protomsg.proto
@@ -108,10 +108,20 @@
message Polygon {
    string id = 1;//形状id
    string name = 2;//形状的名称
    repeated Point points = 4;//点的集合
    repeated Point points = 3;//点的集合
}
message CameraTaskArgs {
    string camera_id = 1;
    repeated TaskGroupArgs task_args = 2;
}
message TaskGroupArgs {
    string task_id = 1;
    repeated TaskArgs group_args = 2;
}
message TaskArgs {
    string id =1;
    string camera_task_id =2;
    string camera_id =3;
@@ -122,9 +132,8 @@
    string operator_type = 8;
    string sdk_arg_value = 9;
    int32 sort = 10;
    string rule_with_next = 11;
    string rule_with_pre = 11;
    string group_id =12;
}
//Sdk struct
@@ -258,19 +267,4 @@
    string direction_line = 6;
    string type = 7;
    int32 defence_state = 8;
}
message CameraTaskArg {
    string id = 1;
    string camera_task_id = 2;
    string camera_id = 3;
    string polygon_id = 4;
    string sdk_id = 5;
    string sdk_arg_alias = 6;
    string operator = 7;
    string operator_type = 8;
    string sdk_arg_value = 9;
    int32 sort = 10;
    string rule_with_pre = 11;
    string group_id = 12;
}