// Code generated by protoc-gen-go. DO NOT EDIT.
// source: examples/examplepb/a_bit_of_everything.proto

package examplepb

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "google.golang.org/genproto/googleapis/api/annotations"
import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
import google_protobuf2 "github.com/golang/protobuf/ptypes/duration"
import grpc_gateway_examples_sub "github.com/grpc-ecosystem/grpc-gateway/examples/sub"
import sub2 "github.com/grpc-ecosystem/grpc-gateway/examples/sub2"
import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
import _ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger/options"

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

// NumericEnum is one or zero.
type NumericEnum int32

const (
	// ZERO means 0
	NumericEnum_ZERO NumericEnum = 0
	// ONE means 1
	NumericEnum_ONE NumericEnum = 1
)

var NumericEnum_name = map[int32]string{
	0: "ZERO",
	1: "ONE",
}
var NumericEnum_value = map[string]int32{
	"ZERO": 0,
	"ONE":  1,
}

func (x NumericEnum) String() string {
	return proto.EnumName(NumericEnum_name, int32(x))
}
func (NumericEnum) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }

// DeepEnum is one or zero.
type ABitOfEverything_Nested_DeepEnum int32

const (
	// FALSE is false.
	ABitOfEverything_Nested_FALSE ABitOfEverything_Nested_DeepEnum = 0
	// TRUE is true.
	ABitOfEverything_Nested_TRUE ABitOfEverything_Nested_DeepEnum = 1
)

var ABitOfEverything_Nested_DeepEnum_name = map[int32]string{
	0: "FALSE",
	1: "TRUE",
}
var ABitOfEverything_Nested_DeepEnum_value = map[string]int32{
	"FALSE": 0,
	"TRUE":  1,
}

func (x ABitOfEverything_Nested_DeepEnum) String() string {
	return proto.EnumName(ABitOfEverything_Nested_DeepEnum_name, int32(x))
}
func (ABitOfEverything_Nested_DeepEnum) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor1, []int{0, 0, 0}
}

// Intentionaly complicated message type to cover much features of Protobuf.
// NEXT ID: 27
type ABitOfEverything struct {
	SingleNested *ABitOfEverything_Nested   `protobuf:"bytes,25,opt,name=single_nested,json=singleNested" json:"single_nested,omitempty"`
	Uuid         string                     `protobuf:"bytes,1,opt,name=uuid" json:"uuid,omitempty"`
	Nested       []*ABitOfEverything_Nested `protobuf:"bytes,2,rep,name=nested" json:"nested,omitempty"`
	FloatValue   float32                    `protobuf:"fixed32,3,opt,name=float_value,json=floatValue" json:"float_value,omitempty"`
	DoubleValue  float64                    `protobuf:"fixed64,4,opt,name=double_value,json=doubleValue" json:"double_value,omitempty"`
	Int64Value   int64                      `protobuf:"varint,5,opt,name=int64_value,json=int64Value" json:"int64_value,omitempty"`
	Uint64Value  uint64                     `protobuf:"varint,6,opt,name=uint64_value,json=uint64Value" json:"uint64_value,omitempty"`
	Int32Value   int32                      `protobuf:"varint,7,opt,name=int32_value,json=int32Value" json:"int32_value,omitempty"`
	Fixed64Value uint64                     `protobuf:"fixed64,8,opt,name=fixed64_value,json=fixed64Value" json:"fixed64_value,omitempty"`
	Fixed32Value uint32                     `protobuf:"fixed32,9,opt,name=fixed32_value,json=fixed32Value" json:"fixed32_value,omitempty"`
	BoolValue    bool                       `protobuf:"varint,10,opt,name=bool_value,json=boolValue" json:"bool_value,omitempty"`
	StringValue  string                     `protobuf:"bytes,11,opt,name=string_value,json=stringValue" json:"string_value,omitempty"`
	// TODO(yugui) add bytes_value
	Uint32Value         uint32      `protobuf:"varint,13,opt,name=uint32_value,json=uint32Value" json:"uint32_value,omitempty"`
	EnumValue           NumericEnum `protobuf:"varint,14,opt,name=enum_value,json=enumValue,enum=grpc.gateway.examples.examplepb.NumericEnum" json:"enum_value,omitempty"`
	Sfixed32Value       int32       `protobuf:"fixed32,15,opt,name=sfixed32_value,json=sfixed32Value" json:"sfixed32_value,omitempty"`
	Sfixed64Value       int64       `protobuf:"fixed64,16,opt,name=sfixed64_value,json=sfixed64Value" json:"sfixed64_value,omitempty"`
	Sint32Value         int32       `protobuf:"zigzag32,17,opt,name=sint32_value,json=sint32Value" json:"sint32_value,omitempty"`
	Sint64Value         int64       `protobuf:"zigzag64,18,opt,name=sint64_value,json=sint64Value" json:"sint64_value,omitempty"`
	RepeatedStringValue []string    `protobuf:"bytes,19,rep,name=repeated_string_value,json=repeatedStringValue" json:"repeated_string_value,omitempty"`
	// Types that are valid to be assigned to OneofValue:
	//	*ABitOfEverything_OneofEmpty
	//	*ABitOfEverything_OneofString
	OneofValue               isABitOfEverything_OneofValue       `protobuf_oneof:"oneof_value"`
	MapValue                 map[string]NumericEnum              `protobuf:"bytes,22,rep,name=map_value,json=mapValue" json:"map_value,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=grpc.gateway.examples.examplepb.NumericEnum"`
	MappedStringValue        map[string]string                   `protobuf:"bytes,23,rep,name=mapped_string_value,json=mappedStringValue" json:"mapped_string_value,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	MappedNestedValue        map[string]*ABitOfEverything_Nested `protobuf:"bytes,24,rep,name=mapped_nested_value,json=mappedNestedValue" json:"mapped_nested_value,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	NonConventionalNameValue string                              `protobuf:"bytes,26,opt,name=nonConventionalNameValue" json:"nonConventionalNameValue,omitempty"`
	TimestampValue           *google_protobuf3.Timestamp         `protobuf:"bytes,27,opt,name=timestamp_value,json=timestampValue" json:"timestamp_value,omitempty"`
	// repeated enum value. it is comma-separated in query
	RepeatedEnumValue []NumericEnum `protobuf:"varint,28,rep,packed,name=repeated_enum_value,json=repeatedEnumValue,enum=grpc.gateway.examples.examplepb.NumericEnum" json:"repeated_enum_value,omitempty"`
}

func (m *ABitOfEverything) Reset()                    { *m = ABitOfEverything{} }
func (m *ABitOfEverything) String() string            { return proto.CompactTextString(m) }
func (*ABitOfEverything) ProtoMessage()               {}
func (*ABitOfEverything) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }

type isABitOfEverything_OneofValue interface {
	isABitOfEverything_OneofValue()
}

type ABitOfEverything_OneofEmpty struct {
	OneofEmpty *google_protobuf1.Empty `protobuf:"bytes,20,opt,name=oneof_empty,json=oneofEmpty,oneof"`
}
type ABitOfEverything_OneofString struct {
	OneofString string `protobuf:"bytes,21,opt,name=oneof_string,json=oneofString,oneof"`
}

func (*ABitOfEverything_OneofEmpty) isABitOfEverything_OneofValue()  {}
func (*ABitOfEverything_OneofString) isABitOfEverything_OneofValue() {}

func (m *ABitOfEverything) GetOneofValue() isABitOfEverything_OneofValue {
	if m != nil {
		return m.OneofValue
	}
	return nil
}

func (m *ABitOfEverything) GetSingleNested() *ABitOfEverything_Nested {
	if m != nil {
		return m.SingleNested
	}
	return nil
}

func (m *ABitOfEverything) GetUuid() string {
	if m != nil {
		return m.Uuid
	}
	return ""
}

func (m *ABitOfEverything) GetNested() []*ABitOfEverything_Nested {
	if m != nil {
		return m.Nested
	}
	return nil
}

func (m *ABitOfEverything) GetFloatValue() float32 {
	if m != nil {
		return m.FloatValue
	}
	return 0
}

func (m *ABitOfEverything) GetDoubleValue() float64 {
	if m != nil {
		return m.DoubleValue
	}
	return 0
}

func (m *ABitOfEverything) GetInt64Value() int64 {
	if m != nil {
		return m.Int64Value
	}
	return 0
}

func (m *ABitOfEverything) GetUint64Value() uint64 {
	if m != nil {
		return m.Uint64Value
	}
	return 0
}

func (m *ABitOfEverything) GetInt32Value() int32 {
	if m != nil {
		return m.Int32Value
	}
	return 0
}

func (m *ABitOfEverything) GetFixed64Value() uint64 {
	if m != nil {
		return m.Fixed64Value
	}
	return 0
}

func (m *ABitOfEverything) GetFixed32Value() uint32 {
	if m != nil {
		return m.Fixed32Value
	}
	return 0
}

func (m *ABitOfEverything) GetBoolValue() bool {
	if m != nil {
		return m.BoolValue
	}
	return false
}

func (m *ABitOfEverything) GetStringValue() string {
	if m != nil {
		return m.StringValue
	}
	return ""
}

func (m *ABitOfEverything) GetUint32Value() uint32 {
	if m != nil {
		return m.Uint32Value
	}
	return 0
}

func (m *ABitOfEverything) GetEnumValue() NumericEnum {
	if m != nil {
		return m.EnumValue
	}
	return NumericEnum_ZERO
}

func (m *ABitOfEverything) GetSfixed32Value() int32 {
	if m != nil {
		return m.Sfixed32Value
	}
	return 0
}

func (m *ABitOfEverything) GetSfixed64Value() int64 {
	if m != nil {
		return m.Sfixed64Value
	}
	return 0
}

func (m *ABitOfEverything) GetSint32Value() int32 {
	if m != nil {
		return m.Sint32Value
	}
	return 0
}

func (m *ABitOfEverything) GetSint64Value() int64 {
	if m != nil {
		return m.Sint64Value
	}
	return 0
}

func (m *ABitOfEverything) GetRepeatedStringValue() []string {
	if m != nil {
		return m.RepeatedStringValue
	}
	return nil
}

func (m *ABitOfEverything) GetOneofEmpty() *google_protobuf1.Empty {
	if x, ok := m.GetOneofValue().(*ABitOfEverything_OneofEmpty); ok {
		return x.OneofEmpty
	}
	return nil
}

func (m *ABitOfEverything) GetOneofString() string {
	if x, ok := m.GetOneofValue().(*ABitOfEverything_OneofString); ok {
		return x.OneofString
	}
	return ""
}

func (m *ABitOfEverything) GetMapValue() map[string]NumericEnum {
	if m != nil {
		return m.MapValue
	}
	return nil
}

func (m *ABitOfEverything) GetMappedStringValue() map[string]string {
	if m != nil {
		return m.MappedStringValue
	}
	return nil
}

func (m *ABitOfEverything) GetMappedNestedValue() map[string]*ABitOfEverything_Nested {
	if m != nil {
		return m.MappedNestedValue
	}
	return nil
}

func (m *ABitOfEverything) GetNonConventionalNameValue() string {
	if m != nil {
		return m.NonConventionalNameValue
	}
	return ""
}

func (m *ABitOfEverything) GetTimestampValue() *google_protobuf3.Timestamp {
	if m != nil {
		return m.TimestampValue
	}
	return nil
}

func (m *ABitOfEverything) GetRepeatedEnumValue() []NumericEnum {
	if m != nil {
		return m.RepeatedEnumValue
	}
	return nil
}

// XXX_OneofFuncs is for the internal use of the proto package.
func (*ABitOfEverything) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
	return _ABitOfEverything_OneofMarshaler, _ABitOfEverything_OneofUnmarshaler, _ABitOfEverything_OneofSizer, []interface{}{
		(*ABitOfEverything_OneofEmpty)(nil),
		(*ABitOfEverything_OneofString)(nil),
	}
}

func _ABitOfEverything_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
	m := msg.(*ABitOfEverything)
	// oneof_value
	switch x := m.OneofValue.(type) {
	case *ABitOfEverything_OneofEmpty:
		b.EncodeVarint(20<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.OneofEmpty); err != nil {
			return err
		}
	case *ABitOfEverything_OneofString:
		b.EncodeVarint(21<<3 | proto.WireBytes)
		b.EncodeStringBytes(x.OneofString)
	case nil:
	default:
		return fmt.Errorf("ABitOfEverything.OneofValue has unexpected type %T", x)
	}
	return nil
}

func _ABitOfEverything_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
	m := msg.(*ABitOfEverything)
	switch tag {
	case 20: // oneof_value.oneof_empty
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(google_protobuf1.Empty)
		err := b.DecodeMessage(msg)
		m.OneofValue = &ABitOfEverything_OneofEmpty{msg}
		return true, err
	case 21: // oneof_value.oneof_string
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeStringBytes()
		m.OneofValue = &ABitOfEverything_OneofString{x}
		return true, err
	default:
		return false, nil
	}
}

func _ABitOfEverything_OneofSizer(msg proto.Message) (n int) {
	m := msg.(*ABitOfEverything)
	// oneof_value
	switch x := m.OneofValue.(type) {
	case *ABitOfEverything_OneofEmpty:
		s := proto.Size(x.OneofEmpty)
		n += proto.SizeVarint(20<<3 | proto.WireBytes)
		n += proto.SizeVarint(uint64(s))
		n += s
	case *ABitOfEverything_OneofString:
		n += proto.SizeVarint(21<<3 | proto.WireBytes)
		n += proto.SizeVarint(uint64(len(x.OneofString)))
		n += len(x.OneofString)
	case nil:
	default:
		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
	}
	return n
}

// Nested is nested type.
type ABitOfEverything_Nested struct {
	// name is nested field.
	Name   string                           `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Amount uint32                           `protobuf:"varint,2,opt,name=amount" json:"amount,omitempty"`
	Ok     ABitOfEverything_Nested_DeepEnum `protobuf:"varint,3,opt,name=ok,enum=grpc.gateway.examples.examplepb.ABitOfEverything_Nested_DeepEnum" json:"ok,omitempty"`
}

func (m *ABitOfEverything_Nested) Reset()                    { *m = ABitOfEverything_Nested{} }
func (m *ABitOfEverything_Nested) String() string            { return proto.CompactTextString(m) }
func (*ABitOfEverything_Nested) ProtoMessage()               {}
func (*ABitOfEverything_Nested) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0, 0} }

func (m *ABitOfEverything_Nested) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *ABitOfEverything_Nested) GetAmount() uint32 {
	if m != nil {
		return m.Amount
	}
	return 0
}

func (m *ABitOfEverything_Nested) GetOk() ABitOfEverything_Nested_DeepEnum {
	if m != nil {
		return m.Ok
	}
	return ABitOfEverything_Nested_FALSE
}

type Body struct {
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
}

func (m *Body) Reset()                    { *m = Body{} }
func (m *Body) String() string            { return proto.CompactTextString(m) }
func (*Body) ProtoMessage()               {}
func (*Body) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }

func (m *Body) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

type MessageWithBody struct {
	Id   string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	Data *Body  `protobuf:"bytes,2,opt,name=data" json:"data,omitempty"`
}

func (m *MessageWithBody) Reset()                    { *m = MessageWithBody{} }
func (m *MessageWithBody) String() string            { return proto.CompactTextString(m) }
func (*MessageWithBody) ProtoMessage()               {}
func (*MessageWithBody) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }

func (m *MessageWithBody) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *MessageWithBody) GetData() *Body {
	if m != nil {
		return m.Data
	}
	return nil
}

func init() {
	proto.RegisterType((*ABitOfEverything)(nil), "grpc.gateway.examples.examplepb.ABitOfEverything")
	proto.RegisterType((*ABitOfEverything_Nested)(nil), "grpc.gateway.examples.examplepb.ABitOfEverything.Nested")
	proto.RegisterType((*Body)(nil), "grpc.gateway.examples.examplepb.Body")
	proto.RegisterType((*MessageWithBody)(nil), "grpc.gateway.examples.examplepb.MessageWithBody")
	proto.RegisterEnum("grpc.gateway.examples.examplepb.NumericEnum", NumericEnum_name, NumericEnum_value)
	proto.RegisterEnum("grpc.gateway.examples.examplepb.ABitOfEverything_Nested_DeepEnum", ABitOfEverything_Nested_DeepEnum_name, ABitOfEverything_Nested_DeepEnum_value)
}

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

type ABitOfEverythingServiceClient interface {
	Create(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error)
	CreateBody(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error)
	Lookup(ctx context.Context, in *sub2.IdMessage, opts ...grpc.CallOption) (*ABitOfEverything, error)
	Update(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*google_protobuf1.Empty, error)
	Delete(ctx context.Context, in *sub2.IdMessage, opts ...grpc.CallOption) (*google_protobuf1.Empty, error)
	GetQuery(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*google_protobuf1.Empty, error)
	// Echo allows posting a StringMessage value.
	//
	// It also exposes multiple bindings.
	//
	// This makes it useful when validating that the OpenAPI v2 API
	// description exposes documentation correctly on all paths
	// defined as additional_bindings in the proto.
	Echo(ctx context.Context, in *grpc_gateway_examples_sub.StringMessage, opts ...grpc.CallOption) (*grpc_gateway_examples_sub.StringMessage, error)
	DeepPathEcho(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error)
	NoBindings(ctx context.Context, in *google_protobuf2.Duration, opts ...grpc.CallOption) (*google_protobuf1.Empty, error)
	Timeout(ctx context.Context, in *google_protobuf1.Empty, opts ...grpc.CallOption) (*google_protobuf1.Empty, error)
	GetMessageWithBody(ctx context.Context, in *MessageWithBody, opts ...grpc.CallOption) (*google_protobuf1.Empty, error)
}

type aBitOfEverythingServiceClient struct {
	cc *grpc.ClientConn
}

func NewABitOfEverythingServiceClient(cc *grpc.ClientConn) ABitOfEverythingServiceClient {
	return &aBitOfEverythingServiceClient{cc}
}

func (c *aBitOfEverythingServiceClient) Create(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) {
	out := new(ABitOfEverything)
	err := grpc.Invoke(ctx, "/grpc.gateway.examples.examplepb.ABitOfEverythingService/Create", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aBitOfEverythingServiceClient) CreateBody(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) {
	out := new(ABitOfEverything)
	err := grpc.Invoke(ctx, "/grpc.gateway.examples.examplepb.ABitOfEverythingService/CreateBody", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aBitOfEverythingServiceClient) Lookup(ctx context.Context, in *sub2.IdMessage, opts ...grpc.CallOption) (*ABitOfEverything, error) {
	out := new(ABitOfEverything)
	err := grpc.Invoke(ctx, "/grpc.gateway.examples.examplepb.ABitOfEverythingService/Lookup", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aBitOfEverythingServiceClient) Update(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) {
	out := new(google_protobuf1.Empty)
	err := grpc.Invoke(ctx, "/grpc.gateway.examples.examplepb.ABitOfEverythingService/Update", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aBitOfEverythingServiceClient) Delete(ctx context.Context, in *sub2.IdMessage, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) {
	out := new(google_protobuf1.Empty)
	err := grpc.Invoke(ctx, "/grpc.gateway.examples.examplepb.ABitOfEverythingService/Delete", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aBitOfEverythingServiceClient) GetQuery(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) {
	out := new(google_protobuf1.Empty)
	err := grpc.Invoke(ctx, "/grpc.gateway.examples.examplepb.ABitOfEverythingService/GetQuery", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aBitOfEverythingServiceClient) Echo(ctx context.Context, in *grpc_gateway_examples_sub.StringMessage, opts ...grpc.CallOption) (*grpc_gateway_examples_sub.StringMessage, error) {
	out := new(grpc_gateway_examples_sub.StringMessage)
	err := grpc.Invoke(ctx, "/grpc.gateway.examples.examplepb.ABitOfEverythingService/Echo", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aBitOfEverythingServiceClient) DeepPathEcho(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) {
	out := new(ABitOfEverything)
	err := grpc.Invoke(ctx, "/grpc.gateway.examples.examplepb.ABitOfEverythingService/DeepPathEcho", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aBitOfEverythingServiceClient) NoBindings(ctx context.Context, in *google_protobuf2.Duration, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) {
	out := new(google_protobuf1.Empty)
	err := grpc.Invoke(ctx, "/grpc.gateway.examples.examplepb.ABitOfEverythingService/NoBindings", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aBitOfEverythingServiceClient) Timeout(ctx context.Context, in *google_protobuf1.Empty, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) {
	out := new(google_protobuf1.Empty)
	err := grpc.Invoke(ctx, "/grpc.gateway.examples.examplepb.ABitOfEverythingService/Timeout", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aBitOfEverythingServiceClient) GetMessageWithBody(ctx context.Context, in *MessageWithBody, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) {
	out := new(google_protobuf1.Empty)
	err := grpc.Invoke(ctx, "/grpc.gateway.examples.examplepb.ABitOfEverythingService/GetMessageWithBody", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for ABitOfEverythingService service

type ABitOfEverythingServiceServer interface {
	Create(context.Context, *ABitOfEverything) (*ABitOfEverything, error)
	CreateBody(context.Context, *ABitOfEverything) (*ABitOfEverything, error)
	Lookup(context.Context, *sub2.IdMessage) (*ABitOfEverything, error)
	Update(context.Context, *ABitOfEverything) (*google_protobuf1.Empty, error)
	Delete(context.Context, *sub2.IdMessage) (*google_protobuf1.Empty, error)
	GetQuery(context.Context, *ABitOfEverything) (*google_protobuf1.Empty, error)
	// Echo allows posting a StringMessage value.
	//
	// It also exposes multiple bindings.
	//
	// This makes it useful when validating that the OpenAPI v2 API
	// description exposes documentation correctly on all paths
	// defined as additional_bindings in the proto.
	Echo(context.Context, *grpc_gateway_examples_sub.StringMessage) (*grpc_gateway_examples_sub.StringMessage, error)
	DeepPathEcho(context.Context, *ABitOfEverything) (*ABitOfEverything, error)
	NoBindings(context.Context, *google_protobuf2.Duration) (*google_protobuf1.Empty, error)
	Timeout(context.Context, *google_protobuf1.Empty) (*google_protobuf1.Empty, error)
	GetMessageWithBody(context.Context, *MessageWithBody) (*google_protobuf1.Empty, error)
}

func RegisterABitOfEverythingServiceServer(s *grpc.Server, srv ABitOfEverythingServiceServer) {
	s.RegisterService(&_ABitOfEverythingService_serviceDesc, srv)
}

func _ABitOfEverythingService_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ABitOfEverything)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ABitOfEverythingServiceServer).Create(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/grpc.gateway.examples.examplepb.ABitOfEverythingService/Create",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ABitOfEverythingServiceServer).Create(ctx, req.(*ABitOfEverything))
	}
	return interceptor(ctx, in, info, handler)
}

func _ABitOfEverythingService_CreateBody_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ABitOfEverything)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ABitOfEverythingServiceServer).CreateBody(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/grpc.gateway.examples.examplepb.ABitOfEverythingService/CreateBody",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ABitOfEverythingServiceServer).CreateBody(ctx, req.(*ABitOfEverything))
	}
	return interceptor(ctx, in, info, handler)
}

func _ABitOfEverythingService_Lookup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(sub2.IdMessage)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ABitOfEverythingServiceServer).Lookup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/grpc.gateway.examples.examplepb.ABitOfEverythingService/Lookup",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ABitOfEverythingServiceServer).Lookup(ctx, req.(*sub2.IdMessage))
	}
	return interceptor(ctx, in, info, handler)
}

func _ABitOfEverythingService_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ABitOfEverything)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ABitOfEverythingServiceServer).Update(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/grpc.gateway.examples.examplepb.ABitOfEverythingService/Update",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ABitOfEverythingServiceServer).Update(ctx, req.(*ABitOfEverything))
	}
	return interceptor(ctx, in, info, handler)
}

func _ABitOfEverythingService_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(sub2.IdMessage)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ABitOfEverythingServiceServer).Delete(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/grpc.gateway.examples.examplepb.ABitOfEverythingService/Delete",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ABitOfEverythingServiceServer).Delete(ctx, req.(*sub2.IdMessage))
	}
	return interceptor(ctx, in, info, handler)
}

func _ABitOfEverythingService_GetQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ABitOfEverything)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ABitOfEverythingServiceServer).GetQuery(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/grpc.gateway.examples.examplepb.ABitOfEverythingService/GetQuery",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ABitOfEverythingServiceServer).GetQuery(ctx, req.(*ABitOfEverything))
	}
	return interceptor(ctx, in, info, handler)
}

func _ABitOfEverythingService_Echo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(grpc_gateway_examples_sub.StringMessage)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ABitOfEverythingServiceServer).Echo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/grpc.gateway.examples.examplepb.ABitOfEverythingService/Echo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ABitOfEverythingServiceServer).Echo(ctx, req.(*grpc_gateway_examples_sub.StringMessage))
	}
	return interceptor(ctx, in, info, handler)
}

func _ABitOfEverythingService_DeepPathEcho_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ABitOfEverything)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ABitOfEverythingServiceServer).DeepPathEcho(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/grpc.gateway.examples.examplepb.ABitOfEverythingService/DeepPathEcho",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ABitOfEverythingServiceServer).DeepPathEcho(ctx, req.(*ABitOfEverything))
	}
	return interceptor(ctx, in, info, handler)
}

func _ABitOfEverythingService_NoBindings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(google_protobuf2.Duration)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ABitOfEverythingServiceServer).NoBindings(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/grpc.gateway.examples.examplepb.ABitOfEverythingService/NoBindings",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ABitOfEverythingServiceServer).NoBindings(ctx, req.(*google_protobuf2.Duration))
	}
	return interceptor(ctx, in, info, handler)
}

func _ABitOfEverythingService_Timeout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(google_protobuf1.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ABitOfEverythingServiceServer).Timeout(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/grpc.gateway.examples.examplepb.ABitOfEverythingService/Timeout",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ABitOfEverythingServiceServer).Timeout(ctx, req.(*google_protobuf1.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _ABitOfEverythingService_GetMessageWithBody_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MessageWithBody)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ABitOfEverythingServiceServer).GetMessageWithBody(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/grpc.gateway.examples.examplepb.ABitOfEverythingService/GetMessageWithBody",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ABitOfEverythingServiceServer).GetMessageWithBody(ctx, req.(*MessageWithBody))
	}
	return interceptor(ctx, in, info, handler)
}

var _ABitOfEverythingService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "grpc.gateway.examples.examplepb.ABitOfEverythingService",
	HandlerType: (*ABitOfEverythingServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Create",
			Handler:    _ABitOfEverythingService_Create_Handler,
		},
		{
			MethodName: "CreateBody",
			Handler:    _ABitOfEverythingService_CreateBody_Handler,
		},
		{
			MethodName: "Lookup",
			Handler:    _ABitOfEverythingService_Lookup_Handler,
		},
		{
			MethodName: "Update",
			Handler:    _ABitOfEverythingService_Update_Handler,
		},
		{
			MethodName: "Delete",
			Handler:    _ABitOfEverythingService_Delete_Handler,
		},
		{
			MethodName: "GetQuery",
			Handler:    _ABitOfEverythingService_GetQuery_Handler,
		},
		{
			MethodName: "Echo",
			Handler:    _ABitOfEverythingService_Echo_Handler,
		},
		{
			MethodName: "DeepPathEcho",
			Handler:    _ABitOfEverythingService_DeepPathEcho_Handler,
		},
		{
			MethodName: "NoBindings",
			Handler:    _ABitOfEverythingService_NoBindings_Handler,
		},
		{
			MethodName: "Timeout",
			Handler:    _ABitOfEverythingService_Timeout_Handler,
		},
		{
			MethodName: "GetMessageWithBody",
			Handler:    _ABitOfEverythingService_GetMessageWithBody_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "examples/examplepb/a_bit_of_everything.proto",
}

// Client API for AnotherServiceWithNoBindings service

type AnotherServiceWithNoBindingsClient interface {
	NoBindings(ctx context.Context, in *google_protobuf1.Empty, opts ...grpc.CallOption) (*google_protobuf1.Empty, error)
}

type anotherServiceWithNoBindingsClient struct {
	cc *grpc.ClientConn
}

func NewAnotherServiceWithNoBindingsClient(cc *grpc.ClientConn) AnotherServiceWithNoBindingsClient {
	return &anotherServiceWithNoBindingsClient{cc}
}

func (c *anotherServiceWithNoBindingsClient) NoBindings(ctx context.Context, in *google_protobuf1.Empty, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) {
	out := new(google_protobuf1.Empty)
	err := grpc.Invoke(ctx, "/grpc.gateway.examples.examplepb.AnotherServiceWithNoBindings/NoBindings", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for AnotherServiceWithNoBindings service

type AnotherServiceWithNoBindingsServer interface {
	NoBindings(context.Context, *google_protobuf1.Empty) (*google_protobuf1.Empty, error)
}

func RegisterAnotherServiceWithNoBindingsServer(s *grpc.Server, srv AnotherServiceWithNoBindingsServer) {
	s.RegisterService(&_AnotherServiceWithNoBindings_serviceDesc, srv)
}

func _AnotherServiceWithNoBindings_NoBindings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(google_protobuf1.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AnotherServiceWithNoBindingsServer).NoBindings(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/grpc.gateway.examples.examplepb.AnotherServiceWithNoBindings/NoBindings",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AnotherServiceWithNoBindingsServer).NoBindings(ctx, req.(*google_protobuf1.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

var _AnotherServiceWithNoBindings_serviceDesc = grpc.ServiceDesc{
	ServiceName: "grpc.gateway.examples.examplepb.AnotherServiceWithNoBindings",
	HandlerType: (*AnotherServiceWithNoBindingsServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "NoBindings",
			Handler:    _AnotherServiceWithNoBindings_NoBindings_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "examples/examplepb/a_bit_of_everything.proto",
}

func init() { proto.RegisterFile("examples/examplepb/a_bit_of_everything.proto", fileDescriptor1) }

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