liuxiaolong
2019-06-16 675c5351b004b77844b02f7d023c60598276e01c
protomsg.pb.go
@@ -61,6 +61,34 @@
   return fileDescriptor_32de24555f916688, []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_32de24555f916688, []int{1}
}
type TaskLabel struct {
   Taskid               string   `protobuf:"bytes,1,opt,name=taskid,proto3" json:"taskid,omitempty"`
   Sdkids               []string `protobuf:"bytes,2,rep,name=sdkids,proto3" json:"sdkids,omitempty"`
@@ -747,6 +775,62 @@
   return ""
}
//摄像机布防的时间规则,可以设置多个,用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_32de24555f916688, []int{9}
}
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 (m *CameraTimerule) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraTimerule.Merge(m, 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"`
@@ -760,7 +844,7 @@
func (m *DayCtl) String() string { return proto.CompactTextString(m) }
func (*DayCtl) ProtoMessage()    {}
func (*DayCtl) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{9}
   return fileDescriptor_32de24555f916688, []int{10}
}
func (m *DayCtl) XXX_Unmarshal(b []byte) error {
@@ -808,7 +892,7 @@
func (m *TimeRange) String() string { return proto.CompactTextString(m) }
func (*TimeRange) ProtoMessage()    {}
func (*TimeRange) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{10}
   return fileDescriptor_32de24555f916688, []int{11}
}
func (m *TimeRange) XXX_Unmarshal(b []byte) error {
@@ -847,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:"-"`
@@ -857,7 +941,7 @@
func (m *Polygon) String() string { return proto.CompactTextString(m) }
func (*Polygon) ProtoMessage()    {}
func (*Polygon) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{11}
   return fileDescriptor_32de24555f916688, []int{12}
}
func (m *Polygon) XXX_Unmarshal(b []byte) error {
@@ -900,28 +984,18 @@
}
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{} }
func (m *CameraTaskArgs) String() string { return proto.CompactTextString(m) }
func (*CameraTaskArgs) ProtoMessage()    {}
func (*CameraTaskArgs) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{12}
   return fileDescriptor_32de24555f916688, []int{13}
}
func (m *CameraTaskArgs) XXX_Unmarshal(b []byte) error {
@@ -942,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
@@ -963,63 +1023,228 @@
   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"`
   GroupRules           []*GroupRule `protobuf:"bytes,2,rep,name=group_rules,json=groupRules,proto3" json:"group_rules,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) GetGroupRules() []*GroupRule {
   if m != nil {
      return m.GroupRules
   }
   return nil
}
type GroupRule struct {
   GroupId              string   `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
   Rules                []*Rule  `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,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_32de24555f916688, []int{15}
}
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 (m *GroupRule) XXX_Merge(src proto.Message) {
   xxx_messageInfo_GroupRule.Merge(m, 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) GetGroupId() string {
   if m != nil {
      return m.GroupId
   }
   return ""
}
func (m *GroupRule) GetRules() []*Rule {
   if m != nil {
      return m.Rules
   }
   return nil
}
type Rule 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 *Rule) Reset()         { *m = Rule{} }
func (m *Rule) String() string { return proto.CompactTextString(m) }
func (*Rule) ProtoMessage()    {}
func (*Rule) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{16}
}
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 (m *Rule) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Rule.Merge(m, 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) GetCameraTaskId() string {
   if m != nil {
      return m.CameraTaskId
   }
   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 *CameraTaskArgs) GetSdkId() string {
func (m *Rule) GetSdkId() string {
   if m != nil {
      return m.SdkId
   }
   return ""
}
func (m *CameraTaskArgs) GetSdkArgAlias() string {
func (m *Rule) GetSdkArgAlias() string {
   if m != nil {
      return m.SdkArgAlias
   }
   return ""
}
func (m *CameraTaskArgs) GetOperator() string {
func (m *Rule) GetOperator() string {
   if m != nil {
      return m.Operator
   }
   return ""
}
func (m *CameraTaskArgs) GetOperatorType() string {
func (m *Rule) GetOperatorType() string {
   if m != nil {
      return m.OperatorType
   }
   return ""
}
func (m *CameraTaskArgs) GetSdkArgValue() string {
func (m *Rule) GetSdkArgValue() string {
   if m != nil {
      return m.SdkArgValue
   }
   return ""
}
func (m *CameraTaskArgs) GetSort() int32 {
func (m *Rule) GetSort() int32 {
   if m != nil {
      return m.Sort
   }
   return 0
}
func (m *CameraTaskArgs) GetRuleWithNext() string {
func (m *Rule) GetRuleWithPre() string {
   if m != nil {
      return m.RuleWithNext
      return m.RuleWithPre
   }
   return ""
}
func (m *CameraTaskArgs) GetGroupId() string {
func (m *Rule) GetGroupId() string {
   if m != nil {
      return m.GroupId
   }
@@ -1037,8 +1262,8 @@
   CreateTime           string    `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   UpdateTime           string    `protobuf:"bytes,8,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
   CreateBy             string    `protobuf:"bytes,9,opt,name=create_by,json=createBy,proto3" json:"create_by,omitempty"`
   Enabled              string    `protobuf:"bytes,10,opt,name=enabled,proto3" json:"enabled,omitempty"`
   DelFlag              string    `protobuf:"bytes,11,opt,name=del_flag,json=delFlag,proto3" json:"del_flag,omitempty"`
   Enabled              bool      `protobuf:"varint,10,opt,name=enabled,proto3" json:"enabled,omitempty"`
   DelFlag              int32     `protobuf:"varint,11,opt,name=del_flag,json=delFlag,proto3" json:"del_flag,omitempty"`
   XXX_NoUnkeyedLiteral struct{}  `json:"-"`
   XXX_unrecognized     []byte    `json:"-"`
   XXX_sizecache        int32     `json:"-"`
@@ -1048,7 +1273,7 @@
func (m *Sdk) String() string { return proto.CompactTextString(m) }
func (*Sdk) ProtoMessage()    {}
func (*Sdk) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{13}
   return fileDescriptor_32de24555f916688, []int{17}
}
func (m *Sdk) XXX_Unmarshal(b []byte) error {
@@ -1132,26 +1357,27 @@
   return ""
}
func (m *Sdk) GetEnabled() string {
func (m *Sdk) GetEnabled() bool {
   if m != nil {
      return m.Enabled
   }
   return ""
   return false
}
func (m *Sdk) GetDelFlag() string {
func (m *Sdk) GetDelFlag() int32 {
   if m != nil {
      return m.DelFlag
   }
   return ""
   return 0
}
//SdkArg struct
type SdkArg struct {
   Alias                string   `protobuf:"bytes,2,opt,name=alias,proto3" json:"alias,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"`
   Must                 bool     `protobuf:"varint,5,opt,name=must,proto3" json:"must,omitempty"`
   Alias                string   `protobuf:"bytes,1,opt,name=alias,proto3" json:"alias,omitempty"`
   Name                 string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   Type                 string   `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
   Must                 bool     `protobuf:"varint,4,opt,name=must,proto3" json:"must,omitempty"`
   Unit                 string   `protobuf:"bytes,5,opt,name=unit,proto3" json:"unit,omitempty"`
   Range                string   `protobuf:"bytes,6,opt,name=range,proto3" json:"range,omitempty"`
   Sort                 int32    `protobuf:"varint,7,opt,name=sort,proto3" json:"sort,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
@@ -1163,7 +1389,7 @@
func (m *SdkArg) String() string { return proto.CompactTextString(m) }
func (*SdkArg) ProtoMessage()    {}
func (*SdkArg) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{14}
   return fileDescriptor_32de24555f916688, []int{18}
}
func (m *SdkArg) XXX_Unmarshal(b []byte) error {
@@ -1212,6 +1438,13 @@
   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
@@ -1239,7 +1472,7 @@
func (m *Point) String() string { return proto.CompactTextString(m) }
func (*Point) ProtoMessage()    {}
func (*Point) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{15}
   return fileDescriptor_32de24555f916688, []int{19}
}
func (m *Point) XXX_Unmarshal(b []byte) error {
@@ -1288,7 +1521,7 @@
func (m *Rect) String() string { return proto.CompactTextString(m) }
func (*Rect) ProtoMessage()    {}
func (*Rect) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{16}
   return fileDescriptor_32de24555f916688, []int{20}
}
func (m *Rect) XXX_Unmarshal(b []byte) error {
@@ -1351,7 +1584,7 @@
func (m *FaceAngle) String() string { return proto.CompactTextString(m) }
func (*FaceAngle) ProtoMessage()    {}
func (*FaceAngle) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{17}
   return fileDescriptor_32de24555f916688, []int{21}
}
func (m *FaceAngle) XXX_Unmarshal(b []byte) error {
@@ -1415,7 +1648,7 @@
func (m *ThftResult) String() string { return proto.CompactTextString(m) }
func (*ThftResult) ProtoMessage()    {}
func (*ThftResult) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{18}
   return fileDescriptor_32de24555f916688, []int{22}
}
func (m *ThftResult) XXX_Unmarshal(b []byte) error {
@@ -1489,7 +1722,7 @@
func (m *FacePos) String() string { return proto.CompactTextString(m) }
func (*FacePos) ProtoMessage()    {}
func (*FacePos) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{19}
   return fileDescriptor_32de24555f916688, []int{23}
}
func (m *FacePos) XXX_Unmarshal(b []byte) error {
@@ -1585,7 +1818,7 @@
func (m *FaceInfo) String() string { return proto.CompactTextString(m) }
func (*FaceInfo) ProtoMessage()    {}
func (*FaceInfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{20}
   return fileDescriptor_32de24555f916688, []int{24}
}
func (m *FaceInfo) XXX_Unmarshal(b []byte) error {
@@ -1682,7 +1915,7 @@
func (m *ObjInfo) String() string { return proto.CompactTextString(m) }
func (*ObjInfo) ProtoMessage()    {}
func (*ObjInfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{21}
   return fileDescriptor_32de24555f916688, []int{25}
}
func (m *ObjInfo) XXX_Unmarshal(b []byte) error {
@@ -1737,7 +1970,7 @@
func (m *ParamFacePos) String() string { return proto.CompactTextString(m) }
func (*ParamFacePos) ProtoMessage()    {}
func (*ParamFacePos) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{22}
   return fileDescriptor_32de24555f916688, []int{26}
}
func (m *ParamFacePos) XXX_Unmarshal(b []byte) error {
@@ -1785,7 +2018,7 @@
func (m *ParamFaceCompare) String() string { return proto.CompactTextString(m) }
func (*ParamFaceCompare) ProtoMessage()    {}
func (*ParamFaceCompare) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{23}
   return fileDescriptor_32de24555f916688, []int{27}
}
func (m *ParamFaceCompare) XXX_Unmarshal(b []byte) error {
@@ -1833,7 +2066,7 @@
func (m *ParamFaceProperty) String() string { return proto.CompactTextString(m) }
func (*ParamFaceProperty) ProtoMessage()    {}
func (*ParamFaceProperty) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{24}
   return fileDescriptor_32de24555f916688, []int{28}
}
func (m *ParamFaceProperty) XXX_Unmarshal(b []byte) error {
@@ -1881,7 +2114,7 @@
func (m *ParamYoloObj) String() string { return proto.CompactTextString(m) }
func (*ParamYoloObj) ProtoMessage()    {}
func (*ParamYoloObj) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{25}
   return fileDescriptor_32de24555f916688, []int{29}
}
func (m *ParamYoloObj) XXX_Unmarshal(b []byte) error {
@@ -1916,56 +2149,168 @@
   return nil
}
//广播消息
type PublishMessage struct {
//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 *PublishMessage) Reset()         { *m = PublishMessage{} }
func (m *PublishMessage) String() string { return proto.CompactTextString(m) }
func (*PublishMessage) ProtoMessage()    {}
func (*PublishMessage) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{26}
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_32de24555f916688, []int{30}
}
func (m *PublishMessage) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_PublishMessage.Unmarshal(m, b)
func (m *DbChangeMessage) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_DbChangeMessage.Unmarshal(m, b)
}
func (m *PublishMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_PublishMessage.Marshal(b, m, deterministic)
func (m *DbChangeMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_DbChangeMessage.Marshal(b, m, deterministic)
}
func (m *PublishMessage) XXX_Merge(src proto.Message) {
   xxx_messageInfo_PublishMessage.Merge(m, src)
func (m *DbChangeMessage) XXX_Merge(src proto.Message) {
   xxx_messageInfo_DbChangeMessage.Merge(m, src)
}
func (m *PublishMessage) XXX_Size() int {
   return xxx_messageInfo_PublishMessage.Size(m)
func (m *DbChangeMessage) XXX_Size() int {
   return xxx_messageInfo_DbChangeMessage.Size(m)
}
func (m *PublishMessage) XXX_DiscardUnknown() {
   xxx_messageInfo_PublishMessage.DiscardUnknown(m)
func (m *DbChangeMessage) XXX_DiscardUnknown() {
   xxx_messageInfo_DbChangeMessage.DiscardUnknown(m)
}
var xxx_messageInfo_PublishMessage proto.InternalMessageInfo
var xxx_messageInfo_DbChangeMessage proto.InternalMessageInfo
func (m *PublishMessage) GetTable() TableChanged {
func (m *DbChangeMessage) GetTable() TableChanged {
   if m != nil {
      return m.Table
   }
   return TableChanged_T_Camera
}
func (m *PublishMessage) GetInfo() string {
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"`
   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_32de24555f916688, []int{31}
}
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 (m *CameraPolygon) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraPolygon.Merge(m, 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 init() {
   proto.RegisterEnum("protomsg.TableChanged", TableChanged_name, TableChanged_value)
   proto.RegisterEnum("protomsg.DbAction", DbAction_name, DbAction_value)
   proto.RegisterType((*TaskLabel)(nil), "protomsg.TaskLabel")
   proto.RegisterType((*SdkMessage)(nil), "protomsg.SdkMessage")
   proto.RegisterType((*Image)(nil), "protomsg.Image")
@@ -1975,10 +2320,14 @@
   proto.RegisterType((*Task)(nil), "protomsg.Task")
   proto.RegisterType((*TaskSdkInfo)(nil), "protomsg.TaskSdkInfo")
   proto.RegisterType((*CameraTask)(nil), "protomsg.CameraTask")
   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((*CameraTaskArgs)(nil), "protomsg.CameraTaskArgs")
   proto.RegisterType((*TaskGroupArgs)(nil), "protomsg.TaskGroupArgs")
   proto.RegisterType((*GroupRule)(nil), "protomsg.GroupRule")
   proto.RegisterType((*Rule)(nil), "protomsg.Rule")
   proto.RegisterType((*Sdk)(nil), "protomsg.Sdk")
   proto.RegisterType((*SdkArg)(nil), "protomsg.SdkArg")
   proto.RegisterType((*Point)(nil), "protomsg.Point")
@@ -1992,117 +2341,134 @@
   proto.RegisterType((*ParamFaceCompare)(nil), "protomsg.ParamFaceCompare")
   proto.RegisterType((*ParamFaceProperty)(nil), "protomsg.ParamFaceProperty")
   proto.RegisterType((*ParamYoloObj)(nil), "protomsg.ParamYoloObj")
   proto.RegisterType((*PublishMessage)(nil), "protomsg.PublishMessage")
   proto.RegisterType((*DbChangeMessage)(nil), "protomsg.DbChangeMessage")
   proto.RegisterType((*CameraPolygon)(nil), "protomsg.CameraPolygon")
}
func init() { proto.RegisterFile("protomsg.proto", fileDescriptor_32de24555f916688) }
var fileDescriptor_32de24555f916688 = []byte{
   // 1687 bytes of a gzipped FileDescriptorProto
   0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x57, 0xcd, 0x72, 0xe4, 0x48,
   0x11, 0xa6, 0xff, 0x5b, 0xe9, 0x76, 0xd3, 0x53, 0x0c, 0x4b, 0xef, 0xf2, 0xe7, 0xd1, 0x38, 0x58,
   0x03, 0xcb, 0x12, 0x78, 0xef, 0x44, 0x98, 0x19, 0x86, 0x70, 0xc4, 0xee, 0xac, 0x29, 0x9b, 0x21,
   0xd8, 0x4b, 0x47, 0xb5, 0xaa, 0x5a, 0xad, 0x75, 0xb5, 0x24, 0xaa, 0x4a, 0x63, 0xeb, 0xc0, 0x8d,
   0xb7, 0xe1, 0x45, 0x38, 0xf0, 0x0e, 0x9c, 0xb8, 0xf0, 0x02, 0x5c, 0x89, 0xcc, 0x2a, 0xa9, 0xd5,
   0x63, 0x6f, 0xc4, 0x44, 0x70, 0xe5, 0x96, 0x7f, 0xca, 0xca, 0xfa, 0xf2, 0xa7, 0x52, 0x30, 0x2f,
   0x4d, 0xe1, 0x8a, 0x9d, 0x4d, 0x3f, 0x25, 0x82, 0x4d, 0x1b, 0x3e, 0xfe, 0x3d, 0x44, 0x37, 0xc2,
   0xde, 0x7e, 0x2e, 0xd6, 0x4a, 0xb3, 0x0f, 0x60, 0xec, 0x84, 0xbd, 0xcd, 0xe4, 0xb2, 0x77, 0xd2,
   0x3b, 0x8b, 0x78, 0xe0, 0x50, 0x6e, 0xe5, 0x6d, 0x26, 0xed, 0xb2, 0x7f, 0x32, 0x40, 0xb9, 0xe7,
   0xd8, 0x53, 0x18, 0x65, 0xb9, 0x54, 0xf7, 0xcb, 0xc1, 0x49, 0xef, 0x6c, 0xc4, 0x3d, 0x13, 0x0b,
   0x80, 0x6b, 0x79, 0xfb, 0x85, 0xb2, 0x56, 0xa4, 0x8a, 0x2d, 0x60, 0x90, 0xb4, 0x0e, 0x91, 0x64,
   0xbf, 0x80, 0x09, 0xfa, 0xd5, 0x62, 0xbd, 0xec, 0x9f, 0xf4, 0xce, 0x8e, 0xce, 0xbf, 0xf3, 0x69,
   0x1b, 0x5e, 0x1b, 0x0b, 0x6f, 0x6c, 0x18, 0x83, 0xa1, 0x14, 0x4e, 0xd0, 0x19, 0x33, 0x4e, 0x74,
   0x7c, 0x09, 0xa3, 0xcb, 0x1d, 0x7a, 0x7f, 0x0a, 0xa3, 0xbb, 0x4c, 0xba, 0x2d, 0xf9, 0x1f, 0x71,
   0xcf, 0x60, 0xbc, 0x5b, 0x95, 0xa5, 0x5b, 0x47, 0x07, 0x8c, 0x78, 0xe0, 0x1e, 0x75, 0xf5, 0x0a,
   0x86, 0x17, 0x46, 0x09, 0x36, 0x87, 0x7e, 0x08, 0x73, 0xc4, 0xfb, 0x99, 0x64, 0x1f, 0xc1, 0xb4,
   0x14, 0x46, 0xe5, 0x2e, 0x93, 0xc1, 0x4b, 0xcb, 0xa3, 0x9f, 0x5c, 0xec, 0x14, 0xf9, 0x89, 0x38,
   0xd1, 0xf1, 0xdf, 0xfb, 0x30, 0x7e, 0x21, 0x76, 0xca, 0x74, 0x5d, 0x45, 0xe4, 0xaa, 0x31, 0xef,
   0xef, 0xcd, 0x51, 0xe6, 0xea, 0x52, 0x05, 0xe4, 0x88, 0x46, 0x99, 0x90, 0xd2, 0x2c, 0x87, 0xde,
   0x0e, 0x69, 0xbc, 0x8a, 0x30, 0x4a, 0x64, 0x72, 0x39, 0xf2, 0x57, 0xf1, 0x1c, 0xfb, 0x01, 0x44,
   0xba, 0xc8, 0xd3, 0xcc, 0x55, 0x52, 0x2d, 0xc7, 0x27, 0xbd, 0xb3, 0x3e, 0xdf, 0x0b, 0x30, 0x78,
   0x2d, 0x9c, 0x57, 0x4e, 0x48, 0xd9, 0xf2, 0x78, 0x8a, 0x71, 0xb6, 0x5c, 0x4e, 0xfd, 0x29, 0x48,
   0x53, 0xc4, 0xe5, 0x32, 0x0a, 0x11, 0x97, 0x68, 0x53, 0x16, 0xc6, 0x2d, 0xc1, 0x47, 0x87, 0x34,
   0xfa, 0xac, 0xac, 0x32, 0x74, 0x93, 0x23, 0xb2, 0x6c, 0x79, 0x0f, 0x96, 0xb5, 0x77, 0x85, 0x91,
   0xcb, 0x99, 0xd7, 0x35, 0x3c, 0xa6, 0x68, 0x6d, 0x44, 0x2e, 0x97, 0xc7, 0xa4, 0xf0, 0x0c, 0x7e,
   0x61, 0x94, 0x55, 0xe6, 0xad, 0x92, 0xcb, 0xb9, 0xff, 0xa2, 0xe1, 0xe3, 0x04, 0x9e, 0x78, 0x24,
   0x2f, 0x72, 0x89, 0x05, 0x71, 0x99, 0x6f, 0x0a, 0x76, 0x06, 0xe3, 0x84, 0x84, 0x04, 0xec, 0xd1,
   0xf9, 0x62, 0x5f, 0x34, 0xde, 0x98, 0x07, 0x3d, 0x3b, 0x85, 0x11, 0xd6, 0x8e, 0x2f, 0xd6, 0xa3,
   0xf3, 0xf9, 0x61, 0x75, 0x71, 0xaf, 0x8c, 0xff, 0xd9, 0x83, 0x21, 0xf2, 0xdf, 0x58, 0xf4, 0x1f,
   0xc1, 0x14, 0xa9, 0x4e, 0xe6, 0x5a, 0x9e, 0x7d, 0x1f, 0xa2, 0xc4, 0x28, 0xe1, 0xd4, 0x4a, 0xb8,
   0x50, 0x05, 0x53, 0x2f, 0xb8, 0x70, 0x1d, 0xe5, 0xba, 0x0e, 0xb9, 0x0c, 0xca, 0xdf, 0xd4, 0xa8,
   0xac, 0x4a, 0x19, 0xbe, 0x1c, 0x05, 0x18, 0x49, 0x70, 0xe1, 0x30, 0x14, 0x95, 0x8b, 0xb5, 0xf6,
   0x19, 0x9d, 0xf2, 0xc0, 0xb1, 0x0f, 0x61, 0x9a, 0xd9, 0x95, 0xd0, 0xc2, 0xec, 0x28, 0x9d, 0x53,
   0x3e, 0xc9, 0xec, 0x05, 0xb2, 0xa8, 0x92, 0x4a, 0xaf, 0x36, 0x5a, 0xa4, 0x94, 0xd1, 0x29, 0x9f,
   0x48, 0xa5, 0x5f, 0x69, 0x91, 0xc6, 0x37, 0x70, 0x84, 0x17, 0xbc, 0x96, 0x1e, 0xc0, 0x18, 0x86,
   0x18, 0x7f, 0x80, 0xef, 0x5d, 0x54, 0x48, 0xc7, 0x9e, 0xc1, 0xd0, 0xca, 0x16, 0xb9, 0xe3, 0xbd,
   0xcd, 0xb5, 0xbc, 0xe5, 0xa4, 0x8a, 0xff, 0xdd, 0x07, 0xf0, 0x80, 0x13, 0x7a, 0xef, 0xd6, 0xfa,
   0x0f, 0x01, 0x7c, 0x1a, 0x56, 0x7e, 0x5c, 0xa0, 0x3c, 0xf2, 0x92, 0x4b, 0x69, 0xd9, 0xf7, 0x7c,
   0xef, 0xaf, 0x32, 0x19, 0x60, 0x23, 0xb4, 0x2f, 0x71, 0x28, 0x44, 0x2e, 0xdb, 0xa9, 0x95, 0xa9,
   0xb4, 0x5a, 0x0e, 0xe9, 0xf8, 0x4e, 0x86, 0x5f, 0x8a, 0xfa, 0x85, 0xd3, 0x7c, 0x8a, 0x26, 0xbc,
   0xd2, 0x0a, 0x8f, 0x31, 0x4a, 0x24, 0xce, 0xdb, 0x7b, 0x1c, 0x23, 0x92, 0x90, 0xfa, 0x19, 0xcc,
   0xbc, 0x5a, 0xaa, 0xb7, 0x59, 0xe2, 0xe1, 0x8c, 0xf8, 0x11, 0xc9, 0x5e, 0x92, 0xe8, 0x00, 0xb8,
   0xc9, 0x01, 0x70, 0xec, 0xc7, 0x70, 0x14, 0x72, 0xd4, 0x81, 0x15, 0xbc, 0x88, 0x0c, 0xf6, 0x79,
   0x8a, 0x0e, 0xf2, 0xc4, 0x60, 0x68, 0x3b, 0x6d, 0x83, 0x34, 0xde, 0x38, 0xb3, 0xab, 0x4d, 0xa5,
   0x35, 0x75, 0xcd, 0x94, 0x8f, 0x33, 0xfb, 0xaa, 0xd2, 0x9a, 0xc5, 0x70, 0xac, 0xb3, 0xfc, 0x76,
   0x95, 0x9a, 0xa2, 0x2a, 0x11, 0x10, 0xdf, 0x38, 0x47, 0x28, 0xfc, 0x1d, 0xca, 0x2e, 0x65, 0xfc,
   0x1a, 0xc6, 0xfe, 0xea, 0x38, 0x46, 0xa5, 0xa8, 0xc3, 0x7c, 0x42, 0x92, 0x9d, 0x03, 0x78, 0xc4,
   0x44, 0x9e, 0xaa, 0x90, 0xb1, 0xee, 0x24, 0x45, 0xa8, 0x50, 0xc5, 0x09, 0x58, 0x22, 0xe3, 0xcf,
   0x20, 0x6a, 0xe5, 0xd8, 0x98, 0xd6, 0x09, 0xe3, 0x42, 0xf6, 0x3c, 0x83, 0x07, 0xa9, 0x5c, 0x86,
   0xcc, 0x21, 0x19, 0xbf, 0x81, 0xc9, 0x55, 0xa1, 0xeb, 0xb4, 0xc8, 0xdf, 0x6b, 0xb2, 0x7d, 0x0c,
   0xe3, 0xb2, 0xc8, 0x72, 0x67, 0x43, 0x1a, 0xbf, 0xbd, 0x8f, 0xe9, 0x0a, 0xe5, 0x3c, 0xa8, 0xe3,
   0xff, 0xf4, 0x61, 0xbe, 0xaf, 0xa4, 0x0b, 0x93, 0xda, 0x07, 0xfe, 0x4f, 0x61, 0x1e, 0xaa, 0xa9,
   0xa9, 0x1a, 0x7f, 0xd2, 0x2c, 0x69, 0xbf, 0xbb, 0x94, 0xd4, 0x70, 0x4d, 0xcd, 0xb5, 0xdd, 0x18,
   0x4a, 0x0e, 0x2b, 0xa5, 0xf4, 0xd1, 0xa3, 0xd6, 0xb7, 0x63, 0x14, 0x24, 0x97, 0x92, 0x7d, 0x97,
   0x9e, 0xb6, 0x55, 0x98, 0xaf, 0x88, 0x82, 0x44, 0x97, 0x31, 0x1c, 0xa3, 0x58, 0x98, 0x74, 0x25,
   0x74, 0x26, 0x6c, 0x53, 0x41, 0x56, 0x62, 0xa0, 0x17, 0x28, 0xc2, 0x01, 0x51, 0x94, 0xca, 0x08,
   0x57, 0x18, 0xaa, 0xa0, 0x88, 0xb7, 0x3c, 0x7b, 0x0e, 0xc7, 0x0d, 0xbd, 0xa2, 0x39, 0xef, 0xa7,
   0xed, 0xac, 0x11, 0xde, 0xe0, 0xbc, 0xef, 0x1c, 0xf2, 0x56, 0xe8, 0x4a, 0x85, 0x01, 0x1c, 0x0e,
   0x79, 0x83, 0xa2, 0x47, 0x4b, 0xea, 0x14, 0xe6, 0x58, 0xf6, 0xab, 0xbb, 0xcc, 0x6d, 0x57, 0xb9,
   0xba, 0x77, 0x61, 0x1e, 0xcf, 0x50, 0xfa, 0xc7, 0xcc, 0x6d, 0x5f, 0xab, 0x7b, 0x87, 0x05, 0xfe,
   0x4e, 0x69, 0x4d, 0xd2, 0x50, 0x56, 0x7f, 0xeb, 0xc3, 0xe0, 0x5a, 0x3e, 0x6c, 0xde, 0x0f, 0x61,
   0x8a, 0x01, 0x51, 0xc0, 0x1e, 0xe8, 0x89, 0x95, 0xb7, 0x14, 0x6b, 0x50, 0x75, 0x9e, 0x3d, 0x54,
   0xbd, 0xc6, 0x84, 0x9f, 0xc2, 0x50, 0x98, 0xd4, 0x3e, 0xec, 0xda, 0x6b, 0xba, 0x07, 0x27, 0x2d,
   0x5e, 0x24, 0x4b, 0x8a, 0x3c, 0xc0, 0x4c, 0x34, 0xd6, 0x5a, 0x65, 0x74, 0xc0, 0x16, 0x49, 0x6c,
   0xbd, 0x30, 0x3b, 0xb1, 0x68, 0x03, 0xac, 0xe0, 0x45, 0x58, 0xb9, 0x9d, 0xde, 0x24, 0x03, 0x0f,
   0x6b, 0xe8, 0x4d, 0x32, 0x38, 0x98, 0xbe, 0xd1, 0x3b, 0xd3, 0x77, 0x09, 0x13, 0xdf, 0xaa, 0x92,
   0x00, 0x8d, 0x78, 0xc3, 0x1e, 0x8c, 0x03, 0x8f, 0x66, 0x3b, 0x47, 0xff, 0xda, 0x83, 0xb1, 0xbf,
   0x0a, 0xb6, 0x8c, 0x2f, 0x07, 0x8f, 0x8e, 0x67, 0x1e, 0x5b, 0x07, 0xda, 0xf7, 0x3d, 0xbc, 0xe5,
   0xcd, 0xfb, 0xbe, 0xab, 0xac, 0x1f, 0xfb, 0x53, 0x4e, 0x34, 0x7a, 0xf4, 0x0d, 0xec, 0x41, 0xf0,
   0x4c, 0x9b, 0xf5, 0xc9, 0x3e, 0xeb, 0xf1, 0x73, 0x18, 0x51, 0xff, 0xb0, 0x19, 0xf4, 0xee, 0xc3,
   0x20, 0xe8, 0xdd, 0x23, 0x57, 0x87, 0x05, 0xa5, 0x57, 0xc7, 0x5f, 0xc1, 0x90, 0xab, 0x84, 0x36,
   0x1d, 0xad, 0x36, 0x2e, 0x98, 0x11, 0x8d, 0x68, 0xbb, 0xa2, 0x0c, 0xb6, 0x48, 0xd2, 0xe1, 0xb4,
   0x26, 0x85, 0xfd, 0x8d, 0x18, 0x9c, 0x6e, 0xeb, 0xc2, 0xb9, 0x62, 0x47, 0xc1, 0x8f, 0x78, 0xe0,
   0xe2, 0x14, 0xa2, 0x57, 0x22, 0x51, 0x17, 0x79, 0xaa, 0x69, 0xad, 0xab, 0xc5, 0x5d, 0x33, 0x8f,
   0x6a, 0x71, 0x87, 0xce, 0xca, 0xcc, 0x25, 0xdb, 0x70, 0x80, 0x67, 0x68, 0xdb, 0x28, 0xb4, 0x6e,
   0xf6, 0x1c, 0xa4, 0xd9, 0x8f, 0x00, 0x92, 0x22, 0xdf, 0x64, 0x52, 0xe5, 0x89, 0x47, 0xa8, 0xcf,
   0x3b, 0x92, 0xf8, 0x1e, 0xe0, 0x66, 0xbb, 0x71, 0x5c, 0xd9, 0x4a, 0x53, 0x38, 0xa9, 0xca, 0xa5,
   0x32, 0xe1, 0xb0, 0xc0, 0x61, 0x04, 0x22, 0x55, 0xcd, 0x75, 0x84, 0x47, 0xcd, 0x88, 0xa4, 0xdd,
   0xa9, 0x90, 0xa6, 0xcb, 0x28, 0x51, 0xb9, 0xba, 0xbd, 0x0c, 0x71, 0x34, 0xfc, 0x76, 0x59, 0x78,
   0x3b, 0x46, 0xdc, 0x33, 0xf1, 0x3f, 0xfa, 0x30, 0xc1, 0x3b, 0x5e, 0x15, 0x96, 0xfd, 0x04, 0xc6,
   0x26, 0x41, 0xe6, 0xe1, 0x8b, 0x89, 0x10, 0xf3, 0xa0, 0xc5, 0x97, 0xab, 0x74, 0x9f, 0xab, 0x8d,
   0xfb, 0x6d, 0xad, 0xc2, 0x42, 0xfb, 0x60, 0xe4, 0xed, 0x2d, 0xd8, 0x2f, 0x01, 0x4a, 0xc7, 0x11,
   0x68, 0xb4, 0x1f, 0x3c, 0x6e, 0xdf, 0x31, 0x61, 0x3f, 0x85, 0x49, 0xe9, 0xbe, 0x28, 0x2a, 0xb7,
   0xa5, 0x2b, 0x3c, 0x62, 0xdd, 0xe8, 0x69, 0xf4, 0xba, 0xd7, 0x85, 0xf5, 0xb7, 0x7a, 0x74, 0xf4,
   0x92, 0x9a, 0xfd, 0x1c, 0xc6, 0x1b, 0xca, 0x23, 0x95, 0xdd, 0xc1, 0xbb, 0xd1, 0xa6, 0x98, 0x07,
   0x13, 0x6c, 0x9a, 0x3f, 0x57, 0x42, 0x67, 0xae, 0x0e, 0xf5, 0xd8, 0xb0, 0x98, 0xc8, 0x8d, 0x48,
   0x32, 0xa1, 0x5f, 0xe2, 0x56, 0x3d, 0xa5, 0xad, 0xba, 0x23, 0x89, 0xff, 0xd5, 0x87, 0x29, 0xfa,
   0xa3, 0xfd, 0xe3, 0xff, 0x78, 0xfe, 0xaf, 0x78, 0x62, 0x31, 0x6f, 0x10, 0xce, 0x97, 0x34, 0xd8,
   0x06, 0x3c, 0x70, 0xf1, 0x1f, 0x60, 0xf2, 0xe5, 0xfa, 0x6b, 0x42, 0xf9, 0x14, 0x46, 0x26, 0xf9,
   0x72, 0xfd, 0xf5, 0x37, 0x80, 0xec, 0x95, 0x34, 0x0a, 0xea, 0xfd, 0x28, 0xa8, 0xfd, 0xc6, 0x6f,
   0x8a, 0x35, 0x01, 0xd8, 0xe7, 0x44, 0xc7, 0x6f, 0x60, 0x76, 0x25, 0x8c, 0xd8, 0x35, 0x1d, 0xf1,
   0x1c, 0x06, 0x65, 0x61, 0x83, 0xe7, 0x27, 0x87, 0x57, 0xbc, 0x2a, 0x2c, 0x47, 0x2d, 0x7b, 0x06,
   0x83, 0x6c, 0x97, 0x3e, 0x4c, 0x1c, 0xfd, 0xaf, 0x71, 0xd4, 0xc5, 0xbf, 0x86, 0x45, 0xeb, 0xf7,
   0x45, 0xb1, 0xc3, 0xdf, 0x2a, 0xec, 0xc7, 0x8d, 0x12, 0xee, 0x57, 0xe4, 0x7d, 0xc6, 0x3d, 0xd3,
   0x48, 0xcf, 0xc9, 0x5d, 0x90, 0x9e, 0xc7, 0x12, 0x9e, 0xec, 0xe3, 0x32, 0xf8, 0xa4, 0xba, 0x9a,
   0x7d, 0x02, 0x63, 0x43, 0x03, 0x23, 0xc4, 0xf7, 0xb4, 0xb3, 0x0a, 0xb5, 0xc3, 0x84, 0x07, 0x9b,
   0xf7, 0x89, 0xf2, 0xab, 0x70, 0xfb, 0x3f, 0x15, 0xba, 0x40, 0xcc, 0x3e, 0xc6, 0x9f, 0xdd, 0x0d,
   0xdd, 0x7f, 0x70, 0x78, 0xff, 0x80, 0x3d, 0xf7, 0xfa, 0xf7, 0xf1, 0xcd, 0x61, 0x7e, 0x55, 0xad,
   0x75, 0x66, 0xb7, 0xcd, 0x6f, 0xf2, 0x27, 0xf8, 0xd3, 0x82, 0x1b, 0x25, 0x46, 0x3f, 0x3f, 0xff,
   0xa0, 0xbb, 0x9e, 0xaf, 0xb5, 0x7a, 0xb1, 0xc5, 0x77, 0x41, 0x72, 0x6f, 0x44, 0x8f, 0x69, 0xbe,
   0x29, 0x9a, 0xd7, 0x05, 0xe9, 0x9f, 0xfd, 0x05, 0x66, 0x5d, 0x53, 0x36, 0x83, 0xe9, 0xcd, 0xca,
   0xef, 0x57, 0x8b, 0x6f, 0xb1, 0x05, 0xcc, 0x1a, 0x0e, 0xb7, 0xa6, 0x45, 0x8f, 0x3d, 0x85, 0x45,
   0x57, 0x82, 0xfb, 0xd7, 0xa2, 0xcf, 0x00, 0xc6, 0x37, 0x2b, 0xb2, 0x18, 0xb0, 0x63, 0x88, 0x3c,
   0x7d, 0x2d, 0x6f, 0x17, 0x43, 0xf6, 0x04, 0x8e, 0x5b, 0x16, 0xb7, 0xec, 0xc5, 0x88, 0x45, 0x30,
   0xba, 0x59, 0xa1, 0x76, 0xbc, 0x1e, 0x53, 0xc0, 0x9f, 0xfd, 0x37, 0x00, 0x00, 0xff, 0xff, 0x0c,
   0x9e, 0x92, 0xde, 0x6b, 0x10, 0x00, 0x00,
   // 1939 bytes of a gzipped FileDescriptorProto
   0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x58, 0xcd, 0x92, 0x1c, 0x47,
   0x11, 0xf6, 0xfc, 0x77, 0xe7, 0xcc, 0xac, 0x47, 0x85, 0xb0, 0xc7, 0x36, 0x86, 0x55, 0x4b, 0xe0,
   0x45, 0x18, 0x11, 0xac, 0x7d, 0x26, 0x62, 0xd1, 0x22, 0x62, 0x23, 0x64, 0x79, 0x5d, 0xbb, 0x16,
   0x81, 0x0f, 0x74, 0xd4, 0x74, 0xd5, 0xf4, 0xb6, 0xa7, 0xa7, 0xbb, 0xa9, 0xaa, 0xd1, 0x6a, 0x0e,
   0x3c, 0x03, 0x57, 0xde, 0x81, 0x17, 0xe1, 0xc0, 0x3b, 0x70, 0xe2, 0x02, 0xc1, 0x3b, 0x10, 0x99,
   0x55, 0xdd, 0xd3, 0xb3, 0xbb, 0x0a, 0x14, 0xc1, 0xd5, 0xb7, 0xfc, 0x9b, 0xac, 0xac, 0x2f, 0xb3,
   0x32, 0xb3, 0x07, 0x0e, 0x2a, 0x5d, 0xda, 0x72, 0x6d, 0xd2, 0x27, 0x44, 0xb0, 0xa0, 0xe6, 0xa3,
   0xaf, 0x20, 0xbc, 0x14, 0x66, 0xf5, 0x5c, 0x2c, 0x54, 0xce, 0xde, 0x83, 0xa1, 0x15, 0x66, 0x95,
   0xc9, 0x79, 0xe7, 0xb0, 0x73, 0x14, 0x72, 0xcf, 0xa1, 0xdc, 0xc8, 0x55, 0x26, 0xcd, 0xbc, 0x7b,
   0xd8, 0x43, 0xb9, 0xe3, 0xd8, 0x7d, 0x18, 0x64, 0x85, 0x54, 0xaf, 0xe7, 0xbd, 0xc3, 0xce, 0xd1,
   0x80, 0x3b, 0x26, 0x12, 0x00, 0x17, 0x72, 0xf5, 0x85, 0x32, 0x46, 0xa4, 0x8a, 0xcd, 0xa0, 0x97,
   0x34, 0x0e, 0x91, 0x64, 0x3f, 0x87, 0x11, 0xfa, 0xcd, 0xc5, 0x62, 0xde, 0x3d, 0xec, 0x1c, 0x8d,
   0x8f, 0xbf, 0xf7, 0xa4, 0x09, 0xaf, 0x89, 0x85, 0xd7, 0x36, 0x8c, 0x41, 0x5f, 0x0a, 0x2b, 0xe8,
   0x8c, 0x09, 0x27, 0x3a, 0x3a, 0x83, 0xc1, 0xd9, 0x1a, 0xbd, 0xdf, 0x87, 0xc1, 0x75, 0x26, 0xed,
   0x15, 0xf9, 0x1f, 0x70, 0xc7, 0x60, 0xbc, 0x57, 0x2a, 0x4b, 0xaf, 0x2c, 0x1d, 0x30, 0xe0, 0x9e,
   0xbb, 0xd3, 0xd5, 0x33, 0xe8, 0x9f, 0x68, 0x25, 0xd8, 0x01, 0x74, 0x7d, 0x98, 0x03, 0xde, 0xcd,
   0x24, 0xfb, 0x10, 0x82, 0x4a, 0x68, 0x55, 0xd8, 0x4c, 0x7a, 0x2f, 0x0d, 0x8f, 0x7e, 0x0a, 0xb1,
   0x56, 0xe4, 0x27, 0xe4, 0x44, 0x47, 0x7f, 0xeb, 0xc2, 0xf0, 0xa9, 0x58, 0x2b, 0xdd, 0x76, 0x15,
   0x92, 0xab, 0xda, 0xbc, 0xbb, 0x33, 0x47, 0x99, 0xdd, 0x56, 0xca, 0x23, 0x47, 0x34, 0xca, 0x84,
   0x94, 0x7a, 0xde, 0x77, 0x76, 0x48, 0xe3, 0x55, 0x84, 0x56, 0x22, 0x93, 0xf3, 0x81, 0xbb, 0x8a,
   0xe3, 0xd8, 0x0f, 0x20, 0xcc, 0xcb, 0x22, 0xcd, 0xec, 0x46, 0xaa, 0xf9, 0xf0, 0xb0, 0x73, 0xd4,
   0xe5, 0x3b, 0x01, 0x06, 0x9f, 0x0b, 0xeb, 0x94, 0x23, 0x52, 0x36, 0x3c, 0x9e, 0xa2, 0xad, 0xa9,
   0xe6, 0x81, 0x3b, 0x05, 0x69, 0x8a, 0xb8, 0x9a, 0x87, 0x3e, 0xe2, 0x0a, 0x6d, 0xaa, 0x52, 0xdb,
   0x39, 0xb8, 0xe8, 0x90, 0x46, 0x9f, 0x1b, 0xa3, 0x34, 0xdd, 0x64, 0x4c, 0x96, 0x0d, 0xef, 0xc0,
   0x32, 0xe6, 0xba, 0xd4, 0x72, 0x3e, 0x71, 0xba, 0x9a, 0xc7, 0x14, 0x2d, 0xb4, 0x28, 0xe4, 0x7c,
   0x4a, 0x0a, 0xc7, 0xe0, 0x2f, 0xb4, 0x32, 0x4a, 0xbf, 0x52, 0x72, 0x7e, 0xe0, 0x7e, 0x51, 0xf3,
   0x51, 0x02, 0xf7, 0x1c, 0x92, 0x27, 0x85, 0xc4, 0x82, 0x38, 0x2b, 0x96, 0x25, 0x3b, 0x82, 0x61,
   0x42, 0x42, 0x02, 0x76, 0x7c, 0x3c, 0xdb, 0x15, 0x8d, 0x33, 0xe6, 0x5e, 0xcf, 0x1e, 0xc1, 0x00,
   0x6b, 0xc7, 0x15, 0xeb, 0xf8, 0xf8, 0x60, 0xbf, 0xba, 0xb8, 0x53, 0x46, 0xff, 0xe8, 0x40, 0x1f,
   0xf9, 0x37, 0x16, 0xfd, 0x87, 0x10, 0x20, 0xd5, 0xca, 0x5c, 0xc3, 0xb3, 0x8f, 0x20, 0x4c, 0xb4,
   0x12, 0x56, 0xc5, 0xc2, 0xfa, 0x2a, 0x08, 0x9c, 0xe0, 0xc4, 0xb6, 0x94, 0x8b, 0xad, 0xcf, 0xa5,
   0x57, 0xfe, 0x7a, 0x8b, 0xca, 0x4d, 0x25, 0xfd, 0x2f, 0x07, 0x1e, 0x46, 0x12, 0x9c, 0x58, 0x0c,
   0x45, 0x15, 0x62, 0x91, 0xbb, 0x8c, 0x06, 0xdc, 0x73, 0xec, 0x03, 0x08, 0x32, 0x13, 0x8b, 0x5c,
   0xe8, 0x35, 0xa5, 0x33, 0xe0, 0xa3, 0xcc, 0x9c, 0x20, 0x8b, 0x2a, 0xa9, 0xf2, 0x78, 0x99, 0x8b,
   0x94, 0x32, 0x1a, 0xf0, 0x91, 0x54, 0xf9, 0xb3, 0x5c, 0xa4, 0xd1, 0x25, 0x8c, 0xf1, 0x82, 0x17,
   0xd2, 0x01, 0x18, 0x41, 0x1f, 0xe3, 0xf7, 0xf0, 0xdd, 0x44, 0x85, 0x74, 0xec, 0x01, 0xf4, 0x8d,
   0x6c, 0x90, 0x9b, 0xee, 0x6c, 0x2e, 0xe4, 0x8a, 0x93, 0x2a, 0xfa, 0x57, 0x17, 0xc0, 0x01, 0x4e,
   0xe8, 0xdd, 0xac, 0xf5, 0x8f, 0x01, 0x5c, 0x1a, 0x62, 0xd7, 0x2e, 0x50, 0x1e, 0x3a, 0xc9, 0x99,
   0x34, 0xec, 0x7d, 0xf7, 0xf6, 0xe3, 0x4c, 0x7a, 0xd8, 0x08, 0xed, 0x33, 0x6c, 0x0a, 0xa1, 0xcd,
   0xd6, 0x2a, 0xd6, 0x9b, 0x5c, 0xcd, 0xfb, 0x74, 0x7c, 0x2b, 0xc3, 0xa7, 0x62, 0xfb, 0xd4, 0xe6,
   0x3c, 0x40, 0x13, 0xbe, 0xc9, 0x15, 0x1e, 0xa3, 0x95, 0x48, 0xac, 0xb3, 0x77, 0x38, 0x86, 0x24,
   0x21, 0xf5, 0x03, 0x98, 0x38, 0xb5, 0x54, 0xaf, 0xb2, 0xc4, 0xc1, 0x19, 0xf2, 0x31, 0xc9, 0x4e,
   0x49, 0xb4, 0x07, 0xdc, 0x68, 0x0f, 0x38, 0xf6, 0x23, 0x18, 0xfb, 0x1c, 0xb5, 0x60, 0x05, 0x27,
   0x22, 0x83, 0x5d, 0x9e, 0xc2, 0xbd, 0x3c, 0x31, 0xe8, 0x9b, 0xd6, 0xb3, 0x41, 0x1a, 0x6f, 0x9c,
   0x99, 0x78, 0xb9, 0xc9, 0x73, 0x7a, 0x35, 0x01, 0x1f, 0x66, 0xe6, 0xd9, 0x26, 0xcf, 0x59, 0x04,
   0xd3, 0x3c, 0x2b, 0x56, 0x71, 0xaa, 0xcb, 0x4d, 0x85, 0x80, 0xb8, 0x87, 0x33, 0x46, 0xe1, 0x6f,
   0x51, 0x76, 0x26, 0xa3, 0xaf, 0xe0, 0xc0, 0x63, 0x9d, 0xad, 0x15, 0x5e, 0xf5, 0xad, 0x7a, 0xcb,
   0x47, 0x6d, 0x2c, 0x7d, 0x75, 0xd6, 0xc8, 0x45, 0x2f, 0x60, 0xe8, 0xd0, 0xc4, 0xce, 0x2c, 0xc5,
   0xd6, 0xb7, 0x3c, 0x24, 0xd9, 0x31, 0x80, 0xfb, 0xa1, 0x28, 0x52, 0xe5, 0x8b, 0xa0, 0xdd, 0x9c,
   0xd1, 0x07, 0xaa, 0x38, 0xf9, 0x27, 0x32, 0xfa, 0x0c, 0xc2, 0x46, 0x8e, 0x6f, 0xdd, 0x58, 0xa1,
   0xad, 0x0f, 0xd0, 0x31, 0x78, 0x90, 0x2a, 0xa4, 0x0f, 0x11, 0xc9, 0xe8, 0x25, 0x8c, 0xce, 0xcb,
   0x7c, 0x9b, 0x96, 0xc5, 0x5b, 0x5d, 0xe8, 0x13, 0x18, 0x56, 0x65, 0x56, 0x58, 0x33, 0xef, 0x51,
   0x4c, 0xef, 0xee, 0x62, 0x3a, 0x47, 0x39, 0xf7, 0xea, 0x28, 0x69, 0xf0, 0x12, 0x66, 0x75, 0xa2,
   0x53, 0x43, 0x8f, 0xb1, 0xae, 0x47, 0x7f, 0x4a, 0x50, 0x97, 0x23, 0xfb, 0x1c, 0x42, 0xaa, 0x46,
   0xa1, 0xd3, 0xba, 0xe6, 0xdf, 0xdf, 0x7f, 0x17, 0x94, 0x08, 0x74, 0xe4, 0x1e, 0x3f, 0x52, 0xd1,
   0x1f, 0x60, 0xba, 0xa7, 0x6a, 0x17, 0x75, 0x67, 0xaf, 0xa8, 0x3f, 0x87, 0xb1, 0xcb, 0x2e, 0x66,
   0xc2, 0xdc, 0x06, 0x94, 0x5c, 0x60, 0x56, 0x38, 0xa4, 0x35, 0x69, 0xa2, 0xe7, 0x10, 0x36, 0x0a,
   0x2c, 0xd3, 0xa6, 0x40, 0x9c, 0xf3, 0x51, 0xea, 0x8a, 0x03, 0xfb, 0x5c, 0xdb, 0x6f, 0xeb, 0x45,
   0x93, 0x4b, 0xa7, 0x8c, 0xfe, 0xdd, 0x85, 0x3e, 0xbf, 0xab, 0x72, 0x1e, 0xc1, 0x81, 0x47, 0xa6,
   0x0e, 0xde, 0x41, 0x3e, 0x49, 0x1a, 0x04, 0xcf, 0xe4, 0x3e, 0x7e, 0xbd, 0x1b, 0xf8, 0x7d, 0x0c,
   0x50, 0xb9, 0x34, 0xa2, 0xd6, 0xb5, 0xba, 0xd0, 0x4b, 0xce, 0x24, 0xfb, 0x3e, 0xad, 0x0d, 0xb1,
   0x9f, 0x5d, 0x58, 0x0e, 0x12, 0x5d, 0x46, 0x30, 0x45, 0xb1, 0xd0, 0x69, 0x2c, 0xf2, 0x4c, 0x98,
   0xfa, 0x75, 0x1a, 0x89, 0xf8, 0x9e, 0xa0, 0x08, 0x9b, 0x6f, 0x59, 0x29, 0x2d, 0x6c, 0xa9, 0xe9,
   0x75, 0x86, 0xbc, 0xe1, 0xd9, 0x43, 0x98, 0xd6, 0x74, 0x4c, 0x33, 0xd4, 0x4d, 0xb2, 0x49, 0x2d,
   0xbc, 0xc4, 0x59, 0xda, 0x3a, 0xe4, 0x95, 0xc8, 0x37, 0xca, 0x0f, 0x37, 0x7f, 0xc8, 0x4b, 0x14,
   0xdd, 0xf9, 0x5c, 0x23, 0x98, 0x22, 0x6e, 0xf1, 0x75, 0x66, 0xaf, 0xe2, 0x4a, 0xd7, 0xa3, 0x6e,
   0x8c, 0xc2, 0xdf, 0x65, 0xf6, 0xea, 0x5c, 0xef, 0xe7, 0x64, 0xb2, 0x97, 0x93, 0xe8, 0xaf, 0x5d,
   0xe8, 0x5d, 0xc8, 0xdb, 0x6d, 0xf1, 0x03, 0x08, 0x30, 0x1c, 0x0a, 0xd7, 0xc1, 0x3c, 0x32, 0x72,
   0x45, 0x91, 0x7a, 0x55, 0x6b, 0xa1, 0x40, 0xd5, 0x0b, 0xac, 0xfb, 0x47, 0xd0, 0xa7, 0xd2, 0xbc,
   0xd5, 0x0f, 0x2f, 0xe8, 0x16, 0x9c, 0xb4, 0x78, 0x8d, 0x2c, 0x29, 0x0b, 0x0f, 0x32, 0xd1, 0xf8,
   0xe4, 0x36, 0x3a, 0xf7, 0xc8, 0x22, 0x89, 0x4d, 0xcd, 0x4f, 0x25, 0x7c, 0xbb, 0x1e, 0x54, 0x70,
   0x22, 0x7c, 0xc0, 0xad, 0xae, 0x47, 0x06, 0x0e, 0x54, 0xdf, 0xf5, 0xc8, 0x60, 0x6f, 0xae, 0x85,
   0x37, 0xe6, 0xda, 0x1c, 0x46, 0xae, 0x09, 0x4a, 0x82, 0x33, 0xe0, 0x35, 0xbb, 0xd7, 0x68, 0xc7,
   0x84, 0x74, 0x33, 0xa1, 0xfe, 0xd2, 0x81, 0xa1, 0xbb, 0x0a, 0x76, 0x0e, 0x57, 0x0c, 0xbe, 0x73,
   0x10, 0xf3, 0x3f, 0x37, 0xa7, 0x70, 0xb7, 0x39, 0xad, 0x37, 0xc6, 0x52, 0x09, 0x06, 0x9c, 0x68,
   0x94, 0x6d, 0x8a, 0xac, 0x1e, 0xb2, 0x44, 0xe3, 0x29, 0xae, 0xb7, 0x39, 0x60, 0x1c, 0xd3, 0xd4,
   0xc1, 0x68, 0x57, 0x07, 0xd1, 0x43, 0x18, 0x50, 0x6b, 0x61, 0x13, 0xe8, 0xbc, 0xf6, 0x3d, 0xb2,
   0xf3, 0x1a, 0xb9, 0xad, 0x5f, 0x07, 0x3b, 0xdb, 0xe8, 0x1b, 0xe8, 0x73, 0x95, 0xd0, 0x51, 0xb9,
   0x5a, 0x5a, 0x6f, 0x46, 0x34, 0x66, 0xc0, 0x96, 0x95, 0xb7, 0x45, 0x92, 0x0e, 0xa7, 0xa5, 0xd4,
   0x6f, 0xcb, 0xc4, 0xe0, 0x2c, 0x59, 0x94, 0xd6, 0x96, 0x6b, 0x0a, 0x7e, 0xc0, 0x3d, 0x17, 0xa5,
   0x10, 0x3e, 0x13, 0x89, 0x3a, 0x29, 0xd2, 0x9c, 0x96, 0xe8, 0xad, 0xb8, 0xae, 0x5b, 0xf5, 0x56,
   0x5c, 0xa3, 0xb3, 0x2a, 0xb3, 0xc9, 0x95, 0x3f, 0xc0, 0x31, 0xb4, 0xdb, 0x95, 0x79, 0x5e, 0x6f,
   0x95, 0x48, 0xb3, 0x1f, 0x02, 0x24, 0x65, 0xb1, 0xcc, 0xa4, 0x2a, 0x12, 0x45, 0x87, 0x74, 0x79,
   0x4b, 0x12, 0xbd, 0x06, 0xb8, 0xbc, 0x5a, 0x5a, 0xae, 0xcc, 0x26, 0xa7, 0x70, 0x52, 0x55, 0x48,
   0xa5, 0xfd, 0x61, 0x9e, 0xc3, 0x08, 0x44, 0xaa, 0xea, 0xeb, 0x08, 0x87, 0x9a, 0x16, 0x49, 0xb3,
   0xc1, 0x22, 0x4d, 0x97, 0x51, 0x62, 0x63, 0xb7, 0xcd, 0x65, 0x88, 0xa3, 0xb9, 0xb0, 0xce, 0xfc,
   0xa4, 0x1e, 0x70, 0xc7, 0x44, 0x7f, 0xef, 0xc2, 0x08, 0xef, 0x78, 0x5e, 0x1a, 0xf6, 0x13, 0x18,
   0xea, 0x04, 0x99, 0xdb, 0xfb, 0x09, 0x42, 0xcc, 0xbd, 0x16, 0xf7, 0x84, 0xca, 0x3e, 0x57, 0x4b,
   0xfb, 0x9b, 0xad, 0xf2, 0x9f, 0x0f, 0xb7, 0xa6, 0xc1, 0xce, 0x82, 0xfd, 0x02, 0xa0, 0xb2, 0x1c,
   0x81, 0x46, 0xfb, 0xde, 0xdd, 0xf6, 0x2d, 0x13, 0xf6, 0x53, 0x18, 0x55, 0xf6, 0x8b, 0x72, 0x63,
   0xaf, 0xe8, 0x0a, 0x77, 0x58, 0xd7, 0x7a, 0x9a, 0x4a, 0xf6, 0x45, 0x69, 0xdc, 0xad, 0xee, 0x9c,
   0x4a, 0xa4, 0x66, 0x3f, 0x83, 0xe1, 0x92, 0xf2, 0x48, 0x65, 0xb7, 0x37, 0x01, 0x9a, 0x14, 0x73,
   0x6f, 0x82, 0x0f, 0xe9, 0x8f, 0x1b, 0x91, 0x67, 0x76, 0xeb, 0xeb, 0xb1, 0x66, 0x31, 0x91, 0x4b,
   0x91, 0x64, 0x22, 0x3f, 0xc5, 0x6f, 0x98, 0x80, 0xbe, 0x61, 0x5a, 0x92, 0xe8, 0x9f, 0x5d, 0x08,
   0xd0, 0x1f, 0x6d, 0x7b, 0xdf, 0xe1, 0xf9, 0xff, 0xe2, 0x89, 0xc5, 0xbc, 0x44, 0x38, 0x4f, 0xa9,
   0xd9, 0xf5, 0xb8, 0xe7, 0xa2, 0xaf, 0x61, 0xf4, 0xe5, 0xe2, 0x5b, 0x42, 0x19, 0x47, 0x70, 0xf2,
   0xe5, 0xe2, 0xdb, 0x37, 0x80, 0xec, 0x94, 0xd4, 0x0a, 0xb6, 0xbb, 0x56, 0xb0, 0x75, 0xdf, 0x57,
   0xba, 0x5c, 0x10, 0x80, 0x5d, 0x4e, 0x74, 0xf4, 0x12, 0x26, 0xe7, 0x42, 0x8b, 0x75, 0xfd, 0x22,
   0x1e, 0x42, 0xaf, 0x2a, 0x8d, 0xf7, 0x7c, 0x6f, 0xff, 0x8a, 0xe7, 0xa5, 0xe1, 0xa8, 0x65, 0x0f,
   0xa0, 0x97, 0xad, 0xd3, 0xdb, 0x89, 0xa3, 0xaf, 0x63, 0x8e, 0xba, 0xe8, 0x57, 0x30, 0x6b, 0xfc,
   0x3e, 0x2d, 0xd7, 0xf8, 0x11, 0x8b, 0xef, 0x71, 0xa9, 0x84, 0xfd, 0x25, 0x79, 0x9f, 0x70, 0xc7,
   0xd4, 0xd2, 0x63, 0x72, 0xe7, 0xa5, 0xc7, 0x91, 0x84, 0x7b, 0xbb, 0xb8, 0x34, 0x0e, 0x59, 0xbb,
   0x65, 0x9f, 0xc2, 0x50, 0x53, 0xc3, 0xf0, 0xf1, 0xdd, 0x6f, 0xad, 0x4d, 0x4d, 0x33, 0xe1, 0xde,
   0xe6, 0x6d, 0xa2, 0xfc, 0xc6, 0xdf, 0xfe, 0xf7, 0x65, 0x5e, 0x22, 0x66, 0x9f, 0xc0, 0x20, 0x2b,
   0x96, 0x74, 0xff, 0xde, 0xfe, 0xfd, 0x3d, 0xf6, 0xdc, 0xe9, 0xdf, 0xc6, 0xf7, 0x9f, 0x3b, 0xf0,
   0xee, 0xe9, 0xe2, 0xe9, 0x15, 0x36, 0xfb, 0xfa, 0x6f, 0x89, 0x4f, 0xf1, 0x23, 0x11, 0x37, 0x78,
   0x8c, 0xff, 0xe0, 0xf8, 0xbd, 0xf6, 0xda, 0xb7, 0xc8, 0x95, 0x33, 0x96, 0xdc, 0x19, 0xf9, 0x71,
   0xde, 0x6d, 0xc6, 0xf9, 0x63, 0x18, 0x8a, 0xc4, 0x66, 0x65, 0x41, 0x19, 0x3c, 0x38, 0x66, 0xad,
   0x4f, 0x95, 0xc5, 0x09, 0x69, 0xb8, 0xb7, 0xa0, 0xf1, 0x5c, 0x2c, 0xcb, 0xfa, 0xab, 0x1e, 0xe9,
   0xe8, 0x3f, 0x1d, 0x98, 0xba, 0x45, 0xf5, 0x4d, 0x6b, 0xf0, 0xde, 0xde, 0xd5, 0xbd, 0xb1, 0x77,
   0xdd, 0xf1, 0xff, 0x03, 0xd6, 0xb9, 0xdf, 0xbc, 0xfc, 0x49, 0x35, 0x8b, 0x1f, 0x43, 0x56, 0x67,
   0x69, 0xaa, 0x74, 0x9c, 0x67, 0x45, 0xfd, 0xb5, 0x34, 0xf6, 0xb2, 0xe7, 0x59, 0xa1, 0xd8, 0x8f,
   0xe1, 0x40, 0x66, 0x5a, 0x51, 0xc0, 0xce, 0xc8, 0x0d, 0xc8, 0x69, 0x23, 0x25, 0xb3, 0x7a, 0xf4,
   0x8e, 0x5a, 0xa3, 0xf7, 0x21, 0x4c, 0xa5, 0x5a, 0xe2, 0x24, 0x89, 0x8d, 0x15, 0xd6, 0x2d, 0x0e,
   0x03, 0x3e, 0xf1, 0xc2, 0x0b, 0x94, 0x3d, 0xfe, 0x13, 0x4c, 0xda, 0xb0, 0xb2, 0x09, 0x04, 0x97,
   0xb1, 0x03, 0x60, 0xf6, 0x0e, 0x9b, 0xc1, 0xa4, 0xe6, 0x70, 0xeb, 0x9c, 0x75, 0xd8, 0x7d, 0x98,
   0xb5, 0x25, 0xb8, 0x65, 0xcf, 0xba, 0x0c, 0x60, 0x78, 0x19, 0x93, 0x45, 0x8f, 0x4d, 0x21, 0x74,
   0xf4, 0x85, 0x5c, 0xcd, 0xfa, 0xec, 0x1e, 0x4c, 0x1b, 0x16, 0xb7, 0xdd, 0xd9, 0x80, 0x85, 0x30,
   0xb8, 0x8c, 0x51, 0x3b, 0x7c, 0xfc, 0x04, 0x82, 0x3a, 0x2d, 0xe8, 0xe4, 0xac, 0x30, 0x4a, 0xdb,
   0xd9, 0x3b, 0x48, 0x7f, 0x4d, 0xfb, 0xcd, 0xac, 0x83, 0xf4, 0xa9, 0xca, 0x95, 0x55, 0xb3, 0xee,
   0x62, 0x48, 0xd9, 0xfc, 0xec, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xc2, 0x0f, 0x80, 0x36, 0x37,
   0x13, 0x00, 0x00,
}