package purchaseorderpb

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import document "github.com/centrifuge/go-centrifuge/protobufs/gen/go/document"
import timestamp "github.com/golang/protobuf/ptypes/timestamp"
import _ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger/options"
import _ "google.golang.org/genproto/googleapis/api/annotations"

import (
	context "golang.org/x/net/context"
	grpc "google.golang.org/grpc"
)

var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

const _ = proto.ProtoPackageIsVersion2 

type GetRequest struct {
	Identifier           string   `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetRequest) Reset()         { *m = GetRequest{} }
func (m *GetRequest) String() string { return proto.CompactTextString(m) }
func (*GetRequest) ProtoMessage()    {}
func (*GetRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_service_a9b80dc96b015f6f, []int{0}
}
func (m *GetRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetRequest.Unmarshal(m, b)
}
func (m *GetRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetRequest.Marshal(b, m, deterministic)
}
func (dst *GetRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetRequest.Merge(dst, src)
}
func (m *GetRequest) XXX_Size() int {
	return xxx_messageInfo_GetRequest.Size(m)
}
func (m *GetRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetRequest proto.InternalMessageInfo

func (m *GetRequest) GetIdentifier() string {
	if m != nil {
		return m.Identifier
	}
	return ""
}

type GetVersionRequest struct {
	Identifier           string   `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"`
	Version              string   `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetVersionRequest) Reset()         { *m = GetVersionRequest{} }
func (m *GetVersionRequest) String() string { return proto.CompactTextString(m) }
func (*GetVersionRequest) ProtoMessage()    {}
func (*GetVersionRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_service_a9b80dc96b015f6f, []int{1}
}
func (m *GetVersionRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetVersionRequest.Unmarshal(m, b)
}
func (m *GetVersionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetVersionRequest.Marshal(b, m, deterministic)
}
func (dst *GetVersionRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetVersionRequest.Merge(dst, src)
}
func (m *GetVersionRequest) XXX_Size() int {
	return xxx_messageInfo_GetVersionRequest.Size(m)
}
func (m *GetVersionRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetVersionRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetVersionRequest proto.InternalMessageInfo

func (m *GetVersionRequest) GetIdentifier() string {
	if m != nil {
		return m.Identifier
	}
	return ""
}

func (m *GetVersionRequest) GetVersion() string {
	if m != nil {
		return m.Version
	}
	return ""
}

type PurchaseOrderCreatePayload struct {
	Collaborators        []string           `protobuf:"bytes,1,rep,name=collaborators,proto3" json:"collaborators,omitempty"`
	Data                 *PurchaseOrderData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *PurchaseOrderCreatePayload) Reset()         { *m = PurchaseOrderCreatePayload{} }
func (m *PurchaseOrderCreatePayload) String() string { return proto.CompactTextString(m) }
func (*PurchaseOrderCreatePayload) ProtoMessage()    {}
func (*PurchaseOrderCreatePayload) Descriptor() ([]byte, []int) {
	return fileDescriptor_service_a9b80dc96b015f6f, []int{2}
}
func (m *PurchaseOrderCreatePayload) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PurchaseOrderCreatePayload.Unmarshal(m, b)
}
func (m *PurchaseOrderCreatePayload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PurchaseOrderCreatePayload.Marshal(b, m, deterministic)
}
func (dst *PurchaseOrderCreatePayload) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PurchaseOrderCreatePayload.Merge(dst, src)
}
func (m *PurchaseOrderCreatePayload) XXX_Size() int {
	return xxx_messageInfo_PurchaseOrderCreatePayload.Size(m)
}
func (m *PurchaseOrderCreatePayload) XXX_DiscardUnknown() {
	xxx_messageInfo_PurchaseOrderCreatePayload.DiscardUnknown(m)
}

var xxx_messageInfo_PurchaseOrderCreatePayload proto.InternalMessageInfo

func (m *PurchaseOrderCreatePayload) GetCollaborators() []string {
	if m != nil {
		return m.Collaborators
	}
	return nil
}

func (m *PurchaseOrderCreatePayload) GetData() *PurchaseOrderData {
	if m != nil {
		return m.Data
	}
	return nil
}

type PurchaseOrderUpdatePayload struct {
	Identifier           string                             `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"`
	Collaborators        []string                           `protobuf:"bytes,2,rep,name=collaborators,proto3" json:"collaborators,omitempty"`
	Data                 *PurchaseOrderData                 `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
	AccessTokenPayload   *document.UpdateAccessTokenPayload `protobuf:"bytes,4,opt,name=access_token_payload,json=accessTokenPayload,proto3" json:"access_token_payload,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                           `json:"-"`
	XXX_unrecognized     []byte                             `json:"-"`
	XXX_sizecache        int32                              `json:"-"`
}

func (m *PurchaseOrderUpdatePayload) Reset()         { *m = PurchaseOrderUpdatePayload{} }
func (m *PurchaseOrderUpdatePayload) String() string { return proto.CompactTextString(m) }
func (*PurchaseOrderUpdatePayload) ProtoMessage()    {}
func (*PurchaseOrderUpdatePayload) Descriptor() ([]byte, []int) {
	return fileDescriptor_service_a9b80dc96b015f6f, []int{3}
}
func (m *PurchaseOrderUpdatePayload) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PurchaseOrderUpdatePayload.Unmarshal(m, b)
}
func (m *PurchaseOrderUpdatePayload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PurchaseOrderUpdatePayload.Marshal(b, m, deterministic)
}
func (dst *PurchaseOrderUpdatePayload) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PurchaseOrderUpdatePayload.Merge(dst, src)
}
func (m *PurchaseOrderUpdatePayload) XXX_Size() int {
	return xxx_messageInfo_PurchaseOrderUpdatePayload.Size(m)
}
func (m *PurchaseOrderUpdatePayload) XXX_DiscardUnknown() {
	xxx_messageInfo_PurchaseOrderUpdatePayload.DiscardUnknown(m)
}

var xxx_messageInfo_PurchaseOrderUpdatePayload proto.InternalMessageInfo

func (m *PurchaseOrderUpdatePayload) GetIdentifier() string {
	if m != nil {
		return m.Identifier
	}
	return ""
}

func (m *PurchaseOrderUpdatePayload) GetCollaborators() []string {
	if m != nil {
		return m.Collaborators
	}
	return nil
}

func (m *PurchaseOrderUpdatePayload) GetData() *PurchaseOrderData {
	if m != nil {
		return m.Data
	}
	return nil
}

func (m *PurchaseOrderUpdatePayload) GetAccessTokenPayload() *document.UpdateAccessTokenPayload {
	if m != nil {
		return m.AccessTokenPayload
	}
	return nil
}

type PurchaseOrderResponse struct {
	Header               *ResponseHeader    `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	Data                 *PurchaseOrderData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *PurchaseOrderResponse) Reset()         { *m = PurchaseOrderResponse{} }
func (m *PurchaseOrderResponse) String() string { return proto.CompactTextString(m) }
func (*PurchaseOrderResponse) ProtoMessage()    {}
func (*PurchaseOrderResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_service_a9b80dc96b015f6f, []int{4}
}
func (m *PurchaseOrderResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PurchaseOrderResponse.Unmarshal(m, b)
}
func (m *PurchaseOrderResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PurchaseOrderResponse.Marshal(b, m, deterministic)
}
func (dst *PurchaseOrderResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PurchaseOrderResponse.Merge(dst, src)
}
func (m *PurchaseOrderResponse) XXX_Size() int {
	return xxx_messageInfo_PurchaseOrderResponse.Size(m)
}
func (m *PurchaseOrderResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_PurchaseOrderResponse.DiscardUnknown(m)
}

var xxx_messageInfo_PurchaseOrderResponse proto.InternalMessageInfo

func (m *PurchaseOrderResponse) GetHeader() *ResponseHeader {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *PurchaseOrderResponse) GetData() *PurchaseOrderData {
	if m != nil {
		return m.Data
	}
	return nil
}

type ResponseHeader struct {
	DocumentId           string   `protobuf:"bytes,1,opt,name=document_id,json=documentId,proto3" json:"document_id,omitempty"`
	VersionId            string   `protobuf:"bytes,2,opt,name=version_id,json=versionId,proto3" json:"version_id,omitempty"`
	State                string   `protobuf:"bytes,3,opt,name=state,proto3" json:"state,omitempty"`
	Collaborators        []string `protobuf:"bytes,4,rep,name=collaborators,proto3" json:"collaborators,omitempty"`
	TransactionId        string   `protobuf:"bytes,5,opt,name=transaction_id,json=transactionId,proto3" json:"transaction_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ResponseHeader) Reset()         { *m = ResponseHeader{} }
func (m *ResponseHeader) String() string { return proto.CompactTextString(m) }
func (*ResponseHeader) ProtoMessage()    {}
func (*ResponseHeader) Descriptor() ([]byte, []int) {
	return fileDescriptor_service_a9b80dc96b015f6f, []int{5}
}
func (m *ResponseHeader) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ResponseHeader.Unmarshal(m, b)
}
func (m *ResponseHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ResponseHeader.Marshal(b, m, deterministic)
}
func (dst *ResponseHeader) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ResponseHeader.Merge(dst, src)
}
func (m *ResponseHeader) XXX_Size() int {
	return xxx_messageInfo_ResponseHeader.Size(m)
}
func (m *ResponseHeader) XXX_DiscardUnknown() {
	xxx_messageInfo_ResponseHeader.DiscardUnknown(m)
}

var xxx_messageInfo_ResponseHeader proto.InternalMessageInfo

func (m *ResponseHeader) GetDocumentId() string {
	if m != nil {
		return m.DocumentId
	}
	return ""
}

func (m *ResponseHeader) GetVersionId() string {
	if m != nil {
		return m.VersionId
	}
	return ""
}

func (m *ResponseHeader) GetState() string {
	if m != nil {
		return m.State
	}
	return ""
}

func (m *ResponseHeader) GetCollaborators() []string {
	if m != nil {
		return m.Collaborators
	}
	return nil
}

func (m *ResponseHeader) GetTransactionId() string {
	if m != nil {
		return m.TransactionId
	}
	return ""
}

type PurchaseOrderData struct {
	PoStatus string `protobuf:"bytes,24,opt,name=po_status,json=poStatus,proto3" json:"po_status,omitempty"`

	PoNumber string `protobuf:"bytes,1,opt,name=po_number,json=poNumber,proto3" json:"po_number,omitempty"`

	OrderName string `protobuf:"bytes,2,opt,name=order_name,json=orderName,proto3" json:"order_name,omitempty"`

	OrderStreet  string `protobuf:"bytes,3,opt,name=order_street,json=orderStreet,proto3" json:"order_street,omitempty"`
	OrderCity    string `protobuf:"bytes,4,opt,name=order_city,json=orderCity,proto3" json:"order_city,omitempty"`
	OrderZipcode string `protobuf:"bytes,5,opt,name=order_zipcode,json=orderZipcode,proto3" json:"order_zipcode,omitempty"`

	OrderCountry string `protobuf:"bytes,6,opt,name=order_country,json=orderCountry,proto3" json:"order_country,omitempty"`

	RecipientName    string `protobuf:"bytes,7,opt,name=recipient_name,json=recipientName,proto3" json:"recipient_name,omitempty"`
	RecipientStreet  string `protobuf:"bytes,8,opt,name=recipient_street,json=recipientStreet,proto3" json:"recipient_street,omitempty"`
	RecipientCity    string `protobuf:"bytes,9,opt,name=recipient_city,json=recipientCity,proto3" json:"recipient_city,omitempty"`
	RecipientZipcode string `protobuf:"bytes,10,opt,name=recipient_zipcode,json=recipientZipcode,proto3" json:"recipient_zipcode,omitempty"`

	RecipientCountry string `protobuf:"bytes,11,opt,name=recipient_country,json=recipientCountry,proto3" json:"recipient_country,omitempty"`

	Currency string `protobuf:"bytes,12,opt,name=currency,proto3" json:"currency,omitempty"`

	OrderAmount int64 `protobuf:"varint,13,opt,name=order_amount,json=orderAmount,proto3" json:"order_amount,omitempty"`

	NetAmount int64  `protobuf:"varint,14,opt,name=net_amount,json=netAmount,proto3" json:"net_amount,omitempty"`
	TaxAmount int64  `protobuf:"varint,15,opt,name=tax_amount,json=taxAmount,proto3" json:"tax_amount,omitempty"`
	TaxRate   int64  `protobuf:"varint,16,opt,name=tax_rate,json=taxRate,proto3" json:"tax_rate,omitempty"`
	Recipient string `protobuf:"bytes,17,opt,name=recipient,proto3" json:"recipient,omitempty"`
	Order     string `protobuf:"bytes,18,opt,name=order,proto3" json:"order,omitempty"`

	OrderContact string `protobuf:"bytes,19,opt,name=order_contact,json=orderContact,proto3" json:"order_contact,omitempty"`
	Comment      string `protobuf:"bytes,20,opt,name=comment,proto3" json:"comment,omitempty"`

	DeliveryDate *timestamp.Timestamp `protobuf:"bytes,21,opt,name=delivery_date,json=deliveryDate,proto3" json:"delivery_date,omitempty"`

	DateCreated          *timestamp.Timestamp `protobuf:"bytes,22,opt,name=date_created,json=dateCreated,proto3" json:"date_created,omitempty"`
	ExtraData            string               `protobuf:"bytes,23,opt,name=extra_data,json=extraData,proto3" json:"extra_data,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *PurchaseOrderData) Reset()         { *m = PurchaseOrderData{} }
func (m *PurchaseOrderData) String() string { return proto.CompactTextString(m) }
func (*PurchaseOrderData) ProtoMessage()    {}
func (*PurchaseOrderData) Descriptor() ([]byte, []int) {
	return fileDescriptor_service_a9b80dc96b015f6f, []int{6}
}
func (m *PurchaseOrderData) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PurchaseOrderData.Unmarshal(m, b)
}
func (m *PurchaseOrderData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PurchaseOrderData.Marshal(b, m, deterministic)
}
func (dst *PurchaseOrderData) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PurchaseOrderData.Merge(dst, src)
}
func (m *PurchaseOrderData) XXX_Size() int {
	return xxx_messageInfo_PurchaseOrderData.Size(m)
}
func (m *PurchaseOrderData) XXX_DiscardUnknown() {
	xxx_messageInfo_PurchaseOrderData.DiscardUnknown(m)
}

var xxx_messageInfo_PurchaseOrderData proto.InternalMessageInfo

func (m *PurchaseOrderData) GetPoStatus() string {
	if m != nil {
		return m.PoStatus
	}
	return ""
}

func (m *PurchaseOrderData) GetPoNumber() string {
	if m != nil {
		return m.PoNumber
	}
	return ""
}

func (m *PurchaseOrderData) GetOrderName() string {
	if m != nil {
		return m.OrderName
	}
	return ""
}

func (m *PurchaseOrderData) GetOrderStreet() string {
	if m != nil {
		return m.OrderStreet
	}
	return ""
}

func (m *PurchaseOrderData) GetOrderCity() string {
	if m != nil {
		return m.OrderCity
	}
	return ""
}

func (m *PurchaseOrderData) GetOrderZipcode() string {
	if m != nil {
		return m.OrderZipcode
	}
	return ""
}

func (m *PurchaseOrderData) GetOrderCountry() string {
	if m != nil {
		return m.OrderCountry
	}
	return ""
}

func (m *PurchaseOrderData) GetRecipientName() string {
	if m != nil {
		return m.RecipientName
	}
	return ""
}

func (m *PurchaseOrderData) GetRecipientStreet() string {
	if m != nil {
		return m.RecipientStreet
	}
	return ""
}

func (m *PurchaseOrderData) GetRecipientCity() string {
	if m != nil {
		return m.RecipientCity
	}
	return ""
}

func (m *PurchaseOrderData) GetRecipientZipcode() string {
	if m != nil {
		return m.RecipientZipcode
	}
	return ""
}

func (m *PurchaseOrderData) GetRecipientCountry() string {
	if m != nil {
		return m.RecipientCountry
	}
	return ""
}

func (m *PurchaseOrderData) GetCurrency() string {
	if m != nil {
		return m.Currency
	}
	return ""
}

func (m *PurchaseOrderData) GetOrderAmount() int64 {
	if m != nil {
		return m.OrderAmount
	}
	return 0
}

func (m *PurchaseOrderData) GetNetAmount() int64 {
	if m != nil {
		return m.NetAmount
	}
	return 0
}

func (m *PurchaseOrderData) GetTaxAmount() int64 {
	if m != nil {
		return m.TaxAmount
	}
	return 0
}

func (m *PurchaseOrderData) GetTaxRate() int64 {
	if m != nil {
		return m.TaxRate
	}
	return 0
}

func (m *PurchaseOrderData) GetRecipient() string {
	if m != nil {
		return m.Recipient
	}
	return ""
}

func (m *PurchaseOrderData) GetOrder() string {
	if m != nil {
		return m.Order
	}
	return ""
}

func (m *PurchaseOrderData) GetOrderContact() string {
	if m != nil {
		return m.OrderContact
	}
	return ""
}

func (m *PurchaseOrderData) GetComment() string {
	if m != nil {
		return m.Comment
	}
	return ""
}

func (m *PurchaseOrderData) GetDeliveryDate() *timestamp.Timestamp {
	if m != nil {
		return m.DeliveryDate
	}
	return nil
}

func (m *PurchaseOrderData) GetDateCreated() *timestamp.Timestamp {
	if m != nil {
		return m.DateCreated
	}
	return nil
}

func (m *PurchaseOrderData) GetExtraData() string {
	if m != nil {
		return m.ExtraData
	}
	return ""
}

func init() {
	proto.RegisterType((*GetRequest)(nil), "purchaseorder.GetRequest")
	proto.RegisterType((*GetVersionRequest)(nil), "purchaseorder.GetVersionRequest")
	proto.RegisterType((*PurchaseOrderCreatePayload)(nil), "purchaseorder.PurchaseOrderCreatePayload")
	proto.RegisterType((*PurchaseOrderUpdatePayload)(nil), "purchaseorder.PurchaseOrderUpdatePayload")
	proto.RegisterType((*PurchaseOrderResponse)(nil), "purchaseorder.PurchaseOrderResponse")
	proto.RegisterType((*ResponseHeader)(nil), "purchaseorder.ResponseHeader")
	proto.RegisterType((*PurchaseOrderData)(nil), "purchaseorder.PurchaseOrderData")
}

var _ context.Context
var _ grpc.ClientConn

const _ = grpc.SupportPackageIsVersion4

type DocumentServiceClient interface {
	Create(ctx context.Context, in *PurchaseOrderCreatePayload, opts ...grpc.CallOption) (*PurchaseOrderResponse, error)
	Update(ctx context.Context, in *PurchaseOrderUpdatePayload, opts ...grpc.CallOption) (*PurchaseOrderResponse, error)
	GetVersion(ctx context.Context, in *GetVersionRequest, opts ...grpc.CallOption) (*PurchaseOrderResponse, error)
	Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*PurchaseOrderResponse, error)
}

type documentServiceClient struct {
	cc *grpc.ClientConn
}

func NewDocumentServiceClient(cc *grpc.ClientConn) DocumentServiceClient {
	return &documentServiceClient{cc}
}

func (c *documentServiceClient) Create(ctx context.Context, in *PurchaseOrderCreatePayload, opts ...grpc.CallOption) (*PurchaseOrderResponse, error) {
	out := new(PurchaseOrderResponse)
	err := c.cc.Invoke(ctx, "/purchaseorder.DocumentService/Create", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *documentServiceClient) Update(ctx context.Context, in *PurchaseOrderUpdatePayload, opts ...grpc.CallOption) (*PurchaseOrderResponse, error) {
	out := new(PurchaseOrderResponse)
	err := c.cc.Invoke(ctx, "/purchaseorder.DocumentService/Update", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *documentServiceClient) GetVersion(ctx context.Context, in *GetVersionRequest, opts ...grpc.CallOption) (*PurchaseOrderResponse, error) {
	out := new(PurchaseOrderResponse)
	err := c.cc.Invoke(ctx, "/purchaseorder.DocumentService/GetVersion", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *documentServiceClient) Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*PurchaseOrderResponse, error) {
	out := new(PurchaseOrderResponse)
	err := c.cc.Invoke(ctx, "/purchaseorder.DocumentService/Get", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

type DocumentServiceServer interface {
	Create(context.Context, *PurchaseOrderCreatePayload) (*PurchaseOrderResponse, error)
	Update(context.Context, *PurchaseOrderUpdatePayload) (*PurchaseOrderResponse, error)
	GetVersion(context.Context, *GetVersionRequest) (*PurchaseOrderResponse, error)
	Get(context.Context, *GetRequest) (*PurchaseOrderResponse, error)
}

func RegisterDocumentServiceServer(s *grpc.Server, srv DocumentServiceServer) {
	s.RegisterService(&_DocumentService_serviceDesc, srv)
}

func _DocumentService_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PurchaseOrderCreatePayload)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DocumentServiceServer).Create(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/purchaseorder.DocumentService/Create",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DocumentServiceServer).Create(ctx, req.(*PurchaseOrderCreatePayload))
	}
	return interceptor(ctx, in, info, handler)
}

func _DocumentService_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PurchaseOrderUpdatePayload)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DocumentServiceServer).Update(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/purchaseorder.DocumentService/Update",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DocumentServiceServer).Update(ctx, req.(*PurchaseOrderUpdatePayload))
	}
	return interceptor(ctx, in, info, handler)
}

func _DocumentService_GetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetVersionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DocumentServiceServer).GetVersion(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/purchaseorder.DocumentService/GetVersion",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DocumentServiceServer).GetVersion(ctx, req.(*GetVersionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _DocumentService_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DocumentServiceServer).Get(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/purchaseorder.DocumentService/Get",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DocumentServiceServer).Get(ctx, req.(*GetRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _DocumentService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "purchaseorder.DocumentService",
	HandlerType: (*DocumentServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Create",
			Handler:    _DocumentService_Create_Handler,
		},
		{
			MethodName: "Update",
			Handler:    _DocumentService_Update_Handler,
		},
		{
			MethodName: "GetVersion",
			Handler:    _DocumentService_GetVersion_Handler,
		},
		{
			MethodName: "Get",
			Handler:    _DocumentService_Get_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "purchaseorder/service.proto",
}

func init() {
	proto.RegisterFile("purchaseorder/service.proto", fileDescriptor_service_a9b80dc96b015f6f)
}

var fileDescriptor_service_a9b80dc96b015f6f = []byte{

	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0xdf, 0x6e, 0x1b, 0xc5,
	0x17, 0xd6, 0xe6, 0x8f, 0x13, 0x8f, 0xe3, 0xa4, 0x99, 0xa6, 0xfd, 0x6d, 0x37, 0xcd, 0xaf, 0x8b,
	0x69, 0x45, 0xda, 0x26, 0xb6, 0x14, 0x0a, 0x17, 0x48, 0x08, 0xa5, 0x89, 0x14, 0x72, 0x41, 0x89,
	0x36, 0x81, 0x8b, 0x0a, 0xc9, 0x1a, 0xcf, 0x9e, 0x38, 0x2b, 0xec, 0x9d, 0x65, 0x76, 0x1c, 0x6c,
	0xaa, 0xde, 0x20, 0x5e, 0x80, 0x70, 0x85, 0x90, 0x78, 0x08, 0x78, 0x14, 0x5e, 0x81, 0x6b, 0xee,
	0xb8, 0x47, 0x73, 0x66, 0xc6, 0xf6, 0xda, 0xc5, 0x49, 0xb9, 0x5a, 0xcd, 0x77, 0xbe, 0x73, 0xf6,
	0x3b, 0x67, 0xce, 0x9c, 0x43, 0x36, 0xb3, 0x9e, 0xe4, 0x17, 0x2c, 0x07, 0x21, 0x63, 0x90, 0x8d,
	0x1c, 0xe4, 0x65, 0xc2, 0xa1, 0x9e, 0x49, 0xa1, 0x04, 0xad, 0x16, 0x8c, 0xc1, 0xdd, 0x58, 0xf0,
	0x5e, 0x17, 0x52, 0x55, 0xa4, 0x05, 0xf7, 0xdb, 0x42, 0xb4, 0x3b, 0xd0, 0x60, 0x59, 0xd2, 0x60,
	0x69, 0x2a, 0x14, 0x53, 0x89, 0x48, 0x73, 0x6b, 0x7d, 0x60, 0xad, 0x78, 0x6a, 0xf5, 0xce, 0x1b,
	0x2a, 0xe9, 0x42, 0xae, 0x58, 0x37, 0xb3, 0x84, 0x1d, 0xfc, 0xf0, 0xdd, 0x36, 0xa4, 0xbb, 0xf9,
	0xb7, 0xac, 0xdd, 0x06, 0xd9, 0x10, 0x19, 0x86, 0x98, 0x0e, 0x57, 0xdb, 0x21, 0xe4, 0x08, 0x54,
	0x04, 0xdf, 0xf4, 0x20, 0x57, 0xf4, 0xff, 0x84, 0x24, 0x31, 0xa4, 0x2a, 0x39, 0x4f, 0x40, 0xfa,
	0x5e, 0xe8, 0x6d, 0x97, 0xa3, 0x31, 0xa4, 0xf6, 0x19, 0x59, 0x3f, 0x02, 0xf5, 0x25, 0xc8, 0x3c,
	0x11, 0xe9, 0x0d, 0x9d, 0xa8, 0x4f, 0x96, 0x2e, 0x8d, 0x87, 0x3f, 0x87, 0x46, 0x77, 0xac, 0xf5,
	0x49, 0x70, 0x62, 0x4b, 0xf2, 0xb9, 0x2e, 0xc9, 0x81, 0x04, 0xa6, 0xe0, 0x84, 0x0d, 0x3a, 0x82,
	0xc5, 0xf4, 0x21, 0xa9, 0x72, 0xd1, 0xe9, 0xb0, 0x96, 0x90, 0x4c, 0x09, 0x99, 0xfb, 0x5e, 0x38,
	0xbf, 0x5d, 0x8e, 0x8a, 0x20, 0x7d, 0x46, 0x16, 0x62, 0xa6, 0x18, 0x86, 0xae, 0xec, 0x85, 0xf5,
	0x42, 0x8d, 0xeb, 0x85, 0xf0, 0x87, 0x4c, 0xb1, 0x08, 0xd9, 0xb5, 0xbf, 0xbc, 0x89, 0x5f, 0x7f,
	0x91, 0xc5, 0x63, 0xbf, 0xbe, 0x2e, 0xa5, 0x29, 0x69, 0x73, 0xb3, 0xa4, 0xcd, 0xbf, 0x8d, 0x34,
	0x7a, 0x46, 0x36, 0x18, 0xe7, 0x90, 0xe7, 0x4d, 0x25, 0xbe, 0x86, 0xb4, 0x99, 0x19, 0x4d, 0xfe,
	0x02, 0x46, 0xa9, 0xd5, 0x5d, 0xd7, 0xd4, 0x8d, 0xe4, 0x7d, 0xe4, 0x9e, 0x69, 0xaa, 0x55, 0x1f,
	0x51, 0x36, 0x85, 0xd5, 0x7e, 0xf0, 0xc8, 0x9d, 0xc2, 0x1f, 0x23, 0xc8, 0x33, 0x91, 0xe6, 0x40,
	0x3f, 0x20, 0xa5, 0x0b, 0x60, 0xb1, 0xcd, 0xb3, 0xb2, 0xb7, 0x35, 0xa1, 0xd3, 0x11, 0x3f, 0x45,
	0x52, 0x64, 0xc9, 0xff, 0xb1, 0xee, 0xbf, 0x7b, 0x64, 0xb5, 0x18, 0x90, 0x3e, 0x20, 0x15, 0x97,
	0x52, 0x33, 0x89, 0x5d, 0xb1, 0x1d, 0x74, 0x1c, 0xd3, 0x2d, 0x42, 0x6c, 0xc3, 0x68, 0xbb, 0x69,
	0xa1, 0xb2, 0x45, 0x8e, 0x63, 0xba, 0x41, 0x16, 0x73, 0xc5, 0x14, 0x60, 0x99, 0xcb, 0x91, 0x39,
	0x4c, 0xdf, 0xd0, 0xc2, 0x9b, 0x6e, 0xe8, 0x11, 0x59, 0x55, 0x92, 0xa5, 0x39, 0xe3, 0xca, 0x86,
	0x5f, 0xc4, 0x20, 0xd5, 0x31, 0xf4, 0x38, 0xae, 0xfd, 0x5d, 0x22, 0xeb, 0x53, 0x19, 0xd1, 0x4d,
	0x52, 0xce, 0x44, 0x53, 0xff, 0xae, 0x97, 0xfb, 0x3e, 0xfa, 0x2d, 0x67, 0xe2, 0x14, 0xcf, 0xd6,
	0x98, 0xf6, 0xba, 0xad, 0x61, 0x03, 0x2d, 0x67, 0xe2, 0x05, 0x9e, 0x75, 0x46, 0x58, 0xa6, 0x66,
	0xca, 0xba, 0xe0, 0x32, 0x42, 0xe4, 0x05, 0xeb, 0x02, 0x7d, 0x87, 0xac, 0x18, 0x73, 0xae, 0x24,
	0x80, 0xb2, 0x89, 0x55, 0x10, 0x3b, 0x45, 0x68, 0x14, 0x81, 0x27, 0x6a, 0x80, 0xad, 0xe1, 0x22,
	0x1c, 0x24, 0x6a, 0x40, 0xdf, 0x25, 0x55, 0x63, 0xfe, 0x2e, 0xc9, 0xb8, 0x88, 0xc1, 0xa6, 0x65,
	0xc2, 0xbe, 0x34, 0xd8, 0x88, 0xc4, 0x45, 0x2f, 0x55, 0x72, 0xe0, 0x97, 0xc6, 0x48, 0x07, 0x06,
	0xd3, 0x15, 0x92, 0xc0, 0x93, 0x2c, 0xd1, 0xd7, 0x83, 0x72, 0x97, 0x4c, 0x85, 0x86, 0x28, 0x4a,
	0x7e, 0x4c, 0x6e, 0x8d, 0x68, 0x56, 0xf6, 0x32, 0x12, 0xd7, 0x86, 0xb8, 0x95, 0x5e, 0x88, 0x88,
	0xf2, 0xcb, 0x13, 0x11, 0x31, 0x85, 0xa7, 0x64, 0x7d, 0x44, 0x73, 0x69, 0x10, 0x64, 0x8e, 0x7e,
	0xe5, 0x52, 0x29, 0x90, 0x5d, 0x3a, 0x95, 0x09, 0xb2, 0x4b, 0x29, 0x20, 0xcb, 0xbc, 0x27, 0x25,
	0xa4, 0x7c, 0xe0, 0xaf, 0x98, 0x9b, 0x71, 0xe7, 0x51, 0xe9, 0x59, 0x57, 0xb3, 0xfd, 0x6a, 0xe8,
	0x6d, 0xcf, 0xdb, 0xd2, 0xef, 0x23, 0xa4, 0x4b, 0x9f, 0x82, 0x72, 0x84, 0x55, 0x24, 0x94, 0x53,
	0x50, 0x23, 0xb3, 0x62, 0x7d, 0x67, 0x5e, 0x33, 0x66, 0xc5, 0xfa, 0xd6, 0x7c, 0x8f, 0x2c, 0x6b,
	0xb3, 0xd4, 0x0d, 0x7b, 0x0b, 0x8d, 0x4b, 0x8a, 0xf5, 0x23, 0xdd, 0xb2, 0xf7, 0x49, 0x79, 0xa8,
	0xd5, 0x5f, 0x37, 0x57, 0x3a, 0x04, 0x74, 0x9b, 0xa3, 0x0a, 0x9f, 0x9a, 0x36, 0xc7, 0xc3, 0xf8,
	0x1d, 0xa6, 0x8a, 0x71, 0xe5, 0xdf, 0x2e, 0xdc, 0x21, 0x62, 0x7a, 0x00, 0x73, 0xd1, 0xd5, 0xaf,
	0xc9, 0xdf, 0x30, 0x03, 0xd8, 0x1e, 0xe9, 0x27, 0xa4, 0x1a, 0x43, 0x27, 0xb9, 0x04, 0x39, 0x68,
	0xea, 0x61, 0xe2, 0xdf, 0xc1, 0xd7, 0x1c, 0xd4, 0xcd, 0x92, 0xa9, 0xbb, 0x25, 0x53, 0x3f, 0x73,
	0x4b, 0x26, 0x5a, 0x71, 0x0e, 0x87, 0x5a, 0xf3, 0xc7, 0x64, 0x45, 0xfb, 0x35, 0x39, 0x4e, 0xee,
	0xd8, 0xbf, 0x7b, 0xad, 0x7f, 0x45, 0xf3, 0xcd, 0xa0, 0xc7, 0xa7, 0x0d, 0x7d, 0x25, 0x59, 0x13,
	0x47, 0xc9, 0xff, 0x4c, 0xce, 0x88, 0xe8, 0x17, 0xb6, 0xf7, 0xf3, 0x22, 0x59, 0x3b, 0xb4, 0x83,
	0xe0, 0xd4, 0xec, 0x48, 0xfa, 0xa3, 0x47, 0x4a, 0xc6, 0x9d, 0x3e, 0x9e, 0x35, 0x74, 0x0a, 0xbb,
	0x24, 0x78, 0x38, 0x8b, 0xea, 0x06, 0x52, 0xed, 0xc3, 0xab, 0xfd, 0x20, 0xf0, 0x8d, 0x67, 0x1e,
	0xb2, 0xd0, 0xf9, 0x84, 0xe8, 0xf4, 0xfd, 0x1f, 0x7f, 0xfe, 0x34, 0x77, 0xbb, 0xb6, 0xda, 0x28,
	0x84, 0xfa, 0xc8, 0x7b, 0x42, 0x7f, 0xf5, 0x48, 0xc9, 0x4c, 0xe3, 0xd9, 0x9a, 0x0a, 0x4b, 0xe6,
	0x86, 0x9a, 0x0e, 0x50, 0x93, 0xf1, 0xfc, 0x17, 0x4d, 0x61, 0xb0, 0x59, 0xd4, 0xd4, 0x78, 0x35,
	0xda, 0x55, 0xaf, 0xb5, 0xc0, 0xdf, 0x3c, 0x5c, 0xf3, 0x76, 0x71, 0xd3, 0xc9, 0x69, 0x3d, 0xb5,
	0xd3, 0x6f, 0xa8, 0xed, 0xab, 0xab, 0xfd, 0x9d, 0xe0, 0xc9, 0x11, 0xa8, 0x90, 0x85, 0x79, 0x06,
	0x3c, 0x39, 0x4f, 0x78, 0x68, 0x27, 0x73, 0x28, 0xce, 0xdf, 0xac, 0xf6, 0x3d, 0xfa, 0x68, 0x86,
	0xda, 0xc6, 0x2b, 0xeb, 0xff, 0x9a, 0xfe, 0xe2, 0x91, 0xf9, 0x23, 0x50, 0xf4, 0xde, 0xb4, 0xda,
	0xb7, 0x93, 0x79, 0x7a, 0xb5, 0xbf, 0x1b, 0x3c, 0xd5, 0x32, 0xd5, 0x05, 0x84, 0xe6, 0xad, 0xab,
	0x6b, 0x75, 0x6e, 0xd1, 0x59, 0x55, 0x7d, 0xfe, 0x8c, 0xac, 0x73, 0xd1, 0x2d, 0xfe, 0xff, 0xf9,
	0x8a, 0xed, 0xd2, 0x13, 0xdd, 0xf7, 0x27, 0xde, 0xcb, 0xb5, 0x82, 0x39, 0x6b, 0xb5, 0x4a, 0xf8,
	0x22, 0xde, 0xff, 0x27, 0x00, 0x00, 0xff, 0xff, 0x50, 0xe0, 0xb3, 0xc0, 0x28, 0x0a, 0x00, 0x00,
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: purchaseorder/service.proto

package purchaseorderpb

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import document "github.com/centrifuge/go-centrifuge/protobufs/gen/go/document"
import timestamp "github.com/golang/protobuf/ptypes/timestamp"
import _ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger/options"
import _ "google.golang.org/genproto/googleapis/api/annotations"

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

// This is a compile-time assertion to ensure that this generated file
// 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

type GetRequest struct {
	Identifier           string   `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetRequest) Reset()         { *m = GetRequest{} }
func (m *GetRequest) String() string { return proto.CompactTextString(m) }
func (*GetRequest) ProtoMessage()    {}
func (*GetRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_service_a9b80dc96b015f6f, []int{0}
}
func (m *GetRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetRequest.Unmarshal(m, b)
}
func (m *GetRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetRequest.Marshal(b, m, deterministic)
}
func (dst *GetRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetRequest.Merge(dst, src)
}
func (m *GetRequest) XXX_Size() int {
	return xxx_messageInfo_GetRequest.Size(m)
}
func (m *GetRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetRequest proto.InternalMessageInfo

func (m *GetRequest) GetIdentifier() string {
	if m != nil {
		return m.Identifier
	}
	return ""
}

type GetVersionRequest struct {
	Identifier           string   `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"`
	Version              string   `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetVersionRequest) Reset()         { *m = GetVersionRequest{} }
func (m *GetVersionRequest) String() string { return proto.CompactTextString(m) }
func (*GetVersionRequest) ProtoMessage()    {}
func (*GetVersionRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_service_a9b80dc96b015f6f, []int{1}
}
func (m *GetVersionRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetVersionRequest.Unmarshal(m, b)
}
func (m *GetVersionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetVersionRequest.Marshal(b, m, deterministic)
}
func (dst *GetVersionRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetVersionRequest.Merge(dst, src)
}
func (m *GetVersionRequest) XXX_Size() int {
	return xxx_messageInfo_GetVersionRequest.Size(m)
}
func (m *GetVersionRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetVersionRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetVersionRequest proto.InternalMessageInfo

func (m *GetVersionRequest) GetIdentifier() string {
	if m != nil {
		return m.Identifier
	}
	return ""
}

func (m *GetVersionRequest) GetVersion() string {
	if m != nil {
		return m.Version
	}
	return ""
}

type PurchaseOrderCreatePayload struct {
	Collaborators        []string           `protobuf:"bytes,1,rep,name=collaborators,proto3" json:"collaborators,omitempty"`
	Data                 *PurchaseOrderData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *PurchaseOrderCreatePayload) Reset()         { *m = PurchaseOrderCreatePayload{} }
func (m *PurchaseOrderCreatePayload) String() string { return proto.CompactTextString(m) }
func (*PurchaseOrderCreatePayload) ProtoMessage()    {}
func (*PurchaseOrderCreatePayload) Descriptor() ([]byte, []int) {
	return fileDescriptor_service_a9b80dc96b015f6f, []int{2}
}
func (m *PurchaseOrderCreatePayload) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PurchaseOrderCreatePayload.Unmarshal(m, b)
}
func (m *PurchaseOrderCreatePayload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PurchaseOrderCreatePayload.Marshal(b, m, deterministic)
}
func (dst *PurchaseOrderCreatePayload) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PurchaseOrderCreatePayload.Merge(dst, src)
}
func (m *PurchaseOrderCreatePayload) XXX_Size() int {
	return xxx_messageInfo_PurchaseOrderCreatePayload.Size(m)
}
func (m *PurchaseOrderCreatePayload) XXX_DiscardUnknown() {
	xxx_messageInfo_PurchaseOrderCreatePayload.DiscardUnknown(m)
}

var xxx_messageInfo_PurchaseOrderCreatePayload proto.InternalMessageInfo

func (m *PurchaseOrderCreatePayload) GetCollaborators() []string {
	if m != nil {
		return m.Collaborators
	}
	return nil
}

func (m *PurchaseOrderCreatePayload) GetData() *PurchaseOrderData {
	if m != nil {
		return m.Data
	}
	return nil
}

type PurchaseOrderUpdatePayload struct {
	Identifier           string                             `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"`
	Collaborators        []string                           `protobuf:"bytes,2,rep,name=collaborators,proto3" json:"collaborators,omitempty"`
	Data                 *PurchaseOrderData                 `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
	AccessTokenPayload   *document.UpdateAccessTokenPayload `protobuf:"bytes,4,opt,name=access_token_payload,json=accessTokenPayload,proto3" json:"access_token_payload,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                           `json:"-"`
	XXX_unrecognized     []byte                             `json:"-"`
	XXX_sizecache        int32                              `json:"-"`
}

func (m *PurchaseOrderUpdatePayload) Reset()         { *m = PurchaseOrderUpdatePayload{} }
func (m *PurchaseOrderUpdatePayload) String() string { return proto.CompactTextString(m) }
func (*PurchaseOrderUpdatePayload) ProtoMessage()    {}
func (*PurchaseOrderUpdatePayload) Descriptor() ([]byte, []int) {
	return fileDescriptor_service_a9b80dc96b015f6f, []int{3}
}
func (m *PurchaseOrderUpdatePayload) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PurchaseOrderUpdatePayload.Unmarshal(m, b)
}
func (m *PurchaseOrderUpdatePayload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PurchaseOrderUpdatePayload.Marshal(b, m, deterministic)
}
func (dst *PurchaseOrderUpdatePayload) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PurchaseOrderUpdatePayload.Merge(dst, src)
}
func (m *PurchaseOrderUpdatePayload) XXX_Size() int {
	return xxx_messageInfo_PurchaseOrderUpdatePayload.Size(m)
}
func (m *PurchaseOrderUpdatePayload) XXX_DiscardUnknown() {
	xxx_messageInfo_PurchaseOrderUpdatePayload.DiscardUnknown(m)
}

var xxx_messageInfo_PurchaseOrderUpdatePayload proto.InternalMessageInfo

func (m *PurchaseOrderUpdatePayload) GetIdentifier() string {
	if m != nil {
		return m.Identifier
	}
	return ""
}

func (m *PurchaseOrderUpdatePayload) GetCollaborators() []string {
	if m != nil {
		return m.Collaborators
	}
	return nil
}

func (m *PurchaseOrderUpdatePayload) GetData() *PurchaseOrderData {
	if m != nil {
		return m.Data
	}
	return nil
}

func (m *PurchaseOrderUpdatePayload) GetAccessTokenPayload() *document.UpdateAccessTokenPayload {
	if m != nil {
		return m.AccessTokenPayload
	}
	return nil
}

type PurchaseOrderResponse struct {
	Header               *ResponseHeader    `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	Data                 *PurchaseOrderData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *PurchaseOrderResponse) Reset()         { *m = PurchaseOrderResponse{} }
func (m *PurchaseOrderResponse) String() string { return proto.CompactTextString(m) }
func (*PurchaseOrderResponse) ProtoMessage()    {}
func (*PurchaseOrderResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_service_a9b80dc96b015f6f, []int{4}
}
func (m *PurchaseOrderResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PurchaseOrderResponse.Unmarshal(m, b)
}
func (m *PurchaseOrderResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PurchaseOrderResponse.Marshal(b, m, deterministic)
}
func (dst *PurchaseOrderResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PurchaseOrderResponse.Merge(dst, src)
}
func (m *PurchaseOrderResponse) XXX_Size() int {
	return xxx_messageInfo_PurchaseOrderResponse.Size(m)
}
func (m *PurchaseOrderResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_PurchaseOrderResponse.DiscardUnknown(m)
}

var xxx_messageInfo_PurchaseOrderResponse proto.InternalMessageInfo

func (m *PurchaseOrderResponse) GetHeader() *ResponseHeader {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *PurchaseOrderResponse) GetData() *PurchaseOrderData {
	if m != nil {
		return m.Data
	}
	return nil
}

// ResponseHeader contains a set of common fields for most documents
type ResponseHeader struct {
	DocumentId           string   `protobuf:"bytes,1,opt,name=document_id,json=documentId,proto3" json:"document_id,omitempty"`
	VersionId            string   `protobuf:"bytes,2,opt,name=version_id,json=versionId,proto3" json:"version_id,omitempty"`
	State                string   `protobuf:"bytes,3,opt,name=state,proto3" json:"state,omitempty"`
	Collaborators        []string `protobuf:"bytes,4,rep,name=collaborators,proto3" json:"collaborators,omitempty"`
	TransactionId        string   `protobuf:"bytes,5,opt,name=transaction_id,json=transactionId,proto3" json:"transaction_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ResponseHeader) Reset()         { *m = ResponseHeader{} }
func (m *ResponseHeader) String() string { return proto.CompactTextString(m) }
func (*ResponseHeader) ProtoMessage()    {}
func (*ResponseHeader) Descriptor() ([]byte, []int) {
	return fileDescriptor_service_a9b80dc96b015f6f, []int{5}
}
func (m *ResponseHeader) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ResponseHeader.Unmarshal(m, b)
}
func (m *ResponseHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ResponseHeader.Marshal(b, m, deterministic)
}
func (dst *ResponseHeader) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ResponseHeader.Merge(dst, src)
}
func (m *ResponseHeader) XXX_Size() int {
	return xxx_messageInfo_ResponseHeader.Size(m)
}
func (m *ResponseHeader) XXX_DiscardUnknown() {
	xxx_messageInfo_ResponseHeader.DiscardUnknown(m)
}

var xxx_messageInfo_ResponseHeader proto.InternalMessageInfo

func (m *ResponseHeader) GetDocumentId() string {
	if m != nil {
		return m.DocumentId
	}
	return ""
}

func (m *ResponseHeader) GetVersionId() string {
	if m != nil {
		return m.VersionId
	}
	return ""
}

func (m *ResponseHeader) GetState() string {
	if m != nil {
		return m.State
	}
	return ""
}

func (m *ResponseHeader) GetCollaborators() []string {
	if m != nil {
		return m.Collaborators
	}
	return nil
}

func (m *ResponseHeader) GetTransactionId() string {
	if m != nil {
		return m.TransactionId
	}
	return ""
}

type PurchaseOrderData struct {
	PoStatus string `protobuf:"bytes,24,opt,name=po_status,json=poStatus,proto3" json:"po_status,omitempty"`
	// purchase order number or reference number
	PoNumber string `protobuf:"bytes,1,opt,name=po_number,json=poNumber,proto3" json:"po_number,omitempty"`
	// name of the ordering company
	OrderName string `protobuf:"bytes,2,opt,name=order_name,json=orderName,proto3" json:"order_name,omitempty"`
	// street and address details of the ordering company
	OrderStreet  string `protobuf:"bytes,3,opt,name=order_street,json=orderStreet,proto3" json:"order_street,omitempty"`
	OrderCity    string `protobuf:"bytes,4,opt,name=order_city,json=orderCity,proto3" json:"order_city,omitempty"`
	OrderZipcode string `protobuf:"bytes,5,opt,name=order_zipcode,json=orderZipcode,proto3" json:"order_zipcode,omitempty"`
	// country ISO code of the ordering company of this purchase order
	OrderCountry string `protobuf:"bytes,6,opt,name=order_country,json=orderCountry,proto3" json:"order_country,omitempty"`
	// name of the recipient company
	RecipientName    string `protobuf:"bytes,7,opt,name=recipient_name,json=recipientName,proto3" json:"recipient_name,omitempty"`
	RecipientStreet  string `protobuf:"bytes,8,opt,name=recipient_street,json=recipientStreet,proto3" json:"recipient_street,omitempty"`
	RecipientCity    string `protobuf:"bytes,9,opt,name=recipient_city,json=recipientCity,proto3" json:"recipient_city,omitempty"`
	RecipientZipcode string `protobuf:"bytes,10,opt,name=recipient_zipcode,json=recipientZipcode,proto3" json:"recipient_zipcode,omitempty"`
	// country ISO code of the receipient of this purchase order
	RecipientCountry string `protobuf:"bytes,11,opt,name=recipient_country,json=recipientCountry,proto3" json:"recipient_country,omitempty"`
	// ISO currency code
	Currency string `protobuf:"bytes,12,opt,name=currency,proto3" json:"currency,omitempty"`
	// ordering gross amount including tax
	OrderAmount int64 `protobuf:"varint,13,opt,name=order_amount,json=orderAmount,proto3" json:"order_amount,omitempty"`
	// invoice amount excluding tax
	NetAmount int64  `protobuf:"varint,14,opt,name=net_amount,json=netAmount,proto3" json:"net_amount,omitempty"`
	TaxAmount int64  `protobuf:"varint,15,opt,name=tax_amount,json=taxAmount,proto3" json:"tax_amount,omitempty"`
	TaxRate   int64  `protobuf:"varint,16,opt,name=tax_rate,json=taxRate,proto3" json:"tax_rate,omitempty"`
	Recipient string `protobuf:"bytes,17,opt,name=recipient,proto3" json:"recipient,omitempty"`
	Order     string `protobuf:"bytes,18,opt,name=order,proto3" json:"order,omitempty"`
	// contact or requester or purchaser at the ordering company
	OrderContact string `protobuf:"bytes,19,opt,name=order_contact,json=orderContact,proto3" json:"order_contact,omitempty"`
	Comment      string `protobuf:"bytes,20,opt,name=comment,proto3" json:"comment,omitempty"`
	// requested delivery date
	DeliveryDate *timestamp.Timestamp `protobuf:"bytes,21,opt,name=delivery_date,json=deliveryDate,proto3" json:"delivery_date,omitempty"`
	// purchase order date
	DateCreated          *timestamp.Timestamp `protobuf:"bytes,22,opt,name=date_created,json=dateCreated,proto3" json:"date_created,omitempty"`
	ExtraData            string               `protobuf:"bytes,23,opt,name=extra_data,json=extraData,proto3" json:"extra_data,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *PurchaseOrderData) Reset()         { *m = PurchaseOrderData{} }
func (m *PurchaseOrderData) String() string { return proto.CompactTextString(m) }
func (*PurchaseOrderData) ProtoMessage()    {}
func (*PurchaseOrderData) Descriptor() ([]byte, []int) {
	return fileDescriptor_service_a9b80dc96b015f6f, []int{6}
}
func (m *PurchaseOrderData) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PurchaseOrderData.Unmarshal(m, b)
}
func (m *PurchaseOrderData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PurchaseOrderData.Marshal(b, m, deterministic)
}
func (dst *PurchaseOrderData) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PurchaseOrderData.Merge(dst, src)
}
func (m *PurchaseOrderData) XXX_Size() int {
	return xxx_messageInfo_PurchaseOrderData.Size(m)
}
func (m *PurchaseOrderData) XXX_DiscardUnknown() {
	xxx_messageInfo_PurchaseOrderData.DiscardUnknown(m)
}

var xxx_messageInfo_PurchaseOrderData proto.InternalMessageInfo

func (m *PurchaseOrderData) GetPoStatus() string {
	if m != nil {
		return m.PoStatus
	}
	return ""
}

func (m *PurchaseOrderData) GetPoNumber() string {
	if m != nil {
		return m.PoNumber
	}
	return ""
}

func (m *PurchaseOrderData) GetOrderName() string {
	if m != nil {
		return m.OrderName
	}
	return ""
}

func (m *PurchaseOrderData) GetOrderStreet() string {
	if m != nil {
		return m.OrderStreet
	}
	return ""
}

func (m *PurchaseOrderData) GetOrderCity() string {
	if m != nil {
		return m.OrderCity
	}
	return ""
}

func (m *PurchaseOrderData) GetOrderZipcode() string {
	if m != nil {
		return m.OrderZipcode
	}
	return ""
}

func (m *PurchaseOrderData) GetOrderCountry() string {
	if m != nil {
		return m.OrderCountry
	}
	return ""
}

func (m *PurchaseOrderData) GetRecipientName() string {
	if m != nil {
		return m.RecipientName
	}
	return ""
}

func (m *PurchaseOrderData) GetRecipientStreet() string {
	if m != nil {
		return m.RecipientStreet
	}
	return ""
}

func (m *PurchaseOrderData) GetRecipientCity() string {
	if m != nil {
		return m.RecipientCity
	}
	return ""
}

func (m *PurchaseOrderData) GetRecipientZipcode() string {
	if m != nil {
		return m.RecipientZipcode
	}
	return ""
}

func (m *PurchaseOrderData) GetRecipientCountry() string {
	if m != nil {
		return m.RecipientCountry
	}
	return ""
}

func (m *PurchaseOrderData) GetCurrency() string {
	if m != nil {
		return m.Currency
	}
	return ""
}

func (m *PurchaseOrderData) GetOrderAmount() int64 {
	if m != nil {
		return m.OrderAmount
	}
	return 0
}

func (m *PurchaseOrderData) GetNetAmount() int64 {
	if m != nil {
		return m.NetAmount
	}
	return 0
}

func (m *PurchaseOrderData) GetTaxAmount() int64 {
	if m != nil {
		return m.TaxAmount
	}
	return 0
}

func (m *PurchaseOrderData) GetTaxRate() int64 {
	if m != nil {
		return m.TaxRate
	}
	return 0
}

func (m *PurchaseOrderData) GetRecipient() string {
	if m != nil {
		return m.Recipient
	}
	return ""
}

func (m *PurchaseOrderData) GetOrder() string {
	if m != nil {
		return m.Order
	}
	return ""
}

func (m *PurchaseOrderData) GetOrderContact() string {
	if m != nil {
		return m.OrderContact
	}
	return ""
}

func (m *PurchaseOrderData) GetComment() string {
	if m != nil {
		return m.Comment
	}
	return ""
}

func (m *PurchaseOrderData) GetDeliveryDate() *timestamp.Timestamp {
	if m != nil {
		return m.DeliveryDate
	}
	return nil
}

func (m *PurchaseOrderData) GetDateCreated() *timestamp.Timestamp {
	if m != nil {
		return m.DateCreated
	}
	return nil
}

func (m *PurchaseOrderData) GetExtraData() string {
	if m != nil {
		return m.ExtraData
	}
	return ""
}

func init() {
	proto.RegisterType((*GetRequest)(nil), "purchaseorder.GetRequest")
	proto.RegisterType((*GetVersionRequest)(nil), "purchaseorder.GetVersionRequest")
	proto.RegisterType((*PurchaseOrderCreatePayload)(nil), "purchaseorder.PurchaseOrderCreatePayload")
	proto.RegisterType((*PurchaseOrderUpdatePayload)(nil), "purchaseorder.PurchaseOrderUpdatePayload")
	proto.RegisterType((*PurchaseOrderResponse)(nil), "purchaseorder.PurchaseOrderResponse")
	proto.RegisterType((*ResponseHeader)(nil), "purchaseorder.ResponseHeader")
	proto.RegisterType((*PurchaseOrderData)(nil), "purchaseorder.PurchaseOrderData")
}

// 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

// DocumentServiceClient is the client API for DocumentService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type DocumentServiceClient interface {
	Create(ctx context.Context, in *PurchaseOrderCreatePayload, opts ...grpc.CallOption) (*PurchaseOrderResponse, error)
	Update(ctx context.Context, in *PurchaseOrderUpdatePayload, opts ...grpc.CallOption) (*PurchaseOrderResponse, error)
	GetVersion(ctx context.Context, in *GetVersionRequest, opts ...grpc.CallOption) (*PurchaseOrderResponse, error)
	Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*PurchaseOrderResponse, error)
}

type documentServiceClient struct {
	cc *grpc.ClientConn
}

func NewDocumentServiceClient(cc *grpc.ClientConn) DocumentServiceClient {
	return &documentServiceClient{cc}
}

func (c *documentServiceClient) Create(ctx context.Context, in *PurchaseOrderCreatePayload, opts ...grpc.CallOption) (*PurchaseOrderResponse, error) {
	out := new(PurchaseOrderResponse)
	err := c.cc.Invoke(ctx, "/purchaseorder.DocumentService/Create", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *documentServiceClient) Update(ctx context.Context, in *PurchaseOrderUpdatePayload, opts ...grpc.CallOption) (*PurchaseOrderResponse, error) {
	out := new(PurchaseOrderResponse)
	err := c.cc.Invoke(ctx, "/purchaseorder.DocumentService/Update", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *documentServiceClient) GetVersion(ctx context.Context, in *GetVersionRequest, opts ...grpc.CallOption) (*PurchaseOrderResponse, error) {
	out := new(PurchaseOrderResponse)
	err := c.cc.Invoke(ctx, "/purchaseorder.DocumentService/GetVersion", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *documentServiceClient) Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*PurchaseOrderResponse, error) {
	out := new(PurchaseOrderResponse)
	err := c.cc.Invoke(ctx, "/purchaseorder.DocumentService/Get", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// DocumentServiceServer is the server API for DocumentService service.
type DocumentServiceServer interface {
	Create(context.Context, *PurchaseOrderCreatePayload) (*PurchaseOrderResponse, error)
	Update(context.Context, *PurchaseOrderUpdatePayload) (*PurchaseOrderResponse, error)
	GetVersion(context.Context, *GetVersionRequest) (*PurchaseOrderResponse, error)
	Get(context.Context, *GetRequest) (*PurchaseOrderResponse, error)
}

func RegisterDocumentServiceServer(s *grpc.Server, srv DocumentServiceServer) {
	s.RegisterService(&_DocumentService_serviceDesc, srv)
}

func _DocumentService_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PurchaseOrderCreatePayload)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DocumentServiceServer).Create(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/purchaseorder.DocumentService/Create",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DocumentServiceServer).Create(ctx, req.(*PurchaseOrderCreatePayload))
	}
	return interceptor(ctx, in, info, handler)
}

func _DocumentService_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PurchaseOrderUpdatePayload)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DocumentServiceServer).Update(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/purchaseorder.DocumentService/Update",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DocumentServiceServer).Update(ctx, req.(*PurchaseOrderUpdatePayload))
	}
	return interceptor(ctx, in, info, handler)
}

func _DocumentService_GetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetVersionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DocumentServiceServer).GetVersion(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/purchaseorder.DocumentService/GetVersion",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DocumentServiceServer).GetVersion(ctx, req.(*GetVersionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _DocumentService_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DocumentServiceServer).Get(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/purchaseorder.DocumentService/Get",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DocumentServiceServer).Get(ctx, req.(*GetRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _DocumentService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "purchaseorder.DocumentService",
	HandlerType: (*DocumentServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Create",
			Handler:    _DocumentService_Create_Handler,
		},
		{
			MethodName: "Update",
			Handler:    _DocumentService_Update_Handler,
		},
		{
			MethodName: "GetVersion",
			Handler:    _DocumentService_GetVersion_Handler,
		},
		{
			MethodName: "Get",
			Handler:    _DocumentService_Get_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "purchaseorder/service.proto",
}

func init() {
	proto.RegisterFile("purchaseorder/service.proto", fileDescriptor_service_a9b80dc96b015f6f)
}

var fileDescriptor_service_a9b80dc96b015f6f = []byte{
	// 1008 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0xdf, 0x6e, 0x1b, 0xc5,
	0x17, 0xd6, 0xe6, 0x8f, 0x13, 0x8f, 0xe3, 0xa4, 0x99, 0xa6, 0xfd, 0x6d, 0x37, 0xcd, 0xaf, 0x8b,
	0x69, 0x45, 0xda, 0x26, 0xb6, 0x14, 0x0a, 0x17, 0x48, 0x08, 0xa5, 0x89, 0x14, 0x72, 0x41, 0x89,
	0x36, 0x81, 0x8b, 0x0a, 0xc9, 0x1a, 0xcf, 0x9e, 0x38, 0x2b, 0xec, 0x9d, 0x65, 0x76, 0x1c, 0x6c,
	0xaa, 0xde, 0x20, 0x5e, 0x80, 0x70, 0x85, 0x90, 0x78, 0x08, 0x78, 0x14, 0x5e, 0x81, 0x6b, 0xee,
	0xb8, 0x47, 0x73, 0x66, 0xc6, 0xf6, 0xda, 0xc5, 0x49, 0xb9, 0x5a, 0xcd, 0x77, 0xbe, 0x73, 0xf6,
	0x3b, 0x67, 0xce, 0x9c, 0x43, 0x36, 0xb3, 0x9e, 0xe4, 0x17, 0x2c, 0x07, 0x21, 0x63, 0x90, 0x8d,
	0x1c, 0xe4, 0x65, 0xc2, 0xa1, 0x9e, 0x49, 0xa1, 0x04, 0xad, 0x16, 0x8c, 0xc1, 0xdd, 0x58, 0xf0,
	0x5e, 0x17, 0x52, 0x55, 0xa4, 0x05, 0xf7, 0xdb, 0x42, 0xb4, 0x3b, 0xd0, 0x60, 0x59, 0xd2, 0x60,
	0x69, 0x2a, 0x14, 0x53, 0x89, 0x48, 0x73, 0x6b, 0x7d, 0x60, 0xad, 0x78, 0x6a, 0xf5, 0xce, 0x1b,
	0x2a, 0xe9, 0x42, 0xae, 0x58, 0x37, 0xb3, 0x84, 0x1d, 0xfc, 0xf0, 0xdd, 0x36, 0xa4, 0xbb, 0xf9,
	0xb7, 0xac, 0xdd, 0x06, 0xd9, 0x10, 0x19, 0x86, 0x98, 0x0e, 0x57, 0xdb, 0x21, 0xe4, 0x08, 0x54,
	0x04, 0xdf, 0xf4, 0x20, 0x57, 0xf4, 0xff, 0x84, 0x24, 0x31, 0xa4, 0x2a, 0x39, 0x4f, 0x40, 0xfa,
	0x5e, 0xe8, 0x6d, 0x97, 0xa3, 0x31, 0xa4, 0xf6, 0x19, 0x59, 0x3f, 0x02, 0xf5, 0x25, 0xc8, 0x3c,
	0x11, 0xe9, 0x0d, 0x9d, 0xa8, 0x4f, 0x96, 0x2e, 0x8d, 0x87, 0x3f, 0x87, 0x46, 0x77, 0xac, 0xf5,
	0x49, 0x70, 0x62, 0x4b, 0xf2, 0xb9, 0x2e, 0xc9, 0x81, 0x04, 0xa6, 0xe0, 0x84, 0x0d, 0x3a, 0x82,
	0xc5, 0xf4, 0x21, 0xa9, 0x72, 0xd1, 0xe9, 0xb0, 0x96, 0x90, 0x4c, 0x09, 0x99, 0xfb, 0x5e, 0x38,
	0xbf, 0x5d, 0x8e, 0x8a, 0x20, 0x7d, 0x46, 0x16, 0x62, 0xa6, 0x18, 0x86, 0xae, 0xec, 0x85, 0xf5,
	0x42, 0x8d, 0xeb, 0x85, 0xf0, 0x87, 0x4c, 0xb1, 0x08, 0xd9, 0xb5, 0xbf, 0xbc, 0x89, 0x5f, 0x7f,
	0x91, 0xc5, 0x63, 0xbf, 0xbe, 0x2e, 0xa5, 0x29, 0x69, 0x73, 0xb3, 0xa4, 0xcd, 0xbf, 0x8d, 0x34,
	0x7a, 0x46, 0x36, 0x18, 0xe7, 0x90, 0xe7, 0x4d, 0x25, 0xbe, 0x86, 0xb4, 0x99, 0x19, 0x4d, 0xfe,
	0x02, 0x46, 0xa9, 0xd5, 0x5d, 0xd7, 0xd4, 0x8d, 0xe4, 0x7d, 0xe4, 0x9e, 0x69, 0xaa, 0x55, 0x1f,
	0x51, 0x36, 0x85, 0xd5, 0x7e, 0xf0, 0xc8, 0x9d, 0xc2, 0x1f, 0x23, 0xc8, 0x33, 0x91, 0xe6, 0x40,
	0x3f, 0x20, 0xa5, 0x0b, 0x60, 0xb1, 0xcd, 0xb3, 0xb2, 0xb7, 0x35, 0xa1, 0xd3, 0x11, 0x3f, 0x45,
	0x52, 0x64, 0xc9, 0xff, 0xb1, 0xee, 0xbf, 0x7b, 0x64, 0xb5, 0x18, 0x90, 0x3e, 0x20, 0x15, 0x97,
	0x52, 0x33, 0x89, 0x5d, 0xb1, 0x1d, 0x74, 0x1c, 0xd3, 0x2d, 0x42, 0x6c, 0xc3, 0x68, 0xbb, 0x69,
	0xa1, 0xb2, 0x45, 0x8e, 0x63, 0xba, 0x41, 0x16, 0x73, 0xc5, 0x14, 0x60, 0x99, 0xcb, 0x91, 0x39,
	0x4c, 0xdf, 0xd0, 0xc2, 0x9b, 0x6e, 0xe8, 0x11, 0x59, 0x55, 0x92, 0xa5, 0x39, 0xe3, 0xca, 0x86,
	0x5f, 0xc4, 0x20, 0xd5, 0x31, 0xf4, 0x38, 0xae, 0xfd, 0x5d, 0x22, 0xeb, 0x53, 0x19, 0xd1, 0x4d,
	0x52, 0xce, 0x44, 0x53, 0xff, 0xae, 0x97, 0xfb, 0x3e, 0xfa, 0x2d, 0x67, 0xe2, 0x14, 0xcf, 0xd6,
	0x98, 0xf6, 0xba, 0xad, 0x61, 0x03, 0x2d, 0x67, 0xe2, 0x05, 0x9e, 0x75, 0x46, 0x58, 0xa6, 0x66,
	0xca, 0xba, 0xe0, 0x32, 0x42, 0xe4, 0x05, 0xeb, 0x02, 0x7d, 0x87, 0xac, 0x18, 0x73, 0xae, 0x24,
	0x80, 0xb2, 0x89, 0x55, 0x10, 0x3b, 0x45, 0x68, 0x14, 0x81, 0x27, 0x6a, 0x80, 0xad, 0xe1, 0x22,
	0x1c, 0x24, 0x6a, 0x40, 0xdf, 0x25, 0x55, 0x63, 0xfe, 0x2e, 0xc9, 0xb8, 0x88, 0xc1, 0xa6, 0x65,
	0xc2, 0xbe, 0x34, 0xd8, 0x88, 0xc4, 0x45, 0x2f, 0x55, 0x72, 0xe0, 0x97, 0xc6, 0x48, 0x07, 0x06,
	0xd3, 0x15, 0x92, 0xc0, 0x93, 0x2c, 0xd1, 0xd7, 0x83, 0x72, 0x97, 0x4c, 0x85, 0x86, 0x28, 0x4a,
	0x7e, 0x4c, 0x6e, 0x8d, 0x68, 0x56, 0xf6, 0x32, 0x12, 0xd7, 0x86, 0xb8, 0x95, 0x5e, 0x88, 0x88,
	0xf2, 0xcb, 0x13, 0x11, 0x31, 0x85, 0xa7, 0x64, 0x7d, 0x44, 0x73, 0x69, 0x10, 0x64, 0x8e, 0x7e,
	0xe5, 0x52, 0x29, 0x90, 0x5d, 0x3a, 0x95, 0x09, 0xb2, 0x4b, 0x29, 0x20, 0xcb, 0xbc, 0x27, 0x25,
	0xa4, 0x7c, 0xe0, 0xaf, 0x98, 0x9b, 0x71, 0xe7, 0x51, 0xe9, 0x59, 0x57, 0xb3, 0xfd, 0x6a, 0xe8,
	0x6d, 0xcf, 0xdb, 0xd2, 0xef, 0x23, 0xa4, 0x4b, 0x9f, 0x82, 0x72, 0x84, 0x55, 0x24, 0x94, 0x53,
	0x50, 0x23, 0xb3, 0x62, 0x7d, 0x67, 0x5e, 0x33, 0x66, 0xc5, 0xfa, 0xd6, 0x7c, 0x8f, 0x2c, 0x6b,
	0xb3, 0xd4, 0x0d, 0x7b, 0x0b, 0x8d, 0x4b, 0x8a, 0xf5, 0x23, 0xdd, 0xb2, 0xf7, 0x49, 0x79, 0xa8,
	0xd5, 0x5f, 0x37, 0x57, 0x3a, 0x04, 0x74, 0x9b, 0xa3, 0x0a, 0x9f, 0x9a, 0x36, 0xc7, 0xc3, 0xf8,
	0x1d, 0xa6, 0x8a, 0x71, 0xe5, 0xdf, 0x2e, 0xdc, 0x21, 0x62, 0x7a, 0x00, 0x73, 0xd1, 0xd5, 0xaf,
	0xc9, 0xdf, 0x30, 0x03, 0xd8, 0x1e, 0xe9, 0x27, 0xa4, 0x1a, 0x43, 0x27, 0xb9, 0x04, 0x39, 0x68,
	0xea, 0x61, 0xe2, 0xdf, 0xc1, 0xd7, 0x1c, 0xd4, 0xcd, 0x92, 0xa9, 0xbb, 0x25, 0x53, 0x3f, 0x73,
	0x4b, 0x26, 0x5a, 0x71, 0x0e, 0x87, 0x5a, 0xf3, 0xc7, 0x64, 0x45, 0xfb, 0x35, 0x39, 0x4e, 0xee,
	0xd8, 0xbf, 0x7b, 0xad, 0x7f, 0x45, 0xf3, 0xcd, 0xa0, 0xc7, 0xa7, 0x0d, 0x7d, 0x25, 0x59, 0x13,
	0x47, 0xc9, 0xff, 0x4c, 0xce, 0x88, 0xe8, 0x17, 0xb6, 0xf7, 0xf3, 0x22, 0x59, 0x3b, 0xb4, 0x83,
	0xe0, 0xd4, 0xec, 0x48, 0xfa, 0xa3, 0x47, 0x4a, 0xc6, 0x9d, 0x3e, 0x9e, 0x35, 0x74, 0x0a, 0xbb,
	0x24, 0x78, 0x38, 0x8b, 0xea, 0x06, 0x52, 0xed, 0xc3, 0xab, 0xfd, 0x20, 0xf0, 0x8d, 0x67, 0x1e,
	0xb2, 0xd0, 0xf9, 0x84, 0xe8, 0xf4, 0xfd, 0x1f, 0x7f, 0xfe, 0x34, 0x77, 0xbb, 0xb6, 0xda, 0x28,
	0x84, 0xfa, 0xc8, 0x7b, 0x42, 0x7f, 0xf5, 0x48, 0xc9, 0x4c, 0xe3, 0xd9, 0x9a, 0x0a, 0x4b, 0xe6,
	0x86, 0x9a, 0x0e, 0x50, 0x93, 0xf1, 0xfc, 0x17, 0x4d, 0x61, 0xb0, 0x59, 0xd4, 0xd4, 0x78, 0x35,
	0xda, 0x55, 0xaf, 0xb5, 0xc0, 0xdf, 0x3c, 0x5c, 0xf3, 0x76, 0x71, 0xd3, 0xc9, 0x69, 0x3d, 0xb5,
	0xd3, 0x6f, 0xa8, 0xed, 0xab, 0xab, 0xfd, 0x9d, 0xe0, 0xc9, 0x11, 0xa8, 0x90, 0x85, 0x79, 0x06,
	0x3c, 0x39, 0x4f, 0x78, 0x68, 0x27, 0x73, 0x28, 0xce, 0xdf, 0xac, 0xf6, 0x3d, 0xfa, 0x68, 0x86,
	0xda, 0xc6, 0x2b, 0xeb, 0xff, 0x9a, 0xfe, 0xe2, 0x91, 0xf9, 0x23, 0x50, 0xf4, 0xde, 0xb4, 0xda,
	0xb7, 0x93, 0x79, 0x7a, 0xb5, 0xbf, 0x1b, 0x3c, 0xd5, 0x32, 0xd5, 0x05, 0x84, 0xe6, 0xad, 0xab,
	0x6b, 0x75, 0x6e, 0xd1, 0x59, 0x55, 0x7d, 0xfe, 0x8c, 0xac, 0x73, 0xd1, 0x2d, 0xfe, 0xff, 0xf9,
	0x8a, 0xed, 0xd2, 0x13, 0xdd, 0xf7, 0x27, 0xde, 0xcb, 0xb5, 0x82, 0x39, 0x6b, 0xb5, 0x4a, 0xf8,
	0x22, 0xde, 0xff, 0x27, 0x00, 0x00, 0xff, 0xff, 0x50, 0xe0, 0xb3, 0xc0, 0x28, 0x0a, 0x00, 0x00,
}
