velero/pkg/plugin/generated/ObjectStore.pb.go

622 lines
21 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// source: ObjectStore.proto
package generated
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import (
context "golang.org/x/net/context"
grpc "google.golang.org/grpc"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
type PutObjectRequest struct {
Bucket string `protobuf:"bytes,1,opt,name=bucket" json:"bucket,omitempty"`
Key string `protobuf:"bytes,2,opt,name=key" json:"key,omitempty"`
Body []byte `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"`
}
func (m *PutObjectRequest) Reset() { *m = PutObjectRequest{} }
func (m *PutObjectRequest) String() string { return proto.CompactTextString(m) }
func (*PutObjectRequest) ProtoMessage() {}
func (*PutObjectRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
func (m *PutObjectRequest) GetBucket() string {
if m != nil {
return m.Bucket
}
return ""
}
func (m *PutObjectRequest) GetKey() string {
if m != nil {
return m.Key
}
return ""
}
func (m *PutObjectRequest) GetBody() []byte {
if m != nil {
return m.Body
}
return nil
}
type GetObjectRequest struct {
Bucket string `protobuf:"bytes,1,opt,name=bucket" json:"bucket,omitempty"`
Key string `protobuf:"bytes,2,opt,name=key" json:"key,omitempty"`
}
func (m *GetObjectRequest) Reset() { *m = GetObjectRequest{} }
func (m *GetObjectRequest) String() string { return proto.CompactTextString(m) }
func (*GetObjectRequest) ProtoMessage() {}
func (*GetObjectRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
func (m *GetObjectRequest) GetBucket() string {
if m != nil {
return m.Bucket
}
return ""
}
func (m *GetObjectRequest) GetKey() string {
if m != nil {
return m.Key
}
return ""
}
type Bytes struct {
Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
}
func (m *Bytes) Reset() { *m = Bytes{} }
func (m *Bytes) String() string { return proto.CompactTextString(m) }
func (*Bytes) ProtoMessage() {}
func (*Bytes) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
func (m *Bytes) GetData() []byte {
if m != nil {
return m.Data
}
return nil
}
type ListCommonPrefixesRequest struct {
Bucket string `protobuf:"bytes,1,opt,name=bucket" json:"bucket,omitempty"`
Delimiter string `protobuf:"bytes,2,opt,name=delimiter" json:"delimiter,omitempty"`
}
func (m *ListCommonPrefixesRequest) Reset() { *m = ListCommonPrefixesRequest{} }
func (m *ListCommonPrefixesRequest) String() string { return proto.CompactTextString(m) }
func (*ListCommonPrefixesRequest) ProtoMessage() {}
func (*ListCommonPrefixesRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
func (m *ListCommonPrefixesRequest) GetBucket() string {
if m != nil {
return m.Bucket
}
return ""
}
func (m *ListCommonPrefixesRequest) GetDelimiter() string {
if m != nil {
return m.Delimiter
}
return ""
}
type ListCommonPrefixesResponse struct {
Prefixes []string `protobuf:"bytes,1,rep,name=prefixes" json:"prefixes,omitempty"`
}
func (m *ListCommonPrefixesResponse) Reset() { *m = ListCommonPrefixesResponse{} }
func (m *ListCommonPrefixesResponse) String() string { return proto.CompactTextString(m) }
func (*ListCommonPrefixesResponse) ProtoMessage() {}
func (*ListCommonPrefixesResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
func (m *ListCommonPrefixesResponse) GetPrefixes() []string {
if m != nil {
return m.Prefixes
}
return nil
}
type ListObjectsRequest struct {
Bucket string `protobuf:"bytes,1,opt,name=bucket" json:"bucket,omitempty"`
Prefix string `protobuf:"bytes,2,opt,name=prefix" json:"prefix,omitempty"`
}
func (m *ListObjectsRequest) Reset() { *m = ListObjectsRequest{} }
func (m *ListObjectsRequest) String() string { return proto.CompactTextString(m) }
func (*ListObjectsRequest) ProtoMessage() {}
func (*ListObjectsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} }
func (m *ListObjectsRequest) GetBucket() string {
if m != nil {
return m.Bucket
}
return ""
}
func (m *ListObjectsRequest) GetPrefix() string {
if m != nil {
return m.Prefix
}
return ""
}
type ListObjectsResponse struct {
Keys []string `protobuf:"bytes,1,rep,name=keys" json:"keys,omitempty"`
}
func (m *ListObjectsResponse) Reset() { *m = ListObjectsResponse{} }
func (m *ListObjectsResponse) String() string { return proto.CompactTextString(m) }
func (*ListObjectsResponse) ProtoMessage() {}
func (*ListObjectsResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} }
func (m *ListObjectsResponse) GetKeys() []string {
if m != nil {
return m.Keys
}
return nil
}
type DeleteObjectRequest struct {
Bucket string `protobuf:"bytes,1,opt,name=bucket" json:"bucket,omitempty"`
Key string `protobuf:"bytes,2,opt,name=key" json:"key,omitempty"`
}
func (m *DeleteObjectRequest) Reset() { *m = DeleteObjectRequest{} }
func (m *DeleteObjectRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteObjectRequest) ProtoMessage() {}
func (*DeleteObjectRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} }
func (m *DeleteObjectRequest) GetBucket() string {
if m != nil {
return m.Bucket
}
return ""
}
func (m *DeleteObjectRequest) GetKey() string {
if m != nil {
return m.Key
}
return ""
}
type CreateSignedURLRequest struct {
Bucket string `protobuf:"bytes,1,opt,name=bucket" json:"bucket,omitempty"`
Key string `protobuf:"bytes,2,opt,name=key" json:"key,omitempty"`
Ttl int64 `protobuf:"varint,3,opt,name=ttl" json:"ttl,omitempty"`
}
func (m *CreateSignedURLRequest) Reset() { *m = CreateSignedURLRequest{} }
func (m *CreateSignedURLRequest) String() string { return proto.CompactTextString(m) }
func (*CreateSignedURLRequest) ProtoMessage() {}
func (*CreateSignedURLRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{8} }
func (m *CreateSignedURLRequest) GetBucket() string {
if m != nil {
return m.Bucket
}
return ""
}
func (m *CreateSignedURLRequest) GetKey() string {
if m != nil {
return m.Key
}
return ""
}
func (m *CreateSignedURLRequest) GetTtl() int64 {
if m != nil {
return m.Ttl
}
return 0
}
type CreateSignedURLResponse struct {
Url string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
}
func (m *CreateSignedURLResponse) Reset() { *m = CreateSignedURLResponse{} }
func (m *CreateSignedURLResponse) String() string { return proto.CompactTextString(m) }
func (*CreateSignedURLResponse) ProtoMessage() {}
func (*CreateSignedURLResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{9} }
func (m *CreateSignedURLResponse) GetUrl() string {
if m != nil {
return m.Url
}
return ""
}
func init() {
proto.RegisterType((*PutObjectRequest)(nil), "generated.PutObjectRequest")
proto.RegisterType((*GetObjectRequest)(nil), "generated.GetObjectRequest")
proto.RegisterType((*Bytes)(nil), "generated.Bytes")
proto.RegisterType((*ListCommonPrefixesRequest)(nil), "generated.ListCommonPrefixesRequest")
proto.RegisterType((*ListCommonPrefixesResponse)(nil), "generated.ListCommonPrefixesResponse")
proto.RegisterType((*ListObjectsRequest)(nil), "generated.ListObjectsRequest")
proto.RegisterType((*ListObjectsResponse)(nil), "generated.ListObjectsResponse")
proto.RegisterType((*DeleteObjectRequest)(nil), "generated.DeleteObjectRequest")
proto.RegisterType((*CreateSignedURLRequest)(nil), "generated.CreateSignedURLRequest")
proto.RegisterType((*CreateSignedURLResponse)(nil), "generated.CreateSignedURLResponse")
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4
// Client API for ObjectStore service
type ObjectStoreClient interface {
Init(ctx context.Context, in *InitRequest, opts ...grpc.CallOption) (*Empty, error)
PutObject(ctx context.Context, opts ...grpc.CallOption) (ObjectStore_PutObjectClient, error)
GetObject(ctx context.Context, in *GetObjectRequest, opts ...grpc.CallOption) (ObjectStore_GetObjectClient, error)
ListCommonPrefixes(ctx context.Context, in *ListCommonPrefixesRequest, opts ...grpc.CallOption) (*ListCommonPrefixesResponse, error)
ListObjects(ctx context.Context, in *ListObjectsRequest, opts ...grpc.CallOption) (*ListObjectsResponse, error)
DeleteObject(ctx context.Context, in *DeleteObjectRequest, opts ...grpc.CallOption) (*Empty, error)
CreateSignedURL(ctx context.Context, in *CreateSignedURLRequest, opts ...grpc.CallOption) (*CreateSignedURLResponse, error)
}
type objectStoreClient struct {
cc *grpc.ClientConn
}
func NewObjectStoreClient(cc *grpc.ClientConn) ObjectStoreClient {
return &objectStoreClient{cc}
}
func (c *objectStoreClient) Init(ctx context.Context, in *InitRequest, opts ...grpc.CallOption) (*Empty, error) {
out := new(Empty)
err := grpc.Invoke(ctx, "/generated.ObjectStore/Init", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *objectStoreClient) PutObject(ctx context.Context, opts ...grpc.CallOption) (ObjectStore_PutObjectClient, error) {
stream, err := grpc.NewClientStream(ctx, &_ObjectStore_serviceDesc.Streams[0], c.cc, "/generated.ObjectStore/PutObject", opts...)
if err != nil {
return nil, err
}
x := &objectStorePutObjectClient{stream}
return x, nil
}
type ObjectStore_PutObjectClient interface {
Send(*PutObjectRequest) error
CloseAndRecv() (*Empty, error)
grpc.ClientStream
}
type objectStorePutObjectClient struct {
grpc.ClientStream
}
func (x *objectStorePutObjectClient) Send(m *PutObjectRequest) error {
return x.ClientStream.SendMsg(m)
}
func (x *objectStorePutObjectClient) CloseAndRecv() (*Empty, error) {
if err := x.ClientStream.CloseSend(); err != nil {
return nil, err
}
m := new(Empty)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
func (c *objectStoreClient) GetObject(ctx context.Context, in *GetObjectRequest, opts ...grpc.CallOption) (ObjectStore_GetObjectClient, error) {
stream, err := grpc.NewClientStream(ctx, &_ObjectStore_serviceDesc.Streams[1], c.cc, "/generated.ObjectStore/GetObject", opts...)
if err != nil {
return nil, err
}
x := &objectStoreGetObjectClient{stream}
if err := x.ClientStream.SendMsg(in); err != nil {
return nil, err
}
if err := x.ClientStream.CloseSend(); err != nil {
return nil, err
}
return x, nil
}
type ObjectStore_GetObjectClient interface {
Recv() (*Bytes, error)
grpc.ClientStream
}
type objectStoreGetObjectClient struct {
grpc.ClientStream
}
func (x *objectStoreGetObjectClient) Recv() (*Bytes, error) {
m := new(Bytes)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
func (c *objectStoreClient) ListCommonPrefixes(ctx context.Context, in *ListCommonPrefixesRequest, opts ...grpc.CallOption) (*ListCommonPrefixesResponse, error) {
out := new(ListCommonPrefixesResponse)
err := grpc.Invoke(ctx, "/generated.ObjectStore/ListCommonPrefixes", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *objectStoreClient) ListObjects(ctx context.Context, in *ListObjectsRequest, opts ...grpc.CallOption) (*ListObjectsResponse, error) {
out := new(ListObjectsResponse)
err := grpc.Invoke(ctx, "/generated.ObjectStore/ListObjects", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *objectStoreClient) DeleteObject(ctx context.Context, in *DeleteObjectRequest, opts ...grpc.CallOption) (*Empty, error) {
out := new(Empty)
err := grpc.Invoke(ctx, "/generated.ObjectStore/DeleteObject", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *objectStoreClient) CreateSignedURL(ctx context.Context, in *CreateSignedURLRequest, opts ...grpc.CallOption) (*CreateSignedURLResponse, error) {
out := new(CreateSignedURLResponse)
err := grpc.Invoke(ctx, "/generated.ObjectStore/CreateSignedURL", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// Server API for ObjectStore service
type ObjectStoreServer interface {
Init(context.Context, *InitRequest) (*Empty, error)
PutObject(ObjectStore_PutObjectServer) error
GetObject(*GetObjectRequest, ObjectStore_GetObjectServer) error
ListCommonPrefixes(context.Context, *ListCommonPrefixesRequest) (*ListCommonPrefixesResponse, error)
ListObjects(context.Context, *ListObjectsRequest) (*ListObjectsResponse, error)
DeleteObject(context.Context, *DeleteObjectRequest) (*Empty, error)
CreateSignedURL(context.Context, *CreateSignedURLRequest) (*CreateSignedURLResponse, error)
}
func RegisterObjectStoreServer(s *grpc.Server, srv ObjectStoreServer) {
s.RegisterService(&_ObjectStore_serviceDesc, srv)
}
func _ObjectStore_Init_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(InitRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ObjectStoreServer).Init(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/generated.ObjectStore/Init",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ObjectStoreServer).Init(ctx, req.(*InitRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ObjectStore_PutObject_Handler(srv interface{}, stream grpc.ServerStream) error {
return srv.(ObjectStoreServer).PutObject(&objectStorePutObjectServer{stream})
}
type ObjectStore_PutObjectServer interface {
SendAndClose(*Empty) error
Recv() (*PutObjectRequest, error)
grpc.ServerStream
}
type objectStorePutObjectServer struct {
grpc.ServerStream
}
func (x *objectStorePutObjectServer) SendAndClose(m *Empty) error {
return x.ServerStream.SendMsg(m)
}
func (x *objectStorePutObjectServer) Recv() (*PutObjectRequest, error) {
m := new(PutObjectRequest)
if err := x.ServerStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
func _ObjectStore_GetObject_Handler(srv interface{}, stream grpc.ServerStream) error {
m := new(GetObjectRequest)
if err := stream.RecvMsg(m); err != nil {
return err
}
return srv.(ObjectStoreServer).GetObject(m, &objectStoreGetObjectServer{stream})
}
type ObjectStore_GetObjectServer interface {
Send(*Bytes) error
grpc.ServerStream
}
type objectStoreGetObjectServer struct {
grpc.ServerStream
}
func (x *objectStoreGetObjectServer) Send(m *Bytes) error {
return x.ServerStream.SendMsg(m)
}
func _ObjectStore_ListCommonPrefixes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListCommonPrefixesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ObjectStoreServer).ListCommonPrefixes(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/generated.ObjectStore/ListCommonPrefixes",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ObjectStoreServer).ListCommonPrefixes(ctx, req.(*ListCommonPrefixesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ObjectStore_ListObjects_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListObjectsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ObjectStoreServer).ListObjects(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/generated.ObjectStore/ListObjects",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ObjectStoreServer).ListObjects(ctx, req.(*ListObjectsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ObjectStore_DeleteObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteObjectRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ObjectStoreServer).DeleteObject(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/generated.ObjectStore/DeleteObject",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ObjectStoreServer).DeleteObject(ctx, req.(*DeleteObjectRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ObjectStore_CreateSignedURL_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateSignedURLRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ObjectStoreServer).CreateSignedURL(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/generated.ObjectStore/CreateSignedURL",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ObjectStoreServer).CreateSignedURL(ctx, req.(*CreateSignedURLRequest))
}
return interceptor(ctx, in, info, handler)
}
var _ObjectStore_serviceDesc = grpc.ServiceDesc{
ServiceName: "generated.ObjectStore",
HandlerType: (*ObjectStoreServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "Init",
Handler: _ObjectStore_Init_Handler,
},
{
MethodName: "ListCommonPrefixes",
Handler: _ObjectStore_ListCommonPrefixes_Handler,
},
{
MethodName: "ListObjects",
Handler: _ObjectStore_ListObjects_Handler,
},
{
MethodName: "DeleteObject",
Handler: _ObjectStore_DeleteObject_Handler,
},
{
MethodName: "CreateSignedURL",
Handler: _ObjectStore_CreateSignedURL_Handler,
},
},
Streams: []grpc.StreamDesc{
{
StreamName: "PutObject",
Handler: _ObjectStore_PutObject_Handler,
ClientStreams: true,
},
{
StreamName: "GetObject",
Handler: _ObjectStore_GetObject_Handler,
ServerStreams: true,
},
},
Metadata: "ObjectStore.proto",
}
func init() { proto.RegisterFile("ObjectStore.proto", fileDescriptor2) }
var fileDescriptor2 = []byte{
// 444 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x94, 0xdf, 0x8b, 0xd3, 0x40,
0x10, 0xc7, 0x89, 0xa9, 0xc5, 0xcc, 0x15, 0x8c, 0x73, 0x50, 0x6b, 0x4e, 0xa5, 0x2e, 0x0a, 0x15,
0xa1, 0x1c, 0xfa, 0xe2, 0xc3, 0x81, 0xe2, 0x9d, 0x88, 0x50, 0xb0, 0xa6, 0x0a, 0xbe, 0xa6, 0x97,
0xf1, 0x8c, 0xcd, 0x2f, 0x37, 0x13, 0x30, 0xff, 0x81, 0x7f, 0xb6, 0x64, 0xb3, 0xc6, 0x4d, 0x2e,
0x67, 0xf1, 0xde, 0x66, 0x67, 0xe7, 0xfb, 0x9d, 0xc9, 0xce, 0x87, 0xc0, 0x9d, 0x0f, 0xdb, 0xef,
0x74, 0xce, 0x1b, 0xce, 0x24, 0x2d, 0x73, 0x99, 0x71, 0x86, 0xce, 0x05, 0xa5, 0x24, 0x03, 0xa6,
0xd0, 0x9b, 0x6c, 0xbe, 0x05, 0x92, 0xc2, 0xe6, 0x42, 0xac, 0xc1, 0x5d, 0x97, 0xdc, 0x08, 0x7c,
0xfa, 0x51, 0x52, 0xc1, 0x38, 0x85, 0xf1, 0xb6, 0x3c, 0xdf, 0x11, 0xcf, 0xac, 0xb9, 0xb5, 0x70,
0x7c, 0x7d, 0x42, 0x17, 0xec, 0x1d, 0x55, 0xb3, 0x1b, 0x2a, 0x59, 0x87, 0x88, 0x30, 0xda, 0x66,
0x61, 0x35, 0xb3, 0xe7, 0xd6, 0x62, 0xe2, 0xab, 0x58, 0x9c, 0x80, 0xfb, 0x8e, 0xae, 0xeb, 0x28,
0x8e, 0xe0, 0xe6, 0x9b, 0x8a, 0xa9, 0xa8, 0xad, 0xc3, 0x80, 0x03, 0x25, 0x98, 0xf8, 0x2a, 0x16,
0x1f, 0xe1, 0xde, 0x2a, 0x2a, 0xf8, 0x34, 0x4b, 0x92, 0x2c, 0x5d, 0x4b, 0xfa, 0x1a, 0xfd, 0xa4,
0x62, 0x5f, 0x8f, 0xfb, 0xe0, 0x84, 0x14, 0x47, 0x49, 0xc4, 0x24, 0x75, 0xa7, 0xbf, 0x09, 0xf1,
0x12, 0xbc, 0x21, 0xcb, 0x22, 0xcf, 0xd2, 0x82, 0xd0, 0x83, 0x5b, 0xb9, 0xce, 0xcd, 0xac, 0xb9,
0xbd, 0x70, 0xfc, 0xf6, 0x2c, 0xce, 0x00, 0x6b, 0x65, 0xf3, 0xa1, 0x7b, 0xa7, 0x98, 0xc2, 0xb8,
0x51, 0xea, 0x11, 0xf4, 0x49, 0x3c, 0x85, 0xc3, 0x8e, 0x8b, 0x6e, 0x8c, 0x30, 0xda, 0x51, 0xf5,
0xa7, 0xa9, 0x8a, 0xc5, 0x2b, 0x38, 0x3c, 0xa3, 0x98, 0x98, 0xae, 0xfb, 0xb6, 0x9f, 0x60, 0x7a,
0x2a, 0x29, 0x60, 0xda, 0x44, 0x17, 0x29, 0x85, 0x9f, 0xfd, 0xd5, 0xff, 0x6f, 0xdc, 0x05, 0x9b,
0x39, 0x56, 0x0b, 0xb7, 0xfd, 0x3a, 0x14, 0xcf, 0xe0, 0xee, 0x25, 0x57, 0xfd, 0x15, 0x2e, 0xd8,
0xa5, 0x8c, 0xb5, 0x67, 0x1d, 0x3e, 0xff, 0x35, 0x82, 0x03, 0x83, 0x4e, 0x3c, 0x86, 0xd1, 0xfb,
0x34, 0x62, 0x9c, 0x2e, 0x5b, 0x40, 0x97, 0x75, 0x42, 0x0f, 0xe6, 0xb9, 0x46, 0xfe, 0x6d, 0x92,
0x73, 0x85, 0x27, 0xe0, 0xb4, 0xc0, 0xe2, 0x91, 0x71, 0xdd, 0xc7, 0xf8, 0xb2, 0x76, 0x61, 0xd5,
0xea, 0x16, 0xce, 0x8e, 0xba, 0x8f, 0x6c, 0x47, 0xad, 0x88, 0x3c, 0xb6, 0x30, 0x68, 0x56, 0xde,
0x85, 0x05, 0x1f, 0x1b, 0x95, 0x57, 0xe2, 0xe9, 0x3d, 0xd9, 0x53, 0xa5, 0x9f, 0x6c, 0x05, 0x07,
0x06, 0x0f, 0xf8, 0xa0, 0xa7, 0xea, 0xd2, 0xe6, 0x3d, 0xbc, 0xea, 0x5a, 0xbb, 0xbd, 0x86, 0x89,
0x89, 0x0c, 0x9a, 0xf5, 0x03, 0x2c, 0x0d, 0x3c, 0xf7, 0x17, 0xb8, 0xdd, 0xdb, 0x2e, 0x3e, 0x32,
0x8a, 0x86, 0x79, 0xf2, 0xc4, 0xbf, 0x4a, 0x9a, 0xd9, 0xb6, 0x63, 0xf5, 0x03, 0x7a, 0xf1, 0x3b,
0x00, 0x00, 0xff, 0xff, 0xf3, 0xb2, 0x85, 0x9a, 0xae, 0x04, 0x00, 0x00,
}