blob: 427ae1e3929ba4ce6ef6399705ae6211f7c66af8 [file] [log] [blame]
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/cloud/gaming/v1beta/realms.proto
package gaming
import (
fmt "fmt"
math "math"
proto "github.com/golang/protobuf/proto"
timestamp "github.com/golang/protobuf/ptypes/timestamp"
_ "google.golang.org/genproto/googleapis/api/annotations"
field_mask "google.golang.org/genproto/protobuf/field_mask"
)
// 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.ProtoPackageIsVersion3 // please upgrade the proto package
// Request message for RealmsService.ListRealms.
type ListRealmsRequest struct {
// Required. The parent resource name. Uses the form:
// `projects/{project}/locations/{location}`.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Optional. The maximum number of items to return. If unspecified, server
// will pick an appropriate default. Server may return fewer items than
// requested. A caller should only rely on response's
// [next_page_token][google.cloud.gaming.v1beta.ListRealmsResponse.next_page_token] to
// determine if there are more Realms left to be queried.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// Optional. The next_page_token value returned from a previous List request,
// if any.
PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
// Optional. The filter to apply to list results.
Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
// Optional. Specifies the ordering of results following syntax at
// https://cloud.google.com/apis/design/design_patterns#sorting_order.
OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListRealmsRequest) Reset() { *m = ListRealmsRequest{} }
func (m *ListRealmsRequest) String() string { return proto.CompactTextString(m) }
func (*ListRealmsRequest) ProtoMessage() {}
func (*ListRealmsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_5baf61803ba783df, []int{0}
}
func (m *ListRealmsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListRealmsRequest.Unmarshal(m, b)
}
func (m *ListRealmsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListRealmsRequest.Marshal(b, m, deterministic)
}
func (m *ListRealmsRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListRealmsRequest.Merge(m, src)
}
func (m *ListRealmsRequest) XXX_Size() int {
return xxx_messageInfo_ListRealmsRequest.Size(m)
}
func (m *ListRealmsRequest) XXX_DiscardUnknown() {
xxx_messageInfo_ListRealmsRequest.DiscardUnknown(m)
}
var xxx_messageInfo_ListRealmsRequest proto.InternalMessageInfo
func (m *ListRealmsRequest) GetParent() string {
if m != nil {
return m.Parent
}
return ""
}
func (m *ListRealmsRequest) GetPageSize() int32 {
if m != nil {
return m.PageSize
}
return 0
}
func (m *ListRealmsRequest) GetPageToken() string {
if m != nil {
return m.PageToken
}
return ""
}
func (m *ListRealmsRequest) GetFilter() string {
if m != nil {
return m.Filter
}
return ""
}
func (m *ListRealmsRequest) GetOrderBy() string {
if m != nil {
return m.OrderBy
}
return ""
}
// Response message for RealmsService.ListRealms.
type ListRealmsResponse struct {
// The list of Realms.
Realms []*Realm `protobuf:"bytes,1,rep,name=realms,proto3" json:"realms,omitempty"`
// Token to retrieve the next page of results, or empty if there are no more
// results in the list.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
// List of Locations that could not be reached.
Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListRealmsResponse) Reset() { *m = ListRealmsResponse{} }
func (m *ListRealmsResponse) String() string { return proto.CompactTextString(m) }
func (*ListRealmsResponse) ProtoMessage() {}
func (*ListRealmsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_5baf61803ba783df, []int{1}
}
func (m *ListRealmsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListRealmsResponse.Unmarshal(m, b)
}
func (m *ListRealmsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListRealmsResponse.Marshal(b, m, deterministic)
}
func (m *ListRealmsResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListRealmsResponse.Merge(m, src)
}
func (m *ListRealmsResponse) XXX_Size() int {
return xxx_messageInfo_ListRealmsResponse.Size(m)
}
func (m *ListRealmsResponse) XXX_DiscardUnknown() {
xxx_messageInfo_ListRealmsResponse.DiscardUnknown(m)
}
var xxx_messageInfo_ListRealmsResponse proto.InternalMessageInfo
func (m *ListRealmsResponse) GetRealms() []*Realm {
if m != nil {
return m.Realms
}
return nil
}
func (m *ListRealmsResponse) GetNextPageToken() string {
if m != nil {
return m.NextPageToken
}
return ""
}
func (m *ListRealmsResponse) GetUnreachable() []string {
if m != nil {
return m.Unreachable
}
return nil
}
// Request message for RealmsService.GetRealm.
type GetRealmRequest struct {
// Required. The name of the Realm to retrieve. Uses the form:
// `projects/{project}/locations/{location}/realms/{realm}`.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GetRealmRequest) Reset() { *m = GetRealmRequest{} }
func (m *GetRealmRequest) String() string { return proto.CompactTextString(m) }
func (*GetRealmRequest) ProtoMessage() {}
func (*GetRealmRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_5baf61803ba783df, []int{2}
}
func (m *GetRealmRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetRealmRequest.Unmarshal(m, b)
}
func (m *GetRealmRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetRealmRequest.Marshal(b, m, deterministic)
}
func (m *GetRealmRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetRealmRequest.Merge(m, src)
}
func (m *GetRealmRequest) XXX_Size() int {
return xxx_messageInfo_GetRealmRequest.Size(m)
}
func (m *GetRealmRequest) XXX_DiscardUnknown() {
xxx_messageInfo_GetRealmRequest.DiscardUnknown(m)
}
var xxx_messageInfo_GetRealmRequest proto.InternalMessageInfo
func (m *GetRealmRequest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
// Request message for RealmsService.CreateRealm.
type CreateRealmRequest struct {
// Required. The parent resource name. Uses the form:
// `projects/{project}/locations/{location}`.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Required. The ID of the Realm resource to be created.
RealmId string `protobuf:"bytes,2,opt,name=realm_id,json=realmId,proto3" json:"realm_id,omitempty"`
// Required. The Realm resource to be created.
Realm *Realm `protobuf:"bytes,3,opt,name=realm,proto3" json:"realm,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CreateRealmRequest) Reset() { *m = CreateRealmRequest{} }
func (m *CreateRealmRequest) String() string { return proto.CompactTextString(m) }
func (*CreateRealmRequest) ProtoMessage() {}
func (*CreateRealmRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_5baf61803ba783df, []int{3}
}
func (m *CreateRealmRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateRealmRequest.Unmarshal(m, b)
}
func (m *CreateRealmRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CreateRealmRequest.Marshal(b, m, deterministic)
}
func (m *CreateRealmRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_CreateRealmRequest.Merge(m, src)
}
func (m *CreateRealmRequest) XXX_Size() int {
return xxx_messageInfo_CreateRealmRequest.Size(m)
}
func (m *CreateRealmRequest) XXX_DiscardUnknown() {
xxx_messageInfo_CreateRealmRequest.DiscardUnknown(m)
}
var xxx_messageInfo_CreateRealmRequest proto.InternalMessageInfo
func (m *CreateRealmRequest) GetParent() string {
if m != nil {
return m.Parent
}
return ""
}
func (m *CreateRealmRequest) GetRealmId() string {
if m != nil {
return m.RealmId
}
return ""
}
func (m *CreateRealmRequest) GetRealm() *Realm {
if m != nil {
return m.Realm
}
return nil
}
// Request message for RealmsService.DeleteRealm.
type DeleteRealmRequest struct {
// Required. The name of the Realm to delete. Uses the form:
// `projects/{project}/locations/{location}/realms/{realm}`.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DeleteRealmRequest) Reset() { *m = DeleteRealmRequest{} }
func (m *DeleteRealmRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteRealmRequest) ProtoMessage() {}
func (*DeleteRealmRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_5baf61803ba783df, []int{4}
}
func (m *DeleteRealmRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteRealmRequest.Unmarshal(m, b)
}
func (m *DeleteRealmRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DeleteRealmRequest.Marshal(b, m, deterministic)
}
func (m *DeleteRealmRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_DeleteRealmRequest.Merge(m, src)
}
func (m *DeleteRealmRequest) XXX_Size() int {
return xxx_messageInfo_DeleteRealmRequest.Size(m)
}
func (m *DeleteRealmRequest) XXX_DiscardUnknown() {
xxx_messageInfo_DeleteRealmRequest.DiscardUnknown(m)
}
var xxx_messageInfo_DeleteRealmRequest proto.InternalMessageInfo
func (m *DeleteRealmRequest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
// Request message for RealmsService.UpdateRealm.
type UpdateRealmRequest struct {
// Required. The Realm to be updated.
// Only fields specified in update_mask are updated.
Realm *Realm `protobuf:"bytes,1,opt,name=realm,proto3" json:"realm,omitempty"`
// Required. The update mask applies to the resource. For the `FieldMask`
// definition, see
//
// https:
// //developers.google.com/protocol-buffers
// // /docs/reference/google.protobuf#fieldmask
UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *UpdateRealmRequest) Reset() { *m = UpdateRealmRequest{} }
func (m *UpdateRealmRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateRealmRequest) ProtoMessage() {}
func (*UpdateRealmRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_5baf61803ba783df, []int{5}
}
func (m *UpdateRealmRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateRealmRequest.Unmarshal(m, b)
}
func (m *UpdateRealmRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UpdateRealmRequest.Marshal(b, m, deterministic)
}
func (m *UpdateRealmRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_UpdateRealmRequest.Merge(m, src)
}
func (m *UpdateRealmRequest) XXX_Size() int {
return xxx_messageInfo_UpdateRealmRequest.Size(m)
}
func (m *UpdateRealmRequest) XXX_DiscardUnknown() {
xxx_messageInfo_UpdateRealmRequest.DiscardUnknown(m)
}
var xxx_messageInfo_UpdateRealmRequest proto.InternalMessageInfo
func (m *UpdateRealmRequest) GetRealm() *Realm {
if m != nil {
return m.Realm
}
return nil
}
func (m *UpdateRealmRequest) GetUpdateMask() *field_mask.FieldMask {
if m != nil {
return m.UpdateMask
}
return nil
}
// Request message for RealmsService.PreviewRealmUpdate.
type PreviewRealmUpdateRequest struct {
// Required. The Realm to be updated.
// Only fields specified in update_mask are updated.
Realm *Realm `protobuf:"bytes,1,opt,name=realm,proto3" json:"realm,omitempty"`
// Required. The update mask applies to the resource. For the `FieldMask`
// definition, see
//
// https:
// //developers.google.com/protocol-buffers
// // /docs/reference/google.protobuf#fieldmask
UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
// Optional. The target timestamp to compute the preview.
PreviewTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=preview_time,json=previewTime,proto3" json:"preview_time,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PreviewRealmUpdateRequest) Reset() { *m = PreviewRealmUpdateRequest{} }
func (m *PreviewRealmUpdateRequest) String() string { return proto.CompactTextString(m) }
func (*PreviewRealmUpdateRequest) ProtoMessage() {}
func (*PreviewRealmUpdateRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_5baf61803ba783df, []int{6}
}
func (m *PreviewRealmUpdateRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PreviewRealmUpdateRequest.Unmarshal(m, b)
}
func (m *PreviewRealmUpdateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PreviewRealmUpdateRequest.Marshal(b, m, deterministic)
}
func (m *PreviewRealmUpdateRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_PreviewRealmUpdateRequest.Merge(m, src)
}
func (m *PreviewRealmUpdateRequest) XXX_Size() int {
return xxx_messageInfo_PreviewRealmUpdateRequest.Size(m)
}
func (m *PreviewRealmUpdateRequest) XXX_DiscardUnknown() {
xxx_messageInfo_PreviewRealmUpdateRequest.DiscardUnknown(m)
}
var xxx_messageInfo_PreviewRealmUpdateRequest proto.InternalMessageInfo
func (m *PreviewRealmUpdateRequest) GetRealm() *Realm {
if m != nil {
return m.Realm
}
return nil
}
func (m *PreviewRealmUpdateRequest) GetUpdateMask() *field_mask.FieldMask {
if m != nil {
return m.UpdateMask
}
return nil
}
func (m *PreviewRealmUpdateRequest) GetPreviewTime() *timestamp.Timestamp {
if m != nil {
return m.PreviewTime
}
return nil
}
// Response message for RealmsService.PreviewRealmUpdate.
type PreviewRealmUpdateResponse struct {
// ETag of the realm.
Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"`
// The target state.
TargetState *TargetState `protobuf:"bytes,3,opt,name=target_state,json=targetState,proto3" json:"target_state,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PreviewRealmUpdateResponse) Reset() { *m = PreviewRealmUpdateResponse{} }
func (m *PreviewRealmUpdateResponse) String() string { return proto.CompactTextString(m) }
func (*PreviewRealmUpdateResponse) ProtoMessage() {}
func (*PreviewRealmUpdateResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_5baf61803ba783df, []int{7}
}
func (m *PreviewRealmUpdateResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PreviewRealmUpdateResponse.Unmarshal(m, b)
}
func (m *PreviewRealmUpdateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PreviewRealmUpdateResponse.Marshal(b, m, deterministic)
}
func (m *PreviewRealmUpdateResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_PreviewRealmUpdateResponse.Merge(m, src)
}
func (m *PreviewRealmUpdateResponse) XXX_Size() int {
return xxx_messageInfo_PreviewRealmUpdateResponse.Size(m)
}
func (m *PreviewRealmUpdateResponse) XXX_DiscardUnknown() {
xxx_messageInfo_PreviewRealmUpdateResponse.DiscardUnknown(m)
}
var xxx_messageInfo_PreviewRealmUpdateResponse proto.InternalMessageInfo
func (m *PreviewRealmUpdateResponse) GetEtag() string {
if m != nil {
return m.Etag
}
return ""
}
func (m *PreviewRealmUpdateResponse) GetTargetState() *TargetState {
if m != nil {
return m.TargetState
}
return nil
}
// A Realm resource.
type Realm struct {
// The resource name of the Realm. Uses the form:
// `projects/{project}/locations/{location}/realms/{realm}`. For
// example, `projects/my-project/locations/{location}/realms/my-realm`.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Output only. The creation time.
CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
// Output only. The last-modified time.
UpdateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
// The labels associated with this Realm. Each label is a key-value pair.
Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Required. Time zone where all policies targeting this Realm are evaluated. The value
// of this field must be from the IANA time zone database:
// https://www.iana.org/time-zones.
TimeZone string `protobuf:"bytes,6,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"`
// ETag of the resource.
Etag string `protobuf:"bytes,7,opt,name=etag,proto3" json:"etag,omitempty"`
// Human readable description of the Realm.
Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Realm) Reset() { *m = Realm{} }
func (m *Realm) String() string { return proto.CompactTextString(m) }
func (*Realm) ProtoMessage() {}
func (*Realm) Descriptor() ([]byte, []int) {
return fileDescriptor_5baf61803ba783df, []int{8}
}
func (m *Realm) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Realm.Unmarshal(m, b)
}
func (m *Realm) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Realm.Marshal(b, m, deterministic)
}
func (m *Realm) XXX_Merge(src proto.Message) {
xxx_messageInfo_Realm.Merge(m, src)
}
func (m *Realm) XXX_Size() int {
return xxx_messageInfo_Realm.Size(m)
}
func (m *Realm) XXX_DiscardUnknown() {
xxx_messageInfo_Realm.DiscardUnknown(m)
}
var xxx_messageInfo_Realm proto.InternalMessageInfo
func (m *Realm) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *Realm) GetCreateTime() *timestamp.Timestamp {
if m != nil {
return m.CreateTime
}
return nil
}
func (m *Realm) GetUpdateTime() *timestamp.Timestamp {
if m != nil {
return m.UpdateTime
}
return nil
}
func (m *Realm) GetLabels() map[string]string {
if m != nil {
return m.Labels
}
return nil
}
func (m *Realm) GetTimeZone() string {
if m != nil {
return m.TimeZone
}
return ""
}
func (m *Realm) GetEtag() string {
if m != nil {
return m.Etag
}
return ""
}
func (m *Realm) GetDescription() string {
if m != nil {
return m.Description
}
return ""
}
func init() {
proto.RegisterType((*ListRealmsRequest)(nil), "google.cloud.gaming.v1beta.ListRealmsRequest")
proto.RegisterType((*ListRealmsResponse)(nil), "google.cloud.gaming.v1beta.ListRealmsResponse")
proto.RegisterType((*GetRealmRequest)(nil), "google.cloud.gaming.v1beta.GetRealmRequest")
proto.RegisterType((*CreateRealmRequest)(nil), "google.cloud.gaming.v1beta.CreateRealmRequest")
proto.RegisterType((*DeleteRealmRequest)(nil), "google.cloud.gaming.v1beta.DeleteRealmRequest")
proto.RegisterType((*UpdateRealmRequest)(nil), "google.cloud.gaming.v1beta.UpdateRealmRequest")
proto.RegisterType((*PreviewRealmUpdateRequest)(nil), "google.cloud.gaming.v1beta.PreviewRealmUpdateRequest")
proto.RegisterType((*PreviewRealmUpdateResponse)(nil), "google.cloud.gaming.v1beta.PreviewRealmUpdateResponse")
proto.RegisterType((*Realm)(nil), "google.cloud.gaming.v1beta.Realm")
proto.RegisterMapType((map[string]string)(nil), "google.cloud.gaming.v1beta.Realm.LabelsEntry")
}
func init() {
proto.RegisterFile("google/cloud/gaming/v1beta/realms.proto", fileDescriptor_5baf61803ba783df)
}
var fileDescriptor_5baf61803ba783df = []byte{
// 813 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x55, 0xcd, 0x8e, 0xdc, 0x44,
0x10, 0x96, 0xc7, 0x3b, 0xb3, 0xb3, 0x35, 0x41, 0x81, 0x16, 0x07, 0x67, 0x40, 0x1b, 0xc7, 0x48,
0x64, 0x39, 0x60, 0x8b, 0x20, 0x21, 0x12, 0x40, 0xca, 0x0c, 0x04, 0x04, 0x0a, 0xd2, 0xca, 0xbb,
0x5c, 0x82, 0x84, 0xd5, 0x63, 0xd7, 0x3a, 0x66, 0xed, 0x6e, 0xd3, 0xdd, 0x33, 0x30, 0xbb, 0xec,
0x5b, 0x70, 0xe1, 0x41, 0x78, 0x98, 0x9c, 0xc8, 0x99, 0x47, 0xe0, 0x84, 0xfa, 0xc7, 0x19, 0x67,
0x09, 0xcb, 0x08, 0x38, 0x70, 0x72, 0x77, 0xf5, 0x57, 0x55, 0x5f, 0x7d, 0xe5, 0xea, 0x86, 0xdb,
0x25, 0xe7, 0x65, 0x8d, 0x49, 0x5e, 0xf3, 0x65, 0x91, 0x94, 0xb4, 0xa9, 0x58, 0x99, 0xac, 0xde,
0x59, 0xa0, 0xa2, 0x89, 0x40, 0x5a, 0x37, 0x32, 0x6e, 0x05, 0x57, 0x9c, 0x4c, 0x2d, 0x30, 0x36,
0xc0, 0xd8, 0x02, 0x63, 0x0b, 0x9c, 0xde, 0x74, 0x41, 0x68, 0x5b, 0x25, 0x27, 0x15, 0xd6, 0x45,
0xb6, 0xc0, 0xc7, 0x74, 0x55, 0x71, 0x61, 0x9d, 0xa7, 0x37, 0x7a, 0x00, 0x81, 0x92, 0x2f, 0x45,
0x8e, 0xee, 0xe8, 0x2a, 0x02, 0x39, 0x6f, 0x1a, 0xce, 0x1c, 0x30, 0x74, 0x40, 0xb3, 0x5b, 0x2c,
0x4f, 0x5c, 0xa6, 0x86, 0xca, 0x53, 0x87, 0xb8, 0x79, 0x19, 0xa1, 0xaa, 0x06, 0xa5, 0xa2, 0x4d,
0xeb, 0x00, 0xaf, 0xf7, 0x68, 0x50, 0xc6, 0xb8, 0xa2, 0xaa, 0xe2, 0xcc, 0x55, 0x18, 0x3d, 0xf1,
0xe0, 0x95, 0x87, 0x95, 0x54, 0xa9, 0x29, 0x3b, 0xc5, 0xef, 0x96, 0x28, 0x15, 0x99, 0xc1, 0xa8,
0xa5, 0x02, 0x99, 0x0a, 0xbc, 0xd0, 0x3b, 0xd8, 0x9b, 0xbf, 0xf5, 0x74, 0x36, 0xf8, 0x7d, 0xf6,
0x06, 0xb9, 0x55, 0xd2, 0x06, 0x25, 0x8a, 0x55, 0x95, 0xa3, 0x8c, 0x6d, 0x60, 0xda, 0x56, 0x32,
0xce, 0x79, 0x93, 0x98, 0x10, 0xa9, 0x73, 0x24, 0x21, 0xec, 0xb5, 0xb4, 0xc4, 0x4c, 0x56, 0x67,
0x18, 0x0c, 0x42, 0xef, 0x60, 0x38, 0xf7, 0x9f, 0xce, 0xbc, 0x74, 0xac, 0xad, 0x47, 0xd5, 0x19,
0x92, 0x08, 0xc0, 0x20, 0x14, 0x3f, 0x45, 0x16, 0xf8, 0x26, 0x91, 0x81, 0x18, 0xc7, 0x63, 0x6d,
0x25, 0xaf, 0xc1, 0xe8, 0xa4, 0xaa, 0x15, 0x8a, 0x60, 0x67, 0x73, 0xee, 0x4c, 0x64, 0x1f, 0xc6,
0x5c, 0x14, 0x28, 0xb2, 0xc5, 0x3a, 0x18, 0x6e, 0x8e, 0x77, 0x8d, 0x71, 0xbe, 0x8e, 0x7e, 0xf6,
0x80, 0xf4, 0x6b, 0x93, 0x2d, 0x67, 0x12, 0xc9, 0x5d, 0x18, 0xd9, 0x26, 0x07, 0x5e, 0xe8, 0x1f,
0x4c, 0xee, 0xdc, 0x8a, 0xff, 0xba, 0xcb, 0xb1, 0x2b, 0xca, 0x3a, 0x90, 0x37, 0xe1, 0x3a, 0xc3,
0x1f, 0x54, 0xd6, 0xe3, 0xad, 0x4b, 0xdb, 0x4b, 0x5f, 0xd2, 0xe6, 0xc3, 0x67, 0xb4, 0x43, 0x98,
0x2c, 0x99, 0x40, 0x9a, 0x3f, 0xa6, 0x8b, 0x1a, 0x03, 0x3f, 0xf4, 0x0f, 0xf6, 0xd2, 0xbe, 0x29,
0x3a, 0x84, 0xeb, 0x9f, 0xa1, 0x65, 0xd6, 0x89, 0xfe, 0x11, 0xec, 0x30, 0xda, 0xe0, 0xf3, 0x92,
0xc3, 0x16, 0x92, 0x1b, 0xb7, 0xe8, 0x17, 0x0f, 0xc8, 0xc7, 0x02, 0xa9, 0xc2, 0xe7, 0xa2, 0xfe,
0x07, 0xad, 0xdc, 0x87, 0xb1, 0xa9, 0x3f, 0xab, 0x0a, 0x5b, 0xae, 0xd6, 0x79, 0x90, 0xee, 0x1a,
0xe3, 0xe7, 0x05, 0xf9, 0x10, 0x86, 0x66, 0x69, 0x7a, 0xb8, 0x8d, 0x9e, 0xd6, 0xdf, 0x3a, 0x45,
0x47, 0x40, 0x3e, 0xc1, 0x1a, 0x2f, 0xd1, 0xfe, 0x97, 0x62, 0xfc, 0xe4, 0x01, 0xf9, 0xaa, 0x2d,
0x2e, 0x8b, 0xf1, 0x8c, 0xa9, 0xf7, 0x0f, 0x98, 0x92, 0xfb, 0x30, 0x59, 0x9a, 0x98, 0x66, 0xfe,
0x8c, 0x14, 0x93, 0x3b, 0xd3, 0x2e, 0x46, 0x37, 0x80, 0xf1, 0xa7, 0x7a, 0x44, 0xbf, 0xa4, 0xf2,
0xd4, 0x3a, 0x83, 0xf5, 0xd1, 0x86, 0xe8, 0x57, 0x0f, 0x6e, 0x1c, 0x0a, 0x5c, 0x55, 0xf8, 0xbd,
0x09, 0xdf, 0x51, 0xfc, 0x5f, 0xb0, 0x23, 0x73, 0xb8, 0xd6, 0x5a, 0x72, 0x99, 0xbe, 0x44, 0x5c,
0x3b, 0xff, 0x1c, 0xe2, 0xb8, 0xbb, 0x61, 0xec, 0xbc, 0x4d, 0x9c, 0x93, 0x36, 0x47, 0x3f, 0xc2,
0xf4, 0x45, 0x05, 0xba, 0xd1, 0x23, 0xb0, 0x83, 0x8a, 0x96, 0x6e, 0x68, 0xcc, 0x9a, 0x7c, 0x01,
0xd7, 0x14, 0x15, 0x25, 0xaa, 0x4c, 0x2a, 0xaa, 0xba, 0xac, 0xb7, 0xaf, 0x2a, 0xfe, 0xd8, 0xe0,
0x8f, 0x34, 0x3c, 0x9d, 0xa8, 0xcd, 0x26, 0x7a, 0xe2, 0xc3, 0xd0, 0xe4, 0xd5, 0x99, 0x36, 0xff,
0x8f, 0xfd, 0x29, 0xb4, 0x42, 0xb9, 0x19, 0x10, 0x5b, 0xde, 0x60, 0x9b, 0xf2, 0xfc, 0x14, 0xac,
0x8f, 0xb6, 0xf6, 0x34, 0xde, 0x5e, 0x20, 0xbf, 0xd3, 0xd8, 0x44, 0x78, 0x00, 0xa3, 0x9a, 0x2e,
0xb0, 0x96, 0xc1, 0x8e, 0xb9, 0x7c, 0xde, 0xfe, 0xdb, 0x26, 0xc7, 0x0f, 0x0d, 0xfe, 0x01, 0x53,
0x62, 0x9d, 0x3a, 0x67, 0x7d, 0xbb, 0x6a, 0x06, 0xd9, 0x19, 0x67, 0x18, 0x8c, 0x36, 0x33, 0x39,
0xd6, 0xd6, 0x47, 0x9c, 0x6d, 0xa4, 0xde, 0xed, 0x49, 0x1d, 0xc2, 0xa4, 0x40, 0x99, 0x8b, 0xaa,
0xd5, 0x4f, 0x40, 0x30, 0x36, 0x47, 0x7d, 0xd3, 0xf4, 0x2e, 0x4c, 0x7a, 0xe9, 0xc8, 0xcb, 0xe0,
0x9f, 0xe2, 0xda, 0x89, 0xa8, 0x97, 0xe4, 0x55, 0x18, 0xae, 0x68, 0xbd, 0x44, 0xd7, 0x42, 0xbb,
0xb9, 0x37, 0x78, 0xdf, 0xbb, 0xf7, 0xcd, 0x6f, 0xb3, 0xaf, 0xb7, 0x18, 0x50, 0xf2, 0x5e, 0x2b,
0xf8, 0xb7, 0x98, 0x2b, 0x99, 0x9c, 0xbb, 0xd5, 0x45, 0x52, 0xf3, 0xdc, 0xbe, 0x4a, 0xc9, 0x79,
0xb7, 0xbc, 0x70, 0x2f, 0x71, 0x72, 0x6e, 0xbe, 0x17, 0xf3, 0x02, 0xf6, 0x73, 0xde, 0x5c, 0x21,
0xd7, 0xa1, 0xf7, 0xe8, 0xbe, 0x3b, 0x2d, 0x79, 0x4d, 0x59, 0x19, 0x73, 0x51, 0x26, 0x25, 0x32,
0xd3, 0x97, 0x64, 0x43, 0xe6, 0x45, 0xcf, 0xee, 0x07, 0x76, 0xb7, 0x18, 0x19, 0xf0, 0xbb, 0x7f,
0x04, 0x00, 0x00, 0xff, 0xff, 0xaf, 0x72, 0x8f, 0xa9, 0x23, 0x08, 0x00, 0x00,
}