diff --git a/.prettierignore b/.prettierignore index 31842ba2c..54edf73b1 100644 --- a/.prettierignore +++ b/.prettierignore @@ -7,6 +7,7 @@ pnpm-lock.yaml # Output gen dist +connect/src/wg # Next.js build output .next diff --git a/connect-go/gen/proto/wg/cosmo/platform/v1/platform.pb.go b/connect-go/gen/proto/wg/cosmo/platform/v1/platform.pb.go index 676ff4b45..29f8d49a4 100644 --- a/connect-go/gen/proto/wg/cosmo/platform/v1/platform.pb.go +++ b/connect-go/gen/proto/wg/cosmo/platform/v1/platform.pb.go @@ -952,7 +952,7 @@ func (x GetOperationsResponse_OperationType) Number() protoreflect.EnumNumber { // Deprecated: Use GetOperationsResponse_OperationType.Descriptor instead. func (GetOperationsResponse_OperationType) EnumDescriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{450, 0} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{451, 0} } type Label struct { @@ -24497,18 +24497,114 @@ func (x *GetFeatureFlagsInLatestCompositionByFederatedGraphRequest) GetNamespace return "" } +// Feature flags compose independently, so the same feature subgraph can appear once per flag with +// a different schema_version_id. +type FeatureSubgraphInFlagComposition struct { + state protoimpl.MessageState `protogen:"open.v1"` + FeatureFlagId string `protobuf:"bytes,1,opt,name=feature_flag_id,json=featureFlagId,proto3" json:"feature_flag_id,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + TargetId string `protobuf:"bytes,4,opt,name=target_id,json=targetId,proto3" json:"target_id,omitempty"` + // The version that flag's composition used, not the latest published version. + SchemaVersionId string `protobuf:"bytes,5,opt,name=schema_version_id,json=schemaVersionId,proto3" json:"schema_version_id,omitempty"` + RoutingUrl string `protobuf:"bytes,6,opt,name=routing_url,json=routingUrl,proto3" json:"routing_url,omitempty"` + SubscriptionUrl string `protobuf:"bytes,7,opt,name=subscription_url,json=subscriptionUrl,proto3" json:"subscription_url,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FeatureSubgraphInFlagComposition) Reset() { + *x = FeatureSubgraphInFlagComposition{} + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[368] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FeatureSubgraphInFlagComposition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureSubgraphInFlagComposition) ProtoMessage() {} + +func (x *FeatureSubgraphInFlagComposition) ProtoReflect() protoreflect.Message { + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[368] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FeatureSubgraphInFlagComposition.ProtoReflect.Descriptor instead. +func (*FeatureSubgraphInFlagComposition) Descriptor() ([]byte, []int) { + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{368} +} + +func (x *FeatureSubgraphInFlagComposition) GetFeatureFlagId() string { + if x != nil { + return x.FeatureFlagId + } + return "" +} + +func (x *FeatureSubgraphInFlagComposition) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *FeatureSubgraphInFlagComposition) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *FeatureSubgraphInFlagComposition) GetTargetId() string { + if x != nil { + return x.TargetId + } + return "" +} + +func (x *FeatureSubgraphInFlagComposition) GetSchemaVersionId() string { + if x != nil { + return x.SchemaVersionId + } + return "" +} + +func (x *FeatureSubgraphInFlagComposition) GetRoutingUrl() string { + if x != nil { + return x.RoutingUrl + } + return "" +} + +func (x *FeatureSubgraphInFlagComposition) GetSubscriptionUrl() string { + if x != nil { + return x.SubscriptionUrl + } + return "" +} + type GetFeatureFlagsInLatestCompositionByFederatedGraphResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Response *Response `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` // feature flags that are part of the latest valid composition of the federated graph - FeatureFlags []*FeatureFlag `protobuf:"bytes,2,rep,name=feature_flags,json=featureFlags,proto3" json:"feature_flags,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + FeatureFlags []*FeatureFlag `protobuf:"bytes,2,rep,name=feature_flags,json=featureFlags,proto3" json:"feature_flags,omitempty"` + FeatureSubgraphs []*FeatureSubgraphInFlagComposition `protobuf:"bytes,3,rep,name=feature_subgraphs,json=featureSubgraphs,proto3" json:"feature_subgraphs,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetFeatureFlagsInLatestCompositionByFederatedGraphResponse) Reset() { *x = GetFeatureFlagsInLatestCompositionByFederatedGraphResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[368] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[369] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24520,7 +24616,7 @@ func (x *GetFeatureFlagsInLatestCompositionByFederatedGraphResponse) String() st func (*GetFeatureFlagsInLatestCompositionByFederatedGraphResponse) ProtoMessage() {} func (x *GetFeatureFlagsInLatestCompositionByFederatedGraphResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[368] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[369] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24533,7 +24629,7 @@ func (x *GetFeatureFlagsInLatestCompositionByFederatedGraphResponse) ProtoReflec // Deprecated: Use GetFeatureFlagsInLatestCompositionByFederatedGraphResponse.ProtoReflect.Descriptor instead. func (*GetFeatureFlagsInLatestCompositionByFederatedGraphResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{368} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{369} } func (x *GetFeatureFlagsInLatestCompositionByFederatedGraphResponse) GetResponse() *Response { @@ -24550,6 +24646,13 @@ func (x *GetFeatureFlagsInLatestCompositionByFederatedGraphResponse) GetFeatureF return nil } +func (x *GetFeatureFlagsInLatestCompositionByFederatedGraphResponse) GetFeatureSubgraphs() []*FeatureSubgraphInFlagComposition { + if x != nil { + return x.FeatureSubgraphs + } + return nil +} + type GetFeatureSubgraphsByFederatedGraphRequest struct { state protoimpl.MessageState `protogen:"open.v1"` FederatedGraphName string `protobuf:"bytes,1,opt,name=federated_graph_name,json=federatedGraphName,proto3" json:"federated_graph_name,omitempty"` @@ -24563,7 +24666,7 @@ type GetFeatureSubgraphsByFederatedGraphRequest struct { func (x *GetFeatureSubgraphsByFederatedGraphRequest) Reset() { *x = GetFeatureSubgraphsByFederatedGraphRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[369] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[370] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24575,7 +24678,7 @@ func (x *GetFeatureSubgraphsByFederatedGraphRequest) String() string { func (*GetFeatureSubgraphsByFederatedGraphRequest) ProtoMessage() {} func (x *GetFeatureSubgraphsByFederatedGraphRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[369] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[370] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24588,7 +24691,7 @@ func (x *GetFeatureSubgraphsByFederatedGraphRequest) ProtoReflect() protoreflect // Deprecated: Use GetFeatureSubgraphsByFederatedGraphRequest.ProtoReflect.Descriptor instead. func (*GetFeatureSubgraphsByFederatedGraphRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{369} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{370} } func (x *GetFeatureSubgraphsByFederatedGraphRequest) GetFederatedGraphName() string { @@ -24638,7 +24741,7 @@ type GetFeatureSubgraphsByFederatedGraphResponse struct { func (x *GetFeatureSubgraphsByFederatedGraphResponse) Reset() { *x = GetFeatureSubgraphsByFederatedGraphResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[370] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[371] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24650,7 +24753,7 @@ func (x *GetFeatureSubgraphsByFederatedGraphResponse) String() string { func (*GetFeatureSubgraphsByFederatedGraphResponse) ProtoMessage() {} func (x *GetFeatureSubgraphsByFederatedGraphResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[370] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[371] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24663,7 +24766,7 @@ func (x *GetFeatureSubgraphsByFederatedGraphResponse) ProtoReflect() protoreflec // Deprecated: Use GetFeatureSubgraphsByFederatedGraphResponse.ProtoReflect.Descriptor instead. func (*GetFeatureSubgraphsByFederatedGraphResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{370} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{371} } func (x *GetFeatureSubgraphsByFederatedGraphResponse) GetResponse() *Response { @@ -24698,7 +24801,7 @@ type GetOrganizationWebhookHistoryRequest struct { func (x *GetOrganizationWebhookHistoryRequest) Reset() { *x = GetOrganizationWebhookHistoryRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[371] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[372] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24710,7 +24813,7 @@ func (x *GetOrganizationWebhookHistoryRequest) String() string { func (*GetOrganizationWebhookHistoryRequest) ProtoMessage() {} func (x *GetOrganizationWebhookHistoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[371] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[372] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24723,7 +24826,7 @@ func (x *GetOrganizationWebhookHistoryRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use GetOrganizationWebhookHistoryRequest.ProtoReflect.Descriptor instead. func (*GetOrganizationWebhookHistoryRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{371} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{372} } func (x *GetOrganizationWebhookHistoryRequest) GetPagination() *Pagination { @@ -24771,7 +24874,7 @@ type WebhookDelivery struct { func (x *WebhookDelivery) Reset() { *x = WebhookDelivery{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[372] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[373] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24783,7 +24886,7 @@ func (x *WebhookDelivery) String() string { func (*WebhookDelivery) ProtoMessage() {} func (x *WebhookDelivery) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[372] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[373] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24796,7 +24899,7 @@ func (x *WebhookDelivery) ProtoReflect() protoreflect.Message { // Deprecated: Use WebhookDelivery.ProtoReflect.Descriptor instead. func (*WebhookDelivery) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{372} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{373} } func (x *WebhookDelivery) GetId() string { @@ -24922,7 +25025,7 @@ type GetOrganizationWebhookHistoryResponse struct { func (x *GetOrganizationWebhookHistoryResponse) Reset() { *x = GetOrganizationWebhookHistoryResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[373] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[374] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24934,7 +25037,7 @@ func (x *GetOrganizationWebhookHistoryResponse) String() string { func (*GetOrganizationWebhookHistoryResponse) ProtoMessage() {} func (x *GetOrganizationWebhookHistoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[373] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[374] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24947,7 +25050,7 @@ func (x *GetOrganizationWebhookHistoryResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use GetOrganizationWebhookHistoryResponse.ProtoReflect.Descriptor instead. func (*GetOrganizationWebhookHistoryResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{373} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{374} } func (x *GetOrganizationWebhookHistoryResponse) GetResponse() *Response { @@ -24980,7 +25083,7 @@ type RedeliverWebhookRequest struct { func (x *RedeliverWebhookRequest) Reset() { *x = RedeliverWebhookRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[374] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[375] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24992,7 +25095,7 @@ func (x *RedeliverWebhookRequest) String() string { func (*RedeliverWebhookRequest) ProtoMessage() {} func (x *RedeliverWebhookRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[374] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[375] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25005,7 +25108,7 @@ func (x *RedeliverWebhookRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RedeliverWebhookRequest.ProtoReflect.Descriptor instead. func (*RedeliverWebhookRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{374} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{375} } func (x *RedeliverWebhookRequest) GetId() string { @@ -25024,7 +25127,7 @@ type RedeliverWebhookResponse struct { func (x *RedeliverWebhookResponse) Reset() { *x = RedeliverWebhookResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[375] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[376] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25036,7 +25139,7 @@ func (x *RedeliverWebhookResponse) String() string { func (*RedeliverWebhookResponse) ProtoMessage() {} func (x *RedeliverWebhookResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[375] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[376] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25049,7 +25152,7 @@ func (x *RedeliverWebhookResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RedeliverWebhookResponse.ProtoReflect.Descriptor instead. func (*RedeliverWebhookResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{375} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{376} } func (x *RedeliverWebhookResponse) GetResponse() *Response { @@ -25068,7 +25171,7 @@ type GetWebhookDeliveryDetailsRequest struct { func (x *GetWebhookDeliveryDetailsRequest) Reset() { *x = GetWebhookDeliveryDetailsRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[376] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[377] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25080,7 +25183,7 @@ func (x *GetWebhookDeliveryDetailsRequest) String() string { func (*GetWebhookDeliveryDetailsRequest) ProtoMessage() {} func (x *GetWebhookDeliveryDetailsRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[376] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[377] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25093,7 +25196,7 @@ func (x *GetWebhookDeliveryDetailsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWebhookDeliveryDetailsRequest.ProtoReflect.Descriptor instead. func (*GetWebhookDeliveryDetailsRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{376} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{377} } func (x *GetWebhookDeliveryDetailsRequest) GetId() string { @@ -25113,7 +25216,7 @@ type GetWebhookDeliveryDetailsResponse struct { func (x *GetWebhookDeliveryDetailsResponse) Reset() { *x = GetWebhookDeliveryDetailsResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[377] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[378] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25125,7 +25228,7 @@ func (x *GetWebhookDeliveryDetailsResponse) String() string { func (*GetWebhookDeliveryDetailsResponse) ProtoMessage() {} func (x *GetWebhookDeliveryDetailsResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[377] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[378] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25138,7 +25241,7 @@ func (x *GetWebhookDeliveryDetailsResponse) ProtoReflect() protoreflect.Message // Deprecated: Use GetWebhookDeliveryDetailsResponse.ProtoReflect.Descriptor instead. func (*GetWebhookDeliveryDetailsResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{377} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{378} } func (x *GetWebhookDeliveryDetailsResponse) GetResponse() *Response { @@ -25166,7 +25269,7 @@ type CreatePlaygroundScriptRequest struct { func (x *CreatePlaygroundScriptRequest) Reset() { *x = CreatePlaygroundScriptRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[378] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[379] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25178,7 +25281,7 @@ func (x *CreatePlaygroundScriptRequest) String() string { func (*CreatePlaygroundScriptRequest) ProtoMessage() {} func (x *CreatePlaygroundScriptRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[378] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[379] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25191,7 +25294,7 @@ func (x *CreatePlaygroundScriptRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreatePlaygroundScriptRequest.ProtoReflect.Descriptor instead. func (*CreatePlaygroundScriptRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{378} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{379} } func (x *CreatePlaygroundScriptRequest) GetTitle() string { @@ -25224,7 +25327,7 @@ type CreatePlaygroundScriptResponse struct { func (x *CreatePlaygroundScriptResponse) Reset() { *x = CreatePlaygroundScriptResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[379] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[380] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25236,7 +25339,7 @@ func (x *CreatePlaygroundScriptResponse) String() string { func (*CreatePlaygroundScriptResponse) ProtoMessage() {} func (x *CreatePlaygroundScriptResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[379] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[380] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25249,7 +25352,7 @@ func (x *CreatePlaygroundScriptResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreatePlaygroundScriptResponse.ProtoReflect.Descriptor instead. func (*CreatePlaygroundScriptResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{379} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{380} } func (x *CreatePlaygroundScriptResponse) GetResponse() *Response { @@ -25268,7 +25371,7 @@ type DeletePlaygroundScriptRequest struct { func (x *DeletePlaygroundScriptRequest) Reset() { *x = DeletePlaygroundScriptRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[380] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[381] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25280,7 +25383,7 @@ func (x *DeletePlaygroundScriptRequest) String() string { func (*DeletePlaygroundScriptRequest) ProtoMessage() {} func (x *DeletePlaygroundScriptRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[380] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[381] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25293,7 +25396,7 @@ func (x *DeletePlaygroundScriptRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeletePlaygroundScriptRequest.ProtoReflect.Descriptor instead. func (*DeletePlaygroundScriptRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{380} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{381} } func (x *DeletePlaygroundScriptRequest) GetId() string { @@ -25312,7 +25415,7 @@ type DeletePlaygroundScriptResponse struct { func (x *DeletePlaygroundScriptResponse) Reset() { *x = DeletePlaygroundScriptResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[381] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[382] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25324,7 +25427,7 @@ func (x *DeletePlaygroundScriptResponse) String() string { func (*DeletePlaygroundScriptResponse) ProtoMessage() {} func (x *DeletePlaygroundScriptResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[381] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[382] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25337,7 +25440,7 @@ func (x *DeletePlaygroundScriptResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeletePlaygroundScriptResponse.ProtoReflect.Descriptor instead. func (*DeletePlaygroundScriptResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{381} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{382} } func (x *DeletePlaygroundScriptResponse) GetResponse() *Response { @@ -25358,7 +25461,7 @@ type UpdatePlaygroundScriptRequest struct { func (x *UpdatePlaygroundScriptRequest) Reset() { *x = UpdatePlaygroundScriptRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[382] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[383] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25370,7 +25473,7 @@ func (x *UpdatePlaygroundScriptRequest) String() string { func (*UpdatePlaygroundScriptRequest) ProtoMessage() {} func (x *UpdatePlaygroundScriptRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[382] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[383] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25383,7 +25486,7 @@ func (x *UpdatePlaygroundScriptRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdatePlaygroundScriptRequest.ProtoReflect.Descriptor instead. func (*UpdatePlaygroundScriptRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{382} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{383} } func (x *UpdatePlaygroundScriptRequest) GetId() string { @@ -25416,7 +25519,7 @@ type UpdatePlaygroundScriptResponse struct { func (x *UpdatePlaygroundScriptResponse) Reset() { *x = UpdatePlaygroundScriptResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[383] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[384] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25428,7 +25531,7 @@ func (x *UpdatePlaygroundScriptResponse) String() string { func (*UpdatePlaygroundScriptResponse) ProtoMessage() {} func (x *UpdatePlaygroundScriptResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[383] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[384] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25441,7 +25544,7 @@ func (x *UpdatePlaygroundScriptResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdatePlaygroundScriptResponse.ProtoReflect.Descriptor instead. func (*UpdatePlaygroundScriptResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{383} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{384} } func (x *UpdatePlaygroundScriptResponse) GetResponse() *Response { @@ -25460,7 +25563,7 @@ type GetPlaygroundScriptsRequest struct { func (x *GetPlaygroundScriptsRequest) Reset() { *x = GetPlaygroundScriptsRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[384] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[385] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25472,7 +25575,7 @@ func (x *GetPlaygroundScriptsRequest) String() string { func (*GetPlaygroundScriptsRequest) ProtoMessage() {} func (x *GetPlaygroundScriptsRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[384] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[385] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25485,7 +25588,7 @@ func (x *GetPlaygroundScriptsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPlaygroundScriptsRequest.ProtoReflect.Descriptor instead. func (*GetPlaygroundScriptsRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{384} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{385} } func (x *GetPlaygroundScriptsRequest) GetType() string { @@ -25507,7 +25610,7 @@ type PlaygroundScript struct { func (x *PlaygroundScript) Reset() { *x = PlaygroundScript{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[385] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[386] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25519,7 +25622,7 @@ func (x *PlaygroundScript) String() string { func (*PlaygroundScript) ProtoMessage() {} func (x *PlaygroundScript) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[385] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[386] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25532,7 +25635,7 @@ func (x *PlaygroundScript) ProtoReflect() protoreflect.Message { // Deprecated: Use PlaygroundScript.ProtoReflect.Descriptor instead. func (*PlaygroundScript) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{385} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{386} } func (x *PlaygroundScript) GetId() string { @@ -25573,7 +25676,7 @@ type GetPlaygroundScriptsResponse struct { func (x *GetPlaygroundScriptsResponse) Reset() { *x = GetPlaygroundScriptsResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[386] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[387] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25585,7 +25688,7 @@ func (x *GetPlaygroundScriptsResponse) String() string { func (*GetPlaygroundScriptsResponse) ProtoMessage() {} func (x *GetPlaygroundScriptsResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[386] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[387] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25598,7 +25701,7 @@ func (x *GetPlaygroundScriptsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPlaygroundScriptsResponse.ProtoReflect.Descriptor instead. func (*GetPlaygroundScriptsResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{386} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{387} } func (x *GetPlaygroundScriptsResponse) GetResponse() *Response { @@ -25625,7 +25728,7 @@ type GetFederatedGraphByIdRequest struct { func (x *GetFederatedGraphByIdRequest) Reset() { *x = GetFederatedGraphByIdRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[387] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[388] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25637,7 +25740,7 @@ func (x *GetFederatedGraphByIdRequest) String() string { func (*GetFederatedGraphByIdRequest) ProtoMessage() {} func (x *GetFederatedGraphByIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[387] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[388] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25650,7 +25753,7 @@ func (x *GetFederatedGraphByIdRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetFederatedGraphByIdRequest.ProtoReflect.Descriptor instead. func (*GetFederatedGraphByIdRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{387} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{388} } func (x *GetFederatedGraphByIdRequest) GetId() string { @@ -25683,7 +25786,7 @@ type GetFederatedGraphByIdResponse struct { func (x *GetFederatedGraphByIdResponse) Reset() { *x = GetFederatedGraphByIdResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[388] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[389] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25695,7 +25798,7 @@ func (x *GetFederatedGraphByIdResponse) String() string { func (*GetFederatedGraphByIdResponse) ProtoMessage() {} func (x *GetFederatedGraphByIdResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[388] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[389] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25708,7 +25811,7 @@ func (x *GetFederatedGraphByIdResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetFederatedGraphByIdResponse.ProtoReflect.Descriptor instead. func (*GetFederatedGraphByIdResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{388} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{389} } func (x *GetFederatedGraphByIdResponse) GetResponse() *Response { @@ -25762,7 +25865,7 @@ type GetSubgraphByIdRequest struct { func (x *GetSubgraphByIdRequest) Reset() { *x = GetSubgraphByIdRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[389] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[390] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25774,7 +25877,7 @@ func (x *GetSubgraphByIdRequest) String() string { func (*GetSubgraphByIdRequest) ProtoMessage() {} func (x *GetSubgraphByIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[389] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[390] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25787,7 +25890,7 @@ func (x *GetSubgraphByIdRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSubgraphByIdRequest.ProtoReflect.Descriptor instead. func (*GetSubgraphByIdRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{389} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{390} } func (x *GetSubgraphByIdRequest) GetId() string { @@ -25808,7 +25911,7 @@ type GetSubgraphByIdResponse struct { func (x *GetSubgraphByIdResponse) Reset() { *x = GetSubgraphByIdResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[390] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[391] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25820,7 +25923,7 @@ func (x *GetSubgraphByIdResponse) String() string { func (*GetSubgraphByIdResponse) ProtoMessage() {} func (x *GetSubgraphByIdResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[390] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[391] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25833,7 +25936,7 @@ func (x *GetSubgraphByIdResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSubgraphByIdResponse.ProtoReflect.Descriptor instead. func (*GetSubgraphByIdResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{390} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{391} } func (x *GetSubgraphByIdResponse) GetResponse() *Response { @@ -25867,7 +25970,7 @@ type GetNamespaceRequest struct { func (x *GetNamespaceRequest) Reset() { *x = GetNamespaceRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[391] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[392] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25879,7 +25982,7 @@ func (x *GetNamespaceRequest) String() string { func (*GetNamespaceRequest) ProtoMessage() {} func (x *GetNamespaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[391] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[392] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25892,7 +25995,7 @@ func (x *GetNamespaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNamespaceRequest.ProtoReflect.Descriptor instead. func (*GetNamespaceRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{391} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{392} } func (x *GetNamespaceRequest) GetName() string { @@ -25919,7 +26022,7 @@ type GetNamespaceResponse struct { func (x *GetNamespaceResponse) Reset() { *x = GetNamespaceResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[392] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[393] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25931,7 +26034,7 @@ func (x *GetNamespaceResponse) String() string { func (*GetNamespaceResponse) ProtoMessage() {} func (x *GetNamespaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[392] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[393] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25944,7 +26047,7 @@ func (x *GetNamespaceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNamespaceResponse.ProtoReflect.Descriptor instead. func (*GetNamespaceResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{392} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{393} } func (x *GetNamespaceResponse) GetResponse() *Response { @@ -25973,7 +26076,7 @@ type WorkspaceNamespace struct { func (x *WorkspaceNamespace) Reset() { *x = WorkspaceNamespace{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[393] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[394] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25985,7 +26088,7 @@ func (x *WorkspaceNamespace) String() string { func (*WorkspaceNamespace) ProtoMessage() {} func (x *WorkspaceNamespace) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[393] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[394] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25998,7 +26101,7 @@ func (x *WorkspaceNamespace) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceNamespace.ProtoReflect.Descriptor instead. func (*WorkspaceNamespace) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{393} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{394} } func (x *WorkspaceNamespace) GetId() string { @@ -26042,7 +26145,7 @@ type WorkspaceFederatedGraph struct { func (x *WorkspaceFederatedGraph) Reset() { *x = WorkspaceFederatedGraph{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[394] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[395] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26054,7 +26157,7 @@ func (x *WorkspaceFederatedGraph) String() string { func (*WorkspaceFederatedGraph) ProtoMessage() {} func (x *WorkspaceFederatedGraph) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[394] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[395] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26067,7 +26170,7 @@ func (x *WorkspaceFederatedGraph) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceFederatedGraph.ProtoReflect.Descriptor instead. func (*WorkspaceFederatedGraph) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{394} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{395} } func (x *WorkspaceFederatedGraph) GetId() string { @@ -26118,7 +26221,7 @@ type WorkspaceSubgraph struct { func (x *WorkspaceSubgraph) Reset() { *x = WorkspaceSubgraph{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[395] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[396] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26130,7 +26233,7 @@ func (x *WorkspaceSubgraph) String() string { func (*WorkspaceSubgraph) ProtoMessage() {} func (x *WorkspaceSubgraph) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[395] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[396] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26143,7 +26246,7 @@ func (x *WorkspaceSubgraph) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceSubgraph.ProtoReflect.Descriptor instead. func (*WorkspaceSubgraph) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{395} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{396} } func (x *WorkspaceSubgraph) GetId() string { @@ -26189,7 +26292,7 @@ type GetWorkspaceRequest struct { func (x *GetWorkspaceRequest) Reset() { *x = GetWorkspaceRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[396] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[397] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26201,7 +26304,7 @@ func (x *GetWorkspaceRequest) String() string { func (*GetWorkspaceRequest) ProtoMessage() {} func (x *GetWorkspaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[396] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[397] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26214,7 +26317,7 @@ func (x *GetWorkspaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWorkspaceRequest.ProtoReflect.Descriptor instead. func (*GetWorkspaceRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{396} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{397} } type GetWorkspaceResponse struct { @@ -26227,7 +26330,7 @@ type GetWorkspaceResponse struct { func (x *GetWorkspaceResponse) Reset() { *x = GetWorkspaceResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[397] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[398] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26239,7 +26342,7 @@ func (x *GetWorkspaceResponse) String() string { func (*GetWorkspaceResponse) ProtoMessage() {} func (x *GetWorkspaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[397] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[398] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26252,7 +26355,7 @@ func (x *GetWorkspaceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWorkspaceResponse.ProtoReflect.Descriptor instead. func (*GetWorkspaceResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{397} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{398} } func (x *GetWorkspaceResponse) GetResponse() *Response { @@ -26282,7 +26385,7 @@ type PushCacheWarmerOperationRequest struct { func (x *PushCacheWarmerOperationRequest) Reset() { *x = PushCacheWarmerOperationRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[398] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[399] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26294,7 +26397,7 @@ func (x *PushCacheWarmerOperationRequest) String() string { func (*PushCacheWarmerOperationRequest) ProtoMessage() {} func (x *PushCacheWarmerOperationRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[398] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[399] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26307,7 +26410,7 @@ func (x *PushCacheWarmerOperationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PushCacheWarmerOperationRequest.ProtoReflect.Descriptor instead. func (*PushCacheWarmerOperationRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{398} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{399} } func (x *PushCacheWarmerOperationRequest) GetFederatedGraphName() string { @@ -26354,7 +26457,7 @@ type PushCacheWarmerOperationResponse struct { func (x *PushCacheWarmerOperationResponse) Reset() { *x = PushCacheWarmerOperationResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[399] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[400] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26366,7 +26469,7 @@ func (x *PushCacheWarmerOperationResponse) String() string { func (*PushCacheWarmerOperationResponse) ProtoMessage() {} func (x *PushCacheWarmerOperationResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[399] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[400] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26379,7 +26482,7 @@ func (x *PushCacheWarmerOperationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PushCacheWarmerOperationResponse.ProtoReflect.Descriptor instead. func (*PushCacheWarmerOperationResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{399} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{400} } func (x *PushCacheWarmerOperationResponse) GetResponse() *Response { @@ -26401,7 +26504,7 @@ type GetCacheWarmerOperationsRequest struct { func (x *GetCacheWarmerOperationsRequest) Reset() { *x = GetCacheWarmerOperationsRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[400] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[401] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26413,7 +26516,7 @@ func (x *GetCacheWarmerOperationsRequest) String() string { func (*GetCacheWarmerOperationsRequest) ProtoMessage() {} func (x *GetCacheWarmerOperationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[400] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[401] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26426,7 +26529,7 @@ func (x *GetCacheWarmerOperationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCacheWarmerOperationsRequest.ProtoReflect.Descriptor instead. func (*GetCacheWarmerOperationsRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{400} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{401} } func (x *GetCacheWarmerOperationsRequest) GetFederatedGraphName() string { @@ -26476,7 +26579,7 @@ type CacheWarmerOperation struct { func (x *CacheWarmerOperation) Reset() { *x = CacheWarmerOperation{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[401] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[402] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26488,7 +26591,7 @@ func (x *CacheWarmerOperation) String() string { func (*CacheWarmerOperation) ProtoMessage() {} func (x *CacheWarmerOperation) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[401] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[402] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26501,7 +26604,7 @@ func (x *CacheWarmerOperation) ProtoReflect() protoreflect.Message { // Deprecated: Use CacheWarmerOperation.ProtoReflect.Descriptor instead. func (*CacheWarmerOperation) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{401} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{402} } func (x *CacheWarmerOperation) GetId() string { @@ -26593,7 +26696,7 @@ type GetCacheWarmerOperationsResponse struct { func (x *GetCacheWarmerOperationsResponse) Reset() { *x = GetCacheWarmerOperationsResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[402] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[403] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26605,7 +26708,7 @@ func (x *GetCacheWarmerOperationsResponse) String() string { func (*GetCacheWarmerOperationsResponse) ProtoMessage() {} func (x *GetCacheWarmerOperationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[402] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[403] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26618,7 +26721,7 @@ func (x *GetCacheWarmerOperationsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCacheWarmerOperationsResponse.ProtoReflect.Descriptor instead. func (*GetCacheWarmerOperationsResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{402} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{403} } func (x *GetCacheWarmerOperationsResponse) GetResponse() *Response { @@ -26659,7 +26762,7 @@ type ComputeCacheWarmerOperationsRequest struct { func (x *ComputeCacheWarmerOperationsRequest) Reset() { *x = ComputeCacheWarmerOperationsRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[403] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[404] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26671,7 +26774,7 @@ func (x *ComputeCacheWarmerOperationsRequest) String() string { func (*ComputeCacheWarmerOperationsRequest) ProtoMessage() {} func (x *ComputeCacheWarmerOperationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[403] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[404] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26684,7 +26787,7 @@ func (x *ComputeCacheWarmerOperationsRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use ComputeCacheWarmerOperationsRequest.ProtoReflect.Descriptor instead. func (*ComputeCacheWarmerOperationsRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{403} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{404} } func (x *ComputeCacheWarmerOperationsRequest) GetFederatedGraphName() string { @@ -26710,7 +26813,7 @@ type ComputeCacheWarmerOperationsResponse struct { func (x *ComputeCacheWarmerOperationsResponse) Reset() { *x = ComputeCacheWarmerOperationsResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[404] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[405] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26722,7 +26825,7 @@ func (x *ComputeCacheWarmerOperationsResponse) String() string { func (*ComputeCacheWarmerOperationsResponse) ProtoMessage() {} func (x *ComputeCacheWarmerOperationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[404] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[405] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26735,7 +26838,7 @@ func (x *ComputeCacheWarmerOperationsResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use ComputeCacheWarmerOperationsResponse.ProtoReflect.Descriptor instead. func (*ComputeCacheWarmerOperationsResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{404} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{405} } func (x *ComputeCacheWarmerOperationsResponse) GetResponse() *Response { @@ -26756,7 +26859,7 @@ type ConfigureCacheWarmerRequest struct { func (x *ConfigureCacheWarmerRequest) Reset() { *x = ConfigureCacheWarmerRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[405] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[406] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26768,7 +26871,7 @@ func (x *ConfigureCacheWarmerRequest) String() string { func (*ConfigureCacheWarmerRequest) ProtoMessage() {} func (x *ConfigureCacheWarmerRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[405] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[406] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26781,7 +26884,7 @@ func (x *ConfigureCacheWarmerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigureCacheWarmerRequest.ProtoReflect.Descriptor instead. func (*ConfigureCacheWarmerRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{405} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{406} } func (x *ConfigureCacheWarmerRequest) GetNamespace() string { @@ -26814,7 +26917,7 @@ type ConfigureCacheWarmerResponse struct { func (x *ConfigureCacheWarmerResponse) Reset() { *x = ConfigureCacheWarmerResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[406] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[407] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26826,7 +26929,7 @@ func (x *ConfigureCacheWarmerResponse) String() string { func (*ConfigureCacheWarmerResponse) ProtoMessage() {} func (x *ConfigureCacheWarmerResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[406] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[407] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26839,7 +26942,7 @@ func (x *ConfigureCacheWarmerResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigureCacheWarmerResponse.ProtoReflect.Descriptor instead. func (*ConfigureCacheWarmerResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{406} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{407} } func (x *ConfigureCacheWarmerResponse) GetResponse() *Response { @@ -26858,7 +26961,7 @@ type GetCacheWarmerConfigRequest struct { func (x *GetCacheWarmerConfigRequest) Reset() { *x = GetCacheWarmerConfigRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[407] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[408] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26870,7 +26973,7 @@ func (x *GetCacheWarmerConfigRequest) String() string { func (*GetCacheWarmerConfigRequest) ProtoMessage() {} func (x *GetCacheWarmerConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[407] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[408] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26883,7 +26986,7 @@ func (x *GetCacheWarmerConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCacheWarmerConfigRequest.ProtoReflect.Descriptor instead. func (*GetCacheWarmerConfigRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{407} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{408} } func (x *GetCacheWarmerConfigRequest) GetNamespace() string { @@ -26904,7 +27007,7 @@ type GetCacheWarmerConfigResponse struct { func (x *GetCacheWarmerConfigResponse) Reset() { *x = GetCacheWarmerConfigResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[408] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[409] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26916,7 +27019,7 @@ func (x *GetCacheWarmerConfigResponse) String() string { func (*GetCacheWarmerConfigResponse) ProtoMessage() {} func (x *GetCacheWarmerConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[408] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[409] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26929,7 +27032,7 @@ func (x *GetCacheWarmerConfigResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCacheWarmerConfigResponse.ProtoReflect.Descriptor instead. func (*GetCacheWarmerConfigResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{408} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{409} } func (x *GetCacheWarmerConfigResponse) GetResponse() *Response { @@ -26962,7 +27065,7 @@ type GetSubgraphCheckExtensionsConfigRequest struct { func (x *GetSubgraphCheckExtensionsConfigRequest) Reset() { *x = GetSubgraphCheckExtensionsConfigRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[409] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[410] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26974,7 +27077,7 @@ func (x *GetSubgraphCheckExtensionsConfigRequest) String() string { func (*GetSubgraphCheckExtensionsConfigRequest) ProtoMessage() {} func (x *GetSubgraphCheckExtensionsConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[409] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[410] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26987,7 +27090,7 @@ func (x *GetSubgraphCheckExtensionsConfigRequest) ProtoReflect() protoreflect.Me // Deprecated: Use GetSubgraphCheckExtensionsConfigRequest.ProtoReflect.Descriptor instead. func (*GetSubgraphCheckExtensionsConfigRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{409} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{410} } func (x *GetSubgraphCheckExtensionsConfigRequest) GetNamespace() string { @@ -27016,7 +27119,7 @@ type GetSubgraphCheckExtensionsConfigResponse struct { func (x *GetSubgraphCheckExtensionsConfigResponse) Reset() { *x = GetSubgraphCheckExtensionsConfigResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[410] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[411] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27028,7 +27131,7 @@ func (x *GetSubgraphCheckExtensionsConfigResponse) String() string { func (*GetSubgraphCheckExtensionsConfigResponse) ProtoMessage() {} func (x *GetSubgraphCheckExtensionsConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[410] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[411] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27041,7 +27144,7 @@ func (x *GetSubgraphCheckExtensionsConfigResponse) ProtoReflect() protoreflect.M // Deprecated: Use GetSubgraphCheckExtensionsConfigResponse.ProtoReflect.Descriptor instead. func (*GetSubgraphCheckExtensionsConfigResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{410} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{411} } func (x *GetSubgraphCheckExtensionsConfigResponse) GetResponse() *Response { @@ -27138,7 +27241,7 @@ type ConfigureSubgraphCheckExtensionsRequest struct { func (x *ConfigureSubgraphCheckExtensionsRequest) Reset() { *x = ConfigureSubgraphCheckExtensionsRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[411] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[412] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27150,7 +27253,7 @@ func (x *ConfigureSubgraphCheckExtensionsRequest) String() string { func (*ConfigureSubgraphCheckExtensionsRequest) ProtoMessage() {} func (x *ConfigureSubgraphCheckExtensionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[411] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[412] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27163,7 +27266,7 @@ func (x *ConfigureSubgraphCheckExtensionsRequest) ProtoReflect() protoreflect.Me // Deprecated: Use ConfigureSubgraphCheckExtensionsRequest.ProtoReflect.Descriptor instead. func (*ConfigureSubgraphCheckExtensionsRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{411} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{412} } func (x *ConfigureSubgraphCheckExtensionsRequest) GetNamespace() string { @@ -27238,7 +27341,7 @@ type ConfigureSubgraphCheckExtensionsResponse struct { func (x *ConfigureSubgraphCheckExtensionsResponse) Reset() { *x = ConfigureSubgraphCheckExtensionsResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[412] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[413] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27250,7 +27353,7 @@ func (x *ConfigureSubgraphCheckExtensionsResponse) String() string { func (*ConfigureSubgraphCheckExtensionsResponse) ProtoMessage() {} func (x *ConfigureSubgraphCheckExtensionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[412] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[413] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27263,7 +27366,7 @@ func (x *ConfigureSubgraphCheckExtensionsResponse) ProtoReflect() protoreflect.M // Deprecated: Use ConfigureSubgraphCheckExtensionsResponse.ProtoReflect.Descriptor instead. func (*ConfigureSubgraphCheckExtensionsResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{412} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{413} } func (x *ConfigureSubgraphCheckExtensionsResponse) GetResponse() *Response { @@ -27284,7 +27387,7 @@ type DeleteCacheWarmerOperationRequest struct { func (x *DeleteCacheWarmerOperationRequest) Reset() { *x = DeleteCacheWarmerOperationRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[413] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[414] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27296,7 +27399,7 @@ func (x *DeleteCacheWarmerOperationRequest) String() string { func (*DeleteCacheWarmerOperationRequest) ProtoMessage() {} func (x *DeleteCacheWarmerOperationRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[413] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[414] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27309,7 +27412,7 @@ func (x *DeleteCacheWarmerOperationRequest) ProtoReflect() protoreflect.Message // Deprecated: Use DeleteCacheWarmerOperationRequest.ProtoReflect.Descriptor instead. func (*DeleteCacheWarmerOperationRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{413} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{414} } func (x *DeleteCacheWarmerOperationRequest) GetId() string { @@ -27342,7 +27445,7 @@ type DeleteCacheWarmerOperationResponse struct { func (x *DeleteCacheWarmerOperationResponse) Reset() { *x = DeleteCacheWarmerOperationResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[414] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[415] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27354,7 +27457,7 @@ func (x *DeleteCacheWarmerOperationResponse) String() string { func (*DeleteCacheWarmerOperationResponse) ProtoMessage() {} func (x *DeleteCacheWarmerOperationResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[414] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[415] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27367,7 +27470,7 @@ func (x *DeleteCacheWarmerOperationResponse) ProtoReflect() protoreflect.Message // Deprecated: Use DeleteCacheWarmerOperationResponse.ProtoReflect.Descriptor instead. func (*DeleteCacheWarmerOperationResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{414} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{415} } func (x *DeleteCacheWarmerOperationResponse) GetResponse() *Response { @@ -27385,7 +27488,7 @@ type ListRouterCompatibilityVersionsRequest struct { func (x *ListRouterCompatibilityVersionsRequest) Reset() { *x = ListRouterCompatibilityVersionsRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[415] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[416] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27397,7 +27500,7 @@ func (x *ListRouterCompatibilityVersionsRequest) String() string { func (*ListRouterCompatibilityVersionsRequest) ProtoMessage() {} func (x *ListRouterCompatibilityVersionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[415] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[416] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27410,7 +27513,7 @@ func (x *ListRouterCompatibilityVersionsRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use ListRouterCompatibilityVersionsRequest.ProtoReflect.Descriptor instead. func (*ListRouterCompatibilityVersionsRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{415} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{416} } type ListRouterCompatibilityVersionsResponse struct { @@ -27423,7 +27526,7 @@ type ListRouterCompatibilityVersionsResponse struct { func (x *ListRouterCompatibilityVersionsResponse) Reset() { *x = ListRouterCompatibilityVersionsResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[416] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[417] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27435,7 +27538,7 @@ func (x *ListRouterCompatibilityVersionsResponse) String() string { func (*ListRouterCompatibilityVersionsResponse) ProtoMessage() {} func (x *ListRouterCompatibilityVersionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[416] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[417] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27448,7 +27551,7 @@ func (x *ListRouterCompatibilityVersionsResponse) ProtoReflect() protoreflect.Me // Deprecated: Use ListRouterCompatibilityVersionsResponse.ProtoReflect.Descriptor instead. func (*ListRouterCompatibilityVersionsResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{416} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{417} } func (x *ListRouterCompatibilityVersionsResponse) GetResponse() *Response { @@ -27477,7 +27580,7 @@ type SetGraphRouterCompatibilityVersionRequest struct { func (x *SetGraphRouterCompatibilityVersionRequest) Reset() { *x = SetGraphRouterCompatibilityVersionRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[417] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[418] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27489,7 +27592,7 @@ func (x *SetGraphRouterCompatibilityVersionRequest) String() string { func (*SetGraphRouterCompatibilityVersionRequest) ProtoMessage() {} func (x *SetGraphRouterCompatibilityVersionRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[417] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[418] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27502,7 +27605,7 @@ func (x *SetGraphRouterCompatibilityVersionRequest) ProtoReflect() protoreflect. // Deprecated: Use SetGraphRouterCompatibilityVersionRequest.ProtoReflect.Descriptor instead. func (*SetGraphRouterCompatibilityVersionRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{417} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{418} } func (x *SetGraphRouterCompatibilityVersionRequest) GetName() string { @@ -27547,7 +27650,7 @@ type SetGraphRouterCompatibilityVersionResponse struct { func (x *SetGraphRouterCompatibilityVersionResponse) Reset() { *x = SetGraphRouterCompatibilityVersionResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[418] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[419] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27559,7 +27662,7 @@ func (x *SetGraphRouterCompatibilityVersionResponse) String() string { func (*SetGraphRouterCompatibilityVersionResponse) ProtoMessage() {} func (x *SetGraphRouterCompatibilityVersionResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[418] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[419] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27572,7 +27675,7 @@ func (x *SetGraphRouterCompatibilityVersionResponse) ProtoReflect() protoreflect // Deprecated: Use SetGraphRouterCompatibilityVersionResponse.ProtoReflect.Descriptor instead. func (*SetGraphRouterCompatibilityVersionResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{418} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{419} } func (x *SetGraphRouterCompatibilityVersionResponse) GetResponse() *Response { @@ -27628,7 +27731,7 @@ type GetProposedSchemaOfCheckedSubgraphRequest struct { func (x *GetProposedSchemaOfCheckedSubgraphRequest) Reset() { *x = GetProposedSchemaOfCheckedSubgraphRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[419] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[420] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27640,7 +27743,7 @@ func (x *GetProposedSchemaOfCheckedSubgraphRequest) String() string { func (*GetProposedSchemaOfCheckedSubgraphRequest) ProtoMessage() {} func (x *GetProposedSchemaOfCheckedSubgraphRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[419] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[420] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27653,7 +27756,7 @@ func (x *GetProposedSchemaOfCheckedSubgraphRequest) ProtoReflect() protoreflect. // Deprecated: Use GetProposedSchemaOfCheckedSubgraphRequest.ProtoReflect.Descriptor instead. func (*GetProposedSchemaOfCheckedSubgraphRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{419} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{420} } func (x *GetProposedSchemaOfCheckedSubgraphRequest) GetCheckId() string { @@ -27687,7 +27790,7 @@ type GetProposedSchemaOfCheckedSubgraphResponse struct { func (x *GetProposedSchemaOfCheckedSubgraphResponse) Reset() { *x = GetProposedSchemaOfCheckedSubgraphResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[420] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[421] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27699,7 +27802,7 @@ func (x *GetProposedSchemaOfCheckedSubgraphResponse) String() string { func (*GetProposedSchemaOfCheckedSubgraphResponse) ProtoMessage() {} func (x *GetProposedSchemaOfCheckedSubgraphResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[420] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[421] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27712,7 +27815,7 @@ func (x *GetProposedSchemaOfCheckedSubgraphResponse) ProtoReflect() protoreflect // Deprecated: Use GetProposedSchemaOfCheckedSubgraphResponse.ProtoReflect.Descriptor instead. func (*GetProposedSchemaOfCheckedSubgraphResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{420} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{421} } func (x *GetProposedSchemaOfCheckedSubgraphResponse) GetResponse() *Response { @@ -27748,7 +27851,7 @@ type Proposal struct { func (x *Proposal) Reset() { *x = Proposal{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[421] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[422] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27760,7 +27863,7 @@ func (x *Proposal) String() string { func (*Proposal) ProtoMessage() {} func (x *Proposal) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[421] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[422] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27773,7 +27876,7 @@ func (x *Proposal) ProtoReflect() protoreflect.Message { // Deprecated: Use Proposal.ProtoReflect.Descriptor instead. func (*Proposal) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{421} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{422} } func (x *Proposal) GetId() string { @@ -27866,7 +27969,7 @@ type ProposalSubgraph struct { func (x *ProposalSubgraph) Reset() { *x = ProposalSubgraph{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[422] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[423] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27878,7 +27981,7 @@ func (x *ProposalSubgraph) String() string { func (*ProposalSubgraph) ProtoMessage() {} func (x *ProposalSubgraph) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[422] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[423] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27891,7 +27994,7 @@ func (x *ProposalSubgraph) ProtoReflect() protoreflect.Message { // Deprecated: Use ProposalSubgraph.ProtoReflect.Descriptor instead. func (*ProposalSubgraph) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{422} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{423} } func (x *ProposalSubgraph) GetName() string { @@ -27943,7 +28046,7 @@ type CreateProposalRequest struct { func (x *CreateProposalRequest) Reset() { *x = CreateProposalRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[423] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[424] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27955,7 +28058,7 @@ func (x *CreateProposalRequest) String() string { func (*CreateProposalRequest) ProtoMessage() {} func (x *CreateProposalRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[423] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[424] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27968,7 +28071,7 @@ func (x *CreateProposalRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateProposalRequest.ProtoReflect.Descriptor instead. func (*CreateProposalRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{423} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{424} } func (x *CreateProposalRequest) GetFederatedGraphName() string { @@ -28044,7 +28147,7 @@ type CreateProposalResponse struct { func (x *CreateProposalResponse) Reset() { *x = CreateProposalResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[424] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[425] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28056,7 +28159,7 @@ func (x *CreateProposalResponse) String() string { func (*CreateProposalResponse) ProtoMessage() {} func (x *CreateProposalResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[424] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[425] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28069,7 +28172,7 @@ func (x *CreateProposalResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateProposalResponse.ProtoReflect.Descriptor instead. func (*CreateProposalResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{424} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{425} } func (x *CreateProposalResponse) GetResponse() *Response { @@ -28228,7 +28331,7 @@ type GetProposalRequest struct { func (x *GetProposalRequest) Reset() { *x = GetProposalRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[425] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[426] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28240,7 +28343,7 @@ func (x *GetProposalRequest) String() string { func (*GetProposalRequest) ProtoMessage() {} func (x *GetProposalRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[425] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[426] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28253,7 +28356,7 @@ func (x *GetProposalRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetProposalRequest.ProtoReflect.Descriptor instead. func (*GetProposalRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{425} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{426} } func (x *GetProposalRequest) GetProposalId() string { @@ -28274,7 +28377,7 @@ type GetProposalResponse struct { func (x *GetProposalResponse) Reset() { *x = GetProposalResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[426] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[427] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28286,7 +28389,7 @@ func (x *GetProposalResponse) String() string { func (*GetProposalResponse) ProtoMessage() {} func (x *GetProposalResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[426] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[427] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28299,7 +28402,7 @@ func (x *GetProposalResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetProposalResponse.ProtoReflect.Descriptor instead. func (*GetProposalResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{426} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{427} } func (x *GetProposalResponse) GetResponse() *Response { @@ -28337,7 +28440,7 @@ type GetProposalsByFederatedGraphRequest struct { func (x *GetProposalsByFederatedGraphRequest) Reset() { *x = GetProposalsByFederatedGraphRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[427] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[428] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28349,7 +28452,7 @@ func (x *GetProposalsByFederatedGraphRequest) String() string { func (*GetProposalsByFederatedGraphRequest) ProtoMessage() {} func (x *GetProposalsByFederatedGraphRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[427] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[428] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28362,7 +28465,7 @@ func (x *GetProposalsByFederatedGraphRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use GetProposalsByFederatedGraphRequest.ProtoReflect.Descriptor instead. func (*GetProposalsByFederatedGraphRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{427} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{428} } func (x *GetProposalsByFederatedGraphRequest) GetFederatedGraphName() string { @@ -28419,7 +28522,7 @@ type GetProposalsByFederatedGraphResponse struct { func (x *GetProposalsByFederatedGraphResponse) Reset() { *x = GetProposalsByFederatedGraphResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[428] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[429] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28431,7 +28534,7 @@ func (x *GetProposalsByFederatedGraphResponse) String() string { func (*GetProposalsByFederatedGraphResponse) ProtoMessage() {} func (x *GetProposalsByFederatedGraphResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[428] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[429] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28444,7 +28547,7 @@ func (x *GetProposalsByFederatedGraphResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use GetProposalsByFederatedGraphResponse.ProtoReflect.Descriptor instead. func (*GetProposalsByFederatedGraphResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{428} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{429} } func (x *GetProposalsByFederatedGraphResponse) GetResponse() *Response { @@ -28488,7 +28591,7 @@ type GetProposalChecksRequest struct { func (x *GetProposalChecksRequest) Reset() { *x = GetProposalChecksRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[429] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[430] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28500,7 +28603,7 @@ func (x *GetProposalChecksRequest) String() string { func (*GetProposalChecksRequest) ProtoMessage() {} func (x *GetProposalChecksRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[429] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[430] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28513,7 +28616,7 @@ func (x *GetProposalChecksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetProposalChecksRequest.ProtoReflect.Descriptor instead. func (*GetProposalChecksRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{429} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{430} } func (x *GetProposalChecksRequest) GetProposalId() string { @@ -28562,7 +28665,7 @@ type GetProposalChecksResponse struct { func (x *GetProposalChecksResponse) Reset() { *x = GetProposalChecksResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[430] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[431] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28574,7 +28677,7 @@ func (x *GetProposalChecksResponse) String() string { func (*GetProposalChecksResponse) ProtoMessage() {} func (x *GetProposalChecksResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[430] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[431] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28587,7 +28690,7 @@ func (x *GetProposalChecksResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetProposalChecksResponse.ProtoReflect.Descriptor instead. func (*GetProposalChecksResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{430} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{431} } func (x *GetProposalChecksResponse) GetResponse() *Response { @@ -28627,7 +28730,7 @@ type UpdateProposalRequest struct { func (x *UpdateProposalRequest) Reset() { *x = UpdateProposalRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[431] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[432] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28639,7 +28742,7 @@ func (x *UpdateProposalRequest) String() string { func (*UpdateProposalRequest) ProtoMessage() {} func (x *UpdateProposalRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[431] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[432] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28652,7 +28755,7 @@ func (x *UpdateProposalRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateProposalRequest.ProtoReflect.Descriptor instead. func (*UpdateProposalRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{431} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{432} } func (x *UpdateProposalRequest) GetProposalName() string { @@ -28745,7 +28848,7 @@ type UpdateProposalResponse struct { func (x *UpdateProposalResponse) Reset() { *x = UpdateProposalResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[432] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[433] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28757,7 +28860,7 @@ func (x *UpdateProposalResponse) String() string { func (*UpdateProposalResponse) ProtoMessage() {} func (x *UpdateProposalResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[432] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[433] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28770,7 +28873,7 @@ func (x *UpdateProposalResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateProposalResponse.ProtoReflect.Descriptor instead. func (*UpdateProposalResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{432} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{433} } func (x *UpdateProposalResponse) GetResponse() *Response { @@ -28909,7 +29012,7 @@ type EnableProposalsForNamespaceRequest struct { func (x *EnableProposalsForNamespaceRequest) Reset() { *x = EnableProposalsForNamespaceRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[433] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[434] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28921,7 +29024,7 @@ func (x *EnableProposalsForNamespaceRequest) String() string { func (*EnableProposalsForNamespaceRequest) ProtoMessage() {} func (x *EnableProposalsForNamespaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[433] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[434] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28934,7 +29037,7 @@ func (x *EnableProposalsForNamespaceRequest) ProtoReflect() protoreflect.Message // Deprecated: Use EnableProposalsForNamespaceRequest.ProtoReflect.Descriptor instead. func (*EnableProposalsForNamespaceRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{433} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{434} } func (x *EnableProposalsForNamespaceRequest) GetNamespace() string { @@ -28960,7 +29063,7 @@ type EnableProposalsForNamespaceResponse struct { func (x *EnableProposalsForNamespaceResponse) Reset() { *x = EnableProposalsForNamespaceResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[434] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[435] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28972,7 +29075,7 @@ func (x *EnableProposalsForNamespaceResponse) String() string { func (*EnableProposalsForNamespaceResponse) ProtoMessage() {} func (x *EnableProposalsForNamespaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[434] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[435] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28985,7 +29088,7 @@ func (x *EnableProposalsForNamespaceResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use EnableProposalsForNamespaceResponse.ProtoReflect.Descriptor instead. func (*EnableProposalsForNamespaceResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{434} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{435} } func (x *EnableProposalsForNamespaceResponse) GetResponse() *Response { @@ -29006,7 +29109,7 @@ type ConfigureNamespaceProposalConfigRequest struct { func (x *ConfigureNamespaceProposalConfigRequest) Reset() { *x = ConfigureNamespaceProposalConfigRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[435] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[436] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29018,7 +29121,7 @@ func (x *ConfigureNamespaceProposalConfigRequest) String() string { func (*ConfigureNamespaceProposalConfigRequest) ProtoMessage() {} func (x *ConfigureNamespaceProposalConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[435] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[436] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29031,7 +29134,7 @@ func (x *ConfigureNamespaceProposalConfigRequest) ProtoReflect() protoreflect.Me // Deprecated: Use ConfigureNamespaceProposalConfigRequest.ProtoReflect.Descriptor instead. func (*ConfigureNamespaceProposalConfigRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{435} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{436} } func (x *ConfigureNamespaceProposalConfigRequest) GetNamespace() string { @@ -29064,7 +29167,7 @@ type ConfigureNamespaceProposalConfigResponse struct { func (x *ConfigureNamespaceProposalConfigResponse) Reset() { *x = ConfigureNamespaceProposalConfigResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[436] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[437] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29076,7 +29179,7 @@ func (x *ConfigureNamespaceProposalConfigResponse) String() string { func (*ConfigureNamespaceProposalConfigResponse) ProtoMessage() {} func (x *ConfigureNamespaceProposalConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[436] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[437] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29089,7 +29192,7 @@ func (x *ConfigureNamespaceProposalConfigResponse) ProtoReflect() protoreflect.M // Deprecated: Use ConfigureNamespaceProposalConfigResponse.ProtoReflect.Descriptor instead. func (*ConfigureNamespaceProposalConfigResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{436} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{437} } func (x *ConfigureNamespaceProposalConfigResponse) GetResponse() *Response { @@ -29108,7 +29211,7 @@ type GetNamespaceProposalConfigRequest struct { func (x *GetNamespaceProposalConfigRequest) Reset() { *x = GetNamespaceProposalConfigRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[437] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[438] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29120,7 +29223,7 @@ func (x *GetNamespaceProposalConfigRequest) String() string { func (*GetNamespaceProposalConfigRequest) ProtoMessage() {} func (x *GetNamespaceProposalConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[437] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[438] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29133,7 +29236,7 @@ func (x *GetNamespaceProposalConfigRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GetNamespaceProposalConfigRequest.ProtoReflect.Descriptor instead. func (*GetNamespaceProposalConfigRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{437} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{438} } func (x *GetNamespaceProposalConfigRequest) GetNamespace() string { @@ -29155,7 +29258,7 @@ type GetNamespaceProposalConfigResponse struct { func (x *GetNamespaceProposalConfigResponse) Reset() { *x = GetNamespaceProposalConfigResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[438] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[439] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29167,7 +29270,7 @@ func (x *GetNamespaceProposalConfigResponse) String() string { func (*GetNamespaceProposalConfigResponse) ProtoMessage() {} func (x *GetNamespaceProposalConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[438] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[439] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29180,7 +29283,7 @@ func (x *GetNamespaceProposalConfigResponse) ProtoReflect() protoreflect.Message // Deprecated: Use GetNamespaceProposalConfigResponse.ProtoReflect.Descriptor instead. func (*GetNamespaceProposalConfigResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{438} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{439} } func (x *GetNamespaceProposalConfigResponse) GetResponse() *Response { @@ -29224,7 +29327,7 @@ type NamespaceLoginMethodMapping struct { func (x *NamespaceLoginMethodMapping) Reset() { *x = NamespaceLoginMethodMapping{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[439] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[440] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29236,7 +29339,7 @@ func (x *NamespaceLoginMethodMapping) String() string { func (*NamespaceLoginMethodMapping) ProtoMessage() {} func (x *NamespaceLoginMethodMapping) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[439] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[440] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29249,7 +29352,7 @@ func (x *NamespaceLoginMethodMapping) ProtoReflect() protoreflect.Message { // Deprecated: Use NamespaceLoginMethodMapping.ProtoReflect.Descriptor instead. func (*NamespaceLoginMethodMapping) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{439} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{440} } func (x *NamespaceLoginMethodMapping) GetNamespaceId() string { @@ -29296,7 +29399,7 @@ type UpdateNamespaceLoginMethodsRequest struct { func (x *UpdateNamespaceLoginMethodsRequest) Reset() { *x = UpdateNamespaceLoginMethodsRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[440] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[441] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29308,7 +29411,7 @@ func (x *UpdateNamespaceLoginMethodsRequest) String() string { func (*UpdateNamespaceLoginMethodsRequest) ProtoMessage() {} func (x *UpdateNamespaceLoginMethodsRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[440] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[441] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29321,7 +29424,7 @@ func (x *UpdateNamespaceLoginMethodsRequest) ProtoReflect() protoreflect.Message // Deprecated: Use UpdateNamespaceLoginMethodsRequest.ProtoReflect.Descriptor instead. func (*UpdateNamespaceLoginMethodsRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{440} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{441} } func (x *UpdateNamespaceLoginMethodsRequest) GetMappings() []*NamespaceLoginMethodMapping { @@ -29340,7 +29443,7 @@ type UpdateNamespaceLoginMethodsResponse struct { func (x *UpdateNamespaceLoginMethodsResponse) Reset() { *x = UpdateNamespaceLoginMethodsResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[441] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[442] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29352,7 +29455,7 @@ func (x *UpdateNamespaceLoginMethodsResponse) String() string { func (*UpdateNamespaceLoginMethodsResponse) ProtoMessage() {} func (x *UpdateNamespaceLoginMethodsResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[441] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[442] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29365,7 +29468,7 @@ func (x *UpdateNamespaceLoginMethodsResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use UpdateNamespaceLoginMethodsResponse.ProtoReflect.Descriptor instead. func (*UpdateNamespaceLoginMethodsResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{441} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{442} } func (x *UpdateNamespaceLoginMethodsResponse) GetResponse() *Response { @@ -29383,7 +29486,7 @@ type ListNamespaceLoginMethodsRequest struct { func (x *ListNamespaceLoginMethodsRequest) Reset() { *x = ListNamespaceLoginMethodsRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[442] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[443] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29395,7 +29498,7 @@ func (x *ListNamespaceLoginMethodsRequest) String() string { func (*ListNamespaceLoginMethodsRequest) ProtoMessage() {} func (x *ListNamespaceLoginMethodsRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[442] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[443] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29408,7 +29511,7 @@ func (x *ListNamespaceLoginMethodsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNamespaceLoginMethodsRequest.ProtoReflect.Descriptor instead. func (*ListNamespaceLoginMethodsRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{442} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{443} } type ListNamespaceLoginMethodsResponse struct { @@ -29423,7 +29526,7 @@ type ListNamespaceLoginMethodsResponse struct { func (x *ListNamespaceLoginMethodsResponse) Reset() { *x = ListNamespaceLoginMethodsResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[443] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[444] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29435,7 +29538,7 @@ func (x *ListNamespaceLoginMethodsResponse) String() string { func (*ListNamespaceLoginMethodsResponse) ProtoMessage() {} func (x *ListNamespaceLoginMethodsResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[443] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[444] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29448,7 +29551,7 @@ func (x *ListNamespaceLoginMethodsResponse) ProtoReflect() protoreflect.Message // Deprecated: Use ListNamespaceLoginMethodsResponse.ProtoReflect.Descriptor instead. func (*ListNamespaceLoginMethodsResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{443} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{444} } func (x *ListNamespaceLoginMethodsResponse) GetResponse() *Response { @@ -29479,7 +29582,7 @@ type OrganizationLoginMethods struct { func (x *OrganizationLoginMethods) Reset() { *x = OrganizationLoginMethods{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[444] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[445] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29491,7 +29594,7 @@ func (x *OrganizationLoginMethods) String() string { func (*OrganizationLoginMethods) ProtoMessage() {} func (x *OrganizationLoginMethods) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[444] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[445] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29504,7 +29607,7 @@ func (x *OrganizationLoginMethods) ProtoReflect() protoreflect.Message { // Deprecated: Use OrganizationLoginMethods.ProtoReflect.Descriptor instead. func (*OrganizationLoginMethods) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{444} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{445} } func (x *OrganizationLoginMethods) GetAllowedSsoProviderIds() []string { @@ -29550,7 +29653,7 @@ type GetOrganizationLoginMethodsRequest struct { func (x *GetOrganizationLoginMethodsRequest) Reset() { *x = GetOrganizationLoginMethodsRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[445] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[446] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29562,7 +29665,7 @@ func (x *GetOrganizationLoginMethodsRequest) String() string { func (*GetOrganizationLoginMethodsRequest) ProtoMessage() {} func (x *GetOrganizationLoginMethodsRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[445] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[446] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29575,7 +29678,7 @@ func (x *GetOrganizationLoginMethodsRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GetOrganizationLoginMethodsRequest.ProtoReflect.Descriptor instead. func (*GetOrganizationLoginMethodsRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{445} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{446} } type GetOrganizationLoginMethodsResponse struct { @@ -29588,7 +29691,7 @@ type GetOrganizationLoginMethodsResponse struct { func (x *GetOrganizationLoginMethodsResponse) Reset() { *x = GetOrganizationLoginMethodsResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[446] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[447] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29600,7 +29703,7 @@ func (x *GetOrganizationLoginMethodsResponse) String() string { func (*GetOrganizationLoginMethodsResponse) ProtoMessage() {} func (x *GetOrganizationLoginMethodsResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[446] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[447] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29613,7 +29716,7 @@ func (x *GetOrganizationLoginMethodsResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use GetOrganizationLoginMethodsResponse.ProtoReflect.Descriptor instead. func (*GetOrganizationLoginMethodsResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{446} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{447} } func (x *GetOrganizationLoginMethodsResponse) GetResponse() *Response { @@ -29646,7 +29749,7 @@ type UpdateOrganizationLoginMethodsRequest struct { func (x *UpdateOrganizationLoginMethodsRequest) Reset() { *x = UpdateOrganizationLoginMethodsRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[447] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[448] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29658,7 +29761,7 @@ func (x *UpdateOrganizationLoginMethodsRequest) String() string { func (*UpdateOrganizationLoginMethodsRequest) ProtoMessage() {} func (x *UpdateOrganizationLoginMethodsRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[447] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[448] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29671,7 +29774,7 @@ func (x *UpdateOrganizationLoginMethodsRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use UpdateOrganizationLoginMethodsRequest.ProtoReflect.Descriptor instead. func (*UpdateOrganizationLoginMethodsRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{447} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{448} } func (x *UpdateOrganizationLoginMethodsRequest) GetAllowedSsoProviderIds() []string { @@ -29722,7 +29825,7 @@ type UpdateOrganizationLoginMethodsResponse struct { func (x *UpdateOrganizationLoginMethodsResponse) Reset() { *x = UpdateOrganizationLoginMethodsResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[448] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[449] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29734,7 +29837,7 @@ func (x *UpdateOrganizationLoginMethodsResponse) String() string { func (*UpdateOrganizationLoginMethodsResponse) ProtoMessage() {} func (x *UpdateOrganizationLoginMethodsResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[448] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[449] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29747,7 +29850,7 @@ func (x *UpdateOrganizationLoginMethodsResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use UpdateOrganizationLoginMethodsResponse.ProtoReflect.Descriptor instead. func (*UpdateOrganizationLoginMethodsResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{448} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{449} } func (x *UpdateOrganizationLoginMethodsResponse) GetResponse() *Response { @@ -29793,7 +29896,7 @@ type GetOperationsRequest struct { func (x *GetOperationsRequest) Reset() { *x = GetOperationsRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[449] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[450] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29805,7 +29908,7 @@ func (x *GetOperationsRequest) String() string { func (*GetOperationsRequest) ProtoMessage() {} func (x *GetOperationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[449] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[450] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29818,7 +29921,7 @@ func (x *GetOperationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetOperationsRequest.ProtoReflect.Descriptor instead. func (*GetOperationsRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{449} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{450} } func (x *GetOperationsRequest) GetFederatedGraphName() string { @@ -29930,7 +30033,7 @@ type GetOperationsResponse struct { func (x *GetOperationsResponse) Reset() { *x = GetOperationsResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[450] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[451] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29942,7 +30045,7 @@ func (x *GetOperationsResponse) String() string { func (*GetOperationsResponse) ProtoMessage() {} func (x *GetOperationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[450] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[451] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29955,7 +30058,7 @@ func (x *GetOperationsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetOperationsResponse.ProtoReflect.Descriptor instead. func (*GetOperationsResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{450} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{451} } func (x *GetOperationsResponse) GetResponse() *Response { @@ -29989,7 +30092,7 @@ type GetClientsFromAnalyticsRequest struct { func (x *GetClientsFromAnalyticsRequest) Reset() { *x = GetClientsFromAnalyticsRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[451] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[452] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30001,7 +30104,7 @@ func (x *GetClientsFromAnalyticsRequest) String() string { func (*GetClientsFromAnalyticsRequest) ProtoMessage() {} func (x *GetClientsFromAnalyticsRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[451] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[452] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30014,7 +30117,7 @@ func (x *GetClientsFromAnalyticsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetClientsFromAnalyticsRequest.ProtoReflect.Descriptor instead. func (*GetClientsFromAnalyticsRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{451} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{452} } func (x *GetClientsFromAnalyticsRequest) GetFederatedGraphName() string { @@ -30041,7 +30144,7 @@ type GetClientsFromAnalyticsResponse struct { func (x *GetClientsFromAnalyticsResponse) Reset() { *x = GetClientsFromAnalyticsResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[452] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[453] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30053,7 +30156,7 @@ func (x *GetClientsFromAnalyticsResponse) String() string { func (*GetClientsFromAnalyticsResponse) ProtoMessage() {} func (x *GetClientsFromAnalyticsResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[452] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[453] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30066,7 +30169,7 @@ func (x *GetClientsFromAnalyticsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetClientsFromAnalyticsResponse.ProtoReflect.Descriptor instead. func (*GetClientsFromAnalyticsResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{452} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{453} } func (x *GetClientsFromAnalyticsResponse) GetResponse() *Response { @@ -30097,7 +30200,7 @@ type GetOperationClientsRequest struct { func (x *GetOperationClientsRequest) Reset() { *x = GetOperationClientsRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[453] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[454] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30109,7 +30212,7 @@ func (x *GetOperationClientsRequest) String() string { func (*GetOperationClientsRequest) ProtoMessage() {} func (x *GetOperationClientsRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[453] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[454] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30122,7 +30225,7 @@ func (x *GetOperationClientsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetOperationClientsRequest.ProtoReflect.Descriptor instead. func (*GetOperationClientsRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{453} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{454} } func (x *GetOperationClientsRequest) GetFederatedGraphName() string { @@ -30177,7 +30280,7 @@ type GetOperationClientsResponse struct { func (x *GetOperationClientsResponse) Reset() { *x = GetOperationClientsResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[454] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[455] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30189,7 +30292,7 @@ func (x *GetOperationClientsResponse) String() string { func (*GetOperationClientsResponse) ProtoMessage() {} func (x *GetOperationClientsResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[454] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[455] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30202,7 +30305,7 @@ func (x *GetOperationClientsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetOperationClientsResponse.ProtoReflect.Descriptor instead. func (*GetOperationClientsResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{454} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{455} } func (x *GetOperationClientsResponse) GetResponse() *Response { @@ -30233,7 +30336,7 @@ type GetOperationDeprecatedFieldsRequest struct { func (x *GetOperationDeprecatedFieldsRequest) Reset() { *x = GetOperationDeprecatedFieldsRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[455] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[456] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30245,7 +30348,7 @@ func (x *GetOperationDeprecatedFieldsRequest) String() string { func (*GetOperationDeprecatedFieldsRequest) ProtoMessage() {} func (x *GetOperationDeprecatedFieldsRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[455] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[456] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30258,7 +30361,7 @@ func (x *GetOperationDeprecatedFieldsRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use GetOperationDeprecatedFieldsRequest.ProtoReflect.Descriptor instead. func (*GetOperationDeprecatedFieldsRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{455} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{456} } func (x *GetOperationDeprecatedFieldsRequest) GetFederatedGraphName() string { @@ -30313,7 +30416,7 @@ type GetOperationDeprecatedFieldsResponse struct { func (x *GetOperationDeprecatedFieldsResponse) Reset() { *x = GetOperationDeprecatedFieldsResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[456] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[457] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30325,7 +30428,7 @@ func (x *GetOperationDeprecatedFieldsResponse) String() string { func (*GetOperationDeprecatedFieldsResponse) ProtoMessage() {} func (x *GetOperationDeprecatedFieldsResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[456] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[457] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30338,7 +30441,7 @@ func (x *GetOperationDeprecatedFieldsResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use GetOperationDeprecatedFieldsResponse.ProtoReflect.Descriptor instead. func (*GetOperationDeprecatedFieldsResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{456} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{457} } func (x *GetOperationDeprecatedFieldsResponse) GetResponse() *Response { @@ -30366,7 +30469,7 @@ type ValidateAndFetchPluginDataRequest struct { func (x *ValidateAndFetchPluginDataRequest) Reset() { *x = ValidateAndFetchPluginDataRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[457] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[458] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30378,7 +30481,7 @@ func (x *ValidateAndFetchPluginDataRequest) String() string { func (*ValidateAndFetchPluginDataRequest) ProtoMessage() {} func (x *ValidateAndFetchPluginDataRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[457] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[458] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30391,7 +30494,7 @@ func (x *ValidateAndFetchPluginDataRequest) ProtoReflect() protoreflect.Message // Deprecated: Use ValidateAndFetchPluginDataRequest.ProtoReflect.Descriptor instead. func (*ValidateAndFetchPluginDataRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{457} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{458} } func (x *ValidateAndFetchPluginDataRequest) GetName() string { @@ -30427,7 +30530,7 @@ type ValidateAndFetchPluginDataResponse struct { func (x *ValidateAndFetchPluginDataResponse) Reset() { *x = ValidateAndFetchPluginDataResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[458] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[459] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30439,7 +30542,7 @@ func (x *ValidateAndFetchPluginDataResponse) String() string { func (*ValidateAndFetchPluginDataResponse) ProtoMessage() {} func (x *ValidateAndFetchPluginDataResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[458] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[459] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30452,7 +30555,7 @@ func (x *ValidateAndFetchPluginDataResponse) ProtoReflect() protoreflect.Message // Deprecated: Use ValidateAndFetchPluginDataResponse.ProtoReflect.Descriptor instead. func (*ValidateAndFetchPluginDataResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{458} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{459} } func (x *ValidateAndFetchPluginDataResponse) GetResponse() *Response { @@ -30495,7 +30598,7 @@ type LinkSubgraphRequest struct { func (x *LinkSubgraphRequest) Reset() { *x = LinkSubgraphRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[459] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[460] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30507,7 +30610,7 @@ func (x *LinkSubgraphRequest) String() string { func (*LinkSubgraphRequest) ProtoMessage() {} func (x *LinkSubgraphRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[459] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[460] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30520,7 +30623,7 @@ func (x *LinkSubgraphRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use LinkSubgraphRequest.ProtoReflect.Descriptor instead. func (*LinkSubgraphRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{459} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{460} } func (x *LinkSubgraphRequest) GetSourceSubgraphName() string { @@ -30560,7 +30663,7 @@ type LinkSubgraphResponse struct { func (x *LinkSubgraphResponse) Reset() { *x = LinkSubgraphResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[460] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[461] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30572,7 +30675,7 @@ func (x *LinkSubgraphResponse) String() string { func (*LinkSubgraphResponse) ProtoMessage() {} func (x *LinkSubgraphResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[460] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[461] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30585,7 +30688,7 @@ func (x *LinkSubgraphResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use LinkSubgraphResponse.ProtoReflect.Descriptor instead. func (*LinkSubgraphResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{460} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{461} } func (x *LinkSubgraphResponse) GetResponse() *Response { @@ -30605,7 +30708,7 @@ type UnlinkSubgraphRequest struct { func (x *UnlinkSubgraphRequest) Reset() { *x = UnlinkSubgraphRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[461] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[462] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30617,7 +30720,7 @@ func (x *UnlinkSubgraphRequest) String() string { func (*UnlinkSubgraphRequest) ProtoMessage() {} func (x *UnlinkSubgraphRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[461] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[462] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30630,7 +30733,7 @@ func (x *UnlinkSubgraphRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UnlinkSubgraphRequest.ProtoReflect.Descriptor instead. func (*UnlinkSubgraphRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{461} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{462} } func (x *UnlinkSubgraphRequest) GetSourceSubgraphName() string { @@ -30656,7 +30759,7 @@ type UnlinkSubgraphResponse struct { func (x *UnlinkSubgraphResponse) Reset() { *x = UnlinkSubgraphResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[462] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[463] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30668,7 +30771,7 @@ func (x *UnlinkSubgraphResponse) String() string { func (*UnlinkSubgraphResponse) ProtoMessage() {} func (x *UnlinkSubgraphResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[462] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[463] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30681,7 +30784,7 @@ func (x *UnlinkSubgraphResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UnlinkSubgraphResponse.ProtoReflect.Descriptor instead. func (*UnlinkSubgraphResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{462} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{463} } func (x *UnlinkSubgraphResponse) GetResponse() *Response { @@ -30700,7 +30803,7 @@ type VerifyAPIKeyGraphAccessRequest struct { func (x *VerifyAPIKeyGraphAccessRequest) Reset() { *x = VerifyAPIKeyGraphAccessRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[463] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[464] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30712,7 +30815,7 @@ func (x *VerifyAPIKeyGraphAccessRequest) String() string { func (*VerifyAPIKeyGraphAccessRequest) ProtoMessage() {} func (x *VerifyAPIKeyGraphAccessRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[463] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[464] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30725,7 +30828,7 @@ func (x *VerifyAPIKeyGraphAccessRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use VerifyAPIKeyGraphAccessRequest.ProtoReflect.Descriptor instead. func (*VerifyAPIKeyGraphAccessRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{463} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{464} } func (x *VerifyAPIKeyGraphAccessRequest) GetFederatedGraphId() string { @@ -30746,7 +30849,7 @@ type VerifyAPIKeyGraphAccessResponse struct { func (x *VerifyAPIKeyGraphAccessResponse) Reset() { *x = VerifyAPIKeyGraphAccessResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[464] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[465] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30758,7 +30861,7 @@ func (x *VerifyAPIKeyGraphAccessResponse) String() string { func (*VerifyAPIKeyGraphAccessResponse) ProtoMessage() {} func (x *VerifyAPIKeyGraphAccessResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[464] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[465] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30771,7 +30874,7 @@ func (x *VerifyAPIKeyGraphAccessResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use VerifyAPIKeyGraphAccessResponse.ProtoReflect.Descriptor instead. func (*VerifyAPIKeyGraphAccessResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{464} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{465} } func (x *VerifyAPIKeyGraphAccessResponse) GetResponse() *Response { @@ -30804,7 +30907,7 @@ type InitializeCosmoUserRequest struct { func (x *InitializeCosmoUserRequest) Reset() { *x = InitializeCosmoUserRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[465] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[466] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30816,7 +30919,7 @@ func (x *InitializeCosmoUserRequest) String() string { func (*InitializeCosmoUserRequest) ProtoMessage() {} func (x *InitializeCosmoUserRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[465] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[466] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30829,7 +30932,7 @@ func (x *InitializeCosmoUserRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InitializeCosmoUserRequest.ProtoReflect.Descriptor instead. func (*InitializeCosmoUserRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{465} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{466} } func (x *InitializeCosmoUserRequest) GetToken() string { @@ -30848,7 +30951,7 @@ type InitializeCosmoUserResponse struct { func (x *InitializeCosmoUserResponse) Reset() { *x = InitializeCosmoUserResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[466] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[467] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30860,7 +30963,7 @@ func (x *InitializeCosmoUserResponse) String() string { func (*InitializeCosmoUserResponse) ProtoMessage() {} func (x *InitializeCosmoUserResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[466] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[467] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30873,7 +30976,7 @@ func (x *InitializeCosmoUserResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use InitializeCosmoUserResponse.ProtoReflect.Descriptor instead. func (*InitializeCosmoUserResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{466} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{467} } func (x *InitializeCosmoUserResponse) GetResponse() *Response { @@ -30891,7 +30994,7 @@ type ListOrganizationsRequest struct { func (x *ListOrganizationsRequest) Reset() { *x = ListOrganizationsRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[467] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[468] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30903,7 +31006,7 @@ func (x *ListOrganizationsRequest) String() string { func (*ListOrganizationsRequest) ProtoMessage() {} func (x *ListOrganizationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[467] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[468] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30916,7 +31019,7 @@ func (x *ListOrganizationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOrganizationsRequest.ProtoReflect.Descriptor instead. func (*ListOrganizationsRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{467} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{468} } type ListOrganizationsResponse struct { @@ -30929,7 +31032,7 @@ type ListOrganizationsResponse struct { func (x *ListOrganizationsResponse) Reset() { *x = ListOrganizationsResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[468] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[469] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30941,7 +31044,7 @@ func (x *ListOrganizationsResponse) String() string { func (*ListOrganizationsResponse) ProtoMessage() {} func (x *ListOrganizationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[468] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[469] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30954,7 +31057,7 @@ func (x *ListOrganizationsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOrganizationsResponse.ProtoReflect.Descriptor instead. func (*ListOrganizationsResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{468} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{469} } func (x *ListOrganizationsResponse) GetResponse() *Response { @@ -30984,7 +31087,7 @@ type RecomposeGraphRequest struct { func (x *RecomposeGraphRequest) Reset() { *x = RecomposeGraphRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[469] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[470] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30996,7 +31099,7 @@ func (x *RecomposeGraphRequest) String() string { func (*RecomposeGraphRequest) ProtoMessage() {} func (x *RecomposeGraphRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[469] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[470] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31009,7 +31112,7 @@ func (x *RecomposeGraphRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RecomposeGraphRequest.ProtoReflect.Descriptor instead. func (*RecomposeGraphRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{469} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{470} } func (x *RecomposeGraphRequest) GetName() string { @@ -31060,7 +31163,7 @@ type RecomposeGraphResponse struct { func (x *RecomposeGraphResponse) Reset() { *x = RecomposeGraphResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[470] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[471] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31072,7 +31175,7 @@ func (x *RecomposeGraphResponse) String() string { func (*RecomposeGraphResponse) ProtoMessage() {} func (x *RecomposeGraphResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[470] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[471] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31085,7 +31188,7 @@ func (x *RecomposeGraphResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RecomposeGraphResponse.ProtoReflect.Descriptor instead. func (*RecomposeGraphResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{470} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{471} } func (x *RecomposeGraphResponse) GetResponse() *Response { @@ -31135,7 +31238,7 @@ type RecomposeFeatureFlagRequest struct { func (x *RecomposeFeatureFlagRequest) Reset() { *x = RecomposeFeatureFlagRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[471] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[472] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31147,7 +31250,7 @@ func (x *RecomposeFeatureFlagRequest) String() string { func (*RecomposeFeatureFlagRequest) ProtoMessage() {} func (x *RecomposeFeatureFlagRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[471] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[472] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31160,7 +31263,7 @@ func (x *RecomposeFeatureFlagRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RecomposeFeatureFlagRequest.ProtoReflect.Descriptor instead. func (*RecomposeFeatureFlagRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{471} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{472} } func (x *RecomposeFeatureFlagRequest) GetName() string { @@ -31204,7 +31307,7 @@ type RecomposeFeatureFlagResponse struct { func (x *RecomposeFeatureFlagResponse) Reset() { *x = RecomposeFeatureFlagResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[472] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[473] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31216,7 +31319,7 @@ func (x *RecomposeFeatureFlagResponse) String() string { func (*RecomposeFeatureFlagResponse) ProtoMessage() {} func (x *RecomposeFeatureFlagResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[472] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[473] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31229,7 +31332,7 @@ func (x *RecomposeFeatureFlagResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RecomposeFeatureFlagResponse.ProtoReflect.Descriptor instead. func (*RecomposeFeatureFlagResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{472} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{473} } func (x *RecomposeFeatureFlagResponse) GetResponse() *Response { @@ -31275,7 +31378,7 @@ type GetOnboardingRequest struct { func (x *GetOnboardingRequest) Reset() { *x = GetOnboardingRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[473] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[474] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31287,7 +31390,7 @@ func (x *GetOnboardingRequest) String() string { func (*GetOnboardingRequest) ProtoMessage() {} func (x *GetOnboardingRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[473] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[474] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31300,7 +31403,7 @@ func (x *GetOnboardingRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetOnboardingRequest.ProtoReflect.Descriptor instead. func (*GetOnboardingRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{473} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{474} } type GetOnboardingResponse struct { @@ -31315,7 +31418,7 @@ type GetOnboardingResponse struct { func (x *GetOnboardingResponse) Reset() { *x = GetOnboardingResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[474] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[475] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31327,7 +31430,7 @@ func (x *GetOnboardingResponse) String() string { func (*GetOnboardingResponse) ProtoMessage() {} func (x *GetOnboardingResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[474] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[475] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31340,7 +31443,7 @@ func (x *GetOnboardingResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetOnboardingResponse.ProtoReflect.Descriptor instead. func (*GetOnboardingResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{474} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{475} } func (x *GetOnboardingResponse) GetResponse() *Response { @@ -31379,7 +31482,7 @@ type CreateOnboardingRequest struct { func (x *CreateOnboardingRequest) Reset() { *x = CreateOnboardingRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[475] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[476] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31391,7 +31494,7 @@ func (x *CreateOnboardingRequest) String() string { func (*CreateOnboardingRequest) ProtoMessage() {} func (x *CreateOnboardingRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[475] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[476] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31404,7 +31507,7 @@ func (x *CreateOnboardingRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateOnboardingRequest.ProtoReflect.Descriptor instead. func (*CreateOnboardingRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{475} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{476} } type CreateOnboardingResponse struct { @@ -31418,7 +31521,7 @@ type CreateOnboardingResponse struct { func (x *CreateOnboardingResponse) Reset() { *x = CreateOnboardingResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[476] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[477] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31430,7 +31533,7 @@ func (x *CreateOnboardingResponse) String() string { func (*CreateOnboardingResponse) ProtoMessage() {} func (x *CreateOnboardingResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[476] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[477] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31443,7 +31546,7 @@ func (x *CreateOnboardingResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateOnboardingResponse.ProtoReflect.Descriptor instead. func (*CreateOnboardingResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{476} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{477} } func (x *CreateOnboardingResponse) GetResponse() *Response { @@ -31475,7 +31578,7 @@ type FinishOnboardingRequest struct { func (x *FinishOnboardingRequest) Reset() { *x = FinishOnboardingRequest{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[477] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[478] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31487,7 +31590,7 @@ func (x *FinishOnboardingRequest) String() string { func (*FinishOnboardingRequest) ProtoMessage() {} func (x *FinishOnboardingRequest) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[477] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[478] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31500,7 +31603,7 @@ func (x *FinishOnboardingRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FinishOnboardingRequest.ProtoReflect.Descriptor instead. func (*FinishOnboardingRequest) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{477} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{478} } type FinishOnboardingResponse struct { @@ -31514,7 +31617,7 @@ type FinishOnboardingResponse struct { func (x *FinishOnboardingResponse) Reset() { *x = FinishOnboardingResponse{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[478] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[479] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31526,7 +31629,7 @@ func (x *FinishOnboardingResponse) String() string { func (*FinishOnboardingResponse) ProtoMessage() {} func (x *FinishOnboardingResponse) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[478] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[479] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31539,7 +31642,7 @@ func (x *FinishOnboardingResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FinishOnboardingResponse.ProtoReflect.Descriptor instead. func (*FinishOnboardingResponse) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{478} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{479} } func (x *FinishOnboardingResponse) GetResponse() *Response { @@ -31573,7 +31676,7 @@ type Subgraph_PluginData struct { func (x *Subgraph_PluginData) Reset() { *x = Subgraph_PluginData{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[479] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[480] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31585,7 +31688,7 @@ func (x *Subgraph_PluginData) String() string { func (*Subgraph_PluginData) ProtoMessage() {} func (x *Subgraph_PluginData) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[479] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[480] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31626,7 +31729,7 @@ type GetSubgraphByNameResponse_LinkedSubgraph struct { func (x *GetSubgraphByNameResponse_LinkedSubgraph) Reset() { *x = GetSubgraphByNameResponse_LinkedSubgraph{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[480] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[481] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31638,7 +31741,7 @@ func (x *GetSubgraphByNameResponse_LinkedSubgraph) String() string { func (*GetSubgraphByNameResponse_LinkedSubgraph) ProtoMessage() {} func (x *GetSubgraphByNameResponse_LinkedSubgraph) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[480] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[481] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31686,7 +31789,7 @@ type SchemaCheck_GhDetails struct { func (x *SchemaCheck_GhDetails) Reset() { *x = SchemaCheck_GhDetails{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[481] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[482] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31698,7 +31801,7 @@ func (x *SchemaCheck_GhDetails) String() string { func (*SchemaCheck_GhDetails) ProtoMessage() {} func (x *SchemaCheck_GhDetails) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[481] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[482] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31751,7 +31854,7 @@ type SchemaCheck_CheckedSubgraph struct { func (x *SchemaCheck_CheckedSubgraph) Reset() { *x = SchemaCheck_CheckedSubgraph{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[482] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[483] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31763,7 +31866,7 @@ func (x *SchemaCheck_CheckedSubgraph) String() string { func (*SchemaCheck_CheckedSubgraph) ProtoMessage() {} func (x *SchemaCheck_CheckedSubgraph) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[482] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[483] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31839,7 +31942,7 @@ type SchemaCheck_LinkedCheck struct { func (x *SchemaCheck_LinkedCheck) Reset() { *x = SchemaCheck_LinkedCheck{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[483] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[484] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31851,7 +31954,7 @@ func (x *SchemaCheck_LinkedCheck) String() string { func (*SchemaCheck_LinkedCheck) ProtoMessage() {} func (x *SchemaCheck_LinkedCheck) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[483] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[484] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31954,7 +32057,7 @@ type GetCheckSummaryResponse_AffectedGraph struct { func (x *GetCheckSummaryResponse_AffectedGraph) Reset() { *x = GetCheckSummaryResponse_AffectedGraph{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[484] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[485] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31966,7 +32069,7 @@ func (x *GetCheckSummaryResponse_AffectedGraph) String() string { func (*GetCheckSummaryResponse_AffectedGraph) ProtoMessage() {} func (x *GetCheckSummaryResponse_AffectedGraph) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[484] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[485] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32056,7 +32159,7 @@ type GetCheckSummaryResponse_ProposalSchemaMatch struct { func (x *GetCheckSummaryResponse_ProposalSchemaMatch) Reset() { *x = GetCheckSummaryResponse_ProposalSchemaMatch{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[485] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[486] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32068,7 +32171,7 @@ func (x *GetCheckSummaryResponse_ProposalSchemaMatch) String() string { func (*GetCheckSummaryResponse_ProposalSchemaMatch) ProtoMessage() {} func (x *GetCheckSummaryResponse_ProposalSchemaMatch) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[485] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[486] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32121,7 +32224,7 @@ type GetCheckOperationsResponse_CheckOperation struct { func (x *GetCheckOperationsResponse_CheckOperation) Reset() { *x = GetCheckOperationsResponse_CheckOperation{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[486] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[487] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32133,7 +32236,7 @@ func (x *GetCheckOperationsResponse_CheckOperation) String() string { func (*GetCheckOperationsResponse_CheckOperation) ProtoMessage() {} func (x *GetCheckOperationsResponse_CheckOperation) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[486] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[487] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32216,7 +32319,7 @@ type GetOrganizationGroupMembersResponse_GroupMember struct { func (x *GetOrganizationGroupMembersResponse_GroupMember) Reset() { *x = GetOrganizationGroupMembersResponse_GroupMember{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[488] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[489] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32228,7 +32331,7 @@ func (x *GetOrganizationGroupMembersResponse_GroupMember) String() string { func (*GetOrganizationGroupMembersResponse_GroupMember) ProtoMessage() {} func (x *GetOrganizationGroupMembersResponse_GroupMember) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[488] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[489] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32276,7 +32379,7 @@ type GetOrganizationGroupMembersResponse_GroupApiKey struct { func (x *GetOrganizationGroupMembersResponse_GroupApiKey) Reset() { *x = GetOrganizationGroupMembersResponse_GroupApiKey{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[489] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[490] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32288,7 +32391,7 @@ func (x *GetOrganizationGroupMembersResponse_GroupApiKey) String() string { func (*GetOrganizationGroupMembersResponse_GroupApiKey) ProtoMessage() {} func (x *GetOrganizationGroupMembersResponse_GroupApiKey) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[489] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[490] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32336,7 +32439,7 @@ type UpdateOrganizationGroupRequest_GroupRule struct { func (x *UpdateOrganizationGroupRequest_GroupRule) Reset() { *x = UpdateOrganizationGroupRequest_GroupRule{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[490] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[491] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32348,7 +32451,7 @@ func (x *UpdateOrganizationGroupRequest_GroupRule) String() string { func (*UpdateOrganizationGroupRequest_GroupRule) ProtoMessage() {} func (x *UpdateOrganizationGroupRequest_GroupRule) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[490] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[491] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32395,7 +32498,7 @@ type OrgMember_Group struct { func (x *OrgMember_Group) Reset() { *x = OrgMember_Group{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[491] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[492] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32407,7 +32510,7 @@ func (x *OrgMember_Group) String() string { func (*OrgMember_Group) ProtoMessage() {} func (x *OrgMember_Group) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[491] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[492] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32447,7 +32550,7 @@ type APIKey_Group struct { func (x *APIKey_Group) Reset() { *x = APIKey_Group{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[492] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[493] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32459,7 +32562,7 @@ func (x *APIKey_Group) String() string { func (*APIKey_Group) ProtoMessage() {} func (x *APIKey_Group) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[492] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[493] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32501,7 +32604,7 @@ type DeletePersistedOperationResponse_Operation struct { func (x *DeletePersistedOperationResponse_Operation) Reset() { *x = DeletePersistedOperationResponse_Operation{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[494] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[495] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32513,7 +32616,7 @@ func (x *DeletePersistedOperationResponse_Operation) String() string { func (*DeletePersistedOperationResponse_Operation) ProtoMessage() {} func (x *DeletePersistedOperationResponse_Operation) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[494] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[495] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32570,7 +32673,7 @@ type CheckPersistedOperationTrafficResponse_Operation struct { func (x *CheckPersistedOperationTrafficResponse_Operation) Reset() { *x = CheckPersistedOperationTrafficResponse_Operation{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[495] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[496] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32582,7 +32685,7 @@ func (x *CheckPersistedOperationTrafficResponse_Operation) String() string { func (*CheckPersistedOperationTrafficResponse_Operation) ProtoMessage() {} func (x *CheckPersistedOperationTrafficResponse_Operation) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[495] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[496] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32646,7 +32749,7 @@ type GetPersistedOperationsResponse_Operation struct { func (x *GetPersistedOperationsResponse_Operation) Reset() { *x = GetPersistedOperationsResponse_Operation{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[496] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[497] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32658,7 +32761,7 @@ func (x *GetPersistedOperationsResponse_Operation) String() string { func (*GetPersistedOperationsResponse_Operation) ProtoMessage() {} func (x *GetPersistedOperationsResponse_Operation) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[496] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[497] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32720,7 +32823,7 @@ type GetOrganizationWebhookConfigsResponse_Config struct { func (x *GetOrganizationWebhookConfigsResponse_Config) Reset() { *x = GetOrganizationWebhookConfigsResponse_Config{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[497] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[498] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32732,7 +32835,7 @@ func (x *GetOrganizationWebhookConfigsResponse_Config) String() string { func (*GetOrganizationWebhookConfigsResponse_Config) ProtoMessage() {} func (x *GetOrganizationWebhookConfigsResponse_Config) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[497] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[498] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32780,7 +32883,7 @@ type GetBillingPlansResponse_BillingPlanFeature struct { func (x *GetBillingPlansResponse_BillingPlanFeature) Reset() { *x = GetBillingPlansResponse_BillingPlanFeature{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[498] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[499] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32792,7 +32895,7 @@ func (x *GetBillingPlansResponse_BillingPlanFeature) String() string { func (*GetBillingPlansResponse_BillingPlanFeature) ProtoMessage() {} func (x *GetBillingPlansResponse_BillingPlanFeature) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[498] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[499] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32841,7 +32944,7 @@ type GetBillingPlansResponse_BillingPlan struct { func (x *GetBillingPlansResponse_BillingPlan) Reset() { *x = GetBillingPlansResponse_BillingPlan{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[499] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[500] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32853,7 +32956,7 @@ func (x *GetBillingPlansResponse_BillingPlan) String() string { func (*GetBillingPlansResponse_BillingPlan) ProtoMessage() {} func (x *GetBillingPlansResponse_BillingPlan) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[499] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[500] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32910,7 +33013,7 @@ type GetAllOverridesResponse_Override struct { func (x *GetAllOverridesResponse_Override) Reset() { *x = GetAllOverridesResponse_Override{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[500] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[501] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32922,7 +33025,7 @@ func (x *GetAllOverridesResponse_Override) String() string { func (*GetAllOverridesResponse_Override) ProtoMessage() {} func (x *GetAllOverridesResponse_Override) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[500] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[501] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32983,7 +33086,7 @@ type GetUserAccessibleResourcesResponse_Namespace struct { func (x *GetUserAccessibleResourcesResponse_Namespace) Reset() { *x = GetUserAccessibleResourcesResponse_Namespace{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[501] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[502] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32995,7 +33098,7 @@ func (x *GetUserAccessibleResourcesResponse_Namespace) String() string { func (*GetUserAccessibleResourcesResponse_Namespace) ProtoMessage() {} func (x *GetUserAccessibleResourcesResponse_Namespace) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[501] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[502] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33036,7 +33139,7 @@ type GetUserAccessibleResourcesResponse_FederatedGraph struct { func (x *GetUserAccessibleResourcesResponse_FederatedGraph) Reset() { *x = GetUserAccessibleResourcesResponse_FederatedGraph{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[502] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[503] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33048,7 +33151,7 @@ func (x *GetUserAccessibleResourcesResponse_FederatedGraph) String() string { func (*GetUserAccessibleResourcesResponse_FederatedGraph) ProtoMessage() {} func (x *GetUserAccessibleResourcesResponse_FederatedGraph) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[502] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[503] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33097,7 +33200,7 @@ type GetUserAccessibleResourcesResponse_SubGraph struct { func (x *GetUserAccessibleResourcesResponse_SubGraph) Reset() { *x = GetUserAccessibleResourcesResponse_SubGraph{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[503] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[504] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33109,7 +33212,7 @@ func (x *GetUserAccessibleResourcesResponse_SubGraph) String() string { func (*GetUserAccessibleResourcesResponse_SubGraph) ProtoMessage() {} func (x *GetUserAccessibleResourcesResponse_SubGraph) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[503] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[504] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33164,7 +33267,7 @@ type DeleteClientResponse_Operation struct { func (x *DeleteClientResponse_Operation) Reset() { *x = DeleteClientResponse_Operation{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[504] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[505] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33176,7 +33279,7 @@ func (x *DeleteClientResponse_Operation) String() string { func (*DeleteClientResponse_Operation) ProtoMessage() {} func (x *DeleteClientResponse_Operation) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[504] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[505] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33224,7 +33327,7 @@ type ClientWithOperations_Operation struct { func (x *ClientWithOperations_Operation) Reset() { *x = ClientWithOperations_Operation{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[505] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[506] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33236,7 +33339,7 @@ func (x *ClientWithOperations_Operation) String() string { func (*ClientWithOperations_Operation) ProtoMessage() {} func (x *ClientWithOperations_Operation) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[505] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[506] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33283,7 +33386,7 @@ type GetFeatureFlagByNameResponse_FfFederatedGraph struct { func (x *GetFeatureFlagByNameResponse_FfFederatedGraph) Reset() { *x = GetFeatureFlagByNameResponse_FfFederatedGraph{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[506] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[507] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33295,7 +33398,7 @@ func (x *GetFeatureFlagByNameResponse_FfFederatedGraph) String() string { func (*GetFeatureFlagByNameResponse_FfFederatedGraph) ProtoMessage() {} func (x *GetFeatureFlagByNameResponse_FfFederatedGraph) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[506] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[507] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33335,7 +33438,7 @@ type GetProposalResponse_CurrentSubgraph struct { func (x *GetProposalResponse_CurrentSubgraph) Reset() { *x = GetProposalResponse_CurrentSubgraph{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[507] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[508] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33347,7 +33450,7 @@ func (x *GetProposalResponse_CurrentSubgraph) String() string { func (*GetProposalResponse_CurrentSubgraph) ProtoMessage() {} func (x *GetProposalResponse_CurrentSubgraph) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[507] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[508] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33360,7 +33463,7 @@ func (x *GetProposalResponse_CurrentSubgraph) ProtoReflect() protoreflect.Messag // Deprecated: Use GetProposalResponse_CurrentSubgraph.ProtoReflect.Descriptor instead. func (*GetProposalResponse_CurrentSubgraph) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{426, 0} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{427, 0} } func (x *GetProposalResponse_CurrentSubgraph) GetName() string { @@ -33386,7 +33489,7 @@ type UpdateProposalRequest_UpdateProposalSubgraphs struct { func (x *UpdateProposalRequest_UpdateProposalSubgraphs) Reset() { *x = UpdateProposalRequest_UpdateProposalSubgraphs{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[508] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[509] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33398,7 +33501,7 @@ func (x *UpdateProposalRequest_UpdateProposalSubgraphs) String() string { func (*UpdateProposalRequest_UpdateProposalSubgraphs) ProtoMessage() {} func (x *UpdateProposalRequest_UpdateProposalSubgraphs) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[508] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[509] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33411,7 +33514,7 @@ func (x *UpdateProposalRequest_UpdateProposalSubgraphs) ProtoReflect() protorefl // Deprecated: Use UpdateProposalRequest_UpdateProposalSubgraphs.ProtoReflect.Descriptor instead. func (*UpdateProposalRequest_UpdateProposalSubgraphs) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{431, 0} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{432, 0} } func (x *UpdateProposalRequest_UpdateProposalSubgraphs) GetSubgraphs() []*ProposalSubgraph { @@ -33440,7 +33543,7 @@ type GetOperationsResponse_Operation struct { func (x *GetOperationsResponse_Operation) Reset() { *x = GetOperationsResponse_Operation{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[509] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[510] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33452,7 +33555,7 @@ func (x *GetOperationsResponse_Operation) String() string { func (*GetOperationsResponse_Operation) ProtoMessage() {} func (x *GetOperationsResponse_Operation) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[509] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[510] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33465,7 +33568,7 @@ func (x *GetOperationsResponse_Operation) ProtoReflect() protoreflect.Message { // Deprecated: Use GetOperationsResponse_Operation.ProtoReflect.Descriptor instead. func (*GetOperationsResponse_Operation) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{450, 0} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{451, 0} } func (x *GetOperationsResponse_Operation) GetHash() string { @@ -33568,7 +33671,7 @@ type GetClientsFromAnalyticsResponse_Client struct { func (x *GetClientsFromAnalyticsResponse_Client) Reset() { *x = GetClientsFromAnalyticsResponse_Client{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[510] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[511] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33580,7 +33683,7 @@ func (x *GetClientsFromAnalyticsResponse_Client) String() string { func (*GetClientsFromAnalyticsResponse_Client) ProtoMessage() {} func (x *GetClientsFromAnalyticsResponse_Client) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[510] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[511] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33593,7 +33696,7 @@ func (x *GetClientsFromAnalyticsResponse_Client) ProtoReflect() protoreflect.Mes // Deprecated: Use GetClientsFromAnalyticsResponse_Client.ProtoReflect.Descriptor instead. func (*GetClientsFromAnalyticsResponse_Client) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{452, 0} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{453, 0} } func (x *GetClientsFromAnalyticsResponse_Client) GetName() string { @@ -33615,7 +33718,7 @@ type GetOperationClientsResponse_Client struct { func (x *GetOperationClientsResponse_Client) Reset() { *x = GetOperationClientsResponse_Client{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[511] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[512] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33627,7 +33730,7 @@ func (x *GetOperationClientsResponse_Client) String() string { func (*GetOperationClientsResponse_Client) ProtoMessage() {} func (x *GetOperationClientsResponse_Client) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[511] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[512] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33640,7 +33743,7 @@ func (x *GetOperationClientsResponse_Client) ProtoReflect() protoreflect.Message // Deprecated: Use GetOperationClientsResponse_Client.ProtoReflect.Descriptor instead. func (*GetOperationClientsResponse_Client) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{454, 0} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{455, 0} } func (x *GetOperationClientsResponse_Client) GetName() string { @@ -33683,7 +33786,7 @@ type GetOperationDeprecatedFieldsResponse_DeprecatedField struct { func (x *GetOperationDeprecatedFieldsResponse_DeprecatedField) Reset() { *x = GetOperationDeprecatedFieldsResponse_DeprecatedField{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[512] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[513] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33695,7 +33798,7 @@ func (x *GetOperationDeprecatedFieldsResponse_DeprecatedField) String() string { func (*GetOperationDeprecatedFieldsResponse_DeprecatedField) ProtoMessage() {} func (x *GetOperationDeprecatedFieldsResponse_DeprecatedField) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[512] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[513] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33708,7 +33811,7 @@ func (x *GetOperationDeprecatedFieldsResponse_DeprecatedField) ProtoReflect() pr // Deprecated: Use GetOperationDeprecatedFieldsResponse_DeprecatedField.ProtoReflect.Descriptor instead. func (*GetOperationDeprecatedFieldsResponse_DeprecatedField) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{456, 0} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{457, 0} } func (x *GetOperationDeprecatedFieldsResponse_DeprecatedField) GetFieldName() string { @@ -33751,7 +33854,7 @@ type ListOrganizationsResponse_OrganizationMembership struct { func (x *ListOrganizationsResponse_OrganizationMembership) Reset() { *x = ListOrganizationsResponse_OrganizationMembership{} - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[513] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[514] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33763,7 +33866,7 @@ func (x *ListOrganizationsResponse_OrganizationMembership) String() string { func (*ListOrganizationsResponse_OrganizationMembership) ProtoMessage() {} func (x *ListOrganizationsResponse_OrganizationMembership) ProtoReflect() protoreflect.Message { - mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[513] + mi := &file_wg_cosmo_platform_v1_platform_proto_msgTypes[514] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33776,7 +33879,7 @@ func (x *ListOrganizationsResponse_OrganizationMembership) ProtoReflect() protor // Deprecated: Use ListOrganizationsResponse_OrganizationMembership.ProtoReflect.Descriptor instead. func (*ListOrganizationsResponse_OrganizationMembership) Descriptor() ([]byte, []int) { - return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{468, 0} + return file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP(), []int{469, 0} } func (x *ListOrganizationsResponse_OrganizationMembership) GetId() string { @@ -36006,10 +36109,20 @@ const file_wg_cosmo_platform_v1_platform_proto_rawDesc = "" + "totalCount\"\x8b\x01\n" + "9GetFeatureFlagsInLatestCompositionByFederatedGraphRequest\x120\n" + "\x14federated_graph_name\x18\x01 \x01(\tR\x12federatedGraphName\x12\x1c\n" + - "\tnamespace\x18\x02 \x01(\tR\tnamespace\"\xc0\x01\n" + + "\tnamespace\x18\x02 \x01(\tR\tnamespace\"\x83\x02\n" + + " FeatureSubgraphInFlagComposition\x12&\n" + + "\x0ffeature_flag_id\x18\x01 \x01(\tR\rfeatureFlagId\x12\x0e\n" + + "\x02id\x18\x02 \x01(\tR\x02id\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\x12\x1b\n" + + "\ttarget_id\x18\x04 \x01(\tR\btargetId\x12*\n" + + "\x11schema_version_id\x18\x05 \x01(\tR\x0fschemaVersionId\x12\x1f\n" + + "\vrouting_url\x18\x06 \x01(\tR\n" + + "routingUrl\x12)\n" + + "\x10subscription_url\x18\a \x01(\tR\x0fsubscriptionUrl\"\xa5\x02\n" + ":GetFeatureFlagsInLatestCompositionByFederatedGraphResponse\x12:\n" + "\bresponse\x18\x01 \x01(\v2\x1e.wg.cosmo.platform.v1.ResponseR\bresponse\x12F\n" + - "\rfeature_flags\x18\x02 \x03(\v2!.wg.cosmo.platform.v1.FeatureFlagR\ffeatureFlags\"\xcf\x01\n" + + "\rfeature_flags\x18\x02 \x03(\v2!.wg.cosmo.platform.v1.FeatureFlagR\ffeatureFlags\x12c\n" + + "\x11feature_subgraphs\x18\x03 \x03(\v26.wg.cosmo.platform.v1.FeatureSubgraphInFlagCompositionR\x10featureSubgraphs\"\xcf\x01\n" + "*GetFeatureSubgraphsByFederatedGraphRequest\x120\n" + "\x14federated_graph_name\x18\x01 \x01(\tR\x12federatedGraphName\x12\x1c\n" + "\tnamespace\x18\x02 \x01(\tR\tnamespace\x12\x14\n" + @@ -36952,7 +37065,7 @@ func file_wg_cosmo_platform_v1_platform_proto_rawDescGZIP() []byte { } var file_wg_cosmo_platform_v1_platform_proto_enumTypes = make([]protoimpl.EnumInfo, 18) -var file_wg_cosmo_platform_v1_platform_proto_msgTypes = make([]protoimpl.MessageInfo, 514) +var file_wg_cosmo_platform_v1_platform_proto_msgTypes = make([]protoimpl.MessageInfo, 515) var file_wg_cosmo_platform_v1_platform_proto_goTypes = []any{ (BatchPublishJobStatus)(0), // 0: wg.cosmo.platform.v1.BatchPublishJobStatus (LintSeverity)(0), // 1: wg.cosmo.platform.v1.LintSeverity @@ -37340,166 +37453,167 @@ var file_wg_cosmo_platform_v1_platform_proto_goTypes = []any{ (*GetFeatureFlagsByFederatedGraphRequest)(nil), // 383: wg.cosmo.platform.v1.GetFeatureFlagsByFederatedGraphRequest (*GetFeatureFlagsByFederatedGraphResponse)(nil), // 384: wg.cosmo.platform.v1.GetFeatureFlagsByFederatedGraphResponse (*GetFeatureFlagsInLatestCompositionByFederatedGraphRequest)(nil), // 385: wg.cosmo.platform.v1.GetFeatureFlagsInLatestCompositionByFederatedGraphRequest - (*GetFeatureFlagsInLatestCompositionByFederatedGraphResponse)(nil), // 386: wg.cosmo.platform.v1.GetFeatureFlagsInLatestCompositionByFederatedGraphResponse - (*GetFeatureSubgraphsByFederatedGraphRequest)(nil), // 387: wg.cosmo.platform.v1.GetFeatureSubgraphsByFederatedGraphRequest - (*GetFeatureSubgraphsByFederatedGraphResponse)(nil), // 388: wg.cosmo.platform.v1.GetFeatureSubgraphsByFederatedGraphResponse - (*GetOrganizationWebhookHistoryRequest)(nil), // 389: wg.cosmo.platform.v1.GetOrganizationWebhookHistoryRequest - (*WebhookDelivery)(nil), // 390: wg.cosmo.platform.v1.WebhookDelivery - (*GetOrganizationWebhookHistoryResponse)(nil), // 391: wg.cosmo.platform.v1.GetOrganizationWebhookHistoryResponse - (*RedeliverWebhookRequest)(nil), // 392: wg.cosmo.platform.v1.RedeliverWebhookRequest - (*RedeliverWebhookResponse)(nil), // 393: wg.cosmo.platform.v1.RedeliverWebhookResponse - (*GetWebhookDeliveryDetailsRequest)(nil), // 394: wg.cosmo.platform.v1.GetWebhookDeliveryDetailsRequest - (*GetWebhookDeliveryDetailsResponse)(nil), // 395: wg.cosmo.platform.v1.GetWebhookDeliveryDetailsResponse - (*CreatePlaygroundScriptRequest)(nil), // 396: wg.cosmo.platform.v1.CreatePlaygroundScriptRequest - (*CreatePlaygroundScriptResponse)(nil), // 397: wg.cosmo.platform.v1.CreatePlaygroundScriptResponse - (*DeletePlaygroundScriptRequest)(nil), // 398: wg.cosmo.platform.v1.DeletePlaygroundScriptRequest - (*DeletePlaygroundScriptResponse)(nil), // 399: wg.cosmo.platform.v1.DeletePlaygroundScriptResponse - (*UpdatePlaygroundScriptRequest)(nil), // 400: wg.cosmo.platform.v1.UpdatePlaygroundScriptRequest - (*UpdatePlaygroundScriptResponse)(nil), // 401: wg.cosmo.platform.v1.UpdatePlaygroundScriptResponse - (*GetPlaygroundScriptsRequest)(nil), // 402: wg.cosmo.platform.v1.GetPlaygroundScriptsRequest - (*PlaygroundScript)(nil), // 403: wg.cosmo.platform.v1.PlaygroundScript - (*GetPlaygroundScriptsResponse)(nil), // 404: wg.cosmo.platform.v1.GetPlaygroundScriptsResponse - (*GetFederatedGraphByIdRequest)(nil), // 405: wg.cosmo.platform.v1.GetFederatedGraphByIdRequest - (*GetFederatedGraphByIdResponse)(nil), // 406: wg.cosmo.platform.v1.GetFederatedGraphByIdResponse - (*GetSubgraphByIdRequest)(nil), // 407: wg.cosmo.platform.v1.GetSubgraphByIdRequest - (*GetSubgraphByIdResponse)(nil), // 408: wg.cosmo.platform.v1.GetSubgraphByIdResponse - (*GetNamespaceRequest)(nil), // 409: wg.cosmo.platform.v1.GetNamespaceRequest - (*GetNamespaceResponse)(nil), // 410: wg.cosmo.platform.v1.GetNamespaceResponse - (*WorkspaceNamespace)(nil), // 411: wg.cosmo.platform.v1.WorkspaceNamespace - (*WorkspaceFederatedGraph)(nil), // 412: wg.cosmo.platform.v1.WorkspaceFederatedGraph - (*WorkspaceSubgraph)(nil), // 413: wg.cosmo.platform.v1.WorkspaceSubgraph - (*GetWorkspaceRequest)(nil), // 414: wg.cosmo.platform.v1.GetWorkspaceRequest - (*GetWorkspaceResponse)(nil), // 415: wg.cosmo.platform.v1.GetWorkspaceResponse - (*PushCacheWarmerOperationRequest)(nil), // 416: wg.cosmo.platform.v1.PushCacheWarmerOperationRequest - (*PushCacheWarmerOperationResponse)(nil), // 417: wg.cosmo.platform.v1.PushCacheWarmerOperationResponse - (*GetCacheWarmerOperationsRequest)(nil), // 418: wg.cosmo.platform.v1.GetCacheWarmerOperationsRequest - (*CacheWarmerOperation)(nil), // 419: wg.cosmo.platform.v1.CacheWarmerOperation - (*GetCacheWarmerOperationsResponse)(nil), // 420: wg.cosmo.platform.v1.GetCacheWarmerOperationsResponse - (*ComputeCacheWarmerOperationsRequest)(nil), // 421: wg.cosmo.platform.v1.ComputeCacheWarmerOperationsRequest - (*ComputeCacheWarmerOperationsResponse)(nil), // 422: wg.cosmo.platform.v1.ComputeCacheWarmerOperationsResponse - (*ConfigureCacheWarmerRequest)(nil), // 423: wg.cosmo.platform.v1.ConfigureCacheWarmerRequest - (*ConfigureCacheWarmerResponse)(nil), // 424: wg.cosmo.platform.v1.ConfigureCacheWarmerResponse - (*GetCacheWarmerConfigRequest)(nil), // 425: wg.cosmo.platform.v1.GetCacheWarmerConfigRequest - (*GetCacheWarmerConfigResponse)(nil), // 426: wg.cosmo.platform.v1.GetCacheWarmerConfigResponse - (*GetSubgraphCheckExtensionsConfigRequest)(nil), // 427: wg.cosmo.platform.v1.GetSubgraphCheckExtensionsConfigRequest - (*GetSubgraphCheckExtensionsConfigResponse)(nil), // 428: wg.cosmo.platform.v1.GetSubgraphCheckExtensionsConfigResponse - (*ConfigureSubgraphCheckExtensionsRequest)(nil), // 429: wg.cosmo.platform.v1.ConfigureSubgraphCheckExtensionsRequest - (*ConfigureSubgraphCheckExtensionsResponse)(nil), // 430: wg.cosmo.platform.v1.ConfigureSubgraphCheckExtensionsResponse - (*DeleteCacheWarmerOperationRequest)(nil), // 431: wg.cosmo.platform.v1.DeleteCacheWarmerOperationRequest - (*DeleteCacheWarmerOperationResponse)(nil), // 432: wg.cosmo.platform.v1.DeleteCacheWarmerOperationResponse - (*ListRouterCompatibilityVersionsRequest)(nil), // 433: wg.cosmo.platform.v1.ListRouterCompatibilityVersionsRequest - (*ListRouterCompatibilityVersionsResponse)(nil), // 434: wg.cosmo.platform.v1.ListRouterCompatibilityVersionsResponse - (*SetGraphRouterCompatibilityVersionRequest)(nil), // 435: wg.cosmo.platform.v1.SetGraphRouterCompatibilityVersionRequest - (*SetGraphRouterCompatibilityVersionResponse)(nil), // 436: wg.cosmo.platform.v1.SetGraphRouterCompatibilityVersionResponse - (*GetProposedSchemaOfCheckedSubgraphRequest)(nil), // 437: wg.cosmo.platform.v1.GetProposedSchemaOfCheckedSubgraphRequest - (*GetProposedSchemaOfCheckedSubgraphResponse)(nil), // 438: wg.cosmo.platform.v1.GetProposedSchemaOfCheckedSubgraphResponse - (*Proposal)(nil), // 439: wg.cosmo.platform.v1.Proposal - (*ProposalSubgraph)(nil), // 440: wg.cosmo.platform.v1.ProposalSubgraph - (*CreateProposalRequest)(nil), // 441: wg.cosmo.platform.v1.CreateProposalRequest - (*CreateProposalResponse)(nil), // 442: wg.cosmo.platform.v1.CreateProposalResponse - (*GetProposalRequest)(nil), // 443: wg.cosmo.platform.v1.GetProposalRequest - (*GetProposalResponse)(nil), // 444: wg.cosmo.platform.v1.GetProposalResponse - (*GetProposalsByFederatedGraphRequest)(nil), // 445: wg.cosmo.platform.v1.GetProposalsByFederatedGraphRequest - (*GetProposalsByFederatedGraphResponse)(nil), // 446: wg.cosmo.platform.v1.GetProposalsByFederatedGraphResponse - (*GetProposalChecksRequest)(nil), // 447: wg.cosmo.platform.v1.GetProposalChecksRequest - (*GetProposalChecksResponse)(nil), // 448: wg.cosmo.platform.v1.GetProposalChecksResponse - (*UpdateProposalRequest)(nil), // 449: wg.cosmo.platform.v1.UpdateProposalRequest - (*UpdateProposalResponse)(nil), // 450: wg.cosmo.platform.v1.UpdateProposalResponse - (*EnableProposalsForNamespaceRequest)(nil), // 451: wg.cosmo.platform.v1.EnableProposalsForNamespaceRequest - (*EnableProposalsForNamespaceResponse)(nil), // 452: wg.cosmo.platform.v1.EnableProposalsForNamespaceResponse - (*ConfigureNamespaceProposalConfigRequest)(nil), // 453: wg.cosmo.platform.v1.ConfigureNamespaceProposalConfigRequest - (*ConfigureNamespaceProposalConfigResponse)(nil), // 454: wg.cosmo.platform.v1.ConfigureNamespaceProposalConfigResponse - (*GetNamespaceProposalConfigRequest)(nil), // 455: wg.cosmo.platform.v1.GetNamespaceProposalConfigRequest - (*GetNamespaceProposalConfigResponse)(nil), // 456: wg.cosmo.platform.v1.GetNamespaceProposalConfigResponse - (*NamespaceLoginMethodMapping)(nil), // 457: wg.cosmo.platform.v1.NamespaceLoginMethodMapping - (*UpdateNamespaceLoginMethodsRequest)(nil), // 458: wg.cosmo.platform.v1.UpdateNamespaceLoginMethodsRequest - (*UpdateNamespaceLoginMethodsResponse)(nil), // 459: wg.cosmo.platform.v1.UpdateNamespaceLoginMethodsResponse - (*ListNamespaceLoginMethodsRequest)(nil), // 460: wg.cosmo.platform.v1.ListNamespaceLoginMethodsRequest - (*ListNamespaceLoginMethodsResponse)(nil), // 461: wg.cosmo.platform.v1.ListNamespaceLoginMethodsResponse - (*OrganizationLoginMethods)(nil), // 462: wg.cosmo.platform.v1.OrganizationLoginMethods - (*GetOrganizationLoginMethodsRequest)(nil), // 463: wg.cosmo.platform.v1.GetOrganizationLoginMethodsRequest - (*GetOrganizationLoginMethodsResponse)(nil), // 464: wg.cosmo.platform.v1.GetOrganizationLoginMethodsResponse - (*UpdateOrganizationLoginMethodsRequest)(nil), // 465: wg.cosmo.platform.v1.UpdateOrganizationLoginMethodsRequest - (*UpdateOrganizationLoginMethodsResponse)(nil), // 466: wg.cosmo.platform.v1.UpdateOrganizationLoginMethodsResponse - (*GetOperationsRequest)(nil), // 467: wg.cosmo.platform.v1.GetOperationsRequest - (*GetOperationsResponse)(nil), // 468: wg.cosmo.platform.v1.GetOperationsResponse - (*GetClientsFromAnalyticsRequest)(nil), // 469: wg.cosmo.platform.v1.GetClientsFromAnalyticsRequest - (*GetClientsFromAnalyticsResponse)(nil), // 470: wg.cosmo.platform.v1.GetClientsFromAnalyticsResponse - (*GetOperationClientsRequest)(nil), // 471: wg.cosmo.platform.v1.GetOperationClientsRequest - (*GetOperationClientsResponse)(nil), // 472: wg.cosmo.platform.v1.GetOperationClientsResponse - (*GetOperationDeprecatedFieldsRequest)(nil), // 473: wg.cosmo.platform.v1.GetOperationDeprecatedFieldsRequest - (*GetOperationDeprecatedFieldsResponse)(nil), // 474: wg.cosmo.platform.v1.GetOperationDeprecatedFieldsResponse - (*ValidateAndFetchPluginDataRequest)(nil), // 475: wg.cosmo.platform.v1.ValidateAndFetchPluginDataRequest - (*ValidateAndFetchPluginDataResponse)(nil), // 476: wg.cosmo.platform.v1.ValidateAndFetchPluginDataResponse - (*LinkSubgraphRequest)(nil), // 477: wg.cosmo.platform.v1.LinkSubgraphRequest - (*LinkSubgraphResponse)(nil), // 478: wg.cosmo.platform.v1.LinkSubgraphResponse - (*UnlinkSubgraphRequest)(nil), // 479: wg.cosmo.platform.v1.UnlinkSubgraphRequest - (*UnlinkSubgraphResponse)(nil), // 480: wg.cosmo.platform.v1.UnlinkSubgraphResponse - (*VerifyAPIKeyGraphAccessRequest)(nil), // 481: wg.cosmo.platform.v1.VerifyAPIKeyGraphAccessRequest - (*VerifyAPIKeyGraphAccessResponse)(nil), // 482: wg.cosmo.platform.v1.VerifyAPIKeyGraphAccessResponse - (*InitializeCosmoUserRequest)(nil), // 483: wg.cosmo.platform.v1.InitializeCosmoUserRequest - (*InitializeCosmoUserResponse)(nil), // 484: wg.cosmo.platform.v1.InitializeCosmoUserResponse - (*ListOrganizationsRequest)(nil), // 485: wg.cosmo.platform.v1.ListOrganizationsRequest - (*ListOrganizationsResponse)(nil), // 486: wg.cosmo.platform.v1.ListOrganizationsResponse - (*RecomposeGraphRequest)(nil), // 487: wg.cosmo.platform.v1.RecomposeGraphRequest - (*RecomposeGraphResponse)(nil), // 488: wg.cosmo.platform.v1.RecomposeGraphResponse - (*RecomposeFeatureFlagRequest)(nil), // 489: wg.cosmo.platform.v1.RecomposeFeatureFlagRequest - (*RecomposeFeatureFlagResponse)(nil), // 490: wg.cosmo.platform.v1.RecomposeFeatureFlagResponse - (*GetOnboardingRequest)(nil), // 491: wg.cosmo.platform.v1.GetOnboardingRequest - (*GetOnboardingResponse)(nil), // 492: wg.cosmo.platform.v1.GetOnboardingResponse - (*CreateOnboardingRequest)(nil), // 493: wg.cosmo.platform.v1.CreateOnboardingRequest - (*CreateOnboardingResponse)(nil), // 494: wg.cosmo.platform.v1.CreateOnboardingResponse - (*FinishOnboardingRequest)(nil), // 495: wg.cosmo.platform.v1.FinishOnboardingRequest - (*FinishOnboardingResponse)(nil), // 496: wg.cosmo.platform.v1.FinishOnboardingResponse - (*Subgraph_PluginData)(nil), // 497: wg.cosmo.platform.v1.Subgraph.PluginData - (*GetSubgraphByNameResponse_LinkedSubgraph)(nil), // 498: wg.cosmo.platform.v1.GetSubgraphByNameResponse.LinkedSubgraph - (*SchemaCheck_GhDetails)(nil), // 499: wg.cosmo.platform.v1.SchemaCheck.GhDetails - (*SchemaCheck_CheckedSubgraph)(nil), // 500: wg.cosmo.platform.v1.SchemaCheck.CheckedSubgraph - (*SchemaCheck_LinkedCheck)(nil), // 501: wg.cosmo.platform.v1.SchemaCheck.LinkedCheck - (*GetCheckSummaryResponse_AffectedGraph)(nil), // 502: wg.cosmo.platform.v1.GetCheckSummaryResponse.AffectedGraph - (*GetCheckSummaryResponse_ProposalSchemaMatch)(nil), // 503: wg.cosmo.platform.v1.GetCheckSummaryResponse.ProposalSchemaMatch - (*GetCheckOperationsResponse_CheckOperation)(nil), // 504: wg.cosmo.platform.v1.GetCheckOperationsResponse.CheckOperation - nil, // 505: wg.cosmo.platform.v1.AnalyticsViewRow.ValueEntry - (*GetOrganizationGroupMembersResponse_GroupMember)(nil), // 506: wg.cosmo.platform.v1.GetOrganizationGroupMembersResponse.GroupMember - (*GetOrganizationGroupMembersResponse_GroupApiKey)(nil), // 507: wg.cosmo.platform.v1.GetOrganizationGroupMembersResponse.GroupApiKey - (*UpdateOrganizationGroupRequest_GroupRule)(nil), // 508: wg.cosmo.platform.v1.UpdateOrganizationGroupRequest.GroupRule - (*OrgMember_Group)(nil), // 509: wg.cosmo.platform.v1.OrgMember.Group - (*APIKey_Group)(nil), // 510: wg.cosmo.platform.v1.APIKey.Group - nil, // 511: wg.cosmo.platform.v1.Span.AttributesEntry - (*DeletePersistedOperationResponse_Operation)(nil), // 512: wg.cosmo.platform.v1.DeletePersistedOperationResponse.Operation - (*CheckPersistedOperationTrafficResponse_Operation)(nil), // 513: wg.cosmo.platform.v1.CheckPersistedOperationTrafficResponse.Operation - (*GetPersistedOperationsResponse_Operation)(nil), // 514: wg.cosmo.platform.v1.GetPersistedOperationsResponse.Operation - (*GetOrganizationWebhookConfigsResponse_Config)(nil), // 515: wg.cosmo.platform.v1.GetOrganizationWebhookConfigsResponse.Config - (*GetBillingPlansResponse_BillingPlanFeature)(nil), // 516: wg.cosmo.platform.v1.GetBillingPlansResponse.BillingPlanFeature - (*GetBillingPlansResponse_BillingPlan)(nil), // 517: wg.cosmo.platform.v1.GetBillingPlansResponse.BillingPlan - (*GetAllOverridesResponse_Override)(nil), // 518: wg.cosmo.platform.v1.GetAllOverridesResponse.Override - (*GetUserAccessibleResourcesResponse_Namespace)(nil), // 519: wg.cosmo.platform.v1.GetUserAccessibleResourcesResponse.Namespace - (*GetUserAccessibleResourcesResponse_FederatedGraph)(nil), // 520: wg.cosmo.platform.v1.GetUserAccessibleResourcesResponse.FederatedGraph - (*GetUserAccessibleResourcesResponse_SubGraph)(nil), // 521: wg.cosmo.platform.v1.GetUserAccessibleResourcesResponse.SubGraph - (*DeleteClientResponse_Operation)(nil), // 522: wg.cosmo.platform.v1.DeleteClientResponse.Operation - (*ClientWithOperations_Operation)(nil), // 523: wg.cosmo.platform.v1.ClientWithOperations.Operation - (*GetFeatureFlagByNameResponse_FfFederatedGraph)(nil), // 524: wg.cosmo.platform.v1.GetFeatureFlagByNameResponse.FfFederatedGraph - (*GetProposalResponse_CurrentSubgraph)(nil), // 525: wg.cosmo.platform.v1.GetProposalResponse.CurrentSubgraph - (*UpdateProposalRequest_UpdateProposalSubgraphs)(nil), // 526: wg.cosmo.platform.v1.UpdateProposalRequest.UpdateProposalSubgraphs - (*GetOperationsResponse_Operation)(nil), // 527: wg.cosmo.platform.v1.GetOperationsResponse.Operation - (*GetClientsFromAnalyticsResponse_Client)(nil), // 528: wg.cosmo.platform.v1.GetClientsFromAnalyticsResponse.Client - (*GetOperationClientsResponse_Client)(nil), // 529: wg.cosmo.platform.v1.GetOperationClientsResponse.Client - (*GetOperationDeprecatedFieldsResponse_DeprecatedField)(nil), // 530: wg.cosmo.platform.v1.GetOperationDeprecatedFieldsResponse.DeprecatedField - (*ListOrganizationsResponse_OrganizationMembership)(nil), // 531: wg.cosmo.platform.v1.ListOrganizationsResponse.OrganizationMembership - (common.EnumStatusCode)(0), // 532: wg.cosmo.common.EnumStatusCode - (common.GraphQLSubscriptionProtocol)(0), // 533: wg.cosmo.common.GraphQLSubscriptionProtocol - (common.GraphQLWebsocketSubprotocol)(0), // 534: wg.cosmo.common.GraphQLWebsocketSubprotocol - (*notifications.EventMeta)(nil), // 535: wg.cosmo.notifications.EventMeta + (*FeatureSubgraphInFlagComposition)(nil), // 386: wg.cosmo.platform.v1.FeatureSubgraphInFlagComposition + (*GetFeatureFlagsInLatestCompositionByFederatedGraphResponse)(nil), // 387: wg.cosmo.platform.v1.GetFeatureFlagsInLatestCompositionByFederatedGraphResponse + (*GetFeatureSubgraphsByFederatedGraphRequest)(nil), // 388: wg.cosmo.platform.v1.GetFeatureSubgraphsByFederatedGraphRequest + (*GetFeatureSubgraphsByFederatedGraphResponse)(nil), // 389: wg.cosmo.platform.v1.GetFeatureSubgraphsByFederatedGraphResponse + (*GetOrganizationWebhookHistoryRequest)(nil), // 390: wg.cosmo.platform.v1.GetOrganizationWebhookHistoryRequest + (*WebhookDelivery)(nil), // 391: wg.cosmo.platform.v1.WebhookDelivery + (*GetOrganizationWebhookHistoryResponse)(nil), // 392: wg.cosmo.platform.v1.GetOrganizationWebhookHistoryResponse + (*RedeliverWebhookRequest)(nil), // 393: wg.cosmo.platform.v1.RedeliverWebhookRequest + (*RedeliverWebhookResponse)(nil), // 394: wg.cosmo.platform.v1.RedeliverWebhookResponse + (*GetWebhookDeliveryDetailsRequest)(nil), // 395: wg.cosmo.platform.v1.GetWebhookDeliveryDetailsRequest + (*GetWebhookDeliveryDetailsResponse)(nil), // 396: wg.cosmo.platform.v1.GetWebhookDeliveryDetailsResponse + (*CreatePlaygroundScriptRequest)(nil), // 397: wg.cosmo.platform.v1.CreatePlaygroundScriptRequest + (*CreatePlaygroundScriptResponse)(nil), // 398: wg.cosmo.platform.v1.CreatePlaygroundScriptResponse + (*DeletePlaygroundScriptRequest)(nil), // 399: wg.cosmo.platform.v1.DeletePlaygroundScriptRequest + (*DeletePlaygroundScriptResponse)(nil), // 400: wg.cosmo.platform.v1.DeletePlaygroundScriptResponse + (*UpdatePlaygroundScriptRequest)(nil), // 401: wg.cosmo.platform.v1.UpdatePlaygroundScriptRequest + (*UpdatePlaygroundScriptResponse)(nil), // 402: wg.cosmo.platform.v1.UpdatePlaygroundScriptResponse + (*GetPlaygroundScriptsRequest)(nil), // 403: wg.cosmo.platform.v1.GetPlaygroundScriptsRequest + (*PlaygroundScript)(nil), // 404: wg.cosmo.platform.v1.PlaygroundScript + (*GetPlaygroundScriptsResponse)(nil), // 405: wg.cosmo.platform.v1.GetPlaygroundScriptsResponse + (*GetFederatedGraphByIdRequest)(nil), // 406: wg.cosmo.platform.v1.GetFederatedGraphByIdRequest + (*GetFederatedGraphByIdResponse)(nil), // 407: wg.cosmo.platform.v1.GetFederatedGraphByIdResponse + (*GetSubgraphByIdRequest)(nil), // 408: wg.cosmo.platform.v1.GetSubgraphByIdRequest + (*GetSubgraphByIdResponse)(nil), // 409: wg.cosmo.platform.v1.GetSubgraphByIdResponse + (*GetNamespaceRequest)(nil), // 410: wg.cosmo.platform.v1.GetNamespaceRequest + (*GetNamespaceResponse)(nil), // 411: wg.cosmo.platform.v1.GetNamespaceResponse + (*WorkspaceNamespace)(nil), // 412: wg.cosmo.platform.v1.WorkspaceNamespace + (*WorkspaceFederatedGraph)(nil), // 413: wg.cosmo.platform.v1.WorkspaceFederatedGraph + (*WorkspaceSubgraph)(nil), // 414: wg.cosmo.platform.v1.WorkspaceSubgraph + (*GetWorkspaceRequest)(nil), // 415: wg.cosmo.platform.v1.GetWorkspaceRequest + (*GetWorkspaceResponse)(nil), // 416: wg.cosmo.platform.v1.GetWorkspaceResponse + (*PushCacheWarmerOperationRequest)(nil), // 417: wg.cosmo.platform.v1.PushCacheWarmerOperationRequest + (*PushCacheWarmerOperationResponse)(nil), // 418: wg.cosmo.platform.v1.PushCacheWarmerOperationResponse + (*GetCacheWarmerOperationsRequest)(nil), // 419: wg.cosmo.platform.v1.GetCacheWarmerOperationsRequest + (*CacheWarmerOperation)(nil), // 420: wg.cosmo.platform.v1.CacheWarmerOperation + (*GetCacheWarmerOperationsResponse)(nil), // 421: wg.cosmo.platform.v1.GetCacheWarmerOperationsResponse + (*ComputeCacheWarmerOperationsRequest)(nil), // 422: wg.cosmo.platform.v1.ComputeCacheWarmerOperationsRequest + (*ComputeCacheWarmerOperationsResponse)(nil), // 423: wg.cosmo.platform.v1.ComputeCacheWarmerOperationsResponse + (*ConfigureCacheWarmerRequest)(nil), // 424: wg.cosmo.platform.v1.ConfigureCacheWarmerRequest + (*ConfigureCacheWarmerResponse)(nil), // 425: wg.cosmo.platform.v1.ConfigureCacheWarmerResponse + (*GetCacheWarmerConfigRequest)(nil), // 426: wg.cosmo.platform.v1.GetCacheWarmerConfigRequest + (*GetCacheWarmerConfigResponse)(nil), // 427: wg.cosmo.platform.v1.GetCacheWarmerConfigResponse + (*GetSubgraphCheckExtensionsConfigRequest)(nil), // 428: wg.cosmo.platform.v1.GetSubgraphCheckExtensionsConfigRequest + (*GetSubgraphCheckExtensionsConfigResponse)(nil), // 429: wg.cosmo.platform.v1.GetSubgraphCheckExtensionsConfigResponse + (*ConfigureSubgraphCheckExtensionsRequest)(nil), // 430: wg.cosmo.platform.v1.ConfigureSubgraphCheckExtensionsRequest + (*ConfigureSubgraphCheckExtensionsResponse)(nil), // 431: wg.cosmo.platform.v1.ConfigureSubgraphCheckExtensionsResponse + (*DeleteCacheWarmerOperationRequest)(nil), // 432: wg.cosmo.platform.v1.DeleteCacheWarmerOperationRequest + (*DeleteCacheWarmerOperationResponse)(nil), // 433: wg.cosmo.platform.v1.DeleteCacheWarmerOperationResponse + (*ListRouterCompatibilityVersionsRequest)(nil), // 434: wg.cosmo.platform.v1.ListRouterCompatibilityVersionsRequest + (*ListRouterCompatibilityVersionsResponse)(nil), // 435: wg.cosmo.platform.v1.ListRouterCompatibilityVersionsResponse + (*SetGraphRouterCompatibilityVersionRequest)(nil), // 436: wg.cosmo.platform.v1.SetGraphRouterCompatibilityVersionRequest + (*SetGraphRouterCompatibilityVersionResponse)(nil), // 437: wg.cosmo.platform.v1.SetGraphRouterCompatibilityVersionResponse + (*GetProposedSchemaOfCheckedSubgraphRequest)(nil), // 438: wg.cosmo.platform.v1.GetProposedSchemaOfCheckedSubgraphRequest + (*GetProposedSchemaOfCheckedSubgraphResponse)(nil), // 439: wg.cosmo.platform.v1.GetProposedSchemaOfCheckedSubgraphResponse + (*Proposal)(nil), // 440: wg.cosmo.platform.v1.Proposal + (*ProposalSubgraph)(nil), // 441: wg.cosmo.platform.v1.ProposalSubgraph + (*CreateProposalRequest)(nil), // 442: wg.cosmo.platform.v1.CreateProposalRequest + (*CreateProposalResponse)(nil), // 443: wg.cosmo.platform.v1.CreateProposalResponse + (*GetProposalRequest)(nil), // 444: wg.cosmo.platform.v1.GetProposalRequest + (*GetProposalResponse)(nil), // 445: wg.cosmo.platform.v1.GetProposalResponse + (*GetProposalsByFederatedGraphRequest)(nil), // 446: wg.cosmo.platform.v1.GetProposalsByFederatedGraphRequest + (*GetProposalsByFederatedGraphResponse)(nil), // 447: wg.cosmo.platform.v1.GetProposalsByFederatedGraphResponse + (*GetProposalChecksRequest)(nil), // 448: wg.cosmo.platform.v1.GetProposalChecksRequest + (*GetProposalChecksResponse)(nil), // 449: wg.cosmo.platform.v1.GetProposalChecksResponse + (*UpdateProposalRequest)(nil), // 450: wg.cosmo.platform.v1.UpdateProposalRequest + (*UpdateProposalResponse)(nil), // 451: wg.cosmo.platform.v1.UpdateProposalResponse + (*EnableProposalsForNamespaceRequest)(nil), // 452: wg.cosmo.platform.v1.EnableProposalsForNamespaceRequest + (*EnableProposalsForNamespaceResponse)(nil), // 453: wg.cosmo.platform.v1.EnableProposalsForNamespaceResponse + (*ConfigureNamespaceProposalConfigRequest)(nil), // 454: wg.cosmo.platform.v1.ConfigureNamespaceProposalConfigRequest + (*ConfigureNamespaceProposalConfigResponse)(nil), // 455: wg.cosmo.platform.v1.ConfigureNamespaceProposalConfigResponse + (*GetNamespaceProposalConfigRequest)(nil), // 456: wg.cosmo.platform.v1.GetNamespaceProposalConfigRequest + (*GetNamespaceProposalConfigResponse)(nil), // 457: wg.cosmo.platform.v1.GetNamespaceProposalConfigResponse + (*NamespaceLoginMethodMapping)(nil), // 458: wg.cosmo.platform.v1.NamespaceLoginMethodMapping + (*UpdateNamespaceLoginMethodsRequest)(nil), // 459: wg.cosmo.platform.v1.UpdateNamespaceLoginMethodsRequest + (*UpdateNamespaceLoginMethodsResponse)(nil), // 460: wg.cosmo.platform.v1.UpdateNamespaceLoginMethodsResponse + (*ListNamespaceLoginMethodsRequest)(nil), // 461: wg.cosmo.platform.v1.ListNamespaceLoginMethodsRequest + (*ListNamespaceLoginMethodsResponse)(nil), // 462: wg.cosmo.platform.v1.ListNamespaceLoginMethodsResponse + (*OrganizationLoginMethods)(nil), // 463: wg.cosmo.platform.v1.OrganizationLoginMethods + (*GetOrganizationLoginMethodsRequest)(nil), // 464: wg.cosmo.platform.v1.GetOrganizationLoginMethodsRequest + (*GetOrganizationLoginMethodsResponse)(nil), // 465: wg.cosmo.platform.v1.GetOrganizationLoginMethodsResponse + (*UpdateOrganizationLoginMethodsRequest)(nil), // 466: wg.cosmo.platform.v1.UpdateOrganizationLoginMethodsRequest + (*UpdateOrganizationLoginMethodsResponse)(nil), // 467: wg.cosmo.platform.v1.UpdateOrganizationLoginMethodsResponse + (*GetOperationsRequest)(nil), // 468: wg.cosmo.platform.v1.GetOperationsRequest + (*GetOperationsResponse)(nil), // 469: wg.cosmo.platform.v1.GetOperationsResponse + (*GetClientsFromAnalyticsRequest)(nil), // 470: wg.cosmo.platform.v1.GetClientsFromAnalyticsRequest + (*GetClientsFromAnalyticsResponse)(nil), // 471: wg.cosmo.platform.v1.GetClientsFromAnalyticsResponse + (*GetOperationClientsRequest)(nil), // 472: wg.cosmo.platform.v1.GetOperationClientsRequest + (*GetOperationClientsResponse)(nil), // 473: wg.cosmo.platform.v1.GetOperationClientsResponse + (*GetOperationDeprecatedFieldsRequest)(nil), // 474: wg.cosmo.platform.v1.GetOperationDeprecatedFieldsRequest + (*GetOperationDeprecatedFieldsResponse)(nil), // 475: wg.cosmo.platform.v1.GetOperationDeprecatedFieldsResponse + (*ValidateAndFetchPluginDataRequest)(nil), // 476: wg.cosmo.platform.v1.ValidateAndFetchPluginDataRequest + (*ValidateAndFetchPluginDataResponse)(nil), // 477: wg.cosmo.platform.v1.ValidateAndFetchPluginDataResponse + (*LinkSubgraphRequest)(nil), // 478: wg.cosmo.platform.v1.LinkSubgraphRequest + (*LinkSubgraphResponse)(nil), // 479: wg.cosmo.platform.v1.LinkSubgraphResponse + (*UnlinkSubgraphRequest)(nil), // 480: wg.cosmo.platform.v1.UnlinkSubgraphRequest + (*UnlinkSubgraphResponse)(nil), // 481: wg.cosmo.platform.v1.UnlinkSubgraphResponse + (*VerifyAPIKeyGraphAccessRequest)(nil), // 482: wg.cosmo.platform.v1.VerifyAPIKeyGraphAccessRequest + (*VerifyAPIKeyGraphAccessResponse)(nil), // 483: wg.cosmo.platform.v1.VerifyAPIKeyGraphAccessResponse + (*InitializeCosmoUserRequest)(nil), // 484: wg.cosmo.platform.v1.InitializeCosmoUserRequest + (*InitializeCosmoUserResponse)(nil), // 485: wg.cosmo.platform.v1.InitializeCosmoUserResponse + (*ListOrganizationsRequest)(nil), // 486: wg.cosmo.platform.v1.ListOrganizationsRequest + (*ListOrganizationsResponse)(nil), // 487: wg.cosmo.platform.v1.ListOrganizationsResponse + (*RecomposeGraphRequest)(nil), // 488: wg.cosmo.platform.v1.RecomposeGraphRequest + (*RecomposeGraphResponse)(nil), // 489: wg.cosmo.platform.v1.RecomposeGraphResponse + (*RecomposeFeatureFlagRequest)(nil), // 490: wg.cosmo.platform.v1.RecomposeFeatureFlagRequest + (*RecomposeFeatureFlagResponse)(nil), // 491: wg.cosmo.platform.v1.RecomposeFeatureFlagResponse + (*GetOnboardingRequest)(nil), // 492: wg.cosmo.platform.v1.GetOnboardingRequest + (*GetOnboardingResponse)(nil), // 493: wg.cosmo.platform.v1.GetOnboardingResponse + (*CreateOnboardingRequest)(nil), // 494: wg.cosmo.platform.v1.CreateOnboardingRequest + (*CreateOnboardingResponse)(nil), // 495: wg.cosmo.platform.v1.CreateOnboardingResponse + (*FinishOnboardingRequest)(nil), // 496: wg.cosmo.platform.v1.FinishOnboardingRequest + (*FinishOnboardingResponse)(nil), // 497: wg.cosmo.platform.v1.FinishOnboardingResponse + (*Subgraph_PluginData)(nil), // 498: wg.cosmo.platform.v1.Subgraph.PluginData + (*GetSubgraphByNameResponse_LinkedSubgraph)(nil), // 499: wg.cosmo.platform.v1.GetSubgraphByNameResponse.LinkedSubgraph + (*SchemaCheck_GhDetails)(nil), // 500: wg.cosmo.platform.v1.SchemaCheck.GhDetails + (*SchemaCheck_CheckedSubgraph)(nil), // 501: wg.cosmo.platform.v1.SchemaCheck.CheckedSubgraph + (*SchemaCheck_LinkedCheck)(nil), // 502: wg.cosmo.platform.v1.SchemaCheck.LinkedCheck + (*GetCheckSummaryResponse_AffectedGraph)(nil), // 503: wg.cosmo.platform.v1.GetCheckSummaryResponse.AffectedGraph + (*GetCheckSummaryResponse_ProposalSchemaMatch)(nil), // 504: wg.cosmo.platform.v1.GetCheckSummaryResponse.ProposalSchemaMatch + (*GetCheckOperationsResponse_CheckOperation)(nil), // 505: wg.cosmo.platform.v1.GetCheckOperationsResponse.CheckOperation + nil, // 506: wg.cosmo.platform.v1.AnalyticsViewRow.ValueEntry + (*GetOrganizationGroupMembersResponse_GroupMember)(nil), // 507: wg.cosmo.platform.v1.GetOrganizationGroupMembersResponse.GroupMember + (*GetOrganizationGroupMembersResponse_GroupApiKey)(nil), // 508: wg.cosmo.platform.v1.GetOrganizationGroupMembersResponse.GroupApiKey + (*UpdateOrganizationGroupRequest_GroupRule)(nil), // 509: wg.cosmo.platform.v1.UpdateOrganizationGroupRequest.GroupRule + (*OrgMember_Group)(nil), // 510: wg.cosmo.platform.v1.OrgMember.Group + (*APIKey_Group)(nil), // 511: wg.cosmo.platform.v1.APIKey.Group + nil, // 512: wg.cosmo.platform.v1.Span.AttributesEntry + (*DeletePersistedOperationResponse_Operation)(nil), // 513: wg.cosmo.platform.v1.DeletePersistedOperationResponse.Operation + (*CheckPersistedOperationTrafficResponse_Operation)(nil), // 514: wg.cosmo.platform.v1.CheckPersistedOperationTrafficResponse.Operation + (*GetPersistedOperationsResponse_Operation)(nil), // 515: wg.cosmo.platform.v1.GetPersistedOperationsResponse.Operation + (*GetOrganizationWebhookConfigsResponse_Config)(nil), // 516: wg.cosmo.platform.v1.GetOrganizationWebhookConfigsResponse.Config + (*GetBillingPlansResponse_BillingPlanFeature)(nil), // 517: wg.cosmo.platform.v1.GetBillingPlansResponse.BillingPlanFeature + (*GetBillingPlansResponse_BillingPlan)(nil), // 518: wg.cosmo.platform.v1.GetBillingPlansResponse.BillingPlan + (*GetAllOverridesResponse_Override)(nil), // 519: wg.cosmo.platform.v1.GetAllOverridesResponse.Override + (*GetUserAccessibleResourcesResponse_Namespace)(nil), // 520: wg.cosmo.platform.v1.GetUserAccessibleResourcesResponse.Namespace + (*GetUserAccessibleResourcesResponse_FederatedGraph)(nil), // 521: wg.cosmo.platform.v1.GetUserAccessibleResourcesResponse.FederatedGraph + (*GetUserAccessibleResourcesResponse_SubGraph)(nil), // 522: wg.cosmo.platform.v1.GetUserAccessibleResourcesResponse.SubGraph + (*DeleteClientResponse_Operation)(nil), // 523: wg.cosmo.platform.v1.DeleteClientResponse.Operation + (*ClientWithOperations_Operation)(nil), // 524: wg.cosmo.platform.v1.ClientWithOperations.Operation + (*GetFeatureFlagByNameResponse_FfFederatedGraph)(nil), // 525: wg.cosmo.platform.v1.GetFeatureFlagByNameResponse.FfFederatedGraph + (*GetProposalResponse_CurrentSubgraph)(nil), // 526: wg.cosmo.platform.v1.GetProposalResponse.CurrentSubgraph + (*UpdateProposalRequest_UpdateProposalSubgraphs)(nil), // 527: wg.cosmo.platform.v1.UpdateProposalRequest.UpdateProposalSubgraphs + (*GetOperationsResponse_Operation)(nil), // 528: wg.cosmo.platform.v1.GetOperationsResponse.Operation + (*GetClientsFromAnalyticsResponse_Client)(nil), // 529: wg.cosmo.platform.v1.GetClientsFromAnalyticsResponse.Client + (*GetOperationClientsResponse_Client)(nil), // 530: wg.cosmo.platform.v1.GetOperationClientsResponse.Client + (*GetOperationDeprecatedFieldsResponse_DeprecatedField)(nil), // 531: wg.cosmo.platform.v1.GetOperationDeprecatedFieldsResponse.DeprecatedField + (*ListOrganizationsResponse_OrganizationMembership)(nil), // 532: wg.cosmo.platform.v1.ListOrganizationsResponse.OrganizationMembership + (common.EnumStatusCode)(0), // 533: wg.cosmo.common.EnumStatusCode + (common.GraphQLSubscriptionProtocol)(0), // 534: wg.cosmo.common.GraphQLSubscriptionProtocol + (common.GraphQLWebsocketSubprotocol)(0), // 535: wg.cosmo.common.GraphQLWebsocketSubprotocol + (*notifications.EventMeta)(nil), // 536: wg.cosmo.notifications.EventMeta } var file_wg_cosmo_platform_v1_platform_proto_depIdxs = []int32{ - 532, // 0: wg.cosmo.platform.v1.Response.code:type_name -> wg.cosmo.common.EnumStatusCode + 533, // 0: wg.cosmo.platform.v1.Response.code:type_name -> wg.cosmo.common.EnumStatusCode 19, // 1: wg.cosmo.platform.v1.PublishMonographResponse.response:type_name -> wg.cosmo.platform.v1.Response 49, // 2: wg.cosmo.platform.v1.PublishMonographResponse.compositionErrors:type_name -> wg.cosmo.platform.v1.CompositionError 51, // 3: wg.cosmo.platform.v1.PublishMonographResponse.deploymentErrors:type_name -> wg.cosmo.platform.v1.DeploymentError 50, // 4: wg.cosmo.platform.v1.PublishMonographResponse.compositionWarnings:type_name -> wg.cosmo.platform.v1.CompositionWarning 18, // 5: wg.cosmo.platform.v1.PublishFederatedSubgraphRequest.labels:type_name -> wg.cosmo.platform.v1.Label - 533, // 6: wg.cosmo.platform.v1.PublishFederatedSubgraphRequest.subscription_protocol:type_name -> wg.cosmo.common.GraphQLSubscriptionProtocol - 534, // 7: wg.cosmo.platform.v1.PublishFederatedSubgraphRequest.websocket_subprotocol:type_name -> wg.cosmo.common.GraphQLWebsocketSubprotocol + 534, // 6: wg.cosmo.platform.v1.PublishFederatedSubgraphRequest.subscription_protocol:type_name -> wg.cosmo.common.GraphQLSubscriptionProtocol + 535, // 7: wg.cosmo.platform.v1.PublishFederatedSubgraphRequest.websocket_subprotocol:type_name -> wg.cosmo.common.GraphQLWebsocketSubprotocol 2, // 8: wg.cosmo.platform.v1.PublishFederatedSubgraphRequest.type:type_name -> wg.cosmo.platform.v1.SubgraphType 23, // 9: wg.cosmo.platform.v1.PublishFederatedSubgraphRequest.proto:type_name -> wg.cosmo.platform.v1.ProtoInput 19, // 10: wg.cosmo.platform.v1.PublishFederatedSubgraphResponse.response:type_name -> wg.cosmo.platform.v1.Response @@ -37522,16 +37636,16 @@ var file_wg_cosmo_platform_v1_platform_proto_depIdxs = []int32{ 32, // 27: wg.cosmo.platform.v1.CheckSubgraphSchemaRequest.gitInfo:type_name -> wg.cosmo.platform.v1.GitInfo 33, // 28: wg.cosmo.platform.v1.CheckSubgraphSchemaRequest.vcsContext:type_name -> wg.cosmo.platform.v1.VCSContext 18, // 29: wg.cosmo.platform.v1.CheckSubgraphSchemaRequest.labels:type_name -> wg.cosmo.platform.v1.Label - 533, // 30: wg.cosmo.platform.v1.CreateMonographRequest.subscription_protocol:type_name -> wg.cosmo.common.GraphQLSubscriptionProtocol - 534, // 31: wg.cosmo.platform.v1.CreateMonographRequest.websocket_subprotocol:type_name -> wg.cosmo.common.GraphQLWebsocketSubprotocol + 534, // 30: wg.cosmo.platform.v1.CreateMonographRequest.subscription_protocol:type_name -> wg.cosmo.common.GraphQLSubscriptionProtocol + 535, // 31: wg.cosmo.platform.v1.CreateMonographRequest.websocket_subprotocol:type_name -> wg.cosmo.common.GraphQLWebsocketSubprotocol 19, // 32: wg.cosmo.platform.v1.CreateMonographResponse.response:type_name -> wg.cosmo.platform.v1.Response 18, // 33: wg.cosmo.platform.v1.CreateFederatedSubgraphRequest.labels:type_name -> wg.cosmo.platform.v1.Label - 533, // 34: wg.cosmo.platform.v1.CreateFederatedSubgraphRequest.subscription_protocol:type_name -> wg.cosmo.common.GraphQLSubscriptionProtocol - 534, // 35: wg.cosmo.platform.v1.CreateFederatedSubgraphRequest.websocket_subprotocol:type_name -> wg.cosmo.common.GraphQLWebsocketSubprotocol + 534, // 34: wg.cosmo.platform.v1.CreateFederatedSubgraphRequest.subscription_protocol:type_name -> wg.cosmo.common.GraphQLSubscriptionProtocol + 535, // 35: wg.cosmo.platform.v1.CreateFederatedSubgraphRequest.websocket_subprotocol:type_name -> wg.cosmo.common.GraphQLWebsocketSubprotocol 2, // 36: wg.cosmo.platform.v1.CreateFederatedSubgraphRequest.type:type_name -> wg.cosmo.platform.v1.SubgraphType 18, // 37: wg.cosmo.platform.v1.CreateSubgraph.labels:type_name -> wg.cosmo.platform.v1.Label - 533, // 38: wg.cosmo.platform.v1.CreateSubgraph.subscription_protocol:type_name -> wg.cosmo.common.GraphQLSubscriptionProtocol - 534, // 39: wg.cosmo.platform.v1.CreateSubgraph.websocket_subprotocol:type_name -> wg.cosmo.common.GraphQLWebsocketSubprotocol + 534, // 38: wg.cosmo.platform.v1.CreateSubgraph.subscription_protocol:type_name -> wg.cosmo.common.GraphQLSubscriptionProtocol + 535, // 39: wg.cosmo.platform.v1.CreateSubgraph.websocket_subprotocol:type_name -> wg.cosmo.common.GraphQLWebsocketSubprotocol 40, // 40: wg.cosmo.platform.v1.CreateFederatedSubgraphsRequest.subgraphs:type_name -> wg.cosmo.platform.v1.CreateSubgraph 19, // 41: wg.cosmo.platform.v1.CreateFederatedSubgraphsResponse.response:type_name -> wg.cosmo.platform.v1.Response 19, // 42: wg.cosmo.platform.v1.DeleteMonographResponse.response:type_name -> wg.cosmo.platform.v1.Response @@ -37571,7 +37685,7 @@ var file_wg_cosmo_platform_v1_platform_proto_depIdxs = []int32{ 66, // 76: wg.cosmo.platform.v1.GetFederatedGraphsBySubgraphLabelsResponse.graphs:type_name -> wg.cosmo.platform.v1.FederatedGraph 18, // 77: wg.cosmo.platform.v1.Subgraph.labels:type_name -> wg.cosmo.platform.v1.Label 2, // 78: wg.cosmo.platform.v1.Subgraph.type:type_name -> wg.cosmo.platform.v1.SubgraphType - 497, // 79: wg.cosmo.platform.v1.Subgraph.pluginData:type_name -> wg.cosmo.platform.v1.Subgraph.PluginData + 498, // 79: wg.cosmo.platform.v1.Subgraph.pluginData:type_name -> wg.cosmo.platform.v1.Subgraph.PluginData 19, // 80: wg.cosmo.platform.v1.GetSubgraphsResponse.response:type_name -> wg.cosmo.platform.v1.Response 71, // 81: wg.cosmo.platform.v1.GetSubgraphsResponse.graphs:type_name -> wg.cosmo.platform.v1.Subgraph 19, // 82: wg.cosmo.platform.v1.GetFederatedGraphByNameResponse.response:type_name -> wg.cosmo.platform.v1.Response @@ -37582,28 +37696,28 @@ var file_wg_cosmo_platform_v1_platform_proto_depIdxs = []int32{ 19, // 87: wg.cosmo.platform.v1.GetSubgraphByNameResponse.response:type_name -> wg.cosmo.platform.v1.Response 71, // 88: wg.cosmo.platform.v1.GetSubgraphByNameResponse.graph:type_name -> wg.cosmo.platform.v1.Subgraph 306, // 89: wg.cosmo.platform.v1.GetSubgraphByNameResponse.members:type_name -> wg.cosmo.platform.v1.SubgraphMember - 498, // 90: wg.cosmo.platform.v1.GetSubgraphByNameResponse.linkedSubgraph:type_name -> wg.cosmo.platform.v1.GetSubgraphByNameResponse.LinkedSubgraph + 499, // 90: wg.cosmo.platform.v1.GetSubgraphByNameResponse.linkedSubgraph:type_name -> wg.cosmo.platform.v1.GetSubgraphByNameResponse.LinkedSubgraph 19, // 91: wg.cosmo.platform.v1.GetSubgraphSDLFromLatestCompositionResponse.response:type_name -> wg.cosmo.platform.v1.Response 19, // 92: wg.cosmo.platform.v1.GetLatestSubgraphSDLResponse.response:type_name -> wg.cosmo.platform.v1.Response 83, // 93: wg.cosmo.platform.v1.GetChecksByFederatedGraphNameRequest.filters:type_name -> wg.cosmo.platform.v1.GetChecksByFederatedGraphNameFilters - 499, // 94: wg.cosmo.platform.v1.SchemaCheck.ghDetails:type_name -> wg.cosmo.platform.v1.SchemaCheck.GhDetails + 500, // 94: wg.cosmo.platform.v1.SchemaCheck.ghDetails:type_name -> wg.cosmo.platform.v1.SchemaCheck.GhDetails 33, // 95: wg.cosmo.platform.v1.SchemaCheck.vcsContext:type_name -> wg.cosmo.platform.v1.VCSContext - 500, // 96: wg.cosmo.platform.v1.SchemaCheck.checkedSubgraphs:type_name -> wg.cosmo.platform.v1.SchemaCheck.CheckedSubgraph - 501, // 97: wg.cosmo.platform.v1.SchemaCheck.linkedChecks:type_name -> wg.cosmo.platform.v1.SchemaCheck.LinkedCheck + 501, // 96: wg.cosmo.platform.v1.SchemaCheck.checkedSubgraphs:type_name -> wg.cosmo.platform.v1.SchemaCheck.CheckedSubgraph + 502, // 97: wg.cosmo.platform.v1.SchemaCheck.linkedChecks:type_name -> wg.cosmo.platform.v1.SchemaCheck.LinkedCheck 19, // 98: wg.cosmo.platform.v1.GetChecksByFederatedGraphNameResponse.response:type_name -> wg.cosmo.platform.v1.Response 85, // 99: wg.cosmo.platform.v1.GetChecksByFederatedGraphNameResponse.checks:type_name -> wg.cosmo.platform.v1.SchemaCheck 19, // 100: wg.cosmo.platform.v1.GetCheckSummaryResponse.response:type_name -> wg.cosmo.platform.v1.Response 85, // 101: wg.cosmo.platform.v1.GetCheckSummaryResponse.check:type_name -> wg.cosmo.platform.v1.SchemaCheck - 502, // 102: wg.cosmo.platform.v1.GetCheckSummaryResponse.affected_graphs:type_name -> wg.cosmo.platform.v1.GetCheckSummaryResponse.AffectedGraph + 503, // 102: wg.cosmo.platform.v1.GetCheckSummaryResponse.affected_graphs:type_name -> wg.cosmo.platform.v1.GetCheckSummaryResponse.AffectedGraph 47, // 103: wg.cosmo.platform.v1.GetCheckSummaryResponse.changes:type_name -> wg.cosmo.platform.v1.SchemaChange 49, // 104: wg.cosmo.platform.v1.GetCheckSummaryResponse.compositionErrors:type_name -> wg.cosmo.platform.v1.CompositionError 55, // 105: wg.cosmo.platform.v1.GetCheckSummaryResponse.lintIssues:type_name -> wg.cosmo.platform.v1.LintIssue 56, // 106: wg.cosmo.platform.v1.GetCheckSummaryResponse.graphPruningIssues:type_name -> wg.cosmo.platform.v1.GraphPruningIssue 50, // 107: wg.cosmo.platform.v1.GetCheckSummaryResponse.compositionWarnings:type_name -> wg.cosmo.platform.v1.CompositionWarning - 503, // 108: wg.cosmo.platform.v1.GetCheckSummaryResponse.proposalMatches:type_name -> wg.cosmo.platform.v1.GetCheckSummaryResponse.ProposalSchemaMatch + 504, // 108: wg.cosmo.platform.v1.GetCheckSummaryResponse.proposalMatches:type_name -> wg.cosmo.platform.v1.GetCheckSummaryResponse.ProposalSchemaMatch 48, // 109: wg.cosmo.platform.v1.GetCheckSummaryResponse.composedSchemaBreakingChanges:type_name -> wg.cosmo.platform.v1.FederatedGraphSchemaChange 19, // 110: wg.cosmo.platform.v1.GetCheckOperationsResponse.response:type_name -> wg.cosmo.platform.v1.Response - 504, // 111: wg.cosmo.platform.v1.GetCheckOperationsResponse.operations:type_name -> wg.cosmo.platform.v1.GetCheckOperationsResponse.CheckOperation + 505, // 111: wg.cosmo.platform.v1.GetCheckOperationsResponse.operations:type_name -> wg.cosmo.platform.v1.GetCheckOperationsResponse.CheckOperation 19, // 112: wg.cosmo.platform.v1.GetOperationContentResponse.response:type_name -> wg.cosmo.platform.v1.Response 107, // 113: wg.cosmo.platform.v1.GetFederatedGraphChangelogRequest.pagination:type_name -> wg.cosmo.platform.v1.Pagination 111, // 114: wg.cosmo.platform.v1.GetFederatedGraphChangelogRequest.dateRange:type_name -> wg.cosmo.platform.v1.DateRange @@ -37612,8 +37726,8 @@ var file_wg_cosmo_platform_v1_platform_proto_depIdxs = []int32{ 96, // 117: wg.cosmo.platform.v1.GetFederatedGraphChangelogResponse.federatedGraphChangelogOutput:type_name -> wg.cosmo.platform.v1.FederatedGraphChangelogOutput 19, // 118: wg.cosmo.platform.v1.GetFederatedResponse.response:type_name -> wg.cosmo.platform.v1.Response 18, // 119: wg.cosmo.platform.v1.UpdateSubgraphRequest.labels:type_name -> wg.cosmo.platform.v1.Label - 533, // 120: wg.cosmo.platform.v1.UpdateSubgraphRequest.subscription_protocol:type_name -> wg.cosmo.common.GraphQLSubscriptionProtocol - 534, // 121: wg.cosmo.platform.v1.UpdateSubgraphRequest.websocket_subprotocol:type_name -> wg.cosmo.common.GraphQLWebsocketSubprotocol + 534, // 120: wg.cosmo.platform.v1.UpdateSubgraphRequest.subscription_protocol:type_name -> wg.cosmo.common.GraphQLSubscriptionProtocol + 535, // 121: wg.cosmo.platform.v1.UpdateSubgraphRequest.websocket_subprotocol:type_name -> wg.cosmo.common.GraphQLWebsocketSubprotocol 19, // 122: wg.cosmo.platform.v1.UpdateSubgraphResponse.response:type_name -> wg.cosmo.platform.v1.Response 49, // 123: wg.cosmo.platform.v1.UpdateSubgraphResponse.compositionErrors:type_name -> wg.cosmo.platform.v1.CompositionError 51, // 124: wg.cosmo.platform.v1.UpdateSubgraphResponse.deploymentErrors:type_name -> wg.cosmo.platform.v1.DeploymentError @@ -37622,8 +37736,8 @@ var file_wg_cosmo_platform_v1_platform_proto_depIdxs = []int32{ 49, // 127: wg.cosmo.platform.v1.UpdateFederatedGraphResponse.compositionErrors:type_name -> wg.cosmo.platform.v1.CompositionError 51, // 128: wg.cosmo.platform.v1.UpdateFederatedGraphResponse.deploymentErrors:type_name -> wg.cosmo.platform.v1.DeploymentError 50, // 129: wg.cosmo.platform.v1.UpdateFederatedGraphResponse.compositionWarnings:type_name -> wg.cosmo.platform.v1.CompositionWarning - 533, // 130: wg.cosmo.platform.v1.UpdateMonographRequest.subscription_protocol:type_name -> wg.cosmo.common.GraphQLSubscriptionProtocol - 534, // 131: wg.cosmo.platform.v1.UpdateMonographRequest.websocket_subprotocol:type_name -> wg.cosmo.common.GraphQLWebsocketSubprotocol + 534, // 130: wg.cosmo.platform.v1.UpdateMonographRequest.subscription_protocol:type_name -> wg.cosmo.common.GraphQLSubscriptionProtocol + 535, // 131: wg.cosmo.platform.v1.UpdateMonographRequest.websocket_subprotocol:type_name -> wg.cosmo.common.GraphQLWebsocketSubprotocol 19, // 132: wg.cosmo.platform.v1.UpdateMonographResponse.response:type_name -> wg.cosmo.platform.v1.Response 19, // 133: wg.cosmo.platform.v1.CheckFederatedGraphResponse.response:type_name -> wg.cosmo.platform.v1.Response 49, // 134: wg.cosmo.platform.v1.CheckFederatedGraphResponse.compositionErrors:type_name -> wg.cosmo.platform.v1.CompositionError @@ -37644,7 +37758,7 @@ var file_wg_cosmo_platform_v1_platform_proto_depIdxs = []int32{ 116, // 149: wg.cosmo.platform.v1.AnalyticsViewResultFilter.options:type_name -> wg.cosmo.platform.v1.AnalyticsViewResultFilterOption 4, // 150: wg.cosmo.platform.v1.AnalyticsViewResultFilter.custom_options:type_name -> wg.cosmo.platform.v1.CustomOptions 6, // 151: wg.cosmo.platform.v1.AnalyticsViewResultFilterOption.operator:type_name -> wg.cosmo.platform.v1.AnalyticsViewFilterOperator - 505, // 152: wg.cosmo.platform.v1.AnalyticsViewRow.value:type_name -> wg.cosmo.platform.v1.AnalyticsViewRow.ValueEntry + 506, // 152: wg.cosmo.platform.v1.AnalyticsViewRow.value:type_name -> wg.cosmo.platform.v1.AnalyticsViewRow.ValueEntry 19, // 153: wg.cosmo.platform.v1.GetAnalyticsViewResponse.response:type_name -> wg.cosmo.platform.v1.Response 113, // 154: wg.cosmo.platform.v1.GetAnalyticsViewResponse.view:type_name -> wg.cosmo.platform.v1.AnalyticsViewResult 19, // 155: wg.cosmo.platform.v1.GetDashboardAnalyticsViewResponse.response:type_name -> wg.cosmo.platform.v1.Response @@ -37659,12 +37773,12 @@ var file_wg_cosmo_platform_v1_platform_proto_depIdxs = []int32{ 19, // 164: wg.cosmo.platform.v1.GetOrganizationGroupsResponse.response:type_name -> wg.cosmo.platform.v1.Response 129, // 165: wg.cosmo.platform.v1.GetOrganizationGroupsResponse.groups:type_name -> wg.cosmo.platform.v1.OrganizationGroup 19, // 166: wg.cosmo.platform.v1.GetOrganizationGroupMembersResponse.response:type_name -> wg.cosmo.platform.v1.Response - 506, // 167: wg.cosmo.platform.v1.GetOrganizationGroupMembersResponse.members:type_name -> wg.cosmo.platform.v1.GetOrganizationGroupMembersResponse.GroupMember - 507, // 168: wg.cosmo.platform.v1.GetOrganizationGroupMembersResponse.apiKeys:type_name -> wg.cosmo.platform.v1.GetOrganizationGroupMembersResponse.GroupApiKey - 508, // 169: wg.cosmo.platform.v1.UpdateOrganizationGroupRequest.rules:type_name -> wg.cosmo.platform.v1.UpdateOrganizationGroupRequest.GroupRule + 507, // 167: wg.cosmo.platform.v1.GetOrganizationGroupMembersResponse.members:type_name -> wg.cosmo.platform.v1.GetOrganizationGroupMembersResponse.GroupMember + 508, // 168: wg.cosmo.platform.v1.GetOrganizationGroupMembersResponse.apiKeys:type_name -> wg.cosmo.platform.v1.GetOrganizationGroupMembersResponse.GroupApiKey + 509, // 169: wg.cosmo.platform.v1.UpdateOrganizationGroupRequest.rules:type_name -> wg.cosmo.platform.v1.UpdateOrganizationGroupRequest.GroupRule 19, // 170: wg.cosmo.platform.v1.UpdateOrganizationGroupResponse.response:type_name -> wg.cosmo.platform.v1.Response 19, // 171: wg.cosmo.platform.v1.DeleteOrganizationGroupResponse.response:type_name -> wg.cosmo.platform.v1.Response - 509, // 172: wg.cosmo.platform.v1.OrgMember.groups:type_name -> wg.cosmo.platform.v1.OrgMember.Group + 510, // 172: wg.cosmo.platform.v1.OrgMember.groups:type_name -> wg.cosmo.platform.v1.OrgMember.Group 107, // 173: wg.cosmo.platform.v1.GetPendingOrganizationMembersRequest.pagination:type_name -> wg.cosmo.platform.v1.Pagination 19, // 174: wg.cosmo.platform.v1.GetPendingOrganizationMembersResponse.response:type_name -> wg.cosmo.platform.v1.Response 141, // 175: wg.cosmo.platform.v1.GetPendingOrganizationMembersResponse.pendingInvitations:type_name -> wg.cosmo.platform.v1.PendingOrgInvitation @@ -37674,7 +37788,7 @@ var file_wg_cosmo_platform_v1_platform_proto_depIdxs = []int32{ 19, // 179: wg.cosmo.platform.v1.InviteUserResponse.response:type_name -> wg.cosmo.platform.v1.Response 19, // 180: wg.cosmo.platform.v1.InviteUsersResponse.response:type_name -> wg.cosmo.platform.v1.Response 149, // 181: wg.cosmo.platform.v1.InviteUsersResponse.invitationErrors:type_name -> wg.cosmo.platform.v1.InviteUsersInvitationError - 510, // 182: wg.cosmo.platform.v1.APIKey.group:type_name -> wg.cosmo.platform.v1.APIKey.Group + 511, // 182: wg.cosmo.platform.v1.APIKey.group:type_name -> wg.cosmo.platform.v1.APIKey.Group 19, // 183: wg.cosmo.platform.v1.GetAPIKeysResponse.response:type_name -> wg.cosmo.platform.v1.Response 151, // 184: wg.cosmo.platform.v1.GetAPIKeysResponse.apiKeys:type_name -> wg.cosmo.platform.v1.APIKey 7, // 185: wg.cosmo.platform.v1.CreateAPIKeyRequest.expires:type_name -> wg.cosmo.platform.v1.ExpiresAt @@ -37684,7 +37798,7 @@ var file_wg_cosmo_platform_v1_platform_proto_depIdxs = []int32{ 19, // 189: wg.cosmo.platform.v1.RemoveOrganizationMemberResponse.response:type_name -> wg.cosmo.platform.v1.Response 19, // 190: wg.cosmo.platform.v1.RemoveInvitationResponse.response:type_name -> wg.cosmo.platform.v1.Response 19, // 191: wg.cosmo.platform.v1.MigrateFromApolloResponse.response:type_name -> wg.cosmo.platform.v1.Response - 511, // 192: wg.cosmo.platform.v1.Span.attributes:type_name -> wg.cosmo.platform.v1.Span.AttributesEntry + 512, // 192: wg.cosmo.platform.v1.Span.attributes:type_name -> wg.cosmo.platform.v1.Span.AttributesEntry 19, // 193: wg.cosmo.platform.v1.GetTraceResponse.response:type_name -> wg.cosmo.platform.v1.Response 166, // 194: wg.cosmo.platform.v1.GetTraceResponse.spans:type_name -> wg.cosmo.platform.v1.Span 19, // 195: wg.cosmo.platform.v1.WhoAmIResponse.response:type_name -> wg.cosmo.platform.v1.Response @@ -37700,29 +37814,29 @@ var file_wg_cosmo_platform_v1_platform_proto_depIdxs = []int32{ 19, // 205: wg.cosmo.platform.v1.PublishPersistedOperationsResponse.response:type_name -> wg.cosmo.platform.v1.Response 181, // 206: wg.cosmo.platform.v1.PublishPersistedOperationsResponse.operations:type_name -> wg.cosmo.platform.v1.PublishedOperation 19, // 207: wg.cosmo.platform.v1.DeletePersistedOperationResponse.response:type_name -> wg.cosmo.platform.v1.Response - 512, // 208: wg.cosmo.platform.v1.DeletePersistedOperationResponse.operation:type_name -> wg.cosmo.platform.v1.DeletePersistedOperationResponse.Operation + 513, // 208: wg.cosmo.platform.v1.DeletePersistedOperationResponse.operation:type_name -> wg.cosmo.platform.v1.DeletePersistedOperationResponse.Operation 19, // 209: wg.cosmo.platform.v1.CheckPersistedOperationTrafficResponse.response:type_name -> wg.cosmo.platform.v1.Response - 513, // 210: wg.cosmo.platform.v1.CheckPersistedOperationTrafficResponse.operation:type_name -> wg.cosmo.platform.v1.CheckPersistedOperationTrafficResponse.Operation + 514, // 210: wg.cosmo.platform.v1.CheckPersistedOperationTrafficResponse.operation:type_name -> wg.cosmo.platform.v1.CheckPersistedOperationTrafficResponse.Operation 19, // 211: wg.cosmo.platform.v1.GetPersistedOperationsResponse.response:type_name -> wg.cosmo.platform.v1.Response - 514, // 212: wg.cosmo.platform.v1.GetPersistedOperationsResponse.operations:type_name -> wg.cosmo.platform.v1.GetPersistedOperationsResponse.Operation - 535, // 213: wg.cosmo.platform.v1.CreateOrganizationWebhookConfigRequest.events_meta:type_name -> wg.cosmo.notifications.EventMeta + 515, // 212: wg.cosmo.platform.v1.GetPersistedOperationsResponse.operations:type_name -> wg.cosmo.platform.v1.GetPersistedOperationsResponse.Operation + 536, // 213: wg.cosmo.platform.v1.CreateOrganizationWebhookConfigRequest.events_meta:type_name -> wg.cosmo.notifications.EventMeta 19, // 214: wg.cosmo.platform.v1.CreateOrganizationWebhookConfigResponse.response:type_name -> wg.cosmo.platform.v1.Response 19, // 215: wg.cosmo.platform.v1.GetOrganizationWebhookConfigsResponse.response:type_name -> wg.cosmo.platform.v1.Response - 515, // 216: wg.cosmo.platform.v1.GetOrganizationWebhookConfigsResponse.configs:type_name -> wg.cosmo.platform.v1.GetOrganizationWebhookConfigsResponse.Config + 516, // 216: wg.cosmo.platform.v1.GetOrganizationWebhookConfigsResponse.configs:type_name -> wg.cosmo.platform.v1.GetOrganizationWebhookConfigsResponse.Config 19, // 217: wg.cosmo.platform.v1.GetOrganizationWebhookMetaResponse.response:type_name -> wg.cosmo.platform.v1.Response - 535, // 218: wg.cosmo.platform.v1.GetOrganizationWebhookMetaResponse.events_meta:type_name -> wg.cosmo.notifications.EventMeta - 535, // 219: wg.cosmo.platform.v1.UpdateOrganizationWebhookConfigRequest.events_meta:type_name -> wg.cosmo.notifications.EventMeta + 536, // 218: wg.cosmo.platform.v1.GetOrganizationWebhookMetaResponse.events_meta:type_name -> wg.cosmo.notifications.EventMeta + 536, // 219: wg.cosmo.platform.v1.UpdateOrganizationWebhookConfigRequest.events_meta:type_name -> wg.cosmo.notifications.EventMeta 19, // 220: wg.cosmo.platform.v1.UpdateOrganizationWebhookConfigResponse.response:type_name -> wg.cosmo.platform.v1.Response 19, // 221: wg.cosmo.platform.v1.DeleteOrganizationWebhookConfigResponse.response:type_name -> wg.cosmo.platform.v1.Response - 535, // 222: wg.cosmo.platform.v1.CreateIntegrationRequest.eventsMeta:type_name -> wg.cosmo.notifications.EventMeta + 536, // 222: wg.cosmo.platform.v1.CreateIntegrationRequest.eventsMeta:type_name -> wg.cosmo.notifications.EventMeta 19, // 223: wg.cosmo.platform.v1.CreateIntegrationResponse.response:type_name -> wg.cosmo.platform.v1.Response 11, // 224: wg.cosmo.platform.v1.IntegrationConfig.type:type_name -> wg.cosmo.platform.v1.IntegrationType 203, // 225: wg.cosmo.platform.v1.IntegrationConfig.slackIntegrationConfig:type_name -> wg.cosmo.platform.v1.SlackIntegrationConfig 204, // 226: wg.cosmo.platform.v1.Integration.integrationConfig:type_name -> wg.cosmo.platform.v1.IntegrationConfig - 535, // 227: wg.cosmo.platform.v1.Integration.eventsMeta:type_name -> wg.cosmo.notifications.EventMeta + 536, // 227: wg.cosmo.platform.v1.Integration.eventsMeta:type_name -> wg.cosmo.notifications.EventMeta 19, // 228: wg.cosmo.platform.v1.GetOrganizationIntegrationsResponse.response:type_name -> wg.cosmo.platform.v1.Response 205, // 229: wg.cosmo.platform.v1.GetOrganizationIntegrationsResponse.integrations:type_name -> wg.cosmo.platform.v1.Integration - 535, // 230: wg.cosmo.platform.v1.UpdateIntegrationConfigRequest.events_meta:type_name -> wg.cosmo.notifications.EventMeta + 536, // 230: wg.cosmo.platform.v1.UpdateIntegrationConfigRequest.events_meta:type_name -> wg.cosmo.notifications.EventMeta 19, // 231: wg.cosmo.platform.v1.UpdateIntegrationConfigResponse.response:type_name -> wg.cosmo.platform.v1.Response 19, // 232: wg.cosmo.platform.v1.DeleteIntegrationResponse.response:type_name -> wg.cosmo.platform.v1.Response 19, // 233: wg.cosmo.platform.v1.DeleteOrganizationResponse.response:type_name -> wg.cosmo.platform.v1.Response @@ -37735,7 +37849,7 @@ var file_wg_cosmo_platform_v1_platform_proto_depIdxs = []int32{ 19, // 240: wg.cosmo.platform.v1.GetOrganizationBySlugResponse.response:type_name -> wg.cosmo.platform.v1.Response 223, // 241: wg.cosmo.platform.v1.GetOrganizationBySlugResponse.organization:type_name -> wg.cosmo.platform.v1.Organization 19, // 242: wg.cosmo.platform.v1.GetBillingPlansResponse.response:type_name -> wg.cosmo.platform.v1.Response - 517, // 243: wg.cosmo.platform.v1.GetBillingPlansResponse.plans:type_name -> wg.cosmo.platform.v1.GetBillingPlansResponse.BillingPlan + 518, // 243: wg.cosmo.platform.v1.GetBillingPlansResponse.plans:type_name -> wg.cosmo.platform.v1.GetBillingPlansResponse.BillingPlan 19, // 244: wg.cosmo.platform.v1.CreateCheckoutSessionResponse.response:type_name -> wg.cosmo.platform.v1.Response 19, // 245: wg.cosmo.platform.v1.CreateBillingPortalSessionResponse.response:type_name -> wg.cosmo.platform.v1.Response 19, // 246: wg.cosmo.platform.v1.UpgradePlanResponse.response:type_name -> wg.cosmo.platform.v1.Response @@ -37776,7 +37890,7 @@ var file_wg_cosmo_platform_v1_platform_proto_depIdxs = []int32{ 19, // 281: wg.cosmo.platform.v1.GetOperationOverridesResponse.response:type_name -> wg.cosmo.platform.v1.Response 253, // 282: wg.cosmo.platform.v1.GetOperationOverridesResponse.changes:type_name -> wg.cosmo.platform.v1.OverrideChange 19, // 283: wg.cosmo.platform.v1.GetAllOverridesResponse.response:type_name -> wg.cosmo.platform.v1.Response - 518, // 284: wg.cosmo.platform.v1.GetAllOverridesResponse.overrides:type_name -> wg.cosmo.platform.v1.GetAllOverridesResponse.Override + 519, // 284: wg.cosmo.platform.v1.GetAllOverridesResponse.overrides:type_name -> wg.cosmo.platform.v1.GetAllOverridesResponse.Override 32, // 285: wg.cosmo.platform.v1.IsGitHubAppInstalledRequest.git_info:type_name -> wg.cosmo.platform.v1.GitInfo 19, // 286: wg.cosmo.platform.v1.IsGitHubAppInstalledResponse.response:type_name -> wg.cosmo.platform.v1.Response 268, // 287: wg.cosmo.platform.v1.CreateOIDCProviderRequest.mappers:type_name -> wg.cosmo.platform.v1.GroupMapper @@ -37806,9 +37920,9 @@ var file_wg_cosmo_platform_v1_platform_proto_depIdxs = []int32{ 19, // 311: wg.cosmo.platform.v1.GetChangelogBySchemaVersionResponse.response:type_name -> wg.cosmo.platform.v1.Response 96, // 312: wg.cosmo.platform.v1.GetChangelogBySchemaVersionResponse.changelog:type_name -> wg.cosmo.platform.v1.FederatedGraphChangelogOutput 19, // 313: wg.cosmo.platform.v1.GetUserAccessibleResourcesResponse.response:type_name -> wg.cosmo.platform.v1.Response - 519, // 314: wg.cosmo.platform.v1.GetUserAccessibleResourcesResponse.namespaces:type_name -> wg.cosmo.platform.v1.GetUserAccessibleResourcesResponse.Namespace - 520, // 315: wg.cosmo.platform.v1.GetUserAccessibleResourcesResponse.federatedGraphs:type_name -> wg.cosmo.platform.v1.GetUserAccessibleResourcesResponse.FederatedGraph - 521, // 316: wg.cosmo.platform.v1.GetUserAccessibleResourcesResponse.subgraphs:type_name -> wg.cosmo.platform.v1.GetUserAccessibleResourcesResponse.SubGraph + 520, // 314: wg.cosmo.platform.v1.GetUserAccessibleResourcesResponse.namespaces:type_name -> wg.cosmo.platform.v1.GetUserAccessibleResourcesResponse.Namespace + 521, // 315: wg.cosmo.platform.v1.GetUserAccessibleResourcesResponse.federatedGraphs:type_name -> wg.cosmo.platform.v1.GetUserAccessibleResourcesResponse.FederatedGraph + 522, // 316: wg.cosmo.platform.v1.GetUserAccessibleResourcesResponse.subgraphs:type_name -> wg.cosmo.platform.v1.GetUserAccessibleResourcesResponse.SubGraph 12, // 317: wg.cosmo.platform.v1.UpdateFeatureSettingsRequest.featureId:type_name -> wg.cosmo.platform.v1.Feature 19, // 318: wg.cosmo.platform.v1.UpdateFeatureSettingsResponse.response:type_name -> wg.cosmo.platform.v1.Response 19, // 319: wg.cosmo.platform.v1.GetSubgraphMembersResponse.response:type_name -> wg.cosmo.platform.v1.Response @@ -37823,7 +37937,7 @@ var file_wg_cosmo_platform_v1_platform_proto_depIdxs = []int32{ 19, // 328: wg.cosmo.platform.v1.DeleteClientResponse.response:type_name -> wg.cosmo.platform.v1.Response 313, // 329: wg.cosmo.platform.v1.DeleteClientResponse.client:type_name -> wg.cosmo.platform.v1.ClientInfo 111, // 330: wg.cosmo.platform.v1.GetFieldUsageRequest.dateRange:type_name -> wg.cosmo.platform.v1.DateRange - 523, // 331: wg.cosmo.platform.v1.ClientWithOperations.operations:type_name -> wg.cosmo.platform.v1.ClientWithOperations.Operation + 524, // 331: wg.cosmo.platform.v1.ClientWithOperations.operations:type_name -> wg.cosmo.platform.v1.ClientWithOperations.Operation 19, // 332: wg.cosmo.platform.v1.GetFieldUsageResponse.response:type_name -> wg.cosmo.platform.v1.Response 121, // 333: wg.cosmo.platform.v1.GetFieldUsageResponse.request_series:type_name -> wg.cosmo.platform.v1.RequestSeriesItem 321, // 334: wg.cosmo.platform.v1.GetFieldUsageResponse.clients:type_name -> wg.cosmo.platform.v1.ClientWithOperations @@ -37887,7 +38001,7 @@ var file_wg_cosmo_platform_v1_platform_proto_depIdxs = []int32{ 374, // 392: wg.cosmo.platform.v1.GetFeatureFlagsResponse.feature_flags:type_name -> wg.cosmo.platform.v1.FeatureFlag 19, // 393: wg.cosmo.platform.v1.GetFeatureFlagByNameResponse.response:type_name -> wg.cosmo.platform.v1.Response 374, // 394: wg.cosmo.platform.v1.GetFeatureFlagByNameResponse.feature_flag:type_name -> wg.cosmo.platform.v1.FeatureFlag - 524, // 395: wg.cosmo.platform.v1.GetFeatureFlagByNameResponse.federated_graphs:type_name -> wg.cosmo.platform.v1.GetFeatureFlagByNameResponse.FfFederatedGraph + 525, // 395: wg.cosmo.platform.v1.GetFeatureFlagByNameResponse.federated_graphs:type_name -> wg.cosmo.platform.v1.GetFeatureFlagByNameResponse.FfFederatedGraph 71, // 396: wg.cosmo.platform.v1.GetFeatureFlagByNameResponse.feature_subgraphs:type_name -> wg.cosmo.platform.v1.Subgraph 19, // 397: wg.cosmo.platform.v1.GetFeatureSubgraphsByFeatureFlagResponse.response:type_name -> wg.cosmo.platform.v1.Response 71, // 398: wg.cosmo.platform.v1.GetFeatureSubgraphsByFeatureFlagResponse.feature_subgraphs:type_name -> wg.cosmo.platform.v1.Subgraph @@ -37897,536 +38011,537 @@ var file_wg_cosmo_platform_v1_platform_proto_depIdxs = []int32{ 374, // 402: wg.cosmo.platform.v1.GetFeatureFlagsByFederatedGraphResponse.feature_flags:type_name -> wg.cosmo.platform.v1.FeatureFlag 19, // 403: wg.cosmo.platform.v1.GetFeatureFlagsInLatestCompositionByFederatedGraphResponse.response:type_name -> wg.cosmo.platform.v1.Response 374, // 404: wg.cosmo.platform.v1.GetFeatureFlagsInLatestCompositionByFederatedGraphResponse.feature_flags:type_name -> wg.cosmo.platform.v1.FeatureFlag - 19, // 405: wg.cosmo.platform.v1.GetFeatureSubgraphsByFederatedGraphResponse.response:type_name -> wg.cosmo.platform.v1.Response - 71, // 406: wg.cosmo.platform.v1.GetFeatureSubgraphsByFederatedGraphResponse.feature_subgraphs:type_name -> wg.cosmo.platform.v1.Subgraph - 107, // 407: wg.cosmo.platform.v1.GetOrganizationWebhookHistoryRequest.pagination:type_name -> wg.cosmo.platform.v1.Pagination - 111, // 408: wg.cosmo.platform.v1.GetOrganizationWebhookHistoryRequest.date_range:type_name -> wg.cosmo.platform.v1.DateRange - 19, // 409: wg.cosmo.platform.v1.GetOrganizationWebhookHistoryResponse.response:type_name -> wg.cosmo.platform.v1.Response - 390, // 410: wg.cosmo.platform.v1.GetOrganizationWebhookHistoryResponse.deliveries:type_name -> wg.cosmo.platform.v1.WebhookDelivery - 19, // 411: wg.cosmo.platform.v1.RedeliverWebhookResponse.response:type_name -> wg.cosmo.platform.v1.Response - 19, // 412: wg.cosmo.platform.v1.GetWebhookDeliveryDetailsResponse.response:type_name -> wg.cosmo.platform.v1.Response - 390, // 413: wg.cosmo.platform.v1.GetWebhookDeliveryDetailsResponse.delivery:type_name -> wg.cosmo.platform.v1.WebhookDelivery - 19, // 414: wg.cosmo.platform.v1.CreatePlaygroundScriptResponse.response:type_name -> wg.cosmo.platform.v1.Response - 19, // 415: wg.cosmo.platform.v1.DeletePlaygroundScriptResponse.response:type_name -> wg.cosmo.platform.v1.Response - 19, // 416: wg.cosmo.platform.v1.UpdatePlaygroundScriptResponse.response:type_name -> wg.cosmo.platform.v1.Response - 19, // 417: wg.cosmo.platform.v1.GetPlaygroundScriptsResponse.response:type_name -> wg.cosmo.platform.v1.Response - 403, // 418: wg.cosmo.platform.v1.GetPlaygroundScriptsResponse.scripts:type_name -> wg.cosmo.platform.v1.PlaygroundScript - 19, // 419: wg.cosmo.platform.v1.GetFederatedGraphByIdResponse.response:type_name -> wg.cosmo.platform.v1.Response - 66, // 420: wg.cosmo.platform.v1.GetFederatedGraphByIdResponse.graph:type_name -> wg.cosmo.platform.v1.FederatedGraph - 71, // 421: wg.cosmo.platform.v1.GetFederatedGraphByIdResponse.subgraphs:type_name -> wg.cosmo.platform.v1.Subgraph - 374, // 422: wg.cosmo.platform.v1.GetFederatedGraphByIdResponse.featureFlagsInLatestValidComposition:type_name -> wg.cosmo.platform.v1.FeatureFlag - 71, // 423: wg.cosmo.platform.v1.GetFederatedGraphByIdResponse.featureSubgraphs:type_name -> wg.cosmo.platform.v1.Subgraph - 19, // 424: wg.cosmo.platform.v1.GetSubgraphByIdResponse.response:type_name -> wg.cosmo.platform.v1.Response - 71, // 425: wg.cosmo.platform.v1.GetSubgraphByIdResponse.graph:type_name -> wg.cosmo.platform.v1.Subgraph - 306, // 426: wg.cosmo.platform.v1.GetSubgraphByIdResponse.members:type_name -> wg.cosmo.platform.v1.SubgraphMember - 19, // 427: wg.cosmo.platform.v1.GetNamespaceResponse.response:type_name -> wg.cosmo.platform.v1.Response - 330, // 428: wg.cosmo.platform.v1.GetNamespaceResponse.namespace:type_name -> wg.cosmo.platform.v1.Namespace - 412, // 429: wg.cosmo.platform.v1.WorkspaceNamespace.graphs:type_name -> wg.cosmo.platform.v1.WorkspaceFederatedGraph - 413, // 430: wg.cosmo.platform.v1.WorkspaceNamespace.subgraphs:type_name -> wg.cosmo.platform.v1.WorkspaceSubgraph - 19, // 431: wg.cosmo.platform.v1.GetWorkspaceResponse.response:type_name -> wg.cosmo.platform.v1.Response - 411, // 432: wg.cosmo.platform.v1.GetWorkspaceResponse.namespaces:type_name -> wg.cosmo.platform.v1.WorkspaceNamespace - 19, // 433: wg.cosmo.platform.v1.PushCacheWarmerOperationResponse.response:type_name -> wg.cosmo.platform.v1.Response - 19, // 434: wg.cosmo.platform.v1.GetCacheWarmerOperationsResponse.response:type_name -> wg.cosmo.platform.v1.Response - 419, // 435: wg.cosmo.platform.v1.GetCacheWarmerOperationsResponse.operations:type_name -> wg.cosmo.platform.v1.CacheWarmerOperation - 19, // 436: wg.cosmo.platform.v1.ComputeCacheWarmerOperationsResponse.response:type_name -> wg.cosmo.platform.v1.Response - 19, // 437: wg.cosmo.platform.v1.ConfigureCacheWarmerResponse.response:type_name -> wg.cosmo.platform.v1.Response - 19, // 438: wg.cosmo.platform.v1.GetCacheWarmerConfigResponse.response:type_name -> wg.cosmo.platform.v1.Response - 19, // 439: wg.cosmo.platform.v1.GetSubgraphCheckExtensionsConfigResponse.response:type_name -> wg.cosmo.platform.v1.Response - 19, // 440: wg.cosmo.platform.v1.ConfigureSubgraphCheckExtensionsResponse.response:type_name -> wg.cosmo.platform.v1.Response - 19, // 441: wg.cosmo.platform.v1.DeleteCacheWarmerOperationResponse.response:type_name -> wg.cosmo.platform.v1.Response - 19, // 442: wg.cosmo.platform.v1.ListRouterCompatibilityVersionsResponse.response:type_name -> wg.cosmo.platform.v1.Response - 19, // 443: wg.cosmo.platform.v1.SetGraphRouterCompatibilityVersionResponse.response:type_name -> wg.cosmo.platform.v1.Response - 49, // 444: wg.cosmo.platform.v1.SetGraphRouterCompatibilityVersionResponse.compositionErrors:type_name -> wg.cosmo.platform.v1.CompositionError - 51, // 445: wg.cosmo.platform.v1.SetGraphRouterCompatibilityVersionResponse.deploymentErrors:type_name -> wg.cosmo.platform.v1.DeploymentError - 50, // 446: wg.cosmo.platform.v1.SetGraphRouterCompatibilityVersionResponse.compositionWarnings:type_name -> wg.cosmo.platform.v1.CompositionWarning - 19, // 447: wg.cosmo.platform.v1.GetProposedSchemaOfCheckedSubgraphResponse.response:type_name -> wg.cosmo.platform.v1.Response - 440, // 448: wg.cosmo.platform.v1.Proposal.subgraphs:type_name -> wg.cosmo.platform.v1.ProposalSubgraph - 13, // 449: wg.cosmo.platform.v1.Proposal.origin:type_name -> wg.cosmo.platform.v1.ProposalOrigin - 18, // 450: wg.cosmo.platform.v1.ProposalSubgraph.labels:type_name -> wg.cosmo.platform.v1.Label - 440, // 451: wg.cosmo.platform.v1.CreateProposalRequest.subgraphs:type_name -> wg.cosmo.platform.v1.ProposalSubgraph - 14, // 452: wg.cosmo.platform.v1.CreateProposalRequest.namingConvention:type_name -> wg.cosmo.platform.v1.ProposalNamingConvention - 13, // 453: wg.cosmo.platform.v1.CreateProposalRequest.origin:type_name -> wg.cosmo.platform.v1.ProposalOrigin - 19, // 454: wg.cosmo.platform.v1.CreateProposalResponse.response:type_name -> wg.cosmo.platform.v1.Response - 47, // 455: wg.cosmo.platform.v1.CreateProposalResponse.breakingChanges:type_name -> wg.cosmo.platform.v1.SchemaChange - 47, // 456: wg.cosmo.platform.v1.CreateProposalResponse.nonBreakingChanges:type_name -> wg.cosmo.platform.v1.SchemaChange - 49, // 457: wg.cosmo.platform.v1.CreateProposalResponse.compositionErrors:type_name -> wg.cosmo.platform.v1.CompositionError - 50, // 458: wg.cosmo.platform.v1.CreateProposalResponse.compositionWarnings:type_name -> wg.cosmo.platform.v1.CompositionWarning - 55, // 459: wg.cosmo.platform.v1.CreateProposalResponse.lintErrors:type_name -> wg.cosmo.platform.v1.LintIssue - 55, // 460: wg.cosmo.platform.v1.CreateProposalResponse.lintWarnings:type_name -> wg.cosmo.platform.v1.LintIssue - 56, // 461: wg.cosmo.platform.v1.CreateProposalResponse.graphPruneErrors:type_name -> wg.cosmo.platform.v1.GraphPruningIssue - 56, // 462: wg.cosmo.platform.v1.CreateProposalResponse.graphPruneWarnings:type_name -> wg.cosmo.platform.v1.GraphPruningIssue - 52, // 463: wg.cosmo.platform.v1.CreateProposalResponse.operationUsageStats:type_name -> wg.cosmo.platform.v1.CheckOperationUsageStats - 48, // 464: wg.cosmo.platform.v1.CreateProposalResponse.composedSchemaBreakingChanges:type_name -> wg.cosmo.platform.v1.FederatedGraphSchemaChange - 19, // 465: wg.cosmo.platform.v1.GetProposalResponse.response:type_name -> wg.cosmo.platform.v1.Response - 439, // 466: wg.cosmo.platform.v1.GetProposalResponse.proposal:type_name -> wg.cosmo.platform.v1.Proposal - 525, // 467: wg.cosmo.platform.v1.GetProposalResponse.currentSubgraphs:type_name -> wg.cosmo.platform.v1.GetProposalResponse.CurrentSubgraph - 19, // 468: wg.cosmo.platform.v1.GetProposalsByFederatedGraphResponse.response:type_name -> wg.cosmo.platform.v1.Response - 439, // 469: wg.cosmo.platform.v1.GetProposalsByFederatedGraphResponse.proposals:type_name -> wg.cosmo.platform.v1.Proposal - 19, // 470: wg.cosmo.platform.v1.GetProposalChecksResponse.response:type_name -> wg.cosmo.platform.v1.Response - 85, // 471: wg.cosmo.platform.v1.GetProposalChecksResponse.checks:type_name -> wg.cosmo.platform.v1.SchemaCheck - 526, // 472: wg.cosmo.platform.v1.UpdateProposalRequest.updatedSubgraphs:type_name -> wg.cosmo.platform.v1.UpdateProposalRequest.UpdateProposalSubgraphs - 19, // 473: wg.cosmo.platform.v1.UpdateProposalResponse.response:type_name -> wg.cosmo.platform.v1.Response - 47, // 474: wg.cosmo.platform.v1.UpdateProposalResponse.breakingChanges:type_name -> wg.cosmo.platform.v1.SchemaChange - 47, // 475: wg.cosmo.platform.v1.UpdateProposalResponse.nonBreakingChanges:type_name -> wg.cosmo.platform.v1.SchemaChange - 49, // 476: wg.cosmo.platform.v1.UpdateProposalResponse.compositionErrors:type_name -> wg.cosmo.platform.v1.CompositionError - 50, // 477: wg.cosmo.platform.v1.UpdateProposalResponse.compositionWarnings:type_name -> wg.cosmo.platform.v1.CompositionWarning - 55, // 478: wg.cosmo.platform.v1.UpdateProposalResponse.lintErrors:type_name -> wg.cosmo.platform.v1.LintIssue - 55, // 479: wg.cosmo.platform.v1.UpdateProposalResponse.lintWarnings:type_name -> wg.cosmo.platform.v1.LintIssue - 56, // 480: wg.cosmo.platform.v1.UpdateProposalResponse.graphPruneErrors:type_name -> wg.cosmo.platform.v1.GraphPruningIssue - 56, // 481: wg.cosmo.platform.v1.UpdateProposalResponse.graphPruneWarnings:type_name -> wg.cosmo.platform.v1.GraphPruningIssue - 52, // 482: wg.cosmo.platform.v1.UpdateProposalResponse.operationUsageStats:type_name -> wg.cosmo.platform.v1.CheckOperationUsageStats - 48, // 483: wg.cosmo.platform.v1.UpdateProposalResponse.composedSchemaBreakingChanges:type_name -> wg.cosmo.platform.v1.FederatedGraphSchemaChange - 19, // 484: wg.cosmo.platform.v1.EnableProposalsForNamespaceResponse.response:type_name -> wg.cosmo.platform.v1.Response - 1, // 485: wg.cosmo.platform.v1.ConfigureNamespaceProposalConfigRequest.checkSeverityLevel:type_name -> wg.cosmo.platform.v1.LintSeverity - 1, // 486: wg.cosmo.platform.v1.ConfigureNamespaceProposalConfigRequest.publishSeverityLevel:type_name -> wg.cosmo.platform.v1.LintSeverity - 19, // 487: wg.cosmo.platform.v1.ConfigureNamespaceProposalConfigResponse.response:type_name -> wg.cosmo.platform.v1.Response - 19, // 488: wg.cosmo.platform.v1.GetNamespaceProposalConfigResponse.response:type_name -> wg.cosmo.platform.v1.Response - 1, // 489: wg.cosmo.platform.v1.GetNamespaceProposalConfigResponse.checkSeverityLevel:type_name -> wg.cosmo.platform.v1.LintSeverity - 1, // 490: wg.cosmo.platform.v1.GetNamespaceProposalConfigResponse.publishSeverityLevel:type_name -> wg.cosmo.platform.v1.LintSeverity - 457, // 491: wg.cosmo.platform.v1.UpdateNamespaceLoginMethodsRequest.mappings:type_name -> wg.cosmo.platform.v1.NamespaceLoginMethodMapping - 19, // 492: wg.cosmo.platform.v1.UpdateNamespaceLoginMethodsResponse.response:type_name -> wg.cosmo.platform.v1.Response - 19, // 493: wg.cosmo.platform.v1.ListNamespaceLoginMethodsResponse.response:type_name -> wg.cosmo.platform.v1.Response - 457, // 494: wg.cosmo.platform.v1.ListNamespaceLoginMethodsResponse.mappings:type_name -> wg.cosmo.platform.v1.NamespaceLoginMethodMapping - 19, // 495: wg.cosmo.platform.v1.GetOrganizationLoginMethodsResponse.response:type_name -> wg.cosmo.platform.v1.Response - 462, // 496: wg.cosmo.platform.v1.GetOrganizationLoginMethodsResponse.login_methods:type_name -> wg.cosmo.platform.v1.OrganizationLoginMethods - 19, // 497: wg.cosmo.platform.v1.UpdateOrganizationLoginMethodsResponse.response:type_name -> wg.cosmo.platform.v1.Response - 330, // 498: wg.cosmo.platform.v1.UpdateOrganizationLoginMethodsResponse.affected_namespaces:type_name -> wg.cosmo.platform.v1.Namespace - 15, // 499: wg.cosmo.platform.v1.GetOperationsRequest.fetchBasedOn:type_name -> wg.cosmo.platform.v1.OperationsFetchBasedOn - 111, // 500: wg.cosmo.platform.v1.GetOperationsRequest.dateRange:type_name -> wg.cosmo.platform.v1.DateRange - 16, // 501: wg.cosmo.platform.v1.GetOperationsRequest.sortDirection:type_name -> wg.cosmo.platform.v1.SortDirection - 19, // 502: wg.cosmo.platform.v1.GetOperationsResponse.response:type_name -> wg.cosmo.platform.v1.Response - 527, // 503: wg.cosmo.platform.v1.GetOperationsResponse.operations:type_name -> wg.cosmo.platform.v1.GetOperationsResponse.Operation - 19, // 504: wg.cosmo.platform.v1.GetClientsFromAnalyticsResponse.response:type_name -> wg.cosmo.platform.v1.Response - 528, // 505: wg.cosmo.platform.v1.GetClientsFromAnalyticsResponse.clients:type_name -> wg.cosmo.platform.v1.GetClientsFromAnalyticsResponse.Client - 111, // 506: wg.cosmo.platform.v1.GetOperationClientsRequest.dateRange:type_name -> wg.cosmo.platform.v1.DateRange - 19, // 507: wg.cosmo.platform.v1.GetOperationClientsResponse.response:type_name -> wg.cosmo.platform.v1.Response - 529, // 508: wg.cosmo.platform.v1.GetOperationClientsResponse.clients:type_name -> wg.cosmo.platform.v1.GetOperationClientsResponse.Client - 111, // 509: wg.cosmo.platform.v1.GetOperationDeprecatedFieldsRequest.dateRange:type_name -> wg.cosmo.platform.v1.DateRange - 19, // 510: wg.cosmo.platform.v1.GetOperationDeprecatedFieldsResponse.response:type_name -> wg.cosmo.platform.v1.Response - 530, // 511: wg.cosmo.platform.v1.GetOperationDeprecatedFieldsResponse.deprecatedFields:type_name -> wg.cosmo.platform.v1.GetOperationDeprecatedFieldsResponse.DeprecatedField - 18, // 512: wg.cosmo.platform.v1.ValidateAndFetchPluginDataRequest.labels:type_name -> wg.cosmo.platform.v1.Label - 19, // 513: wg.cosmo.platform.v1.ValidateAndFetchPluginDataResponse.response:type_name -> wg.cosmo.platform.v1.Response - 19, // 514: wg.cosmo.platform.v1.LinkSubgraphResponse.response:type_name -> wg.cosmo.platform.v1.Response - 19, // 515: wg.cosmo.platform.v1.UnlinkSubgraphResponse.response:type_name -> wg.cosmo.platform.v1.Response - 19, // 516: wg.cosmo.platform.v1.VerifyAPIKeyGraphAccessResponse.response:type_name -> wg.cosmo.platform.v1.Response - 19, // 517: wg.cosmo.platform.v1.InitializeCosmoUserResponse.response:type_name -> wg.cosmo.platform.v1.Response - 19, // 518: wg.cosmo.platform.v1.ListOrganizationsResponse.response:type_name -> wg.cosmo.platform.v1.Response - 531, // 519: wg.cosmo.platform.v1.ListOrganizationsResponse.organizations:type_name -> wg.cosmo.platform.v1.ListOrganizationsResponse.OrganizationMembership - 19, // 520: wg.cosmo.platform.v1.RecomposeGraphResponse.response:type_name -> wg.cosmo.platform.v1.Response - 49, // 521: wg.cosmo.platform.v1.RecomposeGraphResponse.compositionErrors:type_name -> wg.cosmo.platform.v1.CompositionError - 51, // 522: wg.cosmo.platform.v1.RecomposeGraphResponse.deploymentErrors:type_name -> wg.cosmo.platform.v1.DeploymentError - 50, // 523: wg.cosmo.platform.v1.RecomposeGraphResponse.compositionWarnings:type_name -> wg.cosmo.platform.v1.CompositionWarning - 26, // 524: wg.cosmo.platform.v1.RecomposeGraphResponse.errorCounts:type_name -> wg.cosmo.platform.v1.SubgraphPublishStats - 19, // 525: wg.cosmo.platform.v1.RecomposeFeatureFlagResponse.response:type_name -> wg.cosmo.platform.v1.Response - 49, // 526: wg.cosmo.platform.v1.RecomposeFeatureFlagResponse.compositionErrors:type_name -> wg.cosmo.platform.v1.CompositionError - 51, // 527: wg.cosmo.platform.v1.RecomposeFeatureFlagResponse.deploymentErrors:type_name -> wg.cosmo.platform.v1.DeploymentError - 50, // 528: wg.cosmo.platform.v1.RecomposeFeatureFlagResponse.compositionWarnings:type_name -> wg.cosmo.platform.v1.CompositionWarning - 26, // 529: wg.cosmo.platform.v1.RecomposeFeatureFlagResponse.errorCounts:type_name -> wg.cosmo.platform.v1.SubgraphPublishStats - 19, // 530: wg.cosmo.platform.v1.GetOnboardingResponse.response:type_name -> wg.cosmo.platform.v1.Response - 19, // 531: wg.cosmo.platform.v1.CreateOnboardingResponse.response:type_name -> wg.cosmo.platform.v1.Response - 19, // 532: wg.cosmo.platform.v1.FinishOnboardingResponse.response:type_name -> wg.cosmo.platform.v1.Response - 18, // 533: wg.cosmo.platform.v1.SchemaCheck.CheckedSubgraph.labels:type_name -> wg.cosmo.platform.v1.Label - 47, // 534: wg.cosmo.platform.v1.GetCheckOperationsResponse.CheckOperation.impacting_changes:type_name -> wg.cosmo.platform.v1.SchemaChange - 118, // 535: wg.cosmo.platform.v1.AnalyticsViewRow.ValueEntry.value:type_name -> wg.cosmo.platform.v1.AnalyticsViewRowValue - 516, // 536: wg.cosmo.platform.v1.GetBillingPlansResponse.BillingPlan.features:type_name -> wg.cosmo.platform.v1.GetBillingPlansResponse.BillingPlanFeature - 66, // 537: wg.cosmo.platform.v1.GetFeatureFlagByNameResponse.FfFederatedGraph.federated_graph:type_name -> wg.cosmo.platform.v1.FederatedGraph - 440, // 538: wg.cosmo.platform.v1.UpdateProposalRequest.UpdateProposalSubgraphs.subgraphs:type_name -> wg.cosmo.platform.v1.ProposalSubgraph - 17, // 539: wg.cosmo.platform.v1.GetOperationsResponse.Operation.type:type_name -> wg.cosmo.platform.v1.GetOperationsResponse.OperationType - 396, // 540: wg.cosmo.platform.v1.PlatformService.CreatePlaygroundScript:input_type -> wg.cosmo.platform.v1.CreatePlaygroundScriptRequest - 398, // 541: wg.cosmo.platform.v1.PlatformService.DeletePlaygroundScript:input_type -> wg.cosmo.platform.v1.DeletePlaygroundScriptRequest - 400, // 542: wg.cosmo.platform.v1.PlatformService.UpdatePlaygroundScript:input_type -> wg.cosmo.platform.v1.UpdatePlaygroundScriptRequest - 402, // 543: wg.cosmo.platform.v1.PlatformService.GetPlaygroundScripts:input_type -> wg.cosmo.platform.v1.GetPlaygroundScriptsRequest - 324, // 544: wg.cosmo.platform.v1.PlatformService.CreateNamespace:input_type -> wg.cosmo.platform.v1.CreateNamespaceRequest - 326, // 545: wg.cosmo.platform.v1.PlatformService.DeleteNamespace:input_type -> wg.cosmo.platform.v1.DeleteNamespaceRequest - 328, // 546: wg.cosmo.platform.v1.PlatformService.RenameNamespace:input_type -> wg.cosmo.platform.v1.RenameNamespaceRequest - 331, // 547: wg.cosmo.platform.v1.PlatformService.GetNamespaces:input_type -> wg.cosmo.platform.v1.GetNamespacesRequest - 409, // 548: wg.cosmo.platform.v1.PlatformService.GetNamespace:input_type -> wg.cosmo.platform.v1.GetNamespaceRequest - 414, // 549: wg.cosmo.platform.v1.PlatformService.GetWorkspace:input_type -> wg.cosmo.platform.v1.GetWorkspaceRequest - 358, // 550: wg.cosmo.platform.v1.PlatformService.CreateContract:input_type -> wg.cosmo.platform.v1.CreateContractRequest - 360, // 551: wg.cosmo.platform.v1.PlatformService.UpdateContract:input_type -> wg.cosmo.platform.v1.UpdateContractRequest - 333, // 552: wg.cosmo.platform.v1.PlatformService.MoveFederatedGraph:input_type -> wg.cosmo.platform.v1.MoveGraphRequest - 333, // 553: wg.cosmo.platform.v1.PlatformService.MoveSubgraph:input_type -> wg.cosmo.platform.v1.MoveGraphRequest - 333, // 554: wg.cosmo.platform.v1.PlatformService.MoveMonograph:input_type -> wg.cosmo.platform.v1.MoveGraphRequest - 36, // 555: wg.cosmo.platform.v1.PlatformService.CreateMonograph:input_type -> wg.cosmo.platform.v1.CreateMonographRequest - 21, // 556: wg.cosmo.platform.v1.PlatformService.PublishMonograph:input_type -> wg.cosmo.platform.v1.PublishMonographRequest - 44, // 557: wg.cosmo.platform.v1.PlatformService.DeleteMonograph:input_type -> wg.cosmo.platform.v1.DeleteMonographRequest - 103, // 558: wg.cosmo.platform.v1.PlatformService.UpdateMonograph:input_type -> wg.cosmo.platform.v1.UpdateMonographRequest - 353, // 559: wg.cosmo.platform.v1.PlatformService.MigrateMonograph:input_type -> wg.cosmo.platform.v1.MigrateMonographRequest - 39, // 560: wg.cosmo.platform.v1.PlatformService.CreateFederatedSubgraph:input_type -> wg.cosmo.platform.v1.CreateFederatedSubgraphRequest - 41, // 561: wg.cosmo.platform.v1.PlatformService.CreateFederatedSubgraphs:input_type -> wg.cosmo.platform.v1.CreateFederatedSubgraphsRequest - 24, // 562: wg.cosmo.platform.v1.PlatformService.PublishFederatedSubgraph:input_type -> wg.cosmo.platform.v1.PublishFederatedSubgraphRequest - 28, // 563: wg.cosmo.platform.v1.PlatformService.PublishFederatedSubgraphs:input_type -> wg.cosmo.platform.v1.PublishFederatedSubgraphsRequest - 30, // 564: wg.cosmo.platform.v1.PlatformService.GetBatchPublishJobStatus:input_type -> wg.cosmo.platform.v1.GetBatchPublishJobStatusRequest - 38, // 565: wg.cosmo.platform.v1.PlatformService.CreateFederatedGraph:input_type -> wg.cosmo.platform.v1.CreateFederatedGraphRequest - 43, // 566: wg.cosmo.platform.v1.PlatformService.DeleteFederatedGraph:input_type -> wg.cosmo.platform.v1.DeleteFederatedGraphRequest - 46, // 567: wg.cosmo.platform.v1.PlatformService.DeleteFederatedSubgraph:input_type -> wg.cosmo.platform.v1.DeleteFederatedSubgraphRequest - 34, // 568: wg.cosmo.platform.v1.PlatformService.CheckSubgraphSchema:input_type -> wg.cosmo.platform.v1.CheckSubgraphSchemaRequest - 437, // 569: wg.cosmo.platform.v1.PlatformService.GetProposedSchemaOfCheckedSubgraph:input_type -> wg.cosmo.platform.v1.GetProposedSchemaOfCheckedSubgraphRequest - 35, // 570: wg.cosmo.platform.v1.PlatformService.FixSubgraphSchema:input_type -> wg.cosmo.platform.v1.FixSubgraphSchemaRequest - 101, // 571: wg.cosmo.platform.v1.PlatformService.UpdateFederatedGraph:input_type -> wg.cosmo.platform.v1.UpdateFederatedGraphRequest - 99, // 572: wg.cosmo.platform.v1.PlatformService.UpdateSubgraph:input_type -> wg.cosmo.platform.v1.UpdateSubgraphRequest - 105, // 573: wg.cosmo.platform.v1.PlatformService.CheckFederatedGraph:input_type -> wg.cosmo.platform.v1.CheckFederatedGraphRequest - 169, // 574: wg.cosmo.platform.v1.PlatformService.WhoAmI:input_type -> wg.cosmo.platform.v1.WhoAmIRequest - 173, // 575: wg.cosmo.platform.v1.PlatformService.GenerateRouterToken:input_type -> wg.cosmo.platform.v1.GenerateRouterTokenRequest - 175, // 576: wg.cosmo.platform.v1.PlatformService.GetRouterTokens:input_type -> wg.cosmo.platform.v1.GetRouterTokensRequest - 177, // 577: wg.cosmo.platform.v1.PlatformService.DeleteRouterToken:input_type -> wg.cosmo.platform.v1.DeleteRouterTokenRequest - 180, // 578: wg.cosmo.platform.v1.PlatformService.PublishPersistedOperations:input_type -> wg.cosmo.platform.v1.PublishPersistedOperationsRequest - 185, // 579: wg.cosmo.platform.v1.PlatformService.CheckPersistedOperationTraffic:input_type -> wg.cosmo.platform.v1.CheckPersistedOperationTrafficRequest - 183, // 580: wg.cosmo.platform.v1.PlatformService.DeletePersistedOperation:input_type -> wg.cosmo.platform.v1.DeletePersistedOperationRequest - 187, // 581: wg.cosmo.platform.v1.PlatformService.GetPersistedOperations:input_type -> wg.cosmo.platform.v1.GetPersistedOperationsRequest - 283, // 582: wg.cosmo.platform.v1.PlatformService.GetAuditLogs:input_type -> wg.cosmo.platform.v1.GetAuditLogsRequest - 483, // 583: wg.cosmo.platform.v1.PlatformService.InitializeCosmoUser:input_type -> wg.cosmo.platform.v1.InitializeCosmoUserRequest - 485, // 584: wg.cosmo.platform.v1.PlatformService.ListOrganizations:input_type -> wg.cosmo.platform.v1.ListOrganizationsRequest - 64, // 585: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphs:input_type -> wg.cosmo.platform.v1.GetFederatedGraphsRequest - 68, // 586: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphsBySubgraphLabels:input_type -> wg.cosmo.platform.v1.GetFederatedGraphsBySubgraphLabelsRequest - 73, // 587: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphByName:input_type -> wg.cosmo.platform.v1.GetFederatedGraphByNameRequest - 75, // 588: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphSDLByName:input_type -> wg.cosmo.platform.v1.GetFederatedGraphSDLByNameRequest - 70, // 589: wg.cosmo.platform.v1.PlatformService.GetSubgraphs:input_type -> wg.cosmo.platform.v1.GetSubgraphsRequest - 77, // 590: wg.cosmo.platform.v1.PlatformService.GetSubgraphByName:input_type -> wg.cosmo.platform.v1.GetSubgraphByNameRequest - 79, // 591: wg.cosmo.platform.v1.PlatformService.GetSubgraphSDLFromLatestComposition:input_type -> wg.cosmo.platform.v1.GetSubgraphSDLFromLatestCompositionRequest - 81, // 592: wg.cosmo.platform.v1.PlatformService.GetLatestSubgraphSDL:input_type -> wg.cosmo.platform.v1.GetLatestSubgraphSDLRequest - 84, // 593: wg.cosmo.platform.v1.PlatformService.GetChecksByFederatedGraphName:input_type -> wg.cosmo.platform.v1.GetChecksByFederatedGraphNameRequest - 87, // 594: wg.cosmo.platform.v1.PlatformService.GetCheckSummary:input_type -> wg.cosmo.platform.v1.GetCheckSummaryRequest - 90, // 595: wg.cosmo.platform.v1.PlatformService.GetCheckOperations:input_type -> wg.cosmo.platform.v1.GetCheckOperationsRequest - 247, // 596: wg.cosmo.platform.v1.PlatformService.ForceCheckSuccess:input_type -> wg.cosmo.platform.v1.ForceCheckSuccessRequest - 254, // 597: wg.cosmo.platform.v1.PlatformService.CreateOperationOverrides:input_type -> wg.cosmo.platform.v1.CreateOperationOverridesRequest - 258, // 598: wg.cosmo.platform.v1.PlatformService.RemoveOperationOverrides:input_type -> wg.cosmo.platform.v1.RemoveOperationOverridesRequest - 256, // 599: wg.cosmo.platform.v1.PlatformService.CreateOperationIgnoreAllOverride:input_type -> wg.cosmo.platform.v1.CreateOperationIgnoreAllOverrideRequest - 260, // 600: wg.cosmo.platform.v1.PlatformService.RemoveOperationIgnoreAllOverride:input_type -> wg.cosmo.platform.v1.RemoveOperationIgnoreAllOverrideRequest - 262, // 601: wg.cosmo.platform.v1.PlatformService.GetOperationOverrides:input_type -> wg.cosmo.platform.v1.GetOperationOverridesRequest - 264, // 602: wg.cosmo.platform.v1.PlatformService.GetAllOverrides:input_type -> wg.cosmo.platform.v1.GetAllOverridesRequest - 249, // 603: wg.cosmo.platform.v1.PlatformService.ToggleChangeOverridesForAllOperations:input_type -> wg.cosmo.platform.v1.ToggleChangeOverridesForAllOperationsRequest - 251, // 604: wg.cosmo.platform.v1.PlatformService.CreateIgnoreOverridesForAllOperations:input_type -> wg.cosmo.platform.v1.CreateIgnoreOverridesForAllOperationsRequest - 92, // 605: wg.cosmo.platform.v1.PlatformService.GetOperationContent:input_type -> wg.cosmo.platform.v1.GetOperationContentRequest - 94, // 606: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphChangelog:input_type -> wg.cosmo.platform.v1.GetFederatedGraphChangelogRequest - 126, // 607: wg.cosmo.platform.v1.PlatformService.CreateFederatedGraphToken:input_type -> wg.cosmo.platform.v1.CreateFederatedGraphTokenRequest - 224, // 608: wg.cosmo.platform.v1.PlatformService.GetOrganizationBySlug:input_type -> wg.cosmo.platform.v1.GetOrganizationBySlugRequest - 144, // 609: wg.cosmo.platform.v1.PlatformService.GetOrganizationMembers:input_type -> wg.cosmo.platform.v1.GetOrganizationMembersRequest - 142, // 610: wg.cosmo.platform.v1.PlatformService.GetPendingOrganizationMembers:input_type -> wg.cosmo.platform.v1.GetPendingOrganizationMembersRequest - 362, // 611: wg.cosmo.platform.v1.PlatformService.IsMemberLimitReached:input_type -> wg.cosmo.platform.v1.IsMemberLimitReachedRequest - 146, // 612: wg.cosmo.platform.v1.PlatformService.InviteUser:input_type -> wg.cosmo.platform.v1.InviteUserRequest - 148, // 613: wg.cosmo.platform.v1.PlatformService.InviteUsers:input_type -> wg.cosmo.platform.v1.InviteUsersRequest - 152, // 614: wg.cosmo.platform.v1.PlatformService.GetAPIKeys:input_type -> wg.cosmo.platform.v1.GetAPIKeysRequest - 154, // 615: wg.cosmo.platform.v1.PlatformService.CreateAPIKey:input_type -> wg.cosmo.platform.v1.CreateAPIKeyRequest - 158, // 616: wg.cosmo.platform.v1.PlatformService.UpdateAPIKey:input_type -> wg.cosmo.platform.v1.UpdateAPIKeyRequest - 156, // 617: wg.cosmo.platform.v1.PlatformService.DeleteAPIKey:input_type -> wg.cosmo.platform.v1.DeleteAPIKeyRequest - 160, // 618: wg.cosmo.platform.v1.PlatformService.RemoveOrganizationMember:input_type -> wg.cosmo.platform.v1.RemoveOrganizationMemberRequest - 162, // 619: wg.cosmo.platform.v1.PlatformService.RemoveInvitation:input_type -> wg.cosmo.platform.v1.RemoveInvitationRequest - 164, // 620: wg.cosmo.platform.v1.PlatformService.MigrateFromApollo:input_type -> wg.cosmo.platform.v1.MigrateFromApolloRequest - 130, // 621: wg.cosmo.platform.v1.PlatformService.CreateOrganizationGroup:input_type -> wg.cosmo.platform.v1.CreateOrganizationGroupRequest - 132, // 622: wg.cosmo.platform.v1.PlatformService.GetOrganizationGroups:input_type -> wg.cosmo.platform.v1.GetOrganizationGroupsRequest - 134, // 623: wg.cosmo.platform.v1.PlatformService.GetOrganizationGroupMembers:input_type -> wg.cosmo.platform.v1.GetOrganizationGroupMembersRequest - 136, // 624: wg.cosmo.platform.v1.PlatformService.UpdateOrganizationGroup:input_type -> wg.cosmo.platform.v1.UpdateOrganizationGroupRequest - 138, // 625: wg.cosmo.platform.v1.PlatformService.DeleteOrganizationGroup:input_type -> wg.cosmo.platform.v1.DeleteOrganizationGroupRequest - 190, // 626: wg.cosmo.platform.v1.PlatformService.CreateOrganizationWebhookConfig:input_type -> wg.cosmo.platform.v1.CreateOrganizationWebhookConfigRequest - 192, // 627: wg.cosmo.platform.v1.PlatformService.GetOrganizationWebhookConfigs:input_type -> wg.cosmo.platform.v1.GetOrganizationWebhookConfigsRequest - 194, // 628: wg.cosmo.platform.v1.PlatformService.GetOrganizationWebhookMeta:input_type -> wg.cosmo.platform.v1.GetOrganizationWebhookMetaRequest - 196, // 629: wg.cosmo.platform.v1.PlatformService.UpdateOrganizationWebhookConfig:input_type -> wg.cosmo.platform.v1.UpdateOrganizationWebhookConfigRequest - 198, // 630: wg.cosmo.platform.v1.PlatformService.DeleteOrganizationWebhookConfig:input_type -> wg.cosmo.platform.v1.DeleteOrganizationWebhookConfigRequest - 389, // 631: wg.cosmo.platform.v1.PlatformService.GetOrganizationWebhookHistory:input_type -> wg.cosmo.platform.v1.GetOrganizationWebhookHistoryRequest - 394, // 632: wg.cosmo.platform.v1.PlatformService.GetWebhookDeliveryDetails:input_type -> wg.cosmo.platform.v1.GetWebhookDeliveryDetailsRequest - 392, // 633: wg.cosmo.platform.v1.PlatformService.RedeliverWebhook:input_type -> wg.cosmo.platform.v1.RedeliverWebhookRequest - 200, // 634: wg.cosmo.platform.v1.PlatformService.CreateIntegration:input_type -> wg.cosmo.platform.v1.CreateIntegrationRequest - 202, // 635: wg.cosmo.platform.v1.PlatformService.GetOrganizationIntegrations:input_type -> wg.cosmo.platform.v1.GetOrganizationIntegrationsRequest - 207, // 636: wg.cosmo.platform.v1.PlatformService.UpdateIntegrationConfig:input_type -> wg.cosmo.platform.v1.UpdateIntegrationConfigRequest - 209, // 637: wg.cosmo.platform.v1.PlatformService.DeleteIntegration:input_type -> wg.cosmo.platform.v1.DeleteIntegrationRequest - 364, // 638: wg.cosmo.platform.v1.PlatformService.DeleteUser:input_type -> wg.cosmo.platform.v1.DeleteUserRequest - 211, // 639: wg.cosmo.platform.v1.PlatformService.DeleteOrganization:input_type -> wg.cosmo.platform.v1.DeleteOrganizationRequest - 213, // 640: wg.cosmo.platform.v1.PlatformService.RestoreOrganization:input_type -> wg.cosmo.platform.v1.RestoreOrganizationRequest - 215, // 641: wg.cosmo.platform.v1.PlatformService.LeaveOrganization:input_type -> wg.cosmo.platform.v1.LeaveOrganizationRequest - 217, // 642: wg.cosmo.platform.v1.PlatformService.UpdateOrganizationDetails:input_type -> wg.cosmo.platform.v1.UpdateOrganizationDetailsRequest - 219, // 643: wg.cosmo.platform.v1.PlatformService.UpdateOrgMemberGroup:input_type -> wg.cosmo.platform.v1.UpdateOrgMemberGroupRequest - 266, // 644: wg.cosmo.platform.v1.PlatformService.IsGitHubAppInstalled:input_type -> wg.cosmo.platform.v1.IsGitHubAppInstalledRequest - 269, // 645: wg.cosmo.platform.v1.PlatformService.CreateOIDCProvider:input_type -> wg.cosmo.platform.v1.CreateOIDCProviderRequest - 274, // 646: wg.cosmo.platform.v1.PlatformService.GetOIDCProvider:input_type -> wg.cosmo.platform.v1.GetOIDCProviderRequest - 272, // 647: wg.cosmo.platform.v1.PlatformService.ListOIDCProviders:input_type -> wg.cosmo.platform.v1.ListOIDCProvidersRequest - 276, // 648: wg.cosmo.platform.v1.PlatformService.DeleteOIDCProvider:input_type -> wg.cosmo.platform.v1.DeleteOIDCProviderRequest - 278, // 649: wg.cosmo.platform.v1.PlatformService.UpdateIDPMappers:input_type -> wg.cosmo.platform.v1.UpdateIDPMappersRequest - 314, // 650: wg.cosmo.platform.v1.PlatformService.GetClients:input_type -> wg.cosmo.platform.v1.GetClientsRequest - 316, // 651: wg.cosmo.platform.v1.PlatformService.PreviewDeleteClient:input_type -> wg.cosmo.platform.v1.PreviewDeleteClientRequest - 318, // 652: wg.cosmo.platform.v1.PlatformService.DeleteClient:input_type -> wg.cosmo.platform.v1.DeleteClientRequest - 311, // 653: wg.cosmo.platform.v1.PlatformService.GetRouters:input_type -> wg.cosmo.platform.v1.GetRoutersRequest - 286, // 654: wg.cosmo.platform.v1.PlatformService.GetInvitations:input_type -> wg.cosmo.platform.v1.GetInvitationsRequest - 288, // 655: wg.cosmo.platform.v1.PlatformService.AcceptOrDeclineInvitation:input_type -> wg.cosmo.platform.v1.AcceptOrDeclineInvitationRequest - 292, // 656: wg.cosmo.platform.v1.PlatformService.GetCompositions:input_type -> wg.cosmo.platform.v1.GetCompositionsRequest - 294, // 657: wg.cosmo.platform.v1.PlatformService.GetCompositionDetails:input_type -> wg.cosmo.platform.v1.GetCompositionDetailsRequest - 297, // 658: wg.cosmo.platform.v1.PlatformService.GetSdlBySchemaVersion:input_type -> wg.cosmo.platform.v1.GetSdlBySchemaVersionRequest - 299, // 659: wg.cosmo.platform.v1.PlatformService.GetChangelogBySchemaVersion:input_type -> wg.cosmo.platform.v1.GetChangelogBySchemaVersionRequest - 301, // 660: wg.cosmo.platform.v1.PlatformService.GetUserAccessibleResources:input_type -> wg.cosmo.platform.v1.GetUserAccessibleResourcesRequest - 303, // 661: wg.cosmo.platform.v1.PlatformService.UpdateFeatureSettings:input_type -> wg.cosmo.platform.v1.UpdateFeatureSettingsRequest - 305, // 662: wg.cosmo.platform.v1.PlatformService.GetSubgraphMembers:input_type -> wg.cosmo.platform.v1.GetSubgraphMembersRequest - 308, // 663: wg.cosmo.platform.v1.PlatformService.AddReadme:input_type -> wg.cosmo.platform.v1.AddReadmeRequest - 355, // 664: wg.cosmo.platform.v1.PlatformService.GetUserAccessiblePermissions:input_type -> wg.cosmo.platform.v1.GetUserAccessiblePermissionsRequest - 366, // 665: wg.cosmo.platform.v1.PlatformService.CreateFeatureFlag:input_type -> wg.cosmo.platform.v1.CreateFeatureFlagRequest - 372, // 666: wg.cosmo.platform.v1.PlatformService.DeleteFeatureFlag:input_type -> wg.cosmo.platform.v1.DeleteFeatureFlagRequest - 368, // 667: wg.cosmo.platform.v1.PlatformService.UpdateFeatureFlag:input_type -> wg.cosmo.platform.v1.UpdateFeatureFlagRequest - 370, // 668: wg.cosmo.platform.v1.PlatformService.EnableFeatureFlag:input_type -> wg.cosmo.platform.v1.EnableFeatureFlagRequest - 112, // 669: wg.cosmo.platform.v1.PlatformService.GetAnalyticsView:input_type -> wg.cosmo.platform.v1.GetAnalyticsViewRequest - 120, // 670: wg.cosmo.platform.v1.PlatformService.GetDashboardAnalyticsView:input_type -> wg.cosmo.platform.v1.GetDashboardAnalyticsViewRequest - 167, // 671: wg.cosmo.platform.v1.PlatformService.GetTrace:input_type -> wg.cosmo.platform.v1.GetTraceRequest - 234, // 672: wg.cosmo.platform.v1.PlatformService.GetGraphMetrics:input_type -> wg.cosmo.platform.v1.GetGraphMetricsRequest - 240, // 673: wg.cosmo.platform.v1.PlatformService.GetMetricsErrorRate:input_type -> wg.cosmo.platform.v1.GetMetricsErrorRateRequest - 243, // 674: wg.cosmo.platform.v1.PlatformService.GetSubgraphMetrics:input_type -> wg.cosmo.platform.v1.GetSubgraphMetricsRequest - 245, // 675: wg.cosmo.platform.v1.PlatformService.GetSubgraphMetricsErrorRate:input_type -> wg.cosmo.platform.v1.GetSubgraphMetricsErrorRateRequest - 320, // 676: wg.cosmo.platform.v1.PlatformService.GetFieldUsage:input_type -> wg.cosmo.platform.v1.GetFieldUsageRequest - 280, // 677: wg.cosmo.platform.v1.PlatformService.GetOrganizationRequestsCount:input_type -> wg.cosmo.platform.v1.GetOrganizationRequestsCountRequest - 221, // 678: wg.cosmo.platform.v1.PlatformService.CreateOrganization:input_type -> wg.cosmo.platform.v1.CreateOrganizationRequest - 341, // 679: wg.cosmo.platform.v1.PlatformService.EnableLintingForTheNamespace:input_type -> wg.cosmo.platform.v1.EnableLintingForTheNamespaceRequest - 344, // 680: wg.cosmo.platform.v1.PlatformService.ConfigureNamespaceLintConfig:input_type -> wg.cosmo.platform.v1.ConfigureNamespaceLintConfigRequest - 335, // 681: wg.cosmo.platform.v1.PlatformService.GetNamespaceLintConfig:input_type -> wg.cosmo.platform.v1.GetNamespaceLintConfigRequest - 337, // 682: wg.cosmo.platform.v1.PlatformService.GetNamespaceChecksConfig:input_type -> wg.cosmo.platform.v1.GetNamespaceChecksConfigurationRequest - 339, // 683: wg.cosmo.platform.v1.PlatformService.UpdateNamespaceChecksConfig:input_type -> wg.cosmo.platform.v1.UpdateNamespaceChecksConfigurationRequest - 346, // 684: wg.cosmo.platform.v1.PlatformService.EnableGraphPruning:input_type -> wg.cosmo.platform.v1.EnableGraphPruningRequest - 349, // 685: wg.cosmo.platform.v1.PlatformService.ConfigureNamespaceGraphPruningConfig:input_type -> wg.cosmo.platform.v1.ConfigureNamespaceGraphPruningConfigRequest - 351, // 686: wg.cosmo.platform.v1.PlatformService.GetNamespaceGraphPruningConfig:input_type -> wg.cosmo.platform.v1.GetNamespaceGraphPruningConfigRequest - 375, // 687: wg.cosmo.platform.v1.PlatformService.GetFeatureFlags:input_type -> wg.cosmo.platform.v1.GetFeatureFlagsRequest - 377, // 688: wg.cosmo.platform.v1.PlatformService.GetFeatureFlagByName:input_type -> wg.cosmo.platform.v1.GetFeatureFlagByNameRequest - 379, // 689: wg.cosmo.platform.v1.PlatformService.GetFeatureSubgraphsByFeatureFlag:input_type -> wg.cosmo.platform.v1.GetFeatureSubgraphsByFeatureFlagRequest - 381, // 690: wg.cosmo.platform.v1.PlatformService.GetFeatureSubgraphs:input_type -> wg.cosmo.platform.v1.GetFeatureSubgraphsRequest - 383, // 691: wg.cosmo.platform.v1.PlatformService.GetFeatureFlagsByFederatedGraph:input_type -> wg.cosmo.platform.v1.GetFeatureFlagsByFederatedGraphRequest - 385, // 692: wg.cosmo.platform.v1.PlatformService.GetFeatureFlagsInLatestCompositionByFederatedGraph:input_type -> wg.cosmo.platform.v1.GetFeatureFlagsInLatestCompositionByFederatedGraphRequest - 387, // 693: wg.cosmo.platform.v1.PlatformService.GetFeatureSubgraphsByFederatedGraph:input_type -> wg.cosmo.platform.v1.GetFeatureSubgraphsByFederatedGraphRequest - 405, // 694: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphById:input_type -> wg.cosmo.platform.v1.GetFederatedGraphByIdRequest - 407, // 695: wg.cosmo.platform.v1.PlatformService.GetSubgraphById:input_type -> wg.cosmo.platform.v1.GetSubgraphByIdRequest - 416, // 696: wg.cosmo.platform.v1.PlatformService.PushCacheWarmerOperation:input_type -> wg.cosmo.platform.v1.PushCacheWarmerOperationRequest - 418, // 697: wg.cosmo.platform.v1.PlatformService.GetCacheWarmerOperations:input_type -> wg.cosmo.platform.v1.GetCacheWarmerOperationsRequest - 421, // 698: wg.cosmo.platform.v1.PlatformService.ComputeCacheWarmerOperations:input_type -> wg.cosmo.platform.v1.ComputeCacheWarmerOperationsRequest - 423, // 699: wg.cosmo.platform.v1.PlatformService.ConfigureCacheWarmer:input_type -> wg.cosmo.platform.v1.ConfigureCacheWarmerRequest - 425, // 700: wg.cosmo.platform.v1.PlatformService.GetCacheWarmerConfig:input_type -> wg.cosmo.platform.v1.GetCacheWarmerConfigRequest - 431, // 701: wg.cosmo.platform.v1.PlatformService.DeleteCacheWarmerOperation:input_type -> wg.cosmo.platform.v1.DeleteCacheWarmerOperationRequest - 427, // 702: wg.cosmo.platform.v1.PlatformService.GetSubgraphCheckExtensionsConfig:input_type -> wg.cosmo.platform.v1.GetSubgraphCheckExtensionsConfigRequest - 429, // 703: wg.cosmo.platform.v1.PlatformService.ConfigureSubgraphCheckExtensions:input_type -> wg.cosmo.platform.v1.ConfigureSubgraphCheckExtensionsRequest - 226, // 704: wg.cosmo.platform.v1.PlatformService.GetBillingPlans:input_type -> wg.cosmo.platform.v1.GetBillingPlansRequest - 228, // 705: wg.cosmo.platform.v1.PlatformService.CreateCheckoutSession:input_type -> wg.cosmo.platform.v1.CreateCheckoutSessionRequest - 230, // 706: wg.cosmo.platform.v1.PlatformService.CreateBillingPortalSession:input_type -> wg.cosmo.platform.v1.CreateBillingPortalSessionRequest - 232, // 707: wg.cosmo.platform.v1.PlatformService.UpgradePlan:input_type -> wg.cosmo.platform.v1.UpgradePlanRequest - 433, // 708: wg.cosmo.platform.v1.PlatformService.ListRouterCompatibilityVersions:input_type -> wg.cosmo.platform.v1.ListRouterCompatibilityVersionsRequest - 435, // 709: wg.cosmo.platform.v1.PlatformService.SetGraphRouterCompatibilityVersion:input_type -> wg.cosmo.platform.v1.SetGraphRouterCompatibilityVersionRequest - 441, // 710: wg.cosmo.platform.v1.PlatformService.CreateProposal:input_type -> wg.cosmo.platform.v1.CreateProposalRequest - 443, // 711: wg.cosmo.platform.v1.PlatformService.GetProposal:input_type -> wg.cosmo.platform.v1.GetProposalRequest - 449, // 712: wg.cosmo.platform.v1.PlatformService.UpdateProposal:input_type -> wg.cosmo.platform.v1.UpdateProposalRequest - 451, // 713: wg.cosmo.platform.v1.PlatformService.EnableProposalsForNamespace:input_type -> wg.cosmo.platform.v1.EnableProposalsForNamespaceRequest - 453, // 714: wg.cosmo.platform.v1.PlatformService.ConfigureNamespaceProposalConfig:input_type -> wg.cosmo.platform.v1.ConfigureNamespaceProposalConfigRequest - 455, // 715: wg.cosmo.platform.v1.PlatformService.GetNamespaceProposalConfig:input_type -> wg.cosmo.platform.v1.GetNamespaceProposalConfigRequest - 458, // 716: wg.cosmo.platform.v1.PlatformService.UpdateNamespaceLoginMethods:input_type -> wg.cosmo.platform.v1.UpdateNamespaceLoginMethodsRequest - 460, // 717: wg.cosmo.platform.v1.PlatformService.ListNamespaceLoginMethods:input_type -> wg.cosmo.platform.v1.ListNamespaceLoginMethodsRequest - 463, // 718: wg.cosmo.platform.v1.PlatformService.GetOrganizationLoginMethods:input_type -> wg.cosmo.platform.v1.GetOrganizationLoginMethodsRequest - 465, // 719: wg.cosmo.platform.v1.PlatformService.UpdateOrganizationLoginMethods:input_type -> wg.cosmo.platform.v1.UpdateOrganizationLoginMethodsRequest - 445, // 720: wg.cosmo.platform.v1.PlatformService.GetProposalsByFederatedGraph:input_type -> wg.cosmo.platform.v1.GetProposalsByFederatedGraphRequest - 447, // 721: wg.cosmo.platform.v1.PlatformService.GetProposalChecks:input_type -> wg.cosmo.platform.v1.GetProposalChecksRequest - 467, // 722: wg.cosmo.platform.v1.PlatformService.GetOperations:input_type -> wg.cosmo.platform.v1.GetOperationsRequest - 469, // 723: wg.cosmo.platform.v1.PlatformService.GetClientsFromAnalytics:input_type -> wg.cosmo.platform.v1.GetClientsFromAnalyticsRequest - 471, // 724: wg.cosmo.platform.v1.PlatformService.GetOperationClients:input_type -> wg.cosmo.platform.v1.GetOperationClientsRequest - 473, // 725: wg.cosmo.platform.v1.PlatformService.GetOperationDeprecatedFields:input_type -> wg.cosmo.platform.v1.GetOperationDeprecatedFieldsRequest - 475, // 726: wg.cosmo.platform.v1.PlatformService.ValidateAndFetchPluginData:input_type -> wg.cosmo.platform.v1.ValidateAndFetchPluginDataRequest - 477, // 727: wg.cosmo.platform.v1.PlatformService.LinkSubgraph:input_type -> wg.cosmo.platform.v1.LinkSubgraphRequest - 479, // 728: wg.cosmo.platform.v1.PlatformService.UnlinkSubgraph:input_type -> wg.cosmo.platform.v1.UnlinkSubgraphRequest - 481, // 729: wg.cosmo.platform.v1.PlatformService.VerifyAPIKeyGraphAccess:input_type -> wg.cosmo.platform.v1.VerifyAPIKeyGraphAccessRequest - 487, // 730: wg.cosmo.platform.v1.PlatformService.RecomposeGraph:input_type -> wg.cosmo.platform.v1.RecomposeGraphRequest - 489, // 731: wg.cosmo.platform.v1.PlatformService.RecomposeFeatureFlag:input_type -> wg.cosmo.platform.v1.RecomposeFeatureFlagRequest - 491, // 732: wg.cosmo.platform.v1.PlatformService.GetOnboarding:input_type -> wg.cosmo.platform.v1.GetOnboardingRequest - 493, // 733: wg.cosmo.platform.v1.PlatformService.CreateOnboarding:input_type -> wg.cosmo.platform.v1.CreateOnboardingRequest - 495, // 734: wg.cosmo.platform.v1.PlatformService.FinishOnboarding:input_type -> wg.cosmo.platform.v1.FinishOnboardingRequest - 397, // 735: wg.cosmo.platform.v1.PlatformService.CreatePlaygroundScript:output_type -> wg.cosmo.platform.v1.CreatePlaygroundScriptResponse - 399, // 736: wg.cosmo.platform.v1.PlatformService.DeletePlaygroundScript:output_type -> wg.cosmo.platform.v1.DeletePlaygroundScriptResponse - 401, // 737: wg.cosmo.platform.v1.PlatformService.UpdatePlaygroundScript:output_type -> wg.cosmo.platform.v1.UpdatePlaygroundScriptResponse - 404, // 738: wg.cosmo.platform.v1.PlatformService.GetPlaygroundScripts:output_type -> wg.cosmo.platform.v1.GetPlaygroundScriptsResponse - 325, // 739: wg.cosmo.platform.v1.PlatformService.CreateNamespace:output_type -> wg.cosmo.platform.v1.CreateNamespaceResponse - 327, // 740: wg.cosmo.platform.v1.PlatformService.DeleteNamespace:output_type -> wg.cosmo.platform.v1.DeleteNamespaceResponse - 329, // 741: wg.cosmo.platform.v1.PlatformService.RenameNamespace:output_type -> wg.cosmo.platform.v1.RenameNamespaceResponse - 332, // 742: wg.cosmo.platform.v1.PlatformService.GetNamespaces:output_type -> wg.cosmo.platform.v1.GetNamespacesResponse - 410, // 743: wg.cosmo.platform.v1.PlatformService.GetNamespace:output_type -> wg.cosmo.platform.v1.GetNamespaceResponse - 415, // 744: wg.cosmo.platform.v1.PlatformService.GetWorkspace:output_type -> wg.cosmo.platform.v1.GetWorkspaceResponse - 359, // 745: wg.cosmo.platform.v1.PlatformService.CreateContract:output_type -> wg.cosmo.platform.v1.CreateContractResponse - 361, // 746: wg.cosmo.platform.v1.PlatformService.UpdateContract:output_type -> wg.cosmo.platform.v1.UpdateContractResponse - 334, // 747: wg.cosmo.platform.v1.PlatformService.MoveFederatedGraph:output_type -> wg.cosmo.platform.v1.MoveGraphResponse - 334, // 748: wg.cosmo.platform.v1.PlatformService.MoveSubgraph:output_type -> wg.cosmo.platform.v1.MoveGraphResponse - 334, // 749: wg.cosmo.platform.v1.PlatformService.MoveMonograph:output_type -> wg.cosmo.platform.v1.MoveGraphResponse - 37, // 750: wg.cosmo.platform.v1.PlatformService.CreateMonograph:output_type -> wg.cosmo.platform.v1.CreateMonographResponse - 22, // 751: wg.cosmo.platform.v1.PlatformService.PublishMonograph:output_type -> wg.cosmo.platform.v1.PublishMonographResponse - 45, // 752: wg.cosmo.platform.v1.PlatformService.DeleteMonograph:output_type -> wg.cosmo.platform.v1.DeleteMonographResponse - 104, // 753: wg.cosmo.platform.v1.PlatformService.UpdateMonograph:output_type -> wg.cosmo.platform.v1.UpdateMonographResponse - 354, // 754: wg.cosmo.platform.v1.PlatformService.MigrateMonograph:output_type -> wg.cosmo.platform.v1.MigrateMonographResponse - 61, // 755: wg.cosmo.platform.v1.PlatformService.CreateFederatedSubgraph:output_type -> wg.cosmo.platform.v1.CreateFederatedSubgraphResponse - 42, // 756: wg.cosmo.platform.v1.PlatformService.CreateFederatedSubgraphs:output_type -> wg.cosmo.platform.v1.CreateFederatedSubgraphsResponse - 25, // 757: wg.cosmo.platform.v1.PlatformService.PublishFederatedSubgraph:output_type -> wg.cosmo.platform.v1.PublishFederatedSubgraphResponse - 29, // 758: wg.cosmo.platform.v1.PlatformService.PublishFederatedSubgraphs:output_type -> wg.cosmo.platform.v1.PublishFederatedSubgraphsResponse - 31, // 759: wg.cosmo.platform.v1.PlatformService.GetBatchPublishJobStatus:output_type -> wg.cosmo.platform.v1.GetBatchPublishJobStatusResponse - 60, // 760: wg.cosmo.platform.v1.PlatformService.CreateFederatedGraph:output_type -> wg.cosmo.platform.v1.CreateFederatedGraphResponse - 63, // 761: wg.cosmo.platform.v1.PlatformService.DeleteFederatedGraph:output_type -> wg.cosmo.platform.v1.DeleteFederatedGraphResponse - 62, // 762: wg.cosmo.platform.v1.PlatformService.DeleteFederatedSubgraph:output_type -> wg.cosmo.platform.v1.DeleteFederatedSubgraphResponse - 57, // 763: wg.cosmo.platform.v1.PlatformService.CheckSubgraphSchema:output_type -> wg.cosmo.platform.v1.CheckSubgraphSchemaResponse - 438, // 764: wg.cosmo.platform.v1.PlatformService.GetProposedSchemaOfCheckedSubgraph:output_type -> wg.cosmo.platform.v1.GetProposedSchemaOfCheckedSubgraphResponse - 59, // 765: wg.cosmo.platform.v1.PlatformService.FixSubgraphSchema:output_type -> wg.cosmo.platform.v1.FixSubgraphSchemaResponse - 102, // 766: wg.cosmo.platform.v1.PlatformService.UpdateFederatedGraph:output_type -> wg.cosmo.platform.v1.UpdateFederatedGraphResponse - 100, // 767: wg.cosmo.platform.v1.PlatformService.UpdateSubgraph:output_type -> wg.cosmo.platform.v1.UpdateSubgraphResponse - 106, // 768: wg.cosmo.platform.v1.PlatformService.CheckFederatedGraph:output_type -> wg.cosmo.platform.v1.CheckFederatedGraphResponse - 170, // 769: wg.cosmo.platform.v1.PlatformService.WhoAmI:output_type -> wg.cosmo.platform.v1.WhoAmIResponse - 174, // 770: wg.cosmo.platform.v1.PlatformService.GenerateRouterToken:output_type -> wg.cosmo.platform.v1.GenerateRouterTokenResponse - 176, // 771: wg.cosmo.platform.v1.PlatformService.GetRouterTokens:output_type -> wg.cosmo.platform.v1.GetRouterTokensResponse - 178, // 772: wg.cosmo.platform.v1.PlatformService.DeleteRouterToken:output_type -> wg.cosmo.platform.v1.DeleteRouterTokenResponse - 182, // 773: wg.cosmo.platform.v1.PlatformService.PublishPersistedOperations:output_type -> wg.cosmo.platform.v1.PublishPersistedOperationsResponse - 186, // 774: wg.cosmo.platform.v1.PlatformService.CheckPersistedOperationTraffic:output_type -> wg.cosmo.platform.v1.CheckPersistedOperationTrafficResponse - 184, // 775: wg.cosmo.platform.v1.PlatformService.DeletePersistedOperation:output_type -> wg.cosmo.platform.v1.DeletePersistedOperationResponse - 188, // 776: wg.cosmo.platform.v1.PlatformService.GetPersistedOperations:output_type -> wg.cosmo.platform.v1.GetPersistedOperationsResponse - 285, // 777: wg.cosmo.platform.v1.PlatformService.GetAuditLogs:output_type -> wg.cosmo.platform.v1.GetAuditLogsResponse - 484, // 778: wg.cosmo.platform.v1.PlatformService.InitializeCosmoUser:output_type -> wg.cosmo.platform.v1.InitializeCosmoUserResponse - 486, // 779: wg.cosmo.platform.v1.PlatformService.ListOrganizations:output_type -> wg.cosmo.platform.v1.ListOrganizationsResponse - 67, // 780: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphs:output_type -> wg.cosmo.platform.v1.GetFederatedGraphsResponse - 69, // 781: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphsBySubgraphLabels:output_type -> wg.cosmo.platform.v1.GetFederatedGraphsBySubgraphLabelsResponse - 74, // 782: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphByName:output_type -> wg.cosmo.platform.v1.GetFederatedGraphByNameResponse - 76, // 783: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphSDLByName:output_type -> wg.cosmo.platform.v1.GetFederatedGraphSDLByNameResponse - 72, // 784: wg.cosmo.platform.v1.PlatformService.GetSubgraphs:output_type -> wg.cosmo.platform.v1.GetSubgraphsResponse - 78, // 785: wg.cosmo.platform.v1.PlatformService.GetSubgraphByName:output_type -> wg.cosmo.platform.v1.GetSubgraphByNameResponse - 80, // 786: wg.cosmo.platform.v1.PlatformService.GetSubgraphSDLFromLatestComposition:output_type -> wg.cosmo.platform.v1.GetSubgraphSDLFromLatestCompositionResponse - 82, // 787: wg.cosmo.platform.v1.PlatformService.GetLatestSubgraphSDL:output_type -> wg.cosmo.platform.v1.GetLatestSubgraphSDLResponse - 86, // 788: wg.cosmo.platform.v1.PlatformService.GetChecksByFederatedGraphName:output_type -> wg.cosmo.platform.v1.GetChecksByFederatedGraphNameResponse - 89, // 789: wg.cosmo.platform.v1.PlatformService.GetCheckSummary:output_type -> wg.cosmo.platform.v1.GetCheckSummaryResponse - 91, // 790: wg.cosmo.platform.v1.PlatformService.GetCheckOperations:output_type -> wg.cosmo.platform.v1.GetCheckOperationsResponse - 248, // 791: wg.cosmo.platform.v1.PlatformService.ForceCheckSuccess:output_type -> wg.cosmo.platform.v1.ForceCheckSuccessResponse - 255, // 792: wg.cosmo.platform.v1.PlatformService.CreateOperationOverrides:output_type -> wg.cosmo.platform.v1.CreateOperationOverridesResponse - 259, // 793: wg.cosmo.platform.v1.PlatformService.RemoveOperationOverrides:output_type -> wg.cosmo.platform.v1.RemoveOperationOverridesResponse - 257, // 794: wg.cosmo.platform.v1.PlatformService.CreateOperationIgnoreAllOverride:output_type -> wg.cosmo.platform.v1.CreateOperationIgnoreAllOverrideResponse - 261, // 795: wg.cosmo.platform.v1.PlatformService.RemoveOperationIgnoreAllOverride:output_type -> wg.cosmo.platform.v1.RemoveOperationIgnoreAllOverrideResponse - 263, // 796: wg.cosmo.platform.v1.PlatformService.GetOperationOverrides:output_type -> wg.cosmo.platform.v1.GetOperationOverridesResponse - 265, // 797: wg.cosmo.platform.v1.PlatformService.GetAllOverrides:output_type -> wg.cosmo.platform.v1.GetAllOverridesResponse - 250, // 798: wg.cosmo.platform.v1.PlatformService.ToggleChangeOverridesForAllOperations:output_type -> wg.cosmo.platform.v1.ToggleChangeOverridesForAllOperationsResponse - 252, // 799: wg.cosmo.platform.v1.PlatformService.CreateIgnoreOverridesForAllOperations:output_type -> wg.cosmo.platform.v1.CreateIgnoreOverridesForAllOperationsResponse - 93, // 800: wg.cosmo.platform.v1.PlatformService.GetOperationContent:output_type -> wg.cosmo.platform.v1.GetOperationContentResponse - 97, // 801: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphChangelog:output_type -> wg.cosmo.platform.v1.GetFederatedGraphChangelogResponse - 127, // 802: wg.cosmo.platform.v1.PlatformService.CreateFederatedGraphToken:output_type -> wg.cosmo.platform.v1.CreateFederatedGraphTokenResponse - 225, // 803: wg.cosmo.platform.v1.PlatformService.GetOrganizationBySlug:output_type -> wg.cosmo.platform.v1.GetOrganizationBySlugResponse - 145, // 804: wg.cosmo.platform.v1.PlatformService.GetOrganizationMembers:output_type -> wg.cosmo.platform.v1.GetOrganizationMembersResponse - 143, // 805: wg.cosmo.platform.v1.PlatformService.GetPendingOrganizationMembers:output_type -> wg.cosmo.platform.v1.GetPendingOrganizationMembersResponse - 363, // 806: wg.cosmo.platform.v1.PlatformService.IsMemberLimitReached:output_type -> wg.cosmo.platform.v1.IsMemberLimitReachedResponse - 147, // 807: wg.cosmo.platform.v1.PlatformService.InviteUser:output_type -> wg.cosmo.platform.v1.InviteUserResponse - 150, // 808: wg.cosmo.platform.v1.PlatformService.InviteUsers:output_type -> wg.cosmo.platform.v1.InviteUsersResponse - 153, // 809: wg.cosmo.platform.v1.PlatformService.GetAPIKeys:output_type -> wg.cosmo.platform.v1.GetAPIKeysResponse - 155, // 810: wg.cosmo.platform.v1.PlatformService.CreateAPIKey:output_type -> wg.cosmo.platform.v1.CreateAPIKeyResponse - 159, // 811: wg.cosmo.platform.v1.PlatformService.UpdateAPIKey:output_type -> wg.cosmo.platform.v1.UpdateAPIKeyResponse - 157, // 812: wg.cosmo.platform.v1.PlatformService.DeleteAPIKey:output_type -> wg.cosmo.platform.v1.DeleteAPIKeyResponse - 161, // 813: wg.cosmo.platform.v1.PlatformService.RemoveOrganizationMember:output_type -> wg.cosmo.platform.v1.RemoveOrganizationMemberResponse - 163, // 814: wg.cosmo.platform.v1.PlatformService.RemoveInvitation:output_type -> wg.cosmo.platform.v1.RemoveInvitationResponse - 165, // 815: wg.cosmo.platform.v1.PlatformService.MigrateFromApollo:output_type -> wg.cosmo.platform.v1.MigrateFromApolloResponse - 131, // 816: wg.cosmo.platform.v1.PlatformService.CreateOrganizationGroup:output_type -> wg.cosmo.platform.v1.CreateOrganizationGroupResponse - 133, // 817: wg.cosmo.platform.v1.PlatformService.GetOrganizationGroups:output_type -> wg.cosmo.platform.v1.GetOrganizationGroupsResponse - 135, // 818: wg.cosmo.platform.v1.PlatformService.GetOrganizationGroupMembers:output_type -> wg.cosmo.platform.v1.GetOrganizationGroupMembersResponse - 137, // 819: wg.cosmo.platform.v1.PlatformService.UpdateOrganizationGroup:output_type -> wg.cosmo.platform.v1.UpdateOrganizationGroupResponse - 139, // 820: wg.cosmo.platform.v1.PlatformService.DeleteOrganizationGroup:output_type -> wg.cosmo.platform.v1.DeleteOrganizationGroupResponse - 191, // 821: wg.cosmo.platform.v1.PlatformService.CreateOrganizationWebhookConfig:output_type -> wg.cosmo.platform.v1.CreateOrganizationWebhookConfigResponse - 193, // 822: wg.cosmo.platform.v1.PlatformService.GetOrganizationWebhookConfigs:output_type -> wg.cosmo.platform.v1.GetOrganizationWebhookConfigsResponse - 195, // 823: wg.cosmo.platform.v1.PlatformService.GetOrganizationWebhookMeta:output_type -> wg.cosmo.platform.v1.GetOrganizationWebhookMetaResponse - 197, // 824: wg.cosmo.platform.v1.PlatformService.UpdateOrganizationWebhookConfig:output_type -> wg.cosmo.platform.v1.UpdateOrganizationWebhookConfigResponse - 199, // 825: wg.cosmo.platform.v1.PlatformService.DeleteOrganizationWebhookConfig:output_type -> wg.cosmo.platform.v1.DeleteOrganizationWebhookConfigResponse - 391, // 826: wg.cosmo.platform.v1.PlatformService.GetOrganizationWebhookHistory:output_type -> wg.cosmo.platform.v1.GetOrganizationWebhookHistoryResponse - 395, // 827: wg.cosmo.platform.v1.PlatformService.GetWebhookDeliveryDetails:output_type -> wg.cosmo.platform.v1.GetWebhookDeliveryDetailsResponse - 393, // 828: wg.cosmo.platform.v1.PlatformService.RedeliverWebhook:output_type -> wg.cosmo.platform.v1.RedeliverWebhookResponse - 201, // 829: wg.cosmo.platform.v1.PlatformService.CreateIntegration:output_type -> wg.cosmo.platform.v1.CreateIntegrationResponse - 206, // 830: wg.cosmo.platform.v1.PlatformService.GetOrganizationIntegrations:output_type -> wg.cosmo.platform.v1.GetOrganizationIntegrationsResponse - 208, // 831: wg.cosmo.platform.v1.PlatformService.UpdateIntegrationConfig:output_type -> wg.cosmo.platform.v1.UpdateIntegrationConfigResponse - 210, // 832: wg.cosmo.platform.v1.PlatformService.DeleteIntegration:output_type -> wg.cosmo.platform.v1.DeleteIntegrationResponse - 365, // 833: wg.cosmo.platform.v1.PlatformService.DeleteUser:output_type -> wg.cosmo.platform.v1.DeleteUserResponse - 212, // 834: wg.cosmo.platform.v1.PlatformService.DeleteOrganization:output_type -> wg.cosmo.platform.v1.DeleteOrganizationResponse - 214, // 835: wg.cosmo.platform.v1.PlatformService.RestoreOrganization:output_type -> wg.cosmo.platform.v1.RestoreOrganizationResponse - 216, // 836: wg.cosmo.platform.v1.PlatformService.LeaveOrganization:output_type -> wg.cosmo.platform.v1.LeaveOrganizationResponse - 218, // 837: wg.cosmo.platform.v1.PlatformService.UpdateOrganizationDetails:output_type -> wg.cosmo.platform.v1.UpdateOrganizationDetailsResponse - 220, // 838: wg.cosmo.platform.v1.PlatformService.UpdateOrgMemberGroup:output_type -> wg.cosmo.platform.v1.UpdateOrgMemberGroupResponse - 267, // 839: wg.cosmo.platform.v1.PlatformService.IsGitHubAppInstalled:output_type -> wg.cosmo.platform.v1.IsGitHubAppInstalledResponse - 270, // 840: wg.cosmo.platform.v1.PlatformService.CreateOIDCProvider:output_type -> wg.cosmo.platform.v1.CreateOIDCProviderResponse - 275, // 841: wg.cosmo.platform.v1.PlatformService.GetOIDCProvider:output_type -> wg.cosmo.platform.v1.GetOIDCProviderResponse - 273, // 842: wg.cosmo.platform.v1.PlatformService.ListOIDCProviders:output_type -> wg.cosmo.platform.v1.ListOIDCProvidersResponse - 277, // 843: wg.cosmo.platform.v1.PlatformService.DeleteOIDCProvider:output_type -> wg.cosmo.platform.v1.DeleteOIDCProviderResponse - 279, // 844: wg.cosmo.platform.v1.PlatformService.UpdateIDPMappers:output_type -> wg.cosmo.platform.v1.UpdateIDPMappersResponse - 315, // 845: wg.cosmo.platform.v1.PlatformService.GetClients:output_type -> wg.cosmo.platform.v1.GetClientsResponse - 317, // 846: wg.cosmo.platform.v1.PlatformService.PreviewDeleteClient:output_type -> wg.cosmo.platform.v1.PreviewDeleteClientResponse - 319, // 847: wg.cosmo.platform.v1.PlatformService.DeleteClient:output_type -> wg.cosmo.platform.v1.DeleteClientResponse - 312, // 848: wg.cosmo.platform.v1.PlatformService.GetRouters:output_type -> wg.cosmo.platform.v1.GetRoutersResponse - 287, // 849: wg.cosmo.platform.v1.PlatformService.GetInvitations:output_type -> wg.cosmo.platform.v1.GetInvitationsResponse - 289, // 850: wg.cosmo.platform.v1.PlatformService.AcceptOrDeclineInvitation:output_type -> wg.cosmo.platform.v1.AcceptOrDeclineInvitationResponse - 293, // 851: wg.cosmo.platform.v1.PlatformService.GetCompositions:output_type -> wg.cosmo.platform.v1.GetCompositionsResponse - 296, // 852: wg.cosmo.platform.v1.PlatformService.GetCompositionDetails:output_type -> wg.cosmo.platform.v1.GetCompositionDetailsResponse - 298, // 853: wg.cosmo.platform.v1.PlatformService.GetSdlBySchemaVersion:output_type -> wg.cosmo.platform.v1.GetSdlBySchemaVersionResponse - 300, // 854: wg.cosmo.platform.v1.PlatformService.GetChangelogBySchemaVersion:output_type -> wg.cosmo.platform.v1.GetChangelogBySchemaVersionResponse - 302, // 855: wg.cosmo.platform.v1.PlatformService.GetUserAccessibleResources:output_type -> wg.cosmo.platform.v1.GetUserAccessibleResourcesResponse - 304, // 856: wg.cosmo.platform.v1.PlatformService.UpdateFeatureSettings:output_type -> wg.cosmo.platform.v1.UpdateFeatureSettingsResponse - 307, // 857: wg.cosmo.platform.v1.PlatformService.GetSubgraphMembers:output_type -> wg.cosmo.platform.v1.GetSubgraphMembersResponse - 309, // 858: wg.cosmo.platform.v1.PlatformService.AddReadme:output_type -> wg.cosmo.platform.v1.AddReadmeResponse - 357, // 859: wg.cosmo.platform.v1.PlatformService.GetUserAccessiblePermissions:output_type -> wg.cosmo.platform.v1.GetUserAccessiblePermissionsResponse - 367, // 860: wg.cosmo.platform.v1.PlatformService.CreateFeatureFlag:output_type -> wg.cosmo.platform.v1.CreateFeatureFlagResponse - 373, // 861: wg.cosmo.platform.v1.PlatformService.DeleteFeatureFlag:output_type -> wg.cosmo.platform.v1.DeleteFeatureFlagResponse - 369, // 862: wg.cosmo.platform.v1.PlatformService.UpdateFeatureFlag:output_type -> wg.cosmo.platform.v1.UpdateFeatureFlagResponse - 371, // 863: wg.cosmo.platform.v1.PlatformService.EnableFeatureFlag:output_type -> wg.cosmo.platform.v1.EnableFeatureFlagResponse - 119, // 864: wg.cosmo.platform.v1.PlatformService.GetAnalyticsView:output_type -> wg.cosmo.platform.v1.GetAnalyticsViewResponse - 125, // 865: wg.cosmo.platform.v1.PlatformService.GetDashboardAnalyticsView:output_type -> wg.cosmo.platform.v1.GetDashboardAnalyticsViewResponse - 168, // 866: wg.cosmo.platform.v1.PlatformService.GetTrace:output_type -> wg.cosmo.platform.v1.GetTraceResponse - 235, // 867: wg.cosmo.platform.v1.PlatformService.GetGraphMetrics:output_type -> wg.cosmo.platform.v1.GetGraphMetricsResponse - 241, // 868: wg.cosmo.platform.v1.PlatformService.GetMetricsErrorRate:output_type -> wg.cosmo.platform.v1.GetMetricsErrorRateResponse - 244, // 869: wg.cosmo.platform.v1.PlatformService.GetSubgraphMetrics:output_type -> wg.cosmo.platform.v1.GetSubgraphMetricsResponse - 246, // 870: wg.cosmo.platform.v1.PlatformService.GetSubgraphMetricsErrorRate:output_type -> wg.cosmo.platform.v1.GetSubgraphMetricsErrorRateResponse - 323, // 871: wg.cosmo.platform.v1.PlatformService.GetFieldUsage:output_type -> wg.cosmo.platform.v1.GetFieldUsageResponse - 281, // 872: wg.cosmo.platform.v1.PlatformService.GetOrganizationRequestsCount:output_type -> wg.cosmo.platform.v1.GetOrganizationRequestsCountResponse - 222, // 873: wg.cosmo.platform.v1.PlatformService.CreateOrganization:output_type -> wg.cosmo.platform.v1.CreateOrganizationResponse - 342, // 874: wg.cosmo.platform.v1.PlatformService.EnableLintingForTheNamespace:output_type -> wg.cosmo.platform.v1.EnableLintingForTheNamespaceResponse - 345, // 875: wg.cosmo.platform.v1.PlatformService.ConfigureNamespaceLintConfig:output_type -> wg.cosmo.platform.v1.ConfigureNamespaceLintConfigResponse - 336, // 876: wg.cosmo.platform.v1.PlatformService.GetNamespaceLintConfig:output_type -> wg.cosmo.platform.v1.GetNamespaceLintConfigResponse - 338, // 877: wg.cosmo.platform.v1.PlatformService.GetNamespaceChecksConfig:output_type -> wg.cosmo.platform.v1.GetNamespaceChecksConfigurationResponse - 340, // 878: wg.cosmo.platform.v1.PlatformService.UpdateNamespaceChecksConfig:output_type -> wg.cosmo.platform.v1.UpdateNamespaceChecksConfigurationResponse - 347, // 879: wg.cosmo.platform.v1.PlatformService.EnableGraphPruning:output_type -> wg.cosmo.platform.v1.EnableGraphPruningResponse - 350, // 880: wg.cosmo.platform.v1.PlatformService.ConfigureNamespaceGraphPruningConfig:output_type -> wg.cosmo.platform.v1.ConfigureNamespaceGraphPruningConfigResponse - 352, // 881: wg.cosmo.platform.v1.PlatformService.GetNamespaceGraphPruningConfig:output_type -> wg.cosmo.platform.v1.GetNamespaceGraphPruningConfigResponse - 376, // 882: wg.cosmo.platform.v1.PlatformService.GetFeatureFlags:output_type -> wg.cosmo.platform.v1.GetFeatureFlagsResponse - 378, // 883: wg.cosmo.platform.v1.PlatformService.GetFeatureFlagByName:output_type -> wg.cosmo.platform.v1.GetFeatureFlagByNameResponse - 380, // 884: wg.cosmo.platform.v1.PlatformService.GetFeatureSubgraphsByFeatureFlag:output_type -> wg.cosmo.platform.v1.GetFeatureSubgraphsByFeatureFlagResponse - 382, // 885: wg.cosmo.platform.v1.PlatformService.GetFeatureSubgraphs:output_type -> wg.cosmo.platform.v1.GetFeatureSubgraphsResponse - 384, // 886: wg.cosmo.platform.v1.PlatformService.GetFeatureFlagsByFederatedGraph:output_type -> wg.cosmo.platform.v1.GetFeatureFlagsByFederatedGraphResponse - 386, // 887: wg.cosmo.platform.v1.PlatformService.GetFeatureFlagsInLatestCompositionByFederatedGraph:output_type -> wg.cosmo.platform.v1.GetFeatureFlagsInLatestCompositionByFederatedGraphResponse - 388, // 888: wg.cosmo.platform.v1.PlatformService.GetFeatureSubgraphsByFederatedGraph:output_type -> wg.cosmo.platform.v1.GetFeatureSubgraphsByFederatedGraphResponse - 406, // 889: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphById:output_type -> wg.cosmo.platform.v1.GetFederatedGraphByIdResponse - 408, // 890: wg.cosmo.platform.v1.PlatformService.GetSubgraphById:output_type -> wg.cosmo.platform.v1.GetSubgraphByIdResponse - 417, // 891: wg.cosmo.platform.v1.PlatformService.PushCacheWarmerOperation:output_type -> wg.cosmo.platform.v1.PushCacheWarmerOperationResponse - 420, // 892: wg.cosmo.platform.v1.PlatformService.GetCacheWarmerOperations:output_type -> wg.cosmo.platform.v1.GetCacheWarmerOperationsResponse - 422, // 893: wg.cosmo.platform.v1.PlatformService.ComputeCacheWarmerOperations:output_type -> wg.cosmo.platform.v1.ComputeCacheWarmerOperationsResponse - 424, // 894: wg.cosmo.platform.v1.PlatformService.ConfigureCacheWarmer:output_type -> wg.cosmo.platform.v1.ConfigureCacheWarmerResponse - 426, // 895: wg.cosmo.platform.v1.PlatformService.GetCacheWarmerConfig:output_type -> wg.cosmo.platform.v1.GetCacheWarmerConfigResponse - 432, // 896: wg.cosmo.platform.v1.PlatformService.DeleteCacheWarmerOperation:output_type -> wg.cosmo.platform.v1.DeleteCacheWarmerOperationResponse - 428, // 897: wg.cosmo.platform.v1.PlatformService.GetSubgraphCheckExtensionsConfig:output_type -> wg.cosmo.platform.v1.GetSubgraphCheckExtensionsConfigResponse - 430, // 898: wg.cosmo.platform.v1.PlatformService.ConfigureSubgraphCheckExtensions:output_type -> wg.cosmo.platform.v1.ConfigureSubgraphCheckExtensionsResponse - 227, // 899: wg.cosmo.platform.v1.PlatformService.GetBillingPlans:output_type -> wg.cosmo.platform.v1.GetBillingPlansResponse - 229, // 900: wg.cosmo.platform.v1.PlatformService.CreateCheckoutSession:output_type -> wg.cosmo.platform.v1.CreateCheckoutSessionResponse - 231, // 901: wg.cosmo.platform.v1.PlatformService.CreateBillingPortalSession:output_type -> wg.cosmo.platform.v1.CreateBillingPortalSessionResponse - 233, // 902: wg.cosmo.platform.v1.PlatformService.UpgradePlan:output_type -> wg.cosmo.platform.v1.UpgradePlanResponse - 434, // 903: wg.cosmo.platform.v1.PlatformService.ListRouterCompatibilityVersions:output_type -> wg.cosmo.platform.v1.ListRouterCompatibilityVersionsResponse - 436, // 904: wg.cosmo.platform.v1.PlatformService.SetGraphRouterCompatibilityVersion:output_type -> wg.cosmo.platform.v1.SetGraphRouterCompatibilityVersionResponse - 442, // 905: wg.cosmo.platform.v1.PlatformService.CreateProposal:output_type -> wg.cosmo.platform.v1.CreateProposalResponse - 444, // 906: wg.cosmo.platform.v1.PlatformService.GetProposal:output_type -> wg.cosmo.platform.v1.GetProposalResponse - 450, // 907: wg.cosmo.platform.v1.PlatformService.UpdateProposal:output_type -> wg.cosmo.platform.v1.UpdateProposalResponse - 452, // 908: wg.cosmo.platform.v1.PlatformService.EnableProposalsForNamespace:output_type -> wg.cosmo.platform.v1.EnableProposalsForNamespaceResponse - 454, // 909: wg.cosmo.platform.v1.PlatformService.ConfigureNamespaceProposalConfig:output_type -> wg.cosmo.platform.v1.ConfigureNamespaceProposalConfigResponse - 456, // 910: wg.cosmo.platform.v1.PlatformService.GetNamespaceProposalConfig:output_type -> wg.cosmo.platform.v1.GetNamespaceProposalConfigResponse - 459, // 911: wg.cosmo.platform.v1.PlatformService.UpdateNamespaceLoginMethods:output_type -> wg.cosmo.platform.v1.UpdateNamespaceLoginMethodsResponse - 461, // 912: wg.cosmo.platform.v1.PlatformService.ListNamespaceLoginMethods:output_type -> wg.cosmo.platform.v1.ListNamespaceLoginMethodsResponse - 464, // 913: wg.cosmo.platform.v1.PlatformService.GetOrganizationLoginMethods:output_type -> wg.cosmo.platform.v1.GetOrganizationLoginMethodsResponse - 466, // 914: wg.cosmo.platform.v1.PlatformService.UpdateOrganizationLoginMethods:output_type -> wg.cosmo.platform.v1.UpdateOrganizationLoginMethodsResponse - 446, // 915: wg.cosmo.platform.v1.PlatformService.GetProposalsByFederatedGraph:output_type -> wg.cosmo.platform.v1.GetProposalsByFederatedGraphResponse - 448, // 916: wg.cosmo.platform.v1.PlatformService.GetProposalChecks:output_type -> wg.cosmo.platform.v1.GetProposalChecksResponse - 468, // 917: wg.cosmo.platform.v1.PlatformService.GetOperations:output_type -> wg.cosmo.platform.v1.GetOperationsResponse - 470, // 918: wg.cosmo.platform.v1.PlatformService.GetClientsFromAnalytics:output_type -> wg.cosmo.platform.v1.GetClientsFromAnalyticsResponse - 472, // 919: wg.cosmo.platform.v1.PlatformService.GetOperationClients:output_type -> wg.cosmo.platform.v1.GetOperationClientsResponse - 474, // 920: wg.cosmo.platform.v1.PlatformService.GetOperationDeprecatedFields:output_type -> wg.cosmo.platform.v1.GetOperationDeprecatedFieldsResponse - 476, // 921: wg.cosmo.platform.v1.PlatformService.ValidateAndFetchPluginData:output_type -> wg.cosmo.platform.v1.ValidateAndFetchPluginDataResponse - 478, // 922: wg.cosmo.platform.v1.PlatformService.LinkSubgraph:output_type -> wg.cosmo.platform.v1.LinkSubgraphResponse - 480, // 923: wg.cosmo.platform.v1.PlatformService.UnlinkSubgraph:output_type -> wg.cosmo.platform.v1.UnlinkSubgraphResponse - 482, // 924: wg.cosmo.platform.v1.PlatformService.VerifyAPIKeyGraphAccess:output_type -> wg.cosmo.platform.v1.VerifyAPIKeyGraphAccessResponse - 488, // 925: wg.cosmo.platform.v1.PlatformService.RecomposeGraph:output_type -> wg.cosmo.platform.v1.RecomposeGraphResponse - 490, // 926: wg.cosmo.platform.v1.PlatformService.RecomposeFeatureFlag:output_type -> wg.cosmo.platform.v1.RecomposeFeatureFlagResponse - 492, // 927: wg.cosmo.platform.v1.PlatformService.GetOnboarding:output_type -> wg.cosmo.platform.v1.GetOnboardingResponse - 494, // 928: wg.cosmo.platform.v1.PlatformService.CreateOnboarding:output_type -> wg.cosmo.platform.v1.CreateOnboardingResponse - 496, // 929: wg.cosmo.platform.v1.PlatformService.FinishOnboarding:output_type -> wg.cosmo.platform.v1.FinishOnboardingResponse - 735, // [735:930] is the sub-list for method output_type - 540, // [540:735] is the sub-list for method input_type - 540, // [540:540] is the sub-list for extension type_name - 540, // [540:540] is the sub-list for extension extendee - 0, // [0:540] is the sub-list for field type_name + 386, // 405: wg.cosmo.platform.v1.GetFeatureFlagsInLatestCompositionByFederatedGraphResponse.feature_subgraphs:type_name -> wg.cosmo.platform.v1.FeatureSubgraphInFlagComposition + 19, // 406: wg.cosmo.platform.v1.GetFeatureSubgraphsByFederatedGraphResponse.response:type_name -> wg.cosmo.platform.v1.Response + 71, // 407: wg.cosmo.platform.v1.GetFeatureSubgraphsByFederatedGraphResponse.feature_subgraphs:type_name -> wg.cosmo.platform.v1.Subgraph + 107, // 408: wg.cosmo.platform.v1.GetOrganizationWebhookHistoryRequest.pagination:type_name -> wg.cosmo.platform.v1.Pagination + 111, // 409: wg.cosmo.platform.v1.GetOrganizationWebhookHistoryRequest.date_range:type_name -> wg.cosmo.platform.v1.DateRange + 19, // 410: wg.cosmo.platform.v1.GetOrganizationWebhookHistoryResponse.response:type_name -> wg.cosmo.platform.v1.Response + 391, // 411: wg.cosmo.platform.v1.GetOrganizationWebhookHistoryResponse.deliveries:type_name -> wg.cosmo.platform.v1.WebhookDelivery + 19, // 412: wg.cosmo.platform.v1.RedeliverWebhookResponse.response:type_name -> wg.cosmo.platform.v1.Response + 19, // 413: wg.cosmo.platform.v1.GetWebhookDeliveryDetailsResponse.response:type_name -> wg.cosmo.platform.v1.Response + 391, // 414: wg.cosmo.platform.v1.GetWebhookDeliveryDetailsResponse.delivery:type_name -> wg.cosmo.platform.v1.WebhookDelivery + 19, // 415: wg.cosmo.platform.v1.CreatePlaygroundScriptResponse.response:type_name -> wg.cosmo.platform.v1.Response + 19, // 416: wg.cosmo.platform.v1.DeletePlaygroundScriptResponse.response:type_name -> wg.cosmo.platform.v1.Response + 19, // 417: wg.cosmo.platform.v1.UpdatePlaygroundScriptResponse.response:type_name -> wg.cosmo.platform.v1.Response + 19, // 418: wg.cosmo.platform.v1.GetPlaygroundScriptsResponse.response:type_name -> wg.cosmo.platform.v1.Response + 404, // 419: wg.cosmo.platform.v1.GetPlaygroundScriptsResponse.scripts:type_name -> wg.cosmo.platform.v1.PlaygroundScript + 19, // 420: wg.cosmo.platform.v1.GetFederatedGraphByIdResponse.response:type_name -> wg.cosmo.platform.v1.Response + 66, // 421: wg.cosmo.platform.v1.GetFederatedGraphByIdResponse.graph:type_name -> wg.cosmo.platform.v1.FederatedGraph + 71, // 422: wg.cosmo.platform.v1.GetFederatedGraphByIdResponse.subgraphs:type_name -> wg.cosmo.platform.v1.Subgraph + 374, // 423: wg.cosmo.platform.v1.GetFederatedGraphByIdResponse.featureFlagsInLatestValidComposition:type_name -> wg.cosmo.platform.v1.FeatureFlag + 71, // 424: wg.cosmo.platform.v1.GetFederatedGraphByIdResponse.featureSubgraphs:type_name -> wg.cosmo.platform.v1.Subgraph + 19, // 425: wg.cosmo.platform.v1.GetSubgraphByIdResponse.response:type_name -> wg.cosmo.platform.v1.Response + 71, // 426: wg.cosmo.platform.v1.GetSubgraphByIdResponse.graph:type_name -> wg.cosmo.platform.v1.Subgraph + 306, // 427: wg.cosmo.platform.v1.GetSubgraphByIdResponse.members:type_name -> wg.cosmo.platform.v1.SubgraphMember + 19, // 428: wg.cosmo.platform.v1.GetNamespaceResponse.response:type_name -> wg.cosmo.platform.v1.Response + 330, // 429: wg.cosmo.platform.v1.GetNamespaceResponse.namespace:type_name -> wg.cosmo.platform.v1.Namespace + 413, // 430: wg.cosmo.platform.v1.WorkspaceNamespace.graphs:type_name -> wg.cosmo.platform.v1.WorkspaceFederatedGraph + 414, // 431: wg.cosmo.platform.v1.WorkspaceNamespace.subgraphs:type_name -> wg.cosmo.platform.v1.WorkspaceSubgraph + 19, // 432: wg.cosmo.platform.v1.GetWorkspaceResponse.response:type_name -> wg.cosmo.platform.v1.Response + 412, // 433: wg.cosmo.platform.v1.GetWorkspaceResponse.namespaces:type_name -> wg.cosmo.platform.v1.WorkspaceNamespace + 19, // 434: wg.cosmo.platform.v1.PushCacheWarmerOperationResponse.response:type_name -> wg.cosmo.platform.v1.Response + 19, // 435: wg.cosmo.platform.v1.GetCacheWarmerOperationsResponse.response:type_name -> wg.cosmo.platform.v1.Response + 420, // 436: wg.cosmo.platform.v1.GetCacheWarmerOperationsResponse.operations:type_name -> wg.cosmo.platform.v1.CacheWarmerOperation + 19, // 437: wg.cosmo.platform.v1.ComputeCacheWarmerOperationsResponse.response:type_name -> wg.cosmo.platform.v1.Response + 19, // 438: wg.cosmo.platform.v1.ConfigureCacheWarmerResponse.response:type_name -> wg.cosmo.platform.v1.Response + 19, // 439: wg.cosmo.platform.v1.GetCacheWarmerConfigResponse.response:type_name -> wg.cosmo.platform.v1.Response + 19, // 440: wg.cosmo.platform.v1.GetSubgraphCheckExtensionsConfigResponse.response:type_name -> wg.cosmo.platform.v1.Response + 19, // 441: wg.cosmo.platform.v1.ConfigureSubgraphCheckExtensionsResponse.response:type_name -> wg.cosmo.platform.v1.Response + 19, // 442: wg.cosmo.platform.v1.DeleteCacheWarmerOperationResponse.response:type_name -> wg.cosmo.platform.v1.Response + 19, // 443: wg.cosmo.platform.v1.ListRouterCompatibilityVersionsResponse.response:type_name -> wg.cosmo.platform.v1.Response + 19, // 444: wg.cosmo.platform.v1.SetGraphRouterCompatibilityVersionResponse.response:type_name -> wg.cosmo.platform.v1.Response + 49, // 445: wg.cosmo.platform.v1.SetGraphRouterCompatibilityVersionResponse.compositionErrors:type_name -> wg.cosmo.platform.v1.CompositionError + 51, // 446: wg.cosmo.platform.v1.SetGraphRouterCompatibilityVersionResponse.deploymentErrors:type_name -> wg.cosmo.platform.v1.DeploymentError + 50, // 447: wg.cosmo.platform.v1.SetGraphRouterCompatibilityVersionResponse.compositionWarnings:type_name -> wg.cosmo.platform.v1.CompositionWarning + 19, // 448: wg.cosmo.platform.v1.GetProposedSchemaOfCheckedSubgraphResponse.response:type_name -> wg.cosmo.platform.v1.Response + 441, // 449: wg.cosmo.platform.v1.Proposal.subgraphs:type_name -> wg.cosmo.platform.v1.ProposalSubgraph + 13, // 450: wg.cosmo.platform.v1.Proposal.origin:type_name -> wg.cosmo.platform.v1.ProposalOrigin + 18, // 451: wg.cosmo.platform.v1.ProposalSubgraph.labels:type_name -> wg.cosmo.platform.v1.Label + 441, // 452: wg.cosmo.platform.v1.CreateProposalRequest.subgraphs:type_name -> wg.cosmo.platform.v1.ProposalSubgraph + 14, // 453: wg.cosmo.platform.v1.CreateProposalRequest.namingConvention:type_name -> wg.cosmo.platform.v1.ProposalNamingConvention + 13, // 454: wg.cosmo.platform.v1.CreateProposalRequest.origin:type_name -> wg.cosmo.platform.v1.ProposalOrigin + 19, // 455: wg.cosmo.platform.v1.CreateProposalResponse.response:type_name -> wg.cosmo.platform.v1.Response + 47, // 456: wg.cosmo.platform.v1.CreateProposalResponse.breakingChanges:type_name -> wg.cosmo.platform.v1.SchemaChange + 47, // 457: wg.cosmo.platform.v1.CreateProposalResponse.nonBreakingChanges:type_name -> wg.cosmo.platform.v1.SchemaChange + 49, // 458: wg.cosmo.platform.v1.CreateProposalResponse.compositionErrors:type_name -> wg.cosmo.platform.v1.CompositionError + 50, // 459: wg.cosmo.platform.v1.CreateProposalResponse.compositionWarnings:type_name -> wg.cosmo.platform.v1.CompositionWarning + 55, // 460: wg.cosmo.platform.v1.CreateProposalResponse.lintErrors:type_name -> wg.cosmo.platform.v1.LintIssue + 55, // 461: wg.cosmo.platform.v1.CreateProposalResponse.lintWarnings:type_name -> wg.cosmo.platform.v1.LintIssue + 56, // 462: wg.cosmo.platform.v1.CreateProposalResponse.graphPruneErrors:type_name -> wg.cosmo.platform.v1.GraphPruningIssue + 56, // 463: wg.cosmo.platform.v1.CreateProposalResponse.graphPruneWarnings:type_name -> wg.cosmo.platform.v1.GraphPruningIssue + 52, // 464: wg.cosmo.platform.v1.CreateProposalResponse.operationUsageStats:type_name -> wg.cosmo.platform.v1.CheckOperationUsageStats + 48, // 465: wg.cosmo.platform.v1.CreateProposalResponse.composedSchemaBreakingChanges:type_name -> wg.cosmo.platform.v1.FederatedGraphSchemaChange + 19, // 466: wg.cosmo.platform.v1.GetProposalResponse.response:type_name -> wg.cosmo.platform.v1.Response + 440, // 467: wg.cosmo.platform.v1.GetProposalResponse.proposal:type_name -> wg.cosmo.platform.v1.Proposal + 526, // 468: wg.cosmo.platform.v1.GetProposalResponse.currentSubgraphs:type_name -> wg.cosmo.platform.v1.GetProposalResponse.CurrentSubgraph + 19, // 469: wg.cosmo.platform.v1.GetProposalsByFederatedGraphResponse.response:type_name -> wg.cosmo.platform.v1.Response + 440, // 470: wg.cosmo.platform.v1.GetProposalsByFederatedGraphResponse.proposals:type_name -> wg.cosmo.platform.v1.Proposal + 19, // 471: wg.cosmo.platform.v1.GetProposalChecksResponse.response:type_name -> wg.cosmo.platform.v1.Response + 85, // 472: wg.cosmo.platform.v1.GetProposalChecksResponse.checks:type_name -> wg.cosmo.platform.v1.SchemaCheck + 527, // 473: wg.cosmo.platform.v1.UpdateProposalRequest.updatedSubgraphs:type_name -> wg.cosmo.platform.v1.UpdateProposalRequest.UpdateProposalSubgraphs + 19, // 474: wg.cosmo.platform.v1.UpdateProposalResponse.response:type_name -> wg.cosmo.platform.v1.Response + 47, // 475: wg.cosmo.platform.v1.UpdateProposalResponse.breakingChanges:type_name -> wg.cosmo.platform.v1.SchemaChange + 47, // 476: wg.cosmo.platform.v1.UpdateProposalResponse.nonBreakingChanges:type_name -> wg.cosmo.platform.v1.SchemaChange + 49, // 477: wg.cosmo.platform.v1.UpdateProposalResponse.compositionErrors:type_name -> wg.cosmo.platform.v1.CompositionError + 50, // 478: wg.cosmo.platform.v1.UpdateProposalResponse.compositionWarnings:type_name -> wg.cosmo.platform.v1.CompositionWarning + 55, // 479: wg.cosmo.platform.v1.UpdateProposalResponse.lintErrors:type_name -> wg.cosmo.platform.v1.LintIssue + 55, // 480: wg.cosmo.platform.v1.UpdateProposalResponse.lintWarnings:type_name -> wg.cosmo.platform.v1.LintIssue + 56, // 481: wg.cosmo.platform.v1.UpdateProposalResponse.graphPruneErrors:type_name -> wg.cosmo.platform.v1.GraphPruningIssue + 56, // 482: wg.cosmo.platform.v1.UpdateProposalResponse.graphPruneWarnings:type_name -> wg.cosmo.platform.v1.GraphPruningIssue + 52, // 483: wg.cosmo.platform.v1.UpdateProposalResponse.operationUsageStats:type_name -> wg.cosmo.platform.v1.CheckOperationUsageStats + 48, // 484: wg.cosmo.platform.v1.UpdateProposalResponse.composedSchemaBreakingChanges:type_name -> wg.cosmo.platform.v1.FederatedGraphSchemaChange + 19, // 485: wg.cosmo.platform.v1.EnableProposalsForNamespaceResponse.response:type_name -> wg.cosmo.platform.v1.Response + 1, // 486: wg.cosmo.platform.v1.ConfigureNamespaceProposalConfigRequest.checkSeverityLevel:type_name -> wg.cosmo.platform.v1.LintSeverity + 1, // 487: wg.cosmo.platform.v1.ConfigureNamespaceProposalConfigRequest.publishSeverityLevel:type_name -> wg.cosmo.platform.v1.LintSeverity + 19, // 488: wg.cosmo.platform.v1.ConfigureNamespaceProposalConfigResponse.response:type_name -> wg.cosmo.platform.v1.Response + 19, // 489: wg.cosmo.platform.v1.GetNamespaceProposalConfigResponse.response:type_name -> wg.cosmo.platform.v1.Response + 1, // 490: wg.cosmo.platform.v1.GetNamespaceProposalConfigResponse.checkSeverityLevel:type_name -> wg.cosmo.platform.v1.LintSeverity + 1, // 491: wg.cosmo.platform.v1.GetNamespaceProposalConfigResponse.publishSeverityLevel:type_name -> wg.cosmo.platform.v1.LintSeverity + 458, // 492: wg.cosmo.platform.v1.UpdateNamespaceLoginMethodsRequest.mappings:type_name -> wg.cosmo.platform.v1.NamespaceLoginMethodMapping + 19, // 493: wg.cosmo.platform.v1.UpdateNamespaceLoginMethodsResponse.response:type_name -> wg.cosmo.platform.v1.Response + 19, // 494: wg.cosmo.platform.v1.ListNamespaceLoginMethodsResponse.response:type_name -> wg.cosmo.platform.v1.Response + 458, // 495: wg.cosmo.platform.v1.ListNamespaceLoginMethodsResponse.mappings:type_name -> wg.cosmo.platform.v1.NamespaceLoginMethodMapping + 19, // 496: wg.cosmo.platform.v1.GetOrganizationLoginMethodsResponse.response:type_name -> wg.cosmo.platform.v1.Response + 463, // 497: wg.cosmo.platform.v1.GetOrganizationLoginMethodsResponse.login_methods:type_name -> wg.cosmo.platform.v1.OrganizationLoginMethods + 19, // 498: wg.cosmo.platform.v1.UpdateOrganizationLoginMethodsResponse.response:type_name -> wg.cosmo.platform.v1.Response + 330, // 499: wg.cosmo.platform.v1.UpdateOrganizationLoginMethodsResponse.affected_namespaces:type_name -> wg.cosmo.platform.v1.Namespace + 15, // 500: wg.cosmo.platform.v1.GetOperationsRequest.fetchBasedOn:type_name -> wg.cosmo.platform.v1.OperationsFetchBasedOn + 111, // 501: wg.cosmo.platform.v1.GetOperationsRequest.dateRange:type_name -> wg.cosmo.platform.v1.DateRange + 16, // 502: wg.cosmo.platform.v1.GetOperationsRequest.sortDirection:type_name -> wg.cosmo.platform.v1.SortDirection + 19, // 503: wg.cosmo.platform.v1.GetOperationsResponse.response:type_name -> wg.cosmo.platform.v1.Response + 528, // 504: wg.cosmo.platform.v1.GetOperationsResponse.operations:type_name -> wg.cosmo.platform.v1.GetOperationsResponse.Operation + 19, // 505: wg.cosmo.platform.v1.GetClientsFromAnalyticsResponse.response:type_name -> wg.cosmo.platform.v1.Response + 529, // 506: wg.cosmo.platform.v1.GetClientsFromAnalyticsResponse.clients:type_name -> wg.cosmo.platform.v1.GetClientsFromAnalyticsResponse.Client + 111, // 507: wg.cosmo.platform.v1.GetOperationClientsRequest.dateRange:type_name -> wg.cosmo.platform.v1.DateRange + 19, // 508: wg.cosmo.platform.v1.GetOperationClientsResponse.response:type_name -> wg.cosmo.platform.v1.Response + 530, // 509: wg.cosmo.platform.v1.GetOperationClientsResponse.clients:type_name -> wg.cosmo.platform.v1.GetOperationClientsResponse.Client + 111, // 510: wg.cosmo.platform.v1.GetOperationDeprecatedFieldsRequest.dateRange:type_name -> wg.cosmo.platform.v1.DateRange + 19, // 511: wg.cosmo.platform.v1.GetOperationDeprecatedFieldsResponse.response:type_name -> wg.cosmo.platform.v1.Response + 531, // 512: wg.cosmo.platform.v1.GetOperationDeprecatedFieldsResponse.deprecatedFields:type_name -> wg.cosmo.platform.v1.GetOperationDeprecatedFieldsResponse.DeprecatedField + 18, // 513: wg.cosmo.platform.v1.ValidateAndFetchPluginDataRequest.labels:type_name -> wg.cosmo.platform.v1.Label + 19, // 514: wg.cosmo.platform.v1.ValidateAndFetchPluginDataResponse.response:type_name -> wg.cosmo.platform.v1.Response + 19, // 515: wg.cosmo.platform.v1.LinkSubgraphResponse.response:type_name -> wg.cosmo.platform.v1.Response + 19, // 516: wg.cosmo.platform.v1.UnlinkSubgraphResponse.response:type_name -> wg.cosmo.platform.v1.Response + 19, // 517: wg.cosmo.platform.v1.VerifyAPIKeyGraphAccessResponse.response:type_name -> wg.cosmo.platform.v1.Response + 19, // 518: wg.cosmo.platform.v1.InitializeCosmoUserResponse.response:type_name -> wg.cosmo.platform.v1.Response + 19, // 519: wg.cosmo.platform.v1.ListOrganizationsResponse.response:type_name -> wg.cosmo.platform.v1.Response + 532, // 520: wg.cosmo.platform.v1.ListOrganizationsResponse.organizations:type_name -> wg.cosmo.platform.v1.ListOrganizationsResponse.OrganizationMembership + 19, // 521: wg.cosmo.platform.v1.RecomposeGraphResponse.response:type_name -> wg.cosmo.platform.v1.Response + 49, // 522: wg.cosmo.platform.v1.RecomposeGraphResponse.compositionErrors:type_name -> wg.cosmo.platform.v1.CompositionError + 51, // 523: wg.cosmo.platform.v1.RecomposeGraphResponse.deploymentErrors:type_name -> wg.cosmo.platform.v1.DeploymentError + 50, // 524: wg.cosmo.platform.v1.RecomposeGraphResponse.compositionWarnings:type_name -> wg.cosmo.platform.v1.CompositionWarning + 26, // 525: wg.cosmo.platform.v1.RecomposeGraphResponse.errorCounts:type_name -> wg.cosmo.platform.v1.SubgraphPublishStats + 19, // 526: wg.cosmo.platform.v1.RecomposeFeatureFlagResponse.response:type_name -> wg.cosmo.platform.v1.Response + 49, // 527: wg.cosmo.platform.v1.RecomposeFeatureFlagResponse.compositionErrors:type_name -> wg.cosmo.platform.v1.CompositionError + 51, // 528: wg.cosmo.platform.v1.RecomposeFeatureFlagResponse.deploymentErrors:type_name -> wg.cosmo.platform.v1.DeploymentError + 50, // 529: wg.cosmo.platform.v1.RecomposeFeatureFlagResponse.compositionWarnings:type_name -> wg.cosmo.platform.v1.CompositionWarning + 26, // 530: wg.cosmo.platform.v1.RecomposeFeatureFlagResponse.errorCounts:type_name -> wg.cosmo.platform.v1.SubgraphPublishStats + 19, // 531: wg.cosmo.platform.v1.GetOnboardingResponse.response:type_name -> wg.cosmo.platform.v1.Response + 19, // 532: wg.cosmo.platform.v1.CreateOnboardingResponse.response:type_name -> wg.cosmo.platform.v1.Response + 19, // 533: wg.cosmo.platform.v1.FinishOnboardingResponse.response:type_name -> wg.cosmo.platform.v1.Response + 18, // 534: wg.cosmo.platform.v1.SchemaCheck.CheckedSubgraph.labels:type_name -> wg.cosmo.platform.v1.Label + 47, // 535: wg.cosmo.platform.v1.GetCheckOperationsResponse.CheckOperation.impacting_changes:type_name -> wg.cosmo.platform.v1.SchemaChange + 118, // 536: wg.cosmo.platform.v1.AnalyticsViewRow.ValueEntry.value:type_name -> wg.cosmo.platform.v1.AnalyticsViewRowValue + 517, // 537: wg.cosmo.platform.v1.GetBillingPlansResponse.BillingPlan.features:type_name -> wg.cosmo.platform.v1.GetBillingPlansResponse.BillingPlanFeature + 66, // 538: wg.cosmo.platform.v1.GetFeatureFlagByNameResponse.FfFederatedGraph.federated_graph:type_name -> wg.cosmo.platform.v1.FederatedGraph + 441, // 539: wg.cosmo.platform.v1.UpdateProposalRequest.UpdateProposalSubgraphs.subgraphs:type_name -> wg.cosmo.platform.v1.ProposalSubgraph + 17, // 540: wg.cosmo.platform.v1.GetOperationsResponse.Operation.type:type_name -> wg.cosmo.platform.v1.GetOperationsResponse.OperationType + 397, // 541: wg.cosmo.platform.v1.PlatformService.CreatePlaygroundScript:input_type -> wg.cosmo.platform.v1.CreatePlaygroundScriptRequest + 399, // 542: wg.cosmo.platform.v1.PlatformService.DeletePlaygroundScript:input_type -> wg.cosmo.platform.v1.DeletePlaygroundScriptRequest + 401, // 543: wg.cosmo.platform.v1.PlatformService.UpdatePlaygroundScript:input_type -> wg.cosmo.platform.v1.UpdatePlaygroundScriptRequest + 403, // 544: wg.cosmo.platform.v1.PlatformService.GetPlaygroundScripts:input_type -> wg.cosmo.platform.v1.GetPlaygroundScriptsRequest + 324, // 545: wg.cosmo.platform.v1.PlatformService.CreateNamespace:input_type -> wg.cosmo.platform.v1.CreateNamespaceRequest + 326, // 546: wg.cosmo.platform.v1.PlatformService.DeleteNamespace:input_type -> wg.cosmo.platform.v1.DeleteNamespaceRequest + 328, // 547: wg.cosmo.platform.v1.PlatformService.RenameNamespace:input_type -> wg.cosmo.platform.v1.RenameNamespaceRequest + 331, // 548: wg.cosmo.platform.v1.PlatformService.GetNamespaces:input_type -> wg.cosmo.platform.v1.GetNamespacesRequest + 410, // 549: wg.cosmo.platform.v1.PlatformService.GetNamespace:input_type -> wg.cosmo.platform.v1.GetNamespaceRequest + 415, // 550: wg.cosmo.platform.v1.PlatformService.GetWorkspace:input_type -> wg.cosmo.platform.v1.GetWorkspaceRequest + 358, // 551: wg.cosmo.platform.v1.PlatformService.CreateContract:input_type -> wg.cosmo.platform.v1.CreateContractRequest + 360, // 552: wg.cosmo.platform.v1.PlatformService.UpdateContract:input_type -> wg.cosmo.platform.v1.UpdateContractRequest + 333, // 553: wg.cosmo.platform.v1.PlatformService.MoveFederatedGraph:input_type -> wg.cosmo.platform.v1.MoveGraphRequest + 333, // 554: wg.cosmo.platform.v1.PlatformService.MoveSubgraph:input_type -> wg.cosmo.platform.v1.MoveGraphRequest + 333, // 555: wg.cosmo.platform.v1.PlatformService.MoveMonograph:input_type -> wg.cosmo.platform.v1.MoveGraphRequest + 36, // 556: wg.cosmo.platform.v1.PlatformService.CreateMonograph:input_type -> wg.cosmo.platform.v1.CreateMonographRequest + 21, // 557: wg.cosmo.platform.v1.PlatformService.PublishMonograph:input_type -> wg.cosmo.platform.v1.PublishMonographRequest + 44, // 558: wg.cosmo.platform.v1.PlatformService.DeleteMonograph:input_type -> wg.cosmo.platform.v1.DeleteMonographRequest + 103, // 559: wg.cosmo.platform.v1.PlatformService.UpdateMonograph:input_type -> wg.cosmo.platform.v1.UpdateMonographRequest + 353, // 560: wg.cosmo.platform.v1.PlatformService.MigrateMonograph:input_type -> wg.cosmo.platform.v1.MigrateMonographRequest + 39, // 561: wg.cosmo.platform.v1.PlatformService.CreateFederatedSubgraph:input_type -> wg.cosmo.platform.v1.CreateFederatedSubgraphRequest + 41, // 562: wg.cosmo.platform.v1.PlatformService.CreateFederatedSubgraphs:input_type -> wg.cosmo.platform.v1.CreateFederatedSubgraphsRequest + 24, // 563: wg.cosmo.platform.v1.PlatformService.PublishFederatedSubgraph:input_type -> wg.cosmo.platform.v1.PublishFederatedSubgraphRequest + 28, // 564: wg.cosmo.platform.v1.PlatformService.PublishFederatedSubgraphs:input_type -> wg.cosmo.platform.v1.PublishFederatedSubgraphsRequest + 30, // 565: wg.cosmo.platform.v1.PlatformService.GetBatchPublishJobStatus:input_type -> wg.cosmo.platform.v1.GetBatchPublishJobStatusRequest + 38, // 566: wg.cosmo.platform.v1.PlatformService.CreateFederatedGraph:input_type -> wg.cosmo.platform.v1.CreateFederatedGraphRequest + 43, // 567: wg.cosmo.platform.v1.PlatformService.DeleteFederatedGraph:input_type -> wg.cosmo.platform.v1.DeleteFederatedGraphRequest + 46, // 568: wg.cosmo.platform.v1.PlatformService.DeleteFederatedSubgraph:input_type -> wg.cosmo.platform.v1.DeleteFederatedSubgraphRequest + 34, // 569: wg.cosmo.platform.v1.PlatformService.CheckSubgraphSchema:input_type -> wg.cosmo.platform.v1.CheckSubgraphSchemaRequest + 438, // 570: wg.cosmo.platform.v1.PlatformService.GetProposedSchemaOfCheckedSubgraph:input_type -> wg.cosmo.platform.v1.GetProposedSchemaOfCheckedSubgraphRequest + 35, // 571: wg.cosmo.platform.v1.PlatformService.FixSubgraphSchema:input_type -> wg.cosmo.platform.v1.FixSubgraphSchemaRequest + 101, // 572: wg.cosmo.platform.v1.PlatformService.UpdateFederatedGraph:input_type -> wg.cosmo.platform.v1.UpdateFederatedGraphRequest + 99, // 573: wg.cosmo.platform.v1.PlatformService.UpdateSubgraph:input_type -> wg.cosmo.platform.v1.UpdateSubgraphRequest + 105, // 574: wg.cosmo.platform.v1.PlatformService.CheckFederatedGraph:input_type -> wg.cosmo.platform.v1.CheckFederatedGraphRequest + 169, // 575: wg.cosmo.platform.v1.PlatformService.WhoAmI:input_type -> wg.cosmo.platform.v1.WhoAmIRequest + 173, // 576: wg.cosmo.platform.v1.PlatformService.GenerateRouterToken:input_type -> wg.cosmo.platform.v1.GenerateRouterTokenRequest + 175, // 577: wg.cosmo.platform.v1.PlatformService.GetRouterTokens:input_type -> wg.cosmo.platform.v1.GetRouterTokensRequest + 177, // 578: wg.cosmo.platform.v1.PlatformService.DeleteRouterToken:input_type -> wg.cosmo.platform.v1.DeleteRouterTokenRequest + 180, // 579: wg.cosmo.platform.v1.PlatformService.PublishPersistedOperations:input_type -> wg.cosmo.platform.v1.PublishPersistedOperationsRequest + 185, // 580: wg.cosmo.platform.v1.PlatformService.CheckPersistedOperationTraffic:input_type -> wg.cosmo.platform.v1.CheckPersistedOperationTrafficRequest + 183, // 581: wg.cosmo.platform.v1.PlatformService.DeletePersistedOperation:input_type -> wg.cosmo.platform.v1.DeletePersistedOperationRequest + 187, // 582: wg.cosmo.platform.v1.PlatformService.GetPersistedOperations:input_type -> wg.cosmo.platform.v1.GetPersistedOperationsRequest + 283, // 583: wg.cosmo.platform.v1.PlatformService.GetAuditLogs:input_type -> wg.cosmo.platform.v1.GetAuditLogsRequest + 484, // 584: wg.cosmo.platform.v1.PlatformService.InitializeCosmoUser:input_type -> wg.cosmo.platform.v1.InitializeCosmoUserRequest + 486, // 585: wg.cosmo.platform.v1.PlatformService.ListOrganizations:input_type -> wg.cosmo.platform.v1.ListOrganizationsRequest + 64, // 586: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphs:input_type -> wg.cosmo.platform.v1.GetFederatedGraphsRequest + 68, // 587: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphsBySubgraphLabels:input_type -> wg.cosmo.platform.v1.GetFederatedGraphsBySubgraphLabelsRequest + 73, // 588: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphByName:input_type -> wg.cosmo.platform.v1.GetFederatedGraphByNameRequest + 75, // 589: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphSDLByName:input_type -> wg.cosmo.platform.v1.GetFederatedGraphSDLByNameRequest + 70, // 590: wg.cosmo.platform.v1.PlatformService.GetSubgraphs:input_type -> wg.cosmo.platform.v1.GetSubgraphsRequest + 77, // 591: wg.cosmo.platform.v1.PlatformService.GetSubgraphByName:input_type -> wg.cosmo.platform.v1.GetSubgraphByNameRequest + 79, // 592: wg.cosmo.platform.v1.PlatformService.GetSubgraphSDLFromLatestComposition:input_type -> wg.cosmo.platform.v1.GetSubgraphSDLFromLatestCompositionRequest + 81, // 593: wg.cosmo.platform.v1.PlatformService.GetLatestSubgraphSDL:input_type -> wg.cosmo.platform.v1.GetLatestSubgraphSDLRequest + 84, // 594: wg.cosmo.platform.v1.PlatformService.GetChecksByFederatedGraphName:input_type -> wg.cosmo.platform.v1.GetChecksByFederatedGraphNameRequest + 87, // 595: wg.cosmo.platform.v1.PlatformService.GetCheckSummary:input_type -> wg.cosmo.platform.v1.GetCheckSummaryRequest + 90, // 596: wg.cosmo.platform.v1.PlatformService.GetCheckOperations:input_type -> wg.cosmo.platform.v1.GetCheckOperationsRequest + 247, // 597: wg.cosmo.platform.v1.PlatformService.ForceCheckSuccess:input_type -> wg.cosmo.platform.v1.ForceCheckSuccessRequest + 254, // 598: wg.cosmo.platform.v1.PlatformService.CreateOperationOverrides:input_type -> wg.cosmo.platform.v1.CreateOperationOverridesRequest + 258, // 599: wg.cosmo.platform.v1.PlatformService.RemoveOperationOverrides:input_type -> wg.cosmo.platform.v1.RemoveOperationOverridesRequest + 256, // 600: wg.cosmo.platform.v1.PlatformService.CreateOperationIgnoreAllOverride:input_type -> wg.cosmo.platform.v1.CreateOperationIgnoreAllOverrideRequest + 260, // 601: wg.cosmo.platform.v1.PlatformService.RemoveOperationIgnoreAllOverride:input_type -> wg.cosmo.platform.v1.RemoveOperationIgnoreAllOverrideRequest + 262, // 602: wg.cosmo.platform.v1.PlatformService.GetOperationOverrides:input_type -> wg.cosmo.platform.v1.GetOperationOverridesRequest + 264, // 603: wg.cosmo.platform.v1.PlatformService.GetAllOverrides:input_type -> wg.cosmo.platform.v1.GetAllOverridesRequest + 249, // 604: wg.cosmo.platform.v1.PlatformService.ToggleChangeOverridesForAllOperations:input_type -> wg.cosmo.platform.v1.ToggleChangeOverridesForAllOperationsRequest + 251, // 605: wg.cosmo.platform.v1.PlatformService.CreateIgnoreOverridesForAllOperations:input_type -> wg.cosmo.platform.v1.CreateIgnoreOverridesForAllOperationsRequest + 92, // 606: wg.cosmo.platform.v1.PlatformService.GetOperationContent:input_type -> wg.cosmo.platform.v1.GetOperationContentRequest + 94, // 607: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphChangelog:input_type -> wg.cosmo.platform.v1.GetFederatedGraphChangelogRequest + 126, // 608: wg.cosmo.platform.v1.PlatformService.CreateFederatedGraphToken:input_type -> wg.cosmo.platform.v1.CreateFederatedGraphTokenRequest + 224, // 609: wg.cosmo.platform.v1.PlatformService.GetOrganizationBySlug:input_type -> wg.cosmo.platform.v1.GetOrganizationBySlugRequest + 144, // 610: wg.cosmo.platform.v1.PlatformService.GetOrganizationMembers:input_type -> wg.cosmo.platform.v1.GetOrganizationMembersRequest + 142, // 611: wg.cosmo.platform.v1.PlatformService.GetPendingOrganizationMembers:input_type -> wg.cosmo.platform.v1.GetPendingOrganizationMembersRequest + 362, // 612: wg.cosmo.platform.v1.PlatformService.IsMemberLimitReached:input_type -> wg.cosmo.platform.v1.IsMemberLimitReachedRequest + 146, // 613: wg.cosmo.platform.v1.PlatformService.InviteUser:input_type -> wg.cosmo.platform.v1.InviteUserRequest + 148, // 614: wg.cosmo.platform.v1.PlatformService.InviteUsers:input_type -> wg.cosmo.platform.v1.InviteUsersRequest + 152, // 615: wg.cosmo.platform.v1.PlatformService.GetAPIKeys:input_type -> wg.cosmo.platform.v1.GetAPIKeysRequest + 154, // 616: wg.cosmo.platform.v1.PlatformService.CreateAPIKey:input_type -> wg.cosmo.platform.v1.CreateAPIKeyRequest + 158, // 617: wg.cosmo.platform.v1.PlatformService.UpdateAPIKey:input_type -> wg.cosmo.platform.v1.UpdateAPIKeyRequest + 156, // 618: wg.cosmo.platform.v1.PlatformService.DeleteAPIKey:input_type -> wg.cosmo.platform.v1.DeleteAPIKeyRequest + 160, // 619: wg.cosmo.platform.v1.PlatformService.RemoveOrganizationMember:input_type -> wg.cosmo.platform.v1.RemoveOrganizationMemberRequest + 162, // 620: wg.cosmo.platform.v1.PlatformService.RemoveInvitation:input_type -> wg.cosmo.platform.v1.RemoveInvitationRequest + 164, // 621: wg.cosmo.platform.v1.PlatformService.MigrateFromApollo:input_type -> wg.cosmo.platform.v1.MigrateFromApolloRequest + 130, // 622: wg.cosmo.platform.v1.PlatformService.CreateOrganizationGroup:input_type -> wg.cosmo.platform.v1.CreateOrganizationGroupRequest + 132, // 623: wg.cosmo.platform.v1.PlatformService.GetOrganizationGroups:input_type -> wg.cosmo.platform.v1.GetOrganizationGroupsRequest + 134, // 624: wg.cosmo.platform.v1.PlatformService.GetOrganizationGroupMembers:input_type -> wg.cosmo.platform.v1.GetOrganizationGroupMembersRequest + 136, // 625: wg.cosmo.platform.v1.PlatformService.UpdateOrganizationGroup:input_type -> wg.cosmo.platform.v1.UpdateOrganizationGroupRequest + 138, // 626: wg.cosmo.platform.v1.PlatformService.DeleteOrganizationGroup:input_type -> wg.cosmo.platform.v1.DeleteOrganizationGroupRequest + 190, // 627: wg.cosmo.platform.v1.PlatformService.CreateOrganizationWebhookConfig:input_type -> wg.cosmo.platform.v1.CreateOrganizationWebhookConfigRequest + 192, // 628: wg.cosmo.platform.v1.PlatformService.GetOrganizationWebhookConfigs:input_type -> wg.cosmo.platform.v1.GetOrganizationWebhookConfigsRequest + 194, // 629: wg.cosmo.platform.v1.PlatformService.GetOrganizationWebhookMeta:input_type -> wg.cosmo.platform.v1.GetOrganizationWebhookMetaRequest + 196, // 630: wg.cosmo.platform.v1.PlatformService.UpdateOrganizationWebhookConfig:input_type -> wg.cosmo.platform.v1.UpdateOrganizationWebhookConfigRequest + 198, // 631: wg.cosmo.platform.v1.PlatformService.DeleteOrganizationWebhookConfig:input_type -> wg.cosmo.platform.v1.DeleteOrganizationWebhookConfigRequest + 390, // 632: wg.cosmo.platform.v1.PlatformService.GetOrganizationWebhookHistory:input_type -> wg.cosmo.platform.v1.GetOrganizationWebhookHistoryRequest + 395, // 633: wg.cosmo.platform.v1.PlatformService.GetWebhookDeliveryDetails:input_type -> wg.cosmo.platform.v1.GetWebhookDeliveryDetailsRequest + 393, // 634: wg.cosmo.platform.v1.PlatformService.RedeliverWebhook:input_type -> wg.cosmo.platform.v1.RedeliverWebhookRequest + 200, // 635: wg.cosmo.platform.v1.PlatformService.CreateIntegration:input_type -> wg.cosmo.platform.v1.CreateIntegrationRequest + 202, // 636: wg.cosmo.platform.v1.PlatformService.GetOrganizationIntegrations:input_type -> wg.cosmo.platform.v1.GetOrganizationIntegrationsRequest + 207, // 637: wg.cosmo.platform.v1.PlatformService.UpdateIntegrationConfig:input_type -> wg.cosmo.platform.v1.UpdateIntegrationConfigRequest + 209, // 638: wg.cosmo.platform.v1.PlatformService.DeleteIntegration:input_type -> wg.cosmo.platform.v1.DeleteIntegrationRequest + 364, // 639: wg.cosmo.platform.v1.PlatformService.DeleteUser:input_type -> wg.cosmo.platform.v1.DeleteUserRequest + 211, // 640: wg.cosmo.platform.v1.PlatformService.DeleteOrganization:input_type -> wg.cosmo.platform.v1.DeleteOrganizationRequest + 213, // 641: wg.cosmo.platform.v1.PlatformService.RestoreOrganization:input_type -> wg.cosmo.platform.v1.RestoreOrganizationRequest + 215, // 642: wg.cosmo.platform.v1.PlatformService.LeaveOrganization:input_type -> wg.cosmo.platform.v1.LeaveOrganizationRequest + 217, // 643: wg.cosmo.platform.v1.PlatformService.UpdateOrganizationDetails:input_type -> wg.cosmo.platform.v1.UpdateOrganizationDetailsRequest + 219, // 644: wg.cosmo.platform.v1.PlatformService.UpdateOrgMemberGroup:input_type -> wg.cosmo.platform.v1.UpdateOrgMemberGroupRequest + 266, // 645: wg.cosmo.platform.v1.PlatformService.IsGitHubAppInstalled:input_type -> wg.cosmo.platform.v1.IsGitHubAppInstalledRequest + 269, // 646: wg.cosmo.platform.v1.PlatformService.CreateOIDCProvider:input_type -> wg.cosmo.platform.v1.CreateOIDCProviderRequest + 274, // 647: wg.cosmo.platform.v1.PlatformService.GetOIDCProvider:input_type -> wg.cosmo.platform.v1.GetOIDCProviderRequest + 272, // 648: wg.cosmo.platform.v1.PlatformService.ListOIDCProviders:input_type -> wg.cosmo.platform.v1.ListOIDCProvidersRequest + 276, // 649: wg.cosmo.platform.v1.PlatformService.DeleteOIDCProvider:input_type -> wg.cosmo.platform.v1.DeleteOIDCProviderRequest + 278, // 650: wg.cosmo.platform.v1.PlatformService.UpdateIDPMappers:input_type -> wg.cosmo.platform.v1.UpdateIDPMappersRequest + 314, // 651: wg.cosmo.platform.v1.PlatformService.GetClients:input_type -> wg.cosmo.platform.v1.GetClientsRequest + 316, // 652: wg.cosmo.platform.v1.PlatformService.PreviewDeleteClient:input_type -> wg.cosmo.platform.v1.PreviewDeleteClientRequest + 318, // 653: wg.cosmo.platform.v1.PlatformService.DeleteClient:input_type -> wg.cosmo.platform.v1.DeleteClientRequest + 311, // 654: wg.cosmo.platform.v1.PlatformService.GetRouters:input_type -> wg.cosmo.platform.v1.GetRoutersRequest + 286, // 655: wg.cosmo.platform.v1.PlatformService.GetInvitations:input_type -> wg.cosmo.platform.v1.GetInvitationsRequest + 288, // 656: wg.cosmo.platform.v1.PlatformService.AcceptOrDeclineInvitation:input_type -> wg.cosmo.platform.v1.AcceptOrDeclineInvitationRequest + 292, // 657: wg.cosmo.platform.v1.PlatformService.GetCompositions:input_type -> wg.cosmo.platform.v1.GetCompositionsRequest + 294, // 658: wg.cosmo.platform.v1.PlatformService.GetCompositionDetails:input_type -> wg.cosmo.platform.v1.GetCompositionDetailsRequest + 297, // 659: wg.cosmo.platform.v1.PlatformService.GetSdlBySchemaVersion:input_type -> wg.cosmo.platform.v1.GetSdlBySchemaVersionRequest + 299, // 660: wg.cosmo.platform.v1.PlatformService.GetChangelogBySchemaVersion:input_type -> wg.cosmo.platform.v1.GetChangelogBySchemaVersionRequest + 301, // 661: wg.cosmo.platform.v1.PlatformService.GetUserAccessibleResources:input_type -> wg.cosmo.platform.v1.GetUserAccessibleResourcesRequest + 303, // 662: wg.cosmo.platform.v1.PlatformService.UpdateFeatureSettings:input_type -> wg.cosmo.platform.v1.UpdateFeatureSettingsRequest + 305, // 663: wg.cosmo.platform.v1.PlatformService.GetSubgraphMembers:input_type -> wg.cosmo.platform.v1.GetSubgraphMembersRequest + 308, // 664: wg.cosmo.platform.v1.PlatformService.AddReadme:input_type -> wg.cosmo.platform.v1.AddReadmeRequest + 355, // 665: wg.cosmo.platform.v1.PlatformService.GetUserAccessiblePermissions:input_type -> wg.cosmo.platform.v1.GetUserAccessiblePermissionsRequest + 366, // 666: wg.cosmo.platform.v1.PlatformService.CreateFeatureFlag:input_type -> wg.cosmo.platform.v1.CreateFeatureFlagRequest + 372, // 667: wg.cosmo.platform.v1.PlatformService.DeleteFeatureFlag:input_type -> wg.cosmo.platform.v1.DeleteFeatureFlagRequest + 368, // 668: wg.cosmo.platform.v1.PlatformService.UpdateFeatureFlag:input_type -> wg.cosmo.platform.v1.UpdateFeatureFlagRequest + 370, // 669: wg.cosmo.platform.v1.PlatformService.EnableFeatureFlag:input_type -> wg.cosmo.platform.v1.EnableFeatureFlagRequest + 112, // 670: wg.cosmo.platform.v1.PlatformService.GetAnalyticsView:input_type -> wg.cosmo.platform.v1.GetAnalyticsViewRequest + 120, // 671: wg.cosmo.platform.v1.PlatformService.GetDashboardAnalyticsView:input_type -> wg.cosmo.platform.v1.GetDashboardAnalyticsViewRequest + 167, // 672: wg.cosmo.platform.v1.PlatformService.GetTrace:input_type -> wg.cosmo.platform.v1.GetTraceRequest + 234, // 673: wg.cosmo.platform.v1.PlatformService.GetGraphMetrics:input_type -> wg.cosmo.platform.v1.GetGraphMetricsRequest + 240, // 674: wg.cosmo.platform.v1.PlatformService.GetMetricsErrorRate:input_type -> wg.cosmo.platform.v1.GetMetricsErrorRateRequest + 243, // 675: wg.cosmo.platform.v1.PlatformService.GetSubgraphMetrics:input_type -> wg.cosmo.platform.v1.GetSubgraphMetricsRequest + 245, // 676: wg.cosmo.platform.v1.PlatformService.GetSubgraphMetricsErrorRate:input_type -> wg.cosmo.platform.v1.GetSubgraphMetricsErrorRateRequest + 320, // 677: wg.cosmo.platform.v1.PlatformService.GetFieldUsage:input_type -> wg.cosmo.platform.v1.GetFieldUsageRequest + 280, // 678: wg.cosmo.platform.v1.PlatformService.GetOrganizationRequestsCount:input_type -> wg.cosmo.platform.v1.GetOrganizationRequestsCountRequest + 221, // 679: wg.cosmo.platform.v1.PlatformService.CreateOrganization:input_type -> wg.cosmo.platform.v1.CreateOrganizationRequest + 341, // 680: wg.cosmo.platform.v1.PlatformService.EnableLintingForTheNamespace:input_type -> wg.cosmo.platform.v1.EnableLintingForTheNamespaceRequest + 344, // 681: wg.cosmo.platform.v1.PlatformService.ConfigureNamespaceLintConfig:input_type -> wg.cosmo.platform.v1.ConfigureNamespaceLintConfigRequest + 335, // 682: wg.cosmo.platform.v1.PlatformService.GetNamespaceLintConfig:input_type -> wg.cosmo.platform.v1.GetNamespaceLintConfigRequest + 337, // 683: wg.cosmo.platform.v1.PlatformService.GetNamespaceChecksConfig:input_type -> wg.cosmo.platform.v1.GetNamespaceChecksConfigurationRequest + 339, // 684: wg.cosmo.platform.v1.PlatformService.UpdateNamespaceChecksConfig:input_type -> wg.cosmo.platform.v1.UpdateNamespaceChecksConfigurationRequest + 346, // 685: wg.cosmo.platform.v1.PlatformService.EnableGraphPruning:input_type -> wg.cosmo.platform.v1.EnableGraphPruningRequest + 349, // 686: wg.cosmo.platform.v1.PlatformService.ConfigureNamespaceGraphPruningConfig:input_type -> wg.cosmo.platform.v1.ConfigureNamespaceGraphPruningConfigRequest + 351, // 687: wg.cosmo.platform.v1.PlatformService.GetNamespaceGraphPruningConfig:input_type -> wg.cosmo.platform.v1.GetNamespaceGraphPruningConfigRequest + 375, // 688: wg.cosmo.platform.v1.PlatformService.GetFeatureFlags:input_type -> wg.cosmo.platform.v1.GetFeatureFlagsRequest + 377, // 689: wg.cosmo.platform.v1.PlatformService.GetFeatureFlagByName:input_type -> wg.cosmo.platform.v1.GetFeatureFlagByNameRequest + 379, // 690: wg.cosmo.platform.v1.PlatformService.GetFeatureSubgraphsByFeatureFlag:input_type -> wg.cosmo.platform.v1.GetFeatureSubgraphsByFeatureFlagRequest + 381, // 691: wg.cosmo.platform.v1.PlatformService.GetFeatureSubgraphs:input_type -> wg.cosmo.platform.v1.GetFeatureSubgraphsRequest + 383, // 692: wg.cosmo.platform.v1.PlatformService.GetFeatureFlagsByFederatedGraph:input_type -> wg.cosmo.platform.v1.GetFeatureFlagsByFederatedGraphRequest + 385, // 693: wg.cosmo.platform.v1.PlatformService.GetFeatureFlagsInLatestCompositionByFederatedGraph:input_type -> wg.cosmo.platform.v1.GetFeatureFlagsInLatestCompositionByFederatedGraphRequest + 388, // 694: wg.cosmo.platform.v1.PlatformService.GetFeatureSubgraphsByFederatedGraph:input_type -> wg.cosmo.platform.v1.GetFeatureSubgraphsByFederatedGraphRequest + 406, // 695: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphById:input_type -> wg.cosmo.platform.v1.GetFederatedGraphByIdRequest + 408, // 696: wg.cosmo.platform.v1.PlatformService.GetSubgraphById:input_type -> wg.cosmo.platform.v1.GetSubgraphByIdRequest + 417, // 697: wg.cosmo.platform.v1.PlatformService.PushCacheWarmerOperation:input_type -> wg.cosmo.platform.v1.PushCacheWarmerOperationRequest + 419, // 698: wg.cosmo.platform.v1.PlatformService.GetCacheWarmerOperations:input_type -> wg.cosmo.platform.v1.GetCacheWarmerOperationsRequest + 422, // 699: wg.cosmo.platform.v1.PlatformService.ComputeCacheWarmerOperations:input_type -> wg.cosmo.platform.v1.ComputeCacheWarmerOperationsRequest + 424, // 700: wg.cosmo.platform.v1.PlatformService.ConfigureCacheWarmer:input_type -> wg.cosmo.platform.v1.ConfigureCacheWarmerRequest + 426, // 701: wg.cosmo.platform.v1.PlatformService.GetCacheWarmerConfig:input_type -> wg.cosmo.platform.v1.GetCacheWarmerConfigRequest + 432, // 702: wg.cosmo.platform.v1.PlatformService.DeleteCacheWarmerOperation:input_type -> wg.cosmo.platform.v1.DeleteCacheWarmerOperationRequest + 428, // 703: wg.cosmo.platform.v1.PlatformService.GetSubgraphCheckExtensionsConfig:input_type -> wg.cosmo.platform.v1.GetSubgraphCheckExtensionsConfigRequest + 430, // 704: wg.cosmo.platform.v1.PlatformService.ConfigureSubgraphCheckExtensions:input_type -> wg.cosmo.platform.v1.ConfigureSubgraphCheckExtensionsRequest + 226, // 705: wg.cosmo.platform.v1.PlatformService.GetBillingPlans:input_type -> wg.cosmo.platform.v1.GetBillingPlansRequest + 228, // 706: wg.cosmo.platform.v1.PlatformService.CreateCheckoutSession:input_type -> wg.cosmo.platform.v1.CreateCheckoutSessionRequest + 230, // 707: wg.cosmo.platform.v1.PlatformService.CreateBillingPortalSession:input_type -> wg.cosmo.platform.v1.CreateBillingPortalSessionRequest + 232, // 708: wg.cosmo.platform.v1.PlatformService.UpgradePlan:input_type -> wg.cosmo.platform.v1.UpgradePlanRequest + 434, // 709: wg.cosmo.platform.v1.PlatformService.ListRouterCompatibilityVersions:input_type -> wg.cosmo.platform.v1.ListRouterCompatibilityVersionsRequest + 436, // 710: wg.cosmo.platform.v1.PlatformService.SetGraphRouterCompatibilityVersion:input_type -> wg.cosmo.platform.v1.SetGraphRouterCompatibilityVersionRequest + 442, // 711: wg.cosmo.platform.v1.PlatformService.CreateProposal:input_type -> wg.cosmo.platform.v1.CreateProposalRequest + 444, // 712: wg.cosmo.platform.v1.PlatformService.GetProposal:input_type -> wg.cosmo.platform.v1.GetProposalRequest + 450, // 713: wg.cosmo.platform.v1.PlatformService.UpdateProposal:input_type -> wg.cosmo.platform.v1.UpdateProposalRequest + 452, // 714: wg.cosmo.platform.v1.PlatformService.EnableProposalsForNamespace:input_type -> wg.cosmo.platform.v1.EnableProposalsForNamespaceRequest + 454, // 715: wg.cosmo.platform.v1.PlatformService.ConfigureNamespaceProposalConfig:input_type -> wg.cosmo.platform.v1.ConfigureNamespaceProposalConfigRequest + 456, // 716: wg.cosmo.platform.v1.PlatformService.GetNamespaceProposalConfig:input_type -> wg.cosmo.platform.v1.GetNamespaceProposalConfigRequest + 459, // 717: wg.cosmo.platform.v1.PlatformService.UpdateNamespaceLoginMethods:input_type -> wg.cosmo.platform.v1.UpdateNamespaceLoginMethodsRequest + 461, // 718: wg.cosmo.platform.v1.PlatformService.ListNamespaceLoginMethods:input_type -> wg.cosmo.platform.v1.ListNamespaceLoginMethodsRequest + 464, // 719: wg.cosmo.platform.v1.PlatformService.GetOrganizationLoginMethods:input_type -> wg.cosmo.platform.v1.GetOrganizationLoginMethodsRequest + 466, // 720: wg.cosmo.platform.v1.PlatformService.UpdateOrganizationLoginMethods:input_type -> wg.cosmo.platform.v1.UpdateOrganizationLoginMethodsRequest + 446, // 721: wg.cosmo.platform.v1.PlatformService.GetProposalsByFederatedGraph:input_type -> wg.cosmo.platform.v1.GetProposalsByFederatedGraphRequest + 448, // 722: wg.cosmo.platform.v1.PlatformService.GetProposalChecks:input_type -> wg.cosmo.platform.v1.GetProposalChecksRequest + 468, // 723: wg.cosmo.platform.v1.PlatformService.GetOperations:input_type -> wg.cosmo.platform.v1.GetOperationsRequest + 470, // 724: wg.cosmo.platform.v1.PlatformService.GetClientsFromAnalytics:input_type -> wg.cosmo.platform.v1.GetClientsFromAnalyticsRequest + 472, // 725: wg.cosmo.platform.v1.PlatformService.GetOperationClients:input_type -> wg.cosmo.platform.v1.GetOperationClientsRequest + 474, // 726: wg.cosmo.platform.v1.PlatformService.GetOperationDeprecatedFields:input_type -> wg.cosmo.platform.v1.GetOperationDeprecatedFieldsRequest + 476, // 727: wg.cosmo.platform.v1.PlatformService.ValidateAndFetchPluginData:input_type -> wg.cosmo.platform.v1.ValidateAndFetchPluginDataRequest + 478, // 728: wg.cosmo.platform.v1.PlatformService.LinkSubgraph:input_type -> wg.cosmo.platform.v1.LinkSubgraphRequest + 480, // 729: wg.cosmo.platform.v1.PlatformService.UnlinkSubgraph:input_type -> wg.cosmo.platform.v1.UnlinkSubgraphRequest + 482, // 730: wg.cosmo.platform.v1.PlatformService.VerifyAPIKeyGraphAccess:input_type -> wg.cosmo.platform.v1.VerifyAPIKeyGraphAccessRequest + 488, // 731: wg.cosmo.platform.v1.PlatformService.RecomposeGraph:input_type -> wg.cosmo.platform.v1.RecomposeGraphRequest + 490, // 732: wg.cosmo.platform.v1.PlatformService.RecomposeFeatureFlag:input_type -> wg.cosmo.platform.v1.RecomposeFeatureFlagRequest + 492, // 733: wg.cosmo.platform.v1.PlatformService.GetOnboarding:input_type -> wg.cosmo.platform.v1.GetOnboardingRequest + 494, // 734: wg.cosmo.platform.v1.PlatformService.CreateOnboarding:input_type -> wg.cosmo.platform.v1.CreateOnboardingRequest + 496, // 735: wg.cosmo.platform.v1.PlatformService.FinishOnboarding:input_type -> wg.cosmo.platform.v1.FinishOnboardingRequest + 398, // 736: wg.cosmo.platform.v1.PlatformService.CreatePlaygroundScript:output_type -> wg.cosmo.platform.v1.CreatePlaygroundScriptResponse + 400, // 737: wg.cosmo.platform.v1.PlatformService.DeletePlaygroundScript:output_type -> wg.cosmo.platform.v1.DeletePlaygroundScriptResponse + 402, // 738: wg.cosmo.platform.v1.PlatformService.UpdatePlaygroundScript:output_type -> wg.cosmo.platform.v1.UpdatePlaygroundScriptResponse + 405, // 739: wg.cosmo.platform.v1.PlatformService.GetPlaygroundScripts:output_type -> wg.cosmo.platform.v1.GetPlaygroundScriptsResponse + 325, // 740: wg.cosmo.platform.v1.PlatformService.CreateNamespace:output_type -> wg.cosmo.platform.v1.CreateNamespaceResponse + 327, // 741: wg.cosmo.platform.v1.PlatformService.DeleteNamespace:output_type -> wg.cosmo.platform.v1.DeleteNamespaceResponse + 329, // 742: wg.cosmo.platform.v1.PlatformService.RenameNamespace:output_type -> wg.cosmo.platform.v1.RenameNamespaceResponse + 332, // 743: wg.cosmo.platform.v1.PlatformService.GetNamespaces:output_type -> wg.cosmo.platform.v1.GetNamespacesResponse + 411, // 744: wg.cosmo.platform.v1.PlatformService.GetNamespace:output_type -> wg.cosmo.platform.v1.GetNamespaceResponse + 416, // 745: wg.cosmo.platform.v1.PlatformService.GetWorkspace:output_type -> wg.cosmo.platform.v1.GetWorkspaceResponse + 359, // 746: wg.cosmo.platform.v1.PlatformService.CreateContract:output_type -> wg.cosmo.platform.v1.CreateContractResponse + 361, // 747: wg.cosmo.platform.v1.PlatformService.UpdateContract:output_type -> wg.cosmo.platform.v1.UpdateContractResponse + 334, // 748: wg.cosmo.platform.v1.PlatformService.MoveFederatedGraph:output_type -> wg.cosmo.platform.v1.MoveGraphResponse + 334, // 749: wg.cosmo.platform.v1.PlatformService.MoveSubgraph:output_type -> wg.cosmo.platform.v1.MoveGraphResponse + 334, // 750: wg.cosmo.platform.v1.PlatformService.MoveMonograph:output_type -> wg.cosmo.platform.v1.MoveGraphResponse + 37, // 751: wg.cosmo.platform.v1.PlatformService.CreateMonograph:output_type -> wg.cosmo.platform.v1.CreateMonographResponse + 22, // 752: wg.cosmo.platform.v1.PlatformService.PublishMonograph:output_type -> wg.cosmo.platform.v1.PublishMonographResponse + 45, // 753: wg.cosmo.platform.v1.PlatformService.DeleteMonograph:output_type -> wg.cosmo.platform.v1.DeleteMonographResponse + 104, // 754: wg.cosmo.platform.v1.PlatformService.UpdateMonograph:output_type -> wg.cosmo.platform.v1.UpdateMonographResponse + 354, // 755: wg.cosmo.platform.v1.PlatformService.MigrateMonograph:output_type -> wg.cosmo.platform.v1.MigrateMonographResponse + 61, // 756: wg.cosmo.platform.v1.PlatformService.CreateFederatedSubgraph:output_type -> wg.cosmo.platform.v1.CreateFederatedSubgraphResponse + 42, // 757: wg.cosmo.platform.v1.PlatformService.CreateFederatedSubgraphs:output_type -> wg.cosmo.platform.v1.CreateFederatedSubgraphsResponse + 25, // 758: wg.cosmo.platform.v1.PlatformService.PublishFederatedSubgraph:output_type -> wg.cosmo.platform.v1.PublishFederatedSubgraphResponse + 29, // 759: wg.cosmo.platform.v1.PlatformService.PublishFederatedSubgraphs:output_type -> wg.cosmo.platform.v1.PublishFederatedSubgraphsResponse + 31, // 760: wg.cosmo.platform.v1.PlatformService.GetBatchPublishJobStatus:output_type -> wg.cosmo.platform.v1.GetBatchPublishJobStatusResponse + 60, // 761: wg.cosmo.platform.v1.PlatformService.CreateFederatedGraph:output_type -> wg.cosmo.platform.v1.CreateFederatedGraphResponse + 63, // 762: wg.cosmo.platform.v1.PlatformService.DeleteFederatedGraph:output_type -> wg.cosmo.platform.v1.DeleteFederatedGraphResponse + 62, // 763: wg.cosmo.platform.v1.PlatformService.DeleteFederatedSubgraph:output_type -> wg.cosmo.platform.v1.DeleteFederatedSubgraphResponse + 57, // 764: wg.cosmo.platform.v1.PlatformService.CheckSubgraphSchema:output_type -> wg.cosmo.platform.v1.CheckSubgraphSchemaResponse + 439, // 765: wg.cosmo.platform.v1.PlatformService.GetProposedSchemaOfCheckedSubgraph:output_type -> wg.cosmo.platform.v1.GetProposedSchemaOfCheckedSubgraphResponse + 59, // 766: wg.cosmo.platform.v1.PlatformService.FixSubgraphSchema:output_type -> wg.cosmo.platform.v1.FixSubgraphSchemaResponse + 102, // 767: wg.cosmo.platform.v1.PlatformService.UpdateFederatedGraph:output_type -> wg.cosmo.platform.v1.UpdateFederatedGraphResponse + 100, // 768: wg.cosmo.platform.v1.PlatformService.UpdateSubgraph:output_type -> wg.cosmo.platform.v1.UpdateSubgraphResponse + 106, // 769: wg.cosmo.platform.v1.PlatformService.CheckFederatedGraph:output_type -> wg.cosmo.platform.v1.CheckFederatedGraphResponse + 170, // 770: wg.cosmo.platform.v1.PlatformService.WhoAmI:output_type -> wg.cosmo.platform.v1.WhoAmIResponse + 174, // 771: wg.cosmo.platform.v1.PlatformService.GenerateRouterToken:output_type -> wg.cosmo.platform.v1.GenerateRouterTokenResponse + 176, // 772: wg.cosmo.platform.v1.PlatformService.GetRouterTokens:output_type -> wg.cosmo.platform.v1.GetRouterTokensResponse + 178, // 773: wg.cosmo.platform.v1.PlatformService.DeleteRouterToken:output_type -> wg.cosmo.platform.v1.DeleteRouterTokenResponse + 182, // 774: wg.cosmo.platform.v1.PlatformService.PublishPersistedOperations:output_type -> wg.cosmo.platform.v1.PublishPersistedOperationsResponse + 186, // 775: wg.cosmo.platform.v1.PlatformService.CheckPersistedOperationTraffic:output_type -> wg.cosmo.platform.v1.CheckPersistedOperationTrafficResponse + 184, // 776: wg.cosmo.platform.v1.PlatformService.DeletePersistedOperation:output_type -> wg.cosmo.platform.v1.DeletePersistedOperationResponse + 188, // 777: wg.cosmo.platform.v1.PlatformService.GetPersistedOperations:output_type -> wg.cosmo.platform.v1.GetPersistedOperationsResponse + 285, // 778: wg.cosmo.platform.v1.PlatformService.GetAuditLogs:output_type -> wg.cosmo.platform.v1.GetAuditLogsResponse + 485, // 779: wg.cosmo.platform.v1.PlatformService.InitializeCosmoUser:output_type -> wg.cosmo.platform.v1.InitializeCosmoUserResponse + 487, // 780: wg.cosmo.platform.v1.PlatformService.ListOrganizations:output_type -> wg.cosmo.platform.v1.ListOrganizationsResponse + 67, // 781: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphs:output_type -> wg.cosmo.platform.v1.GetFederatedGraphsResponse + 69, // 782: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphsBySubgraphLabels:output_type -> wg.cosmo.platform.v1.GetFederatedGraphsBySubgraphLabelsResponse + 74, // 783: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphByName:output_type -> wg.cosmo.platform.v1.GetFederatedGraphByNameResponse + 76, // 784: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphSDLByName:output_type -> wg.cosmo.platform.v1.GetFederatedGraphSDLByNameResponse + 72, // 785: wg.cosmo.platform.v1.PlatformService.GetSubgraphs:output_type -> wg.cosmo.platform.v1.GetSubgraphsResponse + 78, // 786: wg.cosmo.platform.v1.PlatformService.GetSubgraphByName:output_type -> wg.cosmo.platform.v1.GetSubgraphByNameResponse + 80, // 787: wg.cosmo.platform.v1.PlatformService.GetSubgraphSDLFromLatestComposition:output_type -> wg.cosmo.platform.v1.GetSubgraphSDLFromLatestCompositionResponse + 82, // 788: wg.cosmo.platform.v1.PlatformService.GetLatestSubgraphSDL:output_type -> wg.cosmo.platform.v1.GetLatestSubgraphSDLResponse + 86, // 789: wg.cosmo.platform.v1.PlatformService.GetChecksByFederatedGraphName:output_type -> wg.cosmo.platform.v1.GetChecksByFederatedGraphNameResponse + 89, // 790: wg.cosmo.platform.v1.PlatformService.GetCheckSummary:output_type -> wg.cosmo.platform.v1.GetCheckSummaryResponse + 91, // 791: wg.cosmo.platform.v1.PlatformService.GetCheckOperations:output_type -> wg.cosmo.platform.v1.GetCheckOperationsResponse + 248, // 792: wg.cosmo.platform.v1.PlatformService.ForceCheckSuccess:output_type -> wg.cosmo.platform.v1.ForceCheckSuccessResponse + 255, // 793: wg.cosmo.platform.v1.PlatformService.CreateOperationOverrides:output_type -> wg.cosmo.platform.v1.CreateOperationOverridesResponse + 259, // 794: wg.cosmo.platform.v1.PlatformService.RemoveOperationOverrides:output_type -> wg.cosmo.platform.v1.RemoveOperationOverridesResponse + 257, // 795: wg.cosmo.platform.v1.PlatformService.CreateOperationIgnoreAllOverride:output_type -> wg.cosmo.platform.v1.CreateOperationIgnoreAllOverrideResponse + 261, // 796: wg.cosmo.platform.v1.PlatformService.RemoveOperationIgnoreAllOverride:output_type -> wg.cosmo.platform.v1.RemoveOperationIgnoreAllOverrideResponse + 263, // 797: wg.cosmo.platform.v1.PlatformService.GetOperationOverrides:output_type -> wg.cosmo.platform.v1.GetOperationOverridesResponse + 265, // 798: wg.cosmo.platform.v1.PlatformService.GetAllOverrides:output_type -> wg.cosmo.platform.v1.GetAllOverridesResponse + 250, // 799: wg.cosmo.platform.v1.PlatformService.ToggleChangeOverridesForAllOperations:output_type -> wg.cosmo.platform.v1.ToggleChangeOverridesForAllOperationsResponse + 252, // 800: wg.cosmo.platform.v1.PlatformService.CreateIgnoreOverridesForAllOperations:output_type -> wg.cosmo.platform.v1.CreateIgnoreOverridesForAllOperationsResponse + 93, // 801: wg.cosmo.platform.v1.PlatformService.GetOperationContent:output_type -> wg.cosmo.platform.v1.GetOperationContentResponse + 97, // 802: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphChangelog:output_type -> wg.cosmo.platform.v1.GetFederatedGraphChangelogResponse + 127, // 803: wg.cosmo.platform.v1.PlatformService.CreateFederatedGraphToken:output_type -> wg.cosmo.platform.v1.CreateFederatedGraphTokenResponse + 225, // 804: wg.cosmo.platform.v1.PlatformService.GetOrganizationBySlug:output_type -> wg.cosmo.platform.v1.GetOrganizationBySlugResponse + 145, // 805: wg.cosmo.platform.v1.PlatformService.GetOrganizationMembers:output_type -> wg.cosmo.platform.v1.GetOrganizationMembersResponse + 143, // 806: wg.cosmo.platform.v1.PlatformService.GetPendingOrganizationMembers:output_type -> wg.cosmo.platform.v1.GetPendingOrganizationMembersResponse + 363, // 807: wg.cosmo.platform.v1.PlatformService.IsMemberLimitReached:output_type -> wg.cosmo.platform.v1.IsMemberLimitReachedResponse + 147, // 808: wg.cosmo.platform.v1.PlatformService.InviteUser:output_type -> wg.cosmo.platform.v1.InviteUserResponse + 150, // 809: wg.cosmo.platform.v1.PlatformService.InviteUsers:output_type -> wg.cosmo.platform.v1.InviteUsersResponse + 153, // 810: wg.cosmo.platform.v1.PlatformService.GetAPIKeys:output_type -> wg.cosmo.platform.v1.GetAPIKeysResponse + 155, // 811: wg.cosmo.platform.v1.PlatformService.CreateAPIKey:output_type -> wg.cosmo.platform.v1.CreateAPIKeyResponse + 159, // 812: wg.cosmo.platform.v1.PlatformService.UpdateAPIKey:output_type -> wg.cosmo.platform.v1.UpdateAPIKeyResponse + 157, // 813: wg.cosmo.platform.v1.PlatformService.DeleteAPIKey:output_type -> wg.cosmo.platform.v1.DeleteAPIKeyResponse + 161, // 814: wg.cosmo.platform.v1.PlatformService.RemoveOrganizationMember:output_type -> wg.cosmo.platform.v1.RemoveOrganizationMemberResponse + 163, // 815: wg.cosmo.platform.v1.PlatformService.RemoveInvitation:output_type -> wg.cosmo.platform.v1.RemoveInvitationResponse + 165, // 816: wg.cosmo.platform.v1.PlatformService.MigrateFromApollo:output_type -> wg.cosmo.platform.v1.MigrateFromApolloResponse + 131, // 817: wg.cosmo.platform.v1.PlatformService.CreateOrganizationGroup:output_type -> wg.cosmo.platform.v1.CreateOrganizationGroupResponse + 133, // 818: wg.cosmo.platform.v1.PlatformService.GetOrganizationGroups:output_type -> wg.cosmo.platform.v1.GetOrganizationGroupsResponse + 135, // 819: wg.cosmo.platform.v1.PlatformService.GetOrganizationGroupMembers:output_type -> wg.cosmo.platform.v1.GetOrganizationGroupMembersResponse + 137, // 820: wg.cosmo.platform.v1.PlatformService.UpdateOrganizationGroup:output_type -> wg.cosmo.platform.v1.UpdateOrganizationGroupResponse + 139, // 821: wg.cosmo.platform.v1.PlatformService.DeleteOrganizationGroup:output_type -> wg.cosmo.platform.v1.DeleteOrganizationGroupResponse + 191, // 822: wg.cosmo.platform.v1.PlatformService.CreateOrganizationWebhookConfig:output_type -> wg.cosmo.platform.v1.CreateOrganizationWebhookConfigResponse + 193, // 823: wg.cosmo.platform.v1.PlatformService.GetOrganizationWebhookConfigs:output_type -> wg.cosmo.platform.v1.GetOrganizationWebhookConfigsResponse + 195, // 824: wg.cosmo.platform.v1.PlatformService.GetOrganizationWebhookMeta:output_type -> wg.cosmo.platform.v1.GetOrganizationWebhookMetaResponse + 197, // 825: wg.cosmo.platform.v1.PlatformService.UpdateOrganizationWebhookConfig:output_type -> wg.cosmo.platform.v1.UpdateOrganizationWebhookConfigResponse + 199, // 826: wg.cosmo.platform.v1.PlatformService.DeleteOrganizationWebhookConfig:output_type -> wg.cosmo.platform.v1.DeleteOrganizationWebhookConfigResponse + 392, // 827: wg.cosmo.platform.v1.PlatformService.GetOrganizationWebhookHistory:output_type -> wg.cosmo.platform.v1.GetOrganizationWebhookHistoryResponse + 396, // 828: wg.cosmo.platform.v1.PlatformService.GetWebhookDeliveryDetails:output_type -> wg.cosmo.platform.v1.GetWebhookDeliveryDetailsResponse + 394, // 829: wg.cosmo.platform.v1.PlatformService.RedeliverWebhook:output_type -> wg.cosmo.platform.v1.RedeliverWebhookResponse + 201, // 830: wg.cosmo.platform.v1.PlatformService.CreateIntegration:output_type -> wg.cosmo.platform.v1.CreateIntegrationResponse + 206, // 831: wg.cosmo.platform.v1.PlatformService.GetOrganizationIntegrations:output_type -> wg.cosmo.platform.v1.GetOrganizationIntegrationsResponse + 208, // 832: wg.cosmo.platform.v1.PlatformService.UpdateIntegrationConfig:output_type -> wg.cosmo.platform.v1.UpdateIntegrationConfigResponse + 210, // 833: wg.cosmo.platform.v1.PlatformService.DeleteIntegration:output_type -> wg.cosmo.platform.v1.DeleteIntegrationResponse + 365, // 834: wg.cosmo.platform.v1.PlatformService.DeleteUser:output_type -> wg.cosmo.platform.v1.DeleteUserResponse + 212, // 835: wg.cosmo.platform.v1.PlatformService.DeleteOrganization:output_type -> wg.cosmo.platform.v1.DeleteOrganizationResponse + 214, // 836: wg.cosmo.platform.v1.PlatformService.RestoreOrganization:output_type -> wg.cosmo.platform.v1.RestoreOrganizationResponse + 216, // 837: wg.cosmo.platform.v1.PlatformService.LeaveOrganization:output_type -> wg.cosmo.platform.v1.LeaveOrganizationResponse + 218, // 838: wg.cosmo.platform.v1.PlatformService.UpdateOrganizationDetails:output_type -> wg.cosmo.platform.v1.UpdateOrganizationDetailsResponse + 220, // 839: wg.cosmo.platform.v1.PlatformService.UpdateOrgMemberGroup:output_type -> wg.cosmo.platform.v1.UpdateOrgMemberGroupResponse + 267, // 840: wg.cosmo.platform.v1.PlatformService.IsGitHubAppInstalled:output_type -> wg.cosmo.platform.v1.IsGitHubAppInstalledResponse + 270, // 841: wg.cosmo.platform.v1.PlatformService.CreateOIDCProvider:output_type -> wg.cosmo.platform.v1.CreateOIDCProviderResponse + 275, // 842: wg.cosmo.platform.v1.PlatformService.GetOIDCProvider:output_type -> wg.cosmo.platform.v1.GetOIDCProviderResponse + 273, // 843: wg.cosmo.platform.v1.PlatformService.ListOIDCProviders:output_type -> wg.cosmo.platform.v1.ListOIDCProvidersResponse + 277, // 844: wg.cosmo.platform.v1.PlatformService.DeleteOIDCProvider:output_type -> wg.cosmo.platform.v1.DeleteOIDCProviderResponse + 279, // 845: wg.cosmo.platform.v1.PlatformService.UpdateIDPMappers:output_type -> wg.cosmo.platform.v1.UpdateIDPMappersResponse + 315, // 846: wg.cosmo.platform.v1.PlatformService.GetClients:output_type -> wg.cosmo.platform.v1.GetClientsResponse + 317, // 847: wg.cosmo.platform.v1.PlatformService.PreviewDeleteClient:output_type -> wg.cosmo.platform.v1.PreviewDeleteClientResponse + 319, // 848: wg.cosmo.platform.v1.PlatformService.DeleteClient:output_type -> wg.cosmo.platform.v1.DeleteClientResponse + 312, // 849: wg.cosmo.platform.v1.PlatformService.GetRouters:output_type -> wg.cosmo.platform.v1.GetRoutersResponse + 287, // 850: wg.cosmo.platform.v1.PlatformService.GetInvitations:output_type -> wg.cosmo.platform.v1.GetInvitationsResponse + 289, // 851: wg.cosmo.platform.v1.PlatformService.AcceptOrDeclineInvitation:output_type -> wg.cosmo.platform.v1.AcceptOrDeclineInvitationResponse + 293, // 852: wg.cosmo.platform.v1.PlatformService.GetCompositions:output_type -> wg.cosmo.platform.v1.GetCompositionsResponse + 296, // 853: wg.cosmo.platform.v1.PlatformService.GetCompositionDetails:output_type -> wg.cosmo.platform.v1.GetCompositionDetailsResponse + 298, // 854: wg.cosmo.platform.v1.PlatformService.GetSdlBySchemaVersion:output_type -> wg.cosmo.platform.v1.GetSdlBySchemaVersionResponse + 300, // 855: wg.cosmo.platform.v1.PlatformService.GetChangelogBySchemaVersion:output_type -> wg.cosmo.platform.v1.GetChangelogBySchemaVersionResponse + 302, // 856: wg.cosmo.platform.v1.PlatformService.GetUserAccessibleResources:output_type -> wg.cosmo.platform.v1.GetUserAccessibleResourcesResponse + 304, // 857: wg.cosmo.platform.v1.PlatformService.UpdateFeatureSettings:output_type -> wg.cosmo.platform.v1.UpdateFeatureSettingsResponse + 307, // 858: wg.cosmo.platform.v1.PlatformService.GetSubgraphMembers:output_type -> wg.cosmo.platform.v1.GetSubgraphMembersResponse + 309, // 859: wg.cosmo.platform.v1.PlatformService.AddReadme:output_type -> wg.cosmo.platform.v1.AddReadmeResponse + 357, // 860: wg.cosmo.platform.v1.PlatformService.GetUserAccessiblePermissions:output_type -> wg.cosmo.platform.v1.GetUserAccessiblePermissionsResponse + 367, // 861: wg.cosmo.platform.v1.PlatformService.CreateFeatureFlag:output_type -> wg.cosmo.platform.v1.CreateFeatureFlagResponse + 373, // 862: wg.cosmo.platform.v1.PlatformService.DeleteFeatureFlag:output_type -> wg.cosmo.platform.v1.DeleteFeatureFlagResponse + 369, // 863: wg.cosmo.platform.v1.PlatformService.UpdateFeatureFlag:output_type -> wg.cosmo.platform.v1.UpdateFeatureFlagResponse + 371, // 864: wg.cosmo.platform.v1.PlatformService.EnableFeatureFlag:output_type -> wg.cosmo.platform.v1.EnableFeatureFlagResponse + 119, // 865: wg.cosmo.platform.v1.PlatformService.GetAnalyticsView:output_type -> wg.cosmo.platform.v1.GetAnalyticsViewResponse + 125, // 866: wg.cosmo.platform.v1.PlatformService.GetDashboardAnalyticsView:output_type -> wg.cosmo.platform.v1.GetDashboardAnalyticsViewResponse + 168, // 867: wg.cosmo.platform.v1.PlatformService.GetTrace:output_type -> wg.cosmo.platform.v1.GetTraceResponse + 235, // 868: wg.cosmo.platform.v1.PlatformService.GetGraphMetrics:output_type -> wg.cosmo.platform.v1.GetGraphMetricsResponse + 241, // 869: wg.cosmo.platform.v1.PlatformService.GetMetricsErrorRate:output_type -> wg.cosmo.platform.v1.GetMetricsErrorRateResponse + 244, // 870: wg.cosmo.platform.v1.PlatformService.GetSubgraphMetrics:output_type -> wg.cosmo.platform.v1.GetSubgraphMetricsResponse + 246, // 871: wg.cosmo.platform.v1.PlatformService.GetSubgraphMetricsErrorRate:output_type -> wg.cosmo.platform.v1.GetSubgraphMetricsErrorRateResponse + 323, // 872: wg.cosmo.platform.v1.PlatformService.GetFieldUsage:output_type -> wg.cosmo.platform.v1.GetFieldUsageResponse + 281, // 873: wg.cosmo.platform.v1.PlatformService.GetOrganizationRequestsCount:output_type -> wg.cosmo.platform.v1.GetOrganizationRequestsCountResponse + 222, // 874: wg.cosmo.platform.v1.PlatformService.CreateOrganization:output_type -> wg.cosmo.platform.v1.CreateOrganizationResponse + 342, // 875: wg.cosmo.platform.v1.PlatformService.EnableLintingForTheNamespace:output_type -> wg.cosmo.platform.v1.EnableLintingForTheNamespaceResponse + 345, // 876: wg.cosmo.platform.v1.PlatformService.ConfigureNamespaceLintConfig:output_type -> wg.cosmo.platform.v1.ConfigureNamespaceLintConfigResponse + 336, // 877: wg.cosmo.platform.v1.PlatformService.GetNamespaceLintConfig:output_type -> wg.cosmo.platform.v1.GetNamespaceLintConfigResponse + 338, // 878: wg.cosmo.platform.v1.PlatformService.GetNamespaceChecksConfig:output_type -> wg.cosmo.platform.v1.GetNamespaceChecksConfigurationResponse + 340, // 879: wg.cosmo.platform.v1.PlatformService.UpdateNamespaceChecksConfig:output_type -> wg.cosmo.platform.v1.UpdateNamespaceChecksConfigurationResponse + 347, // 880: wg.cosmo.platform.v1.PlatformService.EnableGraphPruning:output_type -> wg.cosmo.platform.v1.EnableGraphPruningResponse + 350, // 881: wg.cosmo.platform.v1.PlatformService.ConfigureNamespaceGraphPruningConfig:output_type -> wg.cosmo.platform.v1.ConfigureNamespaceGraphPruningConfigResponse + 352, // 882: wg.cosmo.platform.v1.PlatformService.GetNamespaceGraphPruningConfig:output_type -> wg.cosmo.platform.v1.GetNamespaceGraphPruningConfigResponse + 376, // 883: wg.cosmo.platform.v1.PlatformService.GetFeatureFlags:output_type -> wg.cosmo.platform.v1.GetFeatureFlagsResponse + 378, // 884: wg.cosmo.platform.v1.PlatformService.GetFeatureFlagByName:output_type -> wg.cosmo.platform.v1.GetFeatureFlagByNameResponse + 380, // 885: wg.cosmo.platform.v1.PlatformService.GetFeatureSubgraphsByFeatureFlag:output_type -> wg.cosmo.platform.v1.GetFeatureSubgraphsByFeatureFlagResponse + 382, // 886: wg.cosmo.platform.v1.PlatformService.GetFeatureSubgraphs:output_type -> wg.cosmo.platform.v1.GetFeatureSubgraphsResponse + 384, // 887: wg.cosmo.platform.v1.PlatformService.GetFeatureFlagsByFederatedGraph:output_type -> wg.cosmo.platform.v1.GetFeatureFlagsByFederatedGraphResponse + 387, // 888: wg.cosmo.platform.v1.PlatformService.GetFeatureFlagsInLatestCompositionByFederatedGraph:output_type -> wg.cosmo.platform.v1.GetFeatureFlagsInLatestCompositionByFederatedGraphResponse + 389, // 889: wg.cosmo.platform.v1.PlatformService.GetFeatureSubgraphsByFederatedGraph:output_type -> wg.cosmo.platform.v1.GetFeatureSubgraphsByFederatedGraphResponse + 407, // 890: wg.cosmo.platform.v1.PlatformService.GetFederatedGraphById:output_type -> wg.cosmo.platform.v1.GetFederatedGraphByIdResponse + 409, // 891: wg.cosmo.platform.v1.PlatformService.GetSubgraphById:output_type -> wg.cosmo.platform.v1.GetSubgraphByIdResponse + 418, // 892: wg.cosmo.platform.v1.PlatformService.PushCacheWarmerOperation:output_type -> wg.cosmo.platform.v1.PushCacheWarmerOperationResponse + 421, // 893: wg.cosmo.platform.v1.PlatformService.GetCacheWarmerOperations:output_type -> wg.cosmo.platform.v1.GetCacheWarmerOperationsResponse + 423, // 894: wg.cosmo.platform.v1.PlatformService.ComputeCacheWarmerOperations:output_type -> wg.cosmo.platform.v1.ComputeCacheWarmerOperationsResponse + 425, // 895: wg.cosmo.platform.v1.PlatformService.ConfigureCacheWarmer:output_type -> wg.cosmo.platform.v1.ConfigureCacheWarmerResponse + 427, // 896: wg.cosmo.platform.v1.PlatformService.GetCacheWarmerConfig:output_type -> wg.cosmo.platform.v1.GetCacheWarmerConfigResponse + 433, // 897: wg.cosmo.platform.v1.PlatformService.DeleteCacheWarmerOperation:output_type -> wg.cosmo.platform.v1.DeleteCacheWarmerOperationResponse + 429, // 898: wg.cosmo.platform.v1.PlatformService.GetSubgraphCheckExtensionsConfig:output_type -> wg.cosmo.platform.v1.GetSubgraphCheckExtensionsConfigResponse + 431, // 899: wg.cosmo.platform.v1.PlatformService.ConfigureSubgraphCheckExtensions:output_type -> wg.cosmo.platform.v1.ConfigureSubgraphCheckExtensionsResponse + 227, // 900: wg.cosmo.platform.v1.PlatformService.GetBillingPlans:output_type -> wg.cosmo.platform.v1.GetBillingPlansResponse + 229, // 901: wg.cosmo.platform.v1.PlatformService.CreateCheckoutSession:output_type -> wg.cosmo.platform.v1.CreateCheckoutSessionResponse + 231, // 902: wg.cosmo.platform.v1.PlatformService.CreateBillingPortalSession:output_type -> wg.cosmo.platform.v1.CreateBillingPortalSessionResponse + 233, // 903: wg.cosmo.platform.v1.PlatformService.UpgradePlan:output_type -> wg.cosmo.platform.v1.UpgradePlanResponse + 435, // 904: wg.cosmo.platform.v1.PlatformService.ListRouterCompatibilityVersions:output_type -> wg.cosmo.platform.v1.ListRouterCompatibilityVersionsResponse + 437, // 905: wg.cosmo.platform.v1.PlatformService.SetGraphRouterCompatibilityVersion:output_type -> wg.cosmo.platform.v1.SetGraphRouterCompatibilityVersionResponse + 443, // 906: wg.cosmo.platform.v1.PlatformService.CreateProposal:output_type -> wg.cosmo.platform.v1.CreateProposalResponse + 445, // 907: wg.cosmo.platform.v1.PlatformService.GetProposal:output_type -> wg.cosmo.platform.v1.GetProposalResponse + 451, // 908: wg.cosmo.platform.v1.PlatformService.UpdateProposal:output_type -> wg.cosmo.platform.v1.UpdateProposalResponse + 453, // 909: wg.cosmo.platform.v1.PlatformService.EnableProposalsForNamespace:output_type -> wg.cosmo.platform.v1.EnableProposalsForNamespaceResponse + 455, // 910: wg.cosmo.platform.v1.PlatformService.ConfigureNamespaceProposalConfig:output_type -> wg.cosmo.platform.v1.ConfigureNamespaceProposalConfigResponse + 457, // 911: wg.cosmo.platform.v1.PlatformService.GetNamespaceProposalConfig:output_type -> wg.cosmo.platform.v1.GetNamespaceProposalConfigResponse + 460, // 912: wg.cosmo.platform.v1.PlatformService.UpdateNamespaceLoginMethods:output_type -> wg.cosmo.platform.v1.UpdateNamespaceLoginMethodsResponse + 462, // 913: wg.cosmo.platform.v1.PlatformService.ListNamespaceLoginMethods:output_type -> wg.cosmo.platform.v1.ListNamespaceLoginMethodsResponse + 465, // 914: wg.cosmo.platform.v1.PlatformService.GetOrganizationLoginMethods:output_type -> wg.cosmo.platform.v1.GetOrganizationLoginMethodsResponse + 467, // 915: wg.cosmo.platform.v1.PlatformService.UpdateOrganizationLoginMethods:output_type -> wg.cosmo.platform.v1.UpdateOrganizationLoginMethodsResponse + 447, // 916: wg.cosmo.platform.v1.PlatformService.GetProposalsByFederatedGraph:output_type -> wg.cosmo.platform.v1.GetProposalsByFederatedGraphResponse + 449, // 917: wg.cosmo.platform.v1.PlatformService.GetProposalChecks:output_type -> wg.cosmo.platform.v1.GetProposalChecksResponse + 469, // 918: wg.cosmo.platform.v1.PlatformService.GetOperations:output_type -> wg.cosmo.platform.v1.GetOperationsResponse + 471, // 919: wg.cosmo.platform.v1.PlatformService.GetClientsFromAnalytics:output_type -> wg.cosmo.platform.v1.GetClientsFromAnalyticsResponse + 473, // 920: wg.cosmo.platform.v1.PlatformService.GetOperationClients:output_type -> wg.cosmo.platform.v1.GetOperationClientsResponse + 475, // 921: wg.cosmo.platform.v1.PlatformService.GetOperationDeprecatedFields:output_type -> wg.cosmo.platform.v1.GetOperationDeprecatedFieldsResponse + 477, // 922: wg.cosmo.platform.v1.PlatformService.ValidateAndFetchPluginData:output_type -> wg.cosmo.platform.v1.ValidateAndFetchPluginDataResponse + 479, // 923: wg.cosmo.platform.v1.PlatformService.LinkSubgraph:output_type -> wg.cosmo.platform.v1.LinkSubgraphResponse + 481, // 924: wg.cosmo.platform.v1.PlatformService.UnlinkSubgraph:output_type -> wg.cosmo.platform.v1.UnlinkSubgraphResponse + 483, // 925: wg.cosmo.platform.v1.PlatformService.VerifyAPIKeyGraphAccess:output_type -> wg.cosmo.platform.v1.VerifyAPIKeyGraphAccessResponse + 489, // 926: wg.cosmo.platform.v1.PlatformService.RecomposeGraph:output_type -> wg.cosmo.platform.v1.RecomposeGraphResponse + 491, // 927: wg.cosmo.platform.v1.PlatformService.RecomposeFeatureFlag:output_type -> wg.cosmo.platform.v1.RecomposeFeatureFlagResponse + 493, // 928: wg.cosmo.platform.v1.PlatformService.GetOnboarding:output_type -> wg.cosmo.platform.v1.GetOnboardingResponse + 495, // 929: wg.cosmo.platform.v1.PlatformService.CreateOnboarding:output_type -> wg.cosmo.platform.v1.CreateOnboardingResponse + 497, // 930: wg.cosmo.platform.v1.PlatformService.FinishOnboarding:output_type -> wg.cosmo.platform.v1.FinishOnboardingResponse + 736, // [736:931] is the sub-list for method output_type + 541, // [541:736] is the sub-list for method input_type + 541, // [541:541] is the sub-list for extension type_name + 541, // [541:541] is the sub-list for extension extendee + 0, // [0:541] is the sub-list for field type_name } func init() { file_wg_cosmo_platform_v1_platform_proto_init() } @@ -38524,31 +38639,31 @@ func file_wg_cosmo_platform_v1_platform_proto_init() { file_wg_cosmo_platform_v1_platform_proto_msgTypes[357].OneofWrappers = []any{} file_wg_cosmo_platform_v1_platform_proto_msgTypes[363].OneofWrappers = []any{} file_wg_cosmo_platform_v1_platform_proto_msgTypes[365].OneofWrappers = []any{} - file_wg_cosmo_platform_v1_platform_proto_msgTypes[369].OneofWrappers = []any{} - file_wg_cosmo_platform_v1_platform_proto_msgTypes[371].OneofWrappers = []any{} + file_wg_cosmo_platform_v1_platform_proto_msgTypes[370].OneofWrappers = []any{} file_wg_cosmo_platform_v1_platform_proto_msgTypes[372].OneofWrappers = []any{} - file_wg_cosmo_platform_v1_platform_proto_msgTypes[395].OneofWrappers = []any{} - file_wg_cosmo_platform_v1_platform_proto_msgTypes[411].OneofWrappers = []any{} - file_wg_cosmo_platform_v1_platform_proto_msgTypes[417].OneofWrappers = []any{} - file_wg_cosmo_platform_v1_platform_proto_msgTypes[424].OneofWrappers = []any{} - file_wg_cosmo_platform_v1_platform_proto_msgTypes[431].OneofWrappers = []any{ + file_wg_cosmo_platform_v1_platform_proto_msgTypes[373].OneofWrappers = []any{} + file_wg_cosmo_platform_v1_platform_proto_msgTypes[396].OneofWrappers = []any{} + file_wg_cosmo_platform_v1_platform_proto_msgTypes[412].OneofWrappers = []any{} + file_wg_cosmo_platform_v1_platform_proto_msgTypes[418].OneofWrappers = []any{} + file_wg_cosmo_platform_v1_platform_proto_msgTypes[425].OneofWrappers = []any{} + file_wg_cosmo_platform_v1_platform_proto_msgTypes[432].OneofWrappers = []any{ (*UpdateProposalRequest_State)(nil), (*UpdateProposalRequest_UpdatedSubgraphs)(nil), } - file_wg_cosmo_platform_v1_platform_proto_msgTypes[432].OneofWrappers = []any{} - file_wg_cosmo_platform_v1_platform_proto_msgTypes[449].OneofWrappers = []any{} + file_wg_cosmo_platform_v1_platform_proto_msgTypes[433].OneofWrappers = []any{} file_wg_cosmo_platform_v1_platform_proto_msgTypes[450].OneofWrappers = []any{} - file_wg_cosmo_platform_v1_platform_proto_msgTypes[453].OneofWrappers = []any{} - file_wg_cosmo_platform_v1_platform_proto_msgTypes[455].OneofWrappers = []any{} - file_wg_cosmo_platform_v1_platform_proto_msgTypes[469].OneofWrappers = []any{} + file_wg_cosmo_platform_v1_platform_proto_msgTypes[451].OneofWrappers = []any{} + file_wg_cosmo_platform_v1_platform_proto_msgTypes[454].OneofWrappers = []any{} + file_wg_cosmo_platform_v1_platform_proto_msgTypes[456].OneofWrappers = []any{} file_wg_cosmo_platform_v1_platform_proto_msgTypes[470].OneofWrappers = []any{} file_wg_cosmo_platform_v1_platform_proto_msgTypes[471].OneofWrappers = []any{} file_wg_cosmo_platform_v1_platform_proto_msgTypes[472].OneofWrappers = []any{} - file_wg_cosmo_platform_v1_platform_proto_msgTypes[474].OneofWrappers = []any{} - file_wg_cosmo_platform_v1_platform_proto_msgTypes[476].OneofWrappers = []any{} - file_wg_cosmo_platform_v1_platform_proto_msgTypes[482].OneofWrappers = []any{} - file_wg_cosmo_platform_v1_platform_proto_msgTypes[498].OneofWrappers = []any{} - file_wg_cosmo_platform_v1_platform_proto_msgTypes[509].OneofWrappers = []any{ + file_wg_cosmo_platform_v1_platform_proto_msgTypes[473].OneofWrappers = []any{} + file_wg_cosmo_platform_v1_platform_proto_msgTypes[475].OneofWrappers = []any{} + file_wg_cosmo_platform_v1_platform_proto_msgTypes[477].OneofWrappers = []any{} + file_wg_cosmo_platform_v1_platform_proto_msgTypes[483].OneofWrappers = []any{} + file_wg_cosmo_platform_v1_platform_proto_msgTypes[499].OneofWrappers = []any{} + file_wg_cosmo_platform_v1_platform_proto_msgTypes[510].OneofWrappers = []any{ (*GetOperationsResponse_Operation_Latency)(nil), (*GetOperationsResponse_Operation_RequestCount)(nil), (*GetOperationsResponse_Operation_ErrorPercentage)(nil), @@ -38559,7 +38674,7 @@ func file_wg_cosmo_platform_v1_platform_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_wg_cosmo_platform_v1_platform_proto_rawDesc), len(file_wg_cosmo_platform_v1_platform_proto_rawDesc)), NumEnums: 18, - NumMessages: 514, + NumMessages: 515, NumExtensions: 0, NumServices: 1, }, diff --git a/connect/src/wg/cosmo/platform/v1/platform_pb.ts b/connect/src/wg/cosmo/platform/v1/platform_pb.ts index eee1dfdeb..1a48c8493 100644 --- a/connect/src/wg/cosmo/platform/v1/platform_pb.ts +++ b/connect/src/wg/cosmo/platform/v1/platform_pb.ts @@ -16,7 +16,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file wg/cosmo/platform/v1/platform.proto. */ export const file_wg_cosmo_platform_v1_platform: GenFile = /*@__PURE__*/ - fileDesc("CiN3Zy9jb3Ntby9wbGF0Zm9ybS92MS9wbGF0Zm9ybS5wcm90bxIUd2cuY29zbW8ucGxhdGZvcm0udjEiIwoFTGFiZWwSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJIlsKCFJlc3BvbnNlEi0KBGNvZGUYASABKA4yHy53Zy5jb3Ntby5jb21tb24uRW51bVN0YXR1c0NvZGUSFAoHZGV0YWlscxgCIAEoCUgAiAEBQgoKCF9kZXRhaWxzIi8KDlJlc3BvbnNlU3RhdHVzEgwKBGNvZGUYASABKAUSDwoHbWVzc2FnZRgCIAEoCSJKChdQdWJsaXNoTW9ub2dyYXBoUmVxdWVzdBIMCgRuYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRIOCgZzY2hlbWEYAyABKAkilwIKGFB1Ymxpc2hNb25vZ3JhcGhSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEkEKEWNvbXBvc2l0aW9uRXJyb3JzGAIgAygLMiYud2cuY29zbW8ucGxhdGZvcm0udjEuQ29tcG9zaXRpb25FcnJvchI/ChBkZXBsb3ltZW50RXJyb3JzGAMgAygLMiUud2cuY29zbW8ucGxhdGZvcm0udjEuRGVwbG95bWVudEVycm9yEkUKE2NvbXBvc2l0aW9uV2FybmluZ3MYBCADKAsyKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbldhcm5pbmciYAoKUHJvdG9JbnB1dBIOCgZzY2hlbWEYASABKAkSEAoIbWFwcGluZ3MYAiABKAkSDAoEbG9jaxgDIAEoCRIRCglwbGF0Zm9ybXMYBCADKAkSDwoHdmVyc2lvbhgFIAEoCSKZBgofUHVibGlzaEZlZGVyYXRlZFN1YmdyYXBoUmVxdWVzdBIMCgRuYW1lGAEgASgJEg4KBnNjaGVtYRgCIAEoCRIYCgtyb3V0aW5nX3VybBgDIAEoCUgAiAEBEisKBmxhYmVscxgEIAMoCzIbLndnLmNvc21vLnBsYXRmb3JtLnYxLkxhYmVsElAKFXN1YnNjcmlwdGlvbl9wcm90b2NvbBgGIAEoDjIsLndnLmNvc21vLmNvbW1vbi5HcmFwaFFMU3Vic2NyaXB0aW9uUHJvdG9jb2xIAYgBARIdChBzdWJzY3JpcHRpb25fdXJsGAcgASgJSAKIAQESEQoJbmFtZXNwYWNlGAggASgJElAKFXdlYnNvY2tldF9zdWJwcm90b2NvbBgJIAEoDjIsLndnLmNvc21vLmNvbW1vbi5HcmFwaFFMV2Vic29ja2V0U3VicHJvdG9jb2xIA4gBARIgChNpc19mZWF0dXJlX3N1YmdyYXBoGAogASgISASIAQESHwoSYmFzZV9zdWJncmFwaF9uYW1lGAsgASgJSAWIAQESLQogZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24YDCABKAhIBogBARI1CgR0eXBlGA0gASgOMiIud2cuY29zbW8ucGxhdGZvcm0udjEuU3ViZ3JhcGhUeXBlSAeIAQESNAoFcHJvdG8YDiABKAsyIC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Qcm90b0lucHV0SAiIAQESEgoFbGltaXQYDyABKAVICYgBAUIOCgxfcm91dGluZ191cmxCGAoWX3N1YnNjcmlwdGlvbl9wcm90b2NvbEITChFfc3Vic2NyaXB0aW9uX3VybEIYChZfd2Vic29ja2V0X3N1YnByb3RvY29sQhYKFF9pc19mZWF0dXJlX3N1YmdyYXBoQhUKE19iYXNlX3N1YmdyYXBoX25hbWVCIwohX2Rpc2FibGVfcmVzb2x2YWJpbGl0eV92YWxpZGF0aW9uQgcKBV90eXBlQggKBl9wcm90b0IICgZfbGltaXQizwMKIFB1Ymxpc2hGZWRlcmF0ZWRTdWJncmFwaFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USQQoRY29tcG9zaXRpb25FcnJvcnMYAiADKAsyJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbkVycm9yEj8KEGRlcGxveW1lbnRFcnJvcnMYAyADKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZXBsb3ltZW50RXJyb3ISFwoKaGFzQ2hhbmdlZBgEIAEoCEgAiAEBEkUKE2NvbXBvc2l0aW9uV2FybmluZ3MYBSADKAsyKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbldhcm5pbmcSIQoUcHJvcG9zYWxNYXRjaE1lc3NhZ2UYBiABKAlIAYgBARI/CgZjb3VudHMYByABKAsyKi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TdWJncmFwaFB1Ymxpc2hTdGF0c0gCiAEBQg0KC19oYXNDaGFuZ2VkQhcKFV9wcm9wb3NhbE1hdGNoTWVzc2FnZUIJCgdfY291bnRzImgKFFN1YmdyYXBoUHVibGlzaFN0YXRzEhkKEWNvbXBvc2l0aW9uRXJyb3JzGAEgASgFEhsKE2NvbXBvc2l0aW9uV2FybmluZ3MYAiABKAUSGAoQZGVwbG95bWVudEVycm9ycxgDIAEoBSIvCg9QdWJsaXNoU3ViZ3JhcGgSDAoEbmFtZRgBIAEoCRIOCgZzY2hlbWEYAiABKAki/wEKIFB1Ymxpc2hGZWRlcmF0ZWRTdWJncmFwaHNSZXF1ZXN0EhEKCW5hbWVzcGFjZRgBIAEoCRI4CglzdWJncmFwaHMYAiADKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5QdWJsaXNoU3ViZ3JhcGgSLQogZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24YAyABKAhIAIgBARISCgVsaW1pdBgEIAEoBUgBiAEBEhIKBWFzeW5jGAUgASgISAKIAQFCIwohX2Rpc2FibGVfcmVzb2x2YWJpbGl0eV92YWxpZGF0aW9uQggKBl9saW1pdEIICgZfYXN5bmMiqAMKIVB1Ymxpc2hGZWRlcmF0ZWRTdWJncmFwaHNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEkEKEWNvbXBvc2l0aW9uRXJyb3JzGAIgAygLMiYud2cuY29zbW8ucGxhdGZvcm0udjEuQ29tcG9zaXRpb25FcnJvchI/ChBkZXBsb3ltZW50RXJyb3JzGAMgAygLMiUud2cuY29zbW8ucGxhdGZvcm0udjEuRGVwbG95bWVudEVycm9yEkUKE2NvbXBvc2l0aW9uV2FybmluZ3MYBCADKAsyKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbldhcm5pbmcSPwoGY291bnRzGAUgASgLMioud2cuY29zbW8ucGxhdGZvcm0udjEuU3ViZ3JhcGhQdWJsaXNoU3RhdHNIAIgBARIcChR1cGRhdGVkU3ViZ3JhcGhOYW1lcxgGIAMoCRISCgVqb2JJZBgHIAEoCUgBiAEBQgkKB19jb3VudHNCCAoGX2pvYklkIk4KH0dldEJhdGNoUHVibGlzaEpvYlN0YXR1c1JlcXVlc3QSDQoFam9iSWQYASABKAkSEgoFbGltaXQYAiABKAVIAIgBAUIICgZfbGltaXQihAQKIEdldEJhdGNoUHVibGlzaEpvYlN0YXR1c1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USQAoGc3RhdHVzGAIgASgOMisud2cuY29zbW8ucGxhdGZvcm0udjEuQmF0Y2hQdWJsaXNoSm9iU3RhdHVzSACIAQESGgoNZmFpbHVyZVJlYXNvbhgDIAEoCUgBiAEBEkEKEWNvbXBvc2l0aW9uRXJyb3JzGAQgAygLMiYud2cuY29zbW8ucGxhdGZvcm0udjEuQ29tcG9zaXRpb25FcnJvchI/ChBkZXBsb3ltZW50RXJyb3JzGAUgAygLMiUud2cuY29zbW8ucGxhdGZvcm0udjEuRGVwbG95bWVudEVycm9yEkUKE2NvbXBvc2l0aW9uV2FybmluZ3MYBiADKAsyKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbldhcm5pbmcSPwoGY291bnRzGAcgASgLMioud2cuY29zbW8ucGxhdGZvcm0udjEuU3ViZ3JhcGhQdWJsaXNoU3RhdHNIAogBARIcChR1cGRhdGVkU3ViZ3JhcGhOYW1lcxgIIAMoCUIJCgdfc3RhdHVzQhAKDl9mYWlsdXJlUmVhc29uQgkKB19jb3VudHMiXgoHR2l0SW5mbxISCgpjb21taXRfc2hhGAEgASgJEhIKCmFjY291bnRfaWQYAiABKAkSEgoKb3duZXJfc2x1ZxgDIAEoCRIXCg9yZXBvc2l0b3J5X3NsdWcYBCABKAkiQAoKVkNTQ29udGV4dBIOCgZhdXRob3IYASABKAkSEgoKY29tbWl0X3NoYRgCIAEoCRIOCgZicmFuY2gYAyABKAkixwMKGkNoZWNrU3ViZ3JhcGhTY2hlbWFSZXF1ZXN0EhUKDXN1YmdyYXBoX25hbWUYASABKAkSDgoGc2NoZW1hGAIgASgMEi4KB2dpdEluZm8YAyABKAsyHS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HaXRJbmZvEhMKBmRlbGV0ZRgEIAEoCEgAiAEBEhEKCW5hbWVzcGFjZRgFIAEoCRIfChJza2lwX3RyYWZmaWNfY2hlY2sYBiABKAhIAYgBARI5Cgp2Y3NDb250ZXh0GAcgASgLMiAud2cuY29zbW8ucGxhdGZvcm0udjEuVkNTQ29udGV4dEgCiAEBEisKBmxhYmVscxgIIAMoCzIbLndnLmNvc21vLnBsYXRmb3JtLnYxLkxhYmVsEi0KIGRpc2FibGVfcmVzb2x2YWJpbGl0eV92YWxpZGF0aW9uGAkgASgISAOIAQESEgoFbGltaXQYCiABKAVIBIgBAUIJCgdfZGVsZXRlQhUKE19za2lwX3RyYWZmaWNfY2hlY2tCDQoLX3Zjc0NvbnRleHRCIwohX2Rpc2FibGVfcmVzb2x2YWJpbGl0eV92YWxpZGF0aW9uQggKBl9saW1pdCKoAQoYRml4U3ViZ3JhcGhTY2hlbWFSZXF1ZXN0EhUKDXN1YmdyYXBoX25hbWUYASABKAkSDgoGc2NoZW1hGAIgASgJEhEKCW5hbWVzcGFjZRgDIAEoCRItCiBkaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbhgEIAEoCEgAiAEBQiMKIV9kaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbiLqAwoWQ3JlYXRlTW9ub2dyYXBoUmVxdWVzdBIMCgRuYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRITCgtyb3V0aW5nX3VybBgDIAEoCRIRCglncmFwaF91cmwYBCABKAkSHQoQc3Vic2NyaXB0aW9uX3VybBgFIAEoCUgAiAEBElAKFXN1YnNjcmlwdGlvbl9wcm90b2NvbBgGIAEoDjIsLndnLmNvc21vLmNvbW1vbi5HcmFwaFFMU3Vic2NyaXB0aW9uUHJvdG9jb2xIAYgBARITCgZyZWFkbWUYByABKAlIAogBARIbChNhZG1pc3Npb25XZWJob29rVVJMGAggASgJElAKFXdlYnNvY2tldF9zdWJwcm90b2NvbBgJIAEoDjIsLndnLmNvc21vLmNvbW1vbi5HcmFwaFFMV2Vic29ja2V0U3VicHJvdG9jb2xIA4gBARIjChZhZG1pc3Npb25XZWJob29rU2VjcmV0GAogASgJSASIAQFCEwoRX3N1YnNjcmlwdGlvbl91cmxCGAoWX3N1YnNjcmlwdGlvbl9wcm90b2NvbEIJCgdfcmVhZG1lQhgKFl93ZWJzb2NrZXRfc3VicHJvdG9jb2xCGQoXX2FkbWlzc2lvbldlYmhvb2tTZWNyZXQiSwoXQ3JlYXRlTW9ub2dyYXBoUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSK8AgobQ3JlYXRlRmVkZXJhdGVkR3JhcGhSZXF1ZXN0EgwKBG5hbWUYASABKAkSEwoLcm91dGluZ191cmwYAiABKAkSFgoObGFiZWxfbWF0Y2hlcnMYAyADKAkSEwoGcmVhZG1lGAQgASgJSACIAQESEQoJbmFtZXNwYWNlGAUgASgJEhsKE2FkbWlzc2lvbldlYmhvb2tVUkwYBiABKAkSIwoWYWRtaXNzaW9uV2ViaG9va1NlY3JldBgHIAEoCUgBiAEBEi0KIGRpc2FibGVfcmVzb2x2YWJpbGl0eV92YWxpZGF0aW9uGAggASgISAKIAQFCCQoHX3JlYWRtZUIZChdfYWRtaXNzaW9uV2ViaG9va1NlY3JldEIjCiFfZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24ipgUKHkNyZWF0ZUZlZGVyYXRlZFN1YmdyYXBoUmVxdWVzdBIMCgRuYW1lGAEgASgJEhgKC3JvdXRpbmdfdXJsGAIgASgJSACIAQESKwoGbGFiZWxzGAMgAygLMhsud2cuY29zbW8ucGxhdGZvcm0udjEuTGFiZWwSUAoVc3Vic2NyaXB0aW9uX3Byb3RvY29sGAUgASgOMiwud2cuY29zbW8uY29tbW9uLkdyYXBoUUxTdWJzY3JpcHRpb25Qcm90b2NvbEgBiAEBEh0KEHN1YnNjcmlwdGlvbl91cmwYBiABKAlIAogBARITCgZyZWFkbWUYByABKAlIA4gBARIRCgluYW1lc3BhY2UYCCABKAkSUAoVd2Vic29ja2V0X3N1YnByb3RvY29sGAkgASgOMiwud2cuY29zbW8uY29tbW9uLkdyYXBoUUxXZWJzb2NrZXRTdWJwcm90b2NvbEgEiAEBEiIKFWlzX2V2ZW50X2RyaXZlbl9ncmFwaBgKIAEoCEgFiAEBEiAKE2lzX2ZlYXR1cmVfc3ViZ3JhcGgYCyABKAhIBogBARIfChJiYXNlX3N1YmdyYXBoX25hbWUYDCABKAlIB4gBARIwCgR0eXBlGA0gASgOMiIud2cuY29zbW8ucGxhdGZvcm0udjEuU3ViZ3JhcGhUeXBlQg4KDF9yb3V0aW5nX3VybEIYChZfc3Vic2NyaXB0aW9uX3Byb3RvY29sQhMKEV9zdWJzY3JpcHRpb25fdXJsQgkKB19yZWFkbWVCGAoWX3dlYnNvY2tldF9zdWJwcm90b2NvbEIYChZfaXNfZXZlbnRfZHJpdmVuX2dyYXBoQhYKFF9pc19mZWF0dXJlX3N1YmdyYXBoQhUKE19iYXNlX3N1YmdyYXBoX25hbWUi3wMKDkNyZWF0ZVN1YmdyYXBoEgwKBG5hbWUYASABKAkSGAoLcm91dGluZ191cmwYAiABKAlIAIgBARIrCgZsYWJlbHMYAyADKAsyGy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MYWJlbBJQChVzdWJzY3JpcHRpb25fcHJvdG9jb2wYBCABKA4yLC53Zy5jb3Ntby5jb21tb24uR3JhcGhRTFN1YnNjcmlwdGlvblByb3RvY29sSAGIAQESHQoQc3Vic2NyaXB0aW9uX3VybBgFIAEoCUgCiAEBEhMKBnJlYWRtZRgGIAEoCUgDiAEBElAKFXdlYnNvY2tldF9zdWJwcm90b2NvbBgHIAEoDjIsLndnLmNvc21vLmNvbW1vbi5HcmFwaFFMV2Vic29ja2V0U3VicHJvdG9jb2xIBIgBARIiChVpc19ldmVudF9kcml2ZW5fZ3JhcGgYCCABKAhIBYgBAUIOCgxfcm91dGluZ191cmxCGAoWX3N1YnNjcmlwdGlvbl9wcm90b2NvbEITChFfc3Vic2NyaXB0aW9uX3VybEIJCgdfcmVhZG1lQhgKFl93ZWJzb2NrZXRfc3VicHJvdG9jb2xCGAoWX2lzX2V2ZW50X2RyaXZlbl9ncmFwaCJtCh9DcmVhdGVGZWRlcmF0ZWRTdWJncmFwaHNSZXF1ZXN0EhEKCW5hbWVzcGFjZRgBIAEoCRI3CglzdWJncmFwaHMYAiADKAsyJC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVTdWJncmFwaCJyCiBDcmVhdGVGZWRlcmF0ZWRTdWJncmFwaHNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEhwKFGNyZWF0ZWRTdWJncmFwaE5hbWVzGAIgAygJIj4KG0RlbGV0ZUZlZGVyYXRlZEdyYXBoUmVxdWVzdBIMCgRuYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCSI5ChZEZWxldGVNb25vZ3JhcGhSZXF1ZXN0EgwKBG5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJIksKF0RlbGV0ZU1vbm9ncmFwaFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UingEKHkRlbGV0ZUZlZGVyYXRlZFN1YmdyYXBoUmVxdWVzdBIVCg1zdWJncmFwaF9uYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRItCiBkaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbhgDIAEoCEgAiAEBQiMKIV9kaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbiK5AQoMU2NoZW1hQ2hhbmdlEg8KB21lc3NhZ2UYASABKAkSEgoKY2hhbmdlVHlwZRgCIAEoCRIRCgRwYXRoGAMgASgJSACIAQESEgoKaXNCcmVha2luZxgEIAEoCBIYCgtoYXNPdmVycmlkZRgFIAEoCEgBiAEBEhkKDHN1YmdyYXBoTmFtZRgGIAEoCUgCiAEBQgcKBV9wYXRoQg4KDF9oYXNPdmVycmlkZUIPCg1fc3ViZ3JhcGhOYW1lIswBChpGZWRlcmF0ZWRHcmFwaFNjaGVtYUNoYW5nZRIPCgdtZXNzYWdlGAEgASgJEhIKCmNoYW5nZVR5cGUYAiABKAkSEQoEcGF0aBgDIAEoCUgAiAEBEhIKCmlzQnJlYWtpbmcYBCABKAgSGgoSZmVkZXJhdGVkR3JhcGhOYW1lGAUgASgJEhgKC2hhc092ZXJyaWRlGAYgASgISAGIAQESEwoLZmVhdHVyZUZsYWcYByABKAlCBwoFX3BhdGhCDgoMX2hhc092ZXJyaWRlImcKEENvbXBvc2l0aW9uRXJyb3ISDwoHbWVzc2FnZRgBIAEoCRIaChJmZWRlcmF0ZWRHcmFwaE5hbWUYAiABKAkSEQoJbmFtZXNwYWNlGAMgASgJEhMKC2ZlYXR1cmVGbGFnGAQgASgJImkKEkNvbXBvc2l0aW9uV2FybmluZxIPCgdtZXNzYWdlGAEgASgJEhoKEmZlZGVyYXRlZEdyYXBoTmFtZRgCIAEoCRIRCgluYW1lc3BhY2UYAyABKAkSEwoLZmVhdHVyZUZsYWcYBCABKAkiUQoPRGVwbG95bWVudEVycm9yEg8KB21lc3NhZ2UYASABKAkSGgoSZmVkZXJhdGVkR3JhcGhOYW1lGAIgASgJEhEKCW5hbWVzcGFjZRgDIAEoCSJ0ChhDaGVja09wZXJhdGlvblVzYWdlU3RhdHMSFwoPdG90YWxPcGVyYXRpb25zGAEgASgNEhMKC2ZpcnN0U2VlbkF0GAIgASgJEhIKCmxhc3RTZWVuQXQYAyABKAkSFgoOc2FmZU9wZXJhdGlvbnMYBCABKA0iYAoWQ2hlY2tlZEZlZGVyYXRlZEdyYXBocxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhEKCW5hbWVzcGFjZRgDIAEoCRIZChFvcmdhbml6YXRpb25fc2x1ZxgEIAEoCSJ0CgxMaW50TG9jYXRpb24SDAoEbGluZRgBIAEoDRIOCgZjb2x1bW4YAiABKA0SFAoHZW5kTGluZRgDIAEoDUgAiAEBEhYKCWVuZENvbHVtbhgEIAEoDUgBiAEBQgoKCF9lbmRMaW5lQgwKCl9lbmRDb2x1bW4i5QEKCUxpbnRJc3N1ZRIZCgxsaW50UnVsZVR5cGUYASABKAlIAIgBARI0CghzZXZlcml0eRgCIAEoDjIiLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpbnRTZXZlcml0eRIPCgdtZXNzYWdlGAMgASgJEjkKDWlzc3VlTG9jYXRpb24YBCABKAsyIi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MaW50TG9jYXRpb24SGQoMc3ViZ3JhcGhOYW1lGAUgASgJSAGIAQFCDwoNX2xpbnRSdWxlVHlwZUIPCg1fc3ViZ3JhcGhOYW1lIo4CChFHcmFwaFBydW5pbmdJc3N1ZRIcChRncmFwaFBydW5pbmdSdWxlVHlwZRgBIAEoCRI0CghzZXZlcml0eRgCIAEoDjIiLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpbnRTZXZlcml0eRIRCglmaWVsZFBhdGgYAyABKAkSDwoHbWVzc2FnZRgEIAEoCRI5Cg1pc3N1ZUxvY2F0aW9uGAUgASgLMiIud2cuY29zbW8ucGxhdGZvcm0udjEuTGludExvY2F0aW9uEhoKEmZlZGVyYXRlZEdyYXBoTmFtZRgGIAEoCRIZCgxzdWJncmFwaE5hbWUYByABKAlIAIgBAUIPCg1fc3ViZ3JhcGhOYW1lIocLChtDaGVja1N1YmdyYXBoU2NoZW1hUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI7Cg9icmVha2luZ0NoYW5nZXMYAiADKAsyIi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TY2hlbWFDaGFuZ2USPgoSbm9uQnJlYWtpbmdDaGFuZ2VzGAMgAygLMiIud2cuY29zbW8ucGxhdGZvcm0udjEuU2NoZW1hQ2hhbmdlEkEKEWNvbXBvc2l0aW9uRXJyb3JzGAQgAygLMiYud2cuY29zbW8ucGxhdGZvcm0udjEuQ29tcG9zaXRpb25FcnJvchJLChNvcGVyYXRpb25Vc2FnZVN0YXRzGAUgASgLMi4ud2cuY29zbW8ucGxhdGZvcm0udjEuQ2hlY2tPcGVyYXRpb25Vc2FnZVN0YXRzEhAKCGNoZWNrX2lkGAYgASgJEk4KGGNoZWNrZWRfZmVkZXJhdGVkX2dyYXBocxgHIAMoCzIsLndnLmNvc21vLnBsYXRmb3JtLnYxLkNoZWNrZWRGZWRlcmF0ZWRHcmFwaHMSNQoMbGludFdhcm5pbmdzGAggAygLMh8ud2cuY29zbW8ucGxhdGZvcm0udjEuTGludElzc3VlEjMKCmxpbnRFcnJvcnMYCSADKAsyHy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MaW50SXNzdWUSQwoSZ3JhcGhQcnVuZVdhcm5pbmdzGAogAygLMicud2cuY29zbW8ucGxhdGZvcm0udjEuR3JhcGhQcnVuaW5nSXNzdWUSQQoQZ3JhcGhQcnVuZUVycm9ycxgLIAMoCzInLndnLmNvc21vLnBsYXRmb3JtLnYxLkdyYXBoUHJ1bmluZ0lzc3VlEikKHGNsaWVudF90cmFmZmljX2NoZWNrX3NraXBwZWQYDCABKAhIAIgBARJFChNjb21wb3NpdGlvbldhcm5pbmdzGA0gAygLMigud2cuY29zbW8ucGxhdGZvcm0udjEuQ29tcG9zaXRpb25XYXJuaW5nEiEKFHByb3Bvc2FsTWF0Y2hNZXNzYWdlGA4gASgJSAGIAQESJwoaaXNMaW5rZWRUcmFmZmljQ2hlY2tGYWlsZWQYDyABKAhIAogBARInChppc0xpbmtlZFBydW5pbmdDaGVja0ZhaWxlZBgQIAEoCEgDiAEBEiQKF2lzQ2hlY2tFeHRlbnNpb25Ta2lwcGVkGBEgASgISASIAQESJwoaY2hlY2tFeHRlbnNpb25FcnJvck1lc3NhZ2UYEiABKAlIBYgBARI8CgZjb3VudHMYEyABKAsyJy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TY2hlbWFDaGVja0NvdW50c0gGiAEBElcKHWNvbXBvc2VkU2NoZW1hQnJlYWtpbmdDaGFuZ2VzGBQgAygLMjAud2cuY29zbW8ucGxhdGZvcm0udjEuRmVkZXJhdGVkR3JhcGhTY2hlbWFDaGFuZ2USKAobZmVhdHVyZVN1YmdyYXBoQ2hlY2tNZXNzYWdlGBUgASgJSAeIAQFCHwodX2NsaWVudF90cmFmZmljX2NoZWNrX3NraXBwZWRCFwoVX3Byb3Bvc2FsTWF0Y2hNZXNzYWdlQh0KG19pc0xpbmtlZFRyYWZmaWNDaGVja0ZhaWxlZEIdChtfaXNMaW5rZWRQcnVuaW5nQ2hlY2tGYWlsZWRCGgoYX2lzQ2hlY2tFeHRlbnNpb25Ta2lwcGVkQh0KG19jaGVja0V4dGVuc2lvbkVycm9yTWVzc2FnZUIJCgdfY291bnRzQh4KHF9mZWF0dXJlU3ViZ3JhcGhDaGVja01lc3NhZ2UihwIKEVNjaGVtYUNoZWNrQ291bnRzEhQKDGxpbnRXYXJuaW5ncxgBIAEoBRISCgpsaW50RXJyb3JzGAIgASgFEhcKD2JyZWFraW5nQ2hhbmdlcxgDIAEoBRIaChJub25CcmVha2luZ0NoYW5nZXMYBCABKAUSGQoRY29tcG9zaXRpb25FcnJvcnMYBSABKAUSGwoTY29tcG9zaXRpb25XYXJuaW5ncxgGIAEoBRIYChBncmFwaFBydW5lRXJyb3JzGAcgASgFEhoKEmdyYXBoUHJ1bmVXYXJuaW5ncxgIIAEoBRIlCh1jb21wb3NlZFNjaGVtYUJyZWFraW5nQ2hhbmdlcxgJIAEoBSJvChlGaXhTdWJncmFwaFNjaGVtYVJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USEAoIbW9kaWZpZWQYAiABKAgSDgoGc2NoZW1hGAMgASgJIpsCChxDcmVhdGVGZWRlcmF0ZWRHcmFwaFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USQQoRY29tcG9zaXRpb25FcnJvcnMYAiADKAsyJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbkVycm9yEj8KEGRlcGxveW1lbnRFcnJvcnMYAyADKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZXBsb3ltZW50RXJyb3ISRQoTY29tcG9zaXRpb25XYXJuaW5ncxgEIAMoCzIoLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uV2FybmluZyJTCh9DcmVhdGVGZWRlcmF0ZWRTdWJncmFwaFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2Ui2gIKH0RlbGV0ZUZlZGVyYXRlZFN1YmdyYXBoUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJBChFjb21wb3NpdGlvbkVycm9ycxgCIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uRXJyb3ISPwoQZGVwbG95bWVudEVycm9ycxgDIAMoCzIlLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlcGxveW1lbnRFcnJvchJFChNjb21wb3NpdGlvbldhcm5pbmdzGAQgAygLMigud2cuY29zbW8ucGxhdGZvcm0udjEuQ29tcG9zaXRpb25XYXJuaW5nEiEKFHByb3Bvc2FsTWF0Y2hNZXNzYWdlGAUgASgJSACIAQFCFwoVX3Byb3Bvc2FsTWF0Y2hNZXNzYWdlIlAKHERlbGV0ZUZlZGVyYXRlZEdyYXBoUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSKfAQoZR2V0RmVkZXJhdGVkR3JhcGhzUmVxdWVzdBINCgVsaW1pdBgBIAEoBRIOCgZvZmZzZXQYAiABKAUSFgoOaW5jbHVkZU1ldHJpY3MYAyABKAgSEQoJbmFtZXNwYWNlGAQgASgJEiAKE3N1cHBvcnRzX2ZlZGVyYXRpb24YBSABKAhIAIgBAUIWChRfc3VwcG9ydHNfZmVkZXJhdGlvbiJlCghDb250cmFjdBIKCgJpZBgBIAEoCRIhChlzb3VyY2VfZmVkZXJhdGVkX2dyYXBoX2lkGAIgASgJEhQKDGV4Y2x1ZGVfdGFncxgDIAMoCRIUCgxpbmNsdWRlX3RhZ3MYBCADKAkiswQKDkZlZGVyYXRlZEdyYXBoEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEgoKcm91dGluZ1VSTBgDIAEoCRIWCg5sYWJlbF9tYXRjaGVycxgEIAMoCRIVCg1sYXN0VXBkYXRlZEF0GAUgASgJEhQKDGlzQ29tcG9zYWJsZRgGIAEoCBIZChFjb21wb3NpdGlvbkVycm9ycxgHIAEoCRIaChJjb25uZWN0ZWRTdWJncmFwaHMYCCABKAUSPgoNcmVxdWVzdFNlcmllcxgJIAMoCzInLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlcXVlc3RTZXJpZXNJdGVtEhMKBnJlYWRtZRgKIAEoCUgAiAEBEhEKCXRhcmdldF9pZBgLIAEoCRIRCgluYW1lc3BhY2UYDCABKAkSGgoNY29tcG9zaXRpb25JZBgNIAEoCUgBiAEBEhsKE3N1cHBvcnRzX2ZlZGVyYXRpb24YDiABKAgSNQoIY29udHJhY3QYDyABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db250cmFjdEgCiAEBEiIKFWFkbWlzc2lvbl93ZWJob29rX3VybBgQIAEoCUgDiAEBEiQKHHJvdXRlcl9jb21wYXRpYmlsaXR5X3ZlcnNpb24YESABKAlCCQoHX3JlYWRtZUIQCg5fY29tcG9zaXRpb25JZEILCglfY29udHJhY3RCGAoWX2FkbWlzc2lvbl93ZWJob29rX3VybCKEAQoaR2V0RmVkZXJhdGVkR3JhcGhzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI0CgZncmFwaHMYAiADKAsyJC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5GZWRlcmF0ZWRHcmFwaCJUCilHZXRGZWRlcmF0ZWRHcmFwaHNCeVN1YmdyYXBoTGFiZWxzUmVxdWVzdBIUCgxzdWJncmFwaE5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJIpQBCipHZXRGZWRlcmF0ZWRHcmFwaHNCeVN1YmdyYXBoTGFiZWxzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI0CgZncmFwaHMYAiADKAsyJC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5GZWRlcmF0ZWRHcmFwaCKIAQoTR2V0U3ViZ3JhcGhzUmVxdWVzdBINCgVsaW1pdBgBIAEoBRIOCgZvZmZzZXQYAiABKAUSEQoJbmFtZXNwYWNlGAMgASgJEhIKBXF1ZXJ5GAQgASgJSACIAQESIQoZZXhjbHVkZV9mZWF0dXJlX3N1YmdyYXBocxgFIAEoCEIICgZfcXVlcnkivQUKCFN1YmdyYXBoEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEgoKcm91dGluZ1VSTBgDIAEoCRIVCg1sYXN0VXBkYXRlZEF0GAQgASgJEisKBmxhYmVscxgFIAMoCzIbLndnLmNvc21vLnBsYXRmb3JtLnYxLkxhYmVsEhoKDWNyZWF0b3JVc2VySWQYBiABKAlIAIgBARITCgZyZWFkbWUYByABKAlIAYgBARIXCg9zdWJzY3JpcHRpb25VcmwYCCABKAkSEQoJdGFyZ2V0X2lkGAkgASgJEhEKCW5hbWVzcGFjZRgKIAEoCRIcChRzdWJzY3JpcHRpb25Qcm90b2NvbBgLIAEoCRIWCglpc1YyR3JhcGgYDCABKAhIAogBARIaChJpc0V2ZW50RHJpdmVuR3JhcGgYDSABKAgSHAoUd2Vic29ja2V0U3VicHJvdG9jb2wYDiABKAkSGQoRaXNGZWF0dXJlU3ViZ3JhcGgYDyABKAgSHQoQYmFzZVN1YmdyYXBoTmFtZRgQIAEoCUgDiAEBEhsKDmJhc2VTdWJncmFwaElkGBEgASgJSASIAQESMAoEdHlwZRgSIAEoDjIiLndnLmNvc21vLnBsYXRmb3JtLnYxLlN1YmdyYXBoVHlwZRJCCgpwbHVnaW5EYXRhGBMgASgLMikud2cuY29zbW8ucGxhdGZvcm0udjEuU3ViZ3JhcGguUGx1Z2luRGF0YUgFiAEBGjAKClBsdWdpbkRhdGESDwoHdmVyc2lvbhgBIAEoCRIRCglwbGF0Zm9ybXMYAiADKAlCEAoOX2NyZWF0b3JVc2VySWRCCQoHX3JlYWRtZUIMCgpfaXNWMkdyYXBoQhMKEV9iYXNlU3ViZ3JhcGhOYW1lQhEKD19iYXNlU3ViZ3JhcGhJZEINCgtfcGx1Z2luRGF0YSKHAQoUR2V0U3ViZ3JhcGhzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIuCgZncmFwaHMYAiADKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TdWJncmFwaBINCgVjb3VudBgDIAEoBSJZCh5HZXRGZWRlcmF0ZWRHcmFwaEJ5TmFtZVJlcXVlc3QSDAoEbmFtZRgBIAEoCRIWCg5pbmNsdWRlTWV0cmljcxgCIAEoCBIRCgluYW1lc3BhY2UYAyABKAkikAIKH0dldEZlZGVyYXRlZEdyYXBoQnlOYW1lUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIzCgVncmFwaBgCIAEoCzIkLndnLmNvc21vLnBsYXRmb3JtLnYxLkZlZGVyYXRlZEdyYXBoEjEKCXN1YmdyYXBocxgDIAMoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlN1YmdyYXBoEhkKEWdyYXBoUmVxdWVzdFRva2VuGAQgASgJEjgKEGZlYXR1cmVTdWJncmFwaHMYBSADKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TdWJncmFwaCJ6CiFHZXRGZWRlcmF0ZWRHcmFwaFNETEJ5TmFtZVJlcXVlc3QSDAoEbmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSHgoRZmVhdHVyZV9mbGFnX25hbWUYAyABKAlIAIgBAUIUChJfZmVhdHVyZV9mbGFnX25hbWUixgEKIkdldEZlZGVyYXRlZEdyYXBoU0RMQnlOYW1lUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIQCgNzZGwYAiABKAlIAIgBARIXCgp2ZXJzaW9uX2lkGAMgASgJSAGIAQESGgoNY2xpZW50X3NjaGVtYRgEIAEoCUgCiAEBQgYKBF9zZGxCDQoLX3ZlcnNpb25faWRCEAoOX2NsaWVudF9zY2hlbWEiOwoYR2V0U3ViZ3JhcGhCeU5hbWVSZXF1ZXN0EgwKBG5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJIuICChlHZXRTdWJncmFwaEJ5TmFtZVJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USLQoFZ3JhcGgYAiABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TdWJncmFwaBI1CgdtZW1iZXJzGAMgAygLMiQud2cuY29zbW8ucGxhdGZvcm0udjEuU3ViZ3JhcGhNZW1iZXISWwoObGlua2VkU3ViZ3JhcGgYBCABKAsyPi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRTdWJncmFwaEJ5TmFtZVJlc3BvbnNlLkxpbmtlZFN1YmdyYXBoSACIAQEaPQoOTGlua2VkU3ViZ3JhcGgSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIRCgluYW1lc3BhY2UYAyABKAlCEQoPX2xpbmtlZFN1YmdyYXBoImMKKkdldFN1YmdyYXBoU0RMRnJvbUxhdGVzdENvbXBvc2l0aW9uUmVxdWVzdBIMCgRuYW1lGAEgASgJEhQKDGZlZEdyYXBoTmFtZRgCIAEoCRIRCgluYW1lc3BhY2UYAyABKAkioQEKK0dldFN1YmdyYXBoU0RMRnJvbUxhdGVzdENvbXBvc2l0aW9uUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIQCgNzZGwYAiABKAlIAIgBARIXCgp2ZXJzaW9uX2lkGAMgASgJSAGIAQFCBgoEX3NkbEINCgtfdmVyc2lvbl9pZCI+ChtHZXRMYXRlc3RTdWJncmFwaFNETFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkikgEKHEdldExhdGVzdFN1YmdyYXBoU0RMUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIQCgNzZGwYAiABKAlIAIgBARIXCgp2ZXJzaW9uX2lkGAMgASgJSAGIAQFCBgoEX3NkbEINCgtfdmVyc2lvbl9pZCI5CiRHZXRDaGVja3NCeUZlZGVyYXRlZEdyYXBoTmFtZUZpbHRlcnMSEQoJc3ViZ3JhcGhzGAEgAygJIugBCiRHZXRDaGVja3NCeUZlZGVyYXRlZEdyYXBoTmFtZVJlcXVlc3QSDAoEbmFtZRgBIAEoCRINCgVsaW1pdBgCIAEoBRIOCgZvZmZzZXQYAyABKAUSEQoJc3RhcnREYXRlGAQgASgJEg8KB2VuZERhdGUYBSABKAkSEQoJbmFtZXNwYWNlGAYgASgJElAKB2ZpbHRlcnMYByABKAsyOi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRDaGVja3NCeUZlZGVyYXRlZEdyYXBoTmFtZUZpbHRlcnNIAIgBAUIKCghfZmlsdGVycyKKDAoLU2NoZW1hQ2hlY2sSCgoCaWQYASABKAkSFQoIdGFyZ2V0SUQYAiABKAlIAIgBARIZCgxzdWJncmFwaE5hbWUYAyABKAlIAYgBARIRCgl0aW1lc3RhbXAYBCABKAkSFAoMaXNDb21wb3NhYmxlGAUgASgIEhIKCmlzQnJlYWtpbmcYBiABKAgSGAoQaGFzQ2xpZW50VHJhZmZpYxgHIAEoCBIXCg9pc0ZvcmNlZFN1Y2Nlc3MYCCABKAgSEQoJaXNEZWxldGVkGAkgASgIEkMKCWdoRGV0YWlscxgKIAEoCzIrLndnLmNvc21vLnBsYXRmb3JtLnYxLlNjaGVtYUNoZWNrLkdoRGV0YWlsc0gCiAEBEhUKDWhhc0xpbnRFcnJvcnMYCyABKAgSHQoVaGFzR3JhcGhQcnVuaW5nRXJyb3JzGAwgASgIEiQKHGNsaWVudF90cmFmZmljX2NoZWNrX3NraXBwZWQYDSABKAgSFAoMbGludF9za2lwcGVkGA4gASgIEh0KFWdyYXBoX3BydW5pbmdfc2tpcHBlZBgPIAEoCBI5Cgp2Y3NDb250ZXh0GBAgASgLMiAud2cuY29zbW8ucGxhdGZvcm0udjEuVkNTQ29udGV4dEgDiAEBEksKEGNoZWNrZWRTdWJncmFwaHMYESADKAsyMS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TY2hlbWFDaGVjay5DaGVja2VkU3ViZ3JhcGgSGgoNcHJvcG9zYWxNYXRjaBgSIAEoCUgEiAEBEhsKE2NvbXBvc2l0aW9uX3NraXBwZWQYEyABKAgSIAoYYnJlYWtpbmdfY2hhbmdlc19za2lwcGVkGBQgASgIEhkKDGVycm9yTWVzc2FnZRgVIAEoCUgFiAEBEkMKDGxpbmtlZENoZWNrcxgWIAMoCzItLndnLmNvc21vLnBsYXRmb3JtLnYxLlNjaGVtYUNoZWNrLkxpbmtlZENoZWNrEigKG2NoZWNrX2V4dGVuc2lvbl9kZWxpdmVyeV9pZBgXIAEoCUgGiAEBEioKHWNoZWNrX2V4dGVuc2lvbl9lcnJvcl9tZXNzYWdlGBggASgJSAeIAQESHwoXaGFzRmVhdHVyZVN1YmdyYXBoQ2hlY2sYGSABKAgaSQoJR2hEZXRhaWxzEhEKCWNvbW1pdFNoYRgBIAEoCRIRCglvd25lclNsdWcYAiABKAkSFgoOcmVwb3NpdG9yeVNsdWcYAyABKAkaqgEKD0NoZWNrZWRTdWJncmFwaBIKCgJpZBgBIAEoCRIUCgxzdWJncmFwaE5hbWUYAiABKAkSFwoKc3ViZ3JhcGhJZBgDIAEoCUgAiAEBEhEKCWlzRGVsZXRlZBgEIAEoCBINCgVpc05ldxgFIAEoCBIrCgZsYWJlbHMYBiADKAsyGy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MYWJlbEINCgtfc3ViZ3JhcGhJZBqRAgoLTGlua2VkQ2hlY2sSCgoCaWQYASABKAkSGgoSYWZmZWN0ZWRHcmFwaE5hbWVzGAIgAygJEhkKEWlzQ2hlY2tTdWNjZXNzZnVsGAMgASgIEhgKEGhhc0NsaWVudFRyYWZmaWMYBCABKAgSHQoVaGFzR3JhcGhQcnVuaW5nRXJyb3JzGAUgASgIEiEKGWNsaWVudFRyYWZmaWNDaGVja1NraXBwZWQYBiABKAgSIAoYZ3JhcGhQcnVuaW5nQ2hlY2tTa2lwcGVkGAcgASgIEhUKDXN1YmdyYXBoTmFtZXMYCCADKAkSEQoJbmFtZXNwYWNlGAkgASgJEhcKD2lzRm9yY2VkU3VjY2VzcxgKIAEoCEILCglfdGFyZ2V0SURCDwoNX3N1YmdyYXBoTmFtZUIMCgpfZ2hEZXRhaWxzQg0KC192Y3NDb250ZXh0QhAKDl9wcm9wb3NhbE1hdGNoQg8KDV9lcnJvck1lc3NhZ2VCHgocX2NoZWNrX2V4dGVuc2lvbl9kZWxpdmVyeV9pZEIgCh5fY2hlY2tfZXh0ZW5zaW9uX2Vycm9yX21lc3NhZ2UisQEKJUdldENoZWNrc0J5RmVkZXJhdGVkR3JhcGhOYW1lUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIxCgZjaGVja3MYAiADKAsyIS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TY2hlbWFDaGVjaxIjChtjaGVja3NDb3VudEJhc2VkT25EYXRlUmFuZ2UYAyABKAUiUQoWR2V0Q2hlY2tTdW1tYXJ5UmVxdWVzdBIQCghjaGVja19pZBgBIAEoCRISCgpncmFwaF9uYW1lGAIgASgJEhEKCW5hbWVzcGFjZRgDIAEoCSI0CgxDaGFuZ2VDb3VudHMSEQoJYWRkaXRpb25zGAEgASgFEhEKCWRlbGV0aW9ucxgCIAEoBSLICQoXR2V0Q2hlY2tTdW1tYXJ5UmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIwCgVjaGVjaxgCIAEoCzIhLndnLmNvc21vLnBsYXRmb3JtLnYxLlNjaGVtYUNoZWNrElQKD2FmZmVjdGVkX2dyYXBocxgDIAMoCzI7LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldENoZWNrU3VtbWFyeVJlc3BvbnNlLkFmZmVjdGVkR3JhcGgSJgoZcHJvcG9zZWRTdWJncmFwaFNjaGVtYVNETBgEIAEoCUgAiAEBEjMKB2NoYW5nZXMYBiADKAsyIi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TY2hlbWFDaGFuZ2USQQoRY29tcG9zaXRpb25FcnJvcnMYByADKAsyJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbkVycm9yEhoKEnRyYWZmaWNfY2hlY2tfZGF5cxgIIAEoBRIzCgpsaW50SXNzdWVzGAkgAygLMh8ud2cuY29zbW8ucGxhdGZvcm0udjEuTGludElzc3VlEkMKEmdyYXBoUHJ1bmluZ0lzc3VlcxgKIAMoCzInLndnLmNvc21vLnBsYXRmb3JtLnYxLkdyYXBoUHJ1bmluZ0lzc3VlEkUKE2NvbXBvc2l0aW9uV2FybmluZ3MYCyADKAsyKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbldhcm5pbmcSFwoKcHJvcG9zYWxJZBgMIAEoCUgBiAEBEhkKDHByb3Bvc2FsTmFtZRgNIAEoCUgCiAEBEloKD3Byb3Bvc2FsTWF0Y2hlcxgOIAMoCzJBLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldENoZWNrU3VtbWFyeVJlc3BvbnNlLlByb3Bvc2FsU2NoZW1hTWF0Y2gSGgoSaXNQcm9wb3NhbHNFbmFibGVkGA8gASgIElcKHWNvbXBvc2VkU2NoZW1hQnJlYWtpbmdDaGFuZ2VzGBAgAygLMjAud2cuY29zbW8ucGxhdGZvcm0udjEuRmVkZXJhdGVkR3JhcGhTY2hlbWFDaGFuZ2Ua2gEKDUFmZmVjdGVkR3JhcGgSCgoCaWQYASABKAkSGgoSdHJhZmZpY19jaGVja19kYXlzGAIgASgFEgwKBG5hbWUYAyABKAkSGQoRaXNDaGVja1N1Y2Nlc3NmdWwYBCABKAgSFAoMaXNDb21wb3NhYmxlGAUgASgIEhIKCmlzQnJlYWtpbmcYBiABKAgSGAoQaGFzQ2xpZW50VHJhZmZpYxgHIAEoCBIVCg1oYXNMaW50RXJyb3JzGAggASgIEh0KFWhhc0dyYXBoUHJ1bmluZ0Vycm9ycxgJIAEoCBpWChNQcm9wb3NhbFNjaGVtYU1hdGNoEhIKCnByb3Bvc2FsSWQYASABKAkSFAoMcHJvcG9zYWxOYW1lGAIgASgJEhUKDXByb3Bvc2FsTWF0Y2gYAyABKAhCHAoaX3Byb3Bvc2VkU3ViZ3JhcGhTY2hlbWFTRExCDQoLX3Byb3Bvc2FsSWRCDwoNX3Byb3Bvc2FsTmFtZSKTAQoZR2V0Q2hlY2tPcGVyYXRpb25zUmVxdWVzdBIQCghjaGVja19pZBgBIAEoCRISCgpncmFwaF9uYW1lGAIgASgJEhEKCW5hbWVzcGFjZRgDIAEoCRINCgVsaW1pdBgEIAEoBRIOCgZvZmZzZXQYBSABKAUSEwoGc2VhcmNoGAYgASgJSACIAQFCCQoHX3NlYXJjaCLTBAoaR2V0Q2hlY2tPcGVyYXRpb25zUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJTCgpvcGVyYXRpb25zGAIgAygLMj8ud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0Q2hlY2tPcGVyYXRpb25zUmVzcG9uc2UuQ2hlY2tPcGVyYXRpb24SGgoSdHJhZmZpY19jaGVja19kYXlzGAMgASgFEhIKCmNyZWF0ZWRfYXQYBCABKAkSJAocY2xpZW50X3RyYWZmaWNfY2hlY2tfc2tpcHBlZBgFIAEoCBIcChR0b3RhbE9wZXJhdGlvbnNDb3VudBgGIAEoBRIsCiRkb0FsbE9wZXJhdGlvbnNIYXZlSWdub3JlQWxsT3ZlcnJpZGUYByABKAgSNAosZG9BbGxPcGVyYXRpb25zSGF2ZUFsbFRoZWlyQ2hhbmdlc01hcmtlZFNhZmUYCCABKAga1QEKDkNoZWNrT3BlcmF0aW9uEgwKBGhhc2gYASABKAkSDAoEbmFtZRgCIAEoCRIMCgR0eXBlGAMgASgJEhUKDWZpcnN0X3NlZW5fYXQYBCABKAkSFAoMbGFzdF9zZWVuX2F0GAUgASgJEj0KEWltcGFjdGluZ19jaGFuZ2VzGAYgAygLMiIud2cuY29zbW8ucGxhdGZvcm0udjEuU2NoZW1hQ2hhbmdlEg8KB2lzX3NhZmUYByABKAgSHAoUaGFzSWdub3JlQWxsT3ZlcnJpZGUYCCABKAgidwoaR2V0T3BlcmF0aW9uQ29udGVudFJlcXVlc3QSDAoEaGFzaBgBIAEoCRIcChRmZWRlcmF0ZWRfZ3JhcGhfbmFtZRgCIAEoCRIRCgluYW1lc3BhY2UYAyABKAkSEQoEbmFtZRgEIAEoCUgAiAEBQgcKBV9uYW1lImoKG0dldE9wZXJhdGlvbkNvbnRlbnRSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEhkKEW9wZXJhdGlvbl9jb250ZW50GAIgASgJIq4BCiFHZXRGZWRlcmF0ZWRHcmFwaENoYW5nZWxvZ1JlcXVlc3QSDAoEbmFtZRgBIAEoCRI0CgpwYWdpbmF0aW9uGAIgASgLMiAud2cuY29zbW8ucGxhdGZvcm0udjEuUGFnaW5hdGlvbhIyCglkYXRlUmFuZ2UYAyABKAsyHy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EYXRlUmFuZ2USEQoJbmFtZXNwYWNlGAQgASgJInEKF0ZlZGVyYXRlZEdyYXBoQ2hhbmdlbG9nEgoKAmlkGAEgASgJEgwKBHBhdGgYAiABKAkSEgoKY2hhbmdlVHlwZRgDIAEoCRIVCg1jaGFuZ2VNZXNzYWdlGAQgASgJEhEKCWNyZWF0ZWRBdBgFIAEoCSKlAQodRmVkZXJhdGVkR3JhcGhDaGFuZ2Vsb2dPdXRwdXQSEQoJY3JlYXRlZEF0GAEgASgJEhcKD3NjaGVtYVZlcnNpb25JZBgCIAEoCRJBCgpjaGFuZ2Vsb2dzGAMgAygLMi0ud2cuY29zbW8ucGxhdGZvcm0udjEuRmVkZXJhdGVkR3JhcGhDaGFuZ2Vsb2cSFQoNY29tcG9zaXRpb25JZBgEIAEoCSLHAQoiR2V0RmVkZXJhdGVkR3JhcGhDaGFuZ2Vsb2dSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEloKHWZlZGVyYXRlZEdyYXBoQ2hhbmdlbG9nT3V0cHV0GAIgAygLMjMud2cuY29zbW8ucGxhdGZvcm0udjEuRmVkZXJhdGVkR3JhcGhDaGFuZ2Vsb2dPdXRwdXQSEwoLaGFzTmV4dFBhZ2UYAyABKAgiZAoUR2V0RmVkZXJhdGVkUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIaChJGZWRlcmF0ZWRTY2hlbWFTREwYAiABKAkizAQKFVVwZGF0ZVN1YmdyYXBoUmVxdWVzdBIMCgRuYW1lGAEgASgJEhgKC3JvdXRpbmdfdXJsGAIgASgJSACIAQESKwoGbGFiZWxzGAMgAygLMhsud2cuY29zbW8ucGxhdGZvcm0udjEuTGFiZWwSDwoHaGVhZGVycxgEIAMoCRJQChVzdWJzY3JpcHRpb25fcHJvdG9jb2wYBSABKA4yLC53Zy5jb3Ntby5jb21tb24uR3JhcGhRTFN1YnNjcmlwdGlvblByb3RvY29sSAGIAQESHQoQc3Vic2NyaXB0aW9uX3VybBgGIAEoCUgCiAEBEhMKBnJlYWRtZRgHIAEoCUgDiAEBEhEKCW5hbWVzcGFjZRgIIAEoCRIZCgx1bnNldF9sYWJlbHMYCSABKAhIBIgBARJQChV3ZWJzb2NrZXRfc3VicHJvdG9jb2wYCiABKA4yLC53Zy5jb3Ntby5jb21tb24uR3JhcGhRTFdlYnNvY2tldFN1YnByb3RvY29sSAWIAQESLQogZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24YCyABKAhIBogBAUIOCgxfcm91dGluZ191cmxCGAoWX3N1YnNjcmlwdGlvbl9wcm90b2NvbEITChFfc3Vic2NyaXB0aW9uX3VybEIJCgdfcmVhZG1lQg8KDV91bnNldF9sYWJlbHNCGAoWX3dlYnNvY2tldF9zdWJwcm90b2NvbEIjCiFfZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24ilQIKFlVwZGF0ZVN1YmdyYXBoUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJBChFjb21wb3NpdGlvbkVycm9ycxgCIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uRXJyb3ISPwoQZGVwbG95bWVudEVycm9ycxgDIAMoCzIlLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlcGxveW1lbnRFcnJvchJFChNjb21wb3NpdGlvbldhcm5pbmdzGAQgAygLMigud2cuY29zbW8ucGxhdGZvcm0udjEuQ29tcG9zaXRpb25XYXJuaW5nIpUDChtVcGRhdGVGZWRlcmF0ZWRHcmFwaFJlcXVlc3QSDAoEbmFtZRgBIAEoCRITCgtyb3V0aW5nX3VybBgCIAEoCRIWCg5sYWJlbF9tYXRjaGVycxgDIAMoCRITCgZyZWFkbWUYBCABKAlIAIgBARIRCgluYW1lc3BhY2UYBSABKAkSIQoUdW5zZXRfbGFiZWxfbWF0Y2hlcnMYBiABKAhIAYgBARIgChNhZG1pc3Npb25XZWJob29rVVJMGAcgASgJSAKIAQESIwoWYWRtaXNzaW9uV2ViaG9va1NlY3JldBgIIAEoCUgDiAEBEi0KIGRpc2FibGVfcmVzb2x2YWJpbGl0eV92YWxpZGF0aW9uGAkgASgISASIAQFCCQoHX3JlYWRtZUIXChVfdW5zZXRfbGFiZWxfbWF0Y2hlcnNCFgoUX2FkbWlzc2lvbldlYmhvb2tVUkxCGQoXX2FkbWlzc2lvbldlYmhvb2tTZWNyZXRCIwohX2Rpc2FibGVfcmVzb2x2YWJpbGl0eV92YWxpZGF0aW9uIpsCChxVcGRhdGVGZWRlcmF0ZWRHcmFwaFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USQQoRY29tcG9zaXRpb25FcnJvcnMYAiADKAsyJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbkVycm9yEj8KEGRlcGxveW1lbnRFcnJvcnMYAyADKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZXBsb3ltZW50RXJyb3ISRQoTY29tcG9zaXRpb25XYXJuaW5ncxgEIAMoCzIoLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uV2FybmluZyKHBAoWVXBkYXRlTW9ub2dyYXBoUmVxdWVzdBIMCgRuYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRITCgtyb3V0aW5nX3VybBgDIAEoCRIRCglncmFwaF91cmwYBCABKAkSUAoVc3Vic2NyaXB0aW9uX3Byb3RvY29sGAUgASgOMiwud2cuY29zbW8uY29tbW9uLkdyYXBoUUxTdWJzY3JpcHRpb25Qcm90b2NvbEgAiAEBEh0KEHN1YnNjcmlwdGlvbl91cmwYBiABKAlIAYgBARITCgZyZWFkbWUYByABKAlIAogBARJQChV3ZWJzb2NrZXRfc3VicHJvdG9jb2wYCCABKA4yLC53Zy5jb3Ntby5jb21tb24uR3JhcGhRTFdlYnNvY2tldFN1YnByb3RvY29sSAOIAQESIAoTYWRtaXNzaW9uV2ViaG9va1VSTBgJIAEoCUgEiAEBEiMKFmFkbWlzc2lvbldlYmhvb2tTZWNyZXQYCiABKAlIBYgBAUIYChZfc3Vic2NyaXB0aW9uX3Byb3RvY29sQhMKEV9zdWJzY3JpcHRpb25fdXJsQgkKB19yZWFkbWVCGAoWX3dlYnNvY2tldF9zdWJwcm90b2NvbEIWChRfYWRtaXNzaW9uV2ViaG9va1VSTEIZChdfYWRtaXNzaW9uV2ViaG9va1NlY3JldCJLChdVcGRhdGVNb25vZ3JhcGhSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIscBChpDaGVja0ZlZGVyYXRlZEdyYXBoUmVxdWVzdBIMCgRuYW1lGAEgASgJEhYKDmxhYmVsX21hdGNoZXJzGAIgAygJEhEKCW5hbWVzcGFjZRgDIAEoCRItCiBkaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbhgEIAEoCEgAiAEBEhIKBWxpbWl0GAUgASgFSAGIAQFCIwohX2Rpc2FibGVfcmVzb2x2YWJpbGl0eV92YWxpZGF0aW9uQggKBl9saW1pdCLVAgobQ2hlY2tGZWRlcmF0ZWRHcmFwaFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USQQoRY29tcG9zaXRpb25FcnJvcnMYAiADKAsyJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbkVycm9yEjEKCXN1YmdyYXBocxgDIAMoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlN1YmdyYXBoEkUKE2NvbXBvc2l0aW9uV2FybmluZ3MYBCADKAsyKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbldhcm5pbmcSPAoGY291bnRzGAUgASgLMicud2cuY29zbW8ucGxhdGZvcm0udjEuU2NoZW1hQ2hlY2tDb3VudHNIAIgBAUIJCgdfY291bnRzIisKClBhZ2luYXRpb24SDQoFbGltaXQYASABKAUSDgoGb2Zmc2V0GAIgASgFIiAKBFNvcnQSCgoCaWQYASABKAkSDAoEZGVzYxgCIAEoCCKJAgoPQW5hbHl0aWNzQ29uZmlnEjIKCWRhdGVSYW5nZRgBIAEoCzIfLndnLmNvc21vLnBsYXRmb3JtLnYxLkRhdGVSYW5nZRISCgVyYW5nZRgCIAEoBUgAiAEBEjYKB2ZpbHRlcnMYAyADKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5BbmFseXRpY3NGaWx0ZXISNAoKcGFnaW5hdGlvbhgEIAEoCzIgLndnLmNvc21vLnBsYXRmb3JtLnYxLlBhZ2luYXRpb24SLQoEc29ydBgFIAEoCzIaLndnLmNvc21vLnBsYXRmb3JtLnYxLlNvcnRIAYgBAUIICgZfcmFuZ2VCBwoFX3NvcnQidAoPQW5hbHl0aWNzRmlsdGVyEg0KBWZpZWxkGAEgASgJEg0KBXZhbHVlGAIgASgJEkMKCG9wZXJhdG9yGAMgASgOMjEud2cuY29zbW8ucGxhdGZvcm0udjEuQW5hbHl0aWNzVmlld0ZpbHRlck9wZXJhdG9yIicKCURhdGVSYW5nZRINCgVzdGFydBgBIAEoCRILCgNlbmQYAiABKAkiuwEKF0dldEFuYWx5dGljc1ZpZXdSZXF1ZXN0EhoKEmZlZGVyYXRlZEdyYXBoTmFtZRgBIAEoCRI6CgRuYW1lGAIgASgOMiwud2cuY29zbW8ucGxhdGZvcm0udjEuQW5hbHl0aWNzVmlld0dyb3VwTmFtZRI1CgZjb25maWcYAyABKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5BbmFseXRpY3NDb25maWcSEQoJbmFtZXNwYWNlGAQgASgJItgBChNBbmFseXRpY3NWaWV3UmVzdWx0EjoKB2NvbHVtbnMYASADKAsyKS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5BbmFseXRpY3NWaWV3Q29sdW1uEjQKBHJvd3MYAiADKAsyJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5BbmFseXRpY3NWaWV3Um93EkAKB2ZpbHRlcnMYAyADKAsyLy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5BbmFseXRpY3NWaWV3UmVzdWx0RmlsdGVyEg0KBXBhZ2VzGAQgASgFIr4BChNBbmFseXRpY3NWaWV3Q29sdW1uEgwKBG5hbWUYASABKAkSDQoFdGl0bGUYAiABKAkSDAoEdHlwZRgDIAEoCRItCgR1bml0GAQgASgOMhoud2cuY29zbW8ucGxhdGZvcm0udjEuVW5pdEgAiAEBEhYKCWlzX2hpZGRlbhgFIAEoCEgBiAEBEhMKBmlzX2N0YRgGIAEoCEgCiAEBQgcKBV91bml0QgwKCl9pc19oaWRkZW5CCQoHX2lzX2N0YSLbAQoZQW5hbHl0aWNzVmlld1Jlc3VsdEZpbHRlchISCgpjb2x1bW5OYW1lGAEgASgJEg0KBXRpdGxlGAIgASgJEkYKB29wdGlvbnMYAyADKAsyNS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5BbmFseXRpY3NWaWV3UmVzdWx0RmlsdGVyT3B0aW9uEkAKDmN1c3RvbV9vcHRpb25zGAQgASgOMiMud2cuY29zbW8ucGxhdGZvcm0udjEuQ3VzdG9tT3B0aW9uc0gAiAEBQhEKD19jdXN0b21fb3B0aW9ucyKTAQofQW5hbHl0aWNzVmlld1Jlc3VsdEZpbHRlck9wdGlvbhINCgVsYWJlbBgBIAEoCRISCgV2YWx1ZRgCIAEoCUgAiAEBEkMKCG9wZXJhdG9yGAMgASgOMjEud2cuY29zbW8ucGxhdGZvcm0udjEuQW5hbHl0aWNzVmlld0ZpbHRlck9wZXJhdG9yQggKBl92YWx1ZSKvAQoQQW5hbHl0aWNzVmlld1JvdxJACgV2YWx1ZRgBIAMoCzIxLndnLmNvc21vLnBsYXRmb3JtLnYxLkFuYWx5dGljc1ZpZXdSb3cuVmFsdWVFbnRyeRpZCgpWYWx1ZUVudHJ5EgsKA2tleRgBIAEoCRI6CgV2YWx1ZRgCIAEoCzIrLndnLmNvc21vLnBsYXRmb3JtLnYxLkFuYWx5dGljc1ZpZXdSb3dWYWx1ZToCOAEiZQoVQW5hbHl0aWNzVmlld1Jvd1ZhbHVlEhYKDG51bWJlcl92YWx1ZRgBIAEoAUgAEhYKDHN0cmluZ192YWx1ZRgCIAEoCUgAEhQKCmJvb2xfdmFsdWUYAyABKAhIAEIGCgRraW5kIoUBChhHZXRBbmFseXRpY3NWaWV3UmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI3CgR2aWV3GAIgASgLMikud2cuY29zbW8ucGxhdGZvcm0udjEuQW5hbHl0aWNzVmlld1Jlc3VsdCKEAQogR2V0RGFzaGJvYXJkQW5hbHl0aWNzVmlld1JlcXVlc3QSGgoSZmVkZXJhdGVkR3JhcGhOYW1lGAEgASgJEhEKCXN0YXJ0RGF0ZRgCIAEoCRIPCgdlbmREYXRlGAMgASgJEg0KBXJhbmdlGAQgASgFEhEKCW5hbWVzcGFjZRgFIAEoCSJWChFSZXF1ZXN0U2VyaWVzSXRlbRIRCgl0aW1lc3RhbXAYASABKAkSFQoNdG90YWxSZXF1ZXN0cxgCIAEoBRIXCg9lcnJvcmVkUmVxdWVzdHMYAyABKAUiXAoVT3BlcmF0aW9uUmVxdWVzdENvdW50EhUKDW9wZXJhdGlvbkhhc2gYASABKAkSFQoNb3BlcmF0aW9uTmFtZRgCIAEoCRIVCg10b3RhbFJlcXVlc3RzGAMgASgFImoKFUZlZGVyYXRlZEdyYXBoTWV0cmljcxIYChBmZWRlcmF0ZWRHcmFwaElEGAEgASgJEhMKC3JlcXVlc3RSYXRlGAIgASgCEhEKCWVycm9yUmF0ZRgDIAEoAhIPCgdsYXRlbmN5GAQgASgCIl4KD1N1YmdyYXBoTWV0cmljcxISCgpzdWJncmFwaElEGAEgASgJEhMKC3JlcXVlc3RSYXRlGAIgASgCEhEKCWVycm9yUmF0ZRgDIAEoAhIPCgdsYXRlbmN5GAQgASgCIu8CCiFHZXREYXNoYm9hcmRBbmFseXRpY3NWaWV3UmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI+Cg1yZXF1ZXN0U2VyaWVzGAIgAygLMicud2cuY29zbW8ucGxhdGZvcm0udjEuUmVxdWVzdFNlcmllc0l0ZW0STAoXbW9zdFJlcXVlc3RlZE9wZXJhdGlvbnMYAyADKAsyKy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5PcGVyYXRpb25SZXF1ZXN0Q291bnQSPgoPc3ViZ3JhcGhNZXRyaWNzGAQgAygLMiUud2cuY29zbW8ucGxhdGZvcm0udjEuU3ViZ3JhcGhNZXRyaWNzEkoKFWZlZGVyYXRlZEdyYXBoTWV0cmljcxgFIAEoCzIrLndnLmNvc21vLnBsYXRmb3JtLnYxLkZlZGVyYXRlZEdyYXBoTWV0cmljcyJbCiBDcmVhdGVGZWRlcmF0ZWRHcmFwaFRva2VuUmVxdWVzdBIRCglncmFwaE5hbWUYASABKAkSEQoJdG9rZW5OYW1lGAIgASgJEhEKCW5hbWVzcGFjZRgDIAEoCSJkCiFDcmVhdGVGZWRlcmF0ZWRHcmFwaFRva2VuUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRINCgV0b2tlbhgCIAEoCSJMChVPcmdhbml6YXRpb25Hcm91cFJ1bGUSDAoEcm9sZRgBIAEoCRISCgpuYW1lc3BhY2VzGAIgAygJEhEKCXJlc291cmNlcxgDIAMoCSLYAQoRT3JnYW5pemF0aW9uR3JvdXASDwoHZ3JvdXBJZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg8KB2J1aWx0aW4YBCABKAgSFAoMbWVtYmVyc0NvdW50GAUgASgFEjoKBXJ1bGVzGAYgAygLMisud2cuY29zbW8ucGxhdGZvcm0udjEuT3JnYW5pemF0aW9uR3JvdXBSdWxlEhYKDmhhc09pZGNNYXBwZXJzGAcgASgIEhQKDGFwaUtleXNDb3VudBgIIAEoBSJDCh5DcmVhdGVPcmdhbml6YXRpb25Hcm91cFJlcXVlc3QSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCSKLAQofQ3JlYXRlT3JnYW5pemF0aW9uR3JvdXBSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjYKBWdyb3VwGAIgASgLMicud2cuY29zbW8ucGxhdGZvcm0udjEuT3JnYW5pemF0aW9uR3JvdXAiHgocR2V0T3JnYW5pemF0aW9uR3JvdXBzUmVxdWVzdCKKAQodR2V0T3JnYW5pemF0aW9uR3JvdXBzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI3CgZncm91cHMYAiADKAsyJy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Pcmdhbml6YXRpb25Hcm91cCI1CiJHZXRPcmdhbml6YXRpb25Hcm91cE1lbWJlcnNSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkigAMKI0dldE9yZ2FuaXphdGlvbkdyb3VwTWVtYmVyc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USVgoHbWVtYmVycxgCIAMoCzJFLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE9yZ2FuaXphdGlvbkdyb3VwTWVtYmVyc1Jlc3BvbnNlLkdyb3VwTWVtYmVyElYKB2FwaUtleXMYAyADKAsyRS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcmdhbml6YXRpb25Hcm91cE1lbWJlcnNSZXNwb25zZS5Hcm91cEFwaUtleRo7CgtHcm91cE1lbWJlchIKCgJpZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIRCgljcmVhdGVkQXQYAyABKAkaOgoLR3JvdXBBcGlLZXkSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIRCgljcmVhdGVkQXQYAyABKAki1wEKHlVwZGF0ZU9yZ2FuaXphdGlvbkdyb3VwUmVxdWVzdBIPCgdncm91cElkGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEk0KBXJ1bGVzGAMgAygLMj4ud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlT3JnYW5pemF0aW9uR3JvdXBSZXF1ZXN0Lkdyb3VwUnVsZRpACglHcm91cFJ1bGUSDAoEcm9sZRgBIAEoCRISCgpuYW1lc3BhY2VzGAIgAygJEhEKCXJlc291cmNlcxgDIAMoCSJTCh9VcGRhdGVPcmdhbml6YXRpb25Hcm91cFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiVwoeRGVsZXRlT3JnYW5pemF0aW9uR3JvdXBSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSFgoJdG9Hcm91cElkGAIgASgJSACIAQFCDAoKX3RvR3JvdXBJZCJTCh9EZWxldGVPcmdhbml6YXRpb25Hcm91cFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiwAEKCU9yZ01lbWJlchIOCgZ1c2VySUQYASABKAkSDQoFZW1haWwYAiABKAkSEwoLb3JnTWVtYmVySUQYAyABKAkSDgoGYWN0aXZlGAQgASgIEhAKCGpvaW5lZEF0GAUgASgJEjUKBmdyb3VwcxgGIAMoCzIlLndnLmNvc21vLnBsYXRmb3JtLnYxLk9yZ01lbWJlci5Hcm91cBomCgVHcm91cBIPCgdncm91cElkGAEgASgJEgwKBG5hbWUYAiABKAkiNQoUUGVuZGluZ09yZ0ludml0YXRpb24SDgoGdXNlcklEGAEgASgJEg0KBWVtYWlsGAIgASgJInwKJEdldFBlbmRpbmdPcmdhbml6YXRpb25NZW1iZXJzUmVxdWVzdBI0CgpwYWdpbmF0aW9uGAEgASgLMiAud2cuY29zbW8ucGxhdGZvcm0udjEuUGFnaW5hdGlvbhITCgZzZWFyY2gYAiABKAlIAIgBAUIJCgdfc2VhcmNoIrYBCiVHZXRQZW5kaW5nT3JnYW5pemF0aW9uTWVtYmVyc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USRgoScGVuZGluZ0ludml0YXRpb25zGAIgAygLMioud2cuY29zbW8ucGxhdGZvcm0udjEuUGVuZGluZ09yZ0ludml0YXRpb24SEwoLdG90YWxfY291bnQYAyABKAUidQodR2V0T3JnYW5pemF0aW9uTWVtYmVyc1JlcXVlc3QSNAoKcGFnaW5hdGlvbhgBIAEoCzIgLndnLmNvc21vLnBsYXRmb3JtLnYxLlBhZ2luYXRpb24SEwoGc2VhcmNoGAIgASgJSACIAQFCCQoHX3NlYXJjaCKZAQoeR2V0T3JnYW5pemF0aW9uTWVtYmVyc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USMAoHbWVtYmVycxgCIAMoCzIfLndnLmNvc21vLnBsYXRmb3JtLnYxLk9yZ01lbWJlchITCgt0b3RhbF9jb3VudBgDIAEoBSIyChFJbnZpdGVVc2VyUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIOCgZncm91cHMYAiADKAkiRgoSSW52aXRlVXNlclJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiNAoSSW52aXRlVXNlcnNSZXF1ZXN0Eg4KBmVtYWlscxgBIAMoCRIOCgZncm91cHMYAiADKAkiOgoaSW52aXRlVXNlcnNJbnZpdGF0aW9uRXJyb3ISDQoFZW1haWwYASABKAkSDQoFZXJyb3IYAiABKAkikwEKE0ludml0ZVVzZXJzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJKChBpbnZpdGF0aW9uRXJyb3JzGAIgAygLMjAud2cuY29zbW8ucGxhdGZvcm0udjEuSW52aXRlVXNlcnNJbnZpdGF0aW9uRXJyb3Ii5gEKBkFQSUtleRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhEKCWNyZWF0ZWRCeRgDIAEoCRIRCgljcmVhdGVkQXQYBCABKAkSEgoKbGFzdFVzZWRBdBgFIAEoCRIRCglleHBpcmVzQXQYBiABKAkSNgoFZ3JvdXAYByABKAsyIi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5BUElLZXkuR3JvdXBIAIgBARIQCghleHRlcm5hbBgIIAEoCBohCgVHcm91cBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJQggKBl9ncm91cCIyChFHZXRBUElLZXlzUmVxdWVzdBINCgVsaW1pdBgBIAEoBRIOCgZvZmZzZXQYAiABKAUihAEKEkdldEFQSUtleXNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEi0KB2FwaUtleXMYAiADKAsyHC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5BUElLZXkSDQoFY291bnQYAyABKAUirwEKE0NyZWF0ZUFQSUtleVJlcXVlc3QSDAoEbmFtZRgBIAEoCRIOCgZ1c2VySUQYAiABKAkSMAoHZXhwaXJlcxgDIAEoDjIfLndnLmNvc21vLnBsYXRmb3JtLnYxLkV4cGlyZXNBdBIPCgdncm91cElkGAQgASgJEhMKC3Blcm1pc3Npb25zGAUgAygJEhUKCGV4dGVybmFsGAYgASgISACIAQFCCwoJX2V4dGVybmFsIlgKFENyZWF0ZUFQSUtleVJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USDgoGYXBpS2V5GAIgASgJIiMKE0RlbGV0ZUFQSUtleVJlcXVlc3QSDAoEbmFtZRgBIAEoCSJIChREZWxldGVBUElLZXlSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIjQKE1VwZGF0ZUFQSUtleVJlcXVlc3QSDAoEbmFtZRgBIAEoCRIPCgdncm91cElkGAIgASgJIkgKFFVwZGF0ZUFQSUtleVJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiMAofUmVtb3ZlT3JnYW5pemF0aW9uTWVtYmVyUmVxdWVzdBINCgVlbWFpbBgBIAEoCSJUCiBSZW1vdmVPcmdhbml6YXRpb25NZW1iZXJSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIigKF1JlbW92ZUludml0YXRpb25SZXF1ZXN0Eg0KBWVtYWlsGAEgASgJIkwKGFJlbW92ZUludml0YXRpb25SZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIlIKGE1pZ3JhdGVGcm9tQXBvbGxvUmVxdWVzdBIOCgZhcGlLZXkYASABKAkSEwoLdmFyaWFudE5hbWUYAiABKAkSEQoJbmFtZXNwYWNlGAMgASgJIlwKGU1pZ3JhdGVGcm9tQXBvbGxvUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRINCgV0b2tlbhgCIAEoCSLMAgoEU3BhbhIRCgl0aW1lc3RhbXAYASABKAMSEQoJc2NvcGVOYW1lGAIgASgJEg8KB3RyYWNlSUQYAyABKAkSDgoGc3BhbklEGAQgASgJEhQKDHBhcmVudFNwYW5JRBgFIAEoCRIQCghzcGFuTmFtZRgGIAEoCRIQCghzcGFuS2luZBgHIAEoCRIQCghkdXJhdGlvbhgIIAEoAxITCgtzZXJ2aWNlTmFtZRgJIAEoCRISCgpzdGF0dXNDb2RlGAogASgJEhUKDXN0YXR1c01lc3NhZ2UYCyABKAkSPgoKYXR0cmlidXRlcxgMIAMoCzIqLndnLmNvc21vLnBsYXRmb3JtLnYxLlNwYW4uQXR0cmlidXRlc0VudHJ5GjEKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIkoKD0dldFRyYWNlUmVxdWVzdBIKCgJpZBgBIAEoCRIPCgdzcGFuX2lkGAIgASgJEhoKEmZlZGVyYXRlZF9ncmFwaF9pZBgDIAEoCSJvChBHZXRUcmFjZVJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USKQoFc3BhbnMYAiADKAsyGi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TcGFuIg8KDVdob0FtSVJlcXVlc3Qi7QEKDldob0FtSVJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USGAoQb3JnYW5pemF0aW9uTmFtZRgCIAEoCRIWCgl1c2VyRW1haWwYAyABKAlIAIgBARIYChBvcmdhbml6YXRpb25TbHVnGAQgASgJEhYKDm9yZ2FuaXphdGlvbklkGAUgASgJEjcKDGxvZ2luX21ldGhvZBgGIAEoCzIhLndnLmNvc21vLnBsYXRmb3JtLnYxLkxvZ2luTWV0aG9kQgwKCl91c2VyRW1haWwizQEKC0xvZ2luTWV0aG9kEjMKBHR5cGUYASABKA4yJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Mb2dpbk1ldGhvZFR5cGUSFwoPc3NvX3Byb3ZpZGVyX2lkGAIgASgJEhkKEXNzb19wcm92aWRlcl9uYW1lGAMgASgJEhEKCXNzb19hbGlhcxgEIAEoCRJCCg9zb2NpYWxfcHJvdmlkZXIYBSABKA4yKS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Tb2NpYWxMb2dpblByb3ZpZGVyIlAKC1JvdXRlclRva2VuEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEQoJY3JlYXRlZEF0GAMgASgJEhQKDGNyZWF0b3JFbWFpbBgFIAEoCSJFChpHZW5lcmF0ZVJvdXRlclRva2VuUmVxdWVzdBIUCgxmZWRHcmFwaE5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJIl4KG0dlbmVyYXRlUm91dGVyVG9rZW5SZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEg0KBXRva2VuGAIgASgJIkEKFkdldFJvdXRlclRva2Vuc1JlcXVlc3QSFAoMZmVkR3JhcGhOYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCSJ+ChdHZXRSb3V0ZXJUb2tlbnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjEKBnRva2VucxgCIAMoCzIhLndnLmNvc21vLnBsYXRmb3JtLnYxLlJvdXRlclRva2VuIlYKGERlbGV0ZVJvdXRlclRva2VuUmVxdWVzdBIRCgl0b2tlbk5hbWUYASABKAkSFAoMZmVkR3JhcGhOYW1lGAIgASgJEhEKCW5hbWVzcGFjZRgDIAEoCSJNChlEZWxldGVSb3V0ZXJUb2tlblJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiMgoSUGVyc2lzdGVkT3BlcmF0aW9uEgoKAmlkGAEgASgJEhAKCGNvbnRlbnRzGAIgASgJIp4BCiFQdWJsaXNoUGVyc2lzdGVkT3BlcmF0aW9uc1JlcXVlc3QSFAoMZmVkR3JhcGhOYW1lGAEgASgJEhIKCmNsaWVudE5hbWUYAiABKAkSPAoKb3BlcmF0aW9ucxgDIAMoCzIoLndnLmNvc21vLnBsYXRmb3JtLnYxLlBlcnNpc3RlZE9wZXJhdGlvbhIRCgluYW1lc3BhY2UYBCABKAkihgEKElB1Ymxpc2hlZE9wZXJhdGlvbhIKCgJpZBgBIAEoCRIMCgRoYXNoGAIgASgJEj4KBnN0YXR1cxgDIAEoDjIuLndnLmNvc21vLnBsYXRmb3JtLnYxLlB1Ymxpc2hlZE9wZXJhdGlvblN0YXR1cxIWCg5vcGVyYXRpb25OYW1lcxgEIAMoCSKUAQoiUHVibGlzaFBlcnNpc3RlZE9wZXJhdGlvbnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjwKCm9wZXJhdGlvbnMYAiADKAsyKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5QdWJsaXNoZWRPcGVyYXRpb24icwofRGVsZXRlUGVyc2lzdGVkT3BlcmF0aW9uUmVxdWVzdBIUCgxmZWRHcmFwaE5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJEhIKCmNsaWVudE5hbWUYAyABKAkSEwoLb3BlcmF0aW9uSWQYBCABKAkigwIKIERlbGV0ZVBlcnNpc3RlZE9wZXJhdGlvblJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USUwoJb3BlcmF0aW9uGAIgASgLMkAud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlUGVyc2lzdGVkT3BlcmF0aW9uUmVzcG9uc2UuT3BlcmF0aW9uGlgKCU9wZXJhdGlvbhIKCgJpZBgBIAEoCRITCgtvcGVyYXRpb25JZBgCIAEoCRISCgpjbGllbnROYW1lGAMgASgJEhYKDm9wZXJhdGlvbk5hbWVzGAQgAygJInkKJUNoZWNrUGVyc2lzdGVkT3BlcmF0aW9uVHJhZmZpY1JlcXVlc3QSFAoMZmVkR3JhcGhOYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRITCgtvcGVyYXRpb25JZBgDIAEoCRISCgpjbGllbnROYW1lGAQgASgJIqMCCiZDaGVja1BlcnNpc3RlZE9wZXJhdGlvblRyYWZmaWNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlElkKCW9wZXJhdGlvbhgCIAEoCzJGLndnLmNvc21vLnBsYXRmb3JtLnYxLkNoZWNrUGVyc2lzdGVkT3BlcmF0aW9uVHJhZmZpY1Jlc3BvbnNlLk9wZXJhdGlvbhpsCglPcGVyYXRpb24SCgoCaWQYASABKAkSEwoLb3BlcmF0aW9uSWQYAiABKAkSEgoKY2xpZW50TmFtZRgDIAEoCRIWCg5vcGVyYXRpb25OYW1lcxgEIAMoCRISCgpoYXNUcmFmZmljGAUgASgIImMKHUdldFBlcnNpc3RlZE9wZXJhdGlvbnNSZXF1ZXN0EhwKFGZlZGVyYXRlZF9ncmFwaF9uYW1lGAEgASgJEhEKCWNsaWVudF9pZBgCIAEoCRIRCgluYW1lc3BhY2UYAyABKAkilwIKHkdldFBlcnNpc3RlZE9wZXJhdGlvbnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlElIKCm9wZXJhdGlvbnMYAiADKAsyPi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRQZXJzaXN0ZWRPcGVyYXRpb25zUmVzcG9uc2UuT3BlcmF0aW9uGm8KCU9wZXJhdGlvbhIKCgJpZBgBIAEoCRIQCghjb250ZW50cxgCIAEoCRISCgpjcmVhdGVkX2F0GAMgASgJEhcKD2xhc3RfdXBkYXRlZF9hdBgEIAEoCRIXCg9vcGVyYXRpb25fbmFtZXMYBSADKAkiJAoGSGVhZGVyEgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCSKPAQomQ3JlYXRlT3JnYW5pemF0aW9uV2ViaG9va0NvbmZpZ1JlcXVlc3QSEAoIZW5kcG9pbnQYASABKAkSCwoDa2V5GAIgASgJEg4KBmV2ZW50cxgDIAMoCRI2CgtldmVudHNfbWV0YRgEIAMoCzIhLndnLmNvc21vLm5vdGlmaWNhdGlvbnMuRXZlbnRNZXRhInYKJ0NyZWF0ZU9yZ2FuaXphdGlvbldlYmhvb2tDb25maWdSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEhkKEXdlYmhvb2tfY29uZmlnX2lkGAIgASgJIiYKJEdldE9yZ2FuaXphdGlvbldlYmhvb2tDb25maWdzUmVxdWVzdCLmAQolR2V0T3JnYW5pemF0aW9uV2ViaG9va0NvbmZpZ3NSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlElMKB2NvbmZpZ3MYAiADKAsyQi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcmdhbml6YXRpb25XZWJob29rQ29uZmlnc1Jlc3BvbnNlLkNvbmZpZxo2CgZDb25maWcSCgoCaWQYASABKAkSEAoIZW5kcG9pbnQYAiABKAkSDgoGZXZlbnRzGAMgAygJIi8KIUdldE9yZ2FuaXphdGlvbldlYmhvb2tNZXRhUmVxdWVzdBIKCgJpZBgBIAEoCSKOAQoiR2V0T3JnYW5pemF0aW9uV2ViaG9va01ldGFSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjYKC2V2ZW50c19tZXRhGAIgAygLMiEud2cuY29zbW8ubm90aWZpY2F0aW9ucy5FdmVudE1ldGEitgEKJlVwZGF0ZU9yZ2FuaXphdGlvbldlYmhvb2tDb25maWdSZXF1ZXN0EgoKAmlkGAEgASgJEhAKCGVuZHBvaW50GAIgASgJEgsKA2tleRgDIAEoCRIOCgZldmVudHMYBCADKAkSNgoLZXZlbnRzX21ldGEYBSADKAsyIS53Zy5jb3Ntby5ub3RpZmljYXRpb25zLkV2ZW50TWV0YRIZChFzaG91bGRfdXBkYXRlX2tleRgGIAEoCCJbCidVcGRhdGVPcmdhbml6YXRpb25XZWJob29rQ29uZmlnUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSI0CiZEZWxldGVPcmdhbml6YXRpb25XZWJob29rQ29uZmlnUmVxdWVzdBIKCgJpZBgBIAEoCSJbCidEZWxldGVPcmdhbml6YXRpb25XZWJob29rQ29uZmlnUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSKLAQoYQ3JlYXRlSW50ZWdyYXRpb25SZXF1ZXN0EgwKBHR5cGUYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRjb2RlGAMgASgJEg4KBmV2ZW50cxgEIAMoCRI1CgpldmVudHNNZXRhGAUgAygLMiEud2cuY29zbW8ubm90aWZpY2F0aW9ucy5FdmVudE1ldGEiTQoZQ3JlYXRlSW50ZWdyYXRpb25SZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIiQKIkdldE9yZ2FuaXphdGlvbkludGVncmF0aW9uc1JlcXVlc3QiKgoWU2xhY2tJbnRlZ3JhdGlvbkNvbmZpZxIQCghlbmRwb2ludBgBIAEoCSKiAQoRSW50ZWdyYXRpb25Db25maWcSMwoEdHlwZRgBIAEoDjIlLndnLmNvc21vLnBsYXRmb3JtLnYxLkludGVncmF0aW9uVHlwZRJOChZzbGFja0ludGVncmF0aW9uQ29uZmlnGAIgASgLMiwud2cuY29zbW8ucGxhdGZvcm0udjEuU2xhY2tJbnRlZ3JhdGlvbkNvbmZpZ0gAQggKBmNvbmZpZyLAAQoLSW50ZWdyYXRpb24SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgR0eXBlGAMgASgJEg4KBmV2ZW50cxgEIAMoCRJCChFpbnRlZ3JhdGlvbkNvbmZpZxgFIAEoCzInLndnLmNvc21vLnBsYXRmb3JtLnYxLkludGVncmF0aW9uQ29uZmlnEjUKCmV2ZW50c01ldGEYBiADKAsyIS53Zy5jb3Ntby5ub3RpZmljYXRpb25zLkV2ZW50TWV0YSKQAQojR2V0T3JnYW5pemF0aW9uSW50ZWdyYXRpb25zUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI3CgxpbnRlZ3JhdGlvbnMYAiADKAsyIS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5JbnRlZ3JhdGlvbiKGAQoeVXBkYXRlSW50ZWdyYXRpb25Db25maWdSZXF1ZXN0EgoKAmlkGAEgASgJEhAKCGVuZHBvaW50GAIgASgJEg4KBmV2ZW50cxgDIAMoCRI2CgtldmVudHNfbWV0YRgEIAMoCzIhLndnLmNvc21vLm5vdGlmaWNhdGlvbnMuRXZlbnRNZXRhIlMKH1VwZGF0ZUludGVncmF0aW9uQ29uZmlnUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSImChhEZWxldGVJbnRlZ3JhdGlvblJlcXVlc3QSCgoCaWQYASABKAkiTQoZRGVsZXRlSW50ZWdyYXRpb25SZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIisKGURlbGV0ZU9yZ2FuaXphdGlvblJlcXVlc3QSDgoGdXNlcklEGAEgASgJIk4KGkRlbGV0ZU9yZ2FuaXphdGlvblJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiHAoaUmVzdG9yZU9yZ2FuaXphdGlvblJlcXVlc3QiTwobUmVzdG9yZU9yZ2FuaXphdGlvblJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiGgoYTGVhdmVPcmdhbml6YXRpb25SZXF1ZXN0Ik0KGUxlYXZlT3JnYW5pemF0aW9uUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSJmCiBVcGRhdGVPcmdhbml6YXRpb25EZXRhaWxzUmVxdWVzdBIOCgZ1c2VySUQYASABKAkSGAoQb3JnYW5pemF0aW9uTmFtZRgCIAEoCRIYChBvcmdhbml6YXRpb25TbHVnGAMgASgJIlUKIVVwZGF0ZU9yZ2FuaXphdGlvbkRldGFpbHNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIkYKG1VwZGF0ZU9yZ01lbWJlckdyb3VwUmVxdWVzdBIXCg9vcmdNZW1iZXJVc2VySUQYASABKAkSDgoGZ3JvdXBzGAIgAygJIlAKHFVwZGF0ZU9yZ01lbWJlckdyb3VwUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSJFChlDcmVhdGVPcmdhbml6YXRpb25SZXF1ZXN0EgwKBG5hbWUYASABKAkSDAoEc2x1ZxgCIAEoCRIMCgRwbGFuGAMgASgJItABChpDcmVhdGVPcmdhbml6YXRpb25SZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEj0KDG9yZ2FuaXphdGlvbhgCIAEoCzIiLndnLmNvc21vLnBsYXRmb3JtLnYxLk9yZ2FuaXphdGlvbkgAiAEBEhwKD3N0cmlwZVNlc3Npb25JZBgDIAEoCUgBiAEBQg8KDV9vcmdhbml6YXRpb25CEgoQX3N0cmlwZVNlc3Npb25JZCJ3CgxPcmdhbml6YXRpb24SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRzbHVnGAMgASgJEhoKDWNyZWF0b3JVc2VySWQYBCABKAlIAIgBARIRCgljcmVhdGVkQXQYBSABKAlCEAoOX2NyZWF0b3JVc2VySWQiLAocR2V0T3JnYW5pemF0aW9uQnlTbHVnUmVxdWVzdBIMCgRzbHVnGAEgASgJIqEBCh1HZXRPcmdhbml6YXRpb25CeVNsdWdSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEj0KDG9yZ2FuaXphdGlvbhgCIAEoCzIiLndnLmNvc21vLnBsYXRmb3JtLnYxLk9yZ2FuaXphdGlvbkgAiAEBQg8KDV9vcmdhbml6YXRpb24iGAoWR2V0QmlsbGluZ1BsYW5zUmVxdWVzdCL3AgoXR2V0QmlsbGluZ1BsYW5zUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJICgVwbGFucxgCIAMoCzI5LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEJpbGxpbmdQbGFuc1Jlc3BvbnNlLkJpbGxpbmdQbGFuGlMKEkJpbGxpbmdQbGFuRmVhdHVyZRIKCgJpZBgBIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRISCgVsaW1pdBgEIAEoBUgAiAEBQggKBl9saW1pdBqKAQoLQmlsbGluZ1BsYW4SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRINCgVwcmljZRgDIAEoBRJSCghmZWF0dXJlcxgEIAMoCzJALndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEJpbGxpbmdQbGFuc1Jlc3BvbnNlLkJpbGxpbmdQbGFuRmVhdHVyZSIsChxDcmVhdGVDaGVja291dFNlc3Npb25SZXF1ZXN0EgwKBHBsYW4YASABKAkiZAodQ3JlYXRlQ2hlY2tvdXRTZXNzaW9uUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIRCglzZXNzaW9uSWQYAiABKAkiIwohQ3JlYXRlQmlsbGluZ1BvcnRhbFNlc3Npb25SZXF1ZXN0InYKIkNyZWF0ZUJpbGxpbmdQb3J0YWxTZXNzaW9uUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIRCglzZXNzaW9uSWQYAiABKAkSCwoDdXJsGAMgASgJIiIKElVwZ3JhZGVQbGFuUmVxdWVzdBIMCgRwbGFuGAEgASgJIkcKE1VwZ3JhZGVQbGFuUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSLCAQoWR2V0R3JhcGhNZXRyaWNzUmVxdWVzdBIaChJmZWRlcmF0ZWRHcmFwaE5hbWUYASABKAkSDQoFcmFuZ2UYAiABKAUSMgoJZGF0ZVJhbmdlGAMgASgLMh8ud2cuY29zbW8ucGxhdGZvcm0udjEuRGF0ZVJhbmdlEjYKB2ZpbHRlcnMYBCADKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5BbmFseXRpY3NGaWx0ZXISEQoJbmFtZXNwYWNlGAUgASgJIvICChdHZXRHcmFwaE1ldHJpY3NSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEj4KCHJlcXVlc3RzGAIgASgLMiwud2cuY29zbW8ucGxhdGZvcm0udjEuTWV0cmljc0Rhc2hib2FyZE1ldHJpYxI9CgdsYXRlbmN5GAMgASgLMiwud2cuY29zbW8ucGxhdGZvcm0udjEuTWV0cmljc0Rhc2hib2FyZE1ldHJpYxI8CgZlcnJvcnMYBCABKAsyLC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5NZXRyaWNzRGFzaGJvYXJkTWV0cmljEkAKB2ZpbHRlcnMYBSADKAsyLy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5BbmFseXRpY3NWaWV3UmVzdWx0RmlsdGVyEhcKCnJlc29sdXRpb24YBiABKAlIAIgBAUINCgtfcmVzb2x1dGlvbiLBAQoWTWV0cmljc0Rhc2hib2FyZE1ldHJpYxINCgV2YWx1ZRgBIAEoCRIaCg1wcmV2aW91c1ZhbHVlGAIgASgJSACIAQESMQoDdG9wGAMgAygLMiQud2cuY29zbW8ucGxhdGZvcm0udjEuTWV0cmljc1RvcEl0ZW0SNwoGc2VyaWVzGAQgAygLMicud2cuY29zbW8ucGxhdGZvcm0udjEuTWV0cmljc1Nlcmllc0l0ZW1CEAoOX3ByZXZpb3VzVmFsdWUiUAoOTWV0cmljc1RvcEl0ZW0SDAoEaGFzaBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBXZhbHVlGAMgASgJEhMKC2lzUGVyc2lzdGVkGAQgASgIIrEBChFNZXRyaWNzU2VyaWVzSXRlbRIRCgl0aW1lc3RhbXAYASABKAkSDQoFdmFsdWUYAiABKAkSGgoNcHJldmlvdXNWYWx1ZRgDIAEoCUgAiAEBEhAKA3A1MBgEIAEoCUgBiAEBEhAKA3A5MBgFIAEoCUgCiAEBEhAKA3A5ORgGIAEoCUgDiAEBQhAKDl9wcmV2aW91c1ZhbHVlQgYKBF9wNTBCBgoEX3A5MEIGCgRfcDk5IrsBChBNZXRyaWNzRGFzaGJvYXJkEgwKBG5hbWUYASABKAkSDQoFdGl0bGUYAiABKAkSDAoEdHlwZRgDIAEoCRItCgR1bml0GAQgASgOMhoud2cuY29zbW8ucGxhdGZvcm0udjEuVW5pdEgAiAEBEhYKCWlzX2hpZGRlbhgFIAEoCEgBiAEBEhMKBmlzX2N0YRgGIAEoCEgCiAEBQgcKBV91bml0QgwKCl9pc19oaWRkZW5CCQoHX2lzX2N0YSLGAQoaR2V0TWV0cmljc0Vycm9yUmF0ZVJlcXVlc3QSGgoSZmVkZXJhdGVkR3JhcGhOYW1lGAEgASgJEg0KBXJhbmdlGAIgASgFEjIKCWRhdGVSYW5nZRgDIAEoCzIfLndnLmNvc21vLnBsYXRmb3JtLnYxLkRhdGVSYW5nZRI2CgdmaWx0ZXJzGAQgAygLMiUud2cuY29zbW8ucGxhdGZvcm0udjEuQW5hbHl0aWNzRmlsdGVyEhEKCW5hbWVzcGFjZRgFIAEoCSK5AQobR2V0TWV0cmljc0Vycm9yUmF0ZVJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USQAoGc2VyaWVzGAIgAygLMjAud2cuY29zbW8ucGxhdGZvcm0udjEuTWV0cmljc0Vycm9yUmF0ZVNlcmllc0l0ZW0SFwoKcmVzb2x1dGlvbhgDIAEoCUgAiAEBQg0KC19yZXNvbHV0aW9uIlcKGk1ldHJpY3NFcnJvclJhdGVTZXJpZXNJdGVtEhEKCXRpbWVzdGFtcBgBIAEoCRITCgtyZXF1ZXN0UmF0ZRgCIAEoAhIRCgllcnJvclJhdGUYAyABKAIivwEKGUdldFN1YmdyYXBoTWV0cmljc1JlcXVlc3QSFAoMc3ViZ3JhcGhOYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRINCgVyYW5nZRgEIAEoBRIyCglkYXRlUmFuZ2UYBSABKAsyHy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EYXRlUmFuZ2USNgoHZmlsdGVycxgGIAMoCzIlLndnLmNvc21vLnBsYXRmb3JtLnYxLkFuYWx5dGljc0ZpbHRlciL1AgoaR2V0U3ViZ3JhcGhNZXRyaWNzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI+CghyZXF1ZXN0cxgCIAEoCzIsLndnLmNvc21vLnBsYXRmb3JtLnYxLk1ldHJpY3NEYXNoYm9hcmRNZXRyaWMSPQoHbGF0ZW5jeRgDIAEoCzIsLndnLmNvc21vLnBsYXRmb3JtLnYxLk1ldHJpY3NEYXNoYm9hcmRNZXRyaWMSPAoGZXJyb3JzGAQgASgLMiwud2cuY29zbW8ucGxhdGZvcm0udjEuTWV0cmljc0Rhc2hib2FyZE1ldHJpYxJACgdmaWx0ZXJzGAUgAygLMi8ud2cuY29zbW8ucGxhdGZvcm0udjEuQW5hbHl0aWNzVmlld1Jlc3VsdEZpbHRlchIXCgpyZXNvbHV0aW9uGAYgASgJSACIAQFCDQoLX3Jlc29sdXRpb24iyAEKIkdldFN1YmdyYXBoTWV0cmljc0Vycm9yUmF0ZVJlcXVlc3QSFAoMc3ViZ3JhcGhOYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRINCgVyYW5nZRgEIAEoBRIyCglkYXRlUmFuZ2UYBSABKAsyHy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EYXRlUmFuZ2USNgoHZmlsdGVycxgGIAMoCzIlLndnLmNvc21vLnBsYXRmb3JtLnYxLkFuYWx5dGljc0ZpbHRlciLBAQojR2V0U3ViZ3JhcGhNZXRyaWNzRXJyb3JSYXRlUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJACgZzZXJpZXMYAiADKAsyMC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5NZXRyaWNzRXJyb3JSYXRlU2VyaWVzSXRlbRIXCgpyZXNvbHV0aW9uGAMgASgJSACIAQFCDQoLX3Jlc29sdXRpb24iUwoYRm9yY2VDaGVja1N1Y2Nlc3NSZXF1ZXN0EhAKCGNoZWNrX2lkGAEgASgJEhIKCmdyYXBoX25hbWUYAiABKAkSEQoJbmFtZXNwYWNlGAMgASgJIk0KGUZvcmNlQ2hlY2tTdWNjZXNzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSKYAQosVG9nZ2xlQ2hhbmdlT3ZlcnJpZGVzRm9yQWxsT3BlcmF0aW9uc1JlcXVlc3QSEAoIY2hlY2tfaWQYASABKAkSDwoHaXNfc2FmZRgCIAEoCBISCgpncmFwaF9uYW1lGAMgASgJEhEKCW5hbWVzcGFjZRgEIAEoCRITCgZzZWFyY2gYBSABKAlIAIgBAUIJCgdfc2VhcmNoImEKLVRvZ2dsZUNoYW5nZU92ZXJyaWRlc0ZvckFsbE9wZXJhdGlvbnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIocBCixDcmVhdGVJZ25vcmVPdmVycmlkZXNGb3JBbGxPcGVyYXRpb25zUmVxdWVzdBIQCghjaGVja19pZBgBIAEoCRISCgpncmFwaF9uYW1lGAIgASgJEhEKCW5hbWVzcGFjZRgDIAEoCRITCgZzZWFyY2gYBCABKAlIAIgBAUIJCgdfc2VhcmNoImEKLUNyZWF0ZUlnbm9yZU92ZXJyaWRlc0ZvckFsbE9wZXJhdGlvbnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIkAKDk92ZXJyaWRlQ2hhbmdlEhIKCmNoYW5nZVR5cGUYASABKAkSEQoEcGF0aBgCIAEoCUgAiAEBQgcKBV9wYXRoIq8BCh9DcmVhdGVPcGVyYXRpb25PdmVycmlkZXNSZXF1ZXN0EhIKCmdyYXBoX25hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJEhYKDm9wZXJhdGlvbl9oYXNoGAMgASgJEhYKDm9wZXJhdGlvbl9uYW1lGAQgASgJEjUKB2NoYW5nZXMYBSADKAsyJC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5PdmVycmlkZUNoYW5nZSJUCiBDcmVhdGVPcGVyYXRpb25PdmVycmlkZXNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIoABCidDcmVhdGVPcGVyYXRpb25JZ25vcmVBbGxPdmVycmlkZVJlcXVlc3QSEgoKZ3JhcGhfbmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSFgoOb3BlcmF0aW9uX2hhc2gYAyABKAkSFgoOb3BlcmF0aW9uX25hbWUYBCABKAkiXAooQ3JlYXRlT3BlcmF0aW9uSWdub3JlQWxsT3ZlcnJpZGVSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIpcBCh9SZW1vdmVPcGVyYXRpb25PdmVycmlkZXNSZXF1ZXN0EhIKCmdyYXBoX25hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJEhYKDm9wZXJhdGlvbl9oYXNoGAMgASgJEjUKB2NoYW5nZXMYBCADKAsyJC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5PdmVycmlkZUNoYW5nZSJUCiBSZW1vdmVPcGVyYXRpb25PdmVycmlkZXNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlImgKJ1JlbW92ZU9wZXJhdGlvbklnbm9yZUFsbE92ZXJyaWRlUmVxdWVzdBISCgpncmFwaF9uYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRIWCg5vcGVyYXRpb25faGFzaBgDIAEoCSJcCihSZW1vdmVPcGVyYXRpb25JZ25vcmVBbGxPdmVycmlkZVJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiXQocR2V0T3BlcmF0aW9uT3ZlcnJpZGVzUmVxdWVzdBISCgpncmFwaF9uYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRIWCg5vcGVyYXRpb25faGFzaBgDIAEoCSKcAQodR2V0T3BlcmF0aW9uT3ZlcnJpZGVzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI1CgdjaGFuZ2VzGAIgAygLMiQud2cuY29zbW8ucGxhdGZvcm0udjEuT3ZlcnJpZGVDaGFuZ2USEgoKaWdub3JlX2FsbBgDIAEoCCJeChZHZXRBbGxPdmVycmlkZXNSZXF1ZXN0EhIKCmdyYXBoX25hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJEg0KBWxpbWl0GAMgASgFEg4KBm9mZnNldBgEIAEoBSKjAgoXR2V0QWxsT3ZlcnJpZGVzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJJCglvdmVycmlkZXMYAiADKAsyNi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRBbGxPdmVycmlkZXNSZXNwb25zZS5PdmVycmlkZRITCgt0b3RhbF9jb3VudBgDIAEoBRp2CghPdmVycmlkZRIMCgRoYXNoGAEgASgJEgwKBG5hbWUYAiABKAkSHAoUY2hhbmdlc092ZXJyaWRlQ291bnQYAyABKA0SHAoUaGFzSWdub3JlQWxsT3ZlcnJpZGUYBCABKAgSEgoKdXBkYXRlZF9hdBgFIAEoCSJOChtJc0dpdEh1YkFwcEluc3RhbGxlZFJlcXVlc3QSLwoIZ2l0X2luZm8YASABKAsyHS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HaXRJbmZvImYKHElzR2l0SHViQXBwSW5zdGFsbGVkUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIUCgxpc19pbnN0YWxsZWQYAiABKAgiMAoLR3JvdXBNYXBwZXISDwoHZ3JvdXBJZBgBIAEoCRIQCghzc29Hcm91cBgCIAEoCSKgAQoZQ3JlYXRlT0lEQ1Byb3ZpZGVyUmVxdWVzdBIMCgRuYW1lGAEgASgJEhkKEWRpc2NvdmVyeUVuZHBvaW50GAIgASgJEhAKCGNsaWVudElEGAMgASgJEhQKDGNsaWVudFNlY3JldBgEIAEoCRIyCgdtYXBwZXJzGAUgAygLMiEud2cuY29zbW8ucGxhdGZvcm0udjEuR3JvdXBNYXBwZXIihwEKGkNyZWF0ZU9JRENQcm92aWRlclJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USEQoJc2lnbkluVVJMGAIgASgJEhIKCnNpZ25PdXRVUkwYAyABKAkSEAoIbG9naW5VUkwYBCABKAkirAEKDE9JRENQcm92aWRlchIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBWFsaWFzGAMgASgJEhAKCGVuZHBvaW50GAQgASgJEhEKCWxvZ2luX3VybBgFIAEoCRIcChRzaWduX2luX3JlZGlyZWN0X3VybBgGIAEoCRIdChVzaWduX291dF9yZWRpcmVjdF91cmwYByABKAkSEQoJY3JlYXRlZEF0GAggASgJIhoKGExpc3RPSURDUHJvdmlkZXJzUmVxdWVzdCKEAQoZTGlzdE9JRENQcm92aWRlcnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjUKCXByb3ZpZGVycxgCIAMoCzIiLndnLmNvc21vLnBsYXRmb3JtLnYxLk9JRENQcm92aWRlciIkChZHZXRPSURDUHJvdmlkZXJSZXF1ZXN0EgoKAmlkGAEgASgJIugBChdHZXRPSURDUHJvdmlkZXJSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEgwKBG5hbWUYAiABKAkSEAoIZW5kcG9pbnQYAyABKAkSEAoIbG9naW5VUkwYBCABKAkSGQoRc2lnbkluUmVkaXJlY3RVUkwYBSABKAkSGgoSc2lnbk91dFJlZGlyZWN0VVJMGAYgASgJEjIKB21hcHBlcnMYByADKAsyIS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Hcm91cE1hcHBlciInChlEZWxldGVPSURDUHJvdmlkZXJSZXF1ZXN0EgoKAmlkGAEgASgJIk4KGkRlbGV0ZU9JRENQcm92aWRlclJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiWQoXVXBkYXRlSURQTWFwcGVyc1JlcXVlc3QSMgoHbWFwcGVycxgBIAMoCzIhLndnLmNvc21vLnBsYXRmb3JtLnYxLkdyb3VwTWFwcGVyEgoKAmlkGAIgASgJIkwKGFVwZGF0ZUlEUE1hcHBlcnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIiUKI0dldE9yZ2FuaXphdGlvblJlcXVlc3RzQ291bnRSZXF1ZXN0ImcKJEdldE9yZ2FuaXphdGlvblJlcXVlc3RzQ291bnRSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEg0KBWNvdW50GAIgASgDIqMBChJPcmdhbml6YXRpb25JbnZpdGUSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRzbHVnGAMgASgJEhoKDWNyZWF0b3JVc2VySWQYBCABKAlIAIgBARIRCgljcmVhdGVkQXQYBSABKAkSFgoJaW52aXRlZEJ5GAYgASgJSAGIAQFCEAoOX2NyZWF0b3JVc2VySWRCDAoKX2ludml0ZWRCeSJYChNHZXRBdWRpdExvZ3NSZXF1ZXN0Eg0KBWxpbWl0GAEgASgFEg4KBm9mZnNldBgCIAEoBRIRCglzdGFydERhdGUYAyABKAkSDwoHZW5kRGF0ZRgEIAEoCSKbAgoIQXVkaXRMb2cSCgoCaWQYASABKAkSGAoQYWN0b3JEaXNwbGF5TmFtZRgCIAEoCRIOCgZhY3Rpb24YAyABKAkSEQoJYWN0b3JUeXBlGAQgASgJEhMKC2F1ZGl0QWN0aW9uGAUgASgJEhwKFGF1ZGl0YWJsZURpc3BsYXlOYW1lGAYgASgJEhkKEXRhcmdldERpc3BsYXlOYW1lGAcgASgJEhIKCnRhcmdldFR5cGUYCCABKAkSEQoJY3JlYXRlZEF0GAkgASgJEhkKEXRhcmdldE5hbWVzcGFjZUlkGAogASgJEiIKGnRhcmdldE5hbWVzcGFjZURpc3BsYXlOYW1lGAsgASgJEhIKCmFwaUtleU5hbWUYDCABKAkihQEKFEdldEF1ZGl0TG9nc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USLAoEbG9ncxgCIAMoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLkF1ZGl0TG9nEg0KBWNvdW50GAMgASgFIhcKFUdldEludml0YXRpb25zUmVxdWVzdCKJAQoWR2V0SW52aXRhdGlvbnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEj0KC2ludml0YXRpb25zGAIgAygLMigud2cuY29zbW8ucGxhdGZvcm0udjEuT3JnYW5pemF0aW9uSW52aXRlIkoKIEFjY2VwdE9yRGVjbGluZUludml0YXRpb25SZXF1ZXN0EhYKDm9yZ2FuaXphdGlvbklkGAEgASgJEg4KBmFjY2VwdBgCIAEoCCJVCiFBY2NlcHRPckRlY2xpbmVJbnZpdGF0aW9uUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSKzBQoQR3JhcGhDb21wb3NpdGlvbhIKCgJpZBgBIAEoCRIXCg9zY2hlbWFWZXJzaW9uSWQYAiABKAkSEQoJY3JlYXRlZEF0GAMgASgJEhQKDGlzQ29tcG9zYWJsZRgEIAEoCBIeChFjb21wb3NpdGlvbkVycm9ycxgFIAEoCUgAiAEBEhYKCWNyZWF0ZWRCeRgGIAEoCUgBiAEBEhUKDWlzTGF0ZXN0VmFsaWQYByABKAgSIgoVcm91dGVyQ29uZmlnU2lnbmF0dXJlGAggASgJSAKIAQESGwoOYWRtaXNzaW9uRXJyb3IYCSABKAlIA4gBARIcCg9kZXBsb3ltZW50RXJyb3IYCiABKAlIBIgBARIoChtoYXNNdWx0aXBsZUNoYW5nZWRTdWJncmFwaHMYCyABKAhIBYgBARIkChd0cmlnZ2VyZWRCeVN1YmdyYXBoTmFtZRgMIAEoCUgGiAEBEiAKE2NvbXBvc2l0aW9uV2FybmluZ3MYDSABKAlIB4gBARIkChxyb3V0ZXJfY29tcGF0aWJpbGl0eV92ZXJzaW9uGA4gASgJEiAKGGlzRmVhdHVyZUZsYWdDb21wb3NpdGlvbhgPIAEoCBIcCg9mZWF0dXJlRmxhZ05hbWUYECABKAlICIgBAUIUChJfY29tcG9zaXRpb25FcnJvcnNCDAoKX2NyZWF0ZWRCeUIYChZfcm91dGVyQ29uZmlnU2lnbmF0dXJlQhEKD19hZG1pc3Npb25FcnJvckISChBfZGVwbG95bWVudEVycm9yQh4KHF9oYXNNdWx0aXBsZUNoYW5nZWRTdWJncmFwaHNCGgoYX3RyaWdnZXJlZEJ5U3ViZ3JhcGhOYW1lQhYKFF9jb21wb3NpdGlvbldhcm5pbmdzQhIKEF9mZWF0dXJlRmxhZ05hbWUiyQEKGEdyYXBoQ29tcG9zaXRpb25TdWJncmFwaBIKCgJpZBgBIAEoCRIXCg9zY2hlbWFWZXJzaW9uSWQYAiABKAkSDAoEbmFtZRgDIAEoCRIRCgl0YXJnZXRfaWQYBCABKAkSGQoRaXNGZWF0dXJlU3ViZ3JhcGgYBSABKAgSEgoKY2hhbmdlVHlwZRgGIAEoCRI4CgxzdWJncmFwaFR5cGUYByABKA4yIi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TdWJncmFwaFR5cGUirAEKFkdldENvbXBvc2l0aW9uc1JlcXVlc3QSFAoMZmVkR3JhcGhOYW1lGAEgASgJEg0KBWxpbWl0GAIgASgFEg4KBm9mZnNldBgDIAEoBRIRCglzdGFydERhdGUYBCABKAkSDwoHZW5kRGF0ZRgFIAEoCRIRCgluYW1lc3BhY2UYBiABKAkSJgoeZXhjbHVkZUZlYXR1cmVGbGFnQ29tcG9zaXRpb25zGAcgASgIIpgBChdHZXRDb21wb3NpdGlvbnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjwKDGNvbXBvc2l0aW9ucxgCIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLkdyYXBoQ29tcG9zaXRpb24SDQoFY291bnQYAyABKAUiSAocR2V0Q29tcG9zaXRpb25EZXRhaWxzUmVxdWVzdBIVCg1jb21wb3NpdGlvbklkGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCSK1AwoWRmVhdHVyZUZsYWdDb21wb3NpdGlvbhIKCgJpZBgBIAEoCRIXCg9zY2hlbWFWZXJzaW9uSWQYAiABKAkSEQoJY3JlYXRlZEF0GAMgASgJEhQKDGlzQ29tcG9zYWJsZRgEIAEoCBIeChFjb21wb3NpdGlvbkVycm9ycxgFIAEoCUgAiAEBEhYKCWNyZWF0ZWRCeRgGIAEoCUgBiAEBEiIKFXJvdXRlckNvbmZpZ1NpZ25hdHVyZRgHIAEoCUgCiAEBEhsKDmFkbWlzc2lvbkVycm9yGAggASgJSAOIAQESHAoPZGVwbG95bWVudEVycm9yGAkgASgJSASIAQESFwoPZmVhdHVyZUZsYWdOYW1lGAogASgJEiAKE2NvbXBvc2l0aW9uV2FybmluZ3MYCyABKAlIBYgBAUIUChJfY29tcG9zaXRpb25FcnJvcnNCDAoKX2NyZWF0ZWRCeUIYChZfcm91dGVyQ29uZmlnU2lnbmF0dXJlQhEKD19hZG1pc3Npb25FcnJvckISChBfZGVwbG95bWVudEVycm9yQhYKFF9jb21wb3NpdGlvbldhcm5pbmdzIuUCCh1HZXRDb21wb3NpdGlvbkRldGFpbHNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjsKC2NvbXBvc2l0aW9uGAIgASgLMiYud2cuY29zbW8ucGxhdGZvcm0udjEuR3JhcGhDb21wb3NpdGlvbhJMChRjb21wb3NpdGlvblN1YmdyYXBocxgDIAMoCzIuLndnLmNvc21vLnBsYXRmb3JtLnYxLkdyYXBoQ29tcG9zaXRpb25TdWJncmFwaBI4CgxjaGFuZ2VDb3VudHMYBCABKAsyIi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DaGFuZ2VDb3VudHMSTQoXZmVhdHVyZUZsYWdDb21wb3NpdGlvbnMYBSADKAsyLC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5GZWF0dXJlRmxhZ0NvbXBvc2l0aW9uIkoKHEdldFNkbEJ5U2NoZW1hVmVyc2lvblJlcXVlc3QSFwoPc2NoZW1hVmVyc2lvbklkGAEgASgJEhEKCXRhcmdldF9pZBgCIAEoCSJ1Ch1HZXRTZGxCeVNjaGVtYVZlcnNpb25SZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEgsKA3NkbBgCIAEoCRIVCg1jbGllbnRfc2NoZW1hGAMgASgJIj0KIkdldENoYW5nZWxvZ0J5U2NoZW1hVmVyc2lvblJlcXVlc3QSFwoPc2NoZW1hVmVyc2lvbklkGAEgASgJIp8BCiNHZXRDaGFuZ2Vsb2dCeVNjaGVtYVZlcnNpb25SZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEkYKCWNoYW5nZWxvZxgCIAEoCzIzLndnLmNvc21vLnBsYXRmb3JtLnYxLkZlZGVyYXRlZEdyYXBoQ2hhbmdlbG9nT3V0cHV0IiMKIUdldFVzZXJBY2Nlc3NpYmxlUmVzb3VyY2VzUmVxdWVzdCKrBAoiR2V0VXNlckFjY2Vzc2libGVSZXNvdXJjZXNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlElYKCm5hbWVzcGFjZXMYAiADKAsyQi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRVc2VyQWNjZXNzaWJsZVJlc291cmNlc1Jlc3BvbnNlLk5hbWVzcGFjZRJgCg9mZWRlcmF0ZWRHcmFwaHMYAyADKAsyRy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRVc2VyQWNjZXNzaWJsZVJlc291cmNlc1Jlc3BvbnNlLkZlZGVyYXRlZEdyYXBoElQKCXN1YmdyYXBocxgEIAMoCzJBLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFVzZXJBY2Nlc3NpYmxlUmVzb3VyY2VzUmVzcG9uc2UuU3ViR3JhcGgaJQoJTmFtZXNwYWNlEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkaQwoORmVkZXJhdGVkR3JhcGgSEAoIdGFyZ2V0SWQYASABKAkSDAoEbmFtZRgCIAEoCRIRCgluYW1lc3BhY2UYAyABKAkaVwoIU3ViR3JhcGgSEAoIdGFyZ2V0SWQYASABKAkSDAoEbmFtZRgCIAEoCRIRCgluYW1lc3BhY2UYAyABKAkSGAoQZmVkZXJhdGVkR3JhcGhJZBgEIAEoCSJgChxVcGRhdGVGZWF0dXJlU2V0dGluZ3NSZXF1ZXN0Eg4KBmVuYWJsZRgBIAEoCBIwCglmZWF0dXJlSWQYAiABKA4yHS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5GZWF0dXJlIlEKHVVwZGF0ZUZlYXR1cmVTZXR0aW5nc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiRAoZR2V0U3ViZ3JhcGhNZW1iZXJzUmVxdWVzdBIUCgxzdWJncmFwaE5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJIkkKDlN1YmdyYXBoTWVtYmVyEg4KBnVzZXJJZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIYChBzdWJncmFwaE1lbWJlcklkGAQgASgJIoUBChpHZXRTdWJncmFwaE1lbWJlcnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjUKB21lbWJlcnMYAiADKAsyJC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TdWJncmFwaE1lbWJlciJJChBBZGRSZWFkbWVSZXF1ZXN0EhIKCnRhcmdldE5hbWUYASABKAkSDgoGcmVhZG1lGAIgASgJEhEKCW5hbWVzcGFjZRgDIAEoCSJFChFBZGRSZWFkbWVSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIuMCCgZSb3V0ZXISEAoIaG9zdG5hbWUYASABKAkSEwoLY2x1c3Rlck5hbWUYAiABKAkSEwoLc2VydmljZU5hbWUYAyABKAkSFgoOc2VydmljZVZlcnNpb24YBCABKAkSGQoRc2VydmljZUluc3RhbmNlSWQYBSABKAkSFQoNdXB0aW1lU2Vjb25kcxgGIAEoCRIbChNzZXJ2ZXJVcHRpbWVTZWNvbmRzGAcgASgJEhUKDWNvbXBvc2l0aW9uSWQYCCABKAkSGwoTb25MYXRlc3RDb21wb3NpdGlvbhgJIAEoCBIRCglwcm9jZXNzSWQYCiABKAkSFQoNbWVtb3J5VXNhZ2VNYhgLIAEoAhIgChhtZW1vcnlVc2FnZUNoYW5nZVBlcmNlbnQYDCABKAISFwoPY3B1VXNhZ2VQZXJjZW50GA0gASgCEh0KFWNwdVVzYWdlQ2hhbmdlUGVyY2VudBgOIAEoAiI8ChFHZXRSb3V0ZXJzUmVxdWVzdBIUCgxmZWRHcmFwaE5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJInUKEkdldFJvdXRlcnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEi0KB3JvdXRlcnMYAiADKAsyHC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Sb3V0ZXIi5gEKCkNsaWVudEluZm8SDAoEbmFtZRgBIAEoCRIKCgJpZBgCIAEoCRIRCgljcmVhdGVkQXQYAyABKAkSFQoNbGFzdFVwZGF0ZWRBdBgEIAEoCRIRCgljcmVhdGVkQnkYBSABKAkSFQoNbGFzdFVwZGF0ZWRCeRgGIAEoCRIlChhwZXJzaXN0ZWRPcGVyYXRpb25zQ291bnQYByABKAVIAIgBARIXCgpoYXNUcmFmZmljGAggASgISAGIAQFCGwoZX3BlcnNpc3RlZE9wZXJhdGlvbnNDb3VudEINCgtfaGFzVHJhZmZpYyJUChFHZXRDbGllbnRzUmVxdWVzdBIUCgxmZWRHcmFwaE5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJEhYKDmluY2x1ZGVUcmFmZmljGAMgASgIInkKEkdldENsaWVudHNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjEKB2NsaWVudHMYAiADKAsyIC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DbGllbnRJbmZvIlkKGlByZXZpZXdEZWxldGVDbGllbnRSZXF1ZXN0EhQKDGZlZEdyYXBoTmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSEgoKY2xpZW50TmFtZRgDIAEoCSLRAQobUHJldmlld0RlbGV0ZUNsaWVudFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USMAoGY2xpZW50GAIgASgLMiAud2cuY29zbW8ucGxhdGZvcm0udjEuQ2xpZW50SW5mbxIgChhwZXJzaXN0ZWRPcGVyYXRpb25zQ291bnQYAyABKAUSEgoKaGFzVHJhZmZpYxgEIAEoCBIYChBvcmdhbml6YXRpb25TbHVnGAUgASgJIlIKE0RlbGV0ZUNsaWVudFJlcXVlc3QSFAoMZmVkR3JhcGhOYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRISCgpjbGllbnROYW1lGAMgASgJIuABChREZWxldGVDbGllbnRSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjAKBmNsaWVudBgCIAEoCzIgLndnLmNvc21vLnBsYXRmb3JtLnYxLkNsaWVudEluZm8SHgoWZGVsZXRlZE9wZXJhdGlvbnNDb3VudBgDIAEoBRpECglPcGVyYXRpb24SCgoCaWQYASABKAkSEwoLb3BlcmF0aW9uSWQYAiABKAkSFgoOb3BlcmF0aW9uTmFtZXMYAyADKAki1AIKFEdldEZpZWxkVXNhZ2VSZXF1ZXN0EhIKCmdyYXBoX25hbWUYASABKAkSFgoJbmFtZWRUeXBlGAIgASgJSACIAQESFQoIdHlwZW5hbWUYAyABKAlIAYgBARISCgVmaWVsZBgEIAEoCUgCiAEBEhIKBXJhbmdlGAUgASgFSAOIAQESMgoJZGF0ZVJhbmdlGAYgASgLMh8ud2cuY29zbW8ucGxhdGZvcm0udjEuRGF0ZVJhbmdlEhEKCW5hbWVzcGFjZRgHIAEoCRIeChFmZWF0dXJlX2ZsYWdfbmFtZRgIIAEoCUgEiAEBEhMKC2lzX2FyZ3VtZW50GAkgASgIEhAKCGlzX2lucHV0GAogASgIQgwKCl9uYW1lZFR5cGVCCwoJX3R5cGVuYW1lQggKBl9maWVsZEIICgZfcmFuZ2VCFAoSX2ZlYXR1cmVfZmxhZ19uYW1lIrcBChRDbGllbnRXaXRoT3BlcmF0aW9ucxIMCgRuYW1lGAEgASgJEg8KB3ZlcnNpb24YAiABKAkSSAoKb3BlcmF0aW9ucxgDIAMoCzI0LndnLmNvc21vLnBsYXRmb3JtLnYxLkNsaWVudFdpdGhPcGVyYXRpb25zLk9wZXJhdGlvbho2CglPcGVyYXRpb24SDAoEaGFzaBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBWNvdW50GAMgASgFIl8KDkZpZWxkVXNhZ2VNZXRhEhQKDHN1YmdyYXBoX2lkcxgBIAMoCRIaChJmaXJzdFNlZW5UaW1lc3RhbXAYAiABKAkSGwoTbGF0ZXN0U2VlblRpbWVzdGFtcBgDIAEoCSL7AQoVR2V0RmllbGRVc2FnZVJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USPwoOcmVxdWVzdF9zZXJpZXMYAiADKAsyJy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXF1ZXN0U2VyaWVzSXRlbRI7CgdjbGllbnRzGAMgAygLMioud2cuY29zbW8ucGxhdGZvcm0udjEuQ2xpZW50V2l0aE9wZXJhdGlvbnMSMgoEbWV0YRgEIAEoCzIkLndnLmNvc21vLnBsYXRmb3JtLnYxLkZpZWxkVXNhZ2VNZXRhIiYKFkNyZWF0ZU5hbWVzcGFjZVJlcXVlc3QSDAoEbmFtZRgBIAEoCSJLChdDcmVhdGVOYW1lc3BhY2VSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIiYKFkRlbGV0ZU5hbWVzcGFjZVJlcXVlc3QSDAoEbmFtZRgBIAEoCSJLChdEZWxldGVOYW1lc3BhY2VSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIjgKFlJlbmFtZU5hbWVzcGFjZVJlcXVlc3QSDAoEbmFtZRgBIAEoCRIQCghuZXdfbmFtZRgCIAEoCSJLChdSZW5hbWVOYW1lc3BhY2VSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIiUKCU5hbWVzcGFjZRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJIhYKFEdldE5hbWVzcGFjZXNSZXF1ZXN0In4KFUdldE5hbWVzcGFjZXNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjMKCm5hbWVzcGFjZXMYAiADKAsyHy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5OYW1lc3BhY2UingEKEE1vdmVHcmFwaFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSFQoNbmV3X25hbWVzcGFjZRgDIAEoCRItCiBkaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbhgEIAEoCEgAiAEBQiMKIV9kaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbiKQAgoRTW92ZUdyYXBoUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJBChFjb21wb3NpdGlvbkVycm9ycxgCIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uRXJyb3ISPwoQZGVwbG95bWVudEVycm9ycxgDIAMoCzIlLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlcGxveW1lbnRFcnJvchJFChNjb21wb3NpdGlvbldhcm5pbmdzGAQgAygLMigud2cuY29zbW8ucGxhdGZvcm0udjEuQ29tcG9zaXRpb25XYXJuaW5nIjIKHUdldE5hbWVzcGFjZUxpbnRDb25maWdSZXF1ZXN0EhEKCW5hbWVzcGFjZRgBIAEoCSKcAQoeR2V0TmFtZXNwYWNlTGludENvbmZpZ1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USFQoNbGludGVyRW5hYmxlZBgCIAEoCBIxCgdjb25maWdzGAMgAygLMiAud2cuY29zbW8ucGxhdGZvcm0udjEuTGludENvbmZpZyI7CiZHZXROYW1lc3BhY2VDaGVja3NDb25maWd1cmF0aW9uUmVxdWVzdBIRCgluYW1lc3BhY2UYASABKAkikgEKJ0dldE5hbWVzcGFjZUNoZWNrc0NvbmZpZ3VyYXRpb25SZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEhcKD3RpbWVmcmFtZUluRGF5cxgCIAEoBRIcChR0aW1lZnJhbWVMaW1pdEluRGF5cxgDIAEoBSJXCilVcGRhdGVOYW1lc3BhY2VDaGVja3NDb25maWd1cmF0aW9uUmVxdWVzdBIRCgluYW1lc3BhY2UYASABKAkSFwoPdGltZWZyYW1lSW5EYXlzGAIgASgFIl4KKlVwZGF0ZU5hbWVzcGFjZUNoZWNrc0NvbmZpZ3VyYXRpb25SZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIk8KI0VuYWJsZUxpbnRpbmdGb3JUaGVOYW1lc3BhY2VSZXF1ZXN0EhEKCW5hbWVzcGFjZRgBIAEoCRIVCg1lbmFibGVMaW50aW5nGAIgASgIIlgKJEVuYWJsZUxpbnRpbmdGb3JUaGVOYW1lc3BhY2VSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIlkKCkxpbnRDb25maWcSEAoIcnVsZU5hbWUYASABKAkSOQoNc2V2ZXJpdHlMZXZlbBgCIAEoDjIiLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpbnRTZXZlcml0eSJrCiNDb25maWd1cmVOYW1lc3BhY2VMaW50Q29uZmlnUmVxdWVzdBIRCgluYW1lc3BhY2UYASABKAkSMQoHY29uZmlncxgCIAMoCzIgLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpbnRDb25maWciWAokQ29uZmlndXJlTmFtZXNwYWNlTGludENvbmZpZ1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiSgoZRW5hYmxlR3JhcGhQcnVuaW5nUmVxdWVzdBIRCgluYW1lc3BhY2UYASABKAkSGgoSZW5hYmxlR3JhcGhQcnVuaW5nGAIgASgIIk4KGkVuYWJsZUdyYXBoUHJ1bmluZ1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiyAEKEkdyYXBoUHJ1bmluZ0NvbmZpZxIQCghydWxlTmFtZRgBIAEoCRI5Cg1zZXZlcml0eUxldmVsGAIgASgOMiIud2cuY29zbW8ucGxhdGZvcm0udjEuTGludFNldmVyaXR5EhkKEWdyYWNlUGVyaW9kSW5EYXlzGAMgASgFEikKHHNjaGVtYVVzYWdlQ2hlY2tQZXJpb2RJbkRheXMYBCABKAVIAIgBAUIfCh1fc2NoZW1hVXNhZ2VDaGVja1BlcmlvZEluRGF5cyJ7CitDb25maWd1cmVOYW1lc3BhY2VHcmFwaFBydW5pbmdDb25maWdSZXF1ZXN0EhEKCW5hbWVzcGFjZRgBIAEoCRI5Cgdjb25maWdzGAIgAygLMigud2cuY29zbW8ucGxhdGZvcm0udjEuR3JhcGhQcnVuaW5nQ29uZmlnImAKLENvbmZpZ3VyZU5hbWVzcGFjZUdyYXBoUHJ1bmluZ0NvbmZpZ1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiOgolR2V0TmFtZXNwYWNlR3JhcGhQcnVuaW5nQ29uZmlnUmVxdWVzdBIRCgluYW1lc3BhY2UYASABKAkisQEKJkdldE5hbWVzcGFjZUdyYXBoUHJ1bmluZ0NvbmZpZ1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USGgoSZ3JhcGhQcnVuZXJFbmFibGVkGAIgASgIEjkKB2NvbmZpZ3MYAyADKAsyKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HcmFwaFBydW5pbmdDb25maWciOgoXTWlncmF0ZU1vbm9ncmFwaFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkiTAoYTWlncmF0ZU1vbm9ncmFwaFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiJQojR2V0VXNlckFjY2Vzc2libGVQZXJtaXNzaW9uc1JlcXVlc3QiMAoKUGVybWlzc2lvbhITCgtkaXNwbGF5TmFtZRgBIAEoCRINCgV2YWx1ZRgCIAEoCSKPAQokR2V0VXNlckFjY2Vzc2libGVQZXJtaXNzaW9uc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USNQoLcGVybWlzc2lvbnMYAiADKAsyIC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5QZXJtaXNzaW9uIusCChVDcmVhdGVDb250cmFjdFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSGQoRc291cmNlX2dyYXBoX25hbWUYAyABKAkSEwoLcm91dGluZ191cmwYBCABKAkSHQoVYWRtaXNzaW9uX3dlYmhvb2tfdXJsGAUgASgJEhQKDGV4Y2x1ZGVfdGFncxgGIAMoCRITCgZyZWFkbWUYByABKAlIAIgBARIlChhhZG1pc3Npb25fd2ViaG9va19zZWNyZXQYCCABKAlIAYgBARIUCgxpbmNsdWRlX3RhZ3MYCSADKAkSLQogZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24YCiABKAhIAogBAUIJCgdfcmVhZG1lQhsKGV9hZG1pc3Npb25fd2ViaG9va19zZWNyZXRCIwohX2Rpc2FibGVfcmVzb2x2YWJpbGl0eV92YWxpZGF0aW9uIpUCChZDcmVhdGVDb250cmFjdFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USQQoRY29tcG9zaXRpb25FcnJvcnMYAiADKAsyJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbkVycm9yEj8KEGRlcGxveW1lbnRFcnJvcnMYAyADKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZXBsb3ltZW50RXJyb3ISRQoTY29tcG9zaXRpb25XYXJuaW5ncxgEIAMoCzIoLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uV2FybmluZyKEAwoVVXBkYXRlQ29udHJhY3RSZXF1ZXN0EgwKBG5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJEhQKDGV4Y2x1ZGVfdGFncxgDIAMoCRIUCgxpbmNsdWRlX3RhZ3MYBCADKAkSGAoLcm91dGluZ191cmwYBSABKAlIAIgBARIiChVhZG1pc3Npb25fd2ViaG9va191cmwYBiABKAlIAYgBARIlChhhZG1pc3Npb25fd2ViaG9va19zZWNyZXQYByABKAlIAogBARITCgZyZWFkbWUYCCABKAlIA4gBARItCiBkaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbhgJIAEoCEgEiAEBQg4KDF9yb3V0aW5nX3VybEIYChZfYWRtaXNzaW9uX3dlYmhvb2tfdXJsQhsKGV9hZG1pc3Npb25fd2ViaG9va19zZWNyZXRCCQoHX3JlYWRtZUIjCiFfZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24ilQIKFlVwZGF0ZUNvbnRyYWN0UmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJBChFjb21wb3NpdGlvbkVycm9ycxgCIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uRXJyb3ISPwoQZGVwbG95bWVudEVycm9ycxgDIAMoCzIlLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlcGxveW1lbnRFcnJvchJFChNjb21wb3NpdGlvbldhcm5pbmdzGAQgAygLMigud2cuY29zbW8ucGxhdGZvcm0udjEuQ29tcG9zaXRpb25XYXJuaW5nIh0KG0lzTWVtYmVyTGltaXRSZWFjaGVkUmVxdWVzdCJ9ChxJc01lbWJlckxpbWl0UmVhY2hlZFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USFQoNbGltaXRfcmVhY2hlZBgCIAEoCBIUCgxtZW1iZXJfY291bnQYAyABKAUiEwoRRGVsZXRlVXNlclJlcXVlc3QiRgoSRGVsZXRlVXNlclJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2Ui8AEKGENyZWF0ZUZlYXR1cmVGbGFnUmVxdWVzdBIMCgRuYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRIrCgZsYWJlbHMYAyADKAsyGy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MYWJlbBIeChZmZWF0dXJlX3N1YmdyYXBoX25hbWVzGAQgAygJEhIKCmlzX2VuYWJsZWQYBSABKAgSLQogZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24YBiABKAhIAIgBAUIjCiFfZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24imgIKGUNyZWF0ZUZlYXR1cmVGbGFnUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJCChJjb21wb3NpdGlvbl9lcnJvcnMYAiADKAsyJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbkVycm9yEkAKEWRlcGxveW1lbnRfZXJyb3JzGAMgAygLMiUud2cuY29zbW8ucGxhdGZvcm0udjEuRGVwbG95bWVudEVycm9yEkUKE2NvbXBvc2l0aW9uV2FybmluZ3MYBCADKAsyKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbldhcm5pbmci8gEKGFVwZGF0ZUZlYXR1cmVGbGFnUmVxdWVzdBIMCgRuYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRIrCgZsYWJlbHMYAyADKAsyGy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MYWJlbBIeChZmZWF0dXJlX3N1YmdyYXBoX25hbWVzGAQgAygJEhQKDHVuc2V0X2xhYmVscxgFIAEoCBItCiBkaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbhgGIAEoCEgAiAEBQiMKIV9kaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbiLEAgoZVXBkYXRlRmVhdHVyZUZsYWdSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEkIKEmNvbXBvc2l0aW9uX2Vycm9ycxgCIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uRXJyb3ISQAoRZGVwbG95bWVudF9lcnJvcnMYAyADKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZXBsb3ltZW50RXJyb3ISRQoTY29tcG9zaXRpb25XYXJuaW5ncxgEIAMoCzIoLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uV2FybmluZxIYCgtoYXNfY2hhbmdlZBgFIAEoCEgAiAEBQg4KDF9oYXNfY2hhbmdlZCKgAQoYRW5hYmxlRmVhdHVyZUZsYWdSZXF1ZXN0EgwKBG5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJEg8KB2VuYWJsZWQYAyABKAgSLQogZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24YBCABKAhIAIgBAUIjCiFfZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24ixAIKGUVuYWJsZUZlYXR1cmVGbGFnUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJCChJjb21wb3NpdGlvbl9lcnJvcnMYAiADKAsyJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbkVycm9yEkAKEWRlcGxveW1lbnRfZXJyb3JzGAMgAygLMiUud2cuY29zbW8ucGxhdGZvcm0udjEuRGVwbG95bWVudEVycm9yEhgKC2hhc19jaGFuZ2VkGAQgASgISACIAQESRQoTY29tcG9zaXRpb25XYXJuaW5ncxgFIAMoCzIoLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uV2FybmluZ0IOCgxfaGFzX2NoYW5nZWQijwEKGERlbGV0ZUZlYXR1cmVGbGFnUmVxdWVzdBIMCgRuYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRItCiBkaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbhgDIAEoCEgAiAEBQiMKIV9kaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbiKaAgoZRGVsZXRlRmVhdHVyZUZsYWdSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEkIKEmNvbXBvc2l0aW9uX2Vycm9ycxgCIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uRXJyb3ISQAoRZGVwbG95bWVudF9lcnJvcnMYAyADKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZXBsb3ltZW50RXJyb3ISRQoTY29tcG9zaXRpb25XYXJuaW5ncxgEIAMoCzIoLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uV2FybmluZyKFAgoLRmVhdHVyZUZsYWcSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIRCgluYW1lc3BhY2UYAyABKAkSKwoGbGFiZWxzGAQgAygLMhsud2cuY29zbW8ucGxhdGZvcm0udjEuTGFiZWwSEgoKaXNfZW5hYmxlZBgFIAEoCBISCgpjcmVhdGVkX2J5GAYgASgJEhIKCmNyZWF0ZWRfYXQYByABKAkSEgoKdXBkYXRlZF9hdBgIIAEoCRIqCh1oYXNfZmFpbGVkX2xhdGVzdF9jb21wb3NpdGlvbhgJIAEoCEgAiAEBQiAKHl9oYXNfZmFpbGVkX2xhdGVzdF9jb21wb3NpdGlvbiJoChZHZXRGZWF0dXJlRmxhZ3NSZXF1ZXN0Eg0KBWxpbWl0GAEgASgFEg4KBm9mZnNldBgCIAEoBRIRCgluYW1lc3BhY2UYAyABKAkSEgoFcXVlcnkYBCABKAlIAIgBAUIICgZfcXVlcnkimgEKF0dldEZlYXR1cmVGbGFnc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USOAoNZmVhdHVyZV9mbGFncxgCIAMoCzIhLndnLmNvc21vLnBsYXRmb3JtLnYxLkZlYXR1cmVGbGFnEhMKC3RvdGFsX2NvdW50GAMgASgFIj4KG0dldEZlYXR1cmVGbGFnQnlOYW1lUmVxdWVzdBIMCgRuYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCSKMAwocR2V0RmVhdHVyZUZsYWdCeU5hbWVSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjcKDGZlYXR1cmVfZmxhZxgCIAEoCzIhLndnLmNvc21vLnBsYXRmb3JtLnYxLkZlYXR1cmVGbGFnEl0KEGZlZGVyYXRlZF9ncmFwaHMYAyADKAsyQy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGZWF0dXJlRmxhZ0J5TmFtZVJlc3BvbnNlLkZmRmVkZXJhdGVkR3JhcGgSOQoRZmVhdHVyZV9zdWJncmFwaHMYBCADKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TdWJncmFwaBpnChBGZkZlZGVyYXRlZEdyYXBoEj0KD2ZlZGVyYXRlZF9ncmFwaBgBIAEoCzIkLndnLmNvc21vLnBsYXRmb3JtLnYxLkZlZGVyYXRlZEdyYXBoEhQKDGlzX2Nvbm5lY3RlZBgCIAEoCCJXCidHZXRGZWF0dXJlU3ViZ3JhcGhzQnlGZWF0dXJlRmxhZ1JlcXVlc3QSGQoRZmVhdHVyZV9mbGFnX25hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJIpcBCihHZXRGZWF0dXJlU3ViZ3JhcGhzQnlGZWF0dXJlRmxhZ1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USOQoRZmVhdHVyZV9zdWJncmFwaHMYAiADKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TdWJncmFwaCJsChpHZXRGZWF0dXJlU3ViZ3JhcGhzUmVxdWVzdBINCgVsaW1pdBgBIAEoBRIOCgZvZmZzZXQYAiABKAUSEQoJbmFtZXNwYWNlGAMgASgJEhIKBXF1ZXJ5GAQgASgJSACIAQFCCAoGX3F1ZXJ5IpkBChtHZXRGZWF0dXJlU3ViZ3JhcGhzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI5ChFmZWF0dXJlX3N1YmdyYXBocxgCIAMoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlN1YmdyYXBoEg0KBWNvdW50GAMgASgFIpYBCiZHZXRGZWF0dXJlRmxhZ3NCeUZlZGVyYXRlZEdyYXBoUmVxdWVzdBIcChRmZWRlcmF0ZWRfZ3JhcGhfbmFtZRgBIAEoCRINCgVsaW1pdBgCIAEoBRIOCgZvZmZzZXQYAyABKAUSEQoJbmFtZXNwYWNlGAQgASgJEhIKBXF1ZXJ5GAUgASgJSACIAQFCCAoGX3F1ZXJ5IqoBCidHZXRGZWF0dXJlRmxhZ3NCeUZlZGVyYXRlZEdyYXBoUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI4Cg1mZWF0dXJlX2ZsYWdzGAIgAygLMiEud2cuY29zbW8ucGxhdGZvcm0udjEuRmVhdHVyZUZsYWcSEwoLdG90YWxfY291bnQYAyABKAUibAo5R2V0RmVhdHVyZUZsYWdzSW5MYXRlc3RDb21wb3NpdGlvbkJ5RmVkZXJhdGVkR3JhcGhSZXF1ZXN0EhwKFGZlZGVyYXRlZF9ncmFwaF9uYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCSKoAQo6R2V0RmVhdHVyZUZsYWdzSW5MYXRlc3RDb21wb3NpdGlvbkJ5RmVkZXJhdGVkR3JhcGhSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjgKDWZlYXR1cmVfZmxhZ3MYAiADKAsyIS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5GZWF0dXJlRmxhZyKaAQoqR2V0RmVhdHVyZVN1YmdyYXBoc0J5RmVkZXJhdGVkR3JhcGhSZXF1ZXN0EhwKFGZlZGVyYXRlZF9ncmFwaF9uYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRINCgVsaW1pdBgDIAEoBRIOCgZvZmZzZXQYBCABKAUSEgoFcXVlcnkYBSABKAlIAIgBAUIICgZfcXVlcnkirwEKK0dldEZlYXR1cmVTdWJncmFwaHNCeUZlZGVyYXRlZEdyYXBoUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI5ChFmZWF0dXJlX3N1YmdyYXBocxgCIAMoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlN1YmdyYXBoEhMKC3RvdGFsX2NvdW50GAMgASgFIsEBCiRHZXRPcmdhbml6YXRpb25XZWJob29rSGlzdG9yeVJlcXVlc3QSNAoKcGFnaW5hdGlvbhgBIAEoCzIgLndnLmNvc21vLnBsYXRmb3JtLnYxLlBhZ2luYXRpb24SMwoKZGF0ZV9yYW5nZRgCIAEoCzIfLndnLmNvc21vLnBsYXRmb3JtLnYxLkRhdGVSYW5nZRIbCg5maWx0ZXJfYnlfdHlwZRgDIAEoCUgAiAEBQhEKD19maWx0ZXJfYnlfdHlwZSL7AwoPV2ViaG9va0RlbGl2ZXJ5EgoKAmlkGAEgASgJEhIKCmNyZWF0ZWRfYXQYAiABKAkSFwoKY3JlYXRlZF9ieRgDIAEoCUgAiAEBEgwKBHR5cGUYBCABKAkSEAoIZW5kcG9pbnQYBSABKAkSEgoKZXZlbnRfbmFtZRgGIAEoCRIPCgdwYXlsb2FkGAcgASgJEhcKD3JlcXVlc3RfaGVhZGVycxgIIAEoCRIdChByZXNwb25zZV9oZWFkZXJzGAkgASgJSAGIAQESIQoUcmVzcG9uc2Vfc3RhdHVzX2NvZGUYCiABKAVIAogBARIgChNyZXNwb25zZV9lcnJvcl9jb2RlGAsgASgJSAOIAQESGgoNZXJyb3JfbWVzc2FnZRgMIAEoCUgEiAEBEhoKDXJlc3BvbnNlX2JvZHkYDSABKAlIBYgBARITCgtyZXRyeV9jb3VudBgOIAEoBRIQCghkdXJhdGlvbhgPIAEoAhIVCg1pc19yZWRlbGl2ZXJ5GBAgASgIQg0KC19jcmVhdGVkX2J5QhMKEV9yZXNwb25zZV9oZWFkZXJzQhcKFV9yZXNwb25zZV9zdGF0dXNfY29kZUIWChRfcmVzcG9uc2VfZXJyb3JfY29kZUIQCg5fZXJyb3JfbWVzc2FnZUIQCg5fcmVzcG9uc2VfYm9keSKpAQolR2V0T3JnYW5pemF0aW9uV2ViaG9va0hpc3RvcnlSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjkKCmRlbGl2ZXJpZXMYAiADKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5XZWJob29rRGVsaXZlcnkSEwoLdG90YWxfY291bnQYAyABKAUiJQoXUmVkZWxpdmVyV2ViaG9va1JlcXVlc3QSCgoCaWQYASABKAkiTAoYUmVkZWxpdmVyV2ViaG9va1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiLgogR2V0V2ViaG9va0RlbGl2ZXJ5RGV0YWlsc1JlcXVlc3QSCgoCaWQYASABKAkijgEKIUdldFdlYmhvb2tEZWxpdmVyeURldGFpbHNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjcKCGRlbGl2ZXJ5GAIgASgLMiUud2cuY29zbW8ucGxhdGZvcm0udjEuV2ViaG9va0RlbGl2ZXJ5Ik0KHUNyZWF0ZVBsYXlncm91bmRTY3JpcHRSZXF1ZXN0Eg0KBXRpdGxlGAEgASgJEgwKBHR5cGUYAiABKAkSDwoHY29udGVudBgDIAEoCSJSCh5DcmVhdGVQbGF5Z3JvdW5kU2NyaXB0UmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSIrCh1EZWxldGVQbGF5Z3JvdW5kU2NyaXB0UmVxdWVzdBIKCgJpZBgBIAEoCSJSCh5EZWxldGVQbGF5Z3JvdW5kU2NyaXB0UmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSJLCh1VcGRhdGVQbGF5Z3JvdW5kU2NyaXB0UmVxdWVzdBIKCgJpZBgBIAEoCRINCgV0aXRsZRgCIAEoCRIPCgdjb250ZW50GAMgASgJIlIKHlVwZGF0ZVBsYXlncm91bmRTY3JpcHRSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIisKG0dldFBsYXlncm91bmRTY3JpcHRzUmVxdWVzdBIMCgR0eXBlGAEgASgJIkwKEFBsYXlncm91bmRTY3JpcHQSCgoCaWQYASABKAkSDAoEdHlwZRgCIAEoCRINCgV0aXRsZRgDIAEoCRIPCgdjb250ZW50GAQgASgJIokBChxHZXRQbGF5Z3JvdW5kU2NyaXB0c1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USNwoHc2NyaXB0cxgCIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLlBsYXlncm91bmRTY3JpcHQiQgocR2V0RmVkZXJhdGVkR3JhcGhCeUlkUmVxdWVzdBIKCgJpZBgBIAEoCRIWCg5pbmNsdWRlTWV0cmljcxgCIAEoCCLfAgodR2V0RmVkZXJhdGVkR3JhcGhCeUlkUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIzCgVncmFwaBgCIAEoCzIkLndnLmNvc21vLnBsYXRmb3JtLnYxLkZlZGVyYXRlZEdyYXBoEjEKCXN1YmdyYXBocxgDIAMoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlN1YmdyYXBoEhkKEWdyYXBoUmVxdWVzdFRva2VuGAQgASgJEk8KJGZlYXR1cmVGbGFnc0luTGF0ZXN0VmFsaWRDb21wb3NpdGlvbhgFIAMoCzIhLndnLmNvc21vLnBsYXRmb3JtLnYxLkZlYXR1cmVGbGFnEjgKEGZlYXR1cmVTdWJncmFwaHMYBiADKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TdWJncmFwaCIkChZHZXRTdWJncmFwaEJ5SWRSZXF1ZXN0EgoKAmlkGAEgASgJIrEBChdHZXRTdWJncmFwaEJ5SWRSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEi0KBWdyYXBoGAIgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuU3ViZ3JhcGgSNQoHbWVtYmVycxgDIAMoCzIkLndnLmNvc21vLnBsYXRmb3JtLnYxLlN1YmdyYXBoTWVtYmVyIi8KE0dldE5hbWVzcGFjZVJlcXVlc3QSDAoEbmFtZRgBIAEoCRIKCgJpZBgCIAEoCSJ8ChRHZXROYW1lc3BhY2VSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjIKCW5hbWVzcGFjZRgCIAEoCzIfLndnLmNvc21vLnBsYXRmb3JtLnYxLk5hbWVzcGFjZSKpAQoSV29ya3NwYWNlTmFtZXNwYWNlEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSPQoGZ3JhcGhzGAMgAygLMi0ud2cuY29zbW8ucGxhdGZvcm0udjEuV29ya3NwYWNlRmVkZXJhdGVkR3JhcGgSOgoJc3ViZ3JhcGhzGAQgAygLMicud2cuY29zbW8ucGxhdGZvcm0udjEuV29ya3NwYWNlU3ViZ3JhcGgidAoXV29ya3NwYWNlRmVkZXJhdGVkR3JhcGgSCgoCaWQYASABKAkSEAoIdGFyZ2V0SWQYAiABKAkSDAoEbmFtZRgDIAEoCRISCgppc0NvbnRyYWN0GAQgASgIEhkKEXN1YmdyYXBoVGFyZ2V0SWRzGAUgAygJIooBChFXb3Jrc3BhY2VTdWJncmFwaBIKCgJpZBgBIAEoCRIQCgh0YXJnZXRJZBgCIAEoCRIMCgRuYW1lGAMgASgJEhsKDmJhc2VTdWJncmFwaElkGAQgASgJSACIAQESGQoRaXNGZWF0dXJlU3ViZ3JhcGgYBSABKAhCEQoPX2Jhc2VTdWJncmFwaElkIhUKE0dldFdvcmtzcGFjZVJlcXVlc3QihgEKFEdldFdvcmtzcGFjZVJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USPAoKbmFtZXNwYWNlcxgCIAMoCzIoLndnLmNvc21vLnBsYXRmb3JtLnYxLldvcmtzcGFjZU5hbWVzcGFjZSKfAQofUHVzaENhY2hlV2FybWVyT3BlcmF0aW9uUmVxdWVzdBIaChJmZWRlcmF0ZWRHcmFwaE5hbWUYASABKAkSGAoQb3BlcmF0aW9uQ29udGVudBgCIAEoCRIVCg1vcGVyYXRpb25OYW1lGAMgASgJEhwKFG9wZXJhdGlvblBlcnNpc3RlZElkGAQgASgJEhEKCW5hbWVzcGFjZRgFIAEoCSJUCiBQdXNoQ2FjaGVXYXJtZXJPcGVyYXRpb25SZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIm8KH0dldENhY2hlV2FybWVyT3BlcmF0aW9uc1JlcXVlc3QSGgoSZmVkZXJhdGVkR3JhcGhOYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRINCgVsaW1pdBgDIAEoBRIOCgZvZmZzZXQYBCABKAUiiAIKFENhY2hlV2FybWVyT3BlcmF0aW9uEgoKAmlkGAEgASgJEhgKEG9wZXJhdGlvbkNvbnRlbnQYAiABKAkSFQoNb3BlcmF0aW9uTmFtZRgDIAEoCRIcChRvcGVyYXRpb25QZXJzaXN0ZWRJZBgEIAEoCRIVCg1vcGVyYXRpb25IYXNoGAUgASgJEhIKCmNsaWVudE5hbWUYBiABKAkSFQoNY2xpZW50VmVyc2lvbhgHIAEoCRIUCgxwbGFubmluZ1RpbWUYCCABKAISFwoPaXNNYW51YWxseUFkZGVkGAkgASgIEhEKCWNyZWF0ZWRBdBgKIAEoCRIRCgljcmVhdGVkQnkYCyABKAkixwEKIEdldENhY2hlV2FybWVyT3BlcmF0aW9uc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USPgoKb3BlcmF0aW9ucxgCIAMoCzIqLndnLmNvc21vLnBsYXRmb3JtLnYxLkNhY2hlV2FybWVyT3BlcmF0aW9uEhMKC3RvdGFsX2NvdW50GAMgASgFEhwKFGlzQ2FjaGVXYXJtZXJFbmFibGVkGAQgASgIIlQKI0NvbXB1dGVDYWNoZVdhcm1lck9wZXJhdGlvbnNSZXF1ZXN0EhoKEmZlZGVyYXRlZEdyYXBoTmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkiWAokQ29tcHV0ZUNhY2hlV2FybWVyT3BlcmF0aW9uc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiZwobQ29uZmlndXJlQ2FjaGVXYXJtZXJSZXF1ZXN0EhEKCW5hbWVzcGFjZRgBIAEoCRIZChFlbmFibGVDYWNoZVdhcm1lchgCIAEoCBIaChJtYXhPcGVyYXRpb25zQ291bnQYAyABKAUiUAocQ29uZmlndXJlQ2FjaGVXYXJtZXJSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIjAKG0dldENhY2hlV2FybWVyQ29uZmlnUmVxdWVzdBIRCgluYW1lc3BhY2UYASABKAkiigEKHEdldENhY2hlV2FybWVyQ29uZmlnUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIcChRpc0NhY2hlV2FybWVyRW5hYmxlZBgCIAEoCBIaChJtYXhPcGVyYXRpb25zQ291bnQYAyABKAUiPAonR2V0U3ViZ3JhcGhDaGVja0V4dGVuc2lvbnNDb25maWdSZXF1ZXN0EhEKCW5hbWVzcGFjZRgBIAEoCSKUAwooR2V0U3ViZ3JhcGhDaGVja0V4dGVuc2lvbnNDb25maWdSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEh0KFWlzRW5hYmxlZEZvck5hbWVzcGFjZRgCIAEoCBIkChxpc0xpbnRpbmdFbmFibGVkRm9yTmFtZXNwYWNlGAMgASgIEikKIWlzR3JhcGhQcnVuaW5nRW5hYmxlZEZvck5hbWVzcGFjZRgEIAEoCBIQCghlbmRwb2ludBgFIAEoCRIbChNpc1NlY3JldEtleUFzc2lnbmVkGAYgASgIEhoKEmluY2x1ZGVDb21wb3NlZFNkbBgHIAEoCBIcChRpbmNsdWRlTGludGluZ0lzc3VlcxgIIAEoCBIcChRpbmNsdWRlUHJ1bmluZ0lzc3VlcxgJIAEoCBIcChRpbmNsdWRlU2NoZW1hQ2hhbmdlcxgKIAEoCBIhChlpbmNsdWRlQWZmZWN0ZWRPcGVyYXRpb25zGAsgASgIIrQCCidDb25maWd1cmVTdWJncmFwaENoZWNrRXh0ZW5zaW9uc1JlcXVlc3QSEQoJbmFtZXNwYWNlGAEgASgJEiUKHWVuYWJsZVN1YmdyYXBoQ2hlY2tFeHRlbnNpb25zGAIgASgIEhAKCGVuZHBvaW50GAMgASgJEhYKCXNlY3JldEtleRgEIAEoCUgAiAEBEhoKEmluY2x1ZGVDb21wb3NlZFNkbBgFIAEoCBIcChRpbmNsdWRlTGludGluZ0lzc3VlcxgGIAEoCBIcChRpbmNsdWRlUHJ1bmluZ0lzc3VlcxgHIAEoCBIcChRpbmNsdWRlU2NoZW1hQ2hhbmdlcxgIIAEoCBIhChlpbmNsdWRlQWZmZWN0ZWRPcGVyYXRpb25zGAkgASgIQgwKCl9zZWNyZXRLZXkiXAooQ29uZmlndXJlU3ViZ3JhcGhDaGVja0V4dGVuc2lvbnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIl4KIURlbGV0ZUNhY2hlV2FybWVyT3BlcmF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRIaChJmZWRlcmF0ZWRHcmFwaE5hbWUYAiABKAkSEQoJbmFtZXNwYWNlGAMgASgJIlYKIkRlbGV0ZUNhY2hlV2FybWVyT3BlcmF0aW9uUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSIoCiZMaXN0Um91dGVyQ29tcGF0aWJpbGl0eVZlcnNpb25zUmVxdWVzdCJtCidMaXN0Um91dGVyQ29tcGF0aWJpbGl0eVZlcnNpb25zUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIQCgh2ZXJzaW9ucxgCIAMoCSKxAQopU2V0R3JhcGhSb3V0ZXJDb21wYXRpYmlsaXR5VmVyc2lvblJlcXVlc3QSDAoEbmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSDwoHdmVyc2lvbhgDIAEoCRItCiBkaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbhgEIAEoCEgAiAEBQiMKIV9kaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbiLYAgoqU2V0R3JhcGhSb3V0ZXJDb21wYXRpYmlsaXR5VmVyc2lvblJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USGAoQcHJldmlvdXNfdmVyc2lvbhgCIAEoCRITCgtuZXdfdmVyc2lvbhgDIAEoCRJBChFjb21wb3NpdGlvbkVycm9ycxgEIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uRXJyb3ISPwoQZGVwbG95bWVudEVycm9ycxgFIAMoCzIlLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlcGxveW1lbnRFcnJvchJFChNjb21wb3NpdGlvbldhcm5pbmdzGAYgAygLMigud2cuY29zbW8ucGxhdGZvcm0udjEuQ29tcG9zaXRpb25XYXJuaW5nImsKKUdldFByb3Bvc2VkU2NoZW1hT2ZDaGVja2VkU3ViZ3JhcGhSZXF1ZXN0Eg8KB2NoZWNrSWQYASABKAkSGQoRY2hlY2tlZFN1YmdyYXBoSWQYAiABKAkSEgoKc3ViZ3JhcGhJZBgDIAEoCSJ2CipHZXRQcm9wb3NlZFNjaGVtYU9mQ2hlY2tlZFN1YmdyYXBoUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIWCg5wcm9wb3NlZFNjaGVtYRgCIAEoCSK4AgoIUHJvcG9zYWwSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIRCgljcmVhdGVkQXQYAyABKAkSFgoOY3JlYXRlZEJ5RW1haWwYBCABKAkSDQoFc3RhdGUYBSABKAkSGAoQZmVkZXJhdGVkR3JhcGhJZBgGIAEoCRIaChJmZWRlcmF0ZWRHcmFwaE5hbWUYByABKAkSOQoJc3ViZ3JhcGhzGAggAygLMiYud2cuY29zbW8ucGxhdGZvcm0udjEuUHJvcG9zYWxTdWJncmFwaBIaChJsYXRlc3RDaGVja1N1Y2Nlc3MYCSABKAgSFQoNbGF0ZXN0Q2hlY2tJZBgKIAEoCRI0CgZvcmlnaW4YCyABKA4yJC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Qcm9wb3NhbE9yaWdpbiKCAQoQUHJvcG9zYWxTdWJncmFwaBIMCgRuYW1lGAEgASgJEhEKCXNjaGVtYVNETBgCIAEoCRIRCglpc0RlbGV0ZWQYAyABKAgSDQoFaXNOZXcYBCABKAgSKwoGbGFiZWxzGAUgAygLMhsud2cuY29zbW8ucGxhdGZvcm0udjEuTGFiZWwijwIKFUNyZWF0ZVByb3Bvc2FsUmVxdWVzdBIaChJmZWRlcmF0ZWRHcmFwaE5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJEgwKBG5hbWUYAyABKAkSOQoJc3ViZ3JhcGhzGAQgAygLMiYud2cuY29zbW8ucGxhdGZvcm0udjEuUHJvcG9zYWxTdWJncmFwaBJIChBuYW1pbmdDb252ZW50aW9uGAUgASgOMi4ud2cuY29zbW8ucGxhdGZvcm0udjEuUHJvcG9zYWxOYW1pbmdDb252ZW50aW9uEjQKBm9yaWdpbhgGIAEoDjIkLndnLmNvc21vLnBsYXRmb3JtLnYxLlByb3Bvc2FsT3JpZ2luItAIChZDcmVhdGVQcm9wb3NhbFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USEgoKcHJvcG9zYWxJZBgCIAEoCRIPCgdjaGVja0lkGAMgASgJEjsKD2JyZWFraW5nQ2hhbmdlcxgEIAMoCzIiLndnLmNvc21vLnBsYXRmb3JtLnYxLlNjaGVtYUNoYW5nZRI+ChJub25CcmVha2luZ0NoYW5nZXMYBSADKAsyIi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TY2hlbWFDaGFuZ2USQQoRY29tcG9zaXRpb25FcnJvcnMYBiADKAsyJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbkVycm9yEkUKE2NvbXBvc2l0aW9uV2FybmluZ3MYByADKAsyKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbldhcm5pbmcSMwoKbGludEVycm9ycxgIIAMoCzIfLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpbnRJc3N1ZRI1CgxsaW50V2FybmluZ3MYCSADKAsyHy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MaW50SXNzdWUSQQoQZ3JhcGhQcnVuZUVycm9ycxgKIAMoCzInLndnLmNvc21vLnBsYXRmb3JtLnYxLkdyYXBoUHJ1bmluZ0lzc3VlEkMKEmdyYXBoUHJ1bmVXYXJuaW5ncxgLIAMoCzInLndnLmNvc21vLnBsYXRmb3JtLnYxLkdyYXBoUHJ1bmluZ0lzc3VlEksKE29wZXJhdGlvblVzYWdlU3RhdHMYDCABKAsyLi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DaGVja09wZXJhdGlvblVzYWdlU3RhdHMSFgoObGludGluZ1NraXBwZWQYDSABKAgSGwoTZ3JhcGhQcnVuaW5nU2tpcHBlZBgOIAEoCBIQCghjaGVja1VybBgPIAEoCRITCgtwcm9wb3NhbFVybBgQIAEoCRIUCgxwcm9wb3NhbE5hbWUYESABKAkSJwoaaXNMaW5rZWRUcmFmZmljQ2hlY2tGYWlsZWQYEiABKAhIAIgBARInChppc0xpbmtlZFBydW5pbmdDaGVja0ZhaWxlZBgTIAEoCEgBiAEBEiIKFWhhc0xpbmtlZFNjaGVtYUNoZWNrcxgUIAEoCEgCiAEBElcKHWNvbXBvc2VkU2NoZW1hQnJlYWtpbmdDaGFuZ2VzGBUgAygLMjAud2cuY29zbW8ucGxhdGZvcm0udjEuRmVkZXJhdGVkR3JhcGhTY2hlbWFDaGFuZ2VCHQobX2lzTGlua2VkVHJhZmZpY0NoZWNrRmFpbGVkQh0KG19pc0xpbmtlZFBydW5pbmdDaGVja0ZhaWxlZEIYChZfaGFzTGlua2VkU2NoZW1hQ2hlY2tzIigKEkdldFByb3Bvc2FsUmVxdWVzdBISCgpwcm9wb3NhbElkGAEgASgJIoICChNHZXRQcm9wb3NhbFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USMAoIcHJvcG9zYWwYAiABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Qcm9wb3NhbBJTChBjdXJyZW50U3ViZ3JhcGhzGAMgAygLMjkud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0UHJvcG9zYWxSZXNwb25zZS5DdXJyZW50U3ViZ3JhcGgaMgoPQ3VycmVudFN1YmdyYXBoEgwKBG5hbWUYASABKAkSEQoJc2NoZW1hU0RMGAIgASgJIpcBCiNHZXRQcm9wb3NhbHNCeUZlZGVyYXRlZEdyYXBoUmVxdWVzdBIaChJmZWRlcmF0ZWRHcmFwaE5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJEhEKCXN0YXJ0RGF0ZRgDIAEoCRIPCgdlbmREYXRlGAQgASgJEg0KBWxpbWl0GAUgASgFEg4KBm9mZnNldBgGIAEoBSK7AQokR2V0UHJvcG9zYWxzQnlGZWRlcmF0ZWRHcmFwaFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USMQoJcHJvcG9zYWxzGAIgAygLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUHJvcG9zYWwSGgoSaXNQcm9wb3NhbHNFbmFibGVkGAMgASgIEhIKCnRvdGFsQ291bnQYBCABKAUicQoYR2V0UHJvcG9zYWxDaGVja3NSZXF1ZXN0EhIKCnByb3Bvc2FsSWQYASABKAkSDQoFbGltaXQYAiABKAUSDgoGb2Zmc2V0GAMgASgFEhEKCXN0YXJ0RGF0ZRgEIAEoCRIPCgdlbmREYXRlGAUgASgJIpoBChlHZXRQcm9wb3NhbENoZWNrc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USMQoGY2hlY2tzGAIgAygLMiEud2cuY29zbW8ucGxhdGZvcm0udjEuU2NoZW1hQ2hlY2sSGAoQdG90YWxDaGVja3NDb3VudBgDIAEoBSK1AgoVVXBkYXRlUHJvcG9zYWxSZXF1ZXN0EhQKDHByb3Bvc2FsTmFtZRgBIAEoCRIaChJmZWRlcmF0ZWRHcmFwaE5hbWUYAiABKAkSDwoFc3RhdGUYAyABKAlIABJfChB1cGRhdGVkU3ViZ3JhcGhzGAQgASgLMkMud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlUHJvcG9zYWxSZXF1ZXN0LlVwZGF0ZVByb3Bvc2FsU3ViZ3JhcGhzSAASEQoJbmFtZXNwYWNlGAUgASgJGlQKF1VwZGF0ZVByb3Bvc2FsU3ViZ3JhcGhzEjkKCXN1YmdyYXBocxgBIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLlByb3Bvc2FsU3ViZ3JhcGhCDwoNdXBkYXRlX2FjdGlvbiKRCAoWVXBkYXRlUHJvcG9zYWxSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEg8KB2NoZWNrSWQYAiABKAkSOwoPYnJlYWtpbmdDaGFuZ2VzGAMgAygLMiIud2cuY29zbW8ucGxhdGZvcm0udjEuU2NoZW1hQ2hhbmdlEj4KEm5vbkJyZWFraW5nQ2hhbmdlcxgEIAMoCzIiLndnLmNvc21vLnBsYXRmb3JtLnYxLlNjaGVtYUNoYW5nZRJBChFjb21wb3NpdGlvbkVycm9ycxgFIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uRXJyb3ISRQoTY29tcG9zaXRpb25XYXJuaW5ncxgGIAMoCzIoLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uV2FybmluZxIzCgpsaW50RXJyb3JzGAcgAygLMh8ud2cuY29zbW8ucGxhdGZvcm0udjEuTGludElzc3VlEjUKDGxpbnRXYXJuaW5ncxgIIAMoCzIfLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpbnRJc3N1ZRJBChBncmFwaFBydW5lRXJyb3JzGAkgAygLMicud2cuY29zbW8ucGxhdGZvcm0udjEuR3JhcGhQcnVuaW5nSXNzdWUSQwoSZ3JhcGhQcnVuZVdhcm5pbmdzGAogAygLMicud2cuY29zbW8ucGxhdGZvcm0udjEuR3JhcGhQcnVuaW5nSXNzdWUSSwoTb3BlcmF0aW9uVXNhZ2VTdGF0cxgLIAEoCzIuLndnLmNvc21vLnBsYXRmb3JtLnYxLkNoZWNrT3BlcmF0aW9uVXNhZ2VTdGF0cxIWCg5saW50aW5nU2tpcHBlZBgMIAEoCBIbChNncmFwaFBydW5pbmdTa2lwcGVkGA0gASgIEhAKCGNoZWNrVXJsGA4gASgJEicKGmlzTGlua2VkVHJhZmZpY0NoZWNrRmFpbGVkGA8gASgISACIAQESJwoaaXNMaW5rZWRQcnVuaW5nQ2hlY2tGYWlsZWQYECABKAhIAYgBARIiChVoYXNMaW5rZWRTY2hlbWFDaGVja3MYESABKAhIAogBARJXCh1jb21wb3NlZFNjaGVtYUJyZWFraW5nQ2hhbmdlcxgSIAMoCzIwLndnLmNvc21vLnBsYXRmb3JtLnYxLkZlZGVyYXRlZEdyYXBoU2NoZW1hQ2hhbmdlQh0KG19pc0xpbmtlZFRyYWZmaWNDaGVja0ZhaWxlZEIdChtfaXNMaW5rZWRQcnVuaW5nQ2hlY2tGYWlsZWRCGAoWX2hhc0xpbmtlZFNjaGVtYUNoZWNrcyJQCiJFbmFibGVQcm9wb3NhbHNGb3JOYW1lc3BhY2VSZXF1ZXN0EhEKCW5hbWVzcGFjZRgBIAEoCRIXCg9lbmFibGVQcm9wb3NhbHMYAiABKAgiVwojRW5hYmxlUHJvcG9zYWxzRm9yTmFtZXNwYWNlUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSK+AQonQ29uZmlndXJlTmFtZXNwYWNlUHJvcG9zYWxDb25maWdSZXF1ZXN0EhEKCW5hbWVzcGFjZRgBIAEoCRI+ChJjaGVja1NldmVyaXR5TGV2ZWwYAiABKA4yIi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MaW50U2V2ZXJpdHkSQAoUcHVibGlzaFNldmVyaXR5TGV2ZWwYAyABKA4yIi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MaW50U2V2ZXJpdHkiXAooQ29uZmlndXJlTmFtZXNwYWNlUHJvcG9zYWxDb25maWdSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIjYKIUdldE5hbWVzcGFjZVByb3Bvc2FsQ29uZmlnUmVxdWVzdBIRCgluYW1lc3BhY2UYASABKAki6QEKIkdldE5hbWVzcGFjZVByb3Bvc2FsQ29uZmlnUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIPCgdlbmFibGVkGAIgASgIEj4KEmNoZWNrU2V2ZXJpdHlMZXZlbBgDIAEoDjIiLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpbnRTZXZlcml0eRJAChRwdWJsaXNoU2V2ZXJpdHlMZXZlbBgEIAEoDjIiLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpbnRTZXZlcml0eSKrAQobTmFtZXNwYWNlTG9naW5NZXRob2RNYXBwaW5nEhQKDG5hbWVzcGFjZV9pZBgBIAEoCRIgChhhbGxvd2VkX3Nzb19wcm92aWRlcl9pZHMYAiADKAkSHAoUYWxsb3dfcGFzc3dvcmRfbG9naW4YAyABKAgSGgoSYWxsb3dfZ29vZ2xlX2xvZ2luGAQgASgIEhoKEmFsbG93X2dpdGh1Yl9sb2dpbhgFIAEoCCJpCiJVcGRhdGVOYW1lc3BhY2VMb2dpbk1ldGhvZHNSZXF1ZXN0EkMKCG1hcHBpbmdzGAEgAygLMjEud2cuY29zbW8ucGxhdGZvcm0udjEuTmFtZXNwYWNlTG9naW5NZXRob2RNYXBwaW5nIlcKI1VwZGF0ZU5hbWVzcGFjZUxvZ2luTWV0aG9kc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiIgogTGlzdE5hbWVzcGFjZUxvZ2luTWV0aG9kc1JlcXVlc3QimgEKIUxpc3ROYW1lc3BhY2VMb2dpbk1ldGhvZHNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEkMKCG1hcHBpbmdzGAIgAygLMjEud2cuY29zbW8ucGxhdGZvcm0udjEuTmFtZXNwYWNlTG9naW5NZXRob2RNYXBwaW5nIqkBChhPcmdhbml6YXRpb25Mb2dpbk1ldGhvZHMSIAoYYWxsb3dlZF9zc29fcHJvdmlkZXJfaWRzGAEgAygJEhwKFGFsbG93X3Bhc3N3b3JkX2xvZ2luGAIgASgIEhoKEmFsbG93X2dvb2dsZV9sb2dpbhgDIAEoCBIaChJhbGxvd19naXRodWJfbG9naW4YBCABKAgSFQoNaXNfcmVzdHJpY3RlZBgFIAEoCCIkCiJHZXRPcmdhbml6YXRpb25Mb2dpbk1ldGhvZHNSZXF1ZXN0Ip4BCiNHZXRPcmdhbml6YXRpb25Mb2dpbk1ldGhvZHNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEkUKDWxvZ2luX21ldGhvZHMYAiABKAsyLi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Pcmdhbml6YXRpb25Mb2dpbk1ldGhvZHMiwgEKJVVwZGF0ZU9yZ2FuaXphdGlvbkxvZ2luTWV0aG9kc1JlcXVlc3QSIAoYYWxsb3dlZF9zc29fcHJvdmlkZXJfaWRzGAEgAygJEhwKFGFsbG93X3Bhc3N3b3JkX2xvZ2luGAIgASgIEhoKEmFsbG93X2dvb2dsZV9sb2dpbhgDIAEoCBIaChJhbGxvd19naXRodWJfbG9naW4YBCABKAgSIQoZY29uZmlybV9uYW1lc3BhY2VfY2hhbmdlcxgFIAEoCCK3AQomVXBkYXRlT3JnYW5pemF0aW9uTG9naW5NZXRob2RzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIdChVyZXF1aXJlc19jb25maXJtYXRpb24YAiABKAgSPAoTYWZmZWN0ZWRfbmFtZXNwYWNlcxgDIAMoCzIfLndnLmNvc21vLnBsYXRmb3JtLnYxLk5hbWVzcGFjZSLoBQoUR2V0T3BlcmF0aW9uc1JlcXVlc3QSGgoSZmVkZXJhdGVkR3JhcGhOYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRITCgtjbGllbnROYW1lcxgDIAMoCRISCgVsaW1pdBgEIAEoBUgAiAEBEhMKBm9mZnNldBgFIAEoBUgBiAEBEicKGmluY2x1ZGVIYXNEZXByZWNhdGVkRmllbGRzGAYgASgISAKIAQESRwoMZmV0Y2hCYXNlZE9uGAcgASgOMiwud2cuY29zbW8ucGxhdGZvcm0udjEuT3BlcmF0aW9uc0ZldGNoQmFzZWRPbkgDiAEBEhsKDmluY2x1ZGVDb250ZW50GAggASgISASIAQESEgoFcmFuZ2UYCSABKAVIBYgBARI3CglkYXRlUmFuZ2UYCiABKAsyHy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EYXRlUmFuZ2VIBogBARIYCgtzZWFyY2hRdWVyeRgLIAEoCUgHiAEBEjYKKWluY2x1ZGVPcGVyYXRpb25zV2l0aERlcHJlY2F0ZWRGaWVsZHNPbmx5GAwgASgISAiIAQESPwoNc29ydERpcmVjdGlvbhgNIAEoDjIjLndnLmNvc21vLnBsYXRmb3JtLnYxLlNvcnREaXJlY3Rpb25ICYgBARIeChFpbmNsdWRlVG90YWxDb3VudBgOIAEoCEgKiAEBQggKBl9saW1pdEIJCgdfb2Zmc2V0Qh0KG19pbmNsdWRlSGFzRGVwcmVjYXRlZEZpZWxkc0IPCg1fZmV0Y2hCYXNlZE9uQhEKD19pbmNsdWRlQ29udGVudEIICgZfcmFuZ2VCDAoKX2RhdGVSYW5nZUIOCgxfc2VhcmNoUXVlcnlCLAoqX2luY2x1ZGVPcGVyYXRpb25zV2l0aERlcHJlY2F0ZWRGaWVsZHNPbmx5QhAKDl9zb3J0RGlyZWN0aW9uQhQKEl9pbmNsdWRlVG90YWxDb3VudCKXBAoVR2V0T3BlcmF0aW9uc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USSQoKb3BlcmF0aW9ucxgCIAMoCzI1LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE9wZXJhdGlvbnNSZXNwb25zZS5PcGVyYXRpb24SFwoKdG90YWxDb3VudBgDIAEoBUgAiAEBGpwCCglPcGVyYXRpb24SDAoEaGFzaBgBIAEoCRIMCgRuYW1lGAIgASgJEhQKB2NvbnRlbnQYAyABKAlIAYgBARJHCgR0eXBlGAQgASgOMjkud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3BlcmF0aW9uc1Jlc3BvbnNlLk9wZXJhdGlvblR5cGUSIAoTaGFzRGVwcmVjYXRlZEZpZWxkcxgFIAEoCEgCiAEBEhEKB2xhdGVuY3kYBiABKAJIABIWCgxyZXF1ZXN0Q291bnQYByABKANIABIZCg9lcnJvclBlcmNlbnRhZ2UYCCABKAJIAEIICgZtZXRyaWNCCgoIX2NvbnRlbnRCFgoUX2hhc0RlcHJlY2F0ZWRGaWVsZHMiOgoNT3BlcmF0aW9uVHlwZRIJCgVRVUVSWRAAEgwKCE1VVEFUSU9OEAESEAoMU1VCU0NSSVBUSU9OEAJCDQoLX3RvdGFsQ291bnQiTwoeR2V0Q2xpZW50c0Zyb21BbmFseXRpY3NSZXF1ZXN0EhoKEmZlZGVyYXRlZEdyYXBoTmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkiugEKH0dldENsaWVudHNGcm9tQW5hbHl0aWNzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJNCgdjbGllbnRzGAIgAygLMjwud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0Q2xpZW50c0Zyb21BbmFseXRpY3NSZXNwb25zZS5DbGllbnQaFgoGQ2xpZW50EgwKBG5hbWUYASABKAki3gEKGkdldE9wZXJhdGlvbkNsaWVudHNSZXF1ZXN0EhoKEmZlZGVyYXRlZEdyYXBoTmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSFQoNb3BlcmF0aW9uSGFzaBgDIAEoCRIVCg1vcGVyYXRpb25OYW1lGAQgASgJEhIKBXJhbmdlGAUgASgFSACIAQESNwoJZGF0ZVJhbmdlGAYgASgLMh8ud2cuY29zbW8ucGxhdGZvcm0udjEuRGF0ZVJhbmdlSAGIAQFCCAoGX3JhbmdlQgwKCl9kYXRlUmFuZ2Ui6wEKG0dldE9wZXJhdGlvbkNsaWVudHNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEkkKB2NsaWVudHMYAiADKAsyOC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcGVyYXRpb25DbGllbnRzUmVzcG9uc2UuQ2xpZW50Gk8KBkNsaWVudBIMCgRuYW1lGAEgASgJEg8KB3ZlcnNpb24YAiABKAkSFAoMcmVxdWVzdENvdW50GAMgASgDEhAKCGxhc3RVc2VkGAQgASgJIv4BCiNHZXRPcGVyYXRpb25EZXByZWNhdGVkRmllbGRzUmVxdWVzdBIaChJmZWRlcmF0ZWRHcmFwaE5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJEhUKDW9wZXJhdGlvbkhhc2gYAyABKAkSGgoNb3BlcmF0aW9uTmFtZRgEIAEoCUgAiAEBEhIKBXJhbmdlGAUgASgFSAGIAQESNwoJZGF0ZVJhbmdlGAYgASgLMh8ud2cuY29zbW8ucGxhdGZvcm0udjEuRGF0ZVJhbmdlSAKIAQFCEAoOX29wZXJhdGlvbk5hbWVCCAoGX3JhbmdlQgwKCl9kYXRlUmFuZ2UinwIKJEdldE9wZXJhdGlvbkRlcHJlY2F0ZWRGaWVsZHNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEmQKEGRlcHJlY2F0ZWRGaWVsZHMYAiADKAsySi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcGVyYXRpb25EZXByZWNhdGVkRmllbGRzUmVzcG9uc2UuRGVwcmVjYXRlZEZpZWxkGl8KD0RlcHJlY2F0ZWRGaWVsZBIRCglmaWVsZE5hbWUYASABKAkSEAoIdHlwZU5hbWUYAiABKAkSDAoEcGF0aBgDIAEoCRIZChFkZXByZWNhdGlvblJlYXNvbhgEIAEoCSJxCiFWYWxpZGF0ZUFuZEZldGNoUGx1Z2luRGF0YVJlcXVlc3QSDAoEbmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSKwoGbGFiZWxzGAMgAygLMhsud2cuY29zbW8ucGxhdGZvcm0udjEuTGFiZWwikAEKIlZhbGlkYXRlQW5kRmV0Y2hQbHVnaW5EYXRhUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRISCgpuZXdWZXJzaW9uGAIgASgJEhEKCXB1c2hUb2tlbhgDIAEoCRIRCglyZWZlcmVuY2UYBCABKAkijwEKE0xpbmtTdWJncmFwaFJlcXVlc3QSGgoSc291cmNlU3ViZ3JhcGhOYW1lGAEgASgJEh8KF3NvdXJjZVN1YmdyYXBoTmFtZXNwYWNlGAIgASgJEhoKEnRhcmdldFN1YmdyYXBoTmFtZRgDIAEoCRIfChd0YXJnZXRTdWJncmFwaE5hbWVzcGFjZRgEIAEoCSJIChRMaW5rU3ViZ3JhcGhSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIlQKFVVubGlua1N1YmdyYXBoUmVxdWVzdBIaChJzb3VyY2VTdWJncmFwaE5hbWUYASABKAkSHwoXc291cmNlU3ViZ3JhcGhOYW1lc3BhY2UYAiABKAkiSgoWVW5saW5rU3ViZ3JhcGhSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIjoKHlZlcmlmeUFQSUtleUdyYXBoQWNjZXNzUmVxdWVzdBIYChBmZWRlcmF0ZWRHcmFwaElkGAEgASgJIqYBCh9WZXJpZnlBUElLZXlHcmFwaEFjY2Vzc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USMgoqaGFzT3JnYW5pemF0aW9uQWRtaW5PckRldmVsb3BlclBlcm1pc3Npb25zGAIgASgIEh0KFWhhc1dyaXRlQWNjZXNzVG9HcmFwaBgDIAEoCCIrChpJbml0aWFsaXplQ29zbW9Vc2VyUmVxdWVzdBINCgV0b2tlbhgBIAEoCSJPChtJbml0aWFsaXplQ29zbW9Vc2VyUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSIaChhMaXN0T3JnYW5pemF0aW9uc1JlcXVlc3Qi/QEKGUxpc3RPcmdhbml6YXRpb25zUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJdCg1vcmdhbml6YXRpb25zGAIgAygLMkYud2cuY29zbW8ucGxhdGZvcm0udjEuTGlzdE9yZ2FuaXphdGlvbnNSZXNwb25zZS5Pcmdhbml6YXRpb25NZW1iZXJzaGlwGk8KFk9yZ2FuaXphdGlvbk1lbWJlcnNoaXASCgoCaWQYASABKAkSDAoEc2x1ZxgCIAEoCRIMCgRuYW1lGAMgASgJEg0KBXJvbGVzGAQgAygJIsABChVSZWNvbXBvc2VHcmFwaFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSFAoMaXNfbW9ub2dyYXBoGAMgASgIEhIKBWxpbWl0GAQgASgFSACIAQESLQogZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24YBSABKAhIAYgBAUIICgZfbGltaXRCIwohX2Rpc2FibGVfcmVzb2x2YWJpbGl0eV92YWxpZGF0aW9uIusCChZSZWNvbXBvc2VHcmFwaFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USQQoRY29tcG9zaXRpb25FcnJvcnMYAiADKAsyJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbkVycm9yEj8KEGRlcGxveW1lbnRFcnJvcnMYAyADKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZXBsb3ltZW50RXJyb3ISRQoTY29tcG9zaXRpb25XYXJuaW5ncxgEIAMoCzIoLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uV2FybmluZxJECgtlcnJvckNvdW50cxgFIAEoCzIqLndnLmNvc21vLnBsYXRmb3JtLnYxLlN1YmdyYXBoUHVibGlzaFN0YXRzSACIAQFCDgoMX2Vycm9yQ291bnRzIrABChtSZWNvbXBvc2VGZWF0dXJlRmxhZ1JlcXVlc3QSDAoEbmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSEgoFbGltaXQYAyABKAVIAIgBARItCiBkaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbhgFIAEoCEgBiAEBQggKBl9saW1pdEIjCiFfZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24i8QIKHFJlY29tcG9zZUZlYXR1cmVGbGFnUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJBChFjb21wb3NpdGlvbkVycm9ycxgCIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uRXJyb3ISPwoQZGVwbG95bWVudEVycm9ycxgDIAMoCzIlLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlcGxveW1lbnRFcnJvchJFChNjb21wb3NpdGlvbldhcm5pbmdzGAQgAygLMigud2cuY29zbW8ucGxhdGZvcm0udjEuQ29tcG9zaXRpb25XYXJuaW5nEkQKC2Vycm9yQ291bnRzGAUgASgLMioud2cuY29zbW8ucGxhdGZvcm0udjEuU3ViZ3JhcGhQdWJsaXNoU3RhdHNIAIgBAUIOCgxfZXJyb3JDb3VudHMiFgoUR2V0T25ib2FyZGluZ1JlcXVlc3QioAEKFUdldE9uYm9hcmRpbmdSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEhcKCmZpbmlzaGVkQXQYAyABKAlIAIgBARIcChRmZWRlcmF0ZWRHcmFwaHNDb3VudBgEIAEoBRIPCgdlbmFibGVkGAUgASgIQg0KC19maW5pc2hlZEF0IhkKF0NyZWF0ZU9uYm9hcmRpbmdSZXF1ZXN0IpIBChhDcmVhdGVPbmJvYXJkaW5nUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIXCgpmaW5pc2hlZEF0GAIgASgJSACIAQESHAoUZmVkZXJhdGVkR3JhcGhzQ291bnQYAyABKAVCDQoLX2ZpbmlzaGVkQXQiGQoXRmluaXNoT25ib2FyZGluZ1JlcXVlc3QifgoYRmluaXNoT25ib2FyZGluZ1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USHAoUZmVkZXJhdGVkR3JhcGhzQ291bnQYAiABKAUSEgoKZmluaXNoZWRBdBgDIAEoCSpPChVCYXRjaFB1Ymxpc2hKb2JTdGF0dXMSCwoHUEVORElORxAAEg4KClBST0NFU1NJTkcQARIKCgZGQUlMRUQQAhINCglDT01QTEVURUQQAyojCgxMaW50U2V2ZXJpdHkSCAoEd2FybhAAEgkKBWVycm9yEAEqPwoMU3ViZ3JhcGhUeXBlEgwKCFNUQU5EQVJEEAASDwoLR1JQQ19QTFVHSU4QARIQCgxHUlBDX1NFUlZJQ0UQAipVChZBbmFseXRpY3NWaWV3R3JvdXBOYW1lEggKBE5vbmUQABIRCg1PcGVyYXRpb25OYW1lEAESCgoGQ2xpZW50EAISEgoOSHR0cFN0YXR1c0NvZGUQAyoxCg1DdXN0b21PcHRpb25zEggKBFRleHQQABIJCgVSYW5nZRABEgsKB0Jvb2xlYW4QAiqOAQoEVW5pdBIPCgtVbnNwZWNpZmllZBAAEg8KC05hbm9zZWNvbmRzEAESEQoNVW5peFRpbWVzdGFtcBACEgkKBUJ5dGVzEAMSDQoJQ29kZUJsb2NrEAQSDgoKU3RhdHVzQ29kZRAFEgsKB1RyYWNlSUQQBhIKCgZTcGFuSUQQBxIOCgpQZXJjZW50YWdlEAgq/QEKG0FuYWx5dGljc1ZpZXdGaWx0ZXJPcGVyYXRvchIKCgZFUVVBTFMQABIOCgpOT1RfRVFVQUxTEAESEAoMR1JFQVRFUl9USEFOEAISDQoJTEVTU19USEFOEAMSGQoVR1JFQVRFUl9USEFOX09SX0VRVUFMEAQSFgoSTEVTU19USEFOX09SX0VRVUFMEAUSDAoIQ09OVEFJTlMQBhIQCgxOT1RfQ09OVEFJTlMQBxIGCgJJThAIEgoKBk5PVF9JThAJEgsKB0JFVFdFRU4QChIPCgtOT1RfQkVUV0VFThALEgsKB0lTX05VTEwQDBIPCgtJU19OT1RfTlVMTBANKkUKCUV4cGlyZXNBdBIJCgVORVZFUhAAEg8KC1RISVJUWV9EQVlTEAESDgoKU0lYX01PTlRIUxACEgwKCE9ORV9ZRUFSEAMqrAEKD0xvZ2luTWV0aG9kVHlwZRIhCh1MT0dJTl9NRVRIT0RfVFlQRV9VTlNQRUNJRklFRBAAEhkKFUxPR0lOX01FVEhPRF9UWVBFX1NTTxABEh4KGkxPR0lOX01FVEhPRF9UWVBFX1BBU1NXT1JEEAISHQoZTE9HSU5fTUVUSE9EX1RZUEVfQVBJX0tFWRADEhwKGExPR0lOX01FVEhPRF9UWVBFX1NPQ0lBTBAEKoABChNTb2NpYWxMb2dpblByb3ZpZGVyEiUKIVNPQ0lBTF9MT0dJTl9QUk9WSURFUl9VTlNQRUNJRklFRBAAEiAKHFNPQ0lBTF9MT0dJTl9QUk9WSURFUl9HT09HTEUQARIgChxTT0NJQUxfTE9HSU5fUFJPVklERVJfR0lUSFVCEAIqRQoYUHVibGlzaGVkT3BlcmF0aW9uU3RhdHVzEg4KClVQX1RPX0RBVEUQABILCgdDUkVBVEVEEAESDAoIQ09ORkxJQ1QQAiocCg9JbnRlZ3JhdGlvblR5cGUSCQoFU0xBQ0sQAColCgdGZWF0dXJlEggKBHJiYWMQABIGCgJhaRABEggKBHNjaW0QAiosCg5Qcm9wb3NhbE9yaWdpbhIMCghJTlRFUk5BTBAAEgwKCEVYVEVSTkFMEAEqNwoYUHJvcG9zYWxOYW1pbmdDb252ZW50aW9uEgoKBk5PUk1BTBAAEg8KC0lOQ1JFTUVOVEFMEAEqPwoWT3BlcmF0aW9uc0ZldGNoQmFzZWRPbhIMCghSRVFVRVNUUxAAEgsKB0xBVEVOQ1kQARIKCgZFUlJPUlMQAioiCg1Tb3J0RGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQATLKyQEKD1BsYXRmb3JtU2VydmljZRKFAQoWQ3JlYXRlUGxheWdyb3VuZFNjcmlwdBIzLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZVBsYXlncm91bmRTY3JpcHRSZXF1ZXN0GjQud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlUGxheWdyb3VuZFNjcmlwdFJlc3BvbnNlIgAShQEKFkRlbGV0ZVBsYXlncm91bmRTY3JpcHQSMy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVQbGF5Z3JvdW5kU2NyaXB0UmVxdWVzdBo0LndnLmNvc21vLnBsYXRmb3JtLnYxLkRlbGV0ZVBsYXlncm91bmRTY3JpcHRSZXNwb25zZSIAEoUBChZVcGRhdGVQbGF5Z3JvdW5kU2NyaXB0EjMud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlUGxheWdyb3VuZFNjcmlwdFJlcXVlc3QaNC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGRhdGVQbGF5Z3JvdW5kU2NyaXB0UmVzcG9uc2UiABJ/ChRHZXRQbGF5Z3JvdW5kU2NyaXB0cxIxLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFBsYXlncm91bmRTY3JpcHRzUmVxdWVzdBoyLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFBsYXlncm91bmRTY3JpcHRzUmVzcG9uc2UiABJwCg9DcmVhdGVOYW1lc3BhY2USLC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVOYW1lc3BhY2VSZXF1ZXN0Gi0ud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlTmFtZXNwYWNlUmVzcG9uc2UiABJwCg9EZWxldGVOYW1lc3BhY2USLC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVOYW1lc3BhY2VSZXF1ZXN0Gi0ud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlTmFtZXNwYWNlUmVzcG9uc2UiABJwCg9SZW5hbWVOYW1lc3BhY2USLC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZW5hbWVOYW1lc3BhY2VSZXF1ZXN0Gi0ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVuYW1lTmFtZXNwYWNlUmVzcG9uc2UiABJqCg1HZXROYW1lc3BhY2VzEioud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0TmFtZXNwYWNlc1JlcXVlc3QaKy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXROYW1lc3BhY2VzUmVzcG9uc2UiABJnCgxHZXROYW1lc3BhY2USKS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXROYW1lc3BhY2VSZXF1ZXN0Gioud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0TmFtZXNwYWNlUmVzcG9uc2UiABJnCgxHZXRXb3Jrc3BhY2USKS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRXb3Jrc3BhY2VSZXF1ZXN0Gioud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0V29ya3NwYWNlUmVzcG9uc2UiABJtCg5DcmVhdGVDb250cmFjdBIrLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZUNvbnRyYWN0UmVxdWVzdBosLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZUNvbnRyYWN0UmVzcG9uc2UiABJtCg5VcGRhdGVDb250cmFjdBIrLndnLmNvc21vLnBsYXRmb3JtLnYxLlVwZGF0ZUNvbnRyYWN0UmVxdWVzdBosLndnLmNvc21vLnBsYXRmb3JtLnYxLlVwZGF0ZUNvbnRyYWN0UmVzcG9uc2UiABJnChJNb3ZlRmVkZXJhdGVkR3JhcGgSJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Nb3ZlR3JhcGhSZXF1ZXN0Gicud2cuY29zbW8ucGxhdGZvcm0udjEuTW92ZUdyYXBoUmVzcG9uc2UiABJhCgxNb3ZlU3ViZ3JhcGgSJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Nb3ZlR3JhcGhSZXF1ZXN0Gicud2cuY29zbW8ucGxhdGZvcm0udjEuTW92ZUdyYXBoUmVzcG9uc2UiABJiCg1Nb3ZlTW9ub2dyYXBoEiYud2cuY29zbW8ucGxhdGZvcm0udjEuTW92ZUdyYXBoUmVxdWVzdBonLndnLmNvc21vLnBsYXRmb3JtLnYxLk1vdmVHcmFwaFJlc3BvbnNlIgAScAoPQ3JlYXRlTW9ub2dyYXBoEiwud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlTW9ub2dyYXBoUmVxdWVzdBotLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZU1vbm9ncmFwaFJlc3BvbnNlIgAScwoQUHVibGlzaE1vbm9ncmFwaBItLndnLmNvc21vLnBsYXRmb3JtLnYxLlB1Ymxpc2hNb25vZ3JhcGhSZXF1ZXN0Gi4ud2cuY29zbW8ucGxhdGZvcm0udjEuUHVibGlzaE1vbm9ncmFwaFJlc3BvbnNlIgAScAoPRGVsZXRlTW9ub2dyYXBoEiwud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlTW9ub2dyYXBoUmVxdWVzdBotLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlbGV0ZU1vbm9ncmFwaFJlc3BvbnNlIgAScAoPVXBkYXRlTW9ub2dyYXBoEiwud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlTW9ub2dyYXBoUmVxdWVzdBotLndnLmNvc21vLnBsYXRmb3JtLnYxLlVwZGF0ZU1vbm9ncmFwaFJlc3BvbnNlIgAScwoQTWlncmF0ZU1vbm9ncmFwaBItLndnLmNvc21vLnBsYXRmb3JtLnYxLk1pZ3JhdGVNb25vZ3JhcGhSZXF1ZXN0Gi4ud2cuY29zbW8ucGxhdGZvcm0udjEuTWlncmF0ZU1vbm9ncmFwaFJlc3BvbnNlIgASiAEKF0NyZWF0ZUZlZGVyYXRlZFN1YmdyYXBoEjQud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlRmVkZXJhdGVkU3ViZ3JhcGhSZXF1ZXN0GjUud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlRmVkZXJhdGVkU3ViZ3JhcGhSZXNwb25zZSIAEosBChhDcmVhdGVGZWRlcmF0ZWRTdWJncmFwaHMSNS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVGZWRlcmF0ZWRTdWJncmFwaHNSZXF1ZXN0GjYud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlRmVkZXJhdGVkU3ViZ3JhcGhzUmVzcG9uc2UiABKLAQoYUHVibGlzaEZlZGVyYXRlZFN1YmdyYXBoEjUud2cuY29zbW8ucGxhdGZvcm0udjEuUHVibGlzaEZlZGVyYXRlZFN1YmdyYXBoUmVxdWVzdBo2LndnLmNvc21vLnBsYXRmb3JtLnYxLlB1Ymxpc2hGZWRlcmF0ZWRTdWJncmFwaFJlc3BvbnNlIgASjgEKGVB1Ymxpc2hGZWRlcmF0ZWRTdWJncmFwaHMSNi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5QdWJsaXNoRmVkZXJhdGVkU3ViZ3JhcGhzUmVxdWVzdBo3LndnLmNvc21vLnBsYXRmb3JtLnYxLlB1Ymxpc2hGZWRlcmF0ZWRTdWJncmFwaHNSZXNwb25zZSIAEosBChhHZXRCYXRjaFB1Ymxpc2hKb2JTdGF0dXMSNS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRCYXRjaFB1Ymxpc2hKb2JTdGF0dXNSZXF1ZXN0GjYud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0QmF0Y2hQdWJsaXNoSm9iU3RhdHVzUmVzcG9uc2UiABJ/ChRDcmVhdGVGZWRlcmF0ZWRHcmFwaBIxLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZUZlZGVyYXRlZEdyYXBoUmVxdWVzdBoyLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZUZlZGVyYXRlZEdyYXBoUmVzcG9uc2UiABJ/ChREZWxldGVGZWRlcmF0ZWRHcmFwaBIxLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlbGV0ZUZlZGVyYXRlZEdyYXBoUmVxdWVzdBoyLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlbGV0ZUZlZGVyYXRlZEdyYXBoUmVzcG9uc2UiABKIAQoXRGVsZXRlRmVkZXJhdGVkU3ViZ3JhcGgSNC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVGZWRlcmF0ZWRTdWJncmFwaFJlcXVlc3QaNS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVGZWRlcmF0ZWRTdWJncmFwaFJlc3BvbnNlIgASfAoTQ2hlY2tTdWJncmFwaFNjaGVtYRIwLndnLmNvc21vLnBsYXRmb3JtLnYxLkNoZWNrU3ViZ3JhcGhTY2hlbWFSZXF1ZXN0GjEud2cuY29zbW8ucGxhdGZvcm0udjEuQ2hlY2tTdWJncmFwaFNjaGVtYVJlc3BvbnNlIgASqQEKIkdldFByb3Bvc2VkU2NoZW1hT2ZDaGVja2VkU3ViZ3JhcGgSPy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRQcm9wb3NlZFNjaGVtYU9mQ2hlY2tlZFN1YmdyYXBoUmVxdWVzdBpALndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFByb3Bvc2VkU2NoZW1hT2ZDaGVja2VkU3ViZ3JhcGhSZXNwb25zZSIAEnYKEUZpeFN1YmdyYXBoU2NoZW1hEi4ud2cuY29zbW8ucGxhdGZvcm0udjEuRml4U3ViZ3JhcGhTY2hlbWFSZXF1ZXN0Gi8ud2cuY29zbW8ucGxhdGZvcm0udjEuRml4U3ViZ3JhcGhTY2hlbWFSZXNwb25zZSIAEn8KFFVwZGF0ZUZlZGVyYXRlZEdyYXBoEjEud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlRmVkZXJhdGVkR3JhcGhSZXF1ZXN0GjIud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlRmVkZXJhdGVkR3JhcGhSZXNwb25zZSIAEm0KDlVwZGF0ZVN1YmdyYXBoEisud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlU3ViZ3JhcGhSZXF1ZXN0Giwud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlU3ViZ3JhcGhSZXNwb25zZSIAEnwKE0NoZWNrRmVkZXJhdGVkR3JhcGgSMC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DaGVja0ZlZGVyYXRlZEdyYXBoUmVxdWVzdBoxLndnLmNvc21vLnBsYXRmb3JtLnYxLkNoZWNrRmVkZXJhdGVkR3JhcGhSZXNwb25zZSIAElUKBldob0FtSRIjLndnLmNvc21vLnBsYXRmb3JtLnYxLldob0FtSVJlcXVlc3QaJC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5XaG9BbUlSZXNwb25zZSIAEnwKE0dlbmVyYXRlUm91dGVyVG9rZW4SMC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZW5lcmF0ZVJvdXRlclRva2VuUmVxdWVzdBoxLndnLmNvc21vLnBsYXRmb3JtLnYxLkdlbmVyYXRlUm91dGVyVG9rZW5SZXNwb25zZSIAEnAKD0dldFJvdXRlclRva2VucxIsLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFJvdXRlclRva2Vuc1JlcXVlc3QaLS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRSb3V0ZXJUb2tlbnNSZXNwb25zZSIAEnYKEURlbGV0ZVJvdXRlclRva2VuEi4ud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlUm91dGVyVG9rZW5SZXF1ZXN0Gi8ud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlUm91dGVyVG9rZW5SZXNwb25zZSIAEpEBChpQdWJsaXNoUGVyc2lzdGVkT3BlcmF0aW9ucxI3LndnLmNvc21vLnBsYXRmb3JtLnYxLlB1Ymxpc2hQZXJzaXN0ZWRPcGVyYXRpb25zUmVxdWVzdBo4LndnLmNvc21vLnBsYXRmb3JtLnYxLlB1Ymxpc2hQZXJzaXN0ZWRPcGVyYXRpb25zUmVzcG9uc2UiABKdAQoeQ2hlY2tQZXJzaXN0ZWRPcGVyYXRpb25UcmFmZmljEjsud2cuY29zbW8ucGxhdGZvcm0udjEuQ2hlY2tQZXJzaXN0ZWRPcGVyYXRpb25UcmFmZmljUmVxdWVzdBo8LndnLmNvc21vLnBsYXRmb3JtLnYxLkNoZWNrUGVyc2lzdGVkT3BlcmF0aW9uVHJhZmZpY1Jlc3BvbnNlIgASiwEKGERlbGV0ZVBlcnNpc3RlZE9wZXJhdGlvbhI1LndnLmNvc21vLnBsYXRmb3JtLnYxLkRlbGV0ZVBlcnNpc3RlZE9wZXJhdGlvblJlcXVlc3QaNi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVQZXJzaXN0ZWRPcGVyYXRpb25SZXNwb25zZSIAEoUBChZHZXRQZXJzaXN0ZWRPcGVyYXRpb25zEjMud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0UGVyc2lzdGVkT3BlcmF0aW9uc1JlcXVlc3QaNC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRQZXJzaXN0ZWRPcGVyYXRpb25zUmVzcG9uc2UiABJnCgxHZXRBdWRpdExvZ3MSKS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRBdWRpdExvZ3NSZXF1ZXN0Gioud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0QXVkaXRMb2dzUmVzcG9uc2UiABJ8ChNJbml0aWFsaXplQ29zbW9Vc2VyEjAud2cuY29zbW8ucGxhdGZvcm0udjEuSW5pdGlhbGl6ZUNvc21vVXNlclJlcXVlc3QaMS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Jbml0aWFsaXplQ29zbW9Vc2VyUmVzcG9uc2UiABJ2ChFMaXN0T3JnYW5pemF0aW9ucxIuLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpc3RPcmdhbml6YXRpb25zUmVxdWVzdBovLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpc3RPcmdhbml6YXRpb25zUmVzcG9uc2UiABJ5ChJHZXRGZWRlcmF0ZWRHcmFwaHMSLy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGZWRlcmF0ZWRHcmFwaHNSZXF1ZXN0GjAud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0RmVkZXJhdGVkR3JhcGhzUmVzcG9uc2UiABKpAQoiR2V0RmVkZXJhdGVkR3JhcGhzQnlTdWJncmFwaExhYmVscxI/LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEZlZGVyYXRlZEdyYXBoc0J5U3ViZ3JhcGhMYWJlbHNSZXF1ZXN0GkAud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0RmVkZXJhdGVkR3JhcGhzQnlTdWJncmFwaExhYmVsc1Jlc3BvbnNlIgASiAEKF0dldEZlZGVyYXRlZEdyYXBoQnlOYW1lEjQud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0RmVkZXJhdGVkR3JhcGhCeU5hbWVSZXF1ZXN0GjUud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0RmVkZXJhdGVkR3JhcGhCeU5hbWVSZXNwb25zZSIAEpEBChpHZXRGZWRlcmF0ZWRHcmFwaFNETEJ5TmFtZRI3LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEZlZGVyYXRlZEdyYXBoU0RMQnlOYW1lUmVxdWVzdBo4LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEZlZGVyYXRlZEdyYXBoU0RMQnlOYW1lUmVzcG9uc2UiABJnCgxHZXRTdWJncmFwaHMSKS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRTdWJncmFwaHNSZXF1ZXN0Gioud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0U3ViZ3JhcGhzUmVzcG9uc2UiABJ2ChFHZXRTdWJncmFwaEJ5TmFtZRIuLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFN1YmdyYXBoQnlOYW1lUmVxdWVzdBovLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFN1YmdyYXBoQnlOYW1lUmVzcG9uc2UiABKsAQojR2V0U3ViZ3JhcGhTRExGcm9tTGF0ZXN0Q29tcG9zaXRpb24SQC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRTdWJncmFwaFNETEZyb21MYXRlc3RDb21wb3NpdGlvblJlcXVlc3QaQS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRTdWJncmFwaFNETEZyb21MYXRlc3RDb21wb3NpdGlvblJlc3BvbnNlIgASfwoUR2V0TGF0ZXN0U3ViZ3JhcGhTREwSMS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRMYXRlc3RTdWJncmFwaFNETFJlcXVlc3QaMi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRMYXRlc3RTdWJncmFwaFNETFJlc3BvbnNlIgASmgEKHUdldENoZWNrc0J5RmVkZXJhdGVkR3JhcGhOYW1lEjoud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0Q2hlY2tzQnlGZWRlcmF0ZWRHcmFwaE5hbWVSZXF1ZXN0Gjsud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0Q2hlY2tzQnlGZWRlcmF0ZWRHcmFwaE5hbWVSZXNwb25zZSIAEnAKD0dldENoZWNrU3VtbWFyeRIsLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldENoZWNrU3VtbWFyeVJlcXVlc3QaLS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRDaGVja1N1bW1hcnlSZXNwb25zZSIAEnkKEkdldENoZWNrT3BlcmF0aW9ucxIvLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldENoZWNrT3BlcmF0aW9uc1JlcXVlc3QaMC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRDaGVja09wZXJhdGlvbnNSZXNwb25zZSIAEnYKEUZvcmNlQ2hlY2tTdWNjZXNzEi4ud2cuY29zbW8ucGxhdGZvcm0udjEuRm9yY2VDaGVja1N1Y2Nlc3NSZXF1ZXN0Gi8ud2cuY29zbW8ucGxhdGZvcm0udjEuRm9yY2VDaGVja1N1Y2Nlc3NSZXNwb25zZSIAEosBChhDcmVhdGVPcGVyYXRpb25PdmVycmlkZXMSNS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVPcGVyYXRpb25PdmVycmlkZXNSZXF1ZXN0GjYud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlT3BlcmF0aW9uT3ZlcnJpZGVzUmVzcG9uc2UiABKLAQoYUmVtb3ZlT3BlcmF0aW9uT3ZlcnJpZGVzEjUud2cuY29zbW8ucGxhdGZvcm0udjEuUmVtb3ZlT3BlcmF0aW9uT3ZlcnJpZGVzUmVxdWVzdBo2LndnLmNvc21vLnBsYXRmb3JtLnYxLlJlbW92ZU9wZXJhdGlvbk92ZXJyaWRlc1Jlc3BvbnNlIgASowEKIENyZWF0ZU9wZXJhdGlvbklnbm9yZUFsbE92ZXJyaWRlEj0ud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlT3BlcmF0aW9uSWdub3JlQWxsT3ZlcnJpZGVSZXF1ZXN0Gj4ud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlT3BlcmF0aW9uSWdub3JlQWxsT3ZlcnJpZGVSZXNwb25zZSIAEqMBCiBSZW1vdmVPcGVyYXRpb25JZ25vcmVBbGxPdmVycmlkZRI9LndnLmNvc21vLnBsYXRmb3JtLnYxLlJlbW92ZU9wZXJhdGlvbklnbm9yZUFsbE92ZXJyaWRlUmVxdWVzdBo+LndnLmNvc21vLnBsYXRmb3JtLnYxLlJlbW92ZU9wZXJhdGlvbklnbm9yZUFsbE92ZXJyaWRlUmVzcG9uc2UiABKCAQoVR2V0T3BlcmF0aW9uT3ZlcnJpZGVzEjIud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3BlcmF0aW9uT3ZlcnJpZGVzUmVxdWVzdBozLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE9wZXJhdGlvbk92ZXJyaWRlc1Jlc3BvbnNlIgAScAoPR2V0QWxsT3ZlcnJpZGVzEiwud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0QWxsT3ZlcnJpZGVzUmVxdWVzdBotLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEFsbE92ZXJyaWRlc1Jlc3BvbnNlIgASsgEKJVRvZ2dsZUNoYW5nZU92ZXJyaWRlc0ZvckFsbE9wZXJhdGlvbnMSQi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Ub2dnbGVDaGFuZ2VPdmVycmlkZXNGb3JBbGxPcGVyYXRpb25zUmVxdWVzdBpDLndnLmNvc21vLnBsYXRmb3JtLnYxLlRvZ2dsZUNoYW5nZU92ZXJyaWRlc0ZvckFsbE9wZXJhdGlvbnNSZXNwb25zZSIAErIBCiVDcmVhdGVJZ25vcmVPdmVycmlkZXNGb3JBbGxPcGVyYXRpb25zEkIud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlSWdub3JlT3ZlcnJpZGVzRm9yQWxsT3BlcmF0aW9uc1JlcXVlc3QaQy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVJZ25vcmVPdmVycmlkZXNGb3JBbGxPcGVyYXRpb25zUmVzcG9uc2UiABJ8ChNHZXRPcGVyYXRpb25Db250ZW50EjAud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3BlcmF0aW9uQ29udGVudFJlcXVlc3QaMS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcGVyYXRpb25Db250ZW50UmVzcG9uc2UiABKRAQoaR2V0RmVkZXJhdGVkR3JhcGhDaGFuZ2Vsb2cSNy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGZWRlcmF0ZWRHcmFwaENoYW5nZWxvZ1JlcXVlc3QaOC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGZWRlcmF0ZWRHcmFwaENoYW5nZWxvZ1Jlc3BvbnNlIgASjgEKGUNyZWF0ZUZlZGVyYXRlZEdyYXBoVG9rZW4SNi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVGZWRlcmF0ZWRHcmFwaFRva2VuUmVxdWVzdBo3LndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZUZlZGVyYXRlZEdyYXBoVG9rZW5SZXNwb25zZSIAEoIBChVHZXRPcmdhbml6YXRpb25CeVNsdWcSMi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcmdhbml6YXRpb25CeVNsdWdSZXF1ZXN0GjMud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3JnYW5pemF0aW9uQnlTbHVnUmVzcG9uc2UiABKFAQoWR2V0T3JnYW5pemF0aW9uTWVtYmVycxIzLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE9yZ2FuaXphdGlvbk1lbWJlcnNSZXF1ZXN0GjQud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3JnYW5pemF0aW9uTWVtYmVyc1Jlc3BvbnNlIgASmgEKHUdldFBlbmRpbmdPcmdhbml6YXRpb25NZW1iZXJzEjoud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0UGVuZGluZ09yZ2FuaXphdGlvbk1lbWJlcnNSZXF1ZXN0Gjsud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0UGVuZGluZ09yZ2FuaXphdGlvbk1lbWJlcnNSZXNwb25zZSIAEn8KFElzTWVtYmVyTGltaXRSZWFjaGVkEjEud2cuY29zbW8ucGxhdGZvcm0udjEuSXNNZW1iZXJMaW1pdFJlYWNoZWRSZXF1ZXN0GjIud2cuY29zbW8ucGxhdGZvcm0udjEuSXNNZW1iZXJMaW1pdFJlYWNoZWRSZXNwb25zZSIAEmEKCkludml0ZVVzZXISJy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5JbnZpdGVVc2VyUmVxdWVzdBooLndnLmNvc21vLnBsYXRmb3JtLnYxLkludml0ZVVzZXJSZXNwb25zZSIAEmQKC0ludml0ZVVzZXJzEigud2cuY29zbW8ucGxhdGZvcm0udjEuSW52aXRlVXNlcnNSZXF1ZXN0Gikud2cuY29zbW8ucGxhdGZvcm0udjEuSW52aXRlVXNlcnNSZXNwb25zZSIAEmEKCkdldEFQSUtleXMSJy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRBUElLZXlzUmVxdWVzdBooLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEFQSUtleXNSZXNwb25zZSIAEmcKDENyZWF0ZUFQSUtleRIpLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZUFQSUtleVJlcXVlc3QaKi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVBUElLZXlSZXNwb25zZSIAEmcKDFVwZGF0ZUFQSUtleRIpLndnLmNvc21vLnBsYXRmb3JtLnYxLlVwZGF0ZUFQSUtleVJlcXVlc3QaKi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGRhdGVBUElLZXlSZXNwb25zZSIAEmcKDERlbGV0ZUFQSUtleRIpLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlbGV0ZUFQSUtleVJlcXVlc3QaKi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVBUElLZXlSZXNwb25zZSIAEosBChhSZW1vdmVPcmdhbml6YXRpb25NZW1iZXISNS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZW1vdmVPcmdhbml6YXRpb25NZW1iZXJSZXF1ZXN0GjYud2cuY29zbW8ucGxhdGZvcm0udjEuUmVtb3ZlT3JnYW5pemF0aW9uTWVtYmVyUmVzcG9uc2UiABJzChBSZW1vdmVJbnZpdGF0aW9uEi0ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVtb3ZlSW52aXRhdGlvblJlcXVlc3QaLi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZW1vdmVJbnZpdGF0aW9uUmVzcG9uc2UiABJ2ChFNaWdyYXRlRnJvbUFwb2xsbxIuLndnLmNvc21vLnBsYXRmb3JtLnYxLk1pZ3JhdGVGcm9tQXBvbGxvUmVxdWVzdBovLndnLmNvc21vLnBsYXRmb3JtLnYxLk1pZ3JhdGVGcm9tQXBvbGxvUmVzcG9uc2UiABKIAQoXQ3JlYXRlT3JnYW5pemF0aW9uR3JvdXASNC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVPcmdhbml6YXRpb25Hcm91cFJlcXVlc3QaNS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVPcmdhbml6YXRpb25Hcm91cFJlc3BvbnNlIgASggEKFUdldE9yZ2FuaXphdGlvbkdyb3VwcxIyLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE9yZ2FuaXphdGlvbkdyb3Vwc1JlcXVlc3QaMy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcmdhbml6YXRpb25Hcm91cHNSZXNwb25zZSIAEpQBChtHZXRPcmdhbml6YXRpb25Hcm91cE1lbWJlcnMSOC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcmdhbml6YXRpb25Hcm91cE1lbWJlcnNSZXF1ZXN0Gjkud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3JnYW5pemF0aW9uR3JvdXBNZW1iZXJzUmVzcG9uc2UiABKIAQoXVXBkYXRlT3JnYW5pemF0aW9uR3JvdXASNC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGRhdGVPcmdhbml6YXRpb25Hcm91cFJlcXVlc3QaNS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGRhdGVPcmdhbml6YXRpb25Hcm91cFJlc3BvbnNlIgASiAEKF0RlbGV0ZU9yZ2FuaXphdGlvbkdyb3VwEjQud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlT3JnYW5pemF0aW9uR3JvdXBSZXF1ZXN0GjUud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlT3JnYW5pemF0aW9uR3JvdXBSZXNwb25zZSIAEqABCh9DcmVhdGVPcmdhbml6YXRpb25XZWJob29rQ29uZmlnEjwud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlT3JnYW5pemF0aW9uV2ViaG9va0NvbmZpZ1JlcXVlc3QaPS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVPcmdhbml6YXRpb25XZWJob29rQ29uZmlnUmVzcG9uc2UiABKaAQodR2V0T3JnYW5pemF0aW9uV2ViaG9va0NvbmZpZ3MSOi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcmdhbml6YXRpb25XZWJob29rQ29uZmlnc1JlcXVlc3QaOy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcmdhbml6YXRpb25XZWJob29rQ29uZmlnc1Jlc3BvbnNlIgASkQEKGkdldE9yZ2FuaXphdGlvbldlYmhvb2tNZXRhEjcud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3JnYW5pemF0aW9uV2ViaG9va01ldGFSZXF1ZXN0Gjgud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3JnYW5pemF0aW9uV2ViaG9va01ldGFSZXNwb25zZSIAEqABCh9VcGRhdGVPcmdhbml6YXRpb25XZWJob29rQ29uZmlnEjwud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlT3JnYW5pemF0aW9uV2ViaG9va0NvbmZpZ1JlcXVlc3QaPS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGRhdGVPcmdhbml6YXRpb25XZWJob29rQ29uZmlnUmVzcG9uc2UiABKgAQofRGVsZXRlT3JnYW5pemF0aW9uV2ViaG9va0NvbmZpZxI8LndnLmNvc21vLnBsYXRmb3JtLnYxLkRlbGV0ZU9yZ2FuaXphdGlvbldlYmhvb2tDb25maWdSZXF1ZXN0Gj0ud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlT3JnYW5pemF0aW9uV2ViaG9va0NvbmZpZ1Jlc3BvbnNlIgASmgEKHUdldE9yZ2FuaXphdGlvbldlYmhvb2tIaXN0b3J5Ejoud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3JnYW5pemF0aW9uV2ViaG9va0hpc3RvcnlSZXF1ZXN0Gjsud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3JnYW5pemF0aW9uV2ViaG9va0hpc3RvcnlSZXNwb25zZSIAEo4BChlHZXRXZWJob29rRGVsaXZlcnlEZXRhaWxzEjYud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0V2ViaG9va0RlbGl2ZXJ5RGV0YWlsc1JlcXVlc3QaNy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRXZWJob29rRGVsaXZlcnlEZXRhaWxzUmVzcG9uc2UiABJzChBSZWRlbGl2ZXJXZWJob29rEi0ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVkZWxpdmVyV2ViaG9va1JlcXVlc3QaLi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZWRlbGl2ZXJXZWJob29rUmVzcG9uc2UiABJ2ChFDcmVhdGVJbnRlZ3JhdGlvbhIuLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZUludGVncmF0aW9uUmVxdWVzdBovLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZUludGVncmF0aW9uUmVzcG9uc2UiABKUAQobR2V0T3JnYW5pemF0aW9uSW50ZWdyYXRpb25zEjgud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3JnYW5pemF0aW9uSW50ZWdyYXRpb25zUmVxdWVzdBo5LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE9yZ2FuaXphdGlvbkludGVncmF0aW9uc1Jlc3BvbnNlIgASiAEKF1VwZGF0ZUludGVncmF0aW9uQ29uZmlnEjQud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlSW50ZWdyYXRpb25Db25maWdSZXF1ZXN0GjUud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlSW50ZWdyYXRpb25Db25maWdSZXNwb25zZSIAEnYKEURlbGV0ZUludGVncmF0aW9uEi4ud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlSW50ZWdyYXRpb25SZXF1ZXN0Gi8ud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlSW50ZWdyYXRpb25SZXNwb25zZSIAEmEKCkRlbGV0ZVVzZXISJy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVVc2VyUmVxdWVzdBooLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlbGV0ZVVzZXJSZXNwb25zZSIAEnkKEkRlbGV0ZU9yZ2FuaXphdGlvbhIvLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlbGV0ZU9yZ2FuaXphdGlvblJlcXVlc3QaMC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVPcmdhbml6YXRpb25SZXNwb25zZSIAEnwKE1Jlc3RvcmVPcmdhbml6YXRpb24SMC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXN0b3JlT3JnYW5pemF0aW9uUmVxdWVzdBoxLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3RvcmVPcmdhbml6YXRpb25SZXNwb25zZSIAEnYKEUxlYXZlT3JnYW5pemF0aW9uEi4ud2cuY29zbW8ucGxhdGZvcm0udjEuTGVhdmVPcmdhbml6YXRpb25SZXF1ZXN0Gi8ud2cuY29zbW8ucGxhdGZvcm0udjEuTGVhdmVPcmdhbml6YXRpb25SZXNwb25zZSIAEo4BChlVcGRhdGVPcmdhbml6YXRpb25EZXRhaWxzEjYud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlT3JnYW5pemF0aW9uRGV0YWlsc1JlcXVlc3QaNy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGRhdGVPcmdhbml6YXRpb25EZXRhaWxzUmVzcG9uc2UiABJ/ChRVcGRhdGVPcmdNZW1iZXJHcm91cBIxLndnLmNvc21vLnBsYXRmb3JtLnYxLlVwZGF0ZU9yZ01lbWJlckdyb3VwUmVxdWVzdBoyLndnLmNvc21vLnBsYXRmb3JtLnYxLlVwZGF0ZU9yZ01lbWJlckdyb3VwUmVzcG9uc2UiABJ/ChRJc0dpdEh1YkFwcEluc3RhbGxlZBIxLndnLmNvc21vLnBsYXRmb3JtLnYxLklzR2l0SHViQXBwSW5zdGFsbGVkUmVxdWVzdBoyLndnLmNvc21vLnBsYXRmb3JtLnYxLklzR2l0SHViQXBwSW5zdGFsbGVkUmVzcG9uc2UiABJ5ChJDcmVhdGVPSURDUHJvdmlkZXISLy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVPSURDUHJvdmlkZXJSZXF1ZXN0GjAud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlT0lEQ1Byb3ZpZGVyUmVzcG9uc2UiABJwCg9HZXRPSURDUHJvdmlkZXISLC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPSURDUHJvdmlkZXJSZXF1ZXN0Gi0ud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T0lEQ1Byb3ZpZGVyUmVzcG9uc2UiABJ2ChFMaXN0T0lEQ1Byb3ZpZGVycxIuLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpc3RPSURDUHJvdmlkZXJzUmVxdWVzdBovLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpc3RPSURDUHJvdmlkZXJzUmVzcG9uc2UiABJ5ChJEZWxldGVPSURDUHJvdmlkZXISLy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVPSURDUHJvdmlkZXJSZXF1ZXN0GjAud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlT0lEQ1Byb3ZpZGVyUmVzcG9uc2UiABJzChBVcGRhdGVJRFBNYXBwZXJzEi0ud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlSURQTWFwcGVyc1JlcXVlc3QaLi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGRhdGVJRFBNYXBwZXJzUmVzcG9uc2UiABJhCgpHZXRDbGllbnRzEicud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0Q2xpZW50c1JlcXVlc3QaKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRDbGllbnRzUmVzcG9uc2UiABJ8ChNQcmV2aWV3RGVsZXRlQ2xpZW50EjAud2cuY29zbW8ucGxhdGZvcm0udjEuUHJldmlld0RlbGV0ZUNsaWVudFJlcXVlc3QaMS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5QcmV2aWV3RGVsZXRlQ2xpZW50UmVzcG9uc2UiABJnCgxEZWxldGVDbGllbnQSKS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVDbGllbnRSZXF1ZXN0Gioud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlQ2xpZW50UmVzcG9uc2UiABJhCgpHZXRSb3V0ZXJzEicud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0Um91dGVyc1JlcXVlc3QaKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRSb3V0ZXJzUmVzcG9uc2UiABJtCg5HZXRJbnZpdGF0aW9ucxIrLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEludml0YXRpb25zUmVxdWVzdBosLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEludml0YXRpb25zUmVzcG9uc2UiABKOAQoZQWNjZXB0T3JEZWNsaW5lSW52aXRhdGlvbhI2LndnLmNvc21vLnBsYXRmb3JtLnYxLkFjY2VwdE9yRGVjbGluZUludml0YXRpb25SZXF1ZXN0Gjcud2cuY29zbW8ucGxhdGZvcm0udjEuQWNjZXB0T3JEZWNsaW5lSW52aXRhdGlvblJlc3BvbnNlIgAScAoPR2V0Q29tcG9zaXRpb25zEiwud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0Q29tcG9zaXRpb25zUmVxdWVzdBotLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldENvbXBvc2l0aW9uc1Jlc3BvbnNlIgASggEKFUdldENvbXBvc2l0aW9uRGV0YWlscxIyLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldENvbXBvc2l0aW9uRGV0YWlsc1JlcXVlc3QaMy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRDb21wb3NpdGlvbkRldGFpbHNSZXNwb25zZSIAEoIBChVHZXRTZGxCeVNjaGVtYVZlcnNpb24SMi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRTZGxCeVNjaGVtYVZlcnNpb25SZXF1ZXN0GjMud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0U2RsQnlTY2hlbWFWZXJzaW9uUmVzcG9uc2UiABKUAQobR2V0Q2hhbmdlbG9nQnlTY2hlbWFWZXJzaW9uEjgud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0Q2hhbmdlbG9nQnlTY2hlbWFWZXJzaW9uUmVxdWVzdBo5LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldENoYW5nZWxvZ0J5U2NoZW1hVmVyc2lvblJlc3BvbnNlIgASkQEKGkdldFVzZXJBY2Nlc3NpYmxlUmVzb3VyY2VzEjcud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0VXNlckFjY2Vzc2libGVSZXNvdXJjZXNSZXF1ZXN0Gjgud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0VXNlckFjY2Vzc2libGVSZXNvdXJjZXNSZXNwb25zZSIAEoIBChVVcGRhdGVGZWF0dXJlU2V0dGluZ3MSMi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGRhdGVGZWF0dXJlU2V0dGluZ3NSZXF1ZXN0GjMud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlRmVhdHVyZVNldHRpbmdzUmVzcG9uc2UiABJ5ChJHZXRTdWJncmFwaE1lbWJlcnMSLy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRTdWJncmFwaE1lbWJlcnNSZXF1ZXN0GjAud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0U3ViZ3JhcGhNZW1iZXJzUmVzcG9uc2UiABJeCglBZGRSZWFkbWUSJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5BZGRSZWFkbWVSZXF1ZXN0Gicud2cuY29zbW8ucGxhdGZvcm0udjEuQWRkUmVhZG1lUmVzcG9uc2UiABKXAQocR2V0VXNlckFjY2Vzc2libGVQZXJtaXNzaW9ucxI5LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFVzZXJBY2Nlc3NpYmxlUGVybWlzc2lvbnNSZXF1ZXN0Gjoud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0VXNlckFjY2Vzc2libGVQZXJtaXNzaW9uc1Jlc3BvbnNlIgASdgoRQ3JlYXRlRmVhdHVyZUZsYWcSLi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVGZWF0dXJlRmxhZ1JlcXVlc3QaLy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVGZWF0dXJlRmxhZ1Jlc3BvbnNlIgASdgoRRGVsZXRlRmVhdHVyZUZsYWcSLi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVGZWF0dXJlRmxhZ1JlcXVlc3QaLy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVGZWF0dXJlRmxhZ1Jlc3BvbnNlIgASdgoRVXBkYXRlRmVhdHVyZUZsYWcSLi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGRhdGVGZWF0dXJlRmxhZ1JlcXVlc3QaLy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGRhdGVGZWF0dXJlRmxhZ1Jlc3BvbnNlIgASdgoRRW5hYmxlRmVhdHVyZUZsYWcSLi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5FbmFibGVGZWF0dXJlRmxhZ1JlcXVlc3QaLy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5FbmFibGVGZWF0dXJlRmxhZ1Jlc3BvbnNlIgASdgoQR2V0QW5hbHl0aWNzVmlldxItLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEFuYWx5dGljc1ZpZXdSZXF1ZXN0Gi4ud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0QW5hbHl0aWNzVmlld1Jlc3BvbnNlIgOQAgESkQEKGUdldERhc2hib2FyZEFuYWx5dGljc1ZpZXcSNi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXREYXNoYm9hcmRBbmFseXRpY3NWaWV3UmVxdWVzdBo3LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldERhc2hib2FyZEFuYWx5dGljc1ZpZXdSZXNwb25zZSIDkAIBElsKCEdldFRyYWNlEiUud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0VHJhY2VSZXF1ZXN0GiYud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0VHJhY2VSZXNwb25zZSIAEnMKD0dldEdyYXBoTWV0cmljcxIsLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEdyYXBoTWV0cmljc1JlcXVlc3QaLS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRHcmFwaE1ldHJpY3NSZXNwb25zZSIDkAIBEn8KE0dldE1ldHJpY3NFcnJvclJhdGUSMC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRNZXRyaWNzRXJyb3JSYXRlUmVxdWVzdBoxLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE1ldHJpY3NFcnJvclJhdGVSZXNwb25zZSIDkAIBEnwKEkdldFN1YmdyYXBoTWV0cmljcxIvLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFN1YmdyYXBoTWV0cmljc1JlcXVlc3QaMC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRTdWJncmFwaE1ldHJpY3NSZXNwb25zZSIDkAIBEpcBChtHZXRTdWJncmFwaE1ldHJpY3NFcnJvclJhdGUSOC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRTdWJncmFwaE1ldHJpY3NFcnJvclJhdGVSZXF1ZXN0Gjkud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0U3ViZ3JhcGhNZXRyaWNzRXJyb3JSYXRlUmVzcG9uc2UiA5ACARJtCg1HZXRGaWVsZFVzYWdlEioud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0RmllbGRVc2FnZVJlcXVlc3QaKy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGaWVsZFVzYWdlUmVzcG9uc2UiA5ACARKXAQocR2V0T3JnYW5pemF0aW9uUmVxdWVzdHNDb3VudBI5LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE9yZ2FuaXphdGlvblJlcXVlc3RzQ291bnRSZXF1ZXN0Gjoud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3JnYW5pemF0aW9uUmVxdWVzdHNDb3VudFJlc3BvbnNlIgASeQoSQ3JlYXRlT3JnYW5pemF0aW9uEi8ud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlT3JnYW5pemF0aW9uUmVxdWVzdBowLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZU9yZ2FuaXphdGlvblJlc3BvbnNlIgASlwEKHEVuYWJsZUxpbnRpbmdGb3JUaGVOYW1lc3BhY2USOS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5FbmFibGVMaW50aW5nRm9yVGhlTmFtZXNwYWNlUmVxdWVzdBo6LndnLmNvc21vLnBsYXRmb3JtLnYxLkVuYWJsZUxpbnRpbmdGb3JUaGVOYW1lc3BhY2VSZXNwb25zZSIAEpcBChxDb25maWd1cmVOYW1lc3BhY2VMaW50Q29uZmlnEjkud2cuY29zbW8ucGxhdGZvcm0udjEuQ29uZmlndXJlTmFtZXNwYWNlTGludENvbmZpZ1JlcXVlc3QaOi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db25maWd1cmVOYW1lc3BhY2VMaW50Q29uZmlnUmVzcG9uc2UiABKFAQoWR2V0TmFtZXNwYWNlTGludENvbmZpZxIzLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE5hbWVzcGFjZUxpbnRDb25maWdSZXF1ZXN0GjQud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0TmFtZXNwYWNlTGludENvbmZpZ1Jlc3BvbnNlIgASmQEKGEdldE5hbWVzcGFjZUNoZWNrc0NvbmZpZxI8LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE5hbWVzcGFjZUNoZWNrc0NvbmZpZ3VyYXRpb25SZXF1ZXN0Gj0ud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0TmFtZXNwYWNlQ2hlY2tzQ29uZmlndXJhdGlvblJlc3BvbnNlIgASogEKG1VwZGF0ZU5hbWVzcGFjZUNoZWNrc0NvbmZpZxI/LndnLmNvc21vLnBsYXRmb3JtLnYxLlVwZGF0ZU5hbWVzcGFjZUNoZWNrc0NvbmZpZ3VyYXRpb25SZXF1ZXN0GkAud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlTmFtZXNwYWNlQ2hlY2tzQ29uZmlndXJhdGlvblJlc3BvbnNlIgASeQoSRW5hYmxlR3JhcGhQcnVuaW5nEi8ud2cuY29zbW8ucGxhdGZvcm0udjEuRW5hYmxlR3JhcGhQcnVuaW5nUmVxdWVzdBowLndnLmNvc21vLnBsYXRmb3JtLnYxLkVuYWJsZUdyYXBoUHJ1bmluZ1Jlc3BvbnNlIgASrwEKJENvbmZpZ3VyZU5hbWVzcGFjZUdyYXBoUHJ1bmluZ0NvbmZpZxJBLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbmZpZ3VyZU5hbWVzcGFjZUdyYXBoUHJ1bmluZ0NvbmZpZ1JlcXVlc3QaQi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db25maWd1cmVOYW1lc3BhY2VHcmFwaFBydW5pbmdDb25maWdSZXNwb25zZSIAEp0BCh5HZXROYW1lc3BhY2VHcmFwaFBydW5pbmdDb25maWcSOy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXROYW1lc3BhY2VHcmFwaFBydW5pbmdDb25maWdSZXF1ZXN0Gjwud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0TmFtZXNwYWNlR3JhcGhQcnVuaW5nQ29uZmlnUmVzcG9uc2UiABJwCg9HZXRGZWF0dXJlRmxhZ3MSLC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGZWF0dXJlRmxhZ3NSZXF1ZXN0Gi0ud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0RmVhdHVyZUZsYWdzUmVzcG9uc2UiABJ/ChRHZXRGZWF0dXJlRmxhZ0J5TmFtZRIxLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEZlYXR1cmVGbGFnQnlOYW1lUmVxdWVzdBoyLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEZlYXR1cmVGbGFnQnlOYW1lUmVzcG9uc2UiABKjAQogR2V0RmVhdHVyZVN1YmdyYXBoc0J5RmVhdHVyZUZsYWcSPS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGZWF0dXJlU3ViZ3JhcGhzQnlGZWF0dXJlRmxhZ1JlcXVlc3QaPi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGZWF0dXJlU3ViZ3JhcGhzQnlGZWF0dXJlRmxhZ1Jlc3BvbnNlIgASfAoTR2V0RmVhdHVyZVN1YmdyYXBocxIwLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEZlYXR1cmVTdWJncmFwaHNSZXF1ZXN0GjEud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0RmVhdHVyZVN1YmdyYXBoc1Jlc3BvbnNlIgASoAEKH0dldEZlYXR1cmVGbGFnc0J5RmVkZXJhdGVkR3JhcGgSPC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGZWF0dXJlRmxhZ3NCeUZlZGVyYXRlZEdyYXBoUmVxdWVzdBo9LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEZlYXR1cmVGbGFnc0J5RmVkZXJhdGVkR3JhcGhSZXNwb25zZSIAEtkBCjJHZXRGZWF0dXJlRmxhZ3NJbkxhdGVzdENvbXBvc2l0aW9uQnlGZWRlcmF0ZWRHcmFwaBJPLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEZlYXR1cmVGbGFnc0luTGF0ZXN0Q29tcG9zaXRpb25CeUZlZGVyYXRlZEdyYXBoUmVxdWVzdBpQLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEZlYXR1cmVGbGFnc0luTGF0ZXN0Q29tcG9zaXRpb25CeUZlZGVyYXRlZEdyYXBoUmVzcG9uc2UiABKsAQojR2V0RmVhdHVyZVN1YmdyYXBoc0J5RmVkZXJhdGVkR3JhcGgSQC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGZWF0dXJlU3ViZ3JhcGhzQnlGZWRlcmF0ZWRHcmFwaFJlcXVlc3QaQS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGZWF0dXJlU3ViZ3JhcGhzQnlGZWRlcmF0ZWRHcmFwaFJlc3BvbnNlIgASggEKFUdldEZlZGVyYXRlZEdyYXBoQnlJZBIyLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEZlZGVyYXRlZEdyYXBoQnlJZFJlcXVlc3QaMy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGZWRlcmF0ZWRHcmFwaEJ5SWRSZXNwb25zZSIAEnAKD0dldFN1YmdyYXBoQnlJZBIsLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFN1YmdyYXBoQnlJZFJlcXVlc3QaLS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRTdWJncmFwaEJ5SWRSZXNwb25zZSIAEosBChhQdXNoQ2FjaGVXYXJtZXJPcGVyYXRpb24SNS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5QdXNoQ2FjaGVXYXJtZXJPcGVyYXRpb25SZXF1ZXN0GjYud2cuY29zbW8ucGxhdGZvcm0udjEuUHVzaENhY2hlV2FybWVyT3BlcmF0aW9uUmVzcG9uc2UiABKLAQoYR2V0Q2FjaGVXYXJtZXJPcGVyYXRpb25zEjUud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0Q2FjaGVXYXJtZXJPcGVyYXRpb25zUmVxdWVzdBo2LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldENhY2hlV2FybWVyT3BlcmF0aW9uc1Jlc3BvbnNlIgASlwEKHENvbXB1dGVDYWNoZVdhcm1lck9wZXJhdGlvbnMSOS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wdXRlQ2FjaGVXYXJtZXJPcGVyYXRpb25zUmVxdWVzdBo6LndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXB1dGVDYWNoZVdhcm1lck9wZXJhdGlvbnNSZXNwb25zZSIAEn8KFENvbmZpZ3VyZUNhY2hlV2FybWVyEjEud2cuY29zbW8ucGxhdGZvcm0udjEuQ29uZmlndXJlQ2FjaGVXYXJtZXJSZXF1ZXN0GjIud2cuY29zbW8ucGxhdGZvcm0udjEuQ29uZmlndXJlQ2FjaGVXYXJtZXJSZXNwb25zZSIAEn8KFEdldENhY2hlV2FybWVyQ29uZmlnEjEud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0Q2FjaGVXYXJtZXJDb25maWdSZXF1ZXN0GjIud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0Q2FjaGVXYXJtZXJDb25maWdSZXNwb25zZSIAEpEBChpEZWxldGVDYWNoZVdhcm1lck9wZXJhdGlvbhI3LndnLmNvc21vLnBsYXRmb3JtLnYxLkRlbGV0ZUNhY2hlV2FybWVyT3BlcmF0aW9uUmVxdWVzdBo4LndnLmNvc21vLnBsYXRmb3JtLnYxLkRlbGV0ZUNhY2hlV2FybWVyT3BlcmF0aW9uUmVzcG9uc2UiABKjAQogR2V0U3ViZ3JhcGhDaGVja0V4dGVuc2lvbnNDb25maWcSPS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRTdWJncmFwaENoZWNrRXh0ZW5zaW9uc0NvbmZpZ1JlcXVlc3QaPi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRTdWJncmFwaENoZWNrRXh0ZW5zaW9uc0NvbmZpZ1Jlc3BvbnNlIgASowEKIENvbmZpZ3VyZVN1YmdyYXBoQ2hlY2tFeHRlbnNpb25zEj0ud2cuY29zbW8ucGxhdGZvcm0udjEuQ29uZmlndXJlU3ViZ3JhcGhDaGVja0V4dGVuc2lvbnNSZXF1ZXN0Gj4ud2cuY29zbW8ucGxhdGZvcm0udjEuQ29uZmlndXJlU3ViZ3JhcGhDaGVja0V4dGVuc2lvbnNSZXNwb25zZSIAEnAKD0dldEJpbGxpbmdQbGFucxIsLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEJpbGxpbmdQbGFuc1JlcXVlc3QaLS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRCaWxsaW5nUGxhbnNSZXNwb25zZSIAEoIBChVDcmVhdGVDaGVja291dFNlc3Npb24SMi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVDaGVja291dFNlc3Npb25SZXF1ZXN0GjMud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlQ2hlY2tvdXRTZXNzaW9uUmVzcG9uc2UiABKRAQoaQ3JlYXRlQmlsbGluZ1BvcnRhbFNlc3Npb24SNy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVCaWxsaW5nUG9ydGFsU2Vzc2lvblJlcXVlc3QaOC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVCaWxsaW5nUG9ydGFsU2Vzc2lvblJlc3BvbnNlIgASZAoLVXBncmFkZVBsYW4SKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGdyYWRlUGxhblJlcXVlc3QaKS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGdyYWRlUGxhblJlc3BvbnNlIgASoAEKH0xpc3RSb3V0ZXJDb21wYXRpYmlsaXR5VmVyc2lvbnMSPC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MaXN0Um91dGVyQ29tcGF0aWJpbGl0eVZlcnNpb25zUmVxdWVzdBo9LndnLmNvc21vLnBsYXRmb3JtLnYxLkxpc3RSb3V0ZXJDb21wYXRpYmlsaXR5VmVyc2lvbnNSZXNwb25zZSIAEqkBCiJTZXRHcmFwaFJvdXRlckNvbXBhdGliaWxpdHlWZXJzaW9uEj8ud2cuY29zbW8ucGxhdGZvcm0udjEuU2V0R3JhcGhSb3V0ZXJDb21wYXRpYmlsaXR5VmVyc2lvblJlcXVlc3QaQC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TZXRHcmFwaFJvdXRlckNvbXBhdGliaWxpdHlWZXJzaW9uUmVzcG9uc2UiABJtCg5DcmVhdGVQcm9wb3NhbBIrLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZVByb3Bvc2FsUmVxdWVzdBosLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZVByb3Bvc2FsUmVzcG9uc2UiABJkCgtHZXRQcm9wb3NhbBIoLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFByb3Bvc2FsUmVxdWVzdBopLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFByb3Bvc2FsUmVzcG9uc2UiABJtCg5VcGRhdGVQcm9wb3NhbBIrLndnLmNvc21vLnBsYXRmb3JtLnYxLlVwZGF0ZVByb3Bvc2FsUmVxdWVzdBosLndnLmNvc21vLnBsYXRmb3JtLnYxLlVwZGF0ZVByb3Bvc2FsUmVzcG9uc2UiABKUAQobRW5hYmxlUHJvcG9zYWxzRm9yTmFtZXNwYWNlEjgud2cuY29zbW8ucGxhdGZvcm0udjEuRW5hYmxlUHJvcG9zYWxzRm9yTmFtZXNwYWNlUmVxdWVzdBo5LndnLmNvc21vLnBsYXRmb3JtLnYxLkVuYWJsZVByb3Bvc2Fsc0Zvck5hbWVzcGFjZVJlc3BvbnNlIgASowEKIENvbmZpZ3VyZU5hbWVzcGFjZVByb3Bvc2FsQ29uZmlnEj0ud2cuY29zbW8ucGxhdGZvcm0udjEuQ29uZmlndXJlTmFtZXNwYWNlUHJvcG9zYWxDb25maWdSZXF1ZXN0Gj4ud2cuY29zbW8ucGxhdGZvcm0udjEuQ29uZmlndXJlTmFtZXNwYWNlUHJvcG9zYWxDb25maWdSZXNwb25zZSIAEpEBChpHZXROYW1lc3BhY2VQcm9wb3NhbENvbmZpZxI3LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE5hbWVzcGFjZVByb3Bvc2FsQ29uZmlnUmVxdWVzdBo4LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE5hbWVzcGFjZVByb3Bvc2FsQ29uZmlnUmVzcG9uc2UiABKUAQobVXBkYXRlTmFtZXNwYWNlTG9naW5NZXRob2RzEjgud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlTmFtZXNwYWNlTG9naW5NZXRob2RzUmVxdWVzdBo5LndnLmNvc21vLnBsYXRmb3JtLnYxLlVwZGF0ZU5hbWVzcGFjZUxvZ2luTWV0aG9kc1Jlc3BvbnNlIgASjgEKGUxpc3ROYW1lc3BhY2VMb2dpbk1ldGhvZHMSNi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MaXN0TmFtZXNwYWNlTG9naW5NZXRob2RzUmVxdWVzdBo3LndnLmNvc21vLnBsYXRmb3JtLnYxLkxpc3ROYW1lc3BhY2VMb2dpbk1ldGhvZHNSZXNwb25zZSIAEpQBChtHZXRPcmdhbml6YXRpb25Mb2dpbk1ldGhvZHMSOC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcmdhbml6YXRpb25Mb2dpbk1ldGhvZHNSZXF1ZXN0Gjkud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3JnYW5pemF0aW9uTG9naW5NZXRob2RzUmVzcG9uc2UiABKdAQoeVXBkYXRlT3JnYW5pemF0aW9uTG9naW5NZXRob2RzEjsud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlT3JnYW5pemF0aW9uTG9naW5NZXRob2RzUmVxdWVzdBo8LndnLmNvc21vLnBsYXRmb3JtLnYxLlVwZGF0ZU9yZ2FuaXphdGlvbkxvZ2luTWV0aG9kc1Jlc3BvbnNlIgASlwEKHEdldFByb3Bvc2Fsc0J5RmVkZXJhdGVkR3JhcGgSOS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRQcm9wb3NhbHNCeUZlZGVyYXRlZEdyYXBoUmVxdWVzdBo6LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFByb3Bvc2Fsc0J5RmVkZXJhdGVkR3JhcGhSZXNwb25zZSIAEnYKEUdldFByb3Bvc2FsQ2hlY2tzEi4ud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0UHJvcG9zYWxDaGVja3NSZXF1ZXN0Gi8ud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0UHJvcG9zYWxDaGVja3NSZXNwb25zZSIAEmoKDUdldE9wZXJhdGlvbnMSKi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcGVyYXRpb25zUmVxdWVzdBorLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE9wZXJhdGlvbnNSZXNwb25zZSIAEogBChdHZXRDbGllbnRzRnJvbUFuYWx5dGljcxI0LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldENsaWVudHNGcm9tQW5hbHl0aWNzUmVxdWVzdBo1LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldENsaWVudHNGcm9tQW5hbHl0aWNzUmVzcG9uc2UiABJ8ChNHZXRPcGVyYXRpb25DbGllbnRzEjAud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3BlcmF0aW9uQ2xpZW50c1JlcXVlc3QaMS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcGVyYXRpb25DbGllbnRzUmVzcG9uc2UiABKXAQocR2V0T3BlcmF0aW9uRGVwcmVjYXRlZEZpZWxkcxI5LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE9wZXJhdGlvbkRlcHJlY2F0ZWRGaWVsZHNSZXF1ZXN0Gjoud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3BlcmF0aW9uRGVwcmVjYXRlZEZpZWxkc1Jlc3BvbnNlIgASkQEKGlZhbGlkYXRlQW5kRmV0Y2hQbHVnaW5EYXRhEjcud2cuY29zbW8ucGxhdGZvcm0udjEuVmFsaWRhdGVBbmRGZXRjaFBsdWdpbkRhdGFSZXF1ZXN0Gjgud2cuY29zbW8ucGxhdGZvcm0udjEuVmFsaWRhdGVBbmRGZXRjaFBsdWdpbkRhdGFSZXNwb25zZSIAEmcKDExpbmtTdWJncmFwaBIpLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpbmtTdWJncmFwaFJlcXVlc3QaKi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MaW5rU3ViZ3JhcGhSZXNwb25zZSIAEm0KDlVubGlua1N1YmdyYXBoEisud2cuY29zbW8ucGxhdGZvcm0udjEuVW5saW5rU3ViZ3JhcGhSZXF1ZXN0Giwud2cuY29zbW8ucGxhdGZvcm0udjEuVW5saW5rU3ViZ3JhcGhSZXNwb25zZSIAEogBChdWZXJpZnlBUElLZXlHcmFwaEFjY2VzcxI0LndnLmNvc21vLnBsYXRmb3JtLnYxLlZlcmlmeUFQSUtleUdyYXBoQWNjZXNzUmVxdWVzdBo1LndnLmNvc21vLnBsYXRmb3JtLnYxLlZlcmlmeUFQSUtleUdyYXBoQWNjZXNzUmVzcG9uc2UiABJtCg5SZWNvbXBvc2VHcmFwaBIrLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlY29tcG9zZUdyYXBoUmVxdWVzdBosLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlY29tcG9zZUdyYXBoUmVzcG9uc2UiABJ/ChRSZWNvbXBvc2VGZWF0dXJlRmxhZxIxLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlY29tcG9zZUZlYXR1cmVGbGFnUmVxdWVzdBoyLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlY29tcG9zZUZlYXR1cmVGbGFnUmVzcG9uc2UiABJqCg1HZXRPbmJvYXJkaW5nEioud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T25ib2FyZGluZ1JlcXVlc3QaKy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPbmJvYXJkaW5nUmVzcG9uc2UiABJzChBDcmVhdGVPbmJvYXJkaW5nEi0ud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlT25ib2FyZGluZ1JlcXVlc3QaLi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVPbmJvYXJkaW5nUmVzcG9uc2UiABJzChBGaW5pc2hPbmJvYXJkaW5nEi0ud2cuY29zbW8ucGxhdGZvcm0udjEuRmluaXNoT25ib2FyZGluZ1JlcXVlc3QaLi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5GaW5pc2hPbmJvYXJkaW5nUmVzcG9uc2UiAGIGcHJvdG8z", [file_wg_cosmo_common_common, file_wg_cosmo_notifications_events]); + fileDesc("CiN3Zy9jb3Ntby9wbGF0Zm9ybS92MS9wbGF0Zm9ybS5wcm90bxIUd2cuY29zbW8ucGxhdGZvcm0udjEiIwoFTGFiZWwSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJIlsKCFJlc3BvbnNlEi0KBGNvZGUYASABKA4yHy53Zy5jb3Ntby5jb21tb24uRW51bVN0YXR1c0NvZGUSFAoHZGV0YWlscxgCIAEoCUgAiAEBQgoKCF9kZXRhaWxzIi8KDlJlc3BvbnNlU3RhdHVzEgwKBGNvZGUYASABKAUSDwoHbWVzc2FnZRgCIAEoCSJKChdQdWJsaXNoTW9ub2dyYXBoUmVxdWVzdBIMCgRuYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRIOCgZzY2hlbWEYAyABKAkilwIKGFB1Ymxpc2hNb25vZ3JhcGhSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEkEKEWNvbXBvc2l0aW9uRXJyb3JzGAIgAygLMiYud2cuY29zbW8ucGxhdGZvcm0udjEuQ29tcG9zaXRpb25FcnJvchI/ChBkZXBsb3ltZW50RXJyb3JzGAMgAygLMiUud2cuY29zbW8ucGxhdGZvcm0udjEuRGVwbG95bWVudEVycm9yEkUKE2NvbXBvc2l0aW9uV2FybmluZ3MYBCADKAsyKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbldhcm5pbmciYAoKUHJvdG9JbnB1dBIOCgZzY2hlbWEYASABKAkSEAoIbWFwcGluZ3MYAiABKAkSDAoEbG9jaxgDIAEoCRIRCglwbGF0Zm9ybXMYBCADKAkSDwoHdmVyc2lvbhgFIAEoCSKZBgofUHVibGlzaEZlZGVyYXRlZFN1YmdyYXBoUmVxdWVzdBIMCgRuYW1lGAEgASgJEg4KBnNjaGVtYRgCIAEoCRIYCgtyb3V0aW5nX3VybBgDIAEoCUgAiAEBEisKBmxhYmVscxgEIAMoCzIbLndnLmNvc21vLnBsYXRmb3JtLnYxLkxhYmVsElAKFXN1YnNjcmlwdGlvbl9wcm90b2NvbBgGIAEoDjIsLndnLmNvc21vLmNvbW1vbi5HcmFwaFFMU3Vic2NyaXB0aW9uUHJvdG9jb2xIAYgBARIdChBzdWJzY3JpcHRpb25fdXJsGAcgASgJSAKIAQESEQoJbmFtZXNwYWNlGAggASgJElAKFXdlYnNvY2tldF9zdWJwcm90b2NvbBgJIAEoDjIsLndnLmNvc21vLmNvbW1vbi5HcmFwaFFMV2Vic29ja2V0U3VicHJvdG9jb2xIA4gBARIgChNpc19mZWF0dXJlX3N1YmdyYXBoGAogASgISASIAQESHwoSYmFzZV9zdWJncmFwaF9uYW1lGAsgASgJSAWIAQESLQogZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24YDCABKAhIBogBARI1CgR0eXBlGA0gASgOMiIud2cuY29zbW8ucGxhdGZvcm0udjEuU3ViZ3JhcGhUeXBlSAeIAQESNAoFcHJvdG8YDiABKAsyIC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Qcm90b0lucHV0SAiIAQESEgoFbGltaXQYDyABKAVICYgBAUIOCgxfcm91dGluZ191cmxCGAoWX3N1YnNjcmlwdGlvbl9wcm90b2NvbEITChFfc3Vic2NyaXB0aW9uX3VybEIYChZfd2Vic29ja2V0X3N1YnByb3RvY29sQhYKFF9pc19mZWF0dXJlX3N1YmdyYXBoQhUKE19iYXNlX3N1YmdyYXBoX25hbWVCIwohX2Rpc2FibGVfcmVzb2x2YWJpbGl0eV92YWxpZGF0aW9uQgcKBV90eXBlQggKBl9wcm90b0IICgZfbGltaXQizwMKIFB1Ymxpc2hGZWRlcmF0ZWRTdWJncmFwaFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USQQoRY29tcG9zaXRpb25FcnJvcnMYAiADKAsyJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbkVycm9yEj8KEGRlcGxveW1lbnRFcnJvcnMYAyADKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZXBsb3ltZW50RXJyb3ISFwoKaGFzQ2hhbmdlZBgEIAEoCEgAiAEBEkUKE2NvbXBvc2l0aW9uV2FybmluZ3MYBSADKAsyKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbldhcm5pbmcSIQoUcHJvcG9zYWxNYXRjaE1lc3NhZ2UYBiABKAlIAYgBARI/CgZjb3VudHMYByABKAsyKi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TdWJncmFwaFB1Ymxpc2hTdGF0c0gCiAEBQg0KC19oYXNDaGFuZ2VkQhcKFV9wcm9wb3NhbE1hdGNoTWVzc2FnZUIJCgdfY291bnRzImgKFFN1YmdyYXBoUHVibGlzaFN0YXRzEhkKEWNvbXBvc2l0aW9uRXJyb3JzGAEgASgFEhsKE2NvbXBvc2l0aW9uV2FybmluZ3MYAiABKAUSGAoQZGVwbG95bWVudEVycm9ycxgDIAEoBSIvCg9QdWJsaXNoU3ViZ3JhcGgSDAoEbmFtZRgBIAEoCRIOCgZzY2hlbWEYAiABKAki/wEKIFB1Ymxpc2hGZWRlcmF0ZWRTdWJncmFwaHNSZXF1ZXN0EhEKCW5hbWVzcGFjZRgBIAEoCRI4CglzdWJncmFwaHMYAiADKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5QdWJsaXNoU3ViZ3JhcGgSLQogZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24YAyABKAhIAIgBARISCgVsaW1pdBgEIAEoBUgBiAEBEhIKBWFzeW5jGAUgASgISAKIAQFCIwohX2Rpc2FibGVfcmVzb2x2YWJpbGl0eV92YWxpZGF0aW9uQggKBl9saW1pdEIICgZfYXN5bmMiqAMKIVB1Ymxpc2hGZWRlcmF0ZWRTdWJncmFwaHNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEkEKEWNvbXBvc2l0aW9uRXJyb3JzGAIgAygLMiYud2cuY29zbW8ucGxhdGZvcm0udjEuQ29tcG9zaXRpb25FcnJvchI/ChBkZXBsb3ltZW50RXJyb3JzGAMgAygLMiUud2cuY29zbW8ucGxhdGZvcm0udjEuRGVwbG95bWVudEVycm9yEkUKE2NvbXBvc2l0aW9uV2FybmluZ3MYBCADKAsyKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbldhcm5pbmcSPwoGY291bnRzGAUgASgLMioud2cuY29zbW8ucGxhdGZvcm0udjEuU3ViZ3JhcGhQdWJsaXNoU3RhdHNIAIgBARIcChR1cGRhdGVkU3ViZ3JhcGhOYW1lcxgGIAMoCRISCgVqb2JJZBgHIAEoCUgBiAEBQgkKB19jb3VudHNCCAoGX2pvYklkIk4KH0dldEJhdGNoUHVibGlzaEpvYlN0YXR1c1JlcXVlc3QSDQoFam9iSWQYASABKAkSEgoFbGltaXQYAiABKAVIAIgBAUIICgZfbGltaXQihAQKIEdldEJhdGNoUHVibGlzaEpvYlN0YXR1c1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USQAoGc3RhdHVzGAIgASgOMisud2cuY29zbW8ucGxhdGZvcm0udjEuQmF0Y2hQdWJsaXNoSm9iU3RhdHVzSACIAQESGgoNZmFpbHVyZVJlYXNvbhgDIAEoCUgBiAEBEkEKEWNvbXBvc2l0aW9uRXJyb3JzGAQgAygLMiYud2cuY29zbW8ucGxhdGZvcm0udjEuQ29tcG9zaXRpb25FcnJvchI/ChBkZXBsb3ltZW50RXJyb3JzGAUgAygLMiUud2cuY29zbW8ucGxhdGZvcm0udjEuRGVwbG95bWVudEVycm9yEkUKE2NvbXBvc2l0aW9uV2FybmluZ3MYBiADKAsyKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbldhcm5pbmcSPwoGY291bnRzGAcgASgLMioud2cuY29zbW8ucGxhdGZvcm0udjEuU3ViZ3JhcGhQdWJsaXNoU3RhdHNIAogBARIcChR1cGRhdGVkU3ViZ3JhcGhOYW1lcxgIIAMoCUIJCgdfc3RhdHVzQhAKDl9mYWlsdXJlUmVhc29uQgkKB19jb3VudHMiXgoHR2l0SW5mbxISCgpjb21taXRfc2hhGAEgASgJEhIKCmFjY291bnRfaWQYAiABKAkSEgoKb3duZXJfc2x1ZxgDIAEoCRIXCg9yZXBvc2l0b3J5X3NsdWcYBCABKAkiQAoKVkNTQ29udGV4dBIOCgZhdXRob3IYASABKAkSEgoKY29tbWl0X3NoYRgCIAEoCRIOCgZicmFuY2gYAyABKAkixwMKGkNoZWNrU3ViZ3JhcGhTY2hlbWFSZXF1ZXN0EhUKDXN1YmdyYXBoX25hbWUYASABKAkSDgoGc2NoZW1hGAIgASgMEi4KB2dpdEluZm8YAyABKAsyHS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HaXRJbmZvEhMKBmRlbGV0ZRgEIAEoCEgAiAEBEhEKCW5hbWVzcGFjZRgFIAEoCRIfChJza2lwX3RyYWZmaWNfY2hlY2sYBiABKAhIAYgBARI5Cgp2Y3NDb250ZXh0GAcgASgLMiAud2cuY29zbW8ucGxhdGZvcm0udjEuVkNTQ29udGV4dEgCiAEBEisKBmxhYmVscxgIIAMoCzIbLndnLmNvc21vLnBsYXRmb3JtLnYxLkxhYmVsEi0KIGRpc2FibGVfcmVzb2x2YWJpbGl0eV92YWxpZGF0aW9uGAkgASgISAOIAQESEgoFbGltaXQYCiABKAVIBIgBAUIJCgdfZGVsZXRlQhUKE19za2lwX3RyYWZmaWNfY2hlY2tCDQoLX3Zjc0NvbnRleHRCIwohX2Rpc2FibGVfcmVzb2x2YWJpbGl0eV92YWxpZGF0aW9uQggKBl9saW1pdCKoAQoYRml4U3ViZ3JhcGhTY2hlbWFSZXF1ZXN0EhUKDXN1YmdyYXBoX25hbWUYASABKAkSDgoGc2NoZW1hGAIgASgJEhEKCW5hbWVzcGFjZRgDIAEoCRItCiBkaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbhgEIAEoCEgAiAEBQiMKIV9kaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbiLqAwoWQ3JlYXRlTW9ub2dyYXBoUmVxdWVzdBIMCgRuYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRITCgtyb3V0aW5nX3VybBgDIAEoCRIRCglncmFwaF91cmwYBCABKAkSHQoQc3Vic2NyaXB0aW9uX3VybBgFIAEoCUgAiAEBElAKFXN1YnNjcmlwdGlvbl9wcm90b2NvbBgGIAEoDjIsLndnLmNvc21vLmNvbW1vbi5HcmFwaFFMU3Vic2NyaXB0aW9uUHJvdG9jb2xIAYgBARITCgZyZWFkbWUYByABKAlIAogBARIbChNhZG1pc3Npb25XZWJob29rVVJMGAggASgJElAKFXdlYnNvY2tldF9zdWJwcm90b2NvbBgJIAEoDjIsLndnLmNvc21vLmNvbW1vbi5HcmFwaFFMV2Vic29ja2V0U3VicHJvdG9jb2xIA4gBARIjChZhZG1pc3Npb25XZWJob29rU2VjcmV0GAogASgJSASIAQFCEwoRX3N1YnNjcmlwdGlvbl91cmxCGAoWX3N1YnNjcmlwdGlvbl9wcm90b2NvbEIJCgdfcmVhZG1lQhgKFl93ZWJzb2NrZXRfc3VicHJvdG9jb2xCGQoXX2FkbWlzc2lvbldlYmhvb2tTZWNyZXQiSwoXQ3JlYXRlTW9ub2dyYXBoUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSK8AgobQ3JlYXRlRmVkZXJhdGVkR3JhcGhSZXF1ZXN0EgwKBG5hbWUYASABKAkSEwoLcm91dGluZ191cmwYAiABKAkSFgoObGFiZWxfbWF0Y2hlcnMYAyADKAkSEwoGcmVhZG1lGAQgASgJSACIAQESEQoJbmFtZXNwYWNlGAUgASgJEhsKE2FkbWlzc2lvbldlYmhvb2tVUkwYBiABKAkSIwoWYWRtaXNzaW9uV2ViaG9va1NlY3JldBgHIAEoCUgBiAEBEi0KIGRpc2FibGVfcmVzb2x2YWJpbGl0eV92YWxpZGF0aW9uGAggASgISAKIAQFCCQoHX3JlYWRtZUIZChdfYWRtaXNzaW9uV2ViaG9va1NlY3JldEIjCiFfZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24ipgUKHkNyZWF0ZUZlZGVyYXRlZFN1YmdyYXBoUmVxdWVzdBIMCgRuYW1lGAEgASgJEhgKC3JvdXRpbmdfdXJsGAIgASgJSACIAQESKwoGbGFiZWxzGAMgAygLMhsud2cuY29zbW8ucGxhdGZvcm0udjEuTGFiZWwSUAoVc3Vic2NyaXB0aW9uX3Byb3RvY29sGAUgASgOMiwud2cuY29zbW8uY29tbW9uLkdyYXBoUUxTdWJzY3JpcHRpb25Qcm90b2NvbEgBiAEBEh0KEHN1YnNjcmlwdGlvbl91cmwYBiABKAlIAogBARITCgZyZWFkbWUYByABKAlIA4gBARIRCgluYW1lc3BhY2UYCCABKAkSUAoVd2Vic29ja2V0X3N1YnByb3RvY29sGAkgASgOMiwud2cuY29zbW8uY29tbW9uLkdyYXBoUUxXZWJzb2NrZXRTdWJwcm90b2NvbEgEiAEBEiIKFWlzX2V2ZW50X2RyaXZlbl9ncmFwaBgKIAEoCEgFiAEBEiAKE2lzX2ZlYXR1cmVfc3ViZ3JhcGgYCyABKAhIBogBARIfChJiYXNlX3N1YmdyYXBoX25hbWUYDCABKAlIB4gBARIwCgR0eXBlGA0gASgOMiIud2cuY29zbW8ucGxhdGZvcm0udjEuU3ViZ3JhcGhUeXBlQg4KDF9yb3V0aW5nX3VybEIYChZfc3Vic2NyaXB0aW9uX3Byb3RvY29sQhMKEV9zdWJzY3JpcHRpb25fdXJsQgkKB19yZWFkbWVCGAoWX3dlYnNvY2tldF9zdWJwcm90b2NvbEIYChZfaXNfZXZlbnRfZHJpdmVuX2dyYXBoQhYKFF9pc19mZWF0dXJlX3N1YmdyYXBoQhUKE19iYXNlX3N1YmdyYXBoX25hbWUi3wMKDkNyZWF0ZVN1YmdyYXBoEgwKBG5hbWUYASABKAkSGAoLcm91dGluZ191cmwYAiABKAlIAIgBARIrCgZsYWJlbHMYAyADKAsyGy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MYWJlbBJQChVzdWJzY3JpcHRpb25fcHJvdG9jb2wYBCABKA4yLC53Zy5jb3Ntby5jb21tb24uR3JhcGhRTFN1YnNjcmlwdGlvblByb3RvY29sSAGIAQESHQoQc3Vic2NyaXB0aW9uX3VybBgFIAEoCUgCiAEBEhMKBnJlYWRtZRgGIAEoCUgDiAEBElAKFXdlYnNvY2tldF9zdWJwcm90b2NvbBgHIAEoDjIsLndnLmNvc21vLmNvbW1vbi5HcmFwaFFMV2Vic29ja2V0U3VicHJvdG9jb2xIBIgBARIiChVpc19ldmVudF9kcml2ZW5fZ3JhcGgYCCABKAhIBYgBAUIOCgxfcm91dGluZ191cmxCGAoWX3N1YnNjcmlwdGlvbl9wcm90b2NvbEITChFfc3Vic2NyaXB0aW9uX3VybEIJCgdfcmVhZG1lQhgKFl93ZWJzb2NrZXRfc3VicHJvdG9jb2xCGAoWX2lzX2V2ZW50X2RyaXZlbl9ncmFwaCJtCh9DcmVhdGVGZWRlcmF0ZWRTdWJncmFwaHNSZXF1ZXN0EhEKCW5hbWVzcGFjZRgBIAEoCRI3CglzdWJncmFwaHMYAiADKAsyJC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVTdWJncmFwaCJyCiBDcmVhdGVGZWRlcmF0ZWRTdWJncmFwaHNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEhwKFGNyZWF0ZWRTdWJncmFwaE5hbWVzGAIgAygJIj4KG0RlbGV0ZUZlZGVyYXRlZEdyYXBoUmVxdWVzdBIMCgRuYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCSI5ChZEZWxldGVNb25vZ3JhcGhSZXF1ZXN0EgwKBG5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJIksKF0RlbGV0ZU1vbm9ncmFwaFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UingEKHkRlbGV0ZUZlZGVyYXRlZFN1YmdyYXBoUmVxdWVzdBIVCg1zdWJncmFwaF9uYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRItCiBkaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbhgDIAEoCEgAiAEBQiMKIV9kaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbiK5AQoMU2NoZW1hQ2hhbmdlEg8KB21lc3NhZ2UYASABKAkSEgoKY2hhbmdlVHlwZRgCIAEoCRIRCgRwYXRoGAMgASgJSACIAQESEgoKaXNCcmVha2luZxgEIAEoCBIYCgtoYXNPdmVycmlkZRgFIAEoCEgBiAEBEhkKDHN1YmdyYXBoTmFtZRgGIAEoCUgCiAEBQgcKBV9wYXRoQg4KDF9oYXNPdmVycmlkZUIPCg1fc3ViZ3JhcGhOYW1lIswBChpGZWRlcmF0ZWRHcmFwaFNjaGVtYUNoYW5nZRIPCgdtZXNzYWdlGAEgASgJEhIKCmNoYW5nZVR5cGUYAiABKAkSEQoEcGF0aBgDIAEoCUgAiAEBEhIKCmlzQnJlYWtpbmcYBCABKAgSGgoSZmVkZXJhdGVkR3JhcGhOYW1lGAUgASgJEhgKC2hhc092ZXJyaWRlGAYgASgISAGIAQESEwoLZmVhdHVyZUZsYWcYByABKAlCBwoFX3BhdGhCDgoMX2hhc092ZXJyaWRlImcKEENvbXBvc2l0aW9uRXJyb3ISDwoHbWVzc2FnZRgBIAEoCRIaChJmZWRlcmF0ZWRHcmFwaE5hbWUYAiABKAkSEQoJbmFtZXNwYWNlGAMgASgJEhMKC2ZlYXR1cmVGbGFnGAQgASgJImkKEkNvbXBvc2l0aW9uV2FybmluZxIPCgdtZXNzYWdlGAEgASgJEhoKEmZlZGVyYXRlZEdyYXBoTmFtZRgCIAEoCRIRCgluYW1lc3BhY2UYAyABKAkSEwoLZmVhdHVyZUZsYWcYBCABKAkiUQoPRGVwbG95bWVudEVycm9yEg8KB21lc3NhZ2UYASABKAkSGgoSZmVkZXJhdGVkR3JhcGhOYW1lGAIgASgJEhEKCW5hbWVzcGFjZRgDIAEoCSJ0ChhDaGVja09wZXJhdGlvblVzYWdlU3RhdHMSFwoPdG90YWxPcGVyYXRpb25zGAEgASgNEhMKC2ZpcnN0U2VlbkF0GAIgASgJEhIKCmxhc3RTZWVuQXQYAyABKAkSFgoOc2FmZU9wZXJhdGlvbnMYBCABKA0iYAoWQ2hlY2tlZEZlZGVyYXRlZEdyYXBocxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhEKCW5hbWVzcGFjZRgDIAEoCRIZChFvcmdhbml6YXRpb25fc2x1ZxgEIAEoCSJ0CgxMaW50TG9jYXRpb24SDAoEbGluZRgBIAEoDRIOCgZjb2x1bW4YAiABKA0SFAoHZW5kTGluZRgDIAEoDUgAiAEBEhYKCWVuZENvbHVtbhgEIAEoDUgBiAEBQgoKCF9lbmRMaW5lQgwKCl9lbmRDb2x1bW4i5QEKCUxpbnRJc3N1ZRIZCgxsaW50UnVsZVR5cGUYASABKAlIAIgBARI0CghzZXZlcml0eRgCIAEoDjIiLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpbnRTZXZlcml0eRIPCgdtZXNzYWdlGAMgASgJEjkKDWlzc3VlTG9jYXRpb24YBCABKAsyIi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MaW50TG9jYXRpb24SGQoMc3ViZ3JhcGhOYW1lGAUgASgJSAGIAQFCDwoNX2xpbnRSdWxlVHlwZUIPCg1fc3ViZ3JhcGhOYW1lIo4CChFHcmFwaFBydW5pbmdJc3N1ZRIcChRncmFwaFBydW5pbmdSdWxlVHlwZRgBIAEoCRI0CghzZXZlcml0eRgCIAEoDjIiLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpbnRTZXZlcml0eRIRCglmaWVsZFBhdGgYAyABKAkSDwoHbWVzc2FnZRgEIAEoCRI5Cg1pc3N1ZUxvY2F0aW9uGAUgASgLMiIud2cuY29zbW8ucGxhdGZvcm0udjEuTGludExvY2F0aW9uEhoKEmZlZGVyYXRlZEdyYXBoTmFtZRgGIAEoCRIZCgxzdWJncmFwaE5hbWUYByABKAlIAIgBAUIPCg1fc3ViZ3JhcGhOYW1lIocLChtDaGVja1N1YmdyYXBoU2NoZW1hUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI7Cg9icmVha2luZ0NoYW5nZXMYAiADKAsyIi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TY2hlbWFDaGFuZ2USPgoSbm9uQnJlYWtpbmdDaGFuZ2VzGAMgAygLMiIud2cuY29zbW8ucGxhdGZvcm0udjEuU2NoZW1hQ2hhbmdlEkEKEWNvbXBvc2l0aW9uRXJyb3JzGAQgAygLMiYud2cuY29zbW8ucGxhdGZvcm0udjEuQ29tcG9zaXRpb25FcnJvchJLChNvcGVyYXRpb25Vc2FnZVN0YXRzGAUgASgLMi4ud2cuY29zbW8ucGxhdGZvcm0udjEuQ2hlY2tPcGVyYXRpb25Vc2FnZVN0YXRzEhAKCGNoZWNrX2lkGAYgASgJEk4KGGNoZWNrZWRfZmVkZXJhdGVkX2dyYXBocxgHIAMoCzIsLndnLmNvc21vLnBsYXRmb3JtLnYxLkNoZWNrZWRGZWRlcmF0ZWRHcmFwaHMSNQoMbGludFdhcm5pbmdzGAggAygLMh8ud2cuY29zbW8ucGxhdGZvcm0udjEuTGludElzc3VlEjMKCmxpbnRFcnJvcnMYCSADKAsyHy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MaW50SXNzdWUSQwoSZ3JhcGhQcnVuZVdhcm5pbmdzGAogAygLMicud2cuY29zbW8ucGxhdGZvcm0udjEuR3JhcGhQcnVuaW5nSXNzdWUSQQoQZ3JhcGhQcnVuZUVycm9ycxgLIAMoCzInLndnLmNvc21vLnBsYXRmb3JtLnYxLkdyYXBoUHJ1bmluZ0lzc3VlEikKHGNsaWVudF90cmFmZmljX2NoZWNrX3NraXBwZWQYDCABKAhIAIgBARJFChNjb21wb3NpdGlvbldhcm5pbmdzGA0gAygLMigud2cuY29zbW8ucGxhdGZvcm0udjEuQ29tcG9zaXRpb25XYXJuaW5nEiEKFHByb3Bvc2FsTWF0Y2hNZXNzYWdlGA4gASgJSAGIAQESJwoaaXNMaW5rZWRUcmFmZmljQ2hlY2tGYWlsZWQYDyABKAhIAogBARInChppc0xpbmtlZFBydW5pbmdDaGVja0ZhaWxlZBgQIAEoCEgDiAEBEiQKF2lzQ2hlY2tFeHRlbnNpb25Ta2lwcGVkGBEgASgISASIAQESJwoaY2hlY2tFeHRlbnNpb25FcnJvck1lc3NhZ2UYEiABKAlIBYgBARI8CgZjb3VudHMYEyABKAsyJy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TY2hlbWFDaGVja0NvdW50c0gGiAEBElcKHWNvbXBvc2VkU2NoZW1hQnJlYWtpbmdDaGFuZ2VzGBQgAygLMjAud2cuY29zbW8ucGxhdGZvcm0udjEuRmVkZXJhdGVkR3JhcGhTY2hlbWFDaGFuZ2USKAobZmVhdHVyZVN1YmdyYXBoQ2hlY2tNZXNzYWdlGBUgASgJSAeIAQFCHwodX2NsaWVudF90cmFmZmljX2NoZWNrX3NraXBwZWRCFwoVX3Byb3Bvc2FsTWF0Y2hNZXNzYWdlQh0KG19pc0xpbmtlZFRyYWZmaWNDaGVja0ZhaWxlZEIdChtfaXNMaW5rZWRQcnVuaW5nQ2hlY2tGYWlsZWRCGgoYX2lzQ2hlY2tFeHRlbnNpb25Ta2lwcGVkQh0KG19jaGVja0V4dGVuc2lvbkVycm9yTWVzc2FnZUIJCgdfY291bnRzQh4KHF9mZWF0dXJlU3ViZ3JhcGhDaGVja01lc3NhZ2UihwIKEVNjaGVtYUNoZWNrQ291bnRzEhQKDGxpbnRXYXJuaW5ncxgBIAEoBRISCgpsaW50RXJyb3JzGAIgASgFEhcKD2JyZWFraW5nQ2hhbmdlcxgDIAEoBRIaChJub25CcmVha2luZ0NoYW5nZXMYBCABKAUSGQoRY29tcG9zaXRpb25FcnJvcnMYBSABKAUSGwoTY29tcG9zaXRpb25XYXJuaW5ncxgGIAEoBRIYChBncmFwaFBydW5lRXJyb3JzGAcgASgFEhoKEmdyYXBoUHJ1bmVXYXJuaW5ncxgIIAEoBRIlCh1jb21wb3NlZFNjaGVtYUJyZWFraW5nQ2hhbmdlcxgJIAEoBSJvChlGaXhTdWJncmFwaFNjaGVtYVJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USEAoIbW9kaWZpZWQYAiABKAgSDgoGc2NoZW1hGAMgASgJIpsCChxDcmVhdGVGZWRlcmF0ZWRHcmFwaFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USQQoRY29tcG9zaXRpb25FcnJvcnMYAiADKAsyJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbkVycm9yEj8KEGRlcGxveW1lbnRFcnJvcnMYAyADKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZXBsb3ltZW50RXJyb3ISRQoTY29tcG9zaXRpb25XYXJuaW5ncxgEIAMoCzIoLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uV2FybmluZyJTCh9DcmVhdGVGZWRlcmF0ZWRTdWJncmFwaFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2Ui2gIKH0RlbGV0ZUZlZGVyYXRlZFN1YmdyYXBoUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJBChFjb21wb3NpdGlvbkVycm9ycxgCIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uRXJyb3ISPwoQZGVwbG95bWVudEVycm9ycxgDIAMoCzIlLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlcGxveW1lbnRFcnJvchJFChNjb21wb3NpdGlvbldhcm5pbmdzGAQgAygLMigud2cuY29zbW8ucGxhdGZvcm0udjEuQ29tcG9zaXRpb25XYXJuaW5nEiEKFHByb3Bvc2FsTWF0Y2hNZXNzYWdlGAUgASgJSACIAQFCFwoVX3Byb3Bvc2FsTWF0Y2hNZXNzYWdlIlAKHERlbGV0ZUZlZGVyYXRlZEdyYXBoUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSKfAQoZR2V0RmVkZXJhdGVkR3JhcGhzUmVxdWVzdBINCgVsaW1pdBgBIAEoBRIOCgZvZmZzZXQYAiABKAUSFgoOaW5jbHVkZU1ldHJpY3MYAyABKAgSEQoJbmFtZXNwYWNlGAQgASgJEiAKE3N1cHBvcnRzX2ZlZGVyYXRpb24YBSABKAhIAIgBAUIWChRfc3VwcG9ydHNfZmVkZXJhdGlvbiJlCghDb250cmFjdBIKCgJpZBgBIAEoCRIhChlzb3VyY2VfZmVkZXJhdGVkX2dyYXBoX2lkGAIgASgJEhQKDGV4Y2x1ZGVfdGFncxgDIAMoCRIUCgxpbmNsdWRlX3RhZ3MYBCADKAkiswQKDkZlZGVyYXRlZEdyYXBoEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEgoKcm91dGluZ1VSTBgDIAEoCRIWCg5sYWJlbF9tYXRjaGVycxgEIAMoCRIVCg1sYXN0VXBkYXRlZEF0GAUgASgJEhQKDGlzQ29tcG9zYWJsZRgGIAEoCBIZChFjb21wb3NpdGlvbkVycm9ycxgHIAEoCRIaChJjb25uZWN0ZWRTdWJncmFwaHMYCCABKAUSPgoNcmVxdWVzdFNlcmllcxgJIAMoCzInLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlcXVlc3RTZXJpZXNJdGVtEhMKBnJlYWRtZRgKIAEoCUgAiAEBEhEKCXRhcmdldF9pZBgLIAEoCRIRCgluYW1lc3BhY2UYDCABKAkSGgoNY29tcG9zaXRpb25JZBgNIAEoCUgBiAEBEhsKE3N1cHBvcnRzX2ZlZGVyYXRpb24YDiABKAgSNQoIY29udHJhY3QYDyABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db250cmFjdEgCiAEBEiIKFWFkbWlzc2lvbl93ZWJob29rX3VybBgQIAEoCUgDiAEBEiQKHHJvdXRlcl9jb21wYXRpYmlsaXR5X3ZlcnNpb24YESABKAlCCQoHX3JlYWRtZUIQCg5fY29tcG9zaXRpb25JZEILCglfY29udHJhY3RCGAoWX2FkbWlzc2lvbl93ZWJob29rX3VybCKEAQoaR2V0RmVkZXJhdGVkR3JhcGhzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI0CgZncmFwaHMYAiADKAsyJC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5GZWRlcmF0ZWRHcmFwaCJUCilHZXRGZWRlcmF0ZWRHcmFwaHNCeVN1YmdyYXBoTGFiZWxzUmVxdWVzdBIUCgxzdWJncmFwaE5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJIpQBCipHZXRGZWRlcmF0ZWRHcmFwaHNCeVN1YmdyYXBoTGFiZWxzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI0CgZncmFwaHMYAiADKAsyJC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5GZWRlcmF0ZWRHcmFwaCKIAQoTR2V0U3ViZ3JhcGhzUmVxdWVzdBINCgVsaW1pdBgBIAEoBRIOCgZvZmZzZXQYAiABKAUSEQoJbmFtZXNwYWNlGAMgASgJEhIKBXF1ZXJ5GAQgASgJSACIAQESIQoZZXhjbHVkZV9mZWF0dXJlX3N1YmdyYXBocxgFIAEoCEIICgZfcXVlcnkivQUKCFN1YmdyYXBoEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEgoKcm91dGluZ1VSTBgDIAEoCRIVCg1sYXN0VXBkYXRlZEF0GAQgASgJEisKBmxhYmVscxgFIAMoCzIbLndnLmNvc21vLnBsYXRmb3JtLnYxLkxhYmVsEhoKDWNyZWF0b3JVc2VySWQYBiABKAlIAIgBARITCgZyZWFkbWUYByABKAlIAYgBARIXCg9zdWJzY3JpcHRpb25VcmwYCCABKAkSEQoJdGFyZ2V0X2lkGAkgASgJEhEKCW5hbWVzcGFjZRgKIAEoCRIcChRzdWJzY3JpcHRpb25Qcm90b2NvbBgLIAEoCRIWCglpc1YyR3JhcGgYDCABKAhIAogBARIaChJpc0V2ZW50RHJpdmVuR3JhcGgYDSABKAgSHAoUd2Vic29ja2V0U3VicHJvdG9jb2wYDiABKAkSGQoRaXNGZWF0dXJlU3ViZ3JhcGgYDyABKAgSHQoQYmFzZVN1YmdyYXBoTmFtZRgQIAEoCUgDiAEBEhsKDmJhc2VTdWJncmFwaElkGBEgASgJSASIAQESMAoEdHlwZRgSIAEoDjIiLndnLmNvc21vLnBsYXRmb3JtLnYxLlN1YmdyYXBoVHlwZRJCCgpwbHVnaW5EYXRhGBMgASgLMikud2cuY29zbW8ucGxhdGZvcm0udjEuU3ViZ3JhcGguUGx1Z2luRGF0YUgFiAEBGjAKClBsdWdpbkRhdGESDwoHdmVyc2lvbhgBIAEoCRIRCglwbGF0Zm9ybXMYAiADKAlCEAoOX2NyZWF0b3JVc2VySWRCCQoHX3JlYWRtZUIMCgpfaXNWMkdyYXBoQhMKEV9iYXNlU3ViZ3JhcGhOYW1lQhEKD19iYXNlU3ViZ3JhcGhJZEINCgtfcGx1Z2luRGF0YSKHAQoUR2V0U3ViZ3JhcGhzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIuCgZncmFwaHMYAiADKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TdWJncmFwaBINCgVjb3VudBgDIAEoBSJZCh5HZXRGZWRlcmF0ZWRHcmFwaEJ5TmFtZVJlcXVlc3QSDAoEbmFtZRgBIAEoCRIWCg5pbmNsdWRlTWV0cmljcxgCIAEoCBIRCgluYW1lc3BhY2UYAyABKAkikAIKH0dldEZlZGVyYXRlZEdyYXBoQnlOYW1lUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIzCgVncmFwaBgCIAEoCzIkLndnLmNvc21vLnBsYXRmb3JtLnYxLkZlZGVyYXRlZEdyYXBoEjEKCXN1YmdyYXBocxgDIAMoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlN1YmdyYXBoEhkKEWdyYXBoUmVxdWVzdFRva2VuGAQgASgJEjgKEGZlYXR1cmVTdWJncmFwaHMYBSADKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TdWJncmFwaCJ6CiFHZXRGZWRlcmF0ZWRHcmFwaFNETEJ5TmFtZVJlcXVlc3QSDAoEbmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSHgoRZmVhdHVyZV9mbGFnX25hbWUYAyABKAlIAIgBAUIUChJfZmVhdHVyZV9mbGFnX25hbWUixgEKIkdldEZlZGVyYXRlZEdyYXBoU0RMQnlOYW1lUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIQCgNzZGwYAiABKAlIAIgBARIXCgp2ZXJzaW9uX2lkGAMgASgJSAGIAQESGgoNY2xpZW50X3NjaGVtYRgEIAEoCUgCiAEBQgYKBF9zZGxCDQoLX3ZlcnNpb25faWRCEAoOX2NsaWVudF9zY2hlbWEiOwoYR2V0U3ViZ3JhcGhCeU5hbWVSZXF1ZXN0EgwKBG5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJIuICChlHZXRTdWJncmFwaEJ5TmFtZVJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USLQoFZ3JhcGgYAiABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TdWJncmFwaBI1CgdtZW1iZXJzGAMgAygLMiQud2cuY29zbW8ucGxhdGZvcm0udjEuU3ViZ3JhcGhNZW1iZXISWwoObGlua2VkU3ViZ3JhcGgYBCABKAsyPi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRTdWJncmFwaEJ5TmFtZVJlc3BvbnNlLkxpbmtlZFN1YmdyYXBoSACIAQEaPQoOTGlua2VkU3ViZ3JhcGgSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIRCgluYW1lc3BhY2UYAyABKAlCEQoPX2xpbmtlZFN1YmdyYXBoImMKKkdldFN1YmdyYXBoU0RMRnJvbUxhdGVzdENvbXBvc2l0aW9uUmVxdWVzdBIMCgRuYW1lGAEgASgJEhQKDGZlZEdyYXBoTmFtZRgCIAEoCRIRCgluYW1lc3BhY2UYAyABKAkioQEKK0dldFN1YmdyYXBoU0RMRnJvbUxhdGVzdENvbXBvc2l0aW9uUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIQCgNzZGwYAiABKAlIAIgBARIXCgp2ZXJzaW9uX2lkGAMgASgJSAGIAQFCBgoEX3NkbEINCgtfdmVyc2lvbl9pZCI+ChtHZXRMYXRlc3RTdWJncmFwaFNETFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkikgEKHEdldExhdGVzdFN1YmdyYXBoU0RMUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIQCgNzZGwYAiABKAlIAIgBARIXCgp2ZXJzaW9uX2lkGAMgASgJSAGIAQFCBgoEX3NkbEINCgtfdmVyc2lvbl9pZCI5CiRHZXRDaGVja3NCeUZlZGVyYXRlZEdyYXBoTmFtZUZpbHRlcnMSEQoJc3ViZ3JhcGhzGAEgAygJIugBCiRHZXRDaGVja3NCeUZlZGVyYXRlZEdyYXBoTmFtZVJlcXVlc3QSDAoEbmFtZRgBIAEoCRINCgVsaW1pdBgCIAEoBRIOCgZvZmZzZXQYAyABKAUSEQoJc3RhcnREYXRlGAQgASgJEg8KB2VuZERhdGUYBSABKAkSEQoJbmFtZXNwYWNlGAYgASgJElAKB2ZpbHRlcnMYByABKAsyOi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRDaGVja3NCeUZlZGVyYXRlZEdyYXBoTmFtZUZpbHRlcnNIAIgBAUIKCghfZmlsdGVycyKKDAoLU2NoZW1hQ2hlY2sSCgoCaWQYASABKAkSFQoIdGFyZ2V0SUQYAiABKAlIAIgBARIZCgxzdWJncmFwaE5hbWUYAyABKAlIAYgBARIRCgl0aW1lc3RhbXAYBCABKAkSFAoMaXNDb21wb3NhYmxlGAUgASgIEhIKCmlzQnJlYWtpbmcYBiABKAgSGAoQaGFzQ2xpZW50VHJhZmZpYxgHIAEoCBIXCg9pc0ZvcmNlZFN1Y2Nlc3MYCCABKAgSEQoJaXNEZWxldGVkGAkgASgIEkMKCWdoRGV0YWlscxgKIAEoCzIrLndnLmNvc21vLnBsYXRmb3JtLnYxLlNjaGVtYUNoZWNrLkdoRGV0YWlsc0gCiAEBEhUKDWhhc0xpbnRFcnJvcnMYCyABKAgSHQoVaGFzR3JhcGhQcnVuaW5nRXJyb3JzGAwgASgIEiQKHGNsaWVudF90cmFmZmljX2NoZWNrX3NraXBwZWQYDSABKAgSFAoMbGludF9za2lwcGVkGA4gASgIEh0KFWdyYXBoX3BydW5pbmdfc2tpcHBlZBgPIAEoCBI5Cgp2Y3NDb250ZXh0GBAgASgLMiAud2cuY29zbW8ucGxhdGZvcm0udjEuVkNTQ29udGV4dEgDiAEBEksKEGNoZWNrZWRTdWJncmFwaHMYESADKAsyMS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TY2hlbWFDaGVjay5DaGVja2VkU3ViZ3JhcGgSGgoNcHJvcG9zYWxNYXRjaBgSIAEoCUgEiAEBEhsKE2NvbXBvc2l0aW9uX3NraXBwZWQYEyABKAgSIAoYYnJlYWtpbmdfY2hhbmdlc19za2lwcGVkGBQgASgIEhkKDGVycm9yTWVzc2FnZRgVIAEoCUgFiAEBEkMKDGxpbmtlZENoZWNrcxgWIAMoCzItLndnLmNvc21vLnBsYXRmb3JtLnYxLlNjaGVtYUNoZWNrLkxpbmtlZENoZWNrEigKG2NoZWNrX2V4dGVuc2lvbl9kZWxpdmVyeV9pZBgXIAEoCUgGiAEBEioKHWNoZWNrX2V4dGVuc2lvbl9lcnJvcl9tZXNzYWdlGBggASgJSAeIAQESHwoXaGFzRmVhdHVyZVN1YmdyYXBoQ2hlY2sYGSABKAgaSQoJR2hEZXRhaWxzEhEKCWNvbW1pdFNoYRgBIAEoCRIRCglvd25lclNsdWcYAiABKAkSFgoOcmVwb3NpdG9yeVNsdWcYAyABKAkaqgEKD0NoZWNrZWRTdWJncmFwaBIKCgJpZBgBIAEoCRIUCgxzdWJncmFwaE5hbWUYAiABKAkSFwoKc3ViZ3JhcGhJZBgDIAEoCUgAiAEBEhEKCWlzRGVsZXRlZBgEIAEoCBINCgVpc05ldxgFIAEoCBIrCgZsYWJlbHMYBiADKAsyGy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MYWJlbEINCgtfc3ViZ3JhcGhJZBqRAgoLTGlua2VkQ2hlY2sSCgoCaWQYASABKAkSGgoSYWZmZWN0ZWRHcmFwaE5hbWVzGAIgAygJEhkKEWlzQ2hlY2tTdWNjZXNzZnVsGAMgASgIEhgKEGhhc0NsaWVudFRyYWZmaWMYBCABKAgSHQoVaGFzR3JhcGhQcnVuaW5nRXJyb3JzGAUgASgIEiEKGWNsaWVudFRyYWZmaWNDaGVja1NraXBwZWQYBiABKAgSIAoYZ3JhcGhQcnVuaW5nQ2hlY2tTa2lwcGVkGAcgASgIEhUKDXN1YmdyYXBoTmFtZXMYCCADKAkSEQoJbmFtZXNwYWNlGAkgASgJEhcKD2lzRm9yY2VkU3VjY2VzcxgKIAEoCEILCglfdGFyZ2V0SURCDwoNX3N1YmdyYXBoTmFtZUIMCgpfZ2hEZXRhaWxzQg0KC192Y3NDb250ZXh0QhAKDl9wcm9wb3NhbE1hdGNoQg8KDV9lcnJvck1lc3NhZ2VCHgocX2NoZWNrX2V4dGVuc2lvbl9kZWxpdmVyeV9pZEIgCh5fY2hlY2tfZXh0ZW5zaW9uX2Vycm9yX21lc3NhZ2UisQEKJUdldENoZWNrc0J5RmVkZXJhdGVkR3JhcGhOYW1lUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIxCgZjaGVja3MYAiADKAsyIS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TY2hlbWFDaGVjaxIjChtjaGVja3NDb3VudEJhc2VkT25EYXRlUmFuZ2UYAyABKAUiUQoWR2V0Q2hlY2tTdW1tYXJ5UmVxdWVzdBIQCghjaGVja19pZBgBIAEoCRISCgpncmFwaF9uYW1lGAIgASgJEhEKCW5hbWVzcGFjZRgDIAEoCSI0CgxDaGFuZ2VDb3VudHMSEQoJYWRkaXRpb25zGAEgASgFEhEKCWRlbGV0aW9ucxgCIAEoBSLICQoXR2V0Q2hlY2tTdW1tYXJ5UmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIwCgVjaGVjaxgCIAEoCzIhLndnLmNvc21vLnBsYXRmb3JtLnYxLlNjaGVtYUNoZWNrElQKD2FmZmVjdGVkX2dyYXBocxgDIAMoCzI7LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldENoZWNrU3VtbWFyeVJlc3BvbnNlLkFmZmVjdGVkR3JhcGgSJgoZcHJvcG9zZWRTdWJncmFwaFNjaGVtYVNETBgEIAEoCUgAiAEBEjMKB2NoYW5nZXMYBiADKAsyIi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TY2hlbWFDaGFuZ2USQQoRY29tcG9zaXRpb25FcnJvcnMYByADKAsyJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbkVycm9yEhoKEnRyYWZmaWNfY2hlY2tfZGF5cxgIIAEoBRIzCgpsaW50SXNzdWVzGAkgAygLMh8ud2cuY29zbW8ucGxhdGZvcm0udjEuTGludElzc3VlEkMKEmdyYXBoUHJ1bmluZ0lzc3VlcxgKIAMoCzInLndnLmNvc21vLnBsYXRmb3JtLnYxLkdyYXBoUHJ1bmluZ0lzc3VlEkUKE2NvbXBvc2l0aW9uV2FybmluZ3MYCyADKAsyKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbldhcm5pbmcSFwoKcHJvcG9zYWxJZBgMIAEoCUgBiAEBEhkKDHByb3Bvc2FsTmFtZRgNIAEoCUgCiAEBEloKD3Byb3Bvc2FsTWF0Y2hlcxgOIAMoCzJBLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldENoZWNrU3VtbWFyeVJlc3BvbnNlLlByb3Bvc2FsU2NoZW1hTWF0Y2gSGgoSaXNQcm9wb3NhbHNFbmFibGVkGA8gASgIElcKHWNvbXBvc2VkU2NoZW1hQnJlYWtpbmdDaGFuZ2VzGBAgAygLMjAud2cuY29zbW8ucGxhdGZvcm0udjEuRmVkZXJhdGVkR3JhcGhTY2hlbWFDaGFuZ2Ua2gEKDUFmZmVjdGVkR3JhcGgSCgoCaWQYASABKAkSGgoSdHJhZmZpY19jaGVja19kYXlzGAIgASgFEgwKBG5hbWUYAyABKAkSGQoRaXNDaGVja1N1Y2Nlc3NmdWwYBCABKAgSFAoMaXNDb21wb3NhYmxlGAUgASgIEhIKCmlzQnJlYWtpbmcYBiABKAgSGAoQaGFzQ2xpZW50VHJhZmZpYxgHIAEoCBIVCg1oYXNMaW50RXJyb3JzGAggASgIEh0KFWhhc0dyYXBoUHJ1bmluZ0Vycm9ycxgJIAEoCBpWChNQcm9wb3NhbFNjaGVtYU1hdGNoEhIKCnByb3Bvc2FsSWQYASABKAkSFAoMcHJvcG9zYWxOYW1lGAIgASgJEhUKDXByb3Bvc2FsTWF0Y2gYAyABKAhCHAoaX3Byb3Bvc2VkU3ViZ3JhcGhTY2hlbWFTRExCDQoLX3Byb3Bvc2FsSWRCDwoNX3Byb3Bvc2FsTmFtZSKTAQoZR2V0Q2hlY2tPcGVyYXRpb25zUmVxdWVzdBIQCghjaGVja19pZBgBIAEoCRISCgpncmFwaF9uYW1lGAIgASgJEhEKCW5hbWVzcGFjZRgDIAEoCRINCgVsaW1pdBgEIAEoBRIOCgZvZmZzZXQYBSABKAUSEwoGc2VhcmNoGAYgASgJSACIAQFCCQoHX3NlYXJjaCLTBAoaR2V0Q2hlY2tPcGVyYXRpb25zUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJTCgpvcGVyYXRpb25zGAIgAygLMj8ud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0Q2hlY2tPcGVyYXRpb25zUmVzcG9uc2UuQ2hlY2tPcGVyYXRpb24SGgoSdHJhZmZpY19jaGVja19kYXlzGAMgASgFEhIKCmNyZWF0ZWRfYXQYBCABKAkSJAocY2xpZW50X3RyYWZmaWNfY2hlY2tfc2tpcHBlZBgFIAEoCBIcChR0b3RhbE9wZXJhdGlvbnNDb3VudBgGIAEoBRIsCiRkb0FsbE9wZXJhdGlvbnNIYXZlSWdub3JlQWxsT3ZlcnJpZGUYByABKAgSNAosZG9BbGxPcGVyYXRpb25zSGF2ZUFsbFRoZWlyQ2hhbmdlc01hcmtlZFNhZmUYCCABKAga1QEKDkNoZWNrT3BlcmF0aW9uEgwKBGhhc2gYASABKAkSDAoEbmFtZRgCIAEoCRIMCgR0eXBlGAMgASgJEhUKDWZpcnN0X3NlZW5fYXQYBCABKAkSFAoMbGFzdF9zZWVuX2F0GAUgASgJEj0KEWltcGFjdGluZ19jaGFuZ2VzGAYgAygLMiIud2cuY29zbW8ucGxhdGZvcm0udjEuU2NoZW1hQ2hhbmdlEg8KB2lzX3NhZmUYByABKAgSHAoUaGFzSWdub3JlQWxsT3ZlcnJpZGUYCCABKAgidwoaR2V0T3BlcmF0aW9uQ29udGVudFJlcXVlc3QSDAoEaGFzaBgBIAEoCRIcChRmZWRlcmF0ZWRfZ3JhcGhfbmFtZRgCIAEoCRIRCgluYW1lc3BhY2UYAyABKAkSEQoEbmFtZRgEIAEoCUgAiAEBQgcKBV9uYW1lImoKG0dldE9wZXJhdGlvbkNvbnRlbnRSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEhkKEW9wZXJhdGlvbl9jb250ZW50GAIgASgJIq4BCiFHZXRGZWRlcmF0ZWRHcmFwaENoYW5nZWxvZ1JlcXVlc3QSDAoEbmFtZRgBIAEoCRI0CgpwYWdpbmF0aW9uGAIgASgLMiAud2cuY29zbW8ucGxhdGZvcm0udjEuUGFnaW5hdGlvbhIyCglkYXRlUmFuZ2UYAyABKAsyHy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EYXRlUmFuZ2USEQoJbmFtZXNwYWNlGAQgASgJInEKF0ZlZGVyYXRlZEdyYXBoQ2hhbmdlbG9nEgoKAmlkGAEgASgJEgwKBHBhdGgYAiABKAkSEgoKY2hhbmdlVHlwZRgDIAEoCRIVCg1jaGFuZ2VNZXNzYWdlGAQgASgJEhEKCWNyZWF0ZWRBdBgFIAEoCSKlAQodRmVkZXJhdGVkR3JhcGhDaGFuZ2Vsb2dPdXRwdXQSEQoJY3JlYXRlZEF0GAEgASgJEhcKD3NjaGVtYVZlcnNpb25JZBgCIAEoCRJBCgpjaGFuZ2Vsb2dzGAMgAygLMi0ud2cuY29zbW8ucGxhdGZvcm0udjEuRmVkZXJhdGVkR3JhcGhDaGFuZ2Vsb2cSFQoNY29tcG9zaXRpb25JZBgEIAEoCSLHAQoiR2V0RmVkZXJhdGVkR3JhcGhDaGFuZ2Vsb2dSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEloKHWZlZGVyYXRlZEdyYXBoQ2hhbmdlbG9nT3V0cHV0GAIgAygLMjMud2cuY29zbW8ucGxhdGZvcm0udjEuRmVkZXJhdGVkR3JhcGhDaGFuZ2Vsb2dPdXRwdXQSEwoLaGFzTmV4dFBhZ2UYAyABKAgiZAoUR2V0RmVkZXJhdGVkUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIaChJGZWRlcmF0ZWRTY2hlbWFTREwYAiABKAkizAQKFVVwZGF0ZVN1YmdyYXBoUmVxdWVzdBIMCgRuYW1lGAEgASgJEhgKC3JvdXRpbmdfdXJsGAIgASgJSACIAQESKwoGbGFiZWxzGAMgAygLMhsud2cuY29zbW8ucGxhdGZvcm0udjEuTGFiZWwSDwoHaGVhZGVycxgEIAMoCRJQChVzdWJzY3JpcHRpb25fcHJvdG9jb2wYBSABKA4yLC53Zy5jb3Ntby5jb21tb24uR3JhcGhRTFN1YnNjcmlwdGlvblByb3RvY29sSAGIAQESHQoQc3Vic2NyaXB0aW9uX3VybBgGIAEoCUgCiAEBEhMKBnJlYWRtZRgHIAEoCUgDiAEBEhEKCW5hbWVzcGFjZRgIIAEoCRIZCgx1bnNldF9sYWJlbHMYCSABKAhIBIgBARJQChV3ZWJzb2NrZXRfc3VicHJvdG9jb2wYCiABKA4yLC53Zy5jb3Ntby5jb21tb24uR3JhcGhRTFdlYnNvY2tldFN1YnByb3RvY29sSAWIAQESLQogZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24YCyABKAhIBogBAUIOCgxfcm91dGluZ191cmxCGAoWX3N1YnNjcmlwdGlvbl9wcm90b2NvbEITChFfc3Vic2NyaXB0aW9uX3VybEIJCgdfcmVhZG1lQg8KDV91bnNldF9sYWJlbHNCGAoWX3dlYnNvY2tldF9zdWJwcm90b2NvbEIjCiFfZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24ilQIKFlVwZGF0ZVN1YmdyYXBoUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJBChFjb21wb3NpdGlvbkVycm9ycxgCIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uRXJyb3ISPwoQZGVwbG95bWVudEVycm9ycxgDIAMoCzIlLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlcGxveW1lbnRFcnJvchJFChNjb21wb3NpdGlvbldhcm5pbmdzGAQgAygLMigud2cuY29zbW8ucGxhdGZvcm0udjEuQ29tcG9zaXRpb25XYXJuaW5nIpUDChtVcGRhdGVGZWRlcmF0ZWRHcmFwaFJlcXVlc3QSDAoEbmFtZRgBIAEoCRITCgtyb3V0aW5nX3VybBgCIAEoCRIWCg5sYWJlbF9tYXRjaGVycxgDIAMoCRITCgZyZWFkbWUYBCABKAlIAIgBARIRCgluYW1lc3BhY2UYBSABKAkSIQoUdW5zZXRfbGFiZWxfbWF0Y2hlcnMYBiABKAhIAYgBARIgChNhZG1pc3Npb25XZWJob29rVVJMGAcgASgJSAKIAQESIwoWYWRtaXNzaW9uV2ViaG9va1NlY3JldBgIIAEoCUgDiAEBEi0KIGRpc2FibGVfcmVzb2x2YWJpbGl0eV92YWxpZGF0aW9uGAkgASgISASIAQFCCQoHX3JlYWRtZUIXChVfdW5zZXRfbGFiZWxfbWF0Y2hlcnNCFgoUX2FkbWlzc2lvbldlYmhvb2tVUkxCGQoXX2FkbWlzc2lvbldlYmhvb2tTZWNyZXRCIwohX2Rpc2FibGVfcmVzb2x2YWJpbGl0eV92YWxpZGF0aW9uIpsCChxVcGRhdGVGZWRlcmF0ZWRHcmFwaFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USQQoRY29tcG9zaXRpb25FcnJvcnMYAiADKAsyJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbkVycm9yEj8KEGRlcGxveW1lbnRFcnJvcnMYAyADKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZXBsb3ltZW50RXJyb3ISRQoTY29tcG9zaXRpb25XYXJuaW5ncxgEIAMoCzIoLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uV2FybmluZyKHBAoWVXBkYXRlTW9ub2dyYXBoUmVxdWVzdBIMCgRuYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRITCgtyb3V0aW5nX3VybBgDIAEoCRIRCglncmFwaF91cmwYBCABKAkSUAoVc3Vic2NyaXB0aW9uX3Byb3RvY29sGAUgASgOMiwud2cuY29zbW8uY29tbW9uLkdyYXBoUUxTdWJzY3JpcHRpb25Qcm90b2NvbEgAiAEBEh0KEHN1YnNjcmlwdGlvbl91cmwYBiABKAlIAYgBARITCgZyZWFkbWUYByABKAlIAogBARJQChV3ZWJzb2NrZXRfc3VicHJvdG9jb2wYCCABKA4yLC53Zy5jb3Ntby5jb21tb24uR3JhcGhRTFdlYnNvY2tldFN1YnByb3RvY29sSAOIAQESIAoTYWRtaXNzaW9uV2ViaG9va1VSTBgJIAEoCUgEiAEBEiMKFmFkbWlzc2lvbldlYmhvb2tTZWNyZXQYCiABKAlIBYgBAUIYChZfc3Vic2NyaXB0aW9uX3Byb3RvY29sQhMKEV9zdWJzY3JpcHRpb25fdXJsQgkKB19yZWFkbWVCGAoWX3dlYnNvY2tldF9zdWJwcm90b2NvbEIWChRfYWRtaXNzaW9uV2ViaG9va1VSTEIZChdfYWRtaXNzaW9uV2ViaG9va1NlY3JldCJLChdVcGRhdGVNb25vZ3JhcGhSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIscBChpDaGVja0ZlZGVyYXRlZEdyYXBoUmVxdWVzdBIMCgRuYW1lGAEgASgJEhYKDmxhYmVsX21hdGNoZXJzGAIgAygJEhEKCW5hbWVzcGFjZRgDIAEoCRItCiBkaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbhgEIAEoCEgAiAEBEhIKBWxpbWl0GAUgASgFSAGIAQFCIwohX2Rpc2FibGVfcmVzb2x2YWJpbGl0eV92YWxpZGF0aW9uQggKBl9saW1pdCLVAgobQ2hlY2tGZWRlcmF0ZWRHcmFwaFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USQQoRY29tcG9zaXRpb25FcnJvcnMYAiADKAsyJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbkVycm9yEjEKCXN1YmdyYXBocxgDIAMoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlN1YmdyYXBoEkUKE2NvbXBvc2l0aW9uV2FybmluZ3MYBCADKAsyKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbldhcm5pbmcSPAoGY291bnRzGAUgASgLMicud2cuY29zbW8ucGxhdGZvcm0udjEuU2NoZW1hQ2hlY2tDb3VudHNIAIgBAUIJCgdfY291bnRzIisKClBhZ2luYXRpb24SDQoFbGltaXQYASABKAUSDgoGb2Zmc2V0GAIgASgFIiAKBFNvcnQSCgoCaWQYASABKAkSDAoEZGVzYxgCIAEoCCKJAgoPQW5hbHl0aWNzQ29uZmlnEjIKCWRhdGVSYW5nZRgBIAEoCzIfLndnLmNvc21vLnBsYXRmb3JtLnYxLkRhdGVSYW5nZRISCgVyYW5nZRgCIAEoBUgAiAEBEjYKB2ZpbHRlcnMYAyADKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5BbmFseXRpY3NGaWx0ZXISNAoKcGFnaW5hdGlvbhgEIAEoCzIgLndnLmNvc21vLnBsYXRmb3JtLnYxLlBhZ2luYXRpb24SLQoEc29ydBgFIAEoCzIaLndnLmNvc21vLnBsYXRmb3JtLnYxLlNvcnRIAYgBAUIICgZfcmFuZ2VCBwoFX3NvcnQidAoPQW5hbHl0aWNzRmlsdGVyEg0KBWZpZWxkGAEgASgJEg0KBXZhbHVlGAIgASgJEkMKCG9wZXJhdG9yGAMgASgOMjEud2cuY29zbW8ucGxhdGZvcm0udjEuQW5hbHl0aWNzVmlld0ZpbHRlck9wZXJhdG9yIicKCURhdGVSYW5nZRINCgVzdGFydBgBIAEoCRILCgNlbmQYAiABKAkiuwEKF0dldEFuYWx5dGljc1ZpZXdSZXF1ZXN0EhoKEmZlZGVyYXRlZEdyYXBoTmFtZRgBIAEoCRI6CgRuYW1lGAIgASgOMiwud2cuY29zbW8ucGxhdGZvcm0udjEuQW5hbHl0aWNzVmlld0dyb3VwTmFtZRI1CgZjb25maWcYAyABKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5BbmFseXRpY3NDb25maWcSEQoJbmFtZXNwYWNlGAQgASgJItgBChNBbmFseXRpY3NWaWV3UmVzdWx0EjoKB2NvbHVtbnMYASADKAsyKS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5BbmFseXRpY3NWaWV3Q29sdW1uEjQKBHJvd3MYAiADKAsyJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5BbmFseXRpY3NWaWV3Um93EkAKB2ZpbHRlcnMYAyADKAsyLy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5BbmFseXRpY3NWaWV3UmVzdWx0RmlsdGVyEg0KBXBhZ2VzGAQgASgFIr4BChNBbmFseXRpY3NWaWV3Q29sdW1uEgwKBG5hbWUYASABKAkSDQoFdGl0bGUYAiABKAkSDAoEdHlwZRgDIAEoCRItCgR1bml0GAQgASgOMhoud2cuY29zbW8ucGxhdGZvcm0udjEuVW5pdEgAiAEBEhYKCWlzX2hpZGRlbhgFIAEoCEgBiAEBEhMKBmlzX2N0YRgGIAEoCEgCiAEBQgcKBV91bml0QgwKCl9pc19oaWRkZW5CCQoHX2lzX2N0YSLbAQoZQW5hbHl0aWNzVmlld1Jlc3VsdEZpbHRlchISCgpjb2x1bW5OYW1lGAEgASgJEg0KBXRpdGxlGAIgASgJEkYKB29wdGlvbnMYAyADKAsyNS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5BbmFseXRpY3NWaWV3UmVzdWx0RmlsdGVyT3B0aW9uEkAKDmN1c3RvbV9vcHRpb25zGAQgASgOMiMud2cuY29zbW8ucGxhdGZvcm0udjEuQ3VzdG9tT3B0aW9uc0gAiAEBQhEKD19jdXN0b21fb3B0aW9ucyKTAQofQW5hbHl0aWNzVmlld1Jlc3VsdEZpbHRlck9wdGlvbhINCgVsYWJlbBgBIAEoCRISCgV2YWx1ZRgCIAEoCUgAiAEBEkMKCG9wZXJhdG9yGAMgASgOMjEud2cuY29zbW8ucGxhdGZvcm0udjEuQW5hbHl0aWNzVmlld0ZpbHRlck9wZXJhdG9yQggKBl92YWx1ZSKvAQoQQW5hbHl0aWNzVmlld1JvdxJACgV2YWx1ZRgBIAMoCzIxLndnLmNvc21vLnBsYXRmb3JtLnYxLkFuYWx5dGljc1ZpZXdSb3cuVmFsdWVFbnRyeRpZCgpWYWx1ZUVudHJ5EgsKA2tleRgBIAEoCRI6CgV2YWx1ZRgCIAEoCzIrLndnLmNvc21vLnBsYXRmb3JtLnYxLkFuYWx5dGljc1ZpZXdSb3dWYWx1ZToCOAEiZQoVQW5hbHl0aWNzVmlld1Jvd1ZhbHVlEhYKDG51bWJlcl92YWx1ZRgBIAEoAUgAEhYKDHN0cmluZ192YWx1ZRgCIAEoCUgAEhQKCmJvb2xfdmFsdWUYAyABKAhIAEIGCgRraW5kIoUBChhHZXRBbmFseXRpY3NWaWV3UmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI3CgR2aWV3GAIgASgLMikud2cuY29zbW8ucGxhdGZvcm0udjEuQW5hbHl0aWNzVmlld1Jlc3VsdCKEAQogR2V0RGFzaGJvYXJkQW5hbHl0aWNzVmlld1JlcXVlc3QSGgoSZmVkZXJhdGVkR3JhcGhOYW1lGAEgASgJEhEKCXN0YXJ0RGF0ZRgCIAEoCRIPCgdlbmREYXRlGAMgASgJEg0KBXJhbmdlGAQgASgFEhEKCW5hbWVzcGFjZRgFIAEoCSJWChFSZXF1ZXN0U2VyaWVzSXRlbRIRCgl0aW1lc3RhbXAYASABKAkSFQoNdG90YWxSZXF1ZXN0cxgCIAEoBRIXCg9lcnJvcmVkUmVxdWVzdHMYAyABKAUiXAoVT3BlcmF0aW9uUmVxdWVzdENvdW50EhUKDW9wZXJhdGlvbkhhc2gYASABKAkSFQoNb3BlcmF0aW9uTmFtZRgCIAEoCRIVCg10b3RhbFJlcXVlc3RzGAMgASgFImoKFUZlZGVyYXRlZEdyYXBoTWV0cmljcxIYChBmZWRlcmF0ZWRHcmFwaElEGAEgASgJEhMKC3JlcXVlc3RSYXRlGAIgASgCEhEKCWVycm9yUmF0ZRgDIAEoAhIPCgdsYXRlbmN5GAQgASgCIl4KD1N1YmdyYXBoTWV0cmljcxISCgpzdWJncmFwaElEGAEgASgJEhMKC3JlcXVlc3RSYXRlGAIgASgCEhEKCWVycm9yUmF0ZRgDIAEoAhIPCgdsYXRlbmN5GAQgASgCIu8CCiFHZXREYXNoYm9hcmRBbmFseXRpY3NWaWV3UmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI+Cg1yZXF1ZXN0U2VyaWVzGAIgAygLMicud2cuY29zbW8ucGxhdGZvcm0udjEuUmVxdWVzdFNlcmllc0l0ZW0STAoXbW9zdFJlcXVlc3RlZE9wZXJhdGlvbnMYAyADKAsyKy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5PcGVyYXRpb25SZXF1ZXN0Q291bnQSPgoPc3ViZ3JhcGhNZXRyaWNzGAQgAygLMiUud2cuY29zbW8ucGxhdGZvcm0udjEuU3ViZ3JhcGhNZXRyaWNzEkoKFWZlZGVyYXRlZEdyYXBoTWV0cmljcxgFIAEoCzIrLndnLmNvc21vLnBsYXRmb3JtLnYxLkZlZGVyYXRlZEdyYXBoTWV0cmljcyJbCiBDcmVhdGVGZWRlcmF0ZWRHcmFwaFRva2VuUmVxdWVzdBIRCglncmFwaE5hbWUYASABKAkSEQoJdG9rZW5OYW1lGAIgASgJEhEKCW5hbWVzcGFjZRgDIAEoCSJkCiFDcmVhdGVGZWRlcmF0ZWRHcmFwaFRva2VuUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRINCgV0b2tlbhgCIAEoCSJMChVPcmdhbml6YXRpb25Hcm91cFJ1bGUSDAoEcm9sZRgBIAEoCRISCgpuYW1lc3BhY2VzGAIgAygJEhEKCXJlc291cmNlcxgDIAMoCSLYAQoRT3JnYW5pemF0aW9uR3JvdXASDwoHZ3JvdXBJZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg8KB2J1aWx0aW4YBCABKAgSFAoMbWVtYmVyc0NvdW50GAUgASgFEjoKBXJ1bGVzGAYgAygLMisud2cuY29zbW8ucGxhdGZvcm0udjEuT3JnYW5pemF0aW9uR3JvdXBSdWxlEhYKDmhhc09pZGNNYXBwZXJzGAcgASgIEhQKDGFwaUtleXNDb3VudBgIIAEoBSJDCh5DcmVhdGVPcmdhbml6YXRpb25Hcm91cFJlcXVlc3QSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCSKLAQofQ3JlYXRlT3JnYW5pemF0aW9uR3JvdXBSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjYKBWdyb3VwGAIgASgLMicud2cuY29zbW8ucGxhdGZvcm0udjEuT3JnYW5pemF0aW9uR3JvdXAiHgocR2V0T3JnYW5pemF0aW9uR3JvdXBzUmVxdWVzdCKKAQodR2V0T3JnYW5pemF0aW9uR3JvdXBzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI3CgZncm91cHMYAiADKAsyJy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Pcmdhbml6YXRpb25Hcm91cCI1CiJHZXRPcmdhbml6YXRpb25Hcm91cE1lbWJlcnNSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkigAMKI0dldE9yZ2FuaXphdGlvbkdyb3VwTWVtYmVyc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USVgoHbWVtYmVycxgCIAMoCzJFLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE9yZ2FuaXphdGlvbkdyb3VwTWVtYmVyc1Jlc3BvbnNlLkdyb3VwTWVtYmVyElYKB2FwaUtleXMYAyADKAsyRS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcmdhbml6YXRpb25Hcm91cE1lbWJlcnNSZXNwb25zZS5Hcm91cEFwaUtleRo7CgtHcm91cE1lbWJlchIKCgJpZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIRCgljcmVhdGVkQXQYAyABKAkaOgoLR3JvdXBBcGlLZXkSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIRCgljcmVhdGVkQXQYAyABKAki1wEKHlVwZGF0ZU9yZ2FuaXphdGlvbkdyb3VwUmVxdWVzdBIPCgdncm91cElkGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEk0KBXJ1bGVzGAMgAygLMj4ud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlT3JnYW5pemF0aW9uR3JvdXBSZXF1ZXN0Lkdyb3VwUnVsZRpACglHcm91cFJ1bGUSDAoEcm9sZRgBIAEoCRISCgpuYW1lc3BhY2VzGAIgAygJEhEKCXJlc291cmNlcxgDIAMoCSJTCh9VcGRhdGVPcmdhbml6YXRpb25Hcm91cFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiVwoeRGVsZXRlT3JnYW5pemF0aW9uR3JvdXBSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSFgoJdG9Hcm91cElkGAIgASgJSACIAQFCDAoKX3RvR3JvdXBJZCJTCh9EZWxldGVPcmdhbml6YXRpb25Hcm91cFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiwAEKCU9yZ01lbWJlchIOCgZ1c2VySUQYASABKAkSDQoFZW1haWwYAiABKAkSEwoLb3JnTWVtYmVySUQYAyABKAkSDgoGYWN0aXZlGAQgASgIEhAKCGpvaW5lZEF0GAUgASgJEjUKBmdyb3VwcxgGIAMoCzIlLndnLmNvc21vLnBsYXRmb3JtLnYxLk9yZ01lbWJlci5Hcm91cBomCgVHcm91cBIPCgdncm91cElkGAEgASgJEgwKBG5hbWUYAiABKAkiNQoUUGVuZGluZ09yZ0ludml0YXRpb24SDgoGdXNlcklEGAEgASgJEg0KBWVtYWlsGAIgASgJInwKJEdldFBlbmRpbmdPcmdhbml6YXRpb25NZW1iZXJzUmVxdWVzdBI0CgpwYWdpbmF0aW9uGAEgASgLMiAud2cuY29zbW8ucGxhdGZvcm0udjEuUGFnaW5hdGlvbhITCgZzZWFyY2gYAiABKAlIAIgBAUIJCgdfc2VhcmNoIrYBCiVHZXRQZW5kaW5nT3JnYW5pemF0aW9uTWVtYmVyc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USRgoScGVuZGluZ0ludml0YXRpb25zGAIgAygLMioud2cuY29zbW8ucGxhdGZvcm0udjEuUGVuZGluZ09yZ0ludml0YXRpb24SEwoLdG90YWxfY291bnQYAyABKAUidQodR2V0T3JnYW5pemF0aW9uTWVtYmVyc1JlcXVlc3QSNAoKcGFnaW5hdGlvbhgBIAEoCzIgLndnLmNvc21vLnBsYXRmb3JtLnYxLlBhZ2luYXRpb24SEwoGc2VhcmNoGAIgASgJSACIAQFCCQoHX3NlYXJjaCKZAQoeR2V0T3JnYW5pemF0aW9uTWVtYmVyc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USMAoHbWVtYmVycxgCIAMoCzIfLndnLmNvc21vLnBsYXRmb3JtLnYxLk9yZ01lbWJlchITCgt0b3RhbF9jb3VudBgDIAEoBSIyChFJbnZpdGVVc2VyUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIOCgZncm91cHMYAiADKAkiRgoSSW52aXRlVXNlclJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiNAoSSW52aXRlVXNlcnNSZXF1ZXN0Eg4KBmVtYWlscxgBIAMoCRIOCgZncm91cHMYAiADKAkiOgoaSW52aXRlVXNlcnNJbnZpdGF0aW9uRXJyb3ISDQoFZW1haWwYASABKAkSDQoFZXJyb3IYAiABKAkikwEKE0ludml0ZVVzZXJzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJKChBpbnZpdGF0aW9uRXJyb3JzGAIgAygLMjAud2cuY29zbW8ucGxhdGZvcm0udjEuSW52aXRlVXNlcnNJbnZpdGF0aW9uRXJyb3Ii5gEKBkFQSUtleRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhEKCWNyZWF0ZWRCeRgDIAEoCRIRCgljcmVhdGVkQXQYBCABKAkSEgoKbGFzdFVzZWRBdBgFIAEoCRIRCglleHBpcmVzQXQYBiABKAkSNgoFZ3JvdXAYByABKAsyIi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5BUElLZXkuR3JvdXBIAIgBARIQCghleHRlcm5hbBgIIAEoCBohCgVHcm91cBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJQggKBl9ncm91cCIyChFHZXRBUElLZXlzUmVxdWVzdBINCgVsaW1pdBgBIAEoBRIOCgZvZmZzZXQYAiABKAUihAEKEkdldEFQSUtleXNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEi0KB2FwaUtleXMYAiADKAsyHC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5BUElLZXkSDQoFY291bnQYAyABKAUirwEKE0NyZWF0ZUFQSUtleVJlcXVlc3QSDAoEbmFtZRgBIAEoCRIOCgZ1c2VySUQYAiABKAkSMAoHZXhwaXJlcxgDIAEoDjIfLndnLmNvc21vLnBsYXRmb3JtLnYxLkV4cGlyZXNBdBIPCgdncm91cElkGAQgASgJEhMKC3Blcm1pc3Npb25zGAUgAygJEhUKCGV4dGVybmFsGAYgASgISACIAQFCCwoJX2V4dGVybmFsIlgKFENyZWF0ZUFQSUtleVJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USDgoGYXBpS2V5GAIgASgJIiMKE0RlbGV0ZUFQSUtleVJlcXVlc3QSDAoEbmFtZRgBIAEoCSJIChREZWxldGVBUElLZXlSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIjQKE1VwZGF0ZUFQSUtleVJlcXVlc3QSDAoEbmFtZRgBIAEoCRIPCgdncm91cElkGAIgASgJIkgKFFVwZGF0ZUFQSUtleVJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiMAofUmVtb3ZlT3JnYW5pemF0aW9uTWVtYmVyUmVxdWVzdBINCgVlbWFpbBgBIAEoCSJUCiBSZW1vdmVPcmdhbml6YXRpb25NZW1iZXJSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIigKF1JlbW92ZUludml0YXRpb25SZXF1ZXN0Eg0KBWVtYWlsGAEgASgJIkwKGFJlbW92ZUludml0YXRpb25SZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIlIKGE1pZ3JhdGVGcm9tQXBvbGxvUmVxdWVzdBIOCgZhcGlLZXkYASABKAkSEwoLdmFyaWFudE5hbWUYAiABKAkSEQoJbmFtZXNwYWNlGAMgASgJIlwKGU1pZ3JhdGVGcm9tQXBvbGxvUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRINCgV0b2tlbhgCIAEoCSLMAgoEU3BhbhIRCgl0aW1lc3RhbXAYASABKAMSEQoJc2NvcGVOYW1lGAIgASgJEg8KB3RyYWNlSUQYAyABKAkSDgoGc3BhbklEGAQgASgJEhQKDHBhcmVudFNwYW5JRBgFIAEoCRIQCghzcGFuTmFtZRgGIAEoCRIQCghzcGFuS2luZBgHIAEoCRIQCghkdXJhdGlvbhgIIAEoAxITCgtzZXJ2aWNlTmFtZRgJIAEoCRISCgpzdGF0dXNDb2RlGAogASgJEhUKDXN0YXR1c01lc3NhZ2UYCyABKAkSPgoKYXR0cmlidXRlcxgMIAMoCzIqLndnLmNvc21vLnBsYXRmb3JtLnYxLlNwYW4uQXR0cmlidXRlc0VudHJ5GjEKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIkoKD0dldFRyYWNlUmVxdWVzdBIKCgJpZBgBIAEoCRIPCgdzcGFuX2lkGAIgASgJEhoKEmZlZGVyYXRlZF9ncmFwaF9pZBgDIAEoCSJvChBHZXRUcmFjZVJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USKQoFc3BhbnMYAiADKAsyGi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TcGFuIg8KDVdob0FtSVJlcXVlc3Qi7QEKDldob0FtSVJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USGAoQb3JnYW5pemF0aW9uTmFtZRgCIAEoCRIWCgl1c2VyRW1haWwYAyABKAlIAIgBARIYChBvcmdhbml6YXRpb25TbHVnGAQgASgJEhYKDm9yZ2FuaXphdGlvbklkGAUgASgJEjcKDGxvZ2luX21ldGhvZBgGIAEoCzIhLndnLmNvc21vLnBsYXRmb3JtLnYxLkxvZ2luTWV0aG9kQgwKCl91c2VyRW1haWwizQEKC0xvZ2luTWV0aG9kEjMKBHR5cGUYASABKA4yJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Mb2dpbk1ldGhvZFR5cGUSFwoPc3NvX3Byb3ZpZGVyX2lkGAIgASgJEhkKEXNzb19wcm92aWRlcl9uYW1lGAMgASgJEhEKCXNzb19hbGlhcxgEIAEoCRJCCg9zb2NpYWxfcHJvdmlkZXIYBSABKA4yKS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Tb2NpYWxMb2dpblByb3ZpZGVyIlAKC1JvdXRlclRva2VuEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEQoJY3JlYXRlZEF0GAMgASgJEhQKDGNyZWF0b3JFbWFpbBgFIAEoCSJFChpHZW5lcmF0ZVJvdXRlclRva2VuUmVxdWVzdBIUCgxmZWRHcmFwaE5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJIl4KG0dlbmVyYXRlUm91dGVyVG9rZW5SZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEg0KBXRva2VuGAIgASgJIkEKFkdldFJvdXRlclRva2Vuc1JlcXVlc3QSFAoMZmVkR3JhcGhOYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCSJ+ChdHZXRSb3V0ZXJUb2tlbnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjEKBnRva2VucxgCIAMoCzIhLndnLmNvc21vLnBsYXRmb3JtLnYxLlJvdXRlclRva2VuIlYKGERlbGV0ZVJvdXRlclRva2VuUmVxdWVzdBIRCgl0b2tlbk5hbWUYASABKAkSFAoMZmVkR3JhcGhOYW1lGAIgASgJEhEKCW5hbWVzcGFjZRgDIAEoCSJNChlEZWxldGVSb3V0ZXJUb2tlblJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiMgoSUGVyc2lzdGVkT3BlcmF0aW9uEgoKAmlkGAEgASgJEhAKCGNvbnRlbnRzGAIgASgJIp4BCiFQdWJsaXNoUGVyc2lzdGVkT3BlcmF0aW9uc1JlcXVlc3QSFAoMZmVkR3JhcGhOYW1lGAEgASgJEhIKCmNsaWVudE5hbWUYAiABKAkSPAoKb3BlcmF0aW9ucxgDIAMoCzIoLndnLmNvc21vLnBsYXRmb3JtLnYxLlBlcnNpc3RlZE9wZXJhdGlvbhIRCgluYW1lc3BhY2UYBCABKAkihgEKElB1Ymxpc2hlZE9wZXJhdGlvbhIKCgJpZBgBIAEoCRIMCgRoYXNoGAIgASgJEj4KBnN0YXR1cxgDIAEoDjIuLndnLmNvc21vLnBsYXRmb3JtLnYxLlB1Ymxpc2hlZE9wZXJhdGlvblN0YXR1cxIWCg5vcGVyYXRpb25OYW1lcxgEIAMoCSKUAQoiUHVibGlzaFBlcnNpc3RlZE9wZXJhdGlvbnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjwKCm9wZXJhdGlvbnMYAiADKAsyKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5QdWJsaXNoZWRPcGVyYXRpb24icwofRGVsZXRlUGVyc2lzdGVkT3BlcmF0aW9uUmVxdWVzdBIUCgxmZWRHcmFwaE5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJEhIKCmNsaWVudE5hbWUYAyABKAkSEwoLb3BlcmF0aW9uSWQYBCABKAkigwIKIERlbGV0ZVBlcnNpc3RlZE9wZXJhdGlvblJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USUwoJb3BlcmF0aW9uGAIgASgLMkAud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlUGVyc2lzdGVkT3BlcmF0aW9uUmVzcG9uc2UuT3BlcmF0aW9uGlgKCU9wZXJhdGlvbhIKCgJpZBgBIAEoCRITCgtvcGVyYXRpb25JZBgCIAEoCRISCgpjbGllbnROYW1lGAMgASgJEhYKDm9wZXJhdGlvbk5hbWVzGAQgAygJInkKJUNoZWNrUGVyc2lzdGVkT3BlcmF0aW9uVHJhZmZpY1JlcXVlc3QSFAoMZmVkR3JhcGhOYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRITCgtvcGVyYXRpb25JZBgDIAEoCRISCgpjbGllbnROYW1lGAQgASgJIqMCCiZDaGVja1BlcnNpc3RlZE9wZXJhdGlvblRyYWZmaWNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlElkKCW9wZXJhdGlvbhgCIAEoCzJGLndnLmNvc21vLnBsYXRmb3JtLnYxLkNoZWNrUGVyc2lzdGVkT3BlcmF0aW9uVHJhZmZpY1Jlc3BvbnNlLk9wZXJhdGlvbhpsCglPcGVyYXRpb24SCgoCaWQYASABKAkSEwoLb3BlcmF0aW9uSWQYAiABKAkSEgoKY2xpZW50TmFtZRgDIAEoCRIWCg5vcGVyYXRpb25OYW1lcxgEIAMoCRISCgpoYXNUcmFmZmljGAUgASgIImMKHUdldFBlcnNpc3RlZE9wZXJhdGlvbnNSZXF1ZXN0EhwKFGZlZGVyYXRlZF9ncmFwaF9uYW1lGAEgASgJEhEKCWNsaWVudF9pZBgCIAEoCRIRCgluYW1lc3BhY2UYAyABKAkilwIKHkdldFBlcnNpc3RlZE9wZXJhdGlvbnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlElIKCm9wZXJhdGlvbnMYAiADKAsyPi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRQZXJzaXN0ZWRPcGVyYXRpb25zUmVzcG9uc2UuT3BlcmF0aW9uGm8KCU9wZXJhdGlvbhIKCgJpZBgBIAEoCRIQCghjb250ZW50cxgCIAEoCRISCgpjcmVhdGVkX2F0GAMgASgJEhcKD2xhc3RfdXBkYXRlZF9hdBgEIAEoCRIXCg9vcGVyYXRpb25fbmFtZXMYBSADKAkiJAoGSGVhZGVyEgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCSKPAQomQ3JlYXRlT3JnYW5pemF0aW9uV2ViaG9va0NvbmZpZ1JlcXVlc3QSEAoIZW5kcG9pbnQYASABKAkSCwoDa2V5GAIgASgJEg4KBmV2ZW50cxgDIAMoCRI2CgtldmVudHNfbWV0YRgEIAMoCzIhLndnLmNvc21vLm5vdGlmaWNhdGlvbnMuRXZlbnRNZXRhInYKJ0NyZWF0ZU9yZ2FuaXphdGlvbldlYmhvb2tDb25maWdSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEhkKEXdlYmhvb2tfY29uZmlnX2lkGAIgASgJIiYKJEdldE9yZ2FuaXphdGlvbldlYmhvb2tDb25maWdzUmVxdWVzdCLmAQolR2V0T3JnYW5pemF0aW9uV2ViaG9va0NvbmZpZ3NSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlElMKB2NvbmZpZ3MYAiADKAsyQi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcmdhbml6YXRpb25XZWJob29rQ29uZmlnc1Jlc3BvbnNlLkNvbmZpZxo2CgZDb25maWcSCgoCaWQYASABKAkSEAoIZW5kcG9pbnQYAiABKAkSDgoGZXZlbnRzGAMgAygJIi8KIUdldE9yZ2FuaXphdGlvbldlYmhvb2tNZXRhUmVxdWVzdBIKCgJpZBgBIAEoCSKOAQoiR2V0T3JnYW5pemF0aW9uV2ViaG9va01ldGFSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjYKC2V2ZW50c19tZXRhGAIgAygLMiEud2cuY29zbW8ubm90aWZpY2F0aW9ucy5FdmVudE1ldGEitgEKJlVwZGF0ZU9yZ2FuaXphdGlvbldlYmhvb2tDb25maWdSZXF1ZXN0EgoKAmlkGAEgASgJEhAKCGVuZHBvaW50GAIgASgJEgsKA2tleRgDIAEoCRIOCgZldmVudHMYBCADKAkSNgoLZXZlbnRzX21ldGEYBSADKAsyIS53Zy5jb3Ntby5ub3RpZmljYXRpb25zLkV2ZW50TWV0YRIZChFzaG91bGRfdXBkYXRlX2tleRgGIAEoCCJbCidVcGRhdGVPcmdhbml6YXRpb25XZWJob29rQ29uZmlnUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSI0CiZEZWxldGVPcmdhbml6YXRpb25XZWJob29rQ29uZmlnUmVxdWVzdBIKCgJpZBgBIAEoCSJbCidEZWxldGVPcmdhbml6YXRpb25XZWJob29rQ29uZmlnUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSKLAQoYQ3JlYXRlSW50ZWdyYXRpb25SZXF1ZXN0EgwKBHR5cGUYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRjb2RlGAMgASgJEg4KBmV2ZW50cxgEIAMoCRI1CgpldmVudHNNZXRhGAUgAygLMiEud2cuY29zbW8ubm90aWZpY2F0aW9ucy5FdmVudE1ldGEiTQoZQ3JlYXRlSW50ZWdyYXRpb25SZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIiQKIkdldE9yZ2FuaXphdGlvbkludGVncmF0aW9uc1JlcXVlc3QiKgoWU2xhY2tJbnRlZ3JhdGlvbkNvbmZpZxIQCghlbmRwb2ludBgBIAEoCSKiAQoRSW50ZWdyYXRpb25Db25maWcSMwoEdHlwZRgBIAEoDjIlLndnLmNvc21vLnBsYXRmb3JtLnYxLkludGVncmF0aW9uVHlwZRJOChZzbGFja0ludGVncmF0aW9uQ29uZmlnGAIgASgLMiwud2cuY29zbW8ucGxhdGZvcm0udjEuU2xhY2tJbnRlZ3JhdGlvbkNvbmZpZ0gAQggKBmNvbmZpZyLAAQoLSW50ZWdyYXRpb24SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgR0eXBlGAMgASgJEg4KBmV2ZW50cxgEIAMoCRJCChFpbnRlZ3JhdGlvbkNvbmZpZxgFIAEoCzInLndnLmNvc21vLnBsYXRmb3JtLnYxLkludGVncmF0aW9uQ29uZmlnEjUKCmV2ZW50c01ldGEYBiADKAsyIS53Zy5jb3Ntby5ub3RpZmljYXRpb25zLkV2ZW50TWV0YSKQAQojR2V0T3JnYW5pemF0aW9uSW50ZWdyYXRpb25zUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI3CgxpbnRlZ3JhdGlvbnMYAiADKAsyIS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5JbnRlZ3JhdGlvbiKGAQoeVXBkYXRlSW50ZWdyYXRpb25Db25maWdSZXF1ZXN0EgoKAmlkGAEgASgJEhAKCGVuZHBvaW50GAIgASgJEg4KBmV2ZW50cxgDIAMoCRI2CgtldmVudHNfbWV0YRgEIAMoCzIhLndnLmNvc21vLm5vdGlmaWNhdGlvbnMuRXZlbnRNZXRhIlMKH1VwZGF0ZUludGVncmF0aW9uQ29uZmlnUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSImChhEZWxldGVJbnRlZ3JhdGlvblJlcXVlc3QSCgoCaWQYASABKAkiTQoZRGVsZXRlSW50ZWdyYXRpb25SZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIisKGURlbGV0ZU9yZ2FuaXphdGlvblJlcXVlc3QSDgoGdXNlcklEGAEgASgJIk4KGkRlbGV0ZU9yZ2FuaXphdGlvblJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiHAoaUmVzdG9yZU9yZ2FuaXphdGlvblJlcXVlc3QiTwobUmVzdG9yZU9yZ2FuaXphdGlvblJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiGgoYTGVhdmVPcmdhbml6YXRpb25SZXF1ZXN0Ik0KGUxlYXZlT3JnYW5pemF0aW9uUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSJmCiBVcGRhdGVPcmdhbml6YXRpb25EZXRhaWxzUmVxdWVzdBIOCgZ1c2VySUQYASABKAkSGAoQb3JnYW5pemF0aW9uTmFtZRgCIAEoCRIYChBvcmdhbml6YXRpb25TbHVnGAMgASgJIlUKIVVwZGF0ZU9yZ2FuaXphdGlvbkRldGFpbHNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIkYKG1VwZGF0ZU9yZ01lbWJlckdyb3VwUmVxdWVzdBIXCg9vcmdNZW1iZXJVc2VySUQYASABKAkSDgoGZ3JvdXBzGAIgAygJIlAKHFVwZGF0ZU9yZ01lbWJlckdyb3VwUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSJFChlDcmVhdGVPcmdhbml6YXRpb25SZXF1ZXN0EgwKBG5hbWUYASABKAkSDAoEc2x1ZxgCIAEoCRIMCgRwbGFuGAMgASgJItABChpDcmVhdGVPcmdhbml6YXRpb25SZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEj0KDG9yZ2FuaXphdGlvbhgCIAEoCzIiLndnLmNvc21vLnBsYXRmb3JtLnYxLk9yZ2FuaXphdGlvbkgAiAEBEhwKD3N0cmlwZVNlc3Npb25JZBgDIAEoCUgBiAEBQg8KDV9vcmdhbml6YXRpb25CEgoQX3N0cmlwZVNlc3Npb25JZCJ3CgxPcmdhbml6YXRpb24SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRzbHVnGAMgASgJEhoKDWNyZWF0b3JVc2VySWQYBCABKAlIAIgBARIRCgljcmVhdGVkQXQYBSABKAlCEAoOX2NyZWF0b3JVc2VySWQiLAocR2V0T3JnYW5pemF0aW9uQnlTbHVnUmVxdWVzdBIMCgRzbHVnGAEgASgJIqEBCh1HZXRPcmdhbml6YXRpb25CeVNsdWdSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEj0KDG9yZ2FuaXphdGlvbhgCIAEoCzIiLndnLmNvc21vLnBsYXRmb3JtLnYxLk9yZ2FuaXphdGlvbkgAiAEBQg8KDV9vcmdhbml6YXRpb24iGAoWR2V0QmlsbGluZ1BsYW5zUmVxdWVzdCL3AgoXR2V0QmlsbGluZ1BsYW5zUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJICgVwbGFucxgCIAMoCzI5LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEJpbGxpbmdQbGFuc1Jlc3BvbnNlLkJpbGxpbmdQbGFuGlMKEkJpbGxpbmdQbGFuRmVhdHVyZRIKCgJpZBgBIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRISCgVsaW1pdBgEIAEoBUgAiAEBQggKBl9saW1pdBqKAQoLQmlsbGluZ1BsYW4SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRINCgVwcmljZRgDIAEoBRJSCghmZWF0dXJlcxgEIAMoCzJALndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEJpbGxpbmdQbGFuc1Jlc3BvbnNlLkJpbGxpbmdQbGFuRmVhdHVyZSIsChxDcmVhdGVDaGVja291dFNlc3Npb25SZXF1ZXN0EgwKBHBsYW4YASABKAkiZAodQ3JlYXRlQ2hlY2tvdXRTZXNzaW9uUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIRCglzZXNzaW9uSWQYAiABKAkiIwohQ3JlYXRlQmlsbGluZ1BvcnRhbFNlc3Npb25SZXF1ZXN0InYKIkNyZWF0ZUJpbGxpbmdQb3J0YWxTZXNzaW9uUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIRCglzZXNzaW9uSWQYAiABKAkSCwoDdXJsGAMgASgJIiIKElVwZ3JhZGVQbGFuUmVxdWVzdBIMCgRwbGFuGAEgASgJIkcKE1VwZ3JhZGVQbGFuUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSLCAQoWR2V0R3JhcGhNZXRyaWNzUmVxdWVzdBIaChJmZWRlcmF0ZWRHcmFwaE5hbWUYASABKAkSDQoFcmFuZ2UYAiABKAUSMgoJZGF0ZVJhbmdlGAMgASgLMh8ud2cuY29zbW8ucGxhdGZvcm0udjEuRGF0ZVJhbmdlEjYKB2ZpbHRlcnMYBCADKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5BbmFseXRpY3NGaWx0ZXISEQoJbmFtZXNwYWNlGAUgASgJIvICChdHZXRHcmFwaE1ldHJpY3NSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEj4KCHJlcXVlc3RzGAIgASgLMiwud2cuY29zbW8ucGxhdGZvcm0udjEuTWV0cmljc0Rhc2hib2FyZE1ldHJpYxI9CgdsYXRlbmN5GAMgASgLMiwud2cuY29zbW8ucGxhdGZvcm0udjEuTWV0cmljc0Rhc2hib2FyZE1ldHJpYxI8CgZlcnJvcnMYBCABKAsyLC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5NZXRyaWNzRGFzaGJvYXJkTWV0cmljEkAKB2ZpbHRlcnMYBSADKAsyLy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5BbmFseXRpY3NWaWV3UmVzdWx0RmlsdGVyEhcKCnJlc29sdXRpb24YBiABKAlIAIgBAUINCgtfcmVzb2x1dGlvbiLBAQoWTWV0cmljc0Rhc2hib2FyZE1ldHJpYxINCgV2YWx1ZRgBIAEoCRIaCg1wcmV2aW91c1ZhbHVlGAIgASgJSACIAQESMQoDdG9wGAMgAygLMiQud2cuY29zbW8ucGxhdGZvcm0udjEuTWV0cmljc1RvcEl0ZW0SNwoGc2VyaWVzGAQgAygLMicud2cuY29zbW8ucGxhdGZvcm0udjEuTWV0cmljc1Nlcmllc0l0ZW1CEAoOX3ByZXZpb3VzVmFsdWUiUAoOTWV0cmljc1RvcEl0ZW0SDAoEaGFzaBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBXZhbHVlGAMgASgJEhMKC2lzUGVyc2lzdGVkGAQgASgIIrEBChFNZXRyaWNzU2VyaWVzSXRlbRIRCgl0aW1lc3RhbXAYASABKAkSDQoFdmFsdWUYAiABKAkSGgoNcHJldmlvdXNWYWx1ZRgDIAEoCUgAiAEBEhAKA3A1MBgEIAEoCUgBiAEBEhAKA3A5MBgFIAEoCUgCiAEBEhAKA3A5ORgGIAEoCUgDiAEBQhAKDl9wcmV2aW91c1ZhbHVlQgYKBF9wNTBCBgoEX3A5MEIGCgRfcDk5IrsBChBNZXRyaWNzRGFzaGJvYXJkEgwKBG5hbWUYASABKAkSDQoFdGl0bGUYAiABKAkSDAoEdHlwZRgDIAEoCRItCgR1bml0GAQgASgOMhoud2cuY29zbW8ucGxhdGZvcm0udjEuVW5pdEgAiAEBEhYKCWlzX2hpZGRlbhgFIAEoCEgBiAEBEhMKBmlzX2N0YRgGIAEoCEgCiAEBQgcKBV91bml0QgwKCl9pc19oaWRkZW5CCQoHX2lzX2N0YSLGAQoaR2V0TWV0cmljc0Vycm9yUmF0ZVJlcXVlc3QSGgoSZmVkZXJhdGVkR3JhcGhOYW1lGAEgASgJEg0KBXJhbmdlGAIgASgFEjIKCWRhdGVSYW5nZRgDIAEoCzIfLndnLmNvc21vLnBsYXRmb3JtLnYxLkRhdGVSYW5nZRI2CgdmaWx0ZXJzGAQgAygLMiUud2cuY29zbW8ucGxhdGZvcm0udjEuQW5hbHl0aWNzRmlsdGVyEhEKCW5hbWVzcGFjZRgFIAEoCSK5AQobR2V0TWV0cmljc0Vycm9yUmF0ZVJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USQAoGc2VyaWVzGAIgAygLMjAud2cuY29zbW8ucGxhdGZvcm0udjEuTWV0cmljc0Vycm9yUmF0ZVNlcmllc0l0ZW0SFwoKcmVzb2x1dGlvbhgDIAEoCUgAiAEBQg0KC19yZXNvbHV0aW9uIlcKGk1ldHJpY3NFcnJvclJhdGVTZXJpZXNJdGVtEhEKCXRpbWVzdGFtcBgBIAEoCRITCgtyZXF1ZXN0UmF0ZRgCIAEoAhIRCgllcnJvclJhdGUYAyABKAIivwEKGUdldFN1YmdyYXBoTWV0cmljc1JlcXVlc3QSFAoMc3ViZ3JhcGhOYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRINCgVyYW5nZRgEIAEoBRIyCglkYXRlUmFuZ2UYBSABKAsyHy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EYXRlUmFuZ2USNgoHZmlsdGVycxgGIAMoCzIlLndnLmNvc21vLnBsYXRmb3JtLnYxLkFuYWx5dGljc0ZpbHRlciL1AgoaR2V0U3ViZ3JhcGhNZXRyaWNzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI+CghyZXF1ZXN0cxgCIAEoCzIsLndnLmNvc21vLnBsYXRmb3JtLnYxLk1ldHJpY3NEYXNoYm9hcmRNZXRyaWMSPQoHbGF0ZW5jeRgDIAEoCzIsLndnLmNvc21vLnBsYXRmb3JtLnYxLk1ldHJpY3NEYXNoYm9hcmRNZXRyaWMSPAoGZXJyb3JzGAQgASgLMiwud2cuY29zbW8ucGxhdGZvcm0udjEuTWV0cmljc0Rhc2hib2FyZE1ldHJpYxJACgdmaWx0ZXJzGAUgAygLMi8ud2cuY29zbW8ucGxhdGZvcm0udjEuQW5hbHl0aWNzVmlld1Jlc3VsdEZpbHRlchIXCgpyZXNvbHV0aW9uGAYgASgJSACIAQFCDQoLX3Jlc29sdXRpb24iyAEKIkdldFN1YmdyYXBoTWV0cmljc0Vycm9yUmF0ZVJlcXVlc3QSFAoMc3ViZ3JhcGhOYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRINCgVyYW5nZRgEIAEoBRIyCglkYXRlUmFuZ2UYBSABKAsyHy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EYXRlUmFuZ2USNgoHZmlsdGVycxgGIAMoCzIlLndnLmNvc21vLnBsYXRmb3JtLnYxLkFuYWx5dGljc0ZpbHRlciLBAQojR2V0U3ViZ3JhcGhNZXRyaWNzRXJyb3JSYXRlUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJACgZzZXJpZXMYAiADKAsyMC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5NZXRyaWNzRXJyb3JSYXRlU2VyaWVzSXRlbRIXCgpyZXNvbHV0aW9uGAMgASgJSACIAQFCDQoLX3Jlc29sdXRpb24iUwoYRm9yY2VDaGVja1N1Y2Nlc3NSZXF1ZXN0EhAKCGNoZWNrX2lkGAEgASgJEhIKCmdyYXBoX25hbWUYAiABKAkSEQoJbmFtZXNwYWNlGAMgASgJIk0KGUZvcmNlQ2hlY2tTdWNjZXNzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSKYAQosVG9nZ2xlQ2hhbmdlT3ZlcnJpZGVzRm9yQWxsT3BlcmF0aW9uc1JlcXVlc3QSEAoIY2hlY2tfaWQYASABKAkSDwoHaXNfc2FmZRgCIAEoCBISCgpncmFwaF9uYW1lGAMgASgJEhEKCW5hbWVzcGFjZRgEIAEoCRITCgZzZWFyY2gYBSABKAlIAIgBAUIJCgdfc2VhcmNoImEKLVRvZ2dsZUNoYW5nZU92ZXJyaWRlc0ZvckFsbE9wZXJhdGlvbnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIocBCixDcmVhdGVJZ25vcmVPdmVycmlkZXNGb3JBbGxPcGVyYXRpb25zUmVxdWVzdBIQCghjaGVja19pZBgBIAEoCRISCgpncmFwaF9uYW1lGAIgASgJEhEKCW5hbWVzcGFjZRgDIAEoCRITCgZzZWFyY2gYBCABKAlIAIgBAUIJCgdfc2VhcmNoImEKLUNyZWF0ZUlnbm9yZU92ZXJyaWRlc0ZvckFsbE9wZXJhdGlvbnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIkAKDk92ZXJyaWRlQ2hhbmdlEhIKCmNoYW5nZVR5cGUYASABKAkSEQoEcGF0aBgCIAEoCUgAiAEBQgcKBV9wYXRoIq8BCh9DcmVhdGVPcGVyYXRpb25PdmVycmlkZXNSZXF1ZXN0EhIKCmdyYXBoX25hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJEhYKDm9wZXJhdGlvbl9oYXNoGAMgASgJEhYKDm9wZXJhdGlvbl9uYW1lGAQgASgJEjUKB2NoYW5nZXMYBSADKAsyJC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5PdmVycmlkZUNoYW5nZSJUCiBDcmVhdGVPcGVyYXRpb25PdmVycmlkZXNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIoABCidDcmVhdGVPcGVyYXRpb25JZ25vcmVBbGxPdmVycmlkZVJlcXVlc3QSEgoKZ3JhcGhfbmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSFgoOb3BlcmF0aW9uX2hhc2gYAyABKAkSFgoOb3BlcmF0aW9uX25hbWUYBCABKAkiXAooQ3JlYXRlT3BlcmF0aW9uSWdub3JlQWxsT3ZlcnJpZGVSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIpcBCh9SZW1vdmVPcGVyYXRpb25PdmVycmlkZXNSZXF1ZXN0EhIKCmdyYXBoX25hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJEhYKDm9wZXJhdGlvbl9oYXNoGAMgASgJEjUKB2NoYW5nZXMYBCADKAsyJC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5PdmVycmlkZUNoYW5nZSJUCiBSZW1vdmVPcGVyYXRpb25PdmVycmlkZXNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlImgKJ1JlbW92ZU9wZXJhdGlvbklnbm9yZUFsbE92ZXJyaWRlUmVxdWVzdBISCgpncmFwaF9uYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRIWCg5vcGVyYXRpb25faGFzaBgDIAEoCSJcCihSZW1vdmVPcGVyYXRpb25JZ25vcmVBbGxPdmVycmlkZVJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiXQocR2V0T3BlcmF0aW9uT3ZlcnJpZGVzUmVxdWVzdBISCgpncmFwaF9uYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRIWCg5vcGVyYXRpb25faGFzaBgDIAEoCSKcAQodR2V0T3BlcmF0aW9uT3ZlcnJpZGVzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI1CgdjaGFuZ2VzGAIgAygLMiQud2cuY29zbW8ucGxhdGZvcm0udjEuT3ZlcnJpZGVDaGFuZ2USEgoKaWdub3JlX2FsbBgDIAEoCCJeChZHZXRBbGxPdmVycmlkZXNSZXF1ZXN0EhIKCmdyYXBoX25hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJEg0KBWxpbWl0GAMgASgFEg4KBm9mZnNldBgEIAEoBSKjAgoXR2V0QWxsT3ZlcnJpZGVzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJJCglvdmVycmlkZXMYAiADKAsyNi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRBbGxPdmVycmlkZXNSZXNwb25zZS5PdmVycmlkZRITCgt0b3RhbF9jb3VudBgDIAEoBRp2CghPdmVycmlkZRIMCgRoYXNoGAEgASgJEgwKBG5hbWUYAiABKAkSHAoUY2hhbmdlc092ZXJyaWRlQ291bnQYAyABKA0SHAoUaGFzSWdub3JlQWxsT3ZlcnJpZGUYBCABKAgSEgoKdXBkYXRlZF9hdBgFIAEoCSJOChtJc0dpdEh1YkFwcEluc3RhbGxlZFJlcXVlc3QSLwoIZ2l0X2luZm8YASABKAsyHS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HaXRJbmZvImYKHElzR2l0SHViQXBwSW5zdGFsbGVkUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIUCgxpc19pbnN0YWxsZWQYAiABKAgiMAoLR3JvdXBNYXBwZXISDwoHZ3JvdXBJZBgBIAEoCRIQCghzc29Hcm91cBgCIAEoCSKgAQoZQ3JlYXRlT0lEQ1Byb3ZpZGVyUmVxdWVzdBIMCgRuYW1lGAEgASgJEhkKEWRpc2NvdmVyeUVuZHBvaW50GAIgASgJEhAKCGNsaWVudElEGAMgASgJEhQKDGNsaWVudFNlY3JldBgEIAEoCRIyCgdtYXBwZXJzGAUgAygLMiEud2cuY29zbW8ucGxhdGZvcm0udjEuR3JvdXBNYXBwZXIihwEKGkNyZWF0ZU9JRENQcm92aWRlclJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USEQoJc2lnbkluVVJMGAIgASgJEhIKCnNpZ25PdXRVUkwYAyABKAkSEAoIbG9naW5VUkwYBCABKAkirAEKDE9JRENQcm92aWRlchIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBWFsaWFzGAMgASgJEhAKCGVuZHBvaW50GAQgASgJEhEKCWxvZ2luX3VybBgFIAEoCRIcChRzaWduX2luX3JlZGlyZWN0X3VybBgGIAEoCRIdChVzaWduX291dF9yZWRpcmVjdF91cmwYByABKAkSEQoJY3JlYXRlZEF0GAggASgJIhoKGExpc3RPSURDUHJvdmlkZXJzUmVxdWVzdCKEAQoZTGlzdE9JRENQcm92aWRlcnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjUKCXByb3ZpZGVycxgCIAMoCzIiLndnLmNvc21vLnBsYXRmb3JtLnYxLk9JRENQcm92aWRlciIkChZHZXRPSURDUHJvdmlkZXJSZXF1ZXN0EgoKAmlkGAEgASgJIugBChdHZXRPSURDUHJvdmlkZXJSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEgwKBG5hbWUYAiABKAkSEAoIZW5kcG9pbnQYAyABKAkSEAoIbG9naW5VUkwYBCABKAkSGQoRc2lnbkluUmVkaXJlY3RVUkwYBSABKAkSGgoSc2lnbk91dFJlZGlyZWN0VVJMGAYgASgJEjIKB21hcHBlcnMYByADKAsyIS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Hcm91cE1hcHBlciInChlEZWxldGVPSURDUHJvdmlkZXJSZXF1ZXN0EgoKAmlkGAEgASgJIk4KGkRlbGV0ZU9JRENQcm92aWRlclJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiWQoXVXBkYXRlSURQTWFwcGVyc1JlcXVlc3QSMgoHbWFwcGVycxgBIAMoCzIhLndnLmNvc21vLnBsYXRmb3JtLnYxLkdyb3VwTWFwcGVyEgoKAmlkGAIgASgJIkwKGFVwZGF0ZUlEUE1hcHBlcnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIiUKI0dldE9yZ2FuaXphdGlvblJlcXVlc3RzQ291bnRSZXF1ZXN0ImcKJEdldE9yZ2FuaXphdGlvblJlcXVlc3RzQ291bnRSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEg0KBWNvdW50GAIgASgDIqMBChJPcmdhbml6YXRpb25JbnZpdGUSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRzbHVnGAMgASgJEhoKDWNyZWF0b3JVc2VySWQYBCABKAlIAIgBARIRCgljcmVhdGVkQXQYBSABKAkSFgoJaW52aXRlZEJ5GAYgASgJSAGIAQFCEAoOX2NyZWF0b3JVc2VySWRCDAoKX2ludml0ZWRCeSJYChNHZXRBdWRpdExvZ3NSZXF1ZXN0Eg0KBWxpbWl0GAEgASgFEg4KBm9mZnNldBgCIAEoBRIRCglzdGFydERhdGUYAyABKAkSDwoHZW5kRGF0ZRgEIAEoCSKbAgoIQXVkaXRMb2cSCgoCaWQYASABKAkSGAoQYWN0b3JEaXNwbGF5TmFtZRgCIAEoCRIOCgZhY3Rpb24YAyABKAkSEQoJYWN0b3JUeXBlGAQgASgJEhMKC2F1ZGl0QWN0aW9uGAUgASgJEhwKFGF1ZGl0YWJsZURpc3BsYXlOYW1lGAYgASgJEhkKEXRhcmdldERpc3BsYXlOYW1lGAcgASgJEhIKCnRhcmdldFR5cGUYCCABKAkSEQoJY3JlYXRlZEF0GAkgASgJEhkKEXRhcmdldE5hbWVzcGFjZUlkGAogASgJEiIKGnRhcmdldE5hbWVzcGFjZURpc3BsYXlOYW1lGAsgASgJEhIKCmFwaUtleU5hbWUYDCABKAkihQEKFEdldEF1ZGl0TG9nc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USLAoEbG9ncxgCIAMoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLkF1ZGl0TG9nEg0KBWNvdW50GAMgASgFIhcKFUdldEludml0YXRpb25zUmVxdWVzdCKJAQoWR2V0SW52aXRhdGlvbnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEj0KC2ludml0YXRpb25zGAIgAygLMigud2cuY29zbW8ucGxhdGZvcm0udjEuT3JnYW5pemF0aW9uSW52aXRlIkoKIEFjY2VwdE9yRGVjbGluZUludml0YXRpb25SZXF1ZXN0EhYKDm9yZ2FuaXphdGlvbklkGAEgASgJEg4KBmFjY2VwdBgCIAEoCCJVCiFBY2NlcHRPckRlY2xpbmVJbnZpdGF0aW9uUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSKzBQoQR3JhcGhDb21wb3NpdGlvbhIKCgJpZBgBIAEoCRIXCg9zY2hlbWFWZXJzaW9uSWQYAiABKAkSEQoJY3JlYXRlZEF0GAMgASgJEhQKDGlzQ29tcG9zYWJsZRgEIAEoCBIeChFjb21wb3NpdGlvbkVycm9ycxgFIAEoCUgAiAEBEhYKCWNyZWF0ZWRCeRgGIAEoCUgBiAEBEhUKDWlzTGF0ZXN0VmFsaWQYByABKAgSIgoVcm91dGVyQ29uZmlnU2lnbmF0dXJlGAggASgJSAKIAQESGwoOYWRtaXNzaW9uRXJyb3IYCSABKAlIA4gBARIcCg9kZXBsb3ltZW50RXJyb3IYCiABKAlIBIgBARIoChtoYXNNdWx0aXBsZUNoYW5nZWRTdWJncmFwaHMYCyABKAhIBYgBARIkChd0cmlnZ2VyZWRCeVN1YmdyYXBoTmFtZRgMIAEoCUgGiAEBEiAKE2NvbXBvc2l0aW9uV2FybmluZ3MYDSABKAlIB4gBARIkChxyb3V0ZXJfY29tcGF0aWJpbGl0eV92ZXJzaW9uGA4gASgJEiAKGGlzRmVhdHVyZUZsYWdDb21wb3NpdGlvbhgPIAEoCBIcCg9mZWF0dXJlRmxhZ05hbWUYECABKAlICIgBAUIUChJfY29tcG9zaXRpb25FcnJvcnNCDAoKX2NyZWF0ZWRCeUIYChZfcm91dGVyQ29uZmlnU2lnbmF0dXJlQhEKD19hZG1pc3Npb25FcnJvckISChBfZGVwbG95bWVudEVycm9yQh4KHF9oYXNNdWx0aXBsZUNoYW5nZWRTdWJncmFwaHNCGgoYX3RyaWdnZXJlZEJ5U3ViZ3JhcGhOYW1lQhYKFF9jb21wb3NpdGlvbldhcm5pbmdzQhIKEF9mZWF0dXJlRmxhZ05hbWUiyQEKGEdyYXBoQ29tcG9zaXRpb25TdWJncmFwaBIKCgJpZBgBIAEoCRIXCg9zY2hlbWFWZXJzaW9uSWQYAiABKAkSDAoEbmFtZRgDIAEoCRIRCgl0YXJnZXRfaWQYBCABKAkSGQoRaXNGZWF0dXJlU3ViZ3JhcGgYBSABKAgSEgoKY2hhbmdlVHlwZRgGIAEoCRI4CgxzdWJncmFwaFR5cGUYByABKA4yIi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TdWJncmFwaFR5cGUirAEKFkdldENvbXBvc2l0aW9uc1JlcXVlc3QSFAoMZmVkR3JhcGhOYW1lGAEgASgJEg0KBWxpbWl0GAIgASgFEg4KBm9mZnNldBgDIAEoBRIRCglzdGFydERhdGUYBCABKAkSDwoHZW5kRGF0ZRgFIAEoCRIRCgluYW1lc3BhY2UYBiABKAkSJgoeZXhjbHVkZUZlYXR1cmVGbGFnQ29tcG9zaXRpb25zGAcgASgIIpgBChdHZXRDb21wb3NpdGlvbnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjwKDGNvbXBvc2l0aW9ucxgCIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLkdyYXBoQ29tcG9zaXRpb24SDQoFY291bnQYAyABKAUiSAocR2V0Q29tcG9zaXRpb25EZXRhaWxzUmVxdWVzdBIVCg1jb21wb3NpdGlvbklkGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCSK1AwoWRmVhdHVyZUZsYWdDb21wb3NpdGlvbhIKCgJpZBgBIAEoCRIXCg9zY2hlbWFWZXJzaW9uSWQYAiABKAkSEQoJY3JlYXRlZEF0GAMgASgJEhQKDGlzQ29tcG9zYWJsZRgEIAEoCBIeChFjb21wb3NpdGlvbkVycm9ycxgFIAEoCUgAiAEBEhYKCWNyZWF0ZWRCeRgGIAEoCUgBiAEBEiIKFXJvdXRlckNvbmZpZ1NpZ25hdHVyZRgHIAEoCUgCiAEBEhsKDmFkbWlzc2lvbkVycm9yGAggASgJSAOIAQESHAoPZGVwbG95bWVudEVycm9yGAkgASgJSASIAQESFwoPZmVhdHVyZUZsYWdOYW1lGAogASgJEiAKE2NvbXBvc2l0aW9uV2FybmluZ3MYCyABKAlIBYgBAUIUChJfY29tcG9zaXRpb25FcnJvcnNCDAoKX2NyZWF0ZWRCeUIYChZfcm91dGVyQ29uZmlnU2lnbmF0dXJlQhEKD19hZG1pc3Npb25FcnJvckISChBfZGVwbG95bWVudEVycm9yQhYKFF9jb21wb3NpdGlvbldhcm5pbmdzIuUCCh1HZXRDb21wb3NpdGlvbkRldGFpbHNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjsKC2NvbXBvc2l0aW9uGAIgASgLMiYud2cuY29zbW8ucGxhdGZvcm0udjEuR3JhcGhDb21wb3NpdGlvbhJMChRjb21wb3NpdGlvblN1YmdyYXBocxgDIAMoCzIuLndnLmNvc21vLnBsYXRmb3JtLnYxLkdyYXBoQ29tcG9zaXRpb25TdWJncmFwaBI4CgxjaGFuZ2VDb3VudHMYBCABKAsyIi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DaGFuZ2VDb3VudHMSTQoXZmVhdHVyZUZsYWdDb21wb3NpdGlvbnMYBSADKAsyLC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5GZWF0dXJlRmxhZ0NvbXBvc2l0aW9uIkoKHEdldFNkbEJ5U2NoZW1hVmVyc2lvblJlcXVlc3QSFwoPc2NoZW1hVmVyc2lvbklkGAEgASgJEhEKCXRhcmdldF9pZBgCIAEoCSJ1Ch1HZXRTZGxCeVNjaGVtYVZlcnNpb25SZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEgsKA3NkbBgCIAEoCRIVCg1jbGllbnRfc2NoZW1hGAMgASgJIj0KIkdldENoYW5nZWxvZ0J5U2NoZW1hVmVyc2lvblJlcXVlc3QSFwoPc2NoZW1hVmVyc2lvbklkGAEgASgJIp8BCiNHZXRDaGFuZ2Vsb2dCeVNjaGVtYVZlcnNpb25SZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEkYKCWNoYW5nZWxvZxgCIAEoCzIzLndnLmNvc21vLnBsYXRmb3JtLnYxLkZlZGVyYXRlZEdyYXBoQ2hhbmdlbG9nT3V0cHV0IiMKIUdldFVzZXJBY2Nlc3NpYmxlUmVzb3VyY2VzUmVxdWVzdCKrBAoiR2V0VXNlckFjY2Vzc2libGVSZXNvdXJjZXNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlElYKCm5hbWVzcGFjZXMYAiADKAsyQi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRVc2VyQWNjZXNzaWJsZVJlc291cmNlc1Jlc3BvbnNlLk5hbWVzcGFjZRJgCg9mZWRlcmF0ZWRHcmFwaHMYAyADKAsyRy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRVc2VyQWNjZXNzaWJsZVJlc291cmNlc1Jlc3BvbnNlLkZlZGVyYXRlZEdyYXBoElQKCXN1YmdyYXBocxgEIAMoCzJBLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFVzZXJBY2Nlc3NpYmxlUmVzb3VyY2VzUmVzcG9uc2UuU3ViR3JhcGgaJQoJTmFtZXNwYWNlEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkaQwoORmVkZXJhdGVkR3JhcGgSEAoIdGFyZ2V0SWQYASABKAkSDAoEbmFtZRgCIAEoCRIRCgluYW1lc3BhY2UYAyABKAkaVwoIU3ViR3JhcGgSEAoIdGFyZ2V0SWQYASABKAkSDAoEbmFtZRgCIAEoCRIRCgluYW1lc3BhY2UYAyABKAkSGAoQZmVkZXJhdGVkR3JhcGhJZBgEIAEoCSJgChxVcGRhdGVGZWF0dXJlU2V0dGluZ3NSZXF1ZXN0Eg4KBmVuYWJsZRgBIAEoCBIwCglmZWF0dXJlSWQYAiABKA4yHS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5GZWF0dXJlIlEKHVVwZGF0ZUZlYXR1cmVTZXR0aW5nc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiRAoZR2V0U3ViZ3JhcGhNZW1iZXJzUmVxdWVzdBIUCgxzdWJncmFwaE5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJIkkKDlN1YmdyYXBoTWVtYmVyEg4KBnVzZXJJZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIYChBzdWJncmFwaE1lbWJlcklkGAQgASgJIoUBChpHZXRTdWJncmFwaE1lbWJlcnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjUKB21lbWJlcnMYAiADKAsyJC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TdWJncmFwaE1lbWJlciJJChBBZGRSZWFkbWVSZXF1ZXN0EhIKCnRhcmdldE5hbWUYASABKAkSDgoGcmVhZG1lGAIgASgJEhEKCW5hbWVzcGFjZRgDIAEoCSJFChFBZGRSZWFkbWVSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIuMCCgZSb3V0ZXISEAoIaG9zdG5hbWUYASABKAkSEwoLY2x1c3Rlck5hbWUYAiABKAkSEwoLc2VydmljZU5hbWUYAyABKAkSFgoOc2VydmljZVZlcnNpb24YBCABKAkSGQoRc2VydmljZUluc3RhbmNlSWQYBSABKAkSFQoNdXB0aW1lU2Vjb25kcxgGIAEoCRIbChNzZXJ2ZXJVcHRpbWVTZWNvbmRzGAcgASgJEhUKDWNvbXBvc2l0aW9uSWQYCCABKAkSGwoTb25MYXRlc3RDb21wb3NpdGlvbhgJIAEoCBIRCglwcm9jZXNzSWQYCiABKAkSFQoNbWVtb3J5VXNhZ2VNYhgLIAEoAhIgChhtZW1vcnlVc2FnZUNoYW5nZVBlcmNlbnQYDCABKAISFwoPY3B1VXNhZ2VQZXJjZW50GA0gASgCEh0KFWNwdVVzYWdlQ2hhbmdlUGVyY2VudBgOIAEoAiI8ChFHZXRSb3V0ZXJzUmVxdWVzdBIUCgxmZWRHcmFwaE5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJInUKEkdldFJvdXRlcnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEi0KB3JvdXRlcnMYAiADKAsyHC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Sb3V0ZXIi5gEKCkNsaWVudEluZm8SDAoEbmFtZRgBIAEoCRIKCgJpZBgCIAEoCRIRCgljcmVhdGVkQXQYAyABKAkSFQoNbGFzdFVwZGF0ZWRBdBgEIAEoCRIRCgljcmVhdGVkQnkYBSABKAkSFQoNbGFzdFVwZGF0ZWRCeRgGIAEoCRIlChhwZXJzaXN0ZWRPcGVyYXRpb25zQ291bnQYByABKAVIAIgBARIXCgpoYXNUcmFmZmljGAggASgISAGIAQFCGwoZX3BlcnNpc3RlZE9wZXJhdGlvbnNDb3VudEINCgtfaGFzVHJhZmZpYyJUChFHZXRDbGllbnRzUmVxdWVzdBIUCgxmZWRHcmFwaE5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJEhYKDmluY2x1ZGVUcmFmZmljGAMgASgIInkKEkdldENsaWVudHNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjEKB2NsaWVudHMYAiADKAsyIC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DbGllbnRJbmZvIlkKGlByZXZpZXdEZWxldGVDbGllbnRSZXF1ZXN0EhQKDGZlZEdyYXBoTmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSEgoKY2xpZW50TmFtZRgDIAEoCSLRAQobUHJldmlld0RlbGV0ZUNsaWVudFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USMAoGY2xpZW50GAIgASgLMiAud2cuY29zbW8ucGxhdGZvcm0udjEuQ2xpZW50SW5mbxIgChhwZXJzaXN0ZWRPcGVyYXRpb25zQ291bnQYAyABKAUSEgoKaGFzVHJhZmZpYxgEIAEoCBIYChBvcmdhbml6YXRpb25TbHVnGAUgASgJIlIKE0RlbGV0ZUNsaWVudFJlcXVlc3QSFAoMZmVkR3JhcGhOYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRISCgpjbGllbnROYW1lGAMgASgJIuABChREZWxldGVDbGllbnRSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjAKBmNsaWVudBgCIAEoCzIgLndnLmNvc21vLnBsYXRmb3JtLnYxLkNsaWVudEluZm8SHgoWZGVsZXRlZE9wZXJhdGlvbnNDb3VudBgDIAEoBRpECglPcGVyYXRpb24SCgoCaWQYASABKAkSEwoLb3BlcmF0aW9uSWQYAiABKAkSFgoOb3BlcmF0aW9uTmFtZXMYAyADKAki1AIKFEdldEZpZWxkVXNhZ2VSZXF1ZXN0EhIKCmdyYXBoX25hbWUYASABKAkSFgoJbmFtZWRUeXBlGAIgASgJSACIAQESFQoIdHlwZW5hbWUYAyABKAlIAYgBARISCgVmaWVsZBgEIAEoCUgCiAEBEhIKBXJhbmdlGAUgASgFSAOIAQESMgoJZGF0ZVJhbmdlGAYgASgLMh8ud2cuY29zbW8ucGxhdGZvcm0udjEuRGF0ZVJhbmdlEhEKCW5hbWVzcGFjZRgHIAEoCRIeChFmZWF0dXJlX2ZsYWdfbmFtZRgIIAEoCUgEiAEBEhMKC2lzX2FyZ3VtZW50GAkgASgIEhAKCGlzX2lucHV0GAogASgIQgwKCl9uYW1lZFR5cGVCCwoJX3R5cGVuYW1lQggKBl9maWVsZEIICgZfcmFuZ2VCFAoSX2ZlYXR1cmVfZmxhZ19uYW1lIrcBChRDbGllbnRXaXRoT3BlcmF0aW9ucxIMCgRuYW1lGAEgASgJEg8KB3ZlcnNpb24YAiABKAkSSAoKb3BlcmF0aW9ucxgDIAMoCzI0LndnLmNvc21vLnBsYXRmb3JtLnYxLkNsaWVudFdpdGhPcGVyYXRpb25zLk9wZXJhdGlvbho2CglPcGVyYXRpb24SDAoEaGFzaBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBWNvdW50GAMgASgFIl8KDkZpZWxkVXNhZ2VNZXRhEhQKDHN1YmdyYXBoX2lkcxgBIAMoCRIaChJmaXJzdFNlZW5UaW1lc3RhbXAYAiABKAkSGwoTbGF0ZXN0U2VlblRpbWVzdGFtcBgDIAEoCSL7AQoVR2V0RmllbGRVc2FnZVJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USPwoOcmVxdWVzdF9zZXJpZXMYAiADKAsyJy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXF1ZXN0U2VyaWVzSXRlbRI7CgdjbGllbnRzGAMgAygLMioud2cuY29zbW8ucGxhdGZvcm0udjEuQ2xpZW50V2l0aE9wZXJhdGlvbnMSMgoEbWV0YRgEIAEoCzIkLndnLmNvc21vLnBsYXRmb3JtLnYxLkZpZWxkVXNhZ2VNZXRhIiYKFkNyZWF0ZU5hbWVzcGFjZVJlcXVlc3QSDAoEbmFtZRgBIAEoCSJLChdDcmVhdGVOYW1lc3BhY2VSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIiYKFkRlbGV0ZU5hbWVzcGFjZVJlcXVlc3QSDAoEbmFtZRgBIAEoCSJLChdEZWxldGVOYW1lc3BhY2VSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIjgKFlJlbmFtZU5hbWVzcGFjZVJlcXVlc3QSDAoEbmFtZRgBIAEoCRIQCghuZXdfbmFtZRgCIAEoCSJLChdSZW5hbWVOYW1lc3BhY2VSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIiUKCU5hbWVzcGFjZRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJIhYKFEdldE5hbWVzcGFjZXNSZXF1ZXN0In4KFUdldE5hbWVzcGFjZXNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjMKCm5hbWVzcGFjZXMYAiADKAsyHy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5OYW1lc3BhY2UingEKEE1vdmVHcmFwaFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSFQoNbmV3X25hbWVzcGFjZRgDIAEoCRItCiBkaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbhgEIAEoCEgAiAEBQiMKIV9kaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbiKQAgoRTW92ZUdyYXBoUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJBChFjb21wb3NpdGlvbkVycm9ycxgCIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uRXJyb3ISPwoQZGVwbG95bWVudEVycm9ycxgDIAMoCzIlLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlcGxveW1lbnRFcnJvchJFChNjb21wb3NpdGlvbldhcm5pbmdzGAQgAygLMigud2cuY29zbW8ucGxhdGZvcm0udjEuQ29tcG9zaXRpb25XYXJuaW5nIjIKHUdldE5hbWVzcGFjZUxpbnRDb25maWdSZXF1ZXN0EhEKCW5hbWVzcGFjZRgBIAEoCSKcAQoeR2V0TmFtZXNwYWNlTGludENvbmZpZ1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USFQoNbGludGVyRW5hYmxlZBgCIAEoCBIxCgdjb25maWdzGAMgAygLMiAud2cuY29zbW8ucGxhdGZvcm0udjEuTGludENvbmZpZyI7CiZHZXROYW1lc3BhY2VDaGVja3NDb25maWd1cmF0aW9uUmVxdWVzdBIRCgluYW1lc3BhY2UYASABKAkikgEKJ0dldE5hbWVzcGFjZUNoZWNrc0NvbmZpZ3VyYXRpb25SZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEhcKD3RpbWVmcmFtZUluRGF5cxgCIAEoBRIcChR0aW1lZnJhbWVMaW1pdEluRGF5cxgDIAEoBSJXCilVcGRhdGVOYW1lc3BhY2VDaGVja3NDb25maWd1cmF0aW9uUmVxdWVzdBIRCgluYW1lc3BhY2UYASABKAkSFwoPdGltZWZyYW1lSW5EYXlzGAIgASgFIl4KKlVwZGF0ZU5hbWVzcGFjZUNoZWNrc0NvbmZpZ3VyYXRpb25SZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIk8KI0VuYWJsZUxpbnRpbmdGb3JUaGVOYW1lc3BhY2VSZXF1ZXN0EhEKCW5hbWVzcGFjZRgBIAEoCRIVCg1lbmFibGVMaW50aW5nGAIgASgIIlgKJEVuYWJsZUxpbnRpbmdGb3JUaGVOYW1lc3BhY2VSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIlkKCkxpbnRDb25maWcSEAoIcnVsZU5hbWUYASABKAkSOQoNc2V2ZXJpdHlMZXZlbBgCIAEoDjIiLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpbnRTZXZlcml0eSJrCiNDb25maWd1cmVOYW1lc3BhY2VMaW50Q29uZmlnUmVxdWVzdBIRCgluYW1lc3BhY2UYASABKAkSMQoHY29uZmlncxgCIAMoCzIgLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpbnRDb25maWciWAokQ29uZmlndXJlTmFtZXNwYWNlTGludENvbmZpZ1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiSgoZRW5hYmxlR3JhcGhQcnVuaW5nUmVxdWVzdBIRCgluYW1lc3BhY2UYASABKAkSGgoSZW5hYmxlR3JhcGhQcnVuaW5nGAIgASgIIk4KGkVuYWJsZUdyYXBoUHJ1bmluZ1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiyAEKEkdyYXBoUHJ1bmluZ0NvbmZpZxIQCghydWxlTmFtZRgBIAEoCRI5Cg1zZXZlcml0eUxldmVsGAIgASgOMiIud2cuY29zbW8ucGxhdGZvcm0udjEuTGludFNldmVyaXR5EhkKEWdyYWNlUGVyaW9kSW5EYXlzGAMgASgFEikKHHNjaGVtYVVzYWdlQ2hlY2tQZXJpb2RJbkRheXMYBCABKAVIAIgBAUIfCh1fc2NoZW1hVXNhZ2VDaGVja1BlcmlvZEluRGF5cyJ7CitDb25maWd1cmVOYW1lc3BhY2VHcmFwaFBydW5pbmdDb25maWdSZXF1ZXN0EhEKCW5hbWVzcGFjZRgBIAEoCRI5Cgdjb25maWdzGAIgAygLMigud2cuY29zbW8ucGxhdGZvcm0udjEuR3JhcGhQcnVuaW5nQ29uZmlnImAKLENvbmZpZ3VyZU5hbWVzcGFjZUdyYXBoUHJ1bmluZ0NvbmZpZ1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiOgolR2V0TmFtZXNwYWNlR3JhcGhQcnVuaW5nQ29uZmlnUmVxdWVzdBIRCgluYW1lc3BhY2UYASABKAkisQEKJkdldE5hbWVzcGFjZUdyYXBoUHJ1bmluZ0NvbmZpZ1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USGgoSZ3JhcGhQcnVuZXJFbmFibGVkGAIgASgIEjkKB2NvbmZpZ3MYAyADKAsyKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HcmFwaFBydW5pbmdDb25maWciOgoXTWlncmF0ZU1vbm9ncmFwaFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkiTAoYTWlncmF0ZU1vbm9ncmFwaFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiJQojR2V0VXNlckFjY2Vzc2libGVQZXJtaXNzaW9uc1JlcXVlc3QiMAoKUGVybWlzc2lvbhITCgtkaXNwbGF5TmFtZRgBIAEoCRINCgV2YWx1ZRgCIAEoCSKPAQokR2V0VXNlckFjY2Vzc2libGVQZXJtaXNzaW9uc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USNQoLcGVybWlzc2lvbnMYAiADKAsyIC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5QZXJtaXNzaW9uIusCChVDcmVhdGVDb250cmFjdFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSGQoRc291cmNlX2dyYXBoX25hbWUYAyABKAkSEwoLcm91dGluZ191cmwYBCABKAkSHQoVYWRtaXNzaW9uX3dlYmhvb2tfdXJsGAUgASgJEhQKDGV4Y2x1ZGVfdGFncxgGIAMoCRITCgZyZWFkbWUYByABKAlIAIgBARIlChhhZG1pc3Npb25fd2ViaG9va19zZWNyZXQYCCABKAlIAYgBARIUCgxpbmNsdWRlX3RhZ3MYCSADKAkSLQogZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24YCiABKAhIAogBAUIJCgdfcmVhZG1lQhsKGV9hZG1pc3Npb25fd2ViaG9va19zZWNyZXRCIwohX2Rpc2FibGVfcmVzb2x2YWJpbGl0eV92YWxpZGF0aW9uIpUCChZDcmVhdGVDb250cmFjdFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USQQoRY29tcG9zaXRpb25FcnJvcnMYAiADKAsyJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbkVycm9yEj8KEGRlcGxveW1lbnRFcnJvcnMYAyADKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZXBsb3ltZW50RXJyb3ISRQoTY29tcG9zaXRpb25XYXJuaW5ncxgEIAMoCzIoLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uV2FybmluZyKEAwoVVXBkYXRlQ29udHJhY3RSZXF1ZXN0EgwKBG5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJEhQKDGV4Y2x1ZGVfdGFncxgDIAMoCRIUCgxpbmNsdWRlX3RhZ3MYBCADKAkSGAoLcm91dGluZ191cmwYBSABKAlIAIgBARIiChVhZG1pc3Npb25fd2ViaG9va191cmwYBiABKAlIAYgBARIlChhhZG1pc3Npb25fd2ViaG9va19zZWNyZXQYByABKAlIAogBARITCgZyZWFkbWUYCCABKAlIA4gBARItCiBkaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbhgJIAEoCEgEiAEBQg4KDF9yb3V0aW5nX3VybEIYChZfYWRtaXNzaW9uX3dlYmhvb2tfdXJsQhsKGV9hZG1pc3Npb25fd2ViaG9va19zZWNyZXRCCQoHX3JlYWRtZUIjCiFfZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24ilQIKFlVwZGF0ZUNvbnRyYWN0UmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJBChFjb21wb3NpdGlvbkVycm9ycxgCIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uRXJyb3ISPwoQZGVwbG95bWVudEVycm9ycxgDIAMoCzIlLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlcGxveW1lbnRFcnJvchJFChNjb21wb3NpdGlvbldhcm5pbmdzGAQgAygLMigud2cuY29zbW8ucGxhdGZvcm0udjEuQ29tcG9zaXRpb25XYXJuaW5nIh0KG0lzTWVtYmVyTGltaXRSZWFjaGVkUmVxdWVzdCJ9ChxJc01lbWJlckxpbWl0UmVhY2hlZFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USFQoNbGltaXRfcmVhY2hlZBgCIAEoCBIUCgxtZW1iZXJfY291bnQYAyABKAUiEwoRRGVsZXRlVXNlclJlcXVlc3QiRgoSRGVsZXRlVXNlclJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2Ui8AEKGENyZWF0ZUZlYXR1cmVGbGFnUmVxdWVzdBIMCgRuYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRIrCgZsYWJlbHMYAyADKAsyGy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MYWJlbBIeChZmZWF0dXJlX3N1YmdyYXBoX25hbWVzGAQgAygJEhIKCmlzX2VuYWJsZWQYBSABKAgSLQogZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24YBiABKAhIAIgBAUIjCiFfZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24imgIKGUNyZWF0ZUZlYXR1cmVGbGFnUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJCChJjb21wb3NpdGlvbl9lcnJvcnMYAiADKAsyJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbkVycm9yEkAKEWRlcGxveW1lbnRfZXJyb3JzGAMgAygLMiUud2cuY29zbW8ucGxhdGZvcm0udjEuRGVwbG95bWVudEVycm9yEkUKE2NvbXBvc2l0aW9uV2FybmluZ3MYBCADKAsyKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbldhcm5pbmci8gEKGFVwZGF0ZUZlYXR1cmVGbGFnUmVxdWVzdBIMCgRuYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRIrCgZsYWJlbHMYAyADKAsyGy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MYWJlbBIeChZmZWF0dXJlX3N1YmdyYXBoX25hbWVzGAQgAygJEhQKDHVuc2V0X2xhYmVscxgFIAEoCBItCiBkaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbhgGIAEoCEgAiAEBQiMKIV9kaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbiLEAgoZVXBkYXRlRmVhdHVyZUZsYWdSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEkIKEmNvbXBvc2l0aW9uX2Vycm9ycxgCIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uRXJyb3ISQAoRZGVwbG95bWVudF9lcnJvcnMYAyADKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZXBsb3ltZW50RXJyb3ISRQoTY29tcG9zaXRpb25XYXJuaW5ncxgEIAMoCzIoLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uV2FybmluZxIYCgtoYXNfY2hhbmdlZBgFIAEoCEgAiAEBQg4KDF9oYXNfY2hhbmdlZCKgAQoYRW5hYmxlRmVhdHVyZUZsYWdSZXF1ZXN0EgwKBG5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJEg8KB2VuYWJsZWQYAyABKAgSLQogZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24YBCABKAhIAIgBAUIjCiFfZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24ixAIKGUVuYWJsZUZlYXR1cmVGbGFnUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJCChJjb21wb3NpdGlvbl9lcnJvcnMYAiADKAsyJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbkVycm9yEkAKEWRlcGxveW1lbnRfZXJyb3JzGAMgAygLMiUud2cuY29zbW8ucGxhdGZvcm0udjEuRGVwbG95bWVudEVycm9yEhgKC2hhc19jaGFuZ2VkGAQgASgISACIAQESRQoTY29tcG9zaXRpb25XYXJuaW5ncxgFIAMoCzIoLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uV2FybmluZ0IOCgxfaGFzX2NoYW5nZWQijwEKGERlbGV0ZUZlYXR1cmVGbGFnUmVxdWVzdBIMCgRuYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRItCiBkaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbhgDIAEoCEgAiAEBQiMKIV9kaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbiKaAgoZRGVsZXRlRmVhdHVyZUZsYWdSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEkIKEmNvbXBvc2l0aW9uX2Vycm9ycxgCIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uRXJyb3ISQAoRZGVwbG95bWVudF9lcnJvcnMYAyADKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZXBsb3ltZW50RXJyb3ISRQoTY29tcG9zaXRpb25XYXJuaW5ncxgEIAMoCzIoLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uV2FybmluZyKFAgoLRmVhdHVyZUZsYWcSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIRCgluYW1lc3BhY2UYAyABKAkSKwoGbGFiZWxzGAQgAygLMhsud2cuY29zbW8ucGxhdGZvcm0udjEuTGFiZWwSEgoKaXNfZW5hYmxlZBgFIAEoCBISCgpjcmVhdGVkX2J5GAYgASgJEhIKCmNyZWF0ZWRfYXQYByABKAkSEgoKdXBkYXRlZF9hdBgIIAEoCRIqCh1oYXNfZmFpbGVkX2xhdGVzdF9jb21wb3NpdGlvbhgJIAEoCEgAiAEBQiAKHl9oYXNfZmFpbGVkX2xhdGVzdF9jb21wb3NpdGlvbiJoChZHZXRGZWF0dXJlRmxhZ3NSZXF1ZXN0Eg0KBWxpbWl0GAEgASgFEg4KBm9mZnNldBgCIAEoBRIRCgluYW1lc3BhY2UYAyABKAkSEgoFcXVlcnkYBCABKAlIAIgBAUIICgZfcXVlcnkimgEKF0dldEZlYXR1cmVGbGFnc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USOAoNZmVhdHVyZV9mbGFncxgCIAMoCzIhLndnLmNvc21vLnBsYXRmb3JtLnYxLkZlYXR1cmVGbGFnEhMKC3RvdGFsX2NvdW50GAMgASgFIj4KG0dldEZlYXR1cmVGbGFnQnlOYW1lUmVxdWVzdBIMCgRuYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCSKMAwocR2V0RmVhdHVyZUZsYWdCeU5hbWVSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjcKDGZlYXR1cmVfZmxhZxgCIAEoCzIhLndnLmNvc21vLnBsYXRmb3JtLnYxLkZlYXR1cmVGbGFnEl0KEGZlZGVyYXRlZF9ncmFwaHMYAyADKAsyQy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGZWF0dXJlRmxhZ0J5TmFtZVJlc3BvbnNlLkZmRmVkZXJhdGVkR3JhcGgSOQoRZmVhdHVyZV9zdWJncmFwaHMYBCADKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TdWJncmFwaBpnChBGZkZlZGVyYXRlZEdyYXBoEj0KD2ZlZGVyYXRlZF9ncmFwaBgBIAEoCzIkLndnLmNvc21vLnBsYXRmb3JtLnYxLkZlZGVyYXRlZEdyYXBoEhQKDGlzX2Nvbm5lY3RlZBgCIAEoCCJXCidHZXRGZWF0dXJlU3ViZ3JhcGhzQnlGZWF0dXJlRmxhZ1JlcXVlc3QSGQoRZmVhdHVyZV9mbGFnX25hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJIpcBCihHZXRGZWF0dXJlU3ViZ3JhcGhzQnlGZWF0dXJlRmxhZ1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USOQoRZmVhdHVyZV9zdWJncmFwaHMYAiADKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TdWJncmFwaCJsChpHZXRGZWF0dXJlU3ViZ3JhcGhzUmVxdWVzdBINCgVsaW1pdBgBIAEoBRIOCgZvZmZzZXQYAiABKAUSEQoJbmFtZXNwYWNlGAMgASgJEhIKBXF1ZXJ5GAQgASgJSACIAQFCCAoGX3F1ZXJ5IpkBChtHZXRGZWF0dXJlU3ViZ3JhcGhzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI5ChFmZWF0dXJlX3N1YmdyYXBocxgCIAMoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlN1YmdyYXBoEg0KBWNvdW50GAMgASgFIpYBCiZHZXRGZWF0dXJlRmxhZ3NCeUZlZGVyYXRlZEdyYXBoUmVxdWVzdBIcChRmZWRlcmF0ZWRfZ3JhcGhfbmFtZRgBIAEoCRINCgVsaW1pdBgCIAEoBRIOCgZvZmZzZXQYAyABKAUSEQoJbmFtZXNwYWNlGAQgASgJEhIKBXF1ZXJ5GAUgASgJSACIAQFCCAoGX3F1ZXJ5IqoBCidHZXRGZWF0dXJlRmxhZ3NCeUZlZGVyYXRlZEdyYXBoUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI4Cg1mZWF0dXJlX2ZsYWdzGAIgAygLMiEud2cuY29zbW8ucGxhdGZvcm0udjEuRmVhdHVyZUZsYWcSEwoLdG90YWxfY291bnQYAyABKAUibAo5R2V0RmVhdHVyZUZsYWdzSW5MYXRlc3RDb21wb3NpdGlvbkJ5RmVkZXJhdGVkR3JhcGhSZXF1ZXN0EhwKFGZlZGVyYXRlZF9ncmFwaF9uYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCSKyAQogRmVhdHVyZVN1YmdyYXBoSW5GbGFnQ29tcG9zaXRpb24SFwoPZmVhdHVyZV9mbGFnX2lkGAEgASgJEgoKAmlkGAIgASgJEgwKBG5hbWUYAyABKAkSEQoJdGFyZ2V0X2lkGAQgASgJEhkKEXNjaGVtYV92ZXJzaW9uX2lkGAUgASgJEhMKC3JvdXRpbmdfdXJsGAYgASgJEhgKEHN1YnNjcmlwdGlvbl91cmwYByABKAki+wEKOkdldEZlYXR1cmVGbGFnc0luTGF0ZXN0Q29tcG9zaXRpb25CeUZlZGVyYXRlZEdyYXBoUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI4Cg1mZWF0dXJlX2ZsYWdzGAIgAygLMiEud2cuY29zbW8ucGxhdGZvcm0udjEuRmVhdHVyZUZsYWcSUQoRZmVhdHVyZV9zdWJncmFwaHMYAyADKAsyNi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5GZWF0dXJlU3ViZ3JhcGhJbkZsYWdDb21wb3NpdGlvbiKaAQoqR2V0RmVhdHVyZVN1YmdyYXBoc0J5RmVkZXJhdGVkR3JhcGhSZXF1ZXN0EhwKFGZlZGVyYXRlZF9ncmFwaF9uYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRINCgVsaW1pdBgDIAEoBRIOCgZvZmZzZXQYBCABKAUSEgoFcXVlcnkYBSABKAlIAIgBAUIICgZfcXVlcnkirwEKK0dldEZlYXR1cmVTdWJncmFwaHNCeUZlZGVyYXRlZEdyYXBoUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRI5ChFmZWF0dXJlX3N1YmdyYXBocxgCIAMoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlN1YmdyYXBoEhMKC3RvdGFsX2NvdW50GAMgASgFIsEBCiRHZXRPcmdhbml6YXRpb25XZWJob29rSGlzdG9yeVJlcXVlc3QSNAoKcGFnaW5hdGlvbhgBIAEoCzIgLndnLmNvc21vLnBsYXRmb3JtLnYxLlBhZ2luYXRpb24SMwoKZGF0ZV9yYW5nZRgCIAEoCzIfLndnLmNvc21vLnBsYXRmb3JtLnYxLkRhdGVSYW5nZRIbCg5maWx0ZXJfYnlfdHlwZRgDIAEoCUgAiAEBQhEKD19maWx0ZXJfYnlfdHlwZSL7AwoPV2ViaG9va0RlbGl2ZXJ5EgoKAmlkGAEgASgJEhIKCmNyZWF0ZWRfYXQYAiABKAkSFwoKY3JlYXRlZF9ieRgDIAEoCUgAiAEBEgwKBHR5cGUYBCABKAkSEAoIZW5kcG9pbnQYBSABKAkSEgoKZXZlbnRfbmFtZRgGIAEoCRIPCgdwYXlsb2FkGAcgASgJEhcKD3JlcXVlc3RfaGVhZGVycxgIIAEoCRIdChByZXNwb25zZV9oZWFkZXJzGAkgASgJSAGIAQESIQoUcmVzcG9uc2Vfc3RhdHVzX2NvZGUYCiABKAVIAogBARIgChNyZXNwb25zZV9lcnJvcl9jb2RlGAsgASgJSAOIAQESGgoNZXJyb3JfbWVzc2FnZRgMIAEoCUgEiAEBEhoKDXJlc3BvbnNlX2JvZHkYDSABKAlIBYgBARITCgtyZXRyeV9jb3VudBgOIAEoBRIQCghkdXJhdGlvbhgPIAEoAhIVCg1pc19yZWRlbGl2ZXJ5GBAgASgIQg0KC19jcmVhdGVkX2J5QhMKEV9yZXNwb25zZV9oZWFkZXJzQhcKFV9yZXNwb25zZV9zdGF0dXNfY29kZUIWChRfcmVzcG9uc2VfZXJyb3JfY29kZUIQCg5fZXJyb3JfbWVzc2FnZUIQCg5fcmVzcG9uc2VfYm9keSKpAQolR2V0T3JnYW5pemF0aW9uV2ViaG9va0hpc3RvcnlSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjkKCmRlbGl2ZXJpZXMYAiADKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5XZWJob29rRGVsaXZlcnkSEwoLdG90YWxfY291bnQYAyABKAUiJQoXUmVkZWxpdmVyV2ViaG9va1JlcXVlc3QSCgoCaWQYASABKAkiTAoYUmVkZWxpdmVyV2ViaG9va1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiLgogR2V0V2ViaG9va0RlbGl2ZXJ5RGV0YWlsc1JlcXVlc3QSCgoCaWQYASABKAkijgEKIUdldFdlYmhvb2tEZWxpdmVyeURldGFpbHNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjcKCGRlbGl2ZXJ5GAIgASgLMiUud2cuY29zbW8ucGxhdGZvcm0udjEuV2ViaG9va0RlbGl2ZXJ5Ik0KHUNyZWF0ZVBsYXlncm91bmRTY3JpcHRSZXF1ZXN0Eg0KBXRpdGxlGAEgASgJEgwKBHR5cGUYAiABKAkSDwoHY29udGVudBgDIAEoCSJSCh5DcmVhdGVQbGF5Z3JvdW5kU2NyaXB0UmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSIrCh1EZWxldGVQbGF5Z3JvdW5kU2NyaXB0UmVxdWVzdBIKCgJpZBgBIAEoCSJSCh5EZWxldGVQbGF5Z3JvdW5kU2NyaXB0UmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSJLCh1VcGRhdGVQbGF5Z3JvdW5kU2NyaXB0UmVxdWVzdBIKCgJpZBgBIAEoCRINCgV0aXRsZRgCIAEoCRIPCgdjb250ZW50GAMgASgJIlIKHlVwZGF0ZVBsYXlncm91bmRTY3JpcHRSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIisKG0dldFBsYXlncm91bmRTY3JpcHRzUmVxdWVzdBIMCgR0eXBlGAEgASgJIkwKEFBsYXlncm91bmRTY3JpcHQSCgoCaWQYASABKAkSDAoEdHlwZRgCIAEoCRINCgV0aXRsZRgDIAEoCRIPCgdjb250ZW50GAQgASgJIokBChxHZXRQbGF5Z3JvdW5kU2NyaXB0c1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USNwoHc2NyaXB0cxgCIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLlBsYXlncm91bmRTY3JpcHQiQgocR2V0RmVkZXJhdGVkR3JhcGhCeUlkUmVxdWVzdBIKCgJpZBgBIAEoCRIWCg5pbmNsdWRlTWV0cmljcxgCIAEoCCLfAgodR2V0RmVkZXJhdGVkR3JhcGhCeUlkUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIzCgVncmFwaBgCIAEoCzIkLndnLmNvc21vLnBsYXRmb3JtLnYxLkZlZGVyYXRlZEdyYXBoEjEKCXN1YmdyYXBocxgDIAMoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlN1YmdyYXBoEhkKEWdyYXBoUmVxdWVzdFRva2VuGAQgASgJEk8KJGZlYXR1cmVGbGFnc0luTGF0ZXN0VmFsaWRDb21wb3NpdGlvbhgFIAMoCzIhLndnLmNvc21vLnBsYXRmb3JtLnYxLkZlYXR1cmVGbGFnEjgKEGZlYXR1cmVTdWJncmFwaHMYBiADKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TdWJncmFwaCIkChZHZXRTdWJncmFwaEJ5SWRSZXF1ZXN0EgoKAmlkGAEgASgJIrEBChdHZXRTdWJncmFwaEJ5SWRSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEi0KBWdyYXBoGAIgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuU3ViZ3JhcGgSNQoHbWVtYmVycxgDIAMoCzIkLndnLmNvc21vLnBsYXRmb3JtLnYxLlN1YmdyYXBoTWVtYmVyIi8KE0dldE5hbWVzcGFjZVJlcXVlc3QSDAoEbmFtZRgBIAEoCRIKCgJpZBgCIAEoCSJ8ChRHZXROYW1lc3BhY2VSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEjIKCW5hbWVzcGFjZRgCIAEoCzIfLndnLmNvc21vLnBsYXRmb3JtLnYxLk5hbWVzcGFjZSKpAQoSV29ya3NwYWNlTmFtZXNwYWNlEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSPQoGZ3JhcGhzGAMgAygLMi0ud2cuY29zbW8ucGxhdGZvcm0udjEuV29ya3NwYWNlRmVkZXJhdGVkR3JhcGgSOgoJc3ViZ3JhcGhzGAQgAygLMicud2cuY29zbW8ucGxhdGZvcm0udjEuV29ya3NwYWNlU3ViZ3JhcGgidAoXV29ya3NwYWNlRmVkZXJhdGVkR3JhcGgSCgoCaWQYASABKAkSEAoIdGFyZ2V0SWQYAiABKAkSDAoEbmFtZRgDIAEoCRISCgppc0NvbnRyYWN0GAQgASgIEhkKEXN1YmdyYXBoVGFyZ2V0SWRzGAUgAygJIooBChFXb3Jrc3BhY2VTdWJncmFwaBIKCgJpZBgBIAEoCRIQCgh0YXJnZXRJZBgCIAEoCRIMCgRuYW1lGAMgASgJEhsKDmJhc2VTdWJncmFwaElkGAQgASgJSACIAQESGQoRaXNGZWF0dXJlU3ViZ3JhcGgYBSABKAhCEQoPX2Jhc2VTdWJncmFwaElkIhUKE0dldFdvcmtzcGFjZVJlcXVlc3QihgEKFEdldFdvcmtzcGFjZVJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USPAoKbmFtZXNwYWNlcxgCIAMoCzIoLndnLmNvc21vLnBsYXRmb3JtLnYxLldvcmtzcGFjZU5hbWVzcGFjZSKfAQofUHVzaENhY2hlV2FybWVyT3BlcmF0aW9uUmVxdWVzdBIaChJmZWRlcmF0ZWRHcmFwaE5hbWUYASABKAkSGAoQb3BlcmF0aW9uQ29udGVudBgCIAEoCRIVCg1vcGVyYXRpb25OYW1lGAMgASgJEhwKFG9wZXJhdGlvblBlcnNpc3RlZElkGAQgASgJEhEKCW5hbWVzcGFjZRgFIAEoCSJUCiBQdXNoQ2FjaGVXYXJtZXJPcGVyYXRpb25SZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIm8KH0dldENhY2hlV2FybWVyT3BlcmF0aW9uc1JlcXVlc3QSGgoSZmVkZXJhdGVkR3JhcGhOYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRINCgVsaW1pdBgDIAEoBRIOCgZvZmZzZXQYBCABKAUiiAIKFENhY2hlV2FybWVyT3BlcmF0aW9uEgoKAmlkGAEgASgJEhgKEG9wZXJhdGlvbkNvbnRlbnQYAiABKAkSFQoNb3BlcmF0aW9uTmFtZRgDIAEoCRIcChRvcGVyYXRpb25QZXJzaXN0ZWRJZBgEIAEoCRIVCg1vcGVyYXRpb25IYXNoGAUgASgJEhIKCmNsaWVudE5hbWUYBiABKAkSFQoNY2xpZW50VmVyc2lvbhgHIAEoCRIUCgxwbGFubmluZ1RpbWUYCCABKAISFwoPaXNNYW51YWxseUFkZGVkGAkgASgIEhEKCWNyZWF0ZWRBdBgKIAEoCRIRCgljcmVhdGVkQnkYCyABKAkixwEKIEdldENhY2hlV2FybWVyT3BlcmF0aW9uc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USPgoKb3BlcmF0aW9ucxgCIAMoCzIqLndnLmNvc21vLnBsYXRmb3JtLnYxLkNhY2hlV2FybWVyT3BlcmF0aW9uEhMKC3RvdGFsX2NvdW50GAMgASgFEhwKFGlzQ2FjaGVXYXJtZXJFbmFibGVkGAQgASgIIlQKI0NvbXB1dGVDYWNoZVdhcm1lck9wZXJhdGlvbnNSZXF1ZXN0EhoKEmZlZGVyYXRlZEdyYXBoTmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkiWAokQ29tcHV0ZUNhY2hlV2FybWVyT3BlcmF0aW9uc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiZwobQ29uZmlndXJlQ2FjaGVXYXJtZXJSZXF1ZXN0EhEKCW5hbWVzcGFjZRgBIAEoCRIZChFlbmFibGVDYWNoZVdhcm1lchgCIAEoCBIaChJtYXhPcGVyYXRpb25zQ291bnQYAyABKAUiUAocQ29uZmlndXJlQ2FjaGVXYXJtZXJSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIjAKG0dldENhY2hlV2FybWVyQ29uZmlnUmVxdWVzdBIRCgluYW1lc3BhY2UYASABKAkiigEKHEdldENhY2hlV2FybWVyQ29uZmlnUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIcChRpc0NhY2hlV2FybWVyRW5hYmxlZBgCIAEoCBIaChJtYXhPcGVyYXRpb25zQ291bnQYAyABKAUiPAonR2V0U3ViZ3JhcGhDaGVja0V4dGVuc2lvbnNDb25maWdSZXF1ZXN0EhEKCW5hbWVzcGFjZRgBIAEoCSKUAwooR2V0U3ViZ3JhcGhDaGVja0V4dGVuc2lvbnNDb25maWdSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEh0KFWlzRW5hYmxlZEZvck5hbWVzcGFjZRgCIAEoCBIkChxpc0xpbnRpbmdFbmFibGVkRm9yTmFtZXNwYWNlGAMgASgIEikKIWlzR3JhcGhQcnVuaW5nRW5hYmxlZEZvck5hbWVzcGFjZRgEIAEoCBIQCghlbmRwb2ludBgFIAEoCRIbChNpc1NlY3JldEtleUFzc2lnbmVkGAYgASgIEhoKEmluY2x1ZGVDb21wb3NlZFNkbBgHIAEoCBIcChRpbmNsdWRlTGludGluZ0lzc3VlcxgIIAEoCBIcChRpbmNsdWRlUHJ1bmluZ0lzc3VlcxgJIAEoCBIcChRpbmNsdWRlU2NoZW1hQ2hhbmdlcxgKIAEoCBIhChlpbmNsdWRlQWZmZWN0ZWRPcGVyYXRpb25zGAsgASgIIrQCCidDb25maWd1cmVTdWJncmFwaENoZWNrRXh0ZW5zaW9uc1JlcXVlc3QSEQoJbmFtZXNwYWNlGAEgASgJEiUKHWVuYWJsZVN1YmdyYXBoQ2hlY2tFeHRlbnNpb25zGAIgASgIEhAKCGVuZHBvaW50GAMgASgJEhYKCXNlY3JldEtleRgEIAEoCUgAiAEBEhoKEmluY2x1ZGVDb21wb3NlZFNkbBgFIAEoCBIcChRpbmNsdWRlTGludGluZ0lzc3VlcxgGIAEoCBIcChRpbmNsdWRlUHJ1bmluZ0lzc3VlcxgHIAEoCBIcChRpbmNsdWRlU2NoZW1hQ2hhbmdlcxgIIAEoCBIhChlpbmNsdWRlQWZmZWN0ZWRPcGVyYXRpb25zGAkgASgIQgwKCl9zZWNyZXRLZXkiXAooQ29uZmlndXJlU3ViZ3JhcGhDaGVja0V4dGVuc2lvbnNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIl4KIURlbGV0ZUNhY2hlV2FybWVyT3BlcmF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRIaChJmZWRlcmF0ZWRHcmFwaE5hbWUYAiABKAkSEQoJbmFtZXNwYWNlGAMgASgJIlYKIkRlbGV0ZUNhY2hlV2FybWVyT3BlcmF0aW9uUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSIoCiZMaXN0Um91dGVyQ29tcGF0aWJpbGl0eVZlcnNpb25zUmVxdWVzdCJtCidMaXN0Um91dGVyQ29tcGF0aWJpbGl0eVZlcnNpb25zUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIQCgh2ZXJzaW9ucxgCIAMoCSKxAQopU2V0R3JhcGhSb3V0ZXJDb21wYXRpYmlsaXR5VmVyc2lvblJlcXVlc3QSDAoEbmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSDwoHdmVyc2lvbhgDIAEoCRItCiBkaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbhgEIAEoCEgAiAEBQiMKIV9kaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbiLYAgoqU2V0R3JhcGhSb3V0ZXJDb21wYXRpYmlsaXR5VmVyc2lvblJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USGAoQcHJldmlvdXNfdmVyc2lvbhgCIAEoCRITCgtuZXdfdmVyc2lvbhgDIAEoCRJBChFjb21wb3NpdGlvbkVycm9ycxgEIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uRXJyb3ISPwoQZGVwbG95bWVudEVycm9ycxgFIAMoCzIlLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlcGxveW1lbnRFcnJvchJFChNjb21wb3NpdGlvbldhcm5pbmdzGAYgAygLMigud2cuY29zbW8ucGxhdGZvcm0udjEuQ29tcG9zaXRpb25XYXJuaW5nImsKKUdldFByb3Bvc2VkU2NoZW1hT2ZDaGVja2VkU3ViZ3JhcGhSZXF1ZXN0Eg8KB2NoZWNrSWQYASABKAkSGQoRY2hlY2tlZFN1YmdyYXBoSWQYAiABKAkSEgoKc3ViZ3JhcGhJZBgDIAEoCSJ2CipHZXRQcm9wb3NlZFNjaGVtYU9mQ2hlY2tlZFN1YmdyYXBoUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIWCg5wcm9wb3NlZFNjaGVtYRgCIAEoCSK4AgoIUHJvcG9zYWwSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIRCgljcmVhdGVkQXQYAyABKAkSFgoOY3JlYXRlZEJ5RW1haWwYBCABKAkSDQoFc3RhdGUYBSABKAkSGAoQZmVkZXJhdGVkR3JhcGhJZBgGIAEoCRIaChJmZWRlcmF0ZWRHcmFwaE5hbWUYByABKAkSOQoJc3ViZ3JhcGhzGAggAygLMiYud2cuY29zbW8ucGxhdGZvcm0udjEuUHJvcG9zYWxTdWJncmFwaBIaChJsYXRlc3RDaGVja1N1Y2Nlc3MYCSABKAgSFQoNbGF0ZXN0Q2hlY2tJZBgKIAEoCRI0CgZvcmlnaW4YCyABKA4yJC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Qcm9wb3NhbE9yaWdpbiKCAQoQUHJvcG9zYWxTdWJncmFwaBIMCgRuYW1lGAEgASgJEhEKCXNjaGVtYVNETBgCIAEoCRIRCglpc0RlbGV0ZWQYAyABKAgSDQoFaXNOZXcYBCABKAgSKwoGbGFiZWxzGAUgAygLMhsud2cuY29zbW8ucGxhdGZvcm0udjEuTGFiZWwijwIKFUNyZWF0ZVByb3Bvc2FsUmVxdWVzdBIaChJmZWRlcmF0ZWRHcmFwaE5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJEgwKBG5hbWUYAyABKAkSOQoJc3ViZ3JhcGhzGAQgAygLMiYud2cuY29zbW8ucGxhdGZvcm0udjEuUHJvcG9zYWxTdWJncmFwaBJIChBuYW1pbmdDb252ZW50aW9uGAUgASgOMi4ud2cuY29zbW8ucGxhdGZvcm0udjEuUHJvcG9zYWxOYW1pbmdDb252ZW50aW9uEjQKBm9yaWdpbhgGIAEoDjIkLndnLmNvc21vLnBsYXRmb3JtLnYxLlByb3Bvc2FsT3JpZ2luItAIChZDcmVhdGVQcm9wb3NhbFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USEgoKcHJvcG9zYWxJZBgCIAEoCRIPCgdjaGVja0lkGAMgASgJEjsKD2JyZWFraW5nQ2hhbmdlcxgEIAMoCzIiLndnLmNvc21vLnBsYXRmb3JtLnYxLlNjaGVtYUNoYW5nZRI+ChJub25CcmVha2luZ0NoYW5nZXMYBSADKAsyIi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TY2hlbWFDaGFuZ2USQQoRY29tcG9zaXRpb25FcnJvcnMYBiADKAsyJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbkVycm9yEkUKE2NvbXBvc2l0aW9uV2FybmluZ3MYByADKAsyKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbldhcm5pbmcSMwoKbGludEVycm9ycxgIIAMoCzIfLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpbnRJc3N1ZRI1CgxsaW50V2FybmluZ3MYCSADKAsyHy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MaW50SXNzdWUSQQoQZ3JhcGhQcnVuZUVycm9ycxgKIAMoCzInLndnLmNvc21vLnBsYXRmb3JtLnYxLkdyYXBoUHJ1bmluZ0lzc3VlEkMKEmdyYXBoUHJ1bmVXYXJuaW5ncxgLIAMoCzInLndnLmNvc21vLnBsYXRmb3JtLnYxLkdyYXBoUHJ1bmluZ0lzc3VlEksKE29wZXJhdGlvblVzYWdlU3RhdHMYDCABKAsyLi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DaGVja09wZXJhdGlvblVzYWdlU3RhdHMSFgoObGludGluZ1NraXBwZWQYDSABKAgSGwoTZ3JhcGhQcnVuaW5nU2tpcHBlZBgOIAEoCBIQCghjaGVja1VybBgPIAEoCRITCgtwcm9wb3NhbFVybBgQIAEoCRIUCgxwcm9wb3NhbE5hbWUYESABKAkSJwoaaXNMaW5rZWRUcmFmZmljQ2hlY2tGYWlsZWQYEiABKAhIAIgBARInChppc0xpbmtlZFBydW5pbmdDaGVja0ZhaWxlZBgTIAEoCEgBiAEBEiIKFWhhc0xpbmtlZFNjaGVtYUNoZWNrcxgUIAEoCEgCiAEBElcKHWNvbXBvc2VkU2NoZW1hQnJlYWtpbmdDaGFuZ2VzGBUgAygLMjAud2cuY29zbW8ucGxhdGZvcm0udjEuRmVkZXJhdGVkR3JhcGhTY2hlbWFDaGFuZ2VCHQobX2lzTGlua2VkVHJhZmZpY0NoZWNrRmFpbGVkQh0KG19pc0xpbmtlZFBydW5pbmdDaGVja0ZhaWxlZEIYChZfaGFzTGlua2VkU2NoZW1hQ2hlY2tzIigKEkdldFByb3Bvc2FsUmVxdWVzdBISCgpwcm9wb3NhbElkGAEgASgJIoICChNHZXRQcm9wb3NhbFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USMAoIcHJvcG9zYWwYAiABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Qcm9wb3NhbBJTChBjdXJyZW50U3ViZ3JhcGhzGAMgAygLMjkud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0UHJvcG9zYWxSZXNwb25zZS5DdXJyZW50U3ViZ3JhcGgaMgoPQ3VycmVudFN1YmdyYXBoEgwKBG5hbWUYASABKAkSEQoJc2NoZW1hU0RMGAIgASgJIpcBCiNHZXRQcm9wb3NhbHNCeUZlZGVyYXRlZEdyYXBoUmVxdWVzdBIaChJmZWRlcmF0ZWRHcmFwaE5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJEhEKCXN0YXJ0RGF0ZRgDIAEoCRIPCgdlbmREYXRlGAQgASgJEg0KBWxpbWl0GAUgASgFEg4KBm9mZnNldBgGIAEoBSK7AQokR2V0UHJvcG9zYWxzQnlGZWRlcmF0ZWRHcmFwaFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USMQoJcHJvcG9zYWxzGAIgAygLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUHJvcG9zYWwSGgoSaXNQcm9wb3NhbHNFbmFibGVkGAMgASgIEhIKCnRvdGFsQ291bnQYBCABKAUicQoYR2V0UHJvcG9zYWxDaGVja3NSZXF1ZXN0EhIKCnByb3Bvc2FsSWQYASABKAkSDQoFbGltaXQYAiABKAUSDgoGb2Zmc2V0GAMgASgFEhEKCXN0YXJ0RGF0ZRgEIAEoCRIPCgdlbmREYXRlGAUgASgJIpoBChlHZXRQcm9wb3NhbENoZWNrc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USMQoGY2hlY2tzGAIgAygLMiEud2cuY29zbW8ucGxhdGZvcm0udjEuU2NoZW1hQ2hlY2sSGAoQdG90YWxDaGVja3NDb3VudBgDIAEoBSK1AgoVVXBkYXRlUHJvcG9zYWxSZXF1ZXN0EhQKDHByb3Bvc2FsTmFtZRgBIAEoCRIaChJmZWRlcmF0ZWRHcmFwaE5hbWUYAiABKAkSDwoFc3RhdGUYAyABKAlIABJfChB1cGRhdGVkU3ViZ3JhcGhzGAQgASgLMkMud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlUHJvcG9zYWxSZXF1ZXN0LlVwZGF0ZVByb3Bvc2FsU3ViZ3JhcGhzSAASEQoJbmFtZXNwYWNlGAUgASgJGlQKF1VwZGF0ZVByb3Bvc2FsU3ViZ3JhcGhzEjkKCXN1YmdyYXBocxgBIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLlByb3Bvc2FsU3ViZ3JhcGhCDwoNdXBkYXRlX2FjdGlvbiKRCAoWVXBkYXRlUHJvcG9zYWxSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEg8KB2NoZWNrSWQYAiABKAkSOwoPYnJlYWtpbmdDaGFuZ2VzGAMgAygLMiIud2cuY29zbW8ucGxhdGZvcm0udjEuU2NoZW1hQ2hhbmdlEj4KEm5vbkJyZWFraW5nQ2hhbmdlcxgEIAMoCzIiLndnLmNvc21vLnBsYXRmb3JtLnYxLlNjaGVtYUNoYW5nZRJBChFjb21wb3NpdGlvbkVycm9ycxgFIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uRXJyb3ISRQoTY29tcG9zaXRpb25XYXJuaW5ncxgGIAMoCzIoLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uV2FybmluZxIzCgpsaW50RXJyb3JzGAcgAygLMh8ud2cuY29zbW8ucGxhdGZvcm0udjEuTGludElzc3VlEjUKDGxpbnRXYXJuaW5ncxgIIAMoCzIfLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpbnRJc3N1ZRJBChBncmFwaFBydW5lRXJyb3JzGAkgAygLMicud2cuY29zbW8ucGxhdGZvcm0udjEuR3JhcGhQcnVuaW5nSXNzdWUSQwoSZ3JhcGhQcnVuZVdhcm5pbmdzGAogAygLMicud2cuY29zbW8ucGxhdGZvcm0udjEuR3JhcGhQcnVuaW5nSXNzdWUSSwoTb3BlcmF0aW9uVXNhZ2VTdGF0cxgLIAEoCzIuLndnLmNvc21vLnBsYXRmb3JtLnYxLkNoZWNrT3BlcmF0aW9uVXNhZ2VTdGF0cxIWCg5saW50aW5nU2tpcHBlZBgMIAEoCBIbChNncmFwaFBydW5pbmdTa2lwcGVkGA0gASgIEhAKCGNoZWNrVXJsGA4gASgJEicKGmlzTGlua2VkVHJhZmZpY0NoZWNrRmFpbGVkGA8gASgISACIAQESJwoaaXNMaW5rZWRQcnVuaW5nQ2hlY2tGYWlsZWQYECABKAhIAYgBARIiChVoYXNMaW5rZWRTY2hlbWFDaGVja3MYESABKAhIAogBARJXCh1jb21wb3NlZFNjaGVtYUJyZWFraW5nQ2hhbmdlcxgSIAMoCzIwLndnLmNvc21vLnBsYXRmb3JtLnYxLkZlZGVyYXRlZEdyYXBoU2NoZW1hQ2hhbmdlQh0KG19pc0xpbmtlZFRyYWZmaWNDaGVja0ZhaWxlZEIdChtfaXNMaW5rZWRQcnVuaW5nQ2hlY2tGYWlsZWRCGAoWX2hhc0xpbmtlZFNjaGVtYUNoZWNrcyJQCiJFbmFibGVQcm9wb3NhbHNGb3JOYW1lc3BhY2VSZXF1ZXN0EhEKCW5hbWVzcGFjZRgBIAEoCRIXCg9lbmFibGVQcm9wb3NhbHMYAiABKAgiVwojRW5hYmxlUHJvcG9zYWxzRm9yTmFtZXNwYWNlUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSK+AQonQ29uZmlndXJlTmFtZXNwYWNlUHJvcG9zYWxDb25maWdSZXF1ZXN0EhEKCW5hbWVzcGFjZRgBIAEoCRI+ChJjaGVja1NldmVyaXR5TGV2ZWwYAiABKA4yIi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MaW50U2V2ZXJpdHkSQAoUcHVibGlzaFNldmVyaXR5TGV2ZWwYAyABKA4yIi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MaW50U2V2ZXJpdHkiXAooQ29uZmlndXJlTmFtZXNwYWNlUHJvcG9zYWxDb25maWdSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIjYKIUdldE5hbWVzcGFjZVByb3Bvc2FsQ29uZmlnUmVxdWVzdBIRCgluYW1lc3BhY2UYASABKAki6QEKIkdldE5hbWVzcGFjZVByb3Bvc2FsQ29uZmlnUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIPCgdlbmFibGVkGAIgASgIEj4KEmNoZWNrU2V2ZXJpdHlMZXZlbBgDIAEoDjIiLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpbnRTZXZlcml0eRJAChRwdWJsaXNoU2V2ZXJpdHlMZXZlbBgEIAEoDjIiLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpbnRTZXZlcml0eSKrAQobTmFtZXNwYWNlTG9naW5NZXRob2RNYXBwaW5nEhQKDG5hbWVzcGFjZV9pZBgBIAEoCRIgChhhbGxvd2VkX3Nzb19wcm92aWRlcl9pZHMYAiADKAkSHAoUYWxsb3dfcGFzc3dvcmRfbG9naW4YAyABKAgSGgoSYWxsb3dfZ29vZ2xlX2xvZ2luGAQgASgIEhoKEmFsbG93X2dpdGh1Yl9sb2dpbhgFIAEoCCJpCiJVcGRhdGVOYW1lc3BhY2VMb2dpbk1ldGhvZHNSZXF1ZXN0EkMKCG1hcHBpbmdzGAEgAygLMjEud2cuY29zbW8ucGxhdGZvcm0udjEuTmFtZXNwYWNlTG9naW5NZXRob2RNYXBwaW5nIlcKI1VwZGF0ZU5hbWVzcGFjZUxvZ2luTWV0aG9kc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2UiIgogTGlzdE5hbWVzcGFjZUxvZ2luTWV0aG9kc1JlcXVlc3QimgEKIUxpc3ROYW1lc3BhY2VMb2dpbk1ldGhvZHNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEkMKCG1hcHBpbmdzGAIgAygLMjEud2cuY29zbW8ucGxhdGZvcm0udjEuTmFtZXNwYWNlTG9naW5NZXRob2RNYXBwaW5nIqkBChhPcmdhbml6YXRpb25Mb2dpbk1ldGhvZHMSIAoYYWxsb3dlZF9zc29fcHJvdmlkZXJfaWRzGAEgAygJEhwKFGFsbG93X3Bhc3N3b3JkX2xvZ2luGAIgASgIEhoKEmFsbG93X2dvb2dsZV9sb2dpbhgDIAEoCBIaChJhbGxvd19naXRodWJfbG9naW4YBCABKAgSFQoNaXNfcmVzdHJpY3RlZBgFIAEoCCIkCiJHZXRPcmdhbml6YXRpb25Mb2dpbk1ldGhvZHNSZXF1ZXN0Ip4BCiNHZXRPcmdhbml6YXRpb25Mb2dpbk1ldGhvZHNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEkUKDWxvZ2luX21ldGhvZHMYAiABKAsyLi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Pcmdhbml6YXRpb25Mb2dpbk1ldGhvZHMiwgEKJVVwZGF0ZU9yZ2FuaXphdGlvbkxvZ2luTWV0aG9kc1JlcXVlc3QSIAoYYWxsb3dlZF9zc29fcHJvdmlkZXJfaWRzGAEgAygJEhwKFGFsbG93X3Bhc3N3b3JkX2xvZ2luGAIgASgIEhoKEmFsbG93X2dvb2dsZV9sb2dpbhgDIAEoCBIaChJhbGxvd19naXRodWJfbG9naW4YBCABKAgSIQoZY29uZmlybV9uYW1lc3BhY2VfY2hhbmdlcxgFIAEoCCK3AQomVXBkYXRlT3JnYW5pemF0aW9uTG9naW5NZXRob2RzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIdChVyZXF1aXJlc19jb25maXJtYXRpb24YAiABKAgSPAoTYWZmZWN0ZWRfbmFtZXNwYWNlcxgDIAMoCzIfLndnLmNvc21vLnBsYXRmb3JtLnYxLk5hbWVzcGFjZSLoBQoUR2V0T3BlcmF0aW9uc1JlcXVlc3QSGgoSZmVkZXJhdGVkR3JhcGhOYW1lGAEgASgJEhEKCW5hbWVzcGFjZRgCIAEoCRITCgtjbGllbnROYW1lcxgDIAMoCRISCgVsaW1pdBgEIAEoBUgAiAEBEhMKBm9mZnNldBgFIAEoBUgBiAEBEicKGmluY2x1ZGVIYXNEZXByZWNhdGVkRmllbGRzGAYgASgISAKIAQESRwoMZmV0Y2hCYXNlZE9uGAcgASgOMiwud2cuY29zbW8ucGxhdGZvcm0udjEuT3BlcmF0aW9uc0ZldGNoQmFzZWRPbkgDiAEBEhsKDmluY2x1ZGVDb250ZW50GAggASgISASIAQESEgoFcmFuZ2UYCSABKAVIBYgBARI3CglkYXRlUmFuZ2UYCiABKAsyHy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EYXRlUmFuZ2VIBogBARIYCgtzZWFyY2hRdWVyeRgLIAEoCUgHiAEBEjYKKWluY2x1ZGVPcGVyYXRpb25zV2l0aERlcHJlY2F0ZWRGaWVsZHNPbmx5GAwgASgISAiIAQESPwoNc29ydERpcmVjdGlvbhgNIAEoDjIjLndnLmNvc21vLnBsYXRmb3JtLnYxLlNvcnREaXJlY3Rpb25ICYgBARIeChFpbmNsdWRlVG90YWxDb3VudBgOIAEoCEgKiAEBQggKBl9saW1pdEIJCgdfb2Zmc2V0Qh0KG19pbmNsdWRlSGFzRGVwcmVjYXRlZEZpZWxkc0IPCg1fZmV0Y2hCYXNlZE9uQhEKD19pbmNsdWRlQ29udGVudEIICgZfcmFuZ2VCDAoKX2RhdGVSYW5nZUIOCgxfc2VhcmNoUXVlcnlCLAoqX2luY2x1ZGVPcGVyYXRpb25zV2l0aERlcHJlY2F0ZWRGaWVsZHNPbmx5QhAKDl9zb3J0RGlyZWN0aW9uQhQKEl9pbmNsdWRlVG90YWxDb3VudCKXBAoVR2V0T3BlcmF0aW9uc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USSQoKb3BlcmF0aW9ucxgCIAMoCzI1LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE9wZXJhdGlvbnNSZXNwb25zZS5PcGVyYXRpb24SFwoKdG90YWxDb3VudBgDIAEoBUgAiAEBGpwCCglPcGVyYXRpb24SDAoEaGFzaBgBIAEoCRIMCgRuYW1lGAIgASgJEhQKB2NvbnRlbnQYAyABKAlIAYgBARJHCgR0eXBlGAQgASgOMjkud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3BlcmF0aW9uc1Jlc3BvbnNlLk9wZXJhdGlvblR5cGUSIAoTaGFzRGVwcmVjYXRlZEZpZWxkcxgFIAEoCEgCiAEBEhEKB2xhdGVuY3kYBiABKAJIABIWCgxyZXF1ZXN0Q291bnQYByABKANIABIZCg9lcnJvclBlcmNlbnRhZ2UYCCABKAJIAEIICgZtZXRyaWNCCgoIX2NvbnRlbnRCFgoUX2hhc0RlcHJlY2F0ZWRGaWVsZHMiOgoNT3BlcmF0aW9uVHlwZRIJCgVRVUVSWRAAEgwKCE1VVEFUSU9OEAESEAoMU1VCU0NSSVBUSU9OEAJCDQoLX3RvdGFsQ291bnQiTwoeR2V0Q2xpZW50c0Zyb21BbmFseXRpY3NSZXF1ZXN0EhoKEmZlZGVyYXRlZEdyYXBoTmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkiugEKH0dldENsaWVudHNGcm9tQW5hbHl0aWNzUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJNCgdjbGllbnRzGAIgAygLMjwud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0Q2xpZW50c0Zyb21BbmFseXRpY3NSZXNwb25zZS5DbGllbnQaFgoGQ2xpZW50EgwKBG5hbWUYASABKAki3gEKGkdldE9wZXJhdGlvbkNsaWVudHNSZXF1ZXN0EhoKEmZlZGVyYXRlZEdyYXBoTmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSFQoNb3BlcmF0aW9uSGFzaBgDIAEoCRIVCg1vcGVyYXRpb25OYW1lGAQgASgJEhIKBXJhbmdlGAUgASgFSACIAQESNwoJZGF0ZVJhbmdlGAYgASgLMh8ud2cuY29zbW8ucGxhdGZvcm0udjEuRGF0ZVJhbmdlSAGIAQFCCAoGX3JhbmdlQgwKCl9kYXRlUmFuZ2Ui6wEKG0dldE9wZXJhdGlvbkNsaWVudHNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEkkKB2NsaWVudHMYAiADKAsyOC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcGVyYXRpb25DbGllbnRzUmVzcG9uc2UuQ2xpZW50Gk8KBkNsaWVudBIMCgRuYW1lGAEgASgJEg8KB3ZlcnNpb24YAiABKAkSFAoMcmVxdWVzdENvdW50GAMgASgDEhAKCGxhc3RVc2VkGAQgASgJIv4BCiNHZXRPcGVyYXRpb25EZXByZWNhdGVkRmllbGRzUmVxdWVzdBIaChJmZWRlcmF0ZWRHcmFwaE5hbWUYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJEhUKDW9wZXJhdGlvbkhhc2gYAyABKAkSGgoNb3BlcmF0aW9uTmFtZRgEIAEoCUgAiAEBEhIKBXJhbmdlGAUgASgFSAGIAQESNwoJZGF0ZVJhbmdlGAYgASgLMh8ud2cuY29zbW8ucGxhdGZvcm0udjEuRGF0ZVJhbmdlSAKIAQFCEAoOX29wZXJhdGlvbk5hbWVCCAoGX3JhbmdlQgwKCl9kYXRlUmFuZ2UinwIKJEdldE9wZXJhdGlvbkRlcHJlY2F0ZWRGaWVsZHNSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEmQKEGRlcHJlY2F0ZWRGaWVsZHMYAiADKAsySi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcGVyYXRpb25EZXByZWNhdGVkRmllbGRzUmVzcG9uc2UuRGVwcmVjYXRlZEZpZWxkGl8KD0RlcHJlY2F0ZWRGaWVsZBIRCglmaWVsZE5hbWUYASABKAkSEAoIdHlwZU5hbWUYAiABKAkSDAoEcGF0aBgDIAEoCRIZChFkZXByZWNhdGlvblJlYXNvbhgEIAEoCSJxCiFWYWxpZGF0ZUFuZEZldGNoUGx1Z2luRGF0YVJlcXVlc3QSDAoEbmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSKwoGbGFiZWxzGAMgAygLMhsud2cuY29zbW8ucGxhdGZvcm0udjEuTGFiZWwikAEKIlZhbGlkYXRlQW5kRmV0Y2hQbHVnaW5EYXRhUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRISCgpuZXdWZXJzaW9uGAIgASgJEhEKCXB1c2hUb2tlbhgDIAEoCRIRCglyZWZlcmVuY2UYBCABKAkijwEKE0xpbmtTdWJncmFwaFJlcXVlc3QSGgoSc291cmNlU3ViZ3JhcGhOYW1lGAEgASgJEh8KF3NvdXJjZVN1YmdyYXBoTmFtZXNwYWNlGAIgASgJEhoKEnRhcmdldFN1YmdyYXBoTmFtZRgDIAEoCRIfChd0YXJnZXRTdWJncmFwaE5hbWVzcGFjZRgEIAEoCSJIChRMaW5rU3ViZ3JhcGhSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIlQKFVVubGlua1N1YmdyYXBoUmVxdWVzdBIaChJzb3VyY2VTdWJncmFwaE5hbWUYASABKAkSHwoXc291cmNlU3ViZ3JhcGhOYW1lc3BhY2UYAiABKAkiSgoWVW5saW5rU3ViZ3JhcGhSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlIjoKHlZlcmlmeUFQSUtleUdyYXBoQWNjZXNzUmVxdWVzdBIYChBmZWRlcmF0ZWRHcmFwaElkGAEgASgJIqYBCh9WZXJpZnlBUElLZXlHcmFwaEFjY2Vzc1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USMgoqaGFzT3JnYW5pemF0aW9uQWRtaW5PckRldmVsb3BlclBlcm1pc3Npb25zGAIgASgIEh0KFWhhc1dyaXRlQWNjZXNzVG9HcmFwaBgDIAEoCCIrChpJbml0aWFsaXplQ29zbW9Vc2VyUmVxdWVzdBINCgV0b2tlbhgBIAEoCSJPChtJbml0aWFsaXplQ29zbW9Vc2VyUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZSIaChhMaXN0T3JnYW5pemF0aW9uc1JlcXVlc3Qi/QEKGUxpc3RPcmdhbml6YXRpb25zUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJdCg1vcmdhbml6YXRpb25zGAIgAygLMkYud2cuY29zbW8ucGxhdGZvcm0udjEuTGlzdE9yZ2FuaXphdGlvbnNSZXNwb25zZS5Pcmdhbml6YXRpb25NZW1iZXJzaGlwGk8KFk9yZ2FuaXphdGlvbk1lbWJlcnNoaXASCgoCaWQYASABKAkSDAoEc2x1ZxgCIAEoCRIMCgRuYW1lGAMgASgJEg0KBXJvbGVzGAQgAygJIsABChVSZWNvbXBvc2VHcmFwaFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSFAoMaXNfbW9ub2dyYXBoGAMgASgIEhIKBWxpbWl0GAQgASgFSACIAQESLQogZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24YBSABKAhIAYgBAUIICgZfbGltaXRCIwohX2Rpc2FibGVfcmVzb2x2YWJpbGl0eV92YWxpZGF0aW9uIusCChZSZWNvbXBvc2VHcmFwaFJlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USQQoRY29tcG9zaXRpb25FcnJvcnMYAiADKAsyJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wb3NpdGlvbkVycm9yEj8KEGRlcGxveW1lbnRFcnJvcnMYAyADKAsyJS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZXBsb3ltZW50RXJyb3ISRQoTY29tcG9zaXRpb25XYXJuaW5ncxgEIAMoCzIoLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uV2FybmluZxJECgtlcnJvckNvdW50cxgFIAEoCzIqLndnLmNvc21vLnBsYXRmb3JtLnYxLlN1YmdyYXBoUHVibGlzaFN0YXRzSACIAQFCDgoMX2Vycm9yQ291bnRzIrABChtSZWNvbXBvc2VGZWF0dXJlRmxhZ1JlcXVlc3QSDAoEbmFtZRgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSEgoFbGltaXQYAyABKAVIAIgBARItCiBkaXNhYmxlX3Jlc29sdmFiaWxpdHlfdmFsaWRhdGlvbhgFIAEoCEgBiAEBQggKBl9saW1pdEIjCiFfZGlzYWJsZV9yZXNvbHZhYmlsaXR5X3ZhbGlkYXRpb24i8QIKHFJlY29tcG9zZUZlYXR1cmVGbGFnUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRJBChFjb21wb3NpdGlvbkVycm9ycxgCIAMoCzImLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXBvc2l0aW9uRXJyb3ISPwoQZGVwbG95bWVudEVycm9ycxgDIAMoCzIlLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlcGxveW1lbnRFcnJvchJFChNjb21wb3NpdGlvbldhcm5pbmdzGAQgAygLMigud2cuY29zbW8ucGxhdGZvcm0udjEuQ29tcG9zaXRpb25XYXJuaW5nEkQKC2Vycm9yQ291bnRzGAUgASgLMioud2cuY29zbW8ucGxhdGZvcm0udjEuU3ViZ3JhcGhQdWJsaXNoU3RhdHNIAIgBAUIOCgxfZXJyb3JDb3VudHMiFgoUR2V0T25ib2FyZGluZ1JlcXVlc3QioAEKFUdldE9uYm9hcmRpbmdSZXNwb25zZRIwCghyZXNwb25zZRgBIAEoCzIeLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3BvbnNlEhcKCmZpbmlzaGVkQXQYAyABKAlIAIgBARIcChRmZWRlcmF0ZWRHcmFwaHNDb3VudBgEIAEoBRIPCgdlbmFibGVkGAUgASgIQg0KC19maW5pc2hlZEF0IhkKF0NyZWF0ZU9uYm9hcmRpbmdSZXF1ZXN0IpIBChhDcmVhdGVPbmJvYXJkaW5nUmVzcG9uc2USMAoIcmVzcG9uc2UYASABKAsyHi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXNwb25zZRIXCgpmaW5pc2hlZEF0GAIgASgJSACIAQESHAoUZmVkZXJhdGVkR3JhcGhzQ291bnQYAyABKAVCDQoLX2ZpbmlzaGVkQXQiGQoXRmluaXNoT25ib2FyZGluZ1JlcXVlc3QifgoYRmluaXNoT25ib2FyZGluZ1Jlc3BvbnNlEjAKCHJlc3BvbnNlGAEgASgLMh4ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVzcG9uc2USHAoUZmVkZXJhdGVkR3JhcGhzQ291bnQYAiABKAUSEgoKZmluaXNoZWRBdBgDIAEoCSpPChVCYXRjaFB1Ymxpc2hKb2JTdGF0dXMSCwoHUEVORElORxAAEg4KClBST0NFU1NJTkcQARIKCgZGQUlMRUQQAhINCglDT01QTEVURUQQAyojCgxMaW50U2V2ZXJpdHkSCAoEd2FybhAAEgkKBWVycm9yEAEqPwoMU3ViZ3JhcGhUeXBlEgwKCFNUQU5EQVJEEAASDwoLR1JQQ19QTFVHSU4QARIQCgxHUlBDX1NFUlZJQ0UQAipVChZBbmFseXRpY3NWaWV3R3JvdXBOYW1lEggKBE5vbmUQABIRCg1PcGVyYXRpb25OYW1lEAESCgoGQ2xpZW50EAISEgoOSHR0cFN0YXR1c0NvZGUQAyoxCg1DdXN0b21PcHRpb25zEggKBFRleHQQABIJCgVSYW5nZRABEgsKB0Jvb2xlYW4QAiqOAQoEVW5pdBIPCgtVbnNwZWNpZmllZBAAEg8KC05hbm9zZWNvbmRzEAESEQoNVW5peFRpbWVzdGFtcBACEgkKBUJ5dGVzEAMSDQoJQ29kZUJsb2NrEAQSDgoKU3RhdHVzQ29kZRAFEgsKB1RyYWNlSUQQBhIKCgZTcGFuSUQQBxIOCgpQZXJjZW50YWdlEAgq/QEKG0FuYWx5dGljc1ZpZXdGaWx0ZXJPcGVyYXRvchIKCgZFUVVBTFMQABIOCgpOT1RfRVFVQUxTEAESEAoMR1JFQVRFUl9USEFOEAISDQoJTEVTU19USEFOEAMSGQoVR1JFQVRFUl9USEFOX09SX0VRVUFMEAQSFgoSTEVTU19USEFOX09SX0VRVUFMEAUSDAoIQ09OVEFJTlMQBhIQCgxOT1RfQ09OVEFJTlMQBxIGCgJJThAIEgoKBk5PVF9JThAJEgsKB0JFVFdFRU4QChIPCgtOT1RfQkVUV0VFThALEgsKB0lTX05VTEwQDBIPCgtJU19OT1RfTlVMTBANKkUKCUV4cGlyZXNBdBIJCgVORVZFUhAAEg8KC1RISVJUWV9EQVlTEAESDgoKU0lYX01PTlRIUxACEgwKCE9ORV9ZRUFSEAMqrAEKD0xvZ2luTWV0aG9kVHlwZRIhCh1MT0dJTl9NRVRIT0RfVFlQRV9VTlNQRUNJRklFRBAAEhkKFUxPR0lOX01FVEhPRF9UWVBFX1NTTxABEh4KGkxPR0lOX01FVEhPRF9UWVBFX1BBU1NXT1JEEAISHQoZTE9HSU5fTUVUSE9EX1RZUEVfQVBJX0tFWRADEhwKGExPR0lOX01FVEhPRF9UWVBFX1NPQ0lBTBAEKoABChNTb2NpYWxMb2dpblByb3ZpZGVyEiUKIVNPQ0lBTF9MT0dJTl9QUk9WSURFUl9VTlNQRUNJRklFRBAAEiAKHFNPQ0lBTF9MT0dJTl9QUk9WSURFUl9HT09HTEUQARIgChxTT0NJQUxfTE9HSU5fUFJPVklERVJfR0lUSFVCEAIqRQoYUHVibGlzaGVkT3BlcmF0aW9uU3RhdHVzEg4KClVQX1RPX0RBVEUQABILCgdDUkVBVEVEEAESDAoIQ09ORkxJQ1QQAiocCg9JbnRlZ3JhdGlvblR5cGUSCQoFU0xBQ0sQAColCgdGZWF0dXJlEggKBHJiYWMQABIGCgJhaRABEggKBHNjaW0QAiosCg5Qcm9wb3NhbE9yaWdpbhIMCghJTlRFUk5BTBAAEgwKCEVYVEVSTkFMEAEqNwoYUHJvcG9zYWxOYW1pbmdDb252ZW50aW9uEgoKBk5PUk1BTBAAEg8KC0lOQ1JFTUVOVEFMEAEqPwoWT3BlcmF0aW9uc0ZldGNoQmFzZWRPbhIMCghSRVFVRVNUUxAAEgsKB0xBVEVOQ1kQARIKCgZFUlJPUlMQAioiCg1Tb3J0RGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQATLKyQEKD1BsYXRmb3JtU2VydmljZRKFAQoWQ3JlYXRlUGxheWdyb3VuZFNjcmlwdBIzLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZVBsYXlncm91bmRTY3JpcHRSZXF1ZXN0GjQud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlUGxheWdyb3VuZFNjcmlwdFJlc3BvbnNlIgAShQEKFkRlbGV0ZVBsYXlncm91bmRTY3JpcHQSMy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVQbGF5Z3JvdW5kU2NyaXB0UmVxdWVzdBo0LndnLmNvc21vLnBsYXRmb3JtLnYxLkRlbGV0ZVBsYXlncm91bmRTY3JpcHRSZXNwb25zZSIAEoUBChZVcGRhdGVQbGF5Z3JvdW5kU2NyaXB0EjMud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlUGxheWdyb3VuZFNjcmlwdFJlcXVlc3QaNC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGRhdGVQbGF5Z3JvdW5kU2NyaXB0UmVzcG9uc2UiABJ/ChRHZXRQbGF5Z3JvdW5kU2NyaXB0cxIxLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFBsYXlncm91bmRTY3JpcHRzUmVxdWVzdBoyLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFBsYXlncm91bmRTY3JpcHRzUmVzcG9uc2UiABJwCg9DcmVhdGVOYW1lc3BhY2USLC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVOYW1lc3BhY2VSZXF1ZXN0Gi0ud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlTmFtZXNwYWNlUmVzcG9uc2UiABJwCg9EZWxldGVOYW1lc3BhY2USLC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVOYW1lc3BhY2VSZXF1ZXN0Gi0ud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlTmFtZXNwYWNlUmVzcG9uc2UiABJwCg9SZW5hbWVOYW1lc3BhY2USLC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZW5hbWVOYW1lc3BhY2VSZXF1ZXN0Gi0ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVuYW1lTmFtZXNwYWNlUmVzcG9uc2UiABJqCg1HZXROYW1lc3BhY2VzEioud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0TmFtZXNwYWNlc1JlcXVlc3QaKy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXROYW1lc3BhY2VzUmVzcG9uc2UiABJnCgxHZXROYW1lc3BhY2USKS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXROYW1lc3BhY2VSZXF1ZXN0Gioud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0TmFtZXNwYWNlUmVzcG9uc2UiABJnCgxHZXRXb3Jrc3BhY2USKS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRXb3Jrc3BhY2VSZXF1ZXN0Gioud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0V29ya3NwYWNlUmVzcG9uc2UiABJtCg5DcmVhdGVDb250cmFjdBIrLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZUNvbnRyYWN0UmVxdWVzdBosLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZUNvbnRyYWN0UmVzcG9uc2UiABJtCg5VcGRhdGVDb250cmFjdBIrLndnLmNvc21vLnBsYXRmb3JtLnYxLlVwZGF0ZUNvbnRyYWN0UmVxdWVzdBosLndnLmNvc21vLnBsYXRmb3JtLnYxLlVwZGF0ZUNvbnRyYWN0UmVzcG9uc2UiABJnChJNb3ZlRmVkZXJhdGVkR3JhcGgSJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Nb3ZlR3JhcGhSZXF1ZXN0Gicud2cuY29zbW8ucGxhdGZvcm0udjEuTW92ZUdyYXBoUmVzcG9uc2UiABJhCgxNb3ZlU3ViZ3JhcGgSJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Nb3ZlR3JhcGhSZXF1ZXN0Gicud2cuY29zbW8ucGxhdGZvcm0udjEuTW92ZUdyYXBoUmVzcG9uc2UiABJiCg1Nb3ZlTW9ub2dyYXBoEiYud2cuY29zbW8ucGxhdGZvcm0udjEuTW92ZUdyYXBoUmVxdWVzdBonLndnLmNvc21vLnBsYXRmb3JtLnYxLk1vdmVHcmFwaFJlc3BvbnNlIgAScAoPQ3JlYXRlTW9ub2dyYXBoEiwud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlTW9ub2dyYXBoUmVxdWVzdBotLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZU1vbm9ncmFwaFJlc3BvbnNlIgAScwoQUHVibGlzaE1vbm9ncmFwaBItLndnLmNvc21vLnBsYXRmb3JtLnYxLlB1Ymxpc2hNb25vZ3JhcGhSZXF1ZXN0Gi4ud2cuY29zbW8ucGxhdGZvcm0udjEuUHVibGlzaE1vbm9ncmFwaFJlc3BvbnNlIgAScAoPRGVsZXRlTW9ub2dyYXBoEiwud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlTW9ub2dyYXBoUmVxdWVzdBotLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlbGV0ZU1vbm9ncmFwaFJlc3BvbnNlIgAScAoPVXBkYXRlTW9ub2dyYXBoEiwud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlTW9ub2dyYXBoUmVxdWVzdBotLndnLmNvc21vLnBsYXRmb3JtLnYxLlVwZGF0ZU1vbm9ncmFwaFJlc3BvbnNlIgAScwoQTWlncmF0ZU1vbm9ncmFwaBItLndnLmNvc21vLnBsYXRmb3JtLnYxLk1pZ3JhdGVNb25vZ3JhcGhSZXF1ZXN0Gi4ud2cuY29zbW8ucGxhdGZvcm0udjEuTWlncmF0ZU1vbm9ncmFwaFJlc3BvbnNlIgASiAEKF0NyZWF0ZUZlZGVyYXRlZFN1YmdyYXBoEjQud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlRmVkZXJhdGVkU3ViZ3JhcGhSZXF1ZXN0GjUud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlRmVkZXJhdGVkU3ViZ3JhcGhSZXNwb25zZSIAEosBChhDcmVhdGVGZWRlcmF0ZWRTdWJncmFwaHMSNS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVGZWRlcmF0ZWRTdWJncmFwaHNSZXF1ZXN0GjYud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlRmVkZXJhdGVkU3ViZ3JhcGhzUmVzcG9uc2UiABKLAQoYUHVibGlzaEZlZGVyYXRlZFN1YmdyYXBoEjUud2cuY29zbW8ucGxhdGZvcm0udjEuUHVibGlzaEZlZGVyYXRlZFN1YmdyYXBoUmVxdWVzdBo2LndnLmNvc21vLnBsYXRmb3JtLnYxLlB1Ymxpc2hGZWRlcmF0ZWRTdWJncmFwaFJlc3BvbnNlIgASjgEKGVB1Ymxpc2hGZWRlcmF0ZWRTdWJncmFwaHMSNi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5QdWJsaXNoRmVkZXJhdGVkU3ViZ3JhcGhzUmVxdWVzdBo3LndnLmNvc21vLnBsYXRmb3JtLnYxLlB1Ymxpc2hGZWRlcmF0ZWRTdWJncmFwaHNSZXNwb25zZSIAEosBChhHZXRCYXRjaFB1Ymxpc2hKb2JTdGF0dXMSNS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRCYXRjaFB1Ymxpc2hKb2JTdGF0dXNSZXF1ZXN0GjYud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0QmF0Y2hQdWJsaXNoSm9iU3RhdHVzUmVzcG9uc2UiABJ/ChRDcmVhdGVGZWRlcmF0ZWRHcmFwaBIxLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZUZlZGVyYXRlZEdyYXBoUmVxdWVzdBoyLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZUZlZGVyYXRlZEdyYXBoUmVzcG9uc2UiABJ/ChREZWxldGVGZWRlcmF0ZWRHcmFwaBIxLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlbGV0ZUZlZGVyYXRlZEdyYXBoUmVxdWVzdBoyLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlbGV0ZUZlZGVyYXRlZEdyYXBoUmVzcG9uc2UiABKIAQoXRGVsZXRlRmVkZXJhdGVkU3ViZ3JhcGgSNC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVGZWRlcmF0ZWRTdWJncmFwaFJlcXVlc3QaNS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVGZWRlcmF0ZWRTdWJncmFwaFJlc3BvbnNlIgASfAoTQ2hlY2tTdWJncmFwaFNjaGVtYRIwLndnLmNvc21vLnBsYXRmb3JtLnYxLkNoZWNrU3ViZ3JhcGhTY2hlbWFSZXF1ZXN0GjEud2cuY29zbW8ucGxhdGZvcm0udjEuQ2hlY2tTdWJncmFwaFNjaGVtYVJlc3BvbnNlIgASqQEKIkdldFByb3Bvc2VkU2NoZW1hT2ZDaGVja2VkU3ViZ3JhcGgSPy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRQcm9wb3NlZFNjaGVtYU9mQ2hlY2tlZFN1YmdyYXBoUmVxdWVzdBpALndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFByb3Bvc2VkU2NoZW1hT2ZDaGVja2VkU3ViZ3JhcGhSZXNwb25zZSIAEnYKEUZpeFN1YmdyYXBoU2NoZW1hEi4ud2cuY29zbW8ucGxhdGZvcm0udjEuRml4U3ViZ3JhcGhTY2hlbWFSZXF1ZXN0Gi8ud2cuY29zbW8ucGxhdGZvcm0udjEuRml4U3ViZ3JhcGhTY2hlbWFSZXNwb25zZSIAEn8KFFVwZGF0ZUZlZGVyYXRlZEdyYXBoEjEud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlRmVkZXJhdGVkR3JhcGhSZXF1ZXN0GjIud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlRmVkZXJhdGVkR3JhcGhSZXNwb25zZSIAEm0KDlVwZGF0ZVN1YmdyYXBoEisud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlU3ViZ3JhcGhSZXF1ZXN0Giwud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlU3ViZ3JhcGhSZXNwb25zZSIAEnwKE0NoZWNrRmVkZXJhdGVkR3JhcGgSMC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DaGVja0ZlZGVyYXRlZEdyYXBoUmVxdWVzdBoxLndnLmNvc21vLnBsYXRmb3JtLnYxLkNoZWNrRmVkZXJhdGVkR3JhcGhSZXNwb25zZSIAElUKBldob0FtSRIjLndnLmNvc21vLnBsYXRmb3JtLnYxLldob0FtSVJlcXVlc3QaJC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5XaG9BbUlSZXNwb25zZSIAEnwKE0dlbmVyYXRlUm91dGVyVG9rZW4SMC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZW5lcmF0ZVJvdXRlclRva2VuUmVxdWVzdBoxLndnLmNvc21vLnBsYXRmb3JtLnYxLkdlbmVyYXRlUm91dGVyVG9rZW5SZXNwb25zZSIAEnAKD0dldFJvdXRlclRva2VucxIsLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFJvdXRlclRva2Vuc1JlcXVlc3QaLS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRSb3V0ZXJUb2tlbnNSZXNwb25zZSIAEnYKEURlbGV0ZVJvdXRlclRva2VuEi4ud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlUm91dGVyVG9rZW5SZXF1ZXN0Gi8ud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlUm91dGVyVG9rZW5SZXNwb25zZSIAEpEBChpQdWJsaXNoUGVyc2lzdGVkT3BlcmF0aW9ucxI3LndnLmNvc21vLnBsYXRmb3JtLnYxLlB1Ymxpc2hQZXJzaXN0ZWRPcGVyYXRpb25zUmVxdWVzdBo4LndnLmNvc21vLnBsYXRmb3JtLnYxLlB1Ymxpc2hQZXJzaXN0ZWRPcGVyYXRpb25zUmVzcG9uc2UiABKdAQoeQ2hlY2tQZXJzaXN0ZWRPcGVyYXRpb25UcmFmZmljEjsud2cuY29zbW8ucGxhdGZvcm0udjEuQ2hlY2tQZXJzaXN0ZWRPcGVyYXRpb25UcmFmZmljUmVxdWVzdBo8LndnLmNvc21vLnBsYXRmb3JtLnYxLkNoZWNrUGVyc2lzdGVkT3BlcmF0aW9uVHJhZmZpY1Jlc3BvbnNlIgASiwEKGERlbGV0ZVBlcnNpc3RlZE9wZXJhdGlvbhI1LndnLmNvc21vLnBsYXRmb3JtLnYxLkRlbGV0ZVBlcnNpc3RlZE9wZXJhdGlvblJlcXVlc3QaNi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVQZXJzaXN0ZWRPcGVyYXRpb25SZXNwb25zZSIAEoUBChZHZXRQZXJzaXN0ZWRPcGVyYXRpb25zEjMud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0UGVyc2lzdGVkT3BlcmF0aW9uc1JlcXVlc3QaNC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRQZXJzaXN0ZWRPcGVyYXRpb25zUmVzcG9uc2UiABJnCgxHZXRBdWRpdExvZ3MSKS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRBdWRpdExvZ3NSZXF1ZXN0Gioud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0QXVkaXRMb2dzUmVzcG9uc2UiABJ8ChNJbml0aWFsaXplQ29zbW9Vc2VyEjAud2cuY29zbW8ucGxhdGZvcm0udjEuSW5pdGlhbGl6ZUNvc21vVXNlclJlcXVlc3QaMS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Jbml0aWFsaXplQ29zbW9Vc2VyUmVzcG9uc2UiABJ2ChFMaXN0T3JnYW5pemF0aW9ucxIuLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpc3RPcmdhbml6YXRpb25zUmVxdWVzdBovLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpc3RPcmdhbml6YXRpb25zUmVzcG9uc2UiABJ5ChJHZXRGZWRlcmF0ZWRHcmFwaHMSLy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGZWRlcmF0ZWRHcmFwaHNSZXF1ZXN0GjAud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0RmVkZXJhdGVkR3JhcGhzUmVzcG9uc2UiABKpAQoiR2V0RmVkZXJhdGVkR3JhcGhzQnlTdWJncmFwaExhYmVscxI/LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEZlZGVyYXRlZEdyYXBoc0J5U3ViZ3JhcGhMYWJlbHNSZXF1ZXN0GkAud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0RmVkZXJhdGVkR3JhcGhzQnlTdWJncmFwaExhYmVsc1Jlc3BvbnNlIgASiAEKF0dldEZlZGVyYXRlZEdyYXBoQnlOYW1lEjQud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0RmVkZXJhdGVkR3JhcGhCeU5hbWVSZXF1ZXN0GjUud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0RmVkZXJhdGVkR3JhcGhCeU5hbWVSZXNwb25zZSIAEpEBChpHZXRGZWRlcmF0ZWRHcmFwaFNETEJ5TmFtZRI3LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEZlZGVyYXRlZEdyYXBoU0RMQnlOYW1lUmVxdWVzdBo4LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEZlZGVyYXRlZEdyYXBoU0RMQnlOYW1lUmVzcG9uc2UiABJnCgxHZXRTdWJncmFwaHMSKS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRTdWJncmFwaHNSZXF1ZXN0Gioud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0U3ViZ3JhcGhzUmVzcG9uc2UiABJ2ChFHZXRTdWJncmFwaEJ5TmFtZRIuLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFN1YmdyYXBoQnlOYW1lUmVxdWVzdBovLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFN1YmdyYXBoQnlOYW1lUmVzcG9uc2UiABKsAQojR2V0U3ViZ3JhcGhTRExGcm9tTGF0ZXN0Q29tcG9zaXRpb24SQC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRTdWJncmFwaFNETEZyb21MYXRlc3RDb21wb3NpdGlvblJlcXVlc3QaQS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRTdWJncmFwaFNETEZyb21MYXRlc3RDb21wb3NpdGlvblJlc3BvbnNlIgASfwoUR2V0TGF0ZXN0U3ViZ3JhcGhTREwSMS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRMYXRlc3RTdWJncmFwaFNETFJlcXVlc3QaMi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRMYXRlc3RTdWJncmFwaFNETFJlc3BvbnNlIgASmgEKHUdldENoZWNrc0J5RmVkZXJhdGVkR3JhcGhOYW1lEjoud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0Q2hlY2tzQnlGZWRlcmF0ZWRHcmFwaE5hbWVSZXF1ZXN0Gjsud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0Q2hlY2tzQnlGZWRlcmF0ZWRHcmFwaE5hbWVSZXNwb25zZSIAEnAKD0dldENoZWNrU3VtbWFyeRIsLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldENoZWNrU3VtbWFyeVJlcXVlc3QaLS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRDaGVja1N1bW1hcnlSZXNwb25zZSIAEnkKEkdldENoZWNrT3BlcmF0aW9ucxIvLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldENoZWNrT3BlcmF0aW9uc1JlcXVlc3QaMC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRDaGVja09wZXJhdGlvbnNSZXNwb25zZSIAEnYKEUZvcmNlQ2hlY2tTdWNjZXNzEi4ud2cuY29zbW8ucGxhdGZvcm0udjEuRm9yY2VDaGVja1N1Y2Nlc3NSZXF1ZXN0Gi8ud2cuY29zbW8ucGxhdGZvcm0udjEuRm9yY2VDaGVja1N1Y2Nlc3NSZXNwb25zZSIAEosBChhDcmVhdGVPcGVyYXRpb25PdmVycmlkZXMSNS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVPcGVyYXRpb25PdmVycmlkZXNSZXF1ZXN0GjYud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlT3BlcmF0aW9uT3ZlcnJpZGVzUmVzcG9uc2UiABKLAQoYUmVtb3ZlT3BlcmF0aW9uT3ZlcnJpZGVzEjUud2cuY29zbW8ucGxhdGZvcm0udjEuUmVtb3ZlT3BlcmF0aW9uT3ZlcnJpZGVzUmVxdWVzdBo2LndnLmNvc21vLnBsYXRmb3JtLnYxLlJlbW92ZU9wZXJhdGlvbk92ZXJyaWRlc1Jlc3BvbnNlIgASowEKIENyZWF0ZU9wZXJhdGlvbklnbm9yZUFsbE92ZXJyaWRlEj0ud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlT3BlcmF0aW9uSWdub3JlQWxsT3ZlcnJpZGVSZXF1ZXN0Gj4ud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlT3BlcmF0aW9uSWdub3JlQWxsT3ZlcnJpZGVSZXNwb25zZSIAEqMBCiBSZW1vdmVPcGVyYXRpb25JZ25vcmVBbGxPdmVycmlkZRI9LndnLmNvc21vLnBsYXRmb3JtLnYxLlJlbW92ZU9wZXJhdGlvbklnbm9yZUFsbE92ZXJyaWRlUmVxdWVzdBo+LndnLmNvc21vLnBsYXRmb3JtLnYxLlJlbW92ZU9wZXJhdGlvbklnbm9yZUFsbE92ZXJyaWRlUmVzcG9uc2UiABKCAQoVR2V0T3BlcmF0aW9uT3ZlcnJpZGVzEjIud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3BlcmF0aW9uT3ZlcnJpZGVzUmVxdWVzdBozLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE9wZXJhdGlvbk92ZXJyaWRlc1Jlc3BvbnNlIgAScAoPR2V0QWxsT3ZlcnJpZGVzEiwud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0QWxsT3ZlcnJpZGVzUmVxdWVzdBotLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEFsbE92ZXJyaWRlc1Jlc3BvbnNlIgASsgEKJVRvZ2dsZUNoYW5nZU92ZXJyaWRlc0ZvckFsbE9wZXJhdGlvbnMSQi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Ub2dnbGVDaGFuZ2VPdmVycmlkZXNGb3JBbGxPcGVyYXRpb25zUmVxdWVzdBpDLndnLmNvc21vLnBsYXRmb3JtLnYxLlRvZ2dsZUNoYW5nZU92ZXJyaWRlc0ZvckFsbE9wZXJhdGlvbnNSZXNwb25zZSIAErIBCiVDcmVhdGVJZ25vcmVPdmVycmlkZXNGb3JBbGxPcGVyYXRpb25zEkIud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlSWdub3JlT3ZlcnJpZGVzRm9yQWxsT3BlcmF0aW9uc1JlcXVlc3QaQy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVJZ25vcmVPdmVycmlkZXNGb3JBbGxPcGVyYXRpb25zUmVzcG9uc2UiABJ8ChNHZXRPcGVyYXRpb25Db250ZW50EjAud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3BlcmF0aW9uQ29udGVudFJlcXVlc3QaMS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcGVyYXRpb25Db250ZW50UmVzcG9uc2UiABKRAQoaR2V0RmVkZXJhdGVkR3JhcGhDaGFuZ2Vsb2cSNy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGZWRlcmF0ZWRHcmFwaENoYW5nZWxvZ1JlcXVlc3QaOC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGZWRlcmF0ZWRHcmFwaENoYW5nZWxvZ1Jlc3BvbnNlIgASjgEKGUNyZWF0ZUZlZGVyYXRlZEdyYXBoVG9rZW4SNi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVGZWRlcmF0ZWRHcmFwaFRva2VuUmVxdWVzdBo3LndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZUZlZGVyYXRlZEdyYXBoVG9rZW5SZXNwb25zZSIAEoIBChVHZXRPcmdhbml6YXRpb25CeVNsdWcSMi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcmdhbml6YXRpb25CeVNsdWdSZXF1ZXN0GjMud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3JnYW5pemF0aW9uQnlTbHVnUmVzcG9uc2UiABKFAQoWR2V0T3JnYW5pemF0aW9uTWVtYmVycxIzLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE9yZ2FuaXphdGlvbk1lbWJlcnNSZXF1ZXN0GjQud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3JnYW5pemF0aW9uTWVtYmVyc1Jlc3BvbnNlIgASmgEKHUdldFBlbmRpbmdPcmdhbml6YXRpb25NZW1iZXJzEjoud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0UGVuZGluZ09yZ2FuaXphdGlvbk1lbWJlcnNSZXF1ZXN0Gjsud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0UGVuZGluZ09yZ2FuaXphdGlvbk1lbWJlcnNSZXNwb25zZSIAEn8KFElzTWVtYmVyTGltaXRSZWFjaGVkEjEud2cuY29zbW8ucGxhdGZvcm0udjEuSXNNZW1iZXJMaW1pdFJlYWNoZWRSZXF1ZXN0GjIud2cuY29zbW8ucGxhdGZvcm0udjEuSXNNZW1iZXJMaW1pdFJlYWNoZWRSZXNwb25zZSIAEmEKCkludml0ZVVzZXISJy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5JbnZpdGVVc2VyUmVxdWVzdBooLndnLmNvc21vLnBsYXRmb3JtLnYxLkludml0ZVVzZXJSZXNwb25zZSIAEmQKC0ludml0ZVVzZXJzEigud2cuY29zbW8ucGxhdGZvcm0udjEuSW52aXRlVXNlcnNSZXF1ZXN0Gikud2cuY29zbW8ucGxhdGZvcm0udjEuSW52aXRlVXNlcnNSZXNwb25zZSIAEmEKCkdldEFQSUtleXMSJy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRBUElLZXlzUmVxdWVzdBooLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEFQSUtleXNSZXNwb25zZSIAEmcKDENyZWF0ZUFQSUtleRIpLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZUFQSUtleVJlcXVlc3QaKi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVBUElLZXlSZXNwb25zZSIAEmcKDFVwZGF0ZUFQSUtleRIpLndnLmNvc21vLnBsYXRmb3JtLnYxLlVwZGF0ZUFQSUtleVJlcXVlc3QaKi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGRhdGVBUElLZXlSZXNwb25zZSIAEmcKDERlbGV0ZUFQSUtleRIpLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlbGV0ZUFQSUtleVJlcXVlc3QaKi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVBUElLZXlSZXNwb25zZSIAEosBChhSZW1vdmVPcmdhbml6YXRpb25NZW1iZXISNS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZW1vdmVPcmdhbml6YXRpb25NZW1iZXJSZXF1ZXN0GjYud2cuY29zbW8ucGxhdGZvcm0udjEuUmVtb3ZlT3JnYW5pemF0aW9uTWVtYmVyUmVzcG9uc2UiABJzChBSZW1vdmVJbnZpdGF0aW9uEi0ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVtb3ZlSW52aXRhdGlvblJlcXVlc3QaLi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZW1vdmVJbnZpdGF0aW9uUmVzcG9uc2UiABJ2ChFNaWdyYXRlRnJvbUFwb2xsbxIuLndnLmNvc21vLnBsYXRmb3JtLnYxLk1pZ3JhdGVGcm9tQXBvbGxvUmVxdWVzdBovLndnLmNvc21vLnBsYXRmb3JtLnYxLk1pZ3JhdGVGcm9tQXBvbGxvUmVzcG9uc2UiABKIAQoXQ3JlYXRlT3JnYW5pemF0aW9uR3JvdXASNC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVPcmdhbml6YXRpb25Hcm91cFJlcXVlc3QaNS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVPcmdhbml6YXRpb25Hcm91cFJlc3BvbnNlIgASggEKFUdldE9yZ2FuaXphdGlvbkdyb3VwcxIyLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE9yZ2FuaXphdGlvbkdyb3Vwc1JlcXVlc3QaMy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcmdhbml6YXRpb25Hcm91cHNSZXNwb25zZSIAEpQBChtHZXRPcmdhbml6YXRpb25Hcm91cE1lbWJlcnMSOC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcmdhbml6YXRpb25Hcm91cE1lbWJlcnNSZXF1ZXN0Gjkud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3JnYW5pemF0aW9uR3JvdXBNZW1iZXJzUmVzcG9uc2UiABKIAQoXVXBkYXRlT3JnYW5pemF0aW9uR3JvdXASNC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGRhdGVPcmdhbml6YXRpb25Hcm91cFJlcXVlc3QaNS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGRhdGVPcmdhbml6YXRpb25Hcm91cFJlc3BvbnNlIgASiAEKF0RlbGV0ZU9yZ2FuaXphdGlvbkdyb3VwEjQud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlT3JnYW5pemF0aW9uR3JvdXBSZXF1ZXN0GjUud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlT3JnYW5pemF0aW9uR3JvdXBSZXNwb25zZSIAEqABCh9DcmVhdGVPcmdhbml6YXRpb25XZWJob29rQ29uZmlnEjwud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlT3JnYW5pemF0aW9uV2ViaG9va0NvbmZpZ1JlcXVlc3QaPS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVPcmdhbml6YXRpb25XZWJob29rQ29uZmlnUmVzcG9uc2UiABKaAQodR2V0T3JnYW5pemF0aW9uV2ViaG9va0NvbmZpZ3MSOi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcmdhbml6YXRpb25XZWJob29rQ29uZmlnc1JlcXVlc3QaOy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcmdhbml6YXRpb25XZWJob29rQ29uZmlnc1Jlc3BvbnNlIgASkQEKGkdldE9yZ2FuaXphdGlvbldlYmhvb2tNZXRhEjcud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3JnYW5pemF0aW9uV2ViaG9va01ldGFSZXF1ZXN0Gjgud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3JnYW5pemF0aW9uV2ViaG9va01ldGFSZXNwb25zZSIAEqABCh9VcGRhdGVPcmdhbml6YXRpb25XZWJob29rQ29uZmlnEjwud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlT3JnYW5pemF0aW9uV2ViaG9va0NvbmZpZ1JlcXVlc3QaPS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGRhdGVPcmdhbml6YXRpb25XZWJob29rQ29uZmlnUmVzcG9uc2UiABKgAQofRGVsZXRlT3JnYW5pemF0aW9uV2ViaG9va0NvbmZpZxI8LndnLmNvc21vLnBsYXRmb3JtLnYxLkRlbGV0ZU9yZ2FuaXphdGlvbldlYmhvb2tDb25maWdSZXF1ZXN0Gj0ud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlT3JnYW5pemF0aW9uV2ViaG9va0NvbmZpZ1Jlc3BvbnNlIgASmgEKHUdldE9yZ2FuaXphdGlvbldlYmhvb2tIaXN0b3J5Ejoud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3JnYW5pemF0aW9uV2ViaG9va0hpc3RvcnlSZXF1ZXN0Gjsud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3JnYW5pemF0aW9uV2ViaG9va0hpc3RvcnlSZXNwb25zZSIAEo4BChlHZXRXZWJob29rRGVsaXZlcnlEZXRhaWxzEjYud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0V2ViaG9va0RlbGl2ZXJ5RGV0YWlsc1JlcXVlc3QaNy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRXZWJob29rRGVsaXZlcnlEZXRhaWxzUmVzcG9uc2UiABJzChBSZWRlbGl2ZXJXZWJob29rEi0ud2cuY29zbW8ucGxhdGZvcm0udjEuUmVkZWxpdmVyV2ViaG9va1JlcXVlc3QaLi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZWRlbGl2ZXJXZWJob29rUmVzcG9uc2UiABJ2ChFDcmVhdGVJbnRlZ3JhdGlvbhIuLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZUludGVncmF0aW9uUmVxdWVzdBovLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZUludGVncmF0aW9uUmVzcG9uc2UiABKUAQobR2V0T3JnYW5pemF0aW9uSW50ZWdyYXRpb25zEjgud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3JnYW5pemF0aW9uSW50ZWdyYXRpb25zUmVxdWVzdBo5LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE9yZ2FuaXphdGlvbkludGVncmF0aW9uc1Jlc3BvbnNlIgASiAEKF1VwZGF0ZUludGVncmF0aW9uQ29uZmlnEjQud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlSW50ZWdyYXRpb25Db25maWdSZXF1ZXN0GjUud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlSW50ZWdyYXRpb25Db25maWdSZXNwb25zZSIAEnYKEURlbGV0ZUludGVncmF0aW9uEi4ud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlSW50ZWdyYXRpb25SZXF1ZXN0Gi8ud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlSW50ZWdyYXRpb25SZXNwb25zZSIAEmEKCkRlbGV0ZVVzZXISJy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVVc2VyUmVxdWVzdBooLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlbGV0ZVVzZXJSZXNwb25zZSIAEnkKEkRlbGV0ZU9yZ2FuaXphdGlvbhIvLndnLmNvc21vLnBsYXRmb3JtLnYxLkRlbGV0ZU9yZ2FuaXphdGlvblJlcXVlc3QaMC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVPcmdhbml6YXRpb25SZXNwb25zZSIAEnwKE1Jlc3RvcmVPcmdhbml6YXRpb24SMC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5SZXN0b3JlT3JnYW5pemF0aW9uUmVxdWVzdBoxLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlc3RvcmVPcmdhbml6YXRpb25SZXNwb25zZSIAEnYKEUxlYXZlT3JnYW5pemF0aW9uEi4ud2cuY29zbW8ucGxhdGZvcm0udjEuTGVhdmVPcmdhbml6YXRpb25SZXF1ZXN0Gi8ud2cuY29zbW8ucGxhdGZvcm0udjEuTGVhdmVPcmdhbml6YXRpb25SZXNwb25zZSIAEo4BChlVcGRhdGVPcmdhbml6YXRpb25EZXRhaWxzEjYud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlT3JnYW5pemF0aW9uRGV0YWlsc1JlcXVlc3QaNy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGRhdGVPcmdhbml6YXRpb25EZXRhaWxzUmVzcG9uc2UiABJ/ChRVcGRhdGVPcmdNZW1iZXJHcm91cBIxLndnLmNvc21vLnBsYXRmb3JtLnYxLlVwZGF0ZU9yZ01lbWJlckdyb3VwUmVxdWVzdBoyLndnLmNvc21vLnBsYXRmb3JtLnYxLlVwZGF0ZU9yZ01lbWJlckdyb3VwUmVzcG9uc2UiABJ/ChRJc0dpdEh1YkFwcEluc3RhbGxlZBIxLndnLmNvc21vLnBsYXRmb3JtLnYxLklzR2l0SHViQXBwSW5zdGFsbGVkUmVxdWVzdBoyLndnLmNvc21vLnBsYXRmb3JtLnYxLklzR2l0SHViQXBwSW5zdGFsbGVkUmVzcG9uc2UiABJ5ChJDcmVhdGVPSURDUHJvdmlkZXISLy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVPSURDUHJvdmlkZXJSZXF1ZXN0GjAud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlT0lEQ1Byb3ZpZGVyUmVzcG9uc2UiABJwCg9HZXRPSURDUHJvdmlkZXISLC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPSURDUHJvdmlkZXJSZXF1ZXN0Gi0ud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T0lEQ1Byb3ZpZGVyUmVzcG9uc2UiABJ2ChFMaXN0T0lEQ1Byb3ZpZGVycxIuLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpc3RPSURDUHJvdmlkZXJzUmVxdWVzdBovLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpc3RPSURDUHJvdmlkZXJzUmVzcG9uc2UiABJ5ChJEZWxldGVPSURDUHJvdmlkZXISLy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVPSURDUHJvdmlkZXJSZXF1ZXN0GjAud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlT0lEQ1Byb3ZpZGVyUmVzcG9uc2UiABJzChBVcGRhdGVJRFBNYXBwZXJzEi0ud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlSURQTWFwcGVyc1JlcXVlc3QaLi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGRhdGVJRFBNYXBwZXJzUmVzcG9uc2UiABJhCgpHZXRDbGllbnRzEicud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0Q2xpZW50c1JlcXVlc3QaKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRDbGllbnRzUmVzcG9uc2UiABJ8ChNQcmV2aWV3RGVsZXRlQ2xpZW50EjAud2cuY29zbW8ucGxhdGZvcm0udjEuUHJldmlld0RlbGV0ZUNsaWVudFJlcXVlc3QaMS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5QcmV2aWV3RGVsZXRlQ2xpZW50UmVzcG9uc2UiABJnCgxEZWxldGVDbGllbnQSKS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVDbGllbnRSZXF1ZXN0Gioud2cuY29zbW8ucGxhdGZvcm0udjEuRGVsZXRlQ2xpZW50UmVzcG9uc2UiABJhCgpHZXRSb3V0ZXJzEicud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0Um91dGVyc1JlcXVlc3QaKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRSb3V0ZXJzUmVzcG9uc2UiABJtCg5HZXRJbnZpdGF0aW9ucxIrLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEludml0YXRpb25zUmVxdWVzdBosLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEludml0YXRpb25zUmVzcG9uc2UiABKOAQoZQWNjZXB0T3JEZWNsaW5lSW52aXRhdGlvbhI2LndnLmNvc21vLnBsYXRmb3JtLnYxLkFjY2VwdE9yRGVjbGluZUludml0YXRpb25SZXF1ZXN0Gjcud2cuY29zbW8ucGxhdGZvcm0udjEuQWNjZXB0T3JEZWNsaW5lSW52aXRhdGlvblJlc3BvbnNlIgAScAoPR2V0Q29tcG9zaXRpb25zEiwud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0Q29tcG9zaXRpb25zUmVxdWVzdBotLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldENvbXBvc2l0aW9uc1Jlc3BvbnNlIgASggEKFUdldENvbXBvc2l0aW9uRGV0YWlscxIyLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldENvbXBvc2l0aW9uRGV0YWlsc1JlcXVlc3QaMy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRDb21wb3NpdGlvbkRldGFpbHNSZXNwb25zZSIAEoIBChVHZXRTZGxCeVNjaGVtYVZlcnNpb24SMi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRTZGxCeVNjaGVtYVZlcnNpb25SZXF1ZXN0GjMud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0U2RsQnlTY2hlbWFWZXJzaW9uUmVzcG9uc2UiABKUAQobR2V0Q2hhbmdlbG9nQnlTY2hlbWFWZXJzaW9uEjgud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0Q2hhbmdlbG9nQnlTY2hlbWFWZXJzaW9uUmVxdWVzdBo5LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldENoYW5nZWxvZ0J5U2NoZW1hVmVyc2lvblJlc3BvbnNlIgASkQEKGkdldFVzZXJBY2Nlc3NpYmxlUmVzb3VyY2VzEjcud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0VXNlckFjY2Vzc2libGVSZXNvdXJjZXNSZXF1ZXN0Gjgud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0VXNlckFjY2Vzc2libGVSZXNvdXJjZXNSZXNwb25zZSIAEoIBChVVcGRhdGVGZWF0dXJlU2V0dGluZ3MSMi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGRhdGVGZWF0dXJlU2V0dGluZ3NSZXF1ZXN0GjMud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlRmVhdHVyZVNldHRpbmdzUmVzcG9uc2UiABJ5ChJHZXRTdWJncmFwaE1lbWJlcnMSLy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRTdWJncmFwaE1lbWJlcnNSZXF1ZXN0GjAud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0U3ViZ3JhcGhNZW1iZXJzUmVzcG9uc2UiABJeCglBZGRSZWFkbWUSJi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5BZGRSZWFkbWVSZXF1ZXN0Gicud2cuY29zbW8ucGxhdGZvcm0udjEuQWRkUmVhZG1lUmVzcG9uc2UiABKXAQocR2V0VXNlckFjY2Vzc2libGVQZXJtaXNzaW9ucxI5LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFVzZXJBY2Nlc3NpYmxlUGVybWlzc2lvbnNSZXF1ZXN0Gjoud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0VXNlckFjY2Vzc2libGVQZXJtaXNzaW9uc1Jlc3BvbnNlIgASdgoRQ3JlYXRlRmVhdHVyZUZsYWcSLi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVGZWF0dXJlRmxhZ1JlcXVlc3QaLy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVGZWF0dXJlRmxhZ1Jlc3BvbnNlIgASdgoRRGVsZXRlRmVhdHVyZUZsYWcSLi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVGZWF0dXJlRmxhZ1JlcXVlc3QaLy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5EZWxldGVGZWF0dXJlRmxhZ1Jlc3BvbnNlIgASdgoRVXBkYXRlRmVhdHVyZUZsYWcSLi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGRhdGVGZWF0dXJlRmxhZ1JlcXVlc3QaLy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGRhdGVGZWF0dXJlRmxhZ1Jlc3BvbnNlIgASdgoRRW5hYmxlRmVhdHVyZUZsYWcSLi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5FbmFibGVGZWF0dXJlRmxhZ1JlcXVlc3QaLy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5FbmFibGVGZWF0dXJlRmxhZ1Jlc3BvbnNlIgASdgoQR2V0QW5hbHl0aWNzVmlldxItLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEFuYWx5dGljc1ZpZXdSZXF1ZXN0Gi4ud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0QW5hbHl0aWNzVmlld1Jlc3BvbnNlIgOQAgESkQEKGUdldERhc2hib2FyZEFuYWx5dGljc1ZpZXcSNi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXREYXNoYm9hcmRBbmFseXRpY3NWaWV3UmVxdWVzdBo3LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldERhc2hib2FyZEFuYWx5dGljc1ZpZXdSZXNwb25zZSIDkAIBElsKCEdldFRyYWNlEiUud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0VHJhY2VSZXF1ZXN0GiYud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0VHJhY2VSZXNwb25zZSIAEnMKD0dldEdyYXBoTWV0cmljcxIsLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEdyYXBoTWV0cmljc1JlcXVlc3QaLS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRHcmFwaE1ldHJpY3NSZXNwb25zZSIDkAIBEn8KE0dldE1ldHJpY3NFcnJvclJhdGUSMC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRNZXRyaWNzRXJyb3JSYXRlUmVxdWVzdBoxLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE1ldHJpY3NFcnJvclJhdGVSZXNwb25zZSIDkAIBEnwKEkdldFN1YmdyYXBoTWV0cmljcxIvLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFN1YmdyYXBoTWV0cmljc1JlcXVlc3QaMC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRTdWJncmFwaE1ldHJpY3NSZXNwb25zZSIDkAIBEpcBChtHZXRTdWJncmFwaE1ldHJpY3NFcnJvclJhdGUSOC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRTdWJncmFwaE1ldHJpY3NFcnJvclJhdGVSZXF1ZXN0Gjkud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0U3ViZ3JhcGhNZXRyaWNzRXJyb3JSYXRlUmVzcG9uc2UiA5ACARJtCg1HZXRGaWVsZFVzYWdlEioud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0RmllbGRVc2FnZVJlcXVlc3QaKy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGaWVsZFVzYWdlUmVzcG9uc2UiA5ACARKXAQocR2V0T3JnYW5pemF0aW9uUmVxdWVzdHNDb3VudBI5LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE9yZ2FuaXphdGlvblJlcXVlc3RzQ291bnRSZXF1ZXN0Gjoud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3JnYW5pemF0aW9uUmVxdWVzdHNDb3VudFJlc3BvbnNlIgASeQoSQ3JlYXRlT3JnYW5pemF0aW9uEi8ud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlT3JnYW5pemF0aW9uUmVxdWVzdBowLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZU9yZ2FuaXphdGlvblJlc3BvbnNlIgASlwEKHEVuYWJsZUxpbnRpbmdGb3JUaGVOYW1lc3BhY2USOS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5FbmFibGVMaW50aW5nRm9yVGhlTmFtZXNwYWNlUmVxdWVzdBo6LndnLmNvc21vLnBsYXRmb3JtLnYxLkVuYWJsZUxpbnRpbmdGb3JUaGVOYW1lc3BhY2VSZXNwb25zZSIAEpcBChxDb25maWd1cmVOYW1lc3BhY2VMaW50Q29uZmlnEjkud2cuY29zbW8ucGxhdGZvcm0udjEuQ29uZmlndXJlTmFtZXNwYWNlTGludENvbmZpZ1JlcXVlc3QaOi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db25maWd1cmVOYW1lc3BhY2VMaW50Q29uZmlnUmVzcG9uc2UiABKFAQoWR2V0TmFtZXNwYWNlTGludENvbmZpZxIzLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE5hbWVzcGFjZUxpbnRDb25maWdSZXF1ZXN0GjQud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0TmFtZXNwYWNlTGludENvbmZpZ1Jlc3BvbnNlIgASmQEKGEdldE5hbWVzcGFjZUNoZWNrc0NvbmZpZxI8LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE5hbWVzcGFjZUNoZWNrc0NvbmZpZ3VyYXRpb25SZXF1ZXN0Gj0ud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0TmFtZXNwYWNlQ2hlY2tzQ29uZmlndXJhdGlvblJlc3BvbnNlIgASogEKG1VwZGF0ZU5hbWVzcGFjZUNoZWNrc0NvbmZpZxI/LndnLmNvc21vLnBsYXRmb3JtLnYxLlVwZGF0ZU5hbWVzcGFjZUNoZWNrc0NvbmZpZ3VyYXRpb25SZXF1ZXN0GkAud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlTmFtZXNwYWNlQ2hlY2tzQ29uZmlndXJhdGlvblJlc3BvbnNlIgASeQoSRW5hYmxlR3JhcGhQcnVuaW5nEi8ud2cuY29zbW8ucGxhdGZvcm0udjEuRW5hYmxlR3JhcGhQcnVuaW5nUmVxdWVzdBowLndnLmNvc21vLnBsYXRmb3JtLnYxLkVuYWJsZUdyYXBoUHJ1bmluZ1Jlc3BvbnNlIgASrwEKJENvbmZpZ3VyZU5hbWVzcGFjZUdyYXBoUHJ1bmluZ0NvbmZpZxJBLndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbmZpZ3VyZU5hbWVzcGFjZUdyYXBoUHJ1bmluZ0NvbmZpZ1JlcXVlc3QaQi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db25maWd1cmVOYW1lc3BhY2VHcmFwaFBydW5pbmdDb25maWdSZXNwb25zZSIAEp0BCh5HZXROYW1lc3BhY2VHcmFwaFBydW5pbmdDb25maWcSOy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXROYW1lc3BhY2VHcmFwaFBydW5pbmdDb25maWdSZXF1ZXN0Gjwud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0TmFtZXNwYWNlR3JhcGhQcnVuaW5nQ29uZmlnUmVzcG9uc2UiABJwCg9HZXRGZWF0dXJlRmxhZ3MSLC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGZWF0dXJlRmxhZ3NSZXF1ZXN0Gi0ud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0RmVhdHVyZUZsYWdzUmVzcG9uc2UiABJ/ChRHZXRGZWF0dXJlRmxhZ0J5TmFtZRIxLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEZlYXR1cmVGbGFnQnlOYW1lUmVxdWVzdBoyLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEZlYXR1cmVGbGFnQnlOYW1lUmVzcG9uc2UiABKjAQogR2V0RmVhdHVyZVN1YmdyYXBoc0J5RmVhdHVyZUZsYWcSPS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGZWF0dXJlU3ViZ3JhcGhzQnlGZWF0dXJlRmxhZ1JlcXVlc3QaPi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGZWF0dXJlU3ViZ3JhcGhzQnlGZWF0dXJlRmxhZ1Jlc3BvbnNlIgASfAoTR2V0RmVhdHVyZVN1YmdyYXBocxIwLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEZlYXR1cmVTdWJncmFwaHNSZXF1ZXN0GjEud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0RmVhdHVyZVN1YmdyYXBoc1Jlc3BvbnNlIgASoAEKH0dldEZlYXR1cmVGbGFnc0J5RmVkZXJhdGVkR3JhcGgSPC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGZWF0dXJlRmxhZ3NCeUZlZGVyYXRlZEdyYXBoUmVxdWVzdBo9LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEZlYXR1cmVGbGFnc0J5RmVkZXJhdGVkR3JhcGhSZXNwb25zZSIAEtkBCjJHZXRGZWF0dXJlRmxhZ3NJbkxhdGVzdENvbXBvc2l0aW9uQnlGZWRlcmF0ZWRHcmFwaBJPLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEZlYXR1cmVGbGFnc0luTGF0ZXN0Q29tcG9zaXRpb25CeUZlZGVyYXRlZEdyYXBoUmVxdWVzdBpQLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEZlYXR1cmVGbGFnc0luTGF0ZXN0Q29tcG9zaXRpb25CeUZlZGVyYXRlZEdyYXBoUmVzcG9uc2UiABKsAQojR2V0RmVhdHVyZVN1YmdyYXBoc0J5RmVkZXJhdGVkR3JhcGgSQC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGZWF0dXJlU3ViZ3JhcGhzQnlGZWRlcmF0ZWRHcmFwaFJlcXVlc3QaQS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGZWF0dXJlU3ViZ3JhcGhzQnlGZWRlcmF0ZWRHcmFwaFJlc3BvbnNlIgASggEKFUdldEZlZGVyYXRlZEdyYXBoQnlJZBIyLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEZlZGVyYXRlZEdyYXBoQnlJZFJlcXVlc3QaMy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRGZWRlcmF0ZWRHcmFwaEJ5SWRSZXNwb25zZSIAEnAKD0dldFN1YmdyYXBoQnlJZBIsLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFN1YmdyYXBoQnlJZFJlcXVlc3QaLS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRTdWJncmFwaEJ5SWRSZXNwb25zZSIAEosBChhQdXNoQ2FjaGVXYXJtZXJPcGVyYXRpb24SNS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5QdXNoQ2FjaGVXYXJtZXJPcGVyYXRpb25SZXF1ZXN0GjYud2cuY29zbW8ucGxhdGZvcm0udjEuUHVzaENhY2hlV2FybWVyT3BlcmF0aW9uUmVzcG9uc2UiABKLAQoYR2V0Q2FjaGVXYXJtZXJPcGVyYXRpb25zEjUud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0Q2FjaGVXYXJtZXJPcGVyYXRpb25zUmVxdWVzdBo2LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldENhY2hlV2FybWVyT3BlcmF0aW9uc1Jlc3BvbnNlIgASlwEKHENvbXB1dGVDYWNoZVdhcm1lck9wZXJhdGlvbnMSOS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5Db21wdXRlQ2FjaGVXYXJtZXJPcGVyYXRpb25zUmVxdWVzdBo6LndnLmNvc21vLnBsYXRmb3JtLnYxLkNvbXB1dGVDYWNoZVdhcm1lck9wZXJhdGlvbnNSZXNwb25zZSIAEn8KFENvbmZpZ3VyZUNhY2hlV2FybWVyEjEud2cuY29zbW8ucGxhdGZvcm0udjEuQ29uZmlndXJlQ2FjaGVXYXJtZXJSZXF1ZXN0GjIud2cuY29zbW8ucGxhdGZvcm0udjEuQ29uZmlndXJlQ2FjaGVXYXJtZXJSZXNwb25zZSIAEn8KFEdldENhY2hlV2FybWVyQ29uZmlnEjEud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0Q2FjaGVXYXJtZXJDb25maWdSZXF1ZXN0GjIud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0Q2FjaGVXYXJtZXJDb25maWdSZXNwb25zZSIAEpEBChpEZWxldGVDYWNoZVdhcm1lck9wZXJhdGlvbhI3LndnLmNvc21vLnBsYXRmb3JtLnYxLkRlbGV0ZUNhY2hlV2FybWVyT3BlcmF0aW9uUmVxdWVzdBo4LndnLmNvc21vLnBsYXRmb3JtLnYxLkRlbGV0ZUNhY2hlV2FybWVyT3BlcmF0aW9uUmVzcG9uc2UiABKjAQogR2V0U3ViZ3JhcGhDaGVja0V4dGVuc2lvbnNDb25maWcSPS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRTdWJncmFwaENoZWNrRXh0ZW5zaW9uc0NvbmZpZ1JlcXVlc3QaPi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRTdWJncmFwaENoZWNrRXh0ZW5zaW9uc0NvbmZpZ1Jlc3BvbnNlIgASowEKIENvbmZpZ3VyZVN1YmdyYXBoQ2hlY2tFeHRlbnNpb25zEj0ud2cuY29zbW8ucGxhdGZvcm0udjEuQ29uZmlndXJlU3ViZ3JhcGhDaGVja0V4dGVuc2lvbnNSZXF1ZXN0Gj4ud2cuY29zbW8ucGxhdGZvcm0udjEuQ29uZmlndXJlU3ViZ3JhcGhDaGVja0V4dGVuc2lvbnNSZXNwb25zZSIAEnAKD0dldEJpbGxpbmdQbGFucxIsLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldEJpbGxpbmdQbGFuc1JlcXVlc3QaLS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRCaWxsaW5nUGxhbnNSZXNwb25zZSIAEoIBChVDcmVhdGVDaGVja291dFNlc3Npb24SMi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVDaGVja291dFNlc3Npb25SZXF1ZXN0GjMud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlQ2hlY2tvdXRTZXNzaW9uUmVzcG9uc2UiABKRAQoaQ3JlYXRlQmlsbGluZ1BvcnRhbFNlc3Npb24SNy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVCaWxsaW5nUG9ydGFsU2Vzc2lvblJlcXVlc3QaOC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVCaWxsaW5nUG9ydGFsU2Vzc2lvblJlc3BvbnNlIgASZAoLVXBncmFkZVBsYW4SKC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGdyYWRlUGxhblJlcXVlc3QaKS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5VcGdyYWRlUGxhblJlc3BvbnNlIgASoAEKH0xpc3RSb3V0ZXJDb21wYXRpYmlsaXR5VmVyc2lvbnMSPC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MaXN0Um91dGVyQ29tcGF0aWJpbGl0eVZlcnNpb25zUmVxdWVzdBo9LndnLmNvc21vLnBsYXRmb3JtLnYxLkxpc3RSb3V0ZXJDb21wYXRpYmlsaXR5VmVyc2lvbnNSZXNwb25zZSIAEqkBCiJTZXRHcmFwaFJvdXRlckNvbXBhdGliaWxpdHlWZXJzaW9uEj8ud2cuY29zbW8ucGxhdGZvcm0udjEuU2V0R3JhcGhSb3V0ZXJDb21wYXRpYmlsaXR5VmVyc2lvblJlcXVlc3QaQC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5TZXRHcmFwaFJvdXRlckNvbXBhdGliaWxpdHlWZXJzaW9uUmVzcG9uc2UiABJtCg5DcmVhdGVQcm9wb3NhbBIrLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZVByb3Bvc2FsUmVxdWVzdBosLndnLmNvc21vLnBsYXRmb3JtLnYxLkNyZWF0ZVByb3Bvc2FsUmVzcG9uc2UiABJkCgtHZXRQcm9wb3NhbBIoLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFByb3Bvc2FsUmVxdWVzdBopLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFByb3Bvc2FsUmVzcG9uc2UiABJtCg5VcGRhdGVQcm9wb3NhbBIrLndnLmNvc21vLnBsYXRmb3JtLnYxLlVwZGF0ZVByb3Bvc2FsUmVxdWVzdBosLndnLmNvc21vLnBsYXRmb3JtLnYxLlVwZGF0ZVByb3Bvc2FsUmVzcG9uc2UiABKUAQobRW5hYmxlUHJvcG9zYWxzRm9yTmFtZXNwYWNlEjgud2cuY29zbW8ucGxhdGZvcm0udjEuRW5hYmxlUHJvcG9zYWxzRm9yTmFtZXNwYWNlUmVxdWVzdBo5LndnLmNvc21vLnBsYXRmb3JtLnYxLkVuYWJsZVByb3Bvc2Fsc0Zvck5hbWVzcGFjZVJlc3BvbnNlIgASowEKIENvbmZpZ3VyZU5hbWVzcGFjZVByb3Bvc2FsQ29uZmlnEj0ud2cuY29zbW8ucGxhdGZvcm0udjEuQ29uZmlndXJlTmFtZXNwYWNlUHJvcG9zYWxDb25maWdSZXF1ZXN0Gj4ud2cuY29zbW8ucGxhdGZvcm0udjEuQ29uZmlndXJlTmFtZXNwYWNlUHJvcG9zYWxDb25maWdSZXNwb25zZSIAEpEBChpHZXROYW1lc3BhY2VQcm9wb3NhbENvbmZpZxI3LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE5hbWVzcGFjZVByb3Bvc2FsQ29uZmlnUmVxdWVzdBo4LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE5hbWVzcGFjZVByb3Bvc2FsQ29uZmlnUmVzcG9uc2UiABKUAQobVXBkYXRlTmFtZXNwYWNlTG9naW5NZXRob2RzEjgud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlTmFtZXNwYWNlTG9naW5NZXRob2RzUmVxdWVzdBo5LndnLmNvc21vLnBsYXRmb3JtLnYxLlVwZGF0ZU5hbWVzcGFjZUxvZ2luTWV0aG9kc1Jlc3BvbnNlIgASjgEKGUxpc3ROYW1lc3BhY2VMb2dpbk1ldGhvZHMSNi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MaXN0TmFtZXNwYWNlTG9naW5NZXRob2RzUmVxdWVzdBo3LndnLmNvc21vLnBsYXRmb3JtLnYxLkxpc3ROYW1lc3BhY2VMb2dpbk1ldGhvZHNSZXNwb25zZSIAEpQBChtHZXRPcmdhbml6YXRpb25Mb2dpbk1ldGhvZHMSOC53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcmdhbml6YXRpb25Mb2dpbk1ldGhvZHNSZXF1ZXN0Gjkud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3JnYW5pemF0aW9uTG9naW5NZXRob2RzUmVzcG9uc2UiABKdAQoeVXBkYXRlT3JnYW5pemF0aW9uTG9naW5NZXRob2RzEjsud2cuY29zbW8ucGxhdGZvcm0udjEuVXBkYXRlT3JnYW5pemF0aW9uTG9naW5NZXRob2RzUmVxdWVzdBo8LndnLmNvc21vLnBsYXRmb3JtLnYxLlVwZGF0ZU9yZ2FuaXphdGlvbkxvZ2luTWV0aG9kc1Jlc3BvbnNlIgASlwEKHEdldFByb3Bvc2Fsc0J5RmVkZXJhdGVkR3JhcGgSOS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRQcm9wb3NhbHNCeUZlZGVyYXRlZEdyYXBoUmVxdWVzdBo6LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldFByb3Bvc2Fsc0J5RmVkZXJhdGVkR3JhcGhSZXNwb25zZSIAEnYKEUdldFByb3Bvc2FsQ2hlY2tzEi4ud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0UHJvcG9zYWxDaGVja3NSZXF1ZXN0Gi8ud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0UHJvcG9zYWxDaGVja3NSZXNwb25zZSIAEmoKDUdldE9wZXJhdGlvbnMSKi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcGVyYXRpb25zUmVxdWVzdBorLndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE9wZXJhdGlvbnNSZXNwb25zZSIAEogBChdHZXRDbGllbnRzRnJvbUFuYWx5dGljcxI0LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldENsaWVudHNGcm9tQW5hbHl0aWNzUmVxdWVzdBo1LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldENsaWVudHNGcm9tQW5hbHl0aWNzUmVzcG9uc2UiABJ8ChNHZXRPcGVyYXRpb25DbGllbnRzEjAud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3BlcmF0aW9uQ2xpZW50c1JlcXVlc3QaMS53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPcGVyYXRpb25DbGllbnRzUmVzcG9uc2UiABKXAQocR2V0T3BlcmF0aW9uRGVwcmVjYXRlZEZpZWxkcxI5LndnLmNvc21vLnBsYXRmb3JtLnYxLkdldE9wZXJhdGlvbkRlcHJlY2F0ZWRGaWVsZHNSZXF1ZXN0Gjoud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T3BlcmF0aW9uRGVwcmVjYXRlZEZpZWxkc1Jlc3BvbnNlIgASkQEKGlZhbGlkYXRlQW5kRmV0Y2hQbHVnaW5EYXRhEjcud2cuY29zbW8ucGxhdGZvcm0udjEuVmFsaWRhdGVBbmRGZXRjaFBsdWdpbkRhdGFSZXF1ZXN0Gjgud2cuY29zbW8ucGxhdGZvcm0udjEuVmFsaWRhdGVBbmRGZXRjaFBsdWdpbkRhdGFSZXNwb25zZSIAEmcKDExpbmtTdWJncmFwaBIpLndnLmNvc21vLnBsYXRmb3JtLnYxLkxpbmtTdWJncmFwaFJlcXVlc3QaKi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5MaW5rU3ViZ3JhcGhSZXNwb25zZSIAEm0KDlVubGlua1N1YmdyYXBoEisud2cuY29zbW8ucGxhdGZvcm0udjEuVW5saW5rU3ViZ3JhcGhSZXF1ZXN0Giwud2cuY29zbW8ucGxhdGZvcm0udjEuVW5saW5rU3ViZ3JhcGhSZXNwb25zZSIAEogBChdWZXJpZnlBUElLZXlHcmFwaEFjY2VzcxI0LndnLmNvc21vLnBsYXRmb3JtLnYxLlZlcmlmeUFQSUtleUdyYXBoQWNjZXNzUmVxdWVzdBo1LndnLmNvc21vLnBsYXRmb3JtLnYxLlZlcmlmeUFQSUtleUdyYXBoQWNjZXNzUmVzcG9uc2UiABJtCg5SZWNvbXBvc2VHcmFwaBIrLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlY29tcG9zZUdyYXBoUmVxdWVzdBosLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlY29tcG9zZUdyYXBoUmVzcG9uc2UiABJ/ChRSZWNvbXBvc2VGZWF0dXJlRmxhZxIxLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlY29tcG9zZUZlYXR1cmVGbGFnUmVxdWVzdBoyLndnLmNvc21vLnBsYXRmb3JtLnYxLlJlY29tcG9zZUZlYXR1cmVGbGFnUmVzcG9uc2UiABJqCg1HZXRPbmJvYXJkaW5nEioud2cuY29zbW8ucGxhdGZvcm0udjEuR2V0T25ib2FyZGluZ1JlcXVlc3QaKy53Zy5jb3Ntby5wbGF0Zm9ybS52MS5HZXRPbmJvYXJkaW5nUmVzcG9uc2UiABJzChBDcmVhdGVPbmJvYXJkaW5nEi0ud2cuY29zbW8ucGxhdGZvcm0udjEuQ3JlYXRlT25ib2FyZGluZ1JlcXVlc3QaLi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5DcmVhdGVPbmJvYXJkaW5nUmVzcG9uc2UiABJzChBGaW5pc2hPbmJvYXJkaW5nEi0ud2cuY29zbW8ucGxhdGZvcm0udjEuRmluaXNoT25ib2FyZGluZ1JlcXVlc3QaLi53Zy5jb3Ntby5wbGF0Zm9ybS52MS5GaW5pc2hPbmJvYXJkaW5nUmVzcG9uc2UiAGIGcHJvdG8z", [file_wg_cosmo_common_common, file_wg_cosmo_notifications_events]); /** * @generated from message wg.cosmo.platform.v1.Label @@ -11787,6 +11787,58 @@ export type GetFeatureFlagsInLatestCompositionByFederatedGraphRequest = Message< export const GetFeatureFlagsInLatestCompositionByFederatedGraphRequestSchema: GenMessage = /*@__PURE__*/ messageDesc(file_wg_cosmo_platform_v1_platform, 367); +/** + * Feature flags compose independently, so the same feature subgraph can appear once per flag with + * a different schema_version_id. + * + * @generated from message wg.cosmo.platform.v1.FeatureSubgraphInFlagComposition + */ +export type FeatureSubgraphInFlagComposition = Message<"wg.cosmo.platform.v1.FeatureSubgraphInFlagComposition"> & { + /** + * @generated from field: string feature_flag_id = 1; + */ + featureFlagId: string; + + /** + * @generated from field: string id = 2; + */ + id: string; + + /** + * @generated from field: string name = 3; + */ + name: string; + + /** + * @generated from field: string target_id = 4; + */ + targetId: string; + + /** + * The version that flag's composition used, not the latest published version. + * + * @generated from field: string schema_version_id = 5; + */ + schemaVersionId: string; + + /** + * @generated from field: string routing_url = 6; + */ + routingUrl: string; + + /** + * @generated from field: string subscription_url = 7; + */ + subscriptionUrl: string; +}; + +/** + * Describes the message wg.cosmo.platform.v1.FeatureSubgraphInFlagComposition. + * Use `create(FeatureSubgraphInFlagCompositionSchema)` to create a new message. + */ +export const FeatureSubgraphInFlagCompositionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_wg_cosmo_platform_v1_platform, 368); + /** * @generated from message wg.cosmo.platform.v1.GetFeatureFlagsInLatestCompositionByFederatedGraphResponse */ @@ -11802,6 +11854,11 @@ export type GetFeatureFlagsInLatestCompositionByFederatedGraphResponse = Message * @generated from field: repeated wg.cosmo.platform.v1.FeatureFlag feature_flags = 2; */ featureFlags: FeatureFlag[]; + + /** + * @generated from field: repeated wg.cosmo.platform.v1.FeatureSubgraphInFlagComposition feature_subgraphs = 3; + */ + featureSubgraphs: FeatureSubgraphInFlagComposition[]; }; /** @@ -11809,7 +11866,7 @@ export type GetFeatureFlagsInLatestCompositionByFederatedGraphResponse = Message * Use `create(GetFeatureFlagsInLatestCompositionByFederatedGraphResponseSchema)` to create a new message. */ export const GetFeatureFlagsInLatestCompositionByFederatedGraphResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 368); + messageDesc(file_wg_cosmo_platform_v1_platform, 369); /** * @generated from message wg.cosmo.platform.v1.GetFeatureSubgraphsByFederatedGraphRequest @@ -11846,7 +11903,7 @@ export type GetFeatureSubgraphsByFederatedGraphRequest = Message<"wg.cosmo.platf * Use `create(GetFeatureSubgraphsByFederatedGraphRequestSchema)` to create a new message. */ export const GetFeatureSubgraphsByFederatedGraphRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 369); + messageDesc(file_wg_cosmo_platform_v1_platform, 370); /** * @generated from message wg.cosmo.platform.v1.GetFeatureSubgraphsByFederatedGraphResponse @@ -11875,7 +11932,7 @@ export type GetFeatureSubgraphsByFederatedGraphResponse = Message<"wg.cosmo.plat * Use `create(GetFeatureSubgraphsByFederatedGraphResponseSchema)` to create a new message. */ export const GetFeatureSubgraphsByFederatedGraphResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 370); + messageDesc(file_wg_cosmo_platform_v1_platform, 371); /** * @generated from message wg.cosmo.platform.v1.GetOrganizationWebhookHistoryRequest @@ -11902,7 +11959,7 @@ export type GetOrganizationWebhookHistoryRequest = Message<"wg.cosmo.platform.v1 * Use `create(GetOrganizationWebhookHistoryRequestSchema)` to create a new message. */ export const GetOrganizationWebhookHistoryRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 371); + messageDesc(file_wg_cosmo_platform_v1_platform, 372); /** * @generated from message wg.cosmo.platform.v1.WebhookDelivery @@ -11994,7 +12051,7 @@ export type WebhookDelivery = Message<"wg.cosmo.platform.v1.WebhookDelivery"> & * Use `create(WebhookDeliverySchema)` to create a new message. */ export const WebhookDeliverySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 372); + messageDesc(file_wg_cosmo_platform_v1_platform, 373); /** * @generated from message wg.cosmo.platform.v1.GetOrganizationWebhookHistoryResponse @@ -12021,7 +12078,7 @@ export type GetOrganizationWebhookHistoryResponse = Message<"wg.cosmo.platform.v * Use `create(GetOrganizationWebhookHistoryResponseSchema)` to create a new message. */ export const GetOrganizationWebhookHistoryResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 373); + messageDesc(file_wg_cosmo_platform_v1_platform, 374); /** * @generated from message wg.cosmo.platform.v1.RedeliverWebhookRequest @@ -12038,7 +12095,7 @@ export type RedeliverWebhookRequest = Message<"wg.cosmo.platform.v1.RedeliverWeb * Use `create(RedeliverWebhookRequestSchema)` to create a new message. */ export const RedeliverWebhookRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 374); + messageDesc(file_wg_cosmo_platform_v1_platform, 375); /** * @generated from message wg.cosmo.platform.v1.RedeliverWebhookResponse @@ -12055,7 +12112,7 @@ export type RedeliverWebhookResponse = Message<"wg.cosmo.platform.v1.RedeliverWe * Use `create(RedeliverWebhookResponseSchema)` to create a new message. */ export const RedeliverWebhookResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 375); + messageDesc(file_wg_cosmo_platform_v1_platform, 376); /** * @generated from message wg.cosmo.platform.v1.GetWebhookDeliveryDetailsRequest @@ -12072,7 +12129,7 @@ export type GetWebhookDeliveryDetailsRequest = Message<"wg.cosmo.platform.v1.Get * Use `create(GetWebhookDeliveryDetailsRequestSchema)` to create a new message. */ export const GetWebhookDeliveryDetailsRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 376); + messageDesc(file_wg_cosmo_platform_v1_platform, 377); /** * @generated from message wg.cosmo.platform.v1.GetWebhookDeliveryDetailsResponse @@ -12094,7 +12151,7 @@ export type GetWebhookDeliveryDetailsResponse = Message<"wg.cosmo.platform.v1.Ge * Use `create(GetWebhookDeliveryDetailsResponseSchema)` to create a new message. */ export const GetWebhookDeliveryDetailsResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 377); + messageDesc(file_wg_cosmo_platform_v1_platform, 378); /** * @generated from message wg.cosmo.platform.v1.CreatePlaygroundScriptRequest @@ -12121,7 +12178,7 @@ export type CreatePlaygroundScriptRequest = Message<"wg.cosmo.platform.v1.Create * Use `create(CreatePlaygroundScriptRequestSchema)` to create a new message. */ export const CreatePlaygroundScriptRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 378); + messageDesc(file_wg_cosmo_platform_v1_platform, 379); /** * @generated from message wg.cosmo.platform.v1.CreatePlaygroundScriptResponse @@ -12138,7 +12195,7 @@ export type CreatePlaygroundScriptResponse = Message<"wg.cosmo.platform.v1.Creat * Use `create(CreatePlaygroundScriptResponseSchema)` to create a new message. */ export const CreatePlaygroundScriptResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 379); + messageDesc(file_wg_cosmo_platform_v1_platform, 380); /** * @generated from message wg.cosmo.platform.v1.DeletePlaygroundScriptRequest @@ -12155,7 +12212,7 @@ export type DeletePlaygroundScriptRequest = Message<"wg.cosmo.platform.v1.Delete * Use `create(DeletePlaygroundScriptRequestSchema)` to create a new message. */ export const DeletePlaygroundScriptRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 380); + messageDesc(file_wg_cosmo_platform_v1_platform, 381); /** * @generated from message wg.cosmo.platform.v1.DeletePlaygroundScriptResponse @@ -12172,7 +12229,7 @@ export type DeletePlaygroundScriptResponse = Message<"wg.cosmo.platform.v1.Delet * Use `create(DeletePlaygroundScriptResponseSchema)` to create a new message. */ export const DeletePlaygroundScriptResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 381); + messageDesc(file_wg_cosmo_platform_v1_platform, 382); /** * @generated from message wg.cosmo.platform.v1.UpdatePlaygroundScriptRequest @@ -12199,7 +12256,7 @@ export type UpdatePlaygroundScriptRequest = Message<"wg.cosmo.platform.v1.Update * Use `create(UpdatePlaygroundScriptRequestSchema)` to create a new message. */ export const UpdatePlaygroundScriptRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 382); + messageDesc(file_wg_cosmo_platform_v1_platform, 383); /** * @generated from message wg.cosmo.platform.v1.UpdatePlaygroundScriptResponse @@ -12216,7 +12273,7 @@ export type UpdatePlaygroundScriptResponse = Message<"wg.cosmo.platform.v1.Updat * Use `create(UpdatePlaygroundScriptResponseSchema)` to create a new message. */ export const UpdatePlaygroundScriptResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 383); + messageDesc(file_wg_cosmo_platform_v1_platform, 384); /** * @generated from message wg.cosmo.platform.v1.GetPlaygroundScriptsRequest @@ -12233,7 +12290,7 @@ export type GetPlaygroundScriptsRequest = Message<"wg.cosmo.platform.v1.GetPlayg * Use `create(GetPlaygroundScriptsRequestSchema)` to create a new message. */ export const GetPlaygroundScriptsRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 384); + messageDesc(file_wg_cosmo_platform_v1_platform, 385); /** * @generated from message wg.cosmo.platform.v1.PlaygroundScript @@ -12265,7 +12322,7 @@ export type PlaygroundScript = Message<"wg.cosmo.platform.v1.PlaygroundScript"> * Use `create(PlaygroundScriptSchema)` to create a new message. */ export const PlaygroundScriptSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 385); + messageDesc(file_wg_cosmo_platform_v1_platform, 386); /** * @generated from message wg.cosmo.platform.v1.GetPlaygroundScriptsResponse @@ -12287,7 +12344,7 @@ export type GetPlaygroundScriptsResponse = Message<"wg.cosmo.platform.v1.GetPlay * Use `create(GetPlaygroundScriptsResponseSchema)` to create a new message. */ export const GetPlaygroundScriptsResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 386); + messageDesc(file_wg_cosmo_platform_v1_platform, 387); /** * @generated from message wg.cosmo.platform.v1.GetFederatedGraphByIdRequest @@ -12309,7 +12366,7 @@ export type GetFederatedGraphByIdRequest = Message<"wg.cosmo.platform.v1.GetFede * Use `create(GetFederatedGraphByIdRequestSchema)` to create a new message. */ export const GetFederatedGraphByIdRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 387); + messageDesc(file_wg_cosmo_platform_v1_platform, 388); /** * @generated from message wg.cosmo.platform.v1.GetFederatedGraphByIdResponse @@ -12354,7 +12411,7 @@ export type GetFederatedGraphByIdResponse = Message<"wg.cosmo.platform.v1.GetFed * Use `create(GetFederatedGraphByIdResponseSchema)` to create a new message. */ export const GetFederatedGraphByIdResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 388); + messageDesc(file_wg_cosmo_platform_v1_platform, 389); /** * @generated from message wg.cosmo.platform.v1.GetSubgraphByIdRequest @@ -12371,7 +12428,7 @@ export type GetSubgraphByIdRequest = Message<"wg.cosmo.platform.v1.GetSubgraphBy * Use `create(GetSubgraphByIdRequestSchema)` to create a new message. */ export const GetSubgraphByIdRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 389); + messageDesc(file_wg_cosmo_platform_v1_platform, 390); /** * @generated from message wg.cosmo.platform.v1.GetSubgraphByIdResponse @@ -12398,7 +12455,7 @@ export type GetSubgraphByIdResponse = Message<"wg.cosmo.platform.v1.GetSubgraphB * Use `create(GetSubgraphByIdResponseSchema)` to create a new message. */ export const GetSubgraphByIdResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 390); + messageDesc(file_wg_cosmo_platform_v1_platform, 391); /** * @generated from message wg.cosmo.platform.v1.GetNamespaceRequest @@ -12420,7 +12477,7 @@ export type GetNamespaceRequest = Message<"wg.cosmo.platform.v1.GetNamespaceRequ * Use `create(GetNamespaceRequestSchema)` to create a new message. */ export const GetNamespaceRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 391); + messageDesc(file_wg_cosmo_platform_v1_platform, 392); /** * @generated from message wg.cosmo.platform.v1.GetNamespaceResponse @@ -12442,7 +12499,7 @@ export type GetNamespaceResponse = Message<"wg.cosmo.platform.v1.GetNamespaceRes * Use `create(GetNamespaceResponseSchema)` to create a new message. */ export const GetNamespaceResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 392); + messageDesc(file_wg_cosmo_platform_v1_platform, 393); /** * @generated from message wg.cosmo.platform.v1.WorkspaceNamespace @@ -12474,7 +12531,7 @@ export type WorkspaceNamespace = Message<"wg.cosmo.platform.v1.WorkspaceNamespac * Use `create(WorkspaceNamespaceSchema)` to create a new message. */ export const WorkspaceNamespaceSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 393); + messageDesc(file_wg_cosmo_platform_v1_platform, 394); /** * @generated from message wg.cosmo.platform.v1.WorkspaceFederatedGraph @@ -12511,7 +12568,7 @@ export type WorkspaceFederatedGraph = Message<"wg.cosmo.platform.v1.WorkspaceFed * Use `create(WorkspaceFederatedGraphSchema)` to create a new message. */ export const WorkspaceFederatedGraphSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 394); + messageDesc(file_wg_cosmo_platform_v1_platform, 395); /** * @generated from message wg.cosmo.platform.v1.WorkspaceSubgraph @@ -12548,7 +12605,7 @@ export type WorkspaceSubgraph = Message<"wg.cosmo.platform.v1.WorkspaceSubgraph" * Use `create(WorkspaceSubgraphSchema)` to create a new message. */ export const WorkspaceSubgraphSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 395); + messageDesc(file_wg_cosmo_platform_v1_platform, 396); /** * @generated from message wg.cosmo.platform.v1.GetWorkspaceRequest @@ -12561,7 +12618,7 @@ export type GetWorkspaceRequest = Message<"wg.cosmo.platform.v1.GetWorkspaceRequ * Use `create(GetWorkspaceRequestSchema)` to create a new message. */ export const GetWorkspaceRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 396); + messageDesc(file_wg_cosmo_platform_v1_platform, 397); /** * @generated from message wg.cosmo.platform.v1.GetWorkspaceResponse @@ -12583,7 +12640,7 @@ export type GetWorkspaceResponse = Message<"wg.cosmo.platform.v1.GetWorkspaceRes * Use `create(GetWorkspaceResponseSchema)` to create a new message. */ export const GetWorkspaceResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 397); + messageDesc(file_wg_cosmo_platform_v1_platform, 398); /** * @generated from message wg.cosmo.platform.v1.PushCacheWarmerOperationRequest @@ -12620,7 +12677,7 @@ export type PushCacheWarmerOperationRequest = Message<"wg.cosmo.platform.v1.Push * Use `create(PushCacheWarmerOperationRequestSchema)` to create a new message. */ export const PushCacheWarmerOperationRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 398); + messageDesc(file_wg_cosmo_platform_v1_platform, 399); /** * @generated from message wg.cosmo.platform.v1.PushCacheWarmerOperationResponse @@ -12637,7 +12694,7 @@ export type PushCacheWarmerOperationResponse = Message<"wg.cosmo.platform.v1.Pus * Use `create(PushCacheWarmerOperationResponseSchema)` to create a new message. */ export const PushCacheWarmerOperationResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 399); + messageDesc(file_wg_cosmo_platform_v1_platform, 400); /** * @generated from message wg.cosmo.platform.v1.GetCacheWarmerOperationsRequest @@ -12669,7 +12726,7 @@ export type GetCacheWarmerOperationsRequest = Message<"wg.cosmo.platform.v1.GetC * Use `create(GetCacheWarmerOperationsRequestSchema)` to create a new message. */ export const GetCacheWarmerOperationsRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 400); + messageDesc(file_wg_cosmo_platform_v1_platform, 401); /** * @generated from message wg.cosmo.platform.v1.CacheWarmerOperation @@ -12736,7 +12793,7 @@ export type CacheWarmerOperation = Message<"wg.cosmo.platform.v1.CacheWarmerOper * Use `create(CacheWarmerOperationSchema)` to create a new message. */ export const CacheWarmerOperationSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 401); + messageDesc(file_wg_cosmo_platform_v1_platform, 402); /** * @generated from message wg.cosmo.platform.v1.GetCacheWarmerOperationsResponse @@ -12768,7 +12825,7 @@ export type GetCacheWarmerOperationsResponse = Message<"wg.cosmo.platform.v1.Get * Use `create(GetCacheWarmerOperationsResponseSchema)` to create a new message. */ export const GetCacheWarmerOperationsResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 402); + messageDesc(file_wg_cosmo_platform_v1_platform, 403); /** * @generated from message wg.cosmo.platform.v1.ComputeCacheWarmerOperationsRequest @@ -12790,7 +12847,7 @@ export type ComputeCacheWarmerOperationsRequest = Message<"wg.cosmo.platform.v1. * Use `create(ComputeCacheWarmerOperationsRequestSchema)` to create a new message. */ export const ComputeCacheWarmerOperationsRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 403); + messageDesc(file_wg_cosmo_platform_v1_platform, 404); /** * @generated from message wg.cosmo.platform.v1.ComputeCacheWarmerOperationsResponse @@ -12807,7 +12864,7 @@ export type ComputeCacheWarmerOperationsResponse = Message<"wg.cosmo.platform.v1 * Use `create(ComputeCacheWarmerOperationsResponseSchema)` to create a new message. */ export const ComputeCacheWarmerOperationsResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 404); + messageDesc(file_wg_cosmo_platform_v1_platform, 405); /** * @generated from message wg.cosmo.platform.v1.ConfigureCacheWarmerRequest @@ -12834,7 +12891,7 @@ export type ConfigureCacheWarmerRequest = Message<"wg.cosmo.platform.v1.Configur * Use `create(ConfigureCacheWarmerRequestSchema)` to create a new message. */ export const ConfigureCacheWarmerRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 405); + messageDesc(file_wg_cosmo_platform_v1_platform, 406); /** * @generated from message wg.cosmo.platform.v1.ConfigureCacheWarmerResponse @@ -12851,7 +12908,7 @@ export type ConfigureCacheWarmerResponse = Message<"wg.cosmo.platform.v1.Configu * Use `create(ConfigureCacheWarmerResponseSchema)` to create a new message. */ export const ConfigureCacheWarmerResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 406); + messageDesc(file_wg_cosmo_platform_v1_platform, 407); /** * @generated from message wg.cosmo.platform.v1.GetCacheWarmerConfigRequest @@ -12868,7 +12925,7 @@ export type GetCacheWarmerConfigRequest = Message<"wg.cosmo.platform.v1.GetCache * Use `create(GetCacheWarmerConfigRequestSchema)` to create a new message. */ export const GetCacheWarmerConfigRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 407); + messageDesc(file_wg_cosmo_platform_v1_platform, 408); /** * @generated from message wg.cosmo.platform.v1.GetCacheWarmerConfigResponse @@ -12895,7 +12952,7 @@ export type GetCacheWarmerConfigResponse = Message<"wg.cosmo.platform.v1.GetCach * Use `create(GetCacheWarmerConfigResponseSchema)` to create a new message. */ export const GetCacheWarmerConfigResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 408); + messageDesc(file_wg_cosmo_platform_v1_platform, 409); /** * @generated from message wg.cosmo.platform.v1.GetSubgraphCheckExtensionsConfigRequest @@ -12912,7 +12969,7 @@ export type GetSubgraphCheckExtensionsConfigRequest = Message<"wg.cosmo.platform * Use `create(GetSubgraphCheckExtensionsConfigRequestSchema)` to create a new message. */ export const GetSubgraphCheckExtensionsConfigRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 409); + messageDesc(file_wg_cosmo_platform_v1_platform, 410); /** * @generated from message wg.cosmo.platform.v1.GetSubgraphCheckExtensionsConfigResponse @@ -12979,7 +13036,7 @@ export type GetSubgraphCheckExtensionsConfigResponse = Message<"wg.cosmo.platfor * Use `create(GetSubgraphCheckExtensionsConfigResponseSchema)` to create a new message. */ export const GetSubgraphCheckExtensionsConfigResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 410); + messageDesc(file_wg_cosmo_platform_v1_platform, 411); /** * @generated from message wg.cosmo.platform.v1.ConfigureSubgraphCheckExtensionsRequest @@ -13036,7 +13093,7 @@ export type ConfigureSubgraphCheckExtensionsRequest = Message<"wg.cosmo.platform * Use `create(ConfigureSubgraphCheckExtensionsRequestSchema)` to create a new message. */ export const ConfigureSubgraphCheckExtensionsRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 411); + messageDesc(file_wg_cosmo_platform_v1_platform, 412); /** * @generated from message wg.cosmo.platform.v1.ConfigureSubgraphCheckExtensionsResponse @@ -13053,7 +13110,7 @@ export type ConfigureSubgraphCheckExtensionsResponse = Message<"wg.cosmo.platfor * Use `create(ConfigureSubgraphCheckExtensionsResponseSchema)` to create a new message. */ export const ConfigureSubgraphCheckExtensionsResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 412); + messageDesc(file_wg_cosmo_platform_v1_platform, 413); /** * @generated from message wg.cosmo.platform.v1.DeleteCacheWarmerOperationRequest @@ -13080,7 +13137,7 @@ export type DeleteCacheWarmerOperationRequest = Message<"wg.cosmo.platform.v1.De * Use `create(DeleteCacheWarmerOperationRequestSchema)` to create a new message. */ export const DeleteCacheWarmerOperationRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 413); + messageDesc(file_wg_cosmo_platform_v1_platform, 414); /** * @generated from message wg.cosmo.platform.v1.DeleteCacheWarmerOperationResponse @@ -13097,7 +13154,7 @@ export type DeleteCacheWarmerOperationResponse = Message<"wg.cosmo.platform.v1.D * Use `create(DeleteCacheWarmerOperationResponseSchema)` to create a new message. */ export const DeleteCacheWarmerOperationResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 414); + messageDesc(file_wg_cosmo_platform_v1_platform, 415); /** * @generated from message wg.cosmo.platform.v1.ListRouterCompatibilityVersionsRequest @@ -13110,7 +13167,7 @@ export type ListRouterCompatibilityVersionsRequest = Message<"wg.cosmo.platform. * Use `create(ListRouterCompatibilityVersionsRequestSchema)` to create a new message. */ export const ListRouterCompatibilityVersionsRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 415); + messageDesc(file_wg_cosmo_platform_v1_platform, 416); /** * @generated from message wg.cosmo.platform.v1.ListRouterCompatibilityVersionsResponse @@ -13132,7 +13189,7 @@ export type ListRouterCompatibilityVersionsResponse = Message<"wg.cosmo.platform * Use `create(ListRouterCompatibilityVersionsResponseSchema)` to create a new message. */ export const ListRouterCompatibilityVersionsResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 416); + messageDesc(file_wg_cosmo_platform_v1_platform, 417); /** * @generated from message wg.cosmo.platform.v1.SetGraphRouterCompatibilityVersionRequest @@ -13164,7 +13221,7 @@ export type SetGraphRouterCompatibilityVersionRequest = Message<"wg.cosmo.platfo * Use `create(SetGraphRouterCompatibilityVersionRequestSchema)` to create a new message. */ export const SetGraphRouterCompatibilityVersionRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 417); + messageDesc(file_wg_cosmo_platform_v1_platform, 418); /** * @generated from message wg.cosmo.platform.v1.SetGraphRouterCompatibilityVersionResponse @@ -13206,7 +13263,7 @@ export type SetGraphRouterCompatibilityVersionResponse = Message<"wg.cosmo.platf * Use `create(SetGraphRouterCompatibilityVersionResponseSchema)` to create a new message. */ export const SetGraphRouterCompatibilityVersionResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 418); + messageDesc(file_wg_cosmo_platform_v1_platform, 419); /** * @generated from message wg.cosmo.platform.v1.GetProposedSchemaOfCheckedSubgraphRequest @@ -13233,7 +13290,7 @@ export type GetProposedSchemaOfCheckedSubgraphRequest = Message<"wg.cosmo.platfo * Use `create(GetProposedSchemaOfCheckedSubgraphRequestSchema)` to create a new message. */ export const GetProposedSchemaOfCheckedSubgraphRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 419); + messageDesc(file_wg_cosmo_platform_v1_platform, 420); /** * @generated from message wg.cosmo.platform.v1.GetProposedSchemaOfCheckedSubgraphResponse @@ -13255,7 +13312,7 @@ export type GetProposedSchemaOfCheckedSubgraphResponse = Message<"wg.cosmo.platf * Use `create(GetProposedSchemaOfCheckedSubgraphResponseSchema)` to create a new message. */ export const GetProposedSchemaOfCheckedSubgraphResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 420); + messageDesc(file_wg_cosmo_platform_v1_platform, 421); /** * @generated from message wg.cosmo.platform.v1.Proposal @@ -13322,7 +13379,7 @@ export type Proposal = Message<"wg.cosmo.platform.v1.Proposal"> & { * Use `create(ProposalSchema)` to create a new message. */ export const ProposalSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 421); + messageDesc(file_wg_cosmo_platform_v1_platform, 422); /** * @generated from message wg.cosmo.platform.v1.ProposalSubgraph @@ -13359,7 +13416,7 @@ export type ProposalSubgraph = Message<"wg.cosmo.platform.v1.ProposalSubgraph"> * Use `create(ProposalSubgraphSchema)` to create a new message. */ export const ProposalSubgraphSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 422); + messageDesc(file_wg_cosmo_platform_v1_platform, 423); /** * @generated from message wg.cosmo.platform.v1.CreateProposalRequest @@ -13401,7 +13458,7 @@ export type CreateProposalRequest = Message<"wg.cosmo.platform.v1.CreateProposal * Use `create(CreateProposalRequestSchema)` to create a new message. */ export const CreateProposalRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 423); + messageDesc(file_wg_cosmo_platform_v1_platform, 424); /** * @generated from message wg.cosmo.platform.v1.CreateProposalResponse @@ -13522,7 +13579,7 @@ export type CreateProposalResponse = Message<"wg.cosmo.platform.v1.CreateProposa * Use `create(CreateProposalResponseSchema)` to create a new message. */ export const CreateProposalResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 424); + messageDesc(file_wg_cosmo_platform_v1_platform, 425); /** * @generated from message wg.cosmo.platform.v1.GetProposalRequest @@ -13539,7 +13596,7 @@ export type GetProposalRequest = Message<"wg.cosmo.platform.v1.GetProposalReques * Use `create(GetProposalRequestSchema)` to create a new message. */ export const GetProposalRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 425); + messageDesc(file_wg_cosmo_platform_v1_platform, 426); /** * @generated from message wg.cosmo.platform.v1.GetProposalResponse @@ -13566,7 +13623,7 @@ export type GetProposalResponse = Message<"wg.cosmo.platform.v1.GetProposalRespo * Use `create(GetProposalResponseSchema)` to create a new message. */ export const GetProposalResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 426); + messageDesc(file_wg_cosmo_platform_v1_platform, 427); /** * @generated from message wg.cosmo.platform.v1.GetProposalResponse.CurrentSubgraph @@ -13588,7 +13645,7 @@ export type GetProposalResponse_CurrentSubgraph = Message<"wg.cosmo.platform.v1. * Use `create(GetProposalResponse_CurrentSubgraphSchema)` to create a new message. */ export const GetProposalResponse_CurrentSubgraphSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 426, 0); + messageDesc(file_wg_cosmo_platform_v1_platform, 427, 0); /** * @generated from message wg.cosmo.platform.v1.GetProposalsByFederatedGraphRequest @@ -13630,7 +13687,7 @@ export type GetProposalsByFederatedGraphRequest = Message<"wg.cosmo.platform.v1. * Use `create(GetProposalsByFederatedGraphRequestSchema)` to create a new message. */ export const GetProposalsByFederatedGraphRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 427); + messageDesc(file_wg_cosmo_platform_v1_platform, 428); /** * @generated from message wg.cosmo.platform.v1.GetProposalsByFederatedGraphResponse @@ -13662,7 +13719,7 @@ export type GetProposalsByFederatedGraphResponse = Message<"wg.cosmo.platform.v1 * Use `create(GetProposalsByFederatedGraphResponseSchema)` to create a new message. */ export const GetProposalsByFederatedGraphResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 428); + messageDesc(file_wg_cosmo_platform_v1_platform, 429); /** * @generated from message wg.cosmo.platform.v1.GetProposalChecksRequest @@ -13699,7 +13756,7 @@ export type GetProposalChecksRequest = Message<"wg.cosmo.platform.v1.GetProposal * Use `create(GetProposalChecksRequestSchema)` to create a new message. */ export const GetProposalChecksRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 429); + messageDesc(file_wg_cosmo_platform_v1_platform, 430); /** * @generated from message wg.cosmo.platform.v1.GetProposalChecksResponse @@ -13726,7 +13783,7 @@ export type GetProposalChecksResponse = Message<"wg.cosmo.platform.v1.GetProposa * Use `create(GetProposalChecksResponseSchema)` to create a new message. */ export const GetProposalChecksResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 430); + messageDesc(file_wg_cosmo_platform_v1_platform, 431); /** * @generated from message wg.cosmo.platform.v1.UpdateProposalRequest @@ -13770,7 +13827,7 @@ export type UpdateProposalRequest = Message<"wg.cosmo.platform.v1.UpdateProposal * Use `create(UpdateProposalRequestSchema)` to create a new message. */ export const UpdateProposalRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 431); + messageDesc(file_wg_cosmo_platform_v1_platform, 432); /** * @generated from message wg.cosmo.platform.v1.UpdateProposalRequest.UpdateProposalSubgraphs @@ -13787,7 +13844,7 @@ export type UpdateProposalRequest_UpdateProposalSubgraphs = Message<"wg.cosmo.pl * Use `create(UpdateProposalRequest_UpdateProposalSubgraphsSchema)` to create a new message. */ export const UpdateProposalRequest_UpdateProposalSubgraphsSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 431, 0); + messageDesc(file_wg_cosmo_platform_v1_platform, 432, 0); /** * @generated from message wg.cosmo.platform.v1.UpdateProposalResponse @@ -13893,7 +13950,7 @@ export type UpdateProposalResponse = Message<"wg.cosmo.platform.v1.UpdateProposa * Use `create(UpdateProposalResponseSchema)` to create a new message. */ export const UpdateProposalResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 432); + messageDesc(file_wg_cosmo_platform_v1_platform, 433); /** * @generated from message wg.cosmo.platform.v1.EnableProposalsForNamespaceRequest @@ -13915,7 +13972,7 @@ export type EnableProposalsForNamespaceRequest = Message<"wg.cosmo.platform.v1.E * Use `create(EnableProposalsForNamespaceRequestSchema)` to create a new message. */ export const EnableProposalsForNamespaceRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 433); + messageDesc(file_wg_cosmo_platform_v1_platform, 434); /** * @generated from message wg.cosmo.platform.v1.EnableProposalsForNamespaceResponse @@ -13932,7 +13989,7 @@ export type EnableProposalsForNamespaceResponse = Message<"wg.cosmo.platform.v1. * Use `create(EnableProposalsForNamespaceResponseSchema)` to create a new message. */ export const EnableProposalsForNamespaceResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 434); + messageDesc(file_wg_cosmo_platform_v1_platform, 435); /** * @generated from message wg.cosmo.platform.v1.ConfigureNamespaceProposalConfigRequest @@ -13959,7 +14016,7 @@ export type ConfigureNamespaceProposalConfigRequest = Message<"wg.cosmo.platform * Use `create(ConfigureNamespaceProposalConfigRequestSchema)` to create a new message. */ export const ConfigureNamespaceProposalConfigRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 435); + messageDesc(file_wg_cosmo_platform_v1_platform, 436); /** * @generated from message wg.cosmo.platform.v1.ConfigureNamespaceProposalConfigResponse @@ -13976,7 +14033,7 @@ export type ConfigureNamespaceProposalConfigResponse = Message<"wg.cosmo.platfor * Use `create(ConfigureNamespaceProposalConfigResponseSchema)` to create a new message. */ export const ConfigureNamespaceProposalConfigResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 436); + messageDesc(file_wg_cosmo_platform_v1_platform, 437); /** * @generated from message wg.cosmo.platform.v1.GetNamespaceProposalConfigRequest @@ -13993,7 +14050,7 @@ export type GetNamespaceProposalConfigRequest = Message<"wg.cosmo.platform.v1.Ge * Use `create(GetNamespaceProposalConfigRequestSchema)` to create a new message. */ export const GetNamespaceProposalConfigRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 437); + messageDesc(file_wg_cosmo_platform_v1_platform, 438); /** * @generated from message wg.cosmo.platform.v1.GetNamespaceProposalConfigResponse @@ -14025,7 +14082,7 @@ export type GetNamespaceProposalConfigResponse = Message<"wg.cosmo.platform.v1.G * Use `create(GetNamespaceProposalConfigResponseSchema)` to create a new message. */ export const GetNamespaceProposalConfigResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 438); + messageDesc(file_wg_cosmo_platform_v1_platform, 439); /** * @generated from message wg.cosmo.platform.v1.NamespaceLoginMethodMapping @@ -14062,7 +14119,7 @@ export type NamespaceLoginMethodMapping = Message<"wg.cosmo.platform.v1.Namespac * Use `create(NamespaceLoginMethodMappingSchema)` to create a new message. */ export const NamespaceLoginMethodMappingSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 439); + messageDesc(file_wg_cosmo_platform_v1_platform, 440); /** * @generated from message wg.cosmo.platform.v1.UpdateNamespaceLoginMethodsRequest @@ -14079,7 +14136,7 @@ export type UpdateNamespaceLoginMethodsRequest = Message<"wg.cosmo.platform.v1.U * Use `create(UpdateNamespaceLoginMethodsRequestSchema)` to create a new message. */ export const UpdateNamespaceLoginMethodsRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 440); + messageDesc(file_wg_cosmo_platform_v1_platform, 441); /** * @generated from message wg.cosmo.platform.v1.UpdateNamespaceLoginMethodsResponse @@ -14096,7 +14153,7 @@ export type UpdateNamespaceLoginMethodsResponse = Message<"wg.cosmo.platform.v1. * Use `create(UpdateNamespaceLoginMethodsResponseSchema)` to create a new message. */ export const UpdateNamespaceLoginMethodsResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 441); + messageDesc(file_wg_cosmo_platform_v1_platform, 442); /** * @generated from message wg.cosmo.platform.v1.ListNamespaceLoginMethodsRequest @@ -14109,7 +14166,7 @@ export type ListNamespaceLoginMethodsRequest = Message<"wg.cosmo.platform.v1.Lis * Use `create(ListNamespaceLoginMethodsRequestSchema)` to create a new message. */ export const ListNamespaceLoginMethodsRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 442); + messageDesc(file_wg_cosmo_platform_v1_platform, 443); /** * @generated from message wg.cosmo.platform.v1.ListNamespaceLoginMethodsResponse @@ -14134,7 +14191,7 @@ export type ListNamespaceLoginMethodsResponse = Message<"wg.cosmo.platform.v1.Li * Use `create(ListNamespaceLoginMethodsResponseSchema)` to create a new message. */ export const ListNamespaceLoginMethodsResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 443); + messageDesc(file_wg_cosmo_platform_v1_platform, 444); /** * @generated from message wg.cosmo.platform.v1.OrganizationLoginMethods @@ -14173,7 +14230,7 @@ export type OrganizationLoginMethods = Message<"wg.cosmo.platform.v1.Organizatio * Use `create(OrganizationLoginMethodsSchema)` to create a new message. */ export const OrganizationLoginMethodsSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 444); + messageDesc(file_wg_cosmo_platform_v1_platform, 445); /** * @generated from message wg.cosmo.platform.v1.GetOrganizationLoginMethodsRequest @@ -14186,7 +14243,7 @@ export type GetOrganizationLoginMethodsRequest = Message<"wg.cosmo.platform.v1.G * Use `create(GetOrganizationLoginMethodsRequestSchema)` to create a new message. */ export const GetOrganizationLoginMethodsRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 445); + messageDesc(file_wg_cosmo_platform_v1_platform, 446); /** * @generated from message wg.cosmo.platform.v1.GetOrganizationLoginMethodsResponse @@ -14208,7 +14265,7 @@ export type GetOrganizationLoginMethodsResponse = Message<"wg.cosmo.platform.v1. * Use `create(GetOrganizationLoginMethodsResponseSchema)` to create a new message. */ export const GetOrganizationLoginMethodsResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 446); + messageDesc(file_wg_cosmo_platform_v1_platform, 447); /** * @generated from message wg.cosmo.platform.v1.UpdateOrganizationLoginMethodsRequest @@ -14249,7 +14306,7 @@ export type UpdateOrganizationLoginMethodsRequest = Message<"wg.cosmo.platform.v * Use `create(UpdateOrganizationLoginMethodsRequestSchema)` to create a new message. */ export const UpdateOrganizationLoginMethodsRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 447); + messageDesc(file_wg_cosmo_platform_v1_platform, 448); /** * @generated from message wg.cosmo.platform.v1.UpdateOrganizationLoginMethodsResponse @@ -14279,7 +14336,7 @@ export type UpdateOrganizationLoginMethodsResponse = Message<"wg.cosmo.platform. * Use `create(UpdateOrganizationLoginMethodsResponseSchema)` to create a new message. */ export const UpdateOrganizationLoginMethodsResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 448); + messageDesc(file_wg_cosmo_platform_v1_platform, 449); /** * @generated from message wg.cosmo.platform.v1.GetOperationsRequest @@ -14379,7 +14436,7 @@ export type GetOperationsRequest = Message<"wg.cosmo.platform.v1.GetOperationsRe * Use `create(GetOperationsRequestSchema)` to create a new message. */ export const GetOperationsRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 449); + messageDesc(file_wg_cosmo_platform_v1_platform, 450); /** * @generated from message wg.cosmo.platform.v1.GetOperationsResponse @@ -14406,7 +14463,7 @@ export type GetOperationsResponse = Message<"wg.cosmo.platform.v1.GetOperationsR * Use `create(GetOperationsResponseSchema)` to create a new message. */ export const GetOperationsResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 450); + messageDesc(file_wg_cosmo_platform_v1_platform, 451); /** * @generated from message wg.cosmo.platform.v1.GetOperationsResponse.Operation @@ -14466,7 +14523,7 @@ export type GetOperationsResponse_Operation = Message<"wg.cosmo.platform.v1.GetO * Use `create(GetOperationsResponse_OperationSchema)` to create a new message. */ export const GetOperationsResponse_OperationSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 450, 0); + messageDesc(file_wg_cosmo_platform_v1_platform, 451, 0); /** * @generated from enum wg.cosmo.platform.v1.GetOperationsResponse.OperationType @@ -14492,7 +14549,7 @@ export enum GetOperationsResponse_OperationType { * Describes the enum wg.cosmo.platform.v1.GetOperationsResponse.OperationType. */ export const GetOperationsResponse_OperationTypeSchema: GenEnum = /*@__PURE__*/ - enumDesc(file_wg_cosmo_platform_v1_platform, 450, 0); + enumDesc(file_wg_cosmo_platform_v1_platform, 451, 0); /** * @generated from message wg.cosmo.platform.v1.GetClientsFromAnalyticsRequest @@ -14514,7 +14571,7 @@ export type GetClientsFromAnalyticsRequest = Message<"wg.cosmo.platform.v1.GetCl * Use `create(GetClientsFromAnalyticsRequestSchema)` to create a new message. */ export const GetClientsFromAnalyticsRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 451); + messageDesc(file_wg_cosmo_platform_v1_platform, 452); /** * @generated from message wg.cosmo.platform.v1.GetClientsFromAnalyticsResponse @@ -14536,7 +14593,7 @@ export type GetClientsFromAnalyticsResponse = Message<"wg.cosmo.platform.v1.GetC * Use `create(GetClientsFromAnalyticsResponseSchema)` to create a new message. */ export const GetClientsFromAnalyticsResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 452); + messageDesc(file_wg_cosmo_platform_v1_platform, 453); /** * @generated from message wg.cosmo.platform.v1.GetClientsFromAnalyticsResponse.Client @@ -14553,7 +14610,7 @@ export type GetClientsFromAnalyticsResponse_Client = Message<"wg.cosmo.platform. * Use `create(GetClientsFromAnalyticsResponse_ClientSchema)` to create a new message. */ export const GetClientsFromAnalyticsResponse_ClientSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 452, 0); + messageDesc(file_wg_cosmo_platform_v1_platform, 453, 0); /** * @generated from message wg.cosmo.platform.v1.GetOperationClientsRequest @@ -14597,7 +14654,7 @@ export type GetOperationClientsRequest = Message<"wg.cosmo.platform.v1.GetOperat * Use `create(GetOperationClientsRequestSchema)` to create a new message. */ export const GetOperationClientsRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 453); + messageDesc(file_wg_cosmo_platform_v1_platform, 454); /** * @generated from message wg.cosmo.platform.v1.GetOperationClientsResponse @@ -14619,7 +14676,7 @@ export type GetOperationClientsResponse = Message<"wg.cosmo.platform.v1.GetOpera * Use `create(GetOperationClientsResponseSchema)` to create a new message. */ export const GetOperationClientsResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 454); + messageDesc(file_wg_cosmo_platform_v1_platform, 455); /** * @generated from message wg.cosmo.platform.v1.GetOperationClientsResponse.Client @@ -14653,7 +14710,7 @@ export type GetOperationClientsResponse_Client = Message<"wg.cosmo.platform.v1.G * Use `create(GetOperationClientsResponse_ClientSchema)` to create a new message. */ export const GetOperationClientsResponse_ClientSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 454, 0); + messageDesc(file_wg_cosmo_platform_v1_platform, 455, 0); /** * @generated from message wg.cosmo.platform.v1.GetOperationDeprecatedFieldsRequest @@ -14697,7 +14754,7 @@ export type GetOperationDeprecatedFieldsRequest = Message<"wg.cosmo.platform.v1. * Use `create(GetOperationDeprecatedFieldsRequestSchema)` to create a new message. */ export const GetOperationDeprecatedFieldsRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 455); + messageDesc(file_wg_cosmo_platform_v1_platform, 456); /** * @generated from message wg.cosmo.platform.v1.GetOperationDeprecatedFieldsResponse @@ -14719,7 +14776,7 @@ export type GetOperationDeprecatedFieldsResponse = Message<"wg.cosmo.platform.v1 * Use `create(GetOperationDeprecatedFieldsResponseSchema)` to create a new message. */ export const GetOperationDeprecatedFieldsResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 456); + messageDesc(file_wg_cosmo_platform_v1_platform, 457); /** * @generated from message wg.cosmo.platform.v1.GetOperationDeprecatedFieldsResponse.DeprecatedField @@ -14751,7 +14808,7 @@ export type GetOperationDeprecatedFieldsResponse_DeprecatedField = Message<"wg.c * Use `create(GetOperationDeprecatedFieldsResponse_DeprecatedFieldSchema)` to create a new message. */ export const GetOperationDeprecatedFieldsResponse_DeprecatedFieldSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 456, 0); + messageDesc(file_wg_cosmo_platform_v1_platform, 457, 0); /** * @generated from message wg.cosmo.platform.v1.ValidateAndFetchPluginDataRequest @@ -14778,7 +14835,7 @@ export type ValidateAndFetchPluginDataRequest = Message<"wg.cosmo.platform.v1.Va * Use `create(ValidateAndFetchPluginDataRequestSchema)` to create a new message. */ export const ValidateAndFetchPluginDataRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 457); + messageDesc(file_wg_cosmo_platform_v1_platform, 458); /** * @generated from message wg.cosmo.platform.v1.ValidateAndFetchPluginDataResponse @@ -14810,7 +14867,7 @@ export type ValidateAndFetchPluginDataResponse = Message<"wg.cosmo.platform.v1.V * Use `create(ValidateAndFetchPluginDataResponseSchema)` to create a new message. */ export const ValidateAndFetchPluginDataResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 458); + messageDesc(file_wg_cosmo_platform_v1_platform, 459); /** * @generated from message wg.cosmo.platform.v1.LinkSubgraphRequest @@ -14842,7 +14899,7 @@ export type LinkSubgraphRequest = Message<"wg.cosmo.platform.v1.LinkSubgraphRequ * Use `create(LinkSubgraphRequestSchema)` to create a new message. */ export const LinkSubgraphRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 459); + messageDesc(file_wg_cosmo_platform_v1_platform, 460); /** * @generated from message wg.cosmo.platform.v1.LinkSubgraphResponse @@ -14859,7 +14916,7 @@ export type LinkSubgraphResponse = Message<"wg.cosmo.platform.v1.LinkSubgraphRes * Use `create(LinkSubgraphResponseSchema)` to create a new message. */ export const LinkSubgraphResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 460); + messageDesc(file_wg_cosmo_platform_v1_platform, 461); /** * @generated from message wg.cosmo.platform.v1.UnlinkSubgraphRequest @@ -14881,7 +14938,7 @@ export type UnlinkSubgraphRequest = Message<"wg.cosmo.platform.v1.UnlinkSubgraph * Use `create(UnlinkSubgraphRequestSchema)` to create a new message. */ export const UnlinkSubgraphRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 461); + messageDesc(file_wg_cosmo_platform_v1_platform, 462); /** * @generated from message wg.cosmo.platform.v1.UnlinkSubgraphResponse @@ -14898,7 +14955,7 @@ export type UnlinkSubgraphResponse = Message<"wg.cosmo.platform.v1.UnlinkSubgrap * Use `create(UnlinkSubgraphResponseSchema)` to create a new message. */ export const UnlinkSubgraphResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 462); + messageDesc(file_wg_cosmo_platform_v1_platform, 463); /** * @generated from message wg.cosmo.platform.v1.VerifyAPIKeyGraphAccessRequest @@ -14915,7 +14972,7 @@ export type VerifyAPIKeyGraphAccessRequest = Message<"wg.cosmo.platform.v1.Verif * Use `create(VerifyAPIKeyGraphAccessRequestSchema)` to create a new message. */ export const VerifyAPIKeyGraphAccessRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 463); + messageDesc(file_wg_cosmo_platform_v1_platform, 464); /** * @generated from message wg.cosmo.platform.v1.VerifyAPIKeyGraphAccessResponse @@ -14942,7 +14999,7 @@ export type VerifyAPIKeyGraphAccessResponse = Message<"wg.cosmo.platform.v1.Veri * Use `create(VerifyAPIKeyGraphAccessResponseSchema)` to create a new message. */ export const VerifyAPIKeyGraphAccessResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 464); + messageDesc(file_wg_cosmo_platform_v1_platform, 465); /** * @generated from message wg.cosmo.platform.v1.InitializeCosmoUserRequest @@ -14959,7 +15016,7 @@ export type InitializeCosmoUserRequest = Message<"wg.cosmo.platform.v1.Initializ * Use `create(InitializeCosmoUserRequestSchema)` to create a new message. */ export const InitializeCosmoUserRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 465); + messageDesc(file_wg_cosmo_platform_v1_platform, 466); /** * @generated from message wg.cosmo.platform.v1.InitializeCosmoUserResponse @@ -14976,7 +15033,7 @@ export type InitializeCosmoUserResponse = Message<"wg.cosmo.platform.v1.Initiali * Use `create(InitializeCosmoUserResponseSchema)` to create a new message. */ export const InitializeCosmoUserResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 466); + messageDesc(file_wg_cosmo_platform_v1_platform, 467); /** * @generated from message wg.cosmo.platform.v1.ListOrganizationsRequest @@ -14989,7 +15046,7 @@ export type ListOrganizationsRequest = Message<"wg.cosmo.platform.v1.ListOrganiz * Use `create(ListOrganizationsRequestSchema)` to create a new message. */ export const ListOrganizationsRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 467); + messageDesc(file_wg_cosmo_platform_v1_platform, 468); /** * @generated from message wg.cosmo.platform.v1.ListOrganizationsResponse @@ -15011,7 +15068,7 @@ export type ListOrganizationsResponse = Message<"wg.cosmo.platform.v1.ListOrgani * Use `create(ListOrganizationsResponseSchema)` to create a new message. */ export const ListOrganizationsResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 468); + messageDesc(file_wg_cosmo_platform_v1_platform, 469); /** * @generated from message wg.cosmo.platform.v1.ListOrganizationsResponse.OrganizationMembership @@ -15043,7 +15100,7 @@ export type ListOrganizationsResponse_OrganizationMembership = Message<"wg.cosmo * Use `create(ListOrganizationsResponse_OrganizationMembershipSchema)` to create a new message. */ export const ListOrganizationsResponse_OrganizationMembershipSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 468, 0); + messageDesc(file_wg_cosmo_platform_v1_platform, 469, 0); /** * @generated from message wg.cosmo.platform.v1.RecomposeGraphRequest @@ -15080,7 +15137,7 @@ export type RecomposeGraphRequest = Message<"wg.cosmo.platform.v1.RecomposeGraph * Use `create(RecomposeGraphRequestSchema)` to create a new message. */ export const RecomposeGraphRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 469); + messageDesc(file_wg_cosmo_platform_v1_platform, 470); /** * @generated from message wg.cosmo.platform.v1.RecomposeGraphResponse @@ -15117,7 +15174,7 @@ export type RecomposeGraphResponse = Message<"wg.cosmo.platform.v1.RecomposeGrap * Use `create(RecomposeGraphResponseSchema)` to create a new message. */ export const RecomposeGraphResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 470); + messageDesc(file_wg_cosmo_platform_v1_platform, 471); /** * @generated from message wg.cosmo.platform.v1.RecomposeFeatureFlagRequest @@ -15149,7 +15206,7 @@ export type RecomposeFeatureFlagRequest = Message<"wg.cosmo.platform.v1.Recompos * Use `create(RecomposeFeatureFlagRequestSchema)` to create a new message. */ export const RecomposeFeatureFlagRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 471); + messageDesc(file_wg_cosmo_platform_v1_platform, 472); /** * @generated from message wg.cosmo.platform.v1.RecomposeFeatureFlagResponse @@ -15186,7 +15243,7 @@ export type RecomposeFeatureFlagResponse = Message<"wg.cosmo.platform.v1.Recompo * Use `create(RecomposeFeatureFlagResponseSchema)` to create a new message. */ export const RecomposeFeatureFlagResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 472); + messageDesc(file_wg_cosmo_platform_v1_platform, 473); /** * @generated from message wg.cosmo.platform.v1.GetOnboardingRequest @@ -15199,7 +15256,7 @@ export type GetOnboardingRequest = Message<"wg.cosmo.platform.v1.GetOnboardingRe * Use `create(GetOnboardingRequestSchema)` to create a new message. */ export const GetOnboardingRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 473); + messageDesc(file_wg_cosmo_platform_v1_platform, 474); /** * @generated from message wg.cosmo.platform.v1.GetOnboardingResponse @@ -15231,7 +15288,7 @@ export type GetOnboardingResponse = Message<"wg.cosmo.platform.v1.GetOnboardingR * Use `create(GetOnboardingResponseSchema)` to create a new message. */ export const GetOnboardingResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 474); + messageDesc(file_wg_cosmo_platform_v1_platform, 475); /** * @generated from message wg.cosmo.platform.v1.CreateOnboardingRequest @@ -15244,7 +15301,7 @@ export type CreateOnboardingRequest = Message<"wg.cosmo.platform.v1.CreateOnboar * Use `create(CreateOnboardingRequestSchema)` to create a new message. */ export const CreateOnboardingRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 475); + messageDesc(file_wg_cosmo_platform_v1_platform, 476); /** * @generated from message wg.cosmo.platform.v1.CreateOnboardingResponse @@ -15271,7 +15328,7 @@ export type CreateOnboardingResponse = Message<"wg.cosmo.platform.v1.CreateOnboa * Use `create(CreateOnboardingResponseSchema)` to create a new message. */ export const CreateOnboardingResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 476); + messageDesc(file_wg_cosmo_platform_v1_platform, 477); /** * @generated from message wg.cosmo.platform.v1.FinishOnboardingRequest @@ -15284,7 +15341,7 @@ export type FinishOnboardingRequest = Message<"wg.cosmo.platform.v1.FinishOnboar * Use `create(FinishOnboardingRequestSchema)` to create a new message. */ export const FinishOnboardingRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 477); + messageDesc(file_wg_cosmo_platform_v1_platform, 478); /** * @generated from message wg.cosmo.platform.v1.FinishOnboardingResponse @@ -15311,7 +15368,7 @@ export type FinishOnboardingResponse = Message<"wg.cosmo.platform.v1.FinishOnboa * Use `create(FinishOnboardingResponseSchema)` to create a new message. */ export const FinishOnboardingResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_wg_cosmo_platform_v1_platform, 478); + messageDesc(file_wg_cosmo_platform_v1_platform, 479); /** * @generated from enum wg.cosmo.platform.v1.BatchPublishJobStatus diff --git a/controlplane/src/core/bufservices/feature-flag/getFeatureFlagsInLatestCompositionByFederatedGraph.ts b/controlplane/src/core/bufservices/feature-flag/getFeatureFlagsInLatestCompositionByFederatedGraph.ts index 70be99e2b..590f08a2a 100644 --- a/controlplane/src/core/bufservices/feature-flag/getFeatureFlagsInLatestCompositionByFederatedGraph.ts +++ b/controlplane/src/core/bufservices/feature-flag/getFeatureFlagsInLatestCompositionByFederatedGraph.ts @@ -1,12 +1,14 @@ import { HandlerContext } from '@connectrpc/connect'; import { EnumStatusCode } from '@wundergraph/cosmo-connect/dist/common/common_pb'; import { + FeatureSubgraphInFlagComposition, GetFeatureFlagsInLatestCompositionByFederatedGraphRequest, GetFeatureFlagsInLatestCompositionByFederatedGraphResponse, } from '@wundergraph/cosmo-connect/dist/platform/v1/platform_pb'; import { PlainMessage, FeatureFlagDTO } from '../../../types/index.js'; import { FeatureFlagRepository } from '../../repositories/FeatureFlagRepository.js'; import { FederatedGraphRepository } from '../../repositories/FederatedGraphRepository.js'; +import { GraphCompositionRepository } from '../../repositories/GraphCompositionRepository.js'; import { NamespaceRepository } from '../../repositories/NamespaceRepository.js'; import type { RouterOptions } from '../../routes.js'; import { enrichLogger, getLogger, handleError } from '../../util.js'; @@ -37,6 +39,7 @@ export function getFeatureFlagsInLatestCompositionByFederatedGraph( details: `Namespace ${req.namespace} not found`, }, featureFlags: [], + featureSubgraphs: [], }; } @@ -48,6 +51,7 @@ export function getFeatureFlagsInLatestCompositionByFederatedGraph( details: `Federated Graph '${req.federatedGraphName}' not found`, }, featureFlags: [], + featureSubgraphs: [], }; } @@ -62,21 +66,46 @@ export function getFeatureFlagsInLatestCompositionByFederatedGraph( }); const featureFlags: FeatureFlagDTO[] = []; - if (ffsInLatestValidComposition) { - for (const ff of ffsInLatestValidComposition) { - if (!ff.featureFlagId) { - continue; - } - const flag = await featureFlagRepo.getFeatureFlagById({ - featureFlagId: ff.featureFlagId, - namespaceId: namespace.id, - includeSubgraphs: false, - }); - if (flag) { - // True means the composition reported for this flag is its last successful one, not its latest. - featureFlags.push({ ...flag, hasFailedLatestComposition: ff.hasFailedLatestComposition }); - } + const flagIdByComposedSchemaVersionId = new Map(); + for (const ff of ffsInLatestValidComposition ?? []) { + if (!ff.featureFlagId) { + continue; } + const flag = await featureFlagRepo.getFeatureFlagById({ + featureFlagId: ff.featureFlagId, + namespaceId: namespace.id, + includeSubgraphs: false, + }); + if (flag) { + // True means the composition reported for this flag is its last successful one, not its latest. + featureFlags.push({ ...flag, hasFailedLatestComposition: ff.hasFailedLatestComposition }); + flagIdByComposedSchemaVersionId.set(ff.id, ff.featureFlagId); + } + } + + const compositionRepo = new GraphCompositionRepository(logger, opts.db); + const pinnedFeatureSubgraphs = await compositionRepo.getFeatureSubgraphsByComposedSchemaVersionIds({ + schemaVersionIds: [...flagIdByComposedSchemaVersionId.keys()], + organizationId: authContext.organizationId, + rbac: authContext.rbac, + }); + + const featureSubgraphs: PlainMessage[] = []; + for (const pinned of pinnedFeatureSubgraphs) { + const featureFlagId = flagIdByComposedSchemaVersionId.get(pinned.composedSchemaVersionId); + if (!featureFlagId) { + continue; + } + + featureSubgraphs.push({ + featureFlagId, + id: pinned.id, + name: pinned.name, + targetId: pinned.targetId, + schemaVersionId: pinned.schemaVersionId, + routingUrl: pinned.routingUrl, + subscriptionUrl: pinned.subscriptionUrl ?? '', + }); } return { @@ -84,6 +113,7 @@ export function getFeatureFlagsInLatestCompositionByFederatedGraph( code: EnumStatusCode.OK, }, featureFlags, + featureSubgraphs, }; }, ); diff --git a/controlplane/src/core/repositories/GraphCompositionRepository.ts b/controlplane/src/core/repositories/GraphCompositionRepository.ts index dc4b88278..8865daa32 100644 --- a/controlplane/src/core/repositories/GraphCompositionRepository.ts +++ b/controlplane/src/core/repositories/GraphCompositionRepository.ts @@ -9,13 +9,16 @@ import { graphCompositionSubgraphs, schemaVersion, subgraphs, + targets, users, } from '../../db/schema.js'; import { DateRange, GraphCompositionDTO } from '../../types/index.js'; import { CompositionSubgraphRecord } from '../composition/composer.js'; +import { RBACEvaluator } from '../services/RBACEvaluator.js'; import { traced } from '../tracing.js'; import { FederatedGraphRepository } from './FederatedGraphRepository.js'; import { OrganizationRepository } from './OrganizationRepository.js'; +import { SubgraphRepository } from './SubgraphRepository.js'; @traced export class GraphCompositionRepository { @@ -411,6 +414,52 @@ export class GraphCompositionRepository { return [...compositionSubgraphs, ...childCompositionSubgraphs]; } + /** + * @param input.schemaVersionIds Composed schema versions of the compositions to read. + * @returns A row per feature subgraph per composition, where `schemaVersionId` is the version + * that composition froze rather than the latest published one. Feature subgraphs deleted since + * the composition are omitted, even though `graph_composition_subgraphs` retains their rows. + */ + public async getFeatureSubgraphsByComposedSchemaVersionIds(input: { + schemaVersionIds: string[]; + organizationId: string; + rbac?: RBACEvaluator; + }) { + if (input.schemaVersionIds.length === 0) { + return []; + } + + const conditions: (SQL | undefined)[] = [ + inArray(graphCompositions.schemaVersionId, input.schemaVersionIds), + eq(schemaVersion.organizationId, input.organizationId), + eq(graphCompositionSubgraphs.isFeatureSubgraph, true), + not(eq(graphCompositionSubgraphs.changeType, 'removed')), + ]; + + // The query must join targets, which the RBAC conditions gate on. + if (!SubgraphRepository.applyRbacConditionsToQuery(input.rbac, conditions)) { + return []; + } + + return await this.db + .select({ + composedSchemaVersionId: graphCompositions.schemaVersionId, + id: graphCompositionSubgraphs.subgraphId, + name: graphCompositionSubgraphs.subgraphName, + targetId: graphCompositionSubgraphs.subgraphTargetId, + schemaVersionId: graphCompositionSubgraphs.schemaVersionId, + routingUrl: subgraphs.routingUrl, + subscriptionUrl: subgraphs.subscriptionUrl, + }) + .from(graphCompositionSubgraphs) + .innerJoin(graphCompositions, eq(graphCompositions.id, graphCompositionSubgraphs.graphCompositionId)) + .innerJoin(schemaVersion, eq(schemaVersion.id, graphCompositions.schemaVersionId)) + .innerJoin(subgraphs, eq(subgraphs.id, graphCompositionSubgraphs.subgraphId)) + .innerJoin(targets, eq(targets.id, subgraphs.targetId)) + .where(and(...conditions)) + .execute(); + } + public async getGraphCompositions({ fedGraphTargetId, organizationId, diff --git a/controlplane/test/feature-flag/get-feature-flags-in-latest-composition-by-federated-graph.test.ts b/controlplane/test/feature-flag/get-feature-flags-in-latest-composition-by-federated-graph.test.ts index 8298cfa10..cd384afc3 100644 --- a/controlplane/test/feature-flag/get-feature-flags-in-latest-composition-by-federated-graph.test.ts +++ b/controlplane/test/feature-flag/get-feature-flags-in-latest-composition-by-federated-graph.test.ts @@ -3,7 +3,14 @@ import { join } from 'node:path'; import { EnumStatusCode } from '@wundergraph/cosmo-connect/dist/common/common_pb'; import { addMinutes, formatISO, subDays } from 'date-fns'; import { afterAll, beforeAll, describe, expect, onTestFinished, test } from 'vitest'; -import { afterAllSetup, beforeAllSetup, genID, genUniqueLabel } from '../../src/core/test-util.js'; +import { + afterAllSetup, + beforeAllSetup, + createTestGroup, + createTestRBACEvaluator, + genID, + genUniqueLabel, +} from '../../src/core/test-util.js'; import { createAndPublishSubgraph, createFeatureFlag, @@ -11,12 +18,120 @@ import { createNamespace, createThenPublishFeatureSubgraph, DEFAULT_ROUTER_URL, + featureFlagIntegrationTestSetUp, DEFAULT_SUBGRAPH_URL_ONE, SetupTest, } from '../test-util.js'; let dbname = ''; +async function expectFeatureSubgraphsScopedToTheirFlag(client: Awaited>['client']) { + const namespace = genID('namespace').toLowerCase(); + await createNamespace(client, namespace); + + const labels = [genUniqueLabel()]; + const federatedGraphName = genID('fedGraph'); + + await createAndPublishSubgraph( + client, + 'products', + namespace, + fs.readFileSync(join(process.cwd(), 'test/test-data/feature-flags/products-standalone.graphql')).toString(), + labels, + DEFAULT_SUBGRAPH_URL_ONE, + ); + + // Two feature subgraphs over one base subgraph, which is only legal across separate flags. + await createThenPublishFeatureSubgraph( + client, + 'products-feature-one', + 'products', + namespace, + fs.readFileSync(join(process.cwd(), 'test/test-data/feature-flags/products-standalone-feature.graphql')).toString(), + labels, + 'http://localhost:4101', + ); + + await createThenPublishFeatureSubgraph( + client, + 'products-feature-two', + 'products', + namespace, + fs.readFileSync(join(process.cwd(), 'test/test-data/feature-flags/products-standalone-update.graphql')).toString(), + labels, + 'http://localhost:4102', + ); + + const federatedGraphLabels = labels.map(({ key, value }) => `${key}=${value}`); + await createFederatedGraph(client, federatedGraphName, namespace, federatedGraphLabels, DEFAULT_ROUTER_URL); + + const flagOneName = genID('flag'); + await createFeatureFlag(client, flagOneName, labels, ['products-feature-one'], namespace, true); + + const flagTwoName = genID('flag'); + await createFeatureFlag(client, flagTwoName, labels, ['products-feature-two'], namespace, true); + + let resp = await client.getFeatureFlagsInLatestCompositionByFederatedGraph({ + federatedGraphName, + namespace, + }); + expect(resp.response?.code).toBe(EnumStatusCode.OK); + + const flagOne = resp.featureFlags.find((flag) => flag.name === flagOneName); + const flagTwo = resp.featureFlags.find((flag) => flag.name === flagTwoName); + expect(flagOne).toBeDefined(); + expect(flagTwo).toBeDefined(); + + // Exact membership, so a response that leaked either feature subgraph into both flags fails. + expect(resp.featureSubgraphs).toHaveLength(2); + const ofFlagOne = resp.featureSubgraphs.filter((sg) => sg.featureFlagId === flagOne!.id); + const ofFlagTwo = resp.featureSubgraphs.filter((sg) => sg.featureFlagId === flagTwo!.id); + expect(ofFlagOne).toHaveLength(1); + expect(ofFlagTwo).toHaveLength(1); + + const featureSubgraphOne = ofFlagOne[0]; + const featureSubgraphTwo = ofFlagTwo[0]; + + expect(featureSubgraphOne.name).toBe('products-feature-one'); + expect(featureSubgraphOne.routingUrl).toBe('http://localhost:4101'); + expect(featureSubgraphOne.schemaVersionId).toBeTruthy(); + + expect(featureSubgraphTwo.name).toBe('products-feature-two'); + expect(featureSubgraphTwo.routingUrl).toBe('http://localhost:4102'); + expect(featureSubgraphTwo.schemaVersionId).toBeTruthy(); + + // Republishing recomposes only the flag that contains it. + const previousVersionOne = featureSubgraphOne.schemaVersionId; + const previousVersionTwo = featureSubgraphTwo.schemaVersionId; + + const republishResp = await client.publishFederatedSubgraph({ + name: 'products-feature-one', + namespace, + schema: fs + .readFileSync(join(process.cwd(), 'test/test-data/feature-flags/products-standalone-update.graphql')) + .toString(), + }); + expect(republishResp.response?.code).toBe(EnumStatusCode.OK); + + resp = await client.getFeatureFlagsInLatestCompositionByFederatedGraph({ + federatedGraphName, + namespace, + }); + expect(resp.response?.code).toBe(EnumStatusCode.OK); + + const updatedFlagOne = resp.featureFlags.find((flag) => flag.name === flagOneName); + const updatedFlagTwo = resp.featureFlags.find((flag) => flag.name === flagTwoName); + + expect(resp.featureSubgraphs).toHaveLength(2); + const updatedOfFlagOne = resp.featureSubgraphs.filter((sg) => sg.featureFlagId === updatedFlagOne!.id); + const updatedOfFlagTwo = resp.featureSubgraphs.filter((sg) => sg.featureFlagId === updatedFlagTwo!.id); + expect(updatedOfFlagOne).toHaveLength(1); + expect(updatedOfFlagTwo).toHaveLength(1); + + expect(updatedOfFlagOne[0].schemaVersionId).not.toBe(previousVersionOne); + expect(updatedOfFlagTwo[0].schemaVersionId).toBe(previousVersionTwo); +} + describe('GetFeatureFlagsInLatestCompositionByFederatedGraph', () => { beforeAll(async () => { dbname = await beforeAllSetup(); @@ -769,4 +884,125 @@ describe('GetFeatureFlagsInLatestCompositionByFederatedGraph', () => { expect(resp.featureFlags.map((f) => f.name)).toStrictEqual([enabledFlagName]); }, ); + + test('that feature subgraphs are returned scoped to the flag whose composition pinned them', async (testContext) => { + const { client, server } = await SetupTest({ dbname }); + testContext.onTestFinished(() => server.close()); + + await expectFeatureSubgraphsScopedToTheirFlag(client); + }); + + test('that feature subgraphs are scoped to their flag when split config loading is enabled', async (testContext) => { + const { client, server } = await SetupTest({ dbname, enabledFeatures: ['split-config-loading'] }); + testContext.onTestFinished(() => server.close()); + + await expectFeatureSubgraphsScopedToTheirFlag(client); + }); + + test('that feature subgraphs are hidden from a caller without subgraph read access', async (testContext) => { + const { client, server, authenticator, users } = await SetupTest({ dbname }); + testContext.onTestFinished(() => server.close()); + + const namespace = genID('namespace').toLowerCase(); + const labels = [genUniqueLabel()]; + const federatedGraphName = genID('fedGraph'); + + await createNamespace(client, namespace); + + await createAndPublishSubgraph( + client, + 'products', + namespace, + fs.readFileSync(join(process.cwd(), 'test/test-data/feature-flags/products-standalone.graphql')).toString(), + labels, + DEFAULT_SUBGRAPH_URL_ONE, + ); + + await createThenPublishFeatureSubgraph( + client, + 'products-feature', + 'products', + namespace, + fs + .readFileSync(join(process.cwd(), 'test/test-data/feature-flags/products-standalone-feature.graphql')) + .toString(), + labels, + 'http://localhost:4101', + ); + + const federatedGraphLabels = labels.map(({ key, value }) => `${key}=${value}`); + await createFederatedGraph(client, federatedGraphName, namespace, federatedGraphLabels, DEFAULT_ROUTER_URL); + + const flagName = genID('flag'); + await createFeatureFlag(client, flagName, labels, ['products-feature'], namespace, true); + + const namespaceResp = await client.getNamespace({ name: namespace }); + expect(namespaceResp.response?.code).toBe(EnumStatusCode.OK); + + // graph-viewer can read the graph and its flags, but has no subgraph role. + authenticator.changeUserWithSuppliedContext({ + ...users.adminAliceCompanyA, + rbac: createTestRBACEvaluator( + createTestGroup({ role: 'graph-viewer', namespaces: [namespaceResp.namespace!.id] }), + ), + }); + + const resp = await client.getFeatureFlagsInLatestCompositionByFederatedGraph({ + federatedGraphName, + namespace, + }); + + expect(resp.response?.code).toBe(EnumStatusCode.OK); + expect(resp.featureFlags.some((flag) => flag.name === flagName)).toBe(true); + expect(resp.featureSubgraphs).toHaveLength(0); + }); + + test('that a feature subgraph removed from a flag is no longer returned', async (testContext) => { + const { client, server } = await SetupTest({ dbname }); + testContext.onTestFinished(() => server.close()); + + const labels = [genUniqueLabel()]; + const federatedGraphName = genID('fedGraph'); + + await featureFlagIntegrationTestSetUp( + client, + [ + { name: 'users', hasFeatureSubgraph: true }, + { name: 'products', hasFeatureSubgraph: true }, + ], + federatedGraphName, + labels, + ); + + const flagName = genID('flag'); + await createFeatureFlag(client, flagName, labels, ['users-feature', 'products-feature'], 'default', true); + + let resp = await client.getFeatureFlagsInLatestCompositionByFederatedGraph({ + federatedGraphName, + namespace: 'default', + }); + expect(resp.response?.code).toBe(EnumStatusCode.OK); + expect(new Set(resp.featureSubgraphs.map((sg) => sg.name))).toStrictEqual( + new Set(['users-feature', 'products-feature']), + ); + + // Recomposing after the drop records users-feature with changeType 'removed' rather than + // deleting the row, so it must be filtered out of the response. users-feature is the one + // dropped because it carries @override(from: "products-feature"), which would be orphaned. + const updateResp = await client.updateFeatureFlag({ + name: flagName, + namespace: 'default', + labels, + featureSubgraphNames: ['products-feature'], + }); + expect(updateResp.response?.code).toBe(EnumStatusCode.OK); + + resp = await client.getFeatureFlagsInLatestCompositionByFederatedGraph({ + federatedGraphName, + namespace: 'default', + }); + expect(resp.response?.code).toBe(EnumStatusCode.OK); + expect(resp.featureFlags.some((flag) => flag.name === flagName)).toBe(true); + expect(resp.featureSubgraphs.map((sg) => sg.name)).toStrictEqual(['products-feature']); + }); }); diff --git a/docs-website/studio/playground.mdx b/docs-website/studio/playground.mdx index e18f647bc..bd628f3ea 100644 --- a/docs-website/studio/playground.mdx +++ b/docs-website/studio/playground.mdx @@ -19,6 +19,19 @@ The playground is enhanced with visual representations of the query execution pl For more information about Advanced Request Tracing (ART) click [here](/router/advanced-request-tracing-art) +## Choosing what to query + +The dropdown in the playground toolbar selects what the editor validates against and where requests are sent: + +- **Graph** sends requests to the router and uses the federated client schema. +- **Feature flags** send requests to the router with the `X-Feature-Flag` header set to that flag, and use the flag's composed client schema. Only flags in the graph's latest valid composition are listed. +- **Subgraphs** send requests to the subgraph's own routing URL, bypassing the router, and use the schema that subgraph contributed to the latest composition. +- **Feature subgraphs** are listed under the feature flag they belong to. They send requests to the feature subgraph's own routing URL, bypassing the router, and use the schema version that flag's composition pinned. No `X-Feature-Flag` header is sent, since the router is not in the request path. + + +A feature subgraph appears under a feature flag rather than in the Subgraphs group because feature flags compose independently, so the same feature subgraph can be pinned at a different schema version by each flag that contains it. See [Feature Flags](/concepts/feature-flags). + + +A feature subgraph is listed under a feature flag rather than alongside the base subgraphs because its schema is only well defined per flag. Feature flags compose independently, so a feature subgraph shared by two flags can appear at a different version under each, and either version can be behind the latest published one if a later composition failed. + + ## Copy and Download Schemas You'll find buttons to copy or download the schema as a `.graphql` file, which you can open in any text editor or import into various development tools. diff --git a/proto/wg/cosmo/platform/v1/platform.proto b/proto/wg/cosmo/platform/v1/platform.proto index 5904e225b..e3c81317b 100644 --- a/proto/wg/cosmo/platform/v1/platform.proto +++ b/proto/wg/cosmo/platform/v1/platform.proto @@ -2726,10 +2726,24 @@ message GetFeatureFlagsInLatestCompositionByFederatedGraphRequest { string namespace = 2; } +// Feature flags compose independently, so the same feature subgraph can appear once per flag with +// a different schema_version_id. +message FeatureSubgraphInFlagComposition { + string feature_flag_id = 1; + string id = 2; + string name = 3; + string target_id = 4; + // The version that flag's composition used, not the latest published version. + string schema_version_id = 5; + string routing_url = 6; + string subscription_url = 7; +} + message GetFeatureFlagsInLatestCompositionByFederatedGraphResponse { Response response = 1; // feature flags that are part of the latest valid composition of the federated graph repeated FeatureFlag feature_flags = 2; + repeated FeatureSubgraphInFlagComposition feature_subgraphs = 3; } message GetFeatureSubgraphsByFederatedGraphRequest { diff --git a/studio/src/__tests__/playground-schema-loading.test.ts b/studio/src/__tests__/playground-schema-loading.test.ts new file mode 100644 index 000000000..be04b43d4 --- /dev/null +++ b/studio/src/__tests__/playground-schema-loading.test.ts @@ -0,0 +1,33 @@ +import { describe, expect, test } from 'vitest'; +import { isPlaygroundSchemaLoading, PlaygroundSchemaLoadingInput } from '../lib/playground-schema-loading'; + +const settled: PlaygroundSchemaLoadingInput = { + isLoadingGraphSchema: false, + isLoadingSubgraphSchema: false, + isLoadingFeatureSubgraphSchema: false, + isLoadingCompositionFlags: false, + isFeatureSubgraphSelected: false, +}; + +describe('isPlaygroundSchemaLoading', () => { + test('that a feature subgraph selection waits for the feature flag list', () => { + expect( + isPlaygroundSchemaLoading({ + ...settled, + isFeatureSubgraphSelected: true, + isLoadingCompositionFlags: true, + }), + ).toBe(true); + }); + + // A stale bookmark, a renamed flag, or a feature subgraph dropped from the flag leaves the + // selection unresolvable. Gating on the resolved value rather than the request kept the schema + // withheld forever. + test('that an unresolvable feature subgraph stops waiting once the flag list settles', () => { + expect(isPlaygroundSchemaLoading({ ...settled, isFeatureSubgraphSelected: true })).toBe(false); + }); + + test('that a graph selection does not wait for the feature flag list', () => { + expect(isPlaygroundSchemaLoading({ ...settled, isLoadingCompositionFlags: true })).toBe(false); + }); +}); diff --git a/studio/src/components/schema/feature-flag-menu-item.tsx b/studio/src/components/schema/feature-flag-menu-item.tsx new file mode 100644 index 000000000..2c01ac015 --- /dev/null +++ b/studio/src/components/schema/feature-flag-menu-item.tsx @@ -0,0 +1,80 @@ +import { SchemaSelection } from '@/components/schema/schema-selection'; +import { StaleCompositionIcon } from '@/components/schema/stale-composition-warning'; +import { + DropdownMenuLabel, + DropdownMenuPortal, + DropdownMenuRadioGroup, + DropdownMenuRadioItem, + DropdownMenuSeparator, + DropdownMenuSub, + DropdownMenuSubContent, + DropdownMenuSubTrigger, +} from '@/components/ui/dropdown-menu'; +import { FeatureFlag, FeatureSubgraphInFlagComposition } from '@wundergraph/cosmo-connect/dist/platform/v1/platform_pb'; +import { RxComponentInstance } from 'react-icons/rx'; + +export interface FeatureFlagMenuItemProps { + featureFlag: FeatureFlag; + featureSubgraphs: FeatureSubgraphInFlagComposition[]; + selection: SchemaSelection; + onSelect: (selection: SchemaSelection) => void; +} + +export const FeatureFlagMenuItem = ({ + featureFlag, + featureSubgraphs, + selection, + onSelect, +}: FeatureFlagMenuItemProps) => { + const { name, hasFailedLatestComposition } = featureFlag; + const isActive = selection.featureFlag === name; + + return ( + + + + {name} + {hasFailedLatestComposition && } + + + + + onSelect({ featureFlag: name, schemaType: value })} + > + + Client Schema + + + Router Schema + + + + {featureSubgraphs.length > 0 && ( + <> + + + Feature Subgraphs + + onSelect({ featureFlag: name, subgraph: value })} + > + {featureSubgraphs.map((featureSubgraph) => ( + + {featureSubgraph.name} + + ))} + + + )} + + + + ); +}; diff --git a/studio/src/components/schema/schema-selection.ts b/studio/src/components/schema/schema-selection.ts new file mode 100644 index 000000000..a6c739207 --- /dev/null +++ b/studio/src/components/schema/schema-selection.ts @@ -0,0 +1,7 @@ +export type SchemaType = 'client' | 'router'; + +export interface SchemaSelection { + featureFlag?: string; + subgraph?: string; + schemaType?: string; +} diff --git a/studio/src/components/schema/schema-selector.tsx b/studio/src/components/schema/schema-selector.tsx new file mode 100644 index 000000000..c89dfa826 --- /dev/null +++ b/studio/src/components/schema/schema-selector.tsx @@ -0,0 +1,157 @@ +import { GraphContext } from '@/components/layout/graph-layout'; +import { FeatureFlagMenuItem } from '@/components/schema/feature-flag-menu-item'; +import { SchemaSelection } from '@/components/schema/schema-selection'; +import { Badge } from '@/components/ui/badge'; +import { Button } from '@/components/ui/button'; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuGroup, + DropdownMenuLabel, + DropdownMenuPortal, + DropdownMenuRadioGroup, + DropdownMenuRadioItem, + DropdownMenuSub, + DropdownMenuSubContent, + DropdownMenuSubTrigger, + DropdownMenuTrigger, +} from '@/components/ui/dropdown-menu'; +import { Separator } from '@/components/ui/separator'; +import { ChevronUpDownIcon } from '@heroicons/react/24/outline'; +import { Component2Icon } from '@radix-ui/react-icons'; +import { FeatureFlag, FeatureSubgraphInFlagComposition } from '@wundergraph/cosmo-connect/dist/platform/v1/platform_pb'; +import { useContext } from 'react'; +import { MdOutlineFeaturedPlayList } from 'react-icons/md'; +import { PiGraphLight } from 'react-icons/pi'; + +export interface SchemaSelectorProps { + title: string; + supportsFederation: boolean; + featureFlags: FeatureFlag[]; + selection: SchemaSelection; + onSelect: (selection: SchemaSelection) => void; + subgraphNames?: string[]; + featureSubgraphsOfFlag?: (featureFlagId: string) => FeatureSubgraphInFlagComposition[]; +} + +export const SchemaSelector = ({ + title, + supportsFederation, + featureFlags, + selection, + onSelect, + subgraphNames, + featureSubgraphsOfFlag, +}: SchemaSelectorProps) => { + const graphData = useContext(GraphContext); + const activeSchemaType = selection.schemaType ?? 'client'; + + return ( + + +
+ +
+
+ + {supportsFederation ? ( + <> + + + Graph + + + {graphData?.graph?.name} + + + onSelect({ schemaType: value })} + value={!selection.featureFlag && !selection.subgraph ? activeSchemaType : ''} + > + + Client Schema + + + Router Schema + + + + + + + + {featureFlags.length > 0 && ( + <> + + + + + Feature Flags + + {featureFlags.map((featureFlag) => ( + + ))} + + + )} + + {subgraphNames && subgraphNames.length > 0 && ( + <> + + + + Subgraphs + + onSelect({ subgraph: value })} + value={selection.featureFlag ? '' : (selection.subgraph ?? '')} + > + {subgraphNames.map((name) => ( + + {name} + + ))} + + + + )} + + ) : ( + onSelect({ subgraph: value || undefined })} + value={selection.subgraph ?? ''} + > + + Router SDL + + {(subgraphNames ?? []).map((name) => ( + + Published SDL + + ))} + + )} + +
+ ); +}; diff --git a/studio/src/components/schema/schema-type-select.tsx b/studio/src/components/schema/schema-type-select.tsx new file mode 100644 index 000000000..439aeb7e0 --- /dev/null +++ b/studio/src/components/schema/schema-type-select.tsx @@ -0,0 +1,35 @@ +import { SchemaType } from '@/components/schema/schema-selection'; +import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; +import { Separator } from '@/components/ui/separator'; +import { sentenceCase } from 'change-case'; + +export interface SchemaTypeSelectProps { + value: SchemaType; + onValueChange: (value: SchemaType) => void; + className?: string; +} + +export const SchemaTypeSelect = ({ value, onValueChange, className }: SchemaTypeSelectProps) => { + return ( + + ); +}; diff --git a/studio/src/lib/playground-schema-loading.ts b/studio/src/lib/playground-schema-loading.ts new file mode 100644 index 000000000..6fa52e85d --- /dev/null +++ b/studio/src/lib/playground-schema-loading.ts @@ -0,0 +1,25 @@ +export interface PlaygroundSchemaLoadingInput { + isLoadingGraphSchema: boolean; + isLoadingSubgraphSchema: boolean; + isLoadingFeatureSubgraphSchema: boolean; + /** True while the feature flag list, which resolves a feature subgraph selection, is in flight. */ + isLoadingCompositionFlags: boolean; + isFeatureSubgraphSelected: boolean; +} + +/** + * Whether the playground should withhold the schema from GraphiQL. A feature subgraph selection is + * resolved from the feature flag list, so it is not yet known which schema to fetch until that has + * loaded. Handing GraphiQL a schema before then would give it the federated graph's. + */ +export const isPlaygroundSchemaLoading = ({ + isLoadingGraphSchema, + isLoadingSubgraphSchema, + isLoadingFeatureSubgraphSchema, + isLoadingCompositionFlags, + isFeatureSubgraphSelected, +}: PlaygroundSchemaLoadingInput): boolean => + isLoadingGraphSchema || + isLoadingSubgraphSchema || + isLoadingFeatureSubgraphSchema || + (isFeatureSubgraphSelected && isLoadingCompositionFlags); diff --git a/studio/src/pages/[organizationSlug]/[namespace]/graph/[slug]/compositions/[compositionId]/index.tsx b/studio/src/pages/[organizationSlug]/[namespace]/graph/[slug]/compositions/[compositionId]/index.tsx index c202bc472..371beabd0 100644 --- a/studio/src/pages/[organizationSlug]/[namespace]/graph/[slug]/compositions/[compositionId]/index.tsx +++ b/studio/src/pages/[organizationSlug]/[namespace]/graph/[slug]/compositions/[compositionId]/index.tsx @@ -1,6 +1,7 @@ import { getCheckIcon } from '@/components/check-badge-icon'; import { EmptyState } from '@/components/empty-state'; import { GraphContext, GraphPageLayout, getGraphLayout } from '@/components/layout/graph-layout'; +import { SchemaTypeSelect } from '@/components/schema/schema-type-select'; import { SDLViewerActions } from '@/components/schema/sdl-viewer'; import { SDLViewerMonaco } from '@/components/schema/sdl-viewer-monaco'; import { Alert, AlertDescription, AlertTitle } from '@/components/ui/alert'; @@ -16,7 +17,6 @@ import { SelectTrigger, SelectValue, } from '@/components/ui/select'; -import { Separator } from '@/components/ui/separator'; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, TableWrapper } from '@/components/ui/table'; import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip'; @@ -39,7 +39,6 @@ import { GraphCompositionSubgraph, SubgraphType, } from '@wundergraph/cosmo-connect/dist/platform/v1/platform_pb'; -import { sentenceCase } from 'change-case'; import { formatDistanceToNow } from 'date-fns'; import Link from 'next/link'; import { useRouter } from 'next/router'; @@ -471,29 +470,7 @@ export const CompositionDetails = ({ sdlData.sdl !== 'full' && (
- + { ); }; +type ConfigType = 'graph' | 'featureFlag' | 'featureSubgraph' | 'subgraph'; + +const CONFIG_TYPE_LABELS: Record = { + graph: 'Graph', + featureFlag: 'Feature flag', + featureSubgraph: 'Feature subgraph', + subgraph: 'Subgraph', +}; + +const isConfigType = (value: string): value is ConfigType => Object.hasOwn(CONFIG_TYPE_LABELS, value); + +type ConfigSelection = { load: string; type: ConfigType; featureFlag?: string }; + +/** A feature subgraph can belong to more than one flag, so `load` alone does not identify it. */ +const configSelectionValue = (selection: ConfigSelection) => JSON.stringify(selection); + +const parseConfigSelection = (value: string): ConfigSelection => { + const { load, type, featureFlag } = JSON.parse(value) as Record; + return { + load: load ?? '', + type: type && isConfigType(type) ? type : 'graph', + featureFlag, + }; +}; + const ConfigSelect = () => { const router = useRouter(); const graphContext = useContext(GraphContext); const subgraphs = graphContext?.subgraphs; - const compositionFlagsData = useCompositionFlags(); + const { data: compositionFlagsData } = useCompositionFlags(); const featureFlags = compositionFlagsData?.featureFlags ?? []; + const featureSubgraphs = compositionFlagsData?.featureSubgraphs ?? []; const selected = (router.query.load as string) || graphContext?.graph?.id || ''; - const type = (router.query.type as string) || 'graph'; + const typeParam = (router.query.type as string) || 'graph'; + const configType: ConfigType = isConfigType(typeParam) ? typeParam : 'graph'; + const activeFeatureFlag = (router.query.featureFlag as string) || ''; const applyParams = useApplyParams(); + const currentValue = configSelectionValue({ + load: selected, + type: configType, + featureFlag: configType === 'featureSubgraph' ? activeFeatureFlag : undefined, + }); + return (
- - Querying {type === 'featureFlag' ? 'Feature flag' : type === 'subgraph' ? 'Subgraph' : 'Graph'} : - + Querying {CONFIG_TYPE_LABELS[configType]} : { - applyParams({ - schemaType: v, - }); - }} - value={(router.query.schemaType as string) || 'client'} - > - - {sentenceCase((router.query.schemaType as string) || 'client')} Schema - - - - Client Schema{' '} -

- The schema available to the clients and through introspection -

-
- - - Router Schema -

- The full schema used by the router to plan your operations -

-
-
- + applyParams({ schemaType: v })} /> ); } + + // The explorer renders supergraph schemas, so subgraphs are not selectable here. + return ( + applyParams({ featureFlag: next.featureFlag ?? null, schemaType: next.schemaType ?? null })} + /> + ); }; const Toolbar = ({ diff --git a/studio/src/pages/[organizationSlug]/[namespace]/graph/[slug]/schema/sdl.tsx b/studio/src/pages/[organizationSlug]/[namespace]/graph/[slug]/schema/sdl.tsx index db0898837..a323cb5fe 100644 --- a/studio/src/pages/[organizationSlug]/[namespace]/graph/[slug]/schema/sdl.tsx +++ b/studio/src/pages/[organizationSlug]/[namespace]/graph/[slug]/schema/sdl.tsx @@ -5,43 +5,26 @@ import { EmptySchema } from '@/components/schema/empty-schema-state'; import { SDLViewerActions } from '@/components/schema/sdl-viewer'; import { SDLViewerMonaco } from '@/components/schema/sdl-viewer-monaco'; import { SchemaToolbar } from '@/components/schema/toolbar'; -import { StaleCompositionIcon } from '@/components/schema/stale-composition-warning'; -import { Badge } from '@/components/ui/badge'; -import { Button } from '@/components/ui/button'; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuGroup, - DropdownMenuLabel, - DropdownMenuPortal, - DropdownMenuRadioGroup, - DropdownMenuRadioItem, - DropdownMenuSub, - DropdownMenuSubContent, - DropdownMenuSubTrigger, - DropdownMenuTrigger, -} from '@/components/ui/dropdown-menu'; +import { SchemaSelection } from '@/components/schema/schema-selection'; +import { SchemaSelector } from '@/components/schema/schema-selector'; import { Loader } from '@/components/ui/loader'; -import { Separator } from '@/components/ui/separator'; import useHash from '@/hooks/use-hash'; import { buildUrl } from '@/lib/build-url'; import { formatDateTime } from '@/lib/format-date'; import { NextPageWithLayout } from '@/lib/page'; import { useQuery } from '@connectrpc/connect-query'; -import { ChevronUpDownIcon } from '@heroicons/react/24/outline'; -import { Component2Icon } from '@radix-ui/react-icons'; import { EnumStatusCode } from '@wundergraph/cosmo-connect/dist/common/common_pb'; import { getFederatedGraphSDLByName, getFeatureFlagsInLatestCompositionByFederatedGraph, + getSdlBySchemaVersion, getSubgraphSDLFromLatestComposition, } from '@wundergraph/cosmo-connect/dist/platform/v1/platform-PlatformService_connectquery'; import Link from 'next/link'; import { useRouter } from 'next/router'; import { useContext } from 'react'; -import { MdOutlineFeaturedPlayList } from 'react-icons/md'; -import { PiGraphLight } from 'react-icons/pi'; import { useWorkspace } from '@/hooks/use-workspace'; +import { useApplyParams } from '@/components/analytics/use-apply-params'; const SDLPage: NextPageWithLayout = () => { const router = useRouter(); @@ -54,19 +37,59 @@ const SDLPage: NextPageWithLayout = () => { const organizationSlug = router.query.organizationSlug as string; const schemaType = router.query.schemaType as string; - const fullPath = router.asPath; - const pathWithHash = fullPath.split('?')[0]; - const pathname = pathWithHash.split('#')[0]; - const hash = useHash(); const graphData = useContext(GraphContext); + const applyParams = useApplyParams(); - const { data: federatedGraphSdl, isLoading: loadingGraphSDL } = useQuery(getFederatedGraphSDLByName, { - name: graphName, - namespace, - featureFlagName: activeFeatureFlag, - }); + const { data: compositionFlagsData, isLoading: loadingCompositionFlags } = useQuery( + getFeatureFlagsInLatestCompositionByFederatedGraph, + { + federatedGraphName: graphData?.graph?.name, + namespace, + }, + { + enabled: !!graphData?.graph?.name, + }, + ); + + const featureFlags = compositionFlagsData?.featureFlags ?? []; + + const featureSubgraphsOfFlag = (featureFlagId: string) => + compositionFlagsData?.featureSubgraphs.filter( + (featureSubgraph) => featureSubgraph.featureFlagId === featureFlagId, + ) ?? []; + + // `?featureFlag=X&subgraph=Y` addresses a feature subgraph, `?subgraph=Y` alone a base subgraph. + const isFeatureSubgraphSelected = !!activeFeatureFlag && !!activeSubgraph; + + const activeFeatureSubgraph = isFeatureSubgraphSelected + ? featureSubgraphsOfFlag(featureFlags.find((flag) => flag.name === activeFeatureFlag)?.id ?? '').find( + (featureSubgraph) => featureSubgraph.name === activeSubgraph, + ) + : undefined; + + const activeSchemaType = schemaType === 'router' ? 'router' : 'client'; + + /** Only one schema can be selected, so every selection clears the other two params. */ + const selectSchema = (next: SchemaSelection) => + applyParams({ + featureFlag: next.featureFlag ?? null, + subgraph: next.subgraph ?? null, + schemaType: next.schemaType ?? null, + }); + + const { data: federatedGraphSdl, isLoading: loadingGraphSDL } = useQuery( + getFederatedGraphSDLByName, + { + name: graphName, + namespace, + featureFlagName: activeFeatureFlag, + }, + { + enabled: !activeSubgraph, + }, + ); let validGraph = graphData?.graph?.isComposable && !!graphData?.graph?.lastUpdatedAt; @@ -78,37 +101,24 @@ const SDLPage: NextPageWithLayout = () => { namespace, }, { - enabled: !!graphData?.subgraphs && !!activeSubgraph, + enabled: !!graphData?.subgraphs && !!activeSubgraph && !isFeatureSubgraphSelected, }, ); - const { data: compositionFlagsData } = useQuery( - getFeatureFlagsInLatestCompositionByFederatedGraph, + // Feature subgraphs are not in the base composition, so getSubgraphSDLFromLatestComposition + // cannot resolve them. + const { data: featureSubgraphSdl, isLoading: loadingFeatureSubgraphSDL } = useQuery( + getSdlBySchemaVersion, { - federatedGraphName: graphData?.graph?.name, - namespace, + schemaVersionId: activeFeatureSubgraph?.schemaVersionId, + targetId: activeFeatureSubgraph?.targetId, }, { - enabled: !!graphData?.graph?.name, + enabled: !!activeFeatureSubgraph, }, ); - const subgraphs = - graphData?.subgraphs.map((each) => { - return { - name: each.name, - query: `?subgraph=${each.name}`, - }; - }) ?? []; - - const featureFlags = - compositionFlagsData?.featureFlags.map((each) => { - return { - name: each.name, - query: `?featureFlag=${each.name}`, - hasFailedLatestComposition: !!each.hasFailedLatestComposition, - }; - }) ?? []; + const subgraphs = graphData?.subgraphs ?? []; // The active flag is identified by name in the URL, so resolve staleness by name for the banner const activeFeatureFlagIsStale = featureFlags.some( @@ -119,36 +129,59 @@ const SDLPage: NextPageWithLayout = () => { return each.name === activeSubgraph; }); - const activeGraphWithSDL = activeSubgraph + // downloadName becomes a filename, so it cannot contain a slash. + const activeGraphWithSDL = isFeatureSubgraphSelected ? { - title: activeSubgraphObject?.name ?? '', - targetId: activeSubgraphObject?.targetId ?? '', - routingUrl: activeSubgraphObject?.routingURL ?? '', - sdl: subgraphSdl?.sdl ?? '', - versionId: subgraphSdl?.versionId, + title: `${activeFeatureFlag} / ${activeSubgraph}`, + downloadName: `${activeFeatureFlag}-${activeSubgraph}`, + routingUrl: activeFeatureSubgraph?.routingUrl ?? '', + sdl: featureSubgraphSdl?.sdl ?? '', time: '', } - : { - title: activeFeatureFlag || graphName, - targetId: graphData?.graph?.targetId ?? '', - routingUrl: graphData?.graph?.routingURL ?? '', - sdl: - schemaType === 'router' - ? (federatedGraphSdl?.sdl ?? '') - : federatedGraphSdl?.clientSchema || federatedGraphSdl?.sdl, - time: graphData?.graph?.lastUpdatedAt, - versionId: federatedGraphSdl?.versionId, - }; + : activeSubgraph + ? { + title: activeSubgraphObject?.name ?? '', + downloadName: activeSubgraphObject?.name ?? '', + routingUrl: activeSubgraphObject?.routingURL ?? '', + sdl: subgraphSdl?.sdl ?? '', + time: '', + } + : { + title: activeFeatureFlag || graphName, + downloadName: activeFeatureFlag || graphName, + routingUrl: graphData?.graph?.routingURL ?? '', + sdl: + activeSchemaType === 'router' + ? (federatedGraphSdl?.sdl ?? '') + : federatedGraphSdl?.clientSchema || federatedGraphSdl?.sdl, + time: graphData?.graph?.lastUpdatedAt ?? '', + }; - const isLoading = loadingGraphSDL || loadingSubgraphSDL; + const isLoading = + loadingGraphSDL || + loadingSubgraphSDL || + loadingFeatureSubgraphSDL || + // Which SDL to fetch is unknown until the flag list has loaded. + (isFeatureSubgraphSelected && loadingCompositionFlags); let content: React.ReactNode; if (isLoading) { content = ; - } else if (activeSubgraph && subgraphSdl?.response && subgraphSdl.response?.code === EnumStatusCode.ERR_NOT_FOUND) { + } else if (isFeatureSubgraphSelected && !featureSubgraphSdl?.sdl) { + content = ; + } else if ( + activeSubgraph && + !isFeatureSubgraphSelected && + subgraphSdl?.response && + subgraphSdl.response?.code === EnumStatusCode.ERR_NOT_FOUND + ) { content = ; - } else if (federatedGraphSdl?.response && federatedGraphSdl.response?.code === EnumStatusCode.ERR_NOT_FOUND) { + } else if ( + !activeSubgraph && + federatedGraphSdl?.response && + federatedGraphSdl.response?.code === EnumStatusCode.ERR_NOT_FOUND + ) { validGraph = true; content = ; } else { @@ -181,163 +214,19 @@ const SDLPage: NextPageWithLayout = () => { toolbar={
- - -
- -
-
- - {graphData?.graph?.supportsFederation ? ( - <> - - - Graph - - - {graphData.graph.name} - - - router.push(pathname + query)} - value={`${!activeFeatureFlag ? `?schemaType=${schemaType}` : undefined}`} - > - - Client Schema - - - Router Schema - - - - - - - - {featureFlags.length > 0 && ( - <> - - - - - Feature Flags - - {featureFlags.map(({ name, query, hasFailedLatestComposition }) => { - return ( - <> - - - - {name} - {hasFailedLatestComposition && } - - - - - router.push(pathname + query)} - > - - Client Schema - - - Router Schema - - - - - - - ); - })} - - - )} - - - - - Subgraphs - - router.push(pathname + query)} - value={`?subgraph=${activeSubgraph}`} - > - {subgraphs.map(({ name, query }) => { - return ( - - {name} - - ); - })} - - - - ) : ( - <> - router.push(pathname + query)}> - - Router SDL - - {subgraphs.map(({ name, query }) => { - return ( - - Published SDL - - ); - })} - - - )} - -
+ name)} + featureSubgraphsOfFlag={featureSubgraphsOfFlag} + />