zhangmeng
2019-06-19 e724f930ff0bc9f4c1ae9584763a326774122df3
update
3个文件已修改
940 ■■■■■ 已修改文件
base.pb.go 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
protomsg.pb.go 625 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sdk.pb.go 270 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
base.pb.go
@@ -5,7 +5,7 @@
import (
    fmt "fmt"
    proto "github.com/golang/protobuf/proto"
    proto "github.com/gogo/protobuf/proto"
    io "io"
    math "math"
)
@@ -19,15 +19,12 @@
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
// struct for sdk
type Point struct {
    X                    int32    `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
    Y                    int32    `protobuf:"varint,2,opt,name=y,proto3" json:"y,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
    X int32 `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
    Y int32 `protobuf:"varint,2,opt,name=y,proto3" json:"y,omitempty"`
}
func (m *Point) Reset()         { *m = Point{} }
@@ -78,13 +75,10 @@
}
type Rect struct {
    Left                 int32    `protobuf:"varint,1,opt,name=left,proto3" json:"left,omitempty"`
    Top                  int32    `protobuf:"varint,2,opt,name=top,proto3" json:"top,omitempty"`
    Right                int32    `protobuf:"varint,3,opt,name=right,proto3" json:"right,omitempty"`
    Bottom               int32    `protobuf:"varint,4,opt,name=bottom,proto3" json:"bottom,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
    Left   int32 `protobuf:"varint,1,opt,name=left,proto3" json:"left,omitempty"`
    Top    int32 `protobuf:"varint,2,opt,name=top,proto3" json:"top,omitempty"`
    Right  int32 `protobuf:"varint,3,opt,name=right,proto3" json:"right,omitempty"`
    Bottom int32 `protobuf:"varint,4,opt,name=bottom,proto3" json:"bottom,omitempty"`
}
func (m *Rect) Reset()         { *m = Rect{} }
@@ -156,7 +150,7 @@
func init() { proto.RegisterFile("base.proto", fileDescriptor_db1b6b0986796150) }
var fileDescriptor_db1b6b0986796150 = []byte{
    // 158 bytes of a gzipped FileDescriptorProto
    // 167 bytes of a gzipped FileDescriptorProto
    0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4a, 0x4a, 0x2c, 0x4e,
    0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x00, 0x53, 0xb9, 0xc5, 0xe9, 0x4a, 0xca, 0x5c,
    0xac, 0x01, 0xf9, 0x99, 0x79, 0x25, 0x42, 0x3c, 0x5c, 0x8c, 0x15, 0x12, 0x8c, 0x0a, 0x8c, 0x1a,
@@ -164,9 +158,10 @@
    0x94, 0x9a, 0x5c, 0x22, 0x24, 0xc4, 0xc5, 0x92, 0x93, 0x9a, 0x56, 0x02, 0x55, 0x06, 0x66, 0x0b,
    0x09, 0x70, 0x31, 0x97, 0xe4, 0x17, 0x40, 0xd5, 0x82, 0x98, 0x42, 0x22, 0x5c, 0xac, 0x45, 0x99,
    0xe9, 0x19, 0x25, 0x12, 0xcc, 0x60, 0x31, 0x08, 0x47, 0x48, 0x8c, 0x8b, 0x2d, 0x29, 0xbf, 0xa4,
    0x24, 0x3f, 0x57, 0x82, 0x05, 0x2c, 0x0c, 0xe5, 0x39, 0x09, 0x9c, 0x78, 0x24, 0xc7, 0x78, 0xe1,
    0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x33, 0x1e, 0xcb, 0x31, 0x24, 0xb1, 0x81, 0x1d, 0x67,
    0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0xb3, 0xb0, 0xbd, 0x0b, 0xb1, 0x00, 0x00, 0x00,
    0x24, 0x3f, 0x57, 0x82, 0x05, 0x2c, 0x0c, 0xe5, 0x39, 0x49, 0x9c, 0x78, 0x24, 0xc7, 0x78, 0xe1,
    0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x13, 0x1e, 0xcb, 0x31, 0x5c, 0x78, 0x2c, 0xc7, 0x70,
    0xe3, 0xb1, 0x1c, 0x43, 0x12, 0x1b, 0xd8, 0x91, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa5,
    0xe9, 0x4a, 0x5f, 0xb9, 0x00, 0x00, 0x00,
}
func (m *Point) Marshal() (dAtA []byte, err error) {
@@ -193,9 +188,6 @@
        dAtA[i] = 0x10
        i++
        i = encodeVarintBase(dAtA, i, uint64(m.Y))
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -235,9 +227,6 @@
        i++
        i = encodeVarintBase(dAtA, i, uint64(m.Bottom))
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -262,9 +251,6 @@
    if m.Y != 0 {
        n += 1 + sovBase(uint64(m.Y))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -285,9 +271,6 @@
    }
    if m.Bottom != 0 {
        n += 1 + sovBase(uint64(m.Bottom))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -387,7 +370,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -517,7 +499,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
protomsg.pb.go
@@ -6,7 +6,7 @@
import (
    encoding_binary "encoding/binary"
    fmt "fmt"
    proto "github.com/golang/protobuf/proto"
    proto "github.com/gogo/protobuf/proto"
    io "io"
    math "math"
)
@@ -20,7 +20,7 @@
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
//TableChanged enum
type TableChanged int32
@@ -92,13 +92,10 @@
}
type SdkmsgWithTask struct {
    Sdkid                string   `protobuf:"bytes,1,opt,name=sdkid,proto3" json:"sdkid,omitempty"`
    Sdktype              string   `protobuf:"bytes,2,opt,name=sdktype,proto3" json:"sdktype,omitempty"`
    SdkName              string   `protobuf:"bytes,3,opt,name=sdkName,proto3" json:"sdkName,omitempty"`
    Sdkdata              []byte   `protobuf:"bytes,4,opt,name=sdkdata,proto3" json:"sdkdata,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
    Sdkid   string `protobuf:"bytes,1,opt,name=sdkid,proto3" json:"sdkid,omitempty"`
    Sdktype string `protobuf:"bytes,2,opt,name=sdktype,proto3" json:"sdktype,omitempty"`
    SdkName string `protobuf:"bytes,3,opt,name=sdkName,proto3" json:"sdkName,omitempty"`
    Sdkdata []byte `protobuf:"bytes,4,opt,name=sdkdata,proto3" json:"sdkdata,omitempty"`
}
func (m *SdkmsgWithTask) Reset()         { *m = SdkmsgWithTask{} }
@@ -163,13 +160,10 @@
}
type TaskLabel struct {
    Taskid               string            `protobuf:"bytes,1,opt,name=taskid,proto3" json:"taskid,omitempty"`
    Taskname             string            `protobuf:"bytes,2,opt,name=taskname,proto3" json:"taskname,omitempty"`
    Sdkinfos             []*SdkmsgWithTask `protobuf:"bytes,3,rep,name=sdkinfos,proto3" json:"sdkinfos,omitempty"`
    Index                int32             `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"`
    XXX_NoUnkeyedLiteral struct{}          `json:"-"`
    XXX_unrecognized     []byte            `json:"-"`
    XXX_sizecache        int32             `json:"-"`
    Taskid   string            `protobuf:"bytes,1,opt,name=taskid,proto3" json:"taskid,omitempty"`
    Taskname string            `protobuf:"bytes,2,opt,name=taskname,proto3" json:"taskname,omitempty"`
    Sdkinfos []*SdkmsgWithTask `protobuf:"bytes,3,rep,name=sdkinfos,proto3" json:"sdkinfos,omitempty"`
    Index    int32             `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"`
}
func (m *TaskLabel) Reset()         { *m = TaskLabel{} }
@@ -235,13 +229,10 @@
//SdkMessage struct test
type SdkMessage struct {
    Cid                  string     `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid,omitempty"`
    Caddr                string     `protobuf:"bytes,2,opt,name=caddr,proto3" json:"caddr,omitempty"`
    Tasklab              *TaskLabel `protobuf:"bytes,3,opt,name=tasklab,proto3" json:"tasklab,omitempty"`
    Data                 []byte     `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"`
    XXX_NoUnkeyedLiteral struct{}   `json:"-"`
    XXX_unrecognized     []byte     `json:"-"`
    XXX_sizecache        int32      `json:"-"`
    Cid     string     `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid,omitempty"`
    Caddr   string     `protobuf:"bytes,2,opt,name=caddr,proto3" json:"caddr,omitempty"`
    Tasklab *TaskLabel `protobuf:"bytes,3,opt,name=tasklab,proto3" json:"tasklab,omitempty"`
    Data    []byte     `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"`
}
func (m *SdkMessage) Reset()         { *m = SdkMessage{} }
@@ -307,12 +298,9 @@
//Area结构体
type Area struct {
    Id                   int32    `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
    Parentid             int32    `protobuf:"varint,2,opt,name=parentid,proto3" json:"parentid,omitempty"`
    Name                 string   `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
    Id       int32  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
    Parentid int32  `protobuf:"varint,2,opt,name=parentid,proto3" json:"parentid,omitempty"`
    Name     string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
}
func (m *Area) Reset()         { *m = Area{} }
@@ -371,23 +359,20 @@
//Camera结构体
type Camera struct {
    Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    Name                 string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
    Type                 int32    `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"`
    Addr                 string   `protobuf:"bytes,4,opt,name=addr,proto3" json:"addr,omitempty"`
    Areaid               int32    `protobuf:"varint,5,opt,name=areaid,proto3" json:"areaid,omitempty"`
    Longitude            float32  `protobuf:"fixed32,6,opt,name=longitude,proto3" json:"longitude,omitempty"`
    Latitude             float32  `protobuf:"fixed32,7,opt,name=latitude,proto3" json:"latitude,omitempty"`
    Rtsp                 string   `protobuf:"bytes,8,opt,name=rtsp,proto3" json:"rtsp,omitempty"`
    Ip                   string   `protobuf:"bytes,9,opt,name=ip,proto3" json:"ip,omitempty"`
    Port                 int32    `protobuf:"varint,10,opt,name=port,proto3" json:"port,omitempty"`
    Username             string   `protobuf:"bytes,11,opt,name=username,proto3" json:"username,omitempty"`
    Password             string   `protobuf:"bytes,12,opt,name=password,proto3" json:"password,omitempty"`
    Brand                string   `protobuf:"bytes,13,opt,name=brand,proto3" json:"brand,omitempty"`
    Reserved             string   `protobuf:"bytes,14,opt,name=reserved,proto3" json:"reserved,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
    Id        string  `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    Name      string  `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
    Type      int32   `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"`
    Addr      string  `protobuf:"bytes,4,opt,name=addr,proto3" json:"addr,omitempty"`
    Areaid    int32   `protobuf:"varint,5,opt,name=areaid,proto3" json:"areaid,omitempty"`
    Longitude float32 `protobuf:"fixed32,6,opt,name=longitude,proto3" json:"longitude,omitempty"`
    Latitude  float32 `protobuf:"fixed32,7,opt,name=latitude,proto3" json:"latitude,omitempty"`
    Rtsp      string  `protobuf:"bytes,8,opt,name=rtsp,proto3" json:"rtsp,omitempty"`
    Ip        string  `protobuf:"bytes,9,opt,name=ip,proto3" json:"ip,omitempty"`
    Port      int32   `protobuf:"varint,10,opt,name=port,proto3" json:"port,omitempty"`
    Username  string  `protobuf:"bytes,11,opt,name=username,proto3" json:"username,omitempty"`
    Password  string  `protobuf:"bytes,12,opt,name=password,proto3" json:"password,omitempty"`
    Brand     string  `protobuf:"bytes,13,opt,name=brand,proto3" json:"brand,omitempty"`
    Reserved  string  `protobuf:"bytes,14,opt,name=reserved,proto3" json:"reserved,omitempty"`
}
func (m *Camera) Reset()         { *m = Camera{} }
@@ -523,11 +508,8 @@
//摄像机的任务信息
type CameraAndTaskInfo struct {
    Camera               *Camera  `protobuf:"bytes,1,opt,name=camera,proto3" json:"camera,omitempty"`
    Tasks                []*Task  `protobuf:"bytes,2,rep,name=tasks,proto3" json:"tasks,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
    Camera *Camera `protobuf:"bytes,1,opt,name=camera,proto3" json:"camera,omitempty"`
    Tasks  []*Task `protobuf:"bytes,2,rep,name=tasks,proto3" json:"tasks,omitempty"`
}
func (m *CameraAndTaskInfo) Reset()         { *m = CameraAndTaskInfo{} }
@@ -579,17 +561,14 @@
//Task结构体
type Task struct {
    Taskid               string   `protobuf:"bytes,1,opt,name=taskid,proto3" json:"taskid,omitempty"`
    Taskname             string   `protobuf:"bytes,2,opt,name=taskname,proto3" json:"taskname,omitempty"`
    CreateAt             string   `protobuf:"bytes,3,opt,name=create_at,json=createAt,proto3" json:"create_at,omitempty"`
    CreateBy             string   `protobuf:"bytes,4,opt,name=create_by,json=createBy,proto3" json:"create_by,omitempty"`
    UpdateAt             string   `protobuf:"bytes,5,opt,name=update_at,json=updateAt,proto3" json:"update_at,omitempty"`
    Enable               bool     `protobuf:"varint,6,opt,name=enable,proto3" json:"enable,omitempty"`
    IsAlarm              bool     `protobuf:"varint,7,opt,name=is_alarm,json=isAlarm,proto3" json:"is_alarm,omitempty"`
    DelFlag              bool     `protobuf:"varint,8,opt,name=del_flag,json=delFlag,proto3" json:"del_flag,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
    Taskid   string `protobuf:"bytes,1,opt,name=taskid,proto3" json:"taskid,omitempty"`
    Taskname string `protobuf:"bytes,2,opt,name=taskname,proto3" json:"taskname,omitempty"`
    CreateAt string `protobuf:"bytes,3,opt,name=create_at,json=createAt,proto3" json:"create_at,omitempty"`
    CreateBy string `protobuf:"bytes,4,opt,name=create_by,json=createBy,proto3" json:"create_by,omitempty"`
    UpdateAt string `protobuf:"bytes,5,opt,name=update_at,json=updateAt,proto3" json:"update_at,omitempty"`
    Enable   bool   `protobuf:"varint,6,opt,name=enable,proto3" json:"enable,omitempty"`
    IsAlarm  bool   `protobuf:"varint,7,opt,name=is_alarm,json=isAlarm,proto3" json:"is_alarm,omitempty"`
    DelFlag  bool   `protobuf:"varint,8,opt,name=del_flag,json=delFlag,proto3" json:"del_flag,omitempty"`
}
func (m *Task) Reset()         { *m = Task{} }
@@ -682,11 +661,8 @@
}
type TaskSdkInfo struct {
    Task                 *Task    `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"`
    Sdks                 []*Sdk   `protobuf:"bytes,2,rep,name=sdks,proto3" json:"sdks,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
    Task *Task  `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"`
    Sdks []*Sdk `protobuf:"bytes,2,rep,name=sdks,proto3" json:"sdks,omitempty"`
}
func (m *TaskSdkInfo) Reset()         { *m = TaskSdkInfo{} }
@@ -738,21 +714,18 @@
//摄像机任务
type CameraTask 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"`
    TaskId               string    `protobuf:"bytes,3,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
    TimeRule             []*DayCtl `protobuf:"bytes,4,rep,name=time_rule,json=timeRule,proto3" json:"time_rule,omitempty"`
    ReactRule            string    `protobuf:"bytes,5,opt,name=react_rule,json=reactRule,proto3" json:"react_rule,omitempty"`
    ReactDevice          string    `protobuf:"bytes,6,opt,name=react_device,json=reactDevice,proto3" json:"react_device,omitempty"`
    DelFlag              bool      `protobuf:"varint,7,opt,name=del_flag,json=delFlag,proto3" json:"del_flag,omitempty"`
    UpdateFlag           bool      `protobuf:"varint,8,opt,name=update_flag,json=updateFlag,proto3" json:"update_flag,omitempty"`
    Enable               bool      `protobuf:"varint,9,opt,name=enable,proto3" json:"enable,omitempty"`
    Sort                 int32     `protobuf:"varint,10,opt,name=sort,proto3" json:"sort,omitempty"`
    IsFull               bool      `protobuf:"varint,11,opt,name=is_full,json=isFull,proto3" json:"is_full,omitempty"`
    LinkTaskId           string    `protobuf:"bytes,12,opt,name=link_task_id,json=linkTaskId,proto3" json:"link_task_id,omitempty"`
    XXX_NoUnkeyedLiteral struct{}  `json:"-"`
    XXX_unrecognized     []byte    `json:"-"`
    XXX_sizecache        int32     `json:"-"`
    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"`
    TaskId      string    `protobuf:"bytes,3,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
    TimeRule    []*DayCtl `protobuf:"bytes,4,rep,name=time_rule,json=timeRule,proto3" json:"time_rule,omitempty"`
    ReactRule   string    `protobuf:"bytes,5,opt,name=react_rule,json=reactRule,proto3" json:"react_rule,omitempty"`
    ReactDevice string    `protobuf:"bytes,6,opt,name=react_device,json=reactDevice,proto3" json:"react_device,omitempty"`
    DelFlag     bool      `protobuf:"varint,7,opt,name=del_flag,json=delFlag,proto3" json:"del_flag,omitempty"`
    UpdateFlag  bool      `protobuf:"varint,8,opt,name=update_flag,json=updateFlag,proto3" json:"update_flag,omitempty"`
    Enable      bool      `protobuf:"varint,9,opt,name=enable,proto3" json:"enable,omitempty"`
    Sort        int32     `protobuf:"varint,10,opt,name=sort,proto3" json:"sort,omitempty"`
    IsFull      bool      `protobuf:"varint,11,opt,name=is_full,json=isFull,proto3" json:"is_full,omitempty"`
    LinkTaskId  string    `protobuf:"bytes,12,opt,name=link_task_id,json=linkTaskId,proto3" json:"link_task_id,omitempty"`
}
func (m *CameraTask) Reset()         { *m = CameraTask{} }
@@ -874,12 +847,9 @@
//摄像机布防的时间规则,可以设置多个,用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:"-"`
    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"`
}
func (m *CameraTimerule) Reset()         { *m = CameraTimerule{} }
@@ -938,11 +908,8 @@
//DayCtl struct   每天的时间控制规则
type DayCtl struct {
    Day                  int32        `protobuf:"varint,1,opt,name=day,proto3" json:"day,omitempty"`
    TimeRange            []*TimeRange `protobuf:"bytes,2,rep,name=time_range,json=timeRange,proto3" json:"time_range,omitempty"`
    XXX_NoUnkeyedLiteral struct{}     `json:"-"`
    XXX_unrecognized     []byte       `json:"-"`
    XXX_sizecache        int32        `json:"-"`
    Day       int32        `protobuf:"varint,1,opt,name=day,proto3" json:"day,omitempty"`
    TimeRange []*TimeRange `protobuf:"bytes,2,rep,name=time_range,json=timeRange,proto3" json:"time_range,omitempty"`
}
func (m *DayCtl) Reset()         { *m = DayCtl{} }
@@ -994,11 +961,8 @@
//时间起始范围
type TimeRange struct {
    Start                string   `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"`
    End                  string   `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
    Start string `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"`
    End   string `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"`
}
func (m *TimeRange) Reset()         { *m = TimeRange{} }
@@ -1050,12 +1014,9 @@
//Polygon struct
type Polygon struct {
    Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    Name                 string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
    Points               []*Point `protobuf:"bytes,3,rep,name=points,proto3" json:"points,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
    Id     string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    Name   string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
    Points []*Point `protobuf:"bytes,3,rep,name=points,proto3" json:"points,omitempty"`
}
func (m *Polygon) Reset()         { *m = Polygon{} }
@@ -1113,11 +1074,8 @@
}
type CameraTaskArgs struct {
    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:"-"`
    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"`
}
func (m *CameraTaskArgs) Reset()         { *m = CameraTaskArgs{} }
@@ -1168,11 +1126,8 @@
}
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:"-"`
    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"`
}
func (m *TaskGroupArgs) Reset()         { *m = TaskGroupArgs{} }
@@ -1223,11 +1178,8 @@
}
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:"-"`
    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"`
}
func (m *GroupRule) Reset()         { *m = GroupRule{} }
@@ -1278,21 +1230,18 @@
}
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:"-"`
    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"`
}
func (m *Rule) Reset()         { *m = Rule{} }
@@ -1414,20 +1363,17 @@
//Sdk struct
type Sdk struct {
    Id                   string    `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    SdkType              string    `protobuf:"bytes,2,opt,name=sdk_type,json=sdkType,proto3" json:"sdk_type,omitempty"`
    SdkName              string    `protobuf:"bytes,3,opt,name=sdk_name,json=sdkName,proto3" json:"sdk_name,omitempty"`
    Args                 []*SdkArg `protobuf:"bytes,4,rep,name=args,proto3" json:"args,omitempty"`
    Icon                 string    `protobuf:"bytes,5,opt,name=icon,proto3" json:"icon,omitempty"`
    Url                  string    `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"`
    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              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:"-"`
    Id         string    `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    SdkType    string    `protobuf:"bytes,2,opt,name=sdk_type,json=sdkType,proto3" json:"sdk_type,omitempty"`
    SdkName    string    `protobuf:"bytes,3,opt,name=sdk_name,json=sdkName,proto3" json:"sdk_name,omitempty"`
    Args       []*SdkArg `protobuf:"bytes,4,rep,name=args,proto3" json:"args,omitempty"`
    Icon       string    `protobuf:"bytes,5,opt,name=icon,proto3" json:"icon,omitempty"`
    Url        string    `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"`
    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    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"`
}
func (m *Sdk) Reset()         { *m = Sdk{} }
@@ -1542,16 +1488,13 @@
//SdkArg struct
type SdkArg struct {
    Alias                string   `protobuf:"bytes,1,opt,name=alias,proto3" json:"alias,omitempty"`
    Name                 string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
    Type                 string   `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
    Must                 bool     `protobuf:"varint,4,opt,name=must,proto3" json:"must,omitempty"`
    Unit                 string   `protobuf:"bytes,5,opt,name=unit,proto3" json:"unit,omitempty"`
    Range                string   `protobuf:"bytes,6,opt,name=range,proto3" json:"range,omitempty"`
    Sort                 int32    `protobuf:"varint,7,opt,name=sort,proto3" json:"sort,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
    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"`
}
func (m *SdkArg) Reset()         { *m = SdkArg{} }
@@ -1638,13 +1581,10 @@
//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:"-"`
    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"`
}
func (m *DbChangeMessage) Reset()         { *m = DbChangeMessage{} }
@@ -1709,17 +1649,14 @@
}
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:"-"`
    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"`
}
func (m *CameraPolygon) Reset()         { *m = CameraPolygon{} }
@@ -1840,101 +1777,102 @@
func init() { proto.RegisterFile("protomsg.proto", fileDescriptor_32de24555f916688) }
var fileDescriptor_32de24555f916688 = []byte{
    // 1502 bytes of a gzipped FileDescriptorProto
    // 1510 bytes of a gzipped FileDescriptorProto
    0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xcd, 0x8e, 0xd4, 0xc6,
    0x16, 0xc6, 0xfd, 0x6b, 0x9f, 0xfe, 0xa1, 0xa9, 0xcb, 0x05, 0x03, 0x97, 0xb9, 0x83, 0xe1, 0xea,
    0x8e, 0xd0, 0x85, 0xc5, 0xc0, 0x0b, 0x34, 0x8c, 0xb8, 0x6a, 0x89, 0x20, 0xe2, 0x99, 0x90, 0x5d,
    0xac, 0xea, 0xae, 0x1a, 0x63, 0xb5, 0xdb, 0x6e, 0x55, 0x55, 0x43, 0x66, 0x91, 0x27, 0xc8, 0x22,
    0x5b, 0xde, 0x21, 0x2f, 0xc2, 0x32, 0x6f, 0x90, 0x88, 0x48, 0xd9, 0x44, 0x79, 0x87, 0xe8, 0x9c,
    0x2a, 0xbb, 0xdd, 0xc3, 0x24, 0x41, 0xd9, 0x9d, 0x3f, 0x9f, 0x3a, 0xe7, 0x3b, 0x7f, 0x86, 0xf1,
    0x5a, 0x95, 0xa6, 0x5c, 0xe9, 0xf4, 0x21, 0x11, 0xcc, 0xaf, 0xf8, 0x9b, 0x30, 0xe7, 0x5a, 0x5a,
    0x69, 0x64, 0x60, 0x7c, 0x2c, 0x96, 0x2b, 0x9d, 0x7e, 0x99, 0x99, 0xd7, 0x27, 0x5c, 0x2f, 0xd9,
    0x55, 0xe8, 0x6a, 0xb1, 0xcc, 0x44, 0xe8, 0xed, 0x7b, 0x07, 0x41, 0x6c, 0x19, 0x16, 0x42, 0x5f,
    0x8b, 0xa5, 0x39, 0x5b, 0xcb, 0xb0, 0x45, 0xf2, 0x8a, 0x75, 0x9a, 0x17, 0x7c, 0x25, 0xc3, 0x76,
    0xad, 0x41, 0xd6, 0x69, 0x04, 0x37, 0x3c, 0xec, 0xec, 0x7b, 0x07, 0xc3, 0xb8, 0x62, 0xa3, 0x6f,
    0x3d, 0x08, 0xf0, 0xb1, 0xe7, 0x7c, 0x2e, 0x73, 0x76, 0x0d, 0x7a, 0x86, 0xeb, 0xed, 0x93, 0x8e,
    0x63, 0x37, 0xc1, 0x47, 0xaa, 0x40, 0xd7, 0xf6, 0xd1, 0x9a, 0x67, 0x8f, 0xc1, 0xc7, 0xc0, 0x8a,
    0xd3, 0x52, 0x87, 0xed, 0xfd, 0xf6, 0xc1, 0xe0, 0x30, 0x7c, 0x58, 0x27, 0xbc, 0x9b, 0x51, 0x5c,
    0x5b, 0x62, 0x6e, 0x59, 0x21, 0xe4, 0xd7, 0x14, 0x4f, 0x37, 0xb6, 0x4c, 0xf4, 0x16, 0xe0, 0x58,
    0x2c, 0x3f, 0x93, 0x5a, 0xf3, 0x54, 0xb2, 0x09, 0xb4, 0x17, 0x75, 0x28, 0x48, 0xe2, 0x57, 0x0b,
    0x2e, 0x84, 0x72, 0x41, 0x58, 0x86, 0x3d, 0x80, 0x3e, 0x46, 0x93, 0xf3, 0x39, 0xe5, 0x3d, 0x38,
    0xfc, 0xc7, 0x36, 0x80, 0x3a, 0xb7, 0xb8, 0xb2, 0x61, 0x0c, 0x3a, 0x0d, 0x24, 0x88, 0x8e, 0x9e,
    0x41, 0x67, 0xaa, 0x24, 0x67, 0x63, 0x68, 0xb9, 0x17, 0xbb, 0x71, 0xcb, 0x26, 0xbe, 0xe6, 0x4a,
    0x16, 0x26, 0x13, 0xf4, 0x66, 0x37, 0xae, 0x79, 0xf4, 0x53, 0x6c, 0xb1, 0x26, 0x3a, 0x7a, 0xdf,
    0x82, 0xde, 0x53, 0xbe, 0x92, 0xaa, 0xe9, 0x2a, 0x20, 0x57, 0x95, 0x79, 0x6b, 0x6b, 0x8e, 0x32,
    0x2a, 0x64, 0x9b, 0x5c, 0x13, 0x8d, 0x32, 0x4a, 0xb1, 0x63, 0xed, 0x28, 0xc3, 0x6b, 0xd0, 0xe3,
    0x4a, 0xf2, 0x4c, 0x84, 0x5d, 0xb2, 0x74, 0x1c, 0xfb, 0x17, 0x04, 0x79, 0x59, 0xa4, 0x99, 0xd9,
    0x08, 0x19, 0xf6, 0xf6, 0xbd, 0x83, 0x56, 0xbc, 0x15, 0x60, 0xf0, 0x39, 0x37, 0x56, 0xd9, 0x27,
    0x65, 0xcd, 0xe3, 0x2b, 0xca, 0xe8, 0x75, 0xe8, 0xdb, 0x57, 0x90, 0xa6, 0x88, 0xd7, 0x61, 0xe0,
    0x22, 0x5e, 0xa3, 0xcd, 0xba, 0x54, 0x26, 0x04, 0x1b, 0x1d, 0xd2, 0xe8, 0x73, 0xa3, 0xa5, 0xa2,
    0x4c, 0x06, 0xb6, 0x13, 0x2a, 0xde, 0x82, 0xa5, 0xf5, 0xdb, 0x52, 0x89, 0x70, 0x68, 0x75, 0x15,
    0x8f, 0x95, 0x9b, 0x2b, 0x5e, 0x88, 0x70, 0x64, 0x2b, 0x47, 0x0c, 0x7e, 0xa1, 0xa4, 0x96, 0xea,
    0x8d, 0x14, 0xe1, 0xd8, 0x7e, 0x51, 0xf1, 0xd1, 0x02, 0xae, 0x58, 0x24, 0xa7, 0x85, 0xc0, 0x2a,
    0xce, 0x8a, 0xd3, 0x92, 0x1d, 0x40, 0x6f, 0x41, 0x42, 0x02, 0x76, 0x70, 0x38, 0xd9, 0x56, 0xda,
    0x1a, 0xc7, 0x4e, 0xcf, 0xee, 0x41, 0x17, 0x0b, 0xae, 0xc3, 0x16, 0xf5, 0xe4, 0x78, 0xb7, 0x25,
    0x62, 0xab, 0x8c, 0x7e, 0xf4, 0xa0, 0x43, 0xb3, 0xf6, 0x77, 0x3a, 0xff, 0x16, 0x04, 0x0b, 0x25,
    0xb9, 0x91, 0x09, 0x37, 0xae, 0x0b, 0x7c, 0x2b, 0x98, 0x9a, 0x86, 0x72, 0x7e, 0xe6, 0x6a, 0xe9,
    0x94, 0x4f, 0xce, 0x50, 0xb9, 0x59, 0x0b, 0xf7, 0x65, 0xd7, 0xc1, 0x48, 0x82, 0xa9, 0xc1, 0x50,
    0x64, 0xc1, 0xe7, 0xb9, 0xad, 0xa8, 0x1f, 0x3b, 0x8e, 0xdd, 0x00, 0x3f, 0xd3, 0x09, 0xcf, 0xb9,
    0x5a, 0x51, 0x39, 0xfd, 0xb8, 0x9f, 0xe9, 0x29, 0xb2, 0xa8, 0x12, 0x32, 0x4f, 0x4e, 0x73, 0x9e,
    0x52, 0x45, 0xfd, 0xb8, 0x2f, 0x64, 0xfe, 0x2c, 0xe7, 0x69, 0x74, 0x02, 0x03, 0x4c, 0xf0, 0x58,
    0x58, 0x00, 0x23, 0xe8, 0x60, 0xfc, 0x0e, 0xbe, 0xf3, 0xa8, 0x90, 0x8e, 0xdd, 0x81, 0x8e, 0x16,
    0x35, 0x72, 0xa3, 0x9d, 0x69, 0x8e, 0x49, 0x15, 0xfd, 0xd2, 0x02, 0xb0, 0x80, 0x13, 0x7a, 0xe7,
    0x7b, 0x1d, 0x93, 0x27, 0x6d, 0xe2, 0xe6, 0x06, 0x93, 0x27, 0xc1, 0x4c, 0xb0, 0xeb, 0x76, 0x5c,
    0x51, 0xd5, 0xde, 0x62, 0x3d, 0x13, 0xec, 0x01, 0x04, 0x26, 0x5b, 0xc9, 0x44, 0x6d, 0x72, 0x19,
    0x76, 0xe8, 0xf1, 0x46, 0x7d, 0x8f, 0xf8, 0xd9, 0x53, 0x93, 0xc7, 0x3e, 0x9a, 0xc4, 0x9b, 0x5c,
    0xb2, 0xdb, 0x00, 0x4a, 0xf2, 0x85, 0xb1, 0xf6, 0x16, 0xc5, 0x80, 0x24, 0xa4, 0xbe, 0x03, 0x43,
    0xab, 0x16, 0xf2, 0x4d, 0xb6, 0xb0, 0x60, 0x06, 0xf1, 0x80, 0x64, 0x47, 0x24, 0xda, 0x81, 0xad,
    0xbf, 0x03, 0x1b, 0xfb, 0x37, 0x0c, 0x5c, 0x85, 0x1a, 0xa0, 0x82, 0x15, 0x91, 0xc1, 0xb6, 0x4a,
    0xc1, 0x4e, 0x95, 0x18, 0x74, 0x74, 0x63, 0x68, 0x90, 0xc6, 0x8c, 0x33, 0x9d, 0x9c, 0x6e, 0xf2,
    0x9c, 0x66, 0xc6, 0x8f, 0x7b, 0x99, 0x7e, 0xb6, 0xc9, 0x73, 0xb6, 0x0f, 0xc3, 0x3c, 0x2b, 0x96,
    0x49, 0x85, 0x87, 0x9d, 0x1a, 0x40, 0x19, 0xb5, 0xbc, 0x88, 0x3e, 0x87, 0xb1, 0xc3, 0x39, 0x5b,
    0x49, 0x4c, 0xf4, 0x93, 0xf6, 0xca, 0xad, 0x26, 0x92, 0xae, 0x33, 0x2b, 0xdc, 0xa2, 0x17, 0xd0,
    0xb3, 0x58, 0xe2, 0x82, 0x15, 0xfc, 0xcc, 0xad, 0x3b, 0x24, 0xd9, 0x21, 0x80, 0xfd, 0x90, 0x17,
    0xa9, 0x74, 0x0d, 0xd0, 0xdc, 0xa6, 0xe8, 0x03, 0x55, 0x31, 0xf9, 0x27, 0x32, 0x7a, 0x04, 0x41,
    0x2d, 0xa7, 0x9b, 0x65, 0xb8, 0x32, 0xf5, 0xcd, 0x42, 0x06, 0x1f, 0x92, 0x45, 0xd5, 0x09, 0x48,
    0x46, 0xaf, 0xa0, 0xff, 0xb2, 0xcc, 0xcf, 0xd2, 0xb2, 0xf8, 0xa4, 0x84, 0xfe, 0x0b, 0xbd, 0x75,
    0x99, 0x15, 0xa6, 0x3a, 0x31, 0x97, 0xb7, 0x31, 0xbd, 0x44, 0x79, 0xec, 0xd4, 0xd1, 0xa2, 0xc6,
    0x8b, 0xeb, 0xe5, 0x54, 0xa5, 0x7a, 0xb7, 0x17, 0xbd, 0x73, 0xbd, 0xf8, 0x18, 0x02, 0xc2, 0x9e,
    0xab, 0xb4, 0xea, 0xf7, 0xeb, 0xbb, 0x33, 0xf1, 0x7f, 0x55, 0x6e, 0xd6, 0xe8, 0xc8, 0x0e, 0x3e,
    0x52, 0xd1, 0x57, 0x30, 0xda, 0x51, 0x35, 0x5b, 0xda, 0xdb, 0x69, 0xe9, 0xc7, 0x30, 0x48, 0xd1,
    0x8a, 0x2a, 0xa1, 0x3f, 0x06, 0x94, 0x5c, 0x60, 0x55, 0x62, 0x48, 0x2b, 0x52, 0x47, 0xcf, 0x21,
    0xa8, 0x15, 0xd8, 0xa4, 0xd6, 0x45, 0xed, 0xbc, 0x4f, 0xfc, 0x4c, 0xe0, 0x8e, 0x6b, 0xfa, 0x6d,
    0x4c, 0x33, 0xb9, 0xb4, 0xca, 0xe8, 0xd7, 0x16, 0x74, 0xe2, 0x8b, 0x3a, 0xe7, 0x1e, 0x8c, 0x1d,
    0x32, 0x55, 0xf0, 0x16, 0xf2, 0xe1, 0xa2, 0x46, 0x70, 0x76, 0x6e, 0x96, 0xdb, 0xe7, 0xf0, 0xbb,
    0x0d, 0xb0, 0xb6, 0x65, 0x44, 0xad, 0x5d, 0x73, 0x81, 0x93, 0xcc, 0x04, 0xfb, 0x27, 0xf4, 0xb4,
    0x20, 0xcf, 0xdd, 0xfa, 0x17, 0x66, 0x26, 0x58, 0x04, 0x23, 0x14, 0x73, 0x95, 0x26, 0x3c, 0xcf,
    0xb8, 0xae, 0x66, 0x53, 0x0b, 0xc4, 0x77, 0x8a, 0x22, 0x5c, 0xbc, 0xe5, 0x5a, 0x2a, 0x6e, 0x4a,
    0x45, 0xb3, 0x19, 0xc4, 0x35, 0xcf, 0xee, 0xc2, 0xa8, 0xa2, 0x13, 0xba, 0x9f, 0xf6, 0x8a, 0x0d,
    0x2b, 0xe1, 0x09, 0xde, 0xd1, 0xc6, 0x23, 0x6f, 0x78, 0xbe, 0x91, 0xee, 0xb0, 0xb9, 0x47, 0x5e,
    0xa1, 0xe8, 0xc2, 0x61, 0x8d, 0x60, 0x84, 0xb8, 0x25, 0x6f, 0x33, 0xf3, 0x3a, 0x59, 0xab, 0xea,
    0xcc, 0x0d, 0x50, 0x88, 0x3f, 0x32, 0x2f, 0xd5, 0x6e, 0x4d, 0x86, 0x3b, 0x35, 0x89, 0xbe, 0x6f,
    0x41, 0xfb, 0x58, 0x7c, 0xbc, 0x12, 0x6f, 0xd0, 0x6f, 0x52, 0x72, 0xee, 0xbf, 0x8d, 0x22, 0x75,
    0xaa, 0xe2, 0x82, 0x1f, 0xb7, 0x7b, 0xd0, 0xa1, 0xd6, 0xfc, 0x68, 0x1b, 0x1e, 0x53, 0x16, 0x31,
    0x69, 0x31, 0x8d, 0x6c, 0x51, 0x16, 0x0e, 0x64, 0xa2, 0x71, 0xe4, 0x36, 0x2a, 0x77, 0xc8, 0x22,
    0x89, 0x2b, 0xcd, 0x5d, 0x24, 0x9c, 0x5d, 0x07, 0x2a, 0x58, 0x11, 0x0e, 0x70, 0x63, 0xe7, 0x91,
    0x81, 0x05, 0xd5, 0xed, 0x3c, 0x32, 0xd8, 0xb9, 0x69, 0xc1, 0xb9, 0x9b, 0x16, 0x42, 0xdf, 0xae,
    0x40, 0x41, 0x70, 0xfa, 0x71, 0xc5, 0xee, 0xac, 0xd9, 0x01, 0x21, 0x5d, 0x5f, 0xa7, 0x77, 0x1e,
    0xf4, 0x6c, 0x2a, 0xb8, 0x39, 0x6c, 0x33, 0xb8, 0xcd, 0x41, 0xcc, 0x5f, 0xfe, 0x35, 0x05, 0xdb,
    0xbf, 0xa6, 0xd5, 0x46, 0x1b, 0x6a, 0x41, 0x3f, 0x26, 0x1a, 0x65, 0x9b, 0x22, 0xab, 0x0e, 0x2c,
    0xd1, 0xf8, 0x8a, 0xdd, 0x6d, 0x16, 0x18, 0xcb, 0xd4, 0x7d, 0xd0, 0xdf, 0xf6, 0x41, 0xf4, 0x9d,
    0x07, 0x97, 0x8f, 0xe6, 0x4f, 0x5f, 0xa3, 0x41, 0xf5, 0x47, 0xfa, 0x3f, 0xfc, 0xa9, 0xc0, 0x9d,
    0x8f, 0x31, 0x8e, 0x0f, 0xaf, 0x35, 0x57, 0xc5, 0x3c, 0x97, 0xd6, 0x58, 0xc4, 0xd6, 0xc8, 0xb5,
    0x40, 0xab, 0x6e, 0x81, 0xfb, 0xd0, 0xe3, 0x0b, 0x93, 0x95, 0x05, 0x45, 0x3e, 0x3e, 0x64, 0x8d,
    0xe3, 0x36, 0x9f, 0x92, 0x26, 0x76, 0x16, 0x54, 0xd2, 0xe2, 0xb4, 0xac, 0xfe, 0x02, 0x91, 0x8e,
    0x7e, 0xf3, 0x60, 0x64, 0x97, 0xdb, 0x1f, 0xad, 0xce, 0x3f, 0xbd, 0xbb, 0x17, 0xfc, 0xaf, 0x62,
    0xd1, 0xdc, 0xb4, 0xba, 0x97, 0x2a, 0x16, 0xcf, 0xa7, 0x51, 0x59, 0x9a, 0x4a, 0x95, 0xe4, 0x59,
    0x51, 0xdd, 0xd7, 0x81, 0x93, 0x3d, 0xcf, 0x0a, 0xc9, 0xfe, 0x03, 0x63, 0x91, 0x29, 0x49, 0x01,
    0x5b, 0x23, 0x0b, 0xea, 0xa8, 0x96, 0x92, 0x59, 0x55, 0xae, 0x7e, 0xa3, 0x5c, 0x77, 0x61, 0x24,
    0xe4, 0xa9, 0x2c, 0x16, 0x32, 0xd1, 0x86, 0x1b, 0xdb, 0x6c, 0xdd, 0x78, 0xe8, 0x84, 0xc7, 0x28,
    0xbb, 0xff, 0x0d, 0x0c, 0x9b, 0xb0, 0xb2, 0x21, 0xf8, 0x27, 0x89, 0x05, 0x60, 0x72, 0x89, 0x4d,
    0x60, 0x58, 0x71, 0xb8, 0xa9, 0x26, 0x1e, 0xbb, 0x0a, 0x93, 0xa6, 0x04, 0x37, 0xf3, 0xa4, 0xc5,
    0x00, 0x7a, 0x27, 0x09, 0x59, 0xb4, 0xd9, 0x08, 0x02, 0x4b, 0x1f, 0x8b, 0xe5, 0xa4, 0xc3, 0xae,
    0xc0, 0xa8, 0x66, 0x71, 0x43, 0x4e, 0xba, 0x2c, 0x80, 0xee, 0x49, 0x82, 0xda, 0xde, 0xfd, 0x87,
    0xe0, 0x57, 0x65, 0x41, 0x27, 0xb3, 0x42, 0x4b, 0x65, 0x26, 0x97, 0x90, 0xfe, 0x82, 0x66, 0x62,
    0xe2, 0x21, 0x7d, 0x24, 0x73, 0x69, 0xe4, 0xa4, 0xf5, 0x64, 0xf2, 0xfe, 0xc3, 0x9e, 0xf7, 0xc3,
    0x87, 0x3d, 0xef, 0xa7, 0x0f, 0x7b, 0xde, 0xbb, 0x9f, 0xf7, 0x2e, 0xcd, 0x7b, 0x54, 0xdf, 0x47,
    0xbf, 0x07, 0x00, 0x00, 0xff, 0xff, 0xda, 0x99, 0x43, 0xef, 0x01, 0x0e, 0x00, 0x00,
    0x13, 0x5f, 0xcf, 0xb7, 0x6b, 0x3e, 0x18, 0xfa, 0xcf, 0x1f, 0x0c, 0x84, 0xcd, 0x62, 0x88, 0xb2,
    0x42, 0x81, 0xc3, 0xc2, 0x0b, 0x0c, 0xac, 0x88, 0x46, 0x22, 0x88, 0x78, 0x37, 0xe4, 0x16, 0xab,
    0x67, 0xba, 0xd7, 0x58, 0xe3, 0xb1, 0x47, 0xdd, 0x3d, 0x90, 0x3d, 0xe4, 0x09, 0x72, 0x48, 0x8e,
    0x79, 0x87, 0xbc, 0x08, 0x47, 0x8e, 0xb9, 0x25, 0x02, 0x29, 0x97, 0x28, 0xef, 0x10, 0x55, 0x75,
    0xdb, 0xe3, 0x59, 0x36, 0x09, 0xca, 0xad, 0xbe, 0x5c, 0x5d, 0xf5, 0xab, 0x2f, 0xc3, 0x68, 0xa5,
    0x0a, 0x53, 0x2c, 0x75, 0x72, 0x8f, 0x08, 0xd6, 0x2b, 0xf9, 0x6b, 0x30, 0xe3, 0x5a, 0x5a, 0x69,
    0x68, 0x60, 0x74, 0x24, 0x16, 0x4b, 0x9d, 0x7c, 0x9d, 0x9a, 0x17, 0xc7, 0x5c, 0x2f, 0xd8, 0x25,
    0x68, 0x6b, 0xb1, 0x48, 0x45, 0xe0, 0xed, 0x79, 0xfb, 0x7e, 0x64, 0x19, 0x16, 0x40, 0x57, 0x8b,
    0x85, 0x39, 0x5d, 0xc9, 0xa0, 0x41, 0xf2, 0x92, 0x75, 0x9a, 0xa7, 0x7c, 0x29, 0x83, 0x66, 0xa5,
    0x41, 0xd6, 0x69, 0x04, 0x37, 0x3c, 0x68, 0xed, 0x79, 0xfb, 0x83, 0xa8, 0x64, 0xc3, 0xef, 0x3d,
    0xf0, 0xf1, 0xb1, 0x27, 0x7c, 0x26, 0x33, 0x76, 0x19, 0x3a, 0x86, 0xeb, 0xcd, 0x93, 0x8e, 0x63,
    0xd7, 0xa0, 0x87, 0x54, 0x8e, 0xae, 0xed, 0xa3, 0x15, 0xcf, 0x1e, 0x40, 0x0f, 0x03, 0xcb, 0x4f,
    0x0a, 0x1d, 0x34, 0xf7, 0x9a, 0xfb, 0xfd, 0x83, 0xe0, 0x5e, 0x95, 0xf0, 0x76, 0x46, 0x51, 0x65,
    0x89, 0xb9, 0xa5, 0xb9, 0x90, 0xdf, 0x52, 0x3c, 0xed, 0xc8, 0x32, 0xe1, 0x2b, 0x80, 0x23, 0xb1,
    0xf8, 0x42, 0x6a, 0xcd, 0x13, 0xc9, 0xc6, 0xd0, 0x9c, 0x57, 0xa1, 0x20, 0x89, 0x5f, 0xcd, 0xb9,
    0x10, 0xca, 0x05, 0x61, 0x19, 0x76, 0x17, 0xba, 0x18, 0x4d, 0xc6, 0x67, 0x94, 0x77, 0xff, 0xe0,
    0x7f, 0x9b, 0x00, 0xaa, 0xdc, 0xa2, 0xd2, 0x86, 0x31, 0x68, 0xd5, 0x90, 0x20, 0x3a, 0x7c, 0x0c,
    0xad, 0x89, 0x92, 0x9c, 0x8d, 0xa0, 0xe1, 0x5e, 0x6c, 0x47, 0x0d, 0x9b, 0xf8, 0x8a, 0x2b, 0x99,
    0x9b, 0x54, 0xd0, 0x9b, 0xed, 0xa8, 0xe2, 0xd1, 0x4f, 0xbe, 0xc1, 0x9a, 0xe8, 0xf0, 0x75, 0x03,
    0x3a, 0x8f, 0xf8, 0x52, 0xaa, 0xba, 0x2b, 0x9f, 0x5c, 0x95, 0xe6, 0x8d, 0x8d, 0x39, 0xca, 0xa8,
    0x90, 0x4d, 0x72, 0x4d, 0x34, 0xca, 0x28, 0xc5, 0x96, 0xb5, 0xa3, 0x0c, 0x2f, 0x43, 0x87, 0x2b,
    0xc9, 0x53, 0x11, 0xb4, 0xc9, 0xd2, 0x71, 0xec, 0x23, 0xf0, 0xb3, 0x22, 0x4f, 0x52, 0xb3, 0x16,
    0x32, 0xe8, 0xec, 0x79, 0xfb, 0x8d, 0x68, 0x23, 0xc0, 0xe0, 0x33, 0x6e, 0xac, 0xb2, 0x4b, 0xca,
    0x8a, 0xc7, 0x57, 0x94, 0xd1, 0xab, 0xa0, 0x67, 0x5f, 0x41, 0x9a, 0x22, 0x5e, 0x05, 0xbe, 0x8b,
    0x78, 0x85, 0x36, 0xab, 0x42, 0x99, 0x00, 0x6c, 0x74, 0x48, 0xa3, 0xcf, 0xb5, 0x96, 0x8a, 0x32,
    0xe9, 0xdb, 0x4e, 0x28, 0x79, 0x0b, 0x96, 0xd6, 0xaf, 0x0a, 0x25, 0x82, 0x81, 0xd5, 0x95, 0x3c,
    0x56, 0x6e, 0xa6, 0x78, 0x2e, 0x82, 0xa1, 0xad, 0x1c, 0x31, 0xf8, 0x85, 0x92, 0x5a, 0xaa, 0x97,
    0x52, 0x04, 0x23, 0xfb, 0x45, 0xc9, 0x87, 0x73, 0xb8, 0x68, 0x91, 0x9c, 0xe4, 0x02, 0xab, 0x38,
    0xcd, 0x4f, 0x0a, 0xb6, 0x0f, 0x9d, 0x39, 0x09, 0x09, 0xd8, 0xfe, 0xc1, 0x78, 0x53, 0x69, 0x6b,
    0x1c, 0x39, 0x3d, 0xbb, 0x0d, 0x6d, 0x2c, 0xb8, 0x0e, 0x1a, 0xd4, 0x93, 0xa3, 0xed, 0x96, 0x88,
    0xac, 0x32, 0xfc, 0xd5, 0x83, 0x16, 0xcd, 0xda, 0x7f, 0xe9, 0xfc, 0xeb, 0xe0, 0xcf, 0x95, 0xe4,
    0x46, 0xc6, 0xdc, 0xb8, 0x2e, 0xe8, 0x59, 0xc1, 0xc4, 0xd4, 0x94, 0xb3, 0x53, 0x57, 0x4b, 0xa7,
    0x7c, 0x78, 0x8a, 0xca, 0xf5, 0x4a, 0xb8, 0x2f, 0xdb, 0x0e, 0x46, 0x12, 0x4c, 0x0c, 0x86, 0x22,
    0x73, 0x3e, 0xcb, 0x6c, 0x45, 0x7b, 0x91, 0xe3, 0xd8, 0x55, 0xe8, 0xa5, 0x3a, 0xe6, 0x19, 0x57,
    0x4b, 0x2a, 0x67, 0x2f, 0xea, 0xa6, 0x7a, 0x82, 0x2c, 0xaa, 0x84, 0xcc, 0xe2, 0x93, 0x8c, 0x27,
    0x54, 0xd1, 0x5e, 0xd4, 0x15, 0x32, 0x7b, 0x9c, 0xf1, 0x24, 0x3c, 0x86, 0x3e, 0x26, 0x78, 0x24,
    0x2c, 0x80, 0x21, 0xb4, 0x30, 0x7e, 0x07, 0xdf, 0x59, 0x54, 0x48, 0xc7, 0x6e, 0x42, 0x4b, 0x8b,
    0x0a, 0xb9, 0xe1, 0xd6, 0x34, 0x47, 0xa4, 0x0a, 0x7f, 0x6f, 0x00, 0x58, 0xc0, 0x09, 0xbd, 0xb3,
    0xbd, 0x8e, 0xc9, 0x93, 0x36, 0x76, 0x73, 0x83, 0xc9, 0x93, 0x60, 0x2a, 0xd8, 0x15, 0x3b, 0xae,
    0xa8, 0x6a, 0x6e, 0xb0, 0x9e, 0x0a, 0x76, 0x17, 0x7c, 0x93, 0x2e, 0x65, 0xac, 0xd6, 0x99, 0x0c,
    0x5a, 0xf4, 0x78, 0xad, 0xbe, 0x87, 0xfc, 0xf4, 0x91, 0xc9, 0xa2, 0x1e, 0x9a, 0x44, 0xeb, 0x4c,
    0xb2, 0x1b, 0x00, 0x4a, 0xf2, 0xb9, 0xb1, 0xf6, 0x16, 0x45, 0x9f, 0x24, 0xa4, 0xbe, 0x09, 0x03,
    0xab, 0x16, 0xf2, 0x65, 0x3a, 0xb7, 0x60, 0xfa, 0x51, 0x9f, 0x64, 0x87, 0x24, 0xda, 0x82, 0xad,
    0xbb, 0x05, 0x1b, 0xfb, 0x18, 0xfa, 0xae, 0x42, 0x35, 0x50, 0xc1, 0x8a, 0xc8, 0x60, 0x53, 0x25,
    0x7f, 0xab, 0x4a, 0x0c, 0x5a, 0xba, 0x36, 0x34, 0x48, 0x63, 0xc6, 0xa9, 0x8e, 0x4f, 0xd6, 0x59,
    0x46, 0x33, 0xd3, 0x8b, 0x3a, 0xa9, 0x7e, 0xbc, 0xce, 0x32, 0xb6, 0x07, 0x83, 0x2c, 0xcd, 0x17,
    0x71, 0x89, 0x87, 0x9d, 0x1a, 0x40, 0x19, 0xb5, 0xbc, 0x08, 0xbf, 0x84, 0x91, 0xc3, 0x39, 0x5d,
    0x4a, 0x4c, 0xf4, 0x83, 0xf6, 0xca, 0xf5, 0x3a, 0x92, 0xae, 0x33, 0x4b, 0xdc, 0xc2, 0xa7, 0xd0,
    0xb1, 0x58, 0xe2, 0x82, 0x15, 0xfc, 0xd4, 0xad, 0x3b, 0x24, 0xd9, 0x01, 0x80, 0xfd, 0x90, 0xe7,
    0x89, 0x74, 0x0d, 0x50, 0xdf, 0xa6, 0xe8, 0x03, 0x55, 0x11, 0xf9, 0x27, 0x32, 0xbc, 0x0f, 0x7e,
    0x25, 0xa7, 0x9b, 0x65, 0xb8, 0x32, 0xd5, 0xcd, 0x42, 0x06, 0x1f, 0x92, 0x79, 0xd9, 0x09, 0x48,
    0x86, 0xcf, 0xa1, 0xfb, 0xac, 0xc8, 0x4e, 0x93, 0x22, 0xff, 0xa0, 0x84, 0x3e, 0x85, 0xce, 0xaa,
    0x48, 0x73, 0x53, 0x9e, 0x98, 0x0b, 0x9b, 0x98, 0x9e, 0xa1, 0x3c, 0x72, 0xea, 0x70, 0x5e, 0xe1,
    0xc5, 0xf5, 0x62, 0xa2, 0x12, 0xbd, 0xdd, 0x8b, 0xde, 0x99, 0x5e, 0x7c, 0x00, 0x3e, 0x61, 0xcf,
    0x55, 0x52, 0xf6, 0xfb, 0x95, 0xed, 0x99, 0xf8, 0x5c, 0x15, 0xeb, 0x15, 0x3a, 0xb2, 0x83, 0x8f,
    0x54, 0xf8, 0x0d, 0x0c, 0xb7, 0x54, 0xf5, 0x96, 0xf6, 0xb6, 0x5a, 0xfa, 0x01, 0xf4, 0x13, 0xb4,
    0xa2, 0x4a, 0xe8, 0xf7, 0x01, 0x25, 0x17, 0x58, 0x95, 0x08, 0x92, 0x92, 0xd4, 0xe1, 0x13, 0xf0,
    0x2b, 0x05, 0x36, 0xa9, 0x75, 0x51, 0x39, 0xef, 0x12, 0x3f, 0x15, 0xb8, 0xe3, 0xea, 0x7e, 0x6b,
    0xd3, 0x4c, 0x2e, 0xad, 0x32, 0xfc, 0xa3, 0x01, 0xad, 0xe8, 0xbc, 0xce, 0xb9, 0x0d, 0x23, 0x87,
    0x4c, 0x19, 0xbc, 0x85, 0x7c, 0x30, 0xaf, 0x10, 0x9c, 0x9e, 0x99, 0xe5, 0xe6, 0x19, 0xfc, 0x6e,
    0x00, 0xac, 0x6c, 0x19, 0x51, 0x6b, 0xd7, 0x9c, 0xef, 0x24, 0x53, 0xc1, 0xfe, 0x0f, 0x1d, 0x2d,
    0xc8, 0x73, 0xbb, 0xfa, 0x85, 0x99, 0x0a, 0x16, 0xc2, 0x10, 0xc5, 0x5c, 0x25, 0x31, 0xcf, 0x52,
    0xae, 0xcb, 0xd9, 0xd4, 0x02, 0xf1, 0x9d, 0xa0, 0x08, 0x17, 0x6f, 0xb1, 0x92, 0x8a, 0x9b, 0x42,
    0xd1, 0x6c, 0xfa, 0x51, 0xc5, 0xb3, 0x5b, 0x30, 0x2c, 0xe9, 0x98, 0xee, 0xa7, 0xbd, 0x62, 0x83,
    0x52, 0x78, 0x8c, 0x77, 0xb4, 0xf6, 0xc8, 0x4b, 0x9e, 0xad, 0xa5, 0x3b, 0x6c, 0xee, 0x91, 0xe7,
    0x28, 0x3a, 0x77, 0x58, 0x43, 0x18, 0x22, 0x6e, 0xf1, 0xab, 0xd4, 0xbc, 0x88, 0x57, 0xaa, 0x3c,
    0x73, 0x7d, 0x14, 0xe2, 0x8f, 0xcc, 0x33, 0xb5, 0x5d, 0x93, 0xc1, 0x56, 0x4d, 0xc2, 0x9f, 0x1b,
    0xd0, 0x3c, 0x12, 0xef, 0xaf, 0xc4, 0xab, 0xf4, 0x9b, 0x14, 0x9f, 0xf9, 0x6f, 0xa3, 0x48, 0x9d,
    0x2a, 0x3f, 0xe7, 0xc7, 0xed, 0x36, 0xb4, 0xa8, 0x35, 0xdf, 0xdb, 0x86, 0x47, 0x94, 0x45, 0x44,
    0x5a, 0x4c, 0x23, 0x9d, 0x17, 0xb9, 0x03, 0x99, 0x68, 0x1c, 0xb9, 0xb5, 0xca, 0x1c, 0xb2, 0x48,
    0xe2, 0x4a, 0x73, 0x17, 0x09, 0x67, 0xd7, 0x81, 0x0a, 0x56, 0x84, 0x03, 0x5c, 0xdb, 0x79, 0x64,
    0x60, 0x41, 0x75, 0x3b, 0x8f, 0x0c, 0xb6, 0x6e, 0x9a, 0x7f, 0xe6, 0xa6, 0x05, 0xd0, 0xb5, 0x2b,
    0x50, 0x10, 0x9c, 0xbd, 0xa8, 0x64, 0xb7, 0xd6, 0x6c, 0x9f, 0x90, 0xae, 0xae, 0xd3, 0x4f, 0x1e,
    0x74, 0x6c, 0x2a, 0xb8, 0x39, 0x6c, 0x33, 0xb8, 0xcd, 0x41, 0xcc, 0xbf, 0xfe, 0x35, 0xf9, 0x9b,
    0xbf, 0xa6, 0xe5, 0x5a, 0x1b, 0x6a, 0xc1, 0x5e, 0x44, 0x34, 0xca, 0xd6, 0x79, 0x5a, 0x1e, 0x58,
    0xa2, 0xf1, 0x15, 0xbb, 0xdb, 0x2c, 0x30, 0x96, 0xa9, 0xfa, 0xa0, 0xbb, 0xe9, 0x83, 0xf0, 0x07,
    0x0f, 0x2e, 0x1c, 0xce, 0x1e, 0xbd, 0x40, 0x83, 0xf2, 0x8f, 0xf4, 0x33, 0xfc, 0xa9, 0xc0, 0x9d,
    0x8f, 0x31, 0x8e, 0x0e, 0x2e, 0xd7, 0x57, 0xc5, 0x2c, 0x93, 0xd6, 0x58, 0x44, 0xd6, 0xc8, 0xb5,
    0x40, 0xa3, 0x6a, 0x81, 0x3b, 0xd0, 0xe1, 0x73, 0x93, 0x16, 0x39, 0x45, 0x3e, 0x3a, 0x60, 0xb5,
    0xe3, 0x36, 0x9b, 0x90, 0x26, 0x72, 0x16, 0x54, 0xd2, 0xfc, 0xa4, 0x28, 0xff, 0x02, 0x91, 0x0e,
    0xff, 0xf4, 0x60, 0x68, 0x97, 0xdb, 0xdf, 0xad, 0xce, 0x7f, 0xbc, 0xbb, 0xe7, 0xfc, 0xaf, 0x62,
    0xd1, 0xdc, 0xb4, 0xba, 0x97, 0x4a, 0x16, 0xcf, 0xa7, 0x51, 0x69, 0x92, 0x48, 0x15, 0x67, 0x69,
    0x5e, 0xde, 0xd7, 0xbe, 0x93, 0x3d, 0x49, 0x73, 0xc9, 0x3e, 0x81, 0x91, 0x48, 0x95, 0xa4, 0x80,
    0xad, 0x91, 0x05, 0x75, 0x58, 0x49, 0xc9, 0xac, 0x2c, 0x57, 0xb7, 0x56, 0xae, 0x5b, 0x30, 0x14,
    0xf2, 0x44, 0xe6, 0x73, 0x19, 0x6b, 0xc3, 0x8d, 0x6d, 0xb6, 0x76, 0x34, 0x70, 0xc2, 0x23, 0x94,
    0xdd, 0xf9, 0x0e, 0x06, 0x75, 0x58, 0xd9, 0x00, 0x7a, 0xc7, 0xb1, 0x05, 0x60, 0xbc, 0xc3, 0xc6,
    0x30, 0x28, 0x39, 0xdc, 0x54, 0x63, 0x8f, 0x5d, 0x82, 0x71, 0x5d, 0x82, 0x9b, 0x79, 0xdc, 0x60,
    0x00, 0x9d, 0xe3, 0x98, 0x2c, 0x9a, 0x6c, 0x08, 0xbe, 0xa5, 0x8f, 0xc4, 0x62, 0xdc, 0x62, 0x17,
    0x61, 0x58, 0xb1, 0xb8, 0x21, 0xc7, 0x6d, 0xe6, 0x43, 0xfb, 0x38, 0x46, 0x6d, 0xe7, 0xce, 0x3d,
    0xe8, 0x95, 0x65, 0x41, 0x27, 0xd3, 0x5c, 0x4b, 0x65, 0xc6, 0x3b, 0x48, 0x7f, 0x45, 0x33, 0x31,
    0xf6, 0x90, 0x3e, 0x94, 0x99, 0x34, 0x72, 0xdc, 0x78, 0x18, 0xbc, 0x7e, 0xbb, 0xeb, 0xbd, 0x79,
    0xbb, 0xeb, 0xfd, 0xf6, 0x76, 0xd7, 0xfb, 0xf1, 0xdd, 0xee, 0xce, 0x9b, 0x77, 0xbb, 0x3b, 0xbf,
    0xbc, 0xdb, 0xdd, 0x99, 0x75, 0xa8, 0xce, 0xf7, 0xff, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x0c, 0x37,
    0x07, 0x38, 0x09, 0x0e, 0x00, 0x00,
}
func (m *SdkmsgWithTask) Marshal() (dAtA []byte, err error) {
@@ -1975,9 +1913,6 @@
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Sdkdata)))
        i += copy(dAtA[i:], m.Sdkdata)
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -2026,9 +1961,6 @@
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(m.Index))
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -2075,9 +2007,6 @@
        i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Data)))
        i += copy(dAtA[i:], m.Data)
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -2111,9 +2040,6 @@
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Name)))
        i += copy(dAtA[i:], m.Name)
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -2214,9 +2140,6 @@
        i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Reserved)))
        i += copy(dAtA[i:], m.Reserved)
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -2256,9 +2179,6 @@
            }
            i += n
        }
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -2338,9 +2258,6 @@
        }
        i++
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -2380,9 +2297,6 @@
            }
            i += n
        }
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -2495,9 +2409,6 @@
        i = encodeVarintProtomsg(dAtA, i, uint64(len(m.LinkTaskId)))
        i += copy(dAtA[i:], m.LinkTaskId)
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -2534,9 +2445,6 @@
        i = encodeVarintProtomsg(dAtA, i, uint64(len(m.TimeRule)))
        i += copy(dAtA[i:], m.TimeRule)
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -2572,9 +2480,6 @@
            i += n
        }
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -2604,9 +2509,6 @@
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(len(m.End)))
        i += copy(dAtA[i:], m.End)
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -2650,9 +2552,6 @@
            i += n
        }
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -2688,9 +2587,6 @@
            }
            i += n
        }
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -2728,9 +2624,6 @@
            i += n
        }
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -2766,9 +2659,6 @@
            }
            i += n
        }
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -2858,9 +2748,6 @@
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(len(m.GroupId)))
        i += copy(dAtA[i:], m.GroupId)
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -2955,9 +2842,6 @@
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(m.DelFlag))
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -3021,9 +2905,6 @@
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(m.Sort))
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -3063,9 +2944,6 @@
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Info)))
        i += copy(dAtA[i:], m.Info)
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -3132,9 +3010,6 @@
        i++
        i = encodeVarintProtomsg(dAtA, i, uint64(m.DefenceState))
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -3169,9 +3044,6 @@
    if l > 0 {
        n += 1 + l + sovProtomsg(uint64(l))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -3198,9 +3070,6 @@
    if m.Index != 0 {
        n += 1 + sovProtomsg(uint64(m.Index))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -3226,9 +3095,6 @@
    if l > 0 {
        n += 1 + l + sovProtomsg(uint64(l))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -3247,9 +3113,6 @@
    l = len(m.Name)
    if l > 0 {
        n += 1 + l + sovProtomsg(uint64(l))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -3311,9 +3174,6 @@
    if l > 0 {
        n += 1 + l + sovProtomsg(uint64(l))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -3332,9 +3192,6 @@
            l = e.Size()
            n += 1 + l + sovProtomsg(uint64(l))
        }
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -3374,9 +3231,6 @@
    if m.DelFlag {
        n += 2
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -3395,9 +3249,6 @@
            l = e.Size()
            n += 1 + l + sovProtomsg(uint64(l))
        }
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -3453,9 +3304,6 @@
    if l > 0 {
        n += 1 + l + sovProtomsg(uint64(l))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -3477,9 +3325,6 @@
    if l > 0 {
        n += 1 + l + sovProtomsg(uint64(l))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -3498,9 +3343,6 @@
            n += 1 + l + sovProtomsg(uint64(l))
        }
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -3517,9 +3359,6 @@
    l = len(m.End)
    if l > 0 {
        n += 1 + l + sovProtomsg(uint64(l))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -3544,9 +3383,6 @@
            n += 1 + l + sovProtomsg(uint64(l))
        }
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -3565,9 +3401,6 @@
            l = e.Size()
            n += 1 + l + sovProtomsg(uint64(l))
        }
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -3588,9 +3421,6 @@
            n += 1 + l + sovProtomsg(uint64(l))
        }
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -3609,9 +3439,6 @@
            l = e.Size()
            n += 1 + l + sovProtomsg(uint64(l))
        }
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -3669,9 +3496,6 @@
    if l > 0 {
        n += 1 + l + sovProtomsg(uint64(l))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -3725,9 +3549,6 @@
    if m.DelFlag != 0 {
        n += 1 + sovProtomsg(uint64(m.DelFlag))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -3763,9 +3584,6 @@
    if m.Sort != 0 {
        n += 1 + sovProtomsg(uint64(m.Sort))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -3788,9 +3606,6 @@
    l = len(m.Info)
    if l > 0 {
        n += 1 + l + sovProtomsg(uint64(l))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -3831,9 +3646,6 @@
    }
    if m.DefenceState != 0 {
        n += 1 + sovProtomsg(uint64(m.DefenceState))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -4025,7 +3837,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -4196,7 +4007,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -4384,7 +4194,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -4508,7 +4317,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -4929,7 +4737,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -5053,7 +4860,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -5327,7 +5133,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -5451,7 +5256,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -5830,7 +5634,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -5980,7 +5783,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -6087,7 +5889,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -6205,7 +6006,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -6357,7 +6157,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -6477,7 +6276,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -6597,7 +6395,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -6717,7 +6514,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -7142,7 +6938,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -7525,7 +7320,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -7778,7 +7572,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -7934,7 +7727,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -8231,7 +8023,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
sdk.pb.go
@@ -6,7 +6,7 @@
import (
    encoding_binary "encoding/binary"
    fmt "fmt"
    proto "github.com/golang/protobuf/proto"
    proto "github.com/gogo/protobuf/proto"
    io "io"
    math "math"
)
@@ -20,16 +20,13 @@
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
// Image ipc struct
type Image struct {
    Width                int32    `protobuf:"varint,1,opt,name=width,proto3" json:"width,omitempty"`
    Height               int32    `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
    Data                 []byte   `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
    Width  int32  `protobuf:"varint,1,opt,name=width,proto3" json:"width,omitempty"`
    Height int32  `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
    Data   []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
}
func (m *Image) Reset()         { *m = Image{} }
@@ -87,13 +84,10 @@
}
type FaceAngle struct {
    Yaw                  int32    `protobuf:"varint,1,opt,name=yaw,proto3" json:"yaw,omitempty"`
    Pitch                int32    `protobuf:"varint,2,opt,name=pitch,proto3" json:"pitch,omitempty"`
    Roll                 int32    `protobuf:"varint,3,opt,name=roll,proto3" json:"roll,omitempty"`
    Confidence           float32  `protobuf:"fixed32,4,opt,name=confidence,proto3" json:"confidence,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
    Yaw        int32   `protobuf:"varint,1,opt,name=yaw,proto3" json:"yaw,omitempty"`
    Pitch      int32   `protobuf:"varint,2,opt,name=pitch,proto3" json:"pitch,omitempty"`
    Roll       int32   `protobuf:"varint,3,opt,name=roll,proto3" json:"roll,omitempty"`
    Confidence float32 `protobuf:"fixed32,4,opt,name=confidence,proto3" json:"confidence,omitempty"`
}
func (m *FaceAngle) Reset()         { *m = FaceAngle{} }
@@ -158,14 +152,11 @@
}
type ThftResult struct {
    Gender               int32    `protobuf:"varint,1,opt,name=gender,proto3" json:"gender,omitempty"`
    Age                  int32    `protobuf:"varint,2,opt,name=age,proto3" json:"age,omitempty"`
    Race                 int32    `protobuf:"varint,3,opt,name=race,proto3" json:"race,omitempty"`
    Beauty               int32    `protobuf:"varint,4,opt,name=beauty,proto3" json:"beauty,omitempty"`
    Smile                int32    `protobuf:"varint,5,opt,name=smile,proto3" json:"smile,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
    Gender int32 `protobuf:"varint,1,opt,name=gender,proto3" json:"gender,omitempty"`
    Age    int32 `protobuf:"varint,2,opt,name=age,proto3" json:"age,omitempty"`
    Race   int32 `protobuf:"varint,3,opt,name=race,proto3" json:"race,omitempty"`
    Beauty int32 `protobuf:"varint,4,opt,name=beauty,proto3" json:"beauty,omitempty"`
    Smile  int32 `protobuf:"varint,5,opt,name=smile,proto3" json:"smile,omitempty"`
}
func (m *ThftResult) Reset()         { *m = ThftResult{} }
@@ -237,17 +228,14 @@
}
type FacePos struct {
    RcFace               *Rect      `protobuf:"bytes,1,opt,name=rcFace,proto3" json:"rcFace,omitempty"`
    PtLeftEye            *Point     `protobuf:"bytes,2,opt,name=ptLeftEye,proto3" json:"ptLeftEye,omitempty"`
    PtRightEye           *Point     `protobuf:"bytes,3,opt,name=ptRightEye,proto3" json:"ptRightEye,omitempty"`
    PtMouth              *Point     `protobuf:"bytes,4,opt,name=ptMouth,proto3" json:"ptMouth,omitempty"`
    PtNose               *Point     `protobuf:"bytes,5,opt,name=ptNose,proto3" json:"ptNose,omitempty"`
    FAngle               *FaceAngle `protobuf:"bytes,6,opt,name=fAngle,proto3" json:"fAngle,omitempty"`
    Quality              int32      `protobuf:"varint,7,opt,name=quality,proto3" json:"quality,omitempty"`
    FacialData           []byte     `protobuf:"bytes,8,opt,name=facialData,proto3" json:"facialData,omitempty"`
    XXX_NoUnkeyedLiteral struct{}   `json:"-"`
    XXX_unrecognized     []byte     `json:"-"`
    XXX_sizecache        int32      `json:"-"`
    RcFace     *Rect      `protobuf:"bytes,1,opt,name=rcFace,proto3" json:"rcFace,omitempty"`
    PtLeftEye  *Point     `protobuf:"bytes,2,opt,name=ptLeftEye,proto3" json:"ptLeftEye,omitempty"`
    PtRightEye *Point     `protobuf:"bytes,3,opt,name=ptRightEye,proto3" json:"ptRightEye,omitempty"`
    PtMouth    *Point     `protobuf:"bytes,4,opt,name=ptMouth,proto3" json:"ptMouth,omitempty"`
    PtNose     *Point     `protobuf:"bytes,5,opt,name=ptNose,proto3" json:"ptNose,omitempty"`
    FAngle     *FaceAngle `protobuf:"bytes,6,opt,name=fAngle,proto3" json:"fAngle,omitempty"`
    Quality    int32      `protobuf:"varint,7,opt,name=quality,proto3" json:"quality,omitempty"`
    FacialData []byte     `protobuf:"bytes,8,opt,name=facialData,proto3" json:"facialData,omitempty"`
}
func (m *FacePos) Reset()         { *m = FacePos{} }
@@ -340,18 +328,15 @@
}
type FaceInfo struct {
    RcFace               *Rect      `protobuf:"bytes,1,opt,name=rcFace,proto3" json:"rcFace,omitempty"`
    PtLeftEye            *Point     `protobuf:"bytes,2,opt,name=ptLeftEye,proto3" json:"ptLeftEye,omitempty"`
    PtRightEye           *Point     `protobuf:"bytes,3,opt,name=ptRightEye,proto3" json:"ptRightEye,omitempty"`
    PtMouth              *Point     `protobuf:"bytes,4,opt,name=ptMouth,proto3" json:"ptMouth,omitempty"`
    PtNose               *Point     `protobuf:"bytes,5,opt,name=ptNose,proto3" json:"ptNose,omitempty"`
    FAngle               *FaceAngle `protobuf:"bytes,6,opt,name=fAngle,proto3" json:"fAngle,omitempty"`
    Quality              int32      `protobuf:"varint,7,opt,name=quality,proto3" json:"quality,omitempty"`
    FacialData           []byte     `protobuf:"bytes,8,opt,name=facialData,proto3" json:"facialData,omitempty"`
    FaceID               int64      `protobuf:"varint,9,opt,name=faceID,proto3" json:"faceID,omitempty"`
    XXX_NoUnkeyedLiteral struct{}   `json:"-"`
    XXX_unrecognized     []byte     `json:"-"`
    XXX_sizecache        int32      `json:"-"`
    RcFace     *Rect      `protobuf:"bytes,1,opt,name=rcFace,proto3" json:"rcFace,omitempty"`
    PtLeftEye  *Point     `protobuf:"bytes,2,opt,name=ptLeftEye,proto3" json:"ptLeftEye,omitempty"`
    PtRightEye *Point     `protobuf:"bytes,3,opt,name=ptRightEye,proto3" json:"ptRightEye,omitempty"`
    PtMouth    *Point     `protobuf:"bytes,4,opt,name=ptMouth,proto3" json:"ptMouth,omitempty"`
    PtNose     *Point     `protobuf:"bytes,5,opt,name=ptNose,proto3" json:"ptNose,omitempty"`
    FAngle     *FaceAngle `protobuf:"bytes,6,opt,name=fAngle,proto3" json:"fAngle,omitempty"`
    Quality    int32      `protobuf:"varint,7,opt,name=quality,proto3" json:"quality,omitempty"`
    FacialData []byte     `protobuf:"bytes,8,opt,name=facialData,proto3" json:"facialData,omitempty"`
    FaceID     int64      `protobuf:"varint,9,opt,name=faceID,proto3" json:"faceID,omitempty"`
}
func (m *FaceInfo) Reset()         { *m = FaceInfo{} }
@@ -451,12 +436,9 @@
}
type ObjInfo struct {
    RcObj                *Rect    `protobuf:"bytes,1,opt,name=rcObj,proto3" json:"rcObj,omitempty"`
    Typ                  int32    `protobuf:"varint,2,opt,name=typ,proto3" json:"typ,omitempty"`
    Prob                 float32  `protobuf:"fixed32,3,opt,name=prob,proto3" json:"prob,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
    RcObj *Rect   `protobuf:"bytes,1,opt,name=rcObj,proto3" json:"rcObj,omitempty"`
    Typ   int32   `protobuf:"varint,2,opt,name=typ,proto3" json:"typ,omitempty"`
    Prob  float32 `protobuf:"fixed32,3,opt,name=prob,proto3" json:"prob,omitempty"`
}
func (m *ObjInfo) Reset()         { *m = ObjInfo{} }
@@ -515,11 +497,8 @@
// sdk face property
type ResultFaceDetect struct {
    Pos                  *FacePos    `protobuf:"bytes,1,opt,name=pos,proto3" json:"pos,omitempty"`
    Result               *ThftResult `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"`
    XXX_NoUnkeyedLiteral struct{}    `json:"-"`
    XXX_unrecognized     []byte      `json:"-"`
    XXX_sizecache        int32       `json:"-"`
    Pos    *FacePos    `protobuf:"bytes,1,opt,name=pos,proto3" json:"pos,omitempty"`
    Result *ThftResult `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"`
}
func (m *ResultFaceDetect) Reset()         { *m = ResultFaceDetect{} }
@@ -570,10 +549,7 @@
}
type ParamFacePos struct {
    Faces                []*ResultFaceDetect `protobuf:"bytes,1,rep,name=faces,proto3" json:"faces,omitempty"`
    XXX_NoUnkeyedLiteral struct{}            `json:"-"`
    XXX_unrecognized     []byte              `json:"-"`
    XXX_sizecache        int32               `json:"-"`
    Faces []*ResultFaceDetect `protobuf:"bytes,1,rep,name=faces,proto3" json:"faces,omitempty"`
}
func (m *ParamFacePos) Reset()         { *m = ParamFacePos{} }
@@ -617,10 +593,7 @@
}
type ParamFaceFeature struct {
    Feats                [][]byte `protobuf:"bytes,1,rep,name=feats,proto3" json:"feats,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
    Feats [][]byte `protobuf:"bytes,1,rep,name=feats,proto3" json:"feats,omitempty"`
}
func (m *ParamFaceFeature) Reset()         { *m = ParamFaceFeature{} }
@@ -665,11 +638,8 @@
// sdk face extract
type ParamFaceCompare struct {
    Feat1                []byte   `protobuf:"bytes,1,opt,name=feat1,proto3" json:"feat1,omitempty"`
    Feat2                []byte   `protobuf:"bytes,2,opt,name=feat2,proto3" json:"feat2,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
    Feat1 []byte `protobuf:"bytes,1,opt,name=feat1,proto3" json:"feat1,omitempty"`
    Feat2 []byte `protobuf:"bytes,2,opt,name=feat2,proto3" json:"feat2,omitempty"`
}
func (m *ParamFaceCompare) Reset()         { *m = ParamFaceCompare{} }
@@ -721,10 +691,7 @@
// sdk yolo detect
type ParamYoloObj struct {
    Infos                []*ObjInfo `protobuf:"bytes,1,rep,name=infos,proto3" json:"infos,omitempty"`
    XXX_NoUnkeyedLiteral struct{}   `json:"-"`
    XXX_unrecognized     []byte     `json:"-"`
    XXX_sizecache        int32      `json:"-"`
    Infos []*ObjInfo `protobuf:"bytes,1,rep,name=infos,proto3" json:"infos,omitempty"`
}
func (m *ParamYoloObj) Reset()         { *m = ParamYoloObj{} }
@@ -784,46 +751,46 @@
func init() { proto.RegisterFile("sdk.proto", fileDescriptor_70decb0fb6f436df) }
var fileDescriptor_70decb0fb6f436df = []byte{
    // 615 bytes of a gzipped FileDescriptorProto
    // 624 bytes of a gzipped FileDescriptorProto
    0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x54, 0x4d, 0x6f, 0xd3, 0x4c,
    0x10, 0x7e, 0x1d, 0xd7, 0x4e, 0x33, 0xad, 0x5e, 0xc2, 0x52, 0x21, 0xab, 0x87, 0x28, 0x32, 0x88,
    0x1a, 0x01, 0x85, 0x86, 0x03, 0x37, 0xc4, 0x47, 0xa9, 0x54, 0x09, 0x68, 0xb4, 0x82, 0x03, 0xc7,
    0xb5, 0xb3, 0xfe, 0x28, 0x8e, 0xd7, 0xd8, 0x1b, 0x15, 0xff, 0x13, 0x7e, 0x12, 0x07, 0x0e, 0xfc,
    0x04, 0x54, 0xc4, 0xff, 0x40, 0xb3, 0xbb, 0x8e, 0x5d, 0x29, 0x9c, 0xb8, 0x72, 0xca, 0x3c, 0x33,
    0x8f, 0xe7, 0xe3, 0x99, 0x9d, 0xc0, 0xa8, 0x5e, 0x7c, 0x3c, 0x2c, 0x2b, 0x21, 0x05, 0xd9, 0x56,
    0x3f, 0xcb, 0x3a, 0xd9, 0x87, 0x90, 0xd5, 0x5c, 0x7b, 0xfd, 0x53, 0x70, 0x4e, 0x97, 0x2c, 0xe1,
    0x64, 0x0f, 0x9c, 0x8b, 0x6c, 0x21, 0x53, 0xcf, 0x9a, 0x5a, 0x81, 0x43, 0x35, 0x20, 0x37, 0xc1,
    0x4d, 0x79, 0x96, 0xa4, 0xd2, 0x1b, 0x28, 0xb7, 0x41, 0x84, 0xc0, 0xd6, 0x82, 0x49, 0xe6, 0xd9,
    0x53, 0x2b, 0xd8, 0xa5, 0xca, 0xf6, 0x13, 0x18, 0x9d, 0xb0, 0x88, 0x3f, 0x2f, 0x92, 0x9c, 0x93,
    0x31, 0xd8, 0x0d, 0xbb, 0x30, 0xc9, 0xd0, 0xc4, 0x02, 0x65, 0x26, 0xa3, 0xd4, 0x64, 0xd2, 0x00,
    0x13, 0x55, 0x22, 0xcf, 0x55, 0x22, 0x87, 0x2a, 0x9b, 0x4c, 0x00, 0x22, 0x51, 0xc4, 0xd9, 0x82,
    0x17, 0x11, 0xf7, 0xb6, 0xa6, 0x56, 0x30, 0xa0, 0x3d, 0x8f, 0xff, 0x19, 0xe0, 0x5d, 0x1a, 0x4b,
    0xca, 0xeb, 0x55, 0x2e, 0xb1, 0xc5, 0x84, 0x17, 0x0b, 0x5e, 0x99, 0x62, 0x06, 0x61, 0x07, 0x2c,
    0xe1, 0xa6, 0x1a, 0x9a, 0xaa, 0x16, 0x8b, 0xf8, 0xba, 0x16, 0x8b, 0x38, 0x7e, 0x1d, 0x72, 0xb6,
    0x92, 0x8d, 0xaa, 0xe3, 0x50, 0x83, 0xb0, 0xdb, 0x7a, 0x99, 0xe5, 0xdc, 0x73, 0x74, 0xb7, 0x0a,
    0xf8, 0xdf, 0x06, 0x30, 0xc4, 0x19, 0xe7, 0xa2, 0x26, 0x77, 0xc0, 0xad, 0x22, 0x04, 0xaa, 0xee,
    0xce, 0xec, 0xff, 0xc3, 0x56, 0xe0, 0x43, 0xca, 0x23, 0x49, 0x4d, 0x94, 0x3c, 0x80, 0x51, 0x29,
    0x5f, 0xf3, 0x58, 0xbe, 0x6a, 0x74, 0x37, 0x3b, 0xb3, 0x6b, 0x1d, 0x75, 0x2e, 0xb2, 0x42, 0xd2,
    0x8e, 0x41, 0x1e, 0x02, 0x94, 0x92, 0xa2, 0xc8, 0xc8, 0xb7, 0x37, 0xf3, 0x7b, 0x14, 0x72, 0x17,
    0x86, 0xa5, 0x7c, 0x23, 0x56, 0x32, 0x55, 0x23, 0x6c, 0x60, 0xb7, 0x71, 0x72, 0x00, 0x6e, 0x29,
    0xdf, 0x8a, 0x5a, 0x4f, 0xb5, 0x81, 0x69, 0xc2, 0xe4, 0x1e, 0xb8, 0xb1, 0xda, 0xa3, 0xe7, 0x2a,
    0xe2, 0x8d, 0x8e, 0xb8, 0x5e, 0x31, 0x35, 0x14, 0xe2, 0xc1, 0xf0, 0xd3, 0x8a, 0xe5, 0x99, 0x6c,
    0xbc, 0xa1, 0x12, 0xab, 0x85, 0xb8, 0xc8, 0x98, 0x45, 0x19, 0xcb, 0x8f, 0xf1, 0xad, 0x6c, 0xab,
    0xb7, 0xd2, 0xf3, 0xf8, 0xbf, 0x06, 0xb0, 0x8d, 0xf9, 0x4e, 0x8b, 0x58, 0xfc, 0xd3, 0xf3, 0xaf,
    0xf5, 0xc4, 0xc7, 0x1c, 0xa3, 0x9c, 0xc7, 0xde, 0x68, 0x6a, 0x05, 0x36, 0x35, 0xc8, 0x7f, 0x0f,
    0xc3, 0xb3, 0xf0, 0x5c, 0xa9, 0x7c, 0x1b, 0x9c, 0x2a, 0x3a, 0x0b, 0xcf, 0xff, 0x20, 0xb2, 0x0e,
    0xe2, 0xed, 0xc8, 0xa6, 0x6c, 0x6f, 0x47, 0x36, 0x25, 0xde, 0x4e, 0x59, 0x89, 0x50, 0x09, 0x38,
    0xa0, 0xca, 0xf6, 0x39, 0x8c, 0xf5, 0x0d, 0xe2, 0x0c, 0xc7, 0x5c, 0xf2, 0x48, 0x92, 0x5b, 0x60,
    0x97, 0xa2, 0x36, 0xd9, 0xaf, 0x5f, 0x1d, 0x73, 0x2e, 0x6a, 0x8a, 0x51, 0x72, 0x1f, 0xdc, 0x4a,
    0x7d, 0x68, 0xf6, 0xb7, 0xd7, 0xf1, 0xba, 0xc3, 0xa6, 0x86, 0xe3, 0x3f, 0x83, 0xdd, 0x39, 0xab,
    0xd8, 0xb2, 0x3d, 0xbc, 0x47, 0xe0, 0xe0, 0x5c, 0x58, 0xc4, 0x0e, 0x76, 0x66, 0xfb, 0xfd, 0x11,
    0xae, 0x76, 0x43, 0x35, 0xd1, 0x0f, 0x60, 0xbc, 0xce, 0x70, 0xc2, 0x99, 0x5c, 0x55, 0xea, 0xff,
    0x2e, 0xe6, 0x4c, 0xea, 0x2c, 0xbb, 0x54, 0x03, 0xff, 0x69, 0x8f, 0xf9, 0x52, 0x2c, 0x4b, 0xd6,
    0x31, 0x8f, 0xd4, 0x50, 0x86, 0x79, 0xd4, 0x7a, 0x67, 0x6a, 0x04, 0xe3, 0x9d, 0xf9, 0x4f, 0x4c,
    0xaf, 0x1f, 0x44, 0x2e, 0x50, 0xc8, 0x03, 0x70, 0xb2, 0x22, 0x16, 0x6d, 0xaf, 0x3d, 0x41, 0xcc,
    0x42, 0xa8, 0x8e, 0xbf, 0x18, 0x7f, 0xbd, 0x9c, 0x58, 0xdf, 0x2f, 0x27, 0xd6, 0x8f, 0xcb, 0x89,
    0xf5, 0xe5, 0xe7, 0xe4, 0xbf, 0xd0, 0x55, 0xd4, 0xc7, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x64,
    0xac, 0xaa, 0x80, 0xc3, 0x05, 0x00, 0x00,
    0x10, 0xae, 0x93, 0xda, 0x69, 0xa6, 0xd5, 0xfb, 0x96, 0xa5, 0x42, 0x56, 0x0f, 0x56, 0x64, 0x10,
    0x35, 0x02, 0x0a, 0x0d, 0x07, 0x6e, 0x88, 0x8f, 0x52, 0xa9, 0x12, 0xd0, 0x68, 0x05, 0x07, 0x8e,
    0x6b, 0x67, 0xfd, 0x51, 0x1c, 0xaf, 0xb1, 0x37, 0x2a, 0xfe, 0x17, 0xfc, 0x2c, 0x0e, 0x1c, 0x7a,
    0xe4, 0x88, 0x5a, 0xf1, 0x3f, 0xd0, 0xec, 0xae, 0x6b, 0x57, 0x0a, 0x27, 0xae, 0x9c, 0x32, 0xcf,
    0xcc, 0xe3, 0xf9, 0x78, 0x66, 0x27, 0x30, 0xae, 0xe7, 0x9f, 0xf6, 0xcb, 0x4a, 0x48, 0x41, 0x36,
    0xd4, 0xcf, 0xa2, 0x4e, 0x76, 0x21, 0x64, 0x35, 0xd7, 0x5e, 0xff, 0x18, 0xec, 0xe3, 0x05, 0x4b,
    0x38, 0xd9, 0x01, 0xfb, 0x2c, 0x9b, 0xcb, 0xd4, 0xb5, 0x26, 0x56, 0x60, 0x53, 0x0d, 0xc8, 0x2d,
    0x70, 0x52, 0x9e, 0x25, 0xa9, 0x74, 0x07, 0xca, 0x6d, 0x10, 0x21, 0xb0, 0x3e, 0x67, 0x92, 0xb9,
    0xc3, 0x89, 0x15, 0x6c, 0x51, 0x65, 0xfb, 0x09, 0x8c, 0x8f, 0x58, 0xc4, 0x5f, 0x14, 0x49, 0xce,
    0xc9, 0x36, 0x0c, 0x1b, 0x76, 0x66, 0x92, 0xa1, 0x89, 0x05, 0xca, 0x4c, 0x46, 0xa9, 0xc9, 0xa4,
    0x01, 0x26, 0xaa, 0x44, 0x9e, 0xab, 0x44, 0x36, 0x55, 0x36, 0xf1, 0x00, 0x22, 0x51, 0xc4, 0xd9,
    0x9c, 0x17, 0x11, 0x77, 0xd7, 0x27, 0x56, 0x30, 0xa0, 0x3d, 0x8f, 0xff, 0x05, 0xe0, 0x7d, 0x1a,
    0x4b, 0xca, 0xeb, 0x65, 0x2e, 0xb1, 0xc5, 0x84, 0x17, 0x73, 0x5e, 0x99, 0x62, 0x06, 0x61, 0x07,
    0x2c, 0xe1, 0xa6, 0x1a, 0x9a, 0xaa, 0x16, 0x8b, 0xf8, 0x55, 0x2d, 0x16, 0x71, 0xfc, 0x3a, 0xe4,
    0x6c, 0x29, 0x1b, 0x55, 0xc7, 0xa6, 0x06, 0x61, 0xb7, 0xf5, 0x22, 0xcb, 0xb9, 0x6b, 0xeb, 0x6e,
    0x15, 0xf0, 0xbf, 0x0f, 0x60, 0x84, 0x33, 0xce, 0x44, 0x4d, 0xee, 0x82, 0x53, 0x45, 0x08, 0x54,
    0xdd, 0xcd, 0xe9, 0x7f, 0xfb, 0xad, 0xc0, 0xfb, 0x94, 0x47, 0x92, 0x9a, 0x28, 0x79, 0x08, 0xe3,
    0x52, 0xbe, 0xe1, 0xb1, 0x7c, 0xdd, 0xe8, 0x6e, 0x36, 0xa7, 0xff, 0x77, 0xd4, 0x99, 0xc8, 0x0a,
    0x49, 0x3b, 0x06, 0x79, 0x04, 0x50, 0x4a, 0x8a, 0x22, 0x23, 0x7f, 0xb8, 0x9a, 0xdf, 0xa3, 0x90,
    0x7b, 0x30, 0x2a, 0xe5, 0x5b, 0xb1, 0x94, 0xa9, 0x1a, 0x61, 0x05, 0xbb, 0x8d, 0x93, 0x3d, 0x70,
    0x4a, 0xf9, 0x4e, 0xd4, 0x7a, 0xaa, 0x15, 0x4c, 0x13, 0x26, 0xf7, 0xc1, 0x89, 0xd5, 0x1e, 0x5d,
    0x47, 0x11, 0x6f, 0x76, 0xc4, 0xab, 0x15, 0x53, 0x43, 0x21, 0x2e, 0x8c, 0x3e, 0x2f, 0x59, 0x9e,
    0xc9, 0xc6, 0x1d, 0x29, 0xb1, 0x5a, 0x88, 0x8b, 0x8c, 0x59, 0x94, 0xb1, 0xfc, 0x10, 0xdf, 0xca,
    0x86, 0x7a, 0x2b, 0x3d, 0x8f, 0xff, 0x6b, 0x00, 0x1b, 0x98, 0xef, 0xb8, 0x88, 0xc5, 0x3f, 0x3d,
    0xff, 0x5a, 0x4f, 0x7c, 0xcc, 0x31, 0xca, 0x79, 0xe8, 0x8e, 0x27, 0x56, 0x30, 0xa4, 0x06, 0xf9,
    0x1f, 0x60, 0x74, 0x12, 0x9e, 0x2a, 0x95, 0xef, 0x80, 0x5d, 0x45, 0x27, 0xe1, 0xe9, 0x1f, 0x44,
    0xd6, 0x41, 0xbc, 0x1d, 0xd9, 0x94, 0xed, 0xed, 0xc8, 0xa6, 0xc4, 0xdb, 0x29, 0x2b, 0x11, 0x2a,
    0x01, 0x07, 0x54, 0xd9, 0x3e, 0x87, 0x6d, 0x7d, 0x83, 0x38, 0xc3, 0x21, 0x97, 0x3c, 0x92, 0xe4,
    0x36, 0x0c, 0x4b, 0x51, 0x9b, 0xec, 0x37, 0xae, 0x8f, 0x39, 0x13, 0x35, 0xc5, 0x28, 0x79, 0x00,
    0x4e, 0xa5, 0x3e, 0x34, 0xfb, 0xdb, 0xe9, 0x78, 0xdd, 0x61, 0x53, 0xc3, 0xf1, 0x9f, 0xc3, 0xd6,
    0x8c, 0x55, 0x6c, 0xd1, 0x1e, 0xde, 0x63, 0xb0, 0x71, 0x2e, 0x2c, 0x32, 0x0c, 0x36, 0xa7, 0xbb,
    0xfd, 0x11, 0xae, 0x77, 0x43, 0x35, 0xd1, 0x0f, 0x60, 0xfb, 0x2a, 0xc3, 0x11, 0x67, 0x72, 0x59,
    0xa9, 0xff, 0xbb, 0x98, 0x33, 0xa9, 0xb3, 0x6c, 0x51, 0x0d, 0xfc, 0x67, 0x3d, 0xe6, 0x2b, 0xb1,
    0x28, 0x59, 0xc7, 0x3c, 0x50, 0x43, 0x19, 0xe6, 0x41, 0xeb, 0x9d, 0xaa, 0x11, 0x8c, 0x77, 0xea,
    0x3f, 0x35, 0xbd, 0x7e, 0x14, 0xb9, 0x40, 0x21, 0xf7, 0xc0, 0xce, 0x8a, 0x58, 0xb4, 0xbd, 0xf6,
    0x04, 0x31, 0x0b, 0xa1, 0x3a, 0xfe, 0xd2, 0xfd, 0x76, 0xe1, 0x59, 0xe7, 0x17, 0x9e, 0xf5, 0xf3,
    0xc2, 0xb3, 0xbe, 0x5e, 0x7a, 0x6b, 0xe7, 0x97, 0xde, 0xda, 0x8f, 0x4b, 0x6f, 0x2d, 0x74, 0xd4,
    0x27, 0x4f, 0x7e, 0x07, 0x00, 0x00, 0xff, 0xff, 0xba, 0xd3, 0x09, 0x2b, 0xcb, 0x05, 0x00, 0x00,
}
func (m *Image) Marshal() (dAtA []byte, err error) {
@@ -856,9 +823,6 @@
        i++
        i = encodeVarintSdk(dAtA, i, uint64(len(m.Data)))
        i += copy(dAtA[i:], m.Data)
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -898,9 +862,6 @@
        i++
        encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Confidence))))
        i += 4
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -944,9 +905,6 @@
        dAtA[i] = 0x28
        i++
        i = encodeVarintSdk(dAtA, i, uint64(m.Smile))
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -1036,9 +994,6 @@
        i++
        i = encodeVarintSdk(dAtA, i, uint64(len(m.FacialData)))
        i += copy(dAtA[i:], m.FacialData)
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -1134,9 +1089,6 @@
        i++
        i = encodeVarintSdk(dAtA, i, uint64(m.FaceID))
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -1176,9 +1128,6 @@
        encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Prob))))
        i += 4
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -1217,9 +1166,6 @@
        }
        i += n15
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -1250,9 +1196,6 @@
            i += n
        }
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -1278,9 +1221,6 @@
            i = encodeVarintSdk(dAtA, i, uint64(len(b)))
            i += copy(dAtA[i:], b)
        }
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -1312,9 +1252,6 @@
        i = encodeVarintSdk(dAtA, i, uint64(len(m.Feat2)))
        i += copy(dAtA[i:], m.Feat2)
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -1345,9 +1282,6 @@
            i += n
        }
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -1376,9 +1310,6 @@
    if l > 0 {
        n += 1 + l + sovSdk(uint64(l))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -1399,9 +1330,6 @@
    }
    if m.Confidence != 0 {
        n += 5
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -1426,9 +1354,6 @@
    }
    if m.Smile != 0 {
        n += 1 + sovSdk(uint64(m.Smile))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -1469,9 +1394,6 @@
    l = len(m.FacialData)
    if l > 0 {
        n += 1 + l + sovSdk(uint64(l))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -1516,9 +1438,6 @@
    if m.FaceID != 0 {
        n += 1 + sovSdk(uint64(m.FaceID))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -1538,9 +1457,6 @@
    if m.Prob != 0 {
        n += 5
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -1558,9 +1474,6 @@
        l = m.Result.Size()
        n += 1 + l + sovSdk(uint64(l))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -1576,9 +1489,6 @@
            n += 1 + l + sovSdk(uint64(l))
        }
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -1593,9 +1503,6 @@
            l = len(b)
            n += 1 + l + sovSdk(uint64(l))
        }
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -1614,9 +1521,6 @@
    if l > 0 {
        n += 1 + l + sovSdk(uint64(l))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -1631,9 +1535,6 @@
            l = e.Size()
            n += 1 + l + sovSdk(uint64(l))
        }
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -1767,7 +1668,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -1889,7 +1789,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -2038,7 +1937,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -2361,7 +2259,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -2703,7 +2600,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -2823,7 +2719,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -2949,7 +2844,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -3037,7 +2931,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -3123,7 +3016,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -3245,7 +3137,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -3333,7 +3224,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }