From 595979c8a7bf586b2d293fb42246bf91a0b893d9 Mon Sep 17 00:00:00 2001 From: Michael Darakananda <pongad@google.com> Date: Mon, 4 Sep 2017 15:01:39 +1000 Subject: [PATCH] update from googleapis (#38) googleapis: d215634352c37b2c23df407e218025bf361583d4 protobuf: v3.4.0 --- .../language/v1beta2/language_service.pb.go | 525 +++++--- .../v1beta2/video_intelligence.pb.go | 1157 +++++++++++++++++ googleapis/container/v1/cluster_service.pb.go | 803 +++++++----- .../admin/v1beta1/datastore_admin.pb.go | 731 +++++++++++ .../v1test/remote_execution.pb.go | 312 +++-- 5 files changed, 2914 insertions(+), 614 deletions(-) create mode 100644 googleapis/cloud/videointelligence/v1beta2/video_intelligence.pb.go create mode 100644 googleapis/datastore/admin/v1beta1/datastore_admin.pb.go diff --git a/googleapis/cloud/language/v1beta2/language_service.pb.go b/googleapis/cloud/language/v1beta2/language_service.pb.go index d82a8403..50a52693 100644 --- a/googleapis/cloud/language/v1beta2/language_service.pb.go +++ b/googleapis/cloud/language/v1beta2/language_service.pb.go @@ -17,6 +17,7 @@ It has these top-level messages: DependencyEdge EntityMention TextSpan + ClassificationCategory AnalyzeSentimentRequest AnalyzeSentimentResponse AnalyzeEntitySentimentRequest @@ -25,6 +26,8 @@ It has these top-level messages: AnalyzeEntitiesResponse AnalyzeSyntaxRequest AnalyzeSyntaxResponse + ClassifyTextRequest + ClassifyTextResponse AnnotateTextRequest AnnotateTextResponse */ @@ -1069,7 +1072,7 @@ type Document struct { // The language of the document (if not specified, the language is // automatically detected). Both ISO and BCP-47 language codes are // accepted.<br> - // [Language Support](https://cloud.google.com/natural-language/docs/languages) + // [Language Support](/natural-language/docs/languages) // lists currently supported languages for each API method. // If the language (either specified by the caller or automatically detected) // is not supported by the called API method, an `INVALID_ARGUMENT` error @@ -1595,6 +1598,34 @@ func (m *TextSpan) GetBeginOffset() int32 { return 0 } +// Represents a category returned from the text classifier. +type ClassificationCategory struct { + // The name of the category representing the document. + Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + // The classifier's confidence of the category. Number represents how certain + // the classifier is that this category represents the given text. + Confidence float32 `protobuf:"fixed32,2,opt,name=confidence" json:"confidence,omitempty"` +} + +func (m *ClassificationCategory) Reset() { *m = ClassificationCategory{} } +func (m *ClassificationCategory) String() string { return proto.CompactTextString(m) } +func (*ClassificationCategory) ProtoMessage() {} +func (*ClassificationCategory) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } + +func (m *ClassificationCategory) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *ClassificationCategory) GetConfidence() float32 { + if m != nil { + return m.Confidence + } + return 0 +} + // The sentiment analysis request message. type AnalyzeSentimentRequest struct { // Input document. @@ -1607,7 +1638,7 @@ type AnalyzeSentimentRequest struct { func (m *AnalyzeSentimentRequest) Reset() { *m = AnalyzeSentimentRequest{} } func (m *AnalyzeSentimentRequest) String() string { return proto.CompactTextString(m) } func (*AnalyzeSentimentRequest) ProtoMessage() {} -func (*AnalyzeSentimentRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } +func (*AnalyzeSentimentRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } func (m *AnalyzeSentimentRequest) GetDocument() *Document { if m != nil { @@ -1638,7 +1669,7 @@ type AnalyzeSentimentResponse struct { func (m *AnalyzeSentimentResponse) Reset() { *m = AnalyzeSentimentResponse{} } func (m *AnalyzeSentimentResponse) String() string { return proto.CompactTextString(m) } func (*AnalyzeSentimentResponse) ProtoMessage() {} -func (*AnalyzeSentimentResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } +func (*AnalyzeSentimentResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } func (m *AnalyzeSentimentResponse) GetDocumentSentiment() *Sentiment { if m != nil { @@ -1672,7 +1703,7 @@ type AnalyzeEntitySentimentRequest struct { func (m *AnalyzeEntitySentimentRequest) Reset() { *m = AnalyzeEntitySentimentRequest{} } func (m *AnalyzeEntitySentimentRequest) String() string { return proto.CompactTextString(m) } func (*AnalyzeEntitySentimentRequest) ProtoMessage() {} -func (*AnalyzeEntitySentimentRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } +func (*AnalyzeEntitySentimentRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } func (m *AnalyzeEntitySentimentRequest) GetDocument() *Document { if m != nil { @@ -1701,7 +1732,7 @@ type AnalyzeEntitySentimentResponse struct { func (m *AnalyzeEntitySentimentResponse) Reset() { *m = AnalyzeEntitySentimentResponse{} } func (m *AnalyzeEntitySentimentResponse) String() string { return proto.CompactTextString(m) } func (*AnalyzeEntitySentimentResponse) ProtoMessage() {} -func (*AnalyzeEntitySentimentResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } +func (*AnalyzeEntitySentimentResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } func (m *AnalyzeEntitySentimentResponse) GetEntities() []*Entity { if m != nil { @@ -1728,7 +1759,7 @@ type AnalyzeEntitiesRequest struct { func (m *AnalyzeEntitiesRequest) Reset() { *m = AnalyzeEntitiesRequest{} } func (m *AnalyzeEntitiesRequest) String() string { return proto.CompactTextString(m) } func (*AnalyzeEntitiesRequest) ProtoMessage() {} -func (*AnalyzeEntitiesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } +func (*AnalyzeEntitiesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} } func (m *AnalyzeEntitiesRequest) GetDocument() *Document { if m != nil { @@ -1757,7 +1788,7 @@ type AnalyzeEntitiesResponse struct { func (m *AnalyzeEntitiesResponse) Reset() { *m = AnalyzeEntitiesResponse{} } func (m *AnalyzeEntitiesResponse) String() string { return proto.CompactTextString(m) } func (*AnalyzeEntitiesResponse) ProtoMessage() {} -func (*AnalyzeEntitiesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} } +func (*AnalyzeEntitiesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} } func (m *AnalyzeEntitiesResponse) GetEntities() []*Entity { if m != nil { @@ -1784,7 +1815,7 @@ type AnalyzeSyntaxRequest struct { func (m *AnalyzeSyntaxRequest) Reset() { *m = AnalyzeSyntaxRequest{} } func (m *AnalyzeSyntaxRequest) String() string { return proto.CompactTextString(m) } func (*AnalyzeSyntaxRequest) ProtoMessage() {} -func (*AnalyzeSyntaxRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} } +func (*AnalyzeSyntaxRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} } func (m *AnalyzeSyntaxRequest) GetDocument() *Document { if m != nil { @@ -1815,7 +1846,7 @@ type AnalyzeSyntaxResponse struct { func (m *AnalyzeSyntaxResponse) Reset() { *m = AnalyzeSyntaxResponse{} } func (m *AnalyzeSyntaxResponse) String() string { return proto.CompactTextString(m) } func (*AnalyzeSyntaxResponse) ProtoMessage() {} -func (*AnalyzeSyntaxResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} } +func (*AnalyzeSyntaxResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} } func (m *AnalyzeSyntaxResponse) GetSentences() []*Sentence { if m != nil { @@ -1838,6 +1869,42 @@ func (m *AnalyzeSyntaxResponse) GetLanguage() string { return "" } +// The document classification request message. +type ClassifyTextRequest struct { + // Input document. + Document *Document `protobuf:"bytes,1,opt,name=document" json:"document,omitempty"` +} + +func (m *ClassifyTextRequest) Reset() { *m = ClassifyTextRequest{} } +func (m *ClassifyTextRequest) String() string { return proto.CompactTextString(m) } +func (*ClassifyTextRequest) ProtoMessage() {} +func (*ClassifyTextRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} } + +func (m *ClassifyTextRequest) GetDocument() *Document { + if m != nil { + return m.Document + } + return nil +} + +// The document classification response message. +type ClassifyTextResponse struct { + // Categories representing the input document. + Categories []*ClassificationCategory `protobuf:"bytes,1,rep,name=categories" json:"categories,omitempty"` +} + +func (m *ClassifyTextResponse) Reset() { *m = ClassifyTextResponse{} } +func (m *ClassifyTextResponse) String() string { return proto.CompactTextString(m) } +func (*ClassifyTextResponse) ProtoMessage() {} +func (*ClassifyTextResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} } + +func (m *ClassifyTextResponse) GetCategories() []*ClassificationCategory { + if m != nil { + return m.Categories + } + return nil +} + // The request message for the text annotation API, which can perform multiple // analysis types (sentiment, entities, and syntax) in one call. type AnnotateTextRequest struct { @@ -1852,7 +1919,7 @@ type AnnotateTextRequest struct { func (m *AnnotateTextRequest) Reset() { *m = AnnotateTextRequest{} } func (m *AnnotateTextRequest) String() string { return proto.CompactTextString(m) } func (*AnnotateTextRequest) ProtoMessage() {} -func (*AnnotateTextRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} } +func (*AnnotateTextRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} } func (m *AnnotateTextRequest) GetDocument() *Document { if m != nil { @@ -1886,13 +1953,15 @@ type AnnotateTextRequest_Features struct { ExtractDocumentSentiment bool `protobuf:"varint,3,opt,name=extract_document_sentiment,json=extractDocumentSentiment" json:"extract_document_sentiment,omitempty"` // Extract entities and their associated sentiment. ExtractEntitySentiment bool `protobuf:"varint,4,opt,name=extract_entity_sentiment,json=extractEntitySentiment" json:"extract_entity_sentiment,omitempty"` + // Classify the full document into categories. + ClassifyText bool `protobuf:"varint,6,opt,name=classify_text,json=classifyText" json:"classify_text,omitempty"` } func (m *AnnotateTextRequest_Features) Reset() { *m = AnnotateTextRequest_Features{} } func (m *AnnotateTextRequest_Features) String() string { return proto.CompactTextString(m) } func (*AnnotateTextRequest_Features) ProtoMessage() {} func (*AnnotateTextRequest_Features) Descriptor() ([]byte, []int) { - return fileDescriptor0, []int{17, 0} + return fileDescriptor0, []int{20, 0} } func (m *AnnotateTextRequest_Features) GetExtractSyntax() bool { @@ -1923,6 +1992,13 @@ func (m *AnnotateTextRequest_Features) GetExtractEntitySentiment() bool { return false } +func (m *AnnotateTextRequest_Features) GetClassifyText() bool { + if m != nil { + return m.ClassifyText + } + return false +} + // The text annotations response message. type AnnotateTextResponse struct { // Sentences in the input document. Populated if the user enables @@ -1943,12 +2019,14 @@ type AnnotateTextResponse struct { // in the request or, if not specified, the automatically-detected language. // See [Document.language][google.cloud.language.v1beta2.Document.language] field for more details. Language string `protobuf:"bytes,5,opt,name=language" json:"language,omitempty"` + // Categories identified in the input document. + Categories []*ClassificationCategory `protobuf:"bytes,6,rep,name=categories" json:"categories,omitempty"` } func (m *AnnotateTextResponse) Reset() { *m = AnnotateTextResponse{} } func (m *AnnotateTextResponse) String() string { return proto.CompactTextString(m) } func (*AnnotateTextResponse) ProtoMessage() {} -func (*AnnotateTextResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} } +func (*AnnotateTextResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} } func (m *AnnotateTextResponse) GetSentences() []*Sentence { if m != nil { @@ -1985,6 +2063,13 @@ func (m *AnnotateTextResponse) GetLanguage() string { return "" } +func (m *AnnotateTextResponse) GetCategories() []*ClassificationCategory { + if m != nil { + return m.Categories + } + return nil +} + func init() { proto.RegisterType((*Document)(nil), "google.cloud.language.v1beta2.Document") proto.RegisterType((*Sentence)(nil), "google.cloud.language.v1beta2.Sentence") @@ -1995,6 +2080,7 @@ func init() { proto.RegisterType((*DependencyEdge)(nil), "google.cloud.language.v1beta2.DependencyEdge") proto.RegisterType((*EntityMention)(nil), "google.cloud.language.v1beta2.EntityMention") proto.RegisterType((*TextSpan)(nil), "google.cloud.language.v1beta2.TextSpan") + proto.RegisterType((*ClassificationCategory)(nil), "google.cloud.language.v1beta2.ClassificationCategory") proto.RegisterType((*AnalyzeSentimentRequest)(nil), "google.cloud.language.v1beta2.AnalyzeSentimentRequest") proto.RegisterType((*AnalyzeSentimentResponse)(nil), "google.cloud.language.v1beta2.AnalyzeSentimentResponse") proto.RegisterType((*AnalyzeEntitySentimentRequest)(nil), "google.cloud.language.v1beta2.AnalyzeEntitySentimentRequest") @@ -2003,6 +2089,8 @@ func init() { proto.RegisterType((*AnalyzeEntitiesResponse)(nil), "google.cloud.language.v1beta2.AnalyzeEntitiesResponse") proto.RegisterType((*AnalyzeSyntaxRequest)(nil), "google.cloud.language.v1beta2.AnalyzeSyntaxRequest") proto.RegisterType((*AnalyzeSyntaxResponse)(nil), "google.cloud.language.v1beta2.AnalyzeSyntaxResponse") + proto.RegisterType((*ClassifyTextRequest)(nil), "google.cloud.language.v1beta2.ClassifyTextRequest") + proto.RegisterType((*ClassifyTextResponse)(nil), "google.cloud.language.v1beta2.ClassifyTextResponse") proto.RegisterType((*AnnotateTextRequest)(nil), "google.cloud.language.v1beta2.AnnotateTextRequest") proto.RegisterType((*AnnotateTextRequest_Features)(nil), "google.cloud.language.v1beta2.AnnotateTextRequest.Features") proto.RegisterType((*AnnotateTextResponse)(nil), "google.cloud.language.v1beta2.AnnotateTextResponse") @@ -2049,8 +2137,10 @@ type LanguageServiceClient interface { // tokenization along with part of speech tags, dependency trees, and other // properties. AnalyzeSyntax(ctx context.Context, in *AnalyzeSyntaxRequest, opts ...grpc.CallOption) (*AnalyzeSyntaxResponse, error) - // A convenience method that provides all syntax, sentiment, and entity - // features in one call. + // Classifies a document into categories. + ClassifyText(ctx context.Context, in *ClassifyTextRequest, opts ...grpc.CallOption) (*ClassifyTextResponse, error) + // A convenience method that provides all syntax, sentiment, entity, and + // classification features in one call. AnnotateText(ctx context.Context, in *AnnotateTextRequest, opts ...grpc.CallOption) (*AnnotateTextResponse, error) } @@ -2098,6 +2188,15 @@ func (c *languageServiceClient) AnalyzeSyntax(ctx context.Context, in *AnalyzeSy return out, nil } +func (c *languageServiceClient) ClassifyText(ctx context.Context, in *ClassifyTextRequest, opts ...grpc.CallOption) (*ClassifyTextResponse, error) { + out := new(ClassifyTextResponse) + err := grpc.Invoke(ctx, "/google.cloud.language.v1beta2.LanguageService/ClassifyText", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *languageServiceClient) AnnotateText(ctx context.Context, in *AnnotateTextRequest, opts ...grpc.CallOption) (*AnnotateTextResponse, error) { out := new(AnnotateTextResponse) err := grpc.Invoke(ctx, "/google.cloud.language.v1beta2.LanguageService/AnnotateText", in, out, c.cc, opts...) @@ -2123,8 +2222,10 @@ type LanguageServiceServer interface { // tokenization along with part of speech tags, dependency trees, and other // properties. AnalyzeSyntax(context.Context, *AnalyzeSyntaxRequest) (*AnalyzeSyntaxResponse, error) - // A convenience method that provides all syntax, sentiment, and entity - // features in one call. + // Classifies a document into categories. + ClassifyText(context.Context, *ClassifyTextRequest) (*ClassifyTextResponse, error) + // A convenience method that provides all syntax, sentiment, entity, and + // classification features in one call. AnnotateText(context.Context, *AnnotateTextRequest) (*AnnotateTextResponse, error) } @@ -2204,6 +2305,24 @@ func _LanguageService_AnalyzeSyntax_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } +func _LanguageService_ClassifyText_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ClassifyTextRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LanguageServiceServer).ClassifyText(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.language.v1beta2.LanguageService/ClassifyText", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LanguageServiceServer).ClassifyText(ctx, req.(*ClassifyTextRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _LanguageService_AnnotateText_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(AnnotateTextRequest) if err := dec(in); err != nil { @@ -2242,6 +2361,10 @@ var _LanguageService_serviceDesc = grpc.ServiceDesc{ MethodName: "AnalyzeSyntax", Handler: _LanguageService_AnalyzeSyntax_Handler, }, + { + MethodName: "ClassifyText", + Handler: _LanguageService_ClassifyText_Handler, + }, { MethodName: "AnnotateText", Handler: _LanguageService_AnnotateText_Handler, @@ -2256,185 +2379,193 @@ func init() { } var fileDescriptor0 = []byte{ - // 2873 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0x4d, 0x73, 0xdb, 0xc6, - 0xf9, 0x37, 0xf8, 0x26, 0x72, 0x29, 0xc9, 0x6b, 0xc4, 0x89, 0xf9, 0xd7, 0x3f, 0x2f, 0x0e, 0x12, - 0xd7, 0x8a, 0x9d, 0x50, 0xb1, 0xec, 0x38, 0xae, 0xed, 0xbc, 0x40, 0xc0, 0x92, 0x82, 0x4c, 0x02, - 0xc8, 0x02, 0xa0, 0xe5, 0x5c, 0x38, 0x30, 0xb9, 0x62, 0x38, 0x91, 0x00, 0x96, 0x80, 0x3c, 0x56, - 0x2f, 0x99, 0xc9, 0x4c, 0x8f, 0x99, 0x1e, 0x72, 0xe8, 0x07, 0xe8, 0xa1, 0xa7, 0x4e, 0x3a, 0xd3, - 0x99, 0x4e, 0xfb, 0x19, 0x7a, 0x4c, 0xa7, 0xa7, 0x1e, 0x7b, 0xec, 0xa1, 0x87, 0x1e, 0x7a, 0xec, - 0x3c, 0xbb, 0x0b, 0xbe, 0xc8, 0x8e, 0x25, 0x3a, 0x99, 0x4e, 0x7a, 0xdb, 0x7d, 0xf0, 0xfc, 0x9e, - 0x7d, 0xde, 0x9f, 0x05, 0x48, 0x74, 0x63, 0x10, 0xc7, 0x83, 0x7d, 0xb6, 0xd1, 0xdb, 0x8f, 0x0f, - 0xfb, 0x1b, 0xfb, 0x61, 0x34, 0x38, 0x0c, 0x07, 0x6c, 0xe3, 0xd1, 0xb5, 0x87, 0x2c, 0x0d, 0x37, - 0x27, 0x84, 0x6e, 0xc2, 0xc6, 0x8f, 0x86, 0x3d, 0x56, 0x1f, 0x8d, 0xe3, 0x34, 0x56, 0x5f, 0x11, - 0xa8, 0x3a, 0x47, 0xd5, 0x33, 0xa6, 0xba, 0x44, 0xad, 0xbd, 0x2c, 0x85, 0x86, 0xa3, 0xe1, 0x46, - 0x18, 0x45, 0x71, 0x1a, 0xa6, 0xc3, 0x38, 0x4a, 0x04, 0x78, 0xed, 0x0d, 0xf9, 0x74, 0x3f, 0x8e, - 0x06, 0xe3, 0xc3, 0x28, 0x1a, 0x46, 0x83, 0x8d, 0x78, 0xc4, 0xc6, 0x73, 0x4c, 0xaf, 0x49, 0x26, - 0xbe, 0x7b, 0x78, 0xb8, 0xb7, 0x91, 0x0e, 0x0f, 0x58, 0x92, 0x86, 0x07, 0x23, 0xc9, 0x70, 0x41, - 0x32, 0x8c, 0x47, 0xbd, 0x8d, 0x24, 0x0d, 0xd3, 0x43, 0x89, 0xd4, 0xfe, 0xa9, 0xa0, 0xb2, 0x19, - 0xf7, 0x0e, 0x0f, 0x58, 0x94, 0xaa, 0x1f, 0xa3, 0x42, 0x7a, 0x34, 0x62, 0x35, 0xe5, 0xa2, 0xb2, - 0xbe, 0xba, 0xf9, 0x76, 0xfd, 0x99, 0x7a, 0xd7, 0x33, 0x58, 0xdd, 0x3f, 0x1a, 0x31, 0xca, 0x91, - 0xea, 0x1a, 0x5a, 0xea, 0xc5, 0x51, 0xca, 0xa2, 0xb4, 0x96, 0xbb, 0xa8, 0xac, 0x57, 0xb6, 0xcf, - 0xd0, 0x8c, 0xa0, 0xae, 0xa3, 0xb3, 0x83, 0x5e, 0xd2, 0x95, 0xdb, 0xee, 0xe1, 0x78, 0x58, 0xcb, - 0x4b, 0x9e, 0x95, 0x41, 0x2f, 0x31, 0x04, 0x3d, 0x18, 0x0f, 0xd5, 0x35, 0x54, 0xce, 0x4e, 0xab, - 0x15, 0x80, 0x85, 0x4e, 0xf6, 0xda, 0x4d, 0x54, 0x80, 0xf3, 0xd4, 0xf3, 0x08, 0xfb, 0x0f, 0x5c, - 0xd2, 0x0d, 0x6c, 0xcf, 0x25, 0x86, 0xd5, 0xb0, 0x88, 0x89, 0xcf, 0xa8, 0xab, 0x08, 0xb9, 0x2d, - 0xdd, 0xb2, 0xbb, 0x3e, 0xd9, 0xf5, 0xb1, 0xa2, 0x96, 0x51, 0x61, 0xdb, 0x6f, 0xb7, 0x70, 0x6e, - 0xab, 0x8c, 0x4a, 0x49, 0x7c, 0x38, 0xee, 0x31, 0xed, 0x97, 0x0a, 0x2a, 0x7b, 0x0c, 0x0e, 0xeb, - 0x31, 0xf5, 0x0e, 0x2a, 0xa4, 0xec, 0x71, 0xca, 0x4d, 0xae, 0x6e, 0x5e, 0x3e, 0xc1, 0x64, 0x9f, - 0x3d, 0x4e, 0xbd, 0x51, 0x18, 0x51, 0x0e, 0x52, 0x1b, 0xa8, 0x92, 0xb0, 0x08, 0x7c, 0x2d, 0xed, - 0xad, 0x6e, 0xae, 0x9f, 0x20, 0xc1, 0xcb, 0xf8, 0xe9, 0x14, 0xaa, 0x7d, 0x5d, 0x40, 0x25, 0x12, - 0xa5, 0xc3, 0xf4, 0x48, 0x55, 0x51, 0x21, 0x0a, 0x0f, 0x44, 0x08, 0x2a, 0x94, 0xaf, 0xd5, 0x0f, - 0x65, 0x58, 0x72, 0x3c, 0x2c, 0x57, 0x4e, 0x38, 0x41, 0x08, 0x9a, 0x0d, 0x8a, 0x83, 0xca, 0x07, - 0x2c, 0x0d, 0xfb, 0x61, 0x1a, 0xd6, 0xf2, 0x17, 0xf3, 0xeb, 0xd5, 0xcd, 0xeb, 0xa7, 0x93, 0xd1, - 0x96, 0x28, 0x12, 0xa5, 0xe3, 0x23, 0x3a, 0x11, 0x02, 0xf1, 0x49, 0xc2, 0xfd, 0x21, 0x38, 0x90, - 0xc7, 0x27, 0x47, 0x27, 0x7b, 0x75, 0x1b, 0x0e, 0x8b, 0x78, 0x72, 0xd6, 0x8a, 0xfc, 0xb0, 0xb7, - 0x4f, 0x75, 0x58, 0x5b, 0x80, 0xe8, 0x04, 0x3d, 0xef, 0xdd, 0xd2, 0x73, 0x7b, 0x77, 0xed, 0x0e, - 0x5a, 0x99, 0x33, 0x44, 0xc5, 0x28, 0xff, 0x39, 0x3b, 0x92, 0x2e, 0x86, 0xa5, 0x7a, 0x1e, 0x15, - 0x1f, 0x85, 0xfb, 0x87, 0xc2, 0xc5, 0x15, 0x2a, 0x36, 0xb7, 0x73, 0xb7, 0x14, 0xed, 0x48, 0xa6, - 0x5b, 0x15, 0x2d, 0x05, 0xf6, 0x3d, 0xdb, 0xb9, 0x6f, 0xe3, 0x33, 0x2a, 0x42, 0x25, 0x97, 0x50, - 0xcf, 0xb1, 0xb1, 0xa2, 0x2e, 0xa3, 0x72, 0xcb, 0x31, 0x74, 0xdf, 0x72, 0x6c, 0x9c, 0x53, 0x31, - 0x5a, 0x76, 0x68, 0x53, 0xb7, 0xad, 0x4f, 0x05, 0x25, 0xaf, 0x56, 0x50, 0x91, 0x74, 0x88, 0xed, - 0xe3, 0x82, 0x7a, 0x16, 0x55, 0xef, 0x3b, 0xf4, 0x5e, 0xd7, 0x69, 0x74, 0x75, 0xea, 0xe3, 0xa2, - 0x7a, 0x0e, 0xad, 0x18, 0x8e, 0xed, 0x05, 0x6d, 0x42, 0xbb, 0x4d, 0xc7, 0x31, 0x71, 0x09, 0xd8, - 0x1d, 0x7f, 0x9b, 0x50, 0xbc, 0xa4, 0xfd, 0x22, 0x87, 0x8a, 0x7e, 0xfc, 0x39, 0x8b, 0xbe, 0x5f, - 0x92, 0x7e, 0x82, 0x56, 0x47, 0xe1, 0x38, 0xed, 0xc6, 0x7b, 0xdd, 0x64, 0xc4, 0x58, 0xef, 0x33, - 0x99, 0xa9, 0x57, 0x4f, 0x10, 0xe3, 0x86, 0xe3, 0xd4, 0xd9, 0xf3, 0x38, 0x84, 0x2e, 0x8f, 0x66, - 0x76, 0x6a, 0x07, 0x9d, 0xed, 0xb3, 0x11, 0x8b, 0xfa, 0x2c, 0xea, 0x1d, 0x75, 0x59, 0x7f, 0xc0, - 0x78, 0x25, 0x57, 0x37, 0xdf, 0x39, 0xa9, 0x65, 0x4c, 0x50, 0xa4, 0x3f, 0x60, 0x74, 0xb5, 0x3f, - 0xb7, 0x87, 0x30, 0xec, 0xb3, 0x83, 0x83, 0x50, 0x16, 0xbd, 0xd8, 0x68, 0x1f, 0xa1, 0xca, 0x24, - 0xae, 0xea, 0xcb, 0xa8, 0x72, 0x10, 0x0e, 0xa2, 0x61, 0x7a, 0xd8, 0x17, 0xd1, 0xca, 0xd1, 0x29, - 0x01, 0x04, 0x24, 0xbd, 0x78, 0x2c, 0xd4, 0xc9, 0x51, 0xb1, 0xd1, 0xfe, 0x74, 0x0e, 0x2d, 0xcf, - 0x5a, 0xa3, 0xea, 0x28, 0x9f, 0x86, 0x03, 0xd9, 0xe6, 0x36, 0x16, 0xf0, 0x43, 0xdd, 0x0f, 0x07, - 0x14, 0xb0, 0xea, 0x0e, 0x2a, 0x85, 0xc9, 0x88, 0xf5, 0x52, 0x59, 0x95, 0x9b, 0x8b, 0x48, 0xd1, - 0x39, 0x92, 0x4a, 0x09, 0xaa, 0x89, 0x0a, 0xbd, 0x30, 0x11, 0x4a, 0xaf, 0x6e, 0xbe, 0xbb, 0x88, - 0x24, 0x23, 0x4c, 0x18, 0xe5, 0x68, 0x90, 0xb2, 0x17, 0x8f, 0x0f, 0xb8, 0xef, 0x16, 0x94, 0xd2, - 0x88, 0xc7, 0x07, 0x94, 0xa3, 0xc1, 0xae, 0x01, 0x84, 0x64, 0x5c, 0x2b, 0x2e, 0x6e, 0x57, 0x93, - 0x23, 0xa9, 0x94, 0x00, 0x1a, 0x1d, 0xc4, 0x71, 0x9f, 0xd7, 0xee, 0x82, 0x1a, 0xb5, 0xe3, 0xb8, - 0x4f, 0x39, 0x1a, 0x34, 0x8a, 0x0e, 0x0f, 0x1e, 0xb2, 0x71, 0x6d, 0x69, 0x71, 0x8d, 0x6c, 0x8e, - 0xa4, 0x52, 0x02, 0xc8, 0x1a, 0xb1, 0x71, 0x12, 0x47, 0xb5, 0xf2, 0xe2, 0xb2, 0x5c, 0x8e, 0xa4, - 0x52, 0x02, 0x97, 0x35, 0x86, 0x49, 0x5c, 0xab, 0x3c, 0x87, 0x2c, 0x8e, 0xa4, 0x52, 0x82, 0xfa, - 0x00, 0x55, 0xc7, 0xac, 0x37, 0x1c, 0x8d, 0xe3, 0xde, 0x30, 0x3d, 0xaa, 0x21, 0x2e, 0xf0, 0xfd, - 0x45, 0x04, 0xd2, 0x29, 0x9c, 0xce, 0xca, 0x52, 0x9b, 0xa8, 0x98, 0xb2, 0x28, 0x61, 0xb5, 0x2a, - 0x17, 0x7a, 0x6d, 0xa1, 0x6c, 0x07, 0x20, 0x15, 0x78, 0x10, 0xf4, 0x28, 0x1e, 0xf6, 0x58, 0x6d, - 0x79, 0x71, 0x41, 0x1d, 0x00, 0x52, 0x81, 0xd7, 0xbe, 0x52, 0x50, 0xde, 0x0f, 0x07, 0xf3, 0x2d, - 0x75, 0x09, 0xe5, 0x75, 0x73, 0x07, 0x2b, 0x62, 0xe1, 0xe2, 0x9c, 0x58, 0x74, 0x70, 0x1e, 0x66, - 0xb8, 0xe1, 0xd8, 0x3b, 0xb8, 0x00, 0x24, 0x93, 0x40, 0xe3, 0x2c, 0xa3, 0x82, 0xed, 0x04, 0x36, - 0x2e, 0x01, 0xc9, 0x0e, 0xda, 0x78, 0x09, 0x48, 0x2e, 0x75, 0x6c, 0x5c, 0x06, 0x92, 0x4b, 0x7d, - 0x5c, 0x81, 0x5e, 0xea, 0x06, 0xb6, 0xe1, 0x63, 0x04, 0x4f, 0x3b, 0x84, 0x6e, 0xe1, 0xaa, 0x5a, - 0x44, 0xca, 0x2e, 0x5e, 0x86, 0x67, 0x7a, 0xa3, 0x61, 0xed, 0xe2, 0x15, 0xcd, 0x41, 0x25, 0x51, - 0x90, 0xaa, 0x8a, 0x56, 0x75, 0xb8, 0x4d, 0xf8, 0xdd, 0xa9, 0x62, 0x70, 0xa3, 0x20, 0xb4, 0x41, - 0x0c, 0xdf, 0xea, 0x10, 0xac, 0x40, 0x87, 0xb7, 0xda, 0x33, 0x94, 0x1c, 0xb4, 0x75, 0x97, 0x3a, - 0x4d, 0x4a, 0x3c, 0x0f, 0x08, 0x79, 0xed, 0xdf, 0x0a, 0x2a, 0x40, 0x61, 0x02, 0xaf, 0xa1, 0x7b, - 0x64, 0x5e, 0x9a, 0x6e, 0x18, 0x81, 0xa7, 0x4b, 0x69, 0x2b, 0xa8, 0xa2, 0x9b, 0xa0, 0x99, 0xa5, - 0xb7, 0x70, 0x4e, 0x0c, 0x84, 0xb6, 0xdb, 0x22, 0x6d, 0x62, 0x73, 0x8e, 0x3c, 0xcc, 0x1a, 0x53, - 0x70, 0x17, 0x60, 0xd6, 0x34, 0x89, 0x6d, 0xf1, 0x5d, 0x91, 0x6b, 0x62, 0x7b, 0x3e, 0x0d, 0x80, - 0x59, 0x6f, 0xe1, 0xd2, 0x74, 0x16, 0x75, 0x08, 0x5e, 0x82, 0xb3, 0x6c, 0xa7, 0x6d, 0xd9, 0x62, - 0x5f, 0x06, 0x7f, 0x3b, 0x5b, 0x2d, 0xeb, 0x93, 0x80, 0xe0, 0x0a, 0x1c, 0xec, 0xea, 0xd4, 0x17, - 0xb2, 0x10, 0x1c, 0xec, 0x52, 0xe2, 0x3a, 0x9e, 0x05, 0x63, 0x4b, 0x6f, 0xe1, 0x2a, 0x38, 0x83, - 0x92, 0x46, 0x8b, 0xec, 0x5a, 0x1d, 0xd2, 0x05, 0x33, 0xf0, 0x32, 0xb0, 0x51, 0xd2, 0xe2, 0x02, - 0x05, 0x69, 0x05, 0xce, 0xec, 0x64, 0x67, 0xae, 0x6a, 0xdf, 0x28, 0xa8, 0x00, 0xdd, 0x04, 0x94, - 0x6b, 0x38, 0xb4, 0x3d, 0x63, 0xfa, 0x32, 0x2a, 0xeb, 0x26, 0x28, 0xa4, 0xb7, 0xa4, 0xe1, 0xc1, - 0xae, 0xd5, 0xb2, 0x74, 0xfa, 0x00, 0xe7, 0xe0, 0xb0, 0x19, 0xc3, 0x3f, 0x25, 0x14, 0xe7, 0xb9, - 0x08, 0xcb, 0xd6, 0x5b, 0x5d, 0x62, 0x9b, 0x96, 0xdd, 0xc4, 0x05, 0xf0, 0x45, 0x93, 0xd0, 0xc0, - 0x36, 0x71, 0x11, 0xd6, 0x94, 0xe8, 0x2d, 0xcb, 0x13, 0x76, 0x5b, 0x54, 0xee, 0x96, 0x20, 0xb4, - 0xde, 0xb6, 0x43, 0x7d, 0x5c, 0x86, 0xb0, 0xb7, 0x1c, 0xbb, 0x29, 0x72, 0xc1, 0xa1, 0x26, 0xa1, - 0x18, 0x01, 0xb7, 0xbc, 0x32, 0x1a, 0xb8, 0xaa, 0x11, 0x54, 0x12, 0x6d, 0x0b, 0x74, 0x68, 0x12, - 0xdb, 0x24, 0x74, 0x5e, 0xe9, 0x06, 0x69, 0x5b, 0xb6, 0x65, 0xcb, 0x68, 0xb5, 0x75, 0xcf, 0x08, - 0x5a, 0xb0, 0xcd, 0x81, 0x0a, 0x36, 0x09, 0x7c, 0x50, 0x56, 0xfb, 0x02, 0x15, 0xa0, 0x67, 0x81, - 0xd2, 0x6d, 0xc7, 0x31, 0x67, 0x44, 0x9c, 0x47, 0xd8, 0x70, 0x6c, 0x53, 0x3a, 0xb6, 0x0b, 0x4f, - 0xb1, 0x02, 0xc1, 0xe1, 0x69, 0xa4, 0xcb, 0x24, 0x82, 0xbd, 0x6d, 0x5a, 0xd2, 0x91, 0x79, 0xf0, - 0xb4, 0x65, 0xfb, 0x84, 0x52, 0xa7, 0x99, 0x45, 0xbf, 0x8a, 0x96, 0x76, 0x02, 0x91, 0x63, 0x45, - 0x48, 0x3a, 0x2f, 0xd8, 0xda, 0x81, 0xf4, 0x06, 0x42, 0x49, 0xfb, 0x18, 0x95, 0x44, 0xb3, 0x03, - 0x3b, 0xec, 0xa0, 0xbd, 0x75, 0xdc, 0x0e, 0xcf, 0xb2, 0x9b, 0x41, 0x4b, 0xa7, 0x58, 0xe1, 0xf7, - 0x97, 0x56, 0x40, 0x79, 0xca, 0x95, 0x51, 0xc1, 0x0c, 0xf4, 0x16, 0xce, 0x6b, 0x3e, 0x2a, 0x89, - 0x16, 0x07, 0x12, 0xc4, 0xfd, 0x66, 0x46, 0x42, 0x05, 0x15, 0x1b, 0x16, 0xf5, 0x7c, 0x01, 0xf7, - 0x08, 0xd8, 0x84, 0x73, 0x40, 0xf6, 0xb7, 0x2d, 0x6a, 0xe2, 0x3c, 0x18, 0x3a, 0x4d, 0x18, 0x79, - 0x3f, 0x2a, 0x68, 0xb7, 0x50, 0x49, 0x34, 0x3b, 0x2e, 0x95, 0x3a, 0xee, 0x9c, 0x5e, 0xa0, 0x09, - 0xa7, 0x09, 0x97, 0xd8, 0x8e, 0xdf, 0x95, 0xfb, 0x9c, 0xb6, 0x83, 0xaa, 0x33, 0x5d, 0x4d, 0xbd, - 0x80, 0x5e, 0xa0, 0xc4, 0xb0, 0x5c, 0xea, 0x18, 0x96, 0xff, 0x60, 0xbe, 0xa6, 0xb2, 0x07, 0x3c, - 0xb5, 0xc0, 0x7e, 0xc7, 0xee, 0xce, 0xd0, 0x72, 0x5a, 0x82, 0x8a, 0xbc, 0x99, 0x81, 0x5f, 0x7d, - 0x62, 0xcf, 0xd5, 0xe4, 0x8b, 0xe8, 0xdc, 0x6c, 0x80, 0xf8, 0x63, 0x61, 0x65, 0x23, 0xf0, 0x03, - 0x4a, 0x84, 0x93, 0x5c, 0xdd, 0xf3, 0x71, 0x1e, 0x82, 0xe0, 0x52, 0xe2, 0x89, 0x0b, 0xdd, 0x0a, - 0xaa, 0x4c, 0x7a, 0x01, 0x2e, 0x8a, 0x97, 0x8f, 0x20, 0xdb, 0x97, 0xb4, 0x2d, 0x54, 0xe4, 0x8d, - 0x0f, 0x0e, 0xed, 0x38, 0x96, 0x41, 0xe6, 0x0d, 0xd7, 0x8d, 0x69, 0x13, 0x30, 0xf4, 0xac, 0x27, - 0xe4, 0xf8, 0x11, 0x7a, 0xd6, 0x4b, 0xfe, 0xb5, 0x84, 0x56, 0xe7, 0x6f, 0x4d, 0xea, 0x3a, 0xc2, - 0x9f, 0xb1, 0xb0, 0xdf, 0x4d, 0xe1, 0x6e, 0xd8, 0x1d, 0x46, 0x7d, 0xf6, 0x98, 0x5f, 0x65, 0x8a, - 0x74, 0x15, 0xe8, 0xfc, 0xca, 0x68, 0x01, 0x55, 0xb5, 0x50, 0x71, 0x3f, 0x7c, 0xc8, 0xf6, 0xe5, - 0x1d, 0xe5, 0xfa, 0x42, 0xb7, 0xb3, 0x7a, 0x0b, 0xa0, 0x54, 0x48, 0xd0, 0xfe, 0x51, 0x42, 0x45, - 0x4e, 0x78, 0xe2, 0x26, 0xac, 0x6f, 0x6d, 0x51, 0xd2, 0xc1, 0x0a, 0x6f, 0xa9, 0x50, 0xc4, 0x22, - 0x2b, 0x74, 0xb3, 0x63, 0xb4, 0x44, 0xff, 0xd2, 0xcd, 0x4e, 0xdb, 0x31, 0x71, 0x01, 0xdc, 0xa8, - 0xc3, 0xaa, 0xc8, 0x19, 0x5c, 0xd7, 0x81, 0xe2, 0x05, 0xa2, 0xef, 0x53, 0xbc, 0xc4, 0x3b, 0x7e, - 0xb0, 0x2b, 0x3a, 0x95, 0x1e, 0xec, 0x82, 0x13, 0x70, 0x45, 0x2d, 0xa1, 0x9c, 0x61, 0x60, 0x04, - 0x10, 0x83, 0x8b, 0xaf, 0x4e, 0x26, 0x02, 0x6f, 0xe3, 0x06, 0xd4, 0x01, 0x5e, 0xe1, 0x5e, 0x84, - 0x25, 0x87, 0xad, 0x8a, 0x59, 0xe1, 0xe2, 0xb3, 0xd9, 0xd0, 0xc0, 0xc0, 0x60, 0x5a, 0x9e, 0xe1, - 0x04, 0xd4, 0x23, 0xf8, 0x1c, 0x4f, 0x7c, 0x67, 0x6b, 0x07, 0xab, 0xb0, 0x22, 0xbb, 0x6e, 0x0b, - 0xbf, 0xc0, 0x1b, 0xac, 0x43, 0xbc, 0xfb, 0x96, 0xbf, 0x8d, 0xcf, 0x03, 0xdd, 0x02, 0x8e, 0x17, - 0x61, 0xd5, 0xd6, 0xe9, 0x3d, 0xfc, 0x12, 0x48, 0x6b, 0xdf, 0x27, 0xf8, 0x82, 0x58, 0x74, 0x70, - 0x8d, 0x4f, 0x20, 0xd2, 0xc4, 0xff, 0x07, 0x8a, 0xda, 0x36, 0x5e, 0x03, 0x21, 0xb6, 0x2b, 0x6d, - 0xfe, 0x7f, 0xd0, 0xd0, 0xe6, 0x1a, 0xbe, 0x0c, 0x0a, 0xd8, 0x13, 0x0d, 0x5f, 0xc9, 0x46, 0xd7, - 0xab, 0xbc, 0x8f, 0xf0, 0x82, 0xc5, 0xaf, 0xc1, 0x78, 0x72, 0xf1, 0x45, 0xd9, 0x9e, 0x75, 0x5f, - 0xdf, 0xb5, 0x3c, 0xfc, 0xba, 0x48, 0x09, 0xea, 0x83, 0x44, 0x8d, 0x8f, 0x35, 0xee, 0x88, 0x37, - 0x78, 0x5e, 0x82, 0x86, 0x6f, 0x8a, 0x95, 0xe7, 0xe1, 0x4b, 0x9c, 0xd7, 0xf1, 0x7c, 0xd0, 0xe9, - 0x27, 0x32, 0x5d, 0x39, 0xf7, 0xe5, 0xc9, 0xc6, 0xde, 0xc1, 0xeb, 0xa2, 0xf2, 0x08, 0x78, 0xe6, - 0x2d, 0x31, 0x3b, 0x49, 0x03, 0x5f, 0x91, 0x2b, 0x17, 0x5f, 0xe5, 0xa7, 0x50, 0xc7, 0x6e, 0xe1, - 0xb7, 0xb3, 0x81, 0xfa, 0x0e, 0x58, 0xe8, 0x7a, 0xb8, 0x0e, 0x16, 0x7e, 0x12, 0xe8, 0x36, 0xd7, - 0x67, 0x03, 0x38, 0xa9, 0x01, 0xcb, 0x77, 0xe1, 0x01, 0x5f, 0x52, 0xd2, 0xc2, 0xd7, 0xf8, 0x03, - 0x93, 0x3a, 0x2e, 0xde, 0x04, 0x11, 0x70, 0xc0, 0x75, 0xd0, 0x81, 0x92, 0xb6, 0xad, 0xdb, 0x3e, - 0xbe, 0x21, 0x2a, 0x17, 0xec, 0xb4, 0xcd, 0xa0, 0x8d, 0xdf, 0x83, 0xd3, 0xa9, 0xe3, 0xf8, 0xf8, - 0x26, 0xac, 0x3c, 0x70, 0xce, 0xfb, 0x7c, 0x15, 0x34, 0x1a, 0xf8, 0x16, 0xac, 0xf8, 0x89, 0x3f, - 0xe5, 0x4d, 0xc7, 0x71, 0x2d, 0x03, 0xdf, 0xe6, 0x83, 0x1d, 0x88, 0x77, 0xe6, 0x06, 0xd1, 0x5d, - 0x60, 0xd9, 0xe5, 0x66, 0x7f, 0xc0, 0xdb, 0x55, 0xc0, 0x67, 0xfd, 0x87, 0x1c, 0x69, 0xf9, 0x2d, - 0x82, 0x3f, 0x12, 0xf3, 0xa8, 0xe3, 0x6e, 0x03, 0xfa, 0x63, 0x99, 0x72, 0x50, 0x86, 0x58, 0xe7, - 0xd9, 0x19, 0xec, 0x76, 0x3a, 0x78, 0x0b, 0x96, 0x26, 0x3f, 0xd5, 0x00, 0x96, 0x86, 0x43, 0x89, - 0xd5, 0xb4, 0xb1, 0x09, 0xae, 0xb8, 0x77, 0x1f, 0x13, 0x3e, 0x61, 0x2c, 0xcf, 0xc7, 0x0d, 0x71, - 0x27, 0x69, 0x1b, 0xb8, 0xc9, 0x13, 0xc0, 0x69, 0x8b, 0xbc, 0xdc, 0x86, 0x89, 0x90, 0xed, 0x78, - 0xe0, 0x2d, 0xce, 0x19, 0xb4, 0x0d, 0xbc, 0x03, 0x6e, 0x31, 0x1c, 0x17, 0xdf, 0x03, 0x4f, 0x98, - 0x96, 0xc7, 0x87, 0x37, 0x31, 0x71, 0x4b, 0xfb, 0x2a, 0x87, 0x56, 0xe6, 0xde, 0x8b, 0xbf, 0xdf, - 0x3b, 0x20, 0x99, 0xfb, 0x82, 0x70, 0x6d, 0x91, 0x17, 0xf2, 0xd9, 0x0f, 0x09, 0x73, 0x6f, 0xe4, - 0xf9, 0xe7, 0xff, 0xde, 0xf1, 0xae, 0x7c, 0xa9, 0xc6, 0x68, 0x59, 0x7e, 0xc3, 0x79, 0xda, 0x3c, - 0x40, 0xa8, 0x64, 0x38, 0xed, 0x36, 0xbc, 0x57, 0x6b, 0x4d, 0x54, 0xce, 0x4c, 0x52, 0x6b, 0xd3, - 0x6f, 0x4c, 0xe2, 0x15, 0x7e, 0xf2, 0x85, 0xe9, 0x75, 0xb4, 0xfc, 0x90, 0x0d, 0x86, 0x51, 0x37, - 0xde, 0xdb, 0x4b, 0x98, 0x78, 0x35, 0x2b, 0xd2, 0x2a, 0xa7, 0x39, 0x9c, 0xa4, 0xfd, 0x4e, 0x41, - 0x17, 0xf4, 0x28, 0xdc, 0x3f, 0xfa, 0x39, 0x9b, 0xaa, 0xc6, 0x7e, 0x76, 0xc8, 0x92, 0x54, 0x35, - 0x50, 0xb9, 0x2f, 0xbf, 0x69, 0x9d, 0xd2, 0xcd, 0xd9, 0x27, 0x30, 0x3a, 0x01, 0xaa, 0x2e, 0x5a, - 0x61, 0x51, 0x2f, 0xee, 0x0f, 0xa3, 0x41, 0x77, 0xc6, 0xe7, 0x57, 0x4f, 0xf4, 0xb9, 0xc0, 0x70, - 0x6f, 0x2f, 0xb3, 0x99, 0x9d, 0xf6, 0x57, 0x05, 0xd5, 0x9e, 0x54, 0x39, 0x19, 0xc5, 0x30, 0xcf, - 0xee, 0x23, 0x35, 0x3b, 0xba, 0x3b, 0x8d, 0x8d, 0xb2, 0x60, 0x6c, 0xce, 0x65, 0x32, 0xa6, 0x2f, - 0xda, 0xb3, 0xdf, 0xe0, 0x72, 0xf3, 0xdf, 0xe0, 0x54, 0x22, 0xf2, 0x80, 0x45, 0x3d, 0x96, 0xc8, - 0x2f, 0x4a, 0x97, 0x4f, 0x71, 0x16, 0xf0, 0xd3, 0x29, 0x52, 0xfb, 0x83, 0x82, 0x5e, 0x91, 0x86, - 0x89, 0x94, 0xfb, 0x5f, 0x89, 0xc8, 0x17, 0xe8, 0xd5, 0xef, 0xd2, 0x5b, 0x86, 0x45, 0x47, 0x65, - 0xa0, 0xa5, 0x43, 0x96, 0xd4, 0x14, 0xee, 0xa0, 0x4b, 0xa7, 0x2a, 0x3a, 0x3a, 0x81, 0x3d, 0x2b, - 0x00, 0x70, 0xcd, 0x7e, 0x69, 0x56, 0x83, 0x21, 0x4b, 0x7e, 0xe4, 0x2e, 0x7b, 0x3c, 0x29, 0xbb, - 0xa9, 0xc2, 0xff, 0x1d, 0x5f, 0xfd, 0x56, 0x41, 0xe7, 0xb3, 0xf2, 0x39, 0x8a, 0xd2, 0xf0, 0xf1, - 0x8f, 0xdc, 0x53, 0x7f, 0x54, 0xd0, 0x8b, 0xc7, 0xf4, 0x95, 0x8e, 0x9a, 0x2b, 0x3b, 0xe5, 0x79, - 0xcb, 0x4e, 0xbd, 0x8b, 0x4a, 0xfc, 0xea, 0x98, 0xd4, 0x72, 0x5c, 0xc6, 0x9b, 0x27, 0xcd, 0x12, - 0x60, 0xa6, 0x12, 0x33, 0xe7, 0xea, 0xfc, 0x31, 0x57, 0xff, 0x2d, 0x8f, 0x5e, 0xd0, 0xc5, 0x2f, - 0x18, 0x0c, 0xda, 0xf5, 0x0f, 0xea, 0xe9, 0xfb, 0xa8, 0xbc, 0xc7, 0xc2, 0xf4, 0x70, 0xcc, 0x12, - 0xf9, 0x05, 0xf3, 0xce, 0x09, 0x42, 0x9e, 0xa2, 0x4a, 0xbd, 0x21, 0x45, 0xd0, 0x89, 0xb0, 0x27, - 0x43, 0x98, 0xff, 0x9e, 0x21, 0x5c, 0xfb, 0x8b, 0x82, 0xca, 0xd9, 0x41, 0xea, 0x25, 0xb4, 0xca, - 0x1e, 0xa7, 0xe3, 0xb0, 0x97, 0x76, 0x13, 0x1e, 0x4f, 0xee, 0x82, 0x32, 0x5d, 0x91, 0x54, 0x11, - 0x64, 0xf5, 0x2d, 0x84, 0x33, 0xb6, 0x49, 0x35, 0xe4, 0x38, 0xe3, 0x59, 0x49, 0xcf, 0x0a, 0x47, - 0xbd, 0x8b, 0xd6, 0x32, 0xd6, 0xa7, 0xf4, 0xfe, 0x3c, 0x07, 0xd5, 0x24, 0x87, 0xf9, 0x44, 0x63, - 0xbf, 0x85, 0x6a, 0x73, 0x07, 0x1d, 0xcd, 0x60, 0x0b, 0x1c, 0xfb, 0xd2, 0xec, 0x81, 0xd3, 0xe6, - 0xa6, 0x7d, 0x9b, 0x83, 0x4a, 0x9a, 0xf5, 0xe9, 0x8f, 0x29, 0x31, 0x67, 0xdb, 0x48, 0xfe, 0xf9, - 0xda, 0xc8, 0xd3, 0x87, 0x69, 0xe1, 0x87, 0x1d, 0xa6, 0xc5, 0xf9, 0xa2, 0xb9, 0x72, 0x0b, 0x2d, - 0xcf, 0xa6, 0x92, 0xb8, 0x47, 0xda, 0x04, 0x9f, 0x81, 0x55, 0xe0, 0x37, 0x6e, 0x89, 0x57, 0xab, - 0xc0, 0x6f, 0x5c, 0xbb, 0x29, 0x5e, 0xad, 0x02, 0xbf, 0x71, 0x7d, 0x13, 0xe7, 0x37, 0x7f, 0xb5, - 0x84, 0xce, 0xb6, 0xa4, 0x18, 0x4f, 0xfc, 0xe2, 0xa8, 0xfe, 0x5e, 0x41, 0xf8, 0xf8, 0x65, 0x41, - 0xbd, 0x79, 0x62, 0xa1, 0x3c, 0xf5, 0x42, 0xb4, 0xf6, 0xfe, 0xc2, 0x38, 0x91, 0x10, 0x5a, 0xfd, - 0xcb, 0x6f, 0xff, 0xfe, 0x75, 0x6e, 0x5d, 0x7b, 0x63, 0xf2, 0xd3, 0x68, 0xe6, 0x93, 0xe4, 0x76, - 0x78, 0x0c, 0x74, 0x5b, 0xb9, 0xa2, 0x7e, 0xa3, 0xa0, 0xb3, 0xc7, 0xc6, 0x83, 0xfa, 0xde, 0xe9, - 0x0e, 0x3f, 0x36, 0xff, 0xd6, 0x6e, 0x2e, 0x0a, 0x93, 0x2a, 0xbf, 0xc3, 0x55, 0xbe, 0xac, 0x69, - 0xdf, 0xad, 0x72, 0x86, 0x01, 0x8d, 0xff, 0x7c, 0x6c, 0x02, 0x4f, 0xcb, 0x44, 0xbd, 0xbb, 0x80, - 0x06, 0x4f, 0x5c, 0x79, 0xd6, 0x3e, 0x78, 0x4e, 0xb4, 0x34, 0xe3, 0x06, 0x37, 0xa3, 0xae, 0xbd, - 0x75, 0x82, 0x19, 0x47, 0x73, 0xfe, 0xff, 0x8d, 0x82, 0x56, 0xe6, 0x66, 0x8e, 0x7a, 0xfd, 0x94, - 0xa1, 0x9f, 0x9d, 0xa8, 0x6b, 0x37, 0x16, 0x03, 0x49, 0x95, 0xaf, 0x72, 0x95, 0x2f, 0x69, 0x17, - 0x9f, 0x91, 0x2c, 0x1c, 0x01, 0x9a, 0xfe, 0x5a, 0x41, 0xcb, 0xb3, 0x3d, 0x48, 0xdd, 0x5c, 0x7c, - 0x08, 0xac, 0x5d, 0x5f, 0x08, 0x23, 0xd5, 0xbc, 0xc2, 0xd5, 0x7c, 0x53, 0x7b, 0xed, 0xa9, 0x6a, - 0x4e, 0x01, 0xb7, 0x95, 0x2b, 0x5b, 0x5f, 0x2a, 0xe8, 0xf5, 0x5e, 0x7c, 0xf0, 0xec, 0x63, 0xb6, - 0xce, 0x1f, 0x2b, 0x5e, 0x77, 0x1c, 0xa7, 0xb1, 0xab, 0x7c, 0x4a, 0x24, 0x6c, 0x10, 0x03, 0xa4, - 0x1e, 0x8f, 0x07, 0x1b, 0x03, 0x16, 0xf1, 0xdf, 0xeb, 0x37, 0xc4, 0xa3, 0x70, 0x34, 0x4c, 0xbe, - 0xe3, 0x4f, 0x08, 0x77, 0x32, 0xc2, 0xc3, 0x12, 0x47, 0x5c, 0xff, 0x4f, 0x00, 0x00, 0x00, 0xff, - 0xff, 0x55, 0xc3, 0xe3, 0x00, 0xb5, 0x20, 0x00, 0x00, + // 2996 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0xcd, 0x6f, 0xdc, 0xd6, + 0xb5, 0x37, 0xe7, 0x4b, 0xa3, 0x3b, 0x92, 0x7c, 0x4d, 0x3b, 0xf6, 0x3c, 0xbd, 0x7c, 0x38, 0x74, + 0xfc, 0xac, 0xd8, 0x89, 0x14, 0x4b, 0x8e, 0xe3, 0x67, 0x3b, 0x1f, 0x14, 0x79, 0x67, 0x44, 0x99, + 0x43, 0x32, 0x97, 0xe4, 0x58, 0xf6, 0x66, 0x40, 0xcf, 0x50, 0x93, 0x41, 0x24, 0x72, 0xde, 0x90, + 0x32, 0xac, 0xb7, 0x09, 0x1a, 0xa0, 0xcb, 0xa0, 0x8b, 0xfc, 0x09, 0x5d, 0x14, 0x28, 0x50, 0xa4, + 0x40, 0x81, 0xa2, 0x5d, 0xf4, 0x2f, 0xe8, 0xb2, 0x40, 0xff, 0x82, 0x2e, 0xbb, 0xe8, 0xa2, 0x8b, + 0x76, 0x57, 0x9c, 0x7b, 0x2f, 0x67, 0x38, 0xb2, 0x62, 0x69, 0x1c, 0xa3, 0x48, 0x77, 0xf7, 0x9e, + 0x39, 0xbf, 0x73, 0xcf, 0xd7, 0x3d, 0xe7, 0xf0, 0x4a, 0xe8, 0x56, 0x3f, 0x8e, 0xfb, 0x7b, 0xe1, + 0x5a, 0x77, 0x2f, 0x3e, 0xe8, 0xad, 0xed, 0x05, 0x51, 0xff, 0x20, 0xe8, 0x87, 0x6b, 0x4f, 0x6f, + 0x3e, 0x09, 0xd3, 0x60, 0x7d, 0x4c, 0xe8, 0x24, 0xe1, 0xe8, 0xe9, 0xa0, 0x1b, 0xae, 0x0e, 0x47, + 0x71, 0x1a, 0xcb, 0x6f, 0x70, 0xd4, 0x2a, 0x43, 0xad, 0x66, 0x4c, 0xab, 0x02, 0xb5, 0xfc, 0xba, + 0x10, 0x1a, 0x0c, 0x07, 0x6b, 0x41, 0x14, 0xc5, 0x69, 0x90, 0x0e, 0xe2, 0x28, 0xe1, 0xe0, 0xe5, + 0x2b, 0xe2, 0xd7, 0xbd, 0x38, 0xea, 0x8f, 0x0e, 0xa2, 0x68, 0x10, 0xf5, 0xd7, 0xe2, 0x61, 0x38, + 0x9a, 0x62, 0x7a, 0x4b, 0x30, 0xb1, 0xdd, 0x93, 0x83, 0xdd, 0xb5, 0x74, 0xb0, 0x1f, 0x26, 0x69, + 0xb0, 0x3f, 0x14, 0x0c, 0x97, 0x04, 0xc3, 0x68, 0xd8, 0x5d, 0x4b, 0xd2, 0x20, 0x3d, 0x10, 0x48, + 0xe5, 0x6f, 0x12, 0xaa, 0xea, 0x71, 0xf7, 0x60, 0x3f, 0x8c, 0x52, 0xf9, 0x33, 0x54, 0x4a, 0x0f, + 0x87, 0x61, 0x5d, 0xba, 0x2c, 0xad, 0x2c, 0xad, 0xbf, 0xb7, 0xfa, 0x42, 0xbd, 0x57, 0x33, 0xd8, + 0xaa, 0x77, 0x38, 0x0c, 0x29, 0x43, 0xca, 0xcb, 0x68, 0xae, 0x1b, 0x47, 0x69, 0x18, 0xa5, 0xf5, + 0xc2, 0x65, 0x69, 0x65, 0x7e, 0xeb, 0x0c, 0xcd, 0x08, 0xf2, 0x0a, 0x3a, 0xdb, 0xef, 0x26, 0x1d, + 0xb1, 0xed, 0x1c, 0x8c, 0x06, 0xf5, 0xa2, 0xe0, 0x59, 0xec, 0x77, 0x13, 0x8d, 0xd3, 0xfd, 0xd1, + 0x40, 0x5e, 0x46, 0xd5, 0xec, 0xb4, 0x7a, 0x09, 0x58, 0xe8, 0x78, 0xaf, 0xdc, 0x46, 0x25, 0x38, + 0x4f, 0xbe, 0x80, 0xb0, 0xf7, 0xc8, 0x21, 0x1d, 0xdf, 0x72, 0x1d, 0xa2, 0x19, 0x0d, 0x83, 0xe8, + 0xf8, 0x8c, 0xbc, 0x84, 0x90, 0x63, 0xaa, 0x86, 0xd5, 0xf1, 0xc8, 0x8e, 0x87, 0x25, 0xb9, 0x8a, + 0x4a, 0x5b, 0x5e, 0xcb, 0xc4, 0x85, 0xcd, 0x2a, 0xaa, 0x24, 0xf1, 0xc1, 0xa8, 0x1b, 0x2a, 0x3f, + 0x93, 0x50, 0xd5, 0x0d, 0xe1, 0xb0, 0x6e, 0x28, 0xdf, 0x43, 0xa5, 0x34, 0x7c, 0x96, 0x32, 0x93, + 0x6b, 0xeb, 0xd7, 0x4e, 0x30, 0xd9, 0x0b, 0x9f, 0xa5, 0xee, 0x30, 0x88, 0x28, 0x03, 0xc9, 0x0d, + 0x34, 0x9f, 0x84, 0x11, 0xf8, 0x5a, 0xd8, 0x5b, 0x5b, 0x5f, 0x39, 0x41, 0x82, 0x9b, 0xf1, 0xd3, + 0x09, 0x54, 0xf9, 0xb6, 0x84, 0x2a, 0x24, 0x4a, 0x07, 0xe9, 0xa1, 0x2c, 0xa3, 0x52, 0x14, 0xec, + 0xf3, 0x10, 0xcc, 0x53, 0xb6, 0x96, 0x3f, 0x11, 0x61, 0x29, 0xb0, 0xb0, 0x5c, 0x3f, 0xe1, 0x04, + 0x2e, 0x28, 0x1f, 0x14, 0x1b, 0x55, 0xf7, 0xc3, 0x34, 0xe8, 0x05, 0x69, 0x50, 0x2f, 0x5e, 0x2e, + 0xae, 0xd4, 0xd6, 0x37, 0x4e, 0x27, 0xa3, 0x25, 0x50, 0x24, 0x4a, 0x47, 0x87, 0x74, 0x2c, 0x04, + 0xe2, 0x93, 0x04, 0x7b, 0x03, 0x70, 0x20, 0x8b, 0x4f, 0x81, 0x8e, 0xf7, 0xf2, 0x16, 0x1c, 0x16, + 0xb1, 0xe4, 0xac, 0x97, 0xd9, 0x61, 0xef, 0x9d, 0xea, 0xb0, 0x16, 0x07, 0xd1, 0x31, 0x7a, 0xda, + 0xbb, 0x95, 0x97, 0xf6, 0xee, 0xf2, 0x3d, 0xb4, 0x38, 0x65, 0x88, 0x8c, 0x51, 0xf1, 0xcb, 0xf0, + 0x50, 0xb8, 0x18, 0x96, 0xf2, 0x05, 0x54, 0x7e, 0x1a, 0xec, 0x1d, 0x70, 0x17, 0xcf, 0x53, 0xbe, + 0xb9, 0x5b, 0xb8, 0x23, 0x29, 0x87, 0x22, 0xdd, 0x6a, 0x68, 0xce, 0xb7, 0x1e, 0x58, 0xf6, 0x43, + 0x0b, 0x9f, 0x91, 0x11, 0xaa, 0x38, 0x84, 0xba, 0xb6, 0x85, 0x25, 0x79, 0x01, 0x55, 0x4d, 0x5b, + 0x53, 0x3d, 0xc3, 0xb6, 0x70, 0x41, 0xc6, 0x68, 0xc1, 0xa6, 0x4d, 0xd5, 0x32, 0x1e, 0x73, 0x4a, + 0x51, 0x9e, 0x47, 0x65, 0xd2, 0x26, 0x96, 0x87, 0x4b, 0xf2, 0x59, 0x54, 0x7b, 0x68, 0xd3, 0x07, + 0x1d, 0xbb, 0xd1, 0x51, 0xa9, 0x87, 0xcb, 0xf2, 0x39, 0xb4, 0xa8, 0xd9, 0x96, 0xeb, 0xb7, 0x08, + 0xed, 0x34, 0x6d, 0x5b, 0xc7, 0x15, 0x60, 0xb7, 0xbd, 0x2d, 0x42, 0xf1, 0x9c, 0xf2, 0xd3, 0x02, + 0x2a, 0x7b, 0xf1, 0x97, 0x61, 0xf4, 0xc3, 0x92, 0xf4, 0x73, 0xb4, 0x34, 0x0c, 0x46, 0x69, 0x27, + 0xde, 0xed, 0x24, 0xc3, 0x30, 0xec, 0x7e, 0x21, 0x32, 0xf5, 0xc6, 0x09, 0x62, 0x9c, 0x60, 0x94, + 0xda, 0xbb, 0x2e, 0x83, 0xd0, 0x85, 0x61, 0x6e, 0x27, 0xb7, 0xd1, 0xd9, 0x5e, 0x38, 0x0c, 0xa3, + 0x5e, 0x18, 0x75, 0x0f, 0x3b, 0x61, 0xaf, 0x1f, 0xb2, 0x9b, 0x5c, 0x5b, 0x7f, 0xff, 0xa4, 0x92, + 0x31, 0x46, 0x91, 0x5e, 0x3f, 0xa4, 0x4b, 0xbd, 0xa9, 0x3d, 0x84, 0x61, 0x2f, 0xdc, 0xdf, 0x0f, + 0xc4, 0xa5, 0xe7, 0x1b, 0xe5, 0x53, 0x34, 0x3f, 0x8e, 0xab, 0xfc, 0x3a, 0x9a, 0xdf, 0x0f, 0xfa, + 0xd1, 0x20, 0x3d, 0xe8, 0xf1, 0x68, 0x15, 0xe8, 0x84, 0x00, 0x02, 0x92, 0x6e, 0x3c, 0xe2, 0xea, + 0x14, 0x28, 0xdf, 0x28, 0xbf, 0x3f, 0x87, 0x16, 0xf2, 0xd6, 0xc8, 0x2a, 0x2a, 0xa6, 0x41, 0x5f, + 0x94, 0xb9, 0xb5, 0x19, 0xfc, 0xb0, 0xea, 0x05, 0x7d, 0x0a, 0x58, 0x79, 0x1b, 0x55, 0x82, 0x64, + 0x18, 0x76, 0x53, 0x71, 0x2b, 0xd7, 0x67, 0x91, 0xa2, 0x32, 0x24, 0x15, 0x12, 0x64, 0x1d, 0x95, + 0xba, 0x41, 0xc2, 0x95, 0x5e, 0x5a, 0xff, 0x60, 0x16, 0x49, 0x5a, 0x90, 0x84, 0x94, 0xa1, 0x41, + 0xca, 0x6e, 0x3c, 0xda, 0x67, 0xbe, 0x9b, 0x51, 0x4a, 0x23, 0x1e, 0xed, 0x53, 0x86, 0x06, 0xbb, + 0xfa, 0x10, 0x92, 0x51, 0xbd, 0x3c, 0xbb, 0x5d, 0x4d, 0x86, 0xa4, 0x42, 0x02, 0x68, 0xb4, 0x1f, + 0xc7, 0x3d, 0x76, 0x77, 0x67, 0xd4, 0xa8, 0x15, 0xc7, 0x3d, 0xca, 0xd0, 0xa0, 0x51, 0x74, 0xb0, + 0xff, 0x24, 0x1c, 0xd5, 0xe7, 0x66, 0xd7, 0xc8, 0x62, 0x48, 0x2a, 0x24, 0x80, 0xac, 0x61, 0x38, + 0x4a, 0xe2, 0xa8, 0x5e, 0x9d, 0x5d, 0x96, 0xc3, 0x90, 0x54, 0x48, 0x60, 0xb2, 0x46, 0xd0, 0x89, + 0xeb, 0xf3, 0x2f, 0x21, 0x8b, 0x21, 0xa9, 0x90, 0x20, 0x3f, 0x42, 0xb5, 0x51, 0xd8, 0x1d, 0x0c, + 0x47, 0x71, 0x77, 0x90, 0x1e, 0xd6, 0x11, 0x13, 0xf8, 0xd1, 0x2c, 0x02, 0xe9, 0x04, 0x4e, 0xf3, + 0xb2, 0xe4, 0x26, 0x2a, 0xa7, 0x61, 0x94, 0x84, 0xf5, 0x1a, 0x13, 0x7a, 0x73, 0xa6, 0x6c, 0x07, + 0x20, 0xe5, 0x78, 0x10, 0xf4, 0x34, 0x1e, 0x74, 0xc3, 0xfa, 0xc2, 0xec, 0x82, 0xda, 0x00, 0xa4, + 0x1c, 0xaf, 0x7c, 0x23, 0xa1, 0xa2, 0x17, 0xf4, 0xa7, 0x4b, 0xea, 0x1c, 0x2a, 0xaa, 0xfa, 0x36, + 0x96, 0xf8, 0xc2, 0xc1, 0x05, 0xbe, 0x68, 0xe3, 0x22, 0xf4, 0x70, 0xcd, 0xb6, 0xb6, 0x71, 0x09, + 0x48, 0x3a, 0x81, 0xc2, 0x59, 0x45, 0x25, 0xcb, 0xf6, 0x2d, 0x5c, 0x01, 0x92, 0xe5, 0xb7, 0xf0, + 0x1c, 0x90, 0x1c, 0x6a, 0x5b, 0xb8, 0x0a, 0x24, 0x87, 0x7a, 0x78, 0x1e, 0x6a, 0xa9, 0xe3, 0x5b, + 0x9a, 0x87, 0x11, 0xfc, 0xda, 0x26, 0x74, 0x13, 0xd7, 0xe4, 0x32, 0x92, 0x76, 0xf0, 0x02, 0xfc, + 0xa6, 0x36, 0x1a, 0xc6, 0x0e, 0x5e, 0x54, 0x6c, 0x54, 0xe1, 0x17, 0x52, 0x96, 0xd1, 0x92, 0x0a, + 0xd3, 0x84, 0xd7, 0x99, 0x28, 0x06, 0x13, 0x05, 0xa1, 0x0d, 0xa2, 0x79, 0x46, 0x9b, 0x60, 0x09, + 0x2a, 0xbc, 0xd1, 0xca, 0x51, 0x0a, 0x50, 0xd6, 0x1d, 0x6a, 0x37, 0x29, 0x71, 0x5d, 0x20, 0x14, + 0x95, 0x7f, 0x48, 0xa8, 0x04, 0x17, 0x13, 0x78, 0x35, 0xd5, 0x25, 0xd3, 0xd2, 0x54, 0x4d, 0xf3, + 0x5d, 0x55, 0x48, 0x5b, 0x44, 0xf3, 0xaa, 0x0e, 0x9a, 0x19, 0xaa, 0x89, 0x0b, 0xbc, 0x21, 0xb4, + 0x1c, 0x93, 0xb4, 0x88, 0xc5, 0x38, 0x8a, 0xd0, 0x6b, 0x74, 0xce, 0x5d, 0x82, 0x5e, 0xd3, 0x24, + 0x96, 0xc1, 0x76, 0x65, 0xa6, 0x89, 0xe5, 0x7a, 0xd4, 0x07, 0x66, 0xd5, 0xc4, 0x95, 0x49, 0x2f, + 0x6a, 0x13, 0x3c, 0x07, 0x67, 0x59, 0x76, 0xcb, 0xb0, 0xf8, 0xbe, 0x0a, 0xfe, 0xb6, 0x37, 0x4d, + 0xe3, 0x73, 0x9f, 0xe0, 0x79, 0x38, 0xd8, 0x51, 0xa9, 0xc7, 0x65, 0x21, 0x38, 0xd8, 0xa1, 0xc4, + 0xb1, 0x5d, 0x03, 0xda, 0x96, 0x6a, 0xe2, 0x1a, 0x38, 0x83, 0x92, 0x86, 0x49, 0x76, 0x8c, 0x36, + 0xe9, 0x80, 0x19, 0x78, 0x01, 0xd8, 0x28, 0x31, 0x99, 0x40, 0x4e, 0x5a, 0x84, 0x33, 0xdb, 0xd9, + 0x99, 0x4b, 0xca, 0x77, 0x12, 0x2a, 0x41, 0x35, 0x01, 0xe5, 0x1a, 0x36, 0x6d, 0xe5, 0x4c, 0x5f, + 0x40, 0x55, 0x55, 0x07, 0x85, 0x54, 0x53, 0x18, 0xee, 0xef, 0x18, 0xa6, 0xa1, 0xd2, 0x47, 0xb8, + 0x00, 0x87, 0xe5, 0x0c, 0x7f, 0x4c, 0x28, 0x2e, 0x32, 0x11, 0x86, 0xa5, 0x9a, 0x1d, 0x62, 0xe9, + 0x86, 0xd5, 0xc4, 0x25, 0xf0, 0x45, 0x93, 0x50, 0xdf, 0xd2, 0x71, 0x19, 0xd6, 0x94, 0xa8, 0xa6, + 0xe1, 0x72, 0xbb, 0x0d, 0x2a, 0x76, 0x73, 0x10, 0x5a, 0x77, 0xcb, 0xa6, 0x1e, 0xae, 0x42, 0xd8, + 0x4d, 0xdb, 0x6a, 0xf2, 0x5c, 0xb0, 0xa9, 0x4e, 0x28, 0x46, 0xc0, 0x2d, 0x46, 0x46, 0x0d, 0xd7, + 0x14, 0x82, 0x2a, 0xbc, 0x6c, 0x81, 0x0e, 0x4d, 0x62, 0xe9, 0x84, 0x4e, 0x2b, 0xdd, 0x20, 0x2d, + 0xc3, 0x32, 0x2c, 0x11, 0xad, 0x96, 0xea, 0x6a, 0xbe, 0x09, 0xdb, 0x02, 0xa8, 0x60, 0x11, 0xdf, + 0x03, 0x65, 0x95, 0xaf, 0x50, 0x09, 0x6a, 0x16, 0x28, 0xdd, 0xb2, 0x6d, 0x3d, 0x27, 0xe2, 0x02, + 0xc2, 0x9a, 0x6d, 0xe9, 0xc2, 0xb1, 0x1d, 0xf8, 0x15, 0x4b, 0x10, 0x1c, 0x96, 0x46, 0xaa, 0x48, + 0x22, 0xd8, 0x5b, 0xba, 0x21, 0x1c, 0x59, 0x04, 0x4f, 0x1b, 0x96, 0x47, 0x28, 0xb5, 0x9b, 0x59, + 0xf4, 0x6b, 0x68, 0x6e, 0xdb, 0xe7, 0x39, 0x56, 0x86, 0xa4, 0x73, 0xfd, 0xcd, 0x6d, 0x48, 0x6f, + 0x20, 0x54, 0x94, 0xcf, 0x50, 0x85, 0x17, 0x3b, 0xb0, 0xc3, 0xf2, 0x5b, 0x9b, 0x47, 0xed, 0x70, + 0x0d, 0xab, 0xe9, 0x9b, 0x2a, 0xc5, 0x12, 0x9b, 0x5f, 0x4c, 0x9f, 0xb2, 0x94, 0xab, 0xa2, 0x92, + 0xee, 0xab, 0x26, 0x2e, 0x2a, 0x1e, 0xaa, 0xf0, 0x12, 0x07, 0x12, 0xf8, 0x7c, 0x93, 0x93, 0x30, + 0x8f, 0xca, 0x0d, 0x83, 0xba, 0x1e, 0x87, 0xbb, 0x04, 0x6c, 0xc2, 0x05, 0x20, 0x7b, 0x5b, 0x06, + 0xd5, 0x71, 0x11, 0x0c, 0x9d, 0x24, 0x8c, 0x98, 0x8f, 0x4a, 0xca, 0x1d, 0x54, 0xe1, 0xc5, 0x8e, + 0x49, 0xa5, 0xb6, 0x33, 0xa5, 0x17, 0x68, 0xc2, 0x68, 0xdc, 0x25, 0x96, 0xed, 0x75, 0xc4, 0xbe, + 0xa0, 0x6c, 0xa3, 0x5a, 0xae, 0xaa, 0xc9, 0x97, 0xd0, 0x79, 0x4a, 0x34, 0xc3, 0xa1, 0xb6, 0x66, + 0x78, 0x8f, 0xa6, 0xef, 0x54, 0xf6, 0x03, 0x4b, 0x2d, 0xb0, 0xdf, 0xb6, 0x3a, 0x39, 0x5a, 0x41, + 0x49, 0x50, 0x99, 0x15, 0x33, 0xf0, 0xab, 0x47, 0xac, 0xa9, 0x3b, 0xf9, 0x1a, 0x3a, 0x97, 0x0f, + 0x10, 0xfb, 0x99, 0x5b, 0xd9, 0xf0, 0x3d, 0x9f, 0x12, 0xee, 0x24, 0x47, 0x75, 0x3d, 0x5c, 0x84, + 0x20, 0x38, 0x94, 0xb8, 0x7c, 0xa0, 0x5b, 0x44, 0xf3, 0xe3, 0x5a, 0x80, 0xcb, 0xfc, 0xe3, 0xc3, + 0xcf, 0xf6, 0x15, 0x65, 0x13, 0x95, 0x59, 0xe1, 0x83, 0x43, 0xdb, 0xb6, 0xa1, 0x91, 0x69, 0xc3, + 0x55, 0x6d, 0x52, 0x04, 0x34, 0x35, 0xab, 0x09, 0x05, 0x76, 0x84, 0x9a, 0xd5, 0x92, 0xbf, 0xcf, + 0xa1, 0xa5, 0xe9, 0xa9, 0x49, 0x5e, 0x41, 0xf8, 0x8b, 0x30, 0xe8, 0x75, 0x52, 0x98, 0x0d, 0x3b, + 0x83, 0xa8, 0x17, 0x3e, 0x63, 0xa3, 0x4c, 0x99, 0x2e, 0x01, 0x9d, 0x8d, 0x8c, 0x06, 0x50, 0x65, + 0x03, 0x95, 0xf7, 0x82, 0x27, 0xe1, 0x9e, 0x98, 0x51, 0x36, 0x66, 0x9a, 0xce, 0x56, 0x4d, 0x80, + 0x52, 0x2e, 0x41, 0xf9, 0x6b, 0x05, 0x95, 0x19, 0xe1, 0xb9, 0x49, 0x58, 0xdd, 0xdc, 0xa4, 0xa4, + 0x8d, 0x25, 0x56, 0x52, 0xe1, 0x12, 0xf3, 0xac, 0x50, 0xf5, 0xb6, 0x66, 0xf2, 0xfa, 0xa5, 0xea, + 0xed, 0x96, 0xad, 0xe3, 0x12, 0xb8, 0x51, 0x85, 0x55, 0x99, 0x31, 0x38, 0x8e, 0x0d, 0x97, 0x17, + 0x88, 0x9e, 0x47, 0xf1, 0x1c, 0xab, 0xf8, 0xfe, 0x0e, 0xaf, 0x54, 0xaa, 0xbf, 0x03, 0x4e, 0xc0, + 0xf3, 0x72, 0x05, 0x15, 0x34, 0x0d, 0x23, 0x80, 0x68, 0x4c, 0x7c, 0x6d, 0xdc, 0x11, 0x58, 0x19, + 0xd7, 0xe0, 0x1e, 0xe0, 0x45, 0xe6, 0x45, 0x58, 0x32, 0xd8, 0x12, 0xef, 0x15, 0x0e, 0x3e, 0x9b, + 0x35, 0x0d, 0x0c, 0x0c, 0xba, 0xe1, 0x6a, 0xb6, 0x4f, 0x5d, 0x82, 0xcf, 0xb1, 0xc4, 0xb7, 0x37, + 0xb7, 0xb1, 0x0c, 0x2b, 0xb2, 0xe3, 0x98, 0xf8, 0x3c, 0x2b, 0xb0, 0x36, 0x71, 0x1f, 0x1a, 0xde, + 0x16, 0xbe, 0x00, 0x74, 0x03, 0x38, 0x5e, 0x83, 0x55, 0x4b, 0xa5, 0x0f, 0xf0, 0x45, 0x90, 0xd6, + 0x7a, 0x48, 0xf0, 0x25, 0xbe, 0x68, 0xe3, 0x3a, 0xeb, 0x40, 0xa4, 0x89, 0xff, 0x0b, 0x14, 0xb5, + 0x2c, 0xbc, 0x0c, 0x42, 0x2c, 0x47, 0xd8, 0xfc, 0xdf, 0xa0, 0xa1, 0xc5, 0x34, 0x7c, 0x1d, 0x14, + 0xb0, 0xc6, 0x1a, 0xbe, 0x91, 0xb5, 0xae, 0x37, 0x59, 0x1d, 0x61, 0x17, 0x16, 0xbf, 0x05, 0xed, + 0xc9, 0xc1, 0x97, 0x45, 0x79, 0x56, 0x3d, 0x75, 0xc7, 0x70, 0xf1, 0xdb, 0x3c, 0x25, 0xa8, 0x07, + 0x12, 0x15, 0xd6, 0xd6, 0x98, 0x23, 0xae, 0xb0, 0xbc, 0x04, 0x0d, 0xdf, 0xe1, 0x2b, 0xd7, 0xc5, + 0x57, 0x19, 0xaf, 0xed, 0x7a, 0xa0, 0xd3, 0xff, 0x88, 0x74, 0x65, 0xdc, 0xd7, 0xc6, 0x1b, 0x6b, + 0x1b, 0xaf, 0xf0, 0x9b, 0x47, 0xc0, 0x33, 0xef, 0xf2, 0xde, 0x49, 0x1a, 0xf8, 0xba, 0x58, 0x39, + 0xf8, 0x06, 0x3b, 0x85, 0xda, 0x96, 0x89, 0xdf, 0xcb, 0x1a, 0xea, 0xfb, 0x60, 0xa1, 0xe3, 0xe2, + 0x55, 0xb0, 0xf0, 0x73, 0x5f, 0xb5, 0x98, 0x3e, 0x6b, 0xc0, 0x49, 0x35, 0x58, 0x7e, 0x00, 0x3f, + 0xb0, 0x25, 0x25, 0x26, 0xbe, 0xc9, 0x7e, 0xd0, 0xa9, 0xed, 0xe0, 0x75, 0x10, 0x01, 0x07, 0x6c, + 0x80, 0x0e, 0x94, 0xb4, 0x2c, 0xd5, 0xf2, 0xf0, 0x2d, 0x7e, 0x73, 0xc1, 0x4e, 0x4b, 0xf7, 0x5b, + 0xf8, 0x43, 0x38, 0x9d, 0xda, 0xb6, 0x87, 0x6f, 0xc3, 0xca, 0x05, 0xe7, 0x7c, 0xc4, 0x56, 0x7e, + 0xa3, 0x81, 0xef, 0xc0, 0x8a, 0x9d, 0xf8, 0xbf, 0xac, 0xe8, 0xd8, 0x8e, 0xa1, 0xe1, 0xbb, 0xac, + 0xb1, 0x03, 0xf1, 0xde, 0x54, 0x23, 0xba, 0x0f, 0x2c, 0x3b, 0xcc, 0xec, 0x8f, 0x59, 0xb9, 0xf2, + 0x59, 0xaf, 0xff, 0x84, 0x21, 0x0d, 0xcf, 0x24, 0xf8, 0x53, 0xde, 0x8f, 0xda, 0xce, 0x16, 0xa0, + 0x3f, 0x13, 0x29, 0x07, 0xd7, 0x10, 0xab, 0x2c, 0x3b, 0xfd, 0x9d, 0x76, 0x1b, 0x6f, 0xc2, 0x52, + 0x67, 0xa7, 0x6a, 0xc0, 0xd2, 0xb0, 0x29, 0x31, 0x9a, 0x16, 0xd6, 0xc1, 0x15, 0x0f, 0x1e, 0x62, + 0xc2, 0x3a, 0x8c, 0xe1, 0x7a, 0xb8, 0xc1, 0x67, 0x92, 0x96, 0x86, 0x9b, 0x2c, 0x01, 0xec, 0x16, + 0xcf, 0xcb, 0x2d, 0xe8, 0x08, 0xd9, 0x8e, 0x05, 0xde, 0x60, 0x9c, 0x7e, 0x4b, 0xc3, 0xdb, 0xe0, + 0x16, 0xcd, 0x76, 0xf0, 0x03, 0xf0, 0x84, 0x6e, 0xb8, 0xac, 0x79, 0x13, 0x1d, 0x9b, 0xca, 0x37, + 0x05, 0xb4, 0x38, 0xf5, 0x5d, 0xfc, 0xc3, 0xbe, 0x01, 0xc9, 0xd4, 0x0b, 0xc2, 0xcd, 0x59, 0x3e, + 0xc8, 0xf3, 0x0f, 0x09, 0x53, 0x5f, 0xe4, 0xc5, 0x97, 0x7f, 0xef, 0xf8, 0x40, 0x7c, 0x54, 0x63, + 0xb4, 0x20, 0xde, 0x70, 0x8e, 0xeb, 0x07, 0x08, 0x55, 0x34, 0xbb, 0xd5, 0x82, 0xef, 0x6a, 0xa5, + 0x89, 0xaa, 0x99, 0x49, 0x72, 0x7d, 0xf2, 0xc6, 0xc4, 0x3f, 0xe1, 0xc7, 0x2f, 0x4c, 0x6f, 0xa3, + 0x85, 0x27, 0x61, 0x7f, 0x10, 0x75, 0xe2, 0xdd, 0xdd, 0x24, 0xe4, 0x9f, 0x66, 0x65, 0x5a, 0x63, + 0x34, 0x9b, 0x91, 0x14, 0x13, 0x5d, 0xd4, 0xf6, 0x82, 0x24, 0x19, 0xec, 0x0e, 0xba, 0xec, 0x09, + 0x4d, 0x0b, 0xd2, 0xb0, 0x1f, 0x8f, 0x8e, 0x7f, 0x79, 0x79, 0x13, 0xa1, 0x6e, 0x1c, 0xed, 0x0e, + 0x7a, 0xec, 0xa9, 0x83, 0x7f, 0x6e, 0xe6, 0x28, 0xca, 0xaf, 0x25, 0x74, 0x49, 0x8d, 0x82, 0xbd, + 0xc3, 0xff, 0x0f, 0x27, 0x86, 0x86, 0xff, 0x77, 0x10, 0x26, 0xa9, 0xac, 0xa1, 0x6a, 0x4f, 0xbc, + 0x90, 0x9d, 0x32, 0x68, 0xd9, 0x83, 0x1a, 0x1d, 0x03, 0x65, 0x07, 0x2d, 0x86, 0x51, 0x37, 0xee, + 0x0d, 0xa2, 0x7e, 0x27, 0x17, 0xc1, 0x1b, 0x27, 0x46, 0x90, 0x63, 0x58, 0xec, 0x16, 0xc2, 0xdc, + 0x4e, 0xf9, 0xb3, 0x84, 0xea, 0xcf, 0xab, 0x9c, 0x0c, 0x63, 0xe8, 0x8e, 0x0f, 0x91, 0x9c, 0x1d, + 0xdd, 0x99, 0x44, 0x5a, 0x9a, 0x31, 0xd2, 0xe7, 0x32, 0x19, 0x93, 0xcf, 0xf6, 0xfc, 0x8b, 0x5e, + 0x61, 0xfa, 0x45, 0x4f, 0x26, 0x3c, 0xab, 0xc0, 0xa1, 0x89, 0x78, 0x9f, 0xba, 0x76, 0x8a, 0xb3, + 0x80, 0x9f, 0x4e, 0x90, 0xca, 0x6f, 0x25, 0xf4, 0x86, 0x30, 0x8c, 0x27, 0xf0, 0x7f, 0x4a, 0x44, + 0xbe, 0x42, 0x6f, 0x7e, 0x9f, 0xde, 0x22, 0x2c, 0x2a, 0xaa, 0x02, 0x2d, 0x1d, 0x84, 0x49, 0x5d, + 0x62, 0x0e, 0xba, 0x7a, 0xaa, 0x2b, 0x4c, 0xc7, 0xb0, 0x17, 0x05, 0x00, 0x86, 0xf6, 0x8b, 0x79, + 0x0d, 0x06, 0x61, 0xf2, 0x23, 0x77, 0xd9, 0xb3, 0xf1, 0xb5, 0x9b, 0x28, 0xfc, 0xef, 0xf1, 0xd5, + 0xaf, 0x24, 0x74, 0x21, 0xbb, 0x3e, 0x87, 0x51, 0x1a, 0x3c, 0xfb, 0x91, 0x7b, 0xea, 0x77, 0x12, + 0x7a, 0xed, 0x88, 0xbe, 0xc2, 0x51, 0x53, 0xd7, 0x4e, 0x7a, 0xd9, 0x6b, 0x27, 0xdf, 0x47, 0x15, + 0x36, 0x88, 0x26, 0xf5, 0x02, 0x93, 0xf1, 0xce, 0x49, 0x9d, 0x09, 0x98, 0xa9, 0xc0, 0x4c, 0xb9, + 0xba, 0x78, 0xc4, 0xd5, 0x8f, 0xd1, 0x79, 0x51, 0xaa, 0x0f, 0xa1, 0xf6, 0xbf, 0x4a, 0x47, 0x2b, + 0xfb, 0xe8, 0xc2, 0xb4, 0x6c, 0xe1, 0x14, 0x1f, 0xa1, 0x2e, 0x6f, 0x08, 0x93, 0xfc, 0xf9, 0xf0, + 0x04, 0xf1, 0xc7, 0xf7, 0x13, 0x9a, 0x13, 0xa4, 0xfc, 0xa4, 0x84, 0xce, 0xab, 0xfc, 0x4f, 0x3b, + 0xe1, 0xab, 0xb6, 0x45, 0x7e, 0x88, 0xaa, 0xbb, 0x61, 0x90, 0x1e, 0x8c, 0xc2, 0x44, 0x3c, 0xed, + 0xde, 0x3b, 0x41, 0xc8, 0x31, 0xaa, 0xac, 0x36, 0x84, 0x08, 0x3a, 0x16, 0xf6, 0x7c, 0x36, 0x16, + 0x7f, 0x60, 0x36, 0x2e, 0xff, 0x53, 0x42, 0xd5, 0xec, 0x20, 0xf9, 0x2a, 0x5a, 0x0a, 0x9f, 0xa5, + 0xa3, 0xa0, 0x9b, 0x76, 0x12, 0x96, 0x9a, 0xcc, 0x05, 0x55, 0xba, 0x28, 0xa8, 0x3c, 0x5f, 0xe5, + 0x77, 0x11, 0xce, 0xd8, 0xc6, 0x17, 0xbb, 0xc0, 0x18, 0xcf, 0x0a, 0x7a, 0x56, 0x03, 0xe4, 0xfb, + 0x68, 0x39, 0x63, 0x3d, 0xa6, 0x8d, 0x15, 0x19, 0xa8, 0x2e, 0x38, 0xf4, 0xe7, 0x7a, 0xd4, 0x1d, + 0x54, 0x9f, 0x3a, 0xe8, 0x30, 0x87, 0x2d, 0x31, 0xec, 0xc5, 0xfc, 0x81, 0x93, 0x3a, 0x2d, 0x5f, + 0x41, 0x8b, 0x5d, 0x91, 0x4d, 0x1d, 0x36, 0xa4, 0x55, 0x18, 0xfb, 0x42, 0x37, 0x97, 0x62, 0xca, + 0x2f, 0x8b, 0x50, 0x39, 0xf2, 0x8e, 0xff, 0x31, 0x5d, 0xc4, 0x7c, 0xd9, 0x2c, 0xbe, 0x5c, 0xd9, + 0x3c, 0x7e, 0x78, 0x28, 0xbd, 0xda, 0xe1, 0xa1, 0x7c, 0x64, 0x78, 0x98, 0xbe, 0xb0, 0x95, 0x57, + 0x74, 0x61, 0xaf, 0xdf, 0x41, 0x0b, 0xf9, 0x34, 0xe6, 0xc3, 0xbd, 0x45, 0xf0, 0x19, 0x58, 0xf9, + 0x5e, 0xe3, 0x0e, 0xff, 0xde, 0xf5, 0xbd, 0xc6, 0xcd, 0xdb, 0xfc, 0x7b, 0xd7, 0xf7, 0x1a, 0x1b, + 0xeb, 0xb8, 0xb8, 0xfe, 0x87, 0x2a, 0x3a, 0x6b, 0x8a, 0x13, 0x5d, 0xfe, 0x67, 0x60, 0xf9, 0x37, + 0x12, 0xc2, 0x47, 0x67, 0x2e, 0xf9, 0xf6, 0x89, 0x97, 0xf4, 0xd8, 0xb9, 0x72, 0xf9, 0xa3, 0x99, + 0x71, 0x3c, 0xcf, 0x94, 0xd5, 0xaf, 0xff, 0xf4, 0x97, 0x6f, 0x0b, 0x2b, 0xca, 0x95, 0xf1, 0xdf, + 0xab, 0x33, 0x57, 0x27, 0x77, 0x83, 0x23, 0xa0, 0xbb, 0xd2, 0x75, 0xf9, 0x3b, 0x09, 0x9d, 0x3d, + 0xd2, 0x65, 0xe5, 0x0f, 0x4f, 0x77, 0xf8, 0x91, 0x31, 0x62, 0xf9, 0xf6, 0xac, 0x30, 0xa1, 0xf2, + 0xfb, 0x4c, 0xe5, 0x6b, 0x8a, 0xf2, 0xfd, 0x2a, 0x67, 0x18, 0xd0, 0xf8, 0x8f, 0x47, 0x06, 0x99, + 0xdc, 0x15, 0xbd, 0x3f, 0x83, 0x06, 0xcf, 0x4d, 0x8e, 0xcb, 0x1f, 0xbf, 0x24, 0x5a, 0x98, 0x71, + 0x8b, 0x99, 0xb1, 0xaa, 0xbc, 0x7b, 0x82, 0x19, 0x87, 0x53, 0xfe, 0xff, 0x85, 0x84, 0x16, 0xa7, + 0x5a, 0xb7, 0xbc, 0x71, 0xca, 0xd0, 0xe7, 0x07, 0x93, 0xe5, 0x5b, 0xb3, 0x81, 0x84, 0xca, 0x37, + 0x98, 0xca, 0x57, 0x95, 0xcb, 0x2f, 0x48, 0x16, 0x86, 0x00, 0x4d, 0x7f, 0x2e, 0xa1, 0x85, 0x7c, + 0x3b, 0x95, 0xd7, 0x4f, 0x77, 0x03, 0xf3, 0x7d, 0x7d, 0x79, 0x63, 0x26, 0x8c, 0x50, 0xf3, 0x3a, + 0x53, 0xf3, 0x1d, 0xe5, 0xad, 0x63, 0xd4, 0xcc, 0x57, 0xdf, 0x4c, 0xcb, 0x7c, 0x01, 0x3e, 0x51, + 0xcb, 0x63, 0xda, 0xe4, 0xf2, 0xc6, 0x4c, 0x98, 0x53, 0x68, 0x19, 0xe4, 0x00, 0x77, 0xa5, 0xeb, + 0x9b, 0x5f, 0x4b, 0xe8, 0xed, 0x6e, 0xbc, 0xff, 0xe2, 0x63, 0x36, 0x2f, 0x1c, 0x29, 0x31, 0xce, + 0x28, 0x4e, 0x63, 0x47, 0x7a, 0x4c, 0x04, 0xac, 0x1f, 0x03, 0x64, 0x35, 0x1e, 0xf5, 0xd7, 0xfa, + 0x61, 0xc4, 0xfe, 0xd5, 0x63, 0x8d, 0xff, 0x14, 0x0c, 0x07, 0xc9, 0xf7, 0xfc, 0xff, 0xca, 0xbd, + 0x8c, 0xf0, 0xa4, 0xc2, 0x10, 0x1b, 0xff, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x72, 0x26, 0xce, 0x5b, + 0xf0, 0x22, 0x00, 0x00, } diff --git a/googleapis/cloud/videointelligence/v1beta2/video_intelligence.pb.go b/googleapis/cloud/videointelligence/v1beta2/video_intelligence.pb.go new file mode 100644 index 00000000..fdace134 --- /dev/null +++ b/googleapis/cloud/videointelligence/v1beta2/video_intelligence.pb.go @@ -0,0 +1,1157 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/cloud/videointelligence/v1beta2/video_intelligence.proto + +/* +Package videointelligence is a generated protocol buffer package. + +It is generated from these files: + google/cloud/videointelligence/v1beta2/video_intelligence.proto + +It has these top-level messages: + AnnotateVideoRequest + VideoContext + LabelDetectionConfig + ShotChangeDetectionConfig + ExplicitContentDetectionConfig + FaceDetectionConfig + VideoSegment + LabelSegment + LabelFrame + Entity + LabelAnnotation + ExplicitContentFrame + ExplicitContentAnnotation + NormalizedBoundingBox + FaceSegment + FaceFrame + FaceAnnotation + VideoAnnotationResults + AnnotateVideoResponse + VideoAnnotationProgress + AnnotateVideoProgress +*/ +package videointelligence + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import _ "google.golang.org/genproto/googleapis/api/annotations" +import google_longrunning "google.golang.org/genproto/googleapis/longrunning" +import google_protobuf3 "github.com/golang/protobuf/ptypes/duration" +import google_protobuf4 "github.com/golang/protobuf/ptypes/timestamp" +import google_rpc "google.golang.org/genproto/googleapis/rpc/status" + +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 + +// Video annotation feature. +type Feature int32 + +const ( + // Unspecified. + Feature_FEATURE_UNSPECIFIED Feature = 0 + // Label detection. Detect objects, such as dog or flower. + Feature_LABEL_DETECTION Feature = 1 + // Shot change detection. + Feature_SHOT_CHANGE_DETECTION Feature = 2 + // Explicit content detection. + Feature_EXPLICIT_CONTENT_DETECTION Feature = 3 + // Human face detection and tracking. + Feature_FACE_DETECTION Feature = 4 +) + +var Feature_name = map[int32]string{ + 0: "FEATURE_UNSPECIFIED", + 1: "LABEL_DETECTION", + 2: "SHOT_CHANGE_DETECTION", + 3: "EXPLICIT_CONTENT_DETECTION", + 4: "FACE_DETECTION", +} +var Feature_value = map[string]int32{ + "FEATURE_UNSPECIFIED": 0, + "LABEL_DETECTION": 1, + "SHOT_CHANGE_DETECTION": 2, + "EXPLICIT_CONTENT_DETECTION": 3, + "FACE_DETECTION": 4, +} + +func (x Feature) String() string { + return proto.EnumName(Feature_name, int32(x)) +} +func (Feature) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } + +// Label detection mode. +type LabelDetectionMode int32 + +const ( + // Unspecified. + LabelDetectionMode_LABEL_DETECTION_MODE_UNSPECIFIED LabelDetectionMode = 0 + // Detect shot-level labels. + LabelDetectionMode_SHOT_MODE LabelDetectionMode = 1 + // Detect frame-level labels. + LabelDetectionMode_FRAME_MODE LabelDetectionMode = 2 + // Detect both shot-level and frame-level labels. + LabelDetectionMode_SHOT_AND_FRAME_MODE LabelDetectionMode = 3 +) + +var LabelDetectionMode_name = map[int32]string{ + 0: "LABEL_DETECTION_MODE_UNSPECIFIED", + 1: "SHOT_MODE", + 2: "FRAME_MODE", + 3: "SHOT_AND_FRAME_MODE", +} +var LabelDetectionMode_value = map[string]int32{ + "LABEL_DETECTION_MODE_UNSPECIFIED": 0, + "SHOT_MODE": 1, + "FRAME_MODE": 2, + "SHOT_AND_FRAME_MODE": 3, +} + +func (x LabelDetectionMode) String() string { + return proto.EnumName(LabelDetectionMode_name, int32(x)) +} +func (LabelDetectionMode) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } + +// Bucketized representation of likelihood. +type Likelihood int32 + +const ( + // Unspecified likelihood. + Likelihood_LIKELIHOOD_UNSPECIFIED Likelihood = 0 + // Very unlikely. + Likelihood_VERY_UNLIKELY Likelihood = 1 + // Unlikely. + Likelihood_UNLIKELY Likelihood = 2 + // Possible. + Likelihood_POSSIBLE Likelihood = 3 + // Likely. + Likelihood_LIKELY Likelihood = 4 + // Very likely. + Likelihood_VERY_LIKELY Likelihood = 5 +) + +var Likelihood_name = map[int32]string{ + 0: "LIKELIHOOD_UNSPECIFIED", + 1: "VERY_UNLIKELY", + 2: "UNLIKELY", + 3: "POSSIBLE", + 4: "LIKELY", + 5: "VERY_LIKELY", +} +var Likelihood_value = map[string]int32{ + "LIKELIHOOD_UNSPECIFIED": 0, + "VERY_UNLIKELY": 1, + "UNLIKELY": 2, + "POSSIBLE": 3, + "LIKELY": 4, + "VERY_LIKELY": 5, +} + +func (x Likelihood) String() string { + return proto.EnumName(Likelihood_name, int32(x)) +} +func (Likelihood) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } + +// Video annotation request. +type AnnotateVideoRequest struct { + // Input video location. Currently, only + // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + // supported, which must be specified in the following format: + // `gs://bucket-id/object-id` (other URI formats return + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + // [Request URIs](/storage/docs/reference-uris). + // A video URI may include wildcards in `object-id`, and thus identify + // multiple videos. Supported wildcards: '*' to match 0 or more characters; + // '?' to match 1 character. If unset, the input video should be embedded + // in the request as `input_content`. If set, `input_content` should be unset. + InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri" json:"input_uri,omitempty"` + // The video data bytes. Encoding: base64. If unset, the input video(s) + // should be specified via `input_uri`. If set, `input_uri` should be unset. + InputContent []byte `protobuf:"bytes,6,opt,name=input_content,json=inputContent,proto3" json:"input_content,omitempty"` + // Requested video annotation features. + Features []Feature `protobuf:"varint,2,rep,packed,name=features,enum=google.cloud.videointelligence.v1beta2.Feature" json:"features,omitempty"` + // Additional video context and/or feature-specific parameters. + VideoContext *VideoContext `protobuf:"bytes,3,opt,name=video_context,json=videoContext" json:"video_context,omitempty"` + // Optional location where the output (in JSON format) should be stored. + // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + // URIs are supported, which must be specified in the following format: + // `gs://bucket-id/object-id` (other URI formats return + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + // [Request URIs](/storage/docs/reference-uris). + OutputUri string `protobuf:"bytes,4,opt,name=output_uri,json=outputUri" json:"output_uri,omitempty"` + // Optional cloud region where annotation should take place. Supported cloud + // regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + // is specified, a region will be determined based on video file location. + LocationId string `protobuf:"bytes,5,opt,name=location_id,json=locationId" json:"location_id,omitempty"` +} + +func (m *AnnotateVideoRequest) Reset() { *m = AnnotateVideoRequest{} } +func (m *AnnotateVideoRequest) String() string { return proto.CompactTextString(m) } +func (*AnnotateVideoRequest) ProtoMessage() {} +func (*AnnotateVideoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } + +func (m *AnnotateVideoRequest) GetInputUri() string { + if m != nil { + return m.InputUri + } + return "" +} + +func (m *AnnotateVideoRequest) GetInputContent() []byte { + if m != nil { + return m.InputContent + } + return nil +} + +func (m *AnnotateVideoRequest) GetFeatures() []Feature { + if m != nil { + return m.Features + } + return nil +} + +func (m *AnnotateVideoRequest) GetVideoContext() *VideoContext { + if m != nil { + return m.VideoContext + } + return nil +} + +func (m *AnnotateVideoRequest) GetOutputUri() string { + if m != nil { + return m.OutputUri + } + return "" +} + +func (m *AnnotateVideoRequest) GetLocationId() string { + if m != nil { + return m.LocationId + } + return "" +} + +// Video context and/or feature-specific parameters. +type VideoContext struct { + // Video segments to annotate. The segments may overlap and are not required + // to be contiguous or span the whole video. If unspecified, each video + // is treated as a single segment. + Segments []*VideoSegment `protobuf:"bytes,1,rep,name=segments" json:"segments,omitempty"` + // Config for LABEL_DETECTION. + LabelDetectionConfig *LabelDetectionConfig `protobuf:"bytes,2,opt,name=label_detection_config,json=labelDetectionConfig" json:"label_detection_config,omitempty"` + // Config for SHOT_CHANGE_DETECTION. + ShotChangeDetectionConfig *ShotChangeDetectionConfig `protobuf:"bytes,3,opt,name=shot_change_detection_config,json=shotChangeDetectionConfig" json:"shot_change_detection_config,omitempty"` + // Config for EXPLICIT_CONTENT_DETECTION. + ExplicitContentDetectionConfig *ExplicitContentDetectionConfig `protobuf:"bytes,4,opt,name=explicit_content_detection_config,json=explicitContentDetectionConfig" json:"explicit_content_detection_config,omitempty"` + // Config for FACE_DETECTION. + FaceDetectionConfig *FaceDetectionConfig `protobuf:"bytes,5,opt,name=face_detection_config,json=faceDetectionConfig" json:"face_detection_config,omitempty"` +} + +func (m *VideoContext) Reset() { *m = VideoContext{} } +func (m *VideoContext) String() string { return proto.CompactTextString(m) } +func (*VideoContext) ProtoMessage() {} +func (*VideoContext) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } + +func (m *VideoContext) GetSegments() []*VideoSegment { + if m != nil { + return m.Segments + } + return nil +} + +func (m *VideoContext) GetLabelDetectionConfig() *LabelDetectionConfig { + if m != nil { + return m.LabelDetectionConfig + } + return nil +} + +func (m *VideoContext) GetShotChangeDetectionConfig() *ShotChangeDetectionConfig { + if m != nil { + return m.ShotChangeDetectionConfig + } + return nil +} + +func (m *VideoContext) GetExplicitContentDetectionConfig() *ExplicitContentDetectionConfig { + if m != nil { + return m.ExplicitContentDetectionConfig + } + return nil +} + +func (m *VideoContext) GetFaceDetectionConfig() *FaceDetectionConfig { + if m != nil { + return m.FaceDetectionConfig + } + return nil +} + +// Config for LABEL_DETECTION. +type LabelDetectionConfig struct { + // What labels should be detected with LABEL_DETECTION, in addition to + // video-level labels or segment-level labels. + // If unspecified, defaults to `SHOT_MODE`. + LabelDetectionMode LabelDetectionMode `protobuf:"varint,1,opt,name=label_detection_mode,json=labelDetectionMode,enum=google.cloud.videointelligence.v1beta2.LabelDetectionMode" json:"label_detection_mode,omitempty"` + // Whether the video has been shot from a stationary (i.e. non-moving) camera. + // When set to true, might improve detection accuracy for moving objects. + // Should be used with `SHOT_AND_FRAME_MODE` enabled. + StationaryCamera bool `protobuf:"varint,2,opt,name=stationary_camera,json=stationaryCamera" json:"stationary_camera,omitempty"` + // Model to use for label detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + Model string `protobuf:"bytes,3,opt,name=model" json:"model,omitempty"` +} + +func (m *LabelDetectionConfig) Reset() { *m = LabelDetectionConfig{} } +func (m *LabelDetectionConfig) String() string { return proto.CompactTextString(m) } +func (*LabelDetectionConfig) ProtoMessage() {} +func (*LabelDetectionConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } + +func (m *LabelDetectionConfig) GetLabelDetectionMode() LabelDetectionMode { + if m != nil { + return m.LabelDetectionMode + } + return LabelDetectionMode_LABEL_DETECTION_MODE_UNSPECIFIED +} + +func (m *LabelDetectionConfig) GetStationaryCamera() bool { + if m != nil { + return m.StationaryCamera + } + return false +} + +func (m *LabelDetectionConfig) GetModel() string { + if m != nil { + return m.Model + } + return "" +} + +// Config for SHOT_CHANGE_DETECTION. +type ShotChangeDetectionConfig struct { + // Model to use for shot change detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + Model string `protobuf:"bytes,1,opt,name=model" json:"model,omitempty"` +} + +func (m *ShotChangeDetectionConfig) Reset() { *m = ShotChangeDetectionConfig{} } +func (m *ShotChangeDetectionConfig) String() string { return proto.CompactTextString(m) } +func (*ShotChangeDetectionConfig) ProtoMessage() {} +func (*ShotChangeDetectionConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } + +func (m *ShotChangeDetectionConfig) GetModel() string { + if m != nil { + return m.Model + } + return "" +} + +// Config for EXPLICIT_CONTENT_DETECTION. +type ExplicitContentDetectionConfig struct { + // Model to use for explicit content detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + Model string `protobuf:"bytes,1,opt,name=model" json:"model,omitempty"` +} + +func (m *ExplicitContentDetectionConfig) Reset() { *m = ExplicitContentDetectionConfig{} } +func (m *ExplicitContentDetectionConfig) String() string { return proto.CompactTextString(m) } +func (*ExplicitContentDetectionConfig) ProtoMessage() {} +func (*ExplicitContentDetectionConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } + +func (m *ExplicitContentDetectionConfig) GetModel() string { + if m != nil { + return m.Model + } + return "" +} + +// Config for FACE_DETECTION. +type FaceDetectionConfig struct { + // Model to use for face detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + Model string `protobuf:"bytes,1,opt,name=model" json:"model,omitempty"` + // Whether bounding boxes be included in the face annotation output. + IncludeBoundingBoxes bool `protobuf:"varint,2,opt,name=include_bounding_boxes,json=includeBoundingBoxes" json:"include_bounding_boxes,omitempty"` +} + +func (m *FaceDetectionConfig) Reset() { *m = FaceDetectionConfig{} } +func (m *FaceDetectionConfig) String() string { return proto.CompactTextString(m) } +func (*FaceDetectionConfig) ProtoMessage() {} +func (*FaceDetectionConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } + +func (m *FaceDetectionConfig) GetModel() string { + if m != nil { + return m.Model + } + return "" +} + +func (m *FaceDetectionConfig) GetIncludeBoundingBoxes() bool { + if m != nil { + return m.IncludeBoundingBoxes + } + return false +} + +// Video segment. +type VideoSegment struct { + // Time-offset, relative to the beginning of the video, + // corresponding to the start of the segment (inclusive). + StartTimeOffset *google_protobuf3.Duration `protobuf:"bytes,1,opt,name=start_time_offset,json=startTimeOffset" json:"start_time_offset,omitempty"` + // Time-offset, relative to the beginning of the video, + // corresponding to the end of the segment (inclusive). + EndTimeOffset *google_protobuf3.Duration `protobuf:"bytes,2,opt,name=end_time_offset,json=endTimeOffset" json:"end_time_offset,omitempty"` +} + +func (m *VideoSegment) Reset() { *m = VideoSegment{} } +func (m *VideoSegment) String() string { return proto.CompactTextString(m) } +func (*VideoSegment) ProtoMessage() {} +func (*VideoSegment) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } + +func (m *VideoSegment) GetStartTimeOffset() *google_protobuf3.Duration { + if m != nil { + return m.StartTimeOffset + } + return nil +} + +func (m *VideoSegment) GetEndTimeOffset() *google_protobuf3.Duration { + if m != nil { + return m.EndTimeOffset + } + return nil +} + +// Video segment level annotation results for label detection. +type LabelSegment struct { + // Video segment where a label was detected. + Segment *VideoSegment `protobuf:"bytes,1,opt,name=segment" json:"segment,omitempty"` + // Confidence that the label is accurate. Range: [0, 1]. + Confidence float32 `protobuf:"fixed32,2,opt,name=confidence" json:"confidence,omitempty"` +} + +func (m *LabelSegment) Reset() { *m = LabelSegment{} } +func (m *LabelSegment) String() string { return proto.CompactTextString(m) } +func (*LabelSegment) ProtoMessage() {} +func (*LabelSegment) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } + +func (m *LabelSegment) GetSegment() *VideoSegment { + if m != nil { + return m.Segment + } + return nil +} + +func (m *LabelSegment) GetConfidence() float32 { + if m != nil { + return m.Confidence + } + return 0 +} + +// Video frame level annotation results for label detection. +type LabelFrame struct { + // Time-offset, relative to the beginning of the video, corresponding to the + // video frame for this location. + TimeOffset *google_protobuf3.Duration `protobuf:"bytes,1,opt,name=time_offset,json=timeOffset" json:"time_offset,omitempty"` + // Confidence that the label is accurate. Range: [0, 1]. + Confidence float32 `protobuf:"fixed32,2,opt,name=confidence" json:"confidence,omitempty"` +} + +func (m *LabelFrame) Reset() { *m = LabelFrame{} } +func (m *LabelFrame) String() string { return proto.CompactTextString(m) } +func (*LabelFrame) ProtoMessage() {} +func (*LabelFrame) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } + +func (m *LabelFrame) GetTimeOffset() *google_protobuf3.Duration { + if m != nil { + return m.TimeOffset + } + return nil +} + +func (m *LabelFrame) GetConfidence() float32 { + if m != nil { + return m.Confidence + } + return 0 +} + +// Detected entity from video analysis. +type Entity struct { + // Opaque entity ID. Some IDs may be available in + // [Google Knowledge Graph Search + // API](https://developers.google.com/knowledge-graph/). + EntityId string `protobuf:"bytes,1,opt,name=entity_id,json=entityId" json:"entity_id,omitempty"` + // Textual description, e.g. `Fixed-gear bicycle`. + Description string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"` + // Language code for `description` in BCP-47 format. + LanguageCode string `protobuf:"bytes,3,opt,name=language_code,json=languageCode" json:"language_code,omitempty"` +} + +func (m *Entity) Reset() { *m = Entity{} } +func (m *Entity) String() string { return proto.CompactTextString(m) } +func (*Entity) ProtoMessage() {} +func (*Entity) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } + +func (m *Entity) GetEntityId() string { + if m != nil { + return m.EntityId + } + return "" +} + +func (m *Entity) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + +func (m *Entity) GetLanguageCode() string { + if m != nil { + return m.LanguageCode + } + return "" +} + +// Label annotation. +type LabelAnnotation struct { + // Detected entity. + Entity *Entity `protobuf:"bytes,1,opt,name=entity" json:"entity,omitempty"` + // Common categories for the detected entity. + // E.g. when the label is `Terrier` the category is likely `dog`. And in some + // cases there might be more than one categories e.g. `Terrier` could also be + // a `pet`. + CategoryEntities []*Entity `protobuf:"bytes,2,rep,name=category_entities,json=categoryEntities" json:"category_entities,omitempty"` + // All video segments where a label was detected. + Segments []*LabelSegment `protobuf:"bytes,3,rep,name=segments" json:"segments,omitempty"` + // All video frames where a label was detected. + Frames []*LabelFrame `protobuf:"bytes,4,rep,name=frames" json:"frames,omitempty"` +} + +func (m *LabelAnnotation) Reset() { *m = LabelAnnotation{} } +func (m *LabelAnnotation) String() string { return proto.CompactTextString(m) } +func (*LabelAnnotation) ProtoMessage() {} +func (*LabelAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } + +func (m *LabelAnnotation) GetEntity() *Entity { + if m != nil { + return m.Entity + } + return nil +} + +func (m *LabelAnnotation) GetCategoryEntities() []*Entity { + if m != nil { + return m.CategoryEntities + } + return nil +} + +func (m *LabelAnnotation) GetSegments() []*LabelSegment { + if m != nil { + return m.Segments + } + return nil +} + +func (m *LabelAnnotation) GetFrames() []*LabelFrame { + if m != nil { + return m.Frames + } + return nil +} + +// Video frame level annotation results for explicit content. +type ExplicitContentFrame struct { + // Time-offset, relative to the beginning of the video, corresponding to the + // video frame for this location. + TimeOffset *google_protobuf3.Duration `protobuf:"bytes,1,opt,name=time_offset,json=timeOffset" json:"time_offset,omitempty"` + // Likelihood of the pornography content.. + PornographyLikelihood Likelihood `protobuf:"varint,2,opt,name=pornography_likelihood,json=pornographyLikelihood,enum=google.cloud.videointelligence.v1beta2.Likelihood" json:"pornography_likelihood,omitempty"` +} + +func (m *ExplicitContentFrame) Reset() { *m = ExplicitContentFrame{} } +func (m *ExplicitContentFrame) String() string { return proto.CompactTextString(m) } +func (*ExplicitContentFrame) ProtoMessage() {} +func (*ExplicitContentFrame) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } + +func (m *ExplicitContentFrame) GetTimeOffset() *google_protobuf3.Duration { + if m != nil { + return m.TimeOffset + } + return nil +} + +func (m *ExplicitContentFrame) GetPornographyLikelihood() Likelihood { + if m != nil { + return m.PornographyLikelihood + } + return Likelihood_LIKELIHOOD_UNSPECIFIED +} + +// Explicit content annotation (based on per-frame visual signals only). +// If no explicit content has been detected in a frame, no annotations are +// present for that frame. +type ExplicitContentAnnotation struct { + // All video frames where explicit content was detected. + Frames []*ExplicitContentFrame `protobuf:"bytes,1,rep,name=frames" json:"frames,omitempty"` +} + +func (m *ExplicitContentAnnotation) Reset() { *m = ExplicitContentAnnotation{} } +func (m *ExplicitContentAnnotation) String() string { return proto.CompactTextString(m) } +func (*ExplicitContentAnnotation) ProtoMessage() {} +func (*ExplicitContentAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } + +func (m *ExplicitContentAnnotation) GetFrames() []*ExplicitContentFrame { + if m != nil { + return m.Frames + } + return nil +} + +// Normalized bounding box. +// The normalized vertex coordinates are relative to the original image. +// Range: [0, 1]. +type NormalizedBoundingBox struct { + // Left X coordinate. + Left float32 `protobuf:"fixed32,1,opt,name=left" json:"left,omitempty"` + // Top Y coordinate. + Top float32 `protobuf:"fixed32,2,opt,name=top" json:"top,omitempty"` + // Right X coordinate. + Right float32 `protobuf:"fixed32,3,opt,name=right" json:"right,omitempty"` + // Bottom Y coordinate. + Bottom float32 `protobuf:"fixed32,4,opt,name=bottom" json:"bottom,omitempty"` +} + +func (m *NormalizedBoundingBox) Reset() { *m = NormalizedBoundingBox{} } +func (m *NormalizedBoundingBox) String() string { return proto.CompactTextString(m) } +func (*NormalizedBoundingBox) ProtoMessage() {} +func (*NormalizedBoundingBox) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } + +func (m *NormalizedBoundingBox) GetLeft() float32 { + if m != nil { + return m.Left + } + return 0 +} + +func (m *NormalizedBoundingBox) GetTop() float32 { + if m != nil { + return m.Top + } + return 0 +} + +func (m *NormalizedBoundingBox) GetRight() float32 { + if m != nil { + return m.Right + } + return 0 +} + +func (m *NormalizedBoundingBox) GetBottom() float32 { + if m != nil { + return m.Bottom + } + return 0 +} + +// Video segment level annotation results for face detection. +type FaceSegment struct { + // Video segment where a face was detected. + Segment *VideoSegment `protobuf:"bytes,1,opt,name=segment" json:"segment,omitempty"` +} + +func (m *FaceSegment) Reset() { *m = FaceSegment{} } +func (m *FaceSegment) String() string { return proto.CompactTextString(m) } +func (*FaceSegment) ProtoMessage() {} +func (*FaceSegment) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} } + +func (m *FaceSegment) GetSegment() *VideoSegment { + if m != nil { + return m.Segment + } + return nil +} + +// Video frame level annotation results for face detection. +type FaceFrame struct { + // Normalized Bounding boxes in a frame. + // There can be more than one boxes if the same face is detected in multiple + // locations within the current frame. + NormalizedBoundingBoxes []*NormalizedBoundingBox `protobuf:"bytes,1,rep,name=normalized_bounding_boxes,json=normalizedBoundingBoxes" json:"normalized_bounding_boxes,omitempty"` + // Time-offset, relative to the beginning of the video, + // corresponding to the video frame for this location. + TimeOffset *google_protobuf3.Duration `protobuf:"bytes,2,opt,name=time_offset,json=timeOffset" json:"time_offset,omitempty"` +} + +func (m *FaceFrame) Reset() { *m = FaceFrame{} } +func (m *FaceFrame) String() string { return proto.CompactTextString(m) } +func (*FaceFrame) ProtoMessage() {} +func (*FaceFrame) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} } + +func (m *FaceFrame) GetNormalizedBoundingBoxes() []*NormalizedBoundingBox { + if m != nil { + return m.NormalizedBoundingBoxes + } + return nil +} + +func (m *FaceFrame) GetTimeOffset() *google_protobuf3.Duration { + if m != nil { + return m.TimeOffset + } + return nil +} + +// Face annotation. +type FaceAnnotation struct { + // Thumbnail of a representative face view (in JPEG format). Encoding: base64. + Thumbnail []byte `protobuf:"bytes,1,opt,name=thumbnail,proto3" json:"thumbnail,omitempty"` + // All video segments where a face was detected. + Segments []*FaceSegment `protobuf:"bytes,2,rep,name=segments" json:"segments,omitempty"` + // All video frames where a face was detected. + Frames []*FaceFrame `protobuf:"bytes,3,rep,name=frames" json:"frames,omitempty"` +} + +func (m *FaceAnnotation) Reset() { *m = FaceAnnotation{} } +func (m *FaceAnnotation) String() string { return proto.CompactTextString(m) } +func (*FaceAnnotation) ProtoMessage() {} +func (*FaceAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} } + +func (m *FaceAnnotation) GetThumbnail() []byte { + if m != nil { + return m.Thumbnail + } + return nil +} + +func (m *FaceAnnotation) GetSegments() []*FaceSegment { + if m != nil { + return m.Segments + } + return nil +} + +func (m *FaceAnnotation) GetFrames() []*FaceFrame { + if m != nil { + return m.Frames + } + return nil +} + +// Annotation results for a single video. +type VideoAnnotationResults struct { + // Video file location in + // [Google Cloud Storage](https://cloud.google.com/storage/). + InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri" json:"input_uri,omitempty"` + // Label annotations on video level or user specified segment level. + // There is exactly one element for each unique label. + SegmentLabelAnnotations []*LabelAnnotation `protobuf:"bytes,2,rep,name=segment_label_annotations,json=segmentLabelAnnotations" json:"segment_label_annotations,omitempty"` + // Label annotations on shot level. + // There is exactly one element for each unique label. + ShotLabelAnnotations []*LabelAnnotation `protobuf:"bytes,3,rep,name=shot_label_annotations,json=shotLabelAnnotations" json:"shot_label_annotations,omitempty"` + // Label annotations on frame level. + // There is exactly one element for each unique label. + FrameLabelAnnotations []*LabelAnnotation `protobuf:"bytes,4,rep,name=frame_label_annotations,json=frameLabelAnnotations" json:"frame_label_annotations,omitempty"` + // Face annotations. There is exactly one element for each unique face. + FaceAnnotations []*FaceAnnotation `protobuf:"bytes,5,rep,name=face_annotations,json=faceAnnotations" json:"face_annotations,omitempty"` + // Shot annotations. Each shot is represented as a video segment. + ShotAnnotations []*VideoSegment `protobuf:"bytes,6,rep,name=shot_annotations,json=shotAnnotations" json:"shot_annotations,omitempty"` + // Explicit content annotation. + ExplicitAnnotation *ExplicitContentAnnotation `protobuf:"bytes,7,opt,name=explicit_annotation,json=explicitAnnotation" json:"explicit_annotation,omitempty"` + // If set, indicates an error. Note that for a single `AnnotateVideoRequest` + // some videos may succeed and some may fail. + Error *google_rpc.Status `protobuf:"bytes,9,opt,name=error" json:"error,omitempty"` +} + +func (m *VideoAnnotationResults) Reset() { *m = VideoAnnotationResults{} } +func (m *VideoAnnotationResults) String() string { return proto.CompactTextString(m) } +func (*VideoAnnotationResults) ProtoMessage() {} +func (*VideoAnnotationResults) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} } + +func (m *VideoAnnotationResults) GetInputUri() string { + if m != nil { + return m.InputUri + } + return "" +} + +func (m *VideoAnnotationResults) GetSegmentLabelAnnotations() []*LabelAnnotation { + if m != nil { + return m.SegmentLabelAnnotations + } + return nil +} + +func (m *VideoAnnotationResults) GetShotLabelAnnotations() []*LabelAnnotation { + if m != nil { + return m.ShotLabelAnnotations + } + return nil +} + +func (m *VideoAnnotationResults) GetFrameLabelAnnotations() []*LabelAnnotation { + if m != nil { + return m.FrameLabelAnnotations + } + return nil +} + +func (m *VideoAnnotationResults) GetFaceAnnotations() []*FaceAnnotation { + if m != nil { + return m.FaceAnnotations + } + return nil +} + +func (m *VideoAnnotationResults) GetShotAnnotations() []*VideoSegment { + if m != nil { + return m.ShotAnnotations + } + return nil +} + +func (m *VideoAnnotationResults) GetExplicitAnnotation() *ExplicitContentAnnotation { + if m != nil { + return m.ExplicitAnnotation + } + return nil +} + +func (m *VideoAnnotationResults) GetError() *google_rpc.Status { + if m != nil { + return m.Error + } + return nil +} + +// Video annotation response. Included in the `response` +// field of the `Operation` returned by the `GetOperation` +// call of the `google::longrunning::Operations` service. +type AnnotateVideoResponse struct { + // Annotation results for all videos specified in `AnnotateVideoRequest`. + AnnotationResults []*VideoAnnotationResults `protobuf:"bytes,1,rep,name=annotation_results,json=annotationResults" json:"annotation_results,omitempty"` +} + +func (m *AnnotateVideoResponse) Reset() { *m = AnnotateVideoResponse{} } +func (m *AnnotateVideoResponse) String() string { return proto.CompactTextString(m) } +func (*AnnotateVideoResponse) ProtoMessage() {} +func (*AnnotateVideoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} } + +func (m *AnnotateVideoResponse) GetAnnotationResults() []*VideoAnnotationResults { + if m != nil { + return m.AnnotationResults + } + return nil +} + +// Annotation progress for a single video. +type VideoAnnotationProgress struct { + // Video file location in + // [Google Cloud Storage](https://cloud.google.com/storage/). + InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri" json:"input_uri,omitempty"` + // Approximate percentage processed thus far. + // Guaranteed to be 100 when fully processed. + ProgressPercent int32 `protobuf:"varint,2,opt,name=progress_percent,json=progressPercent" json:"progress_percent,omitempty"` + // Time when the request was received. + StartTime *google_protobuf4.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime" json:"start_time,omitempty"` + // Time of the most recent update. + UpdateTime *google_protobuf4.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime" json:"update_time,omitempty"` +} + +func (m *VideoAnnotationProgress) Reset() { *m = VideoAnnotationProgress{} } +func (m *VideoAnnotationProgress) String() string { return proto.CompactTextString(m) } +func (*VideoAnnotationProgress) ProtoMessage() {} +func (*VideoAnnotationProgress) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} } + +func (m *VideoAnnotationProgress) GetInputUri() string { + if m != nil { + return m.InputUri + } + return "" +} + +func (m *VideoAnnotationProgress) GetProgressPercent() int32 { + if m != nil { + return m.ProgressPercent + } + return 0 +} + +func (m *VideoAnnotationProgress) GetStartTime() *google_protobuf4.Timestamp { + if m != nil { + return m.StartTime + } + return nil +} + +func (m *VideoAnnotationProgress) GetUpdateTime() *google_protobuf4.Timestamp { + if m != nil { + return m.UpdateTime + } + return nil +} + +// Video annotation progress. Included in the `metadata` +// field of the `Operation` returned by the `GetOperation` +// call of the `google::longrunning::Operations` service. +type AnnotateVideoProgress struct { + // Progress metadata for all videos specified in `AnnotateVideoRequest`. + AnnotationProgress []*VideoAnnotationProgress `protobuf:"bytes,1,rep,name=annotation_progress,json=annotationProgress" json:"annotation_progress,omitempty"` +} + +func (m *AnnotateVideoProgress) Reset() { *m = AnnotateVideoProgress{} } +func (m *AnnotateVideoProgress) String() string { return proto.CompactTextString(m) } +func (*AnnotateVideoProgress) ProtoMessage() {} +func (*AnnotateVideoProgress) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} } + +func (m *AnnotateVideoProgress) GetAnnotationProgress() []*VideoAnnotationProgress { + if m != nil { + return m.AnnotationProgress + } + return nil +} + +func init() { + proto.RegisterType((*AnnotateVideoRequest)(nil), "google.cloud.videointelligence.v1beta2.AnnotateVideoRequest") + proto.RegisterType((*VideoContext)(nil), "google.cloud.videointelligence.v1beta2.VideoContext") + proto.RegisterType((*LabelDetectionConfig)(nil), "google.cloud.videointelligence.v1beta2.LabelDetectionConfig") + proto.RegisterType((*ShotChangeDetectionConfig)(nil), "google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig") + proto.RegisterType((*ExplicitContentDetectionConfig)(nil), "google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig") + proto.RegisterType((*FaceDetectionConfig)(nil), "google.cloud.videointelligence.v1beta2.FaceDetectionConfig") + proto.RegisterType((*VideoSegment)(nil), "google.cloud.videointelligence.v1beta2.VideoSegment") + proto.RegisterType((*LabelSegment)(nil), "google.cloud.videointelligence.v1beta2.LabelSegment") + proto.RegisterType((*LabelFrame)(nil), "google.cloud.videointelligence.v1beta2.LabelFrame") + proto.RegisterType((*Entity)(nil), "google.cloud.videointelligence.v1beta2.Entity") + proto.RegisterType((*LabelAnnotation)(nil), "google.cloud.videointelligence.v1beta2.LabelAnnotation") + proto.RegisterType((*ExplicitContentFrame)(nil), "google.cloud.videointelligence.v1beta2.ExplicitContentFrame") + proto.RegisterType((*ExplicitContentAnnotation)(nil), "google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation") + proto.RegisterType((*NormalizedBoundingBox)(nil), "google.cloud.videointelligence.v1beta2.NormalizedBoundingBox") + proto.RegisterType((*FaceSegment)(nil), "google.cloud.videointelligence.v1beta2.FaceSegment") + proto.RegisterType((*FaceFrame)(nil), "google.cloud.videointelligence.v1beta2.FaceFrame") + proto.RegisterType((*FaceAnnotation)(nil), "google.cloud.videointelligence.v1beta2.FaceAnnotation") + proto.RegisterType((*VideoAnnotationResults)(nil), "google.cloud.videointelligence.v1beta2.VideoAnnotationResults") + proto.RegisterType((*AnnotateVideoResponse)(nil), "google.cloud.videointelligence.v1beta2.AnnotateVideoResponse") + proto.RegisterType((*VideoAnnotationProgress)(nil), "google.cloud.videointelligence.v1beta2.VideoAnnotationProgress") + proto.RegisterType((*AnnotateVideoProgress)(nil), "google.cloud.videointelligence.v1beta2.AnnotateVideoProgress") + proto.RegisterEnum("google.cloud.videointelligence.v1beta2.Feature", Feature_name, Feature_value) + proto.RegisterEnum("google.cloud.videointelligence.v1beta2.LabelDetectionMode", LabelDetectionMode_name, LabelDetectionMode_value) + proto.RegisterEnum("google.cloud.videointelligence.v1beta2.Likelihood", Likelihood_name, Likelihood_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 VideoIntelligenceService service + +type VideoIntelligenceServiceClient interface { + // Performs asynchronous video annotation. Progress and results can be + // retrieved through the `google.longrunning.Operations` interface. + // `Operation.metadata` contains `AnnotateVideoProgress` (progress). + // `Operation.response` contains `AnnotateVideoResponse` (results). + AnnotateVideo(ctx context.Context, in *AnnotateVideoRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) +} + +type videoIntelligenceServiceClient struct { + cc *grpc.ClientConn +} + +func NewVideoIntelligenceServiceClient(cc *grpc.ClientConn) VideoIntelligenceServiceClient { + return &videoIntelligenceServiceClient{cc} +} + +func (c *videoIntelligenceServiceClient) AnnotateVideo(ctx context.Context, in *AnnotateVideoRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) { + out := new(google_longrunning.Operation) + err := grpc.Invoke(ctx, "/google.cloud.videointelligence.v1beta2.VideoIntelligenceService/AnnotateVideo", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// Server API for VideoIntelligenceService service + +type VideoIntelligenceServiceServer interface { + // Performs asynchronous video annotation. Progress and results can be + // retrieved through the `google.longrunning.Operations` interface. + // `Operation.metadata` contains `AnnotateVideoProgress` (progress). + // `Operation.response` contains `AnnotateVideoResponse` (results). + AnnotateVideo(context.Context, *AnnotateVideoRequest) (*google_longrunning.Operation, error) +} + +func RegisterVideoIntelligenceServiceServer(s *grpc.Server, srv VideoIntelligenceServiceServer) { + s.RegisterService(&_VideoIntelligenceService_serviceDesc, srv) +} + +func _VideoIntelligenceService_AnnotateVideo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AnnotateVideoRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VideoIntelligenceServiceServer).AnnotateVideo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.videointelligence.v1beta2.VideoIntelligenceService/AnnotateVideo", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VideoIntelligenceServiceServer).AnnotateVideo(ctx, req.(*AnnotateVideoRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _VideoIntelligenceService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.videointelligence.v1beta2.VideoIntelligenceService", + HandlerType: (*VideoIntelligenceServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "AnnotateVideo", + Handler: _VideoIntelligenceService_AnnotateVideo_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/videointelligence/v1beta2/video_intelligence.proto", +} + +func init() { + proto.RegisterFile("google/cloud/videointelligence/v1beta2/video_intelligence.proto", fileDescriptor0) +} + +var fileDescriptor0 = []byte{ + // 1702 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x4f, 0x6f, 0xdb, 0xc8, + 0x15, 0x2f, 0x25, 0x59, 0xb1, 0x9e, 0x64, 0x4b, 0x19, 0xcb, 0xb6, 0xec, 0x26, 0x5e, 0x97, 0x29, + 0x16, 0xae, 0x0b, 0x48, 0x88, 0x77, 0xb1, 0x45, 0x93, 0x6d, 0x17, 0xb2, 0x4c, 0x6d, 0xd4, 0x75, + 0x24, 0x81, 0x52, 0xd2, 0xa6, 0x45, 0x41, 0x50, 0xe4, 0x88, 0x22, 0x96, 0xe2, 0x70, 0xc9, 0x61, + 0x10, 0xf7, 0xd0, 0xc3, 0x1e, 0x16, 0xe8, 0xb1, 0xe8, 0xa5, 0x9f, 0xa1, 0x87, 0x7e, 0x83, 0x02, + 0x45, 0x2f, 0x05, 0x7a, 0xe9, 0xa1, 0xbd, 0xf4, 0xd2, 0x53, 0x8f, 0xfd, 0x10, 0x05, 0x67, 0x86, + 0x12, 0x45, 0xc9, 0xb1, 0x94, 0xa0, 0x37, 0xce, 0x7b, 0xf3, 0x7e, 0xef, 0xff, 0x9b, 0x19, 0xc2, + 0x67, 0x16, 0x21, 0x96, 0x83, 0x1b, 0x86, 0x43, 0x42, 0xb3, 0xf1, 0xda, 0x36, 0x31, 0xb1, 0x5d, + 0x8a, 0x1d, 0xc7, 0xb6, 0xb0, 0x6b, 0xe0, 0xc6, 0xeb, 0xc7, 0x23, 0x4c, 0xf5, 0x0b, 0xce, 0xd1, + 0x92, 0xac, 0xba, 0xe7, 0x13, 0x4a, 0xd0, 0x87, 0x1c, 0xa0, 0xce, 0x00, 0xea, 0x4b, 0x00, 0x75, + 0x01, 0x70, 0xfc, 0x40, 0x28, 0xd2, 0x3d, 0xbb, 0xa1, 0xbb, 0x2e, 0xa1, 0x3a, 0xb5, 0x89, 0x1b, + 0x70, 0x94, 0xe3, 0x47, 0x82, 0xeb, 0x10, 0xd7, 0xf2, 0x43, 0xd7, 0xb5, 0x5d, 0xab, 0x41, 0x3c, + 0xec, 0x2f, 0x6c, 0x3a, 0x11, 0x9b, 0xd8, 0x6a, 0x14, 0x8e, 0x1b, 0x66, 0xc8, 0x37, 0x08, 0xfe, + 0x07, 0x69, 0x3e, 0xb5, 0xa7, 0x38, 0xa0, 0xfa, 0xd4, 0x13, 0x1b, 0x0e, 0xc5, 0x06, 0xdf, 0x33, + 0x1a, 0x01, 0xd5, 0x69, 0x28, 0x90, 0xe5, 0x3f, 0x67, 0xa0, 0xda, 0xe4, 0x46, 0xe1, 0x97, 0x91, + 0x0b, 0x2a, 0xfe, 0x2a, 0xc4, 0x01, 0x45, 0xdf, 0x86, 0x82, 0xed, 0x7a, 0x21, 0xd5, 0x42, 0xdf, + 0xae, 0x49, 0xa7, 0xd2, 0x59, 0x41, 0xdd, 0x66, 0x84, 0x17, 0xbe, 0x8d, 0x1e, 0xc1, 0x0e, 0x67, + 0x1a, 0xc4, 0xa5, 0xd8, 0xa5, 0xb5, 0xfc, 0xa9, 0x74, 0x56, 0x52, 0x4b, 0x8c, 0xd8, 0xe2, 0x34, + 0xf4, 0x05, 0x6c, 0x8f, 0xb1, 0x4e, 0x43, 0x1f, 0x07, 0xb5, 0xcc, 0x69, 0xf6, 0x6c, 0xf7, 0xa2, + 0x51, 0x5f, 0x2f, 0x64, 0xf5, 0x36, 0x97, 0x53, 0x67, 0x00, 0xe8, 0x15, 0xec, 0xf0, 0x44, 0x30, + 0x8d, 0x6f, 0x68, 0x2d, 0x7b, 0x2a, 0x9d, 0x15, 0x2f, 0x3e, 0x5e, 0x17, 0x91, 0xf9, 0xd6, 0xe2, + 0xb2, 0x6a, 0xe9, 0x75, 0x62, 0x85, 0x1e, 0x02, 0x90, 0x90, 0xc6, 0xae, 0xe6, 0x98, 0xab, 0x05, + 0x4e, 0x89, 0x7c, 0xfd, 0x00, 0x8a, 0x0e, 0x31, 0x58, 0xb4, 0x35, 0xdb, 0xac, 0x6d, 0x31, 0x3e, + 0xc4, 0xa4, 0x8e, 0x29, 0xff, 0x3b, 0x07, 0xa5, 0x24, 0x3c, 0xea, 0xc3, 0x76, 0x80, 0xad, 0x29, + 0x76, 0x69, 0x50, 0x93, 0x4e, 0xb3, 0x1b, 0x9b, 0x39, 0xe0, 0xc2, 0xea, 0x0c, 0x05, 0xf9, 0x70, + 0xe0, 0xe8, 0x23, 0xec, 0x68, 0x26, 0xa6, 0xd8, 0x60, 0xa6, 0x18, 0xc4, 0x1d, 0xdb, 0x56, 0x2d, + 0xc3, 0xc2, 0xf0, 0xe9, 0xba, 0xf8, 0xd7, 0x11, 0xca, 0x55, 0x0c, 0xd2, 0x62, 0x18, 0x6a, 0xd5, + 0x59, 0x41, 0x45, 0x5f, 0x4b, 0xf0, 0x20, 0x98, 0x10, 0xaa, 0x19, 0x13, 0xdd, 0xb5, 0xf0, 0xb2, + 0x6a, 0x9e, 0x81, 0xe6, 0xba, 0xaa, 0x07, 0x13, 0x42, 0x5b, 0x0c, 0x2a, 0xad, 0xff, 0x28, 0xb8, + 0x8d, 0x85, 0x7e, 0x2b, 0xc1, 0x77, 0xf0, 0x1b, 0xcf, 0xb1, 0x0d, 0x7b, 0x56, 0x6c, 0xcb, 0x96, + 0xe4, 0x98, 0x25, 0xed, 0x75, 0x2d, 0x51, 0x04, 0xa0, 0x28, 0xd4, 0xb4, 0x39, 0x27, 0xf8, 0xad, + 0x7c, 0x44, 0x60, 0x7f, 0xac, 0x1b, 0x2b, 0x02, 0xb2, 0xc5, 0xcc, 0x78, 0xba, 0x76, 0x91, 0xeb, + 0xc6, 0x52, 0x28, 0xf6, 0xc6, 0xcb, 0x44, 0xf9, 0xaf, 0x12, 0x54, 0x57, 0x25, 0x0e, 0x39, 0x50, + 0x4d, 0x97, 0xc5, 0x94, 0x98, 0x98, 0xb5, 0xeb, 0xee, 0xc5, 0x93, 0x77, 0x2b, 0x8a, 0xe7, 0xc4, + 0xc4, 0x2a, 0x72, 0x96, 0x68, 0xe8, 0xfb, 0x70, 0x3f, 0xe0, 0xb3, 0x4b, 0xf7, 0x6f, 0x34, 0x43, + 0x9f, 0x62, 0x5f, 0x67, 0xf5, 0xb7, 0xad, 0x56, 0xe6, 0x8c, 0x16, 0xa3, 0xa3, 0x2a, 0x6c, 0x45, + 0xa6, 0x38, 0xac, 0x4a, 0x0a, 0x2a, 0x5f, 0xc8, 0x8f, 0xe1, 0xe8, 0xd6, 0x32, 0x98, 0x8b, 0x48, + 0x49, 0x91, 0x4f, 0xe0, 0xe4, 0xed, 0xf9, 0xba, 0x45, 0x4e, 0x87, 0xbd, 0x15, 0x01, 0x5e, 0xbd, + 0x19, 0x7d, 0x0c, 0x07, 0xb6, 0x6b, 0x38, 0xa1, 0x89, 0xb5, 0x11, 0x09, 0x5d, 0xd3, 0x76, 0x2d, + 0x6d, 0x44, 0xde, 0xb0, 0xc1, 0x15, 0xf9, 0x57, 0x15, 0xdc, 0x4b, 0xc1, 0xbc, 0x8c, 0x78, 0xf2, + 0xef, 0x25, 0xd1, 0xf8, 0xa2, 0x61, 0x91, 0xc2, 0x22, 0xe4, 0x53, 0x2d, 0x1a, 0xbf, 0x1a, 0x19, + 0x8f, 0x03, 0x4c, 0x99, 0xa2, 0xe2, 0xc5, 0x51, 0x9c, 0x8c, 0x78, 0x44, 0xd7, 0xaf, 0xc4, 0x08, + 0x57, 0xcb, 0x4c, 0x66, 0x68, 0x4f, 0x71, 0x8f, 0x49, 0xa0, 0x26, 0x94, 0xb1, 0x6b, 0x2e, 0x80, + 0x64, 0xee, 0x02, 0xd9, 0xc1, 0xae, 0x39, 0x87, 0x90, 0x7f, 0x0d, 0x25, 0x96, 0xd5, 0xd8, 0xb2, + 0x2e, 0xdc, 0x13, 0xc3, 0x44, 0xd8, 0xf3, 0x6e, 0x13, 0x29, 0x06, 0x41, 0x27, 0x00, 0xac, 0xe8, + 0xcd, 0x68, 0x2f, 0xb3, 0x2e, 0xa3, 0x26, 0x28, 0xf2, 0x04, 0x80, 0xe9, 0x6f, 0xfb, 0xfa, 0x14, + 0xa3, 0x27, 0x50, 0xdc, 0x28, 0x22, 0x40, 0xe7, 0xc1, 0xb8, 0x4b, 0x93, 0x03, 0x79, 0xc5, 0xa5, + 0x36, 0xbd, 0x89, 0x4e, 0x2c, 0xcc, 0xbe, 0xa2, 0x31, 0x2d, 0x4e, 0x2c, 0x4e, 0xe8, 0x98, 0xe8, + 0x14, 0x8a, 0x26, 0x0e, 0x0c, 0xdf, 0xf6, 0x22, 0x0d, 0x0c, 0xa7, 0xa0, 0x26, 0x49, 0xd1, 0x99, + 0xe6, 0xe8, 0xae, 0x15, 0xea, 0x16, 0xd6, 0x8c, 0xa8, 0x8b, 0x78, 0xe5, 0x96, 0x62, 0x62, 0x8b, + 0x98, 0x58, 0xfe, 0x67, 0x06, 0xca, 0xcc, 0xb1, 0xe6, 0xec, 0x20, 0x47, 0x6d, 0xc8, 0x73, 0x35, + 0xc2, 0xb1, 0xfa, 0xda, 0x73, 0x88, 0x49, 0xa9, 0x42, 0x1a, 0xfd, 0x02, 0xee, 0x1b, 0x3a, 0xc5, + 0x16, 0xf1, 0x6f, 0x34, 0x46, 0xb2, 0xc5, 0xc1, 0xb9, 0x39, 0x64, 0x25, 0x06, 0x52, 0x04, 0xce, + 0xc2, 0x99, 0x94, 0xdd, 0xec, 0x4c, 0x4a, 0x16, 0x52, 0xe2, 0x4c, 0xfa, 0x09, 0xe4, 0xc7, 0x51, + 0x76, 0x83, 0x5a, 0x8e, 0xe1, 0x5d, 0x6c, 0x84, 0xc7, 0x0a, 0x43, 0x15, 0x08, 0xf2, 0x9f, 0x24, + 0xa8, 0xa6, 0xba, 0xfc, 0xfd, 0x2b, 0xc7, 0x86, 0x03, 0x8f, 0xf8, 0x2e, 0xb1, 0x7c, 0xdd, 0x9b, + 0xdc, 0x68, 0x8e, 0xfd, 0x25, 0x76, 0xec, 0x09, 0x21, 0x26, 0xcb, 0xfe, 0xee, 0x06, 0x06, 0xcf, + 0x24, 0xd5, 0xfd, 0x04, 0xe2, 0x9c, 0x2c, 0x7f, 0x05, 0x47, 0x29, 0xf3, 0x13, 0xf5, 0x31, 0x9c, + 0x05, 0x8a, 0x5f, 0x06, 0x3e, 0x7d, 0xc7, 0x73, 0x6a, 0x31, 0x64, 0x5f, 0xc2, 0x7e, 0x97, 0xf8, + 0x53, 0xdd, 0xb1, 0x7f, 0x85, 0xcd, 0xc4, 0x5c, 0x42, 0x08, 0x72, 0x0e, 0x1e, 0xf3, 0x58, 0x65, + 0x54, 0xf6, 0x8d, 0x2a, 0x90, 0xa5, 0xc4, 0x13, 0xdd, 0x13, 0x7d, 0x46, 0x73, 0xd0, 0xb7, 0xad, + 0x09, 0xbf, 0x47, 0x65, 0x54, 0xbe, 0x40, 0x07, 0x90, 0x1f, 0x11, 0x4a, 0xc9, 0x94, 0x1d, 0xa9, + 0x19, 0x55, 0xac, 0xe4, 0x5f, 0x42, 0x31, 0x1a, 0xa6, 0xff, 0xa7, 0x69, 0x22, 0xff, 0x45, 0x82, + 0x42, 0x84, 0xcf, 0x73, 0x7e, 0x03, 0x47, 0xee, 0xcc, 0xb3, 0xf4, 0x3c, 0xe6, 0x21, 0xfc, 0xd1, + 0xba, 0xfa, 0x56, 0x86, 0x48, 0x3d, 0x74, 0x57, 0x91, 0x71, 0x90, 0x2e, 0xb7, 0xcc, 0x06, 0xe5, + 0x26, 0xff, 0x4d, 0x82, 0xdd, 0xc8, 0x89, 0x44, 0xe6, 0x1f, 0x40, 0x81, 0x4e, 0xc2, 0xe9, 0xc8, + 0xd5, 0x6d, 0x7e, 0xe0, 0x94, 0xd4, 0x39, 0x01, 0xf5, 0x12, 0x2d, 0xc9, 0xdb, 0xfc, 0xa3, 0x4d, + 0xae, 0x0e, 0xcb, 0x1d, 0xd9, 0x99, 0x15, 0x1a, 0xef, 0xf0, 0xc7, 0x9b, 0xc0, 0x2d, 0x56, 0xd7, + 0x7f, 0xb7, 0xe0, 0x80, 0xe5, 0x6a, 0xee, 0x8d, 0x8a, 0x83, 0xd0, 0xa1, 0xc1, 0xdb, 0x1f, 0x06, + 0x01, 0x1c, 0x09, 0x73, 0x34, 0x7e, 0x33, 0x49, 0x3c, 0x78, 0x84, 0x93, 0x3f, 0xd8, 0x68, 0x4e, + 0x24, 0xf4, 0x1f, 0x0a, 0xe4, 0x14, 0x3d, 0x40, 0x53, 0x38, 0x60, 0x17, 0xd5, 0x65, 0x8d, 0xd9, + 0xf7, 0xd3, 0x58, 0x8d, 0x60, 0x97, 0xd4, 0x11, 0x38, 0x64, 0x51, 0x5a, 0xa1, 0x2f, 0xf7, 0x7e, + 0xfa, 0xf6, 0x19, 0xee, 0x92, 0x42, 0x1d, 0x2a, 0xec, 0xc2, 0x99, 0xd4, 0xb4, 0xc5, 0x34, 0x7d, + 0xb2, 0x49, 0x86, 0x13, 0x8a, 0xca, 0xe3, 0x85, 0x75, 0x80, 0x34, 0xa8, 0xb0, 0x10, 0x26, 0x55, + 0xe4, 0xdf, 0xe3, 0xe9, 0x52, 0x8e, 0xd0, 0x92, 0x0a, 0x7c, 0xd8, 0x9b, 0xdd, 0xe3, 0xe7, 0x4a, + 0x6a, 0xf7, 0x36, 0x7b, 0x43, 0xdc, 0x3a, 0x64, 0x55, 0x14, 0xa3, 0x27, 0xda, 0xef, 0x0c, 0xb6, + 0xb0, 0xef, 0x13, 0xbf, 0x56, 0x60, 0x5a, 0x50, 0xac, 0xc5, 0xf7, 0x8c, 0xfa, 0x80, 0x3d, 0x82, + 0x55, 0xbe, 0x41, 0xfe, 0x46, 0x82, 0xfd, 0xd4, 0x2b, 0x38, 0xf0, 0x88, 0x1b, 0x60, 0x34, 0x05, + 0x34, 0x37, 0x57, 0xf3, 0x79, 0x0f, 0x88, 0x29, 0xf4, 0xe3, 0x8d, 0x42, 0xb3, 0xd4, 0x49, 0xea, + 0x7d, 0x3d, 0x4d, 0x92, 0xff, 0x25, 0xc1, 0x61, 0x6a, 0x77, 0xdf, 0x27, 0x96, 0x8f, 0x83, 0x3b, + 0x1a, 0xef, 0x7b, 0x50, 0xf1, 0xc4, 0x46, 0xcd, 0xc3, 0xbe, 0x11, 0xcd, 0xe6, 0x68, 0x7c, 0x6d, + 0xa9, 0xe5, 0x98, 0xde, 0xe7, 0x64, 0xf4, 0x43, 0x80, 0xf9, 0x2d, 0x55, 0xbc, 0xe2, 0x8e, 0x97, + 0x66, 0xdc, 0x30, 0xfe, 0x83, 0xa0, 0x16, 0x66, 0xf7, 0x53, 0xf4, 0x14, 0x8a, 0xa1, 0x67, 0xea, + 0x14, 0x73, 0xd9, 0xdc, 0x9d, 0xb2, 0xc0, 0xb7, 0x47, 0x04, 0xf9, 0x37, 0xe9, 0x20, 0xcf, 0x3c, + 0xf3, 0x60, 0x2f, 0x11, 0xe4, 0xd8, 0x5e, 0x11, 0xe5, 0xcf, 0xde, 0x31, 0xca, 0x31, 0xba, 0x9a, + 0x48, 0x60, 0x4c, 0x3b, 0xff, 0x46, 0x82, 0x7b, 0xe2, 0x27, 0x03, 0x3a, 0x84, 0xbd, 0xb6, 0xd2, + 0x1c, 0xbe, 0x50, 0x15, 0xed, 0x45, 0x77, 0xd0, 0x57, 0x5a, 0x9d, 0x76, 0x47, 0xb9, 0xaa, 0x7c, + 0x0b, 0xed, 0x41, 0xf9, 0xba, 0x79, 0xa9, 0x5c, 0x6b, 0x57, 0xca, 0x50, 0x69, 0x0d, 0x3b, 0xbd, + 0x6e, 0x45, 0x42, 0x47, 0xb0, 0x3f, 0x78, 0xd6, 0x1b, 0x6a, 0xad, 0x67, 0xcd, 0xee, 0xe7, 0x4a, + 0x82, 0x95, 0x41, 0x27, 0x70, 0xac, 0xfc, 0xac, 0x7f, 0xdd, 0x69, 0x75, 0x86, 0x5a, 0xab, 0xd7, + 0x1d, 0x2a, 0xdd, 0x61, 0x82, 0x9f, 0x45, 0x08, 0x76, 0xdb, 0xcd, 0x56, 0x52, 0x26, 0x77, 0xee, + 0x03, 0x5a, 0x7e, 0x7e, 0xa1, 0xef, 0xc2, 0x69, 0x4a, 0xb3, 0xf6, 0xbc, 0x77, 0x95, 0xb6, 0x6f, + 0x07, 0x0a, 0xcc, 0x94, 0x88, 0x55, 0x91, 0xd0, 0x2e, 0x40, 0x5b, 0x6d, 0x3e, 0x57, 0xf8, 0x3a, + 0x13, 0xf9, 0xc5, 0xd8, 0xcd, 0xee, 0x95, 0x96, 0x60, 0x64, 0xcf, 0x29, 0xc0, 0xfc, 0xee, 0x82, + 0x8e, 0xe1, 0xe0, 0xba, 0xf3, 0x85, 0x72, 0xdd, 0x79, 0xd6, 0xeb, 0x5d, 0xa5, 0x34, 0xdc, 0x87, + 0x9d, 0x97, 0x8a, 0xfa, 0x4a, 0x7b, 0xd1, 0x65, 0x5b, 0x5e, 0x55, 0x24, 0x54, 0x82, 0xed, 0xd9, + 0x2a, 0x13, 0xad, 0xfa, 0xbd, 0xc1, 0xa0, 0x73, 0x79, 0xad, 0x54, 0xb2, 0x08, 0x20, 0x2f, 0x38, + 0x39, 0x54, 0x86, 0x22, 0x13, 0x15, 0x84, 0xad, 0x8b, 0x3f, 0x4a, 0x50, 0x63, 0x29, 0xea, 0x24, + 0x92, 0x37, 0xc0, 0xfe, 0x6b, 0xdb, 0xc0, 0xd1, 0x3b, 0x7f, 0x67, 0xa1, 0x36, 0xd0, 0xda, 0xb7, + 0xa4, 0x55, 0x7f, 0xaf, 0x8e, 0x1f, 0xc6, 0xd2, 0x89, 0xdf, 0x6a, 0xf5, 0x5e, 0xfc, 0x5b, 0x4d, + 0x7e, 0xf4, 0xf5, 0x3f, 0xfe, 0xf3, 0xbb, 0xcc, 0x43, 0xb9, 0xb6, 0xf8, 0x97, 0x2f, 0x78, 0x22, + 0x4a, 0x05, 0x3f, 0x91, 0xce, 0x2f, 0xff, 0x2e, 0xc1, 0xb9, 0x41, 0xa6, 0x6b, 0xda, 0x71, 0xf9, + 0xf0, 0x36, 0xe7, 0xfa, 0x51, 0x5b, 0xf4, 0xa5, 0x9f, 0xff, 0x54, 0x00, 0x59, 0x24, 0x7a, 0x52, + 0xd4, 0x89, 0x6f, 0x35, 0x2c, 0xec, 0xb2, 0xa6, 0x69, 0x70, 0x96, 0xee, 0xd9, 0xc1, 0x5d, 0xff, + 0x23, 0x9f, 0x2e, 0x71, 0xfe, 0x90, 0xf9, 0xf0, 0x73, 0x8e, 0xdc, 0x62, 0x26, 0x2e, 0xd9, 0x51, + 0x7f, 0xc9, 0x45, 0x47, 0x79, 0xa6, 0xec, 0xa3, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x5d, 0x2f, + 0xdf, 0xfc, 0xfb, 0x14, 0x00, 0x00, +} diff --git a/googleapis/container/v1/cluster_service.pb.go b/googleapis/container/v1/cluster_service.pb.go index 813f16e9..a5b58321 100644 --- a/googleapis/container/v1/cluster_service.pb.go +++ b/googleapis/container/v1/cluster_service.pb.go @@ -14,6 +14,8 @@ It has these top-level messages: AddonsConfig HttpLoadBalancing HorizontalPodAutoscaling + KubernetesDashboard + MasterAuthorizedNetworksConfig LegacyAbac NetworkPolicy IPAllocationPolicy @@ -56,6 +58,7 @@ It has these top-level messages: SetLegacyAbacRequest StartIPRotationRequest CompleteIPRotationRequest + AcceleratorConfig SetNetworkPolicyRequest */ package container @@ -87,24 +90,24 @@ type NetworkPolicy_Provider int32 const ( // Not set - NetworkPolicy_UNKNOWN NetworkPolicy_Provider = 0 + NetworkPolicy_PROVIDER_UNSPECIFIED NetworkPolicy_Provider = 0 // Tigera (Calico Felix). NetworkPolicy_CALICO NetworkPolicy_Provider = 1 ) var NetworkPolicy_Provider_name = map[int32]string{ - 0: "UNKNOWN", + 0: "PROVIDER_UNSPECIFIED", 1: "CALICO", } var NetworkPolicy_Provider_value = map[string]int32{ - "UNKNOWN": 0, - "CALICO": 1, + "PROVIDER_UNSPECIFIED": 0, + "CALICO": 1, } func (x NetworkPolicy_Provider) String() string { return proto.EnumName(NetworkPolicy_Provider_name, int32(x)) } -func (NetworkPolicy_Provider) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{7, 0} } +func (NetworkPolicy_Provider) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{9, 0} } // The current status of the cluster. type Cluster_Status int32 @@ -148,7 +151,7 @@ var Cluster_Status_value = map[string]int32{ func (x Cluster_Status) String() string { return proto.EnumName(Cluster_Status_name, int32(x)) } -func (Cluster_Status) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{9, 0} } +func (Cluster_Status) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{11, 0} } // Current status of the operation. type Operation_Status int32 @@ -184,7 +187,7 @@ var Operation_Status_value = map[string]int32{ func (x Operation_Status) String() string { return proto.EnumName(Operation_Status_name, int32(x)) } -func (Operation_Status) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{11, 0} } +func (Operation_Status) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{13, 0} } // Operation type. type Operation_Type int32 @@ -264,7 +267,7 @@ var Operation_Type_value = map[string]int32{ func (x Operation_Type) String() string { return proto.EnumName(Operation_Type_name, int32(x)) } -func (Operation_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{11, 1} } +func (Operation_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{13, 1} } // operation type - what type of key rotation are we performing type SetMasterAuthRequest_Action int32 @@ -293,7 +296,7 @@ func (x SetMasterAuthRequest_Action) String() string { return proto.EnumName(SetMasterAuthRequest_Action_name, int32(x)) } func (SetMasterAuthRequest_Action) EnumDescriptor() ([]byte, []int) { - return fileDescriptor0, []int{22, 0} + return fileDescriptor0, []int{24, 0} } // The current status of the node pool instance. @@ -345,7 +348,7 @@ var NodePool_Status_value = map[string]int32{ func (x NodePool_Status) String() string { return proto.EnumName(NodePool_Status_name, int32(x)) } -func (NodePool_Status) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{36, 0} } +func (NodePool_Status) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{38, 0} } // Parameters that describe the nodes in a cluster. type NodeConfig struct { @@ -421,6 +424,10 @@ type NodeConfig struct { // https://cloud.google.com/compute/docs/instances/preemptible for more // information about preemptible VM instances. Preemptible bool `protobuf:"varint,10,opt,name=preemptible" json:"preemptible,omitempty"` + // A list of hardware accelerators to be attached to each node. + // See https://cloud.google.com/compute/docs/gpus for more information about + // support for GPUs. + Accelerators []*AcceleratorConfig `protobuf:"bytes,11,rep,name=accelerators" json:"accelerators,omitempty"` } func (m *NodeConfig) Reset() { *m = NodeConfig{} } @@ -498,6 +505,13 @@ func (m *NodeConfig) GetPreemptible() bool { return false } +func (m *NodeConfig) GetAccelerators() []*AcceleratorConfig { + if m != nil { + return m.Accelerators + } + return nil +} + // The authentication information for accessing the master endpoint. // Authentication can be done using HTTP basic auth or using client // certificates. @@ -600,6 +614,8 @@ type AddonsConfig struct { // increases or decreases the number of replica pods a replication controller // has based on the resource usage of the existing pods. HorizontalPodAutoscaling *HorizontalPodAutoscaling `protobuf:"bytes,2,opt,name=horizontal_pod_autoscaling,json=horizontalPodAutoscaling" json:"horizontal_pod_autoscaling,omitempty"` + // Configuration for the Kubernetes Dashboard. + KubernetesDashboard *KubernetesDashboard `protobuf:"bytes,3,opt,name=kubernetes_dashboard,json=kubernetesDashboard" json:"kubernetes_dashboard,omitempty"` } func (m *AddonsConfig) Reset() { *m = AddonsConfig{} } @@ -621,6 +637,13 @@ func (m *AddonsConfig) GetHorizontalPodAutoscaling() *HorizontalPodAutoscaling { return nil } +func (m *AddonsConfig) GetKubernetesDashboard() *KubernetesDashboard { + if m != nil { + return m.KubernetesDashboard + } + return nil +} + // Configuration options for the HTTP (L7) load balancing controller addon, // which makes it easy to set up HTTP load balancers for services in a cluster. type HttpLoadBalancing struct { @@ -664,6 +687,87 @@ func (m *HorizontalPodAutoscaling) GetDisabled() bool { return false } +// Configuration for the Kubernetes Dashboard. +type KubernetesDashboard struct { + // Whether the Kubernetes Dashboard is enabled for this cluster. + Disabled bool `protobuf:"varint,1,opt,name=disabled" json:"disabled,omitempty"` +} + +func (m *KubernetesDashboard) Reset() { *m = KubernetesDashboard{} } +func (m *KubernetesDashboard) String() string { return proto.CompactTextString(m) } +func (*KubernetesDashboard) ProtoMessage() {} +func (*KubernetesDashboard) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } + +func (m *KubernetesDashboard) GetDisabled() bool { + if m != nil { + return m.Disabled + } + return false +} + +// Master authorized networks is a Beta feature. +// Configuration options for the master authorized networks feature. Enabled +// master authorized networks will disallow all external traffic to access +// Kubernetes master through HTTPS except traffic from the given CIDR blocks, +// Google Compute Engine Public IPs and Google Prod IPs. +type MasterAuthorizedNetworksConfig struct { + // Whether or not master authorized networks is enabled. + Enabled bool `protobuf:"varint,1,opt,name=enabled" json:"enabled,omitempty"` + // cidr_blocks define up to 10 external networks that could access + // Kubernetes master through HTTPS. + CidrBlocks []*MasterAuthorizedNetworksConfig_CidrBlock `protobuf:"bytes,2,rep,name=cidr_blocks,json=cidrBlocks" json:"cidr_blocks,omitempty"` +} + +func (m *MasterAuthorizedNetworksConfig) Reset() { *m = MasterAuthorizedNetworksConfig{} } +func (m *MasterAuthorizedNetworksConfig) String() string { return proto.CompactTextString(m) } +func (*MasterAuthorizedNetworksConfig) ProtoMessage() {} +func (*MasterAuthorizedNetworksConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } + +func (m *MasterAuthorizedNetworksConfig) GetEnabled() bool { + if m != nil { + return m.Enabled + } + return false +} + +func (m *MasterAuthorizedNetworksConfig) GetCidrBlocks() []*MasterAuthorizedNetworksConfig_CidrBlock { + if m != nil { + return m.CidrBlocks + } + return nil +} + +// CidrBlock contains an optional name and one CIDR block. +type MasterAuthorizedNetworksConfig_CidrBlock struct { + // display_name is an optional field for users to identify CIDR blocks. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName" json:"display_name,omitempty"` + // cidr_block must be specified in CIDR notation. + CidrBlock string `protobuf:"bytes,2,opt,name=cidr_block,json=cidrBlock" json:"cidr_block,omitempty"` +} + +func (m *MasterAuthorizedNetworksConfig_CidrBlock) Reset() { + *m = MasterAuthorizedNetworksConfig_CidrBlock{} +} +func (m *MasterAuthorizedNetworksConfig_CidrBlock) String() string { return proto.CompactTextString(m) } +func (*MasterAuthorizedNetworksConfig_CidrBlock) ProtoMessage() {} +func (*MasterAuthorizedNetworksConfig_CidrBlock) Descriptor() ([]byte, []int) { + return fileDescriptor0, []int{7, 0} +} + +func (m *MasterAuthorizedNetworksConfig_CidrBlock) GetDisplayName() string { + if m != nil { + return m.DisplayName + } + return "" +} + +func (m *MasterAuthorizedNetworksConfig_CidrBlock) GetCidrBlock() string { + if m != nil { + return m.CidrBlock + } + return "" +} + // Configuration for the legacy Attribute Based Access Control authorization // mode. type LegacyAbac struct { @@ -677,7 +781,7 @@ type LegacyAbac struct { func (m *LegacyAbac) Reset() { *m = LegacyAbac{} } func (m *LegacyAbac) String() string { return proto.CompactTextString(m) } func (*LegacyAbac) ProtoMessage() {} -func (*LegacyAbac) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } +func (*LegacyAbac) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } func (m *LegacyAbac) GetEnabled() bool { if m != nil { @@ -698,13 +802,13 @@ type NetworkPolicy struct { func (m *NetworkPolicy) Reset() { *m = NetworkPolicy{} } func (m *NetworkPolicy) String() string { return proto.CompactTextString(m) } func (*NetworkPolicy) ProtoMessage() {} -func (*NetworkPolicy) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } +func (*NetworkPolicy) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } func (m *NetworkPolicy) GetProvider() NetworkPolicy_Provider { if m != nil { return m.Provider } - return NetworkPolicy_UNKNOWN + return NetworkPolicy_PROVIDER_UNSPECIFIED } func (m *NetworkPolicy) GetEnabled() bool { @@ -723,7 +827,7 @@ type IPAllocationPolicy struct { // This field is only applicable when `use_ip_aliases` is true. CreateSubnetwork bool `protobuf:"varint,2,opt,name=create_subnetwork,json=createSubnetwork" json:"create_subnetwork,omitempty"` // A custom subnetwork name to be used if `create_subnetwork` is true. If - // this field is empty, then an automatic name will chosen for the new + // this field is empty, then an automatic name will be chosen for the new // subnetwork. SubnetworkName string `protobuf:"bytes,3,opt,name=subnetwork_name,json=subnetworkName" json:"subnetwork_name,omitempty"` // The IP address range for the cluster pod IPs. If this field is set, then @@ -775,7 +879,7 @@ type IPAllocationPolicy struct { func (m *IPAllocationPolicy) Reset() { *m = IPAllocationPolicy{} } func (m *IPAllocationPolicy) String() string { return proto.CompactTextString(m) } func (*IPAllocationPolicy) ProtoMessage() {} -func (*IPAllocationPolicy) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } +func (*IPAllocationPolicy) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } func (m *IPAllocationPolicy) GetUseIpAliases() bool { if m != nil { @@ -908,6 +1012,9 @@ type Cluster struct { NetworkPolicy *NetworkPolicy `protobuf:"bytes,19,opt,name=network_policy,json=networkPolicy" json:"network_policy,omitempty"` // Configuration for cluster IP allocation. IpAllocationPolicy *IPAllocationPolicy `protobuf:"bytes,20,opt,name=ip_allocation_policy,json=ipAllocationPolicy" json:"ip_allocation_policy,omitempty"` + // Master authorized networks is a Beta feature. + // The configuration options for master authorized networks feature. + MasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `protobuf:"bytes,22,opt,name=master_authorized_networks_config,json=masterAuthorizedNetworksConfig" json:"master_authorized_networks_config,omitempty"` // [Output only] Server-defined URL for the resource. SelfLink string `protobuf:"bytes,100,opt,name=self_link,json=selfLink" json:"self_link,omitempty"` // [Output only] The name of the Google Compute Engine @@ -964,7 +1071,7 @@ type Cluster struct { func (m *Cluster) Reset() { *m = Cluster{} } func (m *Cluster) String() string { return proto.CompactTextString(m) } func (*Cluster) ProtoMessage() {} -func (*Cluster) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } +func (*Cluster) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } func (m *Cluster) GetName() string { if m != nil { @@ -1099,6 +1206,13 @@ func (m *Cluster) GetIpAllocationPolicy() *IPAllocationPolicy { return nil } +func (m *Cluster) GetMasterAuthorizedNetworksConfig() *MasterAuthorizedNetworksConfig { + if m != nil { + return m.MasterAuthorizedNetworksConfig + } + return nil +} + func (m *Cluster) GetSelfLink() string { if m != nil { return m.SelfLink @@ -1234,6 +1348,9 @@ type ClusterUpdate struct { // // This list must always include the cluster's primary zone. DesiredLocations []string `protobuf:"bytes,10,rep,name=desired_locations,json=desiredLocations" json:"desired_locations,omitempty"` + // Master authorized networks is a Beta feature. + // The desired configuration options for master authorized networks feature. + DesiredMasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `protobuf:"bytes,12,opt,name=desired_master_authorized_networks_config,json=desiredMasterAuthorizedNetworksConfig" json:"desired_master_authorized_networks_config,omitempty"` // The Kubernetes version to change the master to. The only valid value is the // latest supported version. Use "-" to have the server automatically select // the latest version. @@ -1243,7 +1360,7 @@ type ClusterUpdate struct { func (m *ClusterUpdate) Reset() { *m = ClusterUpdate{} } func (m *ClusterUpdate) String() string { return proto.CompactTextString(m) } func (*ClusterUpdate) ProtoMessage() {} -func (*ClusterUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } +func (*ClusterUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } func (m *ClusterUpdate) GetDesiredNodeVersion() string { if m != nil { @@ -1294,6 +1411,13 @@ func (m *ClusterUpdate) GetDesiredLocations() []string { return nil } +func (m *ClusterUpdate) GetDesiredMasterAuthorizedNetworksConfig() *MasterAuthorizedNetworksConfig { + if m != nil { + return m.DesiredMasterAuthorizedNetworksConfig + } + return nil +} + func (m *ClusterUpdate) GetDesiredMasterVersion() string { if m != nil { return m.DesiredMasterVersion @@ -1322,12 +1446,18 @@ type Operation struct { SelfLink string `protobuf:"bytes,6,opt,name=self_link,json=selfLink" json:"self_link,omitempty"` // Server-defined URL for the target of the operation. TargetLink string `protobuf:"bytes,7,opt,name=target_link,json=targetLink" json:"target_link,omitempty"` + // [Output only] The time the operation started, in + // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + StartTime string `protobuf:"bytes,10,opt,name=start_time,json=startTime" json:"start_time,omitempty"` + // [Output only] The time the operation completed, in + // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + EndTime string `protobuf:"bytes,11,opt,name=end_time,json=endTime" json:"end_time,omitempty"` } func (m *Operation) Reset() { *m = Operation{} } func (m *Operation) String() string { return proto.CompactTextString(m) } func (*Operation) ProtoMessage() {} -func (*Operation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } +func (*Operation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } func (m *Operation) GetName() string { if m != nil { @@ -1385,6 +1515,20 @@ func (m *Operation) GetTargetLink() string { return "" } +func (m *Operation) GetStartTime() string { + if m != nil { + return m.StartTime + } + return "" +} + +func (m *Operation) GetEndTime() string { + if m != nil { + return m.EndTime + } + return "" +} + // CreateClusterRequest creates a cluster. type CreateClusterRequest struct { // The Google Developers Console [project ID or project @@ -1402,7 +1546,7 @@ type CreateClusterRequest struct { func (m *CreateClusterRequest) Reset() { *m = CreateClusterRequest{} } func (m *CreateClusterRequest) String() string { return proto.CompactTextString(m) } func (*CreateClusterRequest) ProtoMessage() {} -func (*CreateClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } +func (*CreateClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} } func (m *CreateClusterRequest) GetProjectId() string { if m != nil { @@ -1441,7 +1585,7 @@ type GetClusterRequest struct { func (m *GetClusterRequest) Reset() { *m = GetClusterRequest{} } func (m *GetClusterRequest) String() string { return proto.CompactTextString(m) } func (*GetClusterRequest) ProtoMessage() {} -func (*GetClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } +func (*GetClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} } func (m *GetClusterRequest) GetProjectId() string { if m != nil { @@ -1482,7 +1626,7 @@ type UpdateClusterRequest struct { func (m *UpdateClusterRequest) Reset() { *m = UpdateClusterRequest{} } func (m *UpdateClusterRequest) String() string { return proto.CompactTextString(m) } func (*UpdateClusterRequest) ProtoMessage() {} -func (*UpdateClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} } +func (*UpdateClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} } func (m *UpdateClusterRequest) GetProjectId() string { if m != nil { @@ -1536,7 +1680,7 @@ type UpdateNodePoolRequest struct { func (m *UpdateNodePoolRequest) Reset() { *m = UpdateNodePoolRequest{} } func (m *UpdateNodePoolRequest) String() string { return proto.CompactTextString(m) } func (*UpdateNodePoolRequest) ProtoMessage() {} -func (*UpdateNodePoolRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} } +func (*UpdateNodePoolRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} } func (m *UpdateNodePoolRequest) GetProjectId() string { if m != nil { @@ -1600,7 +1744,7 @@ type SetNodePoolAutoscalingRequest struct { func (m *SetNodePoolAutoscalingRequest) Reset() { *m = SetNodePoolAutoscalingRequest{} } func (m *SetNodePoolAutoscalingRequest) String() string { return proto.CompactTextString(m) } func (*SetNodePoolAutoscalingRequest) ProtoMessage() {} -func (*SetNodePoolAutoscalingRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} } +func (*SetNodePoolAutoscalingRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} } func (m *SetNodePoolAutoscalingRequest) GetProjectId() string { if m != nil { @@ -1659,7 +1803,7 @@ type SetLoggingServiceRequest struct { func (m *SetLoggingServiceRequest) Reset() { *m = SetLoggingServiceRequest{} } func (m *SetLoggingServiceRequest) String() string { return proto.CompactTextString(m) } func (*SetLoggingServiceRequest) ProtoMessage() {} -func (*SetLoggingServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} } +func (*SetLoggingServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} } func (m *SetLoggingServiceRequest) GetProjectId() string { if m != nil { @@ -1711,7 +1855,7 @@ type SetMonitoringServiceRequest struct { func (m *SetMonitoringServiceRequest) Reset() { *m = SetMonitoringServiceRequest{} } func (m *SetMonitoringServiceRequest) String() string { return proto.CompactTextString(m) } func (*SetMonitoringServiceRequest) ProtoMessage() {} -func (*SetMonitoringServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} } +func (*SetMonitoringServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} } func (m *SetMonitoringServiceRequest) GetProjectId() string { if m != nil { @@ -1760,7 +1904,7 @@ type SetAddonsConfigRequest struct { func (m *SetAddonsConfigRequest) Reset() { *m = SetAddonsConfigRequest{} } func (m *SetAddonsConfigRequest) String() string { return proto.CompactTextString(m) } func (*SetAddonsConfigRequest) ProtoMessage() {} -func (*SetAddonsConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} } +func (*SetAddonsConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} } func (m *SetAddonsConfigRequest) GetProjectId() string { if m != nil { @@ -1814,7 +1958,7 @@ type SetLocationsRequest struct { func (m *SetLocationsRequest) Reset() { *m = SetLocationsRequest{} } func (m *SetLocationsRequest) String() string { return proto.CompactTextString(m) } func (*SetLocationsRequest) ProtoMessage() {} -func (*SetLocationsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} } +func (*SetLocationsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} } func (m *SetLocationsRequest) GetProjectId() string { if m != nil { @@ -1864,7 +2008,7 @@ type UpdateMasterRequest struct { func (m *UpdateMasterRequest) Reset() { *m = UpdateMasterRequest{} } func (m *UpdateMasterRequest) String() string { return proto.CompactTextString(m) } func (*UpdateMasterRequest) ProtoMessage() {} -func (*UpdateMasterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} } +func (*UpdateMasterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} } func (m *UpdateMasterRequest) GetProjectId() string { if m != nil { @@ -1914,7 +2058,7 @@ type SetMasterAuthRequest struct { func (m *SetMasterAuthRequest) Reset() { *m = SetMasterAuthRequest{} } func (m *SetMasterAuthRequest) String() string { return proto.CompactTextString(m) } func (*SetMasterAuthRequest) ProtoMessage() {} -func (*SetMasterAuthRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} } +func (*SetMasterAuthRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} } func (m *SetMasterAuthRequest) GetProjectId() string { if m != nil { @@ -1967,7 +2111,7 @@ type DeleteClusterRequest struct { func (m *DeleteClusterRequest) Reset() { *m = DeleteClusterRequest{} } func (m *DeleteClusterRequest) String() string { return proto.CompactTextString(m) } func (*DeleteClusterRequest) ProtoMessage() {} -func (*DeleteClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} } +func (*DeleteClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} } func (m *DeleteClusterRequest) GetProjectId() string { if m != nil { @@ -2004,7 +2148,7 @@ type ListClustersRequest struct { func (m *ListClustersRequest) Reset() { *m = ListClustersRequest{} } func (m *ListClustersRequest) String() string { return proto.CompactTextString(m) } func (*ListClustersRequest) ProtoMessage() {} -func (*ListClustersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} } +func (*ListClustersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} } func (m *ListClustersRequest) GetProjectId() string { if m != nil { @@ -2033,7 +2177,7 @@ type ListClustersResponse struct { func (m *ListClustersResponse) Reset() { *m = ListClustersResponse{} } func (m *ListClustersResponse) String() string { return proto.CompactTextString(m) } func (*ListClustersResponse) ProtoMessage() {} -func (*ListClustersResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} } +func (*ListClustersResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} } func (m *ListClustersResponse) GetClusters() []*Cluster { if m != nil { @@ -2065,7 +2209,7 @@ type GetOperationRequest struct { func (m *GetOperationRequest) Reset() { *m = GetOperationRequest{} } func (m *GetOperationRequest) String() string { return proto.CompactTextString(m) } func (*GetOperationRequest) ProtoMessage() {} -func (*GetOperationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} } +func (*GetOperationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} } func (m *GetOperationRequest) GetProjectId() string { if m != nil { @@ -2101,7 +2245,7 @@ type ListOperationsRequest struct { func (m *ListOperationsRequest) Reset() { *m = ListOperationsRequest{} } func (m *ListOperationsRequest) String() string { return proto.CompactTextString(m) } func (*ListOperationsRequest) ProtoMessage() {} -func (*ListOperationsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} } +func (*ListOperationsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} } func (m *ListOperationsRequest) GetProjectId() string { if m != nil { @@ -2132,7 +2276,7 @@ type CancelOperationRequest struct { func (m *CancelOperationRequest) Reset() { *m = CancelOperationRequest{} } func (m *CancelOperationRequest) String() string { return proto.CompactTextString(m) } func (*CancelOperationRequest) ProtoMessage() {} -func (*CancelOperationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} } +func (*CancelOperationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} } func (m *CancelOperationRequest) GetProjectId() string { if m != nil { @@ -2167,7 +2311,7 @@ type ListOperationsResponse struct { func (m *ListOperationsResponse) Reset() { *m = ListOperationsResponse{} } func (m *ListOperationsResponse) String() string { return proto.CompactTextString(m) } func (*ListOperationsResponse) ProtoMessage() {} -func (*ListOperationsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} } +func (*ListOperationsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} } func (m *ListOperationsResponse) GetOperations() []*Operation { if m != nil { @@ -2196,7 +2340,7 @@ type GetServerConfigRequest struct { func (m *GetServerConfigRequest) Reset() { *m = GetServerConfigRequest{} } func (m *GetServerConfigRequest) String() string { return proto.CompactTextString(m) } func (*GetServerConfigRequest) ProtoMessage() {} -func (*GetServerConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} } +func (*GetServerConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} } func (m *GetServerConfigRequest) GetProjectId() string { if m != nil { @@ -2229,7 +2373,7 @@ type ServerConfig struct { func (m *ServerConfig) Reset() { *m = ServerConfig{} } func (m *ServerConfig) String() string { return proto.CompactTextString(m) } func (*ServerConfig) ProtoMessage() {} -func (*ServerConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} } +func (*ServerConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} } func (m *ServerConfig) GetDefaultClusterVersion() string { if m != nil { @@ -2284,7 +2428,7 @@ type CreateNodePoolRequest struct { func (m *CreateNodePoolRequest) Reset() { *m = CreateNodePoolRequest{} } func (m *CreateNodePoolRequest) String() string { return proto.CompactTextString(m) } func (*CreateNodePoolRequest) ProtoMessage() {} -func (*CreateNodePoolRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} } +func (*CreateNodePoolRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} } func (m *CreateNodePoolRequest) GetProjectId() string { if m != nil { @@ -2332,7 +2476,7 @@ type DeleteNodePoolRequest struct { func (m *DeleteNodePoolRequest) Reset() { *m = DeleteNodePoolRequest{} } func (m *DeleteNodePoolRequest) String() string { return proto.CompactTextString(m) } func (*DeleteNodePoolRequest) ProtoMessage() {} -func (*DeleteNodePoolRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} } +func (*DeleteNodePoolRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} } func (m *DeleteNodePoolRequest) GetProjectId() string { if m != nil { @@ -2378,7 +2522,7 @@ type ListNodePoolsRequest struct { func (m *ListNodePoolsRequest) Reset() { *m = ListNodePoolsRequest{} } func (m *ListNodePoolsRequest) String() string { return proto.CompactTextString(m) } func (*ListNodePoolsRequest) ProtoMessage() {} -func (*ListNodePoolsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} } +func (*ListNodePoolsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} } func (m *ListNodePoolsRequest) GetProjectId() string { if m != nil { @@ -2419,7 +2563,7 @@ type GetNodePoolRequest struct { func (m *GetNodePoolRequest) Reset() { *m = GetNodePoolRequest{} } func (m *GetNodePoolRequest) String() string { return proto.CompactTextString(m) } func (*GetNodePoolRequest) ProtoMessage() {} -func (*GetNodePoolRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} } +func (*GetNodePoolRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} } func (m *GetNodePoolRequest) GetProjectId() string { if m != nil { @@ -2488,7 +2632,7 @@ type NodePool struct { func (m *NodePool) Reset() { *m = NodePool{} } func (m *NodePool) String() string { return proto.CompactTextString(m) } func (*NodePool) ProtoMessage() {} -func (*NodePool) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} } +func (*NodePool) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} } func (m *NodePool) GetName() string { if m != nil { @@ -2579,7 +2723,7 @@ type NodeManagement struct { func (m *NodeManagement) Reset() { *m = NodeManagement{} } func (m *NodeManagement) String() string { return proto.CompactTextString(m) } func (*NodeManagement) ProtoMessage() {} -func (*NodeManagement) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} } +func (*NodeManagement) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} } func (m *NodeManagement) GetAutoUpgrade() bool { if m != nil { @@ -2617,7 +2761,7 @@ type AutoUpgradeOptions struct { func (m *AutoUpgradeOptions) Reset() { *m = AutoUpgradeOptions{} } func (m *AutoUpgradeOptions) String() string { return proto.CompactTextString(m) } func (*AutoUpgradeOptions) ProtoMessage() {} -func (*AutoUpgradeOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} } +func (*AutoUpgradeOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} } func (m *AutoUpgradeOptions) GetAutoUpgradeStartTime() string { if m != nil { @@ -2654,7 +2798,7 @@ type SetNodePoolManagementRequest struct { func (m *SetNodePoolManagementRequest) Reset() { *m = SetNodePoolManagementRequest{} } func (m *SetNodePoolManagementRequest) String() string { return proto.CompactTextString(m) } func (*SetNodePoolManagementRequest) ProtoMessage() {} -func (*SetNodePoolManagementRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} } +func (*SetNodePoolManagementRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} } func (m *SetNodePoolManagementRequest) GetProjectId() string { if m != nil { @@ -2712,7 +2856,7 @@ type SetNodePoolSizeRequest struct { func (m *SetNodePoolSizeRequest) Reset() { *m = SetNodePoolSizeRequest{} } func (m *SetNodePoolSizeRequest) String() string { return proto.CompactTextString(m) } func (*SetNodePoolSizeRequest) ProtoMessage() {} -func (*SetNodePoolSizeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} } +func (*SetNodePoolSizeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42} } func (m *SetNodePoolSizeRequest) GetProjectId() string { if m != nil { @@ -2769,7 +2913,7 @@ type RollbackNodePoolUpgradeRequest struct { func (m *RollbackNodePoolUpgradeRequest) Reset() { *m = RollbackNodePoolUpgradeRequest{} } func (m *RollbackNodePoolUpgradeRequest) String() string { return proto.CompactTextString(m) } func (*RollbackNodePoolUpgradeRequest) ProtoMessage() {} -func (*RollbackNodePoolUpgradeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} } +func (*RollbackNodePoolUpgradeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{43} } func (m *RollbackNodePoolUpgradeRequest) GetProjectId() string { if m != nil { @@ -2808,7 +2952,7 @@ type ListNodePoolsResponse struct { func (m *ListNodePoolsResponse) Reset() { *m = ListNodePoolsResponse{} } func (m *ListNodePoolsResponse) String() string { return proto.CompactTextString(m) } func (*ListNodePoolsResponse) ProtoMessage() {} -func (*ListNodePoolsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42} } +func (*ListNodePoolsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{44} } func (m *ListNodePoolsResponse) GetNodePools() []*NodePool { if m != nil { @@ -2833,7 +2977,7 @@ type NodePoolAutoscaling struct { func (m *NodePoolAutoscaling) Reset() { *m = NodePoolAutoscaling{} } func (m *NodePoolAutoscaling) String() string { return proto.CompactTextString(m) } func (*NodePoolAutoscaling) ProtoMessage() {} -func (*NodePoolAutoscaling) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{43} } +func (*NodePoolAutoscaling) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{45} } func (m *NodePoolAutoscaling) GetEnabled() bool { if m != nil { @@ -2883,7 +3027,7 @@ type SetLabelsRequest struct { func (m *SetLabelsRequest) Reset() { *m = SetLabelsRequest{} } func (m *SetLabelsRequest) String() string { return proto.CompactTextString(m) } func (*SetLabelsRequest) ProtoMessage() {} -func (*SetLabelsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{44} } +func (*SetLabelsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{46} } func (m *SetLabelsRequest) GetProjectId() string { if m != nil { @@ -2939,7 +3083,7 @@ type SetLegacyAbacRequest struct { func (m *SetLegacyAbacRequest) Reset() { *m = SetLegacyAbacRequest{} } func (m *SetLegacyAbacRequest) String() string { return proto.CompactTextString(m) } func (*SetLegacyAbacRequest) ProtoMessage() {} -func (*SetLegacyAbacRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{45} } +func (*SetLegacyAbacRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{47} } func (m *SetLegacyAbacRequest) GetProjectId() string { if m != nil { @@ -2986,7 +3130,7 @@ type StartIPRotationRequest struct { func (m *StartIPRotationRequest) Reset() { *m = StartIPRotationRequest{} } func (m *StartIPRotationRequest) String() string { return proto.CompactTextString(m) } func (*StartIPRotationRequest) ProtoMessage() {} -func (*StartIPRotationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{46} } +func (*StartIPRotationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{48} } func (m *StartIPRotationRequest) GetProjectId() string { if m != nil { @@ -3025,7 +3169,7 @@ type CompleteIPRotationRequest struct { func (m *CompleteIPRotationRequest) Reset() { *m = CompleteIPRotationRequest{} } func (m *CompleteIPRotationRequest) String() string { return proto.CompactTextString(m) } func (*CompleteIPRotationRequest) ProtoMessage() {} -func (*CompleteIPRotationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{47} } +func (*CompleteIPRotationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{49} } func (m *CompleteIPRotationRequest) GetProjectId() string { if m != nil { @@ -3048,6 +3192,34 @@ func (m *CompleteIPRotationRequest) GetClusterId() string { return "" } +// AcceleratorConfig represents a Hardware Accelerator request. +type AcceleratorConfig struct { + // The number of the accelerator cards exposed to an instance. + AcceleratorCount int64 `protobuf:"varint,1,opt,name=accelerator_count,json=acceleratorCount" json:"accelerator_count,omitempty"` + // The accelerator type resource name. List of supported accelerators + // [here](/compute/docs/gpus/#Introduction) + AcceleratorType string `protobuf:"bytes,2,opt,name=accelerator_type,json=acceleratorType" json:"accelerator_type,omitempty"` +} + +func (m *AcceleratorConfig) Reset() { *m = AcceleratorConfig{} } +func (m *AcceleratorConfig) String() string { return proto.CompactTextString(m) } +func (*AcceleratorConfig) ProtoMessage() {} +func (*AcceleratorConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{50} } + +func (m *AcceleratorConfig) GetAcceleratorCount() int64 { + if m != nil { + return m.AcceleratorCount + } + return 0 +} + +func (m *AcceleratorConfig) GetAcceleratorType() string { + if m != nil { + return m.AcceleratorType + } + return "" +} + // SetNetworkPolicyRequest enables/disables network policy for a cluster. type SetNetworkPolicyRequest struct { // The Google Developers Console [project ID or project @@ -3066,7 +3238,7 @@ type SetNetworkPolicyRequest struct { func (m *SetNetworkPolicyRequest) Reset() { *m = SetNetworkPolicyRequest{} } func (m *SetNetworkPolicyRequest) String() string { return proto.CompactTextString(m) } func (*SetNetworkPolicyRequest) ProtoMessage() {} -func (*SetNetworkPolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{48} } +func (*SetNetworkPolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{51} } func (m *SetNetworkPolicyRequest) GetProjectId() string { if m != nil { @@ -3103,6 +3275,9 @@ func init() { proto.RegisterType((*AddonsConfig)(nil), "google.container.v1.AddonsConfig") proto.RegisterType((*HttpLoadBalancing)(nil), "google.container.v1.HttpLoadBalancing") proto.RegisterType((*HorizontalPodAutoscaling)(nil), "google.container.v1.HorizontalPodAutoscaling") + proto.RegisterType((*KubernetesDashboard)(nil), "google.container.v1.KubernetesDashboard") + proto.RegisterType((*MasterAuthorizedNetworksConfig)(nil), "google.container.v1.MasterAuthorizedNetworksConfig") + proto.RegisterType((*MasterAuthorizedNetworksConfig_CidrBlock)(nil), "google.container.v1.MasterAuthorizedNetworksConfig.CidrBlock") proto.RegisterType((*LegacyAbac)(nil), "google.container.v1.LegacyAbac") proto.RegisterType((*NetworkPolicy)(nil), "google.container.v1.NetworkPolicy") proto.RegisterType((*IPAllocationPolicy)(nil), "google.container.v1.IPAllocationPolicy") @@ -3145,6 +3320,7 @@ func init() { proto.RegisterType((*SetLegacyAbacRequest)(nil), "google.container.v1.SetLegacyAbacRequest") proto.RegisterType((*StartIPRotationRequest)(nil), "google.container.v1.StartIPRotationRequest") proto.RegisterType((*CompleteIPRotationRequest)(nil), "google.container.v1.CompleteIPRotationRequest") + proto.RegisterType((*AcceleratorConfig)(nil), "google.container.v1.AcceleratorConfig") proto.RegisterType((*SetNetworkPolicyRequest)(nil), "google.container.v1.SetNetworkPolicyRequest") proto.RegisterEnum("google.container.v1.NetworkPolicy_Provider", NetworkPolicy_Provider_name, NetworkPolicy_Provider_value) proto.RegisterEnum("google.container.v1.Cluster_Status", Cluster_Status_name, Cluster_Status_value) @@ -4259,255 +4435,270 @@ var _ClusterManager_serviceDesc = grpc.ServiceDesc{ func init() { proto.RegisterFile("google/container/v1/cluster_service.proto", fileDescriptor0) } var fileDescriptor0 = []byte{ - // 3988 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xdb, 0x6f, 0x1b, 0x57, - 0x7a, 0xdf, 0xa1, 0x28, 0x4a, 0xfc, 0x78, 0x11, 0x75, 0x74, 0xf1, 0x2c, 0x63, 0xc7, 0xf2, 0xe4, - 0xe6, 0xd8, 0x89, 0x18, 0x3b, 0xde, 0x5c, 0x1c, 0x37, 0x08, 0x4d, 0xd1, 0x12, 0x63, 0x8a, 0xe4, - 0x0e, 0xa5, 0xb8, 0x09, 0xba, 0x1d, 0x8c, 0xc8, 0x23, 0x6a, 0xa2, 0xe1, 0xcc, 0xec, 0xcc, 0x50, - 0x1b, 0xd9, 0xf0, 0x43, 0x17, 0x5d, 0xa0, 0x40, 0x81, 0xa2, 0x40, 0xaf, 0x28, 0x8a, 0x45, 0xb1, - 0xdd, 0x16, 0xc5, 0x06, 0x68, 0xd1, 0x6d, 0xb1, 0x2d, 0xda, 0x3e, 0xf4, 0xa5, 0x40, 0x5f, 0xfa, - 0xb4, 0x0f, 0x45, 0xfb, 0x52, 0x14, 0x28, 0xfa, 0x0f, 0xf4, 0xa1, 0xaf, 0xc5, 0xb9, 0xcc, 0x70, - 0x86, 0x9c, 0x11, 0xa5, 0x30, 0xb4, 0xfb, 0x64, 0xcd, 0x77, 0x6e, 0xbf, 0xf3, 0x9d, 0x73, 0x7e, - 0xdf, 0x8d, 0x86, 0xd7, 0x7b, 0xa6, 0xd9, 0xd3, 0x71, 0xa9, 0x63, 0x1a, 0xae, 0xaa, 0x19, 0xd8, - 0x2e, 0x9d, 0xdc, 0x2a, 0x75, 0xf4, 0x81, 0xe3, 0x62, 0x5b, 0x71, 0xb0, 0x7d, 0xa2, 0x75, 0xf0, - 0xa6, 0x65, 0x9b, 0xae, 0x89, 0x56, 0x58, 0xd7, 0x4d, 0xbf, 0xeb, 0xe6, 0xc9, 0xad, 0xe2, 0x65, - 0x3e, 0x5e, 0xb5, 0xb4, 0x92, 0x6a, 0x18, 0xa6, 0xab, 0xba, 0x9a, 0x69, 0x38, 0x6c, 0x48, 0xf1, - 0x05, 0xde, 0x4a, 0xbf, 0x0e, 0x06, 0x87, 0x25, 0xdc, 0xb7, 0xdc, 0x53, 0xd6, 0x28, 0xfd, 0x28, - 0x09, 0xd0, 0x30, 0xbb, 0xb8, 0x62, 0x1a, 0x87, 0x5a, 0x0f, 0x5d, 0x83, 0x6c, 0x5f, 0xed, 0x1c, - 0x69, 0x06, 0x56, 0xdc, 0x53, 0x0b, 0x8b, 0xc2, 0x86, 0x70, 0x3d, 0x2d, 0x67, 0xb8, 0x6c, 0xef, - 0xd4, 0xc2, 0x68, 0x03, 0xb2, 0x5d, 0xcd, 0x39, 0x56, 0x1c, 0xed, 0x31, 0x56, 0x7a, 0x07, 0x62, - 0x62, 0x43, 0xb8, 0x3e, 0x2f, 0x03, 0x91, 0xb5, 0xb5, 0xc7, 0x78, 0xfb, 0x80, 0x4c, 0x62, 0xaa, - 0x03, 0xf7, 0x48, 0x71, 0x3a, 0xa6, 0x85, 0x1d, 0x71, 0x6e, 0x63, 0x8e, 0x4c, 0x42, 0x65, 0x6d, - 0x2a, 0x42, 0xaf, 0xc1, 0x12, 0xdf, 0x97, 0xa2, 0x76, 0x3a, 0xe6, 0xc0, 0x70, 0xc5, 0x34, 0x5d, - 0x2a, 0xcf, 0xc5, 0x65, 0x26, 0x45, 0x35, 0x58, 0xec, 0x63, 0x57, 0xed, 0xaa, 0xae, 0x2a, 0x26, - 0x37, 0xe6, 0xae, 0x67, 0x6e, 0xbf, 0xb9, 0x19, 0xa1, 0x82, 0xcd, 0xe1, 0x1e, 0x36, 0x77, 0x79, - 0xff, 0xaa, 0xe1, 0xda, 0xa7, 0xb2, 0x3f, 0x1c, 0x5d, 0x01, 0xd0, 0xfa, 0x6a, 0x8f, 0xef, 0x6c, - 0x9e, 0x2e, 0x97, 0xa6, 0x12, 0xba, 0xaf, 0x0a, 0xa4, 0x74, 0xf5, 0x00, 0xeb, 0x8e, 0x98, 0xa2, - 0xeb, 0xdc, 0x9c, 0xb4, 0x4e, 0x9d, 0xf6, 0x66, 0xab, 0xf0, 0xa1, 0xe8, 0x55, 0x58, 0xd2, 0xcd, - 0x8e, 0xaa, 0x2b, 0x8e, 0xd3, 0x55, 0xd8, 0xbe, 0x16, 0xa8, 0x7e, 0x72, 0x54, 0xdc, 0x76, 0xba, - 0x15, 0xba, 0x2d, 0x04, 0x49, 0x57, 0xed, 0x39, 0xe2, 0x22, 0x55, 0x0d, 0xfd, 0x1b, 0x6d, 0x40, - 0xc6, 0xb2, 0x31, 0x39, 0x1c, 0xed, 0x40, 0xc7, 0x22, 0x6c, 0x08, 0xd7, 0x17, 0xe5, 0xa0, 0xa8, - 0xf8, 0x01, 0xe4, 0x42, 0x9b, 0x43, 0x05, 0x98, 0x3b, 0xc6, 0xa7, 0xfc, 0x94, 0xc8, 0x9f, 0x68, - 0x15, 0xe6, 0x4f, 0x54, 0x7d, 0x80, 0xe9, 0xb1, 0xa4, 0x65, 0xf6, 0x71, 0x37, 0xf1, 0x9e, 0x50, - 0x7c, 0x1f, 0x32, 0x01, 0xc4, 0x17, 0x19, 0x2a, 0xfd, 0x34, 0x01, 0xb0, 0xab, 0x92, 0xdb, 0x58, - 0x1e, 0xb8, 0x47, 0xa8, 0x08, 0x8b, 0x03, 0x07, 0xdb, 0x86, 0xda, 0xf7, 0x2e, 0x88, 0xff, 0x4d, - 0xda, 0x2c, 0xd5, 0x71, 0xbe, 0x67, 0xda, 0x5d, 0x3e, 0x8f, 0xff, 0x8d, 0x8e, 0xe0, 0x9b, 0x1d, - 0x5d, 0xc3, 0x86, 0xab, 0x74, 0xb0, 0xed, 0x6a, 0x87, 0x5a, 0x47, 0x75, 0xb1, 0xd2, 0xa1, 0xda, - 0x14, 0xe7, 0x36, 0x84, 0xeb, 0x99, 0xdb, 0x6f, 0x44, 0x2a, 0xbd, 0x42, 0x47, 0x55, 0x86, 0x83, - 0xd8, 0x09, 0xc8, 0x97, 0x3a, 0xd1, 0x0d, 0xe8, 0x0e, 0xac, 0x7b, 0xcf, 0xa7, 0xa3, 0x06, 0x57, - 0x13, 0xbb, 0x14, 0xd3, 0x2a, 0x6f, 0xad, 0xa8, 0x81, 0xb1, 0xe8, 0x4d, 0x40, 0xe3, 0xf8, 0x44, - 0x4c, 0x47, 0x2c, 0x8f, 0x2d, 0x45, 0xee, 0x13, 0xef, 0x4e, 0x14, 0x79, 0xc8, 0xee, 0x13, 0x93, - 0x3c, 0xc4, 0xa7, 0x52, 0x1b, 0x2e, 0xc5, 0xe0, 0x46, 0xef, 0x81, 0xa8, 0x39, 0xce, 0x00, 0x2b, - 0x11, 0xcb, 0x09, 0xf4, 0xd8, 0xd7, 0x69, 0xfb, 0xd8, 0x78, 0xe9, 0xe7, 0x02, 0x64, 0xcb, 0xdd, - 0xae, 0x69, 0x38, 0x7c, 0xaa, 0x4f, 0x60, 0xe5, 0xc8, 0x75, 0x2d, 0x45, 0x37, 0xd5, 0xae, 0x72, - 0xa0, 0xea, 0xaa, 0xd1, 0xd1, 0x8c, 0x1e, 0x9d, 0x25, 0x73, 0xfb, 0xd5, 0x48, 0x6d, 0xee, 0xb8, - 0xae, 0x55, 0x37, 0xd5, 0xee, 0x7d, 0xaf, 0xb7, 0xbc, 0x7c, 0x34, 0x2a, 0x42, 0xc7, 0x50, 0x3c, - 0x32, 0x6d, 0xed, 0x31, 0x19, 0xa8, 0x2b, 0x96, 0xd9, 0x55, 0xd4, 0x81, 0x6b, 0x3a, 0x1d, 0x55, - 0x27, 0xd3, 0x27, 0xe8, 0xf4, 0xd1, 0x2f, 0x71, 0xc7, 0x1f, 0xd6, 0x32, 0xbb, 0xe5, 0xe1, 0x20, - 0x59, 0x3c, 0x8a, 0x69, 0x91, 0x4a, 0xb0, 0x3c, 0x06, 0x8a, 0xdc, 0xa4, 0xae, 0xe6, 0xa8, 0x07, - 0x3a, 0xee, 0x72, 0xa5, 0xf8, 0xdf, 0xd2, 0x3b, 0x20, 0xc6, 0x2d, 0x73, 0xe6, 0xb8, 0x57, 0x01, - 0xea, 0xb8, 0xa7, 0x76, 0x4e, 0xcb, 0x07, 0x6a, 0x07, 0x89, 0xb0, 0x80, 0x8d, 0x60, 0x47, 0xef, - 0x53, 0xfa, 0x3d, 0x01, 0x72, 0x0d, 0xec, 0x7e, 0xcf, 0xb4, 0x8f, 0x5b, 0xa6, 0xae, 0x75, 0x4e, - 0xd1, 0x36, 0x2c, 0x5a, 0xb6, 0x79, 0xa2, 0x75, 0xb1, 0x4d, 0x3b, 0xe7, 0xe3, 0xf8, 0x21, 0x38, - 0x6a, 0xb3, 0xc5, 0x87, 0xc8, 0xfe, 0xe0, 0xe0, 0xa2, 0x89, 0xf0, 0xa2, 0x2f, 0xc1, 0xa2, 0xd7, - 0x1f, 0x65, 0x60, 0x61, 0xbf, 0xf1, 0xb0, 0xd1, 0x7c, 0xd4, 0x28, 0x7c, 0x03, 0x01, 0xa4, 0x2a, - 0xe5, 0x7a, 0xad, 0xd2, 0x2c, 0x08, 0xd2, 0x6f, 0x26, 0x00, 0xd5, 0x5a, 0x65, 0x9d, 0xd0, 0x09, - 0x21, 0x79, 0x0e, 0xef, 0x65, 0xc8, 0x0f, 0x1c, 0xac, 0x68, 0x96, 0xa2, 0xea, 0x9a, 0xea, 0x60, - 0x87, 0xef, 0x28, 0x3b, 0x70, 0x70, 0xcd, 0x2a, 0x33, 0x19, 0xba, 0x09, 0xcb, 0x1d, 0x1b, 0x93, - 0x47, 0xe7, 0x0c, 0x0e, 0x0c, 0x86, 0x94, 0xa3, 0x28, 0xb0, 0x86, 0xb6, 0x2f, 0xa7, 0x14, 0xed, - 0x7f, 0x29, 0xf4, 0xb1, 0xcf, 0x71, 0x8a, 0xf6, 0xc5, 0x0d, 0xf2, 0xe4, 0x6f, 0xc0, 0xb2, 0xf7, - 0xd8, 0x34, 0xeb, 0xe4, 0x8e, 0xd2, 0xd1, 0xba, 0xb6, 0x98, 0xa4, 0x5d, 0x97, 0x78, 0x43, 0xcd, - 0x3a, 0xb9, 0x53, 0xd1, 0xba, 0x36, 0xc1, 0x69, 0x98, 0x5d, 0x1c, 0xe8, 0xc8, 0x78, 0x38, 0x4b, - 0xa4, 0x7e, 0xaf, 0x37, 0x00, 0x71, 0x33, 0xe0, 0x04, 0x7a, 0xa6, 0x68, 0xcf, 0x82, 0xd7, 0xe2, - 0xf5, 0x96, 0xfe, 0x37, 0x07, 0x0b, 0x15, 0xb6, 0x0e, 0xe1, 0xd5, 0x00, 0x2d, 0xd1, 0xbf, 0x09, - 0xaf, 0x76, 0xb1, 0xd3, 0xb1, 0x35, 0x8b, 0x28, 0x8c, 0xb3, 0x52, 0x50, 0x44, 0xd6, 0xd3, 0x0c, - 0xcd, 0xd5, 0x54, 0x5d, 0xa1, 0xe8, 0x18, 0x71, 0xcf, 0x51, 0xe2, 0x2e, 0xf0, 0x16, 0x46, 0xfc, - 0x84, 0xbb, 0x3f, 0x82, 0x0c, 0xef, 0x45, 0x89, 0x2b, 0x49, 0xdf, 0xc2, 0xd5, 0x09, 0xd6, 0x42, - 0x06, 0x63, 0x68, 0x65, 0x3f, 0x82, 0x4c, 0x9f, 0xd2, 0x29, 0x79, 0x54, 0x47, 0x54, 0x05, 0x71, - 0x33, 0x0c, 0x69, 0x57, 0x86, 0xfe, 0x90, 0x82, 0x5f, 0x23, 0x76, 0xa6, 0xd7, 0xd3, 0x8c, 0x9e, - 0xe7, 0x1f, 0x70, 0xf5, 0xe4, 0xb9, 0xb8, 0xcd, 0xa4, 0x84, 0xd3, 0xfa, 0xa6, 0xa1, 0xb9, 0xa6, - 0x1d, 0xec, 0xbb, 0xc0, 0x38, 0x6d, 0xd8, 0xe2, 0x75, 0x17, 0x61, 0xc1, 0xbb, 0x17, 0x8b, 0xb4, - 0x8f, 0xf7, 0x19, 0x7d, 0xca, 0xe9, 0xe8, 0x53, 0x7e, 0x00, 0x39, 0x95, 0x92, 0x94, 0xa7, 0x23, - 0xa0, 0x3b, 0xbc, 0x16, 0xb9, 0xc3, 0x20, 0x9d, 0xc9, 0x59, 0x35, 0x48, 0x6e, 0x2f, 0x02, 0x04, - 0x2e, 0x6a, 0x86, 0x2e, 0x16, 0x90, 0xa0, 0x7b, 0x40, 0xb5, 0xaa, 0x58, 0xa6, 0xa9, 0x3b, 0x62, - 0x96, 0x9a, 0xed, 0x2b, 0xb1, 0x07, 0xd1, 0x32, 0x4d, 0x5d, 0x4e, 0x1b, 0xfc, 0x2f, 0x07, 0x5d, - 0x86, 0xb4, 0xf7, 0x8a, 0x1c, 0x31, 0x47, 0x0d, 0xf1, 0x50, 0x80, 0xde, 0x81, 0x4b, 0xec, 0x61, - 0x2a, 0xc7, 0x83, 0x03, 0x6c, 0x1b, 0xd8, 0xc5, 0x8e, 0xa2, 0xea, 0xd6, 0x91, 0x2a, 0xe6, 0xe9, - 0x8b, 0x59, 0x63, 0xcd, 0x0f, 0xfd, 0xd6, 0x32, 0x69, 0x44, 0x9f, 0xc2, 0x92, 0x8d, 0x1d, 0x73, - 0x60, 0x77, 0xb0, 0xc2, 0xfd, 0x89, 0x25, 0x0a, 0xec, 0xad, 0x18, 0xd3, 0x46, 0x55, 0xb7, 0x29, - 0xf3, 0x31, 0x41, 0xa7, 0x22, 0x6f, 0x87, 0x84, 0xe4, 0xf9, 0xd2, 0x19, 0x95, 0x43, 0xcd, 0xe8, - 0x61, 0xdb, 0xb2, 0x35, 0xc3, 0x15, 0x0b, 0xec, 0x55, 0xd0, 0x86, 0x07, 0x43, 0x39, 0xb9, 0x63, - 0x3a, 0xa5, 0x3a, 0x45, 0x3d, 0x50, 0x3b, 0x22, 0x3a, 0xe3, 0x8e, 0x0d, 0x29, 0x51, 0x06, 0x7d, - 0x48, 0x8f, 0x35, 0xc8, 0x7b, 0xaf, 0xdf, 0xa2, 0x2c, 0x23, 0xae, 0xd0, 0x49, 0xa4, 0xc9, 0xc4, - 0x27, 0xe7, 0x8c, 0x10, 0x7b, 0x7e, 0x0a, 0xab, 0x94, 0x9a, 0x3c, 0xf5, 0x7a, 0x13, 0xae, 0xd2, - 0x09, 0x5f, 0x8b, 0x9c, 0x70, 0x9c, 0xe5, 0x64, 0xa4, 0x59, 0x63, 0xcc, 0xf7, 0x02, 0xa4, 0x1d, - 0xac, 0x1f, 0x2a, 0xba, 0x66, 0x1c, 0x73, 0xeb, 0xbe, 0x48, 0x04, 0x75, 0xcd, 0x38, 0x26, 0x74, - 0xf0, 0xd8, 0x34, 0x3c, 0x1b, 0x4e, 0xff, 0x26, 0xf6, 0x01, 0x1b, 0x5d, 0xcb, 0x24, 0xca, 0x63, - 0x46, 0xdb, 0xff, 0x26, 0x87, 0xee, 0x11, 0x81, 0x77, 0xd9, 0x4f, 0xb0, 0xed, 0x10, 0xda, 0xe8, - 0xd1, 0xae, 0x6b, 0xbc, 0x99, 0x1f, 0xdb, 0x27, 0xac, 0x91, 0xfa, 0x1b, 0x03, 0xdb, 0x26, 0xb6, - 0x9c, 0x3f, 0x6c, 0x6f, 0xd8, 0x11, 0xf7, 0x37, 0x58, 0x2b, 0x7b, 0xcd, 0xde, 0xa8, 0xb7, 0xc0, - 0x93, 0x33, 0xda, 0xf1, 0xc6, 0x68, 0x74, 0x0c, 0xe2, 0x6d, 0xe4, 0xea, 0x7a, 0x23, 0xae, 0x42, - 0x86, 0x13, 0xb8, 0xab, 0xf5, 0xb1, 0xf8, 0x39, 0x7b, 0x11, 0x4c, 0xb4, 0xa7, 0xf5, 0x31, 0xfa, - 0x00, 0x52, 0x8e, 0xab, 0xba, 0x03, 0x47, 0x3c, 0xa6, 0x46, 0xea, 0xa5, 0x33, 0x2f, 0x5d, 0x9b, - 0x76, 0x95, 0xf9, 0x10, 0xf4, 0x0a, 0xe4, 0xd9, 0x5f, 0x4a, 0x1f, 0x3b, 0x8e, 0xda, 0xc3, 0xa2, - 0x4e, 0x17, 0xc8, 0x31, 0xe9, 0x2e, 0x13, 0xa2, 0x37, 0x61, 0x25, 0xcc, 0xe1, 0x34, 0x14, 0x10, - 0xfb, 0x8c, 0x2e, 0x83, 0x44, 0x4e, 0xe2, 0x81, 0x18, 0x32, 0x37, 0xa2, 0xc9, 0x1c, 0x6d, 0xc2, - 0x8a, 0x66, 0x38, 0xae, 0x6a, 0x74, 0xb0, 0xd2, 0xb3, 0xcd, 0x81, 0xa5, 0x0c, 0x6c, 0xdd, 0x11, - 0x4d, 0xfa, 0x3c, 0x97, 0xbd, 0xa6, 0x6d, 0xd2, 0xb2, 0x6f, 0xeb, 0x0e, 0x99, 0x3d, 0xa4, 0x43, - 0x46, 0xdd, 0x16, 0xc3, 0x12, 0xd0, 0x20, 0xa3, 0xee, 0xab, 0x90, 0xc1, 0x5f, 0x58, 0x9a, 0xcd, - 0xf5, 0xf7, 0x5d, 0xa6, 0x3f, 0x26, 0x22, 0xfa, 0x2b, 0x96, 0x61, 0x25, 0xe2, 0x25, 0x5e, 0xc8, - 0x59, 0xd6, 0x20, 0xc5, 0xf4, 0x8a, 0xd6, 0x01, 0xb5, 0xf7, 0xca, 0x7b, 0xfb, 0x6d, 0x65, 0xbf, - 0xd1, 0x6e, 0x55, 0x2b, 0xb5, 0x07, 0xb5, 0xea, 0x56, 0xe1, 0x1b, 0xa8, 0x00, 0xd9, 0x96, 0xdc, - 0xfc, 0xa4, 0xd6, 0xae, 0x35, 0x1b, 0xb5, 0xc6, 0x76, 0x41, 0x20, 0xe6, 0x5e, 0xde, 0x6f, 0xd0, - 0x8f, 0x04, 0x5a, 0x82, 0x8c, 0x5c, 0xad, 0x34, 0x1b, 0x95, 0x5a, 0x9d, 0x08, 0xe6, 0x50, 0x16, - 0x16, 0xdb, 0x7b, 0xcd, 0x56, 0x8b, 0x7c, 0x25, 0x51, 0x1a, 0xe6, 0xab, 0xb2, 0xdc, 0x94, 0x0b, - 0xf3, 0xd2, 0x0f, 0x92, 0x90, 0xe3, 0x67, 0xb9, 0x6f, 0x75, 0x89, 0x4f, 0xfa, 0x16, 0xac, 0x76, - 0xb1, 0xa3, 0xd9, 0xb8, 0x1b, 0xbe, 0x52, 0xcc, 0x1c, 0x23, 0xde, 0x16, 0xbc, 0x52, 0xf7, 0xa0, - 0xe8, 0x8d, 0x88, 0x30, 0x14, 0xcc, 0x3a, 0x8b, 0xbc, 0xc7, 0xee, 0x98, 0xbd, 0xd8, 0x87, 0x35, - 0x6f, 0x74, 0x98, 0xf1, 0x53, 0xe7, 0x65, 0xfc, 0x15, 0x3e, 0x3e, 0xe4, 0xd5, 0x96, 0x46, 0xb6, - 0x41, 0x08, 0x5e, 0xd1, 0xba, 0x9e, 0xdd, 0x0a, 0x6c, 0x83, 0x50, 0x79, 0xad, 0x4b, 0xae, 0x81, - 0x37, 0x20, 0x10, 0xe3, 0x31, 0x13, 0x56, 0xe0, 0x2d, 0x35, 0x3f, 0xd4, 0x3b, 0x86, 0x2b, 0xe3, - 0xd3, 0x07, 0xfd, 0xdb, 0x34, 0x45, 0x7f, 0xfd, 0x4c, 0x53, 0x12, 0x74, 0x6d, 0x8b, 0x23, 0x88, - 0x82, 0xfe, 0xe8, 0x4d, 0xf0, 0xf0, 0x2a, 0x43, 0x73, 0x03, 0xf4, 0x3e, 0x7b, 0xc8, 0xea, 0xbe, - 0xd5, 0xb9, 0x03, 0xeb, 0xfe, 0x69, 0x84, 0x89, 0x84, 0x07, 0x2e, 0xde, 0x49, 0x04, 0x89, 0x44, - 0xfa, 0x9f, 0x79, 0x48, 0x37, 0x2d, 0x6c, 0xd3, 0x49, 0x22, 0x7d, 0x20, 0x8f, 0x08, 0x13, 0x01, - 0x22, 0xfc, 0x18, 0xf2, 0xa6, 0x37, 0x88, 0xe9, 0x6b, 0xee, 0x0c, 0xce, 0xf0, 0xe7, 0xdf, 0x24, - 0x2a, 0x94, 0x73, 0xfe, 0x50, 0xaa, 0xd1, 0x5f, 0xf0, 0x79, 0x27, 0x49, 0xe7, 0x78, 0x65, 0xc2, - 0x1c, 0x23, 0xcc, 0xb3, 0x0e, 0xa9, 0x2e, 0x76, 0x55, 0x4d, 0xe7, 0x47, 0xc6, 0xbf, 0x22, 0x18, - 0x69, 0x3e, 0x8a, 0x91, 0x42, 0x36, 0x20, 0x35, 0x62, 0x03, 0xae, 0x42, 0xc6, 0x55, 0xed, 0x1e, - 0x76, 0x59, 0x33, 0xbb, 0x42, 0xc0, 0x44, 0xa4, 0x83, 0x24, 0x4f, 0x7c, 0xb0, 0x19, 0x58, 0x68, - 0x55, 0x1b, 0x5b, 0x11, 0x6f, 0x75, 0x11, 0x92, 0x5b, 0xcd, 0x46, 0x95, 0x3d, 0xd2, 0xf2, 0xfd, - 0xa6, 0xbc, 0x47, 0x1f, 0xa9, 0xf4, 0x9f, 0x09, 0x48, 0x52, 0xc5, 0xac, 0x42, 0x61, 0xef, 0xd3, - 0x56, 0x75, 0x64, 0x42, 0x04, 0xf9, 0x8a, 0x5c, 0x2d, 0xef, 0x55, 0x95, 0x4a, 0x7d, 0xbf, 0xbd, - 0x57, 0x95, 0x0b, 0x02, 0x91, 0x6d, 0x55, 0xeb, 0xd5, 0x80, 0x2c, 0x41, 0x64, 0xfb, 0xad, 0x6d, - 0xb9, 0xbc, 0x55, 0x55, 0x76, 0xcb, 0x54, 0x36, 0x87, 0x96, 0x21, 0xe7, 0xc9, 0x1a, 0xcd, 0xad, - 0x6a, 0xbb, 0x90, 0x24, 0xdd, 0xe4, 0x6a, 0xab, 0x5c, 0x93, 0xfd, 0xa1, 0xf3, 0x6c, 0xe8, 0x56, - 0x70, 0x89, 0x14, 0x01, 0xc3, 0x97, 0x25, 0x23, 0x95, 0x56, 0xb3, 0x59, 0x2f, 0x2c, 0x10, 0x29, - 0x5f, 0x78, 0x28, 0x5d, 0x44, 0x97, 0x41, 0x6c, 0x57, 0xf7, 0x86, 0x22, 0x65, 0xb7, 0xdc, 0x28, - 0x6f, 0x57, 0x77, 0xab, 0x8d, 0xbd, 0x42, 0x1a, 0xad, 0xc1, 0x72, 0x79, 0x7f, 0xaf, 0xa9, 0xf0, - 0x65, 0x19, 0x10, 0x20, 0x0a, 0xa4, 0xe2, 0x30, 0xc0, 0x0c, 0xca, 0x03, 0x90, 0xc9, 0xea, 0xe5, - 0xfb, 0xd5, 0x7a, 0xbb, 0x90, 0x45, 0x2b, 0xb0, 0x44, 0xbe, 0xd9, 0x9e, 0x94, 0xf2, 0xfe, 0xde, - 0x4e, 0x21, 0x47, 0xb5, 0x1f, 0x5a, 0xb1, 0x5d, 0xfb, 0xac, 0x5a, 0xc8, 0xfb, 0xf2, 0xea, 0xde, - 0xa3, 0xa6, 0xfc, 0x50, 0x69, 0x35, 0xeb, 0xb5, 0xca, 0xa7, 0x85, 0x25, 0xe9, 0x57, 0x04, 0x58, - 0xad, 0x50, 0xd3, 0xc7, 0x39, 0x50, 0xc6, 0xdf, 0x1d, 0x60, 0xc7, 0x25, 0x81, 0xb9, 0x65, 0x9b, - 0x9f, 0xe3, 0x8e, 0x4b, 0x38, 0x83, 0x3d, 0x83, 0x34, 0x97, 0xd4, 0xba, 0x91, 0x6f, 0xe1, 0x1d, - 0x58, 0xe0, 0x06, 0x9f, 0x27, 0x22, 0x2e, 0x9f, 0x65, 0x38, 0x65, 0xaf, 0xb3, 0x84, 0x61, 0x79, - 0x1b, 0xbb, 0xd3, 0xaf, 0x4f, 0x73, 0x09, 0xdc, 0xbb, 0xee, 0xf2, 0x38, 0x2b, 0xed, 0xb9, 0xd5, - 0x5d, 0xe9, 0xc7, 0x02, 0xac, 0x32, 0x86, 0x9f, 0xf5, 0x52, 0xe8, 0x2e, 0xa4, 0x06, 0x74, 0x25, - 0x1e, 0xd8, 0x48, 0x67, 0x29, 0x82, 0x61, 0x92, 0xf9, 0x08, 0xe9, 0x5f, 0x04, 0x58, 0x63, 0x22, - 0xdf, 0xdf, 0x9e, 0x19, 0xce, 0x0d, 0xc8, 0x86, 0x4c, 0x03, 0xb3, 0x70, 0x60, 0x0c, 0x6d, 0xc2, - 0x35, 0xde, 0xc3, 0x63, 0x50, 0x46, 0x1d, 0x34, 0x76, 0xf3, 0x8c, 0x5f, 0x38, 0x25, 0x98, 0x1a, - 0x49, 0x09, 0x4a, 0xff, 0x21, 0xc0, 0x95, 0x36, 0x76, 0xa3, 0x18, 0xff, 0x39, 0xee, 0xeb, 0x63, - 0xc8, 0x04, 0x6d, 0xd5, 0xfc, 0x05, 0x6d, 0x55, 0x70, 0xb0, 0xf4, 0x3b, 0x02, 0x88, 0x6d, 0xec, - 0xd6, 0x43, 0x41, 0xe3, 0xec, 0x36, 0x17, 0x11, 0xb6, 0x26, 0xa3, 0xc2, 0x56, 0xe9, 0x87, 0x02, - 0xbc, 0xd0, 0xc6, 0xee, 0x98, 0xc3, 0x31, 0x3b, 0x68, 0xd1, 0x81, 0x72, 0x32, 0x26, 0x50, 0x96, - 0x7e, 0x2a, 0xc0, 0x7a, 0x1b, 0xbb, 0x21, 0x57, 0x66, 0x66, 0xd8, 0xc6, 0xe2, 0xe9, 0xe4, 0x57, - 0x8a, 0xa7, 0xa5, 0x1f, 0x08, 0xb0, 0x42, 0x4f, 0x9b, 0xbb, 0x1b, 0xb3, 0x43, 0x1c, 0x8a, 0xad, - 0x93, 0x23, 0xb1, 0xb5, 0xf4, 0x1b, 0x02, 0xac, 0x30, 0x9e, 0x60, 0x7e, 0xcc, 0xec, 0x70, 0xbc, - 0x02, 0xf9, 0x11, 0x3f, 0x8a, 0x9d, 0x68, 0xae, 0x1f, 0x72, 0xa0, 0xbe, 0x4c, 0xc0, 0x2a, 0xb9, - 0x6e, 0xc3, 0x64, 0xcb, 0xcc, 0x10, 0xed, 0x40, 0x4a, 0xed, 0xb8, 0x1e, 0x92, 0x7c, 0x4c, 0x5a, - 0x20, 0x0a, 0xcc, 0x66, 0x99, 0x8e, 0x93, 0xf9, 0x78, 0xf4, 0xae, 0xcf, 0xd4, 0xe7, 0x4c, 0x20, - 0x79, 0x34, 0xfd, 0x21, 0xa4, 0xd8, 0x54, 0xe1, 0x34, 0x63, 0x01, 0xb2, 0xc4, 0xce, 0xb6, 0xca, - 0xed, 0xf6, 0xa3, 0xa6, 0xbc, 0x55, 0x10, 0x88, 0x95, 0xdf, 0xae, 0x36, 0xaa, 0x32, 0xf1, 0x18, - 0x7c, 0x71, 0x42, 0x3a, 0x82, 0xd5, 0x2d, 0xac, 0xe3, 0xd9, 0x1b, 0x23, 0x69, 0x07, 0x56, 0xea, - 0x9a, 0xe3, 0xd9, 0xd7, 0x29, 0xee, 0xab, 0x34, 0x80, 0xd5, 0xf0, 0x4c, 0x8e, 0x65, 0x1a, 0x0e, - 0x46, 0xef, 0xc1, 0x22, 0x5f, 0xce, 0x11, 0x05, 0x9a, 0xa7, 0x39, 0xdb, 0xf2, 0xfb, 0xbd, 0xd1, - 0x4b, 0x90, 0xeb, 0x6b, 0x8e, 0x43, 0xd8, 0x82, 0xac, 0xe0, 0x88, 0x09, 0x7a, 0xcd, 0xb3, 0x5c, - 0xf8, 0x19, 0x91, 0x49, 0xc7, 0xb0, 0xb2, 0x8d, 0x5d, 0xdf, 0xef, 0x9d, 0x42, 0x53, 0xd7, 0x20, - 0x3b, 0xf4, 0xd6, 0x7d, 0x5d, 0x65, 0x7c, 0x59, 0xad, 0x2b, 0x7d, 0x0c, 0x6b, 0x64, 0x8f, 0xfe, - 0x6a, 0xd3, 0xe8, 0xcb, 0x80, 0xf5, 0x0a, 0x89, 0xb4, 0xf5, 0x67, 0x84, 0xfd, 0x29, 0xac, 0x8f, - 0x62, 0xe7, 0x27, 0xf4, 0x21, 0x80, 0xdf, 0xd1, 0x3b, 0xa3, 0x17, 0xcf, 0x0e, 0x2f, 0xe4, 0xc0, - 0x88, 0xf3, 0x9d, 0xd3, 0x43, 0x58, 0xdf, 0xc6, 0x2e, 0x21, 0x77, 0x6c, 0x4f, 0xcb, 0xe6, 0xd2, - 0xaf, 0x26, 0x20, 0x1b, 0x9c, 0x0a, 0xbd, 0x03, 0x97, 0xba, 0xf8, 0x50, 0x1d, 0xe8, 0xee, 0x58, - 0x5a, 0x89, 0x4d, 0xb8, 0xc6, 0x9b, 0x47, 0xd2, 0x4a, 0x9b, 0xb0, 0x72, 0xa2, 0xea, 0x5a, 0x38, - 0x96, 0xf7, 0xea, 0xa9, 0xcb, 0xb4, 0x29, 0x10, 0xca, 0x3b, 0x2c, 0x0a, 0x66, 0xeb, 0x04, 0xdc, - 0x9a, 0xa4, 0x17, 0x05, 0xd3, 0x96, 0x61, 0x14, 0x7c, 0x03, 0xd8, 0x14, 0x81, 0xbe, 0x8e, 0x38, - 0x4f, 0xe7, 0x5e, 0xa2, 0x0d, 0x7e, 0x57, 0x07, 0xdd, 0x86, 0x35, 0xd6, 0x37, 0xcc, 0xa6, 0xac, - 0x56, 0x9a, 0x96, 0x19, 0xcc, 0x50, 0x50, 0xea, 0x48, 0x7f, 0x22, 0xc0, 0x1a, 0xf3, 0xcf, 0x67, - 0xef, 0x0d, 0xde, 0x85, 0xb4, 0xef, 0x35, 0x71, 0xeb, 0x38, 0x21, 0x11, 0xbc, 0xe8, 0x79, 0x54, - 0xd2, 0xaf, 0x0b, 0xb0, 0xc6, 0xf8, 0xec, 0xff, 0x81, 0xd7, 0x4a, 0xc8, 0x95, 0x3c, 0x04, 0x0f, - 0xca, 0xec, 0x6c, 0xb4, 0xf4, 0x6b, 0x02, 0xa0, 0xed, 0xa1, 0x77, 0xfb, 0x3c, 0x37, 0xfd, 0xdf, - 0x49, 0x58, 0xf4, 0x70, 0x44, 0xe6, 0x2f, 0xde, 0x85, 0x14, 0x77, 0x7d, 0x12, 0xe7, 0x2b, 0xb7, - 0xf0, 0xee, 0x17, 0x2c, 0xed, 0x9c, 0x99, 0x4c, 0x16, 0x61, 0xc1, 0x7b, 0xb5, 0x2c, 0x9f, 0xec, - 0x7d, 0xc6, 0x25, 0x2d, 0x0f, 0xe3, 0x92, 0x96, 0xf7, 0xfc, 0x6c, 0x49, 0x8f, 0xfa, 0x00, 0x2f, - 0x9f, 0x79, 0x55, 0x27, 0xa7, 0x69, 0x8f, 0xa2, 0x92, 0x22, 0x23, 0x61, 0x42, 0x72, 0x8a, 0x30, - 0x01, 0x55, 0x00, 0xfa, 0xaa, 0xa1, 0xf6, 0x70, 0x1f, 0x1b, 0x2e, 0x77, 0x37, 0x5e, 0x8a, 0x9d, - 0x6a, 0xd7, 0xef, 0x2a, 0x07, 0x86, 0x91, 0x78, 0x7d, 0xca, 0xcc, 0xe8, 0x3a, 0x20, 0xfe, 0xa1, - 0x3c, 0xaa, 0xed, 0xed, 0x28, 0x2c, 0x0f, 0x3a, 0x37, 0x9a, 0x31, 0x4d, 0x86, 0x32, 0xa6, 0xf3, - 0xc3, 0x8c, 0x69, 0x4a, 0xfa, 0x53, 0x01, 0xf2, 0x61, 0x88, 0xc4, 0x38, 0x91, 0xad, 0x2a, 0x03, - 0xab, 0x67, 0xab, 0x5d, 0xaf, 0x00, 0x4f, 0xb7, 0xbf, 0xcf, 0x44, 0xe8, 0x2a, 0x53, 0xa5, 0x62, - 0x63, 0x4b, 0xd5, 0x6c, 0x5e, 0x31, 0x05, 0x22, 0x92, 0xa9, 0x04, 0xb5, 0x60, 0x89, 0x0f, 0x57, - 0x4c, 0xcb, 0xcb, 0xf0, 0xc5, 0x97, 0x36, 0xca, 0xc3, 0xb9, 0x9b, 0xac, 0xbb, 0x9c, 0x1f, 0x84, - 0xbe, 0xa5, 0x3e, 0xa0, 0xf1, 0x5e, 0xe8, 0x5b, 0x70, 0x29, 0x88, 0x55, 0x71, 0x5c, 0xd5, 0x76, - 0x59, 0x2e, 0x9b, 0xbd, 0x96, 0xd5, 0x00, 0xec, 0x36, 0x69, 0xa4, 0x55, 0x81, 0x89, 0x15, 0x50, - 0xe9, 0x5f, 0x05, 0xb8, 0x1c, 0x88, 0x74, 0x03, 0x27, 0xf8, 0x1c, 0x03, 0xdd, 0xaf, 0xe5, 0xd6, - 0x7d, 0xc9, 0x02, 0x35, 0x6f, 0x67, 0x6d, 0xed, 0x31, 0x7e, 0x9e, 0x7b, 0xba, 0xc2, 0x4b, 0x96, - 0x8c, 0x87, 0xe6, 0x29, 0x0f, 0xa5, 0x0d, 0x8f, 0x80, 0xa4, 0xdf, 0x16, 0xe0, 0x45, 0xd9, 0xd4, - 0xf5, 0x03, 0xb5, 0x73, 0xec, 0x41, 0xe6, 0xc7, 0xf9, 0x3c, 0xf9, 0x79, 0x9f, 0x79, 0x96, 0x01, - 0xa3, 0xc4, 0x9d, 0xb3, 0x70, 0x05, 0x56, 0xb8, 0x58, 0x05, 0x56, 0x7a, 0x02, 0x2b, 0x51, 0x19, - 0xf3, 0xd8, 0xdf, 0x65, 0xa0, 0x97, 0x21, 0xdf, 0xd7, 0x8c, 0x20, 0x93, 0xb3, 0x5f, 0x9f, 0x65, - 0xfb, 0x9a, 0x31, 0x64, 0x71, 0xd2, 0x4b, 0xfd, 0x62, 0x9c, 0xef, 0xb3, 0x7d, 0xf5, 0x0b, 0xbf, - 0x97, 0xf4, 0xb7, 0x09, 0x28, 0x90, 0x60, 0x98, 0x96, 0x79, 0x66, 0xa7, 0xdc, 0x83, 0xf1, 0x7a, - 0x30, 0xfb, 0x1d, 0xdb, 0xfb, 0x71, 0x81, 0x5f, 0x08, 0xd1, 0x57, 0x2f, 0x0c, 0xcf, 0x47, 0x17, - 0x86, 0xbf, 0x8e, 0x12, 0xd7, 0xf7, 0x05, 0x1a, 0x2e, 0x07, 0xea, 0xc6, 0x33, 0x53, 0x5f, 0xe0, - 0x2e, 0x24, 0xc3, 0x3f, 0x97, 0xf9, 0x1c, 0xd6, 0x29, 0xc3, 0xd5, 0x5a, 0x32, 0xff, 0xc1, 0xe3, - 0xec, 0x5c, 0xa5, 0x3e, 0x7c, 0xb3, 0x62, 0xf6, 0x2d, 0xe2, 0x23, 0x3e, 0x8b, 0xe5, 0x7e, 0x26, - 0xc0, 0x25, 0xc2, 0x59, 0xa1, 0x92, 0xfa, 0xcc, 0x54, 0x3c, 0x5e, 0xe7, 0x4f, 0x7e, 0xc5, 0x3a, - 0xff, 0xed, 0x3f, 0x78, 0x1d, 0xf2, 0x3c, 0x86, 0x61, 0x74, 0x6c, 0xa3, 0x3f, 0x14, 0x20, 0x1b, - 0x8c, 0xbc, 0x51, 0xb4, 0x0b, 0x12, 0x11, 0xe6, 0x17, 0x5f, 0x3f, 0x47, 0x4f, 0xc6, 0x43, 0xd2, - 0xbb, 0xdf, 0xff, 0xf9, 0x7f, 0xfd, 0x56, 0xe2, 0x16, 0x2a, 0x95, 0x4e, 0x6e, 0x95, 0xb8, 0x36, - 0x9c, 0xd2, 0x93, 0xa1, 0xa6, 0x9e, 0x96, 0x68, 0xf0, 0x57, 0x7a, 0x42, 0xfe, 0x79, 0x5a, 0xf2, - 0xa3, 0xf8, 0xdf, 0x17, 0x00, 0x86, 0x19, 0x7c, 0x14, 0xfd, 0x8b, 0xb9, 0xb1, 0x14, 0x7f, 0xf1, - 0xcc, 0x24, 0x81, 0xb4, 0x45, 0xd1, 0x7c, 0x88, 0xee, 0x5d, 0x10, 0x4d, 0xe9, 0xc9, 0xf0, 0x9c, - 0x9e, 0xa2, 0xdf, 0x15, 0x20, 0x17, 0xaa, 0x6f, 0xa0, 0x68, 0x85, 0x44, 0xd5, 0x40, 0x8a, 0x13, - 0x22, 0x64, 0xe9, 0x2e, 0x85, 0x78, 0x47, 0xba, 0xa8, 0xc2, 0xee, 0x0a, 0x37, 0xd0, 0x1f, 0x0b, - 0x90, 0x0b, 0x55, 0x23, 0x62, 0x80, 0x45, 0x55, 0x2c, 0x26, 0x02, 0xdb, 0xa6, 0xc0, 0xca, 0xc5, - 0xa9, 0x74, 0x47, 0x50, 0xfe, 0x93, 0x00, 0xf9, 0x70, 0x31, 0x02, 0xdd, 0x38, 0x03, 0xe6, 0x48, - 0x18, 0x34, 0x11, 0x67, 0x8f, 0xe2, 0x54, 0xa5, 0x5f, 0x9a, 0x06, 0x67, 0xc9, 0xb7, 0x85, 0xa5, - 0x27, 0x41, 0x13, 0xfc, 0xb4, 0xc4, 0x52, 0x75, 0x64, 0x1f, 0xff, 0x1e, 0x76, 0x60, 0x82, 0x86, - 0xf2, 0x76, 0x9c, 0x09, 0x89, 0xaf, 0x58, 0x4c, 0xdc, 0x97, 0x4e, 0xf7, 0x75, 0x28, 0xa9, 0xb3, - 0xd9, 0x57, 0x20, 0xaa, 0x20, 0x9b, 0xfb, 0x2b, 0x01, 0x96, 0xc7, 0xea, 0x0f, 0xe8, 0xcd, 0x58, - 0xd3, 0x18, 0x55, 0xa7, 0x98, 0xb8, 0xa5, 0x26, 0xdd, 0x52, 0x4d, 0xda, 0x9a, 0x6a, 0x4b, 0xbc, - 0x42, 0x41, 0x50, 0xff, 0x03, 0xb3, 0x7f, 0xe3, 0x3f, 0x87, 0x88, 0x4f, 0xe6, 0xc6, 0x14, 0x32, - 0x26, 0x62, 0x97, 0x29, 0xf6, 0xba, 0xb4, 0x3d, 0x15, 0xf6, 0x61, 0xfd, 0x82, 0xc0, 0xff, 0x73, - 0x01, 0x96, 0x46, 0x6a, 0x17, 0xe8, 0x66, 0x1c, 0xf2, 0x88, 0x0a, 0xc7, 0x44, 0xd0, 0x0d, 0x0a, - 0x7a, 0x47, 0xaa, 0x4c, 0x05, 0x9a, 0x95, 0x2e, 0x08, 0xe0, 0x2f, 0x05, 0xc8, 0x06, 0xeb, 0x16, - 0x31, 0x36, 0x24, 0xa2, 0xb4, 0x31, 0x11, 0xea, 0xb7, 0x29, 0xd4, 0x87, 0xd2, 0x83, 0x29, 0xef, - 0x06, 0x5f, 0x96, 0xa0, 0xfd, 0x33, 0x01, 0xb2, 0xc1, 0xea, 0x46, 0x0c, 0xda, 0x88, 0x02, 0xc8, - 0x33, 0x52, 0x2c, 0xcb, 0xe1, 0x11, 0xa8, 0x7f, 0x29, 0x40, 0x2e, 0x54, 0x6a, 0x88, 0x61, 0xf2, - 0xa8, 0x72, 0xc4, 0x44, 0xb0, 0xfb, 0x14, 0x6c, 0x53, 0xfa, 0x78, 0x2a, 0x26, 0x77, 0x82, 0x4b, - 0x13, 0xcc, 0x7f, 0x24, 0x40, 0x2e, 0x54, 0x7e, 0x88, 0xc1, 0x1c, 0x55, 0xa2, 0x98, 0x88, 0x99, - 0x5b, 0xee, 0x1b, 0xd3, 0x59, 0xee, 0x1f, 0x0b, 0x90, 0x0f, 0x67, 0xb3, 0x63, 0x4c, 0x4f, 0x64, - 0xba, 0xbe, 0x78, 0xf3, 0x5c, 0x7d, 0xb9, 0xe7, 0xf3, 0x3e, 0x45, 0xfc, 0x36, 0xba, 0x75, 0x4e, - 0xc4, 0x81, 0xcc, 0xf8, 0x8f, 0x04, 0xc8, 0x06, 0xab, 0x13, 0x31, 0x17, 0x35, 0xa2, 0x80, 0x31, - 0x51, 0x8f, 0x3b, 0x14, 0xd5, 0x7d, 0xf4, 0xd1, 0x85, 0x51, 0x95, 0x9e, 0x04, 0x4b, 0x05, 0x4f, - 0xd1, 0x4f, 0x04, 0x58, 0x1a, 0xa9, 0x44, 0xc4, 0x90, 0x55, 0x74, 0xbd, 0xa2, 0xb8, 0xee, 0x75, - 0xf6, 0xfe, 0xff, 0xd3, 0x66, 0xb5, 0x6f, 0xb9, 0xa7, 0x17, 0x66, 0xd6, 0x58, 0x88, 0x77, 0x3b, - 0x74, 0x61, 0x72, 0x37, 0x7f, 0x28, 0xc0, 0xd2, 0x48, 0x1d, 0x21, 0x06, 0x6c, 0x74, 0xb5, 0xa1, - 0x78, 0x2d, 0xe6, 0xf9, 0x0d, 0x7b, 0x4a, 0x1f, 0x50, 0xdc, 0xdf, 0x42, 0x6f, 0x9f, 0x13, 0xb7, - 0x43, 0x07, 0xf3, 0x74, 0xe8, 0xcf, 0x04, 0xc8, 0x85, 0x22, 0x79, 0x14, 0xef, 0x64, 0x8f, 0xa6, - 0xa0, 0x8b, 0x37, 0xce, 0xd3, 0x95, 0x5f, 0x4b, 0xce, 0x54, 0xe8, 0xc1, 0xd7, 0xe3, 0x46, 0xa0, - 0xbf, 0x16, 0x20, 0x13, 0x48, 0x56, 0xa3, 0xd7, 0xe2, 0xb4, 0x3a, 0xea, 0xc7, 0x9d, 0x9d, 0x8d, - 0x90, 0xbe, 0x43, 0x71, 0x3e, 0x42, 0xfb, 0x33, 0x71, 0x77, 0xd0, 0x5f, 0x08, 0x90, 0x0f, 0xd7, - 0x40, 0x62, 0x98, 0x20, 0xb2, 0x50, 0xf2, 0x8c, 0xac, 0x97, 0x8f, 0x9e, 0x5c, 0xe1, 0xbf, 0x17, - 0x20, 0x1f, 0xae, 0x86, 0xc4, 0x20, 0x8e, 0x2c, 0x99, 0x4c, 0x44, 0xcc, 0xf5, 0x7d, 0x63, 0x46, - 0xfa, 0xfe, 0x37, 0x01, 0x2e, 0xc5, 0xe4, 0xcf, 0xd0, 0xdb, 0x91, 0xd0, 0xce, 0xce, 0xb6, 0x4d, - 0xdc, 0x8f, 0x46, 0xf7, 0xd3, 0x91, 0x7e, 0x79, 0x26, 0xfb, 0xb9, 0x6b, 0x73, 0x74, 0x3c, 0x10, - 0x58, 0x8b, 0xcc, 0xd1, 0xa2, 0x5b, 0x93, 0xe2, 0x80, 0xb1, 0x7c, 0xee, 0xc4, 0x7d, 0x19, 0x74, - 0x5f, 0x47, 0x52, 0x67, 0x36, 0x61, 0x00, 0xb5, 0xea, 0x1e, 0x26, 0xb2, 0xb9, 0x9f, 0x08, 0x90, - 0xf6, 0x73, 0x5f, 0xe8, 0x95, 0x73, 0xe5, 0xc6, 0x26, 0x6e, 0xe2, 0x13, 0xba, 0x89, 0x96, 0xf4, - 0x70, 0xaa, 0x4d, 0x84, 0x93, 0x6d, 0xdc, 0x81, 0xce, 0x85, 0xf2, 0x5f, 0xf1, 0x6e, 0xd3, 0x58, - 0x8e, 0xec, 0x19, 0x79, 0xfc, 0xc3, 0xff, 0xc7, 0x41, 0x00, 0xff, 0x0d, 0xf1, 0xf8, 0xc3, 0xc9, - 0xb2, 0x38, 0x8f, 0x3f, 0x32, 0xa5, 0x36, 0x11, 0xf4, 0x23, 0x0a, 0xfa, 0xdb, 0x52, 0x7d, 0x3a, - 0x5f, 0x8f, 0x2e, 0x6e, 0x79, 0x8b, 0x13, 0xe4, 0xff, 0x28, 0x00, 0x1a, 0x4f, 0xbd, 0xa1, 0xcd, - 0x68, 0x12, 0x8d, 0xcb, 0xd1, 0x4d, 0xc4, 0xff, 0x19, 0xc5, 0xbf, 0x27, 0x35, 0xa7, 0xc2, 0xdf, - 0xf1, 0xd6, 0x0f, 0x6d, 0xe1, 0x9f, 0x59, 0xb8, 0x15, 0xac, 0x40, 0xc4, 0x87, 0x5b, 0x11, 0x75, - 0x8a, 0x89, 0xe0, 0x8f, 0x28, 0xf8, 0x03, 0xe9, 0x3b, 0x33, 0x7b, 0xab, 0x04, 0x0d, 0xd9, 0xca, - 0xdf, 0x09, 0x34, 0x67, 0x1e, 0xfe, 0xaf, 0x91, 0x6f, 0xc4, 0xee, 0x25, 0x22, 0x7f, 0x39, 0x71, - 0x33, 0xbf, 0x48, 0x37, 0x23, 0x4b, 0xbb, 0xd3, 0x46, 0x0d, 0xa1, 0xd5, 0xef, 0x0a, 0x37, 0xee, - 0x1b, 0x70, 0xa9, 0x63, 0xf6, 0xa3, 0x96, 0xbf, 0xbf, 0xc2, 0xc3, 0x04, 0x1e, 0x9c, 0xb7, 0x88, - 0xa7, 0xd8, 0x12, 0x3e, 0xbb, 0xc7, 0xfb, 0xf6, 0x4c, 0x5d, 0x35, 0x7a, 0x9b, 0xa6, 0xdd, 0x2b, - 0xf5, 0xb0, 0x41, 0xfd, 0xc8, 0x12, 0x6b, 0x52, 0x2d, 0xcd, 0x09, 0xfd, 0xb7, 0xfd, 0x0f, 0xfc, - 0x8f, 0x83, 0x14, 0xed, 0xf8, 0xf6, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0xef, 0x01, 0xa7, 0x6c, - 0xde, 0x3f, 0x00, 0x00, + // 4238 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5c, 0x5b, 0x8c, 0xdc, 0x58, + 0x5a, 0xc6, 0xdd, 0xd5, 0x97, 0xfa, 0xeb, 0xd2, 0xd5, 0xa7, 0x2f, 0xf1, 0xf6, 0xe4, 0xea, 0x99, + 0xcc, 0xe4, 0x32, 0xd3, 0x35, 0xc9, 0x64, 0xe7, 0x92, 0xc9, 0x8e, 0xa6, 0x52, 0x5d, 0xe9, 0x54, + 0xd2, 0xdd, 0x55, 0xeb, 0xea, 0x9e, 0x30, 0x03, 0xbb, 0x96, 0xdb, 0x3e, 0xa9, 0xf6, 0xb4, 0xcb, + 0xf6, 0xda, 0xae, 0xde, 0xe9, 0x44, 0x41, 0x62, 0x05, 0x12, 0x12, 0x02, 0x21, 0xc1, 0x22, 0x84, + 0xd0, 0x0a, 0xc1, 0x82, 0xd0, 0x8e, 0xb8, 0x2d, 0x68, 0x41, 0xc0, 0x03, 0x2f, 0x48, 0xbc, 0xf0, + 0xc4, 0x03, 0x82, 0x17, 0x84, 0x84, 0x90, 0x78, 0xe1, 0x95, 0x57, 0x74, 0x2e, 0x76, 0xd9, 0x55, + 0x76, 0x55, 0x77, 0x6a, 0x2a, 0xe1, 0x29, 0xe5, 0xff, 0xfc, 0xe7, 0x9c, 0xef, 0xff, 0x7d, 0xce, + 0x7f, 0x75, 0x07, 0xae, 0xb6, 0x6d, 0xbb, 0x6d, 0xe2, 0xb2, 0x66, 0x5b, 0xbe, 0x6a, 0x58, 0xd8, + 0x2d, 0x1f, 0xdd, 0x28, 0x6b, 0x66, 0xd7, 0xf3, 0xb1, 0xab, 0x78, 0xd8, 0x3d, 0x32, 0x34, 0xbc, + 0xee, 0xb8, 0xb6, 0x6f, 0xa3, 0x25, 0xc6, 0xba, 0x1e, 0xb2, 0xae, 0x1f, 0xdd, 0x58, 0x3b, 0xcb, + 0xe7, 0xab, 0x8e, 0x51, 0x56, 0x2d, 0xcb, 0xf6, 0x55, 0xdf, 0xb0, 0x2d, 0x8f, 0x4d, 0x59, 0x7b, + 0x85, 0x8f, 0xd2, 0xa7, 0xfd, 0xee, 0xe3, 0x32, 0xee, 0x38, 0xfe, 0x31, 0x1b, 0x94, 0xfe, 0x27, + 0x03, 0xb0, 0x63, 0xeb, 0xb8, 0x6a, 0x5b, 0x8f, 0x8d, 0x36, 0xba, 0x04, 0xf9, 0x8e, 0xaa, 0x1d, + 0x18, 0x16, 0x56, 0xfc, 0x63, 0x07, 0x8b, 0xc2, 0x45, 0xe1, 0x4a, 0x56, 0xce, 0x71, 0xda, 0xee, + 0xb1, 0x83, 0xd1, 0x45, 0xc8, 0xeb, 0x86, 0x77, 0xa8, 0x78, 0xc6, 0x13, 0xac, 0xb4, 0xf7, 0xc5, + 0xa9, 0x8b, 0xc2, 0x95, 0x19, 0x19, 0x08, 0xad, 0x65, 0x3c, 0xc1, 0x9b, 0xfb, 0x64, 0x11, 0x5b, + 0xed, 0xfa, 0x07, 0x8a, 0xa7, 0xd9, 0x0e, 0xf6, 0xc4, 0xe9, 0x8b, 0xd3, 0x64, 0x11, 0x4a, 0x6b, + 0x51, 0x12, 0x7a, 0x03, 0x16, 0xb8, 0x5c, 0x8a, 0xaa, 0x69, 0x76, 0xd7, 0xf2, 0xc5, 0x2c, 0xdd, + 0xaa, 0xc8, 0xc9, 0x15, 0x46, 0x45, 0x75, 0x98, 0xef, 0x60, 0x5f, 0xd5, 0x55, 0x5f, 0x15, 0x33, + 0x17, 0xa7, 0xaf, 0xe4, 0x6e, 0xbe, 0xb5, 0x9e, 0xa0, 0x82, 0xf5, 0x9e, 0x0c, 0xeb, 0xdb, 0x9c, + 0xbf, 0x66, 0xf9, 0xee, 0xb1, 0x1c, 0x4e, 0x47, 0xe7, 0x00, 0x8c, 0x8e, 0xda, 0xe6, 0x92, 0xcd, + 0xd0, 0xed, 0xb2, 0x94, 0x42, 0xe5, 0xaa, 0xc2, 0xac, 0xa9, 0xee, 0x63, 0xd3, 0x13, 0x67, 0xe9, + 0x3e, 0xd7, 0x47, 0xed, 0xb3, 0x45, 0xb9, 0xd9, 0x2e, 0x7c, 0x2a, 0x7a, 0x1d, 0x16, 0x4c, 0x5b, + 0x53, 0x4d, 0xc5, 0xf3, 0x74, 0x85, 0xc9, 0x35, 0x47, 0xf5, 0x53, 0xa0, 0xe4, 0x96, 0xa7, 0x57, + 0xa9, 0x58, 0x08, 0x32, 0xbe, 0xda, 0xf6, 0xc4, 0x79, 0xaa, 0x1a, 0xfa, 0x1b, 0x5d, 0x84, 0x9c, + 0xe3, 0x62, 0xf2, 0x72, 0x8c, 0x7d, 0x13, 0x8b, 0x70, 0x51, 0xb8, 0x32, 0x2f, 0x47, 0x49, 0xe8, + 0x01, 0xe4, 0x55, 0x4d, 0xc3, 0x26, 0x76, 0x55, 0xdf, 0x76, 0x3d, 0x31, 0x47, 0x81, 0xbe, 0x9e, + 0x08, 0xb4, 0xd2, 0x63, 0x64, 0x78, 0xe5, 0xd8, 0xdc, 0xb5, 0x0f, 0xa1, 0x10, 0x53, 0x14, 0x2a, + 0xc1, 0xf4, 0x21, 0x3e, 0xe6, 0x6f, 0x9c, 0xfc, 0x44, 0xcb, 0x30, 0x73, 0xa4, 0x9a, 0x5d, 0x4c, + 0x5f, 0x71, 0x56, 0x66, 0x0f, 0xb7, 0xa7, 0xde, 0x17, 0xd6, 0x3e, 0x80, 0x5c, 0x44, 0xfa, 0xd3, + 0x4c, 0x95, 0x7e, 0x3c, 0x05, 0xb0, 0xad, 0x92, 0x93, 0x5d, 0xe9, 0xfa, 0x07, 0x68, 0x0d, 0xe6, + 0xbb, 0x1e, 0x76, 0x2d, 0xb5, 0x13, 0x1c, 0xb6, 0xf0, 0x99, 0x8c, 0x39, 0xaa, 0xe7, 0x7d, 0xd7, + 0x76, 0x75, 0xbe, 0x4e, 0xf8, 0x8c, 0x0e, 0xe0, 0x6b, 0x9a, 0x69, 0x60, 0xcb, 0x57, 0x34, 0xec, + 0xfa, 0xc6, 0x63, 0x43, 0x53, 0x7d, 0xac, 0x68, 0x54, 0x52, 0x71, 0xfa, 0xa2, 0x70, 0x25, 0x77, + 0xf3, 0xcd, 0x44, 0xbd, 0x54, 0xe9, 0xac, 0x6a, 0x6f, 0x12, 0xd7, 0xce, 0x19, 0x2d, 0x79, 0x00, + 0xdd, 0x82, 0xd5, 0xe0, 0x2a, 0x6a, 0x6a, 0x74, 0x37, 0x51, 0xa7, 0x98, 0x96, 0xf9, 0x68, 0x55, + 0x8d, 0xcc, 0x45, 0x6f, 0x01, 0x1a, 0xc4, 0x27, 0x62, 0x3a, 0x63, 0x71, 0x60, 0x2b, 0x72, 0x36, + 0x39, 0x3b, 0x51, 0xe4, 0x63, 0x76, 0x36, 0x19, 0xe5, 0x21, 0x3e, 0x96, 0x5a, 0x70, 0x26, 0x05, + 0x37, 0x7a, 0x1f, 0x44, 0xc3, 0xf3, 0xba, 0x58, 0x49, 0xd8, 0x4e, 0xa0, 0x47, 0x68, 0x95, 0x8e, + 0x0f, 0xcc, 0x97, 0xfe, 0x6c, 0x0a, 0xf2, 0x15, 0x5d, 0xb7, 0x2d, 0x8f, 0x2f, 0xf5, 0x09, 0x2c, + 0x1d, 0xf8, 0xbe, 0xa3, 0x98, 0xb6, 0xaa, 0x2b, 0xfb, 0xaa, 0xa9, 0x5a, 0x9a, 0x61, 0xb5, 0xe9, + 0x2a, 0x69, 0xa7, 0xec, 0xbe, 0xef, 0x3b, 0x5b, 0xb6, 0xaa, 0xdf, 0x0d, 0xb8, 0xe5, 0xc5, 0x83, + 0x7e, 0x12, 0x3a, 0x84, 0xb5, 0x03, 0xdb, 0x35, 0x9e, 0x90, 0x89, 0xa6, 0xe2, 0xd8, 0xba, 0xa2, + 0x76, 0x7d, 0xdb, 0xd3, 0x54, 0x93, 0x2c, 0x3f, 0x45, 0x97, 0x4f, 0xbe, 0xd5, 0xf7, 0xc3, 0x69, + 0x4d, 0x5b, 0xaf, 0xf4, 0x26, 0xc9, 0xe2, 0x41, 0xca, 0x08, 0xfa, 0x19, 0x58, 0x3e, 0xec, 0xee, + 0x63, 0xd7, 0xc2, 0x3e, 0xf6, 0x14, 0x5d, 0xf5, 0x0e, 0xf6, 0x6d, 0xd5, 0xd5, 0xf9, 0x99, 0xb8, + 0x92, 0xb8, 0xcd, 0xc3, 0x70, 0xc2, 0x46, 0xc0, 0x2f, 0x2f, 0x1d, 0x0e, 0x12, 0xa5, 0x32, 0x2c, + 0x0e, 0x48, 0x4c, 0x8e, 0xa9, 0x6e, 0x78, 0xea, 0xbe, 0x89, 0x75, 0xae, 0xf1, 0xf0, 0x59, 0x7a, + 0x17, 0xc4, 0x34, 0x19, 0x86, 0xce, 0xbb, 0x01, 0x4b, 0x09, 0xa0, 0x86, 0x4e, 0xf9, 0x6f, 0x01, + 0xce, 0xf7, 0x2e, 0x16, 0xd9, 0x14, 0xeb, 0x3b, 0xd8, 0xff, 0xae, 0xed, 0x1e, 0x06, 0x2f, 0x58, + 0x84, 0x39, 0x6c, 0x45, 0x67, 0x07, 0x8f, 0xe8, 0xdb, 0x90, 0xd3, 0x0c, 0xdd, 0x55, 0xf6, 0x4d, + 0x5b, 0x3b, 0xf4, 0xc4, 0x29, 0x6a, 0x58, 0xbe, 0x91, 0xa8, 0xac, 0xe1, 0x7b, 0xac, 0x57, 0x0d, + 0xdd, 0xbd, 0x4b, 0x56, 0x91, 0x41, 0x0b, 0x7e, 0x7a, 0x6b, 0xdb, 0x90, 0x0d, 0x07, 0x88, 0x7f, + 0xd0, 0x0d, 0xcf, 0x31, 0xd5, 0x63, 0x25, 0x72, 0xef, 0x73, 0x9c, 0xb6, 0x43, 0xae, 0x3e, 0xb9, + 0x0f, 0x21, 0x1e, 0x7e, 0xf9, 0xb3, 0xe1, 0x7a, 0xd2, 0xeb, 0x00, 0x5b, 0xb8, 0xad, 0x6a, 0xc7, + 0x95, 0x7d, 0x55, 0x4b, 0x17, 0x4b, 0xfa, 0xa1, 0x00, 0x05, 0x8e, 0xaf, 0x69, 0x9b, 0x86, 0x76, + 0x8c, 0x36, 0x61, 0xde, 0x71, 0xed, 0x23, 0x43, 0xc7, 0x2e, 0x65, 0x2e, 0xa6, 0xd9, 0xf9, 0xe8, + 0xac, 0xf5, 0x26, 0x9f, 0x22, 0x87, 0x93, 0xa3, 0x9b, 0x4e, 0xc5, 0x37, 0x7d, 0x1b, 0xe6, 0x9b, + 0x3d, 0xae, 0xe5, 0xa6, 0xdc, 0xf8, 0xa4, 0xbe, 0x51, 0x93, 0x95, 0xbd, 0x9d, 0x56, 0xb3, 0x56, + 0xad, 0xdf, 0xab, 0xd7, 0x36, 0x4a, 0x3f, 0x85, 0x00, 0x66, 0xab, 0x95, 0xad, 0x7a, 0xb5, 0x51, + 0x12, 0xa4, 0x5f, 0x9b, 0x02, 0x54, 0x6f, 0x56, 0x4c, 0xe2, 0x23, 0x88, 0xe7, 0xe6, 0x58, 0x5f, + 0x83, 0x62, 0xd7, 0xc3, 0x8a, 0xe1, 0x28, 0xaa, 0x69, 0xa8, 0x1e, 0xf6, 0xb8, 0x78, 0xf9, 0xae, + 0x87, 0xeb, 0x4e, 0x85, 0xd1, 0xd0, 0x75, 0x58, 0xd4, 0x5c, 0x4c, 0xac, 0x9f, 0xd7, 0xdd, 0xb7, + 0x18, 0x6c, 0x0e, 0xa9, 0xc4, 0x06, 0x5a, 0x21, 0x9d, 0xfa, 0xdd, 0xf0, 0x89, 0x69, 0x7f, 0x9a, + 0xfb, 0xdd, 0x90, 0x4c, 0x5f, 0xc0, 0x35, 0x58, 0x0c, 0xac, 0x9e, 0xe1, 0x1c, 0xdd, 0x52, 0x88, + 0xee, 0xc5, 0x0c, 0x65, 0x5d, 0xe0, 0x03, 0x75, 0xe7, 0xe8, 0x16, 0x79, 0xa9, 0x04, 0xa7, 0x65, + 0xeb, 0x38, 0xc2, 0xc8, 0x9c, 0x6b, 0x9e, 0x50, 0x43, 0xae, 0x37, 0x01, 0x71, 0xdf, 0xee, 0x45, + 0x38, 0x67, 0x29, 0x67, 0x29, 0x18, 0x09, 0xb8, 0xa5, 0xff, 0x2d, 0xc2, 0x5c, 0x95, 0xed, 0x43, + 0x9c, 0x65, 0xe4, 0x9c, 0xd0, 0xdf, 0xc4, 0x59, 0xea, 0xd8, 0xd3, 0x5c, 0xc3, 0x21, 0x0a, 0xe3, + 0x27, 0x24, 0x4a, 0x22, 0xfb, 0x19, 0x96, 0xe1, 0x1b, 0xaa, 0xa9, 0x50, 0x74, 0xcc, 0x1b, 0x4f, + 0x53, 0x6f, 0x5c, 0xe2, 0x23, 0xcc, 0x9b, 0x13, 0x87, 0xfc, 0x31, 0xe4, 0x38, 0x17, 0xf5, 0x20, + 0x19, 0x6a, 0x2d, 0x2e, 0x8c, 0x08, 0x01, 0x64, 0xb0, 0x7a, 0xa1, 0xd3, 0xc7, 0x90, 0xeb, 0xd0, + 0xab, 0x41, 0xac, 0xdb, 0x01, 0x55, 0x41, 0xda, 0x0a, 0xbd, 0x2b, 0x24, 0x43, 0xa7, 0xe7, 0x0b, + 0xdf, 0x20, 0xc1, 0x43, 0xbb, 0x6d, 0x58, 0xed, 0x20, 0xe8, 0xe3, 0xea, 0x29, 0x72, 0x72, 0x8b, + 0x51, 0x89, 0x73, 0xe9, 0xd8, 0x96, 0xe1, 0xdb, 0x6e, 0x94, 0x77, 0x8e, 0x39, 0x97, 0xde, 0x48, + 0xc0, 0x2e, 0xc2, 0x5c, 0x70, 0x2e, 0xe6, 0x29, 0x4f, 0xf0, 0x98, 0xfc, 0x96, 0xb3, 0xc9, 0x6f, + 0xf9, 0x1e, 0x14, 0x54, 0xea, 0x2d, 0x02, 0x1d, 0x01, 0x95, 0xf0, 0x52, 0x72, 0xf4, 0x11, 0xf1, + 0x2b, 0x72, 0x5e, 0x8d, 0x7a, 0x99, 0xf3, 0x00, 0x91, 0x83, 0x9a, 0xa3, 0x9b, 0x45, 0x28, 0xe8, + 0x0e, 0x50, 0xad, 0x2a, 0x8e, 0x6d, 0x9b, 0x9e, 0x98, 0xa7, 0x96, 0xe8, 0x5c, 0xea, 0x8b, 0x68, + 0xda, 0xb6, 0x29, 0x67, 0x2d, 0xfe, 0xcb, 0x43, 0x67, 0x21, 0x1b, 0xdc, 0x22, 0x4f, 0x2c, 0xd0, + 0xe8, 0xaa, 0x47, 0x40, 0xef, 0xc2, 0x19, 0x76, 0x4b, 0x95, 0x88, 0x8f, 0x50, 0x4d, 0xe7, 0x40, + 0x15, 0x8b, 0xf4, 0xc6, 0xac, 0xb0, 0xe1, 0x9e, 0xed, 0xad, 0x90, 0x41, 0xf4, 0x29, 0x2c, 0xb8, + 0xd8, 0xb3, 0xbb, 0xae, 0x86, 0x15, 0x1e, 0x24, 0x2e, 0x50, 0x60, 0x6f, 0xa7, 0xc4, 0x18, 0x54, + 0x75, 0xeb, 0x32, 0x9f, 0x13, 0x8d, 0x14, 0x8b, 0x6e, 0x8c, 0x48, 0xae, 0x2f, 0x5d, 0x51, 0x79, + 0x6c, 0x58, 0x6d, 0xec, 0x3a, 0xae, 0x61, 0xf9, 0x62, 0x89, 0xdd, 0x0a, 0x3a, 0x70, 0xaf, 0x47, + 0x27, 0x67, 0xcc, 0xa4, 0x76, 0x4f, 0x51, 0xf7, 0x55, 0x4d, 0x44, 0x43, 0xce, 0x58, 0xcf, 0x3e, + 0xca, 0x60, 0xf6, 0x6c, 0x65, 0x1d, 0x8a, 0xc1, 0xed, 0x77, 0xa8, 0x95, 0x11, 0x97, 0xe8, 0x22, + 0xd2, 0x68, 0x2b, 0x28, 0x17, 0xac, 0x98, 0x29, 0xfd, 0x14, 0x96, 0xa9, 0x69, 0x0a, 0xd4, 0x1b, + 0x2c, 0xb8, 0x4c, 0x17, 0x7c, 0x23, 0x71, 0xc1, 0x41, 0x2b, 0x27, 0x23, 0xc3, 0x19, 0xb0, 0x7c, + 0x3f, 0x07, 0x97, 0x22, 0x77, 0x89, 0xf9, 0x19, 0x85, 0xef, 0x1e, 0x9e, 0xbf, 0x55, 0xba, 0xcf, + 0x3b, 0xcf, 0xe1, 0xa4, 0xe4, 0xf3, 0x9d, 0xe1, 0x8e, 0xf2, 0x15, 0xc8, 0x7a, 0xd8, 0x7c, 0xac, + 0x98, 0x86, 0x75, 0xc8, 0xc3, 0xbc, 0x79, 0x42, 0xd8, 0x32, 0xac, 0x43, 0x62, 0x8e, 0x9e, 0xd8, + 0x56, 0x10, 0xcc, 0xd1, 0xdf, 0xc4, 0x31, 0x63, 0x4b, 0x77, 0x6c, 0xf2, 0xf2, 0x58, 0xf4, 0x16, + 0x3e, 0x93, 0x43, 0x17, 0x18, 0xa2, 0xe0, 0xb2, 0x1d, 0x61, 0xd7, 0x23, 0x66, 0xab, 0x4d, 0x59, + 0x57, 0xf8, 0x30, 0x3f, 0x36, 0x9f, 0xb0, 0x41, 0x1a, 0x78, 0x76, 0x5d, 0x97, 0x04, 0x75, 0x5c, + 0x19, 0xc1, 0xb4, 0x03, 0x1e, 0x78, 0xb2, 0x51, 0x26, 0x6b, 0x30, 0xeb, 0x6d, 0x08, 0xe8, 0xcc, + 0xec, 0x05, 0x73, 0x0c, 0x3a, 0x07, 0xf1, 0x31, 0x72, 0x75, 0x82, 0x19, 0x17, 0x20, 0xc7, 0x1d, + 0x88, 0x6f, 0x74, 0xb0, 0xf8, 0x39, 0xbb, 0x91, 0x8c, 0xb4, 0x6b, 0x74, 0x30, 0xfa, 0x10, 0x66, + 0x3d, 0x5f, 0xf5, 0xbb, 0x9e, 0x78, 0x48, 0x3d, 0xe6, 0xab, 0x43, 0x0f, 0x7d, 0x8b, 0xb2, 0xca, + 0x7c, 0x0a, 0xba, 0x0c, 0x45, 0xf6, 0x4b, 0xe9, 0x60, 0xcf, 0x53, 0xdb, 0x58, 0x34, 0xe9, 0x06, + 0x05, 0x46, 0xdd, 0x66, 0x44, 0xf4, 0x16, 0x2c, 0xc5, 0x7d, 0x08, 0xcd, 0x2f, 0xc5, 0x0e, 0x33, + 0xd7, 0x51, 0x47, 0x42, 0x92, 0xcc, 0x14, 0x67, 0x62, 0x25, 0x3b, 0x13, 0xb4, 0x0e, 0x4b, 0x86, + 0xe5, 0xf9, 0xaa, 0xa5, 0x61, 0xa5, 0xed, 0xda, 0x5d, 0x47, 0xe9, 0xba, 0xa6, 0x27, 0xda, 0xd4, + 0x3c, 0x2c, 0x06, 0x43, 0x9b, 0x64, 0x64, 0xcf, 0x35, 0x3d, 0xb2, 0x7a, 0x4c, 0x87, 0xcc, 0x75, + 0x38, 0x0c, 0x4b, 0x44, 0x83, 0xcc, 0x75, 0x5c, 0x80, 0x1c, 0xfe, 0xc2, 0x31, 0x5c, 0xae, 0xbf, + 0xef, 0x30, 0xfd, 0x31, 0x12, 0xd1, 0xdf, 0x5a, 0x05, 0x96, 0x12, 0x2c, 0xc1, 0xa9, 0xb2, 0x26, + 0x03, 0x66, 0x99, 0x5e, 0xd1, 0x2a, 0xa0, 0xd6, 0x6e, 0x65, 0x77, 0xaf, 0xd5, 0x17, 0x4f, 0x94, + 0x20, 0x4f, 0x23, 0x8d, 0x56, 0xbd, 0xb1, 0x53, 0xdf, 0xd9, 0x2c, 0x09, 0x28, 0x07, 0x73, 0xf2, + 0xde, 0x0e, 0x7d, 0x98, 0x42, 0x0b, 0x90, 0x93, 0x6b, 0xd5, 0xc6, 0x4e, 0xb5, 0xbe, 0x45, 0x08, + 0xd3, 0x28, 0x0f, 0xf3, 0xad, 0xdd, 0x46, 0xb3, 0x49, 0x9e, 0x32, 0x28, 0x0b, 0x33, 0x35, 0x59, + 0x6e, 0xc8, 0xa5, 0x19, 0xe9, 0xfb, 0x33, 0x50, 0xe0, 0xef, 0x72, 0xcf, 0xd1, 0x49, 0x72, 0xf2, + 0x36, 0x2c, 0xeb, 0xd8, 0x33, 0x5c, 0x72, 0x07, 0xa3, 0x47, 0x8a, 0x85, 0x03, 0x88, 0x8f, 0x45, + 0x8f, 0xd4, 0x1d, 0x58, 0x0b, 0x66, 0x24, 0x38, 0x2a, 0x16, 0x1d, 0x88, 0x9c, 0x63, 0x7b, 0xc0, + 0x5f, 0xed, 0xc1, 0x4a, 0x30, 0x3b, 0xee, 0x71, 0x66, 0x4f, 0xea, 0x71, 0x96, 0xf8, 0xfc, 0x58, + 0x7a, 0x53, 0xee, 0x13, 0x83, 0x38, 0x18, 0xc5, 0xd0, 0x03, 0xbf, 0x19, 0x11, 0x83, 0xb8, 0x92, + 0xba, 0x4e, 0x8e, 0x41, 0x30, 0x21, 0x52, 0x38, 0x60, 0x2e, 0xb4, 0xc4, 0x47, 0xea, 0x61, 0xfd, + 0xe0, 0x10, 0xce, 0x0d, 0x2e, 0x1f, 0x4d, 0x74, 0xb2, 0x43, 0x32, 0x90, 0x60, 0xd7, 0x68, 0x8e, + 0xb3, 0xd6, 0x87, 0x28, 0x9a, 0x3b, 0x5c, 0x87, 0x00, 0xaf, 0xd2, 0x73, 0x77, 0x40, 0xcf, 0x73, + 0x80, 0x6c, 0x2b, 0xf4, 0x7a, 0xbf, 0x22, 0xc0, 0xd5, 0xf0, 0x75, 0x8c, 0x34, 0xab, 0xf9, 0xe7, + 0x37, 0xab, 0x97, 0x83, 0x57, 0x3a, 0xdc, 0xba, 0xde, 0x82, 0xd5, 0x3e, 0x38, 0xc1, 0x89, 0xe2, + 0x19, 0x75, 0x6c, 0x19, 0x7e, 0xa6, 0xa4, 0x3f, 0x9e, 0x85, 0x6c, 0xc3, 0xc1, 0x2e, 0x15, 0x2a, + 0x31, 0x26, 0x0c, 0x0c, 0xf3, 0x54, 0xc4, 0x30, 0x3f, 0x80, 0xa2, 0x1d, 0x4c, 0x62, 0xef, 0x6f, + 0x7a, 0x88, 0x0d, 0x0b, 0xd7, 0x5f, 0x27, 0xaf, 0x54, 0x2e, 0x84, 0x53, 0xe9, 0x1b, 0xfe, 0x46, + 0x68, 0x07, 0x33, 0x74, 0x8d, 0xcb, 0x23, 0xd6, 0xe8, 0xb3, 0x84, 0xab, 0x30, 0xab, 0x63, 0x5f, + 0x35, 0x4c, 0x7e, 0x84, 0xf8, 0x53, 0x82, 0x85, 0x9c, 0x49, 0xb2, 0x90, 0x31, 0x9f, 0x34, 0xdb, + 0xe7, 0x93, 0x2e, 0x40, 0xce, 0x57, 0xdd, 0x36, 0xf6, 0xd9, 0x30, 0x3b, 0xd2, 0xc0, 0x48, 0x94, + 0xe1, 0x1c, 0x80, 0xe7, 0xab, 0xae, 0xcf, 0x6c, 0x14, 0xb0, 0x84, 0x8a, 0x52, 0xa8, 0x89, 0xff, + 0x1a, 0xf5, 0x5f, 0x6c, 0x90, 0x85, 0x64, 0x73, 0xd8, 0xd2, 0xc9, 0x90, 0x24, 0x8f, 0x34, 0x3d, + 0x39, 0x98, 0x6b, 0xd6, 0x76, 0x36, 0x12, 0xac, 0xce, 0x3c, 0x64, 0x36, 0x1a, 0x3b, 0x35, 0x66, + 0x6e, 0x2a, 0x77, 0x1b, 0xf2, 0x2e, 0x35, 0x37, 0xd2, 0x7f, 0x4c, 0x41, 0x86, 0xaa, 0x74, 0x19, + 0x4a, 0xbb, 0x9f, 0x36, 0x6b, 0x7d, 0x0b, 0x22, 0x28, 0x56, 0xe5, 0x5a, 0x65, 0xb7, 0xa6, 0x54, + 0xb7, 0xf6, 0x5a, 0xbb, 0x35, 0xb9, 0x24, 0x10, 0xda, 0x46, 0x6d, 0xab, 0x16, 0xa1, 0x4d, 0x11, + 0xda, 0x5e, 0x73, 0x53, 0xae, 0x6c, 0xd4, 0x94, 0xed, 0x0a, 0xa5, 0x4d, 0xa3, 0x45, 0x28, 0x04, + 0xb4, 0x9d, 0xc6, 0x46, 0xad, 0x55, 0xca, 0x10, 0x36, 0xb9, 0xd6, 0xac, 0xd4, 0xe5, 0x70, 0xea, + 0x0c, 0x9b, 0xba, 0x11, 0xdd, 0x62, 0x96, 0x80, 0xe1, 0xdb, 0x92, 0x99, 0x4a, 0xb3, 0xd1, 0xd8, + 0x2a, 0xcd, 0x11, 0x2a, 0xdf, 0xb8, 0x47, 0x9d, 0x47, 0x67, 0x41, 0x6c, 0xd5, 0x76, 0x7b, 0x24, + 0x65, 0xbb, 0xb2, 0x53, 0xd9, 0xac, 0x6d, 0xd7, 0x76, 0x76, 0x4b, 0x59, 0xb4, 0x02, 0x8b, 0x95, + 0xbd, 0xdd, 0x86, 0xc2, 0xb7, 0x65, 0x40, 0x80, 0x28, 0x90, 0x92, 0xe3, 0x00, 0x73, 0xa8, 0x08, + 0x40, 0x16, 0xdb, 0xaa, 0xdc, 0xad, 0x6d, 0xb5, 0x4a, 0x79, 0xb4, 0x04, 0x0b, 0xe4, 0x99, 0xc9, + 0xa4, 0x54, 0xf6, 0x76, 0xef, 0x97, 0x0a, 0x54, 0xfb, 0xb1, 0x1d, 0x5b, 0xf5, 0xcf, 0x6a, 0xa5, + 0x62, 0x48, 0xaf, 0xed, 0x3e, 0x6a, 0xc8, 0x0f, 0x95, 0x66, 0x63, 0xab, 0x5e, 0xfd, 0xb4, 0xb4, + 0x20, 0xfd, 0xbc, 0x00, 0xcb, 0x55, 0xea, 0xc4, 0xb9, 0x35, 0x97, 0xf1, 0x77, 0xba, 0xd8, 0xf3, + 0xc9, 0x51, 0x70, 0x5c, 0xfb, 0x73, 0xac, 0xf9, 0xc4, 0xfa, 0xb1, 0x0b, 0x94, 0xe5, 0x94, 0xba, + 0x9e, 0x78, 0x8b, 0xde, 0x85, 0x39, 0x1e, 0xba, 0xf0, 0x3a, 0xca, 0xd9, 0x61, 0x21, 0x80, 0x1c, + 0x30, 0x4b, 0x18, 0x16, 0x37, 0xb1, 0x3f, 0xfe, 0xfe, 0xb4, 0x3c, 0xc6, 0xf3, 0x14, 0x9d, 0x67, + 0xac, 0xd9, 0x20, 0x41, 0xa1, 0x69, 0xfe, 0x32, 0xf3, 0x55, 0x93, 0xde, 0x0a, 0xdd, 0x86, 0xd9, + 0x2e, 0xdd, 0x89, 0xa7, 0x88, 0xd2, 0x30, 0x45, 0x30, 0x4c, 0x32, 0x9f, 0x21, 0xfd, 0x93, 0x00, + 0x2b, 0x8c, 0x14, 0x66, 0x2e, 0x13, 0xc3, 0x79, 0x11, 0xf2, 0x31, 0x27, 0xc7, 0x7c, 0x35, 0x58, + 0x3d, 0xef, 0x76, 0x89, 0x73, 0x04, 0xb6, 0x97, 0x19, 0x1d, 0x9a, 0x05, 0x07, 0x6e, 0x3c, 0x5e, + 0x31, 0x9f, 0xed, 0xab, 0x98, 0x4b, 0xff, 0x2e, 0xc0, 0xb9, 0x16, 0xf6, 0x93, 0x7c, 0xd7, 0x4b, + 0x94, 0xeb, 0x01, 0xe4, 0xa2, 0x5e, 0x77, 0xe6, 0x94, 0x5e, 0x37, 0x3a, 0x59, 0xfa, 0xbe, 0x00, + 0x62, 0x0b, 0xfb, 0x5b, 0xb1, 0xf4, 0x7b, 0x72, 0xc2, 0x25, 0x14, 0x00, 0x32, 0x49, 0x05, 0x00, + 0xe9, 0x07, 0x02, 0xbc, 0xd2, 0xc2, 0xfe, 0x40, 0xe8, 0x34, 0x39, 0x68, 0xc9, 0x25, 0x87, 0x4c, + 0x4a, 0xc9, 0x41, 0xfa, 0xb1, 0x00, 0xab, 0x2d, 0xec, 0xc7, 0x82, 0xb2, 0x89, 0x61, 0x1b, 0xa8, + 0x4c, 0x64, 0x9e, 0xab, 0x32, 0x21, 0xfd, 0xa2, 0x00, 0x4b, 0xf4, 0x6d, 0xf3, 0xc0, 0x69, 0x72, + 0x88, 0x63, 0x55, 0x8a, 0x4c, 0x5f, 0x95, 0x42, 0xfa, 0x55, 0x01, 0x96, 0x98, 0x9d, 0x60, 0x11, + 0xd0, 0xe4, 0x70, 0x5c, 0x86, 0x62, 0x5f, 0x04, 0xc6, 0xde, 0x68, 0xa1, 0x13, 0x0b, 0xbd, 0xbe, + 0x9c, 0x82, 0x65, 0x72, 0xdc, 0x7a, 0x65, 0xab, 0x89, 0x21, 0xba, 0x0f, 0xb3, 0xaa, 0xe6, 0x07, + 0x48, 0x8a, 0x29, 0x05, 0x96, 0x24, 0x30, 0xeb, 0x15, 0x3a, 0x4f, 0xe6, 0xf3, 0xd1, 0x7b, 0xa1, + 0xa5, 0x3e, 0x61, 0x29, 0x2e, 0x30, 0xd3, 0x1f, 0xc1, 0x2c, 0x5b, 0x8a, 0xc4, 0x32, 0x7b, 0x3b, + 0x0f, 0x77, 0x1a, 0x8f, 0x76, 0x58, 0x82, 0x45, 0xfc, 0x6c, 0xb3, 0xd2, 0x6a, 0x3d, 0x6a, 0xc8, + 0x1b, 0x25, 0x81, 0x78, 0xf9, 0xcd, 0xda, 0x4e, 0x4d, 0x26, 0x11, 0x43, 0x48, 0x9e, 0x92, 0x0e, + 0x60, 0x79, 0x03, 0x9b, 0x78, 0xf2, 0xce, 0x48, 0xba, 0x0f, 0x4b, 0x5b, 0x86, 0x17, 0xf8, 0xd7, + 0x31, 0xce, 0xab, 0xd4, 0x85, 0xe5, 0xf8, 0x4a, 0x9e, 0x63, 0x5b, 0x1e, 0x46, 0xef, 0xc3, 0x3c, + 0xdf, 0xce, 0x13, 0x05, 0x5a, 0xf1, 0x1a, 0xee, 0xf9, 0x43, 0x6e, 0xf4, 0x2a, 0x14, 0x3a, 0x86, + 0xe7, 0x11, 0x6b, 0x41, 0x76, 0x60, 0x3d, 0x85, 0xac, 0x9c, 0xe7, 0xc4, 0xcf, 0x08, 0x4d, 0x3a, + 0x84, 0xa5, 0x4d, 0xec, 0x87, 0x11, 0xf3, 0x18, 0x9a, 0xba, 0x04, 0xf9, 0x5e, 0x9c, 0x1f, 0xea, + 0x2a, 0x17, 0xd2, 0xea, 0xba, 0xf4, 0x00, 0x56, 0x88, 0x8c, 0xe1, 0x6e, 0xe3, 0xe8, 0xcb, 0x82, + 0xd5, 0xaa, 0x6a, 0x69, 0xd8, 0x7c, 0x41, 0xd8, 0x9f, 0xc1, 0x6a, 0x3f, 0x76, 0xfe, 0x86, 0x3e, + 0x02, 0x08, 0x19, 0x83, 0x77, 0x74, 0x7e, 0x78, 0x62, 0x22, 0x47, 0x66, 0x9c, 0xec, 0x3d, 0x3d, + 0x84, 0xd5, 0x4d, 0xec, 0x13, 0xe3, 0x8e, 0xdd, 0x71, 0xad, 0xb9, 0xf4, 0x0b, 0x53, 0x90, 0x8f, + 0x2e, 0x85, 0xde, 0x85, 0x33, 0x3a, 0x7e, 0xac, 0x76, 0x4d, 0x7f, 0xa0, 0x40, 0xc6, 0x16, 0x5c, + 0xe1, 0xc3, 0x7d, 0x05, 0xb2, 0x75, 0x58, 0x3a, 0x52, 0x4d, 0x23, 0x5e, 0x95, 0x08, 0x3e, 0x37, + 0x58, 0xa4, 0x43, 0x91, 0xa2, 0x84, 0xc7, 0xf2, 0x79, 0xb6, 0x4f, 0x24, 0xac, 0xc9, 0x04, 0xf9, + 0x3c, 0x1d, 0xe9, 0xe5, 0xf3, 0xd7, 0x80, 0x2d, 0x11, 0xe1, 0xf5, 0xc4, 0x19, 0xba, 0xf6, 0x02, + 0x1d, 0x08, 0x59, 0x3d, 0x74, 0x13, 0x56, 0x18, 0x6f, 0xdc, 0x9a, 0xb2, 0x4f, 0x09, 0xb2, 0x32, + 0x83, 0x19, 0x4b, 0x67, 0x3d, 0xe9, 0x0f, 0x04, 0x58, 0x61, 0xf1, 0xf9, 0xe4, 0xa3, 0xc1, 0xdb, + 0x90, 0x0d, 0xa3, 0x26, 0xee, 0x1d, 0x47, 0x94, 0xd4, 0xe7, 0x83, 0x88, 0x4a, 0xfa, 0x65, 0x01, + 0x56, 0x98, 0x3d, 0xfb, 0x7f, 0x10, 0xb5, 0x12, 0xe3, 0x4a, 0x2e, 0x42, 0x00, 0x65, 0x72, 0x3e, + 0x5a, 0xfa, 0x25, 0x01, 0xd0, 0x66, 0x2f, 0xba, 0x7d, 0x99, 0x42, 0xff, 0x57, 0x06, 0xe6, 0x03, + 0x1c, 0x89, 0x95, 0x8f, 0xf7, 0x60, 0x96, 0x87, 0x3e, 0x53, 0x27, 0x6b, 0x5c, 0x71, 0xf6, 0x53, + 0x36, 0xc9, 0x86, 0x96, 0xc5, 0x45, 0x98, 0x0b, 0x6e, 0x2d, 0xab, 0x8c, 0x07, 0x8f, 0x69, 0xe5, + 0xd7, 0xc7, 0x69, 0xe5, 0xd7, 0x3b, 0x61, 0x9d, 0xa5, 0x4d, 0x63, 0x80, 0xd7, 0x86, 0x1e, 0xd5, + 0xd1, 0x05, 0xe7, 0x83, 0xa4, 0x72, 0x4a, 0x5f, 0x9a, 0x90, 0x19, 0x23, 0x4d, 0x40, 0x55, 0x80, + 0x8e, 0x6a, 0xa9, 0x6d, 0xdc, 0xc1, 0x96, 0xcf, 0xc3, 0x8d, 0x57, 0x53, 0x97, 0xda, 0x0e, 0x59, + 0xe5, 0xc8, 0x34, 0x92, 0xaf, 0x8f, 0x59, 0xe3, 0x5d, 0x05, 0xc4, 0x1f, 0x94, 0x47, 0xf5, 0xdd, + 0xfb, 0x0a, 0xab, 0xe8, 0x4e, 0xf7, 0xd7, 0x7e, 0x33, 0xb1, 0xda, 0xef, 0x4c, 0xaf, 0xf6, 0x3b, + 0x2b, 0xfd, 0xa1, 0x00, 0xc5, 0x38, 0x44, 0xe2, 0x9c, 0x88, 0xa8, 0x4a, 0xd7, 0x69, 0xbb, 0xaa, + 0x1e, 0x7c, 0x53, 0x42, 0xc5, 0xdf, 0x63, 0x24, 0x74, 0x81, 0xa9, 0x52, 0x71, 0xb1, 0xa3, 0x1a, + 0x2e, 0xef, 0x3d, 0x03, 0x21, 0xc9, 0x94, 0x82, 0x9a, 0xb0, 0xc0, 0xa7, 0x2b, 0xb6, 0x13, 0xd4, + 0x2a, 0xd3, 0x9b, 0x44, 0x95, 0xde, 0xda, 0x0d, 0xc6, 0x2e, 0x17, 0xbb, 0xb1, 0x67, 0xa9, 0x03, + 0x68, 0x90, 0x0b, 0x7d, 0x1d, 0xce, 0x44, 0xb1, 0x2a, 0x91, 0x8a, 0x17, 0xbb, 0x2d, 0xcb, 0x11, + 0xd8, 0xad, 0xb0, 0xf8, 0x35, 0xb2, 0x97, 0x2c, 0xfd, 0x8b, 0x00, 0x67, 0x23, 0x99, 0x6e, 0xe4, + 0x0d, 0xbe, 0xc4, 0x44, 0xf7, 0x2b, 0x39, 0x75, 0x5f, 0xb2, 0x44, 0x2d, 0x90, 0xac, 0x65, 0x3c, + 0xc1, 0x2f, 0x53, 0xa6, 0x73, 0xbc, 0xf9, 0xcb, 0xec, 0xd0, 0x0c, 0xb5, 0x43, 0x59, 0x2b, 0x30, + 0x40, 0xd2, 0x6f, 0x08, 0x70, 0x5e, 0xb6, 0x4d, 0x73, 0x5f, 0xd5, 0x0e, 0x03, 0xc8, 0xfc, 0x75, + 0xbe, 0x4c, 0xfb, 0xbc, 0xc7, 0x22, 0xcb, 0x88, 0x53, 0xe2, 0xc1, 0x59, 0xbc, 0x97, 0x2d, 0x9c, + 0xae, 0x97, 0x2d, 0x3d, 0x85, 0xa5, 0xa4, 0xda, 0x7f, 0xfa, 0x57, 0x3c, 0xaf, 0x41, 0xb1, 0x63, + 0x58, 0x51, 0x4b, 0xce, 0x3e, 0xce, 0xcc, 0x77, 0x0c, 0xab, 0x67, 0xc5, 0x09, 0x97, 0xfa, 0xc5, + 0xa0, 0xbd, 0xcf, 0x77, 0xd4, 0x2f, 0x42, 0x2e, 0xe9, 0xaf, 0xa7, 0xa0, 0x44, 0x92, 0x61, 0xda, + 0xb0, 0x9a, 0x9c, 0x72, 0xf7, 0x07, 0x3b, 0xeb, 0xec, 0x33, 0xcf, 0x0f, 0xd2, 0x12, 0xbf, 0x18, + 0xa2, 0xe7, 0x6f, 0xb1, 0xcf, 0x24, 0xb7, 0xd8, 0xbf, 0x8a, 0x66, 0xdd, 0xf7, 0x04, 0x9a, 0x2e, + 0x47, 0x3a, 0xf0, 0x13, 0x53, 0x5f, 0xe4, 0x2c, 0x64, 0xe2, 0x5f, 0x21, 0x7d, 0x0e, 0xab, 0xd4, + 0xc2, 0xd5, 0x9b, 0x32, 0xff, 0x1e, 0x78, 0x72, 0xa1, 0x52, 0x07, 0xbe, 0x56, 0xb5, 0x3b, 0x0e, + 0x89, 0x11, 0x5f, 0xc4, 0x76, 0x87, 0xb0, 0x38, 0xf0, 0x75, 0x2b, 0x79, 0xc9, 0x91, 0xef, 0x5b, + 0xf9, 0xc1, 0x26, 0xbb, 0x4d, 0xcb, 0x25, 0x35, 0xca, 0x4d, 0xae, 0xc0, 0x55, 0x88, 0xd2, 0x58, + 0x1e, 0xc0, 0x00, 0x2c, 0x44, 0xe8, 0xb4, 0xc8, 0xf9, 0x13, 0x01, 0xce, 0x10, 0x03, 0x19, 0xfb, + 0x12, 0x62, 0x62, 0xef, 0x73, 0xf0, 0xf3, 0x8c, 0xcc, 0x73, 0x7e, 0x9e, 0x71, 0xf3, 0xb7, 0xaf, + 0x42, 0x91, 0x27, 0x4c, 0xcc, 0xf6, 0xbb, 0xe8, 0x77, 0x04, 0xc8, 0x47, 0xd3, 0x7c, 0x94, 0x1c, + 0xef, 0x24, 0xd4, 0x14, 0xd6, 0xae, 0x9e, 0x80, 0x93, 0x19, 0x3d, 0xe9, 0xbd, 0xef, 0xfd, 0xf3, + 0x7f, 0xfe, 0xfa, 0xd4, 0x0d, 0x54, 0x2e, 0x1f, 0xdd, 0x28, 0x73, 0x6d, 0x78, 0xe5, 0xa7, 0x3d, + 0x4d, 0x3d, 0x2b, 0xd3, 0x4c, 0xb3, 0xfc, 0x94, 0xfc, 0xf3, 0xac, 0x1c, 0x96, 0x0c, 0x7e, 0x4b, + 0x00, 0xe8, 0xb5, 0x0b, 0x50, 0xf2, 0x17, 0xa7, 0x03, 0xfd, 0x84, 0xb5, 0xa1, 0x15, 0x09, 0x69, + 0x83, 0xa2, 0xf9, 0x08, 0xdd, 0x39, 0x25, 0x9a, 0xf2, 0xd3, 0xde, 0x7b, 0x7a, 0x86, 0x7e, 0x53, + 0x80, 0x42, 0xac, 0x99, 0x82, 0x92, 0x15, 0x92, 0xd4, 0x70, 0x59, 0x1b, 0x91, 0x8e, 0x4b, 0xb7, + 0x29, 0xc4, 0x5b, 0xd2, 0x69, 0x15, 0x76, 0x5b, 0xb8, 0x86, 0x7e, 0x5f, 0x80, 0x42, 0xac, 0xf5, + 0x91, 0x02, 0x2c, 0xa9, 0x3d, 0x32, 0x12, 0xd8, 0x26, 0x05, 0x56, 0x59, 0x1b, 0x4b, 0x77, 0x04, + 0xe5, 0x3f, 0x08, 0x50, 0x8c, 0x77, 0x3e, 0xd0, 0xb5, 0x21, 0x30, 0xfb, 0x72, 0xae, 0x91, 0x38, + 0xdb, 0x14, 0xa7, 0x2a, 0xfd, 0xec, 0x38, 0x38, 0xcb, 0xa1, 0xe3, 0x2d, 0x3f, 0x8d, 0xfa, 0xfb, + 0x67, 0x65, 0x56, 0x17, 0x24, 0x72, 0xfc, 0x5b, 0x3c, 0x5a, 0x8a, 0x7a, 0xe5, 0x9b, 0x69, 0xfe, + 0x2a, 0xbd, 0x3d, 0x32, 0x52, 0x2e, 0x93, 0xca, 0xf5, 0x58, 0x52, 0x27, 0x23, 0x57, 0x24, 0x85, + 0x21, 0xc2, 0xfd, 0x85, 0x00, 0x8b, 0x03, 0xcd, 0x0e, 0xf4, 0x56, 0xaa, 0x1f, 0x4e, 0x6a, 0x8a, + 0x8c, 0x14, 0xa9, 0x41, 0x45, 0xaa, 0x4b, 0x1b, 0x63, 0x89, 0xc4, 0xdb, 0x21, 0x04, 0xf5, 0xdf, + 0x31, 0x67, 0x3b, 0xf8, 0x15, 0x49, 0x7a, 0xe5, 0x38, 0xa5, 0x6b, 0x32, 0x12, 0xbb, 0x4c, 0xb1, + 0x6f, 0x49, 0x9b, 0x63, 0x61, 0xef, 0x35, 0x4b, 0x08, 0xfc, 0x3f, 0x11, 0x60, 0xa1, 0xaf, 0x51, + 0x82, 0xae, 0xa7, 0x21, 0x4f, 0x68, 0xa7, 0x8c, 0x04, 0xbd, 0x43, 0x41, 0xdf, 0x97, 0xaa, 0x63, + 0x81, 0x66, 0x7d, 0x12, 0x02, 0xf8, 0x4b, 0x01, 0xf2, 0xd1, 0x26, 0x49, 0x8a, 0x0f, 0x49, 0xe8, + 0xa3, 0x8c, 0x84, 0xfa, 0x4d, 0x0a, 0xf5, 0xa1, 0x74, 0x6f, 0xcc, 0xb3, 0xc1, 0xb7, 0x25, 0x68, + 0xff, 0x48, 0x80, 0x7c, 0xb4, 0x95, 0x92, 0x82, 0x36, 0xa1, 0xdb, 0xf2, 0x82, 0x14, 0xcb, 0x0a, + 0x86, 0x04, 0xea, 0x9f, 0x0b, 0x50, 0x88, 0xf5, 0x35, 0x52, 0x2c, 0x79, 0x52, 0xef, 0x63, 0x24, + 0xd8, 0x3d, 0x0a, 0xb6, 0x21, 0x3d, 0x18, 0xcb, 0x92, 0x7b, 0xd1, 0xad, 0x09, 0xe6, 0xdf, 0x15, + 0xa0, 0x10, 0xeb, 0x75, 0xa4, 0x60, 0x4e, 0xea, 0x87, 0x8c, 0xc4, 0xcc, 0x3d, 0xf7, 0xb5, 0xf1, + 0x3c, 0xf7, 0x0f, 0x05, 0x28, 0xc6, 0x4b, 0xe7, 0x29, 0xae, 0x27, 0xb1, 0x37, 0xb0, 0x76, 0xfd, + 0x44, 0xbc, 0x3c, 0xf2, 0xf9, 0x80, 0x22, 0x7e, 0x07, 0xdd, 0x38, 0x21, 0xe2, 0x48, 0x19, 0xfe, + 0xf7, 0x04, 0xc8, 0x47, 0x5b, 0x21, 0x29, 0x07, 0x35, 0xa1, 0x5b, 0x32, 0x52, 0x8f, 0xf7, 0x29, + 0xaa, 0xbb, 0xe8, 0xe3, 0x53, 0xa3, 0x2a, 0x3f, 0x8d, 0xf6, 0x25, 0x9e, 0xa1, 0x1f, 0x09, 0xb0, + 0xd0, 0xd7, 0xf6, 0x48, 0x31, 0x56, 0xc9, 0xcd, 0x91, 0xb5, 0xd5, 0x80, 0x39, 0xf8, 0x5b, 0xc4, + 0xf5, 0x5a, 0xc7, 0xf1, 0x8f, 0x4f, 0x6d, 0x59, 0x53, 0x21, 0xde, 0xd6, 0xe8, 0xc6, 0xe4, 0x6c, + 0xfe, 0x40, 0x80, 0x85, 0xbe, 0xa6, 0x45, 0x0a, 0xd8, 0xe4, 0xd6, 0xc6, 0xda, 0xa5, 0x94, 0xeb, + 0xd7, 0xe3, 0x94, 0x3e, 0xa4, 0xb8, 0xbf, 0x8e, 0xde, 0x39, 0x21, 0x6e, 0x8f, 0x4e, 0xe6, 0xb5, + 0xd7, 0x9f, 0x08, 0x50, 0x88, 0x95, 0x0d, 0x50, 0x7a, 0x90, 0xdd, 0x5f, 0xef, 0x5e, 0xbb, 0x76, + 0x12, 0x56, 0x7e, 0x2c, 0xb9, 0xa5, 0x42, 0xf7, 0xbe, 0x9a, 0x30, 0x02, 0xfd, 0xa5, 0x00, 0xb9, + 0x48, 0x65, 0x1c, 0xbd, 0x91, 0xa6, 0xd5, 0xfe, 0x38, 0x6e, 0x78, 0xe9, 0x43, 0xfa, 0x16, 0xc5, + 0xf9, 0x08, 0xed, 0x4d, 0x24, 0xdc, 0x41, 0x7f, 0x2a, 0x40, 0x31, 0xde, 0x70, 0x49, 0xb1, 0x04, + 0x89, 0x5d, 0x99, 0x17, 0xe4, 0xbd, 0x42, 0xf4, 0xe4, 0x08, 0xff, 0xad, 0x00, 0xc5, 0x78, 0xeb, + 0x25, 0x05, 0x71, 0x62, 0x7f, 0x66, 0x24, 0x62, 0xae, 0xef, 0x6b, 0x13, 0xd2, 0xf7, 0xbf, 0x0a, + 0x70, 0x26, 0xa5, 0x58, 0x87, 0x92, 0x3f, 0x2f, 0x1d, 0x5e, 0xda, 0x1b, 0x29, 0x8f, 0x41, 0xe5, + 0xd1, 0xa4, 0x6f, 0x4f, 0x44, 0x9e, 0xdb, 0x2e, 0x47, 0xc7, 0x13, 0x81, 0x95, 0xc4, 0x82, 0x30, + 0xba, 0x31, 0x2a, 0x0f, 0x18, 0x28, 0x1e, 0x8f, 0x94, 0xcb, 0xa2, 0x72, 0x1d, 0x48, 0xda, 0x64, + 0xd2, 0x00, 0xea, 0xd5, 0x03, 0x4c, 0x44, 0xb8, 0x1f, 0x09, 0x90, 0x0d, 0x0b, 0x6d, 0xe8, 0xf2, + 0x89, 0x0a, 0x71, 0x23, 0x85, 0xf8, 0x84, 0x0a, 0xd1, 0x94, 0x1e, 0x8e, 0x25, 0x44, 0xbc, 0xb2, + 0xc7, 0x03, 0xe8, 0x42, 0xac, 0xd8, 0x96, 0x1e, 0x36, 0x0d, 0x14, 0xe4, 0x5e, 0x50, 0xc4, 0xdf, + 0xfb, 0xf3, 0x1b, 0x02, 0xf8, 0xaf, 0x48, 0xc4, 0x1f, 0xaf, 0xcc, 0xa5, 0x45, 0xfc, 0x89, 0xf5, + 0xbb, 0x91, 0xa0, 0x1f, 0x51, 0xd0, 0xdf, 0x94, 0xb6, 0xc6, 0x8b, 0xf5, 0xe8, 0xe6, 0x4e, 0xb0, + 0x39, 0x41, 0xfe, 0xf7, 0x02, 0xa0, 0xc1, 0x3a, 0x1f, 0x5a, 0x4f, 0x36, 0xa2, 0x69, 0x05, 0xc1, + 0x91, 0xf8, 0x3f, 0xa3, 0xf8, 0x77, 0xa5, 0xc6, 0x58, 0xf8, 0xb5, 0x60, 0xff, 0x98, 0x08, 0xff, + 0xc8, 0xd2, 0xad, 0x68, 0xbb, 0x23, 0x3d, 0xdd, 0x4a, 0x68, 0x8a, 0x8c, 0x04, 0x7f, 0x40, 0xc1, + 0xef, 0x4b, 0xdf, 0x9a, 0xd8, 0x5d, 0x25, 0x68, 0x88, 0x28, 0x7f, 0x23, 0xd0, 0x02, 0x7d, 0xfc, + 0xcf, 0x5b, 0xdf, 0x4c, 0x95, 0x25, 0xa1, 0x7e, 0x39, 0x52, 0x98, 0x9f, 0xa6, 0xc2, 0xc8, 0xd2, + 0xf6, 0xb8, 0x59, 0x43, 0x6c, 0xf7, 0xdb, 0xc2, 0xb5, 0xbb, 0x16, 0x9c, 0xd1, 0xec, 0x4e, 0xd2, + 0xf6, 0x77, 0x97, 0x78, 0x9a, 0xc0, 0x93, 0xf3, 0x26, 0x89, 0x14, 0x9b, 0xc2, 0x67, 0x77, 0x38, + 0x6f, 0xdb, 0x36, 0x55, 0xab, 0xbd, 0x6e, 0xbb, 0xed, 0x72, 0x1b, 0x5b, 0x34, 0x8e, 0x2c, 0xb3, + 0x21, 0xd5, 0x31, 0xbc, 0xd8, 0x7f, 0xa1, 0xf1, 0x61, 0xf8, 0xb0, 0x3f, 0x4b, 0x19, 0xdf, 0xf9, + 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0e, 0xd3, 0x30, 0x4e, 0x6a, 0x43, 0x00, 0x00, } diff --git a/googleapis/datastore/admin/v1beta1/datastore_admin.pb.go b/googleapis/datastore/admin/v1beta1/datastore_admin.pb.go new file mode 100644 index 00000000..bf78d241 --- /dev/null +++ b/googleapis/datastore/admin/v1beta1/datastore_admin.pb.go @@ -0,0 +1,731 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/datastore/admin/v1beta1/datastore_admin.proto + +/* +Package admin is a generated protocol buffer package. + +It is generated from these files: + google/datastore/admin/v1beta1/datastore_admin.proto + +It has these top-level messages: + CommonMetadata + Progress + ExportEntitiesRequest + ImportEntitiesRequest + ExportEntitiesResponse + ExportEntitiesMetadata + ImportEntitiesMetadata + EntityFilter +*/ +package admin + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import _ "google.golang.org/genproto/googleapis/api/annotations" +import google_longrunning "google.golang.org/genproto/googleapis/longrunning" +import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp" + +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 + +// Operation types. +type OperationType int32 + +const ( + // Unspecified. + OperationType_OPERATION_TYPE_UNSPECIFIED OperationType = 0 + // ExportEntities. + OperationType_EXPORT_ENTITIES OperationType = 1 + // ImportEntities. + OperationType_IMPORT_ENTITIES OperationType = 2 +) + +var OperationType_name = map[int32]string{ + 0: "OPERATION_TYPE_UNSPECIFIED", + 1: "EXPORT_ENTITIES", + 2: "IMPORT_ENTITIES", +} +var OperationType_value = map[string]int32{ + "OPERATION_TYPE_UNSPECIFIED": 0, + "EXPORT_ENTITIES": 1, + "IMPORT_ENTITIES": 2, +} + +func (x OperationType) String() string { + return proto.EnumName(OperationType_name, int32(x)) +} +func (OperationType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } + +// The various possible states for an ongoing Operation. +type CommonMetadata_State int32 + +const ( + // Unspecified. + CommonMetadata_STATE_UNSPECIFIED CommonMetadata_State = 0 + // Request is being prepared for processing. + CommonMetadata_INITIALIZING CommonMetadata_State = 1 + // Request is actively being processed. + CommonMetadata_PROCESSING CommonMetadata_State = 2 + // Request is in the process of being cancelled after user called + // longrunning.Operations.CancelOperation on the operation. + CommonMetadata_CANCELLING CommonMetadata_State = 3 + // Request has been processed and is in its finalization stage. + CommonMetadata_FINALIZING CommonMetadata_State = 4 + // Request has completed successfully. + CommonMetadata_SUCCESSFUL CommonMetadata_State = 5 + // Request has finished being processed, but encountered an error. + CommonMetadata_FAILED CommonMetadata_State = 6 + // Request has finished being cancelled after user called + // longrunning.Operations.CancelOperation. + CommonMetadata_CANCELLED CommonMetadata_State = 7 +) + +var CommonMetadata_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "INITIALIZING", + 2: "PROCESSING", + 3: "CANCELLING", + 4: "FINALIZING", + 5: "SUCCESSFUL", + 6: "FAILED", + 7: "CANCELLED", +} +var CommonMetadata_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "INITIALIZING": 1, + "PROCESSING": 2, + "CANCELLING": 3, + "FINALIZING": 4, + "SUCCESSFUL": 5, + "FAILED": 6, + "CANCELLED": 7, +} + +func (x CommonMetadata_State) String() string { + return proto.EnumName(CommonMetadata_State_name, int32(x)) +} +func (CommonMetadata_State) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0, 0} } + +// Metadata common to all Datastore Admin operations. +type CommonMetadata struct { + // The time that work began on the operation. + StartTime *google_protobuf3.Timestamp `protobuf:"bytes,1,opt,name=start_time,json=startTime" json:"start_time,omitempty"` + // The time the operation ended, either successfully or otherwise. + EndTime *google_protobuf3.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime" json:"end_time,omitempty"` + // The type of the operation. Can be used as a filter in + // ListOperationsRequest. + OperationType OperationType `protobuf:"varint,3,opt,name=operation_type,json=operationType,enum=google.datastore.admin.v1beta1.OperationType" json:"operation_type,omitempty"` + // The client-assigned labels which were provided when the operation was + // created. May also include additional labels. + Labels map[string]string `protobuf:"bytes,4,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // The current state of the Operation. + State CommonMetadata_State `protobuf:"varint,5,opt,name=state,enum=google.datastore.admin.v1beta1.CommonMetadata_State" json:"state,omitempty"` +} + +func (m *CommonMetadata) Reset() { *m = CommonMetadata{} } +func (m *CommonMetadata) String() string { return proto.CompactTextString(m) } +func (*CommonMetadata) ProtoMessage() {} +func (*CommonMetadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } + +func (m *CommonMetadata) GetStartTime() *google_protobuf3.Timestamp { + if m != nil { + return m.StartTime + } + return nil +} + +func (m *CommonMetadata) GetEndTime() *google_protobuf3.Timestamp { + if m != nil { + return m.EndTime + } + return nil +} + +func (m *CommonMetadata) GetOperationType() OperationType { + if m != nil { + return m.OperationType + } + return OperationType_OPERATION_TYPE_UNSPECIFIED +} + +func (m *CommonMetadata) GetLabels() map[string]string { + if m != nil { + return m.Labels + } + return nil +} + +func (m *CommonMetadata) GetState() CommonMetadata_State { + if m != nil { + return m.State + } + return CommonMetadata_STATE_UNSPECIFIED +} + +// Measures the progress of a particular metric. +type Progress struct { + // Note that this may be greater than work_estimated. + WorkCompleted int64 `protobuf:"varint,1,opt,name=work_completed,json=workCompleted" json:"work_completed,omitempty"` + // An estimate of how much work needs to be performed. May be zero if the + // work estimate is unavailable. + WorkEstimated int64 `protobuf:"varint,2,opt,name=work_estimated,json=workEstimated" json:"work_estimated,omitempty"` +} + +func (m *Progress) Reset() { *m = Progress{} } +func (m *Progress) String() string { return proto.CompactTextString(m) } +func (*Progress) ProtoMessage() {} +func (*Progress) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } + +func (m *Progress) GetWorkCompleted() int64 { + if m != nil { + return m.WorkCompleted + } + return 0 +} + +func (m *Progress) GetWorkEstimated() int64 { + if m != nil { + return m.WorkEstimated + } + return 0 +} + +// The request for +// [google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities][google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities]. +type ExportEntitiesRequest struct { + // Project ID against which to make the request. + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"` + // Client-assigned labels. + Labels map[string]string `protobuf:"bytes,2,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Description of what data from the project is included in the export. + EntityFilter *EntityFilter `protobuf:"bytes,3,opt,name=entity_filter,json=entityFilter" json:"entity_filter,omitempty"` + // Location for the export metadata and data files. + // + // The full resource URL of the external storage location. Currently, only + // Google Cloud Storage is supported. So output_url_prefix should be of the + // form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the + // name of the Cloud Storage bucket and `NAMESPACE_PATH` is an optional Cloud + // Storage namespace path (this is not a Cloud Datastore namespace). For more + // information about Cloud Storage namespace paths, see + // [Object name + // considerations](https://cloud.google.com/storage/docs/naming#object-considerations). + // + // The resulting files will be nested deeper than the specified URL prefix. + // The final output URL will be provided in the + // [google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url][google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url] + // field. That value should be used for subsequent ImportEntities operations. + // + // By nesting the data files deeper, the same Cloud Storage bucket can be used + // in multiple ExportEntities operations without conflict. + OutputUrlPrefix string `protobuf:"bytes,4,opt,name=output_url_prefix,json=outputUrlPrefix" json:"output_url_prefix,omitempty"` +} + +func (m *ExportEntitiesRequest) Reset() { *m = ExportEntitiesRequest{} } +func (m *ExportEntitiesRequest) String() string { return proto.CompactTextString(m) } +func (*ExportEntitiesRequest) ProtoMessage() {} +func (*ExportEntitiesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } + +func (m *ExportEntitiesRequest) GetProjectId() string { + if m != nil { + return m.ProjectId + } + return "" +} + +func (m *ExportEntitiesRequest) GetLabels() map[string]string { + if m != nil { + return m.Labels + } + return nil +} + +func (m *ExportEntitiesRequest) GetEntityFilter() *EntityFilter { + if m != nil { + return m.EntityFilter + } + return nil +} + +func (m *ExportEntitiesRequest) GetOutputUrlPrefix() string { + if m != nil { + return m.OutputUrlPrefix + } + return "" +} + +// The request for +// [google.datastore.admin.v1beta1.DatastoreAdmin.ImportEntities][google.datastore.admin.v1beta1.DatastoreAdmin.ImportEntities]. +type ImportEntitiesRequest struct { + // Project ID against which to make the request. + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"` + // Client-assigned labels. + Labels map[string]string `protobuf:"bytes,2,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // The full resource URL of the external storage location. Currently, only + // Google Cloud Storage is supported. So input_url should be of the form: + // `gs://BUCKET_NAME[/NAMESPACE_PATH]/OVERALL_EXPORT_METADATA_FILE`, where + // `BUCKET_NAME` is the name of the Cloud Storage bucket, `NAMESPACE_PATH` is + // an optional Cloud Storage namespace path (this is not a Cloud Datastore + // namespace), and `OVERALL_EXPORT_METADATA_FILE` is the metadata file written + // by the ExportEntities operation. For more information about Cloud Storage + // namespace paths, see + // [Object name + // considerations](https://cloud.google.com/storage/docs/naming#object-considerations). + // + // For more information, see + // [google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url][google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url]. + InputUrl string `protobuf:"bytes,3,opt,name=input_url,json=inputUrl" json:"input_url,omitempty"` + // Optionally specify which kinds/namespaces are to be imported. If provided, + // the list must be a subset of the EntityFilter used in creating the export, + // otherwise a FAILED_PRECONDITION error will be returned. If no filter is + // specified then all entities from the export are imported. + EntityFilter *EntityFilter `protobuf:"bytes,4,opt,name=entity_filter,json=entityFilter" json:"entity_filter,omitempty"` +} + +func (m *ImportEntitiesRequest) Reset() { *m = ImportEntitiesRequest{} } +func (m *ImportEntitiesRequest) String() string { return proto.CompactTextString(m) } +func (*ImportEntitiesRequest) ProtoMessage() {} +func (*ImportEntitiesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } + +func (m *ImportEntitiesRequest) GetProjectId() string { + if m != nil { + return m.ProjectId + } + return "" +} + +func (m *ImportEntitiesRequest) GetLabels() map[string]string { + if m != nil { + return m.Labels + } + return nil +} + +func (m *ImportEntitiesRequest) GetInputUrl() string { + if m != nil { + return m.InputUrl + } + return "" +} + +func (m *ImportEntitiesRequest) GetEntityFilter() *EntityFilter { + if m != nil { + return m.EntityFilter + } + return nil +} + +// The response for +// [google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities][google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities]. +type ExportEntitiesResponse struct { + // Location of the output metadata file. This can be used to begin an import + // into Cloud Datastore (this project or another project). See + // [google.datastore.admin.v1beta1.ImportEntitiesRequest.input_url][google.datastore.admin.v1beta1.ImportEntitiesRequest.input_url]. + // Only present if the operation completed successfully. + OutputUrl string `protobuf:"bytes,1,opt,name=output_url,json=outputUrl" json:"output_url,omitempty"` +} + +func (m *ExportEntitiesResponse) Reset() { *m = ExportEntitiesResponse{} } +func (m *ExportEntitiesResponse) String() string { return proto.CompactTextString(m) } +func (*ExportEntitiesResponse) ProtoMessage() {} +func (*ExportEntitiesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } + +func (m *ExportEntitiesResponse) GetOutputUrl() string { + if m != nil { + return m.OutputUrl + } + return "" +} + +// Metadata for ExportEntities operations. +type ExportEntitiesMetadata struct { + // Metadata common to all Datastore Admin operations. + Common *CommonMetadata `protobuf:"bytes,1,opt,name=common" json:"common,omitempty"` + // An estimate of the number of entities processed. + ProgressEntities *Progress `protobuf:"bytes,2,opt,name=progress_entities,json=progressEntities" json:"progress_entities,omitempty"` + // An estimate of the number of bytes processed. + ProgressBytes *Progress `protobuf:"bytes,3,opt,name=progress_bytes,json=progressBytes" json:"progress_bytes,omitempty"` + // Description of which entities are being exported. + EntityFilter *EntityFilter `protobuf:"bytes,4,opt,name=entity_filter,json=entityFilter" json:"entity_filter,omitempty"` + // Location for the export metadata and data files. This will be the same + // value as the + // [google.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_prefix][google.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_prefix] + // field. The final output location is provided in + // [google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url][google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url]. + OutputUrlPrefix string `protobuf:"bytes,5,opt,name=output_url_prefix,json=outputUrlPrefix" json:"output_url_prefix,omitempty"` +} + +func (m *ExportEntitiesMetadata) Reset() { *m = ExportEntitiesMetadata{} } +func (m *ExportEntitiesMetadata) String() string { return proto.CompactTextString(m) } +func (*ExportEntitiesMetadata) ProtoMessage() {} +func (*ExportEntitiesMetadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } + +func (m *ExportEntitiesMetadata) GetCommon() *CommonMetadata { + if m != nil { + return m.Common + } + return nil +} + +func (m *ExportEntitiesMetadata) GetProgressEntities() *Progress { + if m != nil { + return m.ProgressEntities + } + return nil +} + +func (m *ExportEntitiesMetadata) GetProgressBytes() *Progress { + if m != nil { + return m.ProgressBytes + } + return nil +} + +func (m *ExportEntitiesMetadata) GetEntityFilter() *EntityFilter { + if m != nil { + return m.EntityFilter + } + return nil +} + +func (m *ExportEntitiesMetadata) GetOutputUrlPrefix() string { + if m != nil { + return m.OutputUrlPrefix + } + return "" +} + +// Metadata for ImportEntities operations. +type ImportEntitiesMetadata struct { + // Metadata common to all Datastore Admin operations. + Common *CommonMetadata `protobuf:"bytes,1,opt,name=common" json:"common,omitempty"` + // An estimate of the number of entities processed. + ProgressEntities *Progress `protobuf:"bytes,2,opt,name=progress_entities,json=progressEntities" json:"progress_entities,omitempty"` + // An estimate of the number of bytes processed. + ProgressBytes *Progress `protobuf:"bytes,3,opt,name=progress_bytes,json=progressBytes" json:"progress_bytes,omitempty"` + // Description of which entities are being imported. + EntityFilter *EntityFilter `protobuf:"bytes,4,opt,name=entity_filter,json=entityFilter" json:"entity_filter,omitempty"` + // The location of the import metadata file. This will be the same value as + // the [google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url][google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url] + // field. + InputUrl string `protobuf:"bytes,5,opt,name=input_url,json=inputUrl" json:"input_url,omitempty"` +} + +func (m *ImportEntitiesMetadata) Reset() { *m = ImportEntitiesMetadata{} } +func (m *ImportEntitiesMetadata) String() string { return proto.CompactTextString(m) } +func (*ImportEntitiesMetadata) ProtoMessage() {} +func (*ImportEntitiesMetadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } + +func (m *ImportEntitiesMetadata) GetCommon() *CommonMetadata { + if m != nil { + return m.Common + } + return nil +} + +func (m *ImportEntitiesMetadata) GetProgressEntities() *Progress { + if m != nil { + return m.ProgressEntities + } + return nil +} + +func (m *ImportEntitiesMetadata) GetProgressBytes() *Progress { + if m != nil { + return m.ProgressBytes + } + return nil +} + +func (m *ImportEntitiesMetadata) GetEntityFilter() *EntityFilter { + if m != nil { + return m.EntityFilter + } + return nil +} + +func (m *ImportEntitiesMetadata) GetInputUrl() string { + if m != nil { + return m.InputUrl + } + return "" +} + +// Identifies a subset of entities in a project. This is specified as +// combinations of kind + namespace (either or both of which may be all, as +// described in the following examples). +// Example usage: +// +// Entire project: +// kinds=[], namespace_ids=[] +// +// Kinds Foo and Bar in all namespaces: +// kinds=['Foo', 'Bar'], namespace_ids=[] +// +// Kinds Foo and Bar only in the default namespace: +// kinds=['Foo', 'Bar'], namespace_ids=[''] +// +// Kinds Foo and Bar in both the default and Baz namespaces: +// kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz'] +// +// The entire Baz namespace: +// kinds=[], namespace_ids=['Baz'] +type EntityFilter struct { + // If empty, then this represents all kinds. + Kinds []string `protobuf:"bytes,1,rep,name=kinds" json:"kinds,omitempty"` + // An empty list represents all namespaces. This is the preferred + // usage for projects that don't use namespaces. + // + // An empty string element represents the default namespace. This should be + // used if the project has data in non-default namespaces, but doesn't want to + // include them. + // Each namespace in this list must be unique. + NamespaceIds []string `protobuf:"bytes,2,rep,name=namespace_ids,json=namespaceIds" json:"namespace_ids,omitempty"` +} + +func (m *EntityFilter) Reset() { *m = EntityFilter{} } +func (m *EntityFilter) String() string { return proto.CompactTextString(m) } +func (*EntityFilter) ProtoMessage() {} +func (*EntityFilter) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } + +func (m *EntityFilter) GetKinds() []string { + if m != nil { + return m.Kinds + } + return nil +} + +func (m *EntityFilter) GetNamespaceIds() []string { + if m != nil { + return m.NamespaceIds + } + return nil +} + +func init() { + proto.RegisterType((*CommonMetadata)(nil), "google.datastore.admin.v1beta1.CommonMetadata") + proto.RegisterType((*Progress)(nil), "google.datastore.admin.v1beta1.Progress") + proto.RegisterType((*ExportEntitiesRequest)(nil), "google.datastore.admin.v1beta1.ExportEntitiesRequest") + proto.RegisterType((*ImportEntitiesRequest)(nil), "google.datastore.admin.v1beta1.ImportEntitiesRequest") + proto.RegisterType((*ExportEntitiesResponse)(nil), "google.datastore.admin.v1beta1.ExportEntitiesResponse") + proto.RegisterType((*ExportEntitiesMetadata)(nil), "google.datastore.admin.v1beta1.ExportEntitiesMetadata") + proto.RegisterType((*ImportEntitiesMetadata)(nil), "google.datastore.admin.v1beta1.ImportEntitiesMetadata") + proto.RegisterType((*EntityFilter)(nil), "google.datastore.admin.v1beta1.EntityFilter") + proto.RegisterEnum("google.datastore.admin.v1beta1.OperationType", OperationType_name, OperationType_value) + proto.RegisterEnum("google.datastore.admin.v1beta1.CommonMetadata_State", CommonMetadata_State_name, CommonMetadata_State_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 DatastoreAdmin service + +type DatastoreAdminClient interface { + // Exports a copy of all or a subset of entities from Google Cloud Datastore + // to another storage system, such as Google Cloud Storage. Recent updates to + // entities may not be reflected in the export. The export occurs in the + // background and its progress can be monitored and managed via the + // Operation resource that is created. The output of an export may only be + // used once the associated operation is done. If an export operation is + // cancelled before completion it may leave partial data behind in Google + // Cloud Storage. + ExportEntities(ctx context.Context, in *ExportEntitiesRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) + // Imports entities into Google Cloud Datastore. Existing entities with the + // same key are overwritten. The import occurs in the background and its + // progress can be monitored and managed via the Operation resource that is + // created. If an ImportEntities operation is cancelled, it is possible + // that a subset of the data has already been imported to Cloud Datastore. + ImportEntities(ctx context.Context, in *ImportEntitiesRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) +} + +type datastoreAdminClient struct { + cc *grpc.ClientConn +} + +func NewDatastoreAdminClient(cc *grpc.ClientConn) DatastoreAdminClient { + return &datastoreAdminClient{cc} +} + +func (c *datastoreAdminClient) ExportEntities(ctx context.Context, in *ExportEntitiesRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) { + out := new(google_longrunning.Operation) + err := grpc.Invoke(ctx, "/google.datastore.admin.v1beta1.DatastoreAdmin/ExportEntities", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *datastoreAdminClient) ImportEntities(ctx context.Context, in *ImportEntitiesRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) { + out := new(google_longrunning.Operation) + err := grpc.Invoke(ctx, "/google.datastore.admin.v1beta1.DatastoreAdmin/ImportEntities", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// Server API for DatastoreAdmin service + +type DatastoreAdminServer interface { + // Exports a copy of all or a subset of entities from Google Cloud Datastore + // to another storage system, such as Google Cloud Storage. Recent updates to + // entities may not be reflected in the export. The export occurs in the + // background and its progress can be monitored and managed via the + // Operation resource that is created. The output of an export may only be + // used once the associated operation is done. If an export operation is + // cancelled before completion it may leave partial data behind in Google + // Cloud Storage. + ExportEntities(context.Context, *ExportEntitiesRequest) (*google_longrunning.Operation, error) + // Imports entities into Google Cloud Datastore. Existing entities with the + // same key are overwritten. The import occurs in the background and its + // progress can be monitored and managed via the Operation resource that is + // created. If an ImportEntities operation is cancelled, it is possible + // that a subset of the data has already been imported to Cloud Datastore. + ImportEntities(context.Context, *ImportEntitiesRequest) (*google_longrunning.Operation, error) +} + +func RegisterDatastoreAdminServer(s *grpc.Server, srv DatastoreAdminServer) { + s.RegisterService(&_DatastoreAdmin_serviceDesc, srv) +} + +func _DatastoreAdmin_ExportEntities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExportEntitiesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DatastoreAdminServer).ExportEntities(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.datastore.admin.v1beta1.DatastoreAdmin/ExportEntities", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DatastoreAdminServer).ExportEntities(ctx, req.(*ExportEntitiesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DatastoreAdmin_ImportEntities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ImportEntitiesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DatastoreAdminServer).ImportEntities(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.datastore.admin.v1beta1.DatastoreAdmin/ImportEntities", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DatastoreAdminServer).ImportEntities(ctx, req.(*ImportEntitiesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _DatastoreAdmin_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.datastore.admin.v1beta1.DatastoreAdmin", + HandlerType: (*DatastoreAdminServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ExportEntities", + Handler: _DatastoreAdmin_ExportEntities_Handler, + }, + { + MethodName: "ImportEntities", + Handler: _DatastoreAdmin_ImportEntities_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/datastore/admin/v1beta1/datastore_admin.proto", +} + +func init() { + proto.RegisterFile("google/datastore/admin/v1beta1/datastore_admin.proto", fileDescriptor0) +} + +var fileDescriptor0 = []byte{ + // 996 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x56, 0x41, 0x8f, 0xdb, 0x44, + 0x14, 0xc6, 0xce, 0x26, 0x6d, 0xde, 0x6e, 0xd2, 0xec, 0x94, 0xad, 0xa2, 0x40, 0xcb, 0xca, 0xa5, + 0xd2, 0x6a, 0x05, 0x0e, 0x1b, 0x5a, 0x41, 0x97, 0x53, 0x36, 0xeb, 0x54, 0x46, 0x69, 0x12, 0x1c, + 0x07, 0x75, 0x7b, 0xb1, 0x9c, 0x78, 0x36, 0x32, 0x6b, 0x7b, 0x8c, 0x3d, 0x29, 0x8d, 0x10, 0x17, + 0x2e, 0x1c, 0x38, 0x72, 0xe1, 0x1f, 0x20, 0xf1, 0x1b, 0xb8, 0x70, 0xe1, 0xc2, 0x91, 0xbf, 0xc0, + 0x8f, 0xe0, 0x88, 0x66, 0x3c, 0x76, 0xe2, 0x25, 0x10, 0xca, 0x16, 0x4e, 0xdc, 0xfc, 0xde, 0xbc, + 0xef, 0x9b, 0x37, 0xdf, 0x9b, 0xf7, 0x3c, 0x70, 0x7f, 0x46, 0xc8, 0xcc, 0xc3, 0x4d, 0xc7, 0xa6, + 0x76, 0x4c, 0x49, 0x84, 0x9b, 0xb6, 0xe3, 0xbb, 0x41, 0xf3, 0xd9, 0xd1, 0x04, 0x53, 0xfb, 0x68, + 0xe9, 0xb7, 0xb8, 0x5f, 0x0d, 0x23, 0x42, 0x09, 0xba, 0x93, 0xa0, 0xd4, 0x6c, 0x55, 0x4d, 0x56, + 0x05, 0xaa, 0xf1, 0xba, 0x60, 0xb5, 0x43, 0xb7, 0x69, 0x07, 0x01, 0xa1, 0x36, 0x75, 0x49, 0x10, + 0x27, 0xe8, 0xc6, 0x5d, 0xb1, 0xea, 0x91, 0x60, 0x16, 0xcd, 0x83, 0xc0, 0x0d, 0x66, 0x4d, 0x12, + 0xe2, 0x28, 0x17, 0xf4, 0x86, 0x08, 0xe2, 0xd6, 0x64, 0x7e, 0xde, 0xa4, 0xae, 0x8f, 0x63, 0x6a, + 0xfb, 0x61, 0x12, 0xa0, 0xfc, 0xb8, 0x05, 0xd5, 0x0e, 0xf1, 0x7d, 0x12, 0x3c, 0xc6, 0xd4, 0x66, + 0x99, 0xa0, 0x87, 0x00, 0x31, 0xb5, 0x23, 0x6a, 0xb1, 0xd8, 0xba, 0xb4, 0x2f, 0x1d, 0x6c, 0xb7, + 0x1a, 0xaa, 0xc8, 0x35, 0x25, 0x52, 0xcd, 0x94, 0xc8, 0x28, 0xf3, 0x68, 0x66, 0xa3, 0x07, 0x70, + 0x1d, 0x07, 0x4e, 0x02, 0x94, 0x37, 0x02, 0xaf, 0xe1, 0xc0, 0xe1, 0x30, 0x13, 0xaa, 0x59, 0xe6, + 0x16, 0x5d, 0x84, 0xb8, 0x5e, 0xd8, 0x97, 0x0e, 0xaa, 0xad, 0xb7, 0xd5, 0xbf, 0x56, 0x48, 0x1d, + 0xa4, 0x28, 0x73, 0x11, 0x62, 0xa3, 0x42, 0x56, 0x4d, 0x64, 0x40, 0xc9, 0xb3, 0x27, 0xd8, 0x8b, + 0xeb, 0x5b, 0xfb, 0x85, 0x83, 0xed, 0xd6, 0xf1, 0x26, 0xb6, 0xbc, 0x0e, 0x6a, 0x8f, 0x83, 0xb5, + 0x80, 0x46, 0x0b, 0x43, 0x30, 0xa1, 0x0f, 0xa1, 0x18, 0x53, 0x9b, 0xe2, 0x7a, 0x91, 0x27, 0x78, + 0xff, 0x05, 0x29, 0x47, 0x0c, 0x6b, 0x24, 0x14, 0x8d, 0x87, 0xb0, 0xbd, 0xb2, 0x05, 0xaa, 0x41, + 0xe1, 0x02, 0x2f, 0xb8, 0xde, 0x65, 0x83, 0x7d, 0xa2, 0x57, 0xa1, 0xf8, 0xcc, 0xf6, 0xe6, 0x89, + 0x94, 0x65, 0x23, 0x31, 0x8e, 0xe5, 0xf7, 0x25, 0xe5, 0x6b, 0x09, 0x8a, 0x9c, 0x0b, 0xed, 0xc1, + 0xee, 0xc8, 0x6c, 0x9b, 0x9a, 0x35, 0xee, 0x8f, 0x86, 0x5a, 0x47, 0xef, 0xea, 0xda, 0x69, 0xed, + 0x15, 0x54, 0x83, 0x1d, 0xbd, 0xaf, 0x9b, 0x7a, 0xbb, 0xa7, 0x3f, 0xd5, 0xfb, 0x8f, 0x6a, 0x12, + 0xaa, 0x02, 0x0c, 0x8d, 0x41, 0x47, 0x1b, 0x8d, 0x98, 0x2d, 0x33, 0xbb, 0xd3, 0xee, 0x77, 0xb4, + 0x5e, 0x8f, 0xd9, 0x05, 0x66, 0x77, 0xf5, 0x7e, 0x1a, 0xbf, 0xc5, 0xec, 0xd1, 0xb8, 0xc3, 0xe2, + 0xbb, 0xe3, 0x5e, 0xad, 0x88, 0x00, 0x4a, 0xdd, 0xb6, 0xde, 0xd3, 0x4e, 0x6b, 0x25, 0x54, 0x81, + 0xb2, 0xc0, 0x6a, 0xa7, 0xb5, 0x6b, 0xca, 0x13, 0xb8, 0x3e, 0x8c, 0xc8, 0x2c, 0xc2, 0x71, 0x8c, + 0xee, 0x41, 0xf5, 0x33, 0x12, 0x5d, 0x58, 0x53, 0xe2, 0x87, 0x1e, 0xa6, 0xd8, 0xe1, 0x07, 0x2a, + 0x18, 0x15, 0xe6, 0xed, 0xa4, 0xce, 0x2c, 0x0c, 0xc7, 0xd4, 0xf5, 0x6d, 0x16, 0x26, 0x2f, 0xc3, + 0xb4, 0xd4, 0xa9, 0xfc, 0x2c, 0xc3, 0x9e, 0xf6, 0x3c, 0x24, 0x11, 0xd5, 0x02, 0xea, 0x52, 0x17, + 0xc7, 0x06, 0xfe, 0x74, 0x8e, 0x63, 0x8a, 0x6e, 0x03, 0x84, 0x11, 0xf9, 0x04, 0x4f, 0xa9, 0xe5, + 0x3a, 0x42, 0xb4, 0xb2, 0xf0, 0xe8, 0x0e, 0x3a, 0xcb, 0x6a, 0x2f, 0xf3, 0xda, 0xb7, 0x37, 0x15, + 0x6a, 0xed, 0x2e, 0x6b, 0xaf, 0xc0, 0x47, 0x50, 0xc1, 0x2c, 0x6c, 0x61, 0x9d, 0xbb, 0x1e, 0xc5, + 0x11, 0xbf, 0xab, 0xdb, 0xad, 0xb7, 0x36, 0xee, 0xc0, 0x41, 0x5d, 0x8e, 0x31, 0x76, 0xf0, 0x8a, + 0x85, 0x0e, 0x61, 0x97, 0xcc, 0x69, 0x38, 0xa7, 0xd6, 0x3c, 0xf2, 0xac, 0x30, 0xc2, 0xe7, 0xee, + 0xf3, 0xfa, 0x16, 0x3f, 0xd3, 0x8d, 0x64, 0x61, 0x1c, 0x79, 0x43, 0xee, 0xbe, 0xca, 0xad, 0xf9, + 0x41, 0x86, 0x3d, 0xdd, 0xff, 0x2f, 0xd4, 0x5c, 0xbb, 0xcb, 0x5a, 0x35, 0x5f, 0x83, 0xb2, 0x1b, + 0x88, 0x93, 0x73, 0x25, 0xcb, 0xc6, 0x75, 0xee, 0x18, 0x47, 0xde, 0x1f, 0xa5, 0xde, 0xba, 0xaa, + 0xd4, 0x57, 0x91, 0xef, 0x3d, 0xb8, 0x75, 0xf9, 0x96, 0xc4, 0x21, 0x09, 0x62, 0xcc, 0xe4, 0x5b, + 0xd6, 0x2f, 0x95, 0x2f, 0x2b, 0x9c, 0xf2, 0x55, 0xe1, 0x32, 0x32, 0x9b, 0xb5, 0x5d, 0x28, 0x4d, + 0xf9, 0x88, 0x10, 0x73, 0x56, 0x7d, 0xb1, 0x81, 0x62, 0x08, 0x34, 0x1a, 0xc3, 0x6e, 0x28, 0x5a, + 0xd0, 0xc2, 0x62, 0x13, 0x31, 0x81, 0x0f, 0x36, 0x51, 0xa6, 0xbd, 0x6b, 0xd4, 0x52, 0x8a, 0x34, + 0x4d, 0x34, 0x80, 0x6a, 0x46, 0x3b, 0x59, 0x50, 0x1c, 0x8b, 0xcb, 0xfe, 0xf7, 0x39, 0x2b, 0x29, + 0xfe, 0x84, 0xc1, 0xff, 0x85, 0x8a, 0xae, 0x6f, 0x9e, 0xe2, 0xda, 0xe6, 0x51, 0x7e, 0x93, 0xe1, + 0x56, 0xfe, 0x6e, 0xfe, 0x5f, 0x89, 0x97, 0x57, 0x89, 0x5c, 0x2f, 0x17, 0xf3, 0xbd, 0xac, 0xe8, + 0xb0, 0xb3, 0x0a, 0x65, 0x7d, 0x76, 0xe1, 0x06, 0x4e, 0x5c, 0x97, 0xf6, 0x0b, 0xac, 0xcf, 0xb8, + 0x81, 0xee, 0x42, 0x25, 0xb0, 0x7d, 0x1c, 0x87, 0xf6, 0x14, 0x5b, 0xae, 0x93, 0x0c, 0x9c, 0xb2, + 0xb1, 0x93, 0x39, 0x75, 0x27, 0x3e, 0x3c, 0x83, 0x4a, 0xee, 0xc7, 0x8f, 0xee, 0x40, 0x63, 0x30, + 0xd4, 0x8c, 0xb6, 0xa9, 0x0f, 0xfa, 0x96, 0x79, 0x36, 0xbc, 0xfc, 0x37, 0xbc, 0x09, 0x37, 0xb4, + 0x27, 0xc3, 0x81, 0x61, 0x5a, 0x5a, 0xdf, 0xd4, 0x4d, 0x5d, 0x1b, 0xd5, 0x24, 0xe6, 0xd4, 0x1f, + 0xe7, 0x9d, 0x72, 0xeb, 0x27, 0x19, 0xaa, 0xa7, 0xe9, 0xc9, 0xdb, 0xec, 0xe0, 0xe8, 0x5b, 0x09, + 0xaa, 0xf9, 0xee, 0x45, 0x0f, 0xfe, 0xd1, 0xdf, 0xa4, 0x71, 0x3b, 0x85, 0xad, 0x3c, 0xd9, 0x96, + 0x4f, 0x18, 0xe5, 0x9d, 0x2f, 0x7f, 0xf9, 0xf5, 0x1b, 0xf9, 0x50, 0xb9, 0x97, 0x3d, 0x1b, 0xc5, + 0x04, 0x8e, 0x9b, 0x9f, 0x2f, 0xa7, 0xf3, 0x17, 0xc7, 0x98, 0x93, 0x1f, 0x4b, 0x87, 0x3c, 0xb5, + 0xfc, 0x75, 0xde, 0x9c, 0xda, 0xda, 0xd1, 0xfc, 0xb2, 0x52, 0x73, 0x7d, 0x91, 0xda, 0xc9, 0x77, + 0x12, 0x28, 0x53, 0xe2, 0x6f, 0xc8, 0xe6, 0xe4, 0x66, 0x5e, 0xec, 0x21, 0x7b, 0x24, 0x0e, 0xa5, + 0xa7, 0x1d, 0x01, 0x9b, 0x11, 0xcf, 0x0e, 0x66, 0x2a, 0x89, 0x66, 0xcd, 0x19, 0x0e, 0xf8, 0x13, + 0xb2, 0x99, 0x2c, 0xd9, 0xa1, 0x1b, 0xff, 0xd9, 0x73, 0xfb, 0x03, 0x6e, 0x7d, 0x2f, 0xbf, 0xf9, + 0x28, 0x61, 0xe9, 0x78, 0x64, 0xee, 0xa8, 0xd9, 0x4e, 0x2a, 0xdf, 0x4a, 0xfd, 0xf8, 0xe8, 0x84, + 0x05, 0x4f, 0x4a, 0x9c, 0xf6, 0xdd, 0xdf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x77, 0x71, 0x2d, 0x88, + 0xc4, 0x0b, 0x00, 0x00, +} diff --git a/googleapis/devtools/remoteexecution/v1test/remote_execution.pb.go b/googleapis/devtools/remoteexecution/v1test/remote_execution.pb.go index 17f11ece..904fa82a 100644 --- a/googleapis/devtools/remoteexecution/v1test/remote_execution.pb.go +++ b/googleapis/devtools/remoteexecution/v1test/remote_execution.pb.go @@ -30,6 +30,8 @@ It has these top-level messages: BatchUpdateBlobsResponse GetTreeRequest GetTreeResponse + ToolDetails + RequestMetadata */ package remoteexecution @@ -1260,6 +1262,85 @@ func (m *GetTreeResponse) GetNextPageToken() string { return "" } +// Details for the tool used to call the API. +type ToolDetails struct { + // Name of the tool, e.g. bazel. + ToolName string `protobuf:"bytes,1,opt,name=tool_name,json=toolName" json:"tool_name,omitempty"` + // Version of the tool used for the request, e.g. 5.0.3. + ToolVersion string `protobuf:"bytes,2,opt,name=tool_version,json=toolVersion" json:"tool_version,omitempty"` +} + +func (m *ToolDetails) Reset() { *m = ToolDetails{} } +func (m *ToolDetails) String() string { return proto.CompactTextString(m) } +func (*ToolDetails) ProtoMessage() {} +func (*ToolDetails) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} } + +func (m *ToolDetails) GetToolName() string { + if m != nil { + return m.ToolName + } + return "" +} + +func (m *ToolDetails) GetToolVersion() string { + if m != nil { + return m.ToolVersion + } + return "" +} + +// An optional Metadata to attach to a RPC request to tell the server about an +// external context of the request. +// If used, the header name should be remote-request-metadata-bin and the +// contents the base64 encoded binary RequestMetadata message. +type RequestMetadata struct { + // The details for the tool invoking the requests. + ToolDetails *ToolDetails `protobuf:"bytes,1,opt,name=tool_details,json=toolDetails" json:"tool_details,omitempty"` + // An identifier that ties multiple requests to the same action. + // For example, multiple requests to the CAS, Action Cache, and Execution + // API are used in order to compile foo.cc. + ActionId string `protobuf:"bytes,2,opt,name=action_id,json=actionId" json:"action_id,omitempty"` + // An identifier that ties multiple actions together to a final result. + // For example, multiple actions are required to build and run foo_test. + ToolInvocationId string `protobuf:"bytes,3,opt,name=tool_invocation_id,json=toolInvocationId" json:"tool_invocation_id,omitempty"` + // An identifier to tie multiple tool invocations together. For example, + // runs of foo_test, bar_test and baz_test on a post-submit of a given patch. + CorrelatedInvocationsId string `protobuf:"bytes,4,opt,name=correlated_invocations_id,json=correlatedInvocationsId" json:"correlated_invocations_id,omitempty"` +} + +func (m *RequestMetadata) Reset() { *m = RequestMetadata{} } +func (m *RequestMetadata) String() string { return proto.CompactTextString(m) } +func (*RequestMetadata) ProtoMessage() {} +func (*RequestMetadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} } + +func (m *RequestMetadata) GetToolDetails() *ToolDetails { + if m != nil { + return m.ToolDetails + } + return nil +} + +func (m *RequestMetadata) GetActionId() string { + if m != nil { + return m.ActionId + } + return "" +} + +func (m *RequestMetadata) GetToolInvocationId() string { + if m != nil { + return m.ToolInvocationId + } + return "" +} + +func (m *RequestMetadata) GetCorrelatedInvocationsId() string { + if m != nil { + return m.CorrelatedInvocationsId + } + return "" +} + func init() { proto.RegisterType((*Action)(nil), "google.devtools.remoteexecution.v1test.Action") proto.RegisterType((*Command)(nil), "google.devtools.remoteexecution.v1test.Command") @@ -1286,6 +1367,8 @@ func init() { proto.RegisterType((*BatchUpdateBlobsResponse_Response)(nil), "google.devtools.remoteexecution.v1test.BatchUpdateBlobsResponse.Response") proto.RegisterType((*GetTreeRequest)(nil), "google.devtools.remoteexecution.v1test.GetTreeRequest") proto.RegisterType((*GetTreeResponse)(nil), "google.devtools.remoteexecution.v1test.GetTreeResponse") + proto.RegisterType((*ToolDetails)(nil), "google.devtools.remoteexecution.v1test.ToolDetails") + proto.RegisterType((*RequestMetadata)(nil), "google.devtools.remoteexecution.v1test.RequestMetadata") proto.RegisterEnum("google.devtools.remoteexecution.v1test.ExecuteOperationMetadata_Stage", ExecuteOperationMetadata_Stage_name, ExecuteOperationMetadata_Stage_value) } @@ -1809,115 +1892,122 @@ func init() { } var fileDescriptor0 = []byte{ - // 1747 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xcb, 0x6f, 0x1c, 0x49, - 0x19, 0xa7, 0x67, 0x3c, 0xaf, 0x6f, 0xc6, 0xaf, 0x5a, 0xb3, 0x99, 0xcc, 0x6e, 0x90, 0xe9, 0x95, - 0x56, 0xd6, 0x68, 0xb7, 0x07, 0x3b, 0xbb, 0x44, 0x78, 0x15, 0x82, 0x3d, 0x1e, 0x3b, 0x51, 0x1c, - 0xdb, 0x69, 0x7b, 0xf2, 0x22, 0x52, 0xd3, 0x33, 0x5d, 0x1e, 0x37, 0x9e, 0xe9, 0x6a, 0xaa, 0x6a, - 0x1c, 0x27, 0x21, 0x1c, 0x10, 0x12, 0x07, 0x04, 0x12, 0x44, 0x08, 0x24, 0x6e, 0x48, 0x08, 0x09, - 0x71, 0xe2, 0x3f, 0x80, 0x3f, 0x80, 0x03, 0x5c, 0x38, 0x23, 0x4e, 0x9c, 0x38, 0x23, 0x24, 0x50, - 0x3d, 0x7a, 0x5e, 0xb6, 0x49, 0x8f, 0x1d, 0x4b, 0x7b, 0xeb, 0xfa, 0xaa, 0xbe, 0xdf, 0xf7, 0xfe, - 0xbe, 0xaa, 0x86, 0x9b, 0x2d, 0x42, 0x5a, 0x6d, 0x5c, 0xf1, 0xf0, 0x11, 0x27, 0xa4, 0xcd, 0x2a, - 0x14, 0x77, 0x08, 0xc7, 0xf8, 0x18, 0x37, 0xbb, 0xdc, 0x27, 0x41, 0xe5, 0x68, 0x91, 0x63, 0xc6, - 0x35, 0xd9, 0xe9, 0xd1, 0xad, 0x90, 0x12, 0x4e, 0xd0, 0x87, 0x8a, 0xdd, 0x8a, 0xd8, 0xad, 0x11, - 0x76, 0x4b, 0xb1, 0x97, 0xde, 0xd7, 0x62, 0xdc, 0xd0, 0xaf, 0xb8, 0x41, 0x40, 0xb8, 0x2b, 0x76, - 0x99, 0x42, 0x29, 0x7d, 0xa0, 0x77, 0xdb, 0x24, 0x68, 0xd1, 0x6e, 0x10, 0xf8, 0x41, 0xab, 0x42, - 0x42, 0x4c, 0x87, 0x0e, 0x7d, 0x49, 0x1f, 0x92, 0xab, 0x46, 0x77, 0xbf, 0xe2, 0x75, 0xd5, 0x01, - 0xbd, 0x7f, 0x45, 0xef, 0xd3, 0xb0, 0x59, 0x61, 0xdc, 0xe5, 0x5d, 0xcd, 0x68, 0xfe, 0x21, 0x09, - 0xe9, 0x95, 0xa6, 0x38, 0x89, 0xea, 0x30, 0xd5, 0x24, 0x9d, 0x8e, 0x1b, 0x78, 0x8e, 0xe7, 0xb7, - 0x30, 0xe3, 0x45, 0x63, 0xde, 0x58, 0xc8, 0x2f, 0x59, 0x56, 0x3c, 0x3b, 0xac, 0x35, 0xc9, 0x65, - 0x4f, 0x6a, 0x14, 0xb5, 0x44, 0x4f, 0x60, 0xd6, 0x0f, 0xc2, 0x2e, 0x77, 0x28, 0x21, 0x3c, 0x42, - 0x4e, 0x9c, 0x0b, 0x79, 0x5a, 0x02, 0xd9, 0x84, 0x70, 0x8d, 0xfd, 0x65, 0x28, 0x90, 0x2e, 0x17, - 0xe0, 0xfb, 0x7e, 0x1b, 0xb3, 0x62, 0x72, 0x3e, 0xb9, 0x90, 0xb3, 0xf3, 0x8a, 0xb6, 0x2e, 0x48, - 0xe8, 0x63, 0x40, 0xfa, 0x88, 0xe7, 0x53, 0xdc, 0xe4, 0x84, 0xfa, 0x98, 0x15, 0x27, 0xe4, 0xc1, - 0x59, 0xb5, 0xb3, 0xd6, 0xdf, 0x40, 0x9b, 0x90, 0x0d, 0xdb, 0x2e, 0xdf, 0x27, 0xb4, 0x53, 0x4c, - 0x49, 0x25, 0xbf, 0x12, 0x57, 0xc9, 0x1d, 0xcd, 0x67, 0xf7, 0x10, 0xd0, 0x75, 0xc8, 0x70, 0xbf, - 0x83, 0x49, 0x97, 0x17, 0xd3, 0x12, 0xec, 0x6a, 0x04, 0x16, 0x05, 0xca, 0x5a, 0xd3, 0x81, 0xb2, - 0xa3, 0x93, 0x68, 0x1e, 0x0a, 0x1e, 0x71, 0x02, 0xc2, 0x9d, 0xa6, 0xdb, 0x3c, 0xc0, 0xc5, 0xcc, - 0xbc, 0xb1, 0x90, 0xb5, 0xc1, 0x23, 0x5b, 0x84, 0x57, 0x05, 0xc5, 0xfc, 0xbb, 0x01, 0x99, 0xaa, - 0x72, 0x32, 0x7a, 0x1f, 0x72, 0x2e, 0x6d, 0x75, 0x3b, 0x38, 0xe0, 0xac, 0x68, 0x48, 0xb3, 0xfa, - 0x04, 0x74, 0x0c, 0x5f, 0xc4, 0xc1, 0x91, 0x4f, 0x49, 0x20, 0xd6, 0xce, 0x91, 0x4b, 0x7d, 0xb7, - 0x21, 0x3c, 0x95, 0x98, 0x4f, 0x2e, 0xe4, 0x97, 0xaa, 0x71, 0x6d, 0xd3, 0xd2, 0xac, 0x5a, 0x1f, - 0xec, 0x81, 0xc6, 0xb2, 0xe7, 0xf0, 0x49, 0x22, 0x2b, 0xdd, 0x82, 0x77, 0x4e, 0x39, 0x8c, 0x10, - 0x4c, 0x04, 0x6e, 0x07, 0xcb, 0xd4, 0xca, 0xd9, 0xf2, 0x1b, 0xcd, 0x41, 0xea, 0xc8, 0x6d, 0x77, - 0xb1, 0xcc, 0x8a, 0x9c, 0xad, 0x16, 0xe6, 0xaf, 0x0c, 0xc8, 0x46, 0x2e, 0x45, 0x8f, 0x01, 0x42, - 0x2a, 0xb2, 0x9e, 0x8b, 0xe8, 0x19, 0x52, 0xf9, 0xaf, 0x8d, 0x1b, 0x18, 0x6b, 0x47, 0x41, 0x3c, - 0xb7, 0x07, 0xc0, 0x4a, 0x9f, 0x40, 0x36, 0xa2, 0x8f, 0xa1, 0xdd, 0xef, 0x0d, 0xc8, 0x45, 0x79, - 0xf3, 0x1c, 0xad, 0x43, 0x4a, 0x25, 0xa0, 0xd2, 0x2c, 0x76, 0xca, 0x88, 0x14, 0xdd, 0x22, 0x1e, - 0xb6, 0x15, 0x3b, 0x7a, 0x08, 0xf9, 0xc1, 0x2c, 0x55, 0x41, 0xfa, 0x34, 0x7e, 0x95, 0x68, 0x7d, - 0x24, 0xe4, 0x20, 0x92, 0xf9, 0x23, 0x03, 0xb2, 0x91, 0xb0, 0x53, 0xad, 0x5c, 0x87, 0xf4, 0x85, - 0x4a, 0x53, 0x73, 0xa3, 0x0f, 0x60, 0xd2, 0x67, 0xba, 0x13, 0x8a, 0x80, 0x17, 0x27, 0x64, 0xf6, - 0x16, 0x7c, 0x56, 0xeb, 0xd1, 0xcc, 0x43, 0x98, 0x1c, 0xd2, 0xf5, 0x32, 0x35, 0x32, 0x3f, 0x83, - 0xb4, 0xee, 0x16, 0x08, 0x26, 0x0e, 0x5c, 0x76, 0x10, 0x49, 0x11, 0xdf, 0xe8, 0x1a, 0x00, 0xf3, - 0x5f, 0x60, 0xa7, 0xf1, 0x9c, 0x4b, 0x87, 0x1b, 0x0b, 0x49, 0x3b, 0x27, 0x28, 0xab, 0x82, 0x60, - 0xfe, 0x25, 0x09, 0x05, 0xd5, 0x1e, 0x6d, 0xcc, 0xba, 0x6d, 0x8e, 0xea, 0x23, 0x1d, 0x47, 0x85, - 0x68, 0x29, 0xae, 0x6e, 0xdb, 0xbd, 0xce, 0x34, 0xdc, 0xa5, 0xf6, 0x4f, 0xed, 0x52, 0x49, 0x09, - 0x7e, 0x63, 0x3c, 0xf0, 0x9e, 0x67, 0x4f, 0x6b, 0x6f, 0xef, 0x41, 0x0e, 0x1f, 0xfb, 0xdc, 0x69, - 0x12, 0x4f, 0x85, 0x26, 0x65, 0x67, 0x05, 0xa1, 0x2a, 0xa2, 0x20, 0x7c, 0xc1, 0x3d, 0x22, 0x5a, - 0xb5, 0xfb, 0x4c, 0x76, 0xbf, 0x82, 0x9d, 0x53, 0x14, 0xdb, 0x7d, 0x86, 0x76, 0x61, 0x52, 0x6f, - 0xeb, 0xb8, 0xa4, 0xcf, 0x15, 0x97, 0x82, 0x02, 0xd1, 0x31, 0x51, 0x32, 0x31, 0xa5, 0x52, 0x66, - 0xa6, 0x27, 0x13, 0x53, 0xda, 0x97, 0x29, 0xb6, 0xb5, 0xcc, 0xec, 0xb9, 0x65, 0x62, 0x4a, 0xd5, - 0xca, 0xfc, 0xad, 0x01, 0xd0, 0x0f, 0x84, 0x48, 0x8b, 0xd0, 0xe5, 0xbd, 0xb4, 0x10, 0xdf, 0x6f, - 0xad, 0x1c, 0x8a, 0x90, 0x69, 0x92, 0x80, 0xe3, 0x80, 0x17, 0x93, 0xd2, 0xb6, 0x68, 0x19, 0xaf, - 0x50, 0x3a, 0x30, 0x3d, 0x12, 0xd4, 0xcb, 0xd4, 0xd6, 0x7c, 0x9d, 0x80, 0x29, 0x25, 0x1d, 0xdb, - 0xf8, 0x3b, 0xdd, 0xa8, 0x9e, 0x03, 0xc6, 0xdd, 0xa0, 0x89, 0x9d, 0x81, 0x12, 0x2d, 0x44, 0xc4, - 0x2d, 0x5d, 0xaa, 0xae, 0x2c, 0x92, 0x71, 0xe5, 0xeb, 0xd2, 0xd2, 0xdc, 0xa8, 0x0c, 0xb3, 0xec, - 0xd0, 0x0f, 0xd5, 0xdc, 0x73, 0xda, 0x84, 0x1c, 0x76, 0x43, 0xe9, 0xb7, 0xac, 0x3d, 0x2d, 0x36, - 0xe4, 0xf4, 0xdb, 0x94, 0x64, 0x74, 0x1d, 0xde, 0xe5, 0x84, 0xbb, 0x6d, 0x47, 0x5d, 0x2e, 0x44, - 0x35, 0x3a, 0x4d, 0xd2, 0x0d, 0xb8, 0x4e, 0xeb, 0x77, 0xe4, 0xee, 0x9d, 0x40, 0x47, 0xb9, 0x2a, - 0xb6, 0x4e, 0x65, 0x52, 0x95, 0x9f, 0x92, 0x95, 0x3f, 0xc2, 0xa4, 0x7a, 0xc0, 0x0f, 0x0c, 0x98, - 0xee, 0x79, 0x85, 0x85, 0x24, 0x60, 0x18, 0x6d, 0x42, 0x9a, 0xca, 0x86, 0xa0, 0xef, 0x48, 0x9f, - 0x8c, 0x69, 0xb1, 0xe4, 0xb5, 0x35, 0x86, 0x70, 0xb2, 0x34, 0xd9, 0x73, 0x34, 0x68, 0x42, 0xe5, - 0x82, 0x22, 0xaa, 0xc3, 0xe6, 0xbf, 0x13, 0x50, 0xd4, 0x6a, 0x6c, 0x47, 0xd7, 0xbf, 0x7b, 0x98, - 0xbb, 0x9e, 0xcb, 0x5d, 0xf4, 0x14, 0x52, 0x8c, 0xbb, 0x2d, 0x15, 0x9e, 0xa9, 0xa5, 0xf5, 0xb8, - 0xea, 0x9c, 0x05, 0x68, 0xed, 0x0a, 0x34, 0x5b, 0x81, 0x8a, 0x2a, 0x54, 0x11, 0xba, 0xd8, 0xf5, - 0xad, 0xa0, 0x40, 0x74, 0xe5, 0x7f, 0x04, 0x48, 0xb7, 0x13, 0xc6, 0x29, 0x76, 0x3b, 0x2a, 0xbd, - 0x92, 0x32, 0xbd, 0x66, 0xd4, 0xce, 0xae, 0xdc, 0x90, 0x29, 0xa6, 0x4e, 0x8b, 0x46, 0x30, 0x78, - 0x7a, 0xa2, 0x77, 0x1a, 0x53, 0xda, 0x3f, 0x6d, 0x6e, 0x43, 0x4a, 0x1a, 0x80, 0xf2, 0x90, 0xa9, - 0x6f, 0xdd, 0xdd, 0xda, 0x7e, 0xb8, 0x35, 0xf3, 0x05, 0x34, 0x0d, 0xf9, 0xea, 0x4a, 0xf5, 0x76, - 0xcd, 0xa9, 0xde, 0xae, 0x55, 0xef, 0xce, 0x18, 0x08, 0x20, 0x7d, 0xbf, 0x5e, 0xab, 0xd7, 0xd6, - 0x66, 0x12, 0x68, 0x12, 0x72, 0xb5, 0x47, 0xb5, 0x6a, 0x7d, 0xef, 0xce, 0xd6, 0xc6, 0x4c, 0x52, - 0x2c, 0xab, 0xdb, 0xf7, 0x76, 0x36, 0x6b, 0x7b, 0xb5, 0xb5, 0x99, 0x09, 0xf3, 0x67, 0x06, 0xbc, - 0xbb, 0x81, 0xf9, 0x50, 0xf4, 0xc6, 0xa9, 0x90, 0xcb, 0xf0, 0xa0, 0xf9, 0x2f, 0x03, 0xae, 0xd6, - 0x43, 0xcf, 0xe5, 0xf8, 0x73, 0xa5, 0x17, 0x7a, 0xdc, 0x03, 0xd5, 0xe9, 0x9c, 0xbc, 0x40, 0x8d, - 0x68, 0x68, 0x5d, 0x04, 0x3f, 0x35, 0xe0, 0xca, 0xba, 0x1f, 0x78, 0xf7, 0x7c, 0xc6, 0xfc, 0xa0, - 0xb5, 0xda, 0x26, 0x0d, 0x36, 0x96, 0xc1, 0xf7, 0xa1, 0xd0, 0x68, 0x93, 0x86, 0x36, 0x37, 0x9a, - 0xdf, 0xe3, 0xda, 0x9b, 0x17, 0x18, 0xea, 0x9b, 0x99, 0xdf, 0x85, 0xe2, 0x49, 0x95, 0x74, 0x9f, - 0xf8, 0x16, 0xcc, 0x75, 0x14, 0xdd, 0x79, 0x0b, 0x62, 0x51, 0xa7, 0x2f, 0x23, 0x92, 0xfe, 0x3d, - 0x98, 0x55, 0x39, 0x20, 0x88, 0x91, 0x2b, 0xe4, 0x53, 0x4e, 0xce, 0x99, 0x0b, 0x3f, 0xe5, 0x24, - 0x4a, 0xff, 0x02, 0x25, 0x9a, 0x83, 0x4c, 0x92, 0x82, 0x2d, 0xbf, 0xcd, 0x9f, 0x1b, 0x70, 0x65, - 0xd5, 0xe5, 0xcd, 0x83, 0xbe, 0x16, 0xe3, 0x45, 0xa4, 0x0e, 0x59, 0xaa, 0xce, 0x47, 0x6e, 0x89, - 0x7d, 0xb1, 0x3f, 0x61, 0xb8, 0xdd, 0x83, 0x32, 0x7f, 0x9c, 0x80, 0xe2, 0x49, 0xbd, 0x74, 0x58, - 0x5a, 0x90, 0xa3, 0xfa, 0x3b, 0xba, 0xb3, 0xdf, 0x89, 0x2b, 0xf4, 0x2c, 0x50, 0x2b, 0xfa, 0xb0, - 0xfb, 0xd8, 0xa5, 0x1f, 0x1a, 0x90, 0xed, 0x49, 0xdd, 0x86, 0xfc, 0x40, 0x12, 0x9c, 0x33, 0x24, - 0xd0, 0x4f, 0x3d, 0x54, 0x86, 0xb4, 0x7a, 0xcc, 0xeb, 0xb2, 0x45, 0x11, 0x16, 0x0d, 0x9b, 0xa2, - 0x83, 0xf3, 0x2e, 0xb3, 0xf5, 0x09, 0xf3, 0x4f, 0x06, 0x4c, 0x6d, 0x60, 0xbe, 0x47, 0xf1, 0x78, - 0xb3, 0x7d, 0x1b, 0xf2, 0x17, 0x7f, 0xb8, 0x03, 0xed, 0xbf, 0xd9, 0xdf, 0x83, 0x5c, 0xe8, 0xb6, - 0xb0, 0x23, 0x2e, 0xd9, 0xb2, 0x33, 0xa4, 0xec, 0xac, 0x20, 0xec, 0xfa, 0x2f, 0xe4, 0x15, 0x54, - 0x6e, 0x72, 0x72, 0x88, 0x03, 0xdd, 0xde, 0xe5, 0xf1, 0x3d, 0x41, 0x30, 0x7f, 0x62, 0xc0, 0x74, - 0xcf, 0x08, 0xed, 0xd5, 0xdd, 0xe1, 0x37, 0x93, 0x8a, 0xe6, 0xe2, 0xd8, 0x6f, 0xa6, 0xa1, 0xf7, - 0x12, 0xfa, 0x10, 0xa6, 0x03, 0x7c, 0xcc, 0x9d, 0x01, 0x65, 0xd4, 0xf3, 0x6f, 0x52, 0x90, 0x77, - 0x22, 0x85, 0x96, 0x7e, 0x63, 0x40, 0xae, 0x16, 0x61, 0xa2, 0x5f, 0x18, 0x90, 0xd1, 0x13, 0x15, - 0x7d, 0x75, 0xcc, 0x11, 0xac, 0x83, 0x52, 0xba, 0x16, 0xf1, 0x0d, 0xfc, 0xef, 0xb1, 0x7a, 0xf3, - 0xd9, 0xfc, 0xf4, 0xfb, 0x7f, 0xfd, 0xc7, 0xeb, 0x44, 0xc5, 0x2c, 0x47, 0xff, 0x9e, 0x5e, 0x0e, - 0x85, 0xf0, 0x66, 0xb9, 0xfc, 0xaa, 0xa2, 0x3a, 0x26, 0x5b, 0x56, 0xa2, 0xf0, 0xb2, 0x51, 0x5e, - 0xfa, 0x4f, 0x12, 0xf2, 0xaa, 0xad, 0xca, 0x3b, 0x14, 0xfa, 0xa7, 0x72, 0xe4, 0xd0, 0xd3, 0xe6, - 0xeb, 0x71, 0x35, 0x3e, 0x7d, 0x10, 0x96, 0xce, 0xd5, 0xdf, 0x4d, 0x57, 0x1a, 0xf4, 0x4d, 0xf4, - 0xf8, 0x8d, 0x06, 0x7d, 0xac, 0xa6, 0x09, 0xab, 0xbc, 0x1c, 0x1a, 0x59, 0x96, 0x78, 0xc7, 0xbd, - 0x1a, 0x25, 0xf6, 0x1f, 0x75, 0xaf, 0xd0, 0x7f, 0x0d, 0x40, 0x27, 0xe7, 0x24, 0x5a, 0x19, 0xaf, - 0xcd, 0xbc, 0x3d, 0x93, 0x43, 0x69, 0xf2, 0xb7, 0x4b, 0x97, 0x67, 0xf2, 0xf2, 0xf0, 0x00, 0x5e, - 0xfa, 0x65, 0x0a, 0xae, 0x56, 0x55, 0x2b, 0x5f, 0xf1, 0x3c, 0x8a, 0x19, 0x13, 0xcf, 0x8b, 0x5d, - 0x4e, 0xa8, 0xb8, 0x24, 0xfd, 0xd9, 0x80, 0x99, 0xd1, 0x09, 0x86, 0x6e, 0xc5, 0xff, 0x87, 0x71, - 0xea, 0x38, 0x2e, 0x7d, 0xe3, 0xfc, 0x00, 0xaa, 0xb2, 0xcd, 0x1b, 0xd2, 0x4f, 0x8b, 0xe6, 0x47, - 0xff, 0xc7, 0x4f, 0xa2, 0x1b, 0xb2, 0xe5, 0xfd, 0x3e, 0xc4, 0xb2, 0x51, 0x96, 0x06, 0x8d, 0xb6, - 0xe9, 0xf8, 0x06, 0x9d, 0x31, 0xcd, 0xe2, 0x1b, 0x74, 0xd6, 0x84, 0x18, 0xc3, 0xa0, 0x46, 0x1f, - 0x42, 0x18, 0xf4, 0x37, 0x03, 0x32, 0xba, 0xef, 0xc5, 0x6f, 0x2c, 0xc3, 0xdd, 0xbe, 0x74, 0x63, - 0x6c, 0x3e, 0xad, 0xf5, 0x53, 0xa9, 0xf5, 0x03, 0xb4, 0xf7, 0x26, 0xad, 0x2b, 0x2f, 0x07, 0x26, - 0x45, 0x94, 0xa3, 0x83, 0xa4, 0xc1, 0x0c, 0x6d, 0x29, 0x29, 0xab, 0x7f, 0x34, 0xa0, 0xdc, 0x24, - 0x9d, 0x98, 0xca, 0xad, 0xce, 0xd9, 0x92, 0xde, 0xeb, 0xb9, 0x3b, 0x94, 0x70, 0xb2, 0x63, 0x3c, - 0xa9, 0x6b, 0xfe, 0x16, 0x69, 0xbb, 0x41, 0xcb, 0x22, 0xb4, 0x55, 0x69, 0xe1, 0x40, 0xfe, 0x65, - 0xad, 0xa8, 0x2d, 0x37, 0xf4, 0xd9, 0x9b, 0xfe, 0xe4, 0x7f, 0x36, 0x42, 0xfe, 0x75, 0x22, 0x69, - 0xd7, 0x1e, 0xfd, 0x2e, 0x71, 0x6d, 0x43, 0xa1, 0x8f, 0x08, 0xb7, 0x1e, 0x2c, 0xee, 0x61, 0xc6, - 0x1b, 0x69, 0x29, 0xe7, 0xfa, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xde, 0xd9, 0x80, 0xd0, 0x30, - 0x18, 0x00, 0x00, + // 1868 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0xcf, 0x6f, 0x1c, 0x57, + 0x1d, 0x67, 0x76, 0xbd, 0xeb, 0xdd, 0xef, 0xae, 0x63, 0xe7, 0x35, 0x34, 0x9b, 0x6d, 0x83, 0xdc, + 0xa9, 0x54, 0x59, 0x56, 0x3b, 0x4b, 0x9c, 0x96, 0x08, 0x57, 0xa5, 0xc4, 0xeb, 0x75, 0x6a, 0x35, + 0xb1, 0xdd, 0xb1, 0xd7, 0x6d, 0x4a, 0xa5, 0xe1, 0xed, 0xcc, 0xf3, 0x66, 0xc8, 0xee, 0xbc, 0xe1, + 0xbd, 0xb7, 0x6e, 0xd2, 0x10, 0x0e, 0x08, 0x89, 0x03, 0x02, 0x09, 0x2a, 0x04, 0x12, 0x37, 0x24, + 0x84, 0x84, 0x38, 0xf1, 0x1f, 0xc0, 0x1f, 0xc0, 0x01, 0x2e, 0x9c, 0x11, 0x27, 0x4e, 0x9c, 0x11, + 0x12, 0xe8, 0xfd, 0x98, 0x99, 0xdd, 0xb5, 0x43, 0x66, 0xed, 0x44, 0xe2, 0xb6, 0xf3, 0x7d, 0xef, + 0xfb, 0xf9, 0xfe, 0xfe, 0xf1, 0x6c, 0x78, 0xa7, 0x4f, 0x69, 0x7f, 0x40, 0x5a, 0x01, 0x39, 0x16, + 0x94, 0x0e, 0x78, 0x8b, 0x91, 0x21, 0x15, 0x84, 0x3c, 0x20, 0xfe, 0x48, 0x84, 0x34, 0x6a, 0x1d, + 0x5f, 0x13, 0x84, 0x0b, 0x43, 0xf6, 0x52, 0xba, 0x13, 0x33, 0x2a, 0x28, 0x7a, 0x4d, 0xb3, 0x3b, + 0x09, 0xbb, 0x33, 0xc5, 0xee, 0x68, 0xf6, 0xe6, 0xcb, 0x46, 0x0c, 0x8e, 0xc3, 0x16, 0x8e, 0x22, + 0x2a, 0xb0, 0x3c, 0xe5, 0x1a, 0xa5, 0xf9, 0xaa, 0x39, 0x1d, 0xd0, 0xa8, 0xcf, 0x46, 0x51, 0x14, + 0x46, 0xfd, 0x16, 0x8d, 0x09, 0x9b, 0xb8, 0xf4, 0x25, 0x73, 0x49, 0x7d, 0xf5, 0x46, 0x47, 0xad, + 0x60, 0xa4, 0x2f, 0x98, 0xf3, 0xcb, 0xe6, 0x9c, 0xc5, 0x7e, 0x8b, 0x0b, 0x2c, 0x46, 0x86, 0xd1, + 0xfe, 0x7d, 0x11, 0xca, 0x37, 0x7d, 0x79, 0x13, 0x75, 0xe1, 0x82, 0x4f, 0x87, 0x43, 0x1c, 0x05, + 0x5e, 0x10, 0xf6, 0x09, 0x17, 0x0d, 0x6b, 0xd9, 0x5a, 0xa9, 0xad, 0x39, 0x4e, 0x3e, 0x3b, 0x9c, + 0x4d, 0xc5, 0xe5, 0x2e, 0x18, 0x14, 0xfd, 0x89, 0x3e, 0x86, 0x8b, 0x61, 0x14, 0x8f, 0x84, 0xc7, + 0x28, 0x15, 0x09, 0x72, 0xe1, 0x4c, 0xc8, 0x8b, 0x0a, 0xc8, 0xa5, 0x54, 0x18, 0xec, 0x57, 0xa0, + 0x4e, 0x47, 0x42, 0x82, 0x1f, 0x85, 0x03, 0xc2, 0x1b, 0xc5, 0xe5, 0xe2, 0x4a, 0xd5, 0xad, 0x69, + 0xda, 0x96, 0x24, 0xa1, 0x37, 0x00, 0x99, 0x2b, 0x41, 0xc8, 0x88, 0x2f, 0x28, 0x0b, 0x09, 0x6f, + 0xcc, 0xa9, 0x8b, 0x17, 0xf5, 0xc9, 0x66, 0x76, 0x80, 0x6e, 0x43, 0x25, 0x1e, 0x60, 0x71, 0x44, + 0xd9, 0xb0, 0x51, 0x52, 0x4a, 0x7e, 0x39, 0xaf, 0x92, 0x7b, 0x86, 0xcf, 0x4d, 0x11, 0xd0, 0x75, + 0x98, 0x17, 0xe1, 0x90, 0xd0, 0x91, 0x68, 0x94, 0x15, 0xd8, 0x95, 0x04, 0x2c, 0x09, 0x94, 0xb3, + 0x69, 0x02, 0xe5, 0x26, 0x37, 0xd1, 0x32, 0xd4, 0x03, 0xea, 0x45, 0x54, 0x78, 0x3e, 0xf6, 0xef, + 0x91, 0xc6, 0xfc, 0xb2, 0xb5, 0x52, 0x71, 0x21, 0xa0, 0x3b, 0x54, 0xb4, 0x25, 0xc5, 0xfe, 0x9b, + 0x05, 0xf3, 0x6d, 0xed, 0x64, 0xf4, 0x32, 0x54, 0x31, 0xeb, 0x8f, 0x86, 0x24, 0x12, 0xbc, 0x61, + 0x29, 0xb3, 0x32, 0x02, 0x7a, 0x00, 0x5f, 0x24, 0xd1, 0x71, 0xc8, 0x68, 0x24, 0xbf, 0xbd, 0x63, + 0xcc, 0x42, 0xdc, 0x93, 0x9e, 0x2a, 0x2c, 0x17, 0x57, 0x6a, 0x6b, 0xed, 0xbc, 0xb6, 0x19, 0x69, + 0x4e, 0x27, 0x03, 0x3b, 0x34, 0x58, 0xee, 0x25, 0x72, 0x92, 0xc8, 0x9b, 0xef, 0xc2, 0x0b, 0xa7, + 0x5c, 0x46, 0x08, 0xe6, 0x22, 0x3c, 0x24, 0x2a, 0xb5, 0xaa, 0xae, 0xfa, 0x8d, 0x2e, 0x41, 0xe9, + 0x18, 0x0f, 0x46, 0x44, 0x65, 0x45, 0xd5, 0xd5, 0x1f, 0xf6, 0x2f, 0x2d, 0xa8, 0x24, 0x2e, 0x45, + 0x77, 0x01, 0x62, 0x26, 0xb3, 0x5e, 0xc8, 0xe8, 0x59, 0x4a, 0xf9, 0xaf, 0xce, 0x1a, 0x18, 0x67, + 0x4f, 0x43, 0x3c, 0x74, 0xc7, 0xc0, 0x9a, 0x6f, 0x42, 0x25, 0xa1, 0xcf, 0xa0, 0xdd, 0xef, 0x2c, + 0xa8, 0x26, 0x79, 0xf3, 0x10, 0x6d, 0x41, 0x49, 0x27, 0xa0, 0xd6, 0x2c, 0x77, 0xca, 0xc8, 0x14, + 0xdd, 0xa1, 0x01, 0x71, 0x35, 0x3b, 0xfa, 0x10, 0x6a, 0xe3, 0x59, 0xaa, 0x83, 0xf4, 0x56, 0xfe, + 0x2a, 0x31, 0xfa, 0x28, 0xc8, 0x71, 0x24, 0xfb, 0x87, 0x16, 0x54, 0x12, 0x61, 0xa7, 0x5a, 0xb9, + 0x05, 0xe5, 0x73, 0x95, 0xa6, 0xe1, 0x46, 0xaf, 0xc2, 0x42, 0xc8, 0x4d, 0x27, 0x94, 0x01, 0x6f, + 0xcc, 0xa9, 0xec, 0xad, 0x87, 0xbc, 0x93, 0xd2, 0xec, 0xfb, 0xb0, 0x30, 0xa1, 0xeb, 0xf3, 0xd4, + 0xc8, 0x7e, 0x1b, 0xca, 0xa6, 0x5b, 0x20, 0x98, 0xbb, 0x87, 0xf9, 0xbd, 0x44, 0x8a, 0xfc, 0x8d, + 0xae, 0x02, 0xf0, 0xf0, 0x33, 0xe2, 0xf5, 0x1e, 0x0a, 0xe5, 0x70, 0x6b, 0xa5, 0xe8, 0x56, 0x25, + 0x65, 0x43, 0x12, 0xec, 0x3f, 0x17, 0xa1, 0xae, 0xdb, 0xa3, 0x4b, 0xf8, 0x68, 0x20, 0x50, 0x77, + 0xaa, 0xe3, 0xe8, 0x10, 0xad, 0xe5, 0xd5, 0x6d, 0x37, 0xed, 0x4c, 0x93, 0x5d, 0xea, 0xe8, 0xd4, + 0x2e, 0x55, 0x54, 0xe0, 0x37, 0x66, 0x03, 0x4f, 0x3d, 0x7b, 0x5a, 0x7b, 0x7b, 0x09, 0xaa, 0xe4, + 0x41, 0x28, 0x3c, 0x9f, 0x06, 0x3a, 0x34, 0x25, 0xb7, 0x22, 0x09, 0x6d, 0x19, 0x05, 0xe9, 0x0b, + 0x11, 0x50, 0xd9, 0xaa, 0xf1, 0xa7, 0xaa, 0xfb, 0xd5, 0xdd, 0xaa, 0xa6, 0xb8, 0xf8, 0x53, 0xb4, + 0x0f, 0x0b, 0xe6, 0xd8, 0xc4, 0xa5, 0x7c, 0xa6, 0xb8, 0xd4, 0x35, 0x88, 0x89, 0x89, 0x96, 0x49, + 0x18, 0x53, 0x32, 0xe7, 0x53, 0x99, 0x84, 0xb1, 0x4c, 0xa6, 0x3c, 0x36, 0x32, 0x2b, 0x67, 0x96, + 0x49, 0x18, 0xd3, 0x5f, 0xf6, 0x6f, 0x2c, 0x80, 0x2c, 0x10, 0x32, 0x2d, 0x62, 0x2c, 0xd2, 0xb4, + 0x90, 0xbf, 0x9f, 0x59, 0x39, 0x34, 0x60, 0xde, 0xa7, 0x91, 0x20, 0x91, 0x68, 0x14, 0x95, 0x6d, + 0xc9, 0x67, 0xbe, 0x42, 0x19, 0xc2, 0xe2, 0x54, 0x50, 0x9f, 0xa7, 0xb6, 0xf6, 0xe7, 0x05, 0xb8, + 0xa0, 0xa5, 0x13, 0x97, 0x7c, 0x7b, 0x94, 0xd4, 0x73, 0xc4, 0x05, 0x8e, 0x7c, 0xe2, 0x8d, 0x95, + 0x68, 0x3d, 0x21, 0xee, 0x98, 0x52, 0xc5, 0xaa, 0x48, 0x66, 0x95, 0x6f, 0x4a, 0xcb, 0x70, 0xa3, + 0x55, 0xb8, 0xc8, 0xef, 0x87, 0xb1, 0x9e, 0x7b, 0xde, 0x80, 0xd2, 0xfb, 0xa3, 0x58, 0xf9, 0xad, + 0xe2, 0x2e, 0xca, 0x03, 0x35, 0xfd, 0x6e, 0x2b, 0x32, 0xba, 0x0e, 0x2f, 0x0a, 0x2a, 0xf0, 0xc0, + 0xd3, 0xcb, 0x85, 0xac, 0x46, 0xcf, 0xa7, 0xa3, 0x48, 0x98, 0xb4, 0x7e, 0x41, 0x9d, 0x6e, 0x47, + 0x26, 0xca, 0x6d, 0x79, 0x74, 0x2a, 0x93, 0xae, 0xfc, 0x92, 0xaa, 0xfc, 0x29, 0x26, 0xdd, 0x03, + 0xbe, 0x6f, 0xc1, 0x62, 0xea, 0x15, 0x1e, 0xd3, 0x88, 0x13, 0x74, 0x1b, 0xca, 0x4c, 0x35, 0x04, + 0xb3, 0x23, 0xbd, 0x39, 0xa3, 0xc5, 0x8a, 0xd7, 0x35, 0x18, 0xd2, 0xc9, 0xca, 0xe4, 0xc0, 0x33, + 0xa0, 0x05, 0x9d, 0x0b, 0x9a, 0xa8, 0x2f, 0xdb, 0xff, 0x2a, 0x40, 0xc3, 0xa8, 0xb1, 0x9b, 0xac, + 0x7f, 0x77, 0x88, 0xc0, 0x01, 0x16, 0x18, 0x7d, 0x02, 0x25, 0x2e, 0x70, 0x5f, 0x87, 0xe7, 0xc2, + 0xda, 0x56, 0x5e, 0x75, 0x9e, 0x04, 0xe8, 0xec, 0x4b, 0x34, 0x57, 0x83, 0xca, 0x2a, 0xd4, 0x11, + 0x3a, 0xdf, 0xfa, 0x56, 0xd7, 0x20, 0xa6, 0xf2, 0x5f, 0x07, 0x64, 0xda, 0x09, 0x17, 0x8c, 0xe0, + 0xa1, 0x4e, 0xaf, 0xa2, 0x4a, 0xaf, 0x25, 0x7d, 0xb2, 0xaf, 0x0e, 0x54, 0x8a, 0xe9, 0xdb, 0xb2, + 0x11, 0x8c, 0xdf, 0x9e, 0x4b, 0x6f, 0x13, 0xc6, 0xb2, 0xdb, 0xf6, 0x2e, 0x94, 0x94, 0x01, 0xa8, + 0x06, 0xf3, 0xdd, 0x9d, 0xf7, 0x77, 0x76, 0x3f, 0xdc, 0x59, 0xfa, 0x02, 0x5a, 0x84, 0x5a, 0xfb, + 0x66, 0xfb, 0xbd, 0x8e, 0xd7, 0x7e, 0xaf, 0xd3, 0x7e, 0x7f, 0xc9, 0x42, 0x00, 0xe5, 0x0f, 0xba, + 0x9d, 0x6e, 0x67, 0x73, 0xa9, 0x80, 0x16, 0xa0, 0xda, 0xf9, 0xa8, 0xd3, 0xee, 0x1e, 0x6c, 0xef, + 0xdc, 0x5a, 0x2a, 0xca, 0xcf, 0xf6, 0xee, 0x9d, 0xbd, 0xdb, 0x9d, 0x83, 0xce, 0xe6, 0xd2, 0x9c, + 0xfd, 0x53, 0x0b, 0x5e, 0xbc, 0x45, 0xc4, 0x44, 0xf4, 0x66, 0xa9, 0x90, 0xe7, 0xe1, 0x41, 0xfb, + 0x9f, 0x16, 0x5c, 0xe9, 0xc6, 0x01, 0x16, 0xe4, 0xff, 0x4a, 0x2f, 0x74, 0x37, 0x05, 0x35, 0xe9, + 0x5c, 0x3c, 0x47, 0x8d, 0x18, 0x68, 0x53, 0x04, 0x3f, 0xb1, 0xe0, 0xf2, 0x56, 0x18, 0x05, 0x77, + 0x42, 0xce, 0xc3, 0xa8, 0xbf, 0x31, 0xa0, 0x3d, 0x3e, 0x93, 0xc1, 0x1f, 0x40, 0xbd, 0x37, 0xa0, + 0x3d, 0x63, 0x6e, 0x32, 0xbf, 0x67, 0xb5, 0xb7, 0x26, 0x31, 0xf4, 0x6f, 0x6e, 0x7f, 0x07, 0x1a, + 0x27, 0x55, 0x32, 0x7d, 0xe2, 0x9b, 0x70, 0x69, 0xa8, 0xe9, 0xde, 0x33, 0x10, 0x8b, 0x86, 0x99, + 0x8c, 0x44, 0xfa, 0x77, 0xe1, 0xa2, 0xce, 0x01, 0x49, 0x4c, 0x5c, 0xa1, 0x9e, 0x72, 0x6a, 0xce, + 0x9c, 0xfb, 0x29, 0xa7, 0x50, 0xb2, 0x05, 0x4a, 0x36, 0x07, 0x95, 0x24, 0x75, 0x57, 0xfd, 0xb6, + 0x7f, 0x66, 0xc1, 0xe5, 0x0d, 0x2c, 0xfc, 0x7b, 0x99, 0x16, 0xb3, 0x45, 0xa4, 0x0b, 0x15, 0xa6, + 0xef, 0x27, 0x6e, 0xc9, 0xbd, 0xd8, 0x9f, 0x30, 0xdc, 0x4d, 0xa1, 0xec, 0x1f, 0x15, 0xa0, 0x71, + 0x52, 0x2f, 0x13, 0x96, 0x3e, 0x54, 0x99, 0xf9, 0x9d, 0xec, 0xec, 0xdb, 0x79, 0x85, 0x3e, 0x09, + 0xd4, 0x49, 0x7e, 0xb8, 0x19, 0x76, 0xf3, 0x07, 0x16, 0x54, 0x52, 0xa9, 0xbb, 0x50, 0x1b, 0x4b, + 0x82, 0x33, 0x86, 0x04, 0xb2, 0xd4, 0x43, 0xab, 0x50, 0xd6, 0x8f, 0x79, 0x53, 0xb6, 0x28, 0xc1, + 0x62, 0xb1, 0x2f, 0x3b, 0xb8, 0x18, 0x71, 0xd7, 0xdc, 0xb0, 0xff, 0x68, 0xc1, 0x85, 0x5b, 0x44, + 0x1c, 0x30, 0x32, 0xdb, 0x6c, 0xdf, 0x85, 0xda, 0xf9, 0x1f, 0xee, 0xc0, 0xb2, 0x37, 0xfb, 0x4b, + 0x50, 0x8d, 0x71, 0x9f, 0x78, 0x72, 0xc9, 0x56, 0x9d, 0xa1, 0xe4, 0x56, 0x24, 0x61, 0x3f, 0xfc, + 0x4c, 0xad, 0xa0, 0xea, 0x50, 0xd0, 0xfb, 0x24, 0x32, 0xed, 0x5d, 0x5d, 0x3f, 0x90, 0x04, 0xfb, + 0xc7, 0x16, 0x2c, 0xa6, 0x46, 0x18, 0xaf, 0xee, 0x4f, 0xbe, 0x99, 0x74, 0x34, 0xaf, 0xcd, 0xfc, + 0x66, 0x9a, 0x78, 0x2f, 0xa1, 0xd7, 0x60, 0x31, 0x22, 0x0f, 0x84, 0x37, 0xa6, 0x8c, 0x7e, 0xfe, + 0x2d, 0x48, 0xf2, 0x5e, 0xaa, 0xd0, 0x1d, 0xa8, 0x1d, 0x50, 0x3a, 0xd8, 0x24, 0x02, 0x87, 0x03, + 0xb5, 0x5e, 0x4b, 0x69, 0xe3, 0xde, 0xac, 0x48, 0x82, 0xf2, 0xe4, 0x2b, 0x50, 0x57, 0x87, 0xc7, + 0x84, 0xf1, 0x64, 0x57, 0xaa, 0xba, 0x35, 0x49, 0x3b, 0xd4, 0x24, 0xd9, 0xd1, 0x17, 0x4d, 0x74, + 0xd2, 0xd1, 0x7e, 0x68, 0xd8, 0x02, 0x2d, 0xc3, 0xa4, 0xcd, 0xf5, 0xbc, 0x06, 0x8e, 0xa9, 0xa7, + 0x65, 0x8d, 0xe9, 0x6a, 0xba, 0x74, 0x18, 0x18, 0x5d, 0x2a, 0x9a, 0xb0, 0x1d, 0xc8, 0x71, 0xab, + 0x84, 0x86, 0xd1, 0x31, 0xf5, 0x71, 0x72, 0xcb, 0x0c, 0x67, 0x79, 0xb2, 0x9d, 0x1e, 0x6c, 0x07, + 0x68, 0x1d, 0xae, 0xf8, 0x94, 0x31, 0x32, 0xc0, 0x82, 0x04, 0x63, 0x3c, 0x5c, 0x32, 0xe9, 0x20, + 0x5e, 0xce, 0x2e, 0x64, 0xac, 0x7c, 0x3b, 0x58, 0xfb, 0xb5, 0x05, 0xd5, 0x4e, 0xa2, 0x34, 0xfa, + 0xb9, 0x05, 0xf3, 0x66, 0x27, 0x41, 0x5f, 0x99, 0x71, 0x89, 0x31, 0x8e, 0x6b, 0x5e, 0x4d, 0xf8, + 0xc6, 0xfe, 0x62, 0xe6, 0xa4, 0x1b, 0x8e, 0xfd, 0xd6, 0xf7, 0xfe, 0xf2, 0xf7, 0xcf, 0x0b, 0x2d, + 0x7b, 0x35, 0xf9, 0xeb, 0xdd, 0xa3, 0x89, 0x22, 0x78, 0x67, 0x75, 0xf5, 0x71, 0x4b, 0xfb, 0x81, + 0xaf, 0x6b, 0x51, 0x64, 0xdd, 0x5a, 0x5d, 0xfb, 0x77, 0x11, 0x6a, 0x7a, 0x30, 0xa9, 0x2d, 0x14, + 0xfd, 0x43, 0xa7, 0xe2, 0xc4, 0xe3, 0xf0, 0x6b, 0x79, 0x35, 0x3e, 0x7d, 0x95, 0x68, 0x9e, 0x69, + 0x42, 0xda, 0x58, 0x19, 0xf4, 0x0d, 0x74, 0xf7, 0xa9, 0x06, 0xbd, 0xa1, 0xe7, 0x31, 0x6f, 0x3d, + 0x9a, 0x18, 0xfa, 0x8e, 0x7c, 0x09, 0x3f, 0x9e, 0x26, 0x66, 0xcf, 0xe2, 0xc7, 0xe8, 0x3f, 0x16, + 0xa0, 0x93, 0x9b, 0x06, 0xba, 0x39, 0x5b, 0xa3, 0x7e, 0x76, 0x26, 0xc7, 0xca, 0xe4, 0x6f, 0x35, + 0x9f, 0x9f, 0xc9, 0xeb, 0x93, 0x2b, 0xcc, 0xda, 0x2f, 0x4a, 0x70, 0xa5, 0xad, 0x87, 0xe1, 0xcd, + 0x20, 0x60, 0x84, 0x73, 0xf9, 0x40, 0xdb, 0x17, 0x94, 0xc9, 0x35, 0xf3, 0x4f, 0x16, 0x2c, 0x4d, + 0xef, 0x00, 0xe8, 0xdd, 0xfc, 0x7f, 0x05, 0x3a, 0x75, 0xa1, 0x69, 0x7e, 0xfd, 0xec, 0x00, 0xba, + 0x37, 0xda, 0x37, 0x94, 0x9f, 0xae, 0xd9, 0xaf, 0xff, 0x0f, 0x3f, 0xc9, 0x79, 0xc2, 0xd7, 0x8f, + 0x32, 0x88, 0x75, 0x6b, 0x55, 0x19, 0x34, 0x3d, 0xe8, 0xf2, 0x1b, 0xf4, 0x84, 0x7d, 0x20, 0xbf, + 0x41, 0x4f, 0x9a, 0xb1, 0x33, 0x18, 0xd4, 0xcb, 0x20, 0xa4, 0x41, 0x7f, 0xb5, 0x60, 0xde, 0x4c, + 0x8e, 0xfc, 0x8d, 0x65, 0x72, 0x5e, 0x36, 0x6f, 0xcc, 0xcc, 0x67, 0xb4, 0xfe, 0x44, 0x69, 0x7d, + 0x88, 0x0e, 0x9e, 0xa6, 0x75, 0xeb, 0xd1, 0xd8, 0xac, 0x4d, 0x72, 0x74, 0x9c, 0x34, 0x9e, 0xa1, + 0x7d, 0x2d, 0x65, 0xe3, 0x0f, 0x16, 0xac, 0xfa, 0x74, 0x98, 0x53, 0xb9, 0x8d, 0x4b, 0xae, 0xa2, + 0xa7, 0x3d, 0x77, 0x8f, 0x51, 0x41, 0xf7, 0xac, 0x8f, 0xbb, 0x86, 0xbf, 0x4f, 0x07, 0x38, 0xea, + 0x3b, 0x94, 0xf5, 0x5b, 0x7d, 0x12, 0xa9, 0xbf, 0x53, 0xb7, 0xf4, 0x11, 0x8e, 0x43, 0xfe, 0xb4, + 0xff, 0x85, 0xbc, 0x3d, 0x45, 0xfe, 0x55, 0xa1, 0xe8, 0x76, 0x3e, 0xfa, 0x6d, 0xe1, 0xea, 0x2d, + 0x8d, 0x3e, 0x25, 0xdc, 0x39, 0xbc, 0x76, 0x40, 0xb8, 0xe8, 0x95, 0x95, 0x9c, 0xeb, 0xff, 0x0d, + 0x00, 0x00, 0xff, 0xff, 0xe9, 0x9c, 0x6f, 0xd3, 0x72, 0x19, 0x00, 0x00, } -- GitLab